Carpet Rover 1 - Autonomous / Remote Controlled Robot
This is my first attempt at a robot. I started off with a Arduino Robot Kit from robotshop.com and modified it a bit from there. I used a Parallax Ping Ultrasound sensor connected to panning servo that rotates through 70 degrees. If the sensor detects an object within 3 cm, the avoidance subroutine kicks in and the robot with move around the object and continue on course. There is also an 2 axis accelerometer/tilt sensor. If the robot tilts more than 10 degrees in the x or y direction, the avoidance subroutine kicks in.
Attached to the Arduino is a Sparkfun Xbee shield. Attached to my laptop is a Parallax USB xbee adapter. If the robot gets into trouble that it can't get out of, the operator can toggle remote mode by cycling a button on the remote controller. The wireless unit uses two Xbee Series 1 modules.
- First Press issues an all stop command
- Second press trigger remote control mode. Issues commands using serial interface and keyboard.
- Third press returns the robot to autonomous mode.
Also in work is a web interface for remote control mode. Currently, the robot can be controlled (forward, reverse, left, right and stop buttons work) using the interface. What doesn't work (yet) is the toggle from autonomous mode to remote mode. I haven't quite got the php and arduino code figured out for that.
Coming up next is integration of a small wireless camera that will stream images to the webpage for true remote control operation.
Thanks for looking.
The accelerometer can be seen here (small green PCB).
The Xbee Shield and the Pololu dual serial motor controller (green pcb sticking up)
Xbee remote control with toggle mode button