For the full article please see the Spring 2008 issue of Robot Magazine.
Romey is a simple robot with a very complex mission. Using only four sensors Romey is designed to roam aimlessly around the house and simply put, not get into any trouble. Although this sounds like an easy task, in actuality this can be quite a hazardous operation for any robot.
Like many of my prior projects, Romey is built on the A4WD1 Rover from Lynxmotion. The A4WD1 is a versatile wheeled platform that comes equipped with four 5 inch RC tires each with its own 12 volt motor. For Romey, the A4WD1 was configured with two additional decks on top of the basic chassis. Control for the motors is provided by a Sabertooth SX10 Dual Channel motor controller. To simplify the overall design, Romey uses a Basic ATOM Pro 28-M for its main controller. The Atom Pro is installed into a Lynxmotion Mini Atom Bot Board.
Romey uses both ultrasonic and infrared distance measuring sensors. By using both technologies we can compensate for each of their weaknesses. The primary navigation sensor is the Parallax Ping ultrasonic distance sensor. Proximity and cliff detection is performed by three Sharp GP2D12 IR distance sensors. Each of the three sensors is connected to the Bot Board’s analog to digital ports.
Romey uses a wireless color video camera from Smarthome (#76004). This camera can transmit a standard video composite signal directly to a television up to 300 feet. By using a built-in IR illuminator it can see up to 45 feet in total darkness.
The software is written in the Atom Pro’s BASIC language and is divided into three major modules called behaviors. They are the Navigation, Avoid, and Danger behaviors. A behavior is a software module that takes inputs from one or more sensors and then triggers an action through the motor system. Each behavior is written as a subroutine and called sequentially by the main program loop. Ideally we would like each behavior to run concurrently and access the motor drive through some arbitration system but this is a bit beyond the Basic Atom’s capability. Since the behaviors we are using are reasonably simple and execute quickly, calling each behavior sequentially is more than adequate.
In the next article we will Internet enable Romey. As mentioned, we will replace the video camera with a wireless webcam and build a web browser based interface. In addition we will add a couple of bumper sensors to provide complete sensor coverage.
A detailed schematic and all the source code can be downloaded from the links on the right or from http://www.botmag.com/issue10.