Underwater Vehicle PDF
Underwater Vehicle PDF
Underwater Vehicle PDF
THESIS
OBSTACLE AVOIDANCE CONTROL FOR THE REMUS AUTONOMOUS UNDERWATER VEHICLE by Lynn Renee Fodrea December 2002
Thesis Advisor:
Anthony Healey
Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instruction, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188) Washington DC 20503. 1. AGENCY USE ONLY (Leave 2. REPORT DATE 3. REPORT TYPE AND DATES COVERED blank) December 2002 Masters Thesis 4. TITLE AND SUBTITLE Obstacle Avoidance Control for the 5. FUNDING NUMBERS REMUS Autonomous Underwater Vehicle N0001401AF00002 6. AUTHOR (S) Lynn Fodrea 8. PERFORMING ORGANIZATION 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) REPORT NUMBER Naval Postgraduate School Monterey, CA 93943-5000 9. SPONSORING / MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSORING/MONITORING AGENCY REPORT NUMBER Office of Naval Research
Future Naval operations necessitate the incorporation of autonomous underwater vehicles into a collaborative network. In future complex missions, a forward look capability will be required to map and avoid obstacles such as sunken ships. This thesis examines obstacle avoidance behaviors using a forwardlooking sonar for the autonomous underwater vehicle REMUS. Hydrodynamic coefficients are used to develop steering equations that model REMUS through a track of specified points similar to a real-world mission track. Control of REMUS is accomplished using line of sight and state feedback controllers. A two-dimensional forward-looking sonar model with a 120 horizontal scan and a 110 meter radial range is modeled for obstacle detection. Sonar mappings from geographic range-bearing coordinates are developed for implementation in MATLAB simulations. The product of bearing and range weighting functions form the gain factor for a dynamic obstacle avoidance behavior. The overall vehicle heading error incorporates this obstacle avoidance term to develop a path around detected objects. REMUS is a highly responsive vehicle in the model and is capable of avoiding multiple objects in proximity along its track path.
14. SUBJECT TERMS Obstacle avoidance, REMUS, Underwater vehicle, AUV 15. NUMBER OF PAGES 79 16. PRICE CODE 20. LIMITATION OF ABSTRACT UL
ii
Lynn Fodrea Lieutenant, United States Navy B.S., U.S. Naval Academy, 1998
MASTER OF SCIENCE IN MECHANICAL ENGINEERING from the NAVAL POSTGRADUATE SCHOOL December 2002
Author:
Lynn Fodrea
Approved by:
iii
iv
ABSTRACT
Future Naval operations necessitate the incorporation of autonomous underwater vehicles into a collaborative network. In future complex missions, a forward look
capability will be required to map and avoid obstacles such as sunken ships. This thesis examines obstacle avoidance behaviors using a forward-looking sonar for the autonomous underwater vehicle REMUS. Hydrodynamic coefficients are
used to develop steering equations that model REMUS through a track of specified points similar to a real-world mission track. Control of REMUS is accomplished using line of A two-dimensional
forward-looking sonar model with a 120 horizontal scan and a 110 meter radial range is modeled for obstacle detection. Sonar mappings from geographic range-bearing coordinates are developed for implementation in MATLAB simulations. The product of bearing and range weighting functions form the gain factor for a dynamic obstacle avoidance behavior. The overall vehicle heading error incorporates this obstacle avoidance term to develop a path around detected objects. REMUS is a highly responsive vehicle in the model
and is capable of avoiding multiple objects in proximity along its track path.
vi
TABLE OF CONTENTS
I.
INTRODUCTION ............................................1 A. BACKGROUND .........................................1 B. MOTIVATION .........................................2 C. OBSTACLE AVOIDANCE FOR AUTONOMOUS UNDERWATER VEHICLES ...........................................3 D. PATH PLANNING ......................................4 E. SCOPE OF THIS THESIS THE REMUS VEHICLE ...........7 F. THESIS STRUCTURE ...................................8 STEERING MODEL .........................................11 A. GENERAL ...........................................11 B. EQUATIONS OF MOTION IN THE HORIZONTAL PLANE .......11 C. HYDRODYNAMIC COEFFICIENTS .........................16 D. VEHICLE KINEMATICS ................................20 E. VEHICLE DYNAMICS ..................................20
II.
III. CONTROL METHODS AND ARCHITECTURE .......................21 A. GENERAL CONTROL THEORY ............................21 B. REMUS CONTROL ARCHITECTURE ........................23 C. SLIDING MODE CONTROL ..............................23 D. LINE OF SIGHT GUIDANCE ............................25 IV. OBSTACLE AVOIDANCE MODEL ...............................29 A. THE REMUS SEARCH PATH .............................29 B. SONAR MODEL .......................................30 C. HEURISTICS ........................................31 VEHICLE SIMULATION .....................................35 A. BASIC SINGLE POINT OBSTACLE AVOIDANCE .............35 B. MULTIPLE POINT OBSTACLE AVOIDANCE .................39
V.
VI. CONCLUSIONS AND RECOMMENDATIONS .........................45 A. CONCLUSIONS .......................................45 B. RECOMMENDATIONS ...................................46 APPENDIX A ..................................................49 LIST OF REFERENCES ..........................................59 INITIAL DISTRIBUTION LIST ...................................63
vii
viii
LIST OF FIGURES
Figure 1. REMUS VEHICLE ......................................7 Figure 2. Local and Global Coordinate System (From: Marco and Healey, 2001) .................................12 Figure 3. Track Geometry and Velocity Vector Diagram ........26 Figure 4. Typical REMUS Search Path .........................29 Figure 5. Forward-look Sonar Model ..........................30 Figure 6. Bearing Weighting Function ........................32 Figure 7. Range Weighting Function ..........................33 Figure 8. Block Diagram System Dynamics .....................34 Figure 9. Single Point Obstacle Run (On Path) ...............35 Figure 10. Single Point Obstacle Run: Rudder/Heading/oa.....36 Figure 11. Single Point Obstacle Run (Off Path) .............36 Figure 12. Rudder/Heading/oa (Off Path).....................37 Figure 13. Figure-Eight Obstacle Run ........................38 Figure 14. Rudder/Heading/oa Figure-Eight...................38 Figure 15. Multiple Single Point Obstacle Run ...............40 Figure 16. Rudder/Heading/oa................................41 Figure 17. Multiple Point Obstacle Run ......................41 Figure 18. Multiple Point Obstacle Run: Rudder/Heading/oa...42 Figure 20. Alternate Range Weighting Function ...............43 Figure 21. Range Weighting Function Dynamics Comparison .....44
ix
LIST OF TABLES
Table 1. Table 2.
REMUS Functional and Physical Characteristics ......8 REMUS Hydrodynamic Coefficients for Steering ......19
xi
xii
ACKNOWLEDGEMENTS
I would like to thank my thesis advisor, Professor Anthony J. Healey, for his expert insight, direction, and assistance during the development of this work. His
ability to see beyond my thoughts and assumptions allowed this product to become what it is. I would also like to thank CDR Bill Marr, an AUV team member, friend, and counselor who has continued to be there to listen to and advise me on career, academic, and social concerns. Finally, I would like to thank my fianc, Major Todd Woodrick, USAF, for listening to me talk through my
thoughts, for being there to challenge me, and for being my truest fan and support over the last year and a half.
xiii
xiv
I.
A. BACKGROUND United States
INTRODUCTION
naval
warfare
strategy
is
constantly One of
the most foreign and complex areas of naval warfare that requires a myriad of resources to explore and classify is that of the underwater world. Operations in the littoral With increased Amphibious and an increased
environment
need for Force Protection of our nations ports, it is critical to be able to characterize the undersea
Recently, the
undersea battlefield has undergone considerable change with the advent of improved mines, submarine quieting, and other littoral threats. It has often been said that the best way to combat threats in a specific environment is to use assets in the same medium. A major area of development for combating
this complex undersea battlefield from the surf zone to the shallow (UUV). forces water UUVs by regime not is the Unmanned Underwater to from our the Vehicle military hostile a more
only the
safety
removing
swimmer also
minefield
environment,
they
provide
maneuverable asset in the random and turbulent waters of the littorals. The UUV Mission Priorities, as outlined in
the Organic Off-board Mine Reconnaissance CONOPS, include programs undersea that will extend knowledge the and control of of the
battle
space
through
employment
covert
sensors capable of operating reliably in high-risk areas. The CONOPS states that there are four basic mission areas 1
for
which
the
utility mine
of
unmanned
undersea
systems
was
substantiated:
warfare,
surveillance,
intelligence
thesis will focus on obstacle avoidance arguments for a specific type of UUV known as the Autonomous Underwater Vehicle (AUV). respect to AUVs are unmanned, independent craft with and control and require no external
power
they are able to: Provide their own power Provide data storage capabilities Make decisions sensors capabilities based alone on inputs them or from onboard their
set
apart Remotely
from
counterparts,
ROVs
Operated
interface as well as sufficient cable to search the waters around the base platform (Ruiz, 2001)
B.
for underwater environments over the past several years. AUV development began as far back as 1960 with experimental prototypes available in the 1980s. development, see (Blidberg, 2001). For a history on AUV AUVs possess the unique
ability to safely operate in littoral areas for search, detection, and classification of mines and for hydrographic reconnaissance and intelligence. 2 To broaden the
of and
underwater environmental it is
vehicles
for in
applications to
operations, system
essential the
design
that
exhibits
maximum
degree
autonomy, both through navigation and sensory processing. One of the greatest technological challenges facing AUVs and the robot community today is that of navigation around obstacles. problem of While most underwater vehicles can solve the localization and maneuvering, many do not
possess the capability to move around obstacles that arise in their programmed path, specifically in unmapped areas near the littorals where mine-like objects or other
vehicles are capable of obstacle and collision avoidance using a stop-back-turn principle that swimming vehicles cannot (Healey, Kim, 1999). This thesis will present a
solution to the obstacle avoidance problem for the Remote Environmental Measuring Unit System (REMUS) AUV.
C.
OBSTACLE AVOIDANCE FOR AUTONOMOUS UNDERWATER VEHICLES The obstacle avoidance problem has been under research
since the advent of underwater vehicle technology. approaches have been used to solve this
Several for
problem
underwater robots.
or obstacle contour following (Kamon, 1997). utilizes proximity the obstacle around boundaries the to
determine until
path
obstacle
reaching
position on the obstacle boundary where it can break away and return to its course. until the obstacle no The boundary following continues longer 3 blocks the desired path.
Experimental results using Kamons wall following algorithm show that this technique produces minimal path distances around obstacles. The approach proposed by Moitie and Suebe [Moite & Suebe, 2000] uses an obstacle avoidance system consisting of four subsystems: a digital terrain manager used to
estimate the sea floor altitude, a global planner used to generate waypoints to guide the AUV to a given target, a reflex planner to check the trajectories of the global
planner, and an obstacle avoidance sonar for environmental mapping. All of these subsystems are used to determine a
viable area of the state space from which a viable (or escape) trajectory can be used. The Vector Field Histogram (VHF) technique (Borenstien and Koren, 1991) consists of a two-stage data reduction process that uses a two-dimensional Cartesian histogram
to a onedimensional local polar histogram with each sector representing an obstacle density. The second stage
involves a selection of the sector with the lowest obstacle density. an The steering model is then reduced to calculating vector aligned with the selected
avoidance-heading
sector.
D.
free trajectories for robot vehicles in a structured world where mission specifications and environmental models are known. execution Path for planning the commonly occurs prior to mission
existing 4
environmental
constraints.
Environmental
data
allows
path
planners
to
design
paths
around known physical obstacles such as trees and pillars or hazardous environments such as rough terrain or high turbulence areas. Path planning differs from obstacle
avoidance in that obstacle avoidance is performed in a nonstructured world that is initially assumed to be free of obstructions. of an underwater to However, due to the unpredictable nature environment, allow for path safe planning vehicle alone is
insufficient
navigation.
Obstacle avoidance is a necessary tool for in situ response to unknown environmental conditions and hazards. Several path planning techniques have been developed for both land based and subsurface robots. received the most attention in recent One that has years is the
potential field approach in which an artificial potential field is defined to reflect the structure of the space around the vehicle (Thrope, 1985, Krogh, 1986). A
repulsive field pushes the vehicle away form an indicated obstacle while an attractive field pulls a vehicle toward a goal. The path to the goal is minimized through the space.
It is configured to have a global minimum at the desire terminal state of the vehicle. The main drawback to this
approach lies in the fact that local minima may entrap the robot trajectory. A second approach considered by Latombe (1991) is that of cell decomposition in which the workspace is divided into non-overlapping cells represented by nodes. The space
is then searched from starting point to the end node using a graph search algorithm to determine the path of free cells. 5
Further
progress
has
been
made
to
incorporate
path
planning and obstacle avoidance in a more dynamic program. Stentz (1994) develops a path planning algorithm known as D* for partially known environments in which a sensor is also available to supplement a map of the environment. It
combines what is known of the global environment prior to mission missions. which a with acquired local environmental data during
The D* technique uses a cost based approach in directed graph arc of arcs an is generated prior to The
mission
with
each
having
associated
cost.
robots sensor can then measure arc costs in its local vicinity and generate known and estimated arc values that compromise a map. Lane (2001) uses an approach known as dynamic
programming.
handles different needs of the environment while the robot is in motion. module that These modules consist of a segmentation identifies a regions feature a of the sonar image a the
containing tracking
extraction dynamic
module, of
provides
model
obstacle, a workspace representation that builds a symbolic representation of the vehicles surroundings, and finally a path planning module that represents each obstacle as a constraint. The maneuvering solution is then based on
minimizing the path length to the goal. While described several above are of the path for planning land techniques robots vice
designed
underwater robots and involve much simpler dynamic motions, the challenge of underwater robot technology is in the
difficulty of ceasing or changing a forward motion given a short notice sonar return.
E.
SCOPE OF THIS THESIS THE REMUS VEHICLE The REMUS vehicle was developed at Woods Hole
Oceanographic Institute (WHOI) in the Oceanographic Systems Laboratory. It is designed to perform hydrographic
reconnaissance in the Very Shallow Water (VSW) zone from 40 to 100 feet. As seen in Figure 1, it is 62 inches long and It weighs 80 pounds in air and can
operate in depths up to 328 feet, but typically operates between 10 and 66 feet. The aft end propeller enables Its four
fins, two horizontal and two vertical on either side and just forward of the propeller, allow pitch and yaw motions for maneuvering. Table 1 includes the remaining functional
Figure 1. REMUS VEHICLE Currently, REMUS is equipped with a number of sensors that can generate water hydrographic clarity, maps, maps and of water
currents,
temperature,
salinity
While REMUS
is fitted with two side-scan sonars that are used to detect objects on or near the sea floor, a forward-looking sonar
Table 1.
PHYSICAL/FUNCTIONAL AREA Vehicle Diameter Vehicle Length Weight in Air External Ballast Weight Operating Depth Range Transit Depth Limits Typical Search Area Typical Transponder Range Operational Temperature Range Speed Range Maximum Operating Water Current Maximum Operating Sea State Battery Endurance
CHARACTERISTIC 7.5 in 62 in 80 lbs 2.2 lbs 10 ft to 66 ft 328 ft 875 yds X 1093 yds 1640 yds +32F to +100F 0.5 knots to 5.6 knots 2 knots Sea State 2 1 kW-hr internally rechargeable Lithium-ion 20 hours at 3 knots; 9 hours at 5 knots
F.
looking
sonar
model
that
supports
obstacle
avoidance
following:
robust steering model for the REMUS vehicle as a necessary building block for obstacle avoidance behaviors; secondly, build obstacle avoidance control into the steering model to enable safe navigation of the very shallow water
environment while gathering or verifying environmental and minefield data. for the REMUS To this end, the steering model designed vehicle is 8 based on known hydrodynamic
coefficients heading
and
will for
an
obstacle
avoidance threat
command
and
multiple
describe the steering control laws associated with the EOM for REMUS. algorithm simulation Chapter IV will discuss the obstacle avoidance developed analysis for for REMUS. the Chapter V will present behavior
obstacle
avoidance
discussed in the previous chapter and Chapter VI will offer conclusions and recommendations for future study.
10
differs the
modeling applied
robots
forces
motion.
approach taken with and underwater vehicle is that of a moving body in free space without constraint. The
propulsion and maneuvering forces on the moving body are hydrodynamic and hydrostatic in origin and are caused by interactions with the ocean water particles local to the body, rather than interactions with the ground as those of land based robots. These forces are often controllable and
B.
EQUATIONS OF MOTION IN THE HORIZONTAL PLANE The following paragraphs describe the development of
This
model was adapted from that of the ARIES AUV (Healey & Marco, 2001) and is based on the following assumptions: the vehicle behaves as a rigid body the earths rotation is purposed of acceleration vehicle center of mass negligible components for of the the
the primary forces that act on the vehicle are inertial and gravitational in origin and are derived from hydrostatic, propulsion, thruster, and hydrodynamic lift and drag forces
The equations of motion (EOM) for steering are derived using a Newton-Euler approach that relates the vehicles 11
position and motions in the local plane to those in the global plane. The geometry of the global and local
Ro y Z z
Figure 2. Local and Global Coordinate System (From: Marco and Healey, 2001)
[ u , v , w]
where u is forward speed (surge), v is side slip and w is any component velocity in the local Z
(sway)
direction (heave), can be easily transformed to the global velocity vector & & & 1 through the Euler angles , , X ,Y , Z
and as follows:
(1)
cos cos , cos sin sin sin cos , cos sin cos + sin sin (2) T ( , , ) = sin cos , sin sin sin + cos cos , sin sin cos cos sin cos sin cos cos sin ,
1
12
However, the connection between angular attitude and angular velocity is not as simple. Rate gyros in use today
measure the components of inertial angular velocity of a vehicle that lie along the vehicles body axes. Healey derives the inertial angular rates in Thus, of
terms
components that have angular velocities about the global axes and then transforms them as above to the final
reference frame.
(3)
in which the rate components from each Euler angle are viewed as follows:
the change of rotation as a vector quantity lying along the original Z axis the rate of change of as a vector quantity lying along the Y axis of the first intermediate frame and the rate of change of as a vector lying along the X axis of the final body frame
" -sin p 1 0 q = 0 cos sin cos " " r 0 -sin cos cos
For small angular rotations, it is evident that:
(4)
= p; = q; = r.
"
"
"
13
The final EOM are developed in the body fixed frame coordinates position, using velocity, these and inertial frame of quantities the of
acceleration
vehicles
center of mass to the net sum of all of the forces acting on the vehicle in three degrees of freedom (X,Y,Z) as:
(5)
The rotational equation of motion is derived from equating the sum of the applied moments about the vehicles center of mass to the rate of change of angular momentum of the vehicle about its center of mass. The mass moment of
inertia of the vehicle, I, about its center of gravity changes with loading. Thus, the mass moment of inertia is
evaluated about the body-fixed frame that lies along the vehicles axis of symmetry. The rotational equation of
& + ( ) + m{ g v & + g v} M o = I o
(6)
With the addition of weight and buoyancy terms that act at the centers G and B, Healey, (1995) derives the equations of motion for a six degree of freedom model as: SURGE EQUATION OF MOTION
& r v r r + wr q x G (q 2 + r 2 )+ y G ( pq r & ) + z G ( pr + q & ) ] +(W B ) sin = X f m[ u
(7)
(8)
14
(10)
(11)
(12)
Where: W = weight B = buoyancy I = mass moment of inertia terms ur, vr, wr = component velocities for a body fixed system with respect to the water p, q, r = component angular velocities for a body fixed system xB, yB, zB = position difference between geometric center and center of buoyancy xG, yG, zG = position difference between geometric center and center of gravity Xf, Yf, Zf, KF, Mf, Nf = sums of all external forces acting in the particular body fixed direction Healey (1995) further simplifies Equations 7 thru 12 with the following assumptions:
The center of mass of the vehicle lies below the origin (zG is positive) 15
The motions in the vertical are negligible (i.e. [wr, p, q, r, Z, , ] = 0) ur equals the forward speed, Uo.
& r = mU o r + Y f (t ) mv
& = N f (t ) I zz r
& =r
& = U cos v sin + U X o r cx & = U sin v cos + U Y o r cy
C.
HYDRODYNAMIC COEFFICIENTS The modeling motions Under at of submerged vehicles in a assumes straight there small line is a
forward transit.
nominal
speeds
steady
motion
conditions,
balance between the hydrodynamic drag and propulsion forces as well as the weight and buoyancy forces. The predominant
forces from lift that arise in directions other than the longitudinal direction are caused from small angles of
and
vehicle that result from any motions that deviate from the straight line path assumed above. Due to the symmetry of
vehicles about their longitudinal axis, the components of fluid motion in the transverse 16 direction are often
independent
of
motions
in
the
longitudinal
direction.
Healey proposes that due to the symmetry of the vehicle, one can heuristically would affect class determine the that only in uses a subset of
motions direction
loading and
any the
particular following
(Healey
notes)
(19) (20)
It is evident that the sway and yaw motions are coupled in horizontal plane steering. Roll motion coupling is common The fluid series These
but is often one way and is thus not considered. forces above are in often linearized motion using
Tayor
expansion
terms
individual
components.
expansion terms are termed hydrodynamic coefficients and depend on the shape characteristics of the vehicle. Errors in these coefficients will have a significant affect on the natural stability of the vehicle as they are the building blocks of the dynamics matrix. Through the assumption of
small motions, the expression for the transverse (sway) force is:
& r + Yv r v r + Y r & + Yr r Y f = Yv &r v &r
(21)
and for the expression for the rotational (yaw) force is:
& r + N vr v r + N r & + Nrr N f = Nv &r v &r
(22)
; Yv r =
Yf v r
; Yr& =
Yf Y ; Yr = f ; & r r
(23-26)
and 17
Nv &r =
Nr =
N f ; r
(27-30)
Where:
The
hydrodynamic
coefficients
for
steering
for
the
REMUS vehicle were adapted from thesis work performed by MIT (Prestero, 2001) establishing estimates of all vehicle coefficients. Force contributions from lift, drag and
added mass are summed to provide a set of combined force coefficients for both locally linearized and large angle motions. With modification, Table 2 below includes the of interest was to the by discussion adding above. The
Yvr
determined
the
linearized
combined coefficients for crossflow drag, Z wc , body lift, Z wl , and fin lift, Z wf . by adding the The value for Yr was similarly determined linearized combined coefficients for The
N vr
(31)
18
where the center of pressure, xcp , is centered at a point between 0.6 and 0.7 of the total body length from the nose. The moment from coefficients those in for the D rudder, N d by 3.5 to and
Yd ,
were for
scaled
Appendix
account
shows a turn rate of 10 deg/sec with 4 degrees of rudder. This is approximately 3.5 times what the REMUS model
Table 2.
Yv &r
Yr&
-3.55e01 kg 1.93 kg m/rad -6.66e01 kg/s (Same as Zw) 2.2 kg m/s (Same as Zq) 1.93 kg m -4.88 kg m2/rad -4.47 kg m/s -6.87 kg m2/s (Same as Mq) -3.46e01/3.5 kg m/s2 5.06e01/3.5 kg m/s2
Yvr
Yr
N v&r
N r&
N vr
Nr
Nd Yd
Finally, Johnson (2001) determined that rudder action produces forces that when linearized are: Y r (t ) and N r (t ) . The dynamics of the vehicle are thus defined as: 19
& r = mU o r + Yv & r + Yv & + Yr r + Y r (t ) mv &r v &r v r + Y r &r & = Nv & r + N vr v r + N r & + N r r + N r (t ) I zz r &r v &r
& =r
D.
Equations (32) and (33) where Ucx and Ucy are the current velocities in the associated direction. These two
equations, as well as the simple relation of heading to its derivative, compose the steering dynamics of REMUS in
& = Ax + Bu, and can be expressed as follows: matrix form, M x
m Yv&r N &r v 0
I zz N r& 0
Yr&
0 0 1
Yr mU o Nr 1
0 v r Y 0 r + N r (t ) 0 0
(35)
where
r (t )
is
generalized
command
that
represents
the
E.
(Johnson, 2001) is that the cross coupling terms in the mass matrix are zero. This is based on the vehicles
symmetry and the rudders being very close to equidistant from the body center. Thus, in matrix form, the final
20
interest
concern
underwater
robots
that
execute local reflexive maneuvers, or maneuvers in which the vehicle must process a sonar return, determine if that return is a threat along its proposed path, and further navigate around the threat before regaining its original path. Through sensor measurements, nonlinear path
deviations can be developed to avoid these threats, while still scanning the underwater environment for possible
mines and other environmental data. Due to their autonomy, control of AUVs is relatively difficult. However, in spite of the uncertainty of
hydrodynamic forces, feedback control has been a suitable solution used to provide commands to actuators that control and stabilize the motion of underwater vehicles (Healey and Marco, 2001). important fact Riedel (1999) asserts that the single most contributing to the difficulty in the
control of underwater vehicles is the desire to control them along or about two or more axes. This and leads to
stronger
coupling,
larger
nonlinearities
more
state
Additional factors
21
A small AUV may be controllable in all six DOF Actuator dynamics are much smaller on underwater vehicles
Power and control for the vehicle is limited by the onboard capacity of the vehicle
Human
intervention
for
fault
processes
is
not
problem due to the fact that nonlinear control is necessary during avoidance maneuvers. rate and is a very REMUS has a very high turn vehicle. Thus, REMUS
responsive
achieved with both sliding mode theory and through a simple dead reckoning or follow the rabbit track guidance
technique. The REMUS steering model uses autopilot controls for maneuvering based on the NPS ARIES state variable time
systems
motion of vehicles.
consist of independent diving, steering/heading, altitude above bottom, and cross-track error controllers. All four
modes are de-coupled for ease of design and are based on sliding mode control (SMC) theory. Sliding mode control is
a robust technique, or one that provides high performance through widely varied operating conditions, used for
compensation of nonlinear systems as well as for systems whose parameters vary in a 22 predictable way with speed
Sliding mode controls are ideal in that replace an nth order system with an
easy to implement with minimal tuning, making them ideal for use in control design. this model to include Two tuning factors are used in Eta_FlightHeading,
and
B.
REMUS CONTROL ARCHITECTURE The key for to a robust control model is as the use of by
feedback
specific
motion
variables
measured
sensors to drive the vehicles actuators (control planes, rudders or thrusters). The steering controller is the only
autopilot controller necessary for modeling addressed in this thesis. for It is a second order model that uses r and modeling side-slip velocity, v, as a
feedback,
disturbance that can be overcome by the robust SMC model. Additionally, simple line-of-sight guidance is used to
C.
accurate
steering
controller
can
be
developed.
These
methods are used with predominantly linear system models as opposed to the SMC methods used for nonlinear systems
"
(Healey, 1992).
x = Ax + Bu
23
"
(37)
where x R n*1 ; A R n*n ; B R n*r ; u R r *1 , and u is the rudder angle, a SMC can be designed to drive this state to stable solution, or one in which the sliding surface = 0, R 1 . sliding surface defined as: %; x % = xx = s'x com where space. of the s is a vector of directions in the state (38) error With the
The elements of are the lengths of the projection state error vector,
xcom
is
dynamic
exogenous
state error which is required to be driven to zero so that the command state equals actual state. The values of s are found by the requirement that when = 0 , the system dynamics must exhibit stable sliding on the surface. Thus,
the closed loop dynamics are given by the poles of the closed loop matrix as,
(39)
= 0.
The
eigenvectors
of
the
Ac
matrix
determine the linear state feedback gains for each state used to define the sliding surface as follows: " (t ) (t ) = s2 "(r_ com r (t )) + s3 " LOS (40)
The poles selected for the REMUS model SMC solution were moved farther from zero than those in the original ARIES model in order to stabilize the system dynamics. As seen
in Appendix A, these poles were placed at [1.4 -1.45 0.0]. The pole at the origin is necessary to allow for the single sliding constraint for the single input system implied by 24
placement, becomes:
the
commanded
rudder
controller
(41)
where and are tuning factors equal to 0.5 and 0.1 respectively.
D.
LINE OF SIGHT GUIDANCE This purpose of the Line of Sight (LOS) controller is
to
reduce the
the
heading
error
to
zero. for
The ARIES
REMUS
model and
adapts
original
LOS
guidance
[Marco
Healey (2001)] with a follow-the-rabbit technique similar in nature to the transducer based dead-reckoning approach with which REMUS operates. The LOS controller forces the
between the commanded line of sight and the actual heading, or:
% (t ) LOS = (t )track (t )
% (t ) % where (t )track = arctan(Y wpt ( i ) , X (t ) wpt ( i ) )
(42) (43)
The commanded heading is based on the angle between the current position and the next waypoint. simply adds an additional on the 25 look-ahead toward The REMUS model point the next or dead-
reckoning
point
track
waypoint
forward of the vehicle position as seen in Figure 3 below. The distance to this point is incorporated into the heading error as follows:
(44)
where rabbit is the look-ahead point and cte is the cross track error between the actual vehicle position and the desired track.
While LOS guidance controls REMUS along the track from waypoint to waypoint, a different method is used to
determine when to turn as the waypoints are approached. The following command is used to ensure that REMUS will begin tracking the next waypoint when approaching the
present waypoint:
26
sqrt ( X _ Way _ Error (t ) 2 + Y _ Way _ Error (t ) 2 ) <= W _ R s(t) < 0.0 ss (t ) < rabbit (45)
where W_R is the watch radius around the waypoint, s is the distance remaining on track, and ss is the radial distance to go to the next waypoint. Thus, REMUS will begin to
track off the next waypoint if it has entered the watch radius around its present waypoint, if is has passed its present waypoint, or if the rabbit distance is greater than the radial distance to go to the waypoint.
27
28
mine-like
whose location is frequently known. widely used to map the very shallow
littoral region where an accurate map may not exist to provide hydrographic maps with for use by fleet units. The
search path used for this vehicle is commonly referred to as the lawnmower technique and is used to cover a square grid area. Depending on search area and target detection
analysis performed prior to a mission, this path may vary. This thesis models a REUMUS path that uses rows
approximately 200 meters in length with 15-40 meters of separation as seen in Figure 4 below.
Typical REMUS Search Path 50
40
30
20
10
-10
-20
-30
-40
-50
50
100
150
200
250
B.
sonar with a 120 horizontal scan and a 110-meter radial range as seen in Figure 5. based on a viable 400KHz This is an estimated range sonar for frequency. underwater As Lane
contends,
obstacle
avoidance
vehicles
necessitates high resolution, reliable, multi-beam sonars of this type (Lane, 2001). The probability of detection is
based on a cookie-cutter approach in which the probability of detection is unity within the scan area and zero
anywhere else.
110 m
REMUS
120
The advantage of using a forward-looking sonar over side-scan sonars in object avoidance is twofold. One, it
allows for scanning ahead of the vehicle which facilitates reaction to detected obstacles, and two, it allows for
possible overlap of acoustic imagery ahead of the vehicle providing more accurate detection information. currently configured with two side-scan sonars. REMUS is Based on
the swath width of the sonar, REMUS must make narrow passes 30
over a given area at 15-40 meter increments for adequate coverage of the sea floor. more difficult to mount, A forward look sonar, while would prove more capable in
preventing collision and would allow for mapping a more efficient path in cluttered environments.
C.
is based on the product of bearing and range weighting functions that form the gain factor for a dynamic obstacle avoidance behavior. The basis for the weighting functions The weighting functions from the fuzzy logic
toolbox with the parameters selected to maximize obstacle avoidance behavior. The membership function for bearing is
w1=1 0
(2
(46)
where the parameters x, c, and are position (or angular position in degrees for the purpose of this model), center, and shape respectively. Gaussian curve. Shape defines the steepness of the
to provided sufficient tuning in this membership function were -90:90, 0, 20 respectively. The bearing weighting
31
0.9
0.8
0.7
0.6 Weight
0.5
0.4
0.3
0.2
0.1
0 -100
-80
-60
-40
-20
0 20 Bearing (degrees)
40
60
80
100
It is evident that the weight given to an object dead ahead of the vehicle is closer to unity than one that is over 30 to port or starboard. The membership function for range is an asymmetrical polynomial spline-based curve called zmf for its z shape and is of the form
(47)
where a and b are parameters that locate the extremes of the sloped portions of the curve. called breakpoints In and define to These parameters are the curve changes avoidance
where
concavity.
order
maximize
obstacle
behavior, these values were tuned to be (sonrange-99) and (sonrange-90). With this selection, the range weight is
approximately unity for anything closer than 20 meters and zero for anything farther than 40 meters from REMUS. range weighting function can be seen in Figure 7 below. 32 The
Range Weighting F i
0.9
0.8
0.7
0.6 Weight
0.5
0.4
0.3
0.2
0.1
20
40
60 Range (m)
80
100
120
A final weight based on both bearing and range is calculated from the product of w1 and w2. This weight
becomes the gain coefficient that is applied to a maximum avoidance heading for each individual object. The maximum heading is / 4 as seen below:
oa (t , c) = w1w2( / 4)
where t is the time step and c is the obstacle
(48) being
evaluated.
oalook (t ) = oa (t , c)
1
Following
an
evaluation
of
each
obstacle
step, a final obstacle avoidance heading term is determined from the sum of the obstacle avoidance heading of each individual object within a specified bearing and range from the vehicle or 33
oatot (t ) =
where cc is the counter
oalook (t )
cc
used to determine how
(50) many
average for all of the obstacles within the range above. This bearing and range of the window is determined through a rough evaluation of the weighting functions. In order to
fall into the window, the gain factor must be equal to or exceed a value of w1w2=0.15. The obstacle into avoidance vehicle term
oatot(t)
error
is
then in
incorporated
heading
(discussed
(51)
This heading error drives the rudder commands to maneuver around detected objects in the track path. The overall
34
V.
A.
VEHICLE SIMULATION
BASIC SINGLE POINT OBSTACLE AVOIDANCE The initial test performed on the two-dimensional
sonar model was navigation around a single point obstacle. This is the simplest obstacle avoidance test for the 2-D model. Three variations of this test were run for the The first was for a
performed to test the accuracy of the steering and obstacle avoidance model for each of the four quadrants. This was
achieved by running the REMUS through a figure-eight path that had a single point obstacle at the midpoint of each leg. Results for single point obstacle runs can be seen in the figures below. The first two tests were repeated for a
cluster of points designed to mimic an obstacle with length and width both on the path and just off the path and will be addressed in the next section.
Obstacle 40
30
20
10
50
100 X (m)
150
200
250
100
80
60
50
g e D 0
g e D
40
20
0
-50
-20
-100
50
100
150
200 Time
250
300
350
400
450
40
50
60 Time
70
80
90
40
Obstacle Run
30
20
10
50
100 X (m)
150
200
250
36
100
50
Deg
-50
-100 0 50 100 150 200 250 Time (sec) 300 350 400 450
Figure 12. Rudder/Heading/oa (Off Path) Figures 10, 12, and 14 show the rudder dynamics, vehicle heading, and obstacle avoidance heading term for the
direct correlation with the obstacle avoidance heading and overall vehicle heading. heading are the The large angle motions of the turns made to track the
ninety-degree
These rudder curves show that the maximum rudder is with For turn all or dynamic obstacle behaviors, avoidance
associated
maneuver, the rudder initiates the turn with this maximum value. vary. In order to regain track, the rudder action may The major heading changes to track the path require
a full rudder for a longer period of time than do the obstacle avoidance heading changes. constant horizontal value 37 on the This is evident in the rudder curve. The
difference in Figure 9 and Figure 11 is in the direction of turn to maneuver around the obstacle. When the obstacle is When it is
off the path, the vehicle maneuvers to the opposite side of the obstacle.
Obstacle Run 50
40
30
20
10 Y (m)
-10
-20
-30
-40
-50 -30
-20
-10
10 X (m)
20
30
40
50
100
80
50
60
0 Deg
Deg 40
-50
20
-100
0
-150
-20
-200
20
40
60
80 Time (sec)
100
120
140
160
35
40
45
50 Time (sec)
55
60
65
Figures 13 and 14 show the results for the vehicle run through the figure-eight path. not maintain the track as Although the vehicle does as it does the
accurately
previous runs, it completes the run with proper dynamics for each quadrant. The obstacle avoidance heading is not
equal for each of the obstacle avoidance behaviors due to the fact that the vehicle is not weighing the same number of obstacles along each leg of the figure-eight. It only
weights the obstacles that fall within the scan with the proper proximity as described in Chapter IV. B. MULTIPLE POINT OBSTACLE AVOIDANCE A single point obstacle avoidance model is far simpler than a multiple point obstacle avoidance model not only in the maneuvering of the vehicle, but also in maintaining the obstacle picture. For multiple point obstacle
avoidance, it is necessary to have a model that reacts to obstacles in a certain proximity to its path rather than all possible obstacles seen by the sonar scan. functions obstacle allow picture. for an The accurate REMUS model compilation builds an Weighting of this
obstacle
counter for obstacles having a weighting function product greater than 0.15 as discussed in the previous chapter. This value allows for a maximum rudder and bearing weight of approximately 0.386, the square root of 0.15. Referring
to the membership functions in Figure 6 and Figure 7, a value of 0.386 correlates to a bearing and range of approximately +/-30 and 30 meters respectively. As seen in the following figures, REMUS successfully avoids multiple points and multiple point clusters in the same fashion it avoided a single 39 points. The rudder
dynamics are minimal during all avoidance maneuvers for an efficient model. point or multiple All of the obstacle runs, for single point obstacle avoidance, show REMUS
responding to obstacles in advance of the actual obstacle position. refined While this model has not been optimized with the early response time would allow
techniques,
sufficient processing time in an actual sonar return for real-world environments. The dynamics of REMUS are very
reactive such that REMUS regains the track path directly after the passing an obstacle. ideal due to the proximity Though this behavior is not at which REMUS passes the
50
40
30 20
10 Y (m) 0
-10 -20
-30 -40
-50 0
50
100 X (m)
150
200
250
40
100
50
Deg
-50
-100
50
100
150
200
300
350
400
450
50
100 X (m)
150
200
250
41
100
80
60 50 Deg Deg 0 20 -50 -100 0 50 100 150 200 250 Time (sec) 300 350 400 450
40
Figure 18. Multiple Point Obstacle Run: Rudder/Heading/oa The vehicle heading in Figure 18 (bottom right) can be offset by 90 in or to compare the vehicle dynamics with the obstacle avoidance heading. As seen in Figure 19 below, an 90
obstacle appearing in the vehicle path causes the vehicle heading to deviate the from its track as path heading of
same
amount
the
obstacle
avoidance
These two headings do not exactly match because heading incorporates additional factors as in
equation (51).
Rudder-r (deg), Heading-b(deg), Psioatot-g(deg) 15
10
Deg
-5
-10
-15
-20
The above figures present the obstacle avoidance for the weighting functions described in the previous chapter. A comparison can be made for different values of the
weighting functions to show the utility of the selected functions. breakpoints A range at weighting function and that uses
defined
(sonrange-95)
(sonrange-70) Figure
0.9
0.8
0.7
0.6 Weight
0.5
0.4
0.3
0.2
0.1
20
40
60 Range (m)
80
100
120
Figure 20. Alternate Range Weighting Function The vehicle response is too early with the alternate breakpoints, although the off track distance increases by approximately a half meter. For mine countermeasures
operations, a higher off track distance increases vehicle safety. side Thus, However, the sonar configuration of REMUS supports imaging as off well track as possible is forward more looking. for
scan
minimizing
distance
ideal
43
Obstacle Run 50
40
30
20
10
Y (m)
-10
-20
-30
-40
-50
50
100 X (m)
150
200
250
Obstacle Run 46
Obstacle Run
16 44 14 42 12
Y (m)
40
Y (m)
10
38
44
most critical factors in obstacle avoidance behavior is the ability to discern how a vehicle will react to its
environment.
that gather sufficient environmental data for safe vehicle navigation. The sensor modeled in this thesis will be used
by the Center for Autonomous Underwater Vehicle Research in future operations and requires an accurate model prior to implementation. The model shows that with appropriate
onboard processors, the REMUS vehicle could, if necessary, execute a local reflexive maneuver. to use range and bearing data REMUS has the ability a sonar return to
from
determine if that return constitutes a threat along its proposed path and further navigate around the threat before regaining its original path. Through weighting functions,
nonlinear path deviations can be achieved to avoid these threats, while still scanning the underwater environment for possible mines and other environmental data. There remains a need for a fast and effective means of interpreting the sonar data. Visual analyses of sonar
This ability
has to be effectively implemented in an underwater vehicle for obstacle avoidance to be successful. One method would
45
Often, a sonar scan does not pick up the same obstacle each time it passes over a given area. However, multiple
scans with positive detection over a decreasing range will allow for the processing system to correlate a positive detect on a specific bearing and range to an obstacle. Thus, the model developed in this thesis accurately
represents a sonar in that on each time step, the vehicle sees every object within the bearing and range of the scan. A last point to be made for this model is a concern for the overuse of actuators for dynamic movements. multiple point obstacle field with several In a
dynamic
movements, the vehicle has a significant number of rudder bangs or direction changes in a very short period of time. This dynamic rudder action will dissipate power and Thus, a more to non-
will quickly wear out the servomechanisms. robust design, or one that eliminates
response
B.
RECOMMENDATIONS There are many areas in which this thesis work can be
improved upon to build a more complete and robust obstacle avoidance model for the REMUS vehicle. The most obvious
but most complicated of these is the development of a three dimensional model. This would require adding a depth to
the sonar scan such that the scan would cover somewhere from ten degrees above the horizontal to thirty degrees below the horizontal. In order to implement such a model,
the vehicle EOM would have to be modified to include diving and climbing maneuvers for obstacle avoidance. 46 To produce
a more exact model, it would be necessary to conduct an open water test with the REMUS vehicle to determine
hydrodynamic coefficients for diving as well as steering. Additionally, the incorporation of a CTE controller to the steering model once experimental data is obtained would
the model at present due to the lack of experimental values for coefficients in the CTE equations. A second addition to the proposed model that would increase its utility would be through speed control. A
model with acceleration and deceleration capability would allow for more dynamic obstacle avoidance. For example, if
REMUS turned to an area of increased obstacles due to an obstacle avoidance command from some other object in its path, a speed reduction could follow to permit data
processing prior to driving a new path. A speed controller would be useful for a model that incorporates moving obstacles as well as stationary. proposed model uses only stationary obstacles in The the
vehicle path.
the avoidance control, the vehicle could compare its own speed with the relative speed at which it closes the
obstacle and thus determine if the detected obstacle is moving. Use of range rate data would allow REMUS to better
determine the safest path around obstacles. The Fuzzy Logic methodology used to develop weighting functions for obstacle avoidance behavior may not be the most accurate method available. However, simple additions
to this model could make it more accurate, such as using range rate as a weighting 47 factor. Additionally, an
optimization could be performed on the implementation of the weighting function gain factor so that REMUS clears each obstacle by a specified distance, does not begin
avoidance behavior too early, and does not return to track at such sharp angles. Finally, information errors must be in vehicle into position account and for sensory dynamic
taken
behaviors to be accurate.
track through transponder cross-fix data that has about a 2-3 meter positional error associated with it. steering longer model runs under the assumption GPS that While the REMUS no may
uses
these
transponders,
position
errors
still be a factor.
using autopilots in the steering model, there will be only slight errors in sensory information as the position of the obstacles are in a local frame of reference with respect to the vehicle. model uses Additionally, the REMUS obstacle avoidance these relative positions to plan and reflexive
maneuvers.
Through
Concurrent
Mapping
Localization
(CML) techniques, REMUS could store obstacles it has passed in a database for use in planning a return path to its original position or for a possible rendezvous for data transfer. techniques. Ruiz (2001) gives a thorough overview of CML
48
APPENDIX A
% This mfile uses corrected hydrodynamic coeff from MIT to develop % a steering model. It models REMUS running through a field of % multiple obstacles, both single points and those with lenght % and width. clear clf clc % REMUS Characteristic Specifications: L = W = g = m = V = rho D = 1.33; 2.99e02; 9.81; W/g; 1.543; = 1.03e03; .191; % Length in m % Weigth in N % Acceleration of gravity in m/s^2 % Mass in kg % Max Speed in m/s % Density of Salt H20 in kg/m^3 % Max diameter in m
%State Model PArameters U = 1.543; % m/s Boy = 2.99e02; xg = 0; yg = 0; zg = 1.96e-02; % in m Iy = 3.45; %kg/m^3 (from MIT thesis) Iz=Iy; % MIT REMUS Coeff (Dimensionalized) disp('MIT REMUS Coefficients'); Nvdot = 1.93; Nrdot = -4.88; Yvdot = -3.55e01; Yrdot = 1.93; %Nv = -4.47; should be same as Mw which is stated as +30.7 % should be -9.3 but going by Hoerner eqn, we get about 4.47 Nv = -4.47; Nr = -6.87; %Same as Mq; Yv = -6.66e01; %Same as Zw; Note should be -6.66e1 from MIT thesis not 2.86e01 Yr = 2.2 ; %Same as Zq = 2.2; MIT has miscalculation Nd = -3.46e01/3.5; % Nd and Yd scaled by 3.5 to align w/exp data Yd = 5.06e01/3.5; % The Steering Equations for the REMUS are the following. % These equations assume the primarily horizontal motions ... MM=[(m-Yvdot) -Yrdot 0;-Nvdot (Iz-Nrdot) 0;0 0 1]; AA=[Yv (Yr-m*V) 0;Nv Nr 0; 0 1 0]; BB=[Yd;Nd;0];
49
A=inv(MM)*AA; B=inv(MM)*BB; C=[0,0,1]; D=0; A2=[A(1:2,1),A(1:2,2)];B2=[B(1);B(2)]; xss=inv(A2)*B2; poles = eig(A2); RadGy = sqrt(Iz/(W/g)); % in meters RadCurv = U/(xss(1)); % in meteres SideSlip = atan2(xss(1),U)*180/pi; % in deg/s [num,den]=ss2tf(A,B,C,D); z=roots(num); p=roots(den); % Desired closed loop poles for sliding: k=place(A,B,[-1.4,-1.45,0.0]); % Closed loop dynamics matrix Ac=A-B*k; [m,n]=eig(Ac'); S=m(:,3); % *************************************** TRUE = 1; FALSE = 0; DegRad = pi/180; RadDeg = 180/pi; % Define Obstacles:(put them in near track for trial runs) Xo(1) = 10; % First obstacle x-dist ref global origin in m owidth(1) = 1; % First obstacel width in m Yo(1) = 90; % First obstacle y-dist ref global orinin in m olgth(1) = 1; % First object length in m Xo(2) = 40; % Second obstacle x-dist ref global origin in m owidth(2) = 5; % Second obstacle width in m Yo(2) = 100; % Second obstacle y-dist ref global origin in m olgth(2) = 3; % Second obstacle length in m Xo(3) = 6; % Third obstacle x-dist ref global origin in m owidth(3) = 3; % Third obstacle width in m Yo(3) = 110; % Third obstacle y-dist ref global origin in m olgth(3) = 3; % Third obstacle length in m numobs = 3; numpts = 0; for p=1:numobs numpts=numpts + owidth(p)*olgth(p); end AreaObs = []; psioa=zeros(8000,numobs);
50
sonrange = 110; % radial range in m based on 400 KHz frequency theta = 2*pi/3; % angular arc in rad % Builds obstacles in Xo and Yo matrices: Xobs=[]; Yobs=[]; for p = 1:numobs % model each point as an obstacle so the sonar can see them individually for pp=1:olgth(p) if owidth(p)>1 for q = 1:(owidth(p)) Xobs=[Xobs,(Xo(p)+(q-1))]; Yobs=[Yobs, (Yo(p)+(pp-1))]; end elseif owidth(p)==1 Xobs=[Xobs, Xo(p)]; Yobs=[Yobs, Yo(p)]; else Xobs = Xobs; Yobs = Yobs; end end end % Set time of run dt = 0.125/2; t = [0:dt:1800]'; size(t); % Set initial conditions start=10; v(1) = 0.0; r(1) = 0.0; rRM(1) = r(1); % This is the Initial Heading of the Vehicle psi(1) = 50.0*DegRad; % This is the Initial Position of the Vehicle X(1) = -50.0; % Meters Y(1) = 10; % This data from track.out file No_tracks=7; Track=[10.0 10.0 2.75 2.75 0 1.25 1.00 0 25.00 8.00 40.00 10.0 210.0 2.75 2.75 0 1.25 1.00 0 25.00 8.00 200.00 25.0 210.0 2.75 2.75 0 1.25 1.00 0 25.00 2.00 15.00 25.0 10.0 2.75 2.75 0 1.25 1.00 0 25.00 2.00 200.00 40.0 10.0 2.75 2.75 0 1.25 1.00 0 25.00 2.00 15.00 40.0 210.0 2.75 2.75 0 1.25 1.00 0 25.00 2.00 200.00 41.0 210.0 2.75 2.75 0 1.25 1.00 0 25.00 2.00 1.0]; track=Track(:,1:2); SurfaceTime = Track(:,9);
51
SurfPhase
= Track(:,8);
% Read in wayopoints from track data assumes track is loaded for j=1:No_tracks, X_Way_c(j) = track(j,1); Y_Way_c(j) = track(j,2); end; PrevX_Way_c(1) = X(1); PrevY_Way_c(1) = Y(1); r_com = 0.0; % Set Rudder angle saturation: sat = 9; % Degrees % Set Watch Radius: W_R = 2.0; % Set dead-reckoning/look-ahead distance: rabbit = 9;
x(:,1) = [v(1);r(1);psi(1)]; Eta_FlightHeading = 0.5; model Phi_FlightHeading = 0.1; model % Lowered this from 1.0 on AERIES % Lowered this from 0.5 on AERIES
% Below for tanh Eta_CTE = 0.05; % (NA given that no CTE controller is used) Eta_CTE_Min = 1.0; Phi_CTE = 0.2; % (NA given that no CTE controller is used) Uc = []; Vc = []; SegLen(1) = sqrt((X_Way_c(1)-PrevX_Way_c(1))^2+(Y_Way_c(1)PrevY_Way_c(1))^2); psi_track(1) = atan2(Y_Way_c(1)-PrevY_Way_c(1),X_Way_c(1)PrevX_Way_c(1)); for j=2:No_tracks, SegLen(j) = sqrt((X_Way_c(j)-X_Way_c(j-1))^2+(Y_Way_c(j)Y_Way_c(j-1))^2); psi_track(j) = atan2(Y_Way_c(j)-Y_Way_c(j-1),X_Way_c(j)X_Way_c(j-1)); end; j=1; Sigma = []; Depth_com = [];
52
dr=[]; drl = []; drl(1) = 0.0; Depth_com(1) = 5.0; WayPointVertDist_com = [5.0 5.0 5.0 5.0 5.0 5.0 5.0]; for i=1:length(t)-1 Depth_com(i) = WayPointVertDist_com(j); X_Way_Error(i) = X_Way_c(j) - X(i); Y_Way_Error(i) = Y_Way_c(j) - Y(i); % DeWrap psi to within +/- 2.0*pi; psi_cont(i) = psi(i); while(abs(psi_cont(i)) > 2.0*pi) psi_cont(i) = psi_cont(i) - sign(psi_cont(i))*2.0*pi; end; psi_errorCTE(i) = psi_cont(i) - psi_track(j); % DeWrap psi_error to within +/- pi; while(abs(psi_errorCTE(i)) > pi) psi_errorCTE(i) = psi_errorCTE(i) sign(psi_errorCTE(i))*2.0*pi; end;
% **
Always Calculate this % Beta = v(i)/U; Beta = 0.0; cpsi_e = cos(psi_errorCTE(i)+Beta); spsi_e = sin(psi_errorCTE(i)+Beta);
s(i) = [X_Way_Error(i),Y_Way_Error(i)]*... [(X_Way_c(j)-PrevX_Way_c(j)),(Y_Way_c(j)PrevY_Way_c(j))]'; % s is distance to go projected to track line(goes from 0100%L) s(i) = s(i)/SegLen(j); Ratio=(1.0-s(i)/SegLen(j))*100.0; % ss is the radial distance to go to next WP ss(i) = sqrt(X_Way_Error(i)^2 + Y_Way_Error(i)^2); % dp is the angle between line of sight and current track line dp(i) = atan2( (Y_Way_c(j)-PrevY_Way_c(j)),(X_Way_c(j)PrevX_Way_c(j)) )-atan2(Y_Way_Error(i),X_Way_Error(i) ); if(dp(i) > pi), dp(i) = dp(i) - 2.0*pi;
53
end; cte(i) = s(i)*sin(dp(i)); if( abs(psi_errorCTE(i)) >= 00.0*pi/180.0) %| s(i) < 0.0 ), %used to read 40.0*pi not 00.0*pi for CTE controller % Use LOS Control LOS(i) = 1; psi_comLOS(i) = atan2(Y_Way_Error(i),X_Way_Error(i)); %psi_comLOS = pi/2; % Test for heading controller stability % Construct Bearing/Range to each obstacle(point): cc=0; psioalook(i)=0; increaseweight=FALSE; for c=1:numpts Bearing(i,c) = atan2((Yobs(c)-Y(i)),(Xobs(c)-X(i)))psi(i); Range(i,c) = sqrt((Yobs(c)-Y(i))^2+(Xobs(c)-X(i))^2); if Range(i,c)<=sonrange & (theta/2<=Bearing(i,c)<=theta/2) % Use Fuzzy logic if c>1 sepang=abs(Bearing(i,c)-Bearing(i,(c-1))); if ((Range(i,c))^2 + (Range(i,(c-1)))^2 2*Range(i,c)*Range(i,(c-1))*... cos(sepang))<2*D increaseweight=TRUE; end end % Develop weighting factor based on Range (w1) w = 0:1:sonrange; w1(i)=zmf(Range(i,c), [(sonrange-99) (sonrange90)]); % [] above are breakpoints in the curve % Develop weighting factor based on Bearing (w2) Posit = (-90:1:90)'; % in degrees Center = 0; Shape = 20; w2(i)=gaussmf(Bearing(i,c)*RadDeg, [Shape, Center]); % A MATLAB membership function: EXP(-(Posit Center).^2/(2*Shape^2)) if increaseweight w1(i)=2*w1(i); w2(i)=2*w2(i); end % Only want to weight the obstacle c once in each time step if (w1(i)*w2(i))>0.15 cc=cc+1; % counter for obstacles in being
54
avoided at time t % Object Bears to Left if Bearing(i,c)>0 psioa(i,c)=-w1(i)*w2(i)*(pi/4); % Object Bears to Right elseif Bearing(i,c)<=0 psioa(i,c)=+w1(i)*w2(i)*(pi/4); end psioalook(i)=(psioalook(i)+psioa(i,c)); end end end if cc>0 psioatot(i)=psioalook(i)/cc; else psioatot(i)=psioalook(i); end psi_errorLOS(i) = psi_track(j) - psi_cont(i)atan2(cte(i),rabbit) + psioatot(i); if(abs(psi_errorLOS(i)) > pi), psi_errorLOS(i) = ... psi_errorLOS(i) 2.0*pi*psi_errorLOS(i)/abs(psi_errorLOS(i)); end; Sigma_FlightHeading(i) = (-S(1,1)*v(i))*0.0+S(2,1)*(r_com r(i)) + S(3,1)*psi_errorLOS(i); % Have taken out v influence in Sigma_FlightHeading above dr(i) = (-k(1,1)*v(i))*0.0-k(1,2)*r(i)Eta_FlightHeading*tanh(Sigma_FlightHeading(i)/Phi_FlightHea ding); %dr(i) = -k(1)*v(i)-k(2)*r(i)+k(3)*(psi_errorLOS(i)); %if ((i>1200)&(i<1400)); dr(i)=-4*DegRad; end; % turn test else % Use CTE Controller LOS(i) = 0; if(cpsi_e ~= 0.0), % Trap Div. by Zero ! % SMC Soln Sigma(i) = U*rRM(i)*cpsi_e + Lam1*U*spsi_e + Lam2*cte(i); dr(i) = (1.0/(U*a*cpsi_e))*(-U*b*rRM(i)*cpsi_e + U*rRM(i)^2*spsi_e-Lam1*U*rRM(i)*cpsi_e Lam2*U*spsi_e 2.0*Eta_CTE*(Sigma(i)/Phi_CTE)); else dr(i) = dr(i-1); end;
55
end; % End of CTE Controller if(abs(dr(i)) > sat*pi/180) % change from 0.4 radians on ARIES dr(i) = sat*pi/180*sign(dr(i)); end; % State Variable Formulation: x_dot(:,i+1) = [ A(1,1)*v(i) + A(1,2)*r(i) + B(1)*dr(i); A(2,1)*v(i) + A(2,2)*r(i) + B(2)*dr(i); r(i)]; x(:,i+1) = x(:,i)+dt*x_dot(:,i); v(i+1) = x(1,i+1); r(i+1) = x(2,i+1); psi(i+1) = x(3,i+1); rRM(i+1) = r(i+1); % Wave Motions: Uc = 0.0; Vc = 0.0; %Kinematics X(i+1) = X(i) + (Uc + (U)*cos(psi(i)) - v(i)*sin(psi(i)))*dt; Y(i+1) = Y(i) + (Vc + (U)*sin(psi(i)) + v(i)*cos(psi(i)) )*dt; % % Check to See if we are Within the Watch_Radius or if we passed the WP Change to next WP if radial distance to go is less than rabit distance or if we passed the WP or if we are within the WR if(sqrt(X_Way_Error(i)^2.0 + Y_Way_Error(i)^2.0) <= W_R | s(i) < 0.0 | ss(i)<rabbit), disp(sprintf('WayPoint %d Reached',j)); if(j==No_tracks), break; end; PrevX_Way_c(j+1) = X_Way_c(j); PrevY_Way_c(j+1) = Y_Way_c(j); j=j+1; end; end; dr(i+1) = dr(i); cte(i+1) = cte(i); s(i+1) = s(i); ss(i+1) = ss(i); % Plot this obstacle run: figure(1); grid; plot(t([1:i+1]),dr*180/pi,'r'); hold; plot(t([1:i+1]),psi*180/pi,'b');
56
plot(t([1:i]),psioatot*180/pi,'g'); ylabel('Deg'); xlabel('Time'); title('Rudder-r (deg), Heading-b(deg), Psioatot-g(deg)'); figure(2) axis equal; plot(Y,X); title('Obstacle Run'); xlabel('X (m)'), ylabel('Y (m)') grid; hold plot([Y_Way_c(1) PrevY_Way_c(1)],[X_Way_c(1) PrevX_Way_c(1)],'r'); for ii=2:No_tracks, plot([Y_Way_c(ii) Y_Way_c(ii-1)],[X_Way_c(ii) X_Way_c(ii1)],'r'); end; % Plot Obstacles plot(Yobs, Xobs,'gh'); hold; figure(3); grid; plot(t([1:i+1]),dr*180/pi,'r'); hold; plot(t([1:i+1]),(psi-pi/2)*180/pi,'b'); plot(t([1:i]),psioatot*180/pi,'g'); ylabel('Deg'); xlabel('Time'); title('Rudder-r (deg), Heading-b(deg), Psioatot-g(deg)');
57
58
LIST OF REFERENCES
Blidberg, Richard D., The Development of Autonomous Underwater Vehicles (AUVs); A Brief Summary, Autonomous Undersea Systems Institute, ICRA, Seoul, Korea, May 2001. Borenstein, J. and Koren, Y., The Vector Field HistogramFast Obstacle Avoidance for Mobile Robots, IEEE Journal of Robotics and Automation Vol 7, No 3, Jun 1991, pp. 278-288. Concept of Operations, Organic Offboard Mine Reconnaissance, Director, Naval Expeditionary Warfare Division (N85) and Submarine Warfare Division (N87). Gray, Keith W., Obstacle Detection and Avoidance for an Autonomous Farm Tractor, M.S. Utah State University, Logan, UT, 2000. Gill, Mark A. C., Obstacle Avoidance in Multi-Robot Systems, World Scientific Publishing Company Pte. Ltd., 1998. Healey, A.J., Dynamics of Marine Vehicles (ME-4823), Class Notes, Naval Postgraduate School, Monterey, CA, 1995. Healey, A. J., Command and Control Demonstrations with Cooperating Vehicles, ONR Research Proposal in response to ONR BAA 01-012 Demonstration of Undersea Autonomous Operation Capabilities and Related Technology Development, August 2001. Healey, A. J., Kim, J., Control And Random Searching With Multiple Robots, Proceedings IEEE CDC Conference 2000, Sydney Australia, Nov. 2000 paper No INV-2303. Healey, A. J., Marco, D. B., Slow Speed Flight Control of Autonomous Underwater Vehicles: Experimental Results with NPS AUV II Proceedings of the 2nd International Offshore and Polar Engineering Conference, San Francisco, July 14-19 1992.
59
Healey, A.J. and David Lienard, Multivariable Sliding Mode Control for Autonomous Diving and Steering of Unmanned Underwater Vehicles, IEEE Journal of Oceanic Engineering, Vol. 18, pp 327-339, Jul 1993. Hoerner, Sighard. author, 1965. Fluid Dynamic Drag. Published by
Johnson, Jay, Parameter Identification of the ARIES AUV, M.S. Thesis Naval Postgraduate School, Monterey, CA, June 2001. Kamon, I. And Rivlin, E., Sensory-based motion planning with global proofs, IEEE Transaction on Robotics and Automation, Vol 13, no. 6, 1997. Krogh, B. H. and Thorpe, C. E., Integrated Path Planning and Dynamic Steering Control for Autonomous Vehicles, Proceedings of the 1986 IEEE International Conference on Robotics and Automation, Apr, 1986, pp. 1664-1669. Lane, David M., Petillot, Yvan, and Ruiz, Ioseba Tena, Underwater Vehicle Obstacle Avoidance and Path Planning Using a Multi-Beam Forward Looking Sonar, IEEE Journal of Oceanic Engineering, Vol. 26, Apr 2001. Latrobe, J. C., Robot Motion Planning, Kluwer Academic Publishers, Norwell, MA, 1991. Marco, D.B and A.J. Healey, Command, Control and Navigation Experimental Results With the NPS ARIES AUV, IEEE Journal of Oceanic Engineering Special Issue, 2001. Moitie, R. and Seube, N., Guidance Algorithms for UUVs Obstacle Avoidance Systems, OCEANS 2000, Brest, France. Prestero, Timothy, Verification of a Six-Degree of Freedom Simulation Model for the REMUS Autonomous Underwater Vehicle, M.S. Thesis Massachusetts Institute of Technology, Sep 2001. Ruiz, Ioseba Joaquin Tena, Enhanced Concurrent Mapping and Localization Using Forward-looking Sonar, PHD Thesis Heriot-Watt University, Sep 2001.
60
Stentz, Anthony, Optimal and Efficient Path Planning for Partially-Known Environments, Proceedings of the IEEE International Conference on Robotics and Automation (ICRA '94), Vol. 4, May, 1994, pp. 3310 - 3317. Stokey, Roger and Von Alt, Chris, REMUS Remote Environmental Measuring UnitS Operations and Maintenance Manual, Woods Hole Oceanographic Institution, Apr 2001. Thorpe, C. F., Path Relaxation: Path Planning for a Mobile Robot, Carnegie-Mellon University Robotics Institute, Mobile Robots Laboratory, Autonomous Mobile Robots, Annual Report, Sep 1986, pp. 12-19. Warren, C.W. A Technique for Autonomous Underwater Vehicle Route Planning, IEEE Journal Of Ocean Engineering, Vol. 15, no. 3, pp. 199-204, 1990.
61
62
2.
3.
4.
5.
6.
7.
8.
9.
10.
63