IR Vision Tracking

vision
python
java
#1


This year the byting bulldogs once again went with a custom vision tracking system. It consisted of an openmv board, IR led ring, and a custom circuit. The trick that we went with pertaining to the IR light was to cycle the light on and off for each frame in which one frame it was on and the next the LEDs were off. This flashing would allow us to do frame differencing in order to only pick out the reflective tape. Since the LEDs were not visible to the human eye in normal operation it allows for a much brighter led source that can flash without blinding people(like the limelight does) or giving someone a seizure. This flashing of the LEDs is critical as the openmv sees IR in the same way that it sees regular ceiling lights so this flashing allows us to cancel out the ceiling lights and any other noise on the field. Overall the system worked alright however the way we implemented the system was not great as the communication between the openmv and the roborio (through a USB cable) did not work very well the serial port gave us issues where we would lose information occasionally. I do believe that this type of vision tracking could be improved upon and made to work reliably with little to no tunning on the comp field.

Vision_Paper.pdf (588.3 KB)

5 Likes
#2

Nice work! We used the exact same infrared LED ring on our custom vision system the past two years, only we used a Jevois camera. What prompted you to use frame differencing over a mechanical bandpass filter? We used a piece of a floppy disk as a bandpass filter on our camera setup, which works very effectively.

#3

Since @hamac2003 and @Juniormunk have used it before, could you elaborate on what advantages using an IR ring has over a traditional colored LED ring along with traditional software color filtering/processing?

#4

Not the two users you mentioned, but I have a bit of experience with the two types on a personal project. I definitely favor green light over IR. So one main benefit of IR is that there are little to none ir sources on the field. This makes tuning a lot easier, as you just have to look at a gray scale image. Processing images also is a lot faster due to less data. However it is a double-edged sword. Because an IR image is monochromatic you have to be sure that no other light source will outshine your LED. While it may not be a regular issue, it can be a pain in situations with unpredictable lighting(Rip Houston 2017). Green light on the other hand can give you a lot more freedom. Using HSL, you can filter out most if not all outside light sources to the point where only your intended target is shown. While IR can make things easy, to me it’s a risk that is avoidable. I’m fairly positive, that if we used IR light on our bot on Einstein Houston in 2017, we wouldn’t be able to score a single gear.

1 Like
#5

I would have liked to have a mechanical filter however wasn’t sure we’re to find it till I heard about the floppy disk when I started searching after our first comp so it was kinda a out of time thing and I had already written the code to do this but thanks for saying that it worked well for you guys

#6

We chose IR this year with the fact that 2017 in St Louis we were tracking the large colored board behind the boiler :rofl:
But like @ReverseEnigma said there is little no IR on the field and it allows data processing in grayscale which makes stuff a lot faster…

1 Like