Professional Documents
Culture Documents
Abstract—Command and control for AUVs has been an the mission tasks assigned and the configuration of each
area of active research over the past years. Inspired by the individual AUV in the team. The C2 system is currently
command structure in real ships and submarines, we have
developed a command and control system which operates being used for AUV missions in a System-In-The-Loop sim-
through the interaction of multiple software agents. The ulator and tested on the STARFISH AUV. The STARFISH
software agents take on roles such as Captain, Executive project is an initiative at the Acoustic Research Labora-
Officer, Navigator, Pilot, etc. to achieve specified missions.
The command and control system has been tested in simula-
tory (ARL) of the National University of Singapore (NUS)
tion and in field tests on the STARFISH AUV developed at to study collaborative missions carried out by a team of
the National University of Singapore. In this paper, we will low-cost, modular AUVs. Simulation results showed good
present the command and control architecture and some performance and reactivity on simple navigational tasks
field test results.
while preliminary lake test results of the first prototype
Index Terms—Autonomous Underwater Vehicle (AUV),
Command and Control System, Software Architecture, Hy- AUV further validated the functionality of the developed
brid Architecture, Modularity. C2 system.
The remainder of this paper is organized as follows. Sec-
I. Introduction tion II illustrates the architectural overview of the compo-
nent based C2 system. Section III and IV present the
agent component’s internal activity is governed by a finite The Chief Scientist is responsible for command and con-
state machine which processes its tasks continuously de- trol of payload sections. When the AUV is in the mission
pending on the current state of the component. area, the Chief Scientist enables the corresponding Scien-
The following paragraphs give a detailed description of tist components and starts analyzing the obtained infor-
the responsibilities and tasks of different agent compo- mation. When necessary, the Chief Scientist informs the
nents: Captain to modify its navigational plan, or to abort the
current mission if it fails to perform the assigned tasks.
A. Supervisory Level: Captain, Chief Scientist It is important to ensure an AUV’s safety throughout
and Safety Officer mission execution. For an autonomous mission, the AUV
There are three components under the Supervisory level: must be able to detect any abnormality that might arise
the Captain, the Chief Scientist and the Safety Officer. and take necessary steps to make sure that it is not lost
Components in this level carry out the main decision mak- during the mission. The Safety Officer polls data regard-
ing with respect to the mission and vehicle safety. Any ing the health conditions of all the devices (sensors and
one of these components has the right to modify or abort actuators) from Health Monitor components. It then an-
a mission if found necessary. alyzes the health condition of each device. Besides that,
The Captain component is in charge of the high level Safety Officer also looks at sensor data to determine un-
supervisory tasks. It starts, coordinates, oversees and con- safe conditions and perform emergency abort if necessary.
trols the execution of all other components while keeping This provides a safeguard against agent component mal-
track of mission progress. In situations where the AUV function. However, whenever critical events such as a leak
encounters problems caused by software errors or hard- develop, the Safety Officer will cut off the entire AUV’s
ware failures, the Captain determines the source of the power without consulting the Captain and drop the bal-
problem and attempts to solve it. However, if the prob- last to prevent the hardware from being damaged.
lem continues to exist, the current mission is aborted and
the operator is notified. The decisions are made based B. Mission Level: Executive Officer
on inputs from components within the C2 system and a At the Mission level, Executive Officer converts mission
simple rule-based system with knowledge represented as points to tasks, plans the task sequence and outputs the
IF-THEN rules. For missions that involve multiple-AUVs, task commands as well as mission path for the mission
the Captain is also involved in cooperation and coordina- execution. Whenever a mission number and START com-
tion among the AUVs. mand are received from the Captain, the Executive Officer
The STARFISH AUV can have different payload sec- reads the mission file to retrieve the task sequence, mission
tions added or exchanged to meet the requirements of parameters as well as mission points. The retrieved mis-
mission or to perform underwater scientific experiments. sion points are then fed to the Navigator for mission path
DESIGN AND DEVELOPMENT OF COMMAND AND CONTROL SYSTEM FOR AUTONOMOUS UNDERWATER VEHICLES 3
planning. If a feasible path is found between the start high level mission tasks into vehicle’s low level ma-
and target mission point, the resultant tasks are passed neuver control. This component implements a library
to vehicle level for navigation while the mission points of basic functions that the vehicle can use to generate
and task sequence are reported back to Captain for mis- the desired maneuvers. One or more basic functions
sion monitoring. However, if the Navigator fail to find a can be invoked concurrently to achieve a high level
path, the Captain is informed the operator is notified via mission task. This is bottom-up approach where dis-
Signaling Officer. When there are changes in the mission tributed simple vehicle behaviors can be merged to
points during mission execution, the mission path will be form complex maneuvers.
re-planned. 3. Scientist
Scientist component is responsible for processing and
C. Vehicle Level: Path Executor, Obsta- analyzing the data obtained from payload sensors.
cle Detector, Chart Checker, Scientist, To allow exchangeable payload sections, one Scientist
Health Monitor component is built per payload section and loaded by
The Vehicle level consist of five components: the Chief Scientist depending on the final setup of the
Path Executor, Obstacle Detector, Chart Checker, AUV. More than one Scientist components can exist
Scientist and Health Monitor. They are the reactive in a single AUV if there are several payload sections
components that interact with the vehicle’s sensory attached. They are coordinated and controlled by
and actuator level - the Sentuator level. The control Chief Scientist component throughout mission. Two
and processing at the vehicle level is distributed among payload sections are currently built for STARFISH
its components. Every component has its own set of project. They are the Advanced Navigational payload
responsibilities and operates asynchronously based on and Side Scan Sonar payload.
the commands from the higher level of control hierarchy. 4. Health Monitor
Among the components at this level, Path Executor, Health Monitor component keeps track of the health
Obstacle Detector and Chart Checker together play the conditions for all the devices in the AUV including
role of a pilot. They handle tasks ranging from translation the optional payload section. This is particularly im-
of mission tasks into control signal, depth and position portant to make sure the AUV is in its optimum
keeping, obstacle avoidance and mission chart updating. working condition. Every hardware interfacing com-
The Scientist component is responsible to interact with ponent (Sentuator component) in the AUV imple-
devices in payload section while the Health Monitor ments an internal health monitoring method which
component keeps track of the overall AUV’s health checks the health status of the hardware it attached
condition. to. This information is collected periodically by the
1. Obstacle Detector and Chart Checker Health Monitor component for vehicle health status
During mission execution, floating obstacles and sea updating and forwarded to Safety Officer for further
floor are threat to the AUV’s safety. Collision with action.
any threats may jeopardize the mission as well as
D. External Communication: Signalling Officer
the AUV. Early detection of unknown obstacles lying
along the AUV’s path is crucial to make sure it has Communications with the mission operator/mothership
enough time and space to perform the avoidant ma- or other AUVs is supported by the Signaling Officer
neuver. The Obstacle Detector reads the data from through a message-passing mechanism. Signaling Officer
Forward Looking Sonar (FLS) to determine the lo- acts as the AUV’s external communication node, and is
cation of objects that exist along the AUV’s mission represented outside the overall control hierarchy. This
path. component encodes and decodes the messages among
The obstacle data are sent to the Chart Checker which AUVs or between AUV and operator. Besides that, Sig-
in turns checks for existence of the obstacles in the naling Officer is also responsible for updating the opera-
Chart Room. ChartRoom is the central storage place tor with the current mission and AUV status periodically.
for the maps of the mission area where the AUVs are For the STARFISH AUV, the Common Control Language
operating. Obstacles that are known in the Chart (CCL) is adopted as the message format for acoustic com-
Room will be taken into account when planning mis- munication [5]. CCL is developed to establish a standard
sion path. Obstacles that do not exist in the Chart for communication between different agents during opera-
Room are marked and the corresponding location and tion and provides support for interaction between machines
depth are updated in the maps. Collision checking and operators. A CCL message is a 32-byte data packet.
is then be performed by the Chart Checker along the The first Byte is used to specify the message mode (type)
mission path. If any of the newly found obstacles lie followed by optional data values.
in the mission path, the Chart Checker modifies the During mission execution, different CCL messages are
mission path to make sure the AUV would not collide sent periodically to the operator for display on the GUI
with the obstacle. interface. Fig 2 shows a sample CCL message string with
2. Path Executor their corresponding representations and the screen capture
The Path Executor is responsible for translating the of Command and Control GUI module during operation.
4
Fig. 2. Screen capture of the C2 GUI interface and a sample CCL message.
More CCL messages will be defined in the future for multi- be done easily by changing the entries in the configuration
AUV scenarios. file.
Since the components are self-contained and the inter-
E. Benefits from the architectural design component communication is carried out through message
The resulting C2 system’s architectural design offers passing, the internal operation of the components do not
many benefits. The hybrid modular-hierarchical control interfere with each other. This provides fault tolerance if
architecture adopts both top-down and bottom-up ap- errors occur in one component, as they do not cause the
proach in its control structure. This allows deliberative whole C2 system to malfunction.
high level mission control while decouples the low level
reactive vehicle control. Moreover, the breaking down of III. Simulation
C2 tasks into individual agent components presents an ex- The outlined C2 system has been developed and tested
plicit view of the clearly defined control responsibilities at on STARFISH simulator - a 3D System-In-The-Loop
different level of control hierarchy. (SITL) simulator that uses Open Dynamic Engine (ODE)
The implementation of state machine in the component [8]. SITL simulation has advantages in terms of system
facilitates controllability and observability [2] in the control testing and deployment. The same source code or pro-
architecture. Both controllability and observability allow grams that are running in the SITL simulator can be di-
monitoring and controlling of the internal structure and rectly used on the hardware platform without any alter-
behavior of agent components. This is particularly impor- ation. This results in rapid and simplified system devel-
tant in a C2 system where supervisory components at the opment. Besides that, the simulator also allows different
high level control architecture can monitor and command underwater conditions like sea current to be simulated for
the behavior of low level components. testing.
The component-based design of the C2 system on top of The objective for simulation trials was to validate the C2
the DSAAV [6] makes exchangeable components possible system architecture before final deployment on the AUV.
and provides flexibility in terms of software implementa- During the simulation trials, the AUV was given a mission
tion and alternation. Instead of modifying the existing to dive, navigate though a few mission points at certain
software components, new components with identical in- depths and finally, surface at the end point. The purpose
terfaces but different algorithms can be built and loaded of this mission is to 1)test the functionality of the compo-
when necessary. Besides that, the Scientist component can nents in the C2 system and 2)verify the overall C2 system
be configured to adapt to the AUV’s final payload setup performance in carrying out an assigned autonomous mis-
without affecting the overall control structure. This can sion.
DESIGN AND DEVELOPMENT OF COMMAND AND CONTROL SYSTEM FOR AUTONOMOUS UNDERWATER VEHICLES 5
AUVAUV
Bearing SetPoint
Bearing SetPt was completed. Although these are preliminary results ob-
1700 waypoints tained with a simulator with a simple mission, it is suffi-
AUV trajectory cient to verify the basic functionality of each component
bearing setpoints
1600 while confirming the integrity of the overall C2 system.
1500
B. Field Trial
1400
Several trials have been carried out at Pandan Reser-
1300 voir (Latitude = 1.3171◦ , Longitude = 103.7482◦ , Fig. 5),
1200
1140
1120
Singapore. We present data from one surface trial. The
1100
1080
North trials were conducted using our test AUV. In the trial, the
1100 1060
1040
AUV is given a mission file to navigate through the mission
1000
1020
1000
points and stop once the mission is completed. During the
Current Speed : 1 Knot
980
960
Current Current
Speed : 1 Knot
Bearing
Current Bearing : 334 deg
: 334 deg
surface mission (depth = 0), the AUV is subject to wind
900
disturbance as well as north-pushing current caused by a
940
!350 !300 !250 !200 !150
Bearing
AUV Bearing Actual
140
Bearing Set
AUV Set Point
Point
120
heading (deg)
100
Heading
in 80
Degrees
60
40
20
0
0 200 400 600 800 1000 1200 Fig. 5. (a) Plot of AUV’s path for surface mission. The coordinates
time (s)
Time in second
are based on raw GPS data whenever it is available, and rely on data
from positioning system (PosSys) when GPS is not available. The
AUV started from the floating platform and navigated through all
Fig. 4. Plot of reference and actual vehicle bearing during mission.
mission points.
waypoints 42
to handle multi-AUV missions.
60 WayPoint Radius 40
AUV trajectory 38
bearing setpoints
50
36
References
Y
34
32
0
Autonomous Vehicles and Distributed Problem Solving, Proc. of
!2 Current caused
Current caused
by
the 2nd Intern. Conf. on Computational Intelligence, Robotics
Waterby
!4
Pump
Water Pump and Autonomous System, CIRA’03, Singapore, Dec. 15-18,
!6
!5 0
X
5 10 15 2003.
[6] Mandar Chitre. DSAAV - A Distributed Software Architec-
ture for Autonomous Vehicles. (Presented at OCEANS 2008.
MTS/IEEE Quebee.)
[7] Charts for Small Craft . Singapore Strait and Adjacent Water-
Fig. 6. Plot shows the AUV’s bearing and bearing setpoints through
ways. Maritime and Port Authority of Singapore (MPA), 2004.
the mission execution. [8] ”Object Dynamic Engine,” available at: http://www.ode.org/.
Accessed 1 August 2008.
area, the set points were pointed directly towards the first
mission point. This demonstrated the path following be-
havior implemented in the reactive layer. Also, it can be
seen that the bearing setpoints changed to point to the
next waypoint whenever the AUV is within the waypoint
radius. Despite the simplified navigation missions, the C2
system has shown expect behavior. We expect to further
validate the overall C2 system functionality in our future
trials.
IV. Conclusion
A novel AUV command and control system architec-
ture has been developed. The focus has been to develop a
generic control and software architecture for a single AUV
and later, expendable to multi-AUV operations.
The design, testing and validation of the architecture
has been described. The proposed control architecture has
a hybrid structure. It contains a set of interacting agent
components and are grouped into three hierarchical control
layers that enables the mission supervisory and command
to be executed at higher layer while decouples the vehicle
and navigational control from the lower layer. It also pro-
vides capabilities for real time mission status updates and
vehicle or mission error detection. The control architec-
ture also allows multiple Cheif Scientist components to be
added to adapt to the AUV’s final setup without affecting
the overall control structure.
The C2 system has been developed and tested in a
software simulator. It is also currently operational in a
STARFISH AUV and has been tested in initial field trials.