6
Modeling of Spacecraft-Mounted Robot Dynamics and Control Using Dual Quaternions Alfredo Valverde 1 and Panagiotis Tsiotras 2 Abstract— Dual quaternions (DQ) provide a compact repre- sentation of position and attitude. They have been extensively used in fixed-base robotics due to their numerous computational advantages. This paper aims to develop the dynamic equations of motion of a robotic arm on a free-flying spacecraft using a Newton-Euler approach in a DQ modeling framework. A pose-stabilization maneuver for the end-effector is found via Differential Dynamic Programming (DDP). The results of this simulation are provided. I. INTRODUCTION Access to space has enabled a wide range of military and commercial activity. From space-based experimental laboratories, such as the International Space Station (ISS), to missile-tracking defense networks of satellites, to GPS- enabling geostationary satellites that aid our daily commutes, satellites provide valuable services to their operators, the scientific community, and humanity as a whole. Even though launch costs are likely to decrease with the development of reusable first-stage rockets, commercial off-the-shelf (COTS) components, and the miniaturization of components, access to space is, and will remain, expensive for the foreseeable future. Servicing of orbiting satellites is an essential tool to lower development, equipment and operational costs, as well as to reduce system complexity by means of decreasing required redundancy for a desired lifetime. Satellite servicing encompasses a wide range of uses that aim to extend the satellite lifetime. Common services are visual inspection, scheduled maintenance, refueling, part replacement, repair of worn or broken components, or completion of failed deployment sequences, among others. A natural approach to satellite servicing is to use robots. However, the operation of a robotic arm on a spacecraft is not a trivial task. Without appropriate dynamical models of the combined system and effective control algorithms, fuel can be quickly depleted, reaction wheels saturated, power drawn too abruptly, a line-of-sight communication link be lost, or the combined system be destabilized. Landmark literature initially proposed the use of active attitude control systems [1], which can be useful in cases when strict pointing requirements exist [2]. However, powerful techniques now exist that allow the base to move freely, or in a reaction-less fashion, during the manipulation of the arm, thus avoiding 1 Alfredo Valverde is a Ph.D. candidate at the School of Aerospace Engineering at the Georgia Institute of Technology, Atlanta, GA 30332- 0150, USA, Email: [email protected] 2 Panagiotis Tsiotras is the College of Engineering Dean’s Professor School of Aerospace Engineering at the Georgia Institute of Technology, Atlanta, GA 30332-0150, USA, Email: [email protected] the aforementioned pitfalls of a free-floating robotic manip- ulator. Current algorithms have to be able to incorporate changes such as when a payload is released or grabbed, or when there is a significant change in the fuel at the base [3]. Another important component is the incorporation of constraints beyond simple inertial pointing, as in the case of relative attitude constraints between spacecraft to avoid plume impingement, line-of-sight constraints to perform vi- sual navigation, or simple obstacle avoidance constraints to avoid collision between satellites. The field of multibody dynamics has been thoroughly stud- ied, and it is well-understood. Longman et al. [1] provided a landmark result through conservation of linear momentum. Vafa and Dubowsky [2], [4], [5] introduced the concept of virtual manipulator and the concept of motion of the satellite base through exploitation of the non-holonomicity of the attitude motion relative to joint actuation. Umetami and Yoshida introduced the Generalized Jacobian Matrix (GJM) in [6], and Masutani et al. introduced the use of Lypanuov stability for robotic arms on a free-floating spacecraft in [3]. With this foundation, the study of spacecraft robotics became more formalized, which led to what now we consider robust and efficient algorithms such as those proposed by Jain [7], Rodriguez et al. [8], or Featherstone [9]. Dual quaternions (DQ) have been used in multibody dynamic problems and provide a compact numerical repre- sentation of position and attitude (pose). They have been applied to obtain fixed-base robotic forward and inverse kinematics, allowing roboticists to reduce computational time and improve precision for common tasks. Several uses of DQ in the literature include the work by Dooley and Mc- Carthy [10], who modeled robotic arm dynamics using the DQ generalized coordinates, Daniilidis [11] and Ulrich [12], who used DQ for hand-eye calibration, Leclercq et al. [13] and Radavelli et al. [14] who demonstrated how to perform kinematic analysis of points, lines and screws using dual quaternions. Dual quaternions have also found use in many other robotics applications such as kinematic analysis of constrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and vision-based applications such as SLAM [18], among many others. Recent work in the field of spacecraft control has focused on the use of dual quaternions to model single rigid body dynamics. The objective of the present paper is to derive the dynamics of a robotic manipulator mounted on a free- floating satellite using dual quaternions and a Newton-Euler approach. Subsequently, the framework is used to command a pose-stabilization maneuver of the end effector.

Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

Modeling of Spacecraft-Mounted Robot Dynamicsand Control Using Dual Quaternions

Alfredo Valverde1 and Panagiotis Tsiotras2

Abstract— Dual quaternions (DQ) provide a compact repre-sentation of position and attitude. They have been extensivelyused in fixed-base robotics due to their numerous computationaladvantages. This paper aims to develop the dynamic equationsof motion of a robotic arm on a free-flying spacecraft usinga Newton-Euler approach in a DQ modeling framework. Apose-stabilization maneuver for the end-effector is found viaDifferential Dynamic Programming (DDP). The results of thissimulation are provided.

I. INTRODUCTION

Access to space has enabled a wide range of militaryand commercial activity. From space-based experimentallaboratories, such as the International Space Station (ISS),to missile-tracking defense networks of satellites, to GPS-enabling geostationary satellites that aid our daily commutes,satellites provide valuable services to their operators, thescientific community, and humanity as a whole. Even thoughlaunch costs are likely to decrease with the development ofreusable first-stage rockets, commercial off-the-shelf (COTS)components, and the miniaturization of components, accessto space is, and will remain, expensive for the foreseeablefuture.

Servicing of orbiting satellites is an essential tool tolower development, equipment and operational costs, as wellas to reduce system complexity by means of decreasingrequired redundancy for a desired lifetime. Satellite servicingencompasses a wide range of uses that aim to extend thesatellite lifetime. Common services are visual inspection,scheduled maintenance, refueling, part replacement, repairof worn or broken components, or completion of faileddeployment sequences, among others.

A natural approach to satellite servicing is to use robots.However, the operation of a robotic arm on a spacecraft isnot a trivial task. Without appropriate dynamical models ofthe combined system and effective control algorithms, fuelcan be quickly depleted, reaction wheels saturated, powerdrawn too abruptly, a line-of-sight communication link belost, or the combined system be destabilized. Landmarkliterature initially proposed the use of active attitude controlsystems [1], which can be useful in cases when strict pointingrequirements exist [2]. However, powerful techniques nowexist that allow the base to move freely, or in a reaction-lessfashion, during the manipulation of the arm, thus avoiding

1Alfredo Valverde is a Ph.D. candidate at the School of AerospaceEngineering at the Georgia Institute of Technology, Atlanta, GA 30332-0150, USA, Email: [email protected]

2Panagiotis Tsiotras is the College of Engineering Dean’s ProfessorSchool of Aerospace Engineering at the Georgia Institute of Technology,Atlanta, GA 30332-0150, USA, Email: [email protected]

the aforementioned pitfalls of a free-floating robotic manip-ulator. Current algorithms have to be able to incorporatechanges such as when a payload is released or grabbed, orwhen there is a significant change in the fuel at the base[3]. Another important component is the incorporation ofconstraints beyond simple inertial pointing, as in the caseof relative attitude constraints between spacecraft to avoidplume impingement, line-of-sight constraints to perform vi-sual navigation, or simple obstacle avoidance constraints toavoid collision between satellites.

The field of multibody dynamics has been thoroughly stud-ied, and it is well-understood. Longman et al. [1] provided alandmark result through conservation of linear momentum.Vafa and Dubowsky [2], [4], [5] introduced the conceptof virtual manipulator and the concept of motion of thesatellite base through exploitation of the non-holonomicity ofthe attitude motion relative to joint actuation. Umetami andYoshida introduced the Generalized Jacobian Matrix (GJM)in [6], and Masutani et al. introduced the use of Lypanuovstability for robotic arms on a free-floating spacecraft in [3].With this foundation, the study of spacecraft robotics becamemore formalized, which led to what now we consider robustand efficient algorithms such as those proposed by Jain [7],Rodriguez et al. [8], or Featherstone [9].

Dual quaternions (DQ) have been used in multibodydynamic problems and provide a compact numerical repre-sentation of position and attitude (pose). They have beenapplied to obtain fixed-base robotic forward and inversekinematics, allowing roboticists to reduce computational timeand improve precision for common tasks. Several uses ofDQ in the literature include the work by Dooley and Mc-Carthy [10], who modeled robotic arm dynamics using theDQ generalized coordinates, Daniilidis [11] and Ulrich [12],who used DQ for hand-eye calibration, Leclercq et al. [13]and Radavelli et al. [14] who demonstrated how to performkinematic analysis of points, lines and screws using dualquaternions. Dual quaternions have also found use in manyother robotics applications such as kinematic analysis ofconstrained robotic systems [15], [16], singularity avoidancein inverse kinematics [17], and vision-based applicationssuch as SLAM [18], among many others.

Recent work in the field of spacecraft control has focusedon the use of dual quaternions to model single rigid bodydynamics. The objective of the present paper is to derivethe dynamics of a robotic manipulator mounted on a free-floating satellite using dual quaternions and a Newton-Eulerapproach. Subsequently, the framework is used to commanda pose-stabilization maneuver of the end effector.

Page 2: Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

TABLE IQUATERNION OPERATIONS

Operation Definition

Addition a+ b = (a0 + b0, a+ b)Mult by scalar λa = (λa0, λa)Multiplication ab = (a0b0 − a · b, a0b+ b0a+ a× b)Conjugate a∗ = (a0,−a)Dot product a · b = (a0b0 + a · b, 03×1)Cross product a× b = (0, a0b+ b0a+ a× b)Norm ‖a‖ =

√a · a

II. MATHEMATICAL PRELIMINARIES

This section introduces the basic concepts of quaternions,dual quaternions, and their use in representing kinematicsand dynamics of rigid bodies. For an exhaustive descriptionthe reader is referred to [19]–[22], from which the notationhas been adopted.

A. Quaternions

The group of quaternions as defined by Hamilton in 1843extends the well-known imaginary unit j, which satisfiesj2 = −1. This non-abelian group is defined by the presen-tation Q := {−1, i, j, k : i2 = j2 = k2 = ijk = −1}. Thealgebra constructed from Q over the field of real numbersis the quaternion algebra, H. We can define quaternions asH := {q = q0 + q1i + q2j + q3k : i2 = j2 = k2 = ijk =−1, q0, q1, q2, q3 ∈ R}. This defines an associative, non-commutative, division algebra.

In practice, quaternions are referred to by their scalarand vectors parts as q = (q0, q), where q0 ∈ R andq = [q1, q2, q3]T ∈ R3. The properties of quaternion algebraare summarized in Table I. Previous literature has definedquaternion multiplication as the multiplication between a4× 4 matrix and a vector in R4.

Since any rotation can be described by three parameters,the unit norm constraint is imposed on quaternions forattitude representation. Unit quaternions are closed undermultiplication, but not under addition. A quaternion de-scribing the orientation of frame X with respect to frameY , qX/Y, will satisfy q∗X/YqX/Y = qX/Yq

∗X/Y = 1, where 1 =

(1, 03×1). This quaternion can be constructed as qX/Y =(cos(φ/2), n sin(θ/2)), where n and θ are the unit Euleraxis, and Euler angle of the rotation respectively. It is worthemphasizing that q∗Y/X = qX/Y, and that qX/Y and −qX/Y representthe same rotation. Furthermore, given quaternions qY/X andqZ/Y, the quaternion describing the rotation from X to Z isgiven by qZ/X = qY/XqZ/Y.

Three-dimensional vectors can be interpreted as quater-nions. For example, given sX ∈ R3, the coordinates of avector expressed in frame X , its quaternion representation isgiven by sX = (0, sX) ∈ Hv , where Hv is the set of vectorquaternions defined as Hv , {(q0, q) ∈ H : q0 = 0} (see[21] for further information). The change of reference frameon a vector quaternion is achieved by the adjoint operation,and is given by sY = q∗Y/Xs

XqY/X. Additionally, given s ∈ Hv ,

we can define the operation [·]× : Hv → R4×4 as

[s]× =

[0 01×3

03×1 [s]×

], (1)

where [s]× is the skew-symmetric matrix such that [s]×a =s× a.

In general, the attitude kinematics evolve as

qX/Y = 12qX/Yω

XX/Y = 1

2ωYX/YqX/Y, (2)

where ωZX/Y , (0, ωZ

X/Y) ∈ Hv and ωZX/Y ∈ R3 is the angular

velocity of frame X with respect to frame Y expressed inZ-frame coordinates.

B. Dual QuaternionsDual quaternion algebra is defined as Hd = {q = qr+εqd :

qr, qd ∈ H}, and ε is the dual unit. We call qr the real part,and qd the dual part.

Filipe et al. [19]–[22] have laid out much of the ground-work in terms of the notation and the basic properties of dualquaternions. The main properties of dual quaternion algebraare listed in Table II. Reference [23] also conveniently de-fines a multiplication between matrices and dual quaternionsthat resembles the well-known matrix-vector multiplicationby simply representing the dual quaternion coefficients as avector in R8. A property that arises from the definition of

TABLE IIDUAL QUATERNION OPERATIONS

Operation Definition

Addition a + b = (ar + br) + ε(ad + bd)Mult by scalar λa = (λar) + ε(λad)Multiplication ab = (arbr) + ε(adbr + arbd)Conjugate a∗ = (a∗r) + ε(a∗d)Dot product a · b = (ar · br) + ε(ad · br + ar · bd)Cross product a× b = (ar × br) + ε(ad × br + ar × bd)Circle product a ◦ b = (ar · br + ad · bd) + ε0Swap as = ad + εarNorm ‖a‖ =

√a ◦ a

Vector part vec(a)

= (0, ar) + ε(0, ad)

the circle product for dual quaternions is given as follows

as ◦ bs = a ◦ b = b ◦ a. (3)

Analogous to the set of vector quaternions Hv , we candefine the set of vector dual quaternions as Hv

d , {q =qr+εqd : qr, qd ∈ Hv}. Vector dual quaternions have specialproperties of interest in the study of kinematics, dynamicsand control of rigid bodies. The two main properties arelisted below, where a, b ∈ Hv

d:

a◦(bc) = bs◦(asc∗) = cs◦(b∗as), (4)a◦(b×c)=bs◦(c×as)=cs◦(as×b). (5)

Finally, for vector dual quaternions we will define the skew-symmetric operator [·]× : Hv

d → R8×8,

[s]× =

[[sr]× 04×4

[sd]× [sr]×

]. (6)

Page 3: Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

Since rigid body motion has six degrees of freedom, a dualquaternion needs two constraints to parameterize it. The dualquaternion describing the relative pose of frame B relative toI is given by qB/I = qB/I,r+εqB/I,d = qB/I+ε

12qB/Ir

BB/I, where rB

B/I isthe position quaternion describing the location of the originof frame B relative to that of frame I, expressed in B-framecoordinates. It can be easily observed that qB/I,r · qB/I,r = 1

and qB/I,r · qB/I,d = 0, where 0 = (0, 0), providing the twonecessary constraints. Thus, a dual quaternion representinga pose transformation is actually a unit dual quaternion, sinceit satisfies q · q = q∗q = 1, where 1 = 1+ ε0. We will alsodefine 0 = 0 + ε0.

Frame transformations can be performed with the adjointoperation on a dual vector as sY = q∗

Y/XsXqY/X for sY, sX ∈ Hv

d.Also, similar to quaternion relationships, dual quaternionssatisfy the following properties: qZ/X = qY/XqZ/Y and q∗

Y/X =qX/Y.

The dual velocity is defined as

ωXY/Z = q∗

X/YωYY/ZqX/Y = ωX

Y/Z + ε(vXY/Z + ωX

Y/Z × rXX/Y). (7)

and contains both the linear and and the angular velocitiesof the body. The dual velocity of a rigid body, assigned toframe B, with respect to the inertial frame is defined as ωB

B/I =ωB

B/I + εvBB/I. The dual quaternion kinematics can be expressed

asqX/Y = 1

2qX/YωXX/Y = 1

2ωYX/YqX/Y. (8)

C. Dynamics in Dual Quaternion Algebra

In [23], the authors represent the 6-DOF dynamics of arigid body i by

Mi? (ω i

i /I)s+ω i

i /I ×(M

i? (ω i

i /I)s)=W i

i (Oi), (9)

where W ii (O

i) = f i +ετ i is the wrench expressed in the i

frame, whose origin is at the center of mass, computed aboutthe center of mass, and I is the inertial reference frame. Thematrix M

i∈ R8×8 is the dual inertia matrix defined as

Mi=

1 01×3 0 01×3

03×1 miI3×3 03×1 03×3

0 01×3 1 01×3

03×1 03×3 03×1 Ii

, (10)

where Ii∈ R3×3 is the mass moment of inertia of the body

about the center of mass, and mi is the mass of the body.Finally, we define the following operators: JJJ · KKKL, JJJ · KKKR :Hd → R8×8 such that ab , JJJaKKKL ? b , JJJbKKKR ? a, andH (·) : R8×8 → R8×8 such that H (M) ? a ,M ? as.

III. DYNAMICS OF A ROBOTIC ARM ON ASPACECRAFT

The dynamics will be derived using dual quaternionalgebra for the satellite with an RRRS (R - revolute, S- spherical) joint configuration shown in Figure 1. Thediagram shows reference frames, reaction forces and torques,actuation torques, points of interest (all with attached ref-erence frames), and external forces and torques appliedat the centers of mass and at the end effector. The jointdegrees of freedom have not been labeled. The R jointsadd a degree of freedom along the Z-axis of the local

frame (of the distal body). These are, respectively, param-eterized by the angles θ1/0, θ2/1, and θ3/2. The motion ofthe S joint is described by a 3-2-1 Euler angle rotationparameterized by ψe/ 3

, θe/ 3, φe/ 3

. The state of the system

.

.

. . . . . .

0

1 2e

G

0 x0

z0

1 x1

z1

2 x2

y2

3 x3

y3

f0, τ

0

f1, τ

1

f2, τ

2f

3, τ

3

fext, τext

−f1/0,−τ1/0,−τact,1

f1/0, τ1/0, τact,1

−f2/1,−τ2/1,−τact,2f2/1, τ2/1, τact,2

−f2/1,−τ2/1,−τact,2

f2/1, τ2/1, τact,2

xI

yI

zI

Fig. 1. Exploded satellite view.

is described by x = [qT

0 /I, θ1/0, θ2/1, θ3/2, ψe/ 3, θe/ 3

, φe/ 3,yT]T ∈

R46, where y = [ω 0

0 /IT,ω 1

1 /IT,ω 2

2 /IT,ω 3

3 /IT]T ∈ R32. The

control inputs are taken to be u(t) = [W 0

0(O

0)T,

(τact,1)z, (τact,2)z, (τact,3)z, ψe/ 3, θe/ 3

, φe/ 3]T ∈ R14. From Equa-

tion (8), the pose of the base evolves as

q0 /I = 1

2q 0 /Iω0

0 /I. (11)

We can extract revolute joint angular velocities as

θi+1/i=[0, 0, 0, 1, 0, 0, 0, 0]ωii/ i

(12)

=[0, 0, 0, 1, 0, 0, 0, 0](q

i+1 /iωi+1

i+1 /Iq∗i+1 /i−q∗

i/ iω i

i /Iqi/ i

).

Assuming that the end-effector is massless, solely affectingthe kinematics, we need only to derive expressions fory. Computing Equation (9) for each of the four bodies,eliminating the swap operator, moving unknowns to the left-hand side, and transporting the applied wrenches to the centerof mass of each body, we get

H (M0) ? ω 0

0 /I+qqqq0/ 0

yyyL

qqqq∗

0/ 0

yyyRE

T158W

1

1/0(O0) (13)

=−ω 0

0 /I ×(M

0? (ω 0

0 /I)s)+W 0

0(O

0)−q0/ 0

W 1act,1(O0)q∗

0/ 0,

H (M1) ? ω 1

1 /I−qqqq∗

1 /0

yyyL

qqqq

1 /0

yyyRE

T158W

1

1/0(O0) (14)

+qqqq1/ 1

yyyL

qqqq∗

1/ 1

yyyRE

T158W

2

2/1(O1)=−ω 1

1 /I ×(M

1? (ω 1

1 /I)s)

+W 1

1(O

1)+q∗

1 /0W1

act,1(O0)q1 /0−q1/ 1

W 2act,2(O1)q∗

1/ 1,

H (M2) ? ω 2

2 /I−qqqq∗

2 /1

yyyL

qqqq

2 /1

yyyRE

T158W

2

2/1(O1) (15)

+qqqq2/ 2

yyyL

qqqq∗

2/ 2

yyyRE

T158W

3

3/2(O2)=−ω 2

2 /I ×(M

2? (ω 2

2 /I)s)

+W 2

2(O

2)+q∗

2 /1W2

act,2(O1)q2 /1−q2/ 2

W 3act,3(O2)q∗

2/ 2,

Page 4: Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

H (M3) ? ω 3

3 /I−qqqq∗

3 /2

yyyL

qqqq

3 /2

yyyRE

T158W

3

3/2(O2) (16)

=−ω 3

3 /I ×(M

3? (ω 3

3 /I)s)+W 3

3(O

3)

+q∗3 /2W

3act,3(O2)q

3 /2+qG/ 3WG

ext(OG)q∗G/ 3.

Here, we have defined E158 ∈ R5×8 to be the eight-dimensional identity matrix without rows one, five and eight,allowing us to remove non-zero entries of the reactionwrenches, which we have denoted as W .

Finally, we need only to express the velocity constraintsin a similar fashion for each of the joints. The dual velocityof the joints can be related via

ω i+1

i+1 /I = ω i+1

i+1 /i+ω i+1i/ i

+ω i+1

i /I , (17)

Taking a time derivative and clearing of transformations thedual acceleration of the joint in the local frame, the constraintfor joint i is given by

qi+1 /iω

i+1

i+1 /Iq∗i+1 /i = ωi

i/ i+q∗

i/ i

(ω i

i /I+ω ii /I × ω i

i/ i

)qi/ i

. (18)

Multiplying this equation by E145, defined similarly to E158,on the left, will cancel the joint acceleration, which wasredundant given that we are solving for angular accelerationof the bodies. This yields the i-th joint constraint:

E145

rrrq

i+1 /i

zzzL

rrrq∗

i+1 /i

zzzR ? ω

i+1

i+1 /I−E145

qqqq∗

i/ i

yyyL

qqqqi/ i

yyyR ? ω i

i /I

= E145q∗i/ i

(ω i

i /I × ω ii/ i

)qi/ i

. (19)

Defining T , [W1

1/0(O0)T, W2

2/1(O1)T, W3

3/2(O2)T]T, wecan cast Equations (13) to (16) and Equation (19) for i ∈{0, 1, 2} in the form of a linear system of equations givenby [

S11 S12

S21 S22

] [yT

]=

[B1

B2

]. (20)

Using the fact that S22 = 015×15, we can solve (20) toobtain

T = (S21S−111 S12)−1(S21S−1

11 B1 −B2), (21)

y = −S−111 S12T + S−1

11 B1. (22)

These formulas provide the dual accelerations y and con-straint wrenches T as a function of the satellite configurationand the applied external and actuation wrenches.

IV. END EFFECTOR CONTROL USING DDP

To solve the problem of stabilizing the end-effector at agiven desired pose, we use Differential Dynamic Program-ming (DDP). DDP aims to minimize the cost functional

J(x0, U) = Lf (xN , N) +

N−1∑k=0

L(xk, uk, k) (23)

with respect to U = {uk}k=N−1k=0 . To do this, DDP performs

a forward-backward propagation of the state and the valuefunction, respectively, based on the Bellman principle, whichin discrete time is given by

V (xk, k) = minuk

Q(xk, uk, k). (24)

Here Q(xk, uk, k) is an auxiliary function that includes therunning cost and the cost-to-go and it is defined as

Q(xk, uk, k) , L(xk, uk, k) + V (xk+1, k + 1). (25)

The specific implementation used for control in this sec-tion is based on the work described in [24]. One of theinnovations in [24] is the ability to incorporate control limits(i.e., saturation limits) during planning, avoiding the nega-tive consequences of simply clipping control inputs duringimplementation. Additionally, the authors of [24] make useof a backtracking search parameter, α ∈ R, to perform a linesearch on the optimal update of the control input. That way,for a given iteration of DDP, a sweep of control policies isparameterized by α ∈ [0, 1] as follows

δu∗(tk;α) = −Q−1uuQuxδx(tk)− αQ−1

uuQTu, (26)

and then one selects the update with the best performance,where in (??) the subscripts in Q denote partial derivatives.

In order to aid the convergence of the algorithm, the poseof the end effector with respect to the inertial frame qG/I wasadded as a state to the formulation. This implies the need toderive the kinematics of the end effector. In dual quaternionalgebra this is a simple derivation which we provide below.

Consider the pose of the end effector as the chain ofrelative pose transformations given by

qG/I = q0 /Iq0/ 0

q1 /0q1/ 1

q2 /1q2/ 2

q3 /2qe/ 3

qG/e. (27)

The dual quaternions q1 /0, q 2 /1, q 3 /2, qG/e are constant, and

their derivatives are 0 because they represent pose trans-formations along the same rigid body. Therefore, usingEquation (8) we can easily take the derivative of qG/I as

qG/I = q0 /IqG/ 0

+ q0 /Iq0/ 0

qG/0 + q1 /Iq1/ 1

qG/1

+ q2 /Iq2/ 2

qG/2 + q3 /Iqe/ 3

qG/e (28)

qG/I =12q

0 /Iω0

0 /IqG/ 0+ 1

2q

0 /Iω0

0/ 0q0/ 0

qG/0 +12q

1 /Iω1

1/ 1q1/ 1

qG/1

+ 12q

2 /Iω2

2/ 2q2/ 2

qG/2 +12q

3 /Iqe/ 3ωe

e/ 3qG/e. (29)

Finally, we simplify this expression to yield the kinematicsof the end effector:

qG/I = 12q 0 /Iω

0

0 /IqG/ 0+ 1

2q 0 /Iω0

0/ 0qG/ 0

+ 12q 1 /Iω

11/ 1

qG/ 1

+ 12q 2 /Iω

22/ 2

qG/ 2+ 1

2qe/Iωee/ 3

qG/e. (30)

V. RESULTS

After discretizing the equations, we define the objectivefunction to be minimized as J(x0, U) = (qG/I(tf ) −qD/I)

TWf,q(qG/I(tf ) − qD/I) + ω 0

0 /I(tf )TWf,ωω 0

0 /I(tf ) +∑N−1k=0 (qG/I(tk) − qD/I)

TWk,q(qG/I(tk) − qD/I) +ω 0

0 /I(tk)TWk,ωω 0

0 /I(tk) + u(tk)TRu(tk). Thepenalty matrices were set to Wf,q = 150I8×8,Wf,ω = I8×8, Wk,q = 15I8×8, Wk,ω = I8×8 andR = diag(10I3×3, I3×3, 0.01I3×3, 0.1I3×3). Finally,the target pose for the end-effector, and the desiredangular velocity of the base are given by qD/I =(0.5, [0.50,−0.50,−0.50]T) + ε (0.25, [2.25, 0.25, 2.25]T)and ωD

D/I = 0 respectively.The simulation was run for T = 15 s, with ∆t = 0.015 s,

and N = 1, 000. The end-effector reference aims to achievepose stabilization of the end-effector at a given desired pose,

Page 5: Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

given that qD/I is constant. Figure 2 shows snapshots froma time sequence of the trajectory after the convergence ofthe algorithm. The desired final frame is also shown in thefigure and remains stationary throughout the maneuver. Atthe end of the maneuver, this frame is aligned with the localend-effector frame.

t = 0.0 s t = 3.0 s

t = 6.0 s t = 9.0 s

t = 12.0 s t = 15.0 s

Fig. 2. Time sequence of end effector poses for stabilization maneuver.

The error pose of the end effector frame is computed viadual quaternions as

qD/G = q∗G/IqD/I. (31)

The error quaternion and position vector error, expressedin the end-effector frame G, is shown in Figure 3 convergingto their desired values. Figure 4 shows a scalar measure ofboth the angular and the linear errors. In the angular case,Figure 4 shows the Euler angle of the error rotation. Thenorm of the error vector is shown. Both of these quantitiesare directly derived from qD/G.

Figure 5 shows the actuation forces and torques applied onthe base of the satellite. The cost function has been chosenso that the forces, usually generated by gas jet actuatorscontained on-board the spacecraft, are kept low since thrusterfiring requires fuel, which is a scarce resource in orbit. Thetorque generated is also low for this maneuver, but sinceit can be generated by reaction wheels, this component ispenalized less aggressively in the cost term of the DDPformulation. Finally, Figure 6 shows the torques applied ateach one of the three joints, and the Euler angle rates for the

0 5 10 15

q D=G

;1

0.6

0.8

1

0 5 10 15

q D=G

;2

0

0.5

1

0 5 10 15

q D=G

;3

-1

-0.5

0

Time (s)0 5 10 15

q D=G

;4

-0.1

0

0.1

0 5 10 15

xG D

=G

[m]

-10

-5

0

5

0 5 10 15

yG D=G

[m]

-10

-5

0

5

Time (s)0 5 10 15

zG D=G

[m]

0

2

4

6

Fig. 3. Pose stabilization maneuver: quaternion error and position error.

0 5 10 15

3 D=G

[deg

]0

20

40

60

80

100

Time (s)0 5 10 15

jjrG D=Gjj

[cm

]

0

200

400

600

800

Fig. 4. Pose stabilization maneuver: error Euler angle and error vectornorm.

end-effector motion (assumed for simplicity to represent theend-effector actuation mechanism). These are penalized lesssince they can be easily generated on-board the satellite.

VI. CONCLUSIONS

In this paper we have derived the dynamics of a roboticarm mounted on a free-floating satellite base using dualquaternion algebra. These dynamics were used in combi-nation with DDP to perform a stabilization maneuver forthe end effector. The framework provides for flexibilityin the initial conditions of the system, not restricting theinitial state of the system to having zero linear and angularmomenta, and it seamlessly accounts for both thruster andmomentum exchange actuation. The use of dual quaternionsin the proposed framework enables the inclusion of toolstypically used in fixed-base robotic systems, such as motionsparameterized with screw-motion, which can be of muchvalue during satellite servicing. Future work will focus onperforming end-effector pose tracking, and on incorporatingactuator dynamics to increase the fidelity of the simulator.

Page 6: Modeling of Spacecraft-Mounted Robot Dynamics and …dcsl.gatech.edu/papers/acc18c.pdfconstrained robotic systems [15], [16], singularity avoidance in inverse kinematics [17], and

0 5 10 15

f x[N

]

#10-3

-5

0

5

10

0 5 10 15

f y[N

]

-0.04

-0.02

0

0.02

Time (s)0 5 10 15

f z[N

]

-0.03

-0.02

-0.01

0

0 5 10 15

= x[N

m]

-0.2

-0.1

0

0.1

0 5 10 15

= y[N

m]

-0.1

-0.05

0

Time (s)0 5 10 15

= z[N

m]

-0.02

-0.01

0

0.01

Fig. 5. Control effort: forces and torques applied at the satellite base.

0 5 10 15

= act

;1[N

m]

-50

0

50

0 5 10 15

= act

;2[N

m]

-20

0

20

40

Time (s)0 5 10 15

= act

;3[N

m]

-100

-50

0

50

0 5 10 15

_ A[rad

/s]

-5

0

5

0 5 10 15

_ 3[rad

/s]

-4

-2

0

2

Time (s)0 5 10 15

_ ?[rad

/s]

-4

-2

0

2

Fig. 6. Control effort: joint torques and Euler rates.

ACKNOWLEDGMENT

The authors would like to thank Dr. David S. Bayard at theG&C section at JPL for his valuable comments and guidance.This research was performed, in part, at the Jet PropulsionLaboratory, California Institute of Technology, under contractwith the National Aeronautics and Space Administration,and funded through the internal Research and TechnologyDevelopment program.

REFERENCES

[1] R. W. Longman, R. E. Lindbergt, and M. F. Zedd, “Satellite-mountedrobot manipulators - new kinematics and reaction moment compensa-tion,” The International Journal of Robotics Research, vol. 6, no. 3,pp. 87–103, 1987.

[2] Z. Vafa and S. Dubowsky, “On the dynamics of manipulators in spaceusing the virtual manipulator approach,” in Proceedings 1987 IEEEInternational Conference on Robotics and Automation, March 31 -April 3 1987.

[3] Y. Masutani, F. Miyazaki, and S. Arimoto, “Modeling and sensoryfeedback control for space manipulators,” in Proceedings of the NASAConference on Space Telerobotics, no. 3, 1989, pp. 287 – 296.

[4] Z. Vafa and S. Dubowsky, “The kinematics and dynamics of spacemanipulators: The virtual manipulator approach,” The InternationalJournal of Robotics Research, vol. 9, no. 4, pp. 3–21, aug 1990.

[5] ——, “On the dynamics of space manipulators using the virtualmanipulator, with applications to path planning,” in Space Robotics:Dynamics and Control, X. Yangsheng and T. Kanade, Eds. Springer,1993, pp. 45 – 76.

[6] Y. Umetani and K. Yoshida, “Resolved motion rate control of spacemanipulators with generalized jacobian matrix,” IEEE Transactions onRobotics and Automation, vol. 5, no. 3, pp. 303–314, June 1989.

[7] A. Jain, “Unified formulation of dynamics for serial rigid multibodysystems,” Journal of Guidance, Control, and Dynamics, vol. 14, no. 3,pp. 531–542, May 1991.

[8] G. Rodriguez, A. Jain, and K. Kreutz-Delgado, “A spatial operatoralgebra for manipulator modeling and control,” The InternationalJournal of Robotics Research, vol. 10, no. 4, pp. 371–381, 1991.

[9] R. Featherstone and D. Orin, “Robot dynamics: equations and al-gorithms,” in Proceedings 2000 IEEE International Conference onRobotics and Automation, vol. 1, 2000, pp. 826–834.

[10] J. R. Dooley and J. M. McCarthy, “On the geometric analysis ofoptimum trajectories for cooperating robots using dual quaternioncoordinates,” in Proceedings 1993 IEEE International Conference onRobotics and Automation, vol. 1, Atlanta, Georgia, May 2 – 6 1993,pp. 1031–1036.

[11] K. Daniilidis, “Hand-eye calibration using dual quaternions,” TheInternational Journal of Robotics Research, vol. 18, no. 3, pp. 286–298, March 1999.

[12] M. Ulrich and C. Steger, “Hand-eye calibration of SCARA robotsusing dual quaternions,” Pattern Recognition and Image Analysis,vol. 26, no. 1, pp. 231–239, 2016.

[13] G. Leclercq, P. Lefevre, and G. Blohm, “3-D kinematics using dualquaternions: Theory and applications in neuroscience,” Frontiers inBehavioral Neuroscience, vol. 7, no. 7, pp. 1–7, February 2013.

[14] L. A. Radavelli, E. R. De Pieri, D. Martins, and R. Simoni, “Points,lines, screws and planes in dual quaternions kinematics,” in Advancesin Robot Kinematics, J. Lenarcic and O. Khatib, Eds. Springer, 2014,pp. 285–293.

[15] A. Perez, “Dual quaternion synthesis of constrained robotic systems,”Ph.D. dissertation, Department of Mechanical and Aerospace Engi-neering, University of California, Irvine, September 2003.

[16] A. Perez and J. McCarthy, “Dual quaternion synthesis of constrainedrobotic systems,” Journal of Mechanical Design, vol. 126, no. 3, pp.425–435, September 2004.

[17] Y. Aydin and S. Kucuk, “Quaternion based inverse kinematics forindustrial robot manipulators with Euler wrist,” in 2006 IEEE Inter-national Conference on Mechatronics, Budapest, Hungary, July 3 – 52006, pp. 581 – 586.

[18] J. Cheng, J. Kim, Z. Jiang, and W. Che, “Dual quaternion-basedgraphical SLAM,” Robotics and Autonomous Systems, vol. 77, no. C,pp. 15–24, March 2016.

[19] N. Filipe and P. Tsiotras, “Adaptive position and attitude-trackingcontroller for satellite proximity operations using dual quaternions,”Journal of Guidance, Control, and Dynamics, vol. 38, pp. 566–577,2014.

[20] N. Filipe, M. Kontitsis, and P. Tsiotras, “Extended Kalman filterfor spacecraft pose estimation using dual quaternions,” Journal ofGuidance, Control, and Dynamics, vol. 38, no. 9, pp. 1625 – 1641,September 2015.

[21] N. Filipe, “Nonlinear pose control and estimation for space proximityoperations: An approach based on dual quaternions,” Ph.D. disserta-tion, Georgia Institute of Technology, 2014.

[22] N. Filipe, A. Valverde, and P. Tsiotras, “Pose tracking without linearand angular-velocity feedback using dual quaternions,” IEEE Trans-actions on Aerospace and Electronic Systems, vol. 52, no. 1, pp. 411–422, 2016.

[23] N. Filipe and P. Tsiotras, “Simultaneous position and attitude controlwithout linear and angular velocity feedback using dual quaternions,”in Proceedings of the 2013 American Control Conference, Washington,DC, June 17–19 2013, pp. 4815–4820.

[24] Y. Tassa, N. Mansard, and E. Todorov, “Control-limited differentialdynamic programming,” in Proceedings 2014 IEEE InternationalConference on Robotics and Automation, Hong Kong, China, May31 – June 7 2014.