Professional Documents
Culture Documents
Machine Learning FR
Machine Learning FR
The paper provides a step-by-step tutorial on the Generalized Jacobian Matrix (GJM)
approach for modeling and simulation of spacecraft-manipulator systems. The General
Jacobian Matrix approach describes the motion of the end-effector of an underactuated
manipulator system solely by the manipulator joint rotations, with the attitude and position
of the base-spacecraft resulting from the manipulator motion. The coupling of the
manipulator motion with the base-spacecraft are thus expressed in a generalized inertia
matrix and a GJM. The focus of the paper lies on the complete analytic derivation of the
Edited by:
Evangelos G. Papadopoulos, generalized equations of motion of a free-floating spacecraft-manipulator system. This
National Technical University of includes symbolic analytic expressions for all inertia property matrices of the system,
Athens, Greece
including their time derivatives and joint-angle derivatives, as well as an expression for the
Reviewed by:
Andrea Antonello,
generalized Jacobian of a generic point on any link of the spacecraft-manipulator system.
Dipartimento di Ingegneria The kinematics structure of the spacecraft-manipulator system is described both in terms
dell’Informazione, Università degli
of direction-cosine matrices and unit quaternions. An additional important contribution of
Studi di Padova, Italy
Alfredo Valverde, this paper is to propose a new and more detailed definition for the modes of maneuvering
Georgia Institute of Technology, of a spacecraft-manipulator. In particular, the two commonly used categories free-flying
United States
and free-floating are expanded by the introduction of five categories, namely floating,
*Correspondence:
Markus Wilde
rotation-floating, rotation-flying, translation-flying, and flying. A fully-symbolic and a
mwilde@fit.edu partially-symbolic option for the implementation of a numerical simulation model based
on the proposed analytic approach are introduced and exemplary simulation results
Specialty section:
This article was submitted to
for a planar four-link spacecraft-manipulator system and a spatial six-link spacecraft
Space Robotics, manipulator system are presented.
a section of the journal
Frontiers in Robotics and AI Keywords: robot dynamics modeling, spacecraft manipulator dynamics, generalized Jacobian, generalized inertia
matrix, Lagrangian equations of motion
Received: 12 January 2018
Accepted: 23 March 2018
Published: 18 April 2018
INTRODUCTION
Citation:
Wilde M, Kwok Choon S, Small spacecraft equipped with robotic manipulators will be the backbone of any robotic on-orbit
Grompone A and Romano M (2018)
servicing, asteroid mining, or active space debris removal missions. Examples for such missions
Equations of Motion of Free-Floating
Spacecraft-Manipulator Systems: An
are discussed in more detail by Yoshida (2003), Shoemaker and Wright (2004), Reintsema et al.
Engineer’s Tutorial. (2010), Barnhart et al. (2013). The use of spacecraft-mounted robotic manipulator systems for the
Front. Robot. AI 5:41. assembly and maintenance of spacecraft has a long and successful history with the Space Shuttle
doi: 10.3389/frobt.2018.00041 and International Space Station programs. The Space Shuttle orbiters were equipped with the
Shuttle Remote Manipulator System, colloquially known as focusses on the application and performance analysis of various
Canadarm (Sallaberger, 1997). The SRMS was successfully used approaches to describing the coupled dynamics of a spacecraft-
to capture the Hubble space telescope and other satellites during manipulator system (Moosavian and Papadopulos, 2007; Flores-
servicing missions, to position astronauts during extra-vehicular Abad et al., 2014), but does not provide a complete description of
activities, and to assemble and resupply the ISS (Goodman, the modeling approach that would allow an aerospace engineer
2006; Hale et al., 2011). The ISS is currently equipped with to access the topic without consulting a combination of research
two manipulator systems, the Space Station Remote Manipulator publications and textbooks.
System (Stieber et al., 1997), also known as Canadarm 2, and the There are two common methods for modeling the dynamics
Japanese Experiment Module Remote Manipulator System (Sato and deriving the equations of motion of multibody systems: the
and Wakabayashi, 2001). The Space Station Remote Manipulator recursive Newton-Euler method and the Lagrangian method.
System is used to capture and berth H-II Transfer Vehicle A general description of the Newton-Euler method is given
(HTV), Dragon, and Cygnus vehicles, and to position supplies in Siciliano et al. (2010). Stoneking (2007) provides a detailed
and astronauts (Dreyer, 2009; Bain, 2010; Ueda et al., 2010). With presentation of the use of Newton-Euler dynamics to develop
the Special Purpose Dexterous Manipulator (also called Dextre) the equations of motion for a multibody spacecraft. Applications
as end-effector, the Space Station Remote Manipulator System in the field of spacecraft-manipulator dynamics are shown in
is capable of fine manipulation (Coleshill et al., 2009). This Longman et al. (1987) and Mukherjee and Nakamura (1992).
capability is, for example, used in the NASA Robotic Refueling In the Newton-Euler method, the equations of motion of the
Mission, which demonstrated the feasibility of accessing and multibody system are computed from the equilibria of forces and
refueling a typical satellite fuel port (Cepollina, 2013). The torques acting on each link of the system. From this, a recursive
Japanese Experiment Module Remote Manipulator System is algorithm can be developed. In the forward recursion through
mostly used to service the Japanese Experiment Module Kibo and the structure of the multibody system, the linear and angular
is also equipped with a dexterous end-effector. The manipulator link accelerations and velocities are computed. The forces and
suite of the ISS is planned to be completed with the installation moments acting on the links are then computed in the backward
of the European Robotic Arm on the Russian module (Patten recursion. To develop the equations of motion of a system of
et al., 2002). The use of robotic manipulator arms mounted flexible links, the Direct Path Method was developed (Ho, 1977;
on small servicing spacecraft to capture and manipulate a Hughes, 1979). In the Direct Path Method, the point of reference
client satellite has successfully been demonstrated with the of the equations of motion is moved from the system center-
Engineering Test Satellite VII (ETS-VII) and Orbital Express of-mass to a fixed point in one of the bodies, which is typically
missions (Yoshida, 2003; Kennedy, 2008). The upcoming on- selected to be the center-of-mass of the base spacecraft. The
orbit servicing demonstration missions Restore-L and Robotic structure of the system is then described following the most
Servicing of Geostationary Satellites will also feature robotic direct path through the links. The torques acting on the links are
manipulators as core component of the capture and servicing taken about the joints instead of the link centers-of-mass, thus
system (Reed et al., 2016; Roesler et al., 2017). eliminating constraint forces and torques between the links.
Operating a robotic manipulator on a spacecraft results The Lagrangian method develops the equations of motion of
in a complex system overlapping the disciplines of robotics a multibody system from its kinetic and potential energies, using
and aerospace engineering. Since the dynamics between the a set of generalized coordinates describing the positions of the
manipulator and the base-spacecraft are coupled, the system links (Siciliano et al., 2010). Following Siciliano et al. (2010), the
requires an integrated control system to meet the capture Lagrangian method is advantageous in it being systematic and
or manipulation goals and ensure mission success. Moreover, easily comprehensible and in providing the equations of motion
the complex dynamics of the spacecraft-manipulator system in a compact analytical form facilitating control systems design.
must be accounted for in the maneuver planning and in The fundamental advantage of the Newton-Euler approach
its overall maneuver timeline. The effects of manipulator is its computational efficiency as a recursive algorithm. The
operations on the orientation and position of the Shuttle Lagrangian method is thus used to explain the development of
orbiter and the ISS have been small and could be managed the equations of motion in the present paper, due to its systematic
through operational procedures (Sargent, 1984). For fast-moving nature.
manipulators mounted on small base-spacecraft, the position When controlling the motion of the spacecraft-manipulator
and orientation disturbances due to manipulator motion become system, the dynamic coupling of the base spacecraft and the
critical, as demonstrated on ETS-VII and Orbital Express (Oda, manipulator becomes a concern. Since the base spacecraft in
2000; Kennedy, 2008). Hence, the engineers developing the one of the five maneuvering modes described in section Detailed
spacecraft control system, specifying the sensor systems to be Classification of Spacecraft-Manipulator System Maneuvering,
used, developing the communications system, and developing and thus not fixed in space, any motion of the manipulator
the operations plan must have an understanding of the complex will cause a rotation and translation of the base spacecraft. A
dynamics arising from the multi-body system. However, multi- comprehensive overview of methods to account for the dynamic
body dynamics and modeling of robotic systems are not part coupling in controlling the position and orientation of both
of a typical undergraduate aerospace engineering curriculum the end-effector of the manipulator and the base-spacecraft is
and are rarely covered in aerospace engineering graduate provided in Flores-Abad et al. (2014). Three of these methods
programs. Therefore, aerospace engineers must resort to the shall be highlighted here: The Virtual Manipulator (VM)
academic literature to fill this knowledge gap. Available literature approach, the Dynamically Equivalent Manipulator (DEM)
approach, and the Generalized Jacobian Matrix (GJM) approach. significant gap by presenting a complete symbolic, step-by-
The VM approach replaces the physical spacecraft-manipulator step derivation of the coupled equations of motion of a
system with a dynamically consistent VM system (Vafa and spacecraft-manipulator system following the GJM approach,
Dubowsky, 1987). The base of the VM is a spherical joint located including the time and joint angle derivatives of the generalized
at the center-of-mass of the physical spacecraft-manipulator inertia matrix. The tutorial presented here uses the Lagrangian
system. The orientation of this joint equals the orientation of method for a single manipulator mounted on a base-spacecraft,
the base-spacecraft in inertial space. Since, in the absence of under the assumption of zero linear and angular momenta,
external forces, the system center-of-mass remains stationary, which makes it applicable to the description of the majority
the complex free-floating system is replaced by a dynamically of current spacecraft-manipulator systems. The kinematics of
consistent fixed-base system. The VM is a purely kinematic the spacecraft-manipulator system are described both using
computational model in the sense that it is a massless kinematic direction cosine matrices and quaternions. For the extension
chain with constant dimensions calculated from the geometry of this approach to multi-manipulator systems, the reader
and mass properties of the spacecraft-manipulator system. It is referred to Moosavian and Papadopoulos (2004), while
is typically used for workspace analysis for floating spacecraft- the equations of motion of a spacecraft-manipulator system
manipulator systems (Vafa and Dubowsky, 1987; Dubowsky with non-zero angular momentum is covered in Nanos and
and Papadopoulos, 1993). In particular, the VM cannot be Papadopoulos (2011). This complete discussion of the GJM
represented by a physical manipulator. However, this can be approach enables the computation of symbolic expressions of the
achieved by the DEM approach (Liang et al., 1998). The base spacecraft-manipulator system equations of motion, which can
joint of the DEM is also a spherical joint at the system center- then be used for the formulation of guidance and control laws in
of-mass, and the DEM is geometrically identical to the VM for addition to numerical simulations.
the same spacecraft-manipulator system. Differing from the VM, A second important contribution of the paper is the
the DEM links have masses and moments-of-inertia matrices that introduction of a new, more accurate and detailed categorization
are calculated from the mass distributions of the real system. for spacecraft-manipulator control modes. In particular, the two
Therefore, the DEM computation model can be reproduced in commonly used categories (free-flying and free-floating) are
a real mechanical system, and thus be used in experimental expanded by the introduction of five categories (namely floating,
systems. rotation-floating, rotation-flying, translation-flying, and flying).
The Generalized Jacobian approach was originally proposed A third contribution of the paper is the definition of the
by Yoshida and Umetani (1993), expanding the dynamic generalized Jacobian for an arbitrary point of the spacecraft-
analysis previously introduced by Dubowsky and Papadopoulos manipulator system, which is useful for guidance and control,
(1993) and in the dissertation of Papadopoulos (1990). The obstacle avoidance, and collision detection and modeling.
Generalized Jacobian approach was used successfully in running To the authors’ knowledge, this is the first time that the
simulations and developing control algorithms for the ETS- Generalized Jacobian approach is derived in completeness,
VII demonstrator mission (Yoshida, 2003). The approach was drawing from multiple references in literature and the authors’
also further generalized to serve as a description for any own research. The paper thus forms a valuable resource for
under-actuated manipulator system (Yoshida and Nenchev, aerospace engineers to understand and model the complex
1998). The Generalized Jacobian method formed the basis for dynamics of a robotic manipulator operated on a spacecraft.
the development of non-holonomic path planning algorithms The paper is organized as follows. Section Detailed
(Nakamura and Mukherjee, 1989; Xu et al., 2008), target Classification of Spacecraft-Manipulator System Maneuvering
capture algorithms (Yoshida and Nakanishi, 2003), spacecraft- provides a detailed classification of the maneuvering modes
manipulator control strategies (Marchesi, 1997; Caccavale and of a spacecraft-manipulator system. Section Kinematics of
Siciliano, 2001; Aghili, 2009), hardware-in-the-loop simulation a Spacecraft-Manipulator System develops expressions for
of space robotic systems (Wei et al., 2006), Reaction Null- the kinematics of a spacecraft-manipulator system based
Space Control algorithms (Nenchev et al., 1999) and contact on a customized version of Denavit-Hartenberg parameters.
dynamics models (Nenchev and Yoshida, 1999). The method is Using these expressions, the dynamics of a floating spacecraft-
advantageous for a symbolic analytic description of the dynamics manipulator system are described in section Dynamics of a
of a complex spacecraft-manipulator system, which is important Floating Spacecraft-Manipulator System. The paper proceeds to
for the synthesis of guidance and control laws, as well as to guide develop the generalized form of the equations of motion of a
the selection of proximity operations sensor systems and the floating spacecraft-manipulator system from section Generalized
design of pointing mechanisms for antennas, solar arrays, etc. Form of the Equations of Motion for a Floating Spacecraft-
Notwithstanding the widespread use of the GJM approach, Manipulator System, followed by the generalized form of the
a complete description for the computation of all inertial generic Jacobians of a spacecraft-manipulator system in section
parameters of the spacecraft-manipulator system is missing Generalized Jacobian. Section Implementation of a Simulation
in the literature for the general case of a spatial N-link Model for a Floating Spacecraft-Manipulator System then
manipulator mounted on a six degrees-of-freedom (DOF) discusses the implementation options for a computer simulation
base-spacecraft. However, this is critical for its use in the model based on the generalized approach. The results of sample
design of the base spacecraft and the overall rendezvous and simulations are reported in section Numerical Simulations.
capture system and mission. This paper aims at filling this Finally, section Conclusion provides concluding remarks.
Case number Commonly used term Proposed terms Linear momentum P Angular momentum L
the classification above can still be used in an approximate TABLE 2 | Denavit-Hartenberg parameters and their geometric meaning.
sense, due to the weightless (e.g., free-falling) condition of the
DH parameter Geometric meaning
system center-of-mass (due to the balancing of gravitational
attraction and centrifugal force) and neglecting the effect of di Distance between ̺i and xJi+1 along zJi
environmental torques (typically dominated by gravity-gradient θi Rotation from xJi to xJi+1 about zJi
torque, atmospheric torque, and solar radiation-pressure torque) αi Rotation from zJi to zJi+1 about xJi + 1
and non-gravitational environmental forces (typically dominated ci Distance along the common normal between zJi and zJi+1
by atmospheric drag and solar radiation-pressure). The analysis
and simulation of floating, rotation-floating and rotation-flying
maneuvering modes can be typically conducted with good
accuracy as if the system was isolated. In those three cases, a 1), and by the position vectors of the centers-of-mass of the
coordinate system centered at the center-of-mass of the orbiting links, rj (0 ≤ j ≤ N). In this paper, the word “vector”
spacecraft-manipulator system and having axes oriented in a is rigorously reserved for Gibbsian vectors (see, for instance,
fixed way with respect to an inertial frame (i.e., having zero Hughes, 2004).
absolute angular velocity) can be considered as equivalent to an Three types of Cartesian coordinate systems are used in the
inertial coordinate system for the description of the spacecraft- analysis: an inertial coordinate system J , a set of N+2 joint-
manipulator system motion. fixed coordinate systems Ji (0 ≤ i ≤ N + 1), and a set of N+1
link-fixed coordinate systems Li (0 ≤ i ≤ N), with J0 ≡ L0 and
JN+1 = JEE . The base-spacecraft coordinate system J0 ≡ L0
KINEMATICS OF A has its origin at the center-of-mass of the base-spacecraft, and
SPACECRAFT-MANIPULATOR SYSTEM has an arbitrary orientation (for instance, corresponding to its
principal directions of inertia). Each joint coordinate system Ji
The geometry of a base-spacecraft equipped with a single N- (1 ≤ i ≤ N + 1) is built using of the Denavit-Hartenberg (DH)
link manipulator is illustrated in Figure 1. The base-spacecraft convention as specified in Siciliano et al. (2010). The axis zJi of
is defined as link 0, with joint 0 residing at the base-spacecraft Ji is parallel to the joint rotation axis k̂i for 1 ≤ i ≤ N. The
center-of-mass. The end-effector (EE) of the manipulator is part origin ̺1 of J1 as well as the directions of xJ1 and yJ1 can be
of link N and located at the end of that link. Therefore, its selected as needed for a particular geometry. The same is true
location can be treated as a virtual joint N+1. The geometry of for the end-effector coordinate system JN+1 . Furthermore, for
a spacecraft-manipulator system with respect to the origin of 2 ≤ i ≤ N, the origin ̺i of Ji is at the intersection of zJi
an inertial reference frame J can be described unequivocally and the common normal between zJi−1 and zJi . Whenever zJi−1
by the position vectors of the joints, pi (0 ≤ i ≤ N + and zJi are parallel, the common normal is uniquely defined and
̺i is selected for convenience (e.g., passing through the center- recursively by a product of DH transformation matrices. The
of-mass of the link i-1). The axis xJi points from ̺i along the resulting homogenous transformation matrix J TJi contains the
direction of the common normal defined above. The axis yJi direction-cosine matrix (DCM) J RJi and the position vector
completes the right-handed Cartesian coordinate system. The Jp :
i
link coordinate system Li is parallel to Ji+1 (for 1 ≤ i ≤ N), but J Jp
with the origin at the center-of-mass (CMi ) of link i. This way J RJi i
TJ i = , (3)
of defining the joint coordinate systems follows Siciliano with 01,3 1
the following difference: Siciliano’s link i coordinate system is
identical to our joint i+1 coordinate system Ji+1 . Furthermore,
Analogously, the homogenous transformation matrix J TLi
the origins of the link coordinate systems Li are placed into the
contains the DCM J RLi and position J ri . Notably, because of
link centers-of-mass to comply with Yoshida’s approach (Yoshida
the fact that Li is oriented as Ji+1 , it yields:
and Umetani, 1993).
The geometrical relationship between subsequent joint J
RLi = J RJi+1 . (4)
coordinate systems Ji and Ji+1 (1 ≤ i ≤ N) is described by the
four DH parameters di , θi , αi , and ci (see Table 2 and Figure 2).
The joint DCM are used to derive the directions k̂i of the joint
For a link with a rotary joint, θi is the only variable parameter
rotation axes in the inertial frame. In the DH convention, the
and is identical to the joint angle qi . The parameters di , αi , and ci
rotation axis of a rotary joint is defined as the z axis in the
represent fixed geometric properties of the manipulator link. For
corresponding link frame. So, k̂i is defined by:
a prismatic joint, the parameter di is variable and identical to the
joint extension. Since prismatic joints are not commonly used in
0
orbital robotics applications, only rotary joints are considered in J
k̂i = J RJi 0 . (5)
this paper.
1
The homogenous transformation matrix Ji T Ji+1 from
mathcalJi to Ji+1 coordinates can be expressed as a function of
Furthermore, it is useful to define the following additional
the DH parameters as follows:
vectors. The position vector ai connects the origin ̺i of the
Ji joint i coordinate system Ji to the center-of-mass of link i (CMi ,
TJi+1 = A θi , di , αi , ci , (1)
origin of link i coordinate system Li ). The position vector bi
where the DH transformation matrix function A (β, u, γ , w) is connects CMi and ̺i+1 . Notably, if CMi lies on a straight line
defined as: connecting ̺i and ̺i+1 , which is a valid assumption for most
common spacecraft manipulators, ai and bi can be substituted
by their scalar components ai and bi on the x axis of Li
cos β −sin β cos γ sin β sin γ w cos β and Ji+1 .
sin β cos β cos γ −cos β sin γ w sin β Notably, since the base-spacecraft is designated as link 0 and
A (β, u, γ , w ) , .(2)
0 sin γ cos γ u its center-of-mass is joint 0, it is r0 = p0 , L0 = J0 , J RL0 =
J R , and J T J T . In particular, we have chosen to
0 0 0 1 J0 L0 = J0
express the DCM for the base-spacecraft in Euler angles (roll
Therefore, the position and orientation of each joint coordinate angle φ, pitch angle θ , yaw angle ψ) in the following 1-2-3
system Ji (2 ≤ i ≤ N + 1) can be expressed rotation sequence:
cos ψ −sin ψ 0 cos θ 0 sin θ 1 0 0
J
RL0 = J RJ0 = sin ψ cos ψ 0 0 1 0 0 cos φ −sin φ . (6)
0 0 1 −sin θ 0 cos θ 0 sin φ cos φ
Therefore:
cos ψ cos θ cos ψ sin θ sin ψ − sin ψ cos ψ cos ψ sin θ cos ψ + sin ψ sin ψ
J
sin ψ cos θ sin ψ sin θ sin ψ + cos ψ cos ψ sin ψ sin θ cos ψ − cos ψ sin ψ I r0
TJ 0 = J TL 0 =
−sin θ
. (7)
cos θ sin ψ cos θ cos ψ
0 0 0 1
The joint coordinate system J1 has a constant position 0 b0 and system. By expressing L 0 RJ1 in Euler angles with 1-2-3 sequence
L0
orientation RJ1 , with respect to the base-spacecraft coordinate (ǫ, ζ , and η), it yields:
cos η cos ζ cos η sin ζ sin ǫ − sin η cos ǫ cos η sin ζ cos ǫ + sin η sin ǫ
J
sin η cos ζ sin η sin ζ sin ǫ + cos η cos ǫ sin η sin ζ cos ǫ − cos η sin ǫ 0 b0
TJ 1 = J TJ 0 J0 TJ 1 == J TJ 0 −sin ζ
. (8)
cos ζ sin ǫ cos ζ cos ǫ
0 0 0 1
For all of the subsequent joint coordinate systems Ji , by taking Given the geometry of the spacecraft-manipulator system, the
into account Equation (1), it yields: linear velocity J vXi of any point Xi on the i-th link of the
J J
manipulator and the angular velocity J ωi of the i-th link can be
TJ i−1 J i−1 T J i = J T J i−1 A qi−1 , di−1 , αi−1 , ai−1 + bi−1 ,
TJ i = expressed as:
∀ {2 ≤ i ≤ N} , (9)
i nh
X J ×
i o
where the transformation matrices for the link coordinate J
vxi = J v0 + J ω×
0
J
xi − J r0 + k̂k J
xi − J pk q̇k ,
systems, I TLi , are derived as: k=1
(15)
J J Ji J
TL i = T J i TLi = T J i A qi , di , αi , ai , ∀ {1 ≤ i ≤ N} . (10) i
X
J
ωL i = J ω0 + J
k̂k q̇k . (16)
The relative position between the base-spacecraft center-of-mass k=1
and the link centers-of-mass, J r0i , and the position of the system
The notation a× is used to denote the skew-symmetric matrix
center-of-mass, J rC , can be expressed as:
(Hughes, 2004) associated with any vector a, so that the
J
r0i = J
ri −J r0 , {1 ≤ i ≤ N} , (11) vector product c = a × b can be expressed in the matrix-vector
N N
operation c = a× b:
1 X 1 X
J
rC = mi J ri = mi J
r0 + J
r0i
mtot mtot 0 −az ay
i=0 i=0
N
a× = az 0 −ax . (17)
J 1 X J −ay ax 0
= r0 + mi r0i , (12)
mtot
i=1
Alternative Expression of Transformations
Using the Unit Quaternion Instead of the
PN
where mtot = i = 0 mi .
Furthermore, the position of the system center-of-mass with DCM
respect to the base-spacecraft center-of-mass is given by: The use of DCM in developing the transformation matrices
J J J
for the spacecraft-manipulator system is familiar and intuitive.
r0C = rC − r0 . (13) DCM, or equivalently rotation matrices, offer a unique and
singularity-free parameterization of the orientation. As such, the
Equations (12) and (13) yield: DCM method is used above to describe the DH formalism, and
N DCM-based notation is used throughout this paper. However,
the parameterization of the rotation using three parameters, e.g.,
X
mtot J r0C = mi J r0i . (14)
i=1
Euler angle combinations, creates singularities, thus making the
resulting DCM non-invertible. In addition, the multiplication of The sequence of translations results from Equation (21):
transformation matrices results in a large number of operations,
1
27 for two [3 × 3] rotation matrices and 64 for two [4 × 4] tE = 1 tN+1 = 1 t2 +
∗
homogenous transformation matrices, thus making the approach +1 qr 2 ⊗ 2 t 3 ⊗ 1 qr 2 +
computationally inefficient. The alternative is to use Euler ∗
+(1 qr 2 ⊗ 2 qr 3 ) ⊗ 3 t4 ⊗ 1
qr 2 ⊗ 2 qr 3 + ... +
symmetric parameters, also called unit quaternions (Wertz, 1978;
1 N−1 N
Hughes, 2004). Unit quaternions are used to describe rotations +( qr 2 ⊗ . . . ⊗ qr N ) ⊗ tN+1
∗
following the Euler axis-angle theorem, with the vector part ε of ⊗ 1
qr 2 ⊗ . . . ⊗ N−1 qr N .
the quaternion describing the rotation axis, and the scalar part (25)
η describing the rotation angle. A unit quaternion q expressing
a rotation about any axis û by any angle α can be written as a
four-vector:
DYNAMICS OF A FLOATING
SPACECRAFT-MANIPULATOR SYSTEM
ε1 u1 sin (α/2)
ε ε2 u2 sin (α/2) The equations of motion of the spacecraft-manipulator system
q= = ε3 = u3 sin (α/2) .
(18)
η illustrated in Figure 1 are here derived using the Lagrangian
η cos (α/2) approach for the case of floating maneuvering mode (see
section Detailed Classification of Spacecraft-Manipulator System
The magnitude of q is q = 1, hence q is called a unit Maneuvering and Table 1). In this case, the potential energy of
quaternion. The unit quaternion thus corresponds to a rotation the system is zero, and the Lagrangian equals the kinetic energy T:
matrix R (Hughes, 2004):
N
1 − 2 ε22 + ε32 2(ε1 ε2 − ε3 η) 2(ε1 ε3 + ε2 η)
1 X J T J J
L=T= ωi Ii ωi + mi J ṙi T J ṙi . (26)
R = 2(ε1 ε2 + ε3 η) 1 − 2(ε12 + ε32 ) 2(ε2 ε3 − ε1 η) . (19) 2
i=0
2(ε1 ε3 − ε2 η) 2(ε2 ε3 + ε1 η) 1 − 2(ε12 + ε22 )
By collecting the mass and inertia properties of the spacecraft-
A sequence of rotations, R3 = R1 R2 , is then expressed by the
manipulator system into the [6 × 6] base-spacecraft inertia
quaternion product (Campa and Camarillo, 2008):
matrix H0 , the [N × N]manipulator inertia matrix Hm , and
η1 ε 2 + η2 ε 1 + ε × the [6 × N] dynamic-coupling inertia matrix H0m , after some
1 ε2
q3 = q1 ⊗ q2 = . (20)
η1 η2 − εT1 ε2 algebraic steps the kinetic energy can be expressed as (Yoshida
and Umetani, 1993):
Therefore, any vector a, expressed as four-vector a =
T
1 hJ T T i H0 H0m J ẋ0
a1 a2 a3 0 , can be rotated using a unit quaternion (Kuipers, T = ẋ0 q̇ T H
H0m q̇
2000): 2 m
1J T J 1 T
a′ = q ⊗ a ⊗ q∗ , (21) = ẋ H0 ẋ0 + q̇ Hm q̇
2 0 2
T 1J T 1 T T J
with the conjugate quaternion q∗ = −ε T η . Therefore, the
+ ẋ0 H0m q̇ + q̇ H0m ẋ0 , (27)
application of the DH convention results in an unit quaternion 2 2
Ji q
r Ji+1 for the rotation between coordinate systems Ji and T
where J ẋ0 = J v0 T J ωT0
is the combined and angular
Ji+1 , and a four-vector Ji t Ji+1 for the translation between
velocity matrix of the base-spacecraft. The base-spacecraft
origins of Ji and Ji+1 (Campa and Camarillo, 2008):
inertia matrix, manipulator inertia matrix, and the dynamic-
cos θ2i sin α2i
coupling inertia matrix are thoroughly explained in the following
subsections.
Ji
qr Ji+1 = sin θi cos αi ,
(22)
2 2 Base-Spacecraft Inertia Matrix
cos θ2i cos α2i The [6 × 6] base-spacecraft inertia matrix H0 is resulting to be:
ci cos θi
×
mtot I3,3 −mtot J r0C
Ji
ci sin θi
tJi+1 =
di . (23) H0 = × , (28)
mtot J r0C
HS
0
where I3,3 is the [3 × 3] identity matrix and the [3 × 3] submatrix
The rotation from the base joint J1 to the end-effector JN+1 can HS collects the moments-of-inertia of the spacecraft-manipulator
thus be computed from a sequence of rotations using Equation system about the base-spacecraft center-of-mass, expressed in the
(20): inertial frame J :
1
qrE = 1 qrN+1 = 1 qr2 ⊗ 2 qr3 ⊗ . . . ⊗ N−1 qrN ⊗ N
qrN+1 . N
X
J ×J ×
(24) HS = I i − mi J r0i r0i + J I0 . (29)
i=1
The i-th link moments-of-inertia matrix in the inertial coordinate Equations of Motion of a Floating
system is derived from the moments-of-inertia matrix in the i-th Spacecraft-Manipulator System
link coordinate system as: The generalized coordinates for the description of the spacecraft-
manipulator system were chosen to be the manipulator joint
J T
I i = J RLi Li I i J RLi . (30) angles q and the base-spacecraft combined linear and angular
position J x0 , resulting in the following two matricial Lagrangian
equations. In the following, the coordinate system superscript
Dynamic-Coupling Inertia Matrix will be omitted for better readability:
The [6 × N] dynamic-coupling inertia matrix H0m expresses the
contribution of the dynamic coupling between the manipulator
d ∂T ∂T
and the base-spacecraft to the kinetic energy of the spacecraft- − = 06,1 , (37)
manipulator system. In particular, it is: dt ∂ ẋ0 ∂x0
d ∂T ∂T
− = τ, (38)
dt ∂ q̇ ∂q
JTS
H0m = , (31)
HSq
where the [N × 1] matrix τ contains the manipulator joint
where the [3 × N] submatrix JTS collects the contribution to torques. It would be possible to include the effects of the internal
the system kinetic energy of the combination of the effect of the torques due to the presence of momentum-exchange devices on
manipulator joint rate q̇ and the base-spacecraft linear velocity the right-hand side of Equation (37), following the procedure
J v . In detail, it is: outlined in Wie (2008). That would extend the analysis to the case
0
of rotation-floating (see Table 1).
N By substituting the kinetic energy expressed in Equation (27)
X
JTS = (mi JTi ) , (32) into Equations (37) and (38), by computing the derivatives, and
i=1 by properly rearranging the terms, the matricial equations of
motion (corresponding to N+6 scalar equations) for the floating
where the [3 × N] matrix JTi represents the linear velocity spacecraft-manipulator system result as:
Jacobian for the center-of-mass of the i-th link (Siciliano et al.,
2010), and is given by:
H0 H0m ẍ0 Ḣ0 Ḣ0m ẋ0 c0 06,1
T H + T Ḣ + = , (39)
h
×
i H0m m q̈ Ḣ0m m q̇ cm τ
JTi = I k̂× J r − J p1 · · · I k̂i Jr − J pi 03,N−i ,
1 i i
∀ (1 ≤ i ≤ N) . (33) where the [6 × 1] matrix c0 and the [N × 1] matrix cm are defined
as:
Finally, the [3 × N] submatrix HSq contains the contribution to ∂T 1 ∂ T
the system kinetic energy of the combination of the effect of the c0 = − =− ẋ0 H0 ẋ0 + q̇T Hm q̇ + ẋ0T H0m q̇ + q̇T H0m
T
ẋ0 ,
∂x0 2 ∂x0
manipulator joint rate q̇ and the base-spacecraft angular velocity (40)
J
ω0 . In detail, it is: ∂T 1 ∂ T
cm = − =− ẋ0 H0 ẋ0 + q̇T Hm q̇ + ẋ0T H0m q̇ + q̇T H0m
T
ẋ0 .
∂q 2 ∂q
N
(41)
X
J ×
HSq = Ii JRi + mi J r0i JTi , (34)
i=1
GENERALIZED FORM OF THE EQUATIONS
where the [3 × N] matrix JRi represents the angular velocity OF MOTION FOR A FLOATING
Jacobian for the i-th link (Siciliano et al., 2010):
SPACECRAFT-MANIPULATOR SYSTEM
h i
JRi = J k̂ ··· J k̂ 03,N−i , ∀ (1 ≤ i ≤ N) . (35) The equations of motion in Equation (39) govern the dynamics
1 i
of a floating spacecraft-manipulator system in terms of
coupled base-spacecraft motion (first six scalar equations) and
manipulator motion (last N scalar equations). In this section,
Manipulator Inertia Matrix the N+6 scalar equations of motion are rewritten into a set of N
The [N × N] inertia matrix for the manipulator, Hm , is identical scalar generalized equations, as typically done for under-actuated
to that of any fixed-base manipulator (Siciliano et al., 2010) and systems (Yoshida and Nenchev, 1998). The linear momentum,
expressed as: P, and the angular momentum, L, are given by (Umetani and
Yoshida, 1989):
N
X
TJ T P
Hm = JRi Ii JRi + mi JTi JTi . (36) = H0 ẋ0 + H0m q̇ = M0 , (42)
i=1 L
T
Inverse Base-Spacecraft Inertia Matrix
where M0 = P L is the [61] combined matrix of initial linear
and angular momentum about the base-spacecraft center-of- The calculation of the symbolic expression of H ⋆ from Equation
mass, expressed in the inertial frame J . Because of the hypothesis (45) requires the inverse of the [6 × 6] base-spacecraft inertia
of floating maneuvering in the absence of any external forces matrix H0 . The matrix H0 is a partitioned block matrix of the
or moments, the location of the system center-of-mass remains form:
constant, the momenta are conserved, and therefore it yields: ×
mtot I3,3 −mtot r0C U V
H0 = × = . (51)
mtot r0C HS W X
d P
= H0 ẍ0 + H0m q̈ + Ḣ0 ẋ0 + Ḣ0m q̇ = 0. (43)
dt L By following the approach taken by Mukherjee and Nakamura
(1992), the inverse of H0 is determined using the Banachiewicz
Equation (42) is solved for ẋ0 . The result is inserted into Equation inversion formula (Baksalary and Styan, 2002) and the Schur
(43), which is then solved for ẍ0 . The resulting expressions are complement SU of the non-singular submatrix U:
finally inserted into the last N scalar equations of Equation (39).
I −U −1 V U −1 03,3
By considering the symmetry of H0−1 (which will be discussed H0−1 = 3,3
I3,3 03,3
03,3 I3,3 −1
03,3 SU −WU −1 I3,3
below), the resulting matricial equation (corresponding to N
scalar equations) is: 1 × −1 × × −1
I3,3 −r0C SU r0C r0C SU
= mtot × , (52)
S−1
U r0C S−
U
1
1 ∂ T ⋆q̇ d T −1
H ⋆ q̈ + H˙⋆ q̇ − q̇ H =τ− H0m H0 M0 where the Schur complement of U for a matrix
U V
is defined
2 ∂q dt W X
1 ∂ T −T as Baksalary and Styan (2002):
+ M0 H0 M0 , (44)
2 ∂q
SU = X − WU − 1 V = HS + mtot r0C
× ×
r0C . (53)
where the [N × N] generalized inertia matrix H ⋆ is defined to be: In detail, SU is a symmetric [3 × 3] matrix with the elements:
T
H ⋆ = Hm − H0m H0−1 H0m . (45) N
X
2 2
2 2
s1,1 = Ixxi + mi r0i y
+ r0i z
+ Ixx0 − mtot r0Cy
+ r0Cz
,
i=1
The further treatment of this generalized equation of motion
in the presence on non-zero angular momentum is described (54)
N
in Nanos and Papadopoulos (2011). For the purposes of this X
s1,2 = s2,1 = Ixyi − mi r0ix r0iy + Ixy0 + mtot r0Cx r0Cy , (55)
tutorial, we assume from now on that the initial momentum of i=1
the floating spacecraft-manipulator system is zero, i.e.: N
X
s1,3 = s3,1 = Ixzi − mi r0ix r0iz + Ixz0 + mtot r0Cx r0Cz , (56)
M0 = 06,1 . (46) i=1
N
X
2 2 2 2
Therefore, Equation (44) simplifies to: s2,2 = Iyyi + mi r0i y
+ r0i z
+ Iyy0 − mtot r0Cx
+ r0Cz
, (57)
i=1
⋆ ⋆ ⋆ N
H q̈ + H˙ q̇ + c = τ , (47) X
s2,3 = s3,2 = Iyzi − mi r0iy r0iz + Iyz0 + mtot r0Cy r0Cz , (58)
i=1
where the [N × 1] matrix c⋆ is defined as: N
X
2 2 2 2
s3,3 = Izzi + mi r0i + r0i + Izz0 − mtot r0C + r0C .
1 ∂ T ⋆ 1 ∂H ⋆ y z x y
c⋆ = − q̇ H q̇ = − q̇T q̇. (48) i=1
2 ∂q 2 ∂q (59)
The velocity and position dependent terms in the generalized The determinant of SU is given by:
equations of motion can be combined into a single [N × 1]
matrix C⋆ : det (SU ) = −s213 s22 + 2s12 s13 s23 − s11 s223 − s212 s33
+ s11 s22 s33 . (60)
C⋆ q, q̇ = H˙⋆ q̇ + c⋆ .
(49)
Therefore, SU can be inverted symbolically, resulting in the
This permits the familiar representation of the generalized symmetric [3 × 3] matrix:
equations of motion which closely resembles the equations of S−1
U =
motion for a fixed-base manipulator (Siciliano et al., 2010):
s22 s33 − s223 s13 s23 − s12 s33 s12 s23 − s13 s22
1 2
s13 s23 − s12 s33 s11 s33 − s13 s12 s13 − s11 s23 (61)
H ⋆ q̈ + C⋆ q, q̇ = τ .
(50) det (SU )
s12 s23 − s13 s22 s12 s13 − s11 s23 s11 s22 − s212
The thorough symbolic expression of the terms of Equation (47) This symbolic expression for SU allows the calculation of the
is provided in the following subsections. symbolic expression of H0−1 by using Equation (52).
Time Derivative of the Generalized Inertia Due to the definition of the joint and link coordinate systems in
Matrix section Kinematics of a Spacecraft-Manipulator System:
The time derivative of the generalized inertia matrix, Ḣ ⋆ , J
ṘLi = J ṘJi+1 , ∀ (1 ≤ i ≤ N) . (69)
is calculated by taking the time derivative of Equation (45),
resulting in: Furthermore, the time derivative of Equation (30) yields:
d J J T T
ṘLi L i I i J RLi + J RLi L i I i J ṘLi ,
Ḣ ⋆ = T
Hm − H0m H0−1 H0m . (62) İi =
dt ∀ (1 ≤ i ≤ N) . (70)
The derivative of a matrix inverse with respect to a scalar can be The time derivative of the angular velocity Jacobian defined in
expressed as: Equation (35) is:
dQ−1
dQ −1 0 0 0
= −Q−1 Q , (63)
dx dx J̇Ri = J ṘJ1 0 J ṘJ2 0 . . . J ṘJi 0 03,N−1 ,
1 1 1
as it can be immediately obtained from
∀ (1 ≤ i ≤ N) . (71)
−1
dQ−1
d QQ dE dQ −1 The time derivative of the linear velocity Jacobian defined in
= =0= Q +Q , (64)
dx dx dx dx Equation (33) is computed from:
where Q is any square-invertible matrix and x is a scalar. This J̇Ti = j̇Ti1 j̇Ti2 · · · j̇Tii 03,N−1 , ∀ (1 ≤ i ≤ N) , (72)
allows computing the time derivative of the generalized inertia
matrix without the need for calculating the time derivative of the where:
inverse of the base-spacecraft inertia matrix, H0−1 : ×
0
J ṘJk 0 ri − pk + k̂k× ṙi − ṗk , ∀ (k ≤ i). (73)
j̇Tik =
T
Ḣ ⋆ = Ḣm − Ḣ0m H0−1 H0m + H0mT
H0−1 Ḣ0m 1
T
− H0m H0−1 Ḣ0 H0−1 H0m . (65) Time Derivative of the Base-Spacecraft Inertia Matrix
The time derivative of Equation (28) is given as:
The following subsections discuss the calculation of the
03,3 −mtot ṙ0C ×
individual matrix derivatives in Equation (65). Ḣ0 = × . (74)
mtot ṙ0C ḢS
Time Derivative of the Manipulator Inertia Matrix By using Equations (11) and (13), the upper right and lower
By taking the time derivative of Equation (36), it yields: left sub-matrices of Equation (74) can be obtained from the
following:
N
X
TJ T J TJ N N N
Ḣm = J̇Ri Ii JRi + JRi İ i JRi + JRi Ii J̇ Ri ×
mtot ṙ× mi ṙ×
X X X
i=1 0C = 0i = mi ṙi − ṙ0 = mi
T i=1 i=1 i=1
T
+ mi J̇ Ti JTi + JTi J̇Ti (66) × ×
Xi 0
ω0 × (ri − r0 ) + J RJ 0 ri − pj q̇j .(75)
j
The only new values to be calculated are the time derivatives j=1
1
of the angular and linear motion Jacobians, J̇Ri and J̇Ti , as well
as the time derivative of the link moments-of-inertia matrices, The lower right sub-matrix of Equation (74) is computed by
J
İi (1 ≤ i ≤ N). For the calculation of these terms, the time using Equation (29):
derivatives of the joint and link direction-cosine matrices, J ṘJi N
and J ṘLi are required. The time derivative of any joint direction-
X
J × × × ×
+ J İ0 .
ḢS = İi − mi ṙ0i r0i + r0i ṙ0i (76)
cosine matrix J RJi is given by the Darboux equation (Hughes, i=1
2004):
Time Derivative of the Dynamic-Coupling Inertia
J
ṘJi = J ω× J
J i RJ i . (67) Matrix
The time derivative of the dynamic-coupling matrix H0m in
The angular velocity of any joint coordinate system with respect Equation (31) results in:
to the inertial frame can be computed recursively from:
J̇
Ḣ0m = TS , (77)
ḢSq
J
ω Ji = J
ωJi−1 + i−1 ωJi = J ωJi−1 + J k̂ Ji−1 q̇i−1 ,
∀ (1 ≤ i ≤ N + 1) . (68) where from Equations (32) and (34):
N
X transformation matrix in the multiplication chain depends on qk ,
J̇TS = mi J̇Ti , (78) with the joint angle derivative of a DH matrix given by:
i=1
N
X
J × ×
∂A qk , dk , αk , k ck
İi JRi +J Ii J̇Ri + mi ṙ0i
ḢSq = JTi + r0i J̇Ti . (79) =
i=1 ∂qk
−sin qk − cos qk cos αk cos qk sin αk −ck sin qk
cos qk − sin qk cos αk sin qk sin αk ck cos qk
Expression of the Matrix c⋆
0
.
0 0 0
From Equation (48), the elements of c⋆ can be expressed as:
0 0 0 0
(84)
1 ∂H ⋆
ck⋆ = − q̇T
q̇, ∀ 1 ≤ k ≤ N , (80)
2 ∂qk Therefore, three cases must be considered:
(1) If k > i−1, the joint transformation matrix is independent
For the planar case, Papadopoulos (1990) provides an expression of qk :
for c⋆ . For the general case, the symbolic computation of c⋆
∂ J T J i
requires the derivatives of H ⋆ with respect to each joint angle = 04,4 , (85)
qk . By following the analogous procedure as used for the time ∂qk k>i−1
derivative of H ⋆ (see Equation 65), it yields:
(2) If k = i − 1, the final factor in the product of transformation
matrices depends on qk , and the derivative changes to:
∂H ⋆ ∂Hm ∂H0m T −1 ∂H0m
= − T
H0 H0m − H0m H0−1 ∂ J T J i
∂A qi−1 , di−1 , αi−1 , i−1 ai−1 + i−1 bi−1
∂qk ∂qk ∂qk ∂qk = J
TJ • ,
i−1
∂H ∂qk k=i−1 ∂qi−1
0 −1
T
H0−1
+ H0m H0 H0m , ∀ 1 ≤ k ≤ N (81) (86)
∂qk
(3) For k < i − 1, one of the contributing matrices depends on
As for the time derivative above, the computation of the qk :
derivative of the generalized inertia matrix requires the separate
computations shown in the following paragraphs. J
∂A q , d , α , ka + kb
∂ T J i k k k k k
= J TJ k •
Joint-Angle Derivative of the Manipulator Inertia ∂qk k<i−1 ∂qk
Matrix i−1
Y
The joint-angle derivatives of the manipulator inertia matrix • A ql , dl , αl , l al + l bl . (87)
from Equation (36) are given by: l=k+1
The calculation of this expression requires the joint-angle As for the link transformation matrices J T L i , there are three
derivatives of the joint and link transformation matrices J TJi cases to consider:
and J TLi , as well as the joint angle derivatives of the linear (1) For k > i, the link transformation matrix is independent
and angular motion Jacobians. From Equation (9), the joint of qk .
transformation matrices are: ∂ J TL i
= 04,4 , (89)
∂qk k>i
J
TJ i = J
TJ k • A qk , dk , αk , k ak + k bk
(2) For k = i, the final DH transformation matrix must be
i−1
differentiated for qk :
Y
• A ql , dl , αl , l al + l bl . (83)
l=k+1 ∂A qi , di , αi , i ai
∂ J TL i
J
= TJ i • , (90)
∂qk k=i ∂qi
where the homogeneous transformation matrix J TJ k and the
DH matrices A(ql , dl , αl , l al + l bl ) (k + 1 ≤ l ≤ i − 1) are (3) If k < i, we can reuse the derivative of the joint
independent of joint angle qk . Therefore, only a single DH transformation matrix developed above:
N
∂JTS X ∂JTi
= mi , ∀ 1≤k≤N , (96)
ν Xi
∂qk ∂qk = J0Xi ẋ0 + JmXi q̇, (103)
i=1
× ωi
N
( " #)
∂HSq X ∂ J Ii J ∂JRi ∂ J r0i × ∂JTi
= JRi + Ii + mi JTi + r0i ,
∂qk ∂qk ∂qk ∂qk ∂qk where the contribution of the manipulator joint rates to the
i=1
combined velocity of Xi is expressed by the [6 × N] manipulator
∀ 1≤k≤N .
(97) Jacobian JmXi :
" #
Since r0 does not depend directly on any joint angle, r0i (see k̂1× xi − p1 . . . k̂i× xi − pi 03,N−i
Equation 11) is differentiated as: JmXi = , (104)
k̂1 ... k̂i 03,N−i
∂r0i ∂ri ∀ (1 ≤ i ≤ N)
= , (98) with xi being the position of point Xi . The contribution of the
∂qk ∂qk ∀ 1≤k≤N .
base-spacecraft combined velocity is expressed by the [6 × 6]
base-spacecraft Jacobian J0Xi :
Joint-Angle Derivative of the Base-Spacecraft Inertia
Matrix ×
The joint-angle derivatives of the base-spacecraft inertia matrix E −x0i
J0Xi = , (105)
H0 from Equation (28) result in: 03,3 E
×
where
∂H0 03,3 −mtot ∂r 0C
∂q k
= × . (99)
∂qk mtot ∂r0C ∂HS
x0i = xi − p0 . (106)
∂qk ∂qk
When using the generalized form of the equations of motion, a IMPLEMENTATION OF A SIMULATION
[6 × N] generalized Jacobian JX⋆i can be formulated, such that: MODEL FOR A FLOATING
SPACECRAFT-MANIPULATOR SYSTEM
J
ν Xi
J = JX⋆ i q̇. (107) By using the generalized equations in symbolic form introduced
ωi
above, a computer model can be implemented for the simulation
of the floating spacecraft-manipulator system. This computer
Therefore:
model can be based on two implementation approaches, which
we call here full symbolic implementation and partial symbolic
JX⋆ i q̇ = J0Xi ẋ0 + JmXi q̇. (108)
implementation (see Figure 3). The numerical simulation can
thus be run by evaluating at each integration step static functions
Using Equation (42) and assuming M0 = 06,1 , ẋ0 can be containing symbolic expressions, without executing iterative
expressed as: procedures such as the recursive Newton-Euler algorithm as
in the available literature on the subject (refer to, for instance
ẋ0 = −H0-1 H0m q̇. (109) Mukherjee and Nakamura, 1992; Carignan and Akin, 2000). In
the partial symbolic implementation, the numerical values for
The generalized Jacobian is thus defined as: matrices J T J i , J TL i , H0 , H 0m , H m , and H -1
0 are calculated
from their symbolic expressions. These numerical values are then
JXi ∗ = JmXi − J0X i H0−1 H0m (110) used to find the generalized matrices H ⋆ , C⋆ , and J ⋆ . In the full
symbolic implementation, H ⋆ , C⋆ , J ⋆ are calculated directly from
If xi coincides with the position of the end-effector (pE = pN+1 ), their symbolic expressions.
the resulting generalized Jacobian Jacobian defined by Equation The symbolic implementations are easily adaptable to any
(110), for an arbitrary point, becomes the same as the Generalized number of joints and any structure of the kinematic chain of the
Jacobian J ⋆ of the floating manipulator as originally defined by spacecraft-manipulator system.
Yoshida and Umetani (1993). Therefore, the joint rates required
to have the end-effector move at a linear velocity ν E and angular
NUMERICAL SIMULATIONS
velocity ωE can be calculated from:
In order to verify the proposed analytical approach, a simulation
⋆−1 νE model was implemented for two case studies: (1) a planar
q̇ = J (111)
ωE spacecraft-manipulator system with a 4 DOF manipulator,
FIGURE 3 | Pseudo-code structure illustrating the two proposed implementation variants of a floating spacecraft-manipulator system simulation model based on the
Generalized Jacobian approach.
FIGURE 4 | Block diagram of the overall simulated control architecture used for the numerical simulations.
TABLE 3 | Planar spacecraft-manipulator system with four-link manipulator: mass and inertia properties.
Link Mass [kg] Length [m] Width [m] Height [m] Principal Moments-of-inertia [kg m2 ]
as commonly used in ground experimentation of spacecraft- TABLE 4 | Planar spacecraft-manipulator system with four-link manipulator:
manipulator systems, and (2) a spatial spacecraft-manipulator customized Denavit-Hartenberg parameters.
system with a spatial 6 DOF manipulator, similar to the one Joint Denavit-Hartenberg parameters
described in Yoshida’s original discussion of the generalized
Jacobian approach (Yoshida and Umetani, 1993). The simulation d[m] α [◦ ] a[m] b[m]
⋆ ⋆
properties matrices, H̃ and C̃ : TABLE 5 | Spatial spacecraft-manipulator system with six-link manipulator: mass
and inertia properties (Yoshida and Umetani, 1993).
⋆ ⋆
τ = H̃ u + C̃ (q, q˙). (115) Link Mass [kg] Length Principal moments-of-inertia [kg m2 ]
[m]
FIGURE 5 | Planar spacecraft-manipulator system with four-link manipulator: (A) joint rates and the resulting base-spacecraft angular velocity components; (B) joint
angles and the resulting base-spacecraft position deviation.
FIGURE 6 | Planar spacecraft-manipulator system with four-link manipulator: (A) linear momentum; (B) angular momentum.
expanded by the introduction of five categories (namely floating, the paper introduces a full-symbolic implementation and
rotation-floating, rotation-flying, translation-flying, and flying). a partial-symbolic implementation of computer simulation
The authors believe that the adoption of the newly proposed models based on the complete generalized Jacobian approach.
definitions would contribute to increased clarity, advantageous These implementation options allow the development of
to both students and researchers in the field. Furthermore, efficient numerical simulations. Example simulations, for
FIGURE 7 | Spatial spacecraft-manipulator system with six-link manipulator: (A) joint rates and the resulting base-spacecraft angular velocity components; (B) joint
angles and the resulting base-spacecraft position deviation.
a planar four-link spacecraft-manipulator system, and a The description of the geometry of the spacecraft-manipulator
spatial six-link spacecraft manipulator system, show that the system uses DH parameters, which allows complete generality.
modeling approach is effective and consistent with the physical The approach is thus, in principle, extendable to multiple
principles. manipulators with open-chain configuration. A fundamental
FIGURE 8 | Spatial spacecraft-manipulator system with six-link manipulator: (A) linear momentum; (B) angular momentum.
assumption that was used in the description of the kinematics Cartesian joint coordinate systems. While this is a restriction
and dynamics of the spacecraft-manipulator system is that of generality, it also reflects the type of robotic manipulators
of straight links with the center-of-mass of the link being commonly used in orbital robotics systems. Furthermore,
located on the straight line through the origins of the adjacent only rotary joints were considered, since prismatic joints
REFERENCES Hale, W., Lane, H., Lulla, K., and Chapline, G. (2011). Wings in Orbit: Scientific
and Engineering Legacies of the Space Shuttles 1971-2010. Washington, DC:
Aghili, F. (2009). “Coordination control of a free-flying manipulator and its base NASA.
attitude to capture and detumble a cooperative satellite,” in Proceedings of 2009 Ho, J. Y. L. (1977). Direct Path method for flexible multibody spacecraft dynamics.
IEEE/RSJ International Conference on Intelligent Robots and Systems (St. Louis, J. Spacecr. Rockets 14, 102–110.
MO), 2365–2372. Hughes, P. C. (1979). Dynamics of a chain of flexible bodies. J. Astronautical Sci.
Bain, M. E. (2010). “Cygnus: back to the future - applying commercial program 27, 359–380.
lessons learned,” in AIAA SPACE 2010 Conference & Exposition (Anaheim, CA: Hughes, P. C. (2004). Spacecraft Attitude Dynamics. Mineola, NY: Dover
AIAA), 1–8. Publications.
Baksalary, J. K., and Styan, G. P. H. (2002). Generalized inverses of partitioned Kennedy, F. G. (2008). “Orbital express: accomplishments and lessons learned,” in
matrices in Banachiewicz-Schur form. Linear Algeb. Appl. 354, 41–47. Proceedings of the AAS Guidance and Control Conference (Breckenridge, CO:
doi: 10.1016/S0024-3795(02)00334-8 Univelt), 575–586.
Barnhart, D., Sullivan, B., Hunter, R., Bruhn, J., Fowler, E., Hoag, L., et al. (2013). Kuipers, J. B. (2000). “Quaternions and Rotation Sequences,” in Proceedings of the
“Phoenix project status 2013,” in AIAA Space 2012 Conference and Exhibition International Conference on Geometry, Integrability and Quantization (Sofia:
(San Diego, CA: AIAA), 1–17. Coral Press Scientific Publishing), 127–143.
Caccavale, F., and Siciliano, B. (2001). “Quaternion-based kinematic control of Liang, B., Xu, Y., and Bergerman, M. (1998). Mapping a space manipulator to a
redundant spacecraft/manipulator systems,” in Proceedings of the 2001 IEEE dynamically equivalent manipulator. J. Dyn. Syst. Meas. Control 120, 1–7.
International Conference on Robotics and Automation (Seoul: IEEE), 435–440. Longman, R. W., Lindberg, R. E., , and Zedd, M. F. (1987). Satellite-mounted
Campa, R., and Camarillo, K. (2008). “Unit quaternions: a mathematical tool manipulators - new kinematics and reaction moment compensation. Int. J. Rob.
for modeling, path planning and control of robot manipulators,” in Robot Res. 6, 87–103.
Manipulators, ed M. Ceccarelli (Rijeka: InTech), 23–48. Marchesi, M. (1997). “Control strategy of a free-flying space manipulator”, in
Carignan, C.R., and Akin, D. L. (2000). The reaction stabilization of on- Proceedings of the 8th International Conference on Advanced Robotics (ICAR
orbit robots. IEEE Control Syst. Mag. 20, 19–33. doi: 10.1109/37.887446 ’97) (Monterey, CA), 665–670
Cepollina, F.. (2013). Robotic Refueling Mission. NASA (Accessed January Moosavian, S.A.A., and Papadopoulos, E. (2004). Explicit dynamics of space
6, 2014). Available online at: http://www.nasa.gov/mission_pages/station/ free-flyers with multiple manipulators via SPACEMAPLE. Adv. Robotics 18,
research/experiments/778.html. 223–244. doi: 10.1163/156855304322758033
Coleshill, E., Oshinowo, L., Rembala, R., Bina, B., Daniel, R., and Shelley, S. (2009). Moosavian, S. A.A., and Papadopulos, E. (2007). Free-flying robots in space: an
Dextre: improving maintenance operations on the International Space Station. overview of dynamics modeling, planning and control. Robotica 25, 537–547.
Acta Astronaut. 64, 869–874. doi: 10.1016/j.actaastro.2008.11.011 doi: 10.1017/S0263574707003438
Dreyer, L. (2009). “Latest Developments on SpaceX’s Falcon 1 and Falcon 9 Launch Mukherjee, R., and Nakamura, Y. (1992). Formulation of efficient computation of
Vehicles and Dragon Spacecraft,” in IEEE Aerospace Conference (Big Sky, MT: inverse dynamics of space robots. IEEE Trans. Robot. Autom. 8, 400–406.
IEEE). Nakamura, Y., and Mukherjee, R.. (1989). “Nonholonomic path planning of
Dubowsky, S., and Papadopoulos, E. (1993). The kinematics, dynamics, and space robots,” in Proceedings of 1989 International Conference on Robotics and
control of free-flying and free-floating space robotics systems. IEEE Trans. Automation (Scottsdale, AZ: IEEE), 1050–1055.
Robotics Autom. 9, 531–543. Nanos, K., and Papadopoulos, E. (2011). On the use of free-floating space
Flores-Abad, A., Ma, O, Pham, K., and Ulrich, S. (2014). A review of space robots in the presence of angular momentum. Intell. Serv. Robot. 4, 3–15.
robotics technologies for on-orbit servicing. Progr. Aerospace Sci. 68, 1–26. doi: 10.1007/s11370-010-0083-2
doi: 10.1016/j.paerosci.2014.03.002 Nenchev, D.N., and Yoshida, K. (1999). Impact analysis and post-impact motion
Goodman, J. L. (2006). History of space shuttle rendezvous and proximity control issues of a free-floating space robot subject to a force impulse. IEEE
operations. J. Spacecr. Rockets 43, 944–959. doi: 10.2514/1.19653 Trans. Robot. Autom. 15, 548–557.
Nenchev, D.N., Yoshida, K., Vichitkulsawat, P., and Uchiyama, M. (1999). Reaction Ueda, S., Kasai, T., and Uematsu, H. (2010). “HTV rendezvous technique
null-space control of flexible structure mounted manipulator systems. IEEE and GN&C design evaluation based on 1st Flight on-orbit operation
Trans. Robot. Autom. 15, 1011–1023. result,” in AIAA/AAS Astrodynamics Specialist Conference, Guidance,
Oda, M. (2000). “Experiences and lessons learned from the ETS-VII robot satellite,” Navigation, and Control and Co-located Conferences (Toronto, ON: AIAA),
in Proceedings of the 2000 IEEE International Conference on Robotics & 1–12.
Automation (San Francisco, CA: IEEE), 914–919. Umetani, Y., and Yoshida, K. (1989). Resolved motion rate control of space
Papadopoulos, E. G. (1990). On the Dynamics and Control of Space Manipulators. manipulators with generalized Jacobian Matrix. IEEE Trans. Robotics Autom.
Ph.D. Dissertation, Cambridge, MA: Massachusetts Institute of Technology. 5, 303–314.
Patten, L., Evansa, L., Oshinowo, L., Ochisor, M., Kazuharu, N., Lodewijk, A., et al. Vafa, Z., and Dubowsky, S. (1987). “On the dynamics of manipulators in space
(2002). “International Space Station Robotics: A Comparative Study of ERA, using the virtual manipulator approach,” in IEEE International Conference on
JEMRMS and MSS,” in 7th ESA Workshop on Advanced Space Technologies for Robotics and Automation (Raleigh, NC).
Robotics and Automation ‘ASTRA 2002’ (Noordwijk: ESA), 1–8. Wei, R., Jin, M. H., Xia, J. J., , Xie, Z. W., Shi, J. X., and Liu, H. (2006). “High fidelity
Reed, B. B., Smith, R.C., Naasz, B., Pellegrino, J., and Bacon, C. (2016). “The distributed hardware-in-the-loop simulation for space robot,” in Proceedings
restore-L servicing mission,” in AIAA Space Forum (Long Beach, CA: AIAA), of the 2006 IEEE International Conference on Mechatronics and Automation
1–8. (Luoyang: IEEE), 2150–2155.
Reintsema, D., Thaeter, J., Rathke, A., Naumann, W., Rank, P., and Sommer, Wertz, J.R. (1978). Spacecraft Attitude Determination and Control. Boston, MA:
J. (2010). “DEOS - the german robotics approach to secure and de-orbit Kluwer Academic Publishers.
malfunctioned satellites from low-earth orbits,” in Proceedings of International Wie, B. (2008). Space Vehicles Dynamics and Control 2nd Edn. Reston, VA: AIAA.
Symposium on Artificial Intelligence, Robotics and Automation in Space (i- Xu, W., Liu, Y., Liang, B., Xu, Y., Li, C., and Qiang, W. (2008). Non-holonomic
SAIRAS) (Sapporo,: JAXA), 244–251. path planning of a free-floating space robotic system using genetic algorithms.
Roesler, G., Jaffe, P., and Henshaw, G. (2017). Orbital mechanics. IEEE Spectrum Adv. Robot. 22, 451–476. doi: 10.1163/156855308X294680
54, 44–50. doi: 10.1109/MSPEC.2017.7864756 Yoshida, K. (2003). Engineering test satellite VII flight experiments for space robot
Sallaberger, C. (1997). Canadian space robotic activities. Acta Astronaut. 41, dynamics and control: theories on laboratory test beds ten years ago, now in
239–246. orbit. Int. J. Rob. Res. 22, 321–335. doi: 10.1177/0278364903022005003
Sargent, D.G. (1984). “The Impact of Remote Manipulator Structurel Dynamics on Yoshida, K., and Nakanishi, H. (2003). “Impedance matching in capturing a
Shuttle On-Orbit Flight Control,” in 17th Fluid Dynamics, Plasma Dynamics, satellite by a space robot,” in Proceedings of the 2003 IEEE/RSJ Intl. Conference
and Lasers Conference (Seattle, WA: AIAA). on Intelligent Robots and Systems. (Las Vegas, NV: IEEE), 3059–3064.
Sato, N., and Wakabayashi, Y. (2001). “JEMRMS design features and topics Yoshida, K., and Nenchev, D. N. (1998). “A general formulation for under-actuated
from testing,” in Proceeding of the 6th International Symposium on Artificial manipulators,” Eighth International Symposium on Robotics Research (Shonan).
Intelligence and Robotics & Automation in Space: i-SAIRAS 2001 (St-Hubert, Yoshida, K., and Umetani, Y. (1993). “Control of space manipulators with
QC: CSA). generalized Jacobian,” in Space Robotics: Dynamics and Control, eds Y. Xu and
Shoemaker, J., and Wright, M. (2004). “Orbital express space T. Kanade (Boston, MA: Springer), 165–204.
operations architecture program,” in Proceedings of SPIE 5088, Space Systems
Technology and Operations (Orlando, FL), 56–65. Conflict of Interest Statement: The authors declare that the research was
Siciliano, B., Sciavicco, L., Villani, L., and Oriolo, G. (2010). Robotics. London: conducted in the absence of any commercial or financial relationships that could
Springer-Verlag. be construed as a potential conflict of interest.
Stieber, M. E., Trudel, C. P., and Hunter, D. G. (1997). “Robotic systems for the
international space station,” in Proceedings of the 1997 IEEE International Copyright © 2018 Wilde, Kwok Choon, Grompone and Romano. This is an open-
Conference on Robotics and Automation (Albuquerque, NM: IEEE), access article distributed under the terms of the Creative Commons Attribution
3068–3073. License (CC BY). The use, distribution or reproduction in other forums is permitted,
Stoneking, E. (2007). “Newton-euler dynamic equations of motion for a multi- provided the original author(s) and the copyright owner are credited and that the
body spacecraft,” in AIAA Guidance, Navigation and Control Conference and original publication in this journal is cited, in accordance with accepted academic
Exhibit, Guidance, Navigation, and Control and Co-located Conferences (Hilton practice. No use, distribution or reproduction is permitted which does not comply
Head, SC: AIAA), 1–13. with these terms.
coordinate system origin between system A and system B x0i = position vector from CM0 to an arbitrary point on link i
T = kinetic energy Xi = arbitrary point on link i
τmax,i = maximum motor torque for joint i xi = position vector from to an arbitrary point on link i
BT
A = [4 × 4] homogenous transformation matrix from the DCM = Direction-Cosine Matrix
coordinate system A to the coordinate system B DEM = Dynamically Equivalent Manipulator
u = [N × 1] matrix of control inputs for Computed Torque DH = Denavit-Hartenberg
Control DOF = Degree of Freedom
v0 = linear velocity of the base-spacecraft with respect to the EE = End-Effector
inertial frame J ETS-VII = Engineering Test Satellite VII
vE = linear velocity of the end-effector with respect to the inertial GJM = Generalized Jacobian Matrix
frame J HTV = H-II Transfer Vehicle
vXi = linear velocity of arbitrary point Xi located on link i of the ISS = International Space Station
manipulator with respect to the inertial frame J JEMRMS = Japanese Experiment Module Remote Manipulator
Jx =
0 [6 × 1] combined position matrix of linear position System
components and attitude parameters of the base-spacecraft, PD = proportional-derivative controller
iT
SPDM = Special Purpose Dexterous Manipulator
h
(J xb = J r0 T φ θ ψ )
SRMS = Shuttle Remote Manipulator System
J ẋ
0 = [6 × 1] combined velocity matrix of linear velocity VM = Virtual Manipulato.
components and angular velocity components of the base-
spacecraft,
T T
h iT 1 0 − sin θ φ̇
(J ẋ0 = J v0 T J ω0 T = J v0 T 0 cos φ cos θ sin φ θ̇ )
0 − sin φ cos φ cos θ ψ̇