A Raspberry Pi will provide a desired speed for a motor via the CAN. The mbed/other microcontroller will drive the motor at the desired speed using the optical encoders.
The mbed/other microcontroller will have access to the md05 motor controller, which uses I2C.
The new Tiberius design will have optical encoders (http://www.digikey.com/catalog/en/partgroup/hoa0901-and-hoa0902/13300). The encoder will be connected to an mbed or another suitable microcontroller. The microcontroller of choice will have a CAN bus interface.
A Raspberry Pi will provide a desired speed for a motor via the CAN. The mbed/other microcontroller will drive the motor at the desired speed using the optical encoders.
The mbed/other microcontroller will have access to the md05 motor controller, which uses I2C.
The control software will need to be C or C++.