Trajectory Tracking for Quadrotors with Attitude Control on $\mathcal{S}^2 \times \mathcal{S}^1$
Dave Kooijman, Angela P. Schoellig, Duarte J. Antunes

TL;DR
This paper introduces a novel attitude control method for quadrotors using a representation on 2222 2222 2222 that decouples thrust and yaw control, improving stability and accuracy.
Contribution
It proposes a non-linear control law on 2222 2222 that achieves almost global stability and decouples thrust and yaw control, unlike traditional methods.
Findings
Simulation results demonstrate improved control performance.
Decoupling reduces yaw tracking errors.
Almost global asymptotic stability achieved.
Abstract
The control of a quadrotor is typically split into two subsequent problems: finding desired accelerations to control its position, and controlling its attitude and the total thrust to track these accelerations and to track a yaw angle reference. While the thrust vector, generating accelerations, and the angle of rotation about the thrust vector, determining the yaw angle, can be controlled independently, most attitude control strategies in the literature, relying on representations in terms of quaternions, rotation matrices or Euler angles, result in an unnecessary coupling between the control of the thrust vector and of the angle about this vector. This leads, for instance, to undesired position tracking errors due to yaw tracking errors. In this paper we propose to tackle the attitude control problem using an attitude representation in the Cartesian product of the 2-sphere and theâŠ
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Trajectory Tracking for Quadrotors with Attitude Control on
Dave Kooijman, Angela P. Schoellig, and Duarte J. Antunes Dave Kooijman and Duarte Antunes are with the Control Systems Technology group, Mechanical Engineering, Eindhoven University of Technology, The Netherlands. Emails: [email protected], [email protected] P. Schoellig is with the Dynamic Systems Lab (www.dynsyslab.org) at the University of Toronto Institute for Aerospace Studies (UTIAS), Canada. Email: [email protected] research has been partially funded by the European Regional Development Fund (ERDF) as part of OPZuid 2014-2020 under the Drone Safety Cluster project.
Abstract
The control of a quadrotor is typically split into two subsequent problems: finding desired accelerations to control its position, and controlling its attitude and the total thrust to track these accelerations and to track a yaw angle reference. While the thrust vector, generating accelerations, and the angle of rotation about the thrust vector, determining the yaw angle, can be controlled independently, most attitude control strategies in the literature, relying on representations in terms of quaternions, rotation matrices or Euler angles, result in an unnecessary coupling between the control of the thrust vector and of the angle about this vector. This leads, for instance, to undesired position tracking errors due to yaw tracking errors. In this paper we propose to tackle the attitude control problem using an attitude representation in the Cartesian product of the 2-sphere and the 1-sphere, denoted by . We propose a non-linear tracking control law on that decouples the control of the thrust vector and of the angle of rotation about the thrust vector, and guarantees almost global asymptotic stability. Simulation results highlight the advantages of the proposed approach over previous approaches.
I Introduction
Quadrotors have been the focus of much research in the past decade [1, 2, 3, 4]. Typically, the controller has a cascade architecture consisting of an inner- and an outer-loop controller for attitude and position control, respectively, see, e.g., [5] and [6]. The outer-loop controller is designed for a simple double integrator model, providing virtual accelerations to control the quadrotorâs positions. The actual accelerations result from the inner-loop controller, which controls the attitude of the quadrotor and the total thrust in order to track these accelerations and to track a yaw angle reference. An overview of this approach is given in Figure 1.
The strategies to control the attitude of the quadrotor, see e.g. [7, 8, 9, 10, 11, 12], i.e., to design the inner loop, often resort to general methods to control the attitude of a rigid body [13, 14, 15, 16]. For instance, the quaternion-based attitude control strategies in [13] and [14] are applied to quadrotors in [7, 8, 9]; control strategies on the special orthogonal group, described, e.g., in [17], are applied in [10] and [11]; and a quaternion-based hybrid control law for attitude tracking in [15] is applied in [12]. Note that, as stated in [18], any continuous state-feedback control law, using local coordinates, is not globally well defined. This leads to unwinding, where the controller unnecessarily rotates the attitude through large angles, instead of global asymptotic stability. Therefore, it is impossible to stabilize any equilibrium point in the 3D rotations manifold, motivating discontinuous control laws (see, e.g., [10]) and hybrid control laws (see, e.g., [15]).
However, these general attitude control strategies are not necessarily the most suitable to address the inner-loop quadrotor control problem. In fact, while the thrust vector of the quadrotor can be controlled independently of the angle of rotation about the thrust vector, which defines the yaw angle, these attitude control laws consider controlling the full attitude. This results in an unnecessary coupling between the control of the thrust vector and of the rotation about this vector. This is undesirable since a yaw error can result in a position error, and this is particularly noticeable for âslowâ quadrotors where the ratio between the maximum torque that can be applied about the thrust vector and the moment of inertia about this axis is small.
In this paper, we propose to tackle the attitude tracking problem with a different attitude parameterization intended to decouple the control of the thrust vector from the control of the angle about this vector. To this end, we provide a convenient homeomorphism between
[TABLE]
and
[TABLE]
where is the special orthogonal group of order three, is the 2-sphere and is the 1-sphere, formally , for . Where can be interpreted as the set of orientations considering all rotations around the vector , these orientations are excluded to be able to define a homeomorphism. This homeomorphism can be intuitively explained as follows. Given a rotation matrix in the special orthogonal group, which is not in , take the third column , which belongs to , and the representation of the first column in the vectors of the orthogonal space to defined by the parallel transport of and along the geodesic on between and (see Figure 2). Note that, for , with , corresponds to the normalized thrust vector, and is equal to when hovering, and determines the angle about the thrust vector.
We then show that by applying a suitable input transformation, and can be controlled independently. We propose tracking control laws for the tracking subproblems in and , considering the angular velocity as an input to the quadrotor. The proposed control law avoids coupling by construction. For differentiable attitude references, asymptotic convergence of the attitude tracking errors to zero as time converges to infinity is established, for every initial condition except at a single point, which has zero Lebesgue measure (following, e.g., [19] we call this almost global stability).
In order to show the advantages of the new inner-loop control approach for quadrotor control, we introduce a simple trajectory tracking control law for the outer-loop generating acceleration references. The advantages of the proposed control law are then highlighted through simulations.
At the time of writing we found similar decoupling approaches for the attitude control of quadcopters in the literature (see [20, 21, 22, 23]). Our approach differs from previous work in the parametrization we propose, which we believe provides a more natural way to define the rotation about the thrust vector.
This paper is organized as follows. Section II introduces the problem. The proposed approach is presented in Section III. Section IV discusses an outer-loop trajectory tracking strategy to control the overall model. Section V provides simulation results that show the advantages of the proposed solution compared to previous attitude control strategies for quadcopters, and conclusions are provided in Section VI.
II Problem formulation
Let denote a world fixed frame, and a body fixed frame centered at the vehicleâs center of mass. The third axis of , denoted by , is assumed to be aligned with the gravity vector, as is the third axis of , denoted by , when the quadrotor is hovering. Moreover, let and denote the position and velocity, respectively, of the center of mass of the quadrotor expressed in . Let R=\left[{\begin{array}[]{*{20}{c}}{r}_{1}&{r}_{2}&{r}_{3}\end{array}}\right]\in\mathcal{SO}(3) denote the attitude of relative to .
The forces acting on the quadrotor and expressed in the world fixed frame are assumed to be the gravity force, , where and denote the mass and gravitational acceleration; the thrust force , where denotes the total thrust generated by the blades. Therefore,
[TABLE]
where is the angular velocity expressed in , and for any , we let
[TABLE]
The thrust vector, defined as , can then be controlled by controlling the last column of the rotation matrix. Often in the literature, and also here one assumes that the angular velocity can be directly controlled by controlling the motor speeds, i.e., is the control input of the model. Alternatively, one can consider that the thrust generated by each propeller generates torques, denoted by , which are related to angular velocities by
[TABLE]
where denotes the inertia matrix.
II-A Reference trajectory
Consider a reference continuous in time that satisfies (1) for a given initial condition, i.e., a reference that the quadrotor can track exactly and such that the corresponding total thrust satisfies
[TABLE]
This defines a broad class of references, which we can consider with the tools provided in this paper, allowing acrobatic maneuvers where the angle between the gravity vector and is arbitrary. However, it will also be convenient to define the following subclass of references which we can easily parameterize and for which we can easily define a yaw angle relying on its orientation with respect to the gravity vector. These are references for which the angle between the normalized reference thrust vector, i.e., , and the gravity vector does not exceed , i.e.,
[TABLE]
for every . We can parameterize this class with the position reference and an auxiliary angle , which plays the role of the yaw reference angle. The position reference , for which the first three derivatives are assumed to exist if (1) is considered or the first four derivatives are assumed to exist if (1), (2) are considered, characterizes the third column of the rotation matrix , and the thrust , since, from the second equation in (1) we can write
[TABLE]
The reference angle , for which the first derivative is assumed to exist if (1) is considered or the first two derivatives are assumed to exist if (1), (2) are considered, is defined as the angle between and the projection of on . Therefore, it defines through
[TABLE]
where, for , . Given and , and from we obtain
[TABLE]
If (1), (2) are considered, then
II-B *Cascade trajectory tracking problem *
Following a common cascaded control design approach, we divide the tracking control problem into two subproblems: (i) find a virtual acceleration to control the model
[TABLE]
such that the tracking errors and converge to zero, and (ii) find either and if the considered quadrotor model is (1) or and if (1), (2) are considered, such that the forces applied to the quadrotor (normalized by mass) track the desired virtual acceleration , i.e., the acceleration error
[TABLE]
converges to zero, and converges to the identity as time converges to infinity. We will denote the outer-loop control problem by (i), and the inner-loop control problem by (ii).
Note that driving (8) to zero constraints to coincide with the reference vector and once such a condition is met, one can replace the goal by simply which is equivalent to stating that the angle of rotation about the normalized thrust vector (i.e., when ) must coincide with the desired value. When (4) is met, this means that the yaw angle of the quadrotor coincides with the desired yaw reference angle .
Remark 1
The inner-loop control problem for quadrotors is typically tackled directly in , or quaternion or Euler angles representations. For instance, letting represent a reference attitude and , the feedback controller (see [24, 11])
[TABLE]
where , and are distinct (e.g., ) is such that converges to for every initial condition . Moreover, a globally stabilizing discontinuous feedback quaternion-based law can be found in [15, 16]. However, the position control of a quadrotor is only dependent on the third column of the rotation matrix (collinear with the thrust vector), as one attempts to drive the error (8) to zero. While the method we propose drives the third column of to a desired value and controls independently the angle about the third column of so that converges to a desired reference, both of these methods do not control these two quantities independently leading to undesired behaviors (see Section V).
III Inner loop reference tracking in
We start by introducing, in Section III-A, a convenient parametrization of , by defining a homeomorphism between and . In Section III-B we define an input transformation that allows us to decouple the control of the normalized thrust vector on from the control of the angle of rotation about the thrust vector, specified by a vector on . In Section III-C, we consider the normalized thrust vector control problem in , and in Section III-D, we consider the control of the angle about the thrust vector in . Section III-E combines the two strategies to provide the overall control law.
III-A Parameterization of
We can parameterize as follows. Let and . For define the following two perpendicular vectors in the tangent space to at ,
[TABLE]
where denotes the identity matrix. Note that is also in the tangent space to at . Let
[TABLE]
be an extra vector in the tangent space to at , which is perpendicular to . The first component of these tangent vectors at are denoted by
[TABLE]
Moreover, define the following rotation matrices
[TABLE]
for . Then, the following map is the desired homeomorphism
[TABLE]
where . The inverse is given by
[TABLE]
In fact, it is clear that and are one-to-one and continuous; therefore, defines an homeomorphism between and .
III-B Input transformation
In this section, we focus on the control of the attitude described by the equation
[TABLE]
and consider the standard stabilization problem of finding a control law for that drives to the identity matrix for a given initial condition . The tracking problem can either be converted into a stabilization problem by defining and noticing that , for or tackled as we do in the sequel.
For this problem, we define an input transformation where , such that, for ,
[TABLE]
Note that with this transformation we can control independently and .
To this effect, we start by noticing that if we make
[TABLE]
for some control input , and replace these expressions in the third column of (10), i.e., , we obtain
[TABLE]
or, equivalently, substituting ,
[TABLE]
Note that the component of parallel to plays no role in (13). Therefore, considering that belongs to the tangent space to , that is,
[TABLE]
for some vectors and in the tangent space of at , we conclude that (13) and (14) take the form (11).
Let and define
[TABLE]
The parallel transport from the space orthogonal to to the space orthogonal to along the geodesic curve in connecting the two is given by for a vector that belongs to the tangent space to at . We can then use the parallel transport for and and obtain a local frame in the tangent space of , the angle between this frame and is the error angle. Note that , where
[TABLE]
Moreover, , and the error angle is . We wish to drive this angle to zero, or equivalently, drive to and to [math]. Let and be obtained in a similar fashion to (6) and be such that
[TABLE]
Using these expressions, and the fact that, from (10), and , we can now write
[TABLE]
Since we have , from which we conclude that , or, assuming that and , . Since we might have or but not simultaneously, the following is bounded
[TABLE]
Then we can write
[TABLE]
which, by considering , takes the form (12).
III-C Controlling
Let be the reference for . We propose the following control law to control (13),
[TABLE]
where and can be seen as feedback and feedforward laws as detailed next.
For feedback, we consider
[TABLE]
with . Intuitively, this control law is such that when used in (13), becomes a vector of the tangent space at proportional to the derivative at of the geodesic curve from to (the curve connecting and in with shortest distance). The norm of this tangent vector is unitary in and decreases as approaches in . Note that when the geodesic is not unique. Therefore the control law corresponds to a rotation in the direction of , while in fact, any unitary vector in the plane can be used.
For the feedforward term, we consider
[TABLE]
with , which maps to the tangent space of at (see Fig. 2). The intuition behind this feedforward control law is that the angle between and remains constant when only the feedforward input is applied.
Now we will look at the stability of this control law, which is summarized in the next result.
Theorem 1
Let for define a given differentiable curve in and consider (13) with control law (19), (20) and (21). Then for every initial condition .
Proof:
Proving that converges to as converges to infinity is equivalent to proving that converges to since . We shall prove that for every ,
[TABLE]
Then, we can compute a closed-form expression for : if ,
[TABLE]
where and if , letting and
[TABLE]
By taking the limit as converges to infinity, we conclude that converges to 1.
It rests to prove (22). The time derivative of is
[TABLE]
Note that and therefore which can be rewritten as
[TABLE]
Since , then , and since monotonically increases, , for every . Then (23) implies (22), concluding the proof.
â
III-D Controlling
In this section, we consider an arbitrary function of time (not necessarily the identity). It is convenient therefore to define , where , which is still described by (16) but now for time-varying . Following the same steps as in Section III-B, we arrive at (17) with and replaced by where , . As a result, instead of (18), we obtain
[TABLE]
where
[TABLE]
We propose the following control law
[TABLE]
where and can be seen as feedback and feedforward laws. For feedforward, we consider and for feedback we consider
[TABLE]
for some positive constant .
The next result establishes that this control drives to 1 and to [math], as desired.
Theorem 2
Let for define a given differentiable curve in . Consider the system (18) with control law (24), (25). Then
[TABLE]
for every initial condition .
Proof:
Replacing the control law , we obtain
[TABLE]
Consider the Lyapunov function
[TABLE]
which is always positive definite. The derivative is given by and can be rewritten as
[TABLE]
Therefore, the Lyapunov function derivative is negative semi-definite, and in the set , i.e., when , we have if , if . Therefore, the only solution that can stay in is , and thus according to LaSalleâs Theorem [25] we have that is globally asymptotically stable. â
III-E Inner-loop control law
The combined control law in allows for (10) to track a given reference as stated in the next result, which results from the arguments given in the previous sections.
Theorem 3
Let for define a given differentiable curve in and consider (10) with control law
[TABLE]
where are are obtained by replacing by and by in (19), (20) and (21), and in (15), (16), (17) respectively. Moreover, let, . Then
[TABLE]
for every initial condition such that .
Since asymptotic convergence of to is obtained for every initial condition except in a set of measure zero, this result assures almost global convergence, following the standard terminology in the literature [19].
IV Outer loop and overall control law
Following the control approach of Section II-B, in this section we consider the position tracking problem of finding virtual acceleration input references for (7) that can track a certain position and velocity trajectory. The inner loop must make the error (8) zero. Note that when (8) is zero, then where
[TABLE]
is a ball in and is the maximum total thrust that can be applied. Since, for a vector , , where
[TABLE]
is a box in . It is more convenient to restrict to belong to because this imposes an independent restriction on each of the three components of . We focus on the following single-input single-output (SISO) system
[TABLE]
where and represent the position and velocity, respectively, and the control law for must satisfy for given constants and . We let , where are the positions in the direction of and , respectively. Then, for the system pertaining to and , , and for the system pertaining to , , . If we further restrict for the system pertaining to , we assure that  (4) holds, which is convenient as explained at the end of Section II-B, since then the angle about can be specified by a predefined function , playing the role of a yaw angle reference. In fact, setting (8) to zero, multiplying by , noticing that must be non-negative and using (4), we conclude that which simply states that the required acceleration downwards cannot be larger than the gravitational acceleration when (4) is met.
In addition to the saturations on the control input for (7), we must assume that it is differentiable, if the considered quadrotor model is (1) or twice differentiable if (1), (2) are considered. Although we consider simply (1), we provide a twice-differentiable control input to cope also with cases where (1), (2) are considered.
In Section IV-A, we tackle the problem of finding a saturated twice-differentiable reference tracking control law for (30) and, in Section IV-B, we provide the proposed overall control law.
IV-A Outer loop
We are interested in tracking a reference trajectory and write the error system with states and as
[TABLE]
Note that since we have constraints on the input , this also imposes constraints on the reference, namely,
[TABLE]
Consider the control law
[TABLE]
where and
[TABLE]
with . Since , we can rewrite (33) to
[TABLE]
The error dynamics for the closed-loop system become
[TABLE]
where and .
IV-B Overall control law
The control law for the outer-loop (33) provides a virtual acceleration reference vector, denoted by ,where , , are given by (33) for the corresponding error variables corresponding to , and . In this section, we use to find a control input and to reduce the error (8) considering the dynamics given in (1). We define \bar{a}_{ref}:=\left[{\begin{array}[]{*{20}{c}}0&0&g\end{array}}\right]^{\top}-{a}_{ref}. The error (8) can be rewritten as
[TABLE]
where represents the direction, and the magnitude of . Note that . A natural choice for the thrust is . Moreover, provides the reference for the inner-loop. Note that must be now computed online and depends on the position and velocity errors in (33). By picking , the saturation constants in Section IV-A, sufficiently small we can guarantee that (4) holds. Therefore, and are completely characterized by a desired yaw angle as explained in Section II-A.
The overall control law is then
[TABLE]
where , , are given by (33) for the corresponding error variables corresponding to , and , and are obtained by replacing by and by in (19), (20) and (21) and in (15), (16), (24), (25) respectively.
V Simulations
In this section, we present simulation results where we use the proposed saturated PD control law in the outer loop, and in the inner loop, we compare the proposed decoupled controller in with the discontinuous quaternion-based control proposed in [15, 16] and the continuous controller in described in Remark 1. We consider the dynamics (1) with , and g=9.81[\text{m/s{}^{2}}]. The outer-loop controller given by (33) has the following parameters: and . For the inner loop we consider the controller proposed in Section III-C and III-D with and , the quaternion controller with , and the controller (9) with , , , . Please note that the aim of this simulation example to show the behavior of the different controllers and not the performance.
We compare these controllers in two scenarios that illustrate how the quaternion-based control and control in described in Remark 1 can cause undesired behavior. In both scenarios, we let and . Similarly to , we define to be the angle between the projection of on the -plane and , i.e., . In the simulation is never perpendicular to the -plane so that can always be computed. We denote by the yaw angle. The results with are shown in Fig. 3 and with are shown in Fig. 4.
We can observe that the yaw error results in a position error in the direction when only movement in the direction is required for both the discontinuous quaternion control and continuous control. In the proposed control law in , the thrust vector is decoupled from the yaw and, therefore, a yaw error does not result in a position error.
VI Conclusion
We presented an attitude controller that achieves almost global asymptotic stability for the tracking error dynamics of a quadrotor, where the thrust vector is controlled in and the heading in . By considering the decoupled control of the thrust vector and of the angle about this vector, we avoid undesired coupling of previous approaches. These advantages were illustrated in simulation. In future work, the stability of the overall closed-loop system, i.e., the quadrotor with the inner- and outer-loop controllers should be addressed.
VII Acknowledgements
The authors are thankful to A. A. J. (Erjen) Lefeber for several comments which have helped us improving the paper.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] D. Mellinger, N. Michael, and V. Kumar, âTrajectory generation and control for precise aggressive maneuvers with quadrotors,â The International Journal of Robotics Research , vol. 31, no. 5, pp. 664â674, 2012.
- 2[2] A. P. Schoellig, F. L. Mueller, and R. DâAndrea, âOptimization-based iterative learning for precise quadrocopter trajectory tracking,â Auton. Robots , vol. 33, no. 1-2, pp. 103â127, 2012.
- 3[3] G. M. Hoffmann, H. Huang, S. L. Waslander, and C. J. Tomlin, âPrecision flight control for a multi-vehicle quadrotor helicopter testbed,â Control Engineering Practice , vol. 19, no. 9, pp. 1023 â 1036, 2011.
- 4[4] G. Cai, J. Dias, and L. Seneviratne, âA survey of small-scale unmanned aerial vehicles: Recent advances and future development trends,â Unmanned Systems , vol. 02, no. 02, pp. 175â199, 2014.
- 5[5] R. Mahony, V. Kumar, and P. Corke, âMultirotor aerial vehicles: Modeling, estimation, and control of quadrotor,â IEEE Robotics and Automation Magazine , vol. 19, no. 3, pp. 20â32, 2012.
- 6[6] D. Invernizzi, M. Lovera, and L. Zaccarian, âGeometric trajectory tracking with attitude planner for vectored-thrust vtol uavs,â 2018 Annual American Control Conference (ACC) , pp. 3609â3614, 2018.
- 7[7] A. Tayebi and S. Mc Gilvray, âAttitude stabilization of a VTOL quadrotor aircraft,â IEEE Transactions on Control Systems Technology , vol. 14, no. 3, pp. 562â571, 2006.
- 8[8] J. Cariño, H. Abaunza, and P. Castillo, âQuadrotor quaternion control,â in 2015 International Conference on Unmanned Aircraft Systems (ICUAS) , 2015, pp. 825â831.
