I'm turning an R/C car into an autonomous vehicle, and I'm trying to figure out how much processor power I will need for the various sensors and tasks. Specifically, I'd like to know if a single Duemilanove can handle all of the following:
1 optical encoder, triggering at about 7 kHz (on an interrupt)
1 GPS in Sirf binary mode, 1 Hz
1 rate Gyro, updated at 80 Hz over I2C
2 Servo out, one for steering, one for speed control
basic navigation routines including a bit of trig.
1 optional compass, updated at about the same rate as the gyro
I know the Duemilanove has all the necessary resources, but I don't know if I will be getting conflicts between interrupts and such. The GPS (serial), encoder (external interrupt), and servo out (timers) will all be using interrupts, as well as the millis function, and possibly the I2C (does it use interrupts?). With all this going on, will I be losing serial info or encoder clicks, or get jittery servos? If I'm in the encoder ISR when a byte arrives on the UART, will the ISR for the serial buffer still catch it after finishing the encoder ISR? vice versa? Thanks for your help.