Romey - A Free Range Robot, Part 1 |
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.
|
|
|
|
|
No comments:
Post a Comment