In short, this is a Linux robot project consisting of a slave robot with embedded (e.g. ARMv7) hardware and a controller software running on a PC.There are some generic goals:
- To be as hardware independent as possible, as the hardware may change and different people can use different hardware.
- Implement somewhat generic software core for a Linux based robot and build specific projects on top of that.
- The slave robot is a remote controlled device with possibly some intelligence for making simple decisions on its own.
Both the slave process running currently on a Gumstix Overo and the controller process running on a PC are implemented in Qt. Currently I'm running MeeGo on the Gumstix. The communication between the slave and the controller is implemented as a custom protocol over UDP. The protocol includes high priority packets that are guaranteed to be transferred (e.g. control commands) and low priority packets that can get lost (e.g. video stream or statistics).
The Phase01 has been now completed (2011-03-28). I can drive the robot remotely over WLAN and can pan the camera on the robot.
It's time (2011-03-30) to start planning the Phase02 where I need to get proper electronics to support additional peripherals more easily.
PhaseX page includes robot ideas and issues why they couldn't be constructed.