Camera finds overhead lights not green light

Can anyone help me out? Heres what I got.

I’m using Kevins’s version 2.1 code the bells and whistles version. The camera through ifiloader is showing that it is locked on but it finds different places every quarter second. So in ifiloader it says it found a target at some pan and tilt angle with very high error. Then it finds the target at a different pan and tilt location with equally large error.

I check and the pan and tilt servo are correctly mounted and plugged in. Using the interactive PWM adjustment menu through ifiloader I verified that up is really up on the tilt servo and left and right are correct on the pan servo. I have been playing with different values for almost everything and I still cannot get it to track the green light.

My setup is the camera is mounted about a foot off the ground looking up at the light which is maybe 10 feet away on the top of the rack. The room has flourescent lights maybe 2 to 3 feet above the rack. The lights aren’t directly behind the camera or anything. I have also checked that the angle to find the light is within the max and min pan and tilt values. Any ideas? Thanks for the help.

Did you change the default calibration values?


No the values are straight out of your code. I have only changed the mapping of the servos to match what I have. I have also tried changing the direction of the tilt and pan servo to +1 or -1 as many people have had that problem before.

So I got it to track but in a roundabout way. The old java program that ifirobotics gave out last year that allowed us to download a frame and see the picture. The problem with that program is that it does not use the settings from Kevin’s code. So I edited the source so it would use the settings from Kevin’s code and downloaded a picture. The default settings for the light in Kevin’s code also detected part of our overhead lights. I found a much smaller range for colors that works very well for our conditions.

By the way the camera using Kevin’s default settings sees everything but the light as purple and the light as a blue. The fluorescent lights showed up as yellow/blue.

That’s because the camera is being told to look at the image using the YCrCb color space, but the program is presenting it as if it were RGB. The actual hue of the green light is very consistent even as the intensity varies with distance, so it’s a lot easier to find a good range of values that will let you track it.