Kinematic Feedback Control Using Dual

Alexander Meyer Sjøberg1 and Olav Egeland1

Abstract— This paper presents results on kinematic con- the unwinding problem [2], [3] that appear when feedback trollers for the stabilization of displacements using is taken from the vector. Quaternions have been dual quaternions. The paper shows how certain results for used in attitude estimation [14], where an overview is found quaternion stabilization of can be extended to dual quaternions stabilization of displacements. The paper presents in [4]. Dual quaternions have been used for control in [9] a relevant background material on screw and the where the controller of [1] was extended to dual quaternions, screw description of lines and twists. Moreover, results are and in [10] where an adaptive controller was presented. presented on the computation of the exponential functions for A controller based on a small-angle approximation of the dual quaternions for use in numerical integration. The paper logarithm of the dual quaternion was proposed in [11], [22]. presents and analyzes different controllers based on feedback from dual quaternions, where some of the controllers are known In [16], [13] kinematic control was proposed with feedback from the literature, and some are new. In particular, it is from the vector part of the dual quaternion, and the hybrid shown which controllers give screw motion, and it is discussed control method of [17] was used to avoid the unwinding how this will affect the performance of the controlled system problem. compared to other controllers that are not based on screw In this paper, a new kinematic controller with feedback motion. This analysis is supported by Lyapunov analysis. Also, certain passivity properties for dual quaternions are presented from a dual quaternion is presented based on controllers for as an extension to previously published results on passivity for quaternions [23], [6]. This controller can be implemented quaternions. to give a screw motion, or more direct translation. Hybrid control is not used as the focus is on the kinematic properties I.INTRODUCTION of the dual quaternion feedback, and how this relates to previ- Quaternions have been studied extensively in the control ous quaternion control methods. The controller does not have community for the last three decades for use in attitude problems with unwinding as there is an unstable equilibrium control and estimation on SO(3). More recently, also dual at π. Moreover, a solution for efficient computation of the quaternions have been studied for control and estimation on exponential function for a dual quaternion is presented for SE(3). Many of the properties of quaternions are transferred use in numerical time integration that eliminates the need to dual quaternions, and a geometric interpretation based on for normalization of the real term of the quaternions and a dual angle about a line can be seen as an extension of projection of the dual term. the quaternion interpretation in terms of a rotation about The paper is organized as follows: Sect. II presents back- a vector. Still, there are some notable differences between ground on quaternions, dual quaternions, screws, and screw quaternions on SO(3) and dual quaternions on SE(3) that motion. Sect. III presents different controllers based on dual have an impact on controller design that will be discussed in quaternion feedback, and an analysis of the properties of the this paper. In particular, a bi-invariant metric on SO(3) can controllers, and Lyapunov analysis and passivity properties. be described in terms of the rotation angle θ, and Lyapunov Sect. IV presents the implementation aspects and results functions can be formulated based on the quaternion. In from simulations of the kinematic controllers, while Sect. V contrast to this, there is no bi-invariant metric on SE(3), and concludes this paper. distance measures will be scale-dependent [20]. Moreover, to formulate norms or Lyapunov functions on SE(3) from II.PRELIMINARIES dual quaternions, it is necessary to use inner products on the Euclidean representation of real and dual parts. A. Quaternions Quaternions were used for attitude control with feedback A quaternion q = η + σ is written as the sum of a scalar from the quaternion vector in [23] using Lyapunov analysis part η and a vector part σ [7], [12]. Conjugation is given and in [6] using passivity. In [21] feedback was taken from by q∗ = η − σ , and multiplication with a scalar λ gives the Rodrigues vector and the modified Rodrigues vector. The λq = λη + λσσ . Let q = η + σ and q = η + σ be two need for velocity feedback was eliminated in [15], [1]. More 1 1 1 2 2 2 quaternions. Then the sum is q + q = η + η + σ + σ , recent work [17] has used hybrid control as a solution to 1 2 1 2 1 2 and the quaternion product is q1 ◦ q2 = η1η2 − σ 1 · σ 2 + *The research presented in this paper was funded by the Norwegian Re- η1σ 2 + η2σ 1 + σ 1 × σ 2. The norm of a quaternion is given ∗ search Council under Project Number 237896, SFI Offshore Mechatronics. by ||q||2 = q ◦ q = η2 + σ · σ . 1The authors are with the Department of Mechanical and Indus- A unit quaternion q has unit norm which means that trial Engineering, Norwegian University of Science and Technology 2 2 (NTNU), 7491 Trondheim, Norway {alexander.m.sjoberg, kqk = η + σ · σ = 1. A unit quaternion can be used to olav.egeland}@ntnu.no describe a rotation (k,θ) by an angle θ about a unit vector k by letting θ θ q = η + σ , η = cos , σ = k sin 2 2 Then if R = I + sinθk× + (1 − cosθ)k×k× ∈ SO(3) is the associated , the rotation of a general vector u can be achieved with the two alternative expressions RRuu = q ◦ u ◦q∗. It is noted that q and −q describes the same rotation. The vector e = 2ησσ = k sinθ will also be used. B. Kinematic Differential Equation of a Unit Quaternion

Let q = qab be the quaternion describing the rotation from a frame a to a frame b. Then the kinematic differential equation is 1 1 Fig. 1. The displacement t shown as the sum of the translation u generated q˙ = q ◦ ω b = ω a ◦ q (1) by the rotation θ about the screw axis kˆ, and the translation dkk along the 2 2 the screw axis. b b where ω = ω ab is the of frame b with the same line. An illustration is shown in Fig. 1. This can a b respect to frame a in the coordinates of b, and ω = q ◦ω ◦ be described as a motion by a dual angle θˆ = θ + εd about q∗ is the same vector in the coordinates of a. the line kˆ [18]. The displacement can be represented by C. Dual Vectors, Screws and Lines  R (I − R)c + dkk  T = T ∈ SE(3) (3) A dual real number is written αˆ = α + εα0 where α and 0 1 0 α are real numbers and ε is the dual unit which satisfies R k 2 where R is the rotation matrix corresponding to θ and k, ε 6= 0 and ε = 0 [18]. A real-valued function f (α) can be c = k ×k0 and d = k ·t. If the motion from frame a to frame extended to a function of a dual number where b is done as a screw motion about a fixed line kˆ, then ω = θ˙k, d f (α) 0 and the velocity v of a point fixed in b that is on the screw f (αˆ ) = f (α) + ε α (2) kˆ dα ˆ ˙ axis k will be vkˆ = dkk. It is noted that E. Dual Quaternions 0 0 sinαˆ = sinα + εα cosα, cosαˆ = cosα − εα sinα The dual quaternion can also be written qˆ = q +εq0 where 0 ∗ A dual 3D vector is given by uˆ = u +εu0 where u and u0 are q and q are quaternions. The conjugate is given by qˆ = ∗ 0∗ 0 0 3D vectors. Computations on dual numbers and dual vectors q + εq . Let qˆ 1 = q1 + εq1 and qˆ 2 = q2 + εq2 be two dual are performed as operations on polynomials in the dual unit quaternions. Then the quaternion product is 0 0 ε. For two dual vectors uˆ 1 = u1 +εu1 and uˆ 2 = u2 +εu2 this q q q q q q0 q q0 0 0 qˆ 1 ◦ qˆ 2 = q1 ◦ q2 + ε(q1 ◦ q2 + q2 ◦ q1) gives uˆ 1 + uˆ 2 = u1 + u2 + ε(u1 + u2), uˆ · uˆ 2 = u1 · u2 + ε(u1 · 0 0 0 0 2 ∗ 2 0∗ 0 ∗ u2 + u1 · u2), and uˆ × uˆ 2 = u1 × u2 + ε(u1 × u2 + u1 × u2). The norm is kqˆk = qˆ ◦ qˆ = kqk + ε(q ◦ q + q ◦ q ).A A screw is a dual vector which satisfies the screw trans- dual quaternion is called a dual unit quaternion if kqˆk = 1, a 0a formation law. Let sˆa = s + εsa be the screw referenced to which means that q is a unit quaternion and frame a and given in the coordinates of a. Then the same q ◦ q0∗ + q0 ◦ q∗ = 2(ηη0 + σ · σ 0) = 0 (4) screw referenced to a frame b and given in the coordinates b 0b 0b a 0a a a of b will be sˆb = s + εsb where sb = Rb(sa +t × s ). A displacement of a vector can be expressed as RRuu +t = A line can be described by the screw kˆ = k + εk0, where qˆ ◦ u ◦ qˆ ∗, while the screw transformation from frame a to 0 ∗ k is the unit vector along the line, and k = c × k is the frame b can written [5] sˆa = qˆ ◦ sˆb ◦ qˆ . moment of the line. Here c is the vector from the origin of the reference frame to an arbitrary point on the line. In the F. Dual quaternions in terms of screw motion following the reference frame is the a frame and c = k × k0, A dual unit quaternion that represents a screw motion by which means that it is the vector to the point on the line that a dual angle θˆ about kˆ can then be defined as is closest to the origin. The components of kˆ are the Plucker¨ θˆ θˆ coordinates of the line. qˆ =ηˆ + σˆ , ηˆ = cos , σˆ = kˆ sin (5) 2 2 D. Displacement described as Screw Motion θ d θ ηˆ =η + εη0, η = cos , η0 = − sin (6) a 2 2 2 The displacement T = T b ∈ SE(3) from frame a to frame a 0 θ 0 d θ θ 0 b can be represented by the rotation matrix R = Rb ∈ SO(3) σˆ =σ + εσˆ , σ = k sin , σ = cos k + sin k (7) a a 2 2 2 2 from a to b, and the translation t = t ab from a to b is the coordinates of a. It is well-known that this displacement can Then qˆ = q + εq0 is a dual unit quaternion since q is a unit be described as a screw motion, which is a rotation by an quaternion and ηη0 +σ ·σ 0 = 0. It is noted that rotation and angle θ about a line kˆ = k + εk0 and a translation d along translation commutes for a screw motion. G. Dual quaternions in terms of translation and rotation Let 2 The dual unit quaternion can alternatively be expressed Vσ = 2(1 − η), Ve = 2(1 − η) (19) in terms of a combination of a general translation qˆt = 1 + (t/2) and a rotation q. Then the dual quaternion from a to Then the time derivatives along the solutions of (14) will be ε b b V˙σ = σ ·ω and V˙e = e ·ω , which means that the mappings b will be qˆ = qta ◦q if translation is done before rotation, or ω 7→ σ and ω 7→ e are passive [6]. qˆ = q ◦ qtb if rotation is done before translation. This gives qˆ = q + ε(t a/2) ◦ q = q + εq ◦ (t b/2) (8) J. Exponentials and logarithms It is seen that rotation and translation will not commute in Suppose that a rotation is described by a rotation θ about general. a fixed unit vector k. Then the resulting quaternion of the It follows that q0 = (t a/2) ◦ q = q ◦ (t b/2), which means rotation is q = exp[(θ/2)k] where that q0 can be computed from q and t b, and that θk  θ 2 θ θ b ∗ 0 0 0 0 exp = 1 + θk + k ◦ k + ... = cos + sin k t =2q ◦ q = 2(−η σ + ησσ + σ × σ ) (9) 2 2! 2 2 =(dkk + sinθk0 − (1 − cosθ)c) (10) If the argument of the exponential function is given as a It is noted that vector u, then k = u/kuk and θ/2 = kuk, and it is well known that the exponential can be computed from q0 ◦ q0∗ = (1/4)t ◦ q ◦ q∗ ◦t ∗ = (1/4)t ·t (11) H. The twist as a dual vector exp(u) = cos(kuk) + sinc(kuk)u Let qˆ be the dual unit quaternion describing the dis- which can be computed when kuk tends to zero even though placement T from frame a to a frame b. The twist of the b k = u/kuk becomes undefined, which is seen from the Taylor displacement is a screw given by the dual vector ωˆ = expansion sinc(x) = sin(x)/x ≈ 1 − (1/3!)x2 + .... b b ω + εv which is referenced to frame b and given in the Next, suppose that a displacement is described by a screw coordinates of b. Then vb is the velocity of the origin of ˆ ˆ b motion with a dual angle θ about a fixed axis k. Then the frame b in the coordinates of b. The twist ωˆ is referred to resulting dual unit quaternion is as the body velocity in [19]. ! Consider the case where the frame b moves with respect θˆkˆ θˆ θˆ ˆ exp = cos + sin kˆ (20) to frame a with a screw motion with dual angle θ = θ + 2 2 2 εd about a fixed screw axis kˆ = k + εk0. Then the angular velocity of frame b is ω b = θ˙k, and the velocity of a point The logarithm of a dual quaternion is then seen to be that is fixed in b and that is on the screw axis will be dk˙k.  0  This means that the twist referenced to the screw axis will θˆkˆ θk dkk θk log(qˆ) = = + ε + (21) be ωˆ k = θ˙k + εdk˙k. This twist can be referenced to frame b 2 2 2 2 with the screw transformation III.KINEMATIC CONTROLWITH DUAL QUATERNION b  c  k  c  ωˆ = 1 + ε ◦ ωˆ ◦ 1 − ε (12) FEEDBACK 2 2 where c is the vector from the origin of b to kˆ. Insertion of A. Introduction k0 = c × k gives the following expression for the twist of a Kinematic controllers will be presented and analyzed in screw motion about a fixed axis kˆ the following. These controllers have the twist ωˆ b referenced b 0 to the b frame as the control variable. Moreover, only two ωˆ = θ˙k + ε(dk˙k + θ˙k ) (13) frames a and b will be used in the analysis. The b frame is I. Kinematic Differential Equation of a Dual Unit Quater- the body-fixed frame, while a can be the fixed spatial frame nion or the desired frame. The kinematic differential equation is B. Kinematic Control giving Screw Motion 1 qˆ˙ = qˆ ◦ ωˆ b (14) 2 To analyze controllers based on dual unit quaternions, it is which gives interesting to investigate if a controller gives screw motion to get insight into the kinematics of the resulting motions. In 1 η˙ = − σ · ω b (15) addition, Lyapunov analysis is used, and passivity properties 2 are investigated. It is noted that if the control ωˆ b = ω b +εvb 1 σ˙ = (ηωω b + σ × ω b) (16) is selected as 2 1 b 0 η˙ 0 = − (σ · vb + σ 0 · ω b) (17) ωˆ = αk + ε(βk + αk ) (22) 2 0 1 where α and β are scalars, then the resulting motion is a σ˙ = (ηvb + η0ω b + σ × vb + σ 0 × ω b) (18) 2 screw motion about the screw axis kˆ = k + εk0. C. Comments on Existing Kinematic controllers E. Lyapunov Function Candidate 1 Consider the kinematic controller ωˆ b = −K(σ + εησσ 0), Consider the following Lyapunov function candidate which was discussed by [13], who observed that the transla- V = 2(1 − η2) + 2(η02 + σ 0 · σ 0) (31) tion was unstable when η < 0. The controller does not give 1 a screw motion as seen from where the first term is the storage function Ve defined in (19).    From (6) and (11) it is seen that b θ d θ θ 0 ωˆ = − K sin k + ε cos k + sin k (23) θ 1 2 2 2 2 V = 2sin2 + t a ·t a (32) 1 2 2 where it is seen that translation along k will be in the wrong The time derivative of V1 along the solutions of the kinematic direction if η = cos(θ/2) < 0. A modification in the form differential equations is ωˆ b = −K(hσ + εησσ 0) was proposed in [13] where h is a b 0 0 0 b discrete state variable which is used to generate a hysteresis V˙1 = 2ησσ · ω + 2(−η σ + ησσ + σ × σ ) · v (33) in the regions where η = 0 [17]. This modified controller ˆ b will not give a screw motion. Then a kinematic controller on the form ω = −Kγ(η)(σ − εσσ 0) and (4) will give the time derivative The controller ωˆ b = −K(log(q) + εt b) was proposed in (q) + t b [11], [22], where log ε was introduced as a small- V˙1 = −2Kγ(η)ηV1 (34) angle an approximation of the logarithm in (21). The con- troller will be asymptotically stable, but as commented in which implies asymptotic stability when γ(η)η > 0 for all [13], the controller will be discontinuous for large angles, as η 6= 0. This applies for the proposed Controller 1, which 2 seen from gives V˙1 = −2Kη V1, and for the proposed Controller 2, which gives V˙1 = −2KV1. ωˆ b = − K[(θ/2)k + ε(t b)], |θ| < π (24) Controller 3 gives 2 2 a a V˙1 = −2K1η (1 − η ) − K2t ·t (35) The controller ωˆ b = ω b + εvb is the kinematic controller corresponding to the controller proposed in [9], where ω b F. Lyapunov Function Candidate 2 is the vector part of −K(q0∗ ◦ q0 + q∗ ◦ (q − 1)), and vb = Consider the Lyapunov function candidate [9], [13] −Kqq∗ ◦ q0 = −(K/2)t b. The kinematic controller is 02 0 0 V2 =2(1 − η) + 2(η + σ · σ ) (36) ωˆ b = − K[σ + ε(t b/2)] (25) where the first term is the storage function Vσ defined in This controller will not give screw motion. (19). Using (6) and (11), this can also be written

2 θ 1 a a V2 = 4sin + t ·t (37) D. Proposed controllers 4 2 The time derivative of V along the solutions of the kinematic Consider the following kinematic controllers that satisfies 1 differential equations is condition (22), and gives screw motion about kˆ. b 0 b 0 0 0 b Controller 1 is new and given by ωˆ 1 = −2K(ησσ +εησσ ). V˙2 = σ · ω + 2(−η σ + ησσ + σ × σ ) · v (38) This gives the screw motion G. Passivity   θ  ωˆ b = − K sinθk + ε d cos2 k + sinθk0 (26) From (9) and (33) with e = 2ησ it is seen that 1 2  T  b  ˙ b b b e ω b 0 V1 = e · ω +t · v = b b (39) Controller 2 is new and given by ωˆ 2 = −(2K/η)(σ +εσσ ), t v which can be regarded as an extension of the kinematic part bT bT T T bT T of the controller in [21]. This controller gives the screw This shows that the mapping [ω ,v ] 7→ [e ,t ] is motion passive with storage function V1, which is an extension of a result for quaternions in [6], and which has interesting  θ  θ  consequences for controller design. ωˆ b = − K tan k + ε dkk + tan k0 (27) 2 2 2 From (9) and (38) it is seen that T  σ   ω b  We will also consider a related new Controller 3, which is V˙ = σ · ω b +t b · vb = (40) 2 t b vb ωˆ b = − 2K ησσ + εK t b (28) 3 1 2 which shows that the mapping [ω bT,vbT]T 7→ [σ T,t bT]T is = − 2K ησσ − εK (−η0σ + ησσ 0 + σ 0 × σ ) (29) 1 2 passive with storage function V2, which is an extension of a 0 = − K sinθk − εK2[dkk + sinθk − (1 − cosθ)c] (30) result for quaternions in [6]. IV. SIMULATIONS A. Numerical Integration of Dual Quaternions The exponential function can be used in numerical inte- gration of dual unit quaternions. Then the argument of the exponential function will given as a dual vector uˆ = u +εu0. Then an expression for the exponential can then be found from (20) using d/2 = uTu0/kuk, dkk/2 = (uTu0)u/kuk2 and k0 = u ×(u0 ×u)/kuk3, and the exponential can be computed from  exp(uˆ) =coskuk + sinc(kuk)u + ε − sinc(kuk)uT kukcoskuk − sinkuk  Fig. 2. System response when the gains K1 = K2 = 1, and the constant + coskukI + u×u× u0 screw axis. The plane of rotation is indicated by the black dots projected kuk3 onto the xy-plane, and the cyan colored vector indicates the distance between (41) b and the screw axis. This expression can be computed when kuk tends to zero, which is seen from the Taylor expansion (xcosx−sinx)/x3 ≈ −(1/3)+(1/30)x2 +.... This result has not appeared in pre- vious publications. Numerical integration of dual quaternions can then be done with the time update ! hωˆ b(t ) qˆ(t ) = qˆ(t ) ◦ exp k (42) k+1 k 2 where h = tk+1 −tk is the time step, and the twist is constant b and equal to ωˆ (tk) over the time-step. The exponential func- tion can be computed from (41) where a Taylor expansion can be used for small arguments so that the solution is well- behaved also when ω tends to zero. Then, if the initial Fig. 3. Vector components of dual quaternion versus direct error translation value qˆ(tk) is a unit dual quaternion, also the computed dual vector as translational feedback with equal gain factors. The latter generates quaternion qˆ(tk+1) will have unit norm. This eliminates the a straight trajectory, but acceleration is steep at initiation. q q0 need for normalization of and projection of [8] to ensure In the first case (shown in black) K1 = 4K2 was used so that the solution of the numerical integration satisfies the that the gain for the rotation was larger than the gain for ∗ 0 conditions q ◦ q = 1 and q ◦ q = 0. translation. Then the path tended to be inside the of the screw motion (illustrated by red dots), and frame alignment B. Simulations and Discussion was obtained early in the motion. In the second case (shown The performance of Controllers 1 and 3 were studied in in blue) K2 = 4K1, which means that translation is given the simulations. In particular, the screw motion of Controller 1 largest gain. Then the path tends to be outside of the helix of was studied and compared to the straight-line translation the screw motion. It was seen in other simulations that if the obtained with Controller 3. The effect on the resulting initial rotation was close to π then the path would diverge motion from changing the controller gains for rotation and significantly from the path of the screw motion. translation was studied using the controller in the form Regardless of the selected pair of gains which are greater b 0 than zero, the system will converge to its desired frame. ωˆ = − K1ησσ − εK2ησσ (43) The trajectory, however, relies on the tuning of its operator, Three different cases were simulated with the control law and it is obvious that the system will remain inside the a defined in (43). The initial body frame position was at t = initial cylinder segment spanned by the screw axis atq ˆe(t = T [10,10,3] m, and the initial rotation was θ = π/2. Fig. 2 0) if K1 ≥ K2. This is a pure geometric interpretation of shows the case when the controller gains were equal, that a case where the desired frame is static. In general, the is, K1 = K2 = 1. The screw axis was constant with direction simulated feedback law from Controller 1 appears to be along the z axis, and the motion of the origin of the b frame slower response-wise compared to Controller 3, but this projected to the xy plane was circular. This means that the effect can be reduced by increasing the gain of interest. motion was a helical screw motion. Fig. 3 shows Controller 1 An observation regarding Controller 1 is the case when compared to Controller 3. The parameters are equal for both η → 0 near θ = π, which makes the control vector tend to cases, that is that K1 = K2. Fig. 5 shows the alignment of the zero. This makes This makes η = 0 an unstable equilibrium translation vector to illustrate the differences response-wise. of the closed loop system. This issue is handled with a hybrid Fig. 4 shows two different cases of (43). The curves are control solution in [13] where the unstable equilibrium is at shown from a viewpoint perpendicular to the rotation plane. η = −1. different solutions as its has features which makes it natural to classify due to its distinct screw motion property, and to evaluate the performance of different kinematic controllers. The results of this paper provide input to future work involving dynamics, path planning and tracking problems, and potential tools for describing control of motion in SE(3).

REFERENCES [1] M. Akella. Rigid body attitude tracking without angular velocity feedback. Systems Control Letters, 42(4):321326, 2001. [2] S. P. Bhat and D. S. Bernstein. A topological obstruction to con- tinuous global stabilization of rotational motion and the unwinding phenomenon. Systems and Control Letters, 39(1):63–70, 2000. [3] N. A. Chaturvedi, A. K. Sanyal, and N. H. McClamroch. Rigid-body attitude control. IEEE Control Systems, 31(3):30–51, 2011. [4] J. L. Crassidis, F. L. Markley, and Y. Cheng. Survey of nonlinear Fig. 4. System responses viewed perpendicular to the axis of rotation. If attitude estimation methods. IEEE Trans. Robotics and Automation, K1 > K2, rotational motion is amplified, meaning that the frame align its 8(1):53–64, 1992. relative attitude, and then translates in a straight path. If K2 > K1, translation [5] K. Daniilidis. Hand-eye calibration using dual quaternions. Interna- is prioritized, and the system will overshoot (leaving its initial cylinder tional Journal of Robotics Research, 18(3):286–298, Mar. 1999. segment). For comparison, the dot pattern is when K1 = K2 = 1. [6] O. Egeland and J.-M. Godhavn. Passivity-based adaptive attitude con- trol of a rigid spacecraft. IEEE Trans. Automatic Control, 39(4):842– 10 846, 1994. [7] O. Egeland and J. T. Gravdahl. Modeling and Simulation for Control. 5 x(t) Marine Cybernetics, 2002. 0 [8] N. Filipe, M. Kontitsis, and P. Tsiotras. Extended Kalman filter 0 10 20 30 40 50 60 70 80 90 for spacecraft pose estimation using dual quaternions. Journal of Time Guidance, Control, and Dynamics, 38(9):1625–1641, Sept. 2015. 10 [9] N. Filipe and P. Tsiotras. Rigid body motion tracking without linear 5 and angular velocity feedback using dual quaternions. In Proceedings - y(t) European Control Conference, pages 1497–1501, Zurich,¨ Switzerland, 0 2013. IEEE. 0 10 20 30 40 50 60 70 80 90 Time [10] N. Filipe and P. Tsiotras. Adaptive position and attitude-tracking 4 controller for satellite proximity operations using dual quaternions. Journal of Guidance, Control, and Dynamics, 38(4):566–577, Apr. 2

z(t) 2015. [11] D.-P. Han and L. Qing Wei. Kinematic control of free rigid bodies 0 0 10 20 30 40 50 60 70 80 90 using dual quaternions. International Journal of Automation and Time Computin, 5(3):319–324, 2008. [12] P. C. Hughes. Spacecraft Attitude Dynamics. Dover Publications, Fig. 5. Comparison of the translation response when using Controller 1 2004. and 3. The screw motion is shown in black, whereas the straight path is [13] H. T. Kussaba, L. F. Figueredo, J. Y. Ishihara, and B. V. Adorno. shown in red. Hybrid kinematic control for rigid body pose stabilization using dual quaternions. Journal of the Franklin Institute, 354:2769–2787, 2017. ONCLUSION V. C [14] E. J. Lefferts, F. L. Markley, and M. D. Shuster. Kalman filtering Three new controllers have been proposed for feedback for spacecraft attitude estimation. Journal of Guidance, Control, and Dynamics, 5(5):417–429, 1982. from dual quaternions. The two first controllers use the [15] F. Lizarralde and J. T. Wen. Attitude control without angular velocity vector components of the dual quaternion describing the measurement: A passivity approach. IEEE Trans. Automat. Contr., relative pose multiplied by the real scalar part η of the dual 41(3):468–472, 1996. [16] P. Magro, H. Kussaba, L. Figueredo, and J. Ishihara. Dual quaternion- quaternion as feedback to generate rotation and translation based bimodal global control for robust rigid body pose kinematic to align the body frame with a desired frame. This gives a stabilization. In ACC, pages 1205–1210, Seattle, USA, 2017. IEEE. screw motion in a stabilization case. As the controller is not [17] C. G. Mayhew, R. G. Sanfelice, and A. R. Teel. Quaternion-based hybrid control for robust global attitude tracking. IEEE Trans. globally asymptotically stable, a discrete controller must act Automat. Contr., 56(11):2555–2556, 2011. on the system near η = 0, which means that a screw motion [18] J. M. McCarthy and G. S. Soh. Geometric design of linkages. Springer can only be obtained on some interval θ ∈ [0,π − δ),δ > 0, Verlag, 2011. [19] R. M. Murray, S. S. Sastry, and L. Zexiang. A Mathematical where θ is the angle offset. Another controller has been Introduction to Robotic Manipulation. CRC Press, Inc., Boca Raton, proposed with quaternion feedback for rotation and feedback FL, USA, 1st edition, 1994. from the translation vector for translation. This gives a [20] F. Park. Distance metrics on the rigid-body motions with applications to mechanism design. J. Mechanical Design, 117(1):48–54, 1995. straight-line motion for the position, and faster convergence [21] P. Tsiotras. Stabilization and optimality results for the attitude control to the desired position. In terms of controller performance, problem. J. Guidance and Control, 19(4):772–779, 1996. the controller with the straight-line translation should be [22] X. Wang, D. Han, C. Yu, and Z. Zheng. The geometric structure of unit dual quaternion with application in kinematic control. Journal of preferred to the controllers giving screw motion, and the Mathematical Analysis and Applications., 389(5):1352–1364, 2012. screw motion can give a detour in the motion that may be [23] J. T.-Y. Wen and K. Kreutz-Delgado. Strapdown inertial navigation undesired if the initial angle offset is large. However, the use system algorithms based on dual quaternions. IEEE Trans. Automat. Contr., 36(10):1148 – 1162, 1991. of the screw motion descriptions can be useful to characterize