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 
  - 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: //

The author can be contacted at:


Return to The Robot Menu