IFAC
Copyright <&'J IFAC Guidance and Control of Underwater Vehicles, Wales, Ut\., 2003
~
Publications www.elsevier.eom/locate/itac
AUV ROUTE PLANNING USING GENETIC ALGORITHMS Eva Alfaro-Cid, Meghan Loo, Alasdair Mitchell & Euan McGookin
Centre ofSystems and Control, University ofGlasgow, Glasgow, G12 8LT, UK
Abstract: The route planning of an AUV has been optimised using Genetic Algorithms. Two different approaches have been considered and compared: offline and online optimisation. The research has been carried out through MATLAB simulations. These simulations show the AUV performance in a realistic bathymetry with environmental disturbances (ocean currents). The inclusion of realistic bathymetric data and disturbances is especially relevant to assess the performance of offline and online route planning. Copyright © 2003 1FAC Keywords: path planning, genetic algorithm, online optimisation, environmental disturbances, ocean bathymetry
I. INTRODUCTION
the online GA usmg the offline optimisation as a benchmark.
Currently, the standard way of operating AUVs is by downloading predetermined waypoints into the AUV's onboard computer and then allowing the AUV to track them. This way of operating does not allow frequent updates of the desired route to follow. This can be a serious problem when there are obstacles moving across the planned route (for example other vessels) or there is not accurate bathymetric data of the area.
In the simulations of the AUV manoeuvres the influence of disturbances and a realistic bathymetry where the AUV tests various paths are considered. The bathymetric data provides the constraints for the optimisation problem. The utility of using GAs as route planners for marine vehicles has been used by other authors previously. Smierzchalski and Michalewicz (2000) and Smierzchalski (2001) presented a method for modelling of ship trajectories by evolutionary computation. This was expanded to AUV route planning in Smierzchalski et al. (200 I). Also, Alvarez and Caiti (200 I) presented a GA-based procedure for AUV route planning with ocean variability. The main advance introduced in this paper is the inclusion of realistic 3D bathymetry and the presence of online optimisation and environmental disturbances (ocean currents) simultaneously.
One of the approaches to solve this problem is by introducing a route planner in the onboard computer so that, given the final destination, the route planner is able to determine the best or safest course automatically. In this paper, a Genetic Algorithm (GA) [Holland, 1975; Goldberg, 1989] is designed to optimise the course plan after the final destination has been provided. Given the destination point, the GA optlmlses the course of the AUV feeding a 3-D Line Of Sight (LOS) autopilot with waypoints. This has been implemented in two different ways. The first way is a GA approach to the current standard way of route planning. The GA optimises the whole route amine and then downloads the waypoints into the AUV. The second manner presents an intelligent approach. The GA optimises the route on line, i.e., automated while the AUV approaches a waypoint the GA optimises the next one. The results obtained from both methods allow us to assess the performance of
The paper structure is as follows. In Section 2 the AUV model, control structure and disturbances applied are illustrated. Section 3 focuses on a description of the bathymetry used for the simulations and the tasks the AUV has to accomplish. Section 4 is an introduction to GA and its application to route planning. Section 5 shows the results obtained for route-planning when a GA
91
optimisation is implemented in both manners: omine and online. In the final section conclusions about the results obtained in Section 5 are drawn.
For the decoupled controllers the system is broken down into three subsystems that have limited crosscoupling, namely speed, heading and depth.
2. AUV SETUP The AUV model used in this paper is based on the NPS AUV-II, (Healey and Lienard, 1993; Fossen, 1994). A representation of this AUV is shown in Fig 2.1 with the main frames of reference.
Xo
p
Earth fixed axes
r w Z
v Y
O~X
z'!
"YE
Body fixed axes Fig. 2.1 Representation of AUV and frames of reference
Lead-Lag Controllers. Lead-Lag controllers are linear, frequency domain designed feedback compensators. The transfer function of a Lead-Lag controller is given below, (Dorf, 2001):
2.1 System Model The NPS AUV II is what can be described as a flight vehicle (Lea et ai, 1999). That is it has thrusters at the rear for propulsion and uses the flow of water over control surfaces to alter its orientation. In this paper the control surfaces that are used are the stemplanes for depth control and rudder for heading control.
K(s)
With P, <
=
D(v))
:Jl~J -lG~~) J l~} +
Z,
=k
(s + z, )(s + z, ) (s + PI )(s + p,)
(2)
< Z, < P, .
Designing the heading and depth Lead-Lag controllers was carried out by placing the zeros as a complex conjugate pair over the oscillatory poles of the system and then placing the two poles to give the desired response. The speed controller was designed differently as it had no oscillatory system poles. Therefore it was designed purely to give acceptable response.
The system model that is used here is a nonlinear, 6 degrees of freedom model to give as accurate a representation as possible. The equations of motion in state space form are represented as follows(Healey and Lienard, 1993; Fossen, I 994,McGookin, 200 I):
Ml ~J l- (C(~~:)
LOS Guidance. The LOS guidance takes as its input the waypoint coordinates and from these, and the current position and heading of the AUV, it generates a desired heading for the heading controller to operate from. The desired depth and surge velocity pass through the LOS guidance unchanged. A radius of acceptance is created around the waypoints so that the AUV does not have to pass exactly through the desired position. Instead, once the AUV is within one boats length of the waypoint, the LOS guidance moves on to the next waypoint. All three of the LOS guidance's outputs go through second order filters to remove any step changes.
2.3 Disturbances
(I)
To give the AUV a more realistic environment to operate in a representation of Ocean Current disturbances have been added to the system. Ocean currents are the turbulent flows within bodies of water (Fossen, 1994). The current is described by a velocity (vc) and two angles (angle of attack, a, and sideslip angle, 13) that are with respect to the Earth fixed axes. These are converted to velocities along the Earth fixed axes that are then converted to the body fixed axes. The disturbances in the body fixed axes are then added into the system model of the AUV by superposition.
Where: v=[u v w P q r]T, l1=[X YZ t/> 8 '/If, u=[Dr• Ds• Dh' Dhp. Dbs n]T, B is the input matrix, C is the matrix of Coriolis and Centripetal terms, D is the damping matrix, G is the vector of gravitational forces and moments, J is the Euler transformation matrix, and M is the mass and inertia matrix.
2.2 Controllers A two tier control structure is used for the AUV. An outer loop of Line-Of-Sight (LOS) guidance commands an inner loop made up of three decoupled Lead-Lag compensators. A block diagram of the system is given in Fig. 2.2.
In this paper the disturbances are initialised to have a=45°, 13=45° and vc=O.1 mls. These values are then altered by a random small amount every iteration to simulate time varying currents. To allow comparisons to be made, the same currents were used in every simulation.
Xwp, Ywp' Zwp, u wp XYZu Fig. 2.2. The AUV control structure
92
This proposed bathymetry has been divided using a grid IOOOx 1000x50m, with an accuracy of Ix IxO.5m [Great Britain Hydrographic Office, 1994].
3. BATHYMETRY AND MISSIONS The environment that is used as the test area for the AUV is based on a one square kilometre area with a depth down to 60m around the rock fonnation known as "The Gantocks" in the River Clyde in the West coast of Scotland. This area has been chosen as it is a popular location for diving, having some of the best shipwrecks in Scottish waters nearby. The bathymetry gives a large scope for mission profiles. In addition, the rocks in the centre giving an obstacle for the AUV to navigate around and a depth profile going from 0 to about 50m. A chart of the area is shown in Fig. 3.1, where orth points along the positive x direction.
4. GENETIC ALGORITHMS GAs are optimisation techniques that mimic the way species evolve in nature. GAs emulate this process by evolving a population of parameter solutions through a number of generations. It initiates this process by randomly generating an initial population of possible solutions (suitably encoded). The performance of each solution is evaluated and a new generation is produced according to the three operators of the GA: selection, crossover and mutation. Selection detennines which solutions are chosen for mating according to the principal of survival of the fittest (i.e. the better the performance of the solution, the more likely it is to be selected). Crossover allows an improvement in the species in tenns of the evolution of new solutions that are .litter than any seen before, and mutation reintroduces values that might have been lost through selection or crossover or creates totally new features. The cycle is perfonned until a predetemlined number of generations has been evaluated (Holland, 1992; Ellis, 1993).
Depth [m]
o 0 10 10 20
20
E
;::;30
30
40 50
40
0
0
50
From the bathymetry shown in Fig. 3.1, the nodes of the grid are the possible solutions of the optimisation problem. aturally, three coordinates are needed for each waypoint (x, y and z) and thus three parameters are required to represent a waypoint or coordinate.
Y[m]
Fig. 3.1. 3-Dimensional Chart of the test area (The Gantocks) Two missions are considered in this paper. The first mission (task I) is to find a route between point I with coordinates (I 00,400, I0) and point 2, with coordinates (650,850,20). The second mission (task 2) is to travel from point 3, with coordinates 4, with coordinates (500,50,15) to point (850,850,30). Time constraints are set to force the AUV to travel across the shallows to the Northwest of the rocks. A 2-dimensional plot of the test area is shown in Fig 3.2 with the start and end points marked on it.
Each parameter must be encoded in a suitable fonn (McGookin, 1997) before being optimised using the GAs. The parameters are encoded to allow a range of possible solutions from 0 to 999 for the x- and yaxis, and 0 to 50 for the z-axis (the depth). in this decoding state, they fonn a string of integers called genes and each parameter value is represented by a string of three genes. in this investigation, decimal decoding is used with gene values in the interval [0,9]. Because the bathymetry has an accuracy of I m in x- and y-axis, and 0.5m in the z-axis, threeintegers string will provide adequate accuracy to represent each parameter.
Depth [m]
1000
0
900 800
4.1. Offiine Optimisation
10
For the offline optimisation, the route is detennined prior to the activation of A V. In another words, finding the best path before any launching has occurred. In this case, the GA is used for route planning (Alvarez, 200 I).
700 600
20
~
I
•
500 "3 >< 400 300
30 40
in this scenario, three waypoints are optimised in between the origin and final destination. As a result, the GA optimises nine parameters. It follows that every solution obtained by the oftline GA is represented by a string of 27 integers.
200 100 00
50
"1
200
400
600
800
1000
Y[m]
Fig. 3.2. 2-Dimensional Chart of the test area (The Gantocks) showing mission waypoints
The oftline GA searches the entire bathymetry search space through a specific number of generations. in
93
this study, 50 generations, with population size of 100, were evaluated. As a consequence, it can be lengthy and tedious process. However a near optimal solution will be obtained.
r----------, I I
~
SIMULATION FOR ONE TIME
--- :~~p- ---~
,-----------,
ION£.
4.2. Online Optimisation
flNI"!. W,4,YT'OI\,T
SEARCH SI'ACI
~
--
!
/
i
i
/
./,.:
~'
.. ,
,.,
,
I
, I I
The distance between two waypoints limits the number of generation and population size. Due to the time constraint, a maximum of 10 generations, with population size of 15 each, are evaluated for the GA between two waypoints. As a result, a total of 40 generations (with population size of 15), which is lower than that of offline GA. Although the optimised waypoints might not be the best solutions, it is the safest path within the distance between one waypoint to the other. And could be the shortest as well, thus minimising the energy consumption.
..
4.3. Cost Function and Crash detection The key point in GA optimisation is the evaluation of the possible solutions by its unique cost function. It is represented as follows:
~=~::J \ '. ACCEPTANCE RADIUS
':..". ,\1,;"
_
REACH
ACCEPTANCE RADIUS?
Fig. 4.2. Online GA flow diagram
(WIIMISED WAYPOINT
.0./ -;«~
I :
----------_ ..
/
!
L !
/
I
I
,
/ ,I
I
----------_ .. r----------,
The online optimisation technique is different because the GA is only optimising one waypoint at a time. It optimises the next waypoint as the vessel is moving towards present waypoint. In order to reduce the execution time for the online optimisation of each waypoint, the search space is confined to a spherical area at a specified distance from the present waypoint (i.e. 300 m in this case). This results in a shorter execution time compare with the offline GA. The search space is determined with respect to the LOS guidance (thus its current waypoint and the final destination) and generating a new set of population within that search space.
!
GENERATION ONL\"
:
Online optimisation applies intelligent autonomy to the navigation system, i.e. autopilot. This is designed such that GA will optimise one waypoint at a time, thus optimising three parameters instead of nine (as in the offline). As a result it has a shorter optimisation time than that of offline application (Smierzchalski, 200 I).
X(m)
I
:
.
.
.. Y(01)
(3)
Fig. 4.1. Optimised waypoint, acceptance radius and search space area for online optimisation.
Here u is the surge speed, Ud is the desired surge speed, n is the propeller shaft speed, z is the depth, Zd is the desired depth, Os is the port and starboard stem plane, IfI is the yaw angle, IfId is the desired yaw angle and Or is the rudder angle. It should be noted that some terms of the cost function are weighted with a constant k;. This allows the relative changes in each parameter to have the same importance as changes in the other components. Finally, a penalty is applied (i.e. 100000) if the navigation system fails to acquire the specific number of waypoints (McGookin, 1997).
The optimisation technique is designed so that just before launching the AUV the first waypoint is optimised by the GA. Once the first waypoint is optimised the AUV is launched and heading towards that optimised waypoint as shown in Fig. 4.1. While moving towards the first waypoint, the GA optimises the 'second' waypoint within the search space. Once the AUV comes into the acceptance radius of the first waypoint (which is the length of the AUV), the GA optimisation for the second waypoint stops. And the best solution from that optimisation will be used as the next waypoints, i.e. second waypoint. This cycle continues till the last waypoint is acquired and the GA optimisation will cease. The optimisation mechanism is shown in the flow diagram in Fig. 4.2.
In addition, solutions that fall outside the search area are regarded as crash areas. These solutions are not evaluated. Instead they are assigned a large cost value (i.e. 50000000) and subsequently rejected for the next generation. This reduces the execution time of the optimisation.
94
In this study, the same cost function and crash detection have been applied for both offline and online optimisations.
900 ,/
800 700
5. OPTIMISATION RESULTS
600
:§: 500
The results represent in this section are simulated results only. Thus this has not been applied to any physical application.
"
/
/
--~/
/
/
/
/
Start
"
•
400 300 200
5.1. Offline Optimisation Results
00
The results obtained for task I in the offline approach with and without the external disturbances are presented in Fig. 5.1. The main difficulty of this task is in the final destination point. This point is quite deep (30 m) but also very close to shallower waters so navigating at a certain depth in these waters may lead to a collision. 900
- -
WlthOut currents - - Wlth currents
100
400
200
600
800
Y[m)
Fig. 5.2. Oftline optimised course for task 2 with and without external disturbances The dotted line illustrates the results for task 2 is once disturbances are added. This illustrates that the lead-Iag controllers are able to cope with the disturbances and the path chosen pennits the fulfilment of the mission.
WIthout currents WIth currents
800
5.2. Online Optimisation Results
700 600
•"
:[:;00 400 300
Online application applies intelligent autonomy to the navigation system. Since it is designed such that the GA optimises a future waypoint while navigating to the previous one, it has a much shorter optimisation time than the oftline application.
200 100 00
Start 200
400
600
In Fig 5.3 the results for the online optimisation of the waypoints for task I are shown.
800
Y[m]
Fig. 5.1. Offline optimised course for task I with and without external disturbances 900
From the route without currents, it can be seen that the AUV's path reaches the final destination while avoiding crashes in shallow waters. It does so by navigating around the rock keeping the distance to it nearly constant.
WlthOu! currents - - Wlth currents
800 700 600
tI
•
:[500
x
400 300
When applying the disturbances the AUV is still able to travel to the final destination shown in dotted line in Fig. 5.1.
200 100 00
Task 2 has an increased difficulty with respect to task I, since the only path that will allow reaching the final destination in the given time goes between two areas of shallow waters here navigation is more restricted. The optimised results for task 2 are shown in Fig. 5.2.
Stat 200
400
600
800
Y{m]
Fig. 5.3. Online optimised course for task I with and without external disturbances Comparing these results with those of the oftline case shown in Fig 5.1, it can be seen that the waypoints provided for the online optimisation create a straighter path from the initial to the destination point. The AUV is navigating for shallower waters but it does so without crashing and therefore minimising the time spent in the mission. This is cause by the navigation system of the AUV. As the search space for online optimisation is created in the direction of the final destination (due to LOS Guidance), the optimised waypoints provides a reasonable direct path.
It can be observed that the GA is able to choose a route that passes between the shallow areas, rather than taking the longer path, but possibly safer, route around the south of the rocks (i.e. towards bottom right of the graph). In addition, the optimised waypoints avoid crashing onto shore and provide a reasonable smooth travel. Therefore, travelling around the' forbidden' area.
95
With the occurrence of currents, the GA is capable to optimise the waypoints and bring the AUV to the final destination safely.
REFERENCES Alvarez, A. and A. Caiti (200 I), A genetic algorithm for autonomous underwater vehicle route planning in ocean environments with complex space-time variability, Proceedings of the IFAC
Fig. 5.4. presents the results of the on line optimisation for task 2. As before, the AUV has to travel in between the two shallow areas and avoids any collision.
Conference on Control Applications in Marine Systems (CAMS), Glasgow Dorf, R.c.; Bishop, H.R. (200 I). Modern Control Systems, 91h Edition, Prentice Hill, Upper Saddle
900
River, NJ, USA. Ellis, C. (1993), A bluffers guide to genetic algorithms, Engineering Design Newsletter.
800 700
Science and Engineering Research Council Newsletter. Fossen, T.!. (1994), Guidance and Control of Ocean Vehicles, John Wiley& Sons Ltd, Chichester, Goldberg, D, (1989), Genetic Algorithms in Searching Optimisation and Machine Learning,
600 :[500
x
400 300 200 100 200
400
600
Addison-Wesley, Reading, MA Great Britain Hydrographic Office (1994), Approaches to the River Clyde, Admiralty Chart 1994. Healey, AJ.; Lienard, D. (1993). Multivariable sliding mode control for autonomous diving and steering of unmanned underwater vehicles, IEEE Journal of Oceanic Engineering, 18(3), pp 327339. Holland, J. H. (1975), Adaptation in Natural and Artificial Systems, University of Michigan Press, Ann Arbor Holland, J. (1992), Genetic Algorithms, Science American. McGookin, E. W. (1997), Optimisation of sliding mode controllers for marine applications: a study of methods and implementation issues. Ph.D. Thesis, Department of Electronics and Electrical Engineering, University of Glasgow. McGookin" E.W. (2001), AUV sliding mode autopilot optimisation using Genetic Algorithms,
800
Ylm]
Fig. 5.4. Online optimised course for task 2 with and without external disturbances As in task 1 the path generated by the online optimisation is straighter than that shown in Fig. 5.1. for the offline case due to the time limitation and reduction in the search space. This minimises the time spent performing the mission. When external disturbances are applied, the result obtained from online optimisation is shown in Fig. 5.8. The AUV copes well with the disturbances and fulfils its mission. 6. CONCLUSIONS Genetic Algorithms have performed well as a path optimisation technique. They have provided near optimal paths for the fulfilment of two different missions in a real 3D bathymetry in the presence of ocean currents.
Proceedings of the IFAC Conference on Control Applications in Marine Systems (CAMS) Murray-Smith, DJ. (1995). Continuous System Simulation, I Si Ed, Chapman & Hall, London,
The optimised waypoints not only allow the AUV to optimize their position but aslso has helped minimizing the energy consumption (included in the cost function) during the route. This has the benefits in terms of fuel consumption and actuator wear and tear.
England. Smierzchalski, R. (2001), On-line trajectory planning in collision situations at sea by evolutionary computation experiments, Proceedings of the
IFAC Conference on Control Applications in Marine Systems (CAMS), Glasgow Smierzchalski, R. and Z. Michalewicz (2000), Modeling of ship trajectory in collision situations by an evolutionary algorithm, IEEE Transactions on Evolutionary Computation, 4(3), pp 227-241 Smierzchalski, R., Kwiesielewicz, M., Szymanski, M. and R. Sutton (200 I), Predictive control and dynamic planning of an autonomous underwater vehicle, Proceedings of the IFA C Conference on
This paper has also presented a successful online GA optimisation. The results of the online approach provided a straighter (i.e. faster) way to the final destination than those of the offline optimisation. Even though the path is a shorter journey, online optimisation is capable to guide the AUV to the final destination without crashing onto the shore. Thus accomplishing the AUV's mission. In addition, a faster execution time is achieved by online optimisation.
Control Applications in Marine Systems (CAMS), Glasgow
96