Вы находитесь на странице: 1из 11

Ocean Engineering 32 (2005) 16311641

www.elsevier.com/locate/oceaneng

Technical note

A hierarchical real-time control architecture


for a semi-autonomous underwater vehicle
Ji-Hong Li*, Bong-Huan Jun, Pan-Mook Lee, Seok-Won Hong
Ocean Development System Department, Korea Research Institute of Ships and Ocean Engineering,
KORDI, 171 Jangdong, Yusong-gu, Daejeon 305-343, South Korea
Received 6 July 2004; accepted 9 December 2004
Available online 25 February 2005

Abstract
This paper describes a real-time control architecture for Dual Use Semi-Autonomous Underwater
Vehicle (DUSAUV), which has been developed at Korea Research Institute of Ships and Ocean
Engineering (KRISO) for being a test-bed of development of underwater navigation and manipulator
technologies. DUSAUV has three built-in computers, seven thrusters for six DOF motion control,
one 4-function electric manipulator, one ballasting motor, built-in power source, and various sensors.
A supervisor control system with GUI and a multi-purpose joystick is mounted on the surface vessel
and communicates with vehicle through a fiber optic link. Furthermore, QNX, one of real-time
operating system, is ported on the built-in control and navigation computers for real-time control
purpose, while Microsoft OS product is ported in the supervisor computer for GUI programming
convenience. A hierarchical control architecture, which consists of application layer, real-time layer
and physical layer, has been developed for efficient control system of above complex underwater
robotic system. The experimental results with implementation of the layered control architecture for
various motion control of DUSAUV in an ocean engineering basin of KRISO is also presented.
q 2005 Elsevier Ltd. All rights reserved.
Keywords: Underwater robotic vehicle; Control architecture; Real-time operating system

1. Introduction
In recent two decades, underwater robotic vehicles (URVs) have become an intense
area of oceanic technologies because of their emerging applications such as deep sea

* Corresponding author. Tel.: C82 42 868 7507; fax: C82 42 868 7503.
E-mail address: ghlee@kriso.re.kr (J.-H. Li).
0029-8018/$ - see front matter q 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.oceaneng.2004.12.003

1632

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

inspections, long range surveys, oceanographic mappings, underwater pipelines


construction and tracking, etc. Today, with the rapid developments of underwater sensor
and communication technologies, URVs are acting more and more important role in the
oceanic researches.
URVs are operated in underwater environment where the radio waves broadcasting in
the air could not propagate through. Therefore, the various matured positioning
technologies on the ground could not be applied to URVs directly, and this adds
enormous difficulties on the underwater navigations. At the same time high-pressure deepsea environment also makes the manipulator operations be much different from the case on
the ground. In order to develop the underwater navigation and manipulator technologies,
which are two of the core factors of URVs applications, Dual Use Semi-Autonomous
Underwater Vehicle (DUSAUV), a test-bed underwater vehicle, has been developed at
KRISO. And several research and development results (Hong et al., 2000; Chung et al.,
2000; Lee et al., 2003a,b) have been achieved using DUSAUV.
For being a test-bed of development of underwater navigation and manipulator
technologies, the structure of DUSAUV is as shown in Fig. 1. There are three computers
and power source built-in DUSAUV, and the vehicle connects to the surface vessel
through a fiber optic link only for the data communication purpose. Therefore, DUSAUV
could be operated in both Autonomous Underwater Vehicle (AUV) and Remotely
Operated Vehicle (ROV) modes, and various control architectures could be applied to
DUSAUV.
So far, various control architectures have been developed and applied to all kinds of
robots and underwater vehicles, and all these can be classified into three main
architectures: hierarchical, behavioral, and hybrid. Hierarchical architecture (Wang
et al., 1993; Peuch et al., 1994; Barnett and McClaran, 1996; Kim and Yuh, 2004) is also
known as planning-based architecture and has the characteristic that planner makes
decisions for series action of vehicle according to a central world model created by
processing of various sensors data. This kind of architecture can be powerful for vehicles
controllability and stability if sufficient time and information are available. On the other

Fig. 1. General arrangement of DUSAUV.

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

1633

hand, it could not promptly handle the highly dynamical environments for its relatively
long time delay. Behavioral architecture (Brooks, 1986; Zheng, 1992; Bennett and
Leonard, 2000) is also known as reactive or heterarchical architecture. Each mission of
vehicle is accomplished by performing a set of preprogrammed condition-reaction pairs.
Behavioral architecture is favored for its speed and has proven effective if the number of
behaviors is low and the problem could be completely specified at design stage. However,
in fact these conditions are hard to be met in many practical cases. Furthermore, the
specific meaning of behavior has not been pinned down precisely, and this makes it
difficult to perform direct comparisons of the performance of different systems (Bennett
and Leonard, 2000). Hybrid architecture (Simon et al., 1993; Bennett, 1993; Healey et al.,
1996; Quek and Wahab, 2000) is a certain compromise of above two kinds of architectures
where it makes the best uses of advantages of two architectures while minimizing their
limitations. The most popular form of hybrid architecture is that a behavior-based lowlevel system is combined with a hierarchical high-level decision maker.
DUSAUV did not focus on its autonomic capacity but on the easiness and convenience
of the vehicle to perform various underwater tests, so the vehicle was designed to have
traditional hierarchical control architecture. The remainder of this paper is organized as
following. The hardware architecture of DUSAUV is outlined in Section 2. In Section 3,
the hierarchical software architecture of the vehicle is presented and some properties of the
architecture are also discussed. A basin test of DUSAUV is described in Section 4. Finally,
in Section 5, we make a summary of this study and some related issues for future
development are sketched.

2. DUSAUV hardware architecture


The overall hardware architecture of DUSAUV can be depicted as Fig. 2.
2.1. Navigation, measurement, and vision sensors
There are lots of navigation and measurement sensors mounted on DUSAUV
constructing a redundant system, and this makes it possible for various underwater hybrid
navigation algorithms could be applied to DUSAUV (Lee et al., 2003b).
Navigation sensor suite includes: HG1700 AG11 Inertial Measurement Unit (IMU)
measures inertial angular rates and linear accelerations in a body mounted strap down
configuration; Workhorse Navigator Doppler Velocity Log (DVL) 300 is a multi-function
sensor for providing rapid, precise velocities over the ground; Precision Navigation TCM2
provides the vehicles heading and two tilt angles in the local motion frame; Tritech
SeaKing sonar is mounted for being a navigation sonar and detects obstacles; Schaevitz
Sensors PS10061-0005 pressure transducer combining with Tritech PA200 altimeter
provides depth and altitude information.
Besides above various navigation sensors, an acoustic navigation system is also
installed. ORE Track Point II, which consists of a transponder mounted on the vehicle and
a responder installed in the surface vessel, constructs a Ultra Short BaseLine (USBL)
navigation system of vehicle.

1634

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

Fig. 2. DUSAUV control hardware architecture.

Tritech OceanSpy CCD color camera and a DeepSea underwater light are fixed on the
pan and tilt unit mounted in front of the vehicle, and provide a suitable vision environment
for remotely operating of vehicle and manipulator.
2.2. Underwater manipulator
Manipulator suite is one of the most important items to evaluate the working capacity
of the underwater vehicle. DUSAUVs manipulator has been designed as a master/slave
teleoperator with a common switching gripper and adopted electric motor mode for
pressure compensation and maintenance. A sophisticated surface controller optimizing
various performance indexes has been developed for the convenience of accurate
underwater operations such as removing subsea mines and so on. Furthermore, in order to

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

1635

minimize the vehicles built-in battery power consumption, certain design technology for
power economy has been applied (Seo et al., 2003).
2.3. Actuator system
There are seven thrusters mounted on DUSAUV and controlling the vehicles 3-DOF
motions. Four 600 W BS motors are horizontally mounted at the rear of the vehicle and
construct the vehicles main propulsion system. Two 200 W BS motors are vertically
installed in the front, and one 120 W BS motor is mounted crossly at the rear. While the
manipulator is being operated in the subsea, it is inevitably coupled with the motion of the
vehicle. Therefore, a 30 kg ballasting mechanism has been applied for the purpose of
accurate operation of manipulator, and one 25 W ballasting motor is selected. Also, two
10 rpm pocketsize motors are selected for the camera pan and tilt unit.
2.4. Built-in computer system
DUSAUV has three built-in computers, each of which takes charge of manipulator
control, hybrid underwater navigation, and vehicle control, and communicate to each other
through 100BaseTX Ethernet link. CL7, an all-in-one Celeron/Pentium III 3U single
computer board with small size and support various OS such as Windows 98/2000/NT,
VxWorks, QNX, Linux, etc. is chosen for navigation and vehicle control computers.
DELTA TAU universal PMAC 1.5 Lite is selected as manipulator control computer.
The vehicle control computer undertakes the real-time interfaces with various vehicle
sensors and actuators. For this purpose, SBS A/D, D/A, DI/O, and Serial IndustryPack cards
have been used and further two electronic boards of which one is for signal distribution and the
other one is for efficient interface have been designed. Furthermore, two SBS CPCI-100A
carrier boards have been chosen for the interfaces between IP cards and CPCI bus of control
computer. As mentioned in Section 2.1, DUSAUV employs HG1700AG11 IMU as the main
navigation sensor. The output of HG1700 is in Synchronous Data Link Control (SDLC)
format and need to be transferred to parallel signals through a SDLC converter board.
2.5. Fiber optic modem
DUSAUV communicates with the supervisory control system installed on the surface
vessel through a fiber optic link. Focal 907 video/data multiplexer, which supports three
video channels, six serial data channels, and other expansion cards for Ethernet, Tritech
Arcnet, hydrophone/analogue, etc. has been selected as the fiber optic modem. The fiber
optic system of DUSAUV adopts Wavelength Division Multiplexing (WDM) operation
on a single-mode fiber with 1,310 nm uplink and 1,550 nm downlink.

3. DUSAUV software architecture


DUSAUV has been developed for being a test-bed of developments of underwater
navigation and manipulator technologies, and a hierarchical real-time control architecture,

1636

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

Fig. 3. DUSAUV control software architecture.

which consists of application layer, real-time layer, and physical layer as depicted in
Fig. 3, has been designed for the vehicle.
3.1. Application layer
The supervisory control system on the surface vessel constitutes the application layer of
the vehicles software architecture, where the supervisor or planner brings about the
command/event data by monitoring various sensor data including camera and sonar video
signals. The application layer also has the data logging function for later on analysis and
handling. DUSAUV has three operation modes: check mode, auto mode, and manual
mode. Soon after the vehicles launch, a certain task is taken to check the normal
operations of all devices in the vehicle, beside of which a series of initial calibrations and
initial value settings are also accomplished in this operation mode. The auto mode is
further divided into moving mode (movement to target point and obstacle avoidance) and
working mode (manipulator operation and vehicle holding).
3.2. Real-time layer
This layer takes charge of real-time realization of the command/event data transmitted
from application layer, and has a task-based (or process-based) architecture (Wang et al.,
1993).

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

1637

As being shown in Fig. 3, DUSAUVs real-time layer consists of three tasks; control( ),
navigation( ), and arm_control( ), and each task is further divided into several child
processes. navigation( ) is a real-time navigation task running in the navigation computer,
and the real-time interface with 100 Hz IMU through parallel port is also executing in this
task. Through the Ethernet link, navigation( ) transmits navigation results and IMU raw
data to the control computer and receives various correction data for hybrid navigation
algorithm at the same time. arm_control( ) is a real-time control algorithm running in the
manipulator computer and exchanges several necessary information with the control
computer for the purpose of stable and accurate operation of manipulator. The third task
control( ) forks supervisor( ), path_plan( ), and servo_control( ) three child processes
besides the other three child processes taking charge of the communications with other
three computers. In path_plan( ), the shortest path to target point is planned according to
the moving (event data) commands from application layer and the navigation results
calculated in navigation( ). Obstacle avoidance algorithm also runs in this process.
supervisor( ) undertakes monitoring the built-in battery output, computers activities,
leakage of the hull and other emergences, and if there is any abnormality, would fixes the
target point as the surface vessel (in the case of the shortage of battery capacity), or cut off
the power supply and start running the radio beacon mounted on the vehicle for the
purpose of recovery later on. DUSAUV has been designed to have positive buoyance and
would rise to the surface if all the thrusters stop rotating. servo_control( ) is a certain
combination of various device calls dedicated to dialogue with various equipments of the
vehicle and executes the servo control of various actuators and the sampling of all sensors.
DUSAUV adopts QNX as its real-time operating system. QNX provides various InterProcess Communication (IPC) tool, such as message, proxy, shared memory, signals, file
I/O, etc. (Kolnick, 1998). Message, which is a variable-length packet data, is the most
popular communication method and, by using a name, could be exchanged between two
different nodes but same platforms in a LAN. However, exchanging message is always
followed by certain memory copy and buffering. Furthermore, message sender should be
waiting for the reply from receiver and this causes CPU blocking. All these bring about
somewhat real-time performance decline of the design software architecture. In contrast to
message, shared memory does not entail the copying, buffering and blocking of messagepassing, although there are still some drawbacks one of which is that it can only be used
between processes on the same node. In each computer of DUSAUV, data
communications among the processes are executed by using shared memory and a
semaphore is affixed on this resource for exclusive access of multi processes. Semaphore
has been also used as a kind of synchronizing trigger among the processes using its
sem_wait and sem_post functions.
There are four computers being connected to each other using Ethernet and constituting
the control system of DUSAUV. Star topology, in which the control computer is in the
center, is adopted for the network topology of DUSAUV. The control computer
communicates with other computers using TCP/IP sockets where the control computer is
always set as server. Data exchanges among the computers are accomplished by writing to
and read from the shared memory in the control computer. This kind of network
construction could minimize the communication load of the whole system and also could
settle the bottleneck problem of star topology.

1638

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

3.3. Physical layer


Physical layer, which is the only one of hardware dependent, dedicates to interfaces
between servo_control( ) and various actuators and sensors mounted on the vehicle.
As mentioned in previous, DUSAUV adopts CL7, a PC/AT compatible CPCI system
module, as the control computer. And there are four A/D, D/A, DI/O, and Serial IP cards
used for the interfaces between the control computer and various actuators and sensors.
Furthermore, two CPCI carrier boards have been chosen for the interfaces between IP
cards (ISA bus) and CPCI bus of control computer, and a device driver for access of CPCI
carrier boards has been developed (Lee et al., 2002).

4. Experimental study
There are seven thrusters installed in DUSAUV operating the 6-DOF motion of vehicle,
of which two vertical and one cross thrusters have been designed to have relatively low
rating outputs and only applied for finely tuning of the vehicle motion. Most of the
underwater navigations of DUSAUV are achieved by four horizontal thrusters mounted
parallel at the stern of the vehicle (Fig. 4).
In order to verify the hydrodynamic coefficients of DUSAUV, which have been derived
by vertical planar motion mechanism (VPMM) model test, a serial experiments on the
various motion control of vehicle have been taken in the oceanic engineering basin (W!
L!D: 30!50!3.5 m) at KRISO. In the experiments, the manipulator was not installed
as well as the manipulator computer and the IMU raw data was applied directly to the
control algorithm without running the real-time navigation algorithm. Furthermore,
because the fiber optic cable had been damaged in the previous sea experiment, so a
10BaseF cable was directly connected between the vehicle and the surface control unit.
Consequently, only three computers were connected through Ethernet cable and

Fig. 4. A general view of DUSAUV.

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

1639

Fig. 5. DUSAUV basin experiment: (a) surface control unit, (b) motion control in basin.

constituted the control system of the vehicle. Therefore, the control software architecture
could be remarkably simple than that in chapter 3. In deed, path_plan( ) process was
eliminated in control( ) task and corresponding control algorithm was designed to running
in the supervisory computer, and this made it be convenient for tuning the control

Fig. 6. DUSAUV basin test results for speed, depth, and heading control.

1640

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

parameters at any time while the vehicle was launching in the water without every
rebooting of the control and navigation computers in the vehicle.
Fig. 5 shows the control experiment on the vehicles speed, depth, and heading. The
initial speed was set to 0.1 m/s, and the desired trajectory was set to speedZ1 m/s, depthZ
0.5 m, and headingZ608, and the control input was calculated by certain LQ method (Jeon
et al., 2003). Experimental result is depicted in Fig. 6, from which we can see that the
outputs of vehicles speed, depth, and heading were all following the desired values as
well as the simulation result. The response to the initial forward speed was somewhat
delayed and this was supposed to be caused by the fact that the vertical moment occurred
at the start caused the propellers to be exposed on the surface and subsequently brought
loss of the propulsion (Fig. 5(b)).

5. Conclusion
This paper presents a real-time control architecture for DUSAUV which has been
developed in KRISO as a test-bed of development of underwater navigation and
manipulator technologies. The hierarchical architecture consisting of application layer,
real-time layer, and physical layer is discussed and the main focus is taken on the
description of the real-time layer. Finally, the experimental results with implementation of
the proposed control architecture for various motion control of DUSAUV in a basin of
KRISO is also presented.

Acknowledgements
This work was supported in part by the Ministry of Science and Technology in Korea
and the Ministry of Maritime Affairs and Fisheries in Korea.

References
Barnett, D., McClaran, S., 1996. Architecture of the Texas A and M autonomous underwater vehicle controller.
In: Proceeding of the 1996 Symposium Autonomous Underwater Vehicle Technology, Montery California,
pp. 231237.
Bennett, A., 1993. Combining planning with reactive architectures in an autonomous underwater vehicle. In:
Proceeding of the Eighth Symposium on Unmanned Untethered Submersible Technology, Durham, New
Hampshire.
Bennett, A.A., Leonard, J.J., 2000. A behavior-based approach to adaptive feature detection and following with
autonomous underwater vehicles. IEEE Journal of Oceanic Engineering 25, 213226.
Brooks, R.A., 1986. A robust layered control system for a mobile robot. IEEE Journal of Robotics and
Automation RA-2, 1423.
Chung, G.B., Eom, K.S., Yi, B.-J., Shu, I.H., Oh, S.-R., Cho, Y.Z., 2000. Disturbance obserber-based robust
control for underwater robotic systems with passive joints. In: Proceeding of ICRA 2000, San Francisco,
USA, pp. 17751780.

J.-H. Li et al. / Ocean Engineering 32 (2005) 16311641

1641

Healey, A.J., Marco, D.B., McGhee, R.B., 1996. Autonomous underwater vehicle control coordination using a
tri-level hybrid software architecture. In: Proceeding of the 1996 IEEE International Conference on Robotics
and Automation, Minneapolis, Minnesota, pp. 21492159.
Hong, S.W., Lee, P.M., Jeon, B.H., Lee, C.M., 2000. Design of an Underwater Vehicle-mounted
manipulator system and non-regressor based adaptive control of it. In: Proceeding of ISOPE 2000, Seattle,
USA, pp. 314319.
Jeon, B.H., Lee, P.M., Li, J.H., Hong, S.W., Kim, Y.G., Lee, J., 2003. Multivariable optimal control of an
autonomous underwater vehicle for steering and diving control in variable speed. In: Proceeding of Oceans
2003 MTS/IEEE Conference, San Diego, CA, pp. 26592664.
Kim, T.W., Yuh, J., in press. Development of a real-time control architecture for a semi-autonomous underwater
vehicle for intervention missions. Control Engineering Practice 12, 15211530.
Kolnick, F., 1998. The QNX4: real-time operating system. Basis Computer Systems Inc., September, Canada.
Lee, P.M., Li, J.H., Lee, C.M., Jeon, B.H., 2002. A study on the design of a real-time operating system for
unmanned underwater vehicles based on QNX. Journal of Ships and Ocean Engineering 33, 7588.
Lee, C.M., Lee, P.M., Seong, W.J, 2003a. Underwater hybrid navigation algorithm based on an inertial sensor and
a Doppler velocity log using an indirect feedback Kalman filter. Journal of Ocean Engineering and
Technology 17 (6), 8390.
Lee, P.M., Lee, C.M., Kim, S.M., Jeon, B.H., Hong, S.W., Aoki, T., 2003b. Preliminary study on the inertialDoppler localization of a deep-sea launcher hanging on cable. In: Proceeding of Scientific Submarine Cable
2003 Workshop, Tokyo, Japan.
Peuch, A., Coste, M.E., Baticle, D., Perrier, M., Rigaud, V., Simon, D., 1994. An advanced control architecture
for underwater vehicles. In: Proceeding of Oceans94, Brest, France, pp. I-590I-595.
Quek, C., Wahab, A., 2000. Real-time integrated process supervision. Engineering Applications of Artificial
Intelligence 13, 645658.
Seo, S.J., et al., 2003. Development of technologies for navigation and manipulator system of a semi-autonomous
underwater vehicle, Technical Report, Pusan, Korea.
Simon, D., Espiau, B., Castillo, E., Kapellos, K., 1993. Computer-aided design of a generic robot controller
handling reactivity and real-time control issues. IEEE Transaction on Control Systems Technology 1,
213229.
Wang, H.H., Marks, R.L., Rock, S.M., Lee, M.J., 1993. Task-based control architecture for an untethered,
unmanned submersible. In: Proceeding of the Eighth Symposium on Unmanned Untethered Submersible
Technology, Durham, New Hampshire, pp. 137148.
Zheng, X., 1992. Layered control of a practical AUV. In: Proceeding of the 1992 symposium autonomous
underwater vehicle technology, Washington DC, pp. 142147.

Вам также может понравиться