Adaptive Position and Attitude Tracking Controller for Satellite

Adaptive Position and Attitude Tracking Controller for Satellite
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
Was this manual useful for you? yes no
Thank you for your participation!

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

Download PDF

advertising