Professional Documents
Culture Documents
Abstract—Most underwater vehicles are controlled by human output of the simulator provides full state information
operators through tethered cables which inhibit range and affect including speed and position.
the hydrodynamics. The overall performance of these promising
vehicles would improve through the employment of higher levels The higher level guidance decisions are made using IvP
of autonomy. Implementation of open source autonomous
Helm [3], a backseat driver autonomy engine that is part of
guidance software in an off the shelf underwater vehicle is
explored here as a solution. Development and implementation of MOOS (Mission Oriented Operating Suite). MOOS [10] is a
this autonomous guidance and vehicle control is greatly publish-subscribe marine middleware operating system similar
facilitated through the use of an accurate vehicle simulator. to ROS [9] (Robot Operating System), the very popular
Running real world tests of an underwater vehicle is extremely middleware for ground robotics, that facilitates simple
time intensive and error prone. The analysis of the vehicle communication and modularity between applications. IvP
performance underwater is extremely challenging with limited Helm will be used on the final vehicle as well as the vehicle
accurate positioning sensing e.g. GPS. A vehicle simulator allows simulator for guidance control. Another MOOS application
for faster development of the system by providing vehicle called pMarineViewer is used for a graphical 2D simulation of
performance information prior to expensive real world missions.
the vehicle motion. The example simulation presented will
This research presents a method for simulation and testing of
autonomous guidance and control in a vehicle accurate simulator illustrate the vehicle simulator and IvP Helm with an
for the VideoRay Pro III underwater vehicle and demonstrates exploration of the floor of the Charles River. In the physical
the capability through simulated examples and analysis. implementation of this system, the VideoRay simulator
MOOS application will not be used, and instead will be
Keywords—UUV; AUV; MOOS; IvP; PID controller; replaced with sensors and MOOS applications needed for
guidance; control; unmanned; simulation; hydrodynamics; determination of speed, location and orientation inside the
thruster; kinematics; VideoRay actual UUV.
978-0-933957-40-4 ©2013 MTS This is a DRAFT. As such it may not be cited in other works.
The citable Proceedings of the Conference will be published in
IEEE Xplore shortly after the conclusion of the conference.
unmanned marine surface craft, and was later extended for use encountered when the MOOS IvP Helm application sends
in underwater platforms [3]. It uses multi-objective desired speed, desired heading, and desired depth instead of
optimization to implement autonomous behavior coordination desired destination coordinates. In order to eliminate these
in the platform using interval programming. IvP uses a problems, new control, propulsion, and AUV modules were
backseat driver paradigm (vehicle control is separate from the developed.
autonomy), and provides behavior based autonomy. The IvP
solver publishes the single best vehicle action to the
MOOSDB based on competing IvP behaviors produced from III. SYSTEM OVERVIEW
navigation and state information. The configuration of the IvP The system developed for autonomous control and
helm is completed with a *.bhv behavior file, which provides simulation of the VideoRay Pro III UUV consists of a high
mission configuration of the helm behaviors. The IvP level guidance sub-system, a low level PID controller for the
application subscribes to sensor information and other high three controllable degrees of freedom on the vehicle, a module
level command and control that it needs to make decisions. to convert the desired forces and torques to thruster propeller
The Helm provides autonomous guidance for the vehicle speeds, and a vehicle model dynamics simulator. An overview
based on the configuration in the corresponding behavior file. of the interactions of all of these modules is illustrated in Fig.
1, with the vehicle modeling modules inside of the dashed line
The vehicle model used in this research is based off of the and the IvP Helm modules outside the dashed line. The
work done by Wei Wang in his thesis [1] at the University of publish and subscribe messages of each module are listed by
Waterloo. Wang was able to obtain the added mass the arrows between the modules. Together, these sub-systems
coefficients, moments of inertia, and linear and quadratic drag provide means of autonomously controlling a simulated
terms for the VideoRay Pro III through a method called strip vehicle to run a mission and yield a very close approximation
theory [6] as well as experimentation. The model developed is to the real-world behavior of the VideoRay Pro III UUV.
based on the underwater vehicle model theory presented by
Fossen [2]. Wang also considers simplifications to the vehicle
dynamics such as zero roll and pitch at all time, which is
reasonable to assume in this UUV, and greatly simplifies the
dynamic vehicle model equations of motion. The nonlinear
thruster equations relating thrust and thruster propeller speed
are also derived and verified by Wang. Wang provided
significant background for the simulation and modeling aspect
of the project undertaken here.
DOF Forces an
nd Linear and Position
Momentss Angular and Euler
Velocities Angles
1 Motions in the x-
direction (surge) X u x
2 Motions in the y-
direction (sway) Y v y
3 Motions in the z-
direction (heave) Z w z
4 Rotation about the x-
axis (roll) K p Φ
5 Rotation about the y-
axis (pitch) M q θ
Fig. 3. The pMarineViewer application showing the U
UUV returning to the 6 Rotation about the z-
dock in the example search mission axis (yaw) N r ψ
The relation between the earth-fixed
d and body-fixed frame for
the VideoRay can be seen in Fig. 4 from [1].
IV. MATLAB SIMULATION
N
Prior to implementation in MOOS, the U UUV control and
vehicle simulation was implemented usinng Matlab. The
modules simulated in Matlab consist oof the Control,
Propulsion and AUV modules. This allowed for the response
of the vehicle to be analyzed graphicallyy and facilitated
debugging of errors and tuning of the PID controllers. The
example situation run in the Matlab simulattion involved the
vehicle being commanded to a depth of 10 m meters, a speed of
one m/s and a ψ of π at time t=10 seconds andd then all back to
zero at time t=100 seconds. The response of important state
and control variables produced from this M Matlab simulation
can be seen throughout this paper. The ressponses correlate
well with what is seen in the MOOS vehicle siimulations.
T C n|n| (6.1)
The thrust and torque values (X, Z, N) come from the PID
controllers and correspond to desired external forces and
torque to apply to the vehicle. The X thrust is a summation of
the thrust from the starboard thruster and the thrust from the
port thruster. The Z thrust is a direct mapping of the thrust
from the vertical thruster. The N thrust is the summation of the
Fig. 7. Thrust or force applied to the vehicle in the vertical direction by the
thrust from the starboard thruster and the negative thrust from vertical thruster
the port thruster, or the difference between the starboard
thruster and the port thruster, and must be multiplied by R to
obtain torque instead of thrust or force. These relations are
summarized in Table 5. The desired X, Z, and N force and
torque values as well as the corresponding responses of the
three thrusters to the example commands described in the
Matlab Simulation section of this paper can be seen in Fig. 6-
10.
Combining and substituting the equations for X and N Fig. 8. Torque applied to the vehicle in the psi direction around the z-axis by
yields the equations (6.4) and (6.5) for TS and TP. These the two horizontal thrusters
TABLE VII. THRUST LIMITS FOR THE DESIRED THRUST AND TORQUE
if N > MaxN
N = MaxN;
elseif N < MinN
N = MinN;
end
The values of both psi and headiing are cyclical in that once
they attain the maximum value, they y return to zero on the next
VII. COORDINATE SYSTEM TRANSLLATIONS step. This means one actual headinng H can be represented by
There is a discrepancy between the coorddinate systems of any number of values H + 360* *n where n can take any
the MOOS IvP Helm environment and the veehicle model and positive or negative integer value. The same can be said for
simulation environment in [2]. To move from m one to the other, the values of psi where any actual ψ1 can also be represented
translation equations must be developed. Thhe only variable by ψ1 + 2πn where n can take any positive
p or negative integer
that is affected in this system is the psi (ψ), or yaw variable value. To eliminate confusion and mathematical
m discrepancies,
which in MOOS IvP Helm is equivalent to the heading the values for heading are limited d to [0:360] by adding or
variable. In the vehicle model and simulation environment, the subtracting 360, while the values for
fo psi are limited to [0:2π]
psi variable is in radians and its value is constrained to [0:2π]. by adding or subtracting 2π as neeeded. The values for the
In IvP Helm the heading variable is in units off degrees and has desired heading and desired psi outtput from the Helm IvP are
values constrained to [0:359]. In the vehhicle and model also limited in this manner.
simulation environment psi is equal to zero w when the vehicle
is pointing in the direction of the positive x-axxis, increasing in It was found to be a problem m when the error between
a positive fashion as it moves toward pointinng in the positive desired psi and actual psi was greateer than π or less than - π, as
y-axis direction. In the IvP Helm environm ment, heading is the controller would command th he vehicle to rotate in the
equal to zero when the vehicle is pointing inn the direction of wrong direction. An example is sh hown in Fig. 15 where the
the positive y-axis, increasing in a positive fasshion as it moves desired psi is 1.9π and the actual pssi is 0.1π, yielding an error
toward pointing in the positive x-axis direction. The of 1.8π with equation (7.3).
coordinate systems are flipped in sign so thaat the z axis goes
into the water for the simulation environmennt and comes out (7.3)
of the water in the IvP Helm environment. There is also a
translation of 90 degrees between the two cooordinate systems.
The two coordinate systems are displayed bbelow in Fig. 13
and 14. The equations to translate betw ween these two
coordinate systems are shown in equations 7.11 and 7.2.
force. The reasoning behind the integral term is that any
steady state error will cause the sum of the error terms to grow
larger and larger until the integral term has a significant effect
on the final output of the control variable. The PID controller
for desired X force is the only one of the three used in this
simulation that utilizes an integral component.