Aurélien Cabarbaye

Moisés Rogelio Lozano

Bonilla Estrada

Moisés Bonilla Estrada

Adaptive quaternion control of a 3-DOF inertial stabilised platforms

Introduction

Inertial stabilised platforms (ISP) are mechanical structures designed to control the inertial orientation of their payload [START_REF] Hilkert | Inertially stabilized platform technology concepts and principles[END_REF].

Such systems are used for a large range of applications. If they are currently well known for video applications as Sport-Cam stabilised sticks or airborne camera mounts, they are likely to be adopted whenever a precise orientation of the payload is required (e.g. antennas, laser).

There are many kinds of ISP controls. If high-end systems take the payload deformation into account to ensure the highest possible accuracy [START_REF] Hilkert | Inertially stabilized platform technology concepts and principles[END_REF], present article focuses on more affordable systems and intends to improve their effectiveness.

Some stabilisation systems take advantage of a movable optical element (e.g. actuated mirror, fluid lens) to stabilise the image of an optical payload, which provides a very fast reactivity but a limited orientation range. However, most systems are designed to move their entire payload so that it points its line of sight (LOS) to a particular target. Such mechanism is usually based on a gimbal architecture. If it does not offer a reactivity as good as previously mentioned solutions due to the heavier weight in motion, it offers a greater orientation range. Present paper deals with latter approach.

The easiest way to design an ISP control is to consider the three-motor axes independently. Azimuth and elevation are each controlled by a motor in a 2-DOF system [START_REF] Khodadadi | Robust control and modeling a 2-dof inertial stabilized platform[END_REF]. These two motors are supplemented by an additional one, dedicated to payload yaw angle stabilisation, in a 3-DOF system. These controls are usually based on Euler angle representation [START_REF] Hilkert | Inertially stabilized platform technology concepts and principles[END_REF]. Although this representation is the most intuitive as it associates each rotation axis to a motor, it presents some drawbacks (e.g. instability around the gimbal lock), shared with Rodrigues and modified Rodrigues parameters representations [START_REF] Chaturvedi | Rigid-body attitude control[END_REF].

Those defects can be corrected using quaternion-based representation [START_REF] Morais | Real quaternionic calculus handbook[END_REF]. Nevertheless, the control input definition is less intuitive using this representation, particularly when ensuring payload roll is correctly orientated (i.e. for 3-DOF systems), and its non-unicity brings about instability issues (cf. homoclinic-like orbit) [START_REF] Chaturvedi | Rigid-body attitude control[END_REF].

Rotation matrix representation does not present those drawbacks and is, by the way, used for numerous attitude controls [START_REF] Lee | Geometric tracking control of a quadrotor UAV on SE(3)[END_REF][START_REF] Raptis | A novel non linear backstepping controller design for helicopters using the rotation matrix[END_REF]. However, it seems to require more computing power than using quaternions. This may explain why those latter are often used to parametrise it [START_REF] Mayhew | Robust global asymptotic attitude stabilization of a rigid body by quaternion-based hybrid feedback[END_REF].

Whatever the adopted representation, the platform stabilisation dynamics is greatly related to the inertia matrix of the payload which affects the control responsiveness. Several adaptive controls have hence been proposed based either on Euler angles [START_REF] Hilkert | Adaptive control system techniques applied to inertial stabilization systems[END_REF][START_REF] Li | Self-tuning controller for nonlinear inertial stabilization systems[END_REF] or rotation matrix [START_REF] Lee | Robust adaptive attitude tracking on SO(3) with an application to a quadrotor UAV[END_REF] representations. The use of both representations implies previously detailed limitations.

The authors have otherwise proposed a fast computing ISP control based on axis-angle representation (Cabarbaye, Leal, Fabiani, & Estrada, 2017) that self-adapts to the payload it accommodates. A modified control is proposed in this article to improve its performances. It is still based on axis-angle representation for low computing power reasons. However, the Math representation is modified in Section 2 to protect the algorithm from homoclinic-like orbit issue [START_REF] Chaturvedi | Rigid-body attitude control[END_REF] and provides the quaternion expression of the required trajectory for extending the stability proof. The control scheme is presented in Section 3 where the adaptive law is made robust to the payload rotation speed. A simulation of the proposed control is exposed in Section 4. Projections of the obtained general control torque onto each motor axis is lastly provided in Section 5.

ISP mathematical representation

Specifications

Correct orientation of the payload is the main issue of an ISP control. The gimbal control must fulfil the two following requirements:

• Point the LOS of the payload to the desired direction

• Keep the roll angle of the payload to zero.

Both requirements are exposed in Figure 1.

In terms of vectors, it can be expressed, as follows:

• LOS must be collinear with the desired direction vector which goes from the payload lens to the target. • Gravity vector (i.e. vector collinear to the earth gravity force) must be part of the plane passing through LOS and payload vertical vector.

This can be carried out via two successive rotations detailed hereafter. The supporting vector of the LOS being of the form:

X p2 = lx LOS y LOS z LOS
, the following vectors are defined:

X = ⎡ ⎣ x LOS 0 0 ⎤ ⎦ , X p1 = ⎡ ⎣ x LOS y LOS 0 ⎤ ⎦ .
The first rotation is performed to convert X-axis (i.e. X vector) into the transitional axis (i.e. X p1 vector). The quaternion representing the rotation between those two vectors is defined, as follows [START_REF] Carino | Quadrotor quaternion control[END_REF]:

q 1 = X • X p1 + X X p1 X × X p1 q 1 = q 1 q 1 .
This rotation is the shortest that transforms a vector to another. It thus takes place around Z-axis. Therefore, the vertical vector is not modified. The result of such rotation is shown in Figure 2.

The second rotation follows the same idea as the first one. It is defined to transform the transitional vector (i.e. X p1 vector) onto LOS (i.e. X p2 vector), The rotation is defined as [START_REF] Carino | Quadrotor quaternion control[END_REF])

q 2 = X p1 • X p2 + X p1 X p2 X p1 × X p2 q 2 = q 2 q 2 .
The second rotation is shown in Figure 3. Notice that the projection of the vertical vector (i.e. Vertical p2 vector) is well within the plane formed by vertical vector and LOS. The result of both rotations is shown in Figure 4. Observe that all requirements are fulfilled. The entire rotation is thus expressed by the quaternion obtained by the Hamilton product, noted ⊗ [START_REF] Morais | Real quaternionic calculus handbook[END_REF], of the two

q d = q 2 ⊗ q 1 .
(1)

Dynamics

According to [START_REF] Goldstein | Classical mechanics[END_REF], quaternion-based rotational dynamics of the payload, assumed as rigid body, is

q ω = 1 2 q ⊗ ω J -1 (τ -ω × Jω) ,
which combined with Equation ( 2),

θ = 2 ln q (2) gives θ ω = ω J -1 τ -J -1 ω × Jω . ( 3
)

Control

A simple PID could satisfactorily control the ISP making Equation (3) linear, defining

U = τ -ω × Jω. (4)
However, most gimbal systems are designed to accommodate various sizes of payload (a wide range of camera models for instance) that present as many different inertial matrices J.

Without an unpractical tweaking of control gains, those matrices must be fixed high enough, following a robust control approach, to ensure the stability of the whole system and so, even for the highest expected payload inertia matrix. A small payload would thus imply an unnecessary high control responsiveness which would come out as high power consumption. An adaptive control is hence designed in this section to assess J matrix and offer fine homogeneous moves. According to equation (3), the system is under actuated. The control of θ is therefore designed in Section 3.1, assuming that the state variable ω is its control input. In Section 3.2, the control of ω is built following an adaptive approach for the unknown J inertia matrix.

The payload inertia matrix J can be defined as

J = ⎡ ⎣ I xx I xy I xz I xy I yy I yz I xz I yz I zz ⎤ ⎦ .
ISP system being designed for a camera, some assessment can be made about J:

Hypothesis 3.1:

• I ii > 0 ∀i ∈ [1, 3] • I ii >> I ij ∀(i, j) ∈ [1, 3].

θ control law design

θ stability condition

Equation (3) gives θ = ω.

(5)

Control error e θ is defined for θ

e θ = θ -θ d , (6)
where θ d is the expected orientation. In order to further reduce the required computational power, Equations ( 2) and ( 6) are combined

e θ = 2 ln q -2 ln q d = 2 ln(q ⊗ q * d ), ( 7
)
where q d is given by Equation ( 1) and q is given by the attitude sensor of the payload 1 . Remark that this error is actually non-continuous around zero since |e θ | is defined in the interval [0, 2π ]. This may bring about instabilities to the ISP systems (cf. similar to the homoclinic-like orbit exposed by [START_REF] Chaturvedi | Rigid-body attitude control[END_REF]). This is solved slightly modifying function ln

2 ln(q) = ⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩ ⎧ ⎪ ⎨ ⎪ ⎩ sgn(q)(2 • arccos(q 0 )), if q 0 > 0 sgn(q)(2 • arccos(q 0 ) -2 • π), if q 0 ≤ 0 , if |q| = 0 0, if |q| = 0 noting q = q 0 q .
The discontinuity takes place here at |e θ | = π which becomes an unstable node thanks to the control law. Check that 2 ln(q) = 2 ln(-q), it ensures the stability condition [START_REF] Chaturvedi | Rigid-body attitude control[END_REF]: u(q, ω) = u(-q, ω).

Combining Equations ( 5) and ( 6), it leads to

ėθ = ω -θd . ( 8
)
Lemma 3.2: The provisional control ω = -K θ e θ + θd can stabilise e θ (K θ is defined strictly positive).

The expected control ω d is therefore defined as

ω d = -K θ e θ + θd . ( 9
)
In order to keep the algorithm light, θd is estimated thanks to the quaternion derivation [START_REF] Morais | Real quaternionic calculus handbook[END_REF] qd = 1 2 q ⊗ θd , which gives θd = 2q * ⊗ qd .

Condition on ω

Here ω control is studied in order to cancel error e ω = ω -ω d . Equation ( 8) becomes

ėθ = ω d + e ω -θd
Introducing Equation (9) into the above gives

ėθ = -K θ e θ + e ω . ( 10
)
Equation ( 3) leads to

ω = J -1 τ -J -1 ω × Jω.
In term of error dynamics, it gives

ėω = J -1 τ -J -1 ω × Jω -ωd . ( 11
)
Define matrices J 1 and J 2 [START_REF] Khalil | Nonlinear systems[END_REF]. It verifies

J 1 = ⎡ ⎣ I xx 0 0 0 I yy 0 0 0 I zz ⎤ ⎦ , J 2 = ⎡ ⎣ 0 I xy I xz I xy 0 I yz I xz I yz 0 ⎤ ⎦ such that J = J 1 + J 2 . ω × Jω satisfies matching condition
ω × Jω ≤ J 1 ω ω + J 2 ω ω .
From assumption 3.1, it leads to

ω × Jω ≤ sgn (ω) T J 1 ω ω + J 2 max ω 2 , ( 12
)
where J 2 max is the highest matrix norm in the range of payload that the ISP system is designed for.

ω adaptive control law design

Two general approaches of adaptive control are [START_REF] Slotine | Applied nonlinear control[END_REF]):

• Model-Reference Adaptive Control (MRAC)

• Self-Tuning Controllers (STC).

On the first hand, STC controls often require to introduce perturbation signals in the input to ensure their stability and convergence, which would be detrimental for the intended applications. On the second hand, MRAC controls do not necessarily supply the real parameter values. They indeed only provide acceptable values that ensure the stability of the system. However, since there is no need for proper parameters estimation, MRAC control approach is chosen.

Control law definition

The aim of the control is to reduce the magnitude of e ω . In order to do so, the following relation is proposed and must be satisfied by the error control:

ėω = -K ω e ω , ( 13
)
where K ω is the control gain defined positive.

Combining Equations ( 13) and ( 11), it leads to

τ = J ( ωd -K ω e ω ) + ω × Jω. ( 14
)
Lemma 3.3: A control complying with Equation (15) stabilises system (3)

τ = Ĵ ( ωd -K ω e ω ) -e θ -sgn (e ω ) sgn (ω) T Ĵ1 ω ω + J 2 max ω 2 , ( 15
)
where Ĵ is the estimated inertial matrix. Ĵ1 and Ĵ2 are defined such that Ĵ = Ĵ1 + Ĵ2 .

Notice that the control consists of two parts:

• A proportional part that intends to decrease the position error • A part that can be assimilated as a Sliding Mode which aims at compensating the error increasing with ω.

The second part of the control could have been designed without splitting the inertia matrix in two. That is to say, following the expression:

-sgn (e ω ) J max ω 2 . However, according to assumption 3.1, J 2 max << J 1 max , the Sliding Mode part would have been of much greater importance and resulting trajectory would not have been smooth enough.

Control error estimation

Including the estimation errors of the inertial matrix: J = Ĵ -J, Equation (15) of assumption 3.3 becomes

τ = J ( ωd -K ω e ω ) + J ( ωd -K ω e ω ) -e θ -sgn (e ω ) sgn (ω) T J1 ω ω + sgn (ω) T J 1 ω ω + J 2 max ω 2 . ( 16
)
Substituting Equation ( 16) into equation ( 11), it gives

ėω = J -1 J ( ωd -K ω e ω ) + J -1 J ( ωd -K ω e ω ) -J -1 e θ -J -1 sgn (e ω ) sgn (ω) T J1 ω ω + sgn (ω) T J 1 ω ω + J 2 max ω 2 -J -1 ω × Jω -ωd = -K ω e ω + J -1 J ( ωd -K ω e ω ) -J -1 e θ -J -1 sgn (e ω ) sgn (ω) T J1 ω ω + sgn (ω) T J 1 ω ω + J 2 max ω 2 -J -1 ω × Jω. ( 17
)

Adaptive law based on Lyapunov function

Theorem 3.4: A sufficient stability condition consists in computing Ĵ by summing Equations ( 18) and (19) results.

J1 = ω sgn (ω) sgn (e ω ) T e ω ω T T 1 -e ω ( ωd -K ω e ω ) T T 1 (18) J2 = -e ω ( ωd -K ω e ω ) T T 2 . ( 19
)
Proof: The following Lyapunov function candidate is proposed

V = 1 2 e T θ e θ + 1 2 e T ω Je ω + tr J1 -1 1 JT 1 + J2 -1 2 JT 2 , ( 20
)
where 1 and 2 are real positive definite diagonal matrices and tr is the trace function. Deriving Equation ( 20) gives

V = e T θ ėθ + e T ω Jė ω + tr J1 -1 1 JT 1 + J2 -1 2 JT 2 ,
which becomes, when the error derivatives are substituted by Equations ( 10) and ( 17)

V = -e T θ K θ e θ + e T θ e ω -e T ω JK ω e ω + e T ω JJ -1 J ( ωd -K ω e ω ) -e T ω JJ -1 e θ -e T ω JJ -1 sgn (e ω ) sgn (ω) T J1 ω ω + sgn (ω) T J 1 ω ω + J 2 max ω 2 -e T ω JJ -1 ω × Jω + tr J1 -1 1 JT 1 + J2 -1 2 JT 2 = -e T θ K θ e θ -e T ω JK ω e ω -e T ω ω × Jω -e T ω sgn (e ω ) sgn (ω) T J 1 ω ω + J 2 max ω 2 + e T ω J ( ωd -K ω e ω ) -e T ω sgn (e ω ) sgn (ω) T J1 ω ω + tr J1 -1 1 JT 1 + J2 -1 2 JT 2 = -e T θ K θ e θ -e T ω JK ω e ω -e T ω ω × Jω -e T ω sgn (e ω ) sgn (ω) T J 1 ω ω + J 2 max ω 2 + tr ⎛ ⎜ ⎜ ⎝ J1 ( ωd -K ω e ω ) e T ω -ωe T ω sgn (e ω ) sgn (ω) T ω + -1 1 JT 1 + J2 ( ωd -K ω e ω ) e T ω + -1 2 JT 2 ⎞ ⎟ ⎟ ⎠ .
Applying Equations ( 18) and ( 19) of the theorem 3.4 (noting that J = Ĵ -J leads to J = J), it becomes:

V = -e T θ K θ e θ -e T ω JK ω e ω -e T ω sgn (e ω ) sgn (ω) T J 1 ω ω + J 2 max ω 2 +e T ω ω × Jω . ( 21
)
Equation ( 12) leads to

e ω ω × Jω ≤ e ω sgn (ω) T J 1 ω ω + J 2 max ω 2 which gives -e T ω ω × Jω ≤ e T ω sgn (e ω ) sgn (ω) T J 1 ω ω + J 2 max ω 2 ⇔ 0 ≤ e T ω sgn (e ω ) sgn (ω) T J 1 ω ω + J 2 max ω 2 + e T ω ω × Jω. (22)
Lastly, combining Equations ( 21) and ( 22) leads to

V ≤ -e T θ K θ e θ -e T ω JK ω e ω
V < 0 ∀(e θ , e ω ) ∈ * 2 which proves the asymptotic stability of the system.

Lemmata 3.3 and 3.2 are also confirmed.

Simulation

In order to assess proposed control, a simulation has been carried out with the parameters of a typical small camera:

J = ⎡ ⎣
0.0015 0.0003 0.0002 0.0001 0.003 0.0003 0.0002 0.0004 0.0025

⎤ ⎦ . ( 23
)
The control law parameters have been fixed, as follows:

• K θ = 10 • K ω = 10 • 1 = 10 -4 ⎡ ⎣ 1 0 0 0 1 0 0 0 1 ⎤ ⎦ • 2 = 10 -5 ⎡ ⎣ 1 0 0 0 1 0 0 0 1 ⎤ ⎦ .
The adaptive integrations initial values are set to

J1 (0) = ⎡ ⎣ 0.001 0 0 0 0.001 0 0 0 0.001 ⎤ ⎦ ( 24
)
and

J2 (0) = ⎡ ⎣ 0 0 0 0 0 0 0 0 0 ⎤ ⎦ .
Notice that the sum of those inertia matrices is quite different from the simulated payload inertia matrix exposed in Equation ( 23). This is done to simulate a payload change in operation without modifying any control parameter.

The simulated ISP system is supposed to be designed for payloads that verify J 2 < J 2 max = 0.0005.

Path following

The entire control algorithm is proven from the very beginning up to Section 5 since the assessment of the last part would require a real experimentation. A typical expected trajectory is first designed. It consists in drawing a circle around the Xaxis with a constant coning angle of π/4 rad and a rotation speed of π/10 rad.s -1 It is shown with the executed trajectory in Figure 5. One can notice that the control moves the gimbal well to the expected position even if the initial conditions are fully opposite. This observation is reflected in Figure 6. It can be noticed that the trajectory is very smooth, which makes the control particularly suitable for the intended application. It can also be observed that the errors converge very quickly.

The resulting control is exposed in Figure 7. It turns out to be of very small amplitude, which ensures a low energy consumption.

ĵ estimation

Inertial matrix is estimated by integration of Equations ( 18) and ( 19). J evolution is shown in Figure 8. It can be seen that all Ĵ components converge very quickly although they do not necessarily reach their true value. The estimation may be much more precise in real world thanks to vibration noise. However, since reaching these values is not necessary, the result is satisfactory.

ω error

The error due to ω is balanced following the Sliding Mode idea. Figure 9 shows the obtained control when the expected rotation speed is 10 times greater (i.e. π rad.s -1 ). It can be seen that, as expected, the control is noisier. However, obtained trajectory remains acceptable as shown in Figure 10. Error amplitude can be greatly reduced by increasing the control gains. This is nevertheless unnecessary as such rotation speed is yet too high to produce a clear film and would only be necessary when switching from one shot to another.

Adaptive control law interest

The interest of proposed adaptive control law is assessed by comparison with a more conventional law. This latter is obtained deactivating the adaptive law and applying the variables change exposed in Equation (4). Equation ( 15) is replaced by following control law: where J is the expected inertia matrix. The comparison is done in two situations:

τ = J ( ωd -K ω e ω ) + ω × Jω -e θ ,
• In the same condition as the one exposed at the beginning of Section 4, fixing J to J1 (0) of Equation ( 24). The error evolution is exposed in Figure 11. One can notice that resulting system stabilisation is much slower than the one obtained with adaptive control law. • Fixing J and Ĵ1 (0) to

J = Ĵ1 (0) = ⎡ ⎣ 0.0005 0 0 0 0.0005 0 0 0 0.0005 ⎤ ⎦ .
The trajectory obtained from the control with deactivated adaptation is shown in Figure 12. It can be seen that the control does not manage to stabilise the trajectory to the expected path when the difference between expected and actual inertia matrices is too high. On the other hand, the adaptive control does it very well as demonstrated in Figure 13.

Relevance in practice

Simulation results detailed in Section 4 seem to prove the suitability of the adaptive approach developed in Section 3 for ISP control. However, ad-hoc tweaks of constants K θ , K ω , 1 , 2 may be necessary in the future in order to deal with noise, structure deformation, friction, residual unbalance, and other phenomena that have not been taken into account in the considered ideal model (Equation ( 3)). Parameters used during simulation were indeed chosen arbitrarily.

Torque projection

Each engine required torque can be hereafter extracted from the general torque obtained in equation ( 15). The following few assumptions about gimbal mechanism are made:

• It is well balanced • It is almost symmetrical • Its bearing's rotating friction is negligible • It is of brushless type.
Those assumptions imply that the payload attitude is insensitive to the gimbal base rotating motion. The dynamics chain can, therefore, be only examined starting from the payload up to the base.

Each motor of the intended ISP system is fitted with angular position sensors which enable to correctly orientate the stator magnetic field according to its rotor counterpart. This solution is a bit harder to implement than collocating a second IMU in the base. Nevertheless, it provides the exact motor's rotor position without drift and does not require any additional computing power for filtering.

The first, second and third motors are assumed to be placed, respectively, on payload X -, Y -and Z -axes. 2 Each frame of the gimbal is numbered starting with 0 for the support of the payload.

First motor (X-axis)

The first motor required torque τ m1 is

τ m1 = ⎡ ⎣ 1 0 0 ⎤ ⎦ τ .

Second motor (Y -axis)

General torque in frame 1 is first computed. The azimuth of motor 1 is noted θ m1 , which is given by the motor angular position sensor (positive when the payload rolls clockwise).

Corresponding rotation quaternion q m1 is computed as

q m1 = e θ m1 /2 ,
where θ m1 = lθ m1 0 0

.

The projection of torque τ on frame 1 is

τ 1 = q * m1 ⊗ τ ⊗ q m1 .
Applying the principle of action/reaction on the effect of motor 1, it leads to

τ 1 = ⎡ ⎣ -1 0 0 0 1 0 0 0 1 ⎤ ⎦ τ 1 .
Motor 2 must generate required torque τ 1 on top of the torque required to overcome inertia of frame 1. The relation exposed in Equation ( 3) is applied to frame 1

ω1 = J -1 1 τ 1 -J -1 1 ω 1 × J 1 ω 1 ⇔ τ 1 = J 1 ω1 + ω 1 × J 1 ω 1 ,
where τ 1 is the torque required to move frame 1. The total torque on frame 1 becomes

τ 1 = τ 1 + τ 1 = J 1 ω1 + ω 1 × J 1 ω 1 + τ 1 .
Only ω 1 and ω remains to be computed

ω 1 = θm1 + q * m1 ⊗ ω ⊗ q m1 .
And its derivative is

ω1 = θm1 + q * m1 ⊗ ω ⊗ q m1 + 1 2 q * m1 ⊗ ω ⊗ q m1 ⊗ θm1 - 1 2 θm1 ⊗ q * m1 ⊗ ω ⊗ q m1 = θm1 + q * m1 ⊗ ω ⊗ q m1 + 1 2 q * m1 ⊗ ω ⊗ q m1 ⊗ θm1 - 1 2 θ * m1 ⊗ q * m1 ⊗ ω ⊗ q m1 * = θm1 + q * m1 ⊗ ω ⊗ q m1 + q * m1 ⊗ ω ⊗ q m1 × θm1 .
The required torque of motor 2 is thereafter computed as

τ m2 = ⎡ ⎣ 0 1 0 ⎤ ⎦ τ 1 .

Third motor (Z-axis)

The third motor required torque assessment is performed following the same method as the second motor as exposed in Section 5.2. Noting θ m2 the motor 2 azimuth (positive when the payload pitch upward). The corresponding rotation quaternion q m2 is computed as

q m2 = e θ m2 /2 , where θ m1 = 0 θ m2 0
The projection of the torque τ on frame 1 is τ 2 = q * m2 ⊗ τ ⊗ q m2 . Then applying the principle of action/reaction on the effect of motor 1, it leads to

τ 2 = ⎡ ⎣ 1 0 0 0 -1 0 0 0 1 ⎤ ⎦ τ 2 .
Motor 2 must generate the torque τ 2

τ 2 = J 2 ω2 + ω 2 × J 1 ω 2 + τ 2 ,
where ω 2 = θm2 + q * m2 ⊗ ω ⊗ q m2 ω = θm2 + q * m2 ⊗ ω ⊗ q m2 + q * m2 ⊗ ω ⊗ q m2 × θm2 . Then the required torque of motor 2 is computed as

τ m2 = ⎡ ⎣ 0 0 1 ⎤ ⎦ τ 2 .

Conclusion

AfterhavingexposedtherequirementsofanewISPcontrol, an expression in quaternion form of the required orientation that fulfils t hese r equirements i s p roposed i n S ection 2.This quaternion form is converted in axis-angle form not to suffer any continuity issue which ensures the absence of any homoclinic-like instability [START_REF] Chaturvedi | Rigid-body attitude control[END_REF]. Furthermore, the entire process only requires one trigonometric calculation (i.e. in Equation ( 7), ln function is equivalent to a cos -1 [START_REF] Morais | Real quaternionic calculus handbook[END_REF])) compared to several computations for the classical methods. AnolinearadaptivecontrollawisproposedinSection3 as well as the necessary conditions to stabilise the system. This control law has the particularity to self-estimate the inertial matrix of its payload, which enables swapping this latter with another payload without any other modification required. The general torque obtained is lastly projected onto each motor axis in Section 5 to complete the control design. A simulation is carried out in the last Section 4 to assess the suitability of proposed control. Outcomes reveal that this latter is very promising both regarding followed path and response speed. It moreover allows installation of a broad range of payload without showing any instability issues.

A prototype is currently under construction to experiment control performances in a real application. It will indeed assess the robustness of the control design with gimbal base displacements.

If the control law has been developed for the gimbal particular application, it is implementable in every kind of systems with dynamics based on quaternion representation (i.e. Equation ( 3)). For instance, a quadcopter [START_REF] Carino | Quadrotor quaternion control[END_REF] would be advantageously controlled by such law to avoid a tedious and time-consuming estimation of its inertia matrix.

Figure 1 .

 1 Figure 1. Gimbal attitude parameters.

Figure 2 .

 2 Figure 2. First rotation.

Figure 3 .

 3 Figure 3. Second rotation.

Figure 4 .

 4 Figure 4. All rotations.

Figure 5 .

 5 Figure 5. Gimbal trajectory.

Figure 6 .

 6 Figure 6. e θ and e ω .

Figure 7 .

 7 Figure 7. Control response.

Figure 8 .

 8 Figure 8. Estimated inertial matrix Ĵ.

Figure 9 .

 9 Figure 9. Control response for increased rotation velocity ω.

Figure 10 .

 10 Figure 10. e θ and e ω for increased rotation velocity ω.

Figure 11 .

 11 Figure 11. e θ and e ω for deactivated adaptation.

Figure 12 .

 12 Figure12. e θ and e ω for deactivated adaptation, high inertia matrix error.

Figure 13 .

 13 Figure 13. e θ and e ω .


Iván González

Sergio Salazar

A Efraim

Rodriguez Mata

Filiberto Muñoz

Ricardo López

Rogelio Lozano

Iván González-Hernández

A E Rodríguez-Mata

Filiberto Mu ˜noz-Palacios

Enhanced robust altitude controller via integral sliding modes approach for a Quad-rotor aircraft: Simulations and Real-Time results

Keywords: Integral sliding mode control, Sliding mode technique, Robust altitude control, Nonlinear altitude control Quad-rotor aircraft, Embedded control system

établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

At present, the major advancements in the control of motion systems are due to the automatic control theory. The complexity of nonlinear feedback control challenges us to come up with systematic design procedures to meet control objectives and design specifications in scientific projects and research work. Nonlinear control is one of the biggest challenges in modem control theory [START_REF] Khalil | Nonlinear systems[END_REF][START_REF] Slotine | Applied Nonlinear Control[END_REF][START_REF] Edwards | Sliding mode control: theory and applications Taylor & Francis[END_REF]. It is well known that physical systems are nonlinear in nature. Uncertainties, time varying parameters, and input and output disturbances are important to challenge and these necessitate to use nonlinear control methods to design nonlinear controllers. Faced with such challenge, it is clear that we cannot expect one particular procedure to apply to all nonlinear systems. It is also unlikely that the hole design of a nonlinear feedback controller can be based on one particular tool. What a control engineer needs is a set of analysis and design tools that cover a wide range of situations. When working a particular application, the engineer will need to employ the tools that are most appropriate for the problem in hand. In this context, the sliding mode control which is a popular technique among control engineer practitioners is used due to the fact that introduces robustness to unknown bounded perturbations [START_REF] Efe | Robust Low Altitude Behavior Control of a Quadrotor Rotorcraft Through Sliding Modes[END_REF][START_REF] Benallegue | Feedback linearization and high order sliding mode observer for a Quadrotor UAV[END_REF][START_REF] Bouabdallah | Backstepping and slidingmode techniques applied to an indoor micro Quadrotor[END_REF][START_REF] Xu | Sliding mode control of a Quadrotor helicopter[END_REF].

A simple approach to robust control, and the main topic of this article, is the so-called sliding mode control methodology. For the class of systems to which it applies (for instance, air, land and sea vehicles) sliding controller design provides a systematic approach to the problem of maintaining stability and consistent performance in the face of modeling imprecisions. Furthermore, by allowing the trade-offs between modeling and performance to be quantified in a simple fashion, it can illuminate the whole design process [START_REF] Slotine | Sliding controller design for nonlinear systems[END_REF].

Sliding control has been successfully applied to robot manipulators, high-performance electric motors, underwater vehicles and Unmanned Aerial Vehicle (UAV). Unfortunately, an ideal sliding mode controller has a discontinuous switching function and it is assumed that the control signal can be switched from one value to another infinitely fast. In practical systems, it is impossible to achieve infinitely fast switching control because of finite time delays for the control computation and limitations of physical. Due to imperfect switching in practice it raises the issue of chattering which is highly undesirable. It appears as a high frequency oscillation near the desired equilibrium point and may excite the unmodelled high-frequency dynamics of the system. Due to these disadvantages of this control strategy it aims to add an integral action to this technique which results in the so well known integral sliding mode control. This type of strategy solves the problem in that the system trajectories start in the sliding surface from the first time instant [START_REF] Eker | Sliding mode control with integral action and experimental application to an electromechanical[END_REF][START_REF] Poznyak | Mini-max integral sliding-mode control for multimodel linear uncertain systems[END_REF][START_REF] Fridman | Decomposition of the minmax multi-model problem via integral sliding mode[END_REF][START_REF] Utkin | Integral sliding mode in systems operating under uncertainty conditions[END_REF].

As we know, the altitude control aerial vehicles is a very important point to highlight in particular when someone requires carry out tasks of supervision or aerial surveillance. There are very few works done, so far, in the areas of altitude determination, altitude prediction, and altitude control for Quad-rotors aircraft. During this time, it has been difficult to obtain reference material that provided a comprehensive overview of robust altitude controls. This lack of reference material has made it difficult for those not intimately involved in altitude functions to become acquainted with the ideas and activities which are essential to understanding the various aspects of spacecraft altitude support. Today, there exists insufficient literature about the problem of the altitude control design using integral sliding mode in the area of quadrotors. For instance, in the work by Nonaka and Sugizaki [START_REF] Nonaka | H Sugizaki, Integral Sliding Mode Altitude Control for a Small Model Helicopter with Ground Effect Compensation[END_REF], an integral sliding mode altitude control for a small model helicopter with ground effect compensation is proposed. The authors then present the implementation of an integral action on a robust control based on sliding modes for a conventional helicopter but the disadvantage of this type of platform is its complex structure which is constituted meanwhile in [START_REF] Efe | Robust Low Altitude Behavior Control of a Quadrotor Rotorcraft Through Sliding Modes[END_REF] the author has proposed a method to improve the altitude control of the Quad-rotor aircraft, using Sliding Mode Control for both translational and rotational dynamics of the Quad-rotor. This approach is based on implementing a smoothed sign function utilizing the approximation sign (s) ≈ s |s|+ε where ε > 0. Since the sliding mode entails s ≈ 0, the noise in the observed quantities becomes highly effective and the controller can generate unnecessarily large control signals. This is known as the chattering in the related literature [START_REF] Slotine | Applied Nonlinear Control[END_REF]. Utilizing the above approximation introduces a boundary layer and eliminates the undesired chattering phenomenon significantly.

The primary purpose of this paper is to provide an enhanced robust altitude controller using sliding mode where an integral action has been added in order to eliminate the steady-state error in the Quad-rotor aircraft to reach a desired altitude in outdoor environment.

Afterwards, the robust altitude controller is formulated and programming in real-time using an autopilot of last generation with all the instrumentation required to integrate the altitude control algorithm that corresponding. It also has been chosen for its insensitivity to the model errors, parametric uncertainties and external disturbances. Moreover, the vehicle built to test this robust altitude controller is shown in Fig. 1. Finally, some simulations and experimental studies are presented in order to compare this enhanced robust altitude algorithm with the traditional and conventional sliding mode control in dynamic responses of the closed-loop control system. This paper is organized as follows: Section 2 presents the dynamical model of the Quad-rotor aircraft by Euler-Lagrange approach. The enhanced robust altitude control algorithm using sliding mode with integral action and the corresponding stability analysis is presented in Section 3. The effectiveness of this controller proposed to the robust altitude control is evaluated and compared through of different simulations in Section 4 whereas in Section 5 experimental results from tests performed outdoor are evaluated. Finally, in Section 6 the conclusions are drawn.

Quadrotor Aircraft Modeling

In this section, the general dynamic model of a Quadrotor aircraft is presented. To start, a Quadrotor aircraft is a complex system that is lifted and propelled by four rotors. This type of aerial vehicles can be controlled by varying the relative speed of each rotor to change the thrust and torque produced by each. Quadrotors are classified as rotorcraft, as opposed to fixedwing aircraft, because their lift is derived from four rotors. The use of four rotors allows each individual rotor to have a smaller diameter than the equivalent single-rotor helicopter, allowing them to store less kinetic energy during flight and thus reduces the damage caused by the rotors hitting any objects. By enclosing the rotors within a frame, the rotors can be protected during collisions. In this type of vehicles, vertical motion is created by collectively increasing and decreasing the speed of all four rotors; pitch or roll motion is achieved by the differential speed of the front-rear set or the left-right set of rotors, coupled with lateral motion; yaw motion is realized by the different reaction torques between the (1,3) and (2,4) rotors as shown in Fig. 2.

Let I = {i I , j I , k I } be the inertial frame, B = {i B , j B , k B } denote a set of coordinates fixed to the rigid aircraft as is shown in Fig. 2. Let q = (x, y, z, φ, θ, ψ) T ∈ R 6 = (ξ, η) T be the generalized coordinates vector which describe the position and orientation of the flying machine, so the model could be separated in two coordinate subsystems: translational and rotational. They are defined respectively by ξ = (x, y, z) T ∈ R 3 : denotes the position of the vehicle's mass center relative to the inertial frame I.

η = (φ, θ, ψ) T ∈ R 3 : describe the orientation of the aerial vehicle, i.e. roll, pitch and yaw angles respectively.

Fig. 1 The Quadrotor aircraft experimental platform with embedded control system Fig. 2 The Quadrotor aircraft frames scheme

The model of the full Quadrotor aircraft (see [START_REF]Unmanned Aerial Vehicles: Embedded Control[END_REF]) is obtained from the Euler-Lagrange equations with external generalized force F B and generalized moment τ η where F I is the translational force applied to the Quad-rotor aircraft due to the control input. Then

F B = (0, 0, u) T ( 1
)
where u is the sum of mechanical thrust forces:

u = f 1 + f 2 + f 3 + f 4 with f i = k i ω 2 i for i=1,2,3,4, k i > 0 is a constant
and ω i is the angular speed of motor i, as shown in Fig. 2. This force vector can be expressed in the inertial frame as

F I = R B→I F B ( 2
)
where R B→I is the transformation of vectors from the body-fixed frame to the earth-fixed frame based on Euler angles and the rotation matrix defined by

R B→I = ⎛ ⎝ c θ c ψ s ψ c θ -s θ c ψ s θ s φ -s ψ c φ s ψ s θ s φ + c ψ c φ c θ s φ c ψ s θ s φ + s ψ c φ s ψ s θ s φ -c ψ c φ c θ c φ ⎞ ⎠ (3)
The generalized moments on the η variables are denoted by τ η = τ φ τ θ τ ψ T where

τ φ = (f 3 -f 1 ) l τ θ = (f 2 -f 4 ) l τ ψ = ((f 1 + f 2 ) -(f 3 + f 4 )) d (4)
where l is the distance to the center of gravity and d is the drag coefficient produced by coordinated reactive torque involving the four rotors because of the geometry of the Quad-rotor aircraft. Since the lagrangian contains no cross terms in the kinetic energy, combining ξ and η vectors in the Euler-Lagrange equation can be partitioned into the dynamics for the ξ coordinates and the η dynamics. So, we obtain

F I = m ξ + mg τ η = J η + J η -1 2 ∂ ∂η ηT J η (5)
Defining the Coriolis terms and gyroscopic and centrifugal terms as

C (η, η) η = J η - 1 2 ∂ ∂η ηT J η (6)
Finally, the dynamic model of the Quad-rotor aircraft is the following

⎛ ⎝ m ẍ m ÿ mz ⎞ ⎠ = ⎛ ⎝ -u sin θ u sin φ cos θ u cos φ cos θ ⎞ ⎠ + ⎛ ⎝ 0 0 -mg ⎞ ⎠ (7) J η = τ η -C(η, η) η (8)
where x and y are the coordinates in the horizontal plane and z is the vertical position, whereas that φ is the roll angle around the x-axis, θ is the pitch angle around the y-axis and ψ is the yaw angle around the z-axis. The control input u and the vector η = (φ, θ, ψ) T are the total thrust or collective input and the angular moments, respectively. Finally, J is the inertia tensor and C is the Coriolis force acting on the Quad-rotor aircraft.

Nonlinear Control Design

In this section we present a robust control law to stabilize the aerial vehicle to desired altitude. We will first present the enhanced robust altitude control which is based on sliding-mode technique with the integral action added. We then propose a pose control algorithm to keep the quadrotor aircraft in a fixed position in order to ensure the proper altitude control performance at a stationary point.

Enhanced Robust Altitude Control

Since altitude control concerns only in the dynamics of the z-axis, we can consider the z-dynamic described in Eq. 7, where

z = 1 m (u cos φ cos θ -mg ) (9)
or we can have the following state space variable set,

ż1 = z 2 ż2 = 1 m (u cos φ cos θ -mg) ( 10
)
To start, the design problem is to enforce the behavior of the system states towards the desired trajectories, which are known. Denote the reference trajectories by żd and z d which is velocity and altitude desired respectively. Afterwards, we define the tracking errors by e z = zz d , ėz = ż -żd and ëz = z -zd where z d is the desired altitude.

Integral Sliding Mode Controller

First of all, the sliding mode control with integral action scheme introduces a "sliding surface" along which the sliding motion is to take place. This surface is denoted by s and is defined as follow

s = d dt + λ e z + k I ∞ 0 e z dt s = ėz + λe z + k I ∞ 0 e z dt (11)
where λ > 0 is the slope of the sliding line and k I is the integral gain. And the derivative of the sliding surface in Eq. 11 can be given as

ṡ = ëz + λ ėz + k I e z ( 12
)

Stability Analysis

In order to provide stability about the equilibrium point, we propose the following Lyapunov function candidate as

V = 1 2 s 2 (13)
The time derivative of the Lyapunov function candidate in Eq. 13 can be computed as follows

V = s ṡ (14)
then, doing the mathematical operations corresponding, we have that

V = s (ë z + λ ėz + k I e z ) V = s (z -zd + λ (ż -żd ) + k I (z -z d )) (15)
after, we need that zd = 0 and żd = 0 therefore

V = s (z + λż + k I (z -z d )) (16)
then, substituting Eq. 9 in Eq. 16 leads to

V = s 1 m (u cos φ cos θ -mg )+λż+k I (z-z d ) (17)
Also, we can consider presence of bounded disturbances f (z, ż), as follows

V = s 1 m (u cos φ cos θ -mg) + λż+ +k I (z -z d ) + f (z, ż)) (18)
where we have to drive the variable s in Eq. 11 to zero in finite time by means of the control u. Therefore, assuming that

u = m (-λż -k I (z -z d ) + mg) cos φ cos θ + ν (19)
and substituting it into Eq. 18 we obtain

V = s (f (z, ż) + ν) = sf (z, ż) + sν ≤ |s| L + sν (20) then V ≤ |s| L + sν (21) selecting ν = -ρ sign (s) ( 22
)
where ρ > 0 and sign (s) = s |s| substituting into Eq. 21 we obtain

V ≤ |s| L + s -ρ s |s| = |s| L -|s| ρ (23) therefore V ≤ -|s| (ρ -L) (24)
Therefore, the robust control law u z proposed below will drive the Quad-rotor aircraft to the desired altitude,

u z = m (u SMC + mg) cos φ cos θ (25)
if and only if

ρ > L ( 26
)
where L is the upperbound of the external perturbation. This condition ensures a stable performance of the altitude control for the Quad-rotor aircraft in zaxis at a desired altitude. For simplicity the term u SMC includes the sliding mode action which is described as:

u SMC = -λż -k I (z -z d ) -ρ sign (s) (27)
From control law (25) described above, it follows that the pitch and roll angles must belong to φ, θ ∈ -π 2 , π 2 in order to avoid singular positions, which represents a real situation in hover flight. Then, using Eq. 25 into Eq. 9 we get

z = -λż -k I (z -z d ) -ρ sign (s) (28)
choosing the correct values of λ, k I and ρ in Eq. 28 ensures a stable performance of the altitude of the Quad-rotor aircraft.

Position Control

A two-level control is used to stabilize the position of the aerial vehicle. Let us consider the dynamics

Attitude Control

The yaw angular position ψ can be controlled by applying

τ ψ = -a ψ 1 ψ -a ψ 2 (ψ -ψ d ) (35)
where ψ d is the desired yaw angular position. Now, we propose a control law using saturation function in [START_REF] González | Chattering-Free Sliding Mode Altitude Control for a Quad-Rotor Aircraft: Real-Time Application[END_REF] for the roll and pitch control. This control law is used to avoid abrupt behavior in the performance of the Quadrotor aircraft.

τ φ = -σ φ 1 (k 1 φ 2 + σ φ 2 (k 2 (φ 2 + k 1 φ 1 ) +σ φ 3 (k 3 ((φ 2 + k 1 φ 1 ) + k 1 k 2 y 2 + k 2 φ 1 ) +σ φ 4 (k 4 ((φ 2 + k 1 φ 1 ) + k 1 k 2 y 2 + k 2 φ 1 ) +k 3 φ 1 + k 1 k 2 k 3 y 1 + (k 1 + k 2 ) k 3 y 2 )))) (36)
τ θ = -σ θ 1 (k 1 θ 2 + σ θ 2 (k 2 (θ 2 + k 1 θ 1 ) +σ θ 3 (k 3 ((θ 2 + k 1 θ 1 ) -k 1 k 2 x 2 + k 2 θ 1 ) +σ θ 4 (k 4 ((θ 2 + k 1 θ 1 ) -k 1 k 2 x 2 + k 2 θ 1 ) +k 3 θ 1 -k 1 k 2 k 3 x 1 -(k 1 + k 2 ) k 3 x 2 )))) (37)
where σ (s) is a saturation function is defined as

σ (s) = ⎧ ⎨ ⎩ M if s > M s if -M ≤ s ≤ M -M if s < -M (38)
Therefore, the three previous controls (altitude, attitude and position) ensure a favorable performance to execute the tests of the outdoor enhanced robust altitude algorithm in order to verify the efficiency of the quadrotor vehicle in an autonomous flight for a given altitude reference.

Simulations Results

In this section, we present the results obtained from a few simulations using the proposed sliding mode controller with integral action against conventional sliding mode control. A short list of the parameters of the integral sliding mode control law used in these simulations are briefly described in Table 1.

In the simulations, some external disturbances has been introduced to test stability robustness in the Sliding Mode technique for the altitude control of the Quad-rotor aircraft.

Altitude Simulation Results

The results of the simulation of the altitude control based on sliding mode conventional and with integral action are shown in Figs. 3, 4 and5. Moreover, a bounded disturbance (d) of the way d (t) = 0.15 sin (0.15t) has been introduced to test the efficiency of the proposed robust control algorithm. Figure 3 details the comparison between a conventional sliding mode and integral action added. Notice that the convergence of the current altitude of the aerial vehicle towards the provided reference is faster in the sliding mode with integral action than sliding mode conventional which means better performance. On the other hand, Fig. 4 illustrates a sliding mode control example for a desired altitude. The target is at 1.5 meters but there exists a steady-state error in the current altitude. Meanwhile in Fig. 5 we can observer that the Quadrotor aircraft is able to arrive at the reference without the steadystate error in the current altitude which shows a good performance of the proposed technique.

In addition, Figs. 6 and7 show additional information the control input (sliding mode control with integral action) applied to the Quadrotor aircraft to carry an altitude of 1.5m as well as the resultant velocity on the dynamics in the z-axis and the Fig. 9 Real-time altitude integral sliding mode control response of the Quadrotor aircraft. There no exists steady-state error Fig. 10 Velocity signal response using the integral sliding mode control asymptotic convergence error to zero which implies the proper operation of the controller. Is worth noting that, if a faster convergence is required only needs to increase the controller gains although in a realtime application can vary too much depending on the weight and distribution of the components in the aerial vehicle.

Real-Time Implementation and Results

In this section we present the results obtained when applying the enhanced robust altitude control law based on integral sliding mode proposed in the nonlinear control design. For this objective, we use the Quadrotor aircraft built (see Fig. 1), with a Futaba 2.4GHz Fig. 11 Control input signal applied to the Quadrotor aircraft using the conventional sliding mode control Fig. 12 Control input signal applied to the Quadrotor aircraft using the integral sliding mode control FASST radio system for transmitting the control signal to activate the automatic mode and start running the robust altitude control algorithm. In order to measure the position (x, y) and the attitude (φ, θ, ψ) of the Quad-rotor aircraft, we use the high-performance autopilot-on-module system (pixhawk) with an u-blox GPS module sensor. The benefits of the Pixhawk system include integrated multithreading, a Unix/Linux-like programming environment for real-time applications. While for altitude measurement (z), we use the precision micro-barometer module MS5611. This device is a high precision barometric pressure sensor which includes a linear pressure measurement element and an ultra-low power 24-bit ( ) A/D-converter with internal factory calibrated coefficients. The main function is to convert the proportional analogue voltage from the pressure measured to a 24-bit digital value, as well as providing a 24-bit value for the temperature. These values allow to obtain a resolution of 10cm thanks to the high-sensitivity that has to register a minimum change in the altitude measured. Also, the sensing principle employed leads to very low hysteresis and high stability of both pressure and temperature signal. To perform the test of the altitude control, we have the next initial conditions (z, ż) = (0, 0) where we consider a reference altitude of 1.5m with a wind 2.

To start, Figs. 8 and9 show a comparison of control performance for two different setpoints, the first one of 1m at time t = 2.5s and the second of 1.5m at time t = 15s using the conventional and integral sliding mode control, respectively. Notice that, it has reduced the steady-state error which is the main objective to be achieved with this technique enhanced control. Both figures show the development of the same instants experiments to demonstrate the efficiency of a technique against each other, respectively. Clearly, we can see an improvement in the altitude control response to reach the desired reference in the Quadrotor aircraft 0.0071 due to embedded high-resolution barometric pressure sensor implemented which presents an approximate error of ±5cm of error when carrying out the test flight. There is also an increase in the arrival of the aerial vehicle at intervals t = 2.5s and t = 15s for the assigned references. Then, with respect to Fig. 10 we can see the behavior of the linear velocity (z-axis) produced by running the test flight in the two set-points previously described for the time instants t = 2.5s and t = 15s where one can clearly observe the two velocities increments that correspond precisely to the instants in which the helicopter changes its altitude following the current reference. Notice that, the fast convergence to zero of the velocity signal demonstrates the efficiency of the added integral action in the altitude sliding mode control employed. Meanwhile Figs. 11 and 12 show the control signals applied to the Quadrotor aircraft using these two control techniques. As in the previous case, we can observe as the control signal obtained by the integral sliding mode control is smoother than that obtained with the conventional sliding mode control which means higher performance of the actuators (in this case; brushless motors) for good long-term operation.

Finally, Figs. 13 and 14 show as additional data the sliding surfaces generated by two control techniques, respectively. That may be of interest to observe the evolution of the response time of both controllers. Similarly, we can see a softer signal obtained by the conventional sliding mode technique but with integral action added. In this article, a enhanced robust altitude control based on integral sliding mode strategy for a Quadrotor aircraft has been proposed in order to eliminate the steadystate error in a desired altitude reference in a autonomous flying (Fig. 15). This control law was experimentally demonstrated in real-time under external perturbations such as little wind gusts. We also developed several simulations to find approximate gains for tuning the control algorithm programmed into the embedded control system and validate the robustness of the altitude algorithm proposed under the weather conditions that were presented at the time of outdoor testing. Using a control Lyapunov function was possible to obtain the robust altitude control law to stabilize the aerial vehicle and improving the response time to the desired altitude. Notice that, the quadrotor aircraft platform was built to perform the different experiments to demonstrate the efficiency of the robust altitude control. Finally, we consider that the altitude control is an important issue to execute critical tasks such as the landing and take-off of this kind of aircrafts.

Fig. 3 Fig. 4 Fig. 5 Fig. 6 Fig. 7

 34567 Fig. 3 Altitude Sliding Mode Control and Integral Sliding Mode signals comparison

Fig. 8

 8 Fig. 8 Real-time altitude sliding mode control response of the Quadrotor aircraft. There exists steady-state error

Fig. 13 Fig. 14

 1314 Fig. 13 Sliding surface signal obtained applying the typical sliding mode control

Fig. 15

 15 Fig.[START_REF] Slotine | Sliding controller design for nonlinear systems[END_REF] The Quadrotor aircraft flying at a particular altitude using integral sliding mode control autonomously

Table 1

 1 Simulations parameters for sliding mode control

	Parameters	Value
	Mass of the Quad-rotor aircraft, (m) [kg]	1 . 1
	Gravitational acceleration, (g) [m s 2 ]	9 . 8 1
	Reaching law parameter, (ρ)	0 . 8 0
	Slope parameter, (λ)	1 . 2 0
	Integral gain, (k I )	0 . 0 2

Table 2

 2 Integral Sliding Mode Control parameters

	Parameters	Value
	Mass of the Quad-rotor aircraft, (m) [kg]	1 . 2
	Gravitational acceleration, (g) [m s 2 ]	9 . 8 1
	Reaching law parameter, (ρ)	0 . 9 5
	Slope parameter, (λ)	1 . 3
	Integral gain, (k I )	0.045
	I xx , [kg • m 2 ]	0.0039
	I yy , [kg • m 2 ]	0.0041
	I

zz , [kg • m 2 ]