Also, detect a change in current for slippage (that may affect odometry and location).[/li][/list]
Quote from: Randolph on Dec 12, 2012, 06:57 pmAlso, detect a change in current for slippage (that may affect odometry and location).[/li][/list]I don't think that will be a practical method for detecting slip. If you need to know the absolute position reliably then you need to provide some means to determine it - for example, using GPS.
An Arduino is limited to what it can control. What you want to do will require a laptop with an incredible processor, and software, along with a I/O interface. An Arduino can not do everything want nor does it have the capabilities of processing video. It could probably control the motors, and maybe an encoder, but 4 motors each with an encoder, not possible.
Just out of curiosity, how big is the rover?
I don't see where a CAN bus fits in. If I were you, I'd get a small computer (Mini ITX / Micro ATX) and link it to an Arduino via USB; there are lots of small options out there that can be powered with 12V. Let the Arduino control the motors, encoders, rotating cameras/etc. and the computer to handle the navigation, camera data stream, and communications. Looking at the cRio you mentioned I can see where you'd want to get away from that ($3K!).