Technology > Multiscaled Actuated Sensing > Networked Aquatic Microbial Observing Systems: Robotic Boat Localization
Gaurav Sukhatme and David Caron
The microbiology of aquatic environments is of scientific interest. Its characterization affects our understanding of aquatic food webs, and the impact of urbanization and pollution. It also ultimately plays a role in setting public policy (e.g. regulations on dumping), and other decision making (e.g. when is a beach closure necessary because the water is contaminated?). Aquatic environmental monitoring has traditionally been done by a human operator performing the sampling manually. This process is inherently slow, tedious, and expensive.
We are motivated by the prospect of automating microbial observing systems. To this end we have designed and built a robotic boat as part of a sensor network for monitoring aquatic environments. Our network is composed of static, anchored buoys, and a robotic boat (henceforth 'the boat') all of which communicate with each other. Simply put, the static nodes provide excellent temporal sampling resolution but a limited spatial resolution. The boat is able to traverse the water surface providing high spatial resolution of the data collected but limited temporal resolution.
We have developed a dynamic model of the boat, an algorithm for estimating its location by integrating various sensor inputs, a controller for waypoint following and extensive field experiments (over 10 km aggregate) to validate each of these. We test the localization accuracy in different sensing regimes as a prelude to accommodating sensing failures.
a. System
We use a modified radio controlled airboat designed to perform surface sampling (chlorophyll and temperature) at locations of interest. An airboat was chosen as it provides minimal disturbance to the water surface while moving by reducing surface water mixing. We chose a split hull boat design since two pontoons make for a stable configuration. The boat is equipped with a commercial off-the-shelf GPS (Garmin 16A) and compass (Honeywell HMR 3000) (Figure A). Both the GPS and compass output NMEA strings at configurable data rates making them ideal for use in our application. We use wind direction and speed sensors from Texas Electronics. An Intel X-Scale Stargate processor (PXA 255, 400MHz), is the main processor on the boat. It was selected because of its relatively small form factor, good performance and low power consumption characteristics. Its small size makes it easy to fit it inside the relatively small space available on the boat. It also provides an 802.11b based wireless link which is used by the boat to transmit and receive data in real time. The navigation hardware on the boat consists of an air propeller and a custom-built rudder which are controlled by a basic stamp module (Parallax BS2sx).

Fig A. (i) The boat
(ii) Environmental sensors (a) Water sampler (b) Fluorometer & sampler
(iii) Navigation Sensors (a) GPS, (b) Compass, (c) Wind direction, and (d) Wind speed
The boat monitors two aspects of its environment – the temperature (via a thermistor) and the relative chlorophyll- A concentration (via a CYCLOPS-7 submersible fluorometer from Turner Designs Inc.). The output from these is digitized onboard via a 16 bit ADC. These two sensors are suspended into the water from the side of the boat. The boat also has a custom built 6 port water sampling system which can collect water samples for lab analysis at specified GPS locations. The boat is powered using rechargeable NiMH batteries and can run for 4-6 hours without recharging.
b. Approach
For aquatic applications involving boats and ships, only three degrees of freedom are practically important. These lie in the plane parallel to the surface of the water, namely surge, sway and yaw (Figure B). It is based upon the fact that the boat only moves in a plane parallel to the surface of water (will not go above or below water (z-axis)) and turn only along the z axis (without tilting or tipping over).

Fig B. Coordinate System used in Marine Navigation
It is also common to separate the analysis into two parts, namely the low frequency model (in 3D, described above) and a wave-frequency model which is generally added as an output disturbance. We adopt the widely used SNAME notation for representing the position and velocity vectors of the boat:
![]()
The simplified 3 DOF kinematic system for the boat (based on the discussion above) is be given by:
![]()
where 
The non-linear 6 DOF equation for an aquatic vessel is given by:
![]()

Fig C. Boat motion model for Maneuvering
which can be simplified for a slow moving surface vessel to:
![]()
where M is the system inertia matrix, and the right hand side represents the generalized external forces acting on the boat.
The longitudinal(X), transverse(Y) and moment along Z axis (N) of external forces acting on the boat are given by:
![]()
The thrust generated by the propeller is given by:
![]()
where
is the air density, D is the propeller diameter, n is the propeller speed and
is the strictly positive thrust coefficient with thrust loss accounted for.
We model the wind forces acting on the boat as a mean speed and a fluctuating component incorporating wind gusts added as a noise term.
We implement an extended Kalman filter to which sensor inputs are provided as and when they arrive. The global positioning system (GPS) provides position measurements, the compass provides the heading (orientation) measurements and the wind sensors provide the measurements related to wind speed and direction. Each of the sensors has its own update rate and error characteristics. In the absence of any sensor measurements arriving, the filter proceeds by dead reckoning using the boat dynamic model. If some of the sensors are not available, the filter localizes the boat using the ones that are available.
The state vector consists of the position [x; y; y] and velocity [u; v; r] vectors.
The system model is: ![]()
The measurement model is: ![]()
We start from a known fixed location and provide its information to the filter: ![]()
The filter operates in two phases. During the first phase (propagation phase), we propagate the state estimate and error covariance using the following equations:

During the second phase (update phase), whenever we receive a measurement update, the gain matrix, state estimate and error covariance are updated using the following equations:

where

In field experiments the boat can either be used in manual mode where the operator can specify the speed and heading of the boat via a joystick or in autonomous (waypoint following) mode where the operator uploads a sequence of GPS locations designating the path to be followed by the boat. Our waypoint following control is the commonly used follow-the-carrot/goal method. The navigation algorithm on the boat uses the current location estimate from the localization process and computes the distance to the next waypoint and the desired heading and generates the control commands for the boat (rudder angle and propeller speed) so as to minimize the heading and distance errors using PID control.
The PID control equation for propeller speed control is: ![]()
The PID control equation for rudder angle control is:
![]()
c. Experiments
A. Localization Experiments
1) Setup and Data Collection: The data for the experiments was gathered by performing several runs spanning a set of target points with the robotic boat. A specified path was chosen for the boat and visual markers were placed at locations along this path. The exact location of these markers was surveyed using differential GPS to provide ground truth information. The boat was made to move along the path under human control while the computer on the boat logged sensor measurements from the GPS, compass and also the control inputs sent to the motor controllers for the propeller and rudder. All the gathered data were time-stamped for offline analysis.
We made the assumption that wind conditions (direction and speed) in a small open region on the surface of the lake are homogeneous.
2) Data Processing: The measurements from the GPS, compass and wind sensors were made available to the extended Kalman filter at the same rate and in the same order in which they were gathered and were used in the update phase of the filter. We only had sensor measurements to update the position ([x; y; y]) of the boat (GPS and compass). The velocity vector ([u; v; r]) was in turn determined based on the control inputs that were provided to the boat. The turn rate characteristic and its coupling to the boat speed and rudder angle by carrying out these tests in still water.
3) Results: We wanted to determine the performance of the filter in the presence of selected sensors being available. To analyze this, the same measurement set was used but different sensor measurement combinations were provided to the filter. The combinations we tried and the corresponding results for our two field sites is summarized in table I
The results presented in these tables are average values from 10 runs each over the same path. Figures 6, 7 show visualizations depicting the predicted trajectory by the state estimator in the presence of control inputs and different sensor measurements.


Fig. D. Localization Results


Table I. Field Results
Our results indicate that a very accurate dynamic system model is not required to perform good location estimation given the availability of a few sensors. Availability of a relatively simple sensor like a compass which can provide heading measurements can greatly help in providing good localization. The availability of more sensor measurements of various kinds (wind measurements, GPS etc.) helps improve the estimation accuracy significantly. The results indicate that in the absence of any measurement data, we need a very effective model of the boat to be able to localize it.
B. Autonomous Navigation Experiments
We performed fifteen field tests with the boat to evaluate its navigation performance. Our experiments were performed at Lake Fulmor, James Reserve, CA and Echo Park Lake in Los Angeles, CA.

Fig E. Results of Autonomous Navigation
Figure E show results from our autonomous runs with the boat. The boat was provided with a set of waypoints to be traversed in the given order. A GPS and compass were available on the boat to provide position and heading measurements. The results indicate that the boat follows the specified path (in terms of GPS way-points) closely and reaches the specified target locations within the specified acceptable range. The results demonstrate the very high dependence on position measurements from GPS.
Faculty:
Staff:
Graduate Students:
OceanScience - autonomous boat navigation and NAMOS Graphical User Interface(GUI) (Current)