On Quaternion-Based Attitude Control and the Unwinding Phenomenon

Please download to get full document.

View again

of 6
0 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
On Quaternion-Based Attitude Control and the Unwinding Phenomenon Christopher G. Mayhew, Ricardo G. Sanfelice, and Andrew R. Teel Abstract The unit quaternion is a pervasive representation of rigid-body
Document Share
Document Transcript
On Quaternion-Based Attitude Control and the Unwinding Phenomenon Christopher G. Mayhew, Ricardo G. Sanfelice, and Andrew R. Teel Abstract The unit quaternion is a pervasive representation of rigid-body attitude used for the design and analysis of feedback control laws. Often, quaternion-based feedbacks require an additional mechanism that lifts a continuous attitude path to the unit quaternion space. When this mechanism is memoryless, it has a limited domain where it remains injective and leads to discontinuities when used globally. To remedy this limitation, we propose a hybrid-dynamic algorithm for lifting a continuous attitude path to the unit quaternion space. We show that this hybrid-dynamic mechanism allows us to directly translate quaternion-based controllers and their asymptotic stability properties (obtained in the unit-quaternion space) to the actual rigid-body-attitude space. We also show that when quaternion-based controllers are not designed to account for the double covering of the rigid-body-attitude space by a unit-quaternion parameterization, they can give rise to the unwinding phenomenon, which we characterize in terms of the projection of asymptotically stable sets. I. INTRODUCTION Rigid-body attitude control is one of the canonical nonlinear control problems, with applications in aerospace and publications spanning many decades [1] [4]. A fundamental characteristic of attitude control that imparts a fascinating difficulty is the topological complexity of its state space, SO(3). In fact, SO(3) is not a vector space, but a boundaryless compact manifold. This precludes the existence of a continuous state-feedback control law that globally asymptotically stabilizes a particular attitude [5]. Unit quaternions are often used to parametrize SO(3). While this parametrization is the minimal globally nonsingular representation of rigid-body attitude [6], its state space, S 3 (the set of unit-magnitude vectors in R 4 ) is also a boundaryless compact manifold and provides a double covering of SO(3) where exactly two unit quaternions correspond to the same attitude. This creates the need to stabilize a disconnected set of points in S 3 [4], which has its own topological obstructions [7]. These subtleties can cause confusion and, sometimes, lead to dubious claims regarding the globality of asymptotic stability [5] (see e.g. [8]). Nevertheless, unit quaternions are still used today by many authors (including the authors of this paper) to design feedback control algorithms for attitude control. Robert Bosch Research and Technology Center, 4005 Miranda Ave., Palo Alto, CA Department of Aerospace and Mechanical Engineering, University of Arizona, Tucson, AZ Center for Control Engineering and Computation, Electrical and Computer Engineering Department, University of California, Santa Barbara, CA Research partially supported by the National Science Foundation under grant ECCS and grant CNS , and by the Air Force Office of Scientific Research under grant FA A feedback designed using a unit-quaternion representation of attitude may not be consistent with a feedback defined on SO(3). That is, for some attitude, the quaternion-based feedback controller may take on one of two possible values; hence, they may not be well defined on SO(3). When this is the case, analysis for quaternion-based feedback is often carried out in S 3 with a lifted dynamic equation, but these results are not directly related to a feedback system that takes measurement from SO(3). This begs the following questions: How is a unit quaternion obtained from a measurement of attitude? On what state-space is an inconsistent quaternionbased feedback defined? How is stability analysis done in the unit-quaternion space related to a stability result in the rigid-body-attitude state space? While calculating the set of two quaternions that represent an attitude is a simple operation (see e.g. [9], [10]), the process of selecting which quaternion to use for feedback is less obvious. In this work, we present a simple hybriddynamic algorithm for lifting a path from SO(3) to S 3. That is, given a continuous trajectory in SO(3), the lifting system dynamically produces a continuous quaternion trajectory. Our approach in this paper allows us to make an equivalence between stability results for a closed-loop system in the covering space and stability results for an inherently dynamic feedback control system for the actual plant. This justifies carrying out stability analysis in a unit-quaternion setting; however, when a unit-quaternion-based feedback does not respect the two-to-one covering of SO(3), this translated stability result may not actually be desirable! When certain inconsistent feedbacks are paired with a path-lifting algorithm, they can cause the so-called unwinding phenomenon, where the feedback unnecessarily rotates the rigid body up to a full rotation. This behavior was discussed in [5] in terms of lifts of paths and vector fields from SO(3) to S 3. The results in this paper permit a characterization of unwinding in terms of the projection of asymptotically stable sets from the unit-quaternion space to the rigid-body-attitude space. This paper is organized as follows. Section II provides the background material for attitude control and hybrid systems used in this paper. Section III shows how one can lift a path from SO(3) to S 3 in a limited region by using a memoryless map that selects a quaternion according to a metric. Section IV constructs a hybrid dynamic system that lifts paths from SO(3) to S 3. We couple this system with a quaternion-based feedback in Section V and establish an equivalence of stability between two closed systems: one is defined in the unit-quaternion space and the other one is defined in the rigid-body-attitude space. Section VI discusses the unwinding phenomenon in terms of the projection of asymptotically stable sets. Finally, we conclude the paper in Section VII. II. PRELIMINARIES A. Attitude kinematics, dynamics, and unit quaternions The attitude of a rigid body is represented by a 3 3 orthogonal matrix with unitary determinant: an element of the special orthogonal group of order three, SO(3) = {R R 3 3 : R R = RR = I, det R = 1}. The cross product between two vectors, y, z R 3, is represented by a matrix multiplication: y z = [y] z, where [y] = 0 y 3 y 2 y 3 0 y 1. y 2 y 1 0 The attitude of a rigid body is denoted as R SO(3), where R transforms vectors expressed in the body frame to an inertial frame. The angular rate of the rigid body is denoted ω and J = J 0 is the inertia matrix. When τ is a vector of external torques, the rigid-body kinematic and dynamic equations are Ṙ = R [ω] J ω = [Jω] ω + τ. (1a) (1b) The n-dimensional unit sphere embedded in R n+1 is denoted as S n = {x R n+1 : x x = 1}. Members of SO(3) are often parametrized in terms of a rotation θ R about a fixed axis u S 2 by the so-called Rodrigues formula the map U : R S 2 SO(3) defined as U(θ, u) = I + sin(θ) [u] + (1 cos(θ)) [u] 2. (2) In the sense of (2), a unit quaternion, q S 3, is defined as [ ] [ ] η cos(θ/2) q = = ± S 3, (3) ɛ sin(θ/2)u where η R and ɛ R 3, represents an element of SO(3) through the map R : S 3 SO(3) defined as R(q) = I + 2η [ɛ] + 2 [ɛ] 2. (4) Note that R(q) = R( q) for each q S 3. We denote the set-valued inverse map Q : SO(3) S 3 as Q(R) = {q S 3 : R(q) = R}. (5) For convenience in notation, we will often write a quaternion as a pair q = (η, ɛ), rather than in the form of a vector. With the identity element i = (1, 0) S 3, each q S 3 has an inverse q 1 = (η, ɛ) under the multiplication rule [ ] η q 1 q 2 = 1 η 2 ɛ 1 ɛ 2, η 1 ɛ 2 + η 2 ɛ 1 + [ɛ 1 ] ɛ 2 where q i = (η i, ɛ i ) R 4 and i {1, 2}. With this definition, the map R is a group homomorphism, satisfying R(q 1 )R(q 2 ) = R(q 1 q 2 ) q 1, q 2 S 3. (6) The quaternion state space, S 3, is a covering space for its base space, SO(3), and R : S 3 SO(3) is the covering map. Precisely, for every R SO(3), there exists an open neighborhood U SO(3) of R such that Q(U) can be written as a union of two disjoint open sets O 1, O 2, where, for k {1, 2}, the restriction of R to O k is a diffeomorphism. A fundamental property of a covering space is that a continuous path in the base space can be uniquely lifted to a continuous path in the covering space. In terms of SO(3) and S 3, this means that for every continuous path R : [0, 1] SO(3) and for every p Q(R(0)), there exists a unique continuous path q p : [0, 1] S 3 satisfying q p (0) = p and R(q p (t)) = R(t) for every t [0, 1] [11, Theorem 54.1]. We call any such path q p a lifting of R over R. It is not just paths that can be lifted from SO(3) onto S 3. In fact, flows and vector fields defined on SO(3) can be lifted onto S 3 as well [5]. In this direction, given a Lebesgue measurable function ω : [0, 1] R 3 and an absolutely continuous path R : [0, 1] SO(3) satisfying (1a) for almost all t [0, 1], any q : [0, 1] S 3 that is a lifting of R over R satisfies the quaternion kinematic equation q = [ η ɛ ] = 1 2 q ν(ω) = 1 Λ(q)ω, (7) 2 for almost all t [0, 1], where the maps ν : R 3 R 4 and Λ : S 3 R 4 3 are defined as [ ] [ ] 0 ɛ ν(x) =, Λ(q) =. (8) x ηi + [ɛ] B. Hybrid systems framework In this work, we appeal to the hybrid systems framework of [12], [13]. This is in part due to the fact that the authors have developed quaternion-based hybrid feedback controllers that achieve global asymptotic stabilization of rigid body attitude in [4], [14], [15] and also because the quaternion disambiguation algorithm presented here is hybrid. A hybrid system is a dynamical system that allows for both continuous and discrete evolution of the state. A hybrid system H is defined by four objects: a flow map, F, governing continuous evolution of the state by a differential inclusion; a jump map, G, governing discrete evolution of the state by a difference inclusion; a flow set, C, dictating where continuous state evolution is allowed; and a jump set, D, dictating where discrete state evolution is allowed. Given a state x R n, we write a hybrid system as { ẋ F (x) x C H x + G(x) x D. We often refer to a hybrid system as H = (F, G, C, D). Solutions to hybrid systems are defined on hybrid time domains and are parametrized by t, the amount of time spent flowing and j, the number of jumps accrued. A compact hybrid time domain is a set E R 0 Z 0 of the form E = J ([t j, t j+1 ], j), (9) j=0 where 0 = t 0 t 1 t J+1. We say that E is a hybrid time domain if, for each (T, J) E, the set E ([0, T ] {0, 1,..., J}) is a compact hybrid time domain. A hybrid arc is a function x : dom x R n, where dom x is a hybrid time domain and, for each fixed j, the map t x(t, j) is locally absolutely continuous on the interval I j = {t : (t, j) dom x}. (10) A hybrid arc x is a solution to the hybrid system H = (F, G, C, D) if x(0, 0) C D and 1) for each j Z 0 such that I j has nonempty interior, ẋ(t, j) F (x(t, j)) for almost all t I j and x(t, j) C for all t [min I j, sup I j ), 2) for each (t, j) dom x such that (t, j + 1) dom x, x(t, j + 1) G(x(t, j)) and x(t, j) D. A solution x to H is maximal if it is not a truncation of another solution and complete if dom x is unbounded. For some set X R n, the set of maximal solutions to H with initial conditions in X is denoted as S H (X). Given a hybrid arc x, let T (x) = sup{t : j Z 0 (t, j) dom x} and let J(t) = max{j : (t, j) dom x}. Then, the time projection of x is the function x t : [0, T (x)) R n as x t (t) = x(t, J(t)). (11) In this work, we assume that the data of the hybrid system H satisfies three basic assumptions 1 : 1) C and D are closed sets in R n. 2) F : R n R n is an outer semicontinuous set-valued map, locally bounded on C, and such that F (x) is nonempty and convex for each x C. 3) G : R n R n is an outer semicontinuous set-valued map, locally bounded on D, and such that G(x) is nonempty for each x D. These properties ensure, among other things, that asymptotic stability is robust to small perturbations [12]. Finally, we remark that while the above definitions are written in terms of R n, they equally apply to manifolds embedded in R n. In particular, they apply to the state spaces that we will be using in this paper: S 3, SO(3), and discrete sets on which logic variables take value. III. INCONSISTENT QUATERNION-BASED CONTROL LAWS AND MEMORYLESS PATH LIFTING It is commonplace in the attitude control literature to design a feedback based upon a quaternion representation. That is, the control designer creates a continuous function κ : S 3 R 3 R 3 and closes a feedback loop around (1) by setting τ(t) = κ(q(t), ω(t)), where q(t) is selected to satisfy R(q(t)) = R(t), for each t R 0. When κ satisfies κ(q, ω) = κ( q, ω) q S 3, (12) we say that κ is consistent. When consistent feedbacks are used, as in [16], [17], there is little need for a quaternion 1 A set-valued map F : X Y ( the notation signifies a map to the subsets of the codomain) is outer semicontinuous if its graph the set {(x, y) X Y : y F (x)} is closed. It is locally bounded on C if for each compact K C, there exists a compact set M containing F (K). representation, as κ might as well be defined in terms of R SO(3), rather than its quaternion representation. When a quaternion-based feedback is inconsistent, that is, q S 3 κ(q, ω) κ( q, ω), (13) the resulting feedback does not define a unique vector field on SO(3) R 3 because for R SO(3) satisfying Q(R) = { q, q}, the feedback κ(q(r), ω) is a two-element set [5]. At this point, the control designer must, for every t R 0, choose which q(t) Q(R(t)) to use for feedback, that is, the control designer must choose how to lift the measured attitude trajectory from SO(3) to S 3. In this direction, we provide a quote from [3]: In many quaternion extraction algorithms, the sign of [the scalar part of the quaternion] is arbitrarily chosen positive. This approach is not used here, instead, the sign ambiguity is resolved by choosing the one that satisfies the associated kinematic differential equation. In implementation, this would probably imply keeping some immediate past values of the quaternion. There is much insight to be gained from this quotation. In particular, it suggests that inconsistent quaternion-based control laws require an extra quaternion memory state to lift the measured SO(3) trajectory to S 3. In this direction, we reconstruct the discontinuous quaternion extraction algorithm mentioned in the quotation above in terms of a metric and use the ensuing discussion to motivate a hybrid algorithm for lifting an attitude trajectory from SO(3) to S 3. Define P : S 3 [0, 2] as P (q) = P (η, ɛ) = 1 i q = 1 η = 1 2 ((1 η)2 +ɛ ɛ). (14) Then, the function d : S 3 S 3 [0, 2] defined as d(q, p) = P (q 1 p) = 1 q p (15) defines a metric on S 3. From a geometric viewpoint, d(q, p) is the height of p on S 3 above the plane orthogonal to the vector q at q. Given a set Q S 3, we define the distance to Q from q (in terms of the metric d) as dist(q, Q) = inf{d(q, p) : p Q}. (16) When the set Q in (16) takes the form of Q(R) for some R SO(3), the distance function also takes a special form. In particular, let Q(R) = {p, p}. Then, dist(q, Q(R)) = 1 q p. (17) One candidate method to lift a path from SO(3) to S 3 is to simply pick the quaternion representation of R that is closest to a specific quaternion in terms of the metric d. In particular, let us define the map Φ : S 3 SO(3) S 3 as Φ(q, R) = argmin p Q(R) d(q, p) = argmax q p. (18) p Q(R) We now summarize the salient properties of the map Φ. Lemma 1. Let q S 3 and R SO(3). The following are equivalent: 1) Φ(q, R) is single valued, 2) 0 dist(q, Q(R)) 1, 3) q p 0 for all p Q(R) so that q Φ(q, R) 0, 4) R U(π, u)r(q) for some u S 2. Lemma 2. For every ˆq S 3, every continuous R : [0, 1] SO(3), and every continuous q : [0, 1] S 3 satisfying d(ˆq, q(0)) 1, R(q(t)) = R(t), and dist(ˆq, Q(R(t))) 1 for all t [0, 1], it follows that Φ(ˆq, R(t)) = q(t) for all t [0, 1]. Lemma 3. For all ˆq S 3 and R SO(3) such that dist(ˆq, Q(R)) 1, it follows that Φ(Φ(ˆq, R), R) = Φ(ˆq, R). (19) IV. A HYBRID-DYNAMIC PATH-LIFTING ALGORITHM In this section, we present a dynamic algorithm for lifting a path from SO(3) to S 3. The main feature of the algorithm is a memory state ˆq S 3, which provides a reference point for choosing the closest quaternion with respect to d. This memory state usually remains constant, but is updated when necessary to ensure that dist(ˆq, Q(R)) 1. The basic logic behind the algorithm is pictured in Fig. 1. Initialize ˆq S 3 Update ˆq to closest q Q(R) yes Measure R Convert R to Q(R) Is ˆq far from Q(R)? no Output q Q(R) closest to ˆq Fig. 1. Flow chart for dynamic path lifting from SO(3) to S 3. Given α (0, 1), we define C l, D l SO(3) S 3 as C l = {(ˆq, R) SO(3) S 3 : dist(ˆq, Q(R)) α} D l = {(ˆq, R) SO(3) S 3 : dist(ˆq, Q(R)) α}. Then, we propose the hybrid path-lifting algorithm as H l { ˆq = 0 (ˆq, R) Cl ˆq + Φ(ˆq, R) (ˆq, R) D l, with continuous input R : R 0 SO(3) and output q = Φ(ˆq, R). (20a) (20b) (20c) Now, we analyze the properties of the hybrid path-lifting algorithm by analyzing the solutions of an autonomous system that generates a wide class of useful trajectories in SO(3) as input to H l. In what follows, we let B denote the closed unit ball in R n. Theorem 4. Let α (0, 1) and M 0. The hybrid system and its output ˆq = 0 Ṙ R [MB] (ˆq, R) C l q = Φ(ˆq, R) ˆq + Φ(ˆq, R) R + = R (ˆq, R) D l (21a) (21b) have the following properties: 1) All maximal solutions are complete. 2) The time between jumps is bounded below by 2α/M. 3) The function q t : [0, ) S 3 is continuous and satisfies R(q t (t)) = R t (t). V. QUATERNION FEEDBACK WITH DYNAMIC LIFTING With the hybrid-dynamic path-lifting algorithm in place, we consider the feedback interconnection of (1) with the hybrid path-lifting system and a quaternion-based hybrid controller. Consider the hybrid controller H c, that takes a measurement y S 3 R 3 as input, has a state ξ X R n, has dynamics H c { ξ Fc (y, ξ) (y, ξ) C c ξ + G c (y, ξ) (y, ξ) D c (22) and has the continuous torque output κ : S 3 R 3 X R 3. We assume that H c satisfies the hybrid basic conditions. Often, quaternion-based controllers are analyzed using the lifted attitude dynamics defined by equations (7) and (1b), thus neglecting any auxiliary lifting system. The next theorem essentially justifies this approach by relating solutions of the whole closed-loop system to a reduced system that has the quaternion-based hybrid controller in feedback with the lifted system defined by (7) and (1b). Before stating the theorem, we define two closed-loop systems. The first closed-loop system is the feedback interconnection of (1) with the series interconnection of H l and H c. This yields the system H 1 with state (R, ω, ˆq, ξ) SO(3) R 3 S 3 X defined as Ṙ = R [ω] J ω = [Jω] ω + κ(φ(ˆq, R), ω, ξ) ˆq = 0 ξ F c (Φ(ˆq, R), ω, ξ) (ˆq, R) C l, (Φ(ˆq, R), ω, ξ) C c R + = R ω + = ω ˆq + Φ(ˆq, R) ξ + = ξ (ˆq, R) D l, R + = R ω + = ω ˆq + = ˆq ξ + G c (Φ(ˆq, R), ω, ξ) (Φ(ˆq, R), ω, ξ) D c. (23) In (23), we mean that flows can only occur when flows can occur for both the controller and lifting subsystems. Jumps can occur when either the controller or lifting subsystems can jump. It may be possible that both (ˆq, R) D l and (Φ(ˆq, R), ω, ξ) D c are satisfied since D l D c, in which case, either jump is possible. That is, either ˆq + Φ(ˆq, R) or ξ + G c (Φ(ˆq, R), ω, ξ). This ensures that the closed-loop system satisfies the hybrid basic conditions. The feedback interconnection of the lifted attitude system and the hybrid controller H c yields the reduced system H 2 with state (q, ω, ξ) S 3 R 3 X defined as q = 1 2 q ν(ω) J ω = [Jω] ω + κ(q, ω, ξ) } ξ F c (q, ω, ξ) {{ } (q, ω, ξ) C c q + = q ω + = ω ξ + G c (q, ω, ξ) (q, ω, ξ) D c. In what follows, we adopt the economical notation (x 1 (t, j),..., x k (t, j)) = (x 1,..., x k ) (t,j). (24) The next lemma follows fr
Similar documents
View more...
Search Related
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks