Society of Robots - Robot Forum
Electronics => Electronics => Topic started by: szhang on April 04, 2008, 09:28:52 PM
-
Does anyone know of a camera module similar to CMUcam or AVRcam but can do more than a mere 30fps (more like 60 or 90)? I need a camera for vision on an outdoor mobile robot that will move upwards of 10mph (16km/hr) and I really can't afford the 15 centimeters of distance between two frames.
-
I've never tried this, but have heard of a method where you use 2 cameras at 30 fps. So the second camera substitutes for the first camera thus enabling 60 fps. You just switch out the fps from both cameras.
-
Thanks for the reply, and come to think of it, do I really need >30fps? I haven't done much vision on fast moving robots, and I don't really know how fast I need to be able to see.
I need the robot to move at around 10mph (~15ft/s, 4.5m/s) and it has to be able to steer and control itself through the camera input (assuming I can process the image in negligible time), can I actually control the robot with only 30fps?
Has anyone done camera vision on a highly mobile robot before? If so, how fast could you move and still read useful input from the camera?
-
There are specialized camera modules that will capture at 60fps or higher, but they are expensive and not readily available for robots. The main issue you will have is shutter control for modules that have no physical shutters With most camera modules in their default settings, motion blurring is a common artifact. There are ways to increase the gain while decreasing the photon capture time, but the register settings to accomplish this are generally not well documented.
-
There are specialized camera modules that will capture at 60fps or higher, but they are expensive and not readily available for robots. The main issue you will have is shutter control for modules that have no physical shutters With most camera modules in their default settings, motion blurring is a common artifact. There are ways to increase the gain while decreasing the photon capture time, but the register settings to accomplish this are generally not well documented.
How are the Blackfin modules in terms of motion blurring?
-
At the moment, it's pretty standard, as we haven't made any adjustments to exposure time. Here's the equation I got from Omnivision - now we have to apply it by adjusting register settings.
Exposure time = 1/PCLK x 2 x 1520 x (Exposure line + Dummy line)
Where
PCLK => Pixel output clock
Exposure line = (0xa1[5:0] x 1024) + (0x10[7:0] x 4) + 0x04[1:0]
Dummy line = (0x2E[7:0] x 256) + Value of 0x2D[7:0]
I know that Admin is going to be pushing on me to add this adjustment to our firmware for his upcoming competition !
-
szhang, if the object in your image follows a preditable trajectory, you just need a frame rate fast enough to capture the object 2-3 times before its out of view. You algorithms should determine a trajectory using x, y coordinates and highschool trig. :P
Prediction is required for a robot arm to say catch a ball, anyway :P
I know that Admin is going to be pushing on me to add this adjustment to our firmware for his upcoming competition !
I noticed the exposure was a bit slow, but I think its fast enough for my competition. (untested, so I may change my mind later!)