Here is my first robot project, RPB-202 (for Raspberry Pi Bot - 202 are its last three digits of its IP address on my network). I started this project about a month ago.
The robot is built on the Romi chassis and uses a Raspberry Pi to handle high level tasks and an A-Star 32U4 SV controller to access the different hardware. I added a rover 5 expansion plate on top of the chassis so that I could mount the Raspberry Pi high enough to have access to all usb ports as well as the to HDMI port (although I don’t use it since I remotely program and control the Rapberry Pi using a ssh connection). Sensors include two Sharp IR proximity sensors, two Sharp IR distance sensors and one Maxbotix XL-Maxsonar-EZ4 sonar range finder. Wheel encoders are installed but not yet wired to the A-Star.
So far I have used the rpi-slave library as-is. I started by using the cwiid python library to remote control the robot using a Wii remote. I then developped basic obstacle avoidance that I used in parallel with the wii remote and in autonomous exploration routines.
The next step was to add an old webcam that I had lying around for years. I used the SimpleCV python library to track different objects and developed routines to follow lines and recognize intersections using the camera. This allowed me to do simple maze solving as shown in the following video:
Robot solving simple maze using computer vision on Raspberry Pi
I developed a few basic python classes to provide high level access to the robot components.
The next big step for me will be to add the wheel encoders to the robot so I can do odometry and more complex tasks such as autonomous motion planning as well as solving complex mazes where knowledge of the robot position is required. I have started reading on encoders and believe I will figure out how handle them on the A-Star. The biggest challenge for me will be to learn and understand how to get the data back and forth between the A-Star and the Pi via the I2C interface.