Next Article in Journal
Characterization of Reduced Graphene Oxide (rGO)-Loaded SnO2 Nanocomposite and Applications in C2H2 Gas Detection
Previous Article in Journal
Decentralized Integral-Based Event-Triggered Stabilization for Linear Plant with Actuator Saturation and Output Feedback
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Passivity-Based Control for a Micro Air Vehicle Using Unit Quaternions

by
Maria Eusebia Guerrero-Sanchez
1,2,*,
Hernan Abaunza
1,
Pedro Castillo
1,
Rogelio Lozano
1,
Carlos Garcia-Beltran
2 and
Alejandro Rodriguez-Palacios
2
1
Génie Informatique, Sorbonne Universités, Université de Technologie de Compiègne, CNRS, Heudiasyc UMR 7253, CS 60319, Compiègne cedex 60203, France
2
Department of Electronic Engineering, Centro Nacional de Investigacióny Desarrollo Tecnológico (CENIDET), Cuernavaca 62490, Mexico
*
Author to whom correspondence should be addressed.
Appl. Sci. 2017, 7(1), 13; https://doi.org/10.3390/app7010013
Submission received: 31 October 2016 / Revised: 6 December 2016 / Accepted: 13 December 2016 / Published: 23 December 2016

Abstract

:
In this paper the development and practical implementation of a Passivity-Based Control (PBC) algorithm to stabilize an Unmanned Aerial Vehicle (UAV) described with unit quaternions are presented. First, a mathematical model based on Euler-Lagrange formulation using a logarithmic mapping in the quaternion space is introduced. Then, a new methodology: a quaternion-passivity-based control is derived, which does not compute excessive and complex Partial Differential Equations (PDEs) for synthesizing the control law, making a significant advantage in comparison with other methodologies. Therefore, the control design to a system as the quad-rotor is easily solved by the proposed methodology. Another advantage is the possibility to stabilize quad-rotor full dynamics which may not be possible with classical PBC techniques. Experimental results and numerical simulations to validate our proposed scheme are presented.

1. Introduction

Many efforts have been made to model and control quad-rotor Unmanned Aerial Vehicles (UAVs). In recent years, a wide number of strategies have been developed to solve the stabilization problem for this type of system using different methodologies in terms of control techniques and modeling approaches, such as [1,2,3,4]. Several strategies based on Euler angles provide an intuitive and easy way to visualize the quad-rotor kinematic and dynamical properties, but some obstacles are found with this representation, for instance, certain orientations can not be defined due to mathematical singularities, also a problem known as “gimbal lock” exists, which consists on an infinite number of possible representations for a single rotation. A potential solution for this problem is the use of unit quaternions to represent the rigid body rotations.
In the last years, several researchers have explored unit quaternions as an alternative to avoid these kind of issues. For instance, a quaternion-based nonlinear P 2 controller, for solving the attitude problem of a quad-rotor is proposed in [5], the proposed control scheme performs very well with a very small overshoot and a very good reference tracking, however only numerical simulations are presented to prove the efficiency of the suggested scheme. In [6], a quaternion-based feedback is developed for the attitude stabilization of a quad-rotor. The control design takes into account a priori input bound and is based on nested saturations. The authors forced the closed-loop trajectories to enter in a fixed neighborhood around the origin in a finite time and remain thereafter. A quaternion-based nonlinear robust output feedback tracking controller is developed in [7] to address the attitude and altitude tracking problem of a quad-rotor, here, approximation components based on neural network are introduced to estimate the model uncertainties and robust feedback components are designed to compensate for external disturbances. Also, [8] investigates the attitude control design using backstepping technique for a quad-rotor represented by unit quaternions, external disturbance torques were taken into consideration, the attitude and the angular velocity of the quad-rotor were governed to be uniformly ultimately bounded by the proposed controller. Meanwhile, experimental results and implementation of a quaternion based attitude robust controller for quad-rotors are presented in [9]. Here, a state feedback controller which compensates nonlinearities and uncertainties is proposed, attenuating their effects in the closed-loop control system. A robust controller based on quaternion for the attitude control problem of quad-rotors with a nominal controller and a robust compensator is proposed in [10]. A quaternion based control scheme for the attitude control problem of a quad-rotor has been presented and experimentally evaluated in [11]. Recent works of quad-rotor’s control based on quaternions can be found in [12,13,14,15,16].
Few works based on PBC (Passivity-Based Control) strategies applied to UAVs can be found in the literature. For example in [17], the authors presented a nonlinear control technique based on passivity to solve the path tracking problem for the quad-rotor, but only one control loop was considered in their work. For this work Souza, et al. showed that the PBC formulation leads to a set of partial differential equations constraints due to the underactuation degree of the system. In [18] the authors proposed a controller based on an extension of Interconnection and Damping Assignment-Passivity Based Control (IDA-PBC) framework, for shaping the whole physical characteristics of a quad-rotor and for obtaining a desired interactive behavior between the vehicle and the environment. In [19] a passivity-based approach is designed for this vehicle. The authors reduced the problem to the longitudinal plane to avoid solving complicated PDEs (Partial Differential Equations). A passivity-based control for a quad-rotor transporting a cable-suspended payload is presented in [20]. Here, the problem is also reduced to the longitudinal plane to avoid complex PDEs. Finally, a passivity based controller for a PVTOL (Planar Vertical Take-Off and Landing) is introduced in [21].
On the one hand, observe in these works that it is not possible to use passivity-based strategies directly to control the vehicle’s full dynamics because certain passivity properties are not satisfied, i.e., when this methodology is used directly in the classical quad-rotors equations, then only the attitude can be stabilized. Nevertheless, controllers based on PBC can be used if the dynamics are modified, this requires the use of more complex algorithms and high computational cost implementations for just a partial stabilization. On the other hand, IDA-PBC strategy is designed for underactuated systems. However, it requires computing complex PDEs, many of which may have not solution. The design of an IDA-PBC for a quad-rotor has this problem. By avoiding the complex PDEs, we can only control the quad-rotor’s attitude.
Motivated by the aforementioned considerations, in this work we introduce a methodology to analyze the quad-rotor vehicle using a passivity-based control with unit quaternions. The PBC strategy is obtained from the mathematical model based on Euler-Lagrange formulation using a quaternion logarithmic mapping such that a fully actuated virtual system is proposed, then an attitude trajectory in the quaternion space is used to apply the mathematical restrictions inherent to the quad-rotor. The resulting control scheme does not compute excessive and complex PDEs and can be designed directly from the model and can control the full quad-rotor equations. The proposed approach has no issues with singularities and can be straightforwardly applied in real-time experiments.
The paper is organized as follows: A brief survey of the main concepts of unit quaternions and passivity is presented in Section 2. The representation of the quad-rotor dynamics in terms of unit quaternions is described with the logarithmic mapping in Section 3. The quaternion-passivity-based control is developed in Section 4. Numerical simulations are presented in Section 5. Real-time experimental results are shown in Section 6. Conclusions and perspectives are finally given in Section 7.

2. Preliminaries

2.1. Quaternion Background

A quaternion is basically a type of complex number that consists of four values, one of which is real, while the other three are imaginary [22,23,24,25]. The quaternion space is denoted by H . Let q be a quaternion expresses by:
q = q 0 + q ¯ = q 0 + q 1 q 2 q 3 , q 0 R , q ¯ R 3
where q ¯ represents the complex vectorial part of q , and q 0 denotes the scalar part of q . Note that if q 0 = 0 , then q = q ¯ , thus q R 3 , this implies that R 3 is a subset of H in which q 0 = 0 .
The quaternion basic operations are:
  • Quaternion multiplication
    q r = q 0 r 0 - q ¯ · r ¯ + r 0 q ¯ + q 0 r ¯ + q ¯ × r ¯
    where r is also a quaternion.
  • Norm of a quaternion q
    | | q | | = q q * = q 0 2 + q 1 2 + q 2 2 + q 3 2
    In the case that | | q | | = 1 , q represents an unit quaternion.
  • Quaternion conjugate
    q * = q 0 - q ¯
  • Quaternion inverse
    q - 1 = | | q | | - 1 q *
    If q is unitary, then the inverse and the norm are equivalent.
  • The derivative of a quaternion
    q ˙ = 1 2 q ω
    where ω represents the angular velocity.
Any vector in a three-dimensional space can be rotated from one reference frame to another (for example a body frame), i.e.,
v = q * v q
where v R 3 and v R 3 are in the fixed and body frames respectively.
Any rotation can be expressed by its axis-angle representation, which is composed by a direction vector e ¯ R 3 , | | e ¯ | | = 1 and its angle θ R , as depicted in Figure 1. This yields to a single vector θ ¯ = θ e ¯ with θ ¯ R 3 .
The Euler-Rodrigues Formula then relates this rotation vector to a unit quaternion as
q = cos ( θ / 2 ) + e ¯ sin ( θ / 2 )
A logarithmic mapping can be used to change any unit quaternion to the axis-angle representation
θ ¯ = 2 ln q , θ ¯ ˙ = ω ,
where
ln q = ln | | q | | + q ¯ | | q ¯ | | arccos q 0 | | q | | , | | q ¯ | | 0 ln | | q | | , | | q ¯ | | = 0
Note that (2) implies that | | q | | = 1 , thus the scalar part of the quaternion logarithm is zero, implying that ln q R 3 q q 0 = 0 .

2.2. Passivity-Based Control Approach

Passivity is a fundamental property exhibited by many physical systems which involves energy dissipation and transformation. It is related to the notion of stability in an input-output sense, that is, a system is stable if bounded input energy supplied to the system produces bounded output energy. Passivity-based control methodology relies on synthesizing control law which render the closed loop system passive [26].
Let us consider a system described as follows
x ˙ ( t ) = f ( x ) + g ( x ) u ( t ) y ˜ ( t ) = h ( x )
where x R n , u R m and y ˜ R m , f ( x ) , g ( x ) and h ( x ) are smooth functions. There is a function w u , y ˜ called supply rate, such that is locally integrable, i.e.,
t 0 t 1 w u t , y ˜ t d t < , t 0 t 1
If there is a function H ( x ) 0 , H ( 0 ) = 0 , such that
H ( x ( t 1 ) ) - H x ( t 0 ) = t 0 t 1 w u t , y ˜ t d t - d ( t )
then, (3) is said to be a dissipative system. When w u t , y ˜ t = y ˜ T t u t , (3) represents a passive system. Here, H ( x ) represents the storage function and d ( t ) is the dissipated energy function. For the system (3), passivity is equivalent to the existence of a scalar H ( x ) such that,
x H T f ( x ) 0 , h ( x ) = g T ( x ) x H

2.3. Classical Algorithm Applied to a Quad-Rotor

The PBC strategy seen in the Section 2.2 can not be applied directly to a quad-rotor, since the vehicle is a under-actuated system. However, the approach IDA-PBC (for further details, the interested reader is referred to [27]) if can be applied. Hence the main difficulty is in the solution of complex PDEs, which often can not be computed. Also, it is only possible to stabilize the attitude of the quad-rotor.
We briefly review a classical procedure to design a IDA-PBC algorithm to stabilize a quad-rotor without using quaternions (for further details, the interested reader is referred to [18]).
From the Euler-Lagrange formulation the dynamic model of a quad-rotor can be expressed as
M ( λ ) λ ¨ + D ( λ , λ ˙ ) λ ˙ + G = B ( λ ) u
where the state vector λ = p T η T T , p = x y z T denotes the position of the UAV, η = ψ θ ϕ T are the Euler angles yaw, pitch and roll, respectively. The input vector u = f th τ T , f th is the total thrust magnitude and τ = τ x τ y τ z T . The matrix B ( λ ) is given as
B = s ϕ s ψ + c ϕ c ψ s θ c ϕ s θ s ψ - c ψ s ϕ c θ c ϕ 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 T
Matrices M ( λ ) , D ( λ , λ ˙ ) and the vector G are defined in [28]. Notice that matrix B ( λ ) is not invertible. Then, if we applied the potential energy-shaping procedure of IDA-PBC, we can get the energy-shaping term as [27]
u es = ( B T B ) - 1 B T ( λ V - λ V d )
where V denotes the potencial energy and V d the desired potencial energy.
The desired potential energy can be obtained from [27]
B λ V - λ V d = 0
A popular choice for the full rank left annihilator B is [18]
B = 0 - 1 c ϕ s θ s ψ - c ψ s ϕ c θ c ϕ 0 0 0 - 1 0 s ϕ s ψ + c ψ c ϕ s θ c θ c ϕ 0 0 0
Thus, substituting the above into (7), it follows that
y V d - c ϕ s θ s ψ - c ψ s ϕ c θ c ϕ z V - z V d = 0 x V d - s ϕ s ψ + c ψ c ϕ s θ c θ c ϕ z V - z V d = 0
The previous implies the next simple solution
V d ( λ ) = - V + ϕ ( ϕ , θ , ψ )
where ϕ ( ϕ , θ , ψ ) is an arbitrary differentiable function that is selected to be a quadratic function.
Introducing (8) into (6) it can be observed that is only possible to control the attitude of the quad-rotor. Several solutions to stabilize the full dynamics can be found in the literature, for example [17], nevertheless they propose to rewrite the model in some special forms to apply their approach. Our contribution to solve this problem is to design a control strategy using a logarithmic mapping and an attitude trajectory in the quaternion space. This allows to stabilizes all the system states without any assumptions in the model.

3. Quad-Rotor Quaternion Dynamic Model

The body diagram of a quad-rotor can be drawn as in Figure 2.
Let us consider an inertial coordinate frame I = { e x , e y , e z } fixed to the ground, a body fixed coordinate frame β = { e x b , e y b , e z b } . Then, the vector ξ = p θ ¯ T R 6 defines all the states variables of the quad-rotor, where p = x y z T defines the position vector with respect to the inertial frame, θ ¯ = 2 ln ( q ) denotes the rotation quaternion expressed in its axis-angle notation. f ¯ th = 0 0 f th T defines the thrust vector generated by the four rotors, g ¯ = 0 0 - g T represents the gravity vector, τ = τ x τ y τ z T contains the torques applied to the body’s center of mass, expressed on the aerial vehicle in the body-fixed frame.

3.1. Euler-Lagrange Methodology

The Lagrangian equation is known to be the difference between the kinetic and potential energies
L = K - V ,
We can obtain the motion equations applying the following expression
d d t L ξ ˙ - L ξ = u u ,
where u u = [ f u T τ u T ] T represents the input vector, f u expresses the input force with respect to the inertial frame and τ u denotes the input torque to be computed by the control law.

3.1.1. Kinetic Energy

The total kinetic energy is obtained by the sum of the translational and rotational kinetic energies, which are obtained using the translational and rotational velocities respectively,
K UAV = 1 2 m p ˙ T p ˙ + 1 2 θ ¯ ˙ T J θ ¯ ˙ ,
where m denotes the vehicle’s mass, and J represents the inertia matrix.

3.1.2. Potential Energy

The potential energy is described by the product of the mass, the gravity g, and the height z (the position in the vertical axis in the inertial frame)
V = m g z .

3.1.3. Lagrangian Expression

Substituting (11) and (12) into (9) the Lagrangian equation becomes
L = 1 2 m p ˙ T p ˙ + 1 2 θ ¯ ˙ T J θ ¯ ˙ - m g z ,
Solving (13) with (10) the dynamic equations are obtained as
f u τ u = m p ¨ - m g ¯ J θ ¯ ¨ .
Thus, the dynamic model can be expressed in matrix form as follows
M ξ ¨ + G ( ξ ) = u u ,
where the inertia matrix is given by
M = m I 3 × 3 0 3 × 3 0 3 × 3 J
which is symmetric and positive definite. The gravitational vector is given by
G ( ξ ) = 0 0 m g 0 0 0 T ,

3.2. Coupled Dynamics Strategy

Notice that the quad-rotor is an under-actuated system, then the force f u which is expressed in the inertial frame, is the force f ¯ th rotated using a quaternion double product
f u = q f ¯ th q *
Since the angular acceleration is given by the external torques and the internal rotational dynamics, then by Newton’s equations of motion, it follows that
θ ¯ ¨ = ω ˙ = J - 1 ( τ - ω × J ω )
thus the relation between the computed control input τ u from (14) and the actual applied torque τ from (19) becomes
τ u = τ - ω × J ω .
It is known that the translational and rotational dynamics of the quad-rotor are coupled such that the direction of the total force f u depends only on the orientation of the UAV given by q , while its magnitude is equal to the total force given by the four rotors | | f ¯ th | | , see Figure 2 and Equation (18). Then a rotation θ ¯ d = e ¯ d θ d must exist such that f ¯ th is transformed into f u in the inertial frame.
If the scalar product between these two vectors is defined as
f ¯ th · f u = | | f u | | b · f u = | | f u | | 2 cos ( θ d )
where b = [ 0 0 1 ] T denotes the axis on which the thrust acts in the body frame. The cross product is expressed by
f ¯ th × f u = | | f u | | b × f u = | | f u | | 2 sin ( θ d ) e ¯ d
Using some trigonometric identities to introduce (21) and (22) into the Euler-Rodrigues Formula from (2), a quaternion attitude trajectory q d can be introduced as
q d = ( b · f u + | | f u | | ) + b × f u | | ( b · f u + | | f u | | ) + b × f u | | f th = | | f u | | ,
which is used to close the loop such that the orientation of f ¯ th coincides with f u thus the position is stabilized in the desired reference.

4. PBC Methodology for a Quad-Rotor Using Quaternions

The development of the mathematical model using quaternions simplifies the control law design. In the sense that the proposed control law is such that the quad-rotor system can be analyzed and controlled as a fully-actuated system. Also, the proposed control law avoids the issues with singularities.
The idea is to apply the PBC approach to (15). Thus, the total energy is
H ( ξ , ξ ˙ ) = 1 2 ξ ˙ T M ξ ˙ + V ( ξ )
In PBC methodology, the control input is naturally decomposed into two terms
u u = u es ( ξ ) + u di ( ξ ˙ )
where the first term is designed to achieve the energy-shaping and the second one injects the damping.
From (4) notice that if we can find u es such that
- 0 t u es T ξ ( t ) y ˜ ( t ) d t = H a ξ ( t ) + k
for some H a ( ξ ) and some constant k, then the energy-shaping term u es will ensure that the map u es y ˜ is passive with the following form for the desired energy function
H d ( ξ , ξ ˙ ) = H ( ξ , ξ ˙ ) + H a ( ξ )
where H a ( ξ ) represents the supplied energy by the controller. We will require that the function H d has an isolated minimum at ξ * , that is
ξ * = arg min H d ( ξ , ξ ˙ )
The passive outputs for this system are the generalized velocities, that is y ˜ = ξ ˙ . The easiest way to shape the energy is by [29]
u es = ξ H ( ξ , ξ ˙ ) - K p ( ξ - ξ * )
where u es stabilizes ξ * with Lyapunov function the difference between the stored and supplied energies.
Then, introducing (29) and y ˜ = ξ ˙ into (26) we can obtain
H a ( ξ ) = - V ( ξ ) + 1 2 ξ - ξ * K p ξ - ξ * + k
where K p = K p T > 0 contains design parameters. Substituting (24) and (30) into (27), it follows that
H d ( ξ , ξ ˙ ) = 1 2 ξ ˙ T M ξ ˙ + 1 2 ξ - ξ * K p ξ - ξ *
The controller (29) can be rewritten as
u es ( ξ ) = ξ H ( ξ , ξ ˙ ) - ξ H d ( ξ , ξ ˙ )
From (32), we can ensure that the map u es y ˜ is passive with (31) as the desired energy function.
The damping injection term is given by
u di ( ξ ˙ ) = - K v ξ ˙
where K v = K v T > 0 contains design parameters.
To compute the final control law, consider that K p = K p t 0 3 × 3 0 3 × 3 K p r and K v = K v t 0 3 × 3 0 3 × 3 K v r . Now, we first determine the energy-shaping term u es from (32), which, in this case, takes the form
u es = - m g ¯ - K p t p - p d - 2 K p r ln q e
Note that the term q e = q q d * is the quaternion error between the actual orientation q and the desired reference q d * . If the control law is such that ln q e [ 0 0 0 ] T , then q e 1 + [ 0 0 0 ] T , which implies that the orientation of the UAV converges to the desired reference q q d * . Here p d denotes the desired position.
Hence, we determine the damping injection term u di from (33)
u di = - K v t p ˙ - p ˙ d - K v r θ ¯ ˙ - θ ¯ ˙ d
where θ ¯ d = 2 ln q d , and the matrices K i > 0 , i : p t , p r , v t , v r are composed by the tuning parameters. From (25) the control law is applied to the model (15) according to the following equivalence:
F u τ u = - m g ¯ - K p t p - p d - K v t p ˙ - p ˙ d - 2 K p r ln q e - K v r θ ¯ ˙ - θ ¯ ˙ d ,
The obtained control law in quaternion space guarantees the stabilization of all the system states without any change in the model or in the PBC strategy. From (8) can be observed that the PBC algorithm using Euler angles allows only to control the attitude.

Control Strategy Comparison

The comparison of various algorithms based on passivity applied to a quad-rotor are summarized on the Table 1.

5. Numerical Validation

In order to validate the proposed mathematical scheme, the model and control law were simulated in a computer programming environment.
The control gains were selected beginning from identity matrices and adjusted empirically such that stable behavior of the system was well appreciated. K p r and K p t are adjusted to ensure the convergence to the desired references for the attitude and position respectively, while K v r and K v t act by reducing the setting time and the overshoot for the rotational and translational dynamics respectively. The values applied on the simulation are the following
K p t = k p t I 3 × 3 , K p r = k p r I 3 × 3 K v t = k v t I 3 × 3 , K v r = k v r I 3 × 3
with k p t = 5 , k p r = 50 , k v t = 4 , and k v r = 10 .
Our research team makes every effort to validate most of our algorithms in real experimental platforms. One of the drones we commonly use for tests is the Parrot AR Drone 2 which is cheap and easy to handle for attitude and position experiments, and was modified with a software framework that is compatible with other quad-rotors that our team has developed for more specific applications. For this reason, the mass and inertia matrix for the Parrot AR Drone 2 were needed, thus obtained from [30], and used in our simulations.
J = 2 . 04016 0 0 0 1 . 56771 0 0 0 3 . 51779 × 10 4 g c m 3 m = 430 . 6 g

Simulation Results

A simulated experiment was designed in which a position reference is given to the quad-rotor. A sequence of five set-points are defined in a time lapse of 25 seconds, thus following a 1 meter square at 1 meter height as illustrated in Figure 3.
p d = 0 0 1 T ,     t < 5 1 0 1 T , 5 < = t < 10 1 1 1 T , 10 < = t < 15 0 1 1 T , 15 < = t < 20 0 0 1 T , 20 < = t
In order to proof in simulation the robustness to unknown bounded perturbations, additive uniformly distributed noise was considered with bounds empirically chosen between ± 0 . 5 m for the position, and between ± 5 % for the orientation, and translational and rotational velocities.
The feedback translational signals plus the additive noise close the loop to calculate the required force (see Figure 4a) to move the vehicle in the 3D (3-dimensional) space. Note in this figure that the force in the z axis is stabilized around m g = ( 0 . 4306 ) ( 9 . 81 ) = 4 . 22 N in order to maintain the vehicle’s altitude. The control torques are calculated such that the vehicle’s orientation q follows the trajectory q d , see Figure 4b.
The force in the inertial frame is then used to compute the orientation trajectory which will point the thrust force to the required direction in the inertial frame. Figure 5 illustrates the trajectory tracking for the vehicle’s attitude, illustrated in axis-angle representation for a better understanding, here, θ ¯ = 2 ln q , and θ ¯ d = 2 ln q d .
Finally, Figure 6 represents the translational stabilization. In the first one, the position for each axis is stabilized according to the reference.
The quality indicator IAE (Integral of Absolute Error) is chosen to compare the behavior and efficiency of the proposed controller with other control techniques for a quad-rotor using a quaternion representation of the attitude. PD (Proportional Derivative), LQR (Linear Quadratic Regulator) and backstepping control strategies presented in [12] are selected to compare them with the PBC strategy. The results of IAE are shown in Table 2.
We can observe that the quality indicators IAE for the four strategies are similar, i.e., they exhibit a very similar behavior. The two controller with better performance are PD and PBC for the positions x and y, Backstepping and PBC for the position z.

6. Flight Tests

Our proposed strategy was validated with real time indoor experiments using one of our laboratory’s Parrot AR Drone 2 vehicles (Vedio S1). This UAV’s firmware was modified to work under a software framework which runs a Linux-based operating system, capable of implementing a wide range of conceived control schemes. An OptiTrack motion capture system was used to estimate the vehicle’s position and translational velocity, which was communicated to the drone using a Wi-Fi LAN, while its internal Inertial Measurement Unit (IMU) was used to measure its attitude quaternion and angular velocity, this configuration was chosen to maintain a minimal bandwidth usage in the wireless communications.
A Sony DualShock 3 controller was used to input a 3-dimensional position and velocity trajectory, which was controlled by one of our team members using joysticks. The generated trajectory was set as the desired position for the drone. Figure 7 illustrates the UAV’s real trajectory and its reference in a real time experiment.
The trajectory given by the joystick is considerably fast, making strong movements to prove robustness. Notice the delay between the quad-rotor’s position and its reference when it is moving, and the convergence to the desired position when the reference is held static.
A desired control force is then computed using the position error, which is represented in Figure 8. The z component maintains a negative offset due to a compensation of the gravitational effects.
Since our framework is compatible with three different UAV configurations and models, the thrust force was set to be dimensionless. This means a force with norm 1 makes the motors output a maximum thrust, while norm 0 translates in no thrust force.
An attitude trajectory is now used to rotate the thrust force into the translational control law’s direction. The orientation controller then, assures the vehicle’s convergence to this reference. For a better visualization of the attitude dynamics, the equivalent Euler angles of the orientation error are illustrated in Figure 9a, Figure 10a, Figure 11a, note the stabilization of around zero.
Finally, Figure 9b, Figure 10b, Figure 11b represent the stabilization of the position error. Note the proposed control strategy well stabilizes the quad-rotor, even if the desired trajectories include strong displacements.

7. Conclusions

In this work, a mathematical model via the Euler-Lagrange formalism using the axis-angle attitude representation of a unit quaternion by its logarithmic mapping was presented. The mathematical model using quaternions was found to be a fully-actuated system and this simplifies the control law design.
A new methodology: quaternion-passivity-based control for a quad-rotor was presented. The proposed algorithm does not compute excessive and complex partial differential equations for obtaining the control law. The methodology can be designed directly from the model and can control the full quad-rotor dynamics.
The developed control scheme avoided the issues with singularities and was found to perform with good results for the control objective, as shown in the simulations and real-time results.
Future works include the use of this strategy for aerial manipulation tasks.

Supplementary Materials

The following are available online at: www.mdpi.com/2076-3417/7/1/13/s1, Video S1: Passivity-Based Control for a Micro Air Vehicle Using Unit Quaternions.

Author Contributions

Maria Eusebia Guerrero-Sanchez and Rogelio Lozano designed the controller; Hernan Abaunza and Pedro Castillo performed the experiments; Carlos Garcia-Beltran and Alejandro Rodriguez-Palacios wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Zou, Y. Nonlinear Robust Adaptive Hierarchical Sliding mode Control Approach for Quadrotors. Int. J. Robust Nonlinear Control 2016. [Google Scholar] [CrossRef]
  2. Rajappa, S.; Masone, C.; Bulthoff, H.H.; Stegagno, P. Adaptive Super Twisting Controller for a Quadrotor UAV. In Proceedings of the IEEE International Conference on Robotics and Automation, Stockholm, Sweden, 16–21 May 2016.
  3. Sheng, S.; Sun, C. Nonlinear Adaptive Rotational Speed Control Design and Experiment of the Propeller of an Electric Micro Air Vehicle. Appl. Sci. 2016, 6, 1–10. [Google Scholar] [CrossRef]
  4. Sheng, S.; Sun, C. A Near-Hover Adaptive Attitude Control Strategy of a Ducted Fan Micro Aerial Vehicle with Actuator Dynamics. Appl. Sci. 2015, 5, 666–681. [Google Scholar] [CrossRef]
  5. Fresk, E.; Nikolakopoulos, G. Full Quaternion Based Attitude Control for a Quadrotor. In Proceedings of the IEEE European Control Conference (ECC), Zurich, Switzerland, 17–19 July 2013.
  6. Bangura, M.; Mahony, R. An Open-Source Implementation of an Unit Quaternion based Attitude and Trajectory Tracking for Quadrotors. In Proceedings of the Australasian Conference on Robotics and Automation, Melbourne, Australia, 2–4 December 2014.
  7. Xian, B.; Diao, C.; Zhao, B.; Zhang, Y. Nonlinear Robust Output Feedback Tracking Control of a Quad-rotor UAV Using Quaternion Representation. Nonlinear Dyn. 2015, 79, 2735–2752. [Google Scholar] [CrossRef]
  8. Huo, X.; Huo, M.; Karimi, H.R. Attitude Stabilization Control of a Quadrotor UAV by Using Backstepping Approach. Math. Probl. Eng. 2014, 2014. [Google Scholar] [CrossRef]
  9. Liu, H.; Wang, X.; Zhong, Y. Quaternion-Based Robust Attitude Control for Uncertain Robotic Quadrotors. IEEE Trans. Ind. Inform. 2015, 11, 406–415. [Google Scholar] [CrossRef]
  10. Liu, H.; Wang, X. Quaternion-Based Robust Attitude Control for Quadrotors. In Proceedings of the 2015 International Conference on Unmanned Aircraft Systems (ICUAS 2015), Denver, CO, USA, 9–12 June 2015; pp. 920–925.
  11. Fresk, E.; Nikolakopoulos, G. Experimental Evaluation of a Full Quaternion Based Attitude Quadrotor Controller. In Proceedings of the IEEE 20th Conference on Emerging Technologies and Factory Automation (ETFA), Luxembourg, 8–11 September 2015; pp. 1–4.
  12. Chovancová, A.; Fico, T.; Hubinský, P.; Duchon, F. Comparison of various quaternion-based control methods applied to quadrotor with disturbance observer and position estimator. IEEE Robot. Auton. Syst. 2016, 79, 87–98. [Google Scholar] [CrossRef]
  13. El-Badawy, A.A.; Bakr, M.A. Quadcopter aggressive maneuvers along singular configurations: An energy- quaternion based approach. J. Control Sci. Eng. 2016, 2016, 1–10. [Google Scholar] [CrossRef]
  14. Bo, G.; Xin, L.; Hui, Z.; Ling, W. Quadrotor helicopter Attitude Control using cascade PID. In Proceedings of the Chinese Control and Decision Conference (CCDC), Yinchuan, China, 28–30 May 2016; pp. 5158–5163.
  15. Artale, V.; Collotta, M.; Milazzo, C.; Pau, G.; Ricciardello, A. Real-Time System based on a Neural Network and PID Flight Control. Appl. Math. Inf. Sci. 2016, 10, 395–402. [Google Scholar] [CrossRef]
  16. Arellano, C.A.; Loukianov, B.C.A.G.; Luque, L.F.; Gonzalez, L.E. Quaternion-based Trajectory Tracking Robust Control for a Quadrotor. In Proceedings of the 10th System of Systems Engineering Conference, San Antonio, TX, USA, 17–20 May 2015; pp. 386–391.
  17. Souza, C.; Raffo, G.V.; Castelan, E.B. Passivity Based Control of a Quadrotor. In Proceedings of the 19th World Congress The International Federation of Automatic Control (IFAC), Cape Town, South Africa, 24–29 August 2014; pp. 24–29.
  18. Yuksel, B.; Secchi, C.; Ulthoff, H.H.; Franchi, A. Reshaping the physical properties of a quadrotor through IDA-PBC and its application to aerial physical interaction. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Hong Kong, China, 31 May–7 June 2014.
  19. Guerrero, M.E.; Lozano, R.; García, C.D. Control Basado en Pasividad para un quadrotor UAV. In Proceedings of the IEEE Congreso Nacional de Control Automático (AMCA), Morelos, Mexico, 14–16 October 2015.
  20. Guerrero, M.E.; Mercado, D.A.; Lozano, R.; García, C.D. Passivity Based Control for a Quadrotor UAV Transporting a Cable-Suspended Payload with Minimum Swing. In Proceedings of the 2015 IEEE 54th Annual Conference on Decision and Control (CDC), Osaka, Japan, 15–18 December 2015.
  21. Venkatesh, C.; Mehra, R.; Kazi, F.; Singh, N.M. Passivity Based Controller for Underactuated PVTOL System. In Proceedings of the 2013 IEEE International Conference on Electronics, Computing and Communication Technologies (CONECCT), Bangalore, India, 17–19 January 2013.
  22. Spring, K.W. Euler parameters and the use of quaternion algebra in the manipulation of finite rotations: A review. Mech. Mach. Theory 1986, 21, 365–373. [Google Scholar] [CrossRef]
  23. Campa, R.; Camarillo, K. Unit quaternions: A mathematical tool for modeling, path planning and control of robot manipulators. In Robot Manipulators; Ceccarelli, M., Ed.; In-Teh: Torreon, Mexico, 2008; pp. 21–48. [Google Scholar]
  24. Kuipers, J.B. Quaternions and Rotation Sequences; Princeton University Press Princeton: Princeton, NJ, USA, 1999. [Google Scholar]
  25. Goldstein, H. Classical Mechanics; Pearson Education India: Bengaluru, India, 1962. [Google Scholar]
  26. Ortega, R.; Loría, J.A.; Nicklasson, P.J.; Sira-Ramirez, H. Passivity-Based Control of Euler-Lagrange Systems; Sprinher: New York, NY, USA, 1998. [Google Scholar]
  27. Ortega, R.; van der Schaft, A.; Maschke, B.; Escobar, G. Interconnection and damping assignment passivity-based control of port-controlled hamiltonian systems. Automatica 2002, 38, 585–596. [Google Scholar] [CrossRef]
  28. Castillo, P.; Lozano, R.; Dzul, A. Stabilization of a Mini Rotorcraft with Four Rotors. IEEE Control Syst. Mag. 2005, 25, 45–55. [Google Scholar] [CrossRef]
  29. Ortega, R.; Mareels, I. Energy-Balancing Passivity-Based Control. In Proceedings of the 2000 American Control Conference, Chicago, IL, USA, 28–30 June 2000; pp. 1265–1270.
  30. Sun, Y. Modeling, Thesis Project: Identification and Control of a Quad-rotor Drone using Low-Resolution Sensing; University of Illinois: Champaign, IL, USA, 2012. [Google Scholar]
Figure 1. Axis-angle representation of a rotation.
Figure 1. Axis-angle representation of a rotation.
Applsci 07 00013 g001
Figure 2. Quad-rotor free body diagram.
Figure 2. Quad-rotor free body diagram.
Applsci 07 00013 g002
Figure 3. Quad-rotor’s translation in 3D (3-dimensional) space.
Figure 3. Quad-rotor’s translation in 3D (3-dimensional) space.
Applsci 07 00013 g003
Figure 4. Control inputs. (a) Control Forces; (b) Control Torques.
Figure 4. Control inputs. (a) Control Forces; (b) Control Torques.
Applsci 07 00013 g004
Figure 5. Vehicle’s attitude and reference quaternions expressed in axis-angle representation. (a) Quad-rotor’s attitude reference tracking for x axis; (b) Quad-rotor’s attitude reference tracking for y axis; (c) Quad-rotor’s attitude reference tracking for z axis.
Figure 5. Vehicle’s attitude and reference quaternions expressed in axis-angle representation. (a) Quad-rotor’s attitude reference tracking for x axis; (b) Quad-rotor’s attitude reference tracking for y axis; (c) Quad-rotor’s attitude reference tracking for z axis.
Applsci 07 00013 g005
Figure 6. Quad-rotor’s translation responses.
Figure 6. Quad-rotor’s translation responses.
Applsci 07 00013 g006
Figure 7. Quad-rotor’s position in 3D space.
Figure 7. Quad-rotor’s position in 3D space.
Applsci 07 00013 g007
Figure 8. Quad-rotor’s control forces in dimensionless units.
Figure 8. Quad-rotor’s control forces in dimensionless units.
Applsci 07 00013 g008
Figure 9. Quad-rotor’s roll and x axis error stabilization. (a) Quad-rotor’s roll error stabilization; (b) Position error in the x axis.
Figure 9. Quad-rotor’s roll and x axis error stabilization. (a) Quad-rotor’s roll error stabilization; (b) Position error in the x axis.
Applsci 07 00013 g009
Figure 10. Quad-rotor’s pitch and y axis error stabilization. (a) Quad-rotor’s pitch error stabilization; (b) Position error in the y axis.
Figure 10. Quad-rotor’s pitch and y axis error stabilization. (a) Quad-rotor’s pitch error stabilization; (b) Position error in the y axis.
Applsci 07 00013 g010
Figure 11. Quad-rotor’s yaw and z axis error stabilization. (a) Quad-rotor’s yaw error stabilization; (b) Position error in the z axis.
Figure 11. Quad-rotor’s yaw and z axis error stabilization. (a) Quad-rotor’s yaw error stabilization; (b) Position error in the z axis.
Applsci 07 00013 g011
Table 1. Qualitative comparison of control algorithms based on passivity applied to a quad-rotor.
Table 1. Qualitative comparison of control algorithms based on passivity applied to a quad-rotor.
CharacteristicReferences
[17][18][19][20][21]Our work
The algorithm avoids complicated PDEs 1××××
Quad-rotor full dynamics control×
There is not change in the UAV mechanical structure 2××
Simple real-time experiments××××
Three-dimensional maneuvers×××
The algorithm has no issues with singularities×××××
1 The control algorithm allows to compute the control law without solving complex PDEs. PDEs: Partial Differential Equations; 2 That is when the mechanical structure has not been modified in order to obtain coupling between longitudinal and lateral movements with roll and pitch motions. UAV: Unmanned Aerial Vehicle.
Table 2. Comparison of control strategies applied to a quad-rotor.
Table 2. Comparison of control strategies applied to a quad-rotor.
StrategyQuality Indicator IAE 1
I A E X I A E Y I A E Z
PD 112.9812.9612.31
LQR 113.3513.2613.15
Backstepping13.3013.3812.07
PBC 113.0813.0811.98
1 IAE: Integral of Absolute Error; PD: Proportional Derivative; LQR: Linear Quadratic Regulator; PBC: Passivity-Based Control.

Share and Cite

MDPI and ACS Style

Guerrero-Sanchez, M.E.; Abaunza, H.; Castillo, P.; Lozano, R.; Garcia-Beltran, C.; Rodriguez-Palacios, A. Passivity-Based Control for a Micro Air Vehicle Using Unit Quaternions. Appl. Sci. 2017, 7, 13. https://doi.org/10.3390/app7010013

AMA Style

Guerrero-Sanchez ME, Abaunza H, Castillo P, Lozano R, Garcia-Beltran C, Rodriguez-Palacios A. Passivity-Based Control for a Micro Air Vehicle Using Unit Quaternions. Applied Sciences. 2017; 7(1):13. https://doi.org/10.3390/app7010013

Chicago/Turabian Style

Guerrero-Sanchez, Maria Eusebia, Hernan Abaunza, Pedro Castillo, Rogelio Lozano, Carlos Garcia-Beltran, and Alejandro Rodriguez-Palacios. 2017. "Passivity-Based Control for a Micro Air Vehicle Using Unit Quaternions" Applied Sciences 7, no. 1: 13. https://doi.org/10.3390/app7010013

APA Style

Guerrero-Sanchez, M. E., Abaunza, H., Castillo, P., Lozano, R., Garcia-Beltran, C., & Rodriguez-Palacios, A. (2017). Passivity-Based Control for a Micro Air Vehicle Using Unit Quaternions. Applied Sciences, 7(1), 13. https://doi.org/10.3390/app7010013

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop