By Chris Savage
GPS
Navigation
Part 2
38 SERVO 04.2010
In this article, I have built a small robot
to test and prove the theories discussed
in Part 1 from last month. Something
we couldn’t account for previously were
the specifics of the robot since it hadn’t
been built yet. We also wanted to be
able to use this concept and even the
code elements on just about any
platform.
The first thing to do in this case is to
define several key elements of the
design before we begin. How large is
the robot going to be? How fast will it
move? What type of terrain will it
traverse? How will it steer?
For our purposes here, my answers
were: about the size of a shoe box; no
faster than three feet per second;
asphalt and/or concrete; and skid
steering. An old Lexan chassis I had
lying around was perfect for this task
(see Figure 1). My robot has four spur
gear motors and a two-level platform
for mounting the microcontroller and
sensors.
Additional Components
I opted to use a Parallax BASIC Stamp 2p module for
this system because it is more than capable of reading the
raw NMEA data from the GPS receiver, parsing the data,
reading the compass, and calculating headings from that
data. It can then control the drive system to steer the robot
where it needs to go, plus it simplifies the code design for
those using a different platform for their robot and
controller. The BS2p will mount on a Super Carrier Board
which will provide connections to the remaining hardware.
The chosen compass module for this application is the
HM55B due to its easy integration and existing compatible
source code. A serial LCD display, some PING))) sensors,
and a heat array sensor (Devantech TPA81) have been
installed on this robot. However, for this example, they will
not be used and are optional for this part of the project.
(These items will be used in Part 3. Be sure to check the
Parallax website for the various components listed in this
article.)
To drive the four gearhead motors, I chose two HB- 25