|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools | Rate Thread | Display Modes |
|
|
|
#1
|
||||
|
||||
|
Re: Successful Computer Vision
I am expecting a significant difference in the lighting between our shop (fluorescent lights) and the can lights in the arena. I am expecting that we will use some of the field time to adjust our settings. I expect that we will have to adjust the white-balance down and that we will have to tweak our HSL values for the filter
|
|
#2
|
||||
|
||||
|
Re: Successful Computer Vision
Vision systems always have issues with lighting. My co-workers still struggle with things like:
* Power fluctuations causing light intensity modulation. * Skylights in factories that let in light at the wrong angle for 1 hour a day. * Random people using flashlights/lasers/camera flashes at the wrong time. You will have to have controls right on your dashboard to manipulate various settings. It shouldn't be difficult, but it will take some time. If you can get some practice rounds in, before/during the competitions on the actual field, this is ideal. You will also require a method of switching between settings. (Eg. An enum: [arena|practice|shop|other random place|...]) The more practice you have setting up the controls for your vision system, the faster you will be able to get it right. With enough practice, you may even come up with a algorithm that does the same thing in varying light conditions. Good luck! I look forward to any examples that you guys post. |
|
#3
|
|||
|
|||
|
Re: Successful Computer Vision
The latter portion of the white paper discusses setting up the camera so that you are processing good images. Experiment with the WB and exposure and brightness to find a setting that is consistent between your shop and outdoors.
According to wikipedia, an overcast day is 1000 lux, and I believe the lighting for the FIRST field is about somewhere between 85 and 95 foot candles. These are comparable levels of light. It is also typical for the FIRST field having the lights aiming into the field from each long edge. They do not shine directly into the eyes of the drivers at the joysticks. So the illumination drops off rapidly there. If you have questions about what a camera setting does, you can look into the WPILib documentation, the Axis documentation, or perhaps ask here. Greg McKaskle |
|
#5
|
||||
|
||||
|
Re: Successful Computer Vision
We are attempting to solve the problem by looking at the black rectangle rather than the reflective one. We have pretty good results in most lighting conditions.
|
|
#6
|
|||
|
|||
|
Re: Successful Computer Vision
You should have a piece of the tape in the kit of parts. If you decide to purchase more, I'm almost certain that is the right product.
Greg Mckaskle |
|
#7
|
||||
|
||||
|
Re: Successful Computer Vision
What are the LED rings you speak of? Were they in the kit of parts? If not, do you mind sharing the part number?
TIA |
|
#8
|
||||
|
||||
|
Re: Successful Computer Vision
Go to superbrightleds and look up 60 mm "Angel Eyes".
|
|
#9
|
||||
|
||||
|
Re: Successful Computer Vision
What is the legality of using superbright leds? I can't find anything in the manual. When do the leds become a nuisance to the game and called out by the referees?
|
|
#10
|
|||
|
|||
|
Re: Successful Computer Vision
Has anyone seen a difference as to tracking the reflective tape vs. the black rectangle? Does anyone think one will be better than the other? Will the stadium lighting effect tracking the black rectangle?
|
|
#11
|
|||
|
|||
|
Re: Successful Computer Vision
That came up between a few of our team members when we were discussing which of the two tapes to track. We are unsure as of yet :/
|
|
#12
|
||||
|
||||
|
Re: Successful Computer Vision
I suggest trying to use LEDs so that the retroreflective tape is put to good use. The lighting onboard the robot, along with the direction discrimination of the tape will allow you to have the best results. Relying on just the dim colour patterns will probably yield bad results. Comparing the differences between using a light source on the robot, and only ambient light was remarkable. This was tested last year in our fairly bright office.
Either way, you can always use both methods, mounting a light source, and using other patterns for recognition. If you come up with a measure of quality of your vision recognition, your program could automatically choose the best fit. The extra cRIO resources consumed can be limited by using a slightly lower framerate. I believe that we managed to have a few independent algorithms running on the cRIO with minimal performance issues. |
|
#13
|
||||
|
||||
|
Re: Successful Computer Vision
Quote:
My team thought one way to get around this was to have a switch that would turn the LEDs off, unless we wanted to shoot a ball. In that case the LEDs would turn on and the camera would orient the shooter. Using IR LEDs would also get around this, but the tape may not reflect it. Also you would have to remove the IR filter in the camera lens. |
|
#14
|
|||
|
|||
|
Re: Successful Computer Vision
SuperBrightLEDs is the marketing name for the company, not necessarily a truthful measurement of their brightness. Since they were donated to FIRST, I would assume they are legal on a robot.
As for IR, I suspect most light sources will show up bright in IR, especially tungsten and incandescent. And of course one of the reasons it is hard to know is that you can't see IR, so debugging it may be more frustrating than light you can see. But of course, I don't want to discourage you from the experimentation. Good luck with it. Greg McKaskle |
|
#15
|
|||
|
|||
|
Hi baronep,
I used your first post as a guideline; thank you for that! My vision vi works, but only when I don't have the particle-filtering wired up. As soon as I include it, the cRIO crashes upon "Enabling Vision". Below is a link to a screenshot of the VI generated by vision assistant, that includes the particle filtering block. I pasted this into my Vision Processing VI appropriately. Can you spot any glaring errors in this? Was I supposed to alter this VI in some way before pasting and wiring it into the rest of my code? Thanks! http://www.chiefdelphi.com/forums/at...4&d=1329489628 |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|