AAS 13-858 ADAPTIVE POSITION AND ATTITUDE TRACKING CONTROLLER FOR SATELLITE PROXIMITY OPERATIONS USING DUAL QUATERNIONS Nuno Filipe∗ and Panagiotis Tsiotras† In this paper, we propose a nonlinear adaptive position and attitude tracking controller for satellite proximity operations. This controller requires no information about the mass and inertia matrix of the satellite, and takes into account the gravitational force, the gravitygradient torque, the perturbing force due to Earth’s oblateness, and other constant – but otherwise unknown – disturbance forces and torques. We give sufficient conditions on the reference motion for mass and inertia matrix identification. The controller is shown to be almost globally asymptotically stable and can handle large error angles and displacements. Unit dual quaternions are used to simultaneously represent the absolute and relative attitude and position of the satellites, resulting in a compact controller representation. INTRODUCTION Several organizations around the world are looking at satellite proximity operations as an enabling technology for space missions such as on-orbit satellite inspection, health monitoring, surveillance, servicing, refueling, and optical interferometry.1, 3, 4 One of the biggest challenges introduced by this technology is the need to accurately and simultaneously track time-varying relative position and attitude references in order to avoid collisions between the satellites and achieve mission objectives. The problem of deriving control laws for satellite proximity operations has a long history. Among the several results in this area, here we mention the work in Ref. 4 where, using the vectrix formalism, nonlinear control and adaptation laws were designed ensuring almost global asymptotic convergence of the position and attitude errors, despite the presence of unknown mass and inertia parameters. However, the controller in Ref. 4 is a 392nd-order dynamic compensator, which limits its applicability to satellites with limited on-board computational resources. In Ref. 3, three different nonlinear position and attitude controllers for spacecraft formation flying are presented. All controllers require full knowledge of the mass and inertia matrix of the satellite. In Ref. ?, a relative position and attitude tracking controller that requires no linear and angular velocity measurements and no mass and inertia matrix information is presented. However, as explained in Ref. ?, if the reference trajectory is not sufficiently exciting, this controller cannot guarantee that the relative position and attitude errors will converge to zero. In Ref. 1, an adaptive terminal sliding-mode pose (i.e., position and attitude) tracking controller is proposed based on dual quaternions that does not require full knowledge of the mass and inertia matrix of the spacecraft. This controller takes into account the gravitational force, the gravity-gradient torque, constant – but otherwise unknown – disturbance forces and torques, but not the perturbing force due to J2 . Moreover, this controller requires a priori knowledge of upper bounds on the mass, on the maximum eigenvalue of the inertia matrix, on the constant but otherwise unknown disturbance forces and torques, on the desired relative linear and angular velocity between the spacecraft and its first derivative, on the linear and angular velocity of the chaser spacecraft with respect to the inertial frame, and ∗ Ph.D. student, School of Aerospace Engineering, Georgia Institute of Technology, Atlanta, GA, 30332-0150. Email: nunoaero@gmail.com † Dean’s Professor, School of Aerospace Engineering, Georgia Institute of Technology, Atlanta, GA, 30332-0150. Email: tsiotras@gatech.edu 1 on the position of the chaser spacecraft with respect to the inertial frame. In addition, the convergence region is not specified and no conditions for mass and inertia matrix identification are given. Similarly to Ref. 1, in this paper we propose an adaptive pose-tracking controller based on dual quaternions.5 However, unlike Ref. 1, our controller does not require a priori knowledge of any upper bounds on the system parameters or states, and takes into account the perturbing force due to J2 , which is typically the largest perturbing force on a satellite below GEO.6 In addition, our controller is proven to be almost globally asymptotically stable and has only as many states as unknown parameters. Additional analysis allows us to provide sufficient conditions for mass and inertia matrix identification. Although these conditions are not needed for stability, they can be useful to design maneuvers to identify these parameters, if needed (e.g., after a docking maneuver). Dual quaternions provide a compact way to represent the attitude and position of a body. They are an extension of classical quaternions. Dual quaternions are closely related to Chasles theorem, which states that the general displacement of a rigid body can be represented by a rotation about an axis (called the screw axis) and a translation along that axis, creating a screw-like motion.7, 8 A list of successful applications of dual quaternions is given in Ref. 15. Compared to other mathematical representations, such as homogeneous transformations, quaternion/vector pairs, and Lie algebraic methods, dual quaternions have been found to be the most compact and efficient way to represent screw motion in robotic kinematic chains.7, 22, 21 Moreover, it has also been shown that combined position and attitude control laws based on dual quaternions automatically take into account the natural coupling between the rotational and translational motion.12, 13 Additionally, dual quaternions allow combined position and attitude control laws to be written compactly as a single control law. However, the property that makes dual quaternions most attractive is the fact that the combined translational and rotational kinematic and dynamic equations of motion written in terms of dual quaternions have the same form as the rotational-only kinematic and dynamic equations of motion written in terms of quaternions. Hence, as has been recently shown,15, 16, 5 it is often relatively straightforward to extend an attitude controller with some desirable properties into a combined position and attitude controller with equivalent desirable properties, by almost simply substituting quaternions with dual quaternions in the attitude-only quaternion control law. This technique for developing combined position and attitude controllers from existing attitude controllers has some advantages over techniques based on the special Euclidean group SE(3), where rotations are represented directly by rotation matrices.23, 24, 25 In the latter, asymptotically stability of the combined rotational and translational motion is proven by either defining two different error functions for the position and attitude error25 or, in two steps, by first proving the asymptotical stability of the rotational motion before the asymptotical stability of the translational motion can be proven23 (note that the translational motion depends on the rotational motion). In our approach, a single error function, the error dual quaternion (defined by analogy to the classical rotation error quaternion), is used to represent the combined position and attitude error. Moreover, the asymptotic stability of the combined rotational and translational motion is proven in one step by using a Lyapunov function with the same form as the Lyapunov function used to prove the asymptotic stability of the rotational controller. On the other hand, whereas quaternions produce two closed-loop equilibrium points (since quaternions cover SO(3) twice26 ) both representing the identity rotation matrix, rotation matrices produce a minimum of four closed-loop equilibrium points,24, 23 only one of which is the identity rotation matrix. On the negative side, dual quaternions inherit the so-called unwinding phenomenon from classical quaternions.27 Solutions for this problem are known and suggested in this paper. Finally, note that the tracking controllers proposed in Refs. 23 and 24 require the true mass and inertia matrix. The paper is organized as follows. First, unit quaternions and unit dual quaternions are introduced. Then, the relative kinematic and dynamic equations for satellite proximity operations written in terms of dual quaternions are derived. In the next section, the adaptive attitude and position tracking controller for satellite proximity operations is deduced and proved to be almost globally asymptotically stable. Then, sufficient conditions for mass and inertia matrix identification are given. Finally, the proposed controller is analyzed and validated through a numerical example. 2 MATHEMATICAL PRELIMINARIES Most of the mathematical preliminaries in this section can be found in Refs. 15, 16, and 5. For the benefit of the reader, we summarize here the main properties of quaternions and dual quaternions that are essential for the developments later on in the paper. Quaternions A quaternion is defined as q = q1 i + q2 j + q3 k + q4 , where q1 , q2 , q3 , q4 ∈ R and i, j, and k satisfy i2 = j 2 = k 2 = −1, i = jk = −kj, j = ki = −ik, and k = ij = −ji.12 It can also be represented as the ordered pair q = (q̄, q4 ), where q̄ = [q1 q2 q3 ]T ∈ R3 is the vector part of the quaternion and q4 ∈ R is the scalar part of the quaternion. Vector quaternions and scalar quaternions are quaternions with zero scalar part and vector part, respectively. The set of quaternions, vector quaternions, and scalar quaternions will be denoted by H = {q : q = q1 i + q2 j + q3 k + q4 , q1 , q2 , q3 , q4 ∈ R}, Hv = {q ∈ H : q4 = 0}, and Hs = {q ∈ H : q1 = q2 = q3 = 0}, respectively. The basic operations on quaternions are defined as follows: Addition: a + b = (ā + b̄, a4 + b4 ), Multiplication by a scalar: λa = (λā, λa4 ), Multiplication: ab=(a4 b̄ + b4 ā + ā × b̄, a4 b4 − ā · b̄), Conjugation: a∗ = (−ā, a4 ), Dot product: a · b = 21 (a∗ b + b∗ a) = 21 (ab∗ + ba∗ ) = (0̄, a4 b4 + ā · b̄), Cross product: a × b = 21 (ab − b∗ a∗ ) = (b4 ā + a4 b̄ + ā × b̄, 0), Norm: kak2 = aa∗ = a∗ a = a · a = (0̄, a24 + ā · ā), Scalar part: sc a = (0̄, a4 ) ∈ Hs , Vector part: vec a = (ā, 0) ∈ Hv , where a, b ∈ H, λ ∈ R, and 0̄ = [0 0 0]T . Note that the quaternion multiplication is not commutative. The sets H, Hv , and Hs are isomorphic as vector spaces to R4 , R3 , and R, respectively. Under these isomorphisms, the square of the quaternion norm and the dot product on H correspond to the square of the Euclidean norm and to the dot (inner) product on R4 , respectively. Also, we will often identify, with a slight abuse of notation, q4 with (0̄, q4 ), when this is clear from the context. The multiplication of a matrix M ∈ R4×4 with a quaternion q ∈ H will be defined as M ∗ q = (M11 q̄ + M12 q4 , M21 q̄ + M22 q4 ) ∈ H, where M11 M12 M= , M21 M22 M11 ∈ R3×3 , M12 ∈ R3×1 , M21 ∈ R1×3 , and M22 ∈ R. This definition is analogous to the multiplication of a 4-by-4 matrix with a 4-dimensional vector. It can be shown that the following properties follow from the previous definitions: a · (bc) = b · (ac∗ ) = c · (b∗ a) ∈ Hs , kabk = kakkbk, a, b, c ∈ H, a, b ∈ H, (M ∗ a) · b = a · (M ∗ b), a, b ∈ H, M ∈ R4×4 , a · (b × c) = b · (c × a) = c · (a × b), a, b, c ∈ Hv , T a × a = 0, a × b = −b × a, ka∗ k = kak, |a · b| ≤ kakkbk, 3 a ∈ Hv , a, b ∈ Hv , a ∈ H, a, b ∈ H. Finally, the L∞ -norm of a function u : [0, ∞) → H is defined as kuk∞ = supt≥0 ku(t)k. Moreover, the quaternion u ∈ L∞ , if and only if kuk∞ < ∞. Attitude Representation with Unit Quaternions. The relative orientation of a body frame with respect to φ φ the inertial frame can be represented by the unit quaternion qB/I = sin( 2 )n̄, cos( 2 ) , where the body frame is said to be rotated with respect to the inertial frame about the unit vector n̄ by an angle φ. Note that qB/I is a unit quaternion because it belongs to the set Hu = {q ∈ H : q · q = 1}. The body coordinates of a vector, v̄ B , ∗ I can be calculated from the inertial coordinates of that same vector, v̄ I , and vice-versa, through v B = qB/I v qB/I I B ∗ B B I I and v = qB/I v qB/I , where v = (v̄ , 0) and v = (v̄ , 0). Quaternion Representation of the Rotational Kinematic Equations. The rotational kinematic equations of the body frame and of a frame with some desired attitude, both with respect to the inertial frame and represented by the unit quaternions qB/I and qD/I , respectively, are given by B I D I = 21 ωB/I qB/I and q̇D/I = 12 qD/I ωD/I = 12 ωD/I qD/I , q̇B/I = 12 qB/I ωB/I (1) X X X where ωY/Z = (ω̄Y/Z , 0), and ω̄Y/Z is the angular velocity of the Y-frame with respect to the Z-frame expressed in the X-frame. The error quaternion ∗ qB/D = qD/I qB/I (2) is the unit quaternion that rotates the desired frame onto the body frame. By differentiating Eq. (3) and using Eq. (2), the kinematic equations of the error quaternion turn out to be B D q̇B/D = 12 qB/D ωB/D = 21 ωB/D qB/D , (3) B B B D D D where ωB/D = ωB/I − ωD/I (and ωB/D = ωB/I − ωD/I ). Dual Quaternions A dual quaternion is defined as q̂ = qr + qd , where is the dual unit defined by 2 = 0 and 6= 0. The quaternions qr , qd ∈ H are called the real part and the dual part of the dual quaternion, respectively. Dual vector quaternions and dual scalar quaternions are dual quaternions formed from vector quaternions (i.e., qr , qd ∈ Hv ) and scalar quaternions (i.e., qr , qd ∈ Hs ), respectively. The set of dual quaternions, dual scalar quaternions, dual vector quaternions, and dual scalar quaternions with zero dual part will be denoted by Hd = {q̂ : q̂ = qr + qd , qr , qd ∈ H}, Hsd = {q̂ : q̂ = qr + qd , qr , qd ∈ Hs }, Hvd = {q̂ : q̂ = qr + qd , qr , qd ∈ Hv }, and Hrd = {q̂ : q̂ = qr + (0̄, 0), qr ∈ Hs }, respectively. The basic operations on dual quaternions are defined as follows:13, 1 Addition: â + b̂ = (ar + br ) + (ad + bd ), Multiplication by a scalar: λâ = (λar ) + (λad ), Multiplication: âb̂ = (ar br ) + (ar bd + ad br ), Conjugation: â∗ = a∗r + a∗d , Swap: âs = ad + ar , Dot product: â · b̂= 21 (â∗ b̂ + b̂∗ â)= 21 (âb̂∗ + b̂â∗ )=ar · br + (ad · br + ar · bd ) ∈ Hsd , Cross product: â × b̂ = 12 (âb̂ − b̂∗ â∗ ) = ar × br + (ad × br + ar × bd ) ∈ Hvd , Dual norm: kâk2d = ââ∗ = â∗ â = â · â = (ar · ar ) + (2ar · ad ) ∈ Hsd , Scalar part: sc â = sc ar + sc ad ∈ Hsd , Vector part: vec â = vec ar + vec ad ∈ Hvd , where â, b̂ ∈ Hd and λ ∈ R. Note that the dual quaternion multiplication is not commutative. 4 Since the dot product and dual norm of dual quaternions yield in general a dual number (and not a real number), we define the dual quaternion norm28, 1 as kâk2 = â ◦ â, where ◦ denotes the dual quaternion circle product given by â ◦ b̂ = ar · br + ad · bd , where â, b̂ ∈ Hd . The sets Hd , Hvd , Hsd , and Hrd are isomorphic as vector spaces to R8 , R6 , R2 , and R, respectively. Under these isomorphisms, the square of the dual quaternion norm and the circle product on Hd correspond to the square of the Euclidean norm and to the dot (inner) product on R8 , respectively. Also, we will often identify, with a slight abuse of notation, q4 with (0̄, q4 ) + (0̄, 0), when this is clear from the context. The multiplication of a matrix M ∈ R8×8 with a dual quaternion q̂ ∈ Hd will be defined as M ? q̂ = (M11 ∗ qr + M12 ∗ qd ) + (M21 ∗ qr + M22 ∗ qd ), where M11 M12 M= , M11 , M12 , M21 , M22 ∈ R4×4 . M21 M22 This definition is analogous to the multiplication of a 8-by-8 matrix with a 8-dimensional vector. It can be shown that the following properties16 follow from the previous definitions: â◦(b̂ĉ) = b̂s ◦(âs ĉ∗ ) = ĉs ◦(b̂∗ âs ) ∈ R, s s s â, b̂, ĉ ∈ Hd , s â◦(b̂×ĉ)=b̂ ◦(ĉ×â )=ĉ ◦(â ×b̂), â × â = 0, â × b̂ = −b̂ × â, s s â ◦ b̂ = â ◦ b̂, s kâ k = kâk, ∗ kâ k = kâk, â ∈ â, b̂, ĉ ∈ Hvd , (5) Hvd , â, b̂ ∈ (4) (6) Hvd , (7) â, b̂ ∈ Hd , (8) â ∈ Hd , (9) â ∈ Hd , T (M ? â) ◦ b̂ = â ◦ (M ? b̂), â, b̂ ∈ Hd , M ∈ R (10) 8×8 , |â ◦ b̂| ≤ kâkkb̂k, â, b̂ ∈ Hd , p kâb̂k ≤ 3/2 kâkkb̂k, â, b̂ ∈ Hd . (11) (12) (13) Finally, the L∞ -norm of a function û : [0, ∞) → Hd is defined as kûk∞ = supt≥0 kû(t)k. Moreover, the dual quaternion û ∈ L∞ , if and only if kûk∞ < ∞. Attitude and Position Representation with Unit Dual Quaternions. The position and orientation (i.e., pose) of a body frame with respect to the inertial frame can be represented by a unit quaternion qB/I ∈ Hu and by a translation vector r̄B/I ∈ R3 . Alternatively, the pose of the body frame with respect to the inertial frame can I B be represented more compactly by the unit dual quaternion7 q̂B/I = qB/I + 21 rB/I qB/I = qB/I + 12 qB/I rB/I , where T X X X X X X rY/Z = (r̄Y/Z , 0) and r̄Y/Z = [xY/Z yY/Z zY/Z ] is the translation vector from the origin of the Z-frame to the origin of the Y-frame expressed in the X-frame. Note that q̂B/I is a unit dual quaternion because it belongs to the set15 Hud = {q̂ ∈ Hd : q̂ · q̂ = q̂ q̂ ∗ = q̂ ∗ q̂ = kq̂kd = 1}. Y Y Lemma 1. The unit dual quaternion q̂Y/Z = qY/Z + 12 qY/Z rY/Z ∈ L∞ , if and only if rY/Z ∈ L∞ . Y Proof. If q̂Y/Z ∈ L∞ , then qY/Z rY/Z ∈ L∞ . Note that the unit quaternion qY/Z ∈ L∞ by definition. Moreover, Y Y Y since kqY/Z rY/Z k = krY/Z k, this also implies that rY/Z ∈ L∞ . On the other hand, it is trivial to see that if 1 Y Y qY/Z , rY/Z ∈ L∞ , then q̂Y/Z = qY/Z + 2 qY/Z rY/Z ∈ L∞ as well. Dual Quaternion Representation of the Rotational and Translational Kinematic Equations. The rigid body kinematic equations of the body frame and of a frame with some desired position and attitude, both with reI spect to the inertial frame and represented by the unit dual quaternions q̂B/I and q̂D/I = qD/I + 12 rD/I qD/I = D qD/I + 12 qD/I rD/I , respectively, are given by7 I B I D q̂˙B/I = 21 ω̂B/I q̂B/I = 21 q̂B/I ω̂B/I and q̂˙D/I = 12 ω̂D/I q̂D/I = 12 q̂D/I ω̂D/I , 5 (14) X is the dual velocity of the Y-frame with respect to the Z-frame expressed in the X-frame, so that where ω̂Y/Z X X X X X X X X ω̂Y/Z = ωY/Z + (vY/Z + ωY/Z × rX/Y ), vY/Z = (v̄Y/Z , 0), and v̄Y/Z is the linear velocity of the Y-frame with respect to the Z-frame expressed in the X-frame. By direct analogy to Eq. (3), the dual error quaternion1, 12 is defined as B ∗ , q̂B/D , q̂D/I q̂B/I = qB/D + 12 qB/D rB/D (15) B B B where rB/D = rB/I − rD/I . As illustrated in Figure 1, the dual error quaternion represents the rotation (qB/D ) and B the translation (rB/D ) necessary to align the desired frame with the body frame. It can be shown15 that q̂B/D is also a unit dual quaternion. By differentiating Eq. (19) and using Eq. (18), the kinematic equations of the JB KB KD rB/D rB/I rD/I OB OD KI IB JD rD/I rB/I OI ID JI II Figure 1. Relation between frames. dual error quaternion turn out to be1 B D q̂˙B/D = 12 q̂B/D ω̂B/D = 12 ω̂B/D q̂B/D , (16) B B B where ω̂B/D = ω̂B/I − ω̂D/I is the dual relative velocity between the body frame and the desired frame expressed B ∗ D D B ∗ in the body frame. Note that ω̂D/I = q̂B/D ω̂D/I q̂B/D and ω̂B/I = q̂B/D ω̂B/I q̂B/D . Note also that the kinematic equations of the dual error quaternion, Eq. (20), and of the error quaternion, Eq. (4), have the same form. DUAL QUATERNION REPRESENTATION OF THE RELATIVE DYNAMIC EQUATIONS FOR SATELLITE PROXIMITY OPERATIONS The dual quaternion representation of the rigid body dynamic equations assuming constant (or slowly varying) mass and inertia matrix is given by1, 16 B B B B B B B s ∗ ˙D ω̂D/I q̂B/D )s −M B ?(ω̂D/I ×ω̂B/D )s , (ω̂˙ B/D )s =(M B )−1 ? fˆB −(ω̂B/D +ω̂D/I )× M B ? ((ω̂B/D )s +(ω̂D/I ) ) −M B ?(q̂B/D (17) where fˆB = f B + τ B is the total external dual force applied to the body about its center of mass expressed in body coordinates, f B = (f¯B , 0), f¯B is the total external force vector applied to the body, τ B = (τ̄ B , 0), and τ̄ B is the total external moment vector applied to the body about its center of mass. Finally, M B ∈ R8×8 is the dual inertia matrix15 defined as mI3 03×1 03×3 03×1 B I11 I12 I13 ¯ 01×3 1 01×3 0 I 03×1 M B= , I B= , I¯B = I12 I22 I23 , (18) 03×3 03×1 I¯B 03×1 01×3 1 I13 I23 I33 01×3 0 01×3 1 I¯B ∈ R3×3 is the mass moment of inertia of the body about its center of mass written in the body frame, and m is the mass of the body. 6 Note the similarity between the dual quaternion representation of the combined rotational and translational dynamic equations given by Eq. (21) and the quaternion representation of the rotational(-only) dynamic B B B B B ∗ D B B equations given by1 ω̇B/D =(I B )−1 ∗ (τ B −(ωB/D +ωD/I )× I B ∗ (ωB/D +ωD/I ) −I B ∗ (qB/D ω̇D/I qB/D )−I B ∗ (ωD/I ×ωB/D )). For the case of a spacecraft in Earth orbit, we decompose the total external dual force acting on the body as follows: B fˆB = fˆgB + fˆ∇g + fˆJB2 + fˆdB + fˆcB , (19) where fˆgB = mâBg , âBg = aBg + 0, aBg = (āBg , 0), āBg is the gravitational acceleration given by āBg = −µ B r̄B/I , B kr̄B/I k3 (20) B B B B B µ = 398600.4418 km3 /s2 is Earth’s gravitational parameter,6 fˆ∇g = 0 + τ∇g , τ∇g = (τ̄∇g , 0), τ̄∇g is the 1 gravity-gradient torque given by r̄B × (I¯B r̄B ) B τ̄∇g = 3µ B/I B 5 B/I , (21) kr̄B/I k fˆJB2 = mâBJ2 , âBJ2 = aBJ2 + 0, aBJ2 = (āBJ2 , 0), āBJ2 is the perturbing acceleration due to J2 29 given by āIJ2 I zI 2 xB/I (1 − 5( kr̄B/I ) ) I I k kr̄B/I B/I k I I 3 µJ2 Re2 zB/I 2 yB/I , =− (1 − 5( ) ) I I I kr̄B/I k kr̄B/I k 2 kr̄B/I k4 I I zB/I 2 zB/I (3 − 5( kr̄I k ) ) kr̄I k B/I (22) B/I J2 = 0.0010826267, Re = 6378.137 km is Earth’s mean equatorial radius,6 fˆdB = fdB + τdB is the disturbance dual force, and fˆcB = fcB +τcB is the control dual force. We do not explicitly take into account other disturbance forces and torques due to, for example, atmospheric drag, solar radiation, and third-bodies. Instead, we will assume that fˆdB is a constant (or slowly varying), but otherwise unknown, dual force that captures all neglected (but small) external forces and torques. For the sake of simplicity and compactness, it is more B B = , and fˆJB2 in terms of the dual inertia matrix as follows: fˆgB = M B ? âBg , fˆ∇g convenient to write fˆgB , fˆ∇g B 3µr̂B/I B B B B B B B s ˆ = M ? â , where r̂ = r + 0. B 5 × (M ? (r̂ ) ), and f kr̂B/I k B/I J2 J2 B/I B/I ADAPTIVE POSITION AND ATTITUDE TRACKING CONTROLLER The main result of this paper is an adaptive pose-tracking controller for satellite proximity operations that requires no information about the mass and inertia matrix of the satellite. In particular, it requires no bounds on the mass and/or eigenvalues of the inertia matrix. The next theorem presents this controller and shows that it is almost globally asymptotically stable. Theorem 1. Consider the relative kinematic and dynamic equations given by Eq. (20) and Eq. (21). Let the control dual force be defined by the feedback control law B B s ∗ s ˆB −vec q̂B/D dB ? âBg − 3µr̂B/I × (M dB ? (r̂B/I dB ? âBJ −fc fˆcB =−M ) )−M (q̂B/D − ) −Kd ? ŝs d 2 B 5 kr̂B/I k B B s ∗ ˙D B B ∗ s dB ?(ω̂B/I dB ?(q̂B/D dB ?(ω̂D/I dB ? (Kp ? d (q̂B/D +ω̂B/I ×(M ) )+M ω̂D/I q̂B/D )s +M ×ω̂B/D )s −M (q̂B/D − )))s , dt (23) where Kr = K̄r 01×3 B ∗ s ŝ = ω̂B/D + (Kp ? (q̂B/D (q̂B/D − )))s , Kr 04×4 Kv 04×4 Kp = , Kd = , 04×4 Kq 04×4 Kω 03×1 K̄q 03×1 K̄v 03×1 K̄ω , Kq = , Kv = , Kω = 0 01×3 0 01×3 0 01×3 7 (24) (25) 03×1 , 0 (26) dB is an estimate of the dual inertia matrix updated K̄r , K̄q , K̄v , K̄ω ∈ R3×3 are positive definite matrices, M according to d dB ∗ ˙D B B ∗ s v(M ) = Ki h(ŝs , −(q̂B/D ω̂D/I q̂B/D )s − (ω̂D/I × ω̂B/D )s + (Kp ? (q̂B/D (q̂B/D − )))s + âBg + âBJ ) dt µr̂B B s B s B s )) , − h((ŝ × ω̂B/I ) , (ω̂B/I ) ) + h((ŝ × B B/I )s , (r̂B/I kr̂B/I k (27) Ki ∈ R7×7 is a positive definite matrix, v(M B ) = [I11 I12 I13 I22 I23 I33 m]T is a vectorized version of the dual inertia matrix M B , the function h : Hvd × Hvd → R7 is defined as â ◦ (M B ? b̂) = h(â, b̂)T v(M B ) = v(M B )T h(â, b̂) or, equivalently, h(â, b̂) = [a5 b5 a6 b5 +a5 b6 a7 b5 +a5 b7 a6 b6 a7 b6 +a6 b7 a7 b7 a1 b1 +a2 b2 b +a3 b3 ]T , fˆB is an estimate of the dual disturbance force updated according to d Kf Kj = 04×4 04×4 , Kτ d b fˆB = Kj ? ŝs , dt d K̄f 03×1 Kf = , 01×3 1 (28) K̄τ Kτ = 01×3 03×1 , 1 (29) D D B and K̄f , K̄τ ∈ R3×3 are positive definite matrices. Assume that ω̂D/I , ω̂˙ D/I ∈ L∞ and r̂B/I 6= 0. Then, for all B B = 0 (i.e., initial conditions, limt→∞ q̂B/D = ±1 (i.e., limt→∞ qB/D = ±1 and limt→∞ rB/D = 0), limt→∞ ω̂B/D b B B B B d), fˆ ∈ L∞ . limt→∞ ω = 0 and limt→∞ v = 0), and v(M d B/D B/D Proof. First, define the dual inertia matrix and dual disturbance force estimation errors as ˆB − fˆB . dB − M B and ∆fˆB = fb ∆M B = M d d d (30) B Note that q̂B/D = ±1, ω̂B/D = 0, v(∆M B ) = 0, and ∆fˆdB = 0 are the equilibrium conditions of the closed-loop system formed by Eqs. (21), (24), (20), (35), and (39). Consider now the following candidate Lyapunov funcB = 0, v(∆M B ) = 0, and ∆fˆdB = 0: V (q̂B/D , ŝ, v(∆M B ), ∆fˆdB ) = tion for the equilibrium point q̂B/D = +1, ω̂B/D 1 s B s (q̂B/D − 1) ◦ (q̂B/D − 1) + 2 ŝ ◦ (M ? ŝ ) + 12 v(∆M B )T Ki−1 v(∆M B ) + 12 ∆fˆdB ◦ (Kj−1 ? ∆fˆdB ). Note that V is a valid candidate Lyapunov function since V (q̂B/D = 1, ŝ = 0, v(∆M B ) = 0, ∆fˆdB = 0) = 0 and V (q̂B/D , ŝ, v(∆M B ), ∆fˆdB ) > 0 for all (q̂B/D , ŝ, v(∆M B ), ∆fˆdB ) ∈ Hud × Hvd × R7 × Hvd \{1, 0, 0, 0}. The d v(∆M B ) + time derivative of V is equal to V̇ = 2(q̂B/D − 1) ◦ q̂˙B/D + ŝs ◦ (M B ? ŝ˙ s ) + v(∆M B )T Ki−1 dt d ∗ ˙ B ∆fˆdB ◦ (Kj−1 ? dt = 2q̂B/D q̂B/D , Eq. (32) can be rewritten as q̂˙B/D = ∆fˆdB ). Then, since from Eq. (20), ω̂B/D 1 1 s s ∗ 2 q̂B/D ŝ − 2 q̂B/D (Kp ? (q̂B/D (q̂B/D − ))) , which can then by plugged into V̇ , together with the time derivative ∗ s B of Eq. (32), to yield V̇ =(q̂B/D − 1) ◦ (q̂B/D ŝ − qB/D (Kp ? (q̂B/D (q̂B/D − )))s ) + ŝs ◦ (M B ? (ω̂˙ B/D )s )+ŝs ◦ (M B ? ∗ s d(q̂B/D (q̂B/D −)) s −1 d −1 d B T B B B (Kp ? ) ) + v(∆M ) Ki dt v(∆M ) + ∆fˆd ◦ (Kj ? dt ∆fˆd ). Applying Eq. (7) and insertdt B s ∗ s ∗ s ∗ − ))+ŝs ◦ (fˆB −ω̂B/I × MB ? (q̂B/D − )) − (Kp ? (q̂B/D (q̂B/D − ))) ◦ (q̂B/D (q̂B/D ing Eq. (21) yields V̇ =ŝs ◦ (q̂B/D ∗ s d(q̂ (q̂ −)) d B s ∗ ˙D B B (ω̂B/I ) −M B ?(q̂B/D ω̂D/I q̂B/D )s −M B ?(ω̂D/I ×ω̂B/D )s )+ŝs ◦(M B ?(Kp ? B/D dtB/D )s )+v(∆M B )T Ki−1 dt v(∆M B ) −1 d B B +∆fˆd ◦ (Kj ? dt ∆fˆd ). By introducing the feedback control law, Eq. (31), and using Eq. (8), V̇ becomes V̇ = − (q̂ ∗ (q̂ s − )) ◦ (Kp ? (q̂ ∗ (q̂ s − ))) + ŝs ◦ (ω̂ B × (∆M B ? (ω̂ B )s ) + ∆M B ? (q̂ ∗ ω̂˙ D q̂B/D )s + B/D B/D B/D B/D B/I B/I B/D D/I d(q̂ ∗ (q̂ s −)) s 3µr̂ B B B s B ∆M ? (ω̂ × ω̂ ) − ∆M ? (Kp ? B/D dtB/D ) − ∆M B ? âBg − kr̂B B/I 5 × (∆M ? (r̂B/I ) ) − ∆M ? B/I k d d ∗ s âBJ2 − ∆fˆdB ) − ŝs ◦ (Kd ? ŝs ) + v(∆M B )T Ki−1 dt v(∆M B ) + ∆fˆdB ◦ (Kj−1 ? dt ∆fˆdB ) = −(q̂B/D (q̂B/D − )) ◦ s B B B ∗ s B s B B s s B ∗ ˙D (Kp ? (q̂B/D (q̂B/D − )))+(ŝ × ω̂B/I ) ◦ (∆M ? (ω̂B/I ) )+ŝ ◦ (∆M ?(q̂B/D ω̂D/I q̂B/D ) + ∆M ?(ω̂D/I ×ω̂B/D )s −∆M B ? d(q̂ ∗ (q̂ s −)) s 3µr̂ B s B B s s s (Kp ? B/D dtB/D ) −∆M B ? âBg −∆M B ? âBJ2 − ∆fˆdB )−(ŝ × kr̂B B/I 5 ) ◦ (∆M ? (r̂B/I ) )−ŝ ◦ (Kd ? ŝ ) + B/I k d d d v(∆M B ) + ∆fˆdB ◦ (Kj−1 ? dt ∆fˆdB ). Therefore, if dt v(∆M B ) is defined as in Eq. (35) and v(∆M B )T Ki−1 dt d B ∗ s ∗ s s s ˆ dt ∆fd is defined as in Eq. (39), it follows that V̇ =−(q̂B/D (q̂B/D −))◦(Kp ?(q̂B/D (q̂B/D −)))−ŝ ◦(Kd ? ŝ ) ≤ 0, for all (q̂B/D , ŝ, v(∆M B ), ∆fˆdB ) ∈ Hud × Hvd × R7 × Hvd \{1, 0, 0, 0}. Hence, q̂B/D , ŝ, v(∆M B ), and ∆fˆdB B B D/I B B/D s B 8 are uniformly bounded, i.e., q̂B/D , ŝ, v(∆M B ), ∆fˆdB ∈ L∞ . Moreover, from Eqs. (32) and (??), this also B ˆB ∈ L∞ . Since V ≥ 0 and V̇ ≤ 0, limt→∞ V (t) exists and is finite. Hence, dB ), fb means that ω̂B/D , v(M d Rt B limt→∞ 0 V̇ (τ ) dτ = limt→∞ V (t) − V (0) also exists and is finite. Since q̂B/D , ŝ, v(∆M B ), ∆fˆdB , ω̂B/D , b D B B B B dB ), fˆB , ω̂˙ D/I , ω̂D/I ∈ L∞ and r̂B/I 6= 0, then from Eqs. (20), (31), and (21) and from Lemma 1, q̂˙B/D , fˆ , ω̂˙ B/D , v(M d ˙ŝ ∈ L∞ . Hence, by Barbalat’s lemma, vec q̂ ∗ (q̂ s − ) → 0 and ŝ → 0 as t → ∞. In Ref. 15, it is shown B/D B/D ∗ s that vec q̂B/D (q̂B/D − ) → 0 is equivalent to q̂B/D → ±1. Finally, calculating the limit as t → ∞ of both sides B of Eq. (32) yields ω̂B/D → 0. Remark 1. Theorem 1 states that q̂B/D converges to either +1 or −1. Note that q̂B/D = +1 and q̂B/D = −1 represent the same physical relative position and attitude between frames, so either equilibrium is acceptable. However, this can lead to the so-called unwinding phenomenon where a large rotation (greater than 180 degrees) is performed, despite the fact that a smaller rotation to the equilibrium (less than 180 degrees) exits. This problem of quaternions is well documented and possible solutions exist in literature.13, 27, 30, 1 Remark 2. It can be easily shown that if the control law given by Eq. (31) is replaced by its nonadaptive model-dependent version, where the estimates of the dual inertia matrix and of the dual disturbance force are replaced by its true values in Theorem 1, i.e., 3µr̂B ∗ s B s fˆcB =−M B ? âBg − B B/I5 × (M B ? (r̂B/I (q̂B/D − ) −Kd ? ŝs ) )−M B ? âBJ2 −fˆdB −vec q̂B/D kr̂B/I k d ∗ s B B s ∗ ˙D B B +ω̂B/I ×(M B ?(ω̂B/I ) )+M B ?(q̂B/D ω̂D/I q̂B/D )s +M B ?(ω̂D/I ×ω̂B/D )s −M B ?(Kp ? (q̂B/D (q̂B/D −)))s , dt (31) B = 0. then it is still true that, for all initial conditions, limt→∞ q̂B/D = ±1 and limt→∞ ω̂B/D SUFFICIENT CONDITIONS FOR MASS AND INERTIA MATRIX IDENTIFICATION In this section, we give sufficient conditions on the reference motion that guarantee that the estimate of the dual inertia matrix will converge to the true dual inertia matrix. Note however that the result presented in Theorem 1 does not depend on the convergence of this estimate. In other words, the controller proposed in Theorem 1 guarantees almost global asymptotical stability of the closed-loop system even without estimate convergence. Nevertheless, identification of the mass and inertia matrix of the chaser satellite might be important for fuel consumption estimation, calculation of re-entry trajectories and terminal velocities, state estimation, fault-detecting-and-isolation systems, and docking/undocking scenarios. b Proposition 1. Let the dual disturbance force be exactly known or estimated so that fˆdB can be replaced by D D ¨ D ∈ L∞ , r̂B 6= 0, and q̂D/I is periodic. Furthermore, let , ω̂ , ω̂˙ D/I fˆdB in Eq. (31). Moreover, assume that ω̂D/I B/I D/I 8×7 W : [0, ∞) → R be defined as D D D W(t)v(∆M B ) = ω̂D/I (t) × (∆M B ? (ω̂D/I (t))s ) + ∆M B ? (ω̂˙ D/I (t))s D 3µr̂ D s − ∆M B ? âDg − D D/I5 × (∆M B ? (r̂D/I ) ) − ∆M B ? âDJ2 kr̂D/I k (32) or, equivalently, W(t) = Wrb (t) + Wg (t) + W∇g (t) + WJ2 (t), where 0 0 0 0 Wrb (t) = ṗ pr −pq 0 0 0 0 0 q̇ − pr ṗ + qr p2 − q 2 0 0 0 0 0 ṙ + pq −p2 + r2 ṗ − qr 0 0 0 0 0 −qr q̇ pq 0 9 0 0 0 0 q2 − r2 ṙ − pq q̇ + pr 0 0 0 0 0 qr −pr ṙ 0 u̇ + qw − rv v̇ − pw + ru ẇ + pv − qu 0 , 0 0 0 0 (33) 0 0 0 Wg (t) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 W∇g (t) = 3µxz − D 5 kr̄D/I k 3µxy D 5 kr̄D/I k 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 µx D k3 kr̄D/I µy D k3 kr̄D/I µz D k3 kr̄D/I 0 0 0 0 0 , 0 0 0 0 WJ2 (t) = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3µxz D k5 kr̄D/I 3µyz − kr̄D k5 D/I 2 −y 2 ) − 3µ(x D k5 kr̄D/I 3µxy − kr̄ D k5 3µyz D k5 kr̄D/I 0 D/I 2 2 −x ) − 3µ(z D k5 kr̄D/I 3µyz D k5 kr̄D/I 0 0 3µxy − kr̄ D 5 D/I k 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 −z − 3µ(y kr̄ D k5 D/I 3µxy D k5 kr̄D/I 3µxz − kr̄D k5 D/I 0 0 a1 0 a2 0 a3 0 0 , 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 ) − kr̄3µyz D k5 D/I 3µxz D k5 kr̄D/I 0 0 0 0 0 0 0 , 0 0 (34) (35) 0 D D D where v̄D/I = [u v w]T , ω̄D/I = [p q r]T , r̄D/I = [x y z]T , and āDJ2 = [a1 a2 a3 ]T . Let also 0 ≤ t1 ≤ t2 ≤ ... ≤ tn be such that W(t1 ) rank ... = 7. (36) W(tn ) dB = M B . Then, under the control law given by Eq. (31), limt→∞ M B B = 0 does not imply that = 0. (Note that limt→∞ ω̂B/D Proof. We start by showing that limt→∞ ω̂˙ B/D R t B B B B B ˙ ˙ (0) exits (0) = −ω̂B/D limt→∞ ω̂B/D = 0.) First, note that limt→∞ 0 ω̂B/D (τ ) dτ = limt→∞ ω̂B/D (t) − ω̂B/D c B dB ) df M B D ¨D D B , dv(dt ,ω̂D/I , q̂˙B/D , q̂¨B/D , ω̂˙ B/D , ω̂˙ D/I and is finite. Furthermore, since ω̂D/I 6= 0, we have that , dtd ∈ L∞ and r̂B/I B B ¨ ˙ ω̂B/D ∈ L∞ by differentiating Eq. (21). Hence, by Barbalat’s lemma, limt→∞ ω̂B/D = 0. Now, we calculate the limit as t → ∞ of both sides of Eq. (21) to get D D D 0 = lim (ω̂D/I (t) × (∆M B ? (ω̂D/I (t))s ) + ∆M B ? (ω̂˙ D/I (t))s t→∞ − ∆M B ? âDg − D 3µr̂D/I D s × (∆M B ? (r̂D/I ) ) − ∆M B ? âDJ2 − ∆fˆdB ) D kr̂D/I k5 (37) Note that under the conditions of Proposition 1, ∆fˆdB = 0. Moreover, if q̂D/I is periodic with period T , so d dB ) = 0 from Eq. (35) and Theorem 1, under the conditions of v(M is W(t). Finally, noting that limt→∞ dt dB = M B . Proposition 1, Eq. (53) implies that limt→∞ v(∆M B ) = 0 or, equivalently, limt→∞ M Remark 3. In practice, the true disturbance dual force fˆdB is never known. Moreover, we cannot guarantee that the estimate of the disturbance dual force will converge to its true value. Hence, in practice, the estimate of the mass and inertia matrix of the spacecraft will only be as good as the estimate of the disturbance dual force. Remark 4. An alternative, and more general, sufficient condition than Eq. (52) for dual inertia matrix R t+T T identification, which does not require q̂D/I to be periodic, is that the 7 × 7 matrix t 2 W (t)W(t) dt, is positive definite for all t ≥ T1 for some T1 ≥ 0 and T2 > 0.?, ? 10 SIMULATION RESULTS In this section, we demonstrate how our controller can be used in a conceivable satellite proximity operations scenario. We assume that the target spacecraft is in a highly eccentric Molniya orbit with orbital elements given in Table 1 and nadir pointing. Inspired by linear results for circular target orbits,31 we would like our chaser satellite to perform a full elliptical revolution around the target satellite while always pointing to it. We would like this elliptical motion to take a full orbital period, to always be in a plane perpendicular to the angular velocity of the target satellite, and to describe a 2-by-1 ellipse. This elliptical motion is illustrated in Figure ?? through a series of snapshots. Figure 2. Snapshots of the elliptical motion. For this problem, we define four reference frames: the inertial frame, the target frame, the desired frame, and the body frame. The inertial frame is the Earth-Centered-Inertial (ECI) frame. The body frame is some frame fixed to the chaser satellite and centered at its center of mass. The target frame and the desired frame are defined in Table 2, where r̄T/I × v̄T/I ω̄T/I = (38) kr̄T/I k2 is calculated from the angular momentum of the target spacecraft with respect to the inertial frame given by h̄T/I = mkr̄T/I k2 ω̄T/I = r̄T/I × mv̄T/I . The target satellite is assumed to be fixed to the target frame. The objective of the control law is to superimpose the body frame to the desired frame. The relationship between the different frames is illustrated in Figure 2. Table 1. Orbital elements of target satellite. Perigee altitude Eccentricity Inclination Argument of perigee RAAN True anomaly 11 813.2 km 0.7 63.4 deg 270 deg 329.6 deg 180 deg Table 2. Target and desired frames. Target frame I¯T = kr̄r̄T/I T/I k J¯T = K̄T × I¯T ω̄T/I K̄T = kω̄ T/I k Desired frame D/T I¯D = kr̄r̄D/T k J¯D = K̄D × I¯D ω̄D/T K̄D = kω̄ D/T k ID J D KD I D T/I KT IT rT/I OT rD/T OD rD/T D/T KD rT/I KB rB/D OB KI J T KT I T OI II JB IB JI Figure 3. Reference frames. The linear velocity of the target satellite with respect to the inertial frame is calculated by numerically integrating the gravitational acceleration and also the perturbing acceleration due to J2 acting on the target satellite. On the other hand, the angular acceleration of the target satellite with respect to the inertial frame is calculated analytically through I I αT/I = ω̇T/I = I I I I I I ) · vT/I )2(rT/I × vT/I k2 − (rT/I × aIT/I )krT/I (rT/I . I 4 krT/I k (39) Equation (55) is the analytical time derivative of Eq. (54). Note that the J2 perturbation changes the direction of the target’s angular velocity with respect to the inertial frame. However, this change is relatively small in our scenario due to the critical inclination of the Molniya orbit. The rotational and translational kinematic equations of the target frame with respect to the inertial frame are written in terms of dual quaternions as in Eq. (18). In this scenario, the angular and linear velocity of the desired frame with respect to the target frame are T T defined as ω̄D/T = [0, 0, n]T rad/s and v̄D/T = [−ae n sin(nt), be n cos(nt), 0]T m/s, where ae = 10 m and be =p20 m are the semi-minor and the semi-major axes of the 2-by-1 ellipse around the target satellite, n = aµ3 is the mean motion of the target satellite (assuming no J2 perturbation), and a is the semi-major axis of the target satellite (assuming no J2 perturbation). The initial position of the desired frame with respect T to the target frame is set as r̄D/T = [ae , 0, 0]T m. The rotational and translational kinematic equations of the desired frame with respect to the target frame are written in terms of dual quaternions as in Eq. (20). 12 D D and ω̂˙ D/I . We calculate these variables in terms of The control law given by Eq. (31) is a function of ω̂D/I dual quaternions as follows: D D D ∗ I ∗ T ω̂D/I = ω̂T/I + ω̂D/T = q̂D/I ω̂T/I q̂D/I + q̂D/T ω̂D/T q̂D/T , (40) D ∗ I D D ∗ T ω̂˙ D/I = q̂D/I α̂T/I q̂D/I − ω̂D/I × ω̂T/I + q̂D/T α̂D/T q̂D/T , (41) T T T T T T T I I I I I I I where α̂D/T = ω̂˙ D/T = αD/T +(aTD/T −αD/T ×rD/T −ωD/T ×vD/T ) and α̂T/I = ω̂˙ T/I = αT/I +(aIT/I −αT/I ×rT/I −ωT/I ×vT/I ). Eq. (57) is calculated by differentiating Eq. (56) and using the dual quaternion counterpart of the classical D D transport theorem.16 Note that instead of calculating ω̂D/I and ω̂˙ D/I in terms of dual quaternions, one could D D D D calculate instead ωD/I , ω̇D/I , vD/I , and v̇D/I using the traditional equations for a point moving with respect to a rotating rigid body. However, this would require the calculation of four parameters instead of just two and D D significant more work to calculate vD/I and v̇D/I , whose expressions are coupled with the rotational motion. Thus, Eqs. (56) and (57) are another good example of the benefits in terms of compactness and simplicity of using dual quaternions. −12 x 10 40 uD D/I (m/s) pD D/I (rad/s) 5 0 −5 0 -10 -0.5 0 100 -4 200 Time (s) 1713 300 300 0 100 200 Time (s) 300 100 200 Time (s) 300 -3 5 D w D/I (m/s) D rD/I (rad/s) 200 Time (s) 1713.5 x 10 2.1215 0 100 1714 0 2.121 10 0 0 x 10 0.5 2.122 20 300 D vD/I (m/s) D qD/I (rad/s) 1 100 200 Time (s) 30 100 200 Time (s) 0 -5 300 x 10 0 Figure 4. Desired linear and angular velocity expressed in the desired frame. The inertia matrix and mass of the chaser satellite are assumed to be1 22 0.2 0.5 I¯B = 0.2 20 0.4 Kg.m2 0.5 0.4 23 and m = 100 kg, respectively. The constant disturbance force and torque acting on the chaser satellite are set to f¯dB = [0.005, 0.005, 0.005]T N and τ̄dB = [0.005, 0.005, 0.005]T N.m, respectively. The 13 origin of the body frame (coincident with the center of mass of the chaser satellite) is positioned relaB tively to the origin of the desired frame at r̄B/D =[10, 10, 10]T m. The initial error quaternion, relative linear velocity, and relative angular velocity of the body frame with respect to the desired frame are set to B B B qB/D = [qB/D 1 qB/D 2 qB/D 3 qB/D 4 ]T = [0.4618, 0.1917, 0.7999, 0.3320]T , v̄B/D = [uBB/D vB/D wB/D ]T = [0.1, 0.1, 0.1]T B B B B T T m/s, and ω̄B/D = [pB/D qB/D rB/D ] = [0.1, 0.1, 0.1] rad/s, respectively. The initial estimates for the mass, inertia matrix, and disturbance dual force are set to zero, whereas the control gains are chosen to be K̄r = 0.1I3 , K̄q = 0.5I3 , K̄v = 8I3 , K̄w = 8I3 , Ki = diag([100, 100, 100, 100, 100, 100, 1]), K̄f = 0.8I3 , and K̄τ = 0.8I3 . The linear and angular velocity of the desired frame with respect to the inertial frame expressed in the desired frame, which form the reference for the controller, are illustrated in Figure 3. The relative position and attitude of the body frame with respect to the desired frame using the controller given by Eq. (31) (adaptive) and the controller given by Eq. (46) (nonadaptive) are compared in Figure 4. B In both cases, qB/D → 1 and r̄B/D → 0 as t → ∞, as expected. Figure 5 shows the relative linear and angular 0 5 −0.5 0 100 200 300 xB B/D (m) 10 qB/D1 (-) 0.5 0 100 200 300 qB/D3 (-) 1 0 200 300 200 300 10 0 -10 -20 0 100 Time (s) 0 100 200 300 20 Time (s) 1 B z B/D (m) qB/D4 (-) 100 20 Time (s) -1 0 Time (s) 0 -0.5 -5 -10 0.5 B yB/D (m) qB/D2 (-) Time (s) 0 0.5 0 0 100 200 300 Time (s) Nonadaptive Adaptive 10 0 -10 -20 0 100 200 300 Time (s) Figure 5. Relative attitude and position. velocity of the body frame with respect to the desired frame for the same two cases studied in Figure 4. As B B predicted, ω̄B/D → 0 and v̄B/D → 0 as t → ∞. Figure 6 shows that the adaptive controller is unable to identify the true mass and inertia matrix of the chaser satellite for this reference motion (which does not even cover a full orbital period). Nevertheless, the adaptive controller is still able to track the reference motion. As a matter of fact, the similarities between the responses obtained with the adaptive controller (which has zero information about the true mass, inertia matrix, and disturbance dual force) and the nonadaptive controller (which knowns the true mass, inertia matrix, and disturbance dual force) are quite remarkable. Note that the minimum singular value of the matrix in Eq. (52) for t1 = 0, t2 = 1, ..., t300 = 300 s is 1.2e−9 . Figure 7 14 1 uB B/D (m/s) pB B/D (rad/s) 0.5 0 −0.5 0 100 200 0.5 0 -0.5 -1 300 0 100 Time (s) 0.1 0 -0.1 0 100 200 300 0 -0.5 -1 300 0 100 Time (s) 2 (m/s) 0.5 B rB/D (rad/s) 200 0.5 Time (s) 0 B w B/D 0 -0.5 300 1 B vB/D (m/s) B qB/D (rad/s) 0.2 -0.2 200 Time (s) 100 200 0 -1 -2 300 Time (s) Nonadaptive Adaptive 1 0 100 200 300 Time (s) Figure 6. Relative linear and angular velocity expressed in the body frame. shows that for this reference motion, even though the adaptive controller is unable to exactly identify the true disturbance dual force, it converges to values of the same order of magnitude. Note that Theorem 1 only guarantees that these estimates will be uniformly bounded. For completeness, Figure 8 shows the control B B B T B B B T τc2 τc3 ] , produced by the adaptive and nonadaptive fc2 fc3 ] , and the control torque, τ̄cB =[τc1 force, f¯cB =[fc1 controllers during the initial transient response. These relatively high values of control force and torque are required to eliminate the initial relative position, attitude, linear and angular velocity errors that we arbitrarily set between the body frame and the desired frame. More interestingly, Figure 9 shows the control force and torque required to perform a full ellipse around the target satellite in a orbital period. The relatively low values of required control force are in line with those produced by the most common electric engines used in spacecraft, namely, ion drives and Hall thrusters,32 which can produce up to 250 and 600 mN of thrust, respectively. Note that the control torques, on the other hand, can be implemented by electrical reaction wheels and/or control moment gyros without the use of on-board fuel. Finally, to demonstrate that the adaptive control law can estimate the mass and inertia matrix of the chaser satellite given appropriate reference signals, we redefine the dual velocity of the desired frame with respect to π T T the target frame as ω̄D/T = v̄D/T = [0.1, 0.2, 0.3]T cos([3000n, 2000n, 1000n]T t + 180 [0, 20, 40]T ) rad/s and m/s, respectively, and true anomaly of the target satellite as 0 deg. For this reference motion, the minimum singular value of the matrix in Eq. (52) for t1 = 0, t2 = 1, ..., t600 = 600 s is 8.6e−1 . The mass and inertia matrix identification is shown in Figure 10. The control forces required to follow such rather unrealistic reference motion are too high for practical applications. However, note that the mass and inertia matrix identification shown in Figure 10 occurs even for a non-zero and unknown disturbance dual force. 15 Iˆ12 (kg.m2 ) Iˆ11 (kg.m2 ) 0 −50 0 100 200 Time (s) 300 5 Iˆ13 (kg.m2 ) 10 50 5 0 -5 -10 0 100 200 Time (s) -5 300 15 10 5 100 200 Time (s) 0 -50 -100 0 100 200 Time (s) 300 100 200 Time (s) 300 100 200 Time (s) 300 40 Nonadaptive Adaptive 50 100 200 Time (s) 5 0 0 300 Iˆ33 (kg.m2 ) m̂ (kg) 100 0 10 Iˆ23 (kg.m2 ) Iˆ22 (kg.m2 ) 20 0 0 0 30 20 10 0 0 300 Figure 7. Mass and inertia matrix estimation for low-exciting reference motion. CONCLUSION An adaptive position and attitude tracking controller for satellite proximity operations is presented in this paper. The controller requires no information about the mass and inertia matrix of the chaser satellite and takes into account the gravitational force, the perturbing force due to J2 , and the gravity-gradient torque. This controller is shown to be almost globally asymptotically stable, even in the presence of constant unknown disturbance forces and torques. Sufficient conditions for mass and inertia matrix identification are given. The numerical simulations of the controller indicate that it could be implemented using electric propulsion. Future work includes combining the proposed controller with the velocity-free pose-tracking controller described in Ref. 16, in order to create a model-independent velocity-free pose-tracking controller. ACKNOWLEDGMENTS This work was supported by the International Fulbright Science and Technology Award sponsored by the Bureau of Educational and Cultural Affairs (ECA) of the U.S. Department of State and AFRL research award FA9453-13-C-0201. REFERENCES [1] J. Wang and Z. Sun, “6–DOF robust adaptive terminal sliding mode control for spacecraft formation flying,” Acta Astronautica, Vol. 73, 2012, pp. 676–87. [2] P. J. N. Raymond Kristiansen, “Spacecraft formation flying: A review and new results on state feedback control,” Acta Astronautica, Vol. 65, 2009, pp. 1537–1552. 16 2 B fd1 (N) B τd1 (N.m) 0.5 0 −0.5 0 100 200 1 0 -1 -2 300 0 100 0 0 100 200 300 0 -1 -2 300 0 100 Time (s) 1 10 0.5 B fd3 (N) B τd3 (N.m) 200 1 Time (s) 0 -0.5 -1 300 2 B fd2 (N) B τd2 (N.m) 0.5 -0.5 200 Time (s) Time (s) 0 100 200 300 Nonadaptive Adaptive 5 0 -5 -10 0 100 200 300 Time (s) Time (s) Figure 8. Disturbance dual force estimation. [3] J. T. G. Raymond Kristiansen, Per Johan Nicklasson, “Spacecraft coordination control in 6DOF: Integrator backstepping vs passivity-based control,” Automatica, Vol. 44, 2008, pp. 2896–2901. [4] H. Pan and V. Kapila, “Adaptive Nonlinear Control for Spacecraft Formation Flying with Coupled Translational and Attitude Dynamics,” Proceedings of the 40th IEEE Conference on Decision and Control, Orlando, Florida USA, December 2001, pp. 2057–2062. [5] N. Filipe and P. Tsiotras, “Adaptive Model-Independent Tracking of Rigid Body Position and Attitude Motion with Mass and Inertia Matrix Identification using Dual Quaternions,” AIAA Guidance, Navigation, and Control Conference, Boston, MA, August 19-22 2013. [6] D. Vallado and W. McClain, Fundamentals of Astrodynamics and Applications. Space Technology Library, Springer, third edition ed., 2007. [7] Y. Wu, X. Hu, D. Hu, T. Li, and J. Lian, “Strapdown Inertial Navigation System Algorithms Based on Dual Quaternions,” IEEE Transactions on Aerospace and Electronic Systems, Vol. 41, January 2005, pp. 110–132. [8] R. M. Murray, Z. Li, and S. S. Sastry, A Mathematical Introduction to Robotic Manipulation. CRC Press, 1994. [9] H.-L. Pham, V. Perdereau, B. V. Adorno, and P. Fraisse, “Position and Orientation Control of Robot Manipulators Using Dual Quaternion Feedback,” IEEE/RSJ International Conference on Intelligent Robost and Systems, Taipei, Taiwan, October 18–22 2010, pp. 658–663. [10] A. Perez and J. McCarthy, “Dual Quaternion Synthesis of Constrained Robotic Systems,” Journal of Mechanical Design, Vol. 126, September 2004, pp. 425–435. [11] J. Dooley and J. McCarthy, “Spatial Rigid Body Dynamics using Dual Quaternion Components,” Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, California, April 1991, pp. 90–95. [12] D. Han, Q. Wei, Z. Li, and W. Sun, “Control of Oriented Mechanical systems: A Method Based on Dual Quaternions,” Proceeding of the 17th World Congress, The International Federation of Automatic Control, Seoul, Korea, July 6–11 2008, pp. 3836–3841. 17 10 B fc1 (N) B τc1 (N.m) 5 0 −5 0 100 200 5 0 -5 -10 300 0 100 2 20 1 10 0 -1 -2 0 100 200 0 100 B fc3 (N) B τc3 (N.m) 300 Time (s) 20 0 100 200 -10 -20 300 5 0 300 0 Time (s) -5 200 Time (s) B fc2 (N) B τc2 (N.m) Time (s) 200 0 -10 -20 300 Nonadaptive Adaptive 10 0 100 200 300 Time (s) Time (s) Figure 9. Control force and torque during the initial transient response. [13] D.-P. Han, Q. Wei, and Z.-X. Li, “Kinematic Control of Free Rigid Bodies Using Dual Quaternions,” International Journal of Automation and Computing, Vol. 5, July 2008, pp. 319–324. [14] X. Wang and C. Yu, “Feedback Linearization Regulator with Coupled Attitude and Translation Dynamics Based on Unit Dual Quaternion,” 2010 IEEE International Symposium on Intelligent Control, Part of 2010 IEEE Multi-Conference on Systems and Control, Yohohama, Japan, September 8–10 2010, pp. 2380–2384. [15] N. Filipe and P. Tsiotras, “Simultaneous Position and Attitude Control Without Linear and Angular Velocity Feedback Using Dual Quaternions,” American Control Conference, Washington, DC, June 17-19 2013. [16] N. Filipe and P. Tsiotras, “Rigid Body Motion Tracking Without Linear and Angular Velocity Feedback Using Dual Quaternions,” European Control Conference, Zurich, Switzerland, July 17-19 2013. [17] D. Gan, Q. Liao, S. Wei, J. Dai, and S. Qiao, “Dual quaternion-based inverse kinematics of the general spatial 7R mechanics,” Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, Vol. 222, 2008, pp. 1593–1598. [18] K. Daniilidis, “Hand-eye calibration using dual quaternions,” The International Journal of Robotics Research, Vol. 18, 1999, pp. 286–298. [19] J. S. Goddard, Pose and Motion Estimation from Vision Using Dual Quaternion-based Extended Kalman Filtering. PhD thesis, The University of Tennessee, Knoxville, 1997. [20] Q. Ge and B. Ravani, “Computer Aided Geometric Design of Motion Interpolants,” Transactions of the ASME, Vol. 116, September 1994, pp. 756–762. [21] N. Aspragathos and J. Dimitros, “A comparative study of three methods for robotic kinematics,” IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, Vol. 28, April 1998, pp. 135–145. [22] J. Funda, R. Taylor, and R. Paul, “On homogeneous transforms, quaternions, and computational efficiency,” IEEE Transactions on Robotics and Automation, Vol. 6, June 1990, pp. 382–388. 18 0.005 0.005 0 −0.005 1 2 Time (s) 3 0 -0.005 -0.01 4 0.01 0.005 0.005 0 -0.005 0 1 2 Time (s) 3 0.01 0.005 0.005 -0.005 0 1 2 Time (s) 0 1 x 10 0 3 44 x 10 3 2 Time (s) 3 4 4 x 10 -0.005 -0.01 4 4 2 Time (s) 0 0.01 -0.01 1 x 10 0.01 -0.01 0 4 B fc2 (N) B τc2 (N.m) −0.01 0 B τc3 (N.m) B fc1 (N) 0.01 B fc3 (N) B τc1 (N.m) 0.01 4 4 x 10 Nonadaptive Adaptive 0 -0.005 -0.01 0 1 2 Time (s) 3 44 x 10 Figure 10. Control force and torque during a full orbital period. [23] T. Lee, M. Leok, and N. H. McClamroch, “Geometric Tracking Control of a Quadrotor UAV on SE(3),” 49th IEEE Conference on Decision and Control, Atlanta, GA, USA, December 15-17 2010, pp. 5420– 5425. [24] D. H. S. Maithripala, J. M. Berg, and W. P. Dayawansa, “Almost-Global Tracking of Simple Mechanical Systems on a General Class of Lie Groups,” IEEE Transactions on Automatic Control, Vol. 51, January 2006, pp. 216–225. [25] D. Cabecinhas, R. Cunha, and C. Silvestre, “Output-feedback control for almost global stabilization of fully-actuated rigid bodies,” Proceedings of the 47th IEEE Conference on Decision and Control, Cancun, Mexico, December 9-11 2008, pp. 3583–3588. [26] N. A. Chaturvedi, A. K. Sanyal, and N. H. McClamroch, “Rigid-Body Attitude Control using Rotation Matrices for Continuous Singularity-Free Control Laws,” IEEE Control Systems Magazine, June 2011, pp. 30–51. [27] S. P. Bhat and D. S. Bernstein, “A topological obstruction to continuous global stabilization of rotational motion and the unwinding phenomenon,” Systems & Control Letters, Vol. 39, No. 1, 2000, pp. 63 – 70, 10.1016/S0167-6911(99)00090-0. [28] V. Brodsky and M. Shoham, “Dual numbers representation of rigid body dynamics,” Mechanism and Machine Theory, Vol. 34, 1999, pp. 693–718. [29] H. Schaub and J. Junkins, Analytical Mechanics of Space Systems. Education Series, American Institute of Aeronautics & Astronautics, 2003. [30] C. G. Mayhew, R. G. Sanfelice, and A. R. Teel, “Robust Global Asymptotic Attitude Stabilization of a Rigid Body by Quaternion-based Hybrid Feedback,” Joint 48th IEEE Conference on Decision and Control and 28th Chinese Control Conference, Shanghai, P.R. China, December 16-18 2009, pp. 2522– 2527. [31] W. Fehse, Automated Rendezvous and Docking of Spacecraft. Cambridge Aerospace Series, Cambridge University Press, 2003. [32] E. Y. Choueiri, “New Dawn for Electric Rockets,” Scientific American, Vol. 300, February 2009, pp. 58– 65. 19 Iˆ12 (kg.m2 ) Iˆ11 (kg.m2 ) 0 −50 0 10 0 -10 -20 500 20 Iˆ13 (kg.m2 ) 20 50 0 Time (s) 10 0 -10 -20 500 Iˆ23 (kg.m2 ) Iˆ22 (kg.m2 ) 0 Time (s) 100 50 0 0 0 -5 -10 0 500 Time (s) 40 Nonadaptive Adaptive 150 500 5 Iˆ33 (kg.m2 ) m̂ (kg) 10 0 -50 500 Time (s) 50 200 0 Time (s) 30 20 10 0 0 500 Time (s) 500 Time (s) Figure 11. Mass and inertia matrix identification for high-exciting reference motion. 20

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising