Edited by:
Yangsheng Xu
Takeo Kanade
Carnegie Mellon University
.....
"
SPRINGER SCIENCE+BUSINESS MEDIA, LLC
Library of Congress CataloginginPublication Data
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 285
Preface
Robotic technology offers two potential benefits for future space exploration. One
benefit is minimizing the risk that astronauts face. In the inhospitable environment
of space, humans must work under extreme temperature, glare, and possibly high
levels of radiation. The other benefit is increasing their productivity. Extra
vehicular activity (BVA) consumes considerable time and can require a load handling
capacity and dexterity exceeding human capability.
Realizing the benefits of robotic technology in space will require solving several
problems. Some of them are unique and now becoming active research topics. One
of the most important research areas is dynamics, control, motion and planning for
space robots by considering the dynamic interaction between the robot and the base
(space station, space shuttle, or satellite). Due to the dynamic interaction, the
motion of space robots can alter the base trajectory. On the other hand, the robot
endeffector may miss the desired target due to the motion of the base. This mutual
dependence severely affects the performance of both the robot and the base,
especially when the mass and the moment of inertia of the robot and payload are not
negligible in comparison to the base. any inefficiency in the planning and control
can considerably risk the success of the space mission.
The final papers address control problems of space robots. Yoshida and Umetani
propose a resolved rate and acceleration control based on the Generalized Jacohin
Matrix of a space robot, and then discuss the use of the control scheme i the capture
of stationary and moving objects. Masutani, Miyazaki, and Arimoto address feed
back control problems of a space robot system. The paper by Xu, Shum, Lee, and
Kanade presents an adaptive control scheme for a space robot system in the presence
of uncertainty. The paper also discusses the parameterization nonlinearity in terms
of the dynamic parameters of a space robot in inertia space. The last paper by
Ullman and Cannon provides an experimental study in autonomous navigation and
control of multiple freeflying space robots.
Yangshmg Xu
Takeo Kanade
SPACE ROBOTICS:
DYNAMICS AND CONTROL
Kinematic and Dynamic
Properties of an Elbow
Manipulator Mounted on a
Satellite
Abstract
The discussion in this paper is intended as an introduction to several topics treated in
various forms or extensions in the other papers in this issue. Many applications of robots
in space require the robot to manipulate a load mass that is not negligible compared to
the satellite on which the robot is mounted. In such cases, the robot motion disturbs the
position and attitude of the satellite, and this in turn disturbs the robot endeffector posi
tion. This implies that the robot joint angles that would normally be commanded to pro
duce a prescribed robot endeffector position and orientation will result in missing the
target. In this paper an overview is given of certain engineering problems arising from
this phenomenon. The robot endeffector positioning problem is discussed for the two
cases of the satellite attitude control system either off or on, and computation of the robot
motion disturbances to the satellite is discussed. Shuttle Remote Manipulator System
based examples are given.
Introduction
When a robot manipulator is mounted on a satellite, there is an interaction be
tween the robot dynamics and the dynamics of the satellite. This raises several
questions: What happens to the problem of commanding the robot to go to some
desired position, when the base on which the robot is mountedi.e. the satel
litedoes not stay in a fixed inertial position? And, conversely, what happens to
Iprogram Manager, Orbital Sciences Corporation, Fairfax, VA 22033; formerly, Head, Concept
Development Branch, Spacecraft Engineering Department, Naval Research Laboratory, Wash
ington, D.C. 20375.
2Expert Consultant, Naval Research Laboratory, Washington, D.C. 20375; also, Professor of Me
chanical Engineering, Columbia University, New York, NY 10027.
JAerospace Engineer, Spacecraft Engineering Department, Naval Research Laboratory, Wash
ington, D.C. 20375.
The Journal of the Astronautical Sciences, Vol. 38, No.4, 1990, pp. 397421. Copyright © 1990
by the America Astronautical Society Inc., reproduced here with kind permission of the America
Astronautical Society, Inc.
2
the satellite position and orientation as a result of the robot motion? These ques
tions are important whenever the mass or the inertia of the object manipulated
by the robot is not totally negligible compared to the mass or the inertia of the
spacecraft.
Concerning the first question, two different situations can apply. In one case,
the satellite is totally free to both translate and rotate as a result of the robot mo
tion disturbances. In the other case, there is an active attitude control system
that maintains the satellite attitude relative to inertial space by applying appro
priate corrective torques, but the satellite center of mass is still free to translate
in response to robot force disturbances. One can of course imagine still a third
alternative in which the satellite includes some kind of active position control
system, that can make the satellite into an inertial platform for mounting the
robot by cancelling robot force disturbances as well as torque disturbances. This
would be an unusual satellite, but such systems may be necessary to maintain the
microgravity environment in multiuser satellites.
The main purpose for this paper appearing in this special issue on Robotics in
Space is to serve as an introduction to many of the salient features of satellite
mounted robot problems. The main topics discussed are listed below, and the
summary at the end of the paper indicates how these topics are treated or ex
tended in other papers in the issue:
1. Robots mounted on satellites that are free to both translate and rotate are
discussed and illustrated by an illuminating example. It is shown that the
position of the robot endeffector is no longer just a function of the present
robot joint angles, but rather a function of the whole history of the joint
angles. This causes the usual forward and inverse kinematics problems in
robotics to become problems with a totally different character. Reference
[1], which is in this issue, coins the terms forward kinetics and inverse ki
netics for these new problems.
2. When the satellite attitude is maintained by an attitude control system dur
ing a robot maneuver, or when the attitude is reacquired at the end of a
robot maneuver, the forward and inverse kinematics problems are still
kinematics problems in which the endeffector position is purely a function
of the final robot joint angles. However, a new kinematics must be used to
account for the translational motion of the satellite, or robot base, associ
ated with the motion of the centers of mass of each robot link and the robot
load mass. The Remote Manipulator System mounted on the Shuttle is used
as a model for developing this spacebased kinematics. The development
parallels that of the earlier paper [2] dealing with a polar coordinate robot,
and was presented in full detail in the conference version of this paper
which appeared as reference [3].
3. The need to use more than one form of kinematics on orbit is discussed. In
some situations, one uses the standard kinematics, and in other situations
one uses the new spacebased kinematics with various required reinitializa
tions during maneuvers. Use of matching conditions to convert between
different sets of kinematic equations is also summarized.
3
4. The above topics relate to the effect of motion of the satellite robot base
on the robot endeffector positioning problem. The effect of robot motion
on the satellite is also discussed, with a summary of how one can compute
the torque and force disturbances of the robot on the spacecraft. This has
application to questions of sizing of actuators, and can be used as feedfor
ward commands in the attitude control system.
Finally, examples of manipulation of a load with the Shuttle Remote Manipu
lator System are given.
An Illustrative Example
Here we demonstrate the dependence of the endeffector position on the history
of the robot angles using an example which is simple enough that one's intuition
can predict the behavior. However, the underlying mathematics is also presented,
which gives some sense of the complexity of the general problem.
Consider a simple two link robot mounted on a satellite as shown in Fig. 1. For
simplicity, we consider that the satellite is a onedimensional distribution of mass,
that the second link of the robot has inertial properties identical to those of the
satellite, and that the first robot link is massless. The joint axes are shown in
Fig. 1 with joint variables <PI and <P2, which both assume the value zero when the
robot links are as in Fig. 1. Note that <PI is the angle of rotation of robot link 1
relative to the satellite.
For a robot with an inertially fixed base, the statement that <PI = <P2 = 180 0
Robot First
Link Robot
Second
Link
Satellite
Inertial
Coordinates
FIG. 1. Three Stick SatelliteRobot System.
Initial Configuration
where f. is the distance from the joint to the center of mass of the satellite, fr is
the distance to the robot center of mass, and ms and m, are the satellite and
robot masses. For the example considered, m. = mr = m and fs = f, = f.
In order to get attitude information, we need to generate an angular momen
tum integral of the motion. Since there are no external applied torques on the
system, the total system angular momentum H about the system center of mass is
a constant vector in inertial space. Before the robot maneuver starts, we assume
that the inertial satellite attitude is fixed, so that there is no system angular mo
mentum and the constant vector is then the zero vector.
The angular momentum of each body about the system center of mass is the
dot product of the inertia dyadic of the body about the system center of mass,
with the angular velocity of the body:
(2)
where!" and !,C are the inertia dyadics of the robot second link, and the satel
lite, respectively, about the system center of mass, and W'i and w Si are the robot
second link and the satellite inertial angular velocities. Note that w ri = wrs = w Si
where wrs is the angular velocity of the robot link 2 with respect to the satellite.
Then
COS 8 z cos 8 3
sw si = [ cos 8 2 sin 8 3 (3)
sin 82
7
'w" = [*
~l
sin
cos
~2l
~2
(4)
[
WI
"j
'W~i
1= 0
2 'W~i + 4>.
(9)
where the sine and cosine functions have been abbreviated sand c respectively.
From equation (9) we conclude that 'W{i = sW~i = 0 and sW~i = ~/2. From
equation (3)
clJzclh
[ cOzs(h (10)
sOz
8
. .
which is a differential equation with a solution 81 = 81 = 0, 8z = 82 = 0, and
iJ 3 = ~ 1/2. Therefore, as 4>1 goes from 0° to 1800 with 4>2 = 0, 83goes from 00 to
_900 with 8 1 and 82 remaining zero, to give the satellite orientation shown after
the first rotation on the left side of Fig. 2.
The same process applied to the second stage of t~e maneuver, when 4>1 = 180 0
and 4>2 is rotated from 00 to 1800 producing 'wIi = <1>212 and 'W~i = 'W~i = O. The
equation corresponding to equation (10) produces ~(t) = ~(t)/2 with 8 1 =
83 = 0, so that 82 goes from 00 to 900 as 4>2 goes from 0° to 180°, to obtain the
final configuration for Maneuver No.1 in Fig. 2. The results for Maneuver No.2
are obtained similarly.
Discussion
The above example shows that in spite of the fact that the satelliterobot sys
tem has zero total angular momentum, it is still possible to accomplish a net ro
tation of the entire system as if it were a rigid body. One can see this by
considering using Maneuver No. 1 and follow it by Maneuver No. 2 done in re
verse, in order to get back to the initial robot joint angles. Although the robot is
back to its original position relative to the satellite, the satelliterobot system has
rotated, and this rotation has been accomplished with zero system angular mo
mentum. This is always possible as demonstrated in [1]. A common example of
this phenomenon is the ability of a cat, when dropped upside down, to turn over
before landing.
We will see the same phenomenon in a somewhat disturbing example in [5] in
this issue. There it is demonstrated that structural vibrations in a typical large
light weight robot such as the Shuttle RMS will usually produce torques on the
satellite that try to tumble the satellite after the robot maneuver is over, due to
stored angular momentum in the vibrations which must be cancelled by angular
momentum of the spacecraft.
Alexander and Cannon, in [6] in this issue, perform ground based experiments
that use an air table to allow free translation and rotation of the satellite in the
plane of the table. In space, satellite rotational motion is restricted to a plane
only under very specialized situations involving rotation about principal axes of
both the satellite and robot, and requiring appropriate restrictions on the center
of mass locations. However, even the planar air table problem is sufficiently rich
to exhibit dependence of both the satellite attitude and the endeffector position
on the history of the joint angles. In this case, the phenomenon can be under
stood in terms of the robot's ability to present to the satellite different robot iner
tias about the base joint axis. For example, with the arm extended, consider
rotating it in the table plane 1800 relative to the satellite, then pulling the arm
inward to reduce its inertia, and rotating back to the original angle relative to
the satellite. The arm is then extended to its original length. This will produce a
net rigid body rotation of the spacecraft and robot system.
The illustrative example in the last section made the reasonable assumption
that the satelliterobot system has zero angular momentum in inertial space. In [1]
this assumption is used to obtain three first integrals of the motion, and greatly
simplify the forward kinetics problem. One can imagine situations in which, for
example, the Shuttle is in an Earth pointing configuration and therefore rotating
9
once per orbit. Such a nonzero system angular momentum will produce centri
fugal and coriolis forces that depend on the path taken to the final robot joint
angles. This further complicates the forward and inverse kinetics problems.
with a5
Body 1
e,'1
0 rig
··In
Colocated
J;'O
3
e~
with e', &2 e~
FIG. 3. Coordinate Frames for the Elbow Manipulator.
11
Standard Kinematics
The standard forward and inverse kinematics for this elbow manipulator is
discussed first. This serves as a basis for the spacebased kinematics developed
later, and it is also needed for certain space robot operations as discussed below.
Consider first the forward kinematics problem of determining the location
and orientation of the endeffector given the robot joint angles. Let Ai be a ho
mogeneous transformation from coordinate sytem i to j  1• Then the six homo e e
geneous transformations between adjacent bodyfixed coordinate frames for our
manipulator are
1 0 0 0 0
~l ~ lA, [~
0
1
CI SI
SI Cl 0 0 C2 S2 C3 S3 £2
AI=
0 0 1 A, = 0
o
~
S2 C2 = S3 C3
0 0 0 0 0 0 0 0
(11)
n
1 0 0 C5 S5 0 0 S6
fJ OJ [ C,0
0 C4 S4 S5 C5 0 A6 1 0
A4 = 1
£4
o
=
0
0 S4 C4 A, = 0 0 S6 C6
0 0 0 0 0 0 1 0 0 0
Here, the terms Cj and Sj, i = 1, ... ,6 are convenient shorthand for cos OJ and
sin OJ respectively. The transformation from e6to eO can be written
[n,
ny
Ox
Oy
a,
ay py
P,]
T6 = A1A2A 3 A 4 A 5A 6 = nz a z pz
(12)
Oz
0 0 o 1
Substitution of equations (11) into equation (12) will yield the trigonometric ex
pressions for the elements of T6• The forward kinematics are completely speci
fied; that is for a given set of joint angles, the position and orientation of the 6 e
coordinate system in the eO coordinates is given by Tfi •
12
The inverse kinematics problem may be stated: find a set of joint angles that
will produce a given desired position and orientation of the endeffector (or
equivalently, the e6frame), specified in eO coordinates. The desired position and
orientation can be specified by the vectors n, 0, a, and p of equation (12), and so
the task is to invert equations representing each of the 12 terms to find a set of
six angles fJ j • Following the inversion procedure developed in reference [7], the
solution to the inverse problem is
0) ;;:;: ATAN2(  p.,py) or fJ) = ATAN2(px,  py) (13)
Ol ;;:;: Om  03  fJ 4 (14)
cos 03 ;;:;: (p;2 + p;2  e~  e~)/(2e2e3) (15)
fJ 4 ;;:;: ATAN2[ t'2S3P; + (t'lC3 + t'3)P;, (t'lC3 + (3)P; + f 2s3P;] (16)
fJ s ;;:;: ATAN2(c)ox  StOy, StC2340x + ClCl340y + S2340z) (17)
and
06 = ATAN2[ S234(s)nx  c)ny)  C234n" S234(s)a x  Clay) + C234azl
(18)
where
and
6 234 = ATAN2(o" OxSI + OyCt) or 6 234 = ATAN2(0" OxS)  Oyc)
(21)
The FORTRAN function ATAN2 has been used here to indicate an arctangent
of two arguments. Also S234 and Cm are shorthand for the sine and cosine of 6234 .
The trigonometric ambiguities inherent in equations (13), (15), and (21) are re
solved by restricting the rotation of the associated robot joints. For our robot, we
choose rr/2 < fJ t < rr/2, 0 < 0234 < rr, and rr/2 < fJ 3 < rr/2, as a sufficient
set which should keep the elbow of the arm above the Shuttle bay for most opera
tions. A complete development of equations (13)(21) is included in the confer
ence version of this paper, reference [3].
SpaceBased Kinematics
Now consider the same robot mounted on a satellite whose attitude is fixed.
The terminal position of the endeffector in inertial space will depend on the
translation experienced by the basebody, and so we must keep track of the posi
tion of the center of mass of each link in the manipulator. To this end, we define
a number of vectors as shown in Figs. 5 and 6. First, the inertial coordinates i are
chosen such that when the manipulator is in the home position, the origin is at
the center of mass of body 0 and the axes are parallel to all of the body axes in
this configuration. With moment compensation then the center of mass of body
13
~
( 1=0 mi)Rcs = ±±
1=0
mi(
J=o
rei) (22)
where mi is the mass of the ith body (body 7 is the payload); Res: {Res!' R cs2 , R es3 }
is the system center of mass location relative to the inertial origin in inertial co
ordinates, and rej is the location of the center of mass of body j relative to the
center of mass of body j  1. (The vector r cO must be defined separately as the
location of the body 0 center of mass relative to the inertial origin; in Figs. 5 and
6 this is also the vector R.) Define rq to be the vector from the body 0 center of
14
Load eM
.':L 1
"
Body 6 eM
eM
Origin ~o frame
\v q

Body 2 eM
Body 3 eM
Body 1 eM
~Satellite eM
mass to the eO origin and d; to be the scalar distance from the ei origin to the
center of mass of body i. We can now explicitly define the rei as illustrated in
Fig. 6:
reO =R (23)
rei = rq + d,eg (24)
re2 = d,e~ + d2e~ (25)
rc3 = (C2  d2)e~ + d3e~ (26)
re4 = (C 3  d 3)ei + d4ei (27)
reS = (C 4  d4 )ei + dsei (28)
re6 = (d 6  ds)ei (29)
re7 = rL (30)
e
Here, the components of rL: {rL!' rL2, rL3} are specified in 6 coordinates. To ex
pand equation (22) in its components, we must first express each of the unit vec
tors in components on eO. That is, from equations (11) we can write
e~ = s,c2e~ + clczeg + s2e~ (31)
e~ = S,C23e? + C,C23eg + s23e~ (32)
e~ = slc234e~ + C1C234eg + s234e~ (33)
15
+ m6Xq6 + m7xqd
R2 = Res2  (l/m07)[m17rq2 + (m2d2 + m3Se2)cIC2+ (m 3d3 + m 4S e3)CIC23
+ (m4d4 + m Se 4)C1C234 + (msd s + m 6d6)( 81Ss + CIC234CS)
+ m6Yq6 + m7yqd
R3 = Res3  (l/mo7)[m17rq3 + midI + (m2d2 + m 3Se2)S2 + (m 3d3 + m 4S ( 3)S23
+ (m 4 d4 + m S( 4)S234 + (msd s + m6d6)s234CS + m6zq6 + m7zqd (37)
Application of this result into equation (35) yields the position we wish to know
in inertial space and so the forward kinematic solution is complete.
To begin the inverse kinematics, we first establish some important notation.
We seek the set of joint angles which produce a specific inertial position and ori
entation of the payload. Because the payload is attached in a known manner to
the last link of the manipulator, we can assume equivalently that the inertial po
e
sition and orientation of the 6 axes have been specified. This position and orien
tation can be specified via the values of the elements of the matrix
16
(38)
(39)
Here, the vectors n, 0, a and p are functions of the joint angles and the vector rq
is a constant of the manipulator geometry. To obtain expressions for the compo
nents of R: {RI, R z, R3}, we could begin with equation (37), but the components
of Rq6 and RqL are not known in terms of the joint angles. The inertial positions
e
of the payload and of the 6 origin, RL and R 6 , are known however, and from
these we can develop expressions for Res and R e6 , the inertial positions of the
centers of mass of links 5 and 6, respectively. We have
and so equation (22) can be expanded into component equations which can be
solved for the components of R. These can then be used to complete equa
tion (39). By equating the functions represented by the elements of the right side
of equation (38) with the numerical values in the matrix of equation (37), we can
solve the new inverse kinematics problem. The resulting solution is
and
where
£6 = (l/m06)(m07Rcsi + mOrqI  msazids  m6aZId6  m7xd (48)
Y6 = (l/m06)(m07 RCs2 + mOrq2  msa22d s  m6azzd6  m7yd (49)
26 = (1/mo6)(mo7Res3 + mOrq3  mIdI  mSa23dS  m6a23d6  m7zd (50)
qy = [(£6  X6)SI  (Y6  Y6)Ct]C234  (26  Z6)S234  (m04C4  m4d4)
(51)
qz = [(£6  X6)St  (Y6  Y6)C I]S234 + (26  Z6)C234 (52)
Cz = mozC z  m 2d z (53)
and
(54)
With the same set ofrestrictions on the ranges for 8[, 8 234 and 83 as in the previ
ous section, the new inverse kinematics solution is complete. Again, we refer the
reader to the conference version of this paper for full detail in the development
of the solution [3].
The Choice of Kinematics to use in Space and the Matching Conditions
Whenever the robot arm is being commanded to go to a position prescribed in
inertial space, one must use the spacebased kinematics of the previous section.
During this operation one monitors the position of the center of mass of the
satellite in inertial space. Once the robot arrives at this position it may grasp a
massive load or release such a load. This either adds or subtracts mass from the
satelliterobot system, and requires recomputation of the new system center of
mass position relative to the spacecraft. At the time a mass is grasped or released
one knows the R t , R z, R3 giving the satellite center of mass position, and hence
one can use equation (37) to solve for the system center of mass position Rot,
Rcsz, Res3 with the load mass added or deleted. Once this is determined, one per
forms any desired maneuver using equations (37) to monitor the R I, R z, R3 values.
If the manipulator arm is to be used to go to a point in the Shuttle bay and
grasp a load attached to the Shuttle, then during this operation one uses standard
kinematicssince the desired endeffector position is not given in inertial space
but rather relative to the satellite base coordinates. However, during this motion
the system center of mass moves relative to the Shuttle, and this motion must be
monitored by the equations of the previous section, in order to be able to give
subsequent position commands in inertial space. Once the load in the Shuttle
bay is grasped, the Shuttle mass must be decreased, and the robot load mass must
be increased accordingly in order to either use spacebased kinematics during
the next maneuver, or to monitor the center of mass location for later space
based kinematics use.
Note that the computations assume that the load grasped in each case has no
rotational or translational momentum to impart to the system. It is also assumed
that there are no reaction wheels or other instruments on the grasped load that
store angular momentum and produce gyroscopic reaction forces.
18
of the base joint. The reaction moment feedforward command Mr to cancel the
attitude disturbances is computed as follows:
(55)
where M: and Fs are the moments and forces exerted by the satellite on the
robot through the base link when the satellite is f\ee to translate but not to ro
tate. The moments are about point b at the centd of the bearings of the base
joint, and rb is a vector from the satellite center of mass to b. A corollary in
reference [1] establishes that the M: and Fs can be obtained in terms of the cor
responding moments and forces that would exist if the robot base were inertially
fixed, Mj and Ft, using
°d2R
M: = Mj + [mo7(R cs  R)  m17rb] x dt 2 (56)
(57)
where the presuperscript 0 on the derivative indicates vector differentiation in
the eO frame. It remains to find Mj and Ft which can be done without a full dy
namic analysis of the robot by using the equations
7 ° 2 i
Mj = 2: {miPci x ddt~ci + dd (lCi . "jO) + "jO X (!Ci . cJO)} (58)
I~ t
(59)
derived in reference [1]. Here pci is the vector from point b in the center of the
bearings of the robot base to the center of mass of the ith link, "j0 is the angular
velocity of body i with respect to the inertially oriented body 0 coordinates, and
!ci is the inertia dyadic of body i about its center of mass.
These results are derived and generalized in [5] in this issue to include the
extra disturbing effects produced by structural vibrations in the robot. It is seen
that the usual effect of such vibrations is to produce disturbance torques that do
not average to zero, and hence try to tumble the spacecraft.
Shuttle 0 4590.
Pedestal 1 1.00 0.50 2.2
Upper Arm 2 20.92 10.46 9.545
Lower Arm 3 23.16 11.58 5.988
Wrist Pitch 4 1.50 0.75 0.581
Wrist Yaw 5 2.50 1.25 3.147
Wrist Roll 6 2.17 3.585 3.097
Payload 7 7.02 (from 1088.
the i 6 origin)
_  .. . e
o T 2T 3T 4T 5T
Time
A position x speed v acceleration
FIG. 7. Joint Variable Paths for the Example Maneuver (Not to Scale}.
80
70
60
50
40
,.....
01 30
411
3. 20
c: 10
a
~.,a 0
0
... 10
.Q 20
:I
01
c: 30
«
40
50
60
70
80
0 40 80 120 160 200 240 280 320
Time (sec)
6 stationary bose 4 translating base
80
70
60
50
40
,..... 30
.,01
20
3. 10
c
0
~
'iii 10
a
0
... 20
.Q 30
:I
'"c:
« 50
40
60
70
80
90
100
0 40 80 120 160 200 240 280 320
TIme (sec)
6 stationary base B translating base
FIG. 9. Positions of the Manipulator's Pitch Joints: 0" 0), and (J4,
23
50
40
30
,....
...
~
... 20
GI
U
c 10
.....,a
is 0
10
20
30
0 40 80 120 160 200 240 280 320
TIme (sec)
.!r stationary base ~ translating base
FIG. 10. Center of Mass Translations of the Payload (Relative to Body Frame).
12
11 __   R
10
9
8
7
6 ~y
5
,.... 4
...
~
3
...u 2
1
c
.....,a 0
is 1
2
3
4
5
6
7
8
9
10
z
0 40 80 120 160 200 240 280 320
Time (sec) __
x y Z mag R
duction to topics which are treated in more detail, or extended, in other papers
in the issue. These topics include:
1. Positioning of the robot load when the satellite attitude control system is
off. Alexander and Cannon [6] perform ground based experiments on an air
table and consider control law formulation for such a planar version of this
problem. Longman [1] coins the terms forward kinetics and inverse kinetics,
and gives one feasible solution among an infinite number of solutions to the
difficult inverse kinetics problem. Vafa and Dubowsky [4] in a parallel devel
opment, the virtual manipulator approach, generate a more practical numeri
cal approach to solving this inverse kinetics problem. The robot workspace is
discussed in [1]. The forward kinetics problem is a multiple rigid body dynam
ics problem. Reference [9] by Rosenthal, is an example of dynamic modelling
of robots with careful attention to minimizing the numerical complexity of the
model. Such optimization becomes increasingly important when the large
number of new centrifugal and coriolis terms for each body are introduced be
cause of the rotational and translational freedom of the robot base, i.e. the
satellite.
2. The second topic discussed is the positioning of the robot load when the
attitude control system is operatingwhich we have called the spacebased
forward and inverse kinematics problems. With the Shuttle Remote Manipula
tor System in mind, these spacebased kinematics problems are solved for a
satellite mounted elbow robot. The approach taken parallels the first work on
spacebased robot kinematics, given by Longman, Lindberg, and Zedd [2].
The virtual manipulator approach of Vafa and Dubowsky [4] also addresses
this problem.
3. The need to use spacebased kinematics for some robot operations in
space, and to use the standard kinematics for other operations is discussed. In
addition, the need to reinitialize the spacebased kinematics each time a load
is grasped or released is treated. A more complete treatment of this issue is
found in Longman, Lindberg, and Zedd [2].
4. Finally, the disturbances to the robot attitude produced by robot motion is
discussed, following [2]. This same topic appears in Mah, Modi, Morita, and
Yokota [10] in relation to the Mobile Remote Manipulator System for the
Space Station. Vafa and Dubowsky [4] take this one step further, and seek
robot trajectories that minimize satellite attitude disturbances.
Space based robots will usually be large and exhibit significant structural flexi
bility, because of the need for a large work space, and the need for a light weight
design. Cetinkunt and Book [11] address control issues for flexible manipulators.
In Longman [5], flexibility in satellite mounted robots is shown to generally pro
duce vibrations at the end of a robot maneuver that try to tumble the spacecraft.
The method of computing the robot motion induced attitude disturbances dis
cussed in [2] and in this paper are generalized in [5], where it is seen that the
robot vibrations generally do not give a zero average disturbing torque to the
spacecraft, but instead include a secular term.
25
References
[1] LONGMAN, R.W. "The Kinetics and Workspace of a SatelliteMounted Robot," The
Journal of the Astronautical Sciences, Vol. 38, No.4, OctoberDecember 1990, pp. 423440.
[2] LONGMAN, R.W., LINDBERG, R. E., and ZEDD, M. F. "SatelliteMounted Robot Ma
nipulatorsNew Kinematics and Reaction Moment Compensation," The International Jour
nal of Robotics Research, Vol. 6, No.3, Fall 1987, pp. 87103; also, Proceedings of the AIAA
Guidance, Navigation and Control Conference, Snowmass, Colorado, August 1985, pp. 278
290.
[3] LINDBERG, R. E., LONGMAN, R.W., and ZEDD, M. F. "Kinematics and Reaction Mo
ment Compensation for a Spaceborne Elbow Manipulator," Paper No. AIAA860250,
AIAA 24th Aerospace Sciences Meeting, Reno, Nevada, January 1986.
[4] VAFA, Z., and DUBOWSKY, S. "On the Dynamics of Space Manipulators Using the Vir
tual Manipulator, with Applications to Path Planning," The Journal of the Astronautical Sci
ences, Vol. 38, No.4, OctoberDecember 1990, pp. 441472.
[5] LONGMAN, R.W. ')\ttitude Tumbling Due to Flexibility in SatelliteMounted Robots," The
Journal of the Astronautical Sciences, Vol. 38, No.4, OctoberDecember 1990, pp. 487509.
[6] ALEXANDER, H. L., and CANNON, Jr., R. H. ')\n Extended OperationalSpace Control
Algorithym for Satellite Manipulators," The Journal of the Astronautical Sciences, Vol. 38,
No.4, OctoberDecember 1990, pp. 473486.
[7] PAUL, R. P. Robot Manipulators: Mathematics, Programming, and Control, The MIT Press,
Cambridge, Massachusetts, 1981, Chapters 2, 3.
[8] SNYDER, W. E. Industrial Robots: Computer Interfacing and Control, Prentice· Hall, Inc.,
Englewood Cliffs, New Jersey, 1985, pp. 183187.
[9] ROSENTHAL, D. E. ')\n Order n Formulation for Robotic Systems," The Journal of the
Astronautical Sciences, Vol. 38, No.4, OctoberDecember 1990, pp. 511529.
[10) MAH, H.W., MODI, V. J., MORITA, Y, and YOKOTA, H. "Dynamics During Slewing
and Translational Maneuvers of the Space Station Based MRMS," The Journal of the Astro
nautical Sciences, Vol. 38, No.4, OctoberDecember 1990, pp. 557579.
[ll] CETINKUNT, S., and BOOK, W. 1. "Flexibility Effects on the Control System Perfor·
mance of Large Scale Robotic Manipulators," The Journal of the Astronautical Sciences,
Vol. 38, No.4, OctoberDecember 1990, pp. 531556.
The Kinetics and Workspace of
a SatelliteMounted Robot 1
Richard W. Longman 2
Abstract
Satellitemounted robots are considered that manipulate loads whose masses are not
negligible compared to the satellite mass. In this paper the satellite attitude control sys
tem is considered to be turned off, as is often done on the space shuttle during Remote
Manipulator System operation. Thus the satellite is considered to be free to not only
translate, but to rotate in reaction to robot motions. Three basic topics in robotics, the
forward kinematics, the inverse kinematics, and the robot work space, are all generalized
here for satellitemounted robots. The generalized version of the forward kinematics
problem has become a dynamics problem with the property that the robot load position at
the end of a maneuver is not just a function of the final joint angles, but of the whole his
tory of the joint angles instead. For this reason, the new terms forward kinetics and in
verse kinetics have been coined here. An interesting property of the inverse kinetics
problem is that one not only specifies the desired load position and orientation, but one
can choose any desired final satellite attitude as well. One complete solution to the very
complex inverse kinetics problem for six degreeoffreedom satellitemounted robot ma
nipulators is presented. The robot workspace is also generated, and found to be a perfect
sphere whose radius is a function of the load mass. Comparison of the freeflying satellite
robot workspace to that of a robot mounted on an attitude fixed satellite, and to an iner
tially mounted robot, shows that it is usually larger than either one.
Introduction
When a robot is mounted on a satellite rather than on an inertially fixed base,
the process of manipulating the load at one end of the robot can cause the base
of the robot, i.e. the satellite, to translat~ and rotate. In three previous papers
[13], the author and coworkers studied this problem when the satellite attitude
is being maintained by an attitude control system. Reference [4] in this issue,
and the references therein, present a related development.
The importance of these satellitemounted robot problems is evident when one
considers that the shuttle Remote Manipulator System (RMS) is rated for carry
IThe research reported here was funded by the Naval Research Laboratory, Aerospace Systems
Division, Washington, D.C. 20375, and a preliminary form of the work appears in the Proceed
ings of the 1988 AIAA Guidance, Navigation and Control Conference, Minneapolis, Minnesota,
August 1988, pp. 374381.
2 Consultant, Naval Research Laboratory, Washington, D.C. 20375; also, Professor of Mechanical
Engineering, Columbia University, New York, NY 10027.
The Journal of the Astronautical Sciences, Vol. 38, No.4, 1990, pp. 423440. Copyright © 1990
by the America Astronautical Society Inc., reproduced here with kind permission of the America
Astronautical Society, Inc.
28
ing loads whose mass approaches half that of the shuttle itself. Looking into the
future, one finds artist conceptions of astronauts in small capsules with robot
arms attached, manipulating long beams and truss structure elements in the pro
cess of assembling large space structures in orbit.
This paper is concerned with the casc of a robot mounted on a satellite whose
attitude control system is not in operation. This is realistic in the sense that the
RMS is often operated with the attitude control system off, to prevent sudden
jerks of the robot end point, and possible resulting collisions, when an attitude
correction is made. It is also important to note the result obtained here that indi
cates that without the attitude control system maintaining attitude, the robot
work space becomes much larger.
For purposes of simplicity, the first problem considered here is one of position
ing a point mass load at the end of a three degreeoffreedom elbow type manipu
lator, with certain additional simplifying assumptions. The problem is then fully
generalized to handle six degreeoffreedom manipulation of a rigid body load.
The robotsatellite system is considered to be initially at rest in inertial space
with zero inertial angular velocity. In spite of what to some may appear as a con
tradiction with conservation of angular momentum, it is shown here that it is
possible to orient the arm in any desired way on the spacecraft, and simulta
neously orient the spacecraft in any desired way, purely by motion of the
robot arm.
The equivalent of the ground based forward and inverse kinematics are studied
for this satellitemounted robot. It is found, as suggested in [2], that in the atti
tude free satellitemounted case, these problems are no longer kinematics prob
lems, but rather dynamics problems. The satellite attitude and hence the inertial
position of the robot endeffector, is not just a function of the present robot joint
angles, but a function of the whole history of these joint angles. The equations to
be solved for this new forward kinetics problem are derived, and one feasible so
lution among an infinite number of possible solutions is obtained for the new
complicated inverse kinetics problem.
The workspace for the attitude free satellitemounted robot is developed, and
found to be a perfect sphere. The workspace is load dependent, shrinking as the
load increases. It is shown that the workspace is larger than for the attitude fixed
satellite case, and that the workspace can be larger in volume than the robot
with an inertially fixed base.
The Relationship Between Robot Motion and Satellite Attitude
Figure 1 shows an arbitrary satellite (body 0) and a three link (bodies 1,2,3)
robot for positioning a point mass load. This section is devoted to finding the dy
namic equations of motion that determine the satellite orientation as a function
of the history of the robot motions.
Figure 2 gives additional vectors needed in the derivation. Coordinates II, 12. 13
are inertial coordinates centered at the system center of mass which is fixed in
s
inertial space. The I, Sz, 83 axes are principal axes of the satellite, including the
mass of body 1 which is considered symmetric about its axis of rotation parallel
to h The origin of this reference frame is at the center of mass of body 0 plus
body 1.
29
• Load
Hq ;;;;; 2:3
j=O
f Bodyj
(PIxdP)
d dm
t
+ m4P4 x Idp
d4
t
(1)
Id
dt
f
Bodyj
(PlxdP)

dt
dm;;;;; Id
dt
fBodyj
Id
(PI  R  rq) x (PI
dt
 R  rq)dm
;;;;; f (
~~
Id 2 )
t
Id
. PI x d2Pl dm  d
t
[f
~~
Id
Pidm x d (R
t
+ rq).]
ld [
 dt (R + rq)
ld f
x dt BOdy/idm
]+ Id [
mj dt (R + rq)
Id
x d/ R x rq)
] (2)
When summed over all bodies in the system, the first integral represents the sum
of all external moments which is zero, the integrals of PI are zero by definition of
the system center of mass, and the result is
IdHq Id [ Id ]
dt;;;;; m 04 dt (R + rq) x dt(R + rq) (3)
30
~
1
3
System Satellite Fixed
Cen1er
of Mus
''1
Inertial
1
FIG. 2. Definitions of Vectors.
(4)
Hq can be calculated directly for each of the bodies. Since body 1 is considered
symmetric about its spin axis, the inertia matrix /(01) in satellite axes, of the satel
lite together with body 1, is constant
±f
j=O Bodyj
(p x IddP) dm
t
= f
Bodieso, 1
p X «(JJ0I x p)dm + fBody 1
p X «(JJIO x p)dm
(5)
Here Jb represents the angular velocity of a reference frame in body a relative
to that in b, and superscript / represents the inertial reference frame. Note that
the inertia diadics 101 , 11 are for point q, as will be 12 for body 2. The integral for
body 2 is simply 12 . &JI. For body 3
f (
Body 3
ldP) dm
P x d
t
= fBody 3
(l2 + IIp) Id (l2
x d
t
+ IIp)dm
= f
Body 3
(£2 + IIp) x [ 2dl
d 2
t
+ (JJ2I X l2
3d Il
+  dp + tffl
t
X
]
IIp dm
31
(8)
We wish to separate terms relating to the prescribed motion of the robot relative
to the satellite, and terms relating to the resulting satellite motion. The former
determines IJJIO, 1JJ20, and 1JJ30, while the latter is represented by IJJ0 / • Therefore
(11)
where
(12)
= !01 + !z + !3 + m3{[(e2 + 2rc3) . e2]!  [rc3t'Z + eZe2 + e2rc3]}
+ m4{[(e 2 + ( 3) . (e 2 + ( 3)]!  [(e 2 + ( 3)(e2 + ( 3)]} (13)
the result is
(15)
or
(18)
(19)
(20)
To summarize, the attitude motion is the solution of equation (18) for AOI,
where wOI is a prescribed function of time determined by algebraically solving the
linear equations (15) with C = O. Evaluation of the terms in (15) in satellite com
ponents requires use of equations (17) and (9), (10), and (13).
33
final joint angles, which is picked so that the chosen final satellite attitude is in
fact obtained.
Mathematically this can be considered as prescribing AOJ at the initial and
final times, and searching for joint angle histories which prescribe WOJ in equa
tion (18) such that the given boundary values on AOJ are met. There will usually
be an infinite number of such solutions. The optimum choice of such solutions is
a subject of current research. Here we will generate one such solution. Note that
the standard robot inverse kinematics problem usually has a small number of
solutions but more than one solution, while the satellitemounted robot inverse
problem usually has an uncountably infinite number of solutions.
As before this inverse "kinematics" problem is not really a kinematics prob
lem, and might better be described as the satellitemounted robot inverse kinet
ics problem.
configuration
stat 1
state'
sta,e 2
"~=s I .
sta,e"
sta,e 7
FIG. 3. The Seven Stages of the Feasible Solution as Seen in Satellite Coordinates.
get her specify the position of the load in inertial space. The final position of the
load in inertial space is specified, and a desired final orientation of the satellite
is given. Find a robot trajectory that will transfer the load from its initial inertial
position to its final inertial position and simultaneously reorient the satellite to
the chosen final attitude. Using the feasible solution of Fig. 3, the computation of
the desired solution proceeds according to the following sequence of operations.
36
where ez, e3 are unit vectors aligned with f2 and f 3• Since e2 and e3 are a~igned
for the problem at hand, we will replace them by the single unit vector f. Be
cause bodies 2 and 3 are aligned during this motion, the vector R + rq of equa
tion (17) reduces to
37
(23)
where rc24 = rcz4t is the vector from q to the center of mass of the system of
t
bodies 2, 3, and 4. Denote the angle between the vector and the SI vector as
a(t) measured with the positive sense associated with rotation about S3 in the
right handed sense. Then wlO = ~o = w30 = Ii h Substit'!tion into equation (15)
wr
shows that I = W~I = 0, so that W~I can be written as 1/13, With these substitu
tions in equation (15), the angle 1/13 satisfies
,j, __ E(a) .
0/3  F(a) a (24)
where
E(a) = {I~I) + If) + I~3l. + m3(e~ + 2rc3eZ) + m4(eZ + (3)z
 (ljmo4)[(mz4rc24f  (mO\mZ4rqrcZ4) sin a])
(25)
F(a) = {l~01) + If) + I~3) + m3(e~ + 2rc3eZ) + m4(eZ + ( )Z3
. (83
sm 
1..)
'P3
cos "'I sin "'3  sin 1/11 sin cf>2 cos "'3
= '''"''. (31)
cos 82
where again the sin cP2 is known from equation (29). In order to eliminate the
ambiguities in taking the inverse trigonometric relations, one seeks to obtain not
only the sines of the unknown angles, but also the cosines. Examining the 11
and 33 elements of the matrices on each side of (28) produces the relation
COS (2)
= (  = (cos
 ( 2) cos(8 
COS cPz
cos 1/13
cos(8 3  cP3)
cos "'I 1 cf>d (32)
One would need one more equation to determine the sign of cos cPz, and then
the above equations (29) through (32) would uniquely specify (to within mul
tiples of 360°) each of the unknowns. Call anyone of them x, and then x is found
using the atan2 function in Fortran:
x = atan2 (sin x, cos x) (33)
However, one can show by tedious direct substitution that any 8 1  cf>], cP2,
83  cP3 satisfying equations (29) through (32), will simultaneously satisfy all nine
scalar equations in (28).
Therefore, the solution is not unique. For the two fundamentally different
solutions for cP2 satisfying equation (29), one obtains cos(8 1  cf>1) and COS(03 
cf>3) from (32), and then uses the atan2 function with equations (30) and (31) to
find (8 1  cPd and (8 3  cP3)' Since 8\ and 03 are known, we then know two solu
tions for cPh cPz, and cP3.
In the next section we determine how much coning is required to produce
these satellite rotation angles.
39
Let us obtain an approximate solution for the coning maneuver of the robot
arm in stage 4. Numerical integration of equations (15), (17) and (18) could give
precise results. Stages 2 and 6 will generate analogous computations. For the pre
scribed robot coning motion we need to solve equation (15) (with C = 0), and
some form of equation (18).
Define robot joint angles a and {3, so that a is a rotation of body 1 about 83
relative to body 0 in the right handed sense, with a = 0 when f and 81 are
aligned, and so that {3 is the rotation of link 2 with respect to body 1 with {3 = 0
when f lies in the 8r, 82 plane, and {3 is positive for rotation out of this plane to
ward +83. Define axes br, b2, b3 fixed in robot links 2 and 3, such that when the
robot arm is at the end of stage 1, the b axes are aligned with the 8 axes. We
assume that the baxes are principal axes for!2 and !3. qefipe {fl, If>, If) and IP),
Ii3>, I~3) as the principal moments of inertia about axes br, b 2, b 3 for bodies 2 and
3 respectively.
Since the cone angle is considered to be small we will linearize the right hand
side of equation (15) for small values of it,~, 90°  a, {3. The result demonstrates
that the components of lAP on the 8 axes, WI. W2, W3 are small as well, so that we
linearize the left hand side of (15) for small 90°  a, {3, WI. W2, W3. Then
equation (15) becomes
G·
W1 = (3
H
Wz =0
u.
W3 = a (34)
V
where
G= I~2) + Ii3l + X  Y
H = Ii0 1) + li2) + li3) + X  Z
U = 111) + If) + 113) + X  Y
V = 1101 ) + li2) + 1~3) + X  Z
X = m3(C1 + 2rc3(2) + m4(C2 + e3)2
Y = (l/m04)[(m24rc24)2  mOlm24rc24rq]
Z = (l/mo4) (mOlrq  m24rc24)2 (35)
Since the coning in stage 4 is about the satellite 82 axis it is convenient to use 2,
1,3 Euler angles (TaitBryan angles) 0;, 0(, 0;, so that 0; represents the space
craft spin which we wish to be equal to 4>2. Angles oi and 0;will average zero.
The angular velocity components are given in terms of 0;, oi, by0;
W1 = 0·*1 cos 0*3 + 0·*2 cos 0*·
I sm 0*
3
40
Wz =  0'*1 sm
. 0*3 + 0'*Z COS 0*1 COS ()*
3
W3 = 0'*3  0'*·
Z sm 0*
1 (36)
Letting Wz = 0 in the second of these equations and solving the first two for oJ,
and then considering Of and oj to be small gives
'* sin oj G sin oj, G!/) * '
(37)
O2 = O*WI = H *{3 z ( ,H 03{3
cos 1 cos 0 1
From the third of (36) W3 "" oj, so that the change in 0; from the third of (34) is
Mj = (U/V) .la(t) (38)
Consider a coning motion in which .la = M cos Ot and (3 = M sin Ot. Substi
tuting equation (38) into (37), the amount of spacecraft rotation produced by the
coning is
Generalization to an Arbitrary rq
The assumption that rq was parallel to Sz was used to insure that the rotations
in stages 3 and 5 produced a simple rotation about the satellite S3 and 1 axes s
expressible asA 3 (1/11) andA I (1/13), If instead rq is along SI or S3 one can preserve
this level of simplicity by rearranging the order of the axes used for the coning
operations,
To obtain a fully general result for arbitrary rq, one uses equations (15), (17)
and (18) for stages 3 and 5 to develop the direction cosine matrix relating the
final satellite orientation to the initial satellite orientation for each stage, Call
these A3 and As, Using standard techniques these direction cosine matrices can
be expressed in terms of 132 Euler angles 1/131> 1/133, 1/132, and 213 Euler angles
1/112, 1/111, 1/113, respectively:
A3 = A2(I/IdA3(I/I33)AI(I/I3d
As = A 3(I/I13) A\I/In)A 2(I/I12) (40)
41
We conclude that having the satellite be freeflying, i.e., without an active at
titude control system in operation, has greatly complicated both the forward and
inverse kinematics problems, making them into dynamics problems that have
been treated here. As a reward for this extra complexity, the workspace of the
robot is greatly improved, and takes on the geometrically pleasing form of a
sphere.
One can also compare the workspace of the fixedattitude satellitemounted
robot and the inertially mounted robot. Consider the special case of a robot
whose link masses are negligible compared to the satellite and load masses. Then
the conservation of system center of mass position becomes
or
(46)
Then the distance to the edge of the work space in the arbitrarily chosen di
rection
(47)
(48)
This is to be compared with [rq + (f2 + f 3)f 2] as the maximum distance in this
direction for the inertially mounted robot. Therefore, the workspace of the robot
mounted on an attitude fixed satellite will (for the case considered) be smaller in
all directions by the factor mot/(mO! + m4) than in the inertially mounted case.
Results will be similar, but more complicated when the robot links do not have
negligible mass.
Note also that there will usually be a circular hole at the center of the
workspace whose radius represents the closest possible position of the center of
mass of the load to the center of mass of the system.
There is no overall trend in the comparison of workspace for a robot mounted
on a freeflying satellite versus the same robot with an inertial mount. If the load
mass is very small, the satellitemounted robot would almost surely have a bigger
volume of workspace because of the spherical nature resulting from the ability to
change the attitude of the robot base. But when the load mass gets very large this
enlargement of the workspace by making it spherical, is nullified by the shrink
age of the workspace radius. However, it is clear that in many applications, the
workspace of a satellitemounted robot can be much larger than its Earth bound
equivalent.
44
Conclusions
We have studied the case of a robot mounted on a satellite which does not
have an attitude control system in operation. When the mass of load being ma
nipulated by the robot is not negligible compared to the mass of the satellite it
was shown that the forward and inverse kinematics problems become much
more complicated forward and inverse kinetics problems. For the case of posi
tioning a point mass load, the equations were developed which solve the forward
kinetics problem by numerical integration. A method was developed to obtain
one solution among an infinite number of possible solutions to this inverse kinet
ics problem which takes the place of the usual robot inverse kinematics problem.
The workspace of a robot mounted on such a satellite is found to be a perfect
sphere, and the radius of the sphere is found to be a monotonically decreasing
function of the robot load. This workspace is generally much larger than the
workspace for a robot mounted on a satellite with a fixed attitude, and is found
to often be larger than the workspace of a robot with an inertially fixed base.
Acknowledgements
The author wishes to acknowledge helpful discussions with Mr. ChiKuang
Chang.
References
[1] LONGMAN, R.W., LINDBERG, R.E., and ZEDD, M. F. "SatelliteMounted Robot Ma
nipulatorsNew Kinematics and Reaction Moment Compensation," International Journal of
Robotics Research, Vol. 6, No.3, Fall 1987, pp. 87103; also, Proceedings 01 the AIAA Guid
ance, Navigation and Control Conference, Snowmass, Colorado, August 1985, pp. 278290.
[2) LINDBERG, R. E., LONGMAN, R.W., and ZEDD, M. F. "Kinematics and Reaction
Moment Compensation for a Spaceborne Elbow Manipulator," Paper No. AIAA860250,
AIAA 24th Aerospace Sciences Meeting, Reno, Nevada, January 69, 1986. (A modified
version appears in this issue under the title "Kinematic and Dynamic Properties of an
Elbow Manipulator Mounted on a Satellite. ")
[3) LONGMAN, R.W. '~ttitude Tumbling Due to Flexibility in SatelliteMounted Robots,"
Proceedings of the AIAA Guidance, Nagivation and Control Conference, Minneapolis, Minne·
sota, August 1988, pp. 365373. (A modified version appears in this issue.)
[4) VAFA, Z., and DUBOWSKY, S. "On the Dynamics of Space Manipulators Using the Vir
tual Manipulator, with Applications to Path Planning," The Journal of the Astronautical
Sciences, Vol. 38, No.4, OctoberDecember 1990, pp. 441472.
[5] PAUL, R. Robotic Manipulators: Mathematics, Programming, and Control, The MIT Press,
Cambridge, Massachusetts, 1981.
[6] CANNON, JR., R. H. "Kinematic Drift of SingleAxis Gyroscopes," Journal of Applied
Mechanics, Vol. 25, No.3, 1958, pp. 357360.
On the Dynamics of Space
Manipulators Using the Virtual
Manipulator, with Applications
to Path Planning
example, a path planner algorithm for space manipulators has been developed in
[5]. This algorithm finds paths for rendezvous purposes. However, the amount of
attitude control fuel which a spacecraft can carry is limited, therefore, minimiz
ing fuel usage will increase the space manipulator's useful life span. Further
more, exhaust from the reaction jet fuel can result in damage to objects in the
environment of the space manipulator. Therefore, it is desired to minimize atti
tude control jet usage.
Control methods have been developed which do not use reaction jets and allow
the spacecraft to translate and rotate freely [6,7]. For example, in reference [6]
the resolved acceleration control method [8] has been adapted for space manipu
lators. This controller has been tested on a two link planar manipulator floating
on air bearings. This method achieves the desired end effector accelerations,
however, it does not plan the required joint angles to take the end effector
through a path with predetermined constraints such as avoiding obstacles. Fur
thermore, in some cases the resulting spacecraft rotations are undesirable, for
example, they can result in loss of ability of the spacecraft to communicate with
ground stations.
Reaction wheels, which use photovoltaic energy, can be used to control the
spacecraft attitude without the use of attitude control fuel. The control of ma
nipulators on spacecraft which use only reaction wheels is still complex because
the spacecraft translations in inertial space are still not controlled. Some manip
47
ulator control techniques have been developed for space manipulators using only
reaction wheels for spacecraft control. For example, the forward and inverse
kinematics of an open chain elbow manipulator has been solved [9,10].
A general method for inverse kinematic solution and workspace calculation of
space manipulator systems using reaction wheels for spacecraft control has been
developed [1113]. These papers model space manipulator systems, including the
manipulatorspacecraft dynamic interactions, with a technique called ,he Virtual
Manipulator (VM). The VM is an imaginary kinematic chain whose base is at a
fixed point in inertial space, called the Virtual Ground (VG), and its end point
is fixed at any specified point on the real manipulator. It has been shown that it
is much easier to analyze the space manipulator kinematics using its VM repre
sentation which has a fixed base than the actual space manipulator system whose
base moves in inertial space. In this paper some of the advantages of the VM for
the dynamic modeling of space manipulators is presented.
Reaction wheels can control the spacecraft attitude, however, they can add
significant mass to the system. Furthermore, since these devices work based on
the principle of momentum transfer, their capacity to correct for spacecraft dis
turbances is limited. Therefore, manipulator control methods which do not re
quire reaction wheels or prevent their saturation would be of potentially great
value.
In this paper the dynamic equations of motion and cons:!rvation of angular
momentum of a space manipulator system are developed using the Virtual Ma
nipulator model and then it is used to develop two path planning techniques that
reduce manipulator disturbances of the spacecraft. The first method is called the
selfcorrecting path planning algorithm. It does not require the use of either re
action wheels or attitude control jets to maintain spacecraft attitude. In this tech
nique small cyclical motions are superimposed on the manipulator'S nominal
motions which correct the attitude of the spacecraft. The second developed
method selects the nominal motion of space manipulator systems with reaction
wheels, which reduces the efforts required by the reaction wheels and prevents
their saturation. This approach makes use of an aid called a Distrubance Map.
The Disturbance Map shows the directions of manipulator motions which result
in the largest and smallest disturbances to the spacecraft.
o
•
ko,
a. Real System
Body I
b. Model
FIG. 2. A Simple Single Arm Space Manipulator System and its Model.
50
Point of Interest, F
th
Body
r~ m
m
/77J'7777 va
Body 1 (Spacecraft)
FIG. 3. An N Body Open Chain System and its NonEnd Effector VM.
The ith body's center of mass is called C;, and its mass is given by Mi. As
shown in Fig. 4, the vectors R; and L, connect C; to Ji +1 andJ; to C, respectively.
The vector RN connects C N to the end effector, see Fig. 3. The vectors R i , Li and
Pi are fixed in the ith body.
The Virtual Ground (VG) is defined to be the center of mass of the manipula
tor system. Since it has been assumed that there are no external forces on the
space manipulator, it is freefloating, the VG is fixed in an inertial frame, called
Frame 0 in Fig. 3. From elementary mechanics the position of the VG defined
by the vector Vg , is given by:
(1)
T
i+l
\
e
i th Body
nG. 4. The ith Body of the Real Manipulator.
i < m
(2)
Wm = rm + 1m  Rm + d i = m
Wi = ri + I;  R;  L; i> m
r; L Mq/Mto,
= Ri q;1 (3)
and
iI
Ii = Li LMq/Mto( (4)
q;\
The vectors Wi in equation (2) represent the VM link lengths and their initial
orientations corresponding to the initial position of the real system. The revolute
and prismatic axes of VM joints, Pi, are parallel to the axes of the real manipula
tor joints, Pi.
52
As the real system moves, the VM moves. The VM link lengths do not change
and the angular rotation of the VM revolute joints, measured from their initial
position, are defined to be equal to the angular rotations of the corresponding
revolute joints of the real manipulator. If the ith joint is prismatic, then the
translation of the ith virtual joint relative to its initial position is given by:
iI
The prismatic joint translations in equations (5) and (6) are along the joint axes,
Pi. In the initial position, the real prismatic variables Ti are taken as zero. Conse
quently, the initial VM joint translations, ti, are also zero.
If a VM, that is constructed according to equation (2), moves with the real
manipulator according to the above description, and its link lengths remain con
stant as the manipulator moves, then it can be proven [13,15] that:
• The axis of the ith virtual joint will always be parallel to the ith axis of the
real system joint.
• The Virtual Manipulator end point will always coincide with the point F on
body m.
These properties enable both the kinematic and dynamic motions of a manipula
tor system to be described by the motions of a much simpler Virtual Manipulator
which has its base, VG, fixed in inertial space. It can be shown that the VM
concept is still valid when there are external forces acting on the real system. In
this case, the VG will accelerate in inertial space, however, the above VM kine
matic properties will hold.
Figure 5 shows a simple three body manipulator system. All of the joints are
revolute. The manipulator properties are given in Table 1. The Virtual Manipu
lator to point F on the second body has been constructed using equations (2)
through (4) and is also shown in Fig. 5.
Formulation of System Dynamics Using the VM
In this section it is shown that the Virtual Manipulator technique simplifies
the formulation of the equations of motion of space manipulators and reduces
their complexity. The VM is also used to derive the conservation of angular mo
mentum for the system. These equations are then used to develop two path plan
ning algorithms.
Figure 6 shows a system which consists of N open chain bodies which are con
nected by N  1 revolute joints. The variables q]' q2 and q3 represent the attitude
of the spacecraft and q4 to qN+2 the relative manipulator joint rotations. The vec
tor q has elements ql, ... , qN+2' Mi and Ii are the mass and inertia matrix of the
ith body, respectively.
It is assumed that the system does not use reaction wheels and that there are
no external forces and torques acting on this system, the system is freefloating.
Therefore, the VG is stationary in inertial space, the Frame O.
53
Point of Interest, F
/
VM j,
(end effector)
Rl
Spacecraft Body 1
1 10 2.5 0.83
2 10 2.5 2.5 1.67 0.83
3 10 3.25 2.0 3.25 1.33
54
Bodyi
.th J'
1 omt, qi+30
••
Lagrange's equation for a system such as shown in Fig. 6 can be written as:
where T and V are the system's kinetic and potential and 5 j is the generalized
force. For the system shown in Fig. 6 V is equal to zero. The kinetic energy for
the jth body, T;, can be written as,
T. == !MeTe
I 2 I
+ !cj,Trcj,
I 2 I I I I
(8)
where «1»; is a 3 element vector representing the inertial angular velocity of the ith
manipulator body, e; is a 3 element vector which represents the inertial velocity
of the center of mass of the ith manipulator body. Equation (8) can be written in
terms of the system's variables, q and it, relatively easily using the system's VM's
or by direct analysis.
First a VM is constructed to each center of mass of the real manipulator
bodies. Since the angular motion of the jth link of each VM is equal to the mo
tions of the jth real m~nipulator body, then all the ith VM links will have the
same angular velocity, «1»;. Using conventional fixed base manipulator analysis for
tpe VM's it is possible to find the ith Virtual Manipulator link angular velocity,
«1»; in the form,
55
<1>; = D;(q)ci (9)
where ci is the vector of the spacecraft and real manipulator relative joint ve
locities, which are also equal to the VM relative joint velocities. The 3 by N + 2
dimensional matrix D;(q) is the jacobian matrix, which transforms relative link
angular velocities, ci, to the ith link's absolute angular velocity.
Using the VM to express the linear velocity for the ith body's center of mass,
in terms of the q and ci required by equation (8), is much easier than direct analy
sis. Since the end points of the VM's terminate at the centers of mass of each of
the real bodies, conventional fixed base manipulator for forward kinematics for
mulations can be directly applied to obtain these vectors. Furthermore, as noted
in [21], the position and velocity of the end effector of a fixed base manipulator
is linear in terms of its link lengths. Therefore, end point position and velocity of
the VM can be written as,
e; = G(q)H;
.
e;= [iJG
H;'" iJG].
H; q (10)
iJqi iJqN+2
1. Tv'
T =q nq (11)
2
where,
K = fM;[iJG Hi
;=1 iJql
... ~H;]T[iJG
iJqN+2 iJql
8; ... iJG
iJqN+2
8;] + DT/;Di (12)
The generalized forces, S; which are the forces and torques at each joint are
also known. Substituting T from equation (11) and S; into equation (7) results in
the dynamic equations of motion. Note that these equations are in terms of
N + 2, q, variables.
Typically, an N body manipulator system has N + 5 degrees of freedom: six for
spacecraft position and attitude, and N  1 for the manipulator joint variables.
Conventional analysis will result in N + 5 system dynamic equations of motion.
However, in the absence of external forces, the VM requires only N + 2 variables
in its dynamic formulation. This results from the fact that the constraints imposed
by the principles of conservation of linear momentum are contained in the VM
model. This reduction in the number of equations of motion will result in faster
and more efficient simulation and control of space manipulators.
56
Conser:vation of Angular Momentum
The translations and rotations of a freefloating system are governed by the
principles of conservation of linear and angular momentum. The Virtual Manipu
lator in its construction incorporates the conservation of linear momentum. It
can be used to find an expression representing the principle of conservation of
angular momentum. This principle, for an N open chain rigid bodies, can be
written from elementary mechanics as,
N N
L Ijcj.j + L [ej x M;ed = M = constant (13)
;=1 ;=1
(15)
and G j is the ith row of the G matrix. Equation (14) provides the conservation of
angular momentum of the system in terms of N + 2 joint and spacecraft veloci
ties, q.
As with the equations of motion, when the VM concept is not used, the con
servation of angular momentum of an N body system must be written in terms of
N + 5 variables compared to the N + 2 variables with the VM approach.
Clearly, the equations of conservation of angular momentum by using the VM is
simpler than by classical methods.
Space Manipulator Path Planning
Unwanted spacecraft rotations due to manipulator motions can be controlled
using reaction wheels or reaction jets. However, these devices have the disadvan
tage of increased mechanical complexity and system weight or of increased con
sumption of attitude control fuel.
In this section two methods for planning manipulator paths, which can com
pensate the manipulator dynamic disturbances to the spacecraft, are presented.
First, a method is developed that finds cyclic motions of the manipulator which
can be used separately or superimposed on the manipulator motions that will
control the spacecraft attitude without using reaction wheels or reaction jets.
This method is called selfcorrecting motions. Then a technique called a Distur
bance Map is developed, that can aid in selecting paths, that reduces the distur
bances of the spacecraft and the demands on the reaction wheel attitude control
systems.
57
Self Correcting Path Planning
A spacecraft will have different final DrientatiDns depending .on the end effectDr
path chDsen from .one pDsitiDn tD anDther [15]. As a cDnsequence, if the manipu
latDr mDves alDng .one path in jDint space and returns tD its initial positiDn by
anDther path, the spacecraft attitude will change. Astronauts could exploit this
phenDmenDn tD mDve their limbs tD reDrient their bDdies [22]. This leads tD a
strategy fDr adjusting or correcting spacecraft's attitude by cyclic jDint motions,
developed in this section.
In this strategy a nominal trajectory is selected for the end effector and space
craft attitude. Then the joint commands are executed assuming that the space
craft fDllDWS its trajectDry. If at any pDint the spacecraft attitude deviates from
its desired path by mDre than a specific amDunt, a series of small cyclic mDtiDns
are added tD the joint mDtiDns to correct for the spacecraft attitude. Since the
correcting mDtions are small, a nonlinear system mDdel that neglects nDnlineari
ties .of .order greater than tWD can be used.
Let X be a 3 element vector defining the spacecraft attitude, ql> q2, q3, with
respect tD Frame O. The initial and desired final attitudes are Xo and X d, re
spectively. The desired change in the angles is defined by,
(16)
Let 'it be an N  1 dimensiDnal vectDr .of manipulatDr joint pDsitiDns, q4, .. .,
qN+2. The vectDr 'ito is defined tD be the initial and final jDint pDsitiDns, at the
beginning and end .of the correction maneuver. Let the vectors BVand BW de
fine small joint movements in joint space. The closed correctiDn path is con
structed by having the manipulatDr mDve alDng the straight lines in jDint space,
defined by vectDrs BV and lJW shDwn in Fig. 7. The manipulatDr can alsD mDve
alDng splines Dr .other curved lines, however, fDr simplicity they are assumed
here tD be straight.
"'3
Starting
and
Finishing
Point _ oW
In cases that the initial system angular momentum is equal to zero, equa
tion (14) can be written as,
where [X ,vyis equal to it, C 1(X, 'It) is a 3 by 3 dimensional matrix of the first
3 columns of C(X, 'It) matrix and C 2(X, 'It) is a 3 by N  1 dimensional matrix of
the last N  1 columns of C(X, 'It) matrix, and,v is an N  1 dimensional vector
of manipulator relative joint velocities.
Equation (17) can be used to solve for the spacecraft movements as a function
of the manipulator movements. This results in an equation of the form,
(18)
where
F(X, 'It) = C i l C2
From equation (18) incremental spacecraft rotations as a function of incremental
joint movements can be written as,
5X = F(X, 'It)5'1t (19)
It can be shown [15] that a Taylor series expansion of equation (19) can result in
an equation of the form,
5Xk = ii
1=1 i=1
[±
m=1
(iJFki Fmi  aFki Fmi) + iJFkj
iJXm iJXm iJ"'i
 aFki]8Uj8Vj
a"'i
(k = 1,2,3),
(20)
"'i
where 8X;, 8Vj, 8W; and are elements of the vectors 8X, 5V, 5W and 'It, respec
tively. In the case of a three DOF spatial manipulator, equation (20) will yield
three equations with six unknowns, which are the elements of l3V and 5W.
Therefore, three additional constraint equations are required to solve for 8V
and 8W.
The constraints can be minimization of the spacecraft energy usage or maxi
mization of spacecraft attitude correction or other constraints. However, in this
analysis the constraints are based on the fact that if vectors 8V and 8W are par
allel, the cyclic motion will not produce any spacecraft rotation. Therefore it is
assumed that these vectors are perpendicular:
8V T • 5W =0 (21)
and for simplicity, the magnitudes of l3W and 8Vare assumed to be equal:
l3V T • l3V = 8W T • l3W (22)
and finally one of the elements of 8V is chosen to be a linear combination of the
other two. For example
l3V3 = (13Vz + 13Vj)/2 (23)
Equations (20) through (23) yield six equations with six unknowns, which can
be solved for the desired joint trajectories, l3V and 8W. If the required correction,
59
8X, is large, then the values of 8V and 8W may violate the small joint motion as
sumption. In this case the desired correction can be achieved by a series of m
cyclical correction motions. It is shown below that at each cycle equations (20)
through (23) do not have to be resolved and the final position can be achieved.
Referring to Fig. 8, T(X j ) is a 3 by 3 matrix which transforms a vector, expressed
in spacecraft body coordinates (x, y, x), into Frame 0 coordinates (Ox, Oy, Oz),
when the body is at the ith orientation. The transformation matrix for the initial
spacecraft attitude is T(Xo). The transformation matrix for the desired space
craft position to be achieved after m cycles is T(Xd). After one correction cycle,
the transformation matrix from spacecraft coordinates to the (Ox, Oy, Oz) coordi
nate is T(Xo + 8x), where,
T(Xo + 8x) = T(Xo)A (24)
The matrix A is the transformation matrix from the spacecraft position, starting
one cycle from the initial spacecraft position, back to the initial spacecraft posi
tion. The A matrix will not change with each cycle because the total system,
spacecraft and manipulator, have been subject only to a rigid body rotation.
Hence after m cycles the transformation matrix from the desired system position
to Frame 0 is simply:
T(Xd) = T(Xo)Am (25)
Equation (25) can be solved for A using [23],
A = pNlmp1 (26)
where A is a diagonal matrix of the eigenvalues of T(XotIT(X d) and P is a ma
trix of corresponding eigenvectors.
oz
x Desired
orientation
Orientation after
one cycle
./~O
Y
Frame 0
ox
FIG. 8. Spacecraft Rotations Due to Cyclical Manipulator Motions.
60
Using the A matrix obtained from equation (26), the change in Euler angles
(8x) is calculated from equation (24). Then the joint correction motions for each
cycle, oVand 8W, are obtained by solving equations (20) through (23). The ma
nipulator should go through the joint motions (8V,8W) m times to have the
spacecraft reach its desired attitude. However, the final spacecraft attitude after
m cycles will usually be slightly different than the desired attitude because of the
neglected higher order nonlinearities.
In order to achieve the desired attitude precisely, the overall correction may
need to be broken into several smaller corrections and the process repeated with
a different set of 8V and 8W for each subcorrection.
The above technique is demonstrated in a computer simulation of a spatial
three OOF space manipulator shown in Fig. 9. The properties of the manipula
tor are given in Table 2. The initial and final spacecraft attitudes are shown in
Table 3.
Body 1
(Spacecraft)
R
3
o
z X X
l' 3
~·o
y Body 4
(Link 3)
In this example, it was necessary to solve for the joint trajectories (8V and 8W)
3 times to obtain the spacecraft attitude to within a set of desired precision lim
its. The joint trajectories for these 3 cycle sets are shown in Figs. 10 through 12.
As expected these figures show that each joint trajectory is made of four seg
ments and that the initial and final joint positions are the same. Each cycle is
repeated 30 times to achieve the desired spacecraft attitude. Table 3 shows the
manipulator link and spacecraft attitudes for the initial and desired space ma
nipulator position. This table also shows the link and spacecraft attitudes after
each set of cycles. For example, the first spacecraft Euler angle, Xl. is desired to
go from 50.0° to 45.0°. After the first set of cycles it equals 44.7°, after the sec
ond set of cycles it reaches 45.0° and for the last set of cycles it remains at 45.0°.
As expected this table also shows that the starting and ending manipulator link
orientations are the same after each set of cycles.
During each cycle the spacecraft oscillates in response to the manipulator's
motion, see Fig. 13. However, the mean attitude of the spacecraft changes con
tinuously and reaches Xd at the same time the joints return to their initial posi
tions. Figure 14 shows the mean spacecraft attitude during the joint cycles. The
spacecraft movements during the joint motions vary ±0.1 radians from their
mean trajectory. Therefore, during the movement, the error in the spacecraft at
titude fluctuates. However, at the end of the cycle one can clearly see that the
desired change in the spacecraft attitude is achieved as the manipulator joints
cycle through their motion.
In this section it was shown how to superimpose small cyclical motions on the
nominal manipulator motions to correct the spacecraft attitude errors due to dis
0.000
.00 0.25 0.50 0.75 1. 00
Cycle Length (NonDimensional)
FIG. to. Joint Angle Trajectories for First Set of Cycles.
1. 25
1. 00
.... 0
d 3
ro
I<
''
~ 0.75
bb
I::
<... O2  ,
....0I:: ,
"""'
0.50
°1
The method ignores the effort of the attitude control systems, and assumes
that the system has zero initial angular momentum. Equation (19), which repre
sents the conservation of angular momentum of the system derived using the
VM, gives the incremental spacecraft rotations as a function of the manipulator
joint motions. It relates the change in the spacecraft attitude as a function of the
path selected. The speed along the path has no effect on the net ~hange in the
spacecraft attitude. If the change in spacecraft attitude, 5X, is kept equal to
zero, by say reaction wheels, then equation (19) represents the disturbances which
the reaction wheels must compensate. Therefore, reducing 5X will also result in
reduced reaction wheel usage and prevents their saturation.
Paths which result in smaller 5X can be found by noting that for a given space
craft attitude, X, at every 'it the singular value decomposition [25] of the matrix
F('4f, X) will indicate the directions of manipulator joint movements, l)'IIf, which
result in minimum and maximum spacecraft rotations, 5X. The Disturbance
Map can be constructed by dividing the space manipulator joint space into grid
points. At every grid point the directions of minimum and maximum spacecraft
movements are plotted.
64
1. 2S
1. 00
e
3 
r.n
<I)
~O.75
<t:
e
1
0.50
0.250 . 00
0.25 0.50 0.75 1. 00
Cycle Length (NonDimensional)
FIG. 12. Joint Angle Trajectories for Third Set of Cycles.
(27)
0.85
(!)
~0.70
<
~!
I
I
O. '100
.00 0.25 0.50 0.75 1.00
One Cycle Set (NonDimensional)
FIG. 13. The Xz Spacecraft Euler Angle for the First Set of Cycles.
{ OBI}
(j6 2
:;:; lYF~ ~ F~I :;:; 00 .
FI min
(28)
YFr + F~
where the unit vector S0min designates the direction of manipulator joint motion
which results in minimum disturbance to the spacecraft. Similarly, the direction
of maximum spacecraft disturbance is computed by
56 J }
{ S02 = lYF;~ F~} = 00
F2 max
(29)
YFr + n
where the unit vector 00max designates the direction of manipulator joint motion
which results in maximum disturbance to the spacecraft.
+
66
I I
1. 00
r ofFirstCycles
Set +second Set
of Cycles
Third Set
of Cycles ,
l;j rlnitial
Values
0.88
.~~
~ . ~x ~
/'
./ 2
I  
Desired
~
Values
 .
.  X
3

~
   
 . . .
~
.
The spacecraft disturbances for a unit movement along the «50mi" and «59mar
directions are calculated by substituting the above directions into equation (27).
This results in,
Minimum Spacecraft Disturbance= 0.0
Maximum Spacecraft Disturbance = V(Fr + F~) (30)
The directions and the magnitudes of the spacecraft disturbances are plotted in
Fig. 16 as a function of the manipulator's joint angles. The larger the spacecraft
disturbance the longer the vector which shows the direction of movement. Mov
ing in joint space in a direction opposite to an arrow results in a disturbance in
the negative spacecraft direction. Short length lines represent directions with
zero disturbance.
As shown in Fig. 16, three paths have been selected to go from the initial to
the final position, Path!, Path 2 and Path 3 • For each path, the reaction wheel rota
67
a
2
a
1
•
•
Initial Position
Final Position
04+ Reaction Wheel
Link M R L Inertia
No. (kg) (m) (m) (kg  m2)
1 10 2 10
2 1 1 1
3 1 1
Reaction Wheel
68
3.00
2.25
1.50
0.75
0.00
e1(rad·)
FIG. 16. Directions of Min and Max Disturbances of the Spacecraft.
gorithms can reduce the burdens placed on the spacecraft active attitude control
systems due to the dynamic disturbances caused by the manipulator motions.
Acknowledgement
The support of this research by the Automation Branch of NASA Langley Research
Center under Grant NAG180l is acknowledged.
0.00

.9
c
...... "" \
\ Path 2

;::I
"0 1.00
>
Q.l
\ '  .
 .......
~ Path 3
"'" \
''
c
.9
.......
c::I
.
0
~ 2.00 \,
V Q.l "".
..c:
~
\
.9
c
.....
\
u
3.00 ""

c::I
0
e::: ...........
Path! '",
\.
1. o~. 00 0.20 0.40 0.60 0.80 1.00
Distance along the Path (NonDimensional)
FIG. 17. Reaction Wheel Rotation along Each Path Shown in Fig. 16.
and the (i + I)th bodies is called 11+\. The first joint, which represents the space
craft rotations, J?, is a free joint which permits the first body to rotate and trans
late in space. This joint is located at the first body's center of mass.
The center of mass of the complete system, the Virtual Ground (VG), is geo
metrically constructed in two steps. First, the center of mass of the first two
bodies, which is called Cr, is obtained. It is located on a line connecting cl and
ci at a ratio given by,
ICrC~1 M\
= = = Constant (A.I)
JClC~1 M\ + M2
where the notation AB denotes a vector from point A to point B. The notation
IABJ to represent the magnitude of the vector AB.
Now C f is used to find the center of mass of all three bodies, which is called
Cr or the VG. C? is located on a line connecting Cr and C~ at a ratio given by,
(A.2)
70
Body 3
(a) VG Construction
E
E
(c) Second Step in VM Construction
E
(d) Real Manipulator and its VM
In the absence of external forces, Cr, the VG, is independent of the manipulator
motions and remains stationary in inertial space. The ratios shown in equa
tions (A.1) and (A2) are constant as long as mass properties of the system do
not change. Furthermore, these ratios do not depend on the manipulator configu
ration.
Now the Virtual Manipulator links, which remain constant irrespective of the
real manipulator configuration, will be geometrically constructed. For any real
manipulator configuration, such as shown in Fig. Ala, constuct lines from J i to
cl and to C~, as shown in Fig. Alb. Draw a line from cf parallel to cl Ji. The
intersection of this line with J1 C~ is called J~. By construction the two triangles
eU~e~ and eU1ei are similar. From the property of similar triangles and
equation (A.1) it is possible to write:
IJ 2
2
e21 =
2
MI IJ I e 21
MI + M2 2 2
(A.3)
Equation (A.3) indicates that as long as the mass properties of the system do not
change, the lengths ICt J~I and IJ~ C~I will remain constant, because the lengths
ICUll and IJ1C~1 are constant.
The construction of the VM continues by connecting lines from Jj to e~ and
to C~, see Fig. Ale. Then construct lines from e~ to J~ and to e~. Draw a line
from Cr parallel to er J~. The intersection of this line with e~ Ji is calledJ~. Simi
larly, draw a line from J~ parallel to J~e~ until it intersects CjC~ at a point
called C~. Again, draw a line from ci parallel to ciJj until it intersects C5 J~ at
a point called J~.
By construction, the triangles ciJ~cs, nc~cl and cUlcl are similar to
the triangles CU~C1,J~C~Cl and c~ncj, respectively. Using the property of
similar triangles and equation (A3) results in,
IJ3C31 = MI + M2 IJ 2C 31 (A.4)
3 3 Ml + M2 + M3 3 3
Equation (A.4) indicates that as long as the mass properties of the system do not
change, i.e., MJ, M 2, and M3 remain constant, for any real manipulator configll T ' 
tion the lengths given by Ie? Jil, IJi eil, lei 111 and IJ1 C11 will remain constant,
because the lengths given by IC I Jil, IIi C~I, ICUsl and IIsCjl are constant, be
72
ing fixed lengths of the real manipulator. Furthermore, the length cj E is fixed
to the real manipulator and remains constant. _ _ __ _ _
So far it is shown that the magnitude of the vectors C? J?, Ji Ci, ci Jj and
Jj cj which are given by equation (A.4), will remain constant, irrespective of the
real manipulator configuration. Furthermore, it is shown that if these vectors
are parallel to cUt Ji C~, ci IS and J~ct respectively, then for any manipu
lator configuration the following equation holds, for the real manipulator end
effector position.
CrE = ciJ? + JiC? + cUj + ncj + CjE (A.5)
Now it is possible to define the Virtual Manipulator for the initial real manipu
lator configuation. The Virtual Manipulator base, the VG, is given by Cr. As
shown in Fig. A.ld, the Virtual Manipulator consists of 3 links. The first VM
link is defined to be equal to ci Ji, and is connected to the VG by a spherical
joint. The second VM link is defined to be equal to Ji ci + cUj. The second
VM link is connected to the first VM link with a revolute joint. The third VM
link is defined to be equal to Jj cj + cj E, and is connected to the second VM
link with a revolute joint. From the above construction it can be seen that end
point of the VM for the initial real manipulator configuration are identical to
that given by equation (A.5). Therefore, the initial VM end point position coin
cides with the real manipulator end effector position. __
Note the first VM link, ci J?, can be thought of as a rigid body, since ci Ji is
a constant length vector, see equation (A.4). Furthermore, the second real ma
n
nipulator body consists of the vectors c i and C i IS. Since manipulator bodies
are rigid, the vector Ji ci is fixed relative to the vector cUj. The second VM
link (JiCi + Cun also represents a rigid body and the vectors Ji ci and cUj
are constant length and fixed relative to each other. Because the vectors Ji ci
n n
and C? are parallel to the vectors c i and C i IS, which form the second real
manipulator body. Similarly, the third VM link (Jj C j + C j E) is a rigid link and
vectors Jj cj and cj E are fixed relative to each other. Hence the VM vector
chain also given by equation (A.5) represents a series of rigid bodies starting at
the Virtual Ground and terminating at the real manipulator end effector. This
kinematic chain is defined as the Virtual Manipulator.
The Virtual Manipulator will move as the real manipulator moves. The VM
joint rotations relative to their initial position are defined to be equal to the real
manipulator joint rotations relative to their initial position. The first VM link
rotations are equal to the first real body (spacecraft) rotations, therefore, ci Ji
will always be parallel to C l n Similarly, the second VM link rotations are
equal to the second real manipulator body rotations, therefore, Ji ci and cUj
will always be parallel to Ji C~ and ci J1, respectively. Furthermore, the third
VM link rotations are equal to the third real manipulator body rotations, there
fore, the vector Jj cj will remain parallel to the vector Jjcj and the vector cj E
is fixed to both the VM and the real manipulator.
Hence, if the VM constructed for the initial manipulator configuration moves
according to the above description, it will have an end point which always coin
73
cides with the end effector of the real manipulator. Because, the VM link
lengths are constant, i.e., the magnitude of the vectors ci !i,Ji ci, CU~, C~ n
and C~E are constant, and because ci J~,Jict CUj andJjC~ are always par
allel to the vectors cl fl, J~ C~, C~n, and J~C~, respectively.
In the above procedure the VM for a single planar system is geometrically con
structed. It is shown to have the same kinematic properties as the real system.
This geometric approach can be extended to more general spatial manipulators.
b _ Mtl2 + (M 1 + M2)13
3  M 101 '
74
a
/2
Body 3
/s
TJ VG
Spacecraft
MrOI = M\ + M2 + M3 ,
The center of mass velocity of the ith link in terms of the joint velocities can be
written by direct differentiation of equation (B.1) as,
e. =
I
{a sin cPl  b j sin cP2  Cj sin cP3
j
For cases where the initial angular momentum of the system equals zero, the
conservation of angular momentum will result in an equation of the form
3 3
2,I;ch + 2,[e; x M;e;] =0 (B.3)
;=! ;=]
where I j is the inertia of the ith real manipulator link. For this simple illustrative
example, it is assumed that the link inertias about the centers of mass are small.
From equations (B.1) and (B.2) ~he values of ej and ej are substituted into
equation (B.3), and it is solved for X to yield:
X
.
=F {'}
01
~ = [F] {'}
01
F2 ] ~ (B.4)
where
FI = B + C + D cos 0 1 + E cos(O] + Oz) + 2F cos Oz
A + B + C + 2D cos 01 + 2E cos(O! + Oz) + 2F cos O2 '
C E cos(O] +
2) +( +
F cos Oz
F2=~~~~~
A + B + + 2D
C cos 0] + 2E
cos 1 Oz) (0 +
cos + 2F oz'
A = {M I[(M2 + M3)IJ]2 + Mz(Mlld + M3(MlldZ}/Mt~t,
B = {Mz[(Mz + M3)12 + M313]2 + M 2(M]12  M313)2
+ M3[(M! + M2)13 + MI12Y}/Mt~t,
C = {M I(M 314)z + M2(M314f + M3[(MJ + M2)14f}/M~t,
D = {MI[M313 + (M z + M3)12](M2 + M3)11 + M2M I(Md2  M313)11
+ M3MI[(MI + M2)13 + MJlz]II}/Mt~t,
E = {MIM3(Mz + M3)ld4  M2MIM3lJl4 + M311(MI + M2)1114}/Mt~t,
F = {MIM3[M313 + (Mz + M3)12]14 + MzM3(M313  M l lz)14
+ M3[(M! + M2)13 + M 112] (MI + M2)14}/Mt~t,
This equation gives the spacecraft motions as a function of the manipulator joint
motions required by equation (27).
References
[1] MEINTEL, A. J., and SCHAPPELL, R.T. "Remote Orbital Servicing System Concept,"
presented at the Satellite Services Workshop, NASA Johnson Space Center, Texas, 1982.
[2] AKIN, D. L., MINSKY, M. L., THIEL, E. D., and KURTZMAN, C. R. "Space Applica
tions of Automation, Robotics and Machine Intelligence Systems (ARAMIS)," MIT Re
port, NASA Contract NAS834381, Cambridge, Massachusetts, 1983.
[3] BRONEZ, M. A., CLARKE, M. M., and QUINN, A. "Requirements Development for a
FreeFlying RobotThe 'ROBIN'," Proceedings of the IEEE International Conference on
Robotics and Automation, San Francisco, California, April 710, 1986, pp. 667672.
[4] FRENCH, R., and BOYCE, B. "Satellite Servicing by Teleoperators," Journal of Engineer
ing for Industry, Vol. 107, 1985, pp. 4954.
[5] KOHN, w., and HEALEY, K. "Trajectory Planner for an Autonomous FreeFlying Robot,"
IEEE International Conference on Robotics and Automation, San Francisco, California,
April 710,1986.
76
Abstract
Dynamic Singularities are shown for freefloating space manipulator
systems where the spacecraft moves in response to manipulator
motions without compensation from its attitude control system. At a
dynamic singularity the manipulator is unable to move its endeffector
in some inertial direction; thus dynamic singularities must be
considered in the design, planning, and control of freefloating space
manipulator systems. The existence and location of dynamic
singularities cannot be predicted solely from the manipulator kinematic
structure because they are functions of the dynamic properties of the
system, unlike the singularities for fixedbase manipulators. Also
analyzed are the implications of dynamic singularities to the nature of
the system's workspace.
I. Introduction
Robotic manipulators will play important roles in future space missions. The con
trol of such space manipulators poses planning and control problems not found in
terrestrial fixedbase manipulators due to the dynamic coupling between space
manipulators and their spacecraft. A number of control techniques for such systems
have been proposed; these schemes can be classified in three categories. In the fust
category, spacecraft position and attitude are controlled by reaction jets to compensate
for any manipulator dynamic forces exerted on the spacecraft. In this case, control
Jaws for earthbound manipUlators can be used, but the utility of such systems may
be limited because manipulator motions can both saturate the reaction jet system and
consume relatively large amounts of attitude control fuel, limiting the useful life of
the system [1]. In the second category, the spacecraft attitude is controlled, although
not its translation, by using reaction wheels or attitude control jets [2,4]. The control
of these systems is somewhat more complicated than that of the fust category,
although a technique called the Virtual Manipulator (VM) can be used to simplify the
problem [47]. The third proposed category assumes a freefloating system in order
to conserve fuel or elecbical power [4,611]. Such a system permits the spacecraft to
move freely in response to manipulator motions. These too can be modeled using
the VM approach [6,7). Past work on the control of freefloating systems generally
has proposed particular algorithms for freefloating systems and attempted to show
their validity on a case by case basis [811]. However, algorithms which do not take
into full account the spacecraft kinematics or dynamics have occasional problems
[10,11]. This paper shows that these problems may be attributed to dynamic
singularities which are not found in earth bound manipulators. These dynamic
singularities must be considered in the design, planning, and control of these systems
because of their important effects on the performance of freefloating space
manipulators.
dynamic singularities will not exist for any path taken within this region, as opposed
to other parts of the workspace, called the Path Dependent Workspace (PDW), where
the occurrence of dynamic singularities depends upon the path taken by the
manipulator's endeffector.
(1)
Here, the kinematic and dynamic relationships are formulated for the freefloating
t.
manipulator system depicted in Figure 1 and used to find an expression for based
on the use of the barycenters [12,13]. This approach has similarities to the VM
method and has the advantage that the resulting dynamic equations are relatively
general. compact and explicit. The body 0 in Figure I represents the spacecraft and
the bodies k (k= I ....,N) represent the N manipulator links. Manipulator joint angles
and velocities are represented by the Nxl column vectors q and q. The spacecraft can
translate and rotate in response to the manipulator movements. Finally. the
manipulator is assumed to have revolute joints and an openchain kinematic
configuration so that a system with an N degreeoffreedom (OOF) manipulator will
have 6+N OOF.
To derive t. we must write .!:.E and .mE as functions of the links and spacecraft
inertial angular velocities..@j (i=O ....,N) and ultimately of the joint rates q. From
80
Figure I, it can be seen that the vector from the inertially fixed origin 0 to k body's
center of mass (CM).~, is given by:
k =O•••• .N (2)
where Lan and~ are defmed in Figure 1. The endpoint position vector. L E• can be
derived from ~ as:
(3)
Link 2
r 2 Manipulator
6\ Denotes body
Inertially Fixed Origin \.:J center of mass
equations in N+ 1 unknowns:
Since the J:4 vectors are defmed with respect to the system eM. it holds that:
(5)
where mk is the mass of body k. Equations (4) and (5) can be solved for Q k as a
function of 1:t and.4. yielding:
81
k N
n _
~ 
L (r·ll·)~·
iI ~ I I
 L (r· I.)(1J.l:)
ik+1 ~ I . I
k=O,... ,N (6)
°
iI
i = °
m.
~i == L
;.0
1
M i = l...N (7)
1 i = N+I
M is the total system mass. Equation (6) can be simplified using the notion of a
barycenter (BC) [12,13]. The barycenter location for the jthbody with respect its CM
is defmed by the body fIXed vector ~ shown in Figure 2 and given by:
i =O,...,N (8)
The barycenter of the ith body can be found equivalently by adding a point mass
equal to MJ.li to joint i, and a point mass equal to M(1~i+l) to joint i+l, forming an
augmented body [12,13]. The barycenter is then the center of mass of the augmented
body as shown in Figure 2. Figure 2 also shows a set of bodyfixed vectors which
are defined by:
c.• =  .
. c. (9a)
• (9b)
Li = Li  ~
( = 1i .t; (9c)
(10)
It can be shown then that Equation (6) can be written in a compact and general form
as:
k = O,... ,N (11)
{ .
where the barycentric vectors ~ are given by the following selection law:
r.
i<k}
!,x == ~ i=k (12)
I~
. i>k
space depends on the position of all links. including the ones after link k as well as
on the position of the base. This is to be contrasted with the case of earthbound
manipulators where the position of a link depends on the positions of the previous
links only.
Bodyi
Joint i Joint i+ 1
~ Body i Barycenter
Figure 2. r ~. ,
Definition or barycen ters and vectors , I ~. ,
c ~.
Since each.!.jk is dermed by vectors fixed in body i which rotates with angular
velocity ~i' and because we assume that the manipulator has no prismatic joints. the
time derivative of ~ is simply given by:
N
n = I.
~ ~
~.xY..
Iu.
.... k = O.....N (13)
Differentiating Equations (3) and combining the results with Equation (13) yields the
following expression for the endeffector inertial velocity 4:
N
4 = icm + ~ ~ i x ~iN + ~N x .I.N (14)
For this system the linear momentum vector with respect to the origin 0 is:
(IS)
In the absence of external forces. and assuming zero initial CM velocity. ~ is zero.
r
Then an is zero and em
r is constant. We can assume that an r is zero without loss
of generality. which is equivalent to choosing the inertial origin. O. to be at the
CM. Consequently:
83
N N I
=
I I I
where ~ is equal to ~ for all i,k except for .!.NN ' for which it is given bY.!.NN
.!.NN + L N ,
The endeffector inertial anguJar velocity required to find t, see Equation (1), is
the inertial velocity of the last body in the chain given by:
(17)
The inertial angular velocity .mj of the jib body can be written as a function of the
relative angular velocity of body i with respect to body iI (the joint velocity of joint
d i·! as:
1.) ,calle.m;,
j = 1.....N (18)
Equations (16), (17) and (18) relate the endeffector linear and angular velocities
in inertial coordinates ~ and~ to the controlled relative angular velocities.mi.;! and
to the spacecraft inertial angular velocity .J!)o' Although.{go is uncontrolled, it can be
found as a function of the controlled joint rates by using the principle of the angular
momentum conservation, The system angular momentum vector with respect to the
inertial origin is given by:
wbere lk is the inertia dyadic of body k with respect to its center of mass. Since we
assumed an initial zero linear momentum vector J!., the fIrst term in the rigbt side of
Equation (19) is identically equal to zero and the angular momentum with respect to
o is equal to the angular momentum with respect to the system eM. hem' Using
Equations (11) and (13), Equation (19) can be written as [15]:
N N N
h

= an
h = l: iO
l: ko
~
l: D "k • 00.
IJ J
(20)
where:
i. j, k =O,..,.N (21)
The dyadics ~;jk are functions of the distribution of inertia through the system and are
formed from the barycentric vectors.!.nc' The terms l)ij.l)jk are Kronecker deltas.
84
It can be shown that the angular momentum given by Equation (20) can be
written in the form:
N N
b
aD
= ,;.0
I jOI Q..'J' • .mJ. (22)
with Djj derived from Equation (21) with the help of Equation (10) and given by:
M{a.; ·~)l~~}
•• •• i<j
N
Ii + I It~
mit {<!.ilt • !..ilt) 1  Lilt Lilt} i=j (23)
where 1 is the unit dyadic [15]. The angular momentum of the system is constant in
the absence of external torques. We may assume that the initial angular momentum
is zero (no initial spin); hence. em
b remains zero for all time. Equation (22) cannot
be further integrated (with the exception of N=I) and must be carried along. Equa
tions (16). (17). (18) and (22) are sufficient to describe the motion of the endeffector
in inertial space as a function of a freefloating system' s joint angular velocities. one
in which the position and attitude of the spacecraft is not controlled.
The column vectors iVjJt expressed in frame i are transformed in the inertial frame
as follows:
(24a)
(24b)
(25b)
The 3,0 transfonnation matrix To can be computed using the Euler parameters e and
n [16]:
where a is the unit vector of the instant axis about which the spacecraft is rotated for
an angle e. the T superscript denotes transposition. and the x superscript denotes a
skewsymmetric matrix that is fonned from an e according to:
(29)
0).
J
= roo + Jo = roo + To iILj 0T. i u.~•
0).
I I
(30a)
j = 1....,N (3Ob)
where iU.I is the unit column vector in frame i parallel to the revolute axis through
joint i. and OF. is a 3xN matrix given by:
J
j = 1....,N (31)
Using Equations (25) through (32). Equations (16). (17) and (22) yield:
86
. ° ° .
= To { oJ 11 roo + J I2 q } (33a)
IE
where:
N
°D.J ;;;; I,
j..()
°D1J.. (j = O•... ,N) (34b)
The term °Djj (ij=O•... ,N) represents inertia matrices. derived according to Equation
(23); these are expressed in the spacecraft frame. Equations (33a) and (34b) reflect the
fact that the motion of the endeffector is the vector sum of two partial velocities.
The first is due to the motion of the joints, the second to the resulting motion of the
spacecraft caused by dynamic coupling. Equation (33c) expresses the conservation of
angular momentum. oJ II is a skewsymmetric 3x3 matrix whose elements
correspond to the vector from the system CM to the endeffector. expressed in the
spacecraft frame. oJ 12 is a 3xN matrix whose N columns are the components of
vectors starting at the manipulator joints and ending at the endeffector. Along with
°J22• they correspond to the Jacobian of the endeffector Virtual Manipulator, with the
first link fixed. (This is equivalent to a fixed attitude spacecraft). °D is the 3x3
inertia matrix of the whole system expressed in the spacecraft frame at the system
CM , while °Dq is a 3xN matrix and corresponds to the inertia of the system' s
moving parts. All the matrices in Equations (34ab) depend on the system configu
ration q. only.
°
Equation (33c) can be used to eliminate the spacecraft angular velocity roo from
Equations (33ab), and hence to derive the freefloating system Jacobian l, defmed in
Equation (I) as:
(35a)
(35b)
87
(35c)
t t
Both and 0 are 6xN matrices. Note that if N is equal to six. then J. is square
and. if not singular, can be inverted. Note also that diag(To,T0) is always non
singular, because To is always nonsingular. If N is less than six. it is not possible
to follow any given endeffector trajectory while, if N is greater than six. the
manipulator is redundant and a generalised inverse technique can be used. We will as
sume in the rest of the paper that N is equal to six (no redundancy) unless it is
otherwise noted. If t is going to be used for planning, To must be updated as the
system moves. The new e and n are computed according to Equation (36) given
below, see [16]:
e = 1/2 [ eX + n 1 ] °Olo (36a)
t
The singularities of for a freefloating space system are obtained by examining
Equation (35). First, it can be seen that the term diag(To,T0) is always square and
t °t
invertible. Thus, any singular points of are due to singular points of (q) which
can be found from the condition:
detft(q)] =0 (37)
Equation (37) proves that all singularities are functions of the manipulator con
figuration with respect to its spacecraft, namely to the joint angles q, not to the
spacecraft attitude. These singularities correspond to singular points in the
manipulator's joint space. From Equations (3), (11), (24) and (25), the position of
the manipulator workspace follows as a function of both the joint angles q and the
spacecraft attitude e,n:
(38)
In general, due to the system's redundant nature, each point in the manipulator
workspace can be reached with infinite system configurations q and spacecraft
attitudes (e,n). Singular points in joint space cannot be mapped into unique points
in the workspace. Furthermore, given an initial position of this system and both the
fmal inertial position and orientation of its endeffector, both the final manipulator
configuration and the spacecraft attitude is a function of the selected path to reach that
endeffector position and orientation. This property is due to the nonintegrability of
the angular momentum equation as given by Equation (33c). Therefore, an endef
fector position in the workspace can be singular or not depending on whether it
reaches this point in a singular configuration. Thus the freefloating manipulator
singularities in the workspace are path dependent.
In addition, °t(q) in Equation (35c) depends on both the kinematic and mass
properties expressed by the submatrices °J12 and °J22, and on the inertia distribution
of the manipulator and the spacecraft, see Equations (23) and (34). As noted earlier,
all °D IJ.. matrices are functions of the system configuration and, hence, this
distribution is configuration dependent. As a result, any singular configurations
cannot be predicted by examining the kinematic structure of the manipulator alone.
Since the singularities of t depend on the system's dynamic parameters, its mass
and inertia properties, we call them dynamic singularities.
where:
(39b)
where 0, ql and q2' are defmed in Figure 3, SI = sin(ql)' Cl2 = cos(ql+(h) etc. The
inertia scalar sums D, Do' D, and D2 are defmed in the Appendix, see Equation (AI3),
°• •
and a iii ro = 0.426 m, ~ iii r l =0.894 m, and 'Y iii 2c2• + r2 =0.968 m. Smce
. each Dj
(i=O,l,2) and D are functions of q, the Jacobian elements are more complicated
90
(40)
Singular Configuration
q = 65.00°
1
q 2 =1141°
•
2 OOF Manipulator
Spacecraft
/
Available din:ction of motion /
.
T a bl e I Tb e system parameters.
Body Ii (m) ri (m) mi (Kg) Ii (Kgm')
0 .5 .5 40 6.667
1 .5 .5 4 0.333
2 .5 .5 3 0.250
In order to invert J" given by Equation (38). the 2x2 matrix. 0J"(q). must be
inverted First its determinant becomes zero when:
The values of ql and qz which satisfy Equation (41) and result in dynamically singular
configurations can be plotted in joint space as shown in Figure 4. This Figure also
shows that conventional kinematic singularities like ql =klt. qz=k1t. k::{),± 1•... still
91
I~~~~~r~
17S
170
~
15
Fixedbase Manipulator
10
Kinematic Singularities
15
~
170 FreeRoating Manipulator
Dynamic Singularities
17S
110 +.,.1.........,....,....;;;...
110 90 o 90 180
q I (del1,reeS)
direction for the endeffector motion. The inertial motion of the endeffector in this
configuration will be the shown, no matter how the joint actuators are driven. The
best a control algorithm can do is to follow the available direction. All algorithms
that use a Jacobian inverse, such as the resolved rate or resolved acceleration control
algorithms, fail at such a point. Ones that use a pseudoinverse Jacobian or a
Jacobian transpose will likely follow the available direction, but may result in large
unrecoverable enurs.
(42)
92
where xdea is the inertial desired point location. The matrices Kp and Kd are
diagonal. Note that this algorithm specifies the desired endeffector location; the path
of the endeffector to this desired location is not specified in advance. If the control
gains are large enough, IIlen the motion of the endpoint will be a straight line. The
torque vector't is nonzero until the (xdaI  x) and it are zero or until the vector in the
brackets in Equation (42) is in the null space of t T •
Figure 5 shows the motion of the endeffector from the initial location at point
A (2,0), towards the final location at point D (1.5.1.5). The control gain matrices
are Kp =diag(5,5) and Kd =diag(lS.lS). Initially the endeffector path is initially
almost a suaight line. However. once the manipulator assumes a dynamically
singular configuration at point B in Figure S, the endeffector cannot move towards
its desired position; rather it moves along the available direction converging finally
to point C, for which (xdes  x) is in the null space of JT • Any further motion
beyond C is impossible. Figure 6 shows the time history of the spacecraft attitude
and manipulator joint angles. The system reaches a dynamically singular
configuration in about 5 seconds and thereafter oscillates about singular
configurations until it finally converges to point C. Note again that an algorithm
using a Jacobian inverse would fail at a location like point B.
1.5 ®
... FilIal Desired Position
•••
g
>.
1.0
••
0.5
o +~~r_~~~
1.3 1.5 1.7 1.9 2.1
x (m)
Figure 5. Dynamic Singularities result in large tracking errors.
93
loo~~
; 0
.
<:F
CD
.
100 +~_r____l
o 10 20
Tune (8)
1.
The symbol denotes a vector's length. Equation (43) also defmes a spherical shell
in inertial space with its center at the eM and with a radius R. Hence. each singular
configuration qs is mapped according to Equation (43) to a spherical shell in inertial
space. By the same token, each hypersurface Qs,i is mapped according to Equation
(43) to a volume contained within the spherical shells with radii:
R.
mm,i =
min R(q) (i=l,2, ... ) (44a)
qeQ.i
All workspace points that belong in this volume can be singular if they are reached
in singular configurations qs' As shown earlier, this may happen or not depending
on the path taken by the manipulator's endeffector. If there is more than one
singular hypersurfaces, then there are more such volumes containing points that can
lead to singular configurations. We call the union of all these volumes a Path
Dependent Workspace (PDW). The Path Dependent Workspace contains all reachable
workspace locations that may be reached in singular configurations. depending upon
the path taken by the endeffector. It follows that locations in the PDW can be
reached with some paths but not with others; this justifies their name. In order to
reach points belonging to the PDW, carefully selected paths must be employed.
Subtracting the PDW from the reachable workspace results in the Path
Independent Workspace (PlW). Due to its construction, this workspace region
contains all reachable workspace locations that will never lead to dynamically
singular configurations. It follows that all points in the Path Independent Workspace
can be reached by any path, assuming that this path lies entirely in the PIW. It can
be shown that the PIW is a subset of thefree workspace defined by Vafa [15,5]. PIW
or PDW spaces may reduce to zero depending on the case. A clear goal for the de
signer is to reduce the PDW and increase the PIW.
The construction of the PIW and PDW workspaces is demonstrated using the
system illustrated in Figure 3. The distance R of the endeffector from the system
eM given by Equation (43) is written as:
95
For this example, there are two hypersurfaces Q. which are lines in the joint space
(see Figure 4), and are found according to Equation (41). Each of these lines
corresponds to pairs of q, and q2' which are substituted in Equation (45). Then, the
conditions in Equations (44ab) result in two Path Dependent Workspaces,
constrained by (Rmin.,' Rmax,,) and (Rmin.2' Rmax.2) respectively:
R.
mID.
, = 0.352 m =a+~'Y (46a)
The PIW is then found by subtracting the two PDW regions dermed above from the
reachable workspace, see Figure 7. In general, the PIW is smaller than the free
workspace defined in Reference [5], although in this case it is equal to it When the
endeffector path has points belonging to the PDW, such as path A in Figure 7, the
manipulator may assume a dynamically singular configuration because points in the
PDW region can be dynamically singular, depending on the path. On the other hand,
paths totally within the PIW region, such as path B, can never lead to dynamically
singular configurations.
3r.,
System Center
of Mass
2
Path Dependent
Workspace (PDW)
·1 D Path Independent
Workspace (PIW)
Reachable Workspace
Boundaries
·3 +rr+...ri
·3 ·2 ·1 o 2 3
x (meters)
Finally, for the case where the manipulator acts in a plane, it can be shown that
if the manipulator is mounted at the spacecraft's center of mass, the PIW is equal to
the reachable workspace and the PDW is eliminated [14,15]. For the example
discussed in Section IV, if °r~ or a are zero, the only singular configuration that
exists is at q2 equal to k1t (k=O,±l,...), see Equation (41). This is a kinematic
singularity and corresponds to the reachable workspace boundaries. If °r~ or a
approach zero, then the two circles that define the PIW, shown in Figure 7, approach
the reachable workspace boundaries, see Equations (46); hence the dynamic
singularities become less in}portant. In some cases it may be possible to use com
binations of the various techniques discussed. For example, a system may be
designed to have a large moment of inertia about one axis while the manipulator arm
is mounted near the spacecraft eM in the other two dimensions.
VII. Conclusions
A general formulation describing the motion of a space manipulator system is
presented. The system Jacobian is derived for a freefloating system where spacecraft
position and attitude are not controlled. This Jacobian can be singular in configura
97
tions that are distinct from the usual kinematically singular configurations: a free
floating manipulator system exhibits singularities due to the dynamic coupling
between link motions and the spacecraft. These singularities are called dynamic
singularities and can be a serious problem for all planning and control algorithms
that do not assume active control of spacecraft attitude. Consequently, their effects
must be considered in the design of such systems.
Acknowledgements
The Support of this work by NASA"s Langley Research Center, Automation
Branch, under Grant NAGI80l, is acknowledged.
References
[1] Dubowsky, S., Vance, E., and Torres, M., "The Control of Space
Manipulators Subject to Spacecraft Attitude Control Saturation Limits,"
Proc. of the NASA Conference on Space Telerobotics, JPL, Pasadena, CA,
Jan. 31Feb. 2, 1989.
[2] Dubowsky, S., and Torres, M., "Path Planning for Space Manipulators to
Minimize the Use of Attitude Control Fuel," Proc. of the International
Symposium on Artiflciallntelligence. Robotics and Automation in Space (1
SAIRAS), Kobe, Japan, November 1990.
[3] Longman, R, Lindberg, R, and Zedd, M., "SatelliteMounted Robot
ManipulatorsNew Kinematics and Reaction Moment Compensation," The
International Journal of Robotics Research, Vol. 6, No.3, pp. 87103, Fall
1987.
[4] Vafa, Z., and Dubowsky, S., "On the Dynamics of Manipulators in Space
Using the Virtual Manipulator Approach," Proc. of Ihe IEEE International
Conference on Robotics and Automation, Raleigh, NC, March 1987.
[5] DUboWsky, S., and Vafa, Z., "A Virtual Manipulator for Space Robotic
Systems." Proc. of Ihe Workshop on Space Telerobotics. Pasadena. CA.
January 1987.
[6] Vafa, Z., and Dubowsky, S., "On the DynamiCS of Space Manipulators
Using the Virtual Manipulator, with Applications to Path Planning," The
98
Journal of Astronautical Sciences, Vol. 38, No.4, OctoberDecember 1990,
pp.441472.
[7] Vafa, Z., and Dubowsky, S., ''The Kinematics and Dynamics of Space
Manipulators: The Virtual Manipulator Approach," The International Journal
of Robotics Research, Vol. 9, No.4, August 1990, pp. 321.
[8] Alexander, H., and Cannon, R., "Experiments on the Control of a Satellite
Manipulator," Proc. of 1987 American Control Conference, Seattle, WA,
June 1987.
[9] Umetani, Y., and Yoshida, K., "Experimental Study on Two Dimensional
FreeFlying Robot Satellite Model," Proc. of the NASA Conference on
Space Telerobotics, Pasadena, CA, January 1989.
[10] Masutani, Y., Miyazaki, F., and Arimoto, S., "Sensory Feedback Control for
Space Manipulators," Proc. of the IEEE International Conference on
Robotics and Automation, Scottsdale, AZ, May 1989.
[II] Nakamura, Y., and Mukherjee, R., "Nonholonomic Path Planning of Space
Robots," Proc. of the IEEE International Conference on Robotics and
Automation, Scottsdale, AZ, May 1989.
[12] Hooker, W., and Margulies, G., "The Dynamical Attitude Equations for an n
Body Satellite," The Journal of Astronautical Sciences, Vol XII, No 4,
Winter 1965.
[13] Wittenburg, J., Dynamics of Rigid Bodies, B.G. Teubner, Stuttgart, 1977.
[14] Papadopoulos, E., and Dubowsky, D., "On the Dynamic Singularities in the
Control of FreeFloating Space Manipulators," Proceedings of the ASME
Winter Annual Meeting, San Fransisco, December 1989.
[IS] Papadopoulos, E., "On the Dynamics and Control of Space Manipulators,"
Ph.D. Thesis, Department of Mechanical Engineering, MIT, October 1990.
[l6J Hughes, P., Spacecraft Attitude Dynamics, John Wiley, New York, NY.
1986.
[17] Craig, J.,lntroduction to Robotics, Mechanics and Control, Addison Wesley.
Reading. MA, 1986.
Appendix A
The planar two link system shown in Figure 3 assumes the two coordinates of the
endeffector, x and y, are controlled by the two manipulator joint angles. ql andq2.
Endeffector orientation is not controlled for this two DOF system (N=2), hence
Equation (1) for this system is simply:
• d T.'
X = 1£ = Ci [x, y] = J q (AI)
with:
(A2)
99
T
q = [ql'q21 (A3)
where 0 denotes the spacecraft attitude. as shown in Figure 3. For this example. the
transformation matrix from the spacecraft frame to the inertial frame. To' is given by:
COS(9) Sin(9)]
To(9) = Rot(9) = [ (AS)
sin(O) cos(9)
Only the planar subpart of the transformation matrices is used for simplicity. The
transformation matrices Oy,I are found according to Equation (25):
Oyl = Rot(ql)
Oy2 = Rot(ql)Rot(q2) (A6)
The following demonstrates the construction of the system inertia matrix. The
matrices in Equation (A4) are assembled by first expressing all Vik in Equation (12)
in the frame of the ith body. according to Equations (7)(9). For the sake of
simplicity we assume that all r,I and I.I are parallel to, the x axis of the ith frame.
Hence. only the xcomponent of the barycentric vectors IVik is nonzero and given by:
o. 1
ro = MroIDa
oCo= 1
•  M rO(m l+m2)
1
~=  Mro(ml+~) 10
I r•
l = ~ {rl(mo+ml)+llmo}
1
I c•
i = M (11 IDar I~)
III• =  M1 { l/ml+~)+rlm2 }
1
2r•
2 = M 12(mO+m l ) + r2
2S=
• 1
M1z(mo+m l )
1
2~ = M12m2 (A7)
100
For the planar case, the inertia matrices lIoij corresponding to Equation (3) reduce to
the scalars O~j and are given by:
o mO(ml+~) 2
"m = 10+ M fo
(A9)
Both iU.1 (i=1,2) vectors in Equation (17) are equal to [00 I]T; the of.1 matrices reduce
to:
~l = [1 0]
~2 = [1 I] (AlO)
(AI2)
2
°DjE OJ = ~ °dij 0=0,1,2), °D E 0= 00 + 01 + 02' °D, = [°1+°2 02] (Al3)
10
where SI IE sin(ql)' el2 E COS(ql~) etc. Finally, the system Jacobian t is assembled
from Equations (A4) and (A7)(AI3) and given as Equation (38).
NONHOLONOMIC MOTION PLANNING
OF FREEFLYING SPACE ROBOTS
VIA A BIDIRECTIONAL APPROACH
tDepartment of MechanoInformatics
University of Tokyo
731 Hongo, Bunkyoku
Tokyo 113, Japan
tDepartment of Mechanical Engineering
Naval Postgraduate School
Monterey, CA 93943
USA
Abstract
© 1991 IEEE. Reprinted with pennission, from IEEE Transactions on Robotics and
Automation, Vol. 7, No.4, pp. 500514, 1991.
102
1. Introduction
With advances in space applications, robotization has been realized as a
key to make space missions safe and cost effective. A free flying robot consisting
of two or more manipulators mounted on a space vehicle, has been conceived
by NASA for performing various tasks in space. The kinematics and dynamics
of such robotic systems have intrinsic features due to micro gravity and mo
mentum conservation. Additionally, the preciousness of jet fuel necessitates
the control of the system without using reaction jets.
Alexander and Cannon (1987) discussed and experimentally demonstrated
the computation of joint torques for manipulator endpoint control using known
thrust forces of the vehicle. Vafa and Dubowsky (1987) and Vafa (1987) pro
posed a novel concept to simplify the kinematics and dynamics of space robot
systems. A virtual manipulator is an imaginary manipulator that has simi
lar kinematic and dynamic structure to the real vehicle/manipulator system
but is fixed at the center of mass of the whole system. By solving the mo
tion of the virtual manipulator for a given end effector motion, the motion of
vehicle/manipulator system can be obtained straightforwardly. Umetani and
Yoshida (1987) proposed a method to continuously control the end effector
without actively controlling the vehicle thrust forces. The momentum conser
vations for linear and angular motion were explicitly represented and used as
constraint equations to eliminate the dependent variables and obtain the gener
alized Jacobian matrix that relates the end effector motion to the joint motion.
Longman, Lindberg, and Zedd (1987) also discussed the coupling of manip
ulator motion and vehicle motion. Miyazaki, Masutani, and Arimoto (1988)
discussed a sensor feedback scheme using the transposed generalized Jacobian
matrix.
The linear and angular momentum conservation equations have been used
by various researchers to eliminate dependent variables (Umetani and Yoshida
1987; Miyazaki, Masutani, and Arimoto 1988). Although both of them are
represented by equations of velocities, the linear one is exhibited by the motion
of the center of mass of the whole system, and can therefore be represented by
equations of positions instead of velocities. This implies that the linear momen
tum conservation equations are integrable and hence are holonomic constraints.
On the other hand, the angular momentum conservation equations cannot be
represented by their integrated form, which means that they are nonholonomic
constraints. Vafa and Dubowsky (1987) proposed cyclic motion of the manipu
lator joints to change the vehicle orientation. This illustrated the possibility of
utilizing the nonholonomic mechanical structure of space vehicle/manipulator
systems. However, this scheme has to assume small cyclic motion to neglect a
nonlinearity of order greater than two, and it therefore requires many cycles to
make even a small change in vehicle orientation. Furthermore, the scheme has
an inherent drawback  only multiples of the change in vehicle orientation due
to a single cycle can be attained.
For an nDOF manipulator on a vehicle, the motion of the end effector
is described by n+6 variables, n of the manipulator and 6 of the vehicle. By
103
2.1 Nomenclature
frame! Inertia frame.
frame V Vehicle frame.
frameB Manipulator base frame
frameE Manipulator end effector frame
frameK kth body frame. The kth link frame of the manipulator for k
= 1,· .. ,n. The nth link frame is identical to the manipulator
end effector frame. The vehicle frame for k = O.
Degrees of freedom of the manipulator.
Unit vector in the direction of the zaxis of the coordinates
of the kth link and represented in the inertial frame. (m)
Mass of the kth body (kg). The Oth body is the vehicle. The
kth body (k ~ 1) is the kth link of the manipulator.
Position vector from the origin of the inertia frame to the center
of mass of the kth body represented in the inertia frame. (m)
Position vector from the origin of the manipulator base frame
to the center of mass of the kth body and represented in the
manipulator base frame. (m)
Angular velocity of the kth body in the inertia frame. (rad/s)
Inertia matrix of the kth body about its center of mass in the
kth body frame. A constant matrix. (kgm 2 )
104
Inertia matrix of the kth body about its center of mass in the
inertia frame. (kgm 2 )
81 E Jl6 Linear velocity of the center of mass, and angular velocity of
the vehicle in the inertia frame. (mis, rad/s)
(}2 E Ir' J oint variables (ql, ... , qn) of the manipulator. (rad)
lAB E R 3 x3 Rotation matrix from the inertia frame to the manipulator
base frame.
Rotation matrix from the inertia frame to the kth body frame.
=
(The vehicle frame for k 0, the kth link frame of the
=
manipulator for k 1,· .. ,n).
Jacobian matrix of the position and orientation of the center
of mass of kth body (k = 1"", n) in the inertial frame. (m)
i x i identity matrix.
zyx Euler angles.
(1)
L
n
elk IWI: + mk Irk x Irk) = 0, (2)
1:=0
The vehicle and manipulator motions are described by the following 81 and
(}2.
(3)
(4)
Irl:=lrO+IWoXe1'I:I1'O)+(E3 O)J~82
(5)
= (E3 _I HoI: ) 81 + (E3 0) J; 82
where I ROI: and 11'01: are defined by
0
I t:. I
Bol: = ( ;ol:z (6)
 r01: 1I
(7)
IA I: 1:1I: IA I: T
II1: (8)
I _ { ( 0 E3 ) 81 for k = 0
wI:  I I: I . (9)
WO+E j =l %jlqj fork=l,···,n
By substituting Eqs.(5) and (8) into Eqs.(l) and (2) and summarizing them in
a matrix form, the linear and angular momentum conservations are represented
by the following equation.
(10)
where,
Hl~
E~=ornI:E3  E~=o rnl: I HoI: )
( (11)
E;=ornl: I R" E~=o I AI: I: II: I AI: T  E;=o rnl: I RI: I ROI:
(12)
and where
(13)
106
P ~ (PI P 2 . •. Pn ) (14)
The pure geometrical relationship between the end effector motion, and
81 and 82 is described in the following form
(15)
where J 1 and J 2 are the Jacobian matrices that do not take into account of
the momentum conservations. In Eq.(lO), HI E R6 x6 is always nonsingular.
8
This can be explained as follows. For 2 = 0, the momentum of the system
would be given as H 1 81 • Now, for nonzero 1 , it is physically impossible for
8
the momentum to be zero. This physically signifies that the matrix HI has no
null space and is hence invertible. Therefore, Eq.(10) is identical to
. 1'
8 1 = HI H 2 8 2 (16)
Substituting Eq.(16) into Eq.(15) offers
ZE = (J H 1 1
1H
2 + J 2) 82 = J8 2 (17)
Umetani and Yoshida (1987) named the coefficient matrix of the above
equation as the generalized Jacobian matrix. In this derivation, the momentum
conservations of Eq.(10) were used as constraints equations to eliminate the
dependent variables.
1
T" = IA B B ri: + 1 ro (19)
where lAB is a function of the vehicle orientation and B T" is a function of
the joint variables of the manipulator. Knowing the vehicle orientation, the
107
joint variables, and the initial position of the total center of mass, the vehicle
position Iro can be obtained by substituting Eq.(19) into Eq.(18). Therefore,
the linear momentum conservation is considered a holonomic constraint because
it is integrable.
Although Eqs.(l} and (2) are both represented by velocities, Eq.(2) can not
be analytically integrated, and therefore it is a nonholonomic constraint. The
rigorous mathematical definitions and proof of the nonholonomic constraints
are given in section 3.3. The physical characteristic of the nonholonomic con
straints are exhibited by the fact that even if the manipulator joints return to
their initial configuration after a sequence of motion, the vehicle orientation
may not be the same as its initial value. In section 4, we propose to con
trol both the independent and dependent variables by directly controlling the
independent ones only.
(20)
(21)
(22)
0,/3, and 'Yare the zyx Euler angles of the vehicle with respect to the inertia
frame. The relationship between the Euler angles and I Wo is given by
(23)
where
sIno coso: cos/3 )
coso sino: cos /3
o sin/3
The system equation becomes
108
z=Ku (24)
where
(25)
aX2X ax1X
X 2] = 
[X 1  1  a~ 2 (26)
, a~
Definition 2. (Involutivity)
A distribution ~ is said to be involutive if and only if the Lie Bracket of any
pair of vector fields in ~ is also in ~.
Definition 3. (Holonomy)
109
For the system defined by Eq.(24), the column vectors of matrix K define
the linear space of the feasible velocity of the system. Accordingly, we can
choose them as a set of vector fields. From Eq.(25) K has the following form
K~ 1'1 (28)
(29)
and e, E Rn is a unit vector with one as the ith entry. It is clear from
Eq.(28) that Xi, (i = 1,2, .. ·, n) are linearly independent. Consequently, the
Lie Brackets of the set of vector fields take the following form:
(30)
Since the Lie Bracket has zeros after the third component, it is obvious
from Definition 2 that the system is involutive if and only if Pi'S are all zero.
Therefore, to prove the nonholonomic nature, it is sufficient from Definition 3
to show that at least one Pi has a nonzero value at least at one configuration.
We computed the values of Pi'S for a numerical model of space robot with non
trivial mass distribution. Figure 2 shows the structure and configuration of
the space robot, whose kinematic and dynamic parameters are given in Tables
1, 2, and 3. The manipulator has PUMAtype structure with 6 DOF. The
values of Pi'S are given in Table 4, where i and j represent the combination
of Lie Brackets. From the table we can conclude that the space robot model
110
v= !AzTAAZ (31)
2
Az =ZdZ (32)
=
where A is a positive definite constant matrix. Clearly, v 0 is attained only
when Zd = z. Zd is the goal of the state variable. The time derivative of v
becomes
(33)
where Eq.(24) was substituted. We proposed the following determination of
the input (Nakamura and Mukherjee, 1989):
(34)
Consequently, the rate of change of the Liapunov function becomes
(35)
If Eq.(35) is negative definite with respect to Az, then Liapunov's theorem
(Liapunov 1892) can conclude its global stability. However, this is not the case
in our problem since (AK)T in Eq.(34) has a null space which is three dimen
sional and any Az lying within this space results in v = o. It may be useful
to recollect LaSalle's theorem (LaSalle and Lefschetz 1961) at this juncture.
According to the theorem, we can conclude that the system is stable if the
maximum invariant set consists of only the trivial solution. Clearly, the max
imum invariant set comprises of the entire null space of (AK)T. Therefore,
LaSalle's theorem cannot be used to conclude the stability of the system.
We have tried many different approaches including (Nakamura and Mukher
jee, 1989) to avoid the null space within the framework above mentioned. How
ever, the numerical simulation was always drawn by the null space and was
unable to move from there except for some trivial cases. Finally, we end up
with what we call the BiDiredional Approach.
112
(37)
(38)
Note that v becomes zero only when Zl = Z2. The rate of change of the
Lyapunov function is
(39)
where
(41)
where (AK)# is the pseudoinverse of AK. From the properties of the pseu
doinverse, we can show that the choice of inputs as Eq.(41) results in
iJ = _~ZT AK(AK)#~z
(42)
= ~zT{AK(AK)#}TAK(AK)#~z:5 0
Accordingly, if we can show that the equality of the above equation holds only
when ~z = 0, it is guaranteed that the two robot systems necessarily meet
from Liapunov's theorem.
Since the null space of (AK)# is the same as that of (AK)T, we can
claim the negative definiteness of iJ if (AK)T E R2nx (n+3) has no dependent
column vectors. Since A is positive definite, the above condition is equivalent
to that KT has no dependent column vectors.
From Eqs.(25) and (40) K is represented by
(43)
113
where KOi E R 3xn is the submatrix consisting of the first three row vec
tors of K i . From the structure of Eq.(43), it is understood that rank(K) is
n + rank(Kol  K 02 ), which implies that the dimension of the null space of
(AK)T is less than three if K01 and K02 are not equivalent. The null space
becomes even trivial if rank(Ko1  K 02 ) is three. It is expected that K01
and K02 should be different if the two state variables ::e1 and ::e2 are not the
same. Therefore, we claim that Eq.(41) has less of a chance to be stuck at the
null space than Eq.(34). We once again refer to LaSalle's theorem here. In this
context we note that the maximum invariant set with the particular choice of
input as in Eq.(41), comprises all of the null space of (AK)#, which has a
dimension less than three.
If the Liapunov function of Eq.(37) converges to zero at t = tf, using the
obtained trajectories of two systems, namely, ::e1(t) and ::e2(t) (0 ~ t ~ tf),
we can synthesize the trajectory of the original single space robot system that
connects the initial state and the goal state, as follows:
(45)
5. Numerical Simulation
In order to investigate the effectiveness of the BiDirectional Approach we
have done numerical simulation using the same model as in Fig.2. The following
two cases are shown in this section:
::e(0) = ( 5 5 5 90 0 30 15 0
CASE A: { (46)
::ed=(5 5 5 75 0 0 15 30
6. Conclusion
This paper discussed the nonholonomic mechanical structure of robot sys
tems in space. A rigorous mathematical proof of the nonholonomic nature of
freeflying space robot systems was provided using the Frobenius's theorem.
A method for the nonholonomic motion planning for space robot systems was
then established. The BiDirectional Approach significantly reduced the chance
for the computation to be stuck at the null space.
The utilization of the nonholonomic mechanical structure will play an im
portant role to broaden the capability of space robot systems.
The future research issues include the utilization of nonholonomic redun
dancy, and the discussion of the reachability to clarify the class of reachable
state variables.
ACKNOWLEDGEMENT
This research was supported by the National Science Foundation under
Contract number 8421415. Any opinions, findings, conclusions, or recommen
dations expressed in this publication are those of the authors and do not nec
115
References
Alexander, H.L., and Cannon, R.H., 1987 (Seattle), Experiments on the control
of a satellite manipulator, Proc. 1987 American Control Conference.
Denavit, J., and Hartenberg, R.S., 1955, A kinematic notation for lower pair
mechanisms based on matrices, J. Applied Mechanics, 22.
Goldstein, H., 1980, Classical mechanics, second edition, Addison Wesley.
Isidori, A.,1985, Nonlinear control systems: An introduction, Lecture notes in
control and information sciences, SpringerVerlag.
LaSalle, J., and Lefschetz, S.,1961.,Stability by Lyapunov's Direct Method with
Applications,New York: Academic Press.
Ligeois, A. 1977, Automatic supervisory control of the configuration and be
havior of multibody mechanisms, IEEE Trans. System, Man and Cybernetics,
SMC7 (12): 868871.
Longman, R.W., Lindberg, R.E., and Zedd, M.F., 1987, Satellitemounted
robot manipulators: New kinematics and reaction moment compensation, In
ternational Journal of Robotics Research. 6 (3): 87103.
Lyapunov, A.M., 1892, On the general problem of stability of motion, Soviet
Union: Kharkov Mathematical Society, (in Russian).
Miyazaki, F., Masutani, Y., and Arimoto, S., 1988, (Minneapolis), Sensor feed
back using approximate Jacobian, Proc. USAJapan Symposium on Flexible
Automation, pp. 139145.
Nakamura, Y., and Hanafusa, H., 1987, Optimal redundancy control of robot
manipulators, International Journal of Robotics Research, 6 (I): 3242.
Nakamura, Y., Hanafusa, H., and Yoshikawa, T., 1987, Taskpriority based
redundancy control of robot manipulators, International Journal of Robotics
Research, 6 (2): 315.
Nakamura, Y., and Mukherjee, R. 1989 (Scottsdale), Nonholonomic path plan
ning of space robots, Proc. 1989 IEEE International Conference on Robotics
and Automation, pp. 10501055.
Umetani, Y., and Yoshida, K., 1987, Continuous path control of space manip
ulators mounted on OMV, Acta Astronautica, 15 (12): 981986.
Vafa, Z., 1987, The kinematics, dynamics and control of space manipulators:
The virtual manipulator concept, Ph.D. Dissertation, Mechanical Engg., MIT.
Vafa, Z., and Dubowsky, S., 1987, (Raleigh), On the dynamics of manipulators
in space using the virtual manipulator approach, Proc. 1987 IEEE Interna
tional Conference on Robotics and Automation.
116
(i,i) I: = 0 I: = 1 t =2 I: = 3 t =4 t =:; I: = 6
(1,1) 25.000 0.3170 0.0496 0.1910 0.0487 0.02050 0.0145
(2,1) 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0.0000
"It (tgm') (3,1) 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0.0000
(2,2) 25.000· 0.1840 0.4410 0.1910 0.0308 0.02050 0.0145
(3,2) 0.0000 0.0000 0.0000 0.0000 0.0000 0.00000 0.0000
(3,3) 25.000 0.3170 0.4410 0.0821 0.0487 0.00771 0.0103
Table
•• t.
Values of Pi for the Space Robot System in Fig.2 .
orientation (deg): 7.500 10.000 15.000
joint angle (deg) : 0.000 0.000 0.000
0.000 0.000 0.000
1 j pI p2 p3
,
4 5 0.00000150 0.00002255 0.00000665
4 6 0.00000000 0.00000000 0.00000000
5 0.00000111 0.00001302 0.00000346
Endeffector
Frame
Manipulator
EndtlJector
I Inertial Frame
~ ____________c_y
0.15 1+J'++I4l
...
!
e
0.101ll+i+4l
o 2 4 6 B
Urn. (.ec)
a yersus lime
0.15
0.10
~II
r j \ I~h
o 2 4 6 8
time (o..)
, 'feraus lime
0.15
'Q
.;
...
0.10
o 2 4
time (.ec)
6 B
7 venus time
Fig.4. Synthesized trajectory of State variables for CASE A. <a) Vehicle Ori
entation.
120
o' 
I
1 Vf ! / ~ ~
'"
::
J
0
'
~
~
.; .' .:
2
1
3
o 2 4 6 8 o 2 4 6 8
time (He) lime (••• )
2 2
r~ _fr..
\ / \
/~
!.:
o /'"
j \
o
V \:
I I
o 2 4 6 8 o 2 4 6 8
lim. (•• e) lime (He)
2
V\
/\
2
/ ' ..........
\
o
\ I: .: 0
V
1
~\J 1
o 2 4 6 8 o 2 4 6 8
lime (oee) Urn. (•• e)
FigA. Synthesized trajectory of State variables for CASE A, (b) Joint Angles.
121
..
~ ~
... :M f ~ f
r V
"\..~
o • 0
\/ ~
:; \j"
1 1
o 2 4 6 B o 2 4 6 B
Ume (•••) lim. (•• c)
f\
f\
o
f\v / r
\ "
"' V
'\/ ......
I) 1
,
V:
V
1
o 2 4 6 B o 2 4 6 8
time (nc) time (••e)
U. versus lime
...
..::.
• 0
~
"
~
:; ~
1
1~~~++~~
o 2 4 6 B o 2 4 6 8
time (••• )
time (sec)
O. 6 t~+__t__+I_____l
O. 2 t+_+~~_+I_____l
o.0 LL.LJ...........L1..L...LL......lLL...L1.L...J..lLLLL::::..LJ
o 1 2 3 4
time (sec)
0.010

.
I
~
..........
(!.)
(f)
$....
Q)
>
~
......
$....
.rJ
Q)
0.005
S
::J
~
..
0
'
'"0
~
J::
0
u
0.000
0 1 2 3 4
time(sec)
0.4
0.3
!
.. 0.2
•
0.1
0.0
0 20 40
brn.(o.c)
a veflUI lime
0.4
0.3
..
!
....
0.1
20 40
bme(..c)
, ...!'SUI lime
0.3 f      t     t    i
.....
! 0.2~?f~~
0.1 H~++__l
20 40
lim.(oee)
7 wenul lime
Fig.D. S1Dthesized trajeet.or)o of State ftriables for CASE B, (a) Vehicle Ori
entation.
126
. 2.0
. 0,0
..
!
2.5
!
.:
0.5
~l"
J\II"
....1
.....U
:1.0 L.J.L....L......L...JL...&.........'J...l''...L..J
1.0
o 20 40 o 20 40
timo(.ec) lime( .. c)
BI versus lime
2.0 1.5
..
~
1.5 1.0
.!:.
j: .:
~~
1.0 ..,.. 0.5
0.5
..
!
0.0
.: Ilr '1
0.5 20
1.0 30~........~~'~~L~~
o 20 40 o 20 40
lim.( ..c) lim.(uc)
Fig.9. Synthesized trajectory or State variables for CASE B, (b) Joint Angles.
127
"
..
."
4/'M JI~
! 0
:i
"W'f<'"
If ~i
I 1
o 20 40 o 20 40
Urn.{ •• c) lim.{ •• c)
.
,
.,
"'" !~
I
! 0 O~~4+~M
:> .,;
I I~~+~
I
o 20 40 o 20 40
lIm.{.eel tim.{.eel
1
;
\
"
I,
I. i
:< ~
•
"
.t. 0
1 ~
:>.
I I
I
I
o 20 40 o 20 40
tim.{ •• cl lim.( •• cl
0.4 I t       +       I      I
0.3 t  +      I        +       I
0.2 ~+++I
:>
O.lr+I+I
o 10 20
time (sec)
0.005 I I I I I I I I I I I
I 



0.004

........
I
~



.

Q)
[I) 0.003
s...
Q)

> 
c:=
....... ~ 
s... 
Q) 0.002
..0 ,.... f\ 
S  
V~. 
;:l
V,
I
c:=
 
~
0 0.001
.......
.....  

...,.J
'
"0
c:= I

0 r
u
0.000 I I I I I I I I I I I
a 10 20
time(sec)
c. FERNANDES L. GURVITS
LI z.x.
ROBOTICS RESEARCH LABORATORY
COURANT INSTITUTE
NEW YORK UNIVERSITY
Abstract
INTRODUCTION
The second natural case, is when the platform must retain its
attitude at the beginning of the maneuver, but it is desired that
the joint position of the manipulator be changed from some initial
configuration to a different final configuration. That is, we want
a change in the joint angles of the manipulator which does not
change the final attitude of the platform from that at the beginning
of the motion. This case may occur during a repair task.
DYNAMIC MODEL
(
8
COS 1
sin 81
 8 0)
sin 1
cos 81 0 (1)
o 0 1
1 0
( o cos 82 (2)
o  sin 82
135
).
Figure 1: Satellite Platform/Manipulator Arm.
and
r2
o

0
r1 + R2d 1
r~ r~ + 2R2d1 + R3d2 (4)
r~ r~ + 2R2d1 + 2R3d2 + ~d3
where fj = !lli.,
m
i = 1,4 are mass ratios.
136
~) (6)
(7)
(9)
where n = (ni, nr, nr, nrl is the angular velocity vector of the
system and the configuration dependent inertia matrix J E !R12X12
has the form
137
k2,2
k3 ,3
k 4,4
k 2,3
k2,4
k 3 ,4
where
B(x) = [ u(atlJl1[J~bbJ3b2,J4ball
2For any given desired ud E !Jti there exists a computedtorque type of
control law , the so called "Virtual Manipulator Control" in (VD87], realizing it
asymptotically.
139
CONTROLLABILITY
First, let's look at the control equations for the system prior
to parameterization, which can be written in the form
Y u
3
Rl Eh(y)u;, (15)
i=1
Note that not every nonholonomic system has the above prop
erty. But it is possible to prove that the set of socalled triangular
systems do.
the Jacobian
A = ox(T) = of
ocr Ocr
has rank 6, for some cr E ~N. Using model parameters of the
simulation example and the following basis elements for the control
input
u = Eaiei (16)
i=l
for some sequence a = (aI, a2, ... ) E 12, the oodimensional Hilbert
space, the objective function becomes
(17)
and the problem can be rephrased as: Given Xo, x f E lR6 find
a E 12 of minimum cost linking Xo to x J. In other words, the
problem is equivalent to a nonlinear optimization problem in an
oodimensional space. Certainly, solving for the exact solution of
such a problem, if one exists, poses considerable computational
difficulties.
(18)
143
aJ 1 a2 J 3
 J(a n ) + (aa,6) + "2{ao/5,6} + 0(11 611 )
 J(a n ) + 2(yAT(f(an )  XI) + an, 6) (19)
6
+ {(I + ,AT A +, L(fi(a n )  x{)Hi))6, 6} + 0(11611 3 )
i=l
where
A = aa
aI I
On
6xN
ER
d 2Ii a .
an Hi = aa 2 ' z = 1, ... 6
and
(21)
(23)
yet) = ax(t)
aa
at t = T. Also note that
X = B(x)~an, x(O) = xo
{ (24)
Y. = (3
Ei=l azUi Y + B~,
aBi )
YeO) = O.
Step 2: Examine x(T) and cost IN,..,. If the results are not satis
factory, repeat Step 1, otherwise exit.
146
SIMULATION RESULTS
For the first problem, the initial and final configurations are
1 ) ( 1.5708 ) ( 1.5708 )
ao = aJ = ( 1 , Bo = 1.5708 , BJ = 1.5708
1 0.5 0.5
where a E ~ are Cayley parameters describing the attitude of the
platform. The final configuration differs from the initial configu
ration by a rotation by 7r of the manipulator arm about its first
link, while the platform attitude remains the same.
and the remaining terms are obtained by permuting the rows of the
above elements. Time is scaled so that T = 271". The equations de
scribing the system are derived using Mathematica and the results
are automatically converted into C code (see Section for more de
tails of the simulation procedure). The Jacobians 8t!i, i = 1, ... 3
are symbolically computed.
... 

Figure 2: Platform / Manipulator System (Optimal Control).
11 oJ
oJ
2
.u
•

IZ
4.
4A
4~
I
u
u
LU
oJ
u.
....,
<1.1

oJ
1.1
.... ollIS
.u
.... 62S
..... <I.J
ollIS
UR
4A
4o'
 •

D.II. 45
For the second problem, the initial and final configurations are
i JL A error lIaill
1 0.1 20 2.8704 0.458258
2 0.1 20 2.73484 0.439868
3 0.2 100 2.62208 0.535898
4 0.2 100 2.24871 1.37624
5 0.2 100 1. 77351 1.22587
6 0.3 400 1.40023 1.1599
7 0.3 400 0.945712 1.17124
8 0.3 400 0.664884 1.22836
9 0.3 400 0.466903 1.26291
10 0.3 600 0.327688 1.28625
11 0.3 600 0.22986 1.3025
12 0.3 600 0.161237 1.31366
13 0.3 600 0.113128 1.32126
14 0.3 1000 0.0794131 1.32637
15 0.3 1000 0.0557342 1.32989
16 0.3 1000 0.0391457 1.3322
17 0.3 2000 0.0275256 1.33369
18 0.3 2000 0.0193448 1.33472
19 0.3 2000 0.0136146 1.33534
20 0.3 2000 0.00960138 1.3357
21 0.3 2000 0.00679067 1.33588
22 0.3 2000 0.00482283 1.33594
23 0.3 2000 0.00344563 1.33593
24 0.3 4000 0.00248283 1.33588
25 0.3 4000 0.00178623 1.33584
26 0.3 4000 0.00129915 1.33577
27 0.3 4000 0.000959074 1.33569
28 0.3 4000 0.00072161 1.3356
29 0.3 4000 0.000556402 1.33551
~~ ~~ ®~ ~~
~~ \g. \~ ~.
'e~ ~~ ~~ ~.
~~ ~~ ~!& ~g5
o.

oJ


Figure 5: Platform / Manipulator System (Optimal Control).
153
al d

ol
·'.
IS
"
a
o.s
.5
·(U
.o.J
1
15
1
a
. ..
·u
• .... 0
03
0 ..
1
 
Figure 6: Platform / Manipulator System (Optimal Trajectory).
154
SIMULATION SYSTEM
COMPUTATIONAL HARDWARE
SOFTWARE COMPONENTS
get, y, iI) = O.
SIMULATION PROCEDURE
SYMBOLIC COMPUTATION
GRAPHICAL DISPLAY
OTHER LIBRARIES
The library greatly reduces the debugging effort for new exam
ples.
160
CONCLUSION
References
[AM78] R. Abraham and J. Marsden. Foundations of Mechan
ics. Benjamin/Cummings Publishing Company, 2nd
edition, 1978.
Abstract
arm and the base satellite into account, the present authors
investigate kinematics and dynamics of freeflying multibody
systems by introducing a momentum conservation law into
the formulation, and propose a new Jacobian matrix in a
generalized form. By means of it, Resolved Motion Rate
Control method, as well as Resolved Acceleration Control,
is developed for space manipulation. The proposed method
is widely applicable for not only freeflying operation but
also attitude control problems. The validity and effective
ness of the method is exhibited by computer simulations and
experimental study.
Introduction
Various types of space robot systems for this purpose have been de
veloped. Fig.l shows an earlier, but advanced concept of a robotic
teleoperator published in an epochmaking report, [ARAMIS83].
This is an unmanned artificial satellite equipped with several ma
nipulators, which can freely fly on orbit around the earth, work on
space station, and service satellites.
On the other hand, modeling and control methods for freeflying sys
tems have been developed provided that satellite is not controlled
during manipulation. Vafa and Dubowsky [Vafa87] proposed "Vir
tual Manipulator" concept in order to describe geometry of free
flying mechanical links. They applied it to analyze workspaces of
space manipulators, as well as to solve the inverse kinematics.
This paper presents the derivation of the GJM with a latest formu
lation on kinematics and dynamics of the space manipulators, which
may provide an useful information to readers, and exhibits its typi
cal applications to the control problems with computer simulations
and hardware experiments.
169
Modeling
Let link 0 denote a satellite main body, link i (= 1, ... , n) the ithe
link of the manipulator and joint j a joint connecting link iI and
link i.
joint n joint 2
Manipulator
p,
link 0
mj : mass of link i
z
o
x +j.
Basic Kinematics
n
p,. = ro + b o + L Ii (1)
i=1
n
V,. = Vo + Wo x (p,.  ro) + L{~ x (p,.  Pi)}~i (2)
i=l
n
Wn = Wo + Lki~i (3)
i=1
172
vo
v  J [ wo
I
1+ J 4>.
m (4)
where
J
= [E E 1E R '
POr = Pr  (5)
6X6
~ 0 POr ro
and
Equation of Motion
(7)
173
(8)
where n
Hw = :L(I + mif~foi) + 10
j (9)
i=1
=:L(IiJ
n
J Ti =[k x (ri  PI), k2 x (ri  P2),'" ,ki x (ri  pJ, 0, ... ,0] (12)
1
(15)
n
L = E(liwi + ri x mire) (17)
i=O
Rearranging them with Vo, Wo and ;P, we can get the following equa
tion.
n
L = 2)1,  m,fifOi) + 10 (19)
i=1
i=1
(20)
L = Lo +ro x P (21)
v 
Vo
J s [ Wo 1+ J tP.
m
[im  isI~llm]¢
 J* cf> (27)
where
. = ['0E1
Js Js E R6X3 (28)
j m=
 Jm Js [JTW/W
0 1 E R6xn (29)
Is  L + wriog
n
(32)
The second is the case that only the base satellite attitude (not
position) is constrained by external forces and moments of gas jet
thrusters or other devices. In this case, the angular momentum
conservation law is abandoned. If Wo is set to zero in Equations (4)
and (26), the manipulator kinematics becomes
(33)
Control Problems
(34)
(35)
under the condition that the desired hand acceleration Vd(t) is given
in addition to Vd(t).
where V,.d, Wnd, V,.d, Wnd, Prd are desired value, V,., W n , Pr are current
value measured by sensors and K 1 , K2 are the gain matrixes,
180
01
.......
E 0.5
00 5 10
Time (sec)
(b) desired hand velocity along the trajectory IVTdl.
0.5..,......,,.......,
..........
E 0 .,'''''''"."''''''''".,.,.,.,''',,.,.,,''''''''.
..":::::
v
2
0,5 ''_''_'.....1.____'''____''''
o . 5 10
Time (sec)
 Joint 1
......... Joint 2
50
  Joint J
E
z
···
50 ............ .·
........... j
100~~~~~L~~~~~
o 5 10
Time (sec)
 Joint 4
......... Joint 5
  Joint 6
E
z
....... 0
... ..... .. ......
1
5 10
Time (sec)
(38)
We can soon find that remarkably large torques are required at the
186
,
I
.r
I
5 10
Time ( sec)
Experimental Study
Some simulators utilizing the air bearings have been developed re
cently. A research group of Stanford University developed an excel
lent simulation system and obtained good results [Alex87, Kon89].
Our experimental system is basically the same as the Stanford's
model.
Control System
TARGET
Pe HAND
Robot Satellite
Satellite main body
dimension: 300 x 300 mm
weight: 6.3 kg
onboard equipment:
gasbomb type air supply
rechargable batteries
wireless communication system
local servocontroller
Manipulator
dimension: 700mm (350mm for each link)
weight: 1.4 kg
actuator: DC motor+planetary gear train
sensors: potentiometers
tachogenerators
Ground Equipment
Planar base table
dimension: 1800 x 1800 mm
material: planar glass
Measurement and control system
512 x 492 CCD camera (NEC)
Video Tracker (G3100:0KK Inc.)
16bit personal computer (PC9801RA2:NEC)
body No. 0 1 2
ai [m] 0.190 0.162 0.124
bi [m] 0.190 0.188 0.226
m·I [kg] 6.256 0.747 0.620
Ii [kgm2] 0.169 0.0424 0.0141
191
video signals
Fig.lO Control block diagram for the online RMRC with vision
feedback.
Note that the developed control scheme is based on the vision from
the groundfixed camera, however, it is equivalent to measure the
position error between the hand and target p,  Pr by a satel
lite mounted (onboard) camera. It means that the presented con
trol scheme is applicable to fully onboarded autonomous control of
space robots.
v = Pt  Pr + p' (42)
d ot t
With this small modification, the manipulator works very well for
capture operation both of a statonary target and a slowly mov
ing target. Fig.12 shows the experimental result of capturing the
moving target at Pt = 0.05 [m/sec].
To cope with faster moving target than hand velocity, the optimum
rendezvous trajectory and Guaranteed Workspace (GWS) concept
should be introduced [Yo90].
target
llt=O.8 sec
Fig.II Experiment result of the capture operation of the stationary
target.
llt=O.6 sec
1 T 1 {tl ..
C = '2(Y AY)tl + '2 Jto Pr dt (43)
Pe = Pt  Pr
Y = (p;,p;f
A = diag(al, al, all a2, a2, a2)
(al, a2 + 00)
(a) In case the hand is in the GWS, Prd is the desired hand
velocity.
(b) In case the hand is near or on the boundary of the GWS,
modify Prd to a tangent direction as shown in Fig.I4 by
3. Resolve the desired hand velocity into the joint motion com
mand with the GJM by (40). If I¢cl > ¢ma:&, then the com
mand must be modified by (41).
4. Repeat the control process 2. and 3. until the hand meets the
target.
Fig.IS shows one of the results with the target velocity Pt = 0.1
[m/sec], as twice as the experement Fig.I2. The manipulator hand,
which was in the GWS at initial, is moving to leftup of the figure,
then near the boundary of the GWS, it turns along the circle, and
finally catches the target smoothly. In the experiment, the target
moves irregularly by unexpected small externalforces, nevertheless
the hand successfully catches the target, because it is "online"
controlled.
197
target
/.
guaranteed workspace
y P.~ (optimum)
At =0.6 sec
Conclusion Remarks
The authors have in this paper limited discussions within single ma
nipulator systems, however the GJM concept can be easily extended
to a dualarm robot or more complex configurations [Y09I]. Multi
arm space robots will provide us further interesting problems such
as coordination of plural arms to minimize the base disturbance.
199
References
[Alex87] H.L.Alexander, RH.Cannon,Jr: "Experiments on the
Control of a Satellite Manipulator", Proc. of 1981 IEEE
American Conrol Conf. 1987.
[ARAMIS83] "Space Application of Automation, Robotics and Ma
chine Intelligence Systems (ARAMIS) phase II", NASA
CR3734"'J 3736, 1983.
Appendix
p, = Ko [ : 1+ K, [ ~: 1+ K, [ ~: 1 (AI)
assuming the total mass center of the system lies on the origin of
the inertial coordinate system, where
KI  mobo/w
K2  (mOll + m1bd/w
K3  {(mo + ml)l2 + m2b2}/w
w  mO+ml +m2
i
Ci  cos(L <Pi)
i=o
i
Si  sin(L <Pi)
i=o
=
(i 0,1,2, <Po = Qo)
203
. A.ifJo
p,  Ko [ cos
sm 'f'O
1+ (Kl + K2) [ cos
• ifJl 1
sm
A.
'f'l
(A2)
is obtained, where the distance from the origin (total mass center)
to the hand is
where
Abstract
This paper discusses the positioning control problem of space manipula
tors which have no fixed bases. According to the momentum conserva
tion law, the system is represented as a nonholonomic model. Thus the
conventional control method for industrial robots based on local feedback
at each joint is not applicable when the endtip must be positioned at a
floating target. To overcome this problem, first we propose a sensory
feedback control scheme based on an artificial potential defined in the
sensor coordinate frame. The Generalized Jacobian Matrix plays an
important role to determine the control torque of each joint with the
data of external sensors. This scheme is simple and the stability of the
closed loop system is strictly assured. Next we discuss the possibility of
applying an approximate Jacobian, that is, the conventional Jacobian
that needs only kinematic parameters and less computational cost. It is
shown from various aspects that this simplified scheme can be employed
in practical situations.
1 Introduction
Space robots are small spacecrafts equipped with manipulators and visual de
vices, and are thought to perform a wide variety of tasks while flying freely
around the mother ships (Figure 1). One of the differences of space robots
from conventional ones on the ground is that their bases, namely spacecrafts,
are unfixed. Therefore the degreeoffreedom of motion of the whole system
increases by 6. When the endtip must be positioned at a target object float
ing independently of the space robot, one may think that the base as well
as the joints must be controlled. Of course thrusters and reaction wheels are
necessary to translate and rotate the base itself. However, these actuators do
not have enough capacities to cooperate with the joint actuators. Therefore it
206
~
orbit
target
Earth
2 Modeling
In this section, we consider the kinematic and dynamic models of space manip
ulators by using the conservation law of momentum.
208
manipulator
••••
l' eentroid of
the whole system
Rc
E/ inertial
frame
2.1 Kinematics
A space manipulator system in the satellite orbit can be approximately consid
ered to be floating in the nongravitational environment. We treat this system
as a set of n + 1 rigid bodies connected with n joints that form a tree configu
ration. Each joint is numbered in series of 1 to n, and these displacements are
represented by the joint variable vector q = [ ql, q2, ... ,qn ]T. On the other
hand, each body is numbered in series of 0 to n. In particular we call the
number of base body B. The mass and inertia tensor of ith body are denoted
by mi and 1; respectively.
Let us define two coordinate frames. One is the inertial coordinate frame
EI in the orbit; another is the base coordinate frame EB attached on the
base body, whose origin is located at the centroid of base. In this paper, we
express all vectors in terms of frame EB. The reasons why we introduce the
base coordinate frame are to contrast the properties of space manipulators with
that of groundfixed manipulators and to use the data measured in this frame
for the control scheme later. In order to represent the base attitude, we use
three appropriate parameters such as roll, pitch, and yaw denoted by the vector
form 4> E R3.
As shown in Figure 2, let R; and ri be position vectors pointing the
centroid of ith body with reference to frames EI and EB respectively. The
209
relation between them can be written by
(1)
where RB is the position vector pointing the centroid of the base with reference
to El.
Moreover, let Vi and fli be linear and angular velocities of centroid of ith
body with reference to frame El, Vi and Wi be velocities of the same point with
reference to frame EB . They have relations of the form;
where VB and fl B are linear and angular velocities of the centroid of the base
with reference to frame El , and operator 'x' represents outer product of R3
vector. Velocities Vi and Wi can be represented by the forms
where hi and JAi E R 3xn are the Jacobian matrices of ith body.
where B 1; means the inertia tensor in term of the base frame EB. Substituting
equations (1), (2), (3), (4), and (5) into equations (6) and (7) yields
[P]=(
L
HVT
Hvo
Hvo)[VB]+( HV 9)iI+[
Ho flB Hog
0
RB X P
]. (8)
210
i=O,
L j~B
mj[f'jx] E ~X3, (10)
n
L
deC
HVq  mihi E R3xn , (11)
i=O, i~B
n
L + mjD(f'i)} + IB
deC
Hn {B Ii E R3X3 , (12)
j=O, i~B
n
L + mi[f'jx]hj}
def
Hnq {B IjJAi E~xn, (13)
i=O, i~B
where U3 is 3 x 3 unit matrix, and matrix functions [f'x] and D(r) for a vector
argument f' = [r ll , r ll , r z ]T are defined as follows;
rz
[f'X] ~c ( .~ o r ll
r~ ) (14)
rll o
r~rz )
r~rz E ~X3. (15)
r2 +r2
3! II
Because the zero linear and angular momenta are assumed, substituting
P == 03 and L == 0 3 into equation (8) and solving it for VB and (lB result in
VB = HL(q) q, (16)
(lB = HA(q) q, (17)
where
( ~~ ~f (H~~T
) _ inn) 1 ( ~~: ) . (18)
Equations (16) and (17) are the significant and basic relationship for space
manipulators that represents how the base is translated and rotated (VB, (l B)
by the joint motion (q).
The time derivative of base attitude ;p can be linearly transformed into its
angular velocity (l B as follows;
(19)
211
VE = JL(q) q, (21)
nE JA(q) q, (22)
where
deC
JL h + HL  [rEx]HA (23)
~
def
JA JA+HA (24)
and vector r E is the end tip position with reference to the base. Matrices h
and JA are the conventional Fixedbase Jacobian Matrices (FJM) corresponding
to the linear and angular velocities relative to the base respectively. On the
other hand, matrices JL and fA are called the Generalized Jacobian Matrices
(GJM). They are associated with the linear and angular velocities affected by
the motion of base.
It should be noticed that matrices JL aild JA can be expressed as functions
only of the joint variables q in case that both V E and n E are expressed in
terms of the base frame EB. Moreover, equations (23) and (24) show that
GJM is the sum of FJM and the additional terms dependent on the inertial
parameters (mass, inertia tensor, and position of centroid) of each body as well
as its dimensional parameters. If the inertia of base is very large, the additional
term almost becomes zero and FJM can be a substitute for GJM.
212
2.4 Dynamics
Next we derive the equation of motion that is required to discuss the stability
of control scheme proposed later.
The total kinetic energy of the whole system is defined by summing up the
translational energy and rotational energy of each body.
(25)
Hv Hvo
I[VTnT.T]
T = 2 B B q
( H vo T Ho (26)
Hv/ HOqT
where matrix Hq is given by
n
Hq~ E {JA?BldAi+mih?hd EK'xn, (27)
i=O, i¥B
that is the inertia matrix of the groundfixed manipulator [10].
In case that the linear and angular momenta are conserved at zero, the
relevant equations (16) and (17) hold. Substituting them into equation (26),
we obtain the reduced form
H~ d~f

H _ (H T
q Vq flOq
T) (Hv
IT
H T VO
Hvo
HIT·
0 flOq
)1 ( Hvq ) (29)
Therefore the equation of motion for the reduced form can be derived in
the same way as conventional robotics such that
......
H q + H q  oq
;.... 0 {l.2 T ..... }
q H q = 'T, (30)
where each entry of vector 'T ~ [ Tb T2, .•• , Tn ]T is the control input torque to
each joint actuator.
ep def rD  rE E R3 , (31)
def 1
eo 2(nE x nD +SE x SD +aE x aD) (32)
where subscripts 'D' and 'E' represent 'of target' and 'of endtip' respectively.
Unit vectors n., 8., and a. are along the axes of frame ~ •. These deviation can
be actually determined by the data of external sensors such as visual devices
mounted on the base.
We represent a control scheme that uses the abovementioned deviations in
the feedback of the each joint in term of input torque 'T, which is given by
where positive scalars kp and ko are gains for the position and orientation
respectively, and symmetric positive definite matrix Kv E R nxn is the gain for
joint velocities. The block diagram of this scheme is shown in Figure 3. The
controller can determine the input torque of each joint by using the transpose of
214
'I'D
target position
+ 'I'E
endtip position
deviation
of
orientation endtip orientaion
target orientaion
GJM at a small computational cost. Moreover the position and attitude of the
base are not required to be measured, because they are never used in the whole
process of computing the inputs torque. This scheme is originally derived from
an artificial potential defined by the end tip deviations in the sensor coordinate
frame on the base.
3.2 Stability
Because the external sensor is mounted on the freefloating base, the manip
ulator must track the target moving in the sensor frame while stationary in
the inertial space. Generally it is difficult to discuss the global stability of the
tracking system of moving target. In our case, however, the following theorem
holds.
Theorem In the closed loop system represented by equations (30) and (33),
215
the equilibrium state
This theorem means that the position and orientation of the end tip converge
to the target as t  00. Condition (36) assures that the deviation of orientation
(32) is not zero except for the case that 1;D = EE. Two conditions (35) and
(36) almost always hold.
Proof To represent the whole system in our case, the state variable % must
include the orientation of base t/J as well as q and q of the joint;
%=
def [,,/,.T T· T
'I' q q
]T
(37)
By using the proposed control scheme (33) we can write the closed loop system
in state space
%= F(%), (38)
where function F(z) is defined by
F(%)
df[
~
G(t/J,q)q
q 1 (39)
fjl(q) b(t/J,q,q)
(42)
W()
% = '12 kp ep T ep + 4'1 k 0
E T E
0 0 2 q TH~ q.
+ '1. (43)
216
ep = V E  [n B x] ep , (47)
( [nEx] ) ( [flBX] 0 0
Eo= [SEX] nE  0 [IlBX] 0 ) E, (48)
[aEx] 0 0 [IlBX]
Since vi' =
0 means q = On, all states in the invariant set satisfy the
following equation;
(49)
~= 0 3 • (50)
The condition (35) suggests that the equation (49) is equivalent to e p = 0 3
and eo = 0 3 • Furthermore if the condition (36) is satisfied, equation eo = 0 3
is equivalent to Eo = 0 9 , Therefore the maximal invariant set whose entry
satisfies W = 0 is equal to the set E. According to the theorem of LaSalle, the
set E is asymptotically stable. 0
If the conditions (35) and (36) are not satisfied, there are some equilibrium
points except for the desired state in the set E, where the system will get
stuck. However, this problem is not serious because the controller can make a
temporary input to get the system out of the singular configuration.
From the viewpoint of mechanics, the feedback terms of position and orien
tation in (33) derive from an artificial potential function of the quadratic form
in the sensor coordinate frame. Another kind of potential function can be also
217
employed, provided that the stability of the system holds. For example we can
use a modified potential function of the form,
where 11*11 means Euclid norm, positive numbers epmaJ: and eOmaJ: are controller
parameters. Using this potential function is equivalent to replacing the actual
deviations in scheme (33) with the following deviations;
deC
{ ep
ep
IlepII ::; epmaJ:
IIcpllepmax IIcpli > epmaJ: '
(54)
This deviation is effective to avoid excessive inputs and to improve the endtip
path from the initial point to the target. In fact, we use these modified devia
tions for the simulation mentioned in the following subsection.
In this case we can also prove the stability of equilibrium (44) using the
following Liapunov function,
l'T~'
W = U + q H q (56)
2
because its time derivative is given by
ltV .T8Up
 cp 8cp +
ET 8Uo
0 8E +q
·T it.. ~.T
q + 2q
Hq. (57)
o
3.3 Simulation
We verify the effectiveness of proposed control scheme through the computer
simulation using a 140(kg) weight 6 DOF manipulator model mounted on a
2000(kg) weight spacecraft (Figure 4).
218
~ liuk [)
125 link G
o
link 4 U")
N
link 3 g
II)
N :x2
link 2 0
o
U")
N
1750 (mm)
link base 1 2 3 4 5 6
mi (kg) 2000 20.00 50.00 50.00 10.000 5.000 5.000
Ii", (kgm 2 ) 1400 0.15 0.25 0.25 0.050 0.025 0.025
Iiy (kgm 2 ) 1400 0.10 26.00 26.00 0.075 0.025 0.025
/;z (kgm 2 ) 2040 0.15 26.00 26.00 0.075 0.019 0.Q25
~tate
Figure 5 (a) shows a result that suggests local feedback schemes are not
applicable. The state of system is displayed every 3 seconds. In this figure,
a box attached to the end tip is introduced to make its orientation be easily
seen. The desired joint values are determined on the assumption that the base
is fixed before the motion is started. Using this scheme the endtip falls into a
different point from the target because of the motion of base. The inertia of the
base in this model is quite large, however, the motion of base is not negligible
for the end tip control.
Figure 5 shows a result using the proposed scheme with controller param
eters;
75 (N),
100 (Nm),
diag [400,100,200,10,2,2] (Nmsec/rad),
0.2 (m),
0.1.
Owing to the reaction of manipulator, the base noticeably moves. The trans
lational displacement is x: 0.01 (m), y: 0.07 (m), and z: 0.04 (m) and the
rotational displacement is roll: 16 (deg), pitch: 10 (deg), and yaw: 1 (deg). In
comparison with the translational displacement, the rotational one is so large
that it has a quite influence on positioning of the endtip. From this figure, we
can recognize that the position and orientation of endtip are well controlled
nevertheless the base is moved.
4 Approximate Jacobian
In the previous section, we introduced the control scheme using GJM. However,
it is not as easy to derive GJM as FJM. In this section, first we point out the
disadvantages of GJM and then discuss the possibility of applying FJM instead
of GJM in the theoretical and numerical analysis.
Generalized Fixedbase
Jacobian Jacobian
division 3 0
(3) (0)
multiplication 13.5n" + 155.5n + 44 30n 11
(1463) (169)
addition & 6n" + 141n + 17 18n  20
subtraction (1079) (88)
(*) in case of n = 6
(58)
where
(59)
We can investigate the stability of the desired point qD by checking the roots
of characteristic equation of the system (58).
222
link base 1 2
Ii (m) 1.10 2.50 2.50
Si (m) 0.00 1.25 1.25
mi (kg) 500.00 50.00 50.00
Ii (kgm2 ) 148.82 26.00 26.00
Here we use the planar model of the 2 DOF space manipulator shown in
Figure 6 and set the controller gains; J(v = diag[200, lOOO](Nmsec/rad), kp =
lOO(N). Since matrices HD, JD, and JD that form the coefficients of equation
(58) are functions of qD' it is possible to analyze the stability for an arbitrary
qD' Therefore we can obtain the stable region and Figure 7 shows it in terms
of the endtip position. This figure indicates also its dependence on the size of
base which is represented by the mass ratio of base to the total mass of arm.
Here it is assumed that the density of the base is kept constant independently
of its size.
As shown in the figure, when the mass ratio is very small, the unstable
region is quite large. However, when the mass ratio is larger than 5.0 as in an
actual situation, there rarely exists the unstable region. This result suggests
the possibility of applying FJM to our scheme practically.
Another numerical analysis indicates that the stability is not much affected
by the gains kp and K v .
"
:I'''''; '
'T
'. Ih' Id
:', ~~. "'"'! ~~; l~
r
" ~1u
"T,, ·r,.,. .
l
f','_i:";:V
t;~· • .r··
i"
1118SS
r:" t 10= 5 IDatiS rbt 10" 10
UHlbble
" G:
I '~,I :~;. • un"l .. blf.l
, • Ii
,,", , ~'I'
:"r
,
""I""
or
I
..r''''
largel
targcl
initial !itate
target
target
5 Conclusion
In order to attain a simple and robust control system for space manipula
tors, a new control scheme based on an artificial potential is proposed. This
scheme can determine the control input of each joint from the sensory feed
back of endtip by using the transpose of Generalized Jacobian Matrix. Most
important, the Jacobian used in the control scheme is not necessarily exact.
As a typical example, it was shown that the conventional Fixedbase Jacobian
can be employed without much degrading the control performance. Of course,
this suggests the possibility of using other operators which need no accurate
physical parameters.
References
[1] Z. Vafa and Z. Dubowsky, "On the dynamics of manipulators in space
using the virtual manipulator approach," in Proceedings of The 1987 IEEE
International Conference on Robotics and Automation, Mar. 31  Apr. 3,
1987, Raleigh, North Carolina, USA, pp. 579585, 1987.
[2] H. Alexander and R. Cannon, "Experimental on the control of a satellite
manipUlator," in Proceedings of The 1987 American Control Conference,
Jun. 1987, Seattle, Washington, USA, 1987.
[3] Y. Umetani and K. Yoshida, "Continuous path control of space manipu
lator mounted on OMV," Acta Astronautica, vol. 15, no. 12, pp. 981986,
1987.
227
[7] M. Takegaki and S. Arimoto, "A new feedback method for dynamic control
of manipulators," ASME Journal of Dynamics, System, Measurement, and
Control, vol. 103, pp. 119125, 1981.
[8] F. Miyazaki and S. Arimoto , "Sensory feedback for robot manipulators,"
Journal of Robotic Systems, vol. 2, no. 1, pp. 5371, 1985.
[9] F. Miyazaki and Y. Masutani, "Robustness of sensory feedback control
based on imperfect Jacobian," in Robotics Research: The 5th International
Symposium (H. Miura and S. Arimoto, eds.), pp. 201208, MIT Press,
1989.
Abstract
Introduction
This paper focuses on the robot system where the base attitude
is controlled by either thrust jets, or reaction wheels. The reaction
wheels are arranged in orthogonal directions, and the number of re
action wheels can be three or two depending on different tasks, and
a standard reaction wheel configuration can be found in [Junkins90).
When the a.ttitude of the base is controlled, the orientation and po
sition of both robot and base are no longer free, and the dynamic
232
interaction between the base and robot results in the dynamic de
pendent kinematics, i.e., the kinematics is in relation to the mass
property of the base and robot. Control is not only applied to robot
joint angles, but also three orientations of the base.
(1)
where RB is the position vector pointing the centroid of the base
with reference to Ll' Let Vi and Oi be linear and angular velocities
of ith body with respect to Ll, Vi and Wi with respect to LB' Then
we have
Vi Vi + VB + OB X ri
Oi  Wi + OB (2)
(3)
235
(4)
where JLi(q) and JAi(q) are the submatrices of Jacobian of the ith
body representing linear part and angular part respectively. The
centroid of the total system can be determined by
(5)
(6)
rc = L miri/mc (7)
i=O
n
Jc = L miJLdmc (8)
i=l
(11)
236
(12)
and U 3 is a 3 x 3 unity matrix. The matrix function [rx] for a
vector r = [rx, ry, rzf is defined as
[rx] = [ ~z (13)
ry
p=o (14)
Therefore, we may represent the base linear velocities by base an
gular velocities and robot joint velocities, i.e.,
(15)
(16)
237
(17)
where V E is the velocity of the robot endeffector in inertia space.
(18)
Since the velocity of the endeffector in the base coordinates is de
termined by
(19)
where J E is the manipulator Jacobian with respect to the base co
ordinates,
(21)
(22)
where
J rr = [( r e  r E) x] (23)
JrE=JEJ c (24)
and 0 3 is a 3 x 3 zero matrix.
238
T = 1/2VBTHVVB + VBT[Hvo,Hv,] [ 0: 1
+1/2[OB,iU [H~~T ~ 1[ 1 0:
= 1/(2mo')[OB,iU [::~ 1Hv[Hvo,Hv,] [ 0:]
l/mc[OB, CU [ ::~ 1[Hvo, Hvq] [ Or: 1
+1/2[OB,iU [:~T ~: 1[ 1 0:
= 1/2[OB, CU [ Ho  Hvo:Hvo/mc HOq  Hv{HVq/mc
HOq  Hvo HVq/mc Hq  HVq HVq/mc
1[ ~Bq 1
= 1/2[OB, iUM(O) [ 0: 1
(25)
where M is the inertia matrix of the system, Hq is the robot inertia
matrix in base coordinate, i.e., fixed base inertia matrix, and
239
fJ = [QB,q]T (26)
n
Ho = Ie + L: D(ri)mi (27)
i=l
n
Hoq = L:(LJAi + mi[ri]JLi) (28)
i=l
n n
811 = (E mi r i,)2 + (E miriz? (35)
i=1 ,=1
n n
822 = (Em,ri:c)2 + (E mi r,z)2 (36)
,=1 ,=1
n n
833 = (E m,r,:c)2 + (E m,r'1I)2 (37)
,=1 ,=1
n n
812 = (E m,r,z) . (E miri,) (38)
i=1 i=1
n n
823 = (E mir,,)· (E m,riz) (39)
i=1 i=1
n n
813 = (E miriz) . (E miriz) (40)
i=1 .=1
and
rzr,
r2z +r2z (41)
r,rz
Thus,
n n n
Mn = Ie + ED(ri)mi  EERtjmimj/me (42)
i=1 i=1 ;=1
241
n n
= Hq + EEQiimimi/me (43)
i=1 i=1
n n n n
M12 = L~JAi + L[ri]JLimi+ LLSijmimj/mc (44)
i=1 i=1 i=1j=1
where the matrices [ri]JLi, JAi, ~, Qi, Si are only functions of ge
ometric parameters, i.e., independent of dynamic parameters. The
above formulations imply that the inertia matrix can be linearly
represented by a set of combination of dynamic parameters, mk, I k ,
mimi/me, i,j, k = 0,1"", n.
MO + B(O,O)O = T (45)
where
(46)
(50)
242
(53)
where 11 is a function of dynamic parameters which are unknown
but constant, h is a function independent of any dynamic param
eters. This, unfortunately, is impossible in general due to high
coupling between dynamic parameters and joint variables. For ex
ample, two DOF generalized Jacobian may contain the following
simple terms
(54)
243
This may raise a question why for a fixedbase robot the sim
ilar structured adaptive control can be implemented in Cartesian
space. This is because that the Jacobian in the fixedbase robots is
only kinematic dependent, i.e., a function of geometric parameters
and joint angles. Since the dynamic interaction between the base
and the robot, the generalized Jacobian for a space robot with an
attitude control base is dynamics dependent, i.e., not only a func
tion of geometric parameters and joint angles, but also a function
of the dynamic parameters. It is to these parameters that we aim
at adapting in our problem. Therefore, the inertia matrix for the
fixedbase robot can be linearly parameterized for dynamic param
eters in Cartesian space, while for a space robot it is impossible in
inertia space.
8 = ep + (ep (56)
ep = Od  (J (57)
ep = iJd  iJ (58)
and we also define modified joint velocity
I •
0=0+8 (59)
245
() " = d
 ()' +s (60)
dt
I.e.,
A,
+ B()
.... II
T = M() (62)
then
Me p = MOd  MO
[B() + M() + B()]
" • A II A,
= M[()  s  (ep ] 
a=aa (66)
and a is estimation of the unknown dynamic parameters of the
space robot system including the robot, the base, and probably the
payload which is being manipulated.
(67)
where the matrix r is diagonal and positive definite. This yields
then
(69)
due to the fact that the matrix M  2B is skewsymmetric, and M
is positive definite. Therefore, the system is stable in the sense of
Lyapunov, because V is a positive, nonincreasing function bounded
below by zero. s(t) and a(t) are then bounded, and s(t) is a so
called square integrable or L2 function [Spong89]. Provided that the
function Y is bounded, this is sufficient for the purpose of control
247
Theorem 1 For the dynamic system (55), the adaptive control law
defined by (62) and (68) is globally stable and guarantees zero steady
state error in joint space.
Define
(71)
248
and the gains (I and (2 can be selected such that the eigenvalues of
the tracking error equation
(72)
have negative real parts. This ensures the global stability of the
system when s converges to zero.
Using the PID type s and the same definitions of 0' and 0", we
can derive that
Me, = MOd  MO
" .
. " .,
= M[O  s  (Ie"  (2e,,]  [BO + Mq + BO]
=  Y(O, 6, 6d, Od)a  (M + B)s  M(Ie,  M(2e"
where
Yi = MO" + BO' (73)
i=aa (74)
When the same type of Lyapunov function is used
(75)
then,
v = 1/2s™s + sTMs + iTri
=1/2sTMs + sTM(e" + (I e, + (2e,,) + iTri
= sTMs + 1/2sT (M  2B)s + iT(ri  yTs)
If adaptation law
.:. rIyTs
a= (76)
is used, then
(77)
for all s due to the fact that the matrix 1\1  2B is skewsymmetric,
and (b (2 > 0, and M is positive definite.
249
s.p+tsp e,e
1I'9+s
..
e·.~II')+s
upon the tasks and the motion trajectory of the object before catch
ing, and thus must be specified in inertia space. In other words, as
in the case of fixedbase robot tasks are normally specified in Carte
sian space, tasks in space applications are unlikely to be specified
in joint space. Fortunately, the mapping from robot hand position
in inertia space to displacements in joint space can be uniquely de
termined for space robot system with an attitude controlled base,
which differs from the case of a completely freeflying space robot
system. This unique kinetic relationship has been first studied by
Longman et al. [Longman87], and also is illustrated by a planar
example in our case study.
x•• x.. x.
Second, the updating time for inverse kinematics using the es
timated parameters in outer loop of our controller must be slow
enough to maintain the system stable. The outer loop, as shown
in Figure 3, is used to update the inverse kinematics and therefore
the desired joint trajectory which is used in joint space adaptive
controller. A fast updation, especially using incorrect parameters
'Pi, may not guarantee the convergence of parameter errors. In the
simulation, the updating time for inverse kinematics is set to 10 sec
onds. Simulation results have shown that position errors in inertia
space converge to zero as errors in joint space converge to zero and
estimated parameters converge to their true values.
Simulation Study
me = mo + ml + m2 (78)
meRe = moRo + m1R1 + m2R 2 (79)
Rl = Ro+rl (80)
R2 = Ro+r2 (81)
When the robot is in motion,
254
(82)
(83)
(84)
and
(85)
(86)
where s and c stand for sine and cosine, e.g., Sl = sin(q1), C12 =
cos (q1 + q2). The system dynamics has the following form,
Mq + B(q,q)q = T (88)
where
M = Mq  M2 (89)
M2 = meJ~Je (91)
_ [2 [m~ + 2m2(m1 + m2)(1 + C2) m~(l + C2) + m 1 m2C2 ]
 me m~(l + C2) + mlm2C2 m~
(92)
therefore,
R1 = [f 0 oo ] R2 = [I'
[2 12
f] R3 =
[2(1++ c,jr
(1 C2) [2
(1 + c,)I' ]
[2
(98)
linearly parameterized in joint space. We also note that rno, rnI and
rn2 can be uniquely determined by 1'1,1'2 and]J3,
111
rnI = PIP2(  +  + ) (99)
PI 1'2 1'3
111
m2 =1'21'3( +  + )
PI 1'2 1'3
(100)
111
rno = PIP3(  +  + ) (101)
PI 1'2 1'3
a= [~] (106)
(107)
To study the effect of mass ratio of the base with respect to the
robot, we performed simulation when the base mass is sufficiently
large compared to that of robot. Figure 7 gives the simulation
results when the base mass is 50000kg. The results have shown
that the performance is not sensitive to the mass ratio, which also
shows that the proposed control algorithm is applicable to fixed
base robots.
258
(111)
(112)
the steady state performance is improved significantly using PID
type adaptive controller, as shown in Figure 9.
·r~~rr~~~~
~'Qrr~~~~4~+~
:.
~ ir~~·~~~~~
~5 l!i_i__~__!_+'_+4__~_I.
I
~O~~~~~"~~~l$~~~.~~~~~~~~~.~~.
. ,
II /\
"
I
,
; i1
f\, ~
n
,
f
f;
,i
H
f1
,1\ i n
n
!
"" ilI:
A
Ii
II IIt:
" \, :I
!
J
f\
i
I i; 1!, I, i i ,;
I f; I
i
Ii' ! 1\
!
! \
!i i
,
, !
·_~~·i1~+~~4+~1
:i
'i
~~~I·~+~~+4~1
4++,_4411
::
::
.JIll f.'~ ,
1
~.L~uWl~~~'D~~~'I~~.~~U.~~~.~~.~~W.
I .jr====·.!r·····_l···I...·· _·· ·
. rt'IiA" f\J1I~""""'I wl. . .1·... I
'
·~+1+141~11~~1+++~
~WU~~~~~UU~~~~~~~~~~
• 4 • 10 12 1. " ,. •
• I I
\J\ AI I
rvr II
•
~ w
•
•
\
l ' lUI.
I IT
I I' I I
.~
to ~t+
I I t
I
~.~ :. . ,.!.. ~~...
I I I 1
I

JID1
,
.I \,'o11I~
1 I
1h .....
'\lui 0
...,
. I
I
I
1  _+,1
~H I ~llI
VI 'I
•.IIDS
:l+t I I i
 
.... o
II
2
I i i! !!
I .
...•
.,..
·1
.. j
....• IV'
.... • {\/\l'J\ ~f" ~
oJ ...."'....../ • v'v:'" .......Vv ""'\1'" rV\j \·~v .J\.".;" ,j" \.'\.: ·v\f"'\.
I 10 11 10
• 10 10 40
I~~r.~,~~~.
~~++_+4_~i~~~
.~>r,+~~rr,,~~~~~~~.r.~T07~~~~
.,J
10 10 10 10 40
• v
.... i v
~~r++~14~~
~I&+~~~~~~r~

.II.
I
A !
I~:~ "'r.t...
:.~
"AA A 11.11 " ,A "fl.11 ,l'I...A II. rlA II. fl.ll . fl.1III. f.L
:::
"
• i \:
'''11
,""
.
It.
Vv v "V V" V v.,
I 
+!' I !
40
I
" II ,25 15
Conclusions
References
[Becjzy88] Bejczy, A. K., and Hannaford, B., "Manmachine Inter
action in Space Telerobotics", "Proceedings of the Interna
tional Symposium of Teleoperation and control 1988, pp.
13549, 1988.
[Butler88] Butler, G., "The 21st Century in Space: Adavances in
the Astrountical Sciences", American Astronautical Society
(edited), San Diego, CA, 1988.
[Craig87] Craig, J. J., Hsu, P., and Sastry, S. S., "Adaptive Con
trol of Mechanical Manipulators", International Journal of
Robotics Research, Vol. 6(2), pp. 1628, 1987.
Abstract
This paper reviews work performed at the Stanford University Aero
space Robotics Laboratory (ARL) in developing and controlling a multi
manipulator, freeflying space robot. The objective of this project was
to create a laboratory version of a space robot capable of performing
target tracking, acquisition, and manipulation. In particular, this paper
focuses on the problems associated with capturing a freefloating object
that is initially out of reach of the robot. A set of rules for generating
an appropriate intercept trajectory is presented along with a controller
architecture capable of carrying out the required actions. We conclude
with a description of the physical hardware on which this approach was
tested along with experimental data showing the successful capture of a
spinning object.
Introduction
Although space presents us with an exciting new frontier for science and
manufacturing, it has proven to be a costly and dangerous place for humans. It
is therefore an ideal environment for sophisticated robots capable of performing
tasks that currently require the active participation of astronauts.
As our presence in space expands, we will increasingly need robots that are
capable of handling a variety of tasks ranging from routine inspection and main
tenance to unforeseen servicing and repair work. Such tasks could be carried
out by freeflying space robots equipped with sets of dextrous manipulators.
These robots will need to be able to navigate to remote job sites, rendezvous
with freeflying objects, perform servicing or assembly operations, and return
to their base of operations. NASA's Manned Maneuvering Unit (MMU) was
270
built to outfit astronauts with similar capabilities. It enables them to carry out
some of these tasks, but at a higher cost and with much greater risk to human
safety than if robots were to be used.
Research Objectives
In order to advance the underlying theory and technology necessary for the
aforementioned robotic capabilities to be realized, we have studied the problems
associated with building and controlling autonomous freeflying space robots.
Our objective was to demonstrate the ability to carry out complex tasks in
cluding acquisition, manipulation, and assembly of freefloating objects based
on tasklevel commands. Our approach was to extend earlier ARL work in
cooperative manipulation involving the use of fixedbase manipulators[l] to ac
commodate an actively mobile base thereby removing the workspace limitations
inherent in the fixedbase implementation.
Experimental Verification
In order to test our design methodologies and control strategies, we have
developed an experimental twoarmed satellite robot that uses an air cushion
support system to achievein two dimensionsthe dragfree, zerog character
istics of space. (See Figure 1.) The robot is a fully selfcontained spacecraft
possessing an on board gas supply for flotation and propulsion, rechargeable
batteries for power, and onboard computers with sensing and driver electron
ics for navigation and control. Although the robot can function autonomously,
its computers can also communicate with a network of workstations via a fiber
optic Ethernet link. 1 An onboard camera provides optical endpoint and tar
get sensing while an overhead global vision system facilitates robot navigation
and target tracking. 2 We have used this system to demonstrate the successful
intercept and capture of a freeflying, spinning object.
Background
A number of researchers have worked on the problem of controlling the end
point position of a manipulator mounted on an uncontrolled freeflying base[2]
[3][4][5][6][7]. Several have shown that with judicious path planning, the orien
tation of the base body can also be controlled. These approaches rely on the
assumption that no external forces or torques act on the system thus leading
to formulations based on conservation of the total linear and angular momen
tum. This assumption requires that the desired manipulator endpoint positions
initially lie within reach and that the system starts out with zero linear and
angular momentum. 3 In order to be truly useful, space robots will need to be
1 It is our hope to replace this link with one of the new wireless LANs that are now coming
to market, thereby making our robot truly autonomous.
2The global vision system serves as a convenient laboratory surrogate for a tracking system
such as GPS that could be used for this purpose in space.
3These approaches could be extended to handle the case of a system having initial momenta
such that, by the intercept time, the robot has coasted to within reach of the target; however,
failing to explain how this set of circumstances comes about makes this an incomplete solution.
271
able to function in a much larger workspace than that of their immediate reach.
The execution of useful work in space requires the ability to simultaneously
control both robot base and manipulator motions. Dubowsky, et al.[8] have rec
ognized this requirement; however, they use gas jets for disturbance rejection
rather than for actively controlling the base body to follow a specified trajec
tory. In general, rendezvousing with and capturing a freeflying object requires
controlling both manipulator and base body positions to follow coordinated in
tercept trajectories.
Global navigation and control (or "gross motion" control) of a space robot
therefore poses a set of interesting and unique challenges. These differ funda
mentally from both the typical satellite positioning/attitude control problem
and the case of a freefloating space robot with an uncontrolled base. This
paper examines the problem of controlling the entire space robot system so as
272
Example 1 From the game of baseball consider the case of a short stop field
ing a grounder. Here the object being caught (the ball) has in
significant mass and inertia when compared to the player do
ing the catching. The short stop tries to execute the shortest,
smoothest motion he can that allows him to get to the ball in time
to pick it up and throw out the batter. He minimizes his body
motion by reaching with his arms, typically following the mini
mum distance path to intersect the line of motion of the ballone
that is usually perpendicular to the ball's motion. That is, he lets
the ball come to him and does not concern himself with trying to
match the ball's velocity.
In both cases the human must get his or her hands and body into proper
position in order to effect the catch. As the mass of the object increases, so
too does the necessity of matching the velocity of one's body with that of the
object. Hence, one coordinates the motion of his or her arms and body.
Similarly, in order to successfully capture a freefloating target, a freeflying
space robot must simultaneously control both its manipulators and its base
body position and orientation. Since the corresponding states are coupled with
each other it is necessary to view the system as whole rather than as two de
coupled problems. Simply generating an realizable intercept trajectorygiven
the limited actuator authority available, the ever present dynamic constraints
imposed by a freefloating robot, and any temporal constraints (e.g. the object
might float beyond reach if not caught soon enough)presents a formidable
problem.
Intercept Trajectories
In order to rendezvous with and capture a moving target, a realizable inter
cept trajectory must be formulated. As was illustrated by our examples, the
nature of this trajectory will vary according to the task at hand.
273
Trajectory Requirements
The intercept trajectory must always assure that the base position and ori
entation allow the manipulators sufficient freedom to successfully grapple the
target without running into the limits of their workspace.
For low massobjects, the robot base intercept trajectory can simply be a
straight line toward the object intercept point. 4 The grasped object will have
very little effect on the robot motion and the arms will be able to position the
object so as to keep it from contacting the robot base. For a massive object;
however, the robot must carefully pull along side the object before attempting
to grasp it to avoid the possibility of a collision. Thus, knowing the mass of
the target allows us to optimize the necessary base motion. These ideas are
summarized in Table 1.
Rule 1 The required manipulator end point positions at intercept time are
defined by the target position and orientation.
The first two requirements constrain the desired base position at t f to lie on
a sphere (or circle in a 2D world) whose radius Rd is defined as the distance
from the center of the base to the manipulator tips. They also tell us the base
orientation once its position is known, thus we have:
4 Asswning that there are no obstacles in its path. CUlTent work is addressing this issue.
274
Rule 3a If the object to be caught has insignificant mass, then we select the
desired base position to be the point on the sphere closest to our
initial base position (corresponding to the minimum distance path).
Rule 3b If the object to be caught is extremely massive, we consider the great
circle defined by the intersection of the plane normal to the object's
velocity vector at intercept time and the aforementioned sphere. The
desired base position is selected to be the point on this great circle
that is closest to our initial base position.
A nonlinear weighting can be used to span the two extremes described by
rules 3a and 3b. Similarly:
Rule 4 If the object to be caught has insignificant mass, we need not place
any restrictions on the base velocity at intercept time. However, as
the mass of the object increases, so too does the need to match the
base velocity with that of the object.
Base Trajectories
The typical mode of transportation will be to use gas jet thrusters. 5 Since
the robot base essentially behaves as a 1/8 2 (double integrator) plant, the most
fuel efficient trajectory is bangoffbang for each of its degrees of freedom. 6
Clearly, the longer the robot can coast at peak velocity, the less fuel it needs
to traverse a given distance in a fixed time. Thus we use a generic trajectory
consisting of a linear function with parabolic blends described by the following
family of equations:
o ::; tl
h ::; t ::; t2
t2::; t::; tj
o::; tl
tl ::; t ::; t2
t2::; t::; tj
5In certain circumstances one can achieve motion through the use of the robot manipulator
arms (9)[1 0]
6For the 2D case this concept is directly applicable since the three degrees of freedom
[x, y, 0] and their derivatives can be specified independently. In the full 3D case, this is
no longer true since the final orientation is a function not only of the change in orientation
angles but also of their respective time histories (i.e. it is a nonholonomic system). One
partial solution to this problem is to find the simple rotation that takes the base from the
given initial orientation to the desired final orientation. The final configuration would then be
independent of the rate of rotation about this axis and we could optimize this trajectory. The
drawback is that it makes no provisions for nonzero initial and/or final angular velocities.
275
The unknowns tl and t2 along with the signs of al and a2 can be found to
accommodate a specified set of initial and final conditions [8 0 , vol and [8J , vJ ]
respectively. By assuming that the magnitudes of al and a2 are known a priori,7
the solution for the off' and on times is given by a quadratic equation and the
appropriate signs on the a' 8 are found via feasibility tests. Figure 2 shows an
example of one such trajectory. We can also determine the minimum time (i.e.
bandbang) path for a given maximum acceleration.
BangOffBang Trajectory
1
0.8 displacement
velocity
.§ acceleration
f
.~
0.6
8 0.4
l!
I :::::::::;:;:~,,<::::::::::: :::.~~
oJ
0.2
]
'0
time (sec)
ManipUlator Trajectories
When executing maneuvers in which the base moves a substantial distance,
it is often desirable to control the motions of the manipulator endpoints in
the reference frame of the robot base. This allows such actions as tucking
the arms in to avoid bumping into other objects or holding them in a set
position to steady a payload. When the robot gets "close" to a work site,
7We assume that al and a2 are equal in magnitude, however, the equations are general
and do not require this assumption.
276
it can switch to an endpoint controller utilizing "operational" or workspace
coordinates. These controllers require endpoint trajectories for the manipulator
tips. Quintic polynomials trajectories are used since they allow the position,
velocity, and acceleration of the manipulator endpoint to match the initial and
final conditions at times of interest (e.g. mode switches, trajectory updates,
and target intercepts).
Controller Architecture
Our controller architecture consists of a threelevel hierarchy composed of a
stateless remote graphical user interface, a highlevel strategic controller, and
a lowlevel dynamic controller based on an operational space computed torque
formulation.
The graphical user interface (See figure 3) runs on a Sun Workstation and
allows an operator to send high level commands to the robot by selecting icons
and clicking on buttons.
User Irlterface 3.0  (c) Stan Schnel~~r, t·l.,r c Ullrllan, 1~'31
Activating Objec~
I~""
,' \
EB
\
,........:.1
\
(j)
Equations of Motion
Using Kane's method[12]' the joint space equations of motion for the com
plete system can be expressed in terms of a vector of generalized coordinates q
and a vector of generalized speeds u. They are of the form:
F= Al(q)u+ V(q,u)
where Al(q) is the configuration dependent mass matrix, V(q, u) is the config
uration and velocity dependent vector of nonlinear terms, and F is the vector
of generalized active forces. The generalized speeds are defined in terms of the
state derivatives, q, by the relation
u ~ Y(q)q
The generalized active forces are composed of linear combinations of the
actuator forces and torques, T, along with any external forces and torques (e.g.
gravity), here assumed to be zero. s
F = R(q)T
For our system consisting of the robot base and two manipulators, q is com
posed of the base position and orientation along with the joint angles describing
the configuration of each manipulator arm.
q=
qbaoe..p08
[ Qba.e_orient
1
QrighLarm
Q/eJt_arm
x= [ ::::::;;ent
Xright_endpoint..po.
1
X/e/Lendpoint.;po.

8They are related by the partial velocities and partial angular velocities.
278
A set of kinematic equations relates this state vector to our original set of
generalized coordinates q. Typically one defines the relation between the time
derivatives of these two state vectors (in an inertial reference frame) as the
Jacobian yielding:
However, since our equations have been cast in terms of generalized speeds,
u, we find it more convenient to make the following definition:
.J ~ Jyl
so that
x = Jy1u =.Ju
Differentiating this relationship leads to
where Kp and 1(1) are diagonal matrices containing the proportional and deriva
tive feedback gains respectively.
Substituting the resulting expression for it back into our original equations
of motion yields a set of generalized forces from which we can determine the
required actuator forces and torques.
Experimental Work
In order to verify the utility of the control methodology described above, we
have built a laboratory model of a twoarmed space robot (see Figure 1) that ex
periences in twodimensions the dragfree, zerog characteristics of space. These
characteristics are achieved using air cushion technology. The robot "floats" on
a 9'z12' granite surface plate with a dragtoweight ratio of about 10 4 and
gravity induced accelerations below lO Sga very good approximation to the
actual conditions of space. In addition, this fully selfcontained spacecraft pos
sesses:
• an on board gas subsystem used both for flotation and for propulsion via
thrusters,
• a complete set of digital and analog data acquisition and control interfaces,
The robot measures 50cm in diameter and stands 65cm high with a total
mass of just under 50kg. In order to simplify maintenance operations as well
as to facilitate future design modifications the robot was designed as a series of
9Since computed torque controllers are based on continuous time theory, they typically
require high sample rates to insure the satisfaction of this assumption.
laThe battery packs can also be recharged while on board the robot through the use of an
umbilical power cord
280
independent modules. These modules take the form oflayers, each of which per
forms a distinct function. The layers can be easily separated l l when necessary
for servicing or repair.
The base body has three degrees offreedom (x, y, 8) and sports eight gas jet
thrusters mounted as four ninetydegree pairs sitting at the corners of a square
inscribing its outer circumference.
A pair of twolink planer arms aligned with a set of ninetydegree separated
rays are attached to the base. These manipulator arms are driven by a coaxial
set of limited angle DC torque motorsthe shoulder joint being driven directly
while the elbow joint is driven though a cable from the elbow motor, which
rides on the shoulder link. Both joints are instrumented with RVDTs for sens
ing joint angles. Analog differentiators provide corresponding rate signals in
hardware. The manipulators are equipped with pneumatically actuated grip
pers that possess a single degree of freedom along the zaxis. Objects can be
grasped by lowering the gripper plungers into cuplike grasp fixtures mounted
on the objects.
The onboard computer system runs the VxWorks realtime operating sys
tem. This operating system allows us to develop code on Sun Workstations
that can be downloaded to the target processors via a fiber optic Ethernet link.
Since the real time operating system contains a complete implementation of
TCP lIP and NFS the target processors can access files and data on our host
server. We have configured the system as a set of subnets so that we can com
municate between on and off board processors without incurring delays due
to traffic on our workstation LAN.
A CCD camerabased vision system allows us to track the position of the
robot and an array of targets in realtime at 60Hz. Unique patterns of three
infrared LEDs are used to identify different objects. One camera mounted on
board the robot provides precise information in the immediate workspace of the
manipulators while a pair of cameras mounted above the granite table provides
global positioning information for the robot and the target objects. Data from
these off board cameras is relayed to the robot over the fiber optic LAN.
Experimental Results
Figure 4 shows the robot grasping a small target object. The object also
floats on an air bearing supplied by a batterypowered aquarium air pump. The
object can be sent across the granite table in a random direction with a rotation
rate as high as 20 revolutions per minute. The robot can be commanded to
capture and retrieve the object via the graphical user interface described in the
section Controller Architecture. Figure 5 shows the time history of one such
rendezvous. Since the object is of comparatively low mass (...... lkg), the robot
follows a straight line path to intercept it. Upon grasping the object by inserting
its "peginthehole" style grippers, the robot brings the object smoothly to rest
(in the robot's reference frame). It can then stow the object and transport it
to some new location where it can release it.
llThe main layers can be separated without any tools.
281
We have also described the design, construction, and testing of our 2D
model of a multimanipulator, freeflying space robot. We have shown that by
using the control approach presented in this paper, a fully autonomous ren
dezvous and capture operation can be performed, thereby providing a glimpse
of the potential capabilities that freeflying space robots might someday possess.
282
Acknowledgments
This work was funded under NASA Cooperative Contract NCC 2333.
References
[1] S. Schneider. Experiments in the Dynamic and Strategic Control of Co
operating Manipulators. PhD thesis, Stanford University, Stanford, CA
94305, September 1989. Also published as SUDAAR 586.
[12] Thomas R. Kane and David A. Levinson. Dynamics: Theory and Appli
cation. McGrawHill Series in Mechanical Engineering. McGrawHill, New
York, NY, 1985.