05.11.2012 Views

Navigation Functionalities for an Autonomous UAV Helicopter

Navigation Functionalities for an Autonomous UAV Helicopter

Navigation Functionalities for an Autonomous UAV Helicopter

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

A.1. PAPER I 79<br />

The reference point on the nominal path is found<br />

by satisfying the geometric condition that the<br />

scalar product between the t<strong>an</strong>gent vector <strong>an</strong>d the<br />

error vector has to be zero:<br />

E • T = 0 (5)<br />

where the error vector E is the helicopter dist<strong>an</strong>ce<br />

from the c<strong>an</strong>didate control point. The control<br />

point error feedback is then calculated as follows:<br />

ef = E • T /|T | (6)<br />

that is the magnitude of the error vector projected<br />

on the t<strong>an</strong>gent T . The control point is updated<br />

using the differential relation:<br />

dP = P ′ · ds (7)<br />

Equation 7 is applied in the discretized <strong>for</strong>m:<br />

s(n) = s(n − 1) +<br />

ef<br />

| dP<br />

ds (n − 1)|<br />

(8)<br />

where s(n) is the new value of the parameter.<br />

Once the new value of s is known, all the path<br />

parameters c<strong>an</strong> be calculated.<br />

The PF algorithm receives as inputs the target<br />

velocity vt <strong>an</strong>d the final velocity ve that the helicopter<br />

must have at the end of the segment.<br />

The path pl<strong>an</strong>ner assigns the target velocity which<br />

is related to the mission specification only. This<br />

me<strong>an</strong>s that the path pl<strong>an</strong>ner doesn’t have to take<br />

into account <strong>an</strong>y dynamic limitation of the helicopter<br />

itself. The control law tries to keep the<br />

target velocity, but when it is not compatible with<br />

the local curvature of the path <strong>an</strong>d the helicopter<br />

per<strong>for</strong>m<strong>an</strong>ce limitations, the algorithm provides<br />

<strong>an</strong> automatic limit on velocity. Velocity limitations<br />

c<strong>an</strong> be activated <strong>for</strong> two reasons: due to the<br />

turn b<strong>an</strong>k or the yaw rate limit of the helicopter.<br />

In order to make a coordinated turn at const<strong>an</strong>t<br />

altitude, the flight mech<strong>an</strong>ics provides the relation<br />

between the velocity, the roll <strong>an</strong>gle <strong>an</strong>d the curvature<br />

radius of the turn. Mech<strong>an</strong>ical limits exist on<br />

the maximum achievable swash plate <strong>an</strong>gles, <strong>an</strong>d<br />

furthermore the helicopter envelope has currently<br />

been opened up to φmax ± 8 deg <strong>for</strong> the roll <strong>an</strong>gle<br />

(relative to the hovering b<strong>an</strong>k <strong>an</strong>gle that is about<br />

4.5 deg), <strong>an</strong>d ωmax ± 26 deg/sec <strong>for</strong> the yaw rate.<br />

Under the described limitations, it is possible to<br />

calculate the maximum speed:<br />

Vmax1 = � Rgφmax<br />

(9)<br />

Vmax2 = ω 2 maxR (10)<br />

where R is the local curvature radius <strong>an</strong>d g is the<br />

gravity acceleration. The target speed assigned to<br />

the path is compared with these two limits <strong>an</strong>d<br />

the lower speed is taken as target.<br />

The braking algorithm continually checks the dist<strong>an</strong>ce<br />

between the helicopter <strong>an</strong>d the end point of<br />

the path. If the required acceleration to reach the<br />

final target velocity exceeds a given value (currently<br />

set to 1 m/s2 ), the current target velocity<br />

is limited in order to maintain a const<strong>an</strong>t deceleration.<br />

In order to know the dist<strong>an</strong>ce between the<br />

helicopter <strong>an</strong>d the end of the path, <strong>an</strong> estimate<br />

of the final arc length of the curve has to be<br />

calculated. The arc length of the spline between<br />

the control point <strong>an</strong>d the end point of the path is:<br />

� Send �<br />

lend = [x ′ (s)] 2 + [y ′ (s)] 2 + [z ′ (s)] 2 ds<br />

S<br />

(11)<br />

If <strong>an</strong> <strong>an</strong>alytical solution of the integral c<strong>an</strong>not be<br />

found, a numerical method is used (rect<strong>an</strong>gular<br />

integration with <strong>for</strong> example 20 integration steps).<br />

To gain computational time, the increments of the<br />

flown path ln are subtracted from ltot (total length<br />

of the path, i.e. lend at first iteration) to get a good<br />

estimate of lend at each control cycle:<br />

�<br />

�<br />

� [xn − xn−1]<br />

�<br />

ln = �<br />

2 +<br />

[yn − yn−1] 2 +<br />

[zn − zn−1] 2<br />

(12)<br />

A path segment is considered finished when lend<br />

is small enough. It should be emphasized that lend<br />

is the arc length between the control point on<br />

the curve <strong>an</strong>d the end point of the path <strong>an</strong>d not<br />

between the helicopter <strong>an</strong>d the end of the path.<br />

This makes the system more robust with regard<br />

to position error of the helicopter on the path.<br />

5. CONTROL LAWS<br />

The outer loop control (velocity <strong>an</strong>d position<br />

control) provides inputs <strong>for</strong> the YACS in order<br />

to follow the path with the desired velocity. The<br />

inner loop deals with the coupling dynamics of<br />

the helicopter, so that the outer loop c<strong>an</strong> h<strong>an</strong>dle<br />

the four degrees of freedom as decoupled (i.e.<br />

yaw rate, vertical velocity, pitch <strong>an</strong>d roll <strong>an</strong>gles).<br />

The position <strong>an</strong>d velocity error <strong>an</strong>d centripetal<br />

acceleration vectors are computed in the global<br />

frame <strong>an</strong>d then tr<strong>an</strong>s<strong>for</strong>med into control inputs<br />

after rotation in the helicopter’s body frame. The<br />

acceleration vector is used as feed <strong>for</strong>ward input<br />

in the control law to improve the tracking in<br />

the presence of path curvature. As regards the<br />

acceleration vector, only the component in the<br />

horizontal pl<strong>an</strong>e orthogonal to the path is used.<br />

PD <strong>an</strong>d PI compensators are used respectively<br />

<strong>for</strong> position <strong>an</strong>d velocity control. The algorithm<br />

described in the previous section makes sure that<br />

the position error vector is orthogonal to the<br />

path <strong>an</strong>d the velocity error vector is t<strong>an</strong>gent to<br />

the path. Given that the two error vectors are<br />

orthogonal the velocity control doesn’t interfere<br />

with the position control. The control equations<br />

<strong>for</strong> the four ch<strong>an</strong>nels are the following:

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!