On the Development of Tethra Submersible Vehicle for
Autonomous and Remotely Operated Modes
Electronics and Computer Engineering Department
University of Limerick
Abstract: - Tethra is a prototype autonomous underwater vehicle (AUV), designed at the University of
Limerick, to carry out research in underwater robotics and control. The vehicle adopts a behaviour-based
control paradigm. In this paper we report on the design of the Tethra test platform and the embedded controller
development for investigating classical and more advanced control approaches. The Tethra test platform
includes the development of AUV simulator, which is used as a foundation for off-line controller tuning and
Key-Words: - Autonomous Underwater Vehicle, Embedded Controller, Behaviour Based Control
Architectures, AUV Simulator
1 Introduction
The Tethra robot platform provides a means to
evaluate different combinations of sensors, actuators
and controller configurations. For the Tethra AUV,
an open frame multiple thrusters design has been
adopted to meet vehicle manoeuvrability
requirements for target applications such as transect
tracking during marine surveys and underwater
filming following benthic contours or bottom
following. This paper considers the effectiveness of
a suite of behaviours within a subsumption control
architecture on the Tethra AUV using real test data.
Embedded system and control architecture
development is reported here, including integration
of sensors. Our goal is to make the robot fully
autonomous through the integration of a range of
sensory input systems and robot actuators to an
onboard controller. A control architecture based on a
modified version of the subsumption control,
developed by Brooks (1986) at MIT has been
adopted for use in the control of the Tethra AUV
2 Tethra Test Platform Architecture
The overall architecture of the Tethra test platform
is shown in Fig. 1. Test platform consists of a craft
and a surface unit, which are described in the
following in more details.
2.1 Surface unit
The Surface unit includes laptop, joystick and radio
control unit. The laptop is running the LabVIEW
Graphical User Interface (GUI) application to
control the vehicle in pre-autonomous mode using a
joystick as input device. In addition to joystick, the
vehicle can be controlled by remote radio control
(R/C) unit. The radio link is intended for use solely
when the craft is on the surface for launch and
retrieval of the vehicle and to facilitate a manual
trim of craft buoyancy to a slightly positively
buoyant state prior to switching to autonomous
control [2]. A bidirectional serial data
communication between Tethra’s onboard Pentium
processor board and LabVIEW GUI application has
been established through an RS232 serial link.
Sensor measurements are packed into a data string
and transmitted from Tethra to the GUI application.
At the same time, parameters of low-level
controllers and commanded inputs are packed into a
control string and transmitted from GUI application
to Tethra. The same GUI application is used to drive
Tethra model in a virtual pool using AUV simulator.
The AUV simulator is connected with the GUI
application through TCP/IP connection and can be
started on the same or different PC. Features of the
LabVIEW GUI application are:
 on-line sensor data retrieval and display,
 actuation of the vehicle with different command
inputs for identification purpose,
 on-line visualisation of feasible region,
 on-line tuning of low-level controllers,
 data storage for off-line analysis and exploration.
The surface PC also hosts a Kermit client to
allow terminal emulation and file transfer with the
craft’s onboard embedded computer.
2.2 Craft equipment
2.2.1 Embedded controller
The main onboard computer is a CM/P5e embedded
166 MHz Pentium CPU module with 32 Mbytes of
RAM and 8 Mbytes of “disk on chip” flash memory.
The module conforms to the PC104 standard,
Inertial Measurement Unit (IMU). Having a second
CPU module allows greater flexibility in the future
for further sensor/actuator or control interface
development and testing. Scanning or profiling
Fig. 1 Overall architecture of Tethra test platform
allowing a range of useful I/O expansion boards to
be mapped into its memory space. Tethra has
currently three I/O coprocessor boards based on the
16C74 PIC micro controller to interface sensors and
actuators to the onboard computer. The first I/O
coprocessor board is responsible for sensor data
acquisition; sensors such as the electronic
transducers, and the six Tritech precision altimeters
are interfaced to this board. The second coprocessor
board is closing the control loop between the current
transducers and PIC microcontroller based board
and also generates the required PWM control
signals. The third board is responsible for variable
buoyancy control by actuating the ballast tanks’
valves and it also hosts the failsafe behaviour which
will determine the craft to drive up to the surface in
case of an emergency by blowing the ballast tanks
with air [2].
The second onboard computer being used is an
embedded 300 MHz Geode CPU module with 128
Mbytes of RAM and 2 Gigabytes of IDE flash-drive.
This board is used as interface to accommodate
sonar sensors can be integrated at a later stage and
used by higher-level behaviour based competencies
to allow the robot to map out its immediate
environment in more detail; or Doppler velocity log
could be added as external sensor reference to a
custom Kalman filter implementation for
navigational aiding.
2.2.2 Sensor integration
The embedded on-board controller relies on sensory
input from a range of sensors in order to exhibit an
awareness of its environment and to deliver decisive
control for the actuators. A suite of sensors such as
the Vector2XG electronic magnetometer/compass,
pressure/depth and ballast transducers, the Xsens
MT9 IMU and six Tritech precision altimeters have
been already integrated to the craft’s onboard
computers and thoroughly tested. For a more
detailed description of these sensors the reader
should refer to [3] and [4]. The latest additions to
Tethra’s sensor system include four LAS50-TP Hall
Effect based current transducers for thrusters drawn
current measurement.
Tethra employs electric outboard trolling motors.
Thruster control loop is open, that is, there is not
velocity or current feedback for control purpose, as
would be typical on commercial submersible robot
board will fully support both hardware and software
interfacing requirements of these sensors.
(Heading, Depth, etc.)
ROV pilot
ROV mode
AUV mode
(Sensors, IMU, ...)
Fig. 2 Tethra control architecture
thrusters. To alleviate this drawback, low-level
torque controllers are intended to be developed by
closing the thrusters control loop using the LAS50TP current transducers. The current transducers
will be interfaced to the PIC coprocessor board,
responsible for the motors PWM control.
2.2.3 Embedded control software
The control software for the main embedded CPU
board is developed in Borland C, and runs under the
pre-emptive, real-time multitasking operating
system MicroC/OS-II. Visual C++ is used to
develop the control software for the Geode
processor based embedded CPU board. The MT9
IMU capabilities are integrated in software
application by using the MT9 Software
Development Kit, which incorporates the IMU as a
COM object. A custom Discrete Kalman Filter was
designed in Matlab to improve the estimation of yaw
(heading) and yaw rate. Matlab COM builder was
used to create the DKF COM object (.dll file), which
is easy integrated to control software developed in
Visual C++.
In the near future integration of the state-of-theart navigational sensors is envisaged such as the
RDI Workhorse Navigator DVL and the IXSEA
UPHINS Inertial Navigation System. The Geode
CPU board and the afferent serial port expansion
3 Control Architecture
3.1 Overview
Tethra’s control architecture is shown in Fig. 2.
In ROV mode, an ROV pilot uses Hand Control
Unit (HCU) and information from sensors and realtime video from the on-board camera to generate
commands, which cause the vehicle to follow the
desired trajectory according to the mission objective.
These commands can be interpreted as a desired
forces and moments among axes in the body-fixed
frame. Raw signals from the HCU pass through the
Signal Conditioning block (including low-pass prefilter) to smooth out the commanded input, in order
to prevent abrupt changes in set points and to protect
the thrusters from damage. The output of the Signal
Conditioning block is the vector of desired forces
and moments (virtual control input) τ d . The task of
the control allocator is to find control settings for
individual actuators (true control input) u such that
τ  τ d , where τ is vector of propulsion forces and
moments, exerted by the actuators after actuation
with the control vector u .
In contrast to ROV mode, an ROV pilot is
excluded from the control loop in AUV mode. In
order to achieve mission objective, the guidance
module uses actual knowledge about the
environment and sensors’ measurements to find a
reference inputs for a set of low-level controllers
(heading controller, depth controller, etc.). The core
of a guidance module is a reactive, behaviour-based
controller, which takes care of the real time issues
related to the interactions with the environment. The
outputs of the low-level controllers are integrated
into a vector that is similar to the output of the HCU
in ROV mode. The control allocator performs in
exactly the same way as in the previous case. Hence,
from the control allocator point of view, it does not
matter how the virtual control input τ d is generated
(by the ROV pilot or the control law). The control
allocation algorithm is the same for both structures.
The task of the control allocator in both cases is to
determine appropriate control settings for individual
actuators, which produce the desired set of forces
and moments [5].
Simple heading, depth and altitude
In early design, Proportional plus Integral (PI)
controllers have been developed for heading, depth
and altitude control. With these simple controllers,
‘Maintain Heading’, ‘Maintain Depth’ and
‘Maintain Altitude’ behaviours have been developed
which have been tested with the vehicle in place or
station keeping.
In the case of the downward pointing altimeter
sonar, with a minimum range is 1m, an interesting
test result came to light. When testing the maintain
altitude behaviour the expected results are realised
with altitudes above 1m. When the vehicle is
disturbed by an external force (e.g. pushed
downwards with a stick) the behaviour restores the
vehicle to the desired altitude. However, for
situations where the altitude set point is close to the
minimum 1m range reading for the sonar off the
bottom, an undesirable result is realised in some
tests. If the vehicle is disturbed downwards below
the 1m minimum range the sensor gives spurious
noisy output. The effect of this noisy reading is that
the behaviour drives the vehicle downwards as the
average altimeter sensor output is greater than the
set point reading. This is the reverse of the desired
result and must be guarded against with appropriates
signal conditioning in collision avoidance
A simple test has been performed with both an
obstacle avoidance and a cruise behaviour active.
Tethra was programmed to maintain speed, a
heading perpendicular to the pool sides and a simple
reverse thrust behaviour was programmed when the
forward looking sonars came within 1m of the pool
sides (min range for the higher frequency horizontal
pointing sonars is 0.1m) The thruster were
commanded with 20% PWM duty cycle. The
vehicle went to and from between the sides until the
lateral accumulated drift brought the vehicle close to
the pool end. On detection of the pool edge within
1m and reversing the thrusters the vehicle
progressed a further 0.5 m approximately before
forward motion was arrested.
3.3 Low-level controllers
Simple controllers, described in previous section,
were used as a foundation for building of a set of
proportional plus integral low-level controllers, such
as Surge-Rate controller, Heave controller, DepthRate, Auto-Depth, Altitude-Rate, Auto-Altitude,
Heading-Rate and Auto-Heading controller. These
controllers are designed and tested in the
Matlab/Simulink Virtual Reality simulation
environment. Fine tuning of these controllers in the
diving pool is ongoing activity.
The pressure/depth transducer provides feedback
for the Depth Rate and Auto Depth controller. The
downward looking sonar provides feedback for the
Altitude Rate and Auto Altitude controller. Absolute
orientation in the earth-fixed reference coordinate
system, provided by the MT9 IMU, is used as
feedback for the Auto Heading and Heading Rate
controller. The Workhorse Navigator DVL provided
bottom track velocity will serve as input for the
surge-rate / forward speed controller. A more
detailed description of the low-level controllers will
be provided in a future paper.
3.4 Neural network controller development
In parallel to the before mentioned development of
classical controllers, work on the use of neural
networks for the control of underwater vehicles is
currently under investigation at the University of
Limerick. Neural networks can be used in several
ways. Most notably are the use of a neural network
directly as a controller and the use of neural
networks to model the entire dynamics or certain
parameters of the vehicle's dynamical model. The
identified dynamical model can consecutively be
used in, e.g. a model reference control scheme or for
the synthesis of a (Neural Network) controller. For a
more detailed overview of the use of neural
networks for the control of underwater vehicles, the
reader is referred to [6]. Currently at the University
of Limerick use of neural networks for the
identification of individual model parameters is
being investigated. Several parameters, such as mass
matrix and damping matrix, are identified offline
after which this process is continued online, thus
accounting for changing circumstances or payloads.
In [7] the above-described strategy is applied to the
identification of the damping matrix.
3.5 Behaviour based control
For AUV mode a set of ‘strategic’ behaviours is
being developed inside the Guidance block. Tethra
has a reactive control architecture comprised of a
suite of behaviours [1]. These behaviours are of
varying levels of complexity. All behaviours are
prioritised in a subsumption like scheme, which uses
a variant of the prioritisation used by Brooks (1986).
Brook’s ‘subsumption’ approach tackles the control
problem as a number of horizontally arranged
layers, each layer implementing a “behaviour”, i.e.,
the ability to perform a certain task. The name
‘subsumption’ arises from the coordination process
used between the layered behaviours within the
architecture. In the subsumption architecture
complex actions subsume simpler behaviours [8]. A
priority hierarchy fixes the topology.
(a) Real-world experiment
(c) Earth-fixed viewpoint (edge of the pool)
be functional; as well it is demanded the base robot
behaviour control functionality to be working and
tested, before progressing to integrating with
mission planning and control.
Behaviours to be employed for trials in
controlled environment the diving pool, are:
maintain altitude, maintain depth, follow outlines of
the environment (edge or bottom), obstacle
avoidance, mapping, navigation and localization.
The horizontal arrangement of the six precision
altimeters with their distance measurement range of
10 centimeters to 10 meters will allow for Tethra to
be developed a grid map based localization and
navigation while the craft is being tested in the
10.13m length by 8.40m width by 3.87m depth
diving pool.
Behaviours implemented on the vehicle for open
water testing will include obstacle avoidance
behaviours, transect/trajectory following, height off
bottom control, depth control, diving and surfacing
behaviours along with emergency ballast control
(b) Earth-fixed viewpoint (corner of the pool)
(d) Body-fixed viewpoint (on-board camera)
Fig.3 Tethra in a real pool (a) and virtual pool (b), (c), (d)
Several development stages are required to progress
through in the pursuit of a fully functional and
reliable control architecture implementation; i.e. to
obtain the behaviour level control working
necessitates the underlying embedded controllers to
applications such as marine survey and navigation,
development of waypoint homing behaviour is
necessary. The transect following behaviour will
require sensor input for heading, depth and vehicle
position along a transect, e.g. from Doppler Velocity
Log and Inertial Navigation System. Particular
scenarios shall be dictated depending on the specific
mission objective for a marine survey, such as:
following transect in lawnmower fashion while
maintaining height of bottom for bottom filming or
bottom search, or to maintain depth to carry out a
sonar survey while avoiding obstacles. The contour
following behaviour will require to maintain depth
and altitude while heading is varied to follow
constant depth contour (e.g. for habitat survey).
critical behaviours or other higher importance
behaviours such as the obstacle avoidance are not
5 Conclusions
The paper has described the current stage of
development for the Tethra prototype submersible
vehicle. Evolvement and testing of the Tethra
vehicle, integration of extra sensors and
development of a comprehensive suite of behaviours
for potential missions such as seabed survey and
filming is ongoing.
4 Future work
Further evolvement of the Tethra test platform will
progress in the areas of controller enhancement for
full dynamic operation, neural network controller
development, additional behaviour based control
development, and mission control development.
Our aim is to perform an assessment on the
effectiveness of different behaviour-based control
techniques (e.g. subsumption control, schema-based
architecture, etc.) within a purely reactive
architecture with no high-level mission control
planner added. This study is intended to be carried
out first in the simulation environment described in
the previous sections. The Tethra vehicle modelled
in the simulation environment is shown in figure 3,
along with the real Tethra during testing in the
diving pool. The comparative analysis of the
different behaviour-based control architectures will
culminate in testing with real trials in a controlled
environment. The either collaborative/cooperative or
competitive arbitration algorithms will be
implemented as a unique task in our real-time
multitasking operating system.
In order to endow the craft with autonomous
mission level capabilities the control architecture
needs to be hybridized. Hybrid architectures take
advantage of the hierarchical planning aspects of
traditional AI and the reactive and real time aspects
of behavioural approaches. A high level mission
planner is intended to be developed on top of the
functional behavioural level and the underlying
embedded controllers to offline pre-program and/or
to online elaborate a plan for the autonomous
underwater vehicle. The mission planner could
determine a sequenced list of way-points and speeds
of travel for a given mission, or it could be
implemented as a state machine.
For mission level programming it is expected that
the cruise behaviour will be the main interface
between a mission planning layer and the behaviour
based layer in a hybrid architecture. In this scenario
the cruise behaviour would operate as long as safety
[1] D Toal, C Flanagan, L Molnar, and G Hanrahan,
Autonomous Submersible Development for
Underwater Filming Employing Adaptive
Artificial Intelligence, Proceedings of Sensors
and Their Applications XI, 2001, pp. 163-168.
[2] T Love, D Toal, C Flanagan, Buoyancy Control
for an Autonomous Underwater Vehicle,
Proceedings of the IFAC Workshop - Guidance
and Control of Underwater Vehicles, 2003, pp.
[3] S Nolan, L Molnar, D Toal and C Flanagan,
Implementing a layered control architecture on
an open framed AUV, Proceedings of the IFAC
Workshop - Guidance and Control of
Underwater Vehicles, 2003, pp. 65-70.
[4] L Molnar, D Toal, C Flanagan and M Hayes,
The Tethra Autonomous Underwater Vehicle
Platform: System Description and Controller
Development, Proceedings of the Advances in
Technology for Underwater Vehicles, 2004, pp.
[5] E Omerdic, Thruster Fault Diagnosis and
Accomodation for Overactuated Open-frame
Underwater Vehicles, PhD Thesis, University of
Wales College Newport, UK, 2004.
[6] P Van de Ven, C Flanagan, D Toal, Artificial
Intelligence for the Control of Underwater
Vehicles, Proceedings of the Artificial Neural
Networks in Engineering Conference, 2003, pp
[7] P Van de Ven, T A Johansen, A J Sorensen, C
Flanagan, D Toal, Neural Network Augmented
Identification of Underwater Vehicle Models,
Proceedings of the IFAC Conference on Control
Applications in Marine Systems, 2004, 263-269.
[8] R A Brooks, A robust layered control systemfor
amobile robot, IEEE Journal of Robotics and
Automation 2(1), 1986, pp 14-23.