Chapter 6

Nonlinear Control Algorithms with Integral Action*

Abstract

Popular nonlinear controllers are composed of proportional and derivative terms (or their combination). Sometimes when the system is constantly disturbed, the controllers are not capable of achieving the desired position. The integral part in a control scheme is often used to reduce this behavior even in the presence of uncertainties or perturbations; furthermore, when the disturbance is constant, the steady state error converges to zero. In this chapter classical controllers used in the aerial vehicles community are developed with an integral part to stabilize a VTOL (Vertical Take-Off and Landing) aircraft. The proposed algorithms are validated in simulations and real flight missions using a quadcopter test-bed. The main results, presented in several graphs, illustrate good performance of the closed-loop system.

Keywords

Nonlinear algorithms; Integral term; Lyapunov stability; Flight tests; Quadcopter vehicle

Working with UAVs (Unmanned Aerial Vehicles) is not an easy task. Sometimes when researchers or students propose controllers, the most popular suggestion is to use linear controllers like feedback or PD (Proportional-Derivative) controllers. In some cases, to correctly apply these controllers, it is necessary to modify the nonlinear mathematical equations using some assumptions, to develop a simplified nonlinear or even, in the best case from a control design point of view, a linear model. The latter for some researches is inconceivable; nevertheless, it gives an easier way to understand the system redline in several cases. Linearizing the quadcopter model is not a problem because, when the vehicle is hovering using small angle movements to perform a trajectory, its dynamics are strongly simplified and resemble a linear system. In general, two integrators or four integrators in cascade are the most used linear models.

Even if the linear mathematical equations are used, this does not signify that the controller has to be linear. There exist several control algorithms conceived from linear models but directly applied to nonlinear systems. And when such a controller is validated in real time, it captures the attention of the UAV community.

In addition, it is common in practical applications, such as the stabilization at a given position, that the closed-loop system performance is degraded and the states do not converge to the desired values when model uncertainties or unknown constant perturbations are present. The main motivation for this chapter is to improve the behavior of the popular control schemes by adding an integral part.

6.1 From PD to PID Controllers

The simplest mathematical representation of the attitude of a VTOL vehicle (quadcopter included) is given by two integrators in cascade. From (5.7) we can deduce that1

η¨=uη+wη,

Image

where η defines an Euler angle (yaw, pitch, or roll), uηImage represents the control input, and wηImage stands for an unknown perturbation.

Stabilizing the previous system is an easy task: in general, the disturbance is neglected and then a PD controller is enough. Then we propose taking

uη=kpe(t)kdde(t)dt

Image (6.1)

with kpImage defining the proportional gain, kdImage the derivative gain, and e(t)=ηηdImage being the error between the state η and its desired value ηdImage. Notice in Fig. 6.1 that with wn=0Image the control law stabilizes the system (solid line). Stability analysis of the closed-loop system is obvious and not necessary to develop here. For simulation purposes the initial conditions were η(0)=10Image and ηd=0Image. Nevertheless, if wη0Image, a steady state error could be observed, see Fig. 6.1-dotted line (for simulation, wη=4Image). The previous problem can be solved by adding an integral term to the controller, see Fig. 6.3. This control algorithm is known as a PID controller (proportional-integral-derivative).

Image
Figure 6.1 η response when applying a PD controller with and without perturbation wη in the system.

The PID controller is by far the most common control algorithm used in industrial processes [1]. The most popular expression for this algorithm is

u(t)=kpe(t)kie(t)dtkddedt,

Image (6.2)

where kiImage defines the integral gain. Its diagram representation is illustrated in Fig. 6.2.

Image
Figure 6.2 PID control structure.

From Fig. 6.2 notice that the error expression is

e=lims0e(s)=s2s2+PDI(s)ηd(s)+1s2+PDI(s)wη(s),

Image

and it can be concluded that, as the control law has an integral term, e=0Image.

There exist several expressions derived from (6.2), for example, the PID with set-point weighting algorithm is becoming popular because it can be deduced as a regulator with 2 DOF (Degrees Of Freedom), namely

u(t)=Kp(bηdη)+Kie(t)dt+Kpd(cηdη)dt,

Image (6.3)

where ηdImage represents the set-point and η is the measurement variable. The response to the set-point changes will depend on the magnitudes of b and c while its stability and robustness with respect to perturbations and the measurement noise will be the same as that for the algorithm without set-point weighting (6.2).

Notice that, when controlling the quadcopter attitude, it is possible to measure the angular rate η˙Image. In this way, from (6.3) and with c=0Image and b=1Image, we get

u(t)=kpe(t)kdη˙(t)+kie(t)dt.

Image (6.4)

In Fig. 6.3, it can be observed how the attitude performance is restored when using a PID controller. Following these ideas, the goal of this chapter is to introduce two nonlinear controllers having integral terms to stabilize the quadcopter system or only some of its dynamics.

Image
Figure 6.3 η response when applying a PID controller with constant perturbation wη = 4 in the system.

6.2 Saturated Controllers with Integral Component

The purpose of this section is to present a summary of the control algorithms based on saturation functions with integral action to stabilize a quadcopter represented by a chain of integrators in cascade2. A detailed version of this result can be found in [2].

The algorithms stabilize a chain of integrators of n states described by

x˙1=x2,x˙2=x3,=x˙n=u(t),

Image

or, in the classical form, by

x˙(t)=Ax(t)+Bu(t),

Image (6.5)

with

A=(010000100000),BT=(0001),

Image

where x(t)RnImage defines the states of the system, u(t)R1Image is called the input, ARn×nImage represents the state matrix, and BRnImage denotes the input matrix. An essential element of these control laws is the saturation function that can be defined as follows.

Definition 6.1

Given a positive constant b, a function σb(s):RRImage is said to be a linear saturation for s if it is continuous and nondecreasing function satisfying:

• sσb(s)>0Image for all s0Image,

• σb(s)=sImage for |s|bImage,

• σb(s)=bs|s|Image for |s|>bImage.

Several controllers have been proposed using saturation functions to stabilize system (6.5); see, for example, [35]. Nevertheless, these controllers did not include an integral term. In the following, three main configurations of nonlinear controllers based on saturation functions with an integral part are presented. For the stability analysis the following change of coordinates is necessary:

y1=0tx1,y2=x1,=yn=xn.

Image

Then (6.5) yields

y˙(t)=Ay(t)+Bu(t),

Image (6.6)

where n=n+1Image, ARn×nImage, and BRnImage. Indeed, the stability of system (6.6) implies the stability of system (6.5).

6.2.1 Nested Saturation with Integral Part Controller – NSIP

The following controller asymptotically stabilizes system (6.6):

uNSIP=σbn(zn+σbn1(zn1++σb1(z1))),

Image (6.7)

where

zi=zi+1+j=1ni(ni1j1)ynji[1,n1],zn=yn.

Image

Notice that ()Image is the binomial coefficient.

Stability Analysis

Rewriting (6.7) as

uNSIP=σbn(zn+ξn),

Image

we can deduce that |ξn|bξnImage for bξnImage which will be defined later to assure convergence. Take Vn=12zn2Image, then V˙n=znσbn(zn+ξn)Image. If |zn|>bξnImage then sgn(σbn(zn+ξn))=sgn(zn)Image and so for bσbn2bξnImage we obtain uNSIP=znξn,t>T1Image. This proves that (6.7) stabilizes system (6.6) for i=nImage. The next step is to prove that the same is also true for i1Image. We propose Vi1=12zi12Image and hence V˙i1=zi1z˙i1Image. To compute z˙i1Image remember that3

zi1=zl+l=i1n1j=1nl(nl1j1)ynj,

Image

then

z˙i1=u+l=i1n1j=1nl(nl1k1)ynj+1=ξi

Image

with ξi=σbi1(zi1+ξi1)Image, and therefore V˙i1=zi1σi1(zi1+ξi1)Image. As |ξi1|bξi1Image, if |zi1|>bξi1Image, sgn(σbi1(zi1+ξi1))=sgn(zi1)Image which implies that V˙i1<0Image and Tni+2>Tni+1Image such that t>Tni+2Image, |zi1|<bξi1,i[2,n]Image. Therefore, if bi2bi1Image, it follows that

u=znξnwithξl=zl1ξl1,l[i1,n].

Image

So we proved that the closed loop (6.6)–(6.7) is stable for i1Image, then, using the recurrence theorem, (6.6)(6.7) holds i[1,n]Image.

From the previous analysis we have that z˙1=σb1(z1)Image and the last positive-definite function is V1=12z12Image; therefore, V˙1=z1σb1(z1)Image, which implies that V˙1<0Image and z1Image goes to zero. Hence, from the definition of z1Image, we have that ξ20Image. If we assume that zi0Image as tImage which implies that ξi+10Image, then for i+1Image it follows that Vi+1=12zi+12Image and then V˙i+1=zi+1σbi+1(zi+1+ξi+1)Image. This means that zi+10Image as tImage. Finally, as zi+1Image tends to zero, using the recurrence theorem, we obtain zk0Image as tImage k[1,n]Image. Observe that as zn=ynImage, yn0Image.

From the above, we notice that zl0Image for l[i,n]Image. This implies that ylImage also goes to zero. Now we have that

zi1=j=0ni(ni+1j)ynj+yi1.

Image (6.8)

Analyzing the previous equation, we can deduce that ()ynjImage contains ziImage variables, i[1,n]Image. It was proved that these variables converge to zero, so the above implies that yi1Image also goes to zero, and we can conclude that every yk,k[1,n]Image goes to zero.

6.2.2 Separated Saturation with Integral Part Controller – SSIP

The following controller stabilizes system (6.6) globally asymptotically:

u=σbn(zn)σbn1(zn1)σb1(z1),

Image (6.9)

where

zi=j=0ni(nij)ynj,i[1,n].

Image (6.10)

Stability analysis is similar to that proposed for the NSIP algorithm, the main difference is the saturation constraints required to perform the Lyapunov analysis and defined as

bibi1+bi2++b1.

Image (6.11)

6.2.3 Saturated State Feedback with Integral Part Controller – SSFIP

The following controller can be seen as a PID algorithm with bounded states. The algorithm has the form

uSSFIP=j=1nσj(kjxj)+σb1(0tx1),

Image (6.12)

where xiImage denotes the state i and kj>0Image is the constant gain controller. This control law stabilizes system (6.5) globally asymptotically. For the stability analysis, we rewrite (6.12) in the following form:

uSSFIP=i=1nσbi(kiyi).

Image (6.13)

Rewrite (6.13) for i=nImage as

uSSFIP=σbn(knyn)ξn

Image (6.14)

with ξn=j=1n1σbj(kjyj)Image and define

zn=yn,zi=ki+1yi+zi+1,i[1,n1].

Image

Propose Vn=12zn2Image, and then V˙n=yn(σbn(knyn)+ξn)Image. Assuming that bn>bξnImage, we get |knyn|>bξnImage which implies that V˙n<0Image. Thus, there exist a time T1Image such that t>T1Image, |yn|bξnknImage and, as a consequence, uSSFIP=knynξnImage.

It is assumed that for a given l, (6.13) is true and |yl|Image is bounded l[i,n]Image and i1Image. Now, we prove that (6.13) is also true for i1Image. Take Vi1=12zi12Image, then V˙i1=zi1z˙i1Image. We have that zi1zn=j=i1n1kj+1yjImage, and then zi1=j=i1n1kj+1yj+ynImage. Therefore z˙i1=ξiImage.

The above implies

V˙i1=(kiyi1+j=in1kj+1yj+yn)(σbi1(ki1yi1)+ξi1).

Image (6.15)

Assuming bi1>bξi1Image gives |yi1|>bξi1ki1Image, hence sgn(σbi1(ki1yi1)+ξi1)=sgn(yi1)Image. Notice that (j=in1kj+1yj+yn)=ziImage and ziImage is bounded. Thus, if |kiyi1|>bziImage, then sgn(kiyi1+zi)=sgn(yi1)Image. Therefore V˙i1<0Image and Tni+2>Tni+1Image such that t>Tni+2Image,

|yi1|<bξi1ki1,i[2,n],|y1|<b1k1.

Image

Since it was proved that (6.13) is true for i1Image, using the recurrence theorem, the same is also true i[1,n]Image. This means that for i=1Image there exists a time TnImage such that

u=i=1nkiyi,t>Tn.

Image (6.16)

The previous equations hold if the following conditions are satisfied: bξiki>bzi+1ki+1Image, i[2,n1]Image; b1k1>bz2k2Image, bi>bξiImage, i[2,n]Image; bx1i=j=2ibj1Image, bzi=j=in1kj+1bξjkj+bξnknImage.

Observe that for t>TnImage the closed-loop system is y˙(t)=A¯y(t)Image and, as A¯Image is Hurwitz, stability is proved.

The previous stability analysis demonstrated the convergence of the states to zero, yi0Image, implying xi0Image. Nevertheless, we can consider system (6.6) as an error system such that y1=0te1,y2=e1,,yn=enImage, with e1=x1x1d,,en=xnxndImage; and then this implies that ei0Image and x1x1d,,xnxndImage. The previous holds for xidImage constant or bounded |xid|biImage.

More details about the previous controllers can be found in [2].

6.2.4 Validation in a Quadcopter Vehicle

The control algorithms were validated in simulations using the simplified quadcopter model described in Sect. 5.1.5 of Chap. 5. To develop the algorithms, the following hypotheses were used:

• m,Ij=1Image

• quasi-stationary movements

• no external and unknown disturbances present

Notice from the equations in the simplified model that the altitude and the attitude can be represented by two integrators in cascade as

z¨=uz,ψ¨=uψ,

Image (6.17)

where z is the altitude of the aerial vehicle, ψ the yaw angle, uψImage defines the control input for the yaw angle, and uz=ucos(θ)cos(ϕ)gImage, where θ,ϕImage denote the pitch and roll angles, g expresses the gravitational acceleration, and u represents the main control input.

Due to chapter-length limitation, we only use the SSFIP algorithm; similar results can be obtained using the NSIP and SSIP algorithms. Therefore the control scheme to stabilize the previous system takes the form

uγ:=σγ˙(k3γγ˙)σγ(k2γγ)σeγ(k1γ0teγdt),γ:z,ψ.

Image (6.18)

Once the altitude and the yaw movement are stabilized, the next step is to stabilize the longitudinal and lateral dynamics. They are typically coupled and both have high impact on the complete vehicle dynamics. Thus their classical simple representation is denoted by four integrators in cascade in the following form

s¨tan(ρ),ρ¨uρ,

Image

where s defines the state x or y, and ρ represents the angle θ or ϕ, respectively. Notice that the controller needs to be developed for a linear system. Then linearizing the above, it follows that s¨ρImage. Using the proposed methodology, the controller SSFIP for the previous system is

uρ:=σρ˙(k5ρρ˙)σρ(k4ρρ)σs˙(k3ρs˙)σs(k2ρs)σes(k1ρ0tesdt)

Image

with es=ssrefImage and srefImage being the desired position. Remark that for the longitudinal model x¨tan(θ)Image, and consequently for the longitudinal case, the last three terms of the above expression are positive.

6.2.4.1 Simulation Results

The simulation objective is to accurately follow a desired trajectory in the presence of uncertainties (white noise) in the states x,yImage, and z. The following graphs introduce good behavior when applying the SSFIP control to the quadcopter system, see Figs. 6.46.7. Notice the good performance of the closed-loop system, the boundedness of the states, and the smallness of control responses. Observe also that only the θ and ϕ angles are affected by the uncertainties; this fact is normal because the noise in the x or y axis produces uncertainties in the longitudinal or lateral dynamics. The desired altitude is zd=20 mImage, and in the horizontal plane the desired trajectory is to follow a square trajectory with 6 m on each side. The initial conditions were zero for all the states except for the yaw angle which was ψ(0)=10Image grad.

Image
Figure 6.4 3D trajectory when using the saturated control algorithm with integral part.
Image
Figure 6.5 ψ and ψ˙Image responses, the initial condition for yaw was 10 grad.
Image
Figure 6.6 Attitude and angular rates performances.
Image
Figure 6.7 Velocity responses and control inputs behavior.

6.3 Integral and Adaptive Backstepping Control – IAB

The next controller is developed using the quadcopter model defined in Sect. 2.3 of Chap. 2. Introducing uncertainties in the model, Eqs. (2.17)(2.18) become

mξ¨=RFˆ+fg+δu,

Image (6.19)

IΩ˙=Ω×IΩ+τˆ+δτ,

Image (6.20)

where ξ defines the position of the quadrotor, FˆImage and τˆImage express the thrust and torque vectors generated by the rotation of helices, fgImage denotes the gravity force. R is the rotation matrix, Ω introduces the angular velocity, and I represents the inertia matrix of the quadrotor. The terms δuImage and δτImage define the non-modeled dynamics and the perturbations of the aerial vehicle (drag effects included).4

Adding an integral term in the classical backstepping approach increases the robustness of the closed-loop system. In addition, in this algorithm an adaptive sense is introduced, i.e., the adaptive part will help to estimate some unknown parameters and to counteract them.

6.3.1 Quadcopter IAB Algorithm

To stabilize the quadcopter, let us define the position error as follows:

eξ=ξξrefe˙ξ=ξ˙ξ˙ref=vξ˙ref.

Image (6.21)

Now propose a positive definite function to design a virtual velocity vvImage that will ensure the convergence to the desired position5

VLr=12(KIrχ1,χ1)+12(eξ,eξ)

Image (6.22)

where (,)Image represents the inner vector product, KIrImage is a positive constant matrix, and χ1=0teξdτImage. Differentiating VLrImage results in V˙Lr=(KIrχ1,eξ)+(eξ,eξ˙)Image, and taking the virtual velocity as vv=ξ˙refKIrχ1KreξImage, with KrImage a positive constant matrix, gives

V˙Lr|v=vv=(Kreξ,eξ)0t0.

Image

Define the velocity error as

ev=vvvev˙=v˙v˙v=1m(u+δu)v˙v

Image

with u=RFˆ+fgImage. Now a positive definite function is proposed to ensure convergence of the position error to zero

VLv=VLr+12(ev,ev)V˙Lv=V˙Lr+(ev,ev˙).

Image

From the velocity error definition, it follows that v=vv+evImage, and then the above can be expressed as V˙Lv=(Kreξ,eξ)+(eξ,ev)+(ev,e˙v)Image, by choosing

u=δˆu+m(v˙veξKvev)

Image

with KvImage denoting a positive constant matrix and δˆuImage the estimated value of δuImage. Rewriting V˙LvImage, it follows that

V˙Lv=(Kreξ,eξ)(Kvev,ev)+1m(ev,eδu)

Image

with eδu=δuδˆuImage. Suppose that δuImage is constant, thus e˙δu=δˆ˙uImage. Consider the following candidate Lyapunov function VLu=VLv+12(Γ11eδu,eδu)Image, with Γ1Image being a positive diagonal constant matrix. Then

V˙Lu=(Kreξ,eξ)(Kvev,ev)+1m(ev,eδu)+(Γ11eδu,δˆ˙u).

Image

Now propose δˆ˙u=1mΓ1evImage as the desired dynamics for δˆuImage. Thus

V˙Lu=(Kreξ,eξ)(Kvev,ev)0t0.

Image

There exists a relationship between u, the main force FˆImage, and the quadcopter attitude η so that it is possible to find (η,Fˆ)Image from u=[ux,uy,uz]TImage. Here the z–y–x Euler convention is used. Consequently, the rotation matrix, R, has the following form:

R=(cψcθsψcϕ+cψsθsϕsψsϕ+cψsθcϕsψcθcψcϕ+sψsθsϕcψsϕ+sψsθcϕsθcθsϕcθcϕ),

Image (6.23)

where the c and s stand for the cosine and sine functions, respectively. From (6.19) and (6.23), the following relations for (ηref,Fˆref)Image can be obtained:

θref=arctan(uysψ+uxcψuz+mg),

Image (6.24)

ϕref=arctan(cθrefuxsψuycψuz+mg),

Image (6.25)

fref=uz+mgcθrefcϕref.

Image (6.26)

ψrefImage is assigned arbitrarily, and the main thrust is taken as Fˆref=[0,0,fref]TImage. Let us define the error of Euler angles as

eη=ηηrefeη˙=η˙η˙ref=Wη1Ωη˙ref.

Image

Propose the next positive definite function VLη=12(KIηχ2,χ2)+12(eη,eη)Image, where KIηImage is a positive constant matrix and χ2=0teηdτImage. Thus, V˙Lη=(KIηχ2,eη)+(eη,e˙η)Image. Define the virtual angular velocity as Ωv=Wη(η˙refKIηχ2Kηeη)Image, with KηImage being a positive constant matrix. This implies

VLη|Ω=Ωv=(Kηeη,eη)0t0.

Image

Define the angular velocity error as eΩ=ΩΩve˙Ω=Ω˙Ω˙vImage. Remember that Ω=Ωv+eΩImage, then Ω˙=I1(τˆΩ×IΩ+δτ)Image. Propose the following positive definite function, VLΩ=VLη+12(eΩ,eΩ)Image, then get

V˙LΩ=V˙Lη+(eΩ,e˙Ω)=(Kηeη,eη)+(eη,Wη1eΩ)+(eΩ,e˙Ω).

Image

Choose the control input as

τˆ=δˆτ+Ω×IΩ+I(Ω˙v(Wη1)TeηKΩeΩ)

Image

with KΩImage being a positive constant matrix and δˆτImage the estimated value of δτImage. Then

V˙LΩ=(Kηeη,eη)(KΩeΩ,eΩ)+(eΩ,I1eδτ)

Image

with eδτ=δτδˆτImage. Consider δτImage constant, then e˙δτ=δˆ˙τImage. Propose the following candidate Lyapunov function, VLτ=VLΩ+12(Γ21eδτ,eδτ)Image, where Γ21Image is a positive diagonal constant matrix. It implies that

V˙Lτ=(Kηeη,eη)(KΩeΩ,eΩ)+(I1eΩ,eδτ)+(Γ21eδτ,δˆ˙τ).

Image

Define δˆ˙τ=Γ2I1eΩImage as the desired dynamics for δˆτImage. Thus

V˙Lτ=(Kηeη,eη)(KΩeΩ,eΩ)0t0.

Image

6.3.2 Simulation with Perturbations

Several simulations were carried out to validate the IAB control. The simulation parameters are written in Table 6.1, these parameters take into account the characteristics of the Quadcopter Flexbot platform shown in Table 6.2. In Fig. 6.8, the performance of the closed-loop system response can be observed. In this simulation no perturbations were considered. The desired mission was to realize a circle trajectory of radius 1 m and altitude of 1 m. To keep the chapter of acceptable length, only the quadcopter's position responses are presented.

Table 6.1

Simulation parameters

Parameter Value Parameter Value
I diag(8,8,6)⋅10−4 g 9.81
ξ ref [cos(0.1t),sin(0.1t),1] Image Kr Image diag(1,1,1)⋅0.35
Kv Image diag(1,1,1)⋅16 Kη Image diag(1,1,1)⋅2
KΩ Image diag(1,1,1)⋅16 Γ1 diag(1,1,1)⋅57 ⋅ 10−4
Γ2 diag(32,32,24)⋅10−6 KIr Image diag(1,1,1)⋅0.05
KIη Image diag(1,1,1)⋅0.1 Initial conditions Zero

Image

Table 6.2

Quadcopter flexbot parameters

Parameter Value
Mass 0.057 kg
Payload 0.023 kg
Max diameter 0.12 m
Helix length 0.05 m
Image
Figure 6.8 Quadrotor position without perturbations.

The next simulation takes into account two perturbations when the UAV is following a circular trajectory. One of them considers an extra torque which could arise from a displacement of its battery from the gravity center of the vehicle. The other considers the vehicle moving in the presence of a crosswind which produces an external force acting on the quadcopter. The force perturbation δu=[0.1,0.05,0.5]TImage represents about 25% of the vehicle weight, and the torque perturbation δτ=[0.01,0,0.01]TImage is about the 25% of the total torque that quadcopter can manage. The systems response can be appreciated in Figs. 6.9 and 6.10. Notice that even if there are perturbations in the system, the controller stabilizes the desired position well. The estimates of perturbations are presented in Fig. 6.10. As before, notice that the adaptive part estimates the unknown perturbations well.

Image
Figure 6.9 Position response of the quadrotor under perturbations.
Image
Figure 6.10 Estimated force and torque perturbations.

6.3.3 Simulation with Inaccurate Mass

Other simulations were realized to validate the performance of the controller when the vehicle mass is changing (it could be that the vehicle is transporting an object). Then the next simulation introduces the behavior of the vehicle which is tracking a circular trajectory and after a certain time it drops the object it was carrying. In simulation, the object represents 25% of the initial mass and is dropped at 40 seconds. The presence of perturbations of the same magnitudes as before is considered as well, see Fig. 6.11. Notice here that the controller is capable of stabilizing the vehicle and tracking the trajectory even in the presence of perturbations and with a mass loss. In Fig. 6.12 the estimates of perturbations are illustrated. Observe that the effect of weight loss is included in the force estimates.

Image
Figure 6.11 Position response of the quadrotor with perturbations and an inaccurate mass value.
Image
Figure 6.12 Estimates of force and torque perturbations.

6.3.4 Experimental Results

The integral adaptive backstepping algorithm proposed previously was validated in flight tests. Three experiments were carried out to observe the performance of the closed-loop system. The first one was to follow a circular trajectory, the second experiment consisted in stabilizing the aerial vehicle at hover, and the last flight test was to keep the vehicle hovering in the presence of external and unknown wind. The vehicle used in the experiments was a quadcopter with the parameters shown in Table 6.3. A radio antenna was added to the quadrotor in order to get access to the torques estimated by the adaptive algorithm in the platform. This antenna weighs 15 g and was placed in one arm of the vehicle in order to generate the torque perturbation.

Table 6.3

Quadcopter parameters

Parameter Value
Mass 0.257 kg
Payload 0.070 kg
Max diameter 0.20 m
Helix length 0.125 m
I Image diag(8,8,6)⋅10−2

Circular Trajectory

The reference path is a circle of 0.8 m radius whose center is at (x,y,z)=(0,0,0.8) mImage, the result can be seen in Fig. 6.13.

Image
Figure 6.13 Position response of the quadrotor.

Fig. 6.14 shows the estimates of the force and torque perturbations, respectively. These estimates take into account the dynamics not modeled, as well the additional torque generated by the antenna.

Image
Figure 6.14 Estimation of force and torque perturbations.

Stabilization at Hover

In this experiment the objective was to maintain the quadcopter at hover, the desired position was ξref=(0,0,1) mImage. Figs. 6.15 and 6.16 describe the behavior of the vehicle during the test.

Image
Figure 6.15 Position responses of the quadrotor.
Image
Figure 6.16 Estimation of force and torque perturbations.

Hover with External Perturbations

In this section the last experiment is repeated; however, in this case a disturbance is introduced by a wind gust generated with a fan for 17 sImage. Figs. 6.176.18 show the behavior of the quadrotor. We remark that the estimates and Euler angles oscillate more because they try to compensate the perturbations introduced in this experiment.

Image
Figure 6.17 Position responses of the quadrotor.
Image
Figure 6.18 Force and torque perturbation responses.

6.4 Discussion

Two control algorithms containing an integral term were proposed to stabilize or navigate an aerial vehicle. Saturation functions were used to conceive three nonlinear control laws and applied to stabilize a quadcopter vehicle. Simulation results indicated good performance of the closed-loop system when following a desired trajectory. The control inputs and states were bounded without degrading the vehicle performance.

The second controller is based on the backstepping approach to propose an integral and adaptive nonlinear control law. This controller was also applied to the quadcopter vehicle and validated in simulation and real-time flight tests. Three cases were studied and analyzed to demonstrate good behavior of the closed-loop system. Simulations and experimental results demonstrated this fact.

References

[1] K.J. Åström, T. Hägglund, Advanced PID Control. Research Triangle Park, NC 27709: ISA – The Instrumentation, Systems, and Automation Society; 2006.

[2] A. Alatorre, P. Castillo, S. Mondié, Saturations-based nonlinear controllers with integral term: validation in real-time, TCON, International Journal of Control 2016;89(5):879–891.

[3] A.R. Teel, Global stabilization and restricted tracking for multiple integrators with bounded controls, Systems & Control Letters 1992;18:165–171.

[4] G. Sanahuja, P. Castillo, A. Sanchez, Stabilization of n integrators in cascade with bounded input with experimental application to a VTOL laboratory system, International Journal of Robust and Nonlinear Control 2010;20:1129–1139.

[5] J. Guerrero, P. Castillo, S. Salazar, R. Lozano, Mini rotorcraft flight formation control using bounded inputs, Journal of Intelligent & Robotic Systems 2011;65:175–186.


*  “The results in this chapter were developed in collaboration with A.G. Alatorre and S. Mondié from CINVESTAV-IPN, Mexico, and with J. Colmenares and N. Marchand from GIPSA Lab, France.”

1  “With Iη=1Image.”

2  “Notice that in the previous section the attitude of a VTOL vehicle could be represented by two integrators in cascade.”

3  “sgn denotes the sign (or signum) function.”

4  “In δiImage, the external and unknown disturbances, wiImage, are also included.”

5  “To avoid confusion, in this chapter we use v to denote the linear velocity of the vehicle expressed in the inertial frame and V for a Lyapunov or positive function.”

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset