Aiaa 2009 6050 PDF

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 11

AIAA 2009-6050

AIAA Atmospheric Flight Mechanics Conference


10 - 13 August 2009, Chicago, Illinois

Simplified Model Development and Trajectory


Determination for a UAV using the Dubins Set
David J. Grymin and Agamemnon L. Crassidis
Rochester Institute of Technology, Rochester, NY, 14623, USA

In this paper, a simplified aircraft system model is developed correctly emulating the
nonlinear dynamics of complex aircraft models under closed-loop control. The simplified
model is based on Dubins models used in optimization algorithms for trajectory control
of multiple Unmanned Aeriel Vehicles (UAVs). Algorithms optimizing area coverage for
reconnaissance based on UAV capabilities, fuel remaining, and time constraints require simple aircraft models providing efficient solutions in near real-time. However, the simplified
models should accurately predict UAV dynamics for proper prediction. For this study, a
realistic UAV simulation is developed including nonlinear aerodynamics and kinematics. A
UAV autonomous navigation algorithm for waypoint-to-waypoint navigation is derived and
integrated in the complex UAV simulation. A simplified system model based Dubins model
is developed closely matching the full nonlinear UAV simulation. A Rhumb-line navigation
algorithm including a velocity-hold and altitude-hold control system is used for closed-loop
control. A navigation system utilizing trajectory planning with Dubins curves is also developed. Both control laws are implemented in a simplified Dubins model and tuned to
match the full nonlinear simulation under autonomous control including provisions for head
and tail wind conditions. Computer simulations are performed demonstrating waypointto-waypoint navigation with desired final heading trajectories for both the full nonlinear
UAV model and the simplified Dubins simulation. Simulation time history analysis is used
to verify the accuracy of the simplified model compared to the full nonlinear simulation
model.

Nomenclature
acmd
amax
lat
long
deg
max

azerr
d
latac
latwi
latwp
longac
lonwi
longwp
Lv
q
Graduate
Associate

aileron position command (radians)


aileron hard stop limit
current position to waypoint latitude difference (radians)
current position to waypoint longitude difference (radians)
aircraft bank angle (degrees)
commanded bank angle limit
heading angle, Dubins reference frame
turning radius of aircraft (feet)
azimuth error (degrees)
Rhumb-line distance to waypoint (radians)
current latitude of aircraft (radians)
latitude weighting factor
latitude of waypoint (radians)
current longitude of aircraft (radians)
longitude weighting factor
longitude of waypoint (radians)
Left turn segment, Dubins set
horizontal scale component
Student, Mechanical Engineering, 76 Lomb Memorial Drive, Rochester, NY 14623, Student Member
Professor, Mechanical Engineering, 76 Lomb Memorial Drive, Rochester, NY 14623,

1 of 11
American
Institute
Aeronautics
Copyright 2009 by the American Institute of Aeronautics and
Astronautics,
Inc. All of
rights
reserved. and Astronautics

ref course0360 desired bearing angle at waypoint (degrees)


Rv
Right turn segment, Dubins set
Sv
Straight path segment, Dubins set
tol
tolerance for determining if path is directly East-West
track0360
aircraft ground track angle (degrees)
u
turning rate command input (sliding mode controller)
v
velocity command input (sliding mode controller)
x
horizontal position, Dubins frame
y
vertical position, Dubins frame

I.

Introduction

avigation and control of unmanned air vehicles has been the subject of much research and development
N
work. In particular, trajectory determination methods and a subsequent control system to execute a
chosen flight path has been of interest. The work of L.E. Dubins formed the basis for much of the current
theory regarding trajectory planning. This work provided a method of calculating a series of curved and
straight segments for accurately traveling from an initial point and heading angle to a final waypoint and
heading. Dubins methods also provided for the calculation of the distance along the path chosen, so that
various trajectories could be compared and the shortest route chosen.1
The methods proposed by Dubins provide for a set of trajectories, however the calculation and comparison
of all the resulting paths is computationally intensive. Shkel and Lumelsky provided a method for reducing
the number of calculations based on similarly classified Dubins curves. Using the initial and final heading
angles, the desired trajectory is classified and chosen from a matrix of varying initial conditions. This method
significantly reduces computation time.2 Jeyaraman et al. used this technique successfully to simultaneously
control several UAVs.3
Much work also exists related to the use of a Dubins aircraft model in two-dimensional trajectory simulation. Such models have also been referred to as unicycle or Dubins car models based upon the application.4,5,6
For the purpose of this work, this model will be referred to as a Dubins aircraft. Lalish et al. used a similar
model to simulate an aircraft in an oscillatory flight path.7 The work of Summers et al. utilized a Dubins
aircraft model for development of control laws and information architectures. The UAVs in this work were
able to circle and track a moving target.8 Work has also been done with incorporating Dubins models to
track the trajectory of an aircraft with commercially available autopilot systems.9
This work seeks to expand upon previous work by proposing and comparing two different trajectory
determination algorithms. The first method uses the difference in heading angle based on Rhumb-line
calculations to determine the distance and bearing angle from the current position to a final waypoint. The
second method determines a trajectory in a similar fashion to the work of Jeyaraman et al.3 Controllers are
developed for both cases to give the necessary aileron input to follow the desired path. A trajectory plot
from a Dubins aircraft model and full nonlinear simulation are provided and compared. The path length
between the Rhumb-line navigation and Dubins curve systems are compared to analyze performance between
the two methods. The goal of both controllers is to provide for real-time autonomous control of a UAV from
a starting point to a desired waypoint and final bearing angle. A hybrid Dubins path/Rhumb-line controller
is also developed for implementation on a nonlinear model of RQ-2 Pioneer UAV. Simulations are run on
the nonlinear aircraft model using this controller and the trajectory compared to the Dubins path.

II.

Dubins Aircraft Model

A Dubins model aircraft of the nonlinear aircraft model is derived of the form in equation 1. The velocity
of aircraft, v, is held constant through a velocity-hold system. Since the simplified model is only a function of
x, y and , an altitude-hold controller is also necessary for the nonlinear simulation. This model is developed
in order to test a wide variety of cases for the trajectory determination algorithm. The Dubins aircraft takes
significantly less time for computation than running the full nonlinear simulation.

2 of 11
American Institute of Aeronautics and Astronautics



v cos
x

y = v sin
u

(1)

Nonlinear simulations were run with a variety of initial locations and heading angles. The data from these
simulations was used to derive the aileron gain coefficient. The Dubins aircraft model uses a constant gain
to quantify the change in based on an input to the aileron. A cost function, given in equation 2, was
developed and minimized by varying Dgain .
!
Z tf X
n
n
X
k=
[longi wlong ] +
[lati wlat ] dt
(2)
0

i=1

i=1

Figure 1 shows an overlay of the trajectories of the nonlinear and Dubins models. From this plot, it can be
seen that the Dubins model with a constant gain tracks well. Other trajectory cases were also run and used
in the determination of the aileron gain coefficient.

Figure 1. Non-linear simulation trajectory versus Dubins simplified model trajectory for a given control input.

The results of these simulations show that the Dubins aircraft model is an accurate representation of the
nonlinear aircraft model. As stated previously, using the simplified model greatly reduces computation time
when running future simulations. The Dubins aircraft model is used for development of both the Rhumb-line
navigation and Dubins curve controllers.

III.

Rhumb-Line Navigation

The Rhumb-line controller is a proportional feedback controller that commands an aileron deflection
based on the course error of the aircraft. The following equations show the derivation of course error, computed from the current position and bearing angle and the desired way-point position and bearing angle.

3 of 11
American Institute of Aeronautics and Astronautics

if |latwp latac | < tol


then
2
q 2 = [cos (latac )]
else
h
i2
latwp latac
q2 =

(3)

Equation 3 defines q 2 , the square of the horizontal scale component. Note that when the latitude of the waypoint is within a given tolerance from the latitude of the current position, the horizontal scale component is
defined differently. The quantity is defined in equation 4.


tan lat2 /2 + /4
(4)
= ln
tan lat1 /2 + /4
2

lat2 = [latwp latac ]

(5)
2

(6)

(7)

2
longwest
= [mod(longwp longac , 2)]
2
longeast
= [mod(longac longwp , 2)]

The components of the squares in differences of latitude and longitude are calculated in equations 5 through
7. Note that the difference in longitude is calculated in both the East and West directions.
if mod (longwp longac , 2) < mod(longac longwp , 2)
p
2
drad = lat2 + q 2 longwest
else
p
2
drad = lat2 + q 2 longeast
df t = drad

180
60 6076.1154856

(8)

(9)

Equation 8 calculates the distance from the current position to the final distance in units of radians. This
quantity is converted to feet in equation 9.
if mod (longwp longac , 2) < mod(longac longwp , 2)
then

h p
i

2
bearing0360 = mod atan2 longwest
, , 2 180

(10)

else

hp
i

2
longeast
bearing0360 = mod atan2
, , 2

180

The bearing angle, the angle between the aircrafts current course and North, is computed by equation 10.
Note that the output is in terms of degrees, not radians as previous quantities were. Also note that the
R which provides the four-quadrant inverse tangent.
calculation uses the atan2 function in MATLAB ,
azimuth error0360 = ref course0360 track0360

(11)

The azimuth error is defined as in equation 11, where ref course0360 is the desired final reference course,
or the desired bearing angle at the way-point, and track0360 is the aircraft ground track. Note that the
azimuth error is resolved between 180 degrees.
deviation180 = bearing0360 ref course0360

4 of 11
American Institute of Aeronautics and Astronautics

(12)

Deviation is defined in equation 12 and is the difference between the bearing angle from the current position
to the way-point and the reference course (desired bearing angle).
course error180 = sat60 [sin deviation180 df t 0.007 + azimuth error180 ]

(13)

Equation 13 defines the course error, computed from the deviation calculated in equation 12, the distance
from the way-point (in feet) and the azimuth error determined in 11. Note the saturation function with a
value of 60 degrees. This is the maximum bank angle allowed for navigation maneuvers.
acmd = satamax [1.25 (satmax (8 course error180 deg ))]

(14)

Finally, the aileron input is computed from the course error. A saturation is placed on this function, as the
aileron has a physical limit for its deflection which is given in equation 14 as amax .

IV.

Dubins Trajectory Determination

Dubins curve trajectory determination based algorithms for finding the shortest path from an initial point
to a final waypoint have been used in both two dimensional robotics and for aircraft flight path planning.
Shkel and Lumelsky provided an algorithm for choosing the optimal path based on initial location, final
location and heading angles at each point.2 In their work, the vehicle was constrained to three types of
motion: left turn, Lv , right turn, Rv , and straight with constant heading, Sv . There are three operators
that correspond to these motions, given below in equation 15.
Lv (x, y, ) = [x + sin( + v) sin , y cos( + v) + cos , + v]
Rv (x, y, ) = [x sin( v) + sin , y + cos( v) cos , v]
Sv (x, y, ) = [x + v cos , y + v sin , ]

(15)

Table 1. Lookup table for Dubins curve long path solution from Shkel and Lumelsky.2

=1

=1

=2

=3

=4

RSL

if S12 < 0 then RSR


if S1 2 > 0 then RSL

if S13 < 0 then RSR


if S13 > 0 then LSR

1 > 0 then LSR


if S14
2 > 0 then RSL
if S14
else RSR

RSR

if S24 < 0 then RSR


if S24 > 0 then RSL

=2

if S21 < 0 then LSL


if S21 > 0 then RSL

=3

if S31 < 0 then LSL


if S31 > 0 then LSR

=4

1 > 0 then RSL


if S41
2
if S41 > 0 then LSR
else LSL

1 < 0 then LSL


if S22
1
if S22 > 0 then RSL
2 < 0 then RSR
if S22
if S22 > 0 then RSL

1 < 0 then RSR


if S33
1 > 0 the LSR
if S33
2 < 0 then LSL
if S33
2 > 0 then LSR
if S33

LSL

if S42 < 0 then LSL


if S42 > 0 then RSL

if S43 < 0 then LSL


if S43 > 0 then LSR

if S34 < 0 then RSR


if S34 > 0 then LSR

LSR

Using these transformations, the length of each segment along the path can be determined. This allows
for various trajectories to be compared in order to determine the optimal flight path. The solution from this
algorithm is a trajectory made up of a curved segment, a straight line and then another curved segment.
This is known as the long path case and is suitable for distances greater than four times the turning radius of
the aircraft. Because the aircraft in question for this work will be at distances greater than this requirement,
only the long path case is implemented in the algorithm.
In order to decrease calculation time, Table 1 is used to classify the desired trajectory based on its initial
and final heading angles. The path can then be chosen by analyzing the possible trajectories based on given

5 of 11
American Institute of Aeronautics and Astronautics

input conditions. The turning radius of the aircraft must also be specified. The radius can be selected to
minimize either fuel consumption or time to waypoint. The output from the algorithm provides the path
lengths for the curve-straight line-curve segments. This result is then used to calculate a set of latitude,
longitude and bearing angles for each point based on the velocity and time step. The above method was
R in order to calculate the latitude, longitude and heading angle for the path
implemented in MATLAB
from the current location to the desired waypoint. The time to the waypoint can also be calculated as the
velocity during the simulation is near constant. The resulting path is used as the desired trajectory in a two
R
dimensional simulation of the aircraft in Simulink .

V.

Slide Mode Controller

The controller developed for Rhumb-line navigation cannot be utilized to implement the Dubins curve
trajectory as it provides a control input based on the course error. In order to control the aircraft along the
desired Dubins trajectory, a controller was designed based on the derivation of Sira-Ramirez and Villeda to
control a nonholonomic car through velocity and turning rate depending on the position of the vehicle.10
The derived transformation expresses the same model with the states being x
and y and the control inputs
being u and v, the turning rate and velocity, respectively.
= arctan xy
(16)
p
v = x2 + y 2
Consider the form of a nonholonomic car give in equation 1 subject to the constraints given in equation 16.
Also, let w be defined as in equation 17.
w=

y
x

1 dw
d
arctan w =
dt
1 + w2 dt

(17)
(18)

The derivative property in equation 18 will be used for inverse trigonometric functions. Taking the time
derivative of equation 17 results in equation 19.
dw
d
= y x 1 = yx 1 y x 2 x

dt
dt

(19)

Substituting equations 17 and 19 into equations 1 and 18 solving for u yields equation 20.
u=

yx y
x
x 2 + y 2

1/2
dv
1 2
=
x + y 2
(2x
x + 2y y)
dt
2

(20)
(21)

Equation 21 can be found by taking the derivative of the second portion of equation 16. This can then be
rewritten as in equation 22.
x
x + y y
v = p
x 2 + y 2
Equations 20 and 22 can be combined and rewritten in the matrix form given in equation 23.

!
!
y
x

2
2
2
2
u
x

x +y
x +y

= x
2y 2
v
y
x 2 +y 2
x +y

6 of 11
American Institute of Aeronautics and Astronautics

(22)

(23)

The matrix equation 23 can be represented in the shortened notation of equation 24 where U = ( u
and z = ( x y )T .
U = M
z

v )T

(24)

With the system in this form, the sliding surface is defined in equation 25.
Z
s = (z zd ) + 1 (z zd ) + 2
(z zd ) dr

(25)

Setting the derivative of the sliding surface to zero ensures that there is no movement once the state trajectories reach the sliding surface. The derivative of equation 25 is given in equation 26 where z = z zd .
s = z zd + 1 z + 2 z

(26)

Solving for z in equation 26 yields equation 27.


z = zd 1 z 2 z

(27)

U = M(
zd 1 z 2 z)

(28)

Equation 27 can then be substituted back into equation 24. The result of this substitution is shown in
equation 28, the final equation of the sliding mode controller. Note that the second element of U shown in
equation 28 is integrated, yielding the forward velocity control input variable, v. This control system was
R
implemented in Simulink in
the same simplified Dubins aircraft model used with the Rhumb line navigation
controller.

VI.

Rhumb-Line Controller Utilizing Dubins Curve Trajectory

In an effort to improve the Rhumb-line controller, particularly in decreasing simulation time and also
predicting time to way-point, a hybrid Dubins curve and Rhumb-line navigation controller was created.
The basic Rhumb-line controller is utilized with changes made to the commanded inputs. The Dubins
curve trajectory algorithm runs in the same method as for the sliding mode controller, however rather than
computing the latitude, longitude and bearing angles for each time step, the latitude and longitude at the
end of the t (first curve) and p (straight-line) segments are returned. Using these two points, the Rhumb-line
between (longt , latt ) and (longp , latp ) is computed. Equation 29 gives the calculation of the Rhumb-line
angle, given as .
= log

tan (latp /2+/4)


tan (latt /2+/4)

(29)
p = atan2

longp longt

180

The Rhumb-line controller was adjusted so that the desired way-point and Rhumb-line are able to be varied
during the simulation. The point (longp , latp ) is the first commanded way-point. The bearing angle p is
the commanded bearing angle. Once the aircraft is within a given tolerance of this location, the input to the
Rhumb-line controller input then becomes the location of the vortac point and its corresponding Rhumb-line.
The Rhumb-line controller utilizing the Dubins trajectory was implemented on both the Dubins simplified
vehicle model and the nonlinear aircraft simulation.

VII.
VII.A.

Results

Comparison of Dubins Path and Rhumb-Line Controller

Simulations were run utilizing Matlab and Simulink to compare the trajectories and total travel time for
both the Rhumb-line controller and sliding mode controller utilizing the Dubins curve path. The starting
7 of 11
American Institute of Aeronautics and Astronautics

points and initial bearing angles were chosen randomly to examine a variety of cases. In the case of the
Dubins curve method, many additional simulations were run but were not included for the sake of brevity.
Table 2 shows a comparison of the two control methods for eight different scenarios.
All simulations were run with a final waypoint of 117.86243 longitude and 34.9163 latitude, and with
a final bearing angle of 70 . This waypoint and orientation were chosen to properly align the aircraft to
follow a landing trajectory for autonomous landing. The turning radius was 800 f t and the airspeed was
115.2944 f t/s.
As can be seen in Table 2, the aircraft following the Dubins curve path was able to reach the final
waypoint in significantly less time than the Rhumb-line controller. The reason for this is that the Dubins
trajectory follows a more direct path to the waypoint since the output of the trajectory generation algorithm
is a composed of a curve-straight line-curve segment. Plots are included below for cases 1 and 6. These were
chosen as they display the two extremes in the difference in time to waypoint between the two controllers.
The trajectory and bearing angle vectors inputted into the sliding mode controller for the Dubins curve path
were appended to include a straight line with the desired final bearing angle after the outputted algorithm
trajectory. This appended set of points ensures that the aircraft reaches the desired heading angle.

Figure 2. Comparison of Rhumb-line navigation and Dubins trajectory paths for Case 1 from Table 2.

8 of 11
American Institute of Aeronautics and Astronautics

Figure 3. Comparison of Rhumb-line navigation and Dubins trajectory paths for Case 6 from Table 2.

Table 2. Comparison of path lengths and travel times for selected Rhumb-Line and Dubins Curve trajectories.

Case
1
2
3
4
5
6
7
8

Initial Longitude
(degrees)

Initial Latitude
(degrees)

Initial Bearing
(degrees)

-117.6161

34.9890

10

-117.6161

34.9890

130

-117.6161

34.7557

40

-117.6161

34.7557

210

-118.1161

34.7557

-220

-118.1161

34.7557

40

-118.1161

35.0890

210

-118.1161

35.0890

-30

Time to Waypoint
(seconds)
R
D
R
D
R
D
R
D
R
D
R
D
R
D
R
D

9 of 11
American Institute of Aeronautics and Astronautics

1210.24
710.84
1169.61
710.49
1384.28
830.18
1390.55
830.90
966.07
830.50
958.12
813.77
1235.98
859.82
1257.63
884.00

VII.B.

Combined Dubins Path/Rhumb-Line Controller on Nonlinear Model

The combined Dubins/Rhumb-line controller was simulated using the nonlinear RQ-2 Pioneer aircraft model.
This controller is designed in order to utilize the strengths of both previously discussed control techniques.
It utilizes the calculation of the t and p segment endpoints from the Dubins path calculation, as described
in section VI. The trajectory calculation by the Dubins algorithm is plotted against the nonlinear model
simulation result in figure 4. Tracking along the p, straight path, segment is excellent while during the
turning segments the aircraft does not follow the Dubins path. This is expected, as the inputs to the
combined controller are the locations of the end of the straight segment and the final way-point. Figures 5
and 6 show the orientation, altitude, velocity and angular rates of the aircraft during the simulation. Note
that in figure 5 the aircraft stays well within a constrained bank angle limit of 60 .

Figure 4. Trajectory of Dubins/Rhumb-Line Controller on Nonlinear Model.

Figure 5. Aircraft orientation and altitude plots for Dubins/Rhumb-Line Controller

10 of 11
American Institute of Aeronautics and Astronautics

Figure 6. Stability axis and body-rate plots for Dubins/Rhumb-Line Controller

VIII.

Conclusion

In this work, a nonlinear aircraft was modeled as a Dubins vehicle constrained to motion on a twodimensional surface. In order to accurately determine the turning rate of the Dubins vehicle based on a
command aileron deflection, an optimization routine was developed to minimize the difference in trajectory
between the nonlinear and Dubis simplified model. This model proved valuable in control system development and verification, as computation time was greatly reduced. Two controllers were designed based
on the simplified model: a proportional error controller based on navigation by Rhumb-lines and a sliding
R
mode controller. Both control schemes were implemented on the simplified model utilizing MATLAB and
R
Simulink .
Simulation results displayed that the Dubins path navigation was superior to the Rhumb-line controller.
Based on this conclusion, a hybrid Dubins path/Rhumb-line controller was developed for implementation
on a nonlinear aircraft model. The hybrid controller tracked the straight portion of the Dubins path well,
allowing for a closed-form time estimate to reach the final waypoint.

References
1 Dubins, L.E., On curves of minimal length with a constraint on average curvature, and with prescribed initial and
terminal positions and tangents, American Journal of Mathematics 19 (497-516) 1957.
2 Shkel, A.M. and Lumelsky, V., Classification of the Dubins set, Robotics and Autonomous Systems 34 (179-202) 2001.
3 Jeyaraman, S., Tsourdos, A., Zbikowski, R. et. al., Formalised hybrid control scheme for a UAV group using Dubins set
and model checking, Proceedings of the 43rd IEEE Conference on Decision and Control, (4229-4304) 2004.
4 Tang, G., Wang, Z. and Williams, A.L., On the construction of an optimal feedback control law for the shortest path
problem for the Dubins car-like robot, Proceedings of the 30th Southeastern Symposium on System Theory, (280-284) 1998.
5 Balluchi, A., Bicchi, A., Piccoli, B. and Soures, P., Stability and robustness of optimal synthesis for route tracking by
Dubins vehicles, Proceedings fo the 39th IEEE Conference on Decision and Control, (581-586) 2007.
6 Chitsaz, H. and LaValle, S.M., Time-optimal paths for a Dubins airplane, IEEE Conference on Decision and Control,
(2379-2384) 2007.
7 Lalish, E., Morgansen, K.A., and Tsukamaki, T., Oscillatory control for constant-speed unicycle-type vehicles, Proceedings of the 46th IEEE Conference on Decision and Control, (5246-5251) 2007.
8 Summers, T.H., Akella, M.R. and Mears, M.J., Coordinated standoff tracking of moving targets: control laws and
information architectures, Journal of Guidance, Control and Dynamics 32 (56-69) 2009.
9 Bhatia, Graziano, M. et. al, Dubins trajectory tracking using commercial off-the-shelf autopilots, Proceedings of AIAA
Guidance, Navigation and Control Conference and Exhibit, 2008.
10 Sira-Ramirez, H. and Villeda, L.I.L., Sliding models, delta-modulation and output feedback control of dynamic systems,
Variable Structure Systems: from Principles to Implementation, Institution of Electrical Engineers, (157-218) 2004.

11 of 11
American Institute of Aeronautics and Astronautics

You might also like