What type of camera or camera properties should I look for that would be ideal for performing image processing in a moving environment?
I'm researching the sensor requirements for processing video in real time on a mobile robot. In a past experiment, I used a simple Raspberry Pi 3 with the standard Picamera on a two-wheeled robot with the goal of navigating using visual cues. Although this was cheap and easy to setup, I found it to be nearly useless at processing video while the robot was moving because the Picamera's rolling shutter was so slow, any amount of movement would blur the image capture, making image processing nearly impossible. To implement any kind of image based navigation, I found I had to stop the robot, capture images, process, calculate the next step, then blindly move a small amount, and then repeat until the destination was reached.
This is obviously a very slow and tedious approach and far from ideal. The goal of most mobile robots should be to continuously move while simultaneously processing video.
Researching this problem more, I found that the film industry has largely already solved this problem, albeit for high speed motion capture and not robotics, by using cameras with a global shutter. This type of shutter records each pixel simultaneously instead of scanning columns of pixels, resulting in much less blur. Unfortunately, these cameras tend to be enormously expensive and more difficult to source.
However, there are some cheap cameras with rolling shutters that advertise an ability to capture motion without much blur. I believe the GoPro brand of cameras tout this ability without using a global shutter, but I've not confirmed it.
When choosing a camera for high speed video processing applications, what should I be looking for that minimizes cost while maximizing the ability to capture clear images? Most USB cameras I see, even ones like GoPros design for motion, don't usually advertise explicit metrics that I can use to gauge performance vs cost. Do I have to use an expensive camera with a global shutter or is there a low cost alternative that should be "good enough" for most robotics experiments?