ROBOAT by RICCARDO ROCCA

ROBOAT
This project aims at testing the feasibility of driving
an object using a GPS and a digital compass.
In this case the object is a model boat that can sail
autonomously along a course planned in advance. This
explains the meaning of "Roboat" that is the short form
for "robot boat". The project was built in order to take
part to the contest "Design99", organized by the magazine
"Circuit Cellar". For this purpose the project had to be
developed using the new micro-controller "M68HC908GP20"
produced by Motorola.
The micro-controller stores the coordinates of the waypoints
to follow and according to the data received from the GPS and
from the digital compass, controls the electric motor for
the propeller and the proportional servo for the rudder.
It can also be connected with a PC in order to control
"ROBOAT" for testing purpose and for storing the coordinates
of new waypoints. A 12 Volts lead battery supplies power to
the devices. The electric motor of the propeller is driven by
12 Volts directly, while the other circuits receive 5 Volts
power supply through suitable regulators.
The structure of "ROBOAT" is very simple, so that it can be
easily modified and adapted, therefore it is basically made
of a sheet of polystyrene foam, 4 cm thick, cut in the shape
of a boat, and a thin sheet of plastic on top that actually
mounts all the devices: battery, electronics, electric motor,
propeller, servo and rudder. While sailing, all the device are
covered with a case that protects them from water sprinklings.
Due to the small size and to the reduced capacity of the battery,
a typical journey of "ROBOAT" is only a few kilometers long and
needs to be done on a quiet and delimited area such as a lake.
The area chosen for the first test of "ROBOAT" was the lake
"Idroscalo", close to Linate airport, 5 kilometers east of Milan,
in northern Italy.
The software is written in assembler for the M68HC908GP20 and
controls all the functions of "ROBOAT".
The main actions are:
- start the propeller and power up GPS
- acquire data from GPS
- compute ROBOAT present position
- compute the course needed to reach the next waypoint
- acquire data from the Digital Compass
- compute ROBOAT present course
- compute course correction in order to head towards the next
waypoint
- apply course correction to the rudder
- when the waypoint is close enough, select the next one and
head towards it
- when the last waypoint is reached, stop the propeller, power
down the GPS and stop the micro-controller
A detailed description of "ROBOAT" is available at
http: //users.iol.it/riccardo.rocca/roboat.htm
The author can be contacted at: riccardo.rocca@iol.it
Email: riccardo.rocca@iol.it
Return to The Robot Menu