Vous êtes sur la page 1sur 290





Consulting Editor: Tak.eo Kanade

ISBN: 0-89838-245-9
SYSTEMS, H.F. Durrant-Whyte
ISBN: 0-89838-247-5
ISBN 0-7923-9039-3
ISBN 0-7923-9068-7
G. D. Hager
ISBN: 0-7923-9108-X
ISBN: 0-7923-9114-4
and A. Yuille
ISBN: 0-7923-9120-9
VISION SYSTEMS, A.N. Choudhary, J. H. Patel
ISBN: 0-7923-9078-4
ISBN: 0-7923-9129-2
C.A Balafoutis, R.V. Patel
ISBN: 07923-9145-4
R. W. Daniel
ISBN: 0-7923-9162-4
ISBN: 0-7923-9205-1
ISBN: 0-7923-9197-7
ISBN: 0-7923-9198-5
Hugh F. Durrant-Whyte
ISBN: 0-7923-9242-6
ISBN: 0-7923-9247-7
Valavanis, G. Saridis
ISBN: 0-7923-9250-7
ISBN: 0-7923-9251-5
H.F. Durrant-Whyte
ISBN: 0-7923-9242-6

Edited by:

Yangsheng Xu
Takeo Kanade
Carnegie Mellon University

Library of Congress Cataloging-in-Publication Data

Space robotics : dynamics and control / edited by Yangsheng Xu, Takeo

p. cm. -- (fhc Kluwer international series in engineering and computer
science ; SECS 188)
Includes bibliographical references and index.
ISBN 978-1-4613-6595-2 ISBN 978-1-4615-3588-1 (eBook)
DOI 10.1007/978-1-4615-3588-1
1. Space stations--Automation. 2. Robotics. 1. Xu, Yangsheng. II.
Kanade, Takeo. III. Series.
TL797.S6445 1992 92-28350
629.47--dc20 CIP

Cover illustration courtesy of Canadian Space Agency.

Painting by Paul Fjeld, Canadian artist..

Copyright © 1993 by Springer Science+Business Media New York

Originally published by Kluwer Academic Publishers in 1993
Softcover reprint ofthe hardcover Ist edition 1993
AII rights reserved. No part of this publication may be reproduced, stored in a retrieval
system or transmitted in any form or by any means, mechanical, photo-copying, record ing,
or otherwise, without the prior written permission of the publisher, Springer Science
+Business Media. LLC

Printed on acid-free paper.

Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. vii

1. Kinematic and Dynamic Properties of an Elbow Manip-

ulator Mounted on a Satellite Robert E. Lindberg,
Richard W. Longman and Michael F. Zedd ... . . . . . . . . . . . .. 1

2. The Kinetics and Workspace of a Satellite-Mounted

Robot Richard W. Longman ......................... 27

3. On the Dynamics of Space Manipulators Using the Virtual

Manipulator, with Applications to Path Planning
Z. Vafa and S. Dubowsky ........................... 45

4. Dynamic Singularities in Free-noating Space Manipulators

Evangelos Papadopoulos and Steven Dubowsky .... . . . . . . .. 77

5. Nonholonomic Motion Planning of Free-Flying Space

Robots via a Bi-Directional Approach Yoshihiko
Nakamura and Ranjan Mukherjee . . . . . . . . . . . . . . . . . . . .. 101

6. Attitude Coutrol of Space Platform/Manipulator System

Using Internal Motion
C. Fernandes, L. Gurvits and Z.x. Li .................. 131

7. Control of Space Manipulators with Generalized Jacobian

Matrix Kazuya Yoshida and Yoji Umetani . . . . . . . . . . . . .. 165

8. Sensory Feedback Control for Space Manipulators

Yasuhiro Masutani, Fumio Miyazaki, and Suguru Arimoto ... 205

9. Adaptive Control of Space Robot System with an

Attitude Controlled Base Yangsheng Xu, Heung-Yeung Shum,
Ju-Jang Lee, and Takeo Kanade .. . . . . . . . . . . . . . . . . . . .. 229

10. Experiments in Autonomous Navigation and Control of a

Multi-Manipulator, Free-Flying Space Robot
Marc A. Ullman and Robert H. Cannon, Jr. ......... . . . .. 269

Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 285
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
end-effector 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.

For this book, we collected recent research papers on fundamental problems in

dynamics and control of space robots, especially issues relevant to dynamic
base/robot interaction. The authors are pioneers in theoretical analysis and
experimental system development of space robot technology. Our goal is to provide
a reference work for researchers and graduate students in robotics, mechanics,
control, and astronautical science. We organized the papers under three problem
areas: dynamics problems, nonholonomic nature problems, and control problems.

In the first part, four papers extensively investigate dynamic problems of

interaction between a space robot and its base. Lindberg, Longman, and Zedd
address several issues related to dynamics and kinematics of a space robot system
when the base in controlled in orientation but free in translation, and when the base
is free in both orientation and translation. When the base is free in both orientation
and translation, the kinematic mapping between joint space and inertial space
depends on not only dynamic parameters, such as mass and inertia, but also the
motion history, i.e., the path the robot has followed. In the second paper, Longman
discusses the kinematic relationship in joint space and inertial space, calledforward
and inverse kinetics problems, and the workspace of a space robot. The paper by
Vafa and Dubowsky introduces the concept of Virtual Manipulator to represent the
dynamics of a space robot system. The Virtual manipulator concept makes it
possible to reproduce the kinematic behavior of a space robot by the kinematics of
a modified fixed-base robot. They applied this concept to plan robot motions that
minimize disturbances to the spacecraft. The virtual manipulator concept is used by
Papadopoulos and Dubowsky to study the singularity problem of space robots.

The conservation of angular momentum imposes non-integrable velocity constraints

that result in the nonholonomic nature of space robots. We selected two papers, one
by Nakamura and Mukherjee representing early work on this topic, and the other by
Fernandes, Gurvits, and Li representing a recent effort toward optimal attitude
control using internal motion.

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 free-flying space robots.

Yangshmg Xu
Takeo Kanade
Kinematic and Dynamic
Properties of an Elbow
Manipulator Mounted on a

Robert E. Lindbergl, Richard W. Longman 2, and Michael F. Zedd 3

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 end-effector posi-
tion. This implies that the robot joint angles that would normally be commanded to pro-
duce a prescribed robot end-effector 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 end-effector 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.

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 mounted-i.e. the satel-
lite-does 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. 397-421. Copyright © 1990
by the America Astronautical Society Inc., reproduced here with kind permission of the America
Astronautical Society, Inc.

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
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
micro-gravity environment in multi-user 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 end-effector 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 end-effector 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 space-based 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 space-based kinematics with various required reinitializa-
tions during maneuvers. Use of matching conditions to convert between
different sets of kinematic equations is also summarized.

4. The above topics relate to the effect of motion of the satellite robot base
on the robot end-effector 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.

Robots Mounted on Free-Flying Satellites

The attitude control system (ACS) is often turned off on the Shuttle when the
Remote Manipulator System is in use. One reason for this is to avoid collision of
the robot end-effector with an object about to be grasped, resulting from the at-
titude control thrusters suddenly firing. Even if actuators such as reaction wheels
were used, that do not necessitate an on-off mode of operation, inaccuracies and
transient behavior of the ACS might still suggest robot operation with the system
turned off. Another reason to turn off the ACS in the case of the Shuttle is to
avoid ACS exhaust gas impingement on the manipulated load.
As mentioned above, when a robot is mounted on a satellite whose rotational
motion is not being constrained by active attitude control, the end-effector posi-
tion in inertial space at the end of the robot maneuver, is not purely a function of
the final joint angles of the maneuver. One cannot simply find the desired robot
joint angles from the standard inverse kinematics problem, one must instead find
a desired set of robot joint angle histories to command.
In the new forward kinetics problem one specifies the relative motion of the
successive robot links as a function of time, and uses this to determine the dy-
namic motion of the satellite, and hence of the end-effector. The inverse kinetics
problem described in [1] in general requires finding joint angle histories to satisfy
a differential equation boundary value problem. The problem is complicated by
the fact that in posing the inverse kinetics problem, one specifies not only where
one wants the end-effector in inertial space, but also what final satellite attitude
is desired. One can require that the satellite attitude be unchanged at the end of
the maneuver, and then the chosen inverse kinetics solution eliminates expend-
ing ACS fuel to maintain satellite attitude. Note, however, that one cannot re-
quest that the attitude be maintained throughout the maneuver, although one
can control the magnitude of the attitude deviation with added effort. Alterna-
tively, one could consider using the robot operation as a method of executing
satellite attitude changes.
Another property of the inverse kinetics problem is that, whereas the inverse
kinematics problem often has multiple isolated solutions, the inverse kinetics
problem generally has an uncountably infinite number of solutions. Reference [1]
in this issue develops one solution to the inverse kinetics problem, and [4], also
in this issue, develops a numerical approach to obtaining other solutions.

An Illustrative Example
Here we demonstrate the dependence of the end-effector 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 one-dimensional 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

would identify a unique inertial position of the end-effector. Here we consider

two maneuvers that go from <PI = <P2 = 00 to these same final robot joint angles
of <PI = <P2 = 1800, and show that the final position of the end-effector is very
different for the two cases. Maneuver No.1, illustrated on the left in Fig. 2,

Robot First
Link Robot


FIG. 1. Three Stick Satellite-Robot System.
Initial Configuration

Maneuver No. 1 Maneuver No.2

(i) After First Rotation

(i) After First Rotation

(ii) After Second Rotation (ii) After Second Rotation

FIG. 2. Two Maneuvers Going from the Initial Robot Joint Angles to the Same Final Robot
Joint Angles, but Producing a Different End-effector Position in Inertial Space. Vi

shows a sequence of end-effector positions when ¢II is rotated first, from 0° to

180°, and then ¢lz is rotated from 0° to 180°. Maneuver No.2 on the right of Fig. 2
reverses the sequence, rotating ¢lz first and then ¢II' The final satellite and end-
effector positions shown at the bottom for the figure are very different. One can
of course consider other maneuver histories for these same joint angles, e.g. rotat-
ing the joints simultaneously, and these would give still other end-effector posi-
tions, which would be hard to predict based only on intuition.
Since each of the rotations involved is about a principal axis of the robot and
of the spacecraft, one's intuition can predict the motions illustrated in Fig. 2. To
justify this figure mathematically, let us consider the length of link 1 to be zero
for simplicity. Figure 1 shows inertially fixed axes i, satellite fixed axes S, and
robot fixed axes r. We will use 1-2-3 type Euler angles to describe the orienta-
tion of S relative to i, so that rotation through the angle 8 1 about It, followed by
rotation through 82 about the resulting 2 axis, followed by rotation through 83
about the resulting 3 axis causes the axes to be aligned with S.
The satellite-robot combination consists of a system of rigid bodies whose rela-
tive orientation is a prescribed function of time given by ¢lI(t), ¢l2(t). There are
no external forces on this system of rigid bodies, so that Newton's law applied to
the system says that the inertial acceleration of the center of mass of the system
is zero. Hence, we can choose the origin of the i coordinates to coincide with the
center of mass of the system. From the definition of the center of mass, the vec-
tor R from the system center of mass to the robot joint is given by
R = -«(mssz + CrmrrZ)/(ms + mr) = -(C/2)(sz + rz) (1)

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:

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.
COS 8 z cos 8 3
sw si = [ -cos 8 2 sin 8 3 (3)
sin 82

'w" = [*

where sW Si is the column matrix of components of w Si in coordinates, and simi- s

larly for' w". The inertia dyadics can be written in terms of the inertia dyadics r
and about the respective body centers of mass as
r = l' + m,(f /4)(p· p!l. - 2 pp)
r = r + m sW/4) (p. p!l. -
c pp)
where !l. is the unit dyadic, and (e/2)p = R + eS 2 is the vector from the system
center of mass to the satellite center of mass (p occurs in both equations because
the corresponding vector to the robot center of mass is -ep/2). The components
of p in satellite coordinates are
PI = sin ~l cos ~2' P2 =1 - cos ~I cos ~2' P3 = -sin ~2 (6)
Then the H = 0 equation written as a matrix equation of components in coor- s
dinates becomes
[Asr]' + (mf2/4)IIAsr] 'tJ/s + [I' + Asrl'(Asrf + (mt'z/4)II] sw si = 0 (7)
where], is the inertia matrix of link 2 about its center of mass in r coordinates,
/' is the satellite inertia about its center of mass in coordinates, A sr is the direc-
tion cosine matrix from to and r s,
II = [ p~-PIP2
+ P~
p~ +
~PZP32 (8)
-PIP3 -PZP3 PI + pz
Now let us apply the results to the first stage of Maneuver No.1, in which ~I
goes from 0° to 180 while ~2 remains zero. Let]' = /' = diag(I, 0, I). Then equa-

tion (7) can be written as

m'(l - CtPI)2 + /(1 - c2tPd m'stPI(1 - ctP.) + IctPIStPI
[ m'stP.(l - c~.) + /ctP.stP. (m' + I)s2tP.

1= 0
2 'W~i + 4>.

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)
[ -cOzs(h (10)
. .
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.
The above example shows that in spite of the fact that the satellite-robot 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 satellite-robot 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 end-effector 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 satellite-robot 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

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.

Space-Based Robot Kinematics with the Satellite Attitude Control

System On
Introductory Discussion
There are reasons for wanting the satellite attitude control system on, and rea-
sons for wanting it off. Having it off: 1) avoids collisions when ACS jets fire,
2) saves ACS fuel since the robot operation can be made to correct its own atti-
tude disturbances [1], and 3) the robot operation can also accomplish desired
satellite attitude changes [1]. However, these advantages are gained at a very
large increase in complexity of path planning. When the attitude control is on,
the end-effector positioning problem in inertial space becomes a pure kinematics
problem again with the position being purely a function of the current robot joint
angles, as shown below. To facilitate comparison to the only existing spaceborne
manipulator, we choose to develop the space-based kinematics of an elbow
manipulator very similar to that of the Shuttle Remote Manipulator System.
The space-based elbow manipulator kinematics developed here parallels the
polar coordinate robot development in [2]. An illuminating way to view the prob-
lem is in terms of a virtual manipulator as discussed in [4]. Note that this space-
based kinematics that applies when the attitude control system is on, is used as
part of the inverse kinetics solution obtained in [1] for the case when the attitude
control system is off. Also, it should be noted that with the attitude control on,
one sometimes uses the space-based kinematics developed here, and sometimes
uses standard kinematics, as discussed below and in the example section.
Some intuitive understanding of this new kinematics can easily be obtained.
Since the attitude control corrects any disturbances to the rotational position,
the new kinematics need only account for translational motion of the robot base,
i.e. the satellite, when positioning the end-effector in inertial space. Consider
first a two point-mass model of the Shuttle with a load on the end of the RMS.
Take the Shuttle mass as 4586 slugs, and use the maximum payload rating for the
RMS of 2055 slugs. A command to translate the load a linear distance of 20 feet
using the standard kinematics results in 20 feet of translation relative to the
Shuttle point mass. Conservation of the center of mass position of the system in-
dicates that the payload only moves 13.8 feet relative to inertial space, so the end-
effector misses the target by 6.2 feet. One can predict this miss distance, and
work backward to find the distance that must be commanded relative to the
Shuttle so that a 20 foot translation in inertial space is accomplished. With such
a point mass model the problem is reasonably transparent. It becomes signifi-
cantly more complicated when the full robot geometry is used with all of the link
masses and load mass included. But the forward and inverse kinematics prob-
lems in space can readily be solved as is done in the next section. The level of
complexity of the kinematics is essentially the same as that of the standard kine-
matics problem, but this time certain mass ratios appear in the equations.

Elbow Manipulator Geometry

The elbow manipulator's six Jomts illustrated in Fig. 3 may be labeled
1) shoulder yaw, 2) shoulder pitch, 3) elbow, 4) wrist pitch, 5) wrist yaw and
6) wrist roll. The six elements or links of the manipulator are labeled body 1
through body 6 and the base-body or satellite is labeled body O. We will use a sub-
script 7 to identify the mass of a payload. However it is not considered a separate
body kinematically since its orientation remains fixed relative to body 6 when at-
tached to the end-effector.
A separate body-fixed coordinate system, i , i == 0, ... ,6, is associated with
each of the seven bodies, and the angle (Ji, associated with joint i, specifies the
orientation of body i relative to body i - 1. Several restrictions are imposed,
without loss of generality, to facilitate the kinematic developments that follow.
First, the orientation of the body coordinate axes are chosen such that they are
all parallel when the manipulator is in the home position as in Fig. 4. The joint
angles (Ji are all zero in this orientation. Next, the origins of coordinate systems
eO, e1and e2are colocated, as are the origins e5and e6. This greatly simplifies the
kinematic equations, however care must be taken in specifying the location of
the center of mass of each body in its own body-fixed coordinate system.
With this choice of origin locations, the lengths of links 2, 3 and 4 must be
specified in order to develop the kinematics. The fixed distance £2 separates eO
and e\ similarly, £3 and £4 separate e3and e\ and e4and e6, respectively. We can
now proceed with the kinematics.

with a5
Body 1


0 rig
with e', &2 e~
FIG. 3. Coordinate Frames for the Elbow Manipulator.

e"A0 e"A, e,A2 e"A5 e,A6

FIG. 4. The Robot Arm in its Home or Zero Position.

Standard Kinematics
The standard forward and inverse kinematics for this elbow manipulator is
discussed first. This serves as a basis for the space-based 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 end-effector 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 body-fixed coordinate frames for our
manipulator are
1 0 0 0 0

~l ~ lA, [~

SI Cl 0 0 C2 -S2 C3 -S3 £2
0 0 1 A, = 0
S2 C2 = S3 C3
0 0 0 0 0 0 0 0

1 0 0 C5 -S5 0 0 S6

fJ OJ [ C,0
0 C4 -S4 S5 C5 0 A6 1 0
A4 = 1
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

ay py
T6 = A1A2A 3 A 4 A 5A 6 = nz a z pz
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 •

The inverse kinematics problem may be stated: find a set of joint angles that
will produce a given desired position and orientation of the end-effector (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)
06 = ATAN2[ -S234(s)nx - c)ny) - C234n" S234(s)a x - Clay) + C234azl

6 234 = ATAN2(o" -OxSI + OyCt) or 6 234 = ATAN2(-0" OxS) - Oyc)

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].
Space-Based Kinematics
Now consider the same robot mounted on a satellite whose attitude is fixed.
The terminal position of the end-effector in inertial space will depend on the
translation experienced by the base-body, 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

FIG. 5. Satellite Mounted Robot Showing the Inertial Coordinates.

o is free to move relative to i although eO will never rotate with r~spect to i.

The constraint that the system center of mass remain inertially fixed yields the

( 1=0 mi)Rcs = ±±
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

Load eM
.':L 1
Body 6 eM

Origin ~o frame
\v q
Body 2 eM
Body 3 eM

-Body 1 eM
~Satellite eM

\ Inertially Fixed Point

FIG. 6. Vector Definitions Showing Locations of the Center of Mass for Each Body.

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)
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)

The vector eg is identical to e~ and is therefore specified by the vector 0 from

equation (12) as
e~ = (-C1SS - SlC234cS)e? + (-SISS + Clc234cS)e~ + s234cSe~ (34)
Since the satellite base-body does not rotate, the forward kinematics attitude
equations are identical to those previously defined by equations (11) and (12).
The terms PI' py and pz specify the position of the e6origin in eO coordinates; we
define this vector to be Rq6. The position G~ the 6 origin relative to the i origin
is then
Both rq and Rq6 are known at this point and if Res is known, then we can obtain
R from equation (22) after elaborate substitution. Res is most easily obtained from
the home configuration, in which R = 0, so that
Resl = (l/m07)(mI7 rql + m7rLl)
Res2 = (1/mo7)(m17rq2 + m 2d 2 + m37e2 + m3d3 + m47e3 + m 4d 4 + mS7e4
+ msds + m 67d6 + m7rL2)
Here, mij is the summation of masses i through j. Before substituting into equa-
tion (22) to obtain expresions for R, we recall that Rq6 can be obtained from
equation (12) and we note that since the payload is fixed relative to body 6, vector
R qL , from the eO origin to the payload center of mass, is readily obtainable as
well. If we denote as {Xq6, Yq6, Zq6} and {XqL' YqL, ZqL} their components in eO, then
the expressions for the components of R, after much algebra, can be written
Rl = Resl - (1/m07)[m17rql - (m2d2 + m3S e 2)s1C2 - (m3 d 3 + m4S e 3)s1 C23

- (m 4 d 4 + mSe4)SIC234 - (msds + m6d6)(ciSS + SlC234CS)

+ 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-
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


which represents the homogeneous transformation from e6 coordinates to inertial

coordinates. The elements of this matrix can also be written in terms of the geo-
metric constants and joint angles of the manipulator by multiplying equation (12)
by a transformation from eO to i. This transformation is simply a translation de-
fined by R + rq so that


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
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

Res = R6 + dse~ = (X6 + azlds)il + (Y6 + ands)iz + (Z6 + aZ3dS)i3 (40)

Re6 = R6 + d6e~ = (X6 + a Zl d6)il + (Y6 + a ZZd6)iz + (Z6 + a23d 6)i3 (41)

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

91 = ATAN2[ - X6 + X6, Y6 - Y6] or 91 = ATAN2[x6 - X6, - Y6 + Y6]

92 =9 234 - 93 - 94 (43)
cos 9 3 = (qy + qz - l2 - l3)/(U 2l 3)
2 2 -2 -2 - -
94 = ATAN2[ -f 2s 3qy + a2C3 + f 3)q., a2C3 + f3)Qy + f 2s3Qz] (45)
95 = ATAN2[ -a2lCl - aZZSh -a2\SIC234 + a22ClC234 + aZ3s234] (46)


96 = ATAN2[ -(al1S1 - al2cds234 - a\3C234, (a31s1 - a32cds234 + a33c234]


£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)
qz = [(£6 - X6)St - (Y6 - Y6)C I]S234 + (26 - Z6)C234 (52)

Cz = mozC z - m 2d z (53)
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 space-based 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
satellite-robot 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
kinematics-since the desired end-effector 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 space-based 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.

Computation of Satellite Disturbances From Robot Motion

Attitude Control System Turned Off
Robot IQotion disturbs both the position of the satellite, and the orientation of
the satellite. One way to study the translational disturbances would be to com-
pute the forces applied by the robot base joint bearings, and use Newton's law to
obtain satellite center of mass motion produced by this force. Of course this is
unnecessary because in the absence of any external forces on the satellite-robot
system, the center of mass must be fixed in inertial space. One of the implica-
tions of this double integral of the system equations of motion 'is that there can
be no unbounded growth of the translational position errors. It also says that
once the satellite attitude is known, one can use the center of mass of the system
to find the satellite position.
The attitude errors produced by robot motion are much more complicated to
study since no equivalent double integral of the motion exists. When an attitude
control system is operating, one is interested in what torques are applied to the
satellite by the robot, which must be counteracted by the controller. This is dis-
cussed in the next section. When the attitude control system is off, one is inter-
ested in finding the actual attitude changes. In the absence of any external
moments on the satellite-robot system and assuming zero initial angular momen-
tum of the system, one can produce a first integral of the motion saying that the
system angular momentum is zero. Unlike the translational motion discussed
above, this momentum conservation cannot be integrated a second time. Thus
the attitude angles obey a differential equation which is developed in [1] in this
issue, and the attitude angles become a function of the history of robot motion.
One implication is that there is no bound on the disturbance effect on the atti-
tude angles as is demonstrated in [1] and [5].
Attitude Control System On
It is the objective of the satellite attitude control system to maintain the atti-
tude in spite of the robot disturbance torques. Formulas derived in [2] are sum-
marized here which compute these torques directly without the need for a full
dynamic analysis of the multibody system. This information can be used to pre-
dict behavior, and to size the attitude control actuators. It can also be used as
feedforward commands to an attitude control system which aims at cancelling
the robot disturbances before they have a chance to affect the system. Without
feedforward control, the disturbances would have to produce an attitude error
before the controller would take corrective action.
Cancellation of the disturbance torques requires a continuously variable con-
trol actuator such as reaction wheels or control moment gyros, as opposed to re-
action control jets. It is important to note that as long as the control system can
recover to the desired satellite attitude at the end of the robot maneuver, the de-
sired end-effector position in inertial space is obtained when using the space-
based kinematics given above. There is no accumulation of end-effector position
errors from failure to maintain zero attitude error during the robot maneuver.
The attitude disturbance moments about the satellite center of mass are pro-
duced both by the moments and by the forces transmitted through the bearings

of the base joint. The reaction moment feedforward command Mr to cancel the
attitude disturbances is computed as follows:
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
M: = Mj + [mo7(R cs - R) - m17rb] x dt 2 (56)

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


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 Inspired Numerical Example

This section illustrates the use of the new space-based kinematics developed
here for the elbow robot on a satellite with the ACS on. We demonstrate the er-
rors in inertial positioning of the end-effector that can occur if one does not use
these new kinematic relations, and simply applies the usual equations for a robot
mounted on a fixed base.
The satellite and robot parameters are chosen to be roughly those of the Shut-
tle with its Remote Manipulator System (Table 1). The payload chosen is of
mass 1,088 slugs (35,000 Ibm) which corresponds to the current payload operating
limit (which was reduced from the original RMS operational requirement of
65,000 Ibm). The payload is modeled as a point mass and, when attached to the
arm, is fixed at 2.35 ft beyond the end-effector along the central axis of bodies 5
and 6.
TABLE 1. Geometric and Mass Properties of the System

Body (, (ft) di (ft) m, (slug)

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)

The robot maneuver considered consists of transferring the end-effector from

its home position along the edge of the Shuttle bay to a payload pickup point
fixed in the bay and then, after grasping the payload, transferring the payload to
an inertially specified position. During the first part of the maneuver the fixed-
base kinematics apply; during the second part the new kinematic equations are
required. To illustrate the importance of the new kinematics, the second part of
the maneuver is also computed using the standard fixed-base kinematics and the
differences in final position and commanded joint angles are noted.
The initial end-effector position is defined by a T6 matrix with identity for the
attitude submatrix and position coordinates {Xq6, Yq6, Zq6} = {O.O, 45.58, O.O}. At
the payload pickup point the attitude of the end-effector remains the same and
the new position is given by {-8.5, 35.0, -8.0}. The joint angles corresponding
to this end-effector position are {8 1o 82, 83, 84, 85, 86} = {13.65, -51.77, 73.12,
-21.35, -13.65, O.O}. Translations are given in feet and angles in degrees. Dur-
ing this portion of the maneuver the payload is considered part of the Shuttle so
that mo = 5,678 slugs and m7 = O.
At t = 30+ sec the payload is attached to the end-effector so that the base
and payload masses become mo = 4,590 and m7 = 1,088. The payload is then
transferred such that it reaches the final inertially specified position at t =
330 sec. This final position is high above the Shuttle bay and toward the tail and
right wing. The corresponding T6 is given by an identity attitude submatrix and
the position vector {-11.0, 10.33, 40.0}.
Using the new kinematics, the final joint angles that achieve the maneuver are
{73.99, 57.30, 40.06, -97.36, -73.99, O.O}. These can be compared with {46.80,
53.76, 33.22, -86.98, -46.80, O.O} obtained by (incorrectly) applying the fixed-
base kinematics to the problem.
To present the joint angle time history for this problem, we must first define
the shape of the twice differentiable command for each joint angle. A nondimen-
sional representation of the angular position, rate, and acceleration for each joint
is shown in Fig. 7, where the total time for the maneuver has been partitioned
into five equal segments of length T. For the first 2T, the path is quartic satisfy-
ing the given initial value and with the initial first and second derivative zero.
At 2T, the second derivative is set to zero and the first derivative set to the value

_ - -.. . e

o T 2T 3T 4T 5T
A position x speed v acceleration

FIG. 7. Joint Variable Paths for the Example Maneuver (Not to Scale}.

of the variable at that point (call it A) divided by T. From 2T to 3T, there is a

constant joint variable rate of A/T = (B - A)/T, where B is the value of the vari-
able at 3T. From 3T to ST, the path is again a quartic with analogous boundary
conditions [8]. Such a path is illustrated in Fig. 7, together with the associated
rate and acceleration.
The joint trajectories that result from this process are illustrated in Figs. 8 and
9, both for the new correct kinematics taking into consideration the Shuttle
translation, and for the usual kinematics that assumes an inertially fixed or sta-
tionary base. The difference between the two curves in each case represents a
position error, given in joint variable space, that results when one uses the stan-
dard kinematic equations.
The same error transformed into the cartesian coordinates for positioning of
the end-effector is given in Fig. 10, where x, y, and z are the components of this
error in the inertial coordinate frame. The corresponding translation of the
Shuttle's center of mass during the maneuver is given in Fig. 11. One observes
that the inertial position error when one fails to use the new kinematic equations
presented here is approximately 11 ft for this example.
Concluding Remarks
This paper has illustrated a series of problems relating to the operation of
robots in space. In this special issue on Robotics in Space it serves as an intro-

01 30
3. 20
c: 10
~.,a 0
... -10
.Q -20
c: -30
0 40 80 120 160 200 240 280 320
Time (sec)
--6- stationary bose --4- translating base

FIG. 8. Positions of the Manipulator's Yaw Joints: 8 1 and 85•

,..... 30
3. 10
'iii -10
... -20
.Q -30

« -50

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,




... 20

c 10
is 0



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).

11 __- - - R
6 ~---y
,.... 4
...u 2
.....,a 0
is -1
0 40 80 120 160 200 240 280 320
Time (sec) __
x -y Z mag R

FlG.H. Center of Mass Translations of the Shuttle (Relative to Inertial Frame).


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
2. The second topic discussed is the positioning of the robot load when the
attitude control system is operating-which we have called the space-based
forward and inverse kinematics problems. With the Shuttle Remote Manipula-
tor System in mind, these space-based kinematics problems are solved for a
satellite mounted elbow robot. The approach taken parallels the first work on
space-based 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 space-based 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 space-based 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.

[1] LONGMAN, R.W. "The Kinetics and Workspace of a Satellite-Mounted Robot," The
Journal of the Astronautical Sciences, Vol. 38, No.4, October-December 1990, pp. 423-440.
[2] LONGMAN, R.W., LINDBERG, R. E., and ZEDD, M. F. "Satellite-Mounted Robot Ma-
nipulators-New Kinematics and Reaction Moment Compensation," The International Jour-
nal of Robotics Research, Vol. 6, No.3, Fall 1987, pp. 87-103; also, Proceedings of the AIAA
Guidance, Navigation and Control Conference, Snowmass, Colorado, August 1985, pp. 278-
[3] LINDBERG, R. E., LONGMAN, R.W., and ZEDD, M. F. "Kinematics and Reaction Mo-
ment Compensation for a Spaceborne Elbow Manipulator," Paper No. AIAA-86-0250,
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, October-December 1990, pp. 441-472.
[5] LONGMAN, R.W. ')\ttitude Tumbling Due to Flexibility in Satellite-Mounted Robots," The
Journal of the Astronautical Sciences, Vol. 38, No.4, October-December 1990, pp. 487-509.
[6] ALEXANDER, H. L., and CANNON, Jr., R. H. ')\n Extended Operational-Space Control
Algorithym for Satellite Manipulators," The Journal of the Astronautical Sciences, Vol. 38,
No.4, October-December 1990, pp. 473-486.
[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. 183-187.
[9] ROSENTHAL, D. E. ')\n Order n Formulation for Robotic Systems," The Journal of the
Astronautical Sciences, Vol. 38, No.4, October-December 1990, pp. 511-529.
[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, October-December 1990, pp. 557-579.
[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, October-December 1990, pp. 531-556.
The Kinetics and Workspace of
a Satellite-Mounted Robot 1

Richard W. Longman 2


Satellite-mounted 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 satellite-mounted 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 degree-of-freedom satellite-mounted 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 free-flying 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.

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
[1-3], 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 satellite-mounted 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. 374-381.
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. 423-440. Copyright © 1990
by the America Astronautical Society Inc., reproduced here with kind permission of the America
Astronautical Society, Inc.

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 degree-of-freedom elbow type manipu-
lator, with certain additional simplifying assumptions. The problem is then fully
generalized to handle six degree-of-freedom manipulation of a rigid body load.
The robot-satellite 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 satellite-mounted robot. It is found, as suggested in [2], that in the atti-
tude free satellite-mounted case, these problems are no longer kinematics prob-
lems, but rather dynamics problems. The satellite attitude and hence the inertial
position of the robot end-effector, 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 satellite-mounted 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
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.

• Load

FIG. 1. Free Flying Satellite with Robot.

To develop the equations of motion, we consider the angular momentum of

the system about point q which can be written as

Hq ;;;;; 2:3
f Bodyj
-d dm
+ m4P4 x Idp

where presuperscript Ion a derivative indicates differentiation with respect to the

inertial coordinate system, and P is a generic position vector of the differential
element of mass dm (see Fig. 2). The inertial derivative of Hq can be related to
the sum of external moments which is known to be zero. Examining one of the
integrals in the sum

dm;;;;; -Id
(PI - R - rq) x -(PI
- R - rq)dm

;;;;; f (
Id 2 )
. PI x -d2Pl dm - -d
Pidm x -d (R
+ rq).]

ld [
- dt (R + rq)
ld f
x dt BOdy/idm
]+ Id [
mj dt (R + rq)
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)

System Satellite Fixed
of Mus

FIG. 2. Definitions of Vectors.

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

j=O Bodyj
(p x IddP) dm
= f
Bodieso, 1
p X «(JJ0I x p)dm + fBody 1
p X «(JJIO x p)dm
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
= fBody 3
(l2 + IIp) Id (l2
x -d
+ IIp)dm

= f
Body 3
(£2 + IIp) x [ 2dl
d 2
+ (JJ2I X l2
3d Il
+ - dp + tffl
IIp dm

= m3[t'2 x (1JJ1I X t'2)] + m3[rc3 x (1JJ1I X t'2)]

+ m3[t'2 x (1JJ31 x r(3)] + ! 3 . 1JJ31
= m3{[(t'2 + rc3) . t'2]! - t'2(t'2 + rc3)} . 1JJ21
+ m3{(t'Z . r(3)! - rc3t'2} . 1JJ31 + !3 . 1JJ31 (6)
This time !3 is the inertia dyadic of body 3 about its joint with body 2. Also, !
represents the unit dyadic. The contribution of body 4, the load, is similar with
rc3 replaced by t'3:

m4P4 X 1d;4 = m4{[(t'Z + t'3) . t'z]! - t'z(e z + ( 3)} . 1JJ2I

+ m4{[(e Z + t'3) . e3]! - e3(e Z + ( 3)} . 1JJ31 (7)

Combining these four results gives


where the augmented inertia dyadics are

!z,. = !z + m3{[(e Z + r c3) . e2]! - t'2(e Z + r c3)}

+ m4{[(e2 + t'3) • t'z]1 - e2(e2 + t'3)} (9)
!3,. = !3 + m3{[(t'Z . r c3)! - r 3eZ} C

+ m4{[(e 2 + ( 3) • e3]1 - e3(e Z + t'3)} (10)

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


= !01 + !z + !3 + m3{[(e2 + 2rc3) . e2]! - [rc3t'Z + eZe2 + e2rc3]}
+ m4{[(e 2 + ( 3) . (e 2 + ( 3)]! - [(e 2 + ( 3)(e2 + ( 3)]} (13)

can be considered a prescribed function of time when written in 510 52, 53

By equating the inertial derivative of Hq in equation (11) to the right hand side
of equation (3) we can obtain a first integral of the motion. After noting that
Id 0d
(R + rq) x dt(R + rq) = (R + rq) x dt(R + rq)

+ [(R + rq) . (R + rq)! - (R + rq) (R + rq)] . IJJOJ


the result is


where C is a constant vector in inertial space. We will assume that at t = 0

there is no angular momentum and no translational motion relative to inertial
space 110 12, 13, so that C = 0 not only in inertial coordinates, but also in 510 52, 53
The quantity R + rq is determined from the second integral of the translational
equation which dictates that the center of mass is fixed in inertial space, and by
choice of the inertial reference frame is located at the origin of the II, 12, 13 axes.

motR + m2(R + rq + rd + m3(R + rq + 12 + r c3) +

m4(R + rq + 12 + (3) = 0 (16)


When equation (15) is written in terms of 51. Sz, 53 components, with C = 0,

all of the inertia dyadics (9), (10) and (13), the angular velocities It)1O, It)20 and It)30,
and the terms depending on R + rq from (17), are prescribed functions of the
robot joint angles and angular rates. Thus (15) is a set of algebraic equations for
the three unknown components cufl, CU~I, cugl of It)0l on 510 52, 53 respectively.
To complete the description of the attitude motion, we need to get from the
angular velocity history to an expression for the 510 52, 53 coordinates relative to
the 110 12, 13 frame. This can be done in terms of the direction cosine matrix AOI
making use of one of the standard ways of defining angular velocity




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).

Construction of a Feasible Solution

A basic topic in any robotics text is the forward kinematics, which gives a
unique position and orientation of the robot load in terms of the set of joint
angles of the robot. One might think that such a relationship would still exist
when the robot is mounted on a free-flying satellite. If this were true it would
mean that the satellite attitude would have to be expressible as a function of the
current robot joint angles. Equations (15), (17), (18) do not allow such a solution,
as was demonstrated by a counterexample in [2]. The attitude of the satellite is
not just a function of the current robot joint angles, but rather a function of the
entire history of these joint angles. Thus, what was a pure kinematics problem
for the ground based robot, becomes dynamic in nature when the robot is
mounted on a free-flying satellite. This is perhaps frustrating because of the very
substantial increase in complexity, but it has its good side-it opens up newop-
portunities which we investigate.

The Satellite-Mounted Robot Forward Kinetics Problem

The standard forward kinematics problem in robotics is replaced, in the
satellite-mounted robot problem, by the following. Given the history of the robot
joint angles as a function of time, the final joint angles are used in the standard
ground based forward kinematics problem to get the robot end-effector position
relative to the satellite. Then equation (17) gives the inertial position vector to
the satellite in satellite coordinates. The history of the robot joint angles is used
in equation (15) to determine the satellite angular velocity history, and this is
used in equation (18) which is integrated to find the final satellite orientation as
a function of the entire history. Then combining the results one determines the
end-effector position in inertial space.
Because the result is a function of the history of the robot motion, it is not a
true kinematic relationship, and might better be called the forward kinetics
problem for satellite-mounted robots.

The Satellite-Mounted Robot Inverse Kinetics Problem

We claim that by proper choice of the robot path going from one chosen joint
angle configuration to another, one can cause the satellite attitude to assume any
desired attitude once the robot arrives at its final joint angles. The truth of this
claim will be established by constructing a feasible solution to accomplish the
The standard robot inverse kinematics problem is then modified to the follow-
ing. One can choose any final orientation of the satellite desired. Based on that
orientation, and the desired inertial position of the load, one can solve the
attitude-fixed satellite-mounted robot inverse kinematics as developed in [1,2] to
find the final joint angles needed. This kinematics problem acknowledges that
the center of mass of the system must be fixed, so that choice of the satellite at-
titude and of the desired load inertial position will dictate through a complicated
relationship [1,2] the position of the robot base in inertial space. Then one must
determine a joint angle history, going from the given initial joint angles to these

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 satellite-mounted 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 satellite-mounted robot inverse kinet-
ics problem.

A Feasible Inverse Kinetics Solution

For simplicity, in this section we will consider a specialized problem in which
rq lies on the 52 axis shown in Fig. 2. This assumption will be eliminated later.
Now we can form the seven stage sequence of operations shown in Fig. 3, which
will be shown to allow a solution of the inverse dynamics problem for any pre-
scribed initial and final satellite orientation, and any prescribed initial and final
load inertial positions within the robot workspace.
Stage 1 starts with the current robot position and follows any chosen path to
align the robot links along the 51 direction. The robot arm then executes a con-
ing motion about this 51 direction in stage 2. This coning motion is analogous to
spinning a wheel inside the satellite, and hence will rotate the spacecraft about
the S1 axis by any desired amount. One chooses the size of the cone angle for
this spacecraft rotation; the smaller the cone angle, the more revolutions about
the cone are required for a given satellite rotation. Stage 3 realigns the robot
length along the 52 axis to allow coning to rotate the satellite about 52 in stage 4.
Then stage 5 reorients the robot for coning about 53 in stage 6, and finally stage 7
moves the joints of the robot to the final desired angles by making any specific
choice of path.
In the following sections, the mathematical details are developed to determine
the requisite amount of coning needed for each axis, to accomplish the desired
satellite and robot reorientation. The result will be a step by step procedure for
the satellite-mounted inverse kinetics problem. For simplicity, the cone angles
used will be considered sufficiently small that they have negligible influence on
the nonconing stages, e.g., stages 3 and 5 will be considered to be pure 90° rota-
tions. The next section uses the three degree-of-freedom robot model with the
various assumptions discussed above. The section following will show how to
obtain a fully general inverse kinetics solution for six degree-of-freedom robot
Computation of the Feasible Inverse Kinetics Solution
The inverse dynamics or kinetics problem can be stated as follows. We are
given the initial satellite attitude and the present robot joint angles, which to-
initial configuration finaJ


stat- 1

sta,e 2

initial final configuration

"~=s I .

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.

The Fixed Satellite Attitude Inverse Kinematics Solution

In [1] and [2] the author and co-workers developed the inverse kinematics of a
sate11ite-mounted robot when the satellite attitude is fixed. Specifically, [2] gives
this solution for an elbow manipulator as is used here. Note that when the satel-
lite attitude is fixed, the inverse problem is a true kinematics problem. The in-
verse kinematics solution in [2] is used here as follows: the satellite attitude and
the inertial load position at the end of stage 7 are given, and the solution in [2]
gives the robot joint angles at the end of stage 7.

Computation of the Initial and Final Stage Attitude Motion

For both stages 1 and 7 any time history of the robot joint angles is chosen to
get the joints from their required initial angles to their required final angles (the
final angles in stage 7 were determined above). During these robot arm motions
the satellite will be disturbed.
Start with the given initial satellite attitude in stage 1, specified in terms of the
direction cosine matrix IbAo , where the Ib presuperscript denotes the beginning
of stage 1. This forms the given initial condition for equation (18) which is
solved, for the chosen robot motion history to give the final satellite attitude,
specified by the direction cosine matrix at the end of stage 1, denoted lJAOI.
For stage 7 the procedure is reversed. The direction cosine matrix at the end
of the stage is given, 7JAOI, and equation (18) is integrated backwards using the
chosen robot motion during the stage, in order to determine 7bAol.
Combining these results, the net attitude change that must be accomplished by
stages 2 through 6 is

Satellite Attitude Motion During the Transfer Stages 3 and 5

Here we develop the details for stage 3. The result for stage 5 is obtained
analogously. For the specific robot maneuver in stage 3 we must solve equations
(15), (17) and (18) to obtain the resulting satellite rotation. Since at the moment rq
is considered to be on the 82 axis, this rotation is a pure rotation of the satellite
about h and we denote the angle of rotation by 1/13 measured in the right handed
sense about h We presume that 83 is a principal axis for !2 and !3 during this
motion, and denote the associated moments of inertia by IF), I~3) respectively.
Similarly, I~1) and 1101 ) are the associated principal moments of inertia for !1 and
!01 about h
Define scalars 'q, 'e2, 'C}, £2, e3 such that

= r q S2' = re2f2' = 'df ), = £2f2, = e3f3

~ ~ ~

rq re2 re3 f2 f3 (22)

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

where rc24 = rcz4t is the vector from q to the center of mass of the system of
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)
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)

E(a) = {I~I) + If) + I~3l. + m3(e~ + 2rc3eZ) + m4(eZ + (3)z
- (ljmo4)[(mz4rc24f - (mO\mZ4rqrcZ4) sin a])
F(a) = {l~01) + If) + I~3) + m3(e~ + 2rc3eZ) + m4(eZ + ( )Z3

- (l/m04)[(mOlrq )2 + (mZ4rC24)z - 2(mZ4mO\rcZ4rq) sin a]}

Integration of equation (24) from a = 0° to 90° produces the resulting angle 1/13.
Note that if rq = 0 so the point q is at the center of mass of the satellite plus body
1, then (24) can be immediately integrated since E and F become independent
of a.

Computation of the Attitude Rotations Needed for Coning

We know that the result of stages 2 through 6 must generate the direction
cosine matrixA of (21). An equivalent representation of the satellite orientation
can be given in terms of 1, 2, 3 type Euler angles (Tait-Bryan angles), 8 h 8 z, 8 3,
to go from the orientation at the end of stage 1 to the orientation at the begin-
ning of stage 7. Thus
whereA\,A 2 , andA 3 are elementary direction cosine matrices for rotation in the
positive sense about the 1,2, and 3 axes respectively, through the angle given as
an argument for each.
Using the feasible solution, this A is to be generated by a sequence of rotations
of the spacecraft that result from the motions of the robot in stages 2 through 6.
Denote the rotations of the spacecraft about Sh Sz and S3 in stages 2,4, and 6 as
<Ph <Pz, and <P3 measured in the right handed sense about these axes. Similarly,
stages 3 and 5 result in spacecraft rotations 1/13 and I/Ih about S3 and Sh again with
the positive sense determined by the right hand rule about these axes. With
these definitions, the result of stages 2 through 6 can also be written as
Equating (26) and (27) and rearranging produces
A 3(8 3 - cP3)A 2(8 2)A I(8 1 - cPd = A I("'I)A Z(cP2)A 3("'J) (28)
In this equation we know the needed 8]' 8z, 83 by generating representation (26)
(this is a standard inverse kinematics solution for 81, 8z, 83, see for example [5]).
We have determined and "'I "'3
in the previous section. The unknowns are the
satellite rotation angles cPh cP2, and cf>J which must be generated by the coning
The inverse kinematics solution of (28) proceeds as follows. We examine each
of the nine scalar equations of (28) to isolate 8 1 - cPh cPz, 83 - cf>3 in terms of the
known 8 2, "'I, "'3. From the 31 term of each matrix in (28)
• -I..
= sin 82- sin "'I sin "'3 (29)
"'I cos "'3
From the 32 term
• (
sm 81 -I.. ) sin 1/11 cos 1/13 - cos 1/11 sin cf>2 sin 1/13
= ---'-''--'------'-'------''--=----'-''-
- 'PI (30)
cos 82
where sin cP2 on the right hand side of equation (30) is known from equation (29).
From the 21 term

. (83
sm -
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 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.

Determination of the Amount of Coning Required to Produce the Needed

Satellite Rotations

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

W1 = --(3
Wz =0
W3 = --a (34)
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 (Tait-Bryan 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*

Wz = - 0'*1 sm
. 0*3 + 0'*Z COS 0*1 COS ()*

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!/) * '
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

Mi z [M 2(UG)/(HV)]O fa' coszO-rdr

z [M z(UG)/(HV)]O(2/'lT)t (39)
which indicates how long to do the coning to produce the desired spacecraft spin
4J2' The phenomenon of satellite rotation about Sz when Wz = 0 in this problem is
similar to kinematic drift of gyroscopic instruments [6].

The General Six Degree-of-Freedom Inverse Kinetics Problem

For simplicity of understanding, the inverse kinetics problem solved above
treated a somewhat specialized problem. It considered a point mass load, a three
degree-of-freedom manipulator, and it required rq to be parallel to sz. In this sec-
tion we consider how to generalize to a rigid body load on the end of a six degree-
of-freedom manipulator, with an arbitrary r q •

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
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 1-3-2 Euler angles 1/131> 1/133, 1/132, and 2-1-3 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)

Substituting these into (27) produces

A + "'13)A 1("'Il)A 2(1/>2 + "'12 + "'32)A 3("'33)A 1(1/>1 + "'31)
= A 3(1/>3 (41)
Comparison shows the I/>h 1/>2, 1/>3, "'1. "'3 of (27) have been replaced by
1/>; = 1/>1 + "'31
1/>2 = 1/>2 + "'12 + "'32 (42)

1/>3 = 1/>3 + "'13

and "'11, "'33 respectively. The analytical solution to (28) then produces the values
of 1/>;, 1/>2, 1/>3 which can then be shifted by the known angles "'31, "'32, "'\2,
according to (42) to obtain the needed variables 1/>1, 1/>2, 1/>3.

Generalization to a Rigid Body Load on a Six Degree-oJ-Freedom Manipulator

Include three more degrees of freedom to the robot arm so that the rigid body
load can be given any desired orientation relative to the satellite. Any robot six
degree-of-freedom design can be handled, provided the first two joints are revo-
lute so that they can produce coning motion about chosen directions.
The rotational inertia of body 1 for rotation relative to the satellite will be
considered negligible during robot operation. This is a realistic assumption for
essentially all robot designs.
Stages 2, 4, and 6 are characterized by having the robot arm do coning about
a principal axis of the satellite, and the axis doing the coning goes from point q
through the center of mass of the arm with load. Furthermore, this axis is a prin-
cipal axis of the arm with load configuration. The requirement for generalization
to six degrees-of-freedom is to preserve these properties. Hence, stage 1 is de-
signed to reorient the rigid body load in any chosen way that will cause the
vector from point q to the center of mass of the load and arm together, to be a
principal axis of the load and arm for this point. There will generally be an in-
finite number of such configurations to choose from. Once this is accomplished,
then the principal axis of the load and robot must be aligned with the 81 satel-
lite axis.
Stages 2 through 6 then proceed as before, with all operations being about 81,
52, or 83 directions. Note that because of the assumption of negligible inertia of
body 1 about its symmetry axis, there is no need to restrict this axis direction to
be along a satellite principal axis as was done previously.
In order to complete the inverse kinetics computation the chosen robot arm
reorientation in stage 1 and the resulting needed reorientation in stage 7 require
modifying the development in equations (1) to (17) to include the extra robot
links. The modifications needed are obvious and simple to make.

The Satellite-Mounted Robot Workspace in Inertial Space

Having established a solution to the satellite-mounted robot inverse kinetics
problem, it is of interest to determine when this inverse problem has a solution-
i.e., what is the workspace for the satellite-mounted robot. We return to the orig-
inal three degree-of-freedom problem positioning a point mass load, so the
workspace is the set of points in inertial space at which the load could be placed.
The vector R can be written as
R ;;; -(1/m04)[m24rq + (m2rcZ + m 34(2)f2 + (m3rc3 + m 4e3)f 3] (43)
after making use of (16) and (22). Then the distance of the load from our chosen
inertially fixed point at the system center of mass can be written
RL ;;; R + rq + e2 + t3
;;; (1/m04){mOlrq + [mote2 + mz(fz - rCz)]f 2 + [m02f3 + m3(f3 - rc3)]f 3}
From the previous section we know that by proper choice of the robot path we
can cause the satellite attitude to adopt any desired orientation in inertial space
at the end of the maneuver. Therefore, if we find the robot joint angles a, /3, y
that maximize the magnitude of R L , then by proper choice of robot joint histo-
ries we can make this maximum possible distance apply to all directions in iner-
tial space by reorienting the spacecraft.
From this we conclude: The robot work space is a sphere centered at the sys-
tem center of mass.
The radius Rw of the spherical workspace is the maximum magnitude of RL
over all possible a, /3, y. (In the computation of Rw made here we assume that
this maximum is obtained for admissible angles a, /3, y.) Note that the coeffi-
cients of rq , f z, and f 3 in equation (41) are positive for any reasonable link design
(it may be possible to generate a negative coefficient in a pathological case where
the center of mass of a link is not between its two joints, but we will not consider
such cases). Then the form of (44) makes it clear that the magnitude of RL is
maximized if rq , f z, and f 3 are all aligned. This means that the robot arm is
straight at its elbow, and is directed along r q • Pictorially, the load point mass, the
elbow joint, the joint q, and the center of mass of bodies 0 together with 1, all lie
on a line. And from (43) this means that the system center of mass is on this line
as well.
Therefore, the spherical workspace radius is given by
Rw ;;; [mOlhl + mOlf2 + m2(f2 - rc2) + mOZf3 + m3(f3 - rC3)]/(m03 + m4)
A second conclusion is clear in this expression. The workspace is a monotoni-
cally decreasing function of the robot load mass m4.
References [1] and [2] discuss the case of a robot mounted on a satellite with
an active attitude control system in operation. It is clear from the above that the
workspace for such a robot is a subset of the workspace obtained here. The di-
rection for which RL takes on its maximum length can only apply to one direc-
tion in inertial space when the satellite attitude is fixed. In this direction the two
workspaces are identical, and in other directions the workspace will normally be
smaller, and interference with the satellite will cut off additional regions from
robot access.

We conclude that having the satellite be free-flying, 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
One can also compare the workspace of the fixed-attitude satellite-mounted
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



Then the distance to the edge of the work space in the arbitrarily chosen di-



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 free-flying satellite versus the same robot with an inertial mount. If the load
mass is very small, the satellite-mounted 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 satellite-mounted robot can be much larger than its Earth bound

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.
The author wishes to acknowledge helpful discussions with Mr. Chi-Kuang
[1] LONGMAN, R.W., LINDBERG, R.E., and ZEDD, M. F. "Satellite-Mounted Robot Ma-
nipulators-New Kinematics and Reaction Moment Compensation," International Journal of
Robotics Research, Vol. 6, No.3, Fall 1987, pp. 87-103; also, Proceedings 01 the AIAA Guid-
ance, Navigation and Control Conference, Snowmass, Colorado, August 1985, pp. 278-290.
[2) LINDBERG, R. E., LONGMAN, R.W., and ZEDD, M. F. "Kinematics and Reaction
Moment Compensation for a Spaceborne Elbow Manipulator," Paper No. AIAA-86-0250,
AIAA 24th Aerospace Sciences Meeting, Reno, Nevada, January 6-9, 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 Satellite-Mounted Robots,"
Proceedings of the AIAA Guidance, Nagivation and Control Conference, Minneapolis, Minne·
sota, August 1988, pp. 365-373. (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, October-December 1990, pp. 441-472.
[5] PAUL, R. Robotic Manipulators: Mathematics, Programming, and Control, The MIT Press,
Cambridge, Massachusetts, 1981.
[6] CANNON, JR., R. H. "Kinematic Drift of Single-Axis Gyroscopes," Journal of Applied
Mechanics, Vol. 25, No.3, 1958, pp. 357-360.
On the Dynamics of Space
Manipulators Using the Virtual
Manipulator, with Applications
to Path Planning

Z. Vafa 1 and S. Dubowskr

Robotic manipulators carried by future spacecraft are expected to perform important
tasks in space, such as the servicing of satellites. However, the performance of these sys-
tems could be severely degraded by dynamic disturbances to the spacecraft caused by ma-
nipulator motions. This paper presents a method for representing the dynamics of space
manipulator systems using the recently developed Virtual Manipulator (VM) concept.
This representation is then applied to develop algorithms which can be used to plan ma-
nipulator motions that minimize disturbances of the spacecraft.
Future space missions will require the construction, repair and maintenance
of satellites and space stations in space. Current technology would require that
these tasks be performed by astronaut Extra Vehicular Activity (EVA). It has
been proposed that robotic manipulator systems be developed to perform many
of the tasks which currently can only be done by astronaut EVA. Elimination of
the need for astronaut EVA would greatly reduce both mission costs and hazards
to astronauts. A concept of a space manipulator system for satellite repair is
shown in Fig. 1 [1]. It consists of two mechanical arms carried by a spacecraft.
Typical space robotic manipulator tasks would require precise manipulator
motion control [2-4]. Unfortunately, manipulator motion control is difficult to
achieve due to the dynamic coupling between the manipulator arms and its
spacecraft. As the arms move they will exert dynamic forces on their spacecraft
which would cause it to move. These spacecraft movements can be large depend-
ing on the relative masses of the spacecraft, the manipulators and their payload.
The manipulator-spacecraft dynamic interactions can be compensated for by
the spacecraft's attitude control jets. Researchers have recently performed studies
of kinematics, dynamics and control of space manipulators which focus on com-
pensating for this dynamic coupling in systems that use attitude control jets. For

1 Mechanical Engineer, GE Corporate Research and Development, PO Box 8, Schenectady, NY

12301; This work was done while a graduate student at MIT.
2Professor of Mechanical Engineering, Massachusetts Institute of Technology, Cambridge, MA
The Journal of the Astronautical Sciences, Vol. 38, No.4, 1990, pp. 441-472. Copyright © 1990
by the America Astronautical Society Inc., reproduced here with kind permission of the America
Astronautical Society, Inc.

FIG. 1. Typical Space Manipulator System Concept.

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 photo-voltaic 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-

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 [11-13]. These papers model space manipulator systems, including the
manipulator-spacecraft 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
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
self-correcting 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.

The VM Representation of Space System Dynamics

The dynamic equations of motion and their applications in path planning al-
gorithms for space manipulators that do not require the use of attitude jets are
developed using the Virtual Manipulator technique [11-14]. The Virtual Manipu-
lator (VM) is a massless kinematic chain which has a base at the Virtual Ground
(VG) and terminates at an arbitrary point on the real manipulator. VM's can be
defined for many different manipulator structures, such as open or closed chains,
single or multiple branch arms, revolute or prismatic joints [15].
In this section the Virtual Manipulator concept developed in [11,13] is briefly
described and it is shown that the dynamic characteristics of free floating space
manipulator systems can be effectively represented using the VM.

The System Model

Future systems will consist of one or more mechanical arms carried by a
spacecraft, having six degrees of freedom (DOF): three translations and three ro-
tations in space, as shown in Fig. 1. The spacecraft may be equipped with reac-
tion wheels for attitude control. The mechanical manipulator arms will each
have at least 6 DOP. This manipulator is assumed to be driven by electric actua-
tors. The power for these actuators could be provided by photovoltaic panels,
which do not use reaction jet fuel.
It is assumed that, if the system does not use its reaction jets, there are no ex-
ternal forces on the system. Therefore, the center of mass of the space manipula-
tor system will remain in a fixed trajectory, unaffected by the manipulators'
motions. It is also assumed that the manipulator system moves sufficiently slowly
so that the flexibility of its components can be neglected, and the manipulator,
spacecraft and its environment can be represented by a series of rigid bodies.
Bodies whose centers of mass do not move relative to each other, such as a link,
its actuator and its transmission, can be combined into one rigid body. All the
bodies are connected through either prismatic or revolute joints. Hence, the sys-
tem can be represented by a set of connected rigid bodies, as shown in Fig. 2.
The manipulator'S payload is assumed to be rigid and fixed to the end effector.
Therefore, the payload and the end effector will form a single rigid body. When
the end effector grasps another payload the system model will change.

The Analytical Non-End Effector VM Construction

In order to derive the dynamic equations of motion for the system, the VM
ending at an arbitrary point on the real manipulator is needed. In this section the
general rules for analytically constructing the Virtual Manipulator to an arbi-
trary point of an open chain manipulator are presented. The development of the
end effector VM is presented in [12]. It is also possible to construct the Virtual
Manipulator geometrically, which is discussed in more detail in Appendix A.
First, rules for finding the non-end effector VM properties for the initial ma-
nipulator configuration are described, then the rules for its joint movements as a
function of the real manipulator joint movements are presented.
Figure 3 shows a schematic drawing of an N body spatial manipulator system.
The first body in the chain represents the spacecraft which carries the manipula-
tor, and the Nth body is a combination of the payload and the end effector. The
first joint, h is a free joint which permits the first body to rotate about any three
orthogonal axes in space and translate parallel to these axes. This joint is located
at the first body's center of mass.
Figure 4 shows the ith link of the manipulator. As shown in this figure, the ith
joint is called 1;. If the ith joint, 1;, is a revolute connection, the axis of rotation is
defined by the unit vector Pi. The angle 8; is the relative rotation of this joint
about Pi. If the ith joint is a prismatic connection then the unit vector Pi is the
axis of its linear motion and the relative joint displacement is called T;. If the ith
joint is revolute then the magnitude of T; is equal to zero. Similarly, if the ith
joint is prismatic the magnitude of 8i is equal to zero.


a. Real System

Body I

b. Model

FIG. 2. A Simple Single Arm Space Manipulator System and its Model.

Point of Interest, F

r~ m

/77J'7777 va
Body 1 (Spacecraft)

FIG. 3. An N Body Open Chain System and its Non-End 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 free-floating, 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:


where: M,DI = MI + M2 + M3 + ... + M N , and S is the position vector of the

center of mass of link N, see Fig. 3.
Now an arbitrary point, F, is selected on the real manipulator that should be
followed by the VM end point, shown in Fig. 3. The point F is assumed to be
fixed on the mth body at the vector d from C m, and the location of this point in
Frame 0 is defined by the vector H(t), as shown in Fig. 3.



i th Body
nG. 4. The ith Body of the Real Manipulator.

As described above, the Virtual Manipulator is an ideal kinematic chain

which starts at the Virtual Ground and terminates at the point of interest, F. If
the real manipulator has N - 1 joints the VM will have N joints. Starting at the
VG, the first joint of the VM, h, is a spherical joint, whose three rotational de-
grees of freedom correspond to the rotations of the spacecraft in inertial space.
For a serial manipulator, the remaining VM joints correspond, on a one to one
basis, to the joints of the real manipulator starting with the h joint shown in
Fig. 3. The links of the VM are defined by the serial chain of vectors, Wi, see
Fig. 3. The vectors Wi are given by:

i < m
Wm = rm + 1m - Rm + d i = m
Wi = ri + I; - R; - L; i> m

where the point F is fixed in body m and


r; L Mq/Mto,
= Ri q;1 (3)


Ii = Li LMq/Mto( (4)

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.

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:

ti = T, L Mq/M tol i ~ m (5)


I, = T, L MqjM101 - T, i> m (6)


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 free-floating.
Therefore, the VG is stationary in inertial space, the Frame O.

Point of Interest, F

VM j,
(end effector)

Spacecraft Body 1

FIG. 5. Three Body Manipulator and its Non-End effector VM.

Dynamic Equations of Motion

Past formulations of the dynamic equations of motion of space systems can be
applied to space manipulators [16-18]. However, these procedures are more
cumbersome than necessary because they do not directly exploit the principle of
conservation of linear momentum in the initial formulation, as does the VM
concept. It is shown below that VM based formulation reduces the number of
equations of motion by 3. This will result in a more computationally efficient sys-
tem dynamic formulation and one which leads to greater understanding of space
manipulator dynamics.
There are different methods that can be used to derive the equations of motion
of a system, for example Newton's method, Lagrangian formulation [19] or recur-
sive Lagrangian formulation [20]. In this section the Lagrangian formulation is
used with the VM model to derive the system's equations of motion.

TABLE 1. Characteristics of an Open Chain Manipulator and its VM

Body M IRI ILl Irl III

No. (kg) (m) (m) (m) (m)

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


.th J'
1 omt, qi+30

FIG. 6. An N Body Open Chain System.

Lagrange's equation for a system such as shown in Fig. 6 can be written as:

:t(:~) -:: + :: = 51 (7)

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

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,
<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

where H; is an N dimensional vector composed of the VM link lengths which is

constructed for the center of mass of the ith body. G(q) is a 3 by N dimensional
forward kinematic matrix which expresses the VM end point position in terms
of the VM joint variables, q. Since by construction all the VM's going to each
link's center of mass have the same joint orientation, the G(q) transformation
matrix is the same for all the VM's.
Substituting cj,; and ei from equations (9) and (10) into equation (8) the total
kinetic energy can be written as,

1. Tv'
T =-q nq (11)

K = fM;[iJG Hi
;=1 iJql
... ~H;]T[iJG
iJqN+2 iJql
8; ... iJG
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.
Conser:vation of Angular Momentum
The translations and rotations of a free-floating 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,
L Ijcj.j + L [ej x M;ed = M = constant (13)
;=1 ;=1

where M is the initial and constant system angular momentum.

As shown earlier, the VM can be used to express cj.j, ej and ej in terms of the
relative joint velocities. Substituting equations (9) and (10) into equation (13) will
result in the conservation of angular momentum in terms of the system relative
joint velocities, which can be written as,
C(q)q = M = constant (14)


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 self-correcting 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
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 re-Drient 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,
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.

Point _ oW

FIG. 7. A Closed Path Manipulation Motion in Joint Space.


In cases that the initial system angular momentum is equal to zero, equa-
tion (14) can be written as,

[C 1(X, 'It) C2(X''It)]{!} =0 (17)

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,
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

(iJFki Fmi - aFki Fmi) + iJFkj
iJXm iJXm iJ"'i
- aFki]8Uj8Vj
(k = 1,2,3),

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,
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 = pNlmp-1 (26)
where A is a diagonal matrix of the eigenvalues of T(XotIT(X d) and P is a ma-
trix of corresponding eigenvectors.

x Desired
Orientation after
one cycle


Frame 0

FIG. 8. Spacecraft Rotations Due to Cyclical Manipulator Motions.

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


z X X
l' 3

y Body 4
(Link 3)

FIG. 9. Spatial Three DOF Space Manipulator.


TABLE 2. Characteristics of the Spatial System Shown in Fig. 9

Mass R in Body L in Body Inertia about Prin.

Body No. (kg) coord. (m) coord. (m) Axis (kg_m2)

1 20. -li+lj+2k O.Si, O.Sj, O.5k

2 7. O.Sj O.li + O.Sj O.Si, O.Sj, O.Sk
3 7. O.Sj + O.lk O.Sj O.Si, O.lj, O.Sk
4 S. O.Sj + O.lk O.Si, O.lj, O.Sk

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-

TABLE 3. Spacecraft and Manipulator Angles at Different Times in tbe Maneuver

Angles After One After Second After Final

(deg) Initial Desired Cycle Set Cycle Set Cycle Set

XI SO. 4S. 44.7 4S.0 4S.0

X2 40. 4S. 43.9 4S.0 45.0
X3 35. 35. 37.1 34.8 35.0
81 45. 45. 45. 45. 45.0
82 45. 4S. 4S. 4S. 4S.0
83 4S. 4S. 4S. 4S. 4S.0
1. 00
f I
I /
/1- - e - I."
2 I " "
I /
I "
0.75 I I
en 0.50 I, 1 ()
c:: I 3 I
.... I I
.5 I ,
0 I II
I e
'OV ..I.. 'OW--j- 8 V - I - 'Ow

.00 0.25 0.50 0.75 1. 00
Cycle Length (Non-Dimensional)
FIG. to. Joint Angle Trajectories for First Set of Cycles.

turbances caused by nominal manipulator motions. The following section pre-

sents a technique useful for finding nominal motions of the manipulator which
results in nearly minimal disturbances to the spacecraft attitude.
Minimum Disturbance Manipulator Path Planning
In this development it is assumed that the spacecraft attitudes are controlled
with either reaction wheels, or under certain conditions self-correcting manipu-
lator motions. The objective of this analysis is to find methods to plan the
nominal manipulator motions which would require minimal control effort from
these systems.
To aid in planning such paths a technique called a Disturbance Map has been
developed. The Disturbance Map identifies the direction of joint movements
which result in minimum and maximum disturbances of the spacecraft due to
manipulator movements. The map can aid in selecting manipulator paths in joint
space, which results in a minimum disturbance of the spacecraft. This concept
is similar to that of Acceleration Map for manipulator minimum time optimiza-
tion [24].

1. 25

1. 00

..-.. 0
-d 3

~ 0.75
-<... O2 - ,

....0I:: ,


0.250 . 00 0.25 0.50 0.75 1. 00

Cycle Length (Non-Dimensional)
FIG. 11. Joint Angle Trajectories for Second Set of Cycles.

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.

1. 2S

1. 00

3 -



0.250 . 00
0.25 0.50 0.75 1. 00
Cycle Length (Non-Dimensional)
FIG. 12. Joint Angle Trajectories for Third Set of Cycles.

The Disturbance Map concept and its application is demonstrated by a simple

example which uses a three-body planar manipulator shown in Fig. 15. The ma-
nipulator joints are revolute, therefore, the joint variables \f1 are equal to the joint
angles 9. The properties of this manipulator are given in Table 4. This space-
craft is assumed to be equipped with a reaction wheel which keeps its attitude
fixed in Frame O. The Disturbance Map is constructed for this fixed spacecraft
The F(9, X) matrix, see equation (19), for this system is derived by using the
Virtual Manipulator technique (see Appendix B for details). The result is:


where F j is the element of the transformation matrix, given by equation (B.4).

The direction of the minimum spacecraft disturbance at every point in joint
space is computed by using singular value decomposition, and is:
1. 00




O. '100
.00 0.25 0.50 0.75 1.00
One Cycle Set (Non-Dimensional)
FIG. 13. The Xz Spacecraft Euler Angle for the First Set of Cycles.

{ OBI}
(j6 2
:;:; lYF~ ~ F~I :;:; 00 .
FI min

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

YFr + n
where the unit vector 00max designates the direction of manipulator joint motion
which results in maximum disturbance to the spacecraft.

1. 00
r- ofFirstCycles
Set +second Set
of Cycles
Third Set
of Cycles --,

l;j rlnitial


~ . ~x ~
./ 2
I- - -

- .-
.- - X
- - - -
- .- .- .-

0.500 . 00 0.25 0.50 0.75 1. 00

Complete Correction Cycle (Non-Dimensional)
FIG. 14. Mean Spacecraft Euler Angles 'During Correction Cycle.

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-



Initial Position

Final Position
04-----+- Reaction Wheel

FIG. 15. End Effector Positioning for a Three Body System.

tions required to maintain a constant spacecraft attitude had been calculated

and shown in Fig. 17. Paths that are mostly along the direction of the minimum
disturbance require less reaction wheel rotation. As shown in Fig. 17, Path 2 and
Path3 require much lower rotation by the reaction wheels, even though they are
longer. However, the Disturbance Map, Fig. 16, shows that these paths, in gen-
eral, are more aligned with the minimum disturbance directions than is Path 1.
Therefore, using the Disturbance Map it is possible to select manipulator paths
between given end points which require a relatively low amount of reaction
wheel rotation. Conventional numerical optimization algorithms can be applied
in a straightforward manner with the Disturbance Map to find the minimum dis-
turbance paths. The Disturbance Map can also be used in connection with self-
correcting path planning algorithms discussed earlier.
Summary and Conclusion
This paper shows that the Virtual Manipulator approach can be effectively
used to model the dynamics of space manipulators. It also develops, using the
VM based dynamic models, two path planning algorithms; self-correcting path
planning and path planning with the aid of the Disturbance Map. These al-

TABLE 4. Characteristics of a Three Body System

Link M R L Inertia
No. (kg) (m) (m) (kg - m2)

1 10 2 10
2 1 1 1
3 1 1

Reaction Wheel






0.00 0.75 1.50 2.25 3.00

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.

The support of this research by the Automation Branch of NASA Langley Research
Center under Grant NAG-1-80l is acknowledged.

Appendix A: The Geometrical VM Construction

In this appendix the Virtual Manipulator ending at the end effector of an
open chain real manipulator is geometrically constructed. The geometric VM
construction adds insight to the analytical VM formulations discussed in [11,13].
The geometric construction of the VM can be applied to any spatial space ma-
nipulator with revolute or prismatic joints. To make the basic concept clear the
algorithm is applied here to a simple planar space manipulator system with revo-
lute joints. This three body system with an end effector at a point called E is
shown in Fig. A.la. The center of mass of the ith body is called ci and its mass
is given by Mi. The manipulator joints are revolute and the joint between the ith


...... "" \
\ Path 2
"0 -1.00
\ '- -- -.
- .......
~ Path 3
"'" \
~ -2.00 \,
V Q.l ""-.
-3.00 ""-
e::: ...........
Path! '",

-1. o~. 00 0.20 0.40 0.60 0.80 1.00
Distance along the Path (Non-Dimensional)
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,

Body 3

(a) VG Construction

(b) First Step in VM Construction

(c) Second Step in VM Construction

(d) Real Manipulator and its VM

FIG. A.I. Geometric VM Construction.


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-
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:

le 12J212 = MI MI leI J11

+ M2 I 2

IJ 2
e21 =
MI IJ I e 21
MI + M2 2 2

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-

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-
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-

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.

Appendix B: A Disturbance Model of a Spacecraft

In this appendix, an example of the calculation of the spacecraft rotations due
to the movements of its manipulator is shown by using the Virtual Manipulator
technique. The analysis presented here is for a relatively simple planar system,
see Fig. B.1. More general systems can be treated in the same manner.
From equation (2) a Virtual Manipulator for the center of mass of each system
body is constructed. Each VM is made of three links. Figure B.1 shows the VM
for body 2 of the system. Since the VM has a stationary base the end point of the
ith VM, ei, can be calculated from the simple forward kinematics of the ith Vir-
tual Manipulator as:

. = {ai cos 4>1 + bi cos 4>2 + Ci cos 4>3} i = 1,2,3 (B.1)

e, . '/"1
ai sm A..
+ b· A..
i sm '/"2 + Ci sm
• A..
where 4>1> 4>2, 4>3 are absolute joint angles of the ith VM, and ai, bi, Ci are the
length of the ith VM links, see Fig. B.1. From the construction rules of VM's
these parameters are given by,
4>1 = X
4>2 = X + 61.
4>3 = X + 61 + 62,

bl = _ M313 + (M2 + M3)12

Mlol '

b _ Mtl2 + (M 1 + M2)13
3 - M 101 '

Body 3



(a) Real Manipulator and its VM

(b) VM for Second Link

FIG. B.1. A Three Body System and its VM for its Second Link.

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. =
{-a sin cPl - b j sin cP2 - Cj sin cP3

aj cos cPI + b, cos cP2 + Cj cos cP3

-b, sin
+b, cos
cPz -
+ Cj
sin cP3
cos cP3
-CI sin cP3}
+c, cos cP3

(!} i ~ 1,2,3. (B.2)


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:

=F {'}
~ = [F] {'}
F2 ] ~ (B.4)

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
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).
[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 NAS8-34381, Cambridge, Massachusetts, 1983.
[3] BRONEZ, M. A., CLARKE, M. M., and QUINN, A. "Requirements Development for a
Free-Flying Robot-The 'ROBIN'," Proceedings of the IEEE International Conference on
Robotics and Automation, San Francisco, California, April 7-10, 1986, pp. 667-672.
[4] FRENCH, R., and BOYCE, B. "Satellite Servicing by Teleoperators," Journal of Engineer-
ing for Industry, Vol. 107, 1985, pp. 49-54.
[5] KOHN, w., and HEALEY, K. "Trajectory Planner for an Autonomous Free-Flying Robot,"
IEEE International Conference on Robotics and Automation, San Francisco, California,
April 7-10,1986.

[6] ALEXANDER, H. L., and CANNON, R. H. "Experiments on the Control of a Satellite

Manipulator," American Control Conference, Minneapolis, Minnesota, June 10-12, 1987.
[7] UMETANI, Y., and YOSHIDA, K. "Experimental Study on Two Dimensional Free-Flying
Robot Satellite Model," Proceedings, NASA Workshop on Space Telerobotics, Jet Propulsion
Laboratory, Pasadena, California, 1987.
[8] LUH, 1.Y. S., WALKER, M. w., and PAUL, R. P. C. "Resolve-Acceleration Control of Me-
chanical Manipulators," IEEE Transactions on Automatic Control, Vol. AC-25, No.3, June
1980, pp. 468-474.
[9] LINDBERG, R. E., LONGMAN, R.w., and ZEDD, M. F. "Kinematics and Reaction Mo-
ment Compensation for a Spaceborne Elbow Manipulator," Proceedings of the 24th AIAA
Aerospace Sciences Meeting, Reno, Nevada, 1986.
[10] LONGMAN, R.W., LINDBERG, R. E., and ZEDD, M. F. "Satellite Mounted Robot
Manipulators-New Kinematics and Reaction Moment Compensation," Proceedings, AIAA
Guidance, Navigation, and Control Conference, New York, 1985.
[11] DUBOWSKY, S., and VAFA, Z. ']\ Virtual Manipulator Model for Space Robotic Systems,"
Proceedings, NASA Workshop on Space Telerobotics, Jet Propulsion Laboratory, Pasadena,
California, 1987.
[12] VAFA, Z., and DUBOWSKY, S. "On the Dynamics of Manipulators in Space Using the
Virtual Manipulator Approach," Proceedings, IEEE International Conference on Robotics
and Automation, Raleigh, North Carolina, March 31-April 3, 1987.
[13] VAFA, Z., and DUBOWSKY, S. "The Kinematics and Dynamics of Space Manipulators:
The Virtual Manipulator Approach," International Journal of Robotics Research (in press).
[14] VAFA, Z., and DUBOWSKY, S. "Minimization of Spacecraft Disturbances in Space
Robotic Systems," Proceedings, llth Annual AAS Guidance and Control Conference, Key-
stone, Colorada, 1988.
[15] VAFA, Z. "The Kinematics, Dynamics and Control of Space Manipulators," PhD Thesis,
. Department of Mechanical Engineering, Massachusetts Institute of Technology, Cam-
bridge, Massachusetts, 1987.
[16] HO, J.Y. L., and GLUCK, R. "Inductive Methods for Generating the Dynamic Equations
of Motion for Multibodied Flexible Systems. Part 2. Perturbation Approach," Synthesis of
Vibrating Systems, ASME, New York, 1971.
[17] HOOKER, w.w., and MARGULIES, G. "The Dynamical Attitude Equations for an n-
Body Satellite," Journal of the Astronautical Sciences, Vol. 12, No.4, Winter 1965, pp. 123-
[18] HOOKER, W.w. "Equations of Motion for Interconnected Rigid and Elastic Bodies: A
Derivation Independent of Angular Momentum," Celestial Mechanics, Vol. 11, 1975,
Dynamics of Mechanical and Electromechanical Systems, Robert E. Krieger Publishing Com-
pany, Malabar, Florida, 1982.
[20] HOLLERBACH, J. M. ']\ Recursive Lagrangian Formulation of Manipulator Dynamics
and a Comparative Study of Dynamics Formulation Complexity," IEEE Transactions on
Systems, Man, and Cybernetics, Vol. SMC-lO, No. 11, November 1980, pp. 730-736.
[21] ATKESON, C. G., AN, H. c., and HOLLERBACH, 1. M. "Rigid Body Load Identification
for Manipulators," Proceedings of the 24th Conference on Decision and Control, Ft. Lauder-
dale, Florida, December 11-13, 1985.
[22] KANE, T. R., HEADRICK, M. R., and YATTEAU, J. D. "Experimental Investigation of
an Astronaut Maneuvering Scheme," Journal of Biomechanics, Vol. 5, No.4, July 1972,
pp. 313-320.
[23] BROGAN, W. L. Modern Control Theory, Prentice-Hall, Inc., Englewood Cliffs, New
Jersey, 1982, p. 150.
[24] SHILLER, Z. "Time Optimal Motion of Robotic Manipulators," PhD Thesis, Department
of Mechanical Engineering, Massachusetts Institute of Technology, Cambridge, Massachu-
[25] NOBLE, B., and DANNIEL, J.w. Applied Linear Algebra, Prentice-Hall Publications,
Englewood Cliffs, New Jersey, 1977.
Dynamic Singularities
in Free-floating Space Manipulators

Evangelos Papadopoulos·, Steven Dubowsky**

Massachusetts Institute of Technology
Cambridge, MA 02139

Dynamic Singularities are shown for free-floating 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 end-effector
in some inertial direction; thus dynamic singularities must be
considered in the design, planning, and control of free-floating 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 fixed-base 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 fixed-base manipulators due to the dynamic coupling between space

* Assistant Professor. Dept. of Mechanical Eng .. McGill University, 3480 University

St., Montr~al. Qu~bec Canada H3A 2A7. This work was done while at MIT.
•• Professor, Dept of Mechanical Eng.

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 earth-bound 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 [4-7]. The third proposed category assumes a free-floating system in order
to conserve fuel or elecbical power [4,6-11]. 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 free-floating systems generally
has proposed particular algorithms for free-floating systems and attempted to show
their validity on a case by case basis [8-11]. 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 free-floating space

The existence of dynamic singularities is shown fmt by writing the kinematics

and conservation equations in a compact, explicit form through the use of barycenters
[12,13]. Then it is shown that the end-effector inertial linear and angular velocities
can be expressed solely as a function of the velocities of the manipulator controlled
joint angles, and that they do not depend upon the uncontrolled linear and angular
velocity of the spacecraft. Next a Jacobian mabix, t, is derived which relates the
end-effector's linear and angular velocity in inertial space to the joint angular
velocities. The rank of this Jacobian matrix is demonstrably deficient at given points
in the manipulator's joint space which results in the manipulator being unable to
move its end-effector in some direction in inertial space. These singular points
cannot be determined solely from the kinematic structure of the system and instead
depend upon a system's masses and inertias; hence they are called dynamic
singularities. Dynamic singularities are path dependent because generally they are
not fixed in a manipulator's inertial workspace. This is because the end-effector
location in inertial space depends upon the history of the spacecraft attitude which is
determined by the path taken by the end-effector. Finally, some regions in the
inertial workspace exist, called the Path Independent Workspace (PlW), where

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 end-effector.

II. Jacobian Construction for Free-floating Manipulators

End-effector position and orientation can be obtained directly for a manipulator on a
fixed-base or on a controlled vehicle as a function of a system's independent
coordinates, namely of the manipulator joint angles and base position and attitude.
However, end-effector position and orientation cannot be obtained directly in free-
floating space manipulator systems because spacecraft position and attitude are
coordinates which depend upon the history of a manipulator's motion. Still,
provided that some realistic assumptions hold, a Jacobian t can be written for the
system and provide a linear relationship between the controlled manipulator's joint
angular rates qand the end-effector linear and angular inertial velocities, fE • roE such


Dynamic singularities arise when l becomes deficient. This Jacobian plays a

similar role to Jacobians used by many fixed-base manipulator control algorithms
which are functions of manipulator kinematics only. For example, Umetani and
Yoshida proposed a resolved rate controller based on called a Generalized Jacobian
[9]. However. the construction of depends on a system's dynamics.

Here, the kinematic and dynamic relationships are formulated for the free-floating
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 open-chain kinematic
configuration so that a system with an N degree-of-freedom (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

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 end-point position vector. L E• can be
derived from ~ as:


Link 2
r 2 Manipulator

6\ Denotes body
Inertially Fixed Origin \.:J center of mass

Figure 1. A free-Roating space manipulator system.

The Qk vectors are defined uniquely by the free-floating system configuration

and. thus. they can be expressed as sums of the weighted. body-fixed vectors~. and
r. (i=O •... ,N). defined in Figure 1. Indeed. from Figure 1 we have the following N

equations in N+ 1 unknowns:

~ - ~-I = .4-1 - it k =1•... .N (4)

Since the J:4 vectors are defmed with respect to the system eM. it holds that:


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:
k N
n _
~ -
L (r·l-l·)~·
i-I ~- I I
- L (r· -I.)(1-J.l:)
i-k+1 ~- I --. I
k=O,... ,N (6)

where ~ represents the mass distribution defined by:

i = °
~i == L
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 body-fixed vectors which
are defined by:
c.• = - --.
-. c. (9a)
• (9b)
Li = Li - ~

( = 1i -.t; (9c)

Using Equations (9), Equation (8) can be rewritten as:


It can be shown then that Equation (6) can be written in a compact and general form
k = O,... ,N (11)

{ .
where the barycentric vectors ~ are given by the following selection law:

!,x == ~ i=k (12)
-. i>k

See Reference [15]. Equation (11) reveals an interesting characteristic of space

manipUlators, namely that the position of the center of mass of link k in inertial

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 earth-bound
manipulators where the position of a link depends on the positions of the previous
links only.

Joint i Joint i+ 1

~ Body i Center of Mass

~ 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 = I.
~ ~
.... k = O.....N (13)

Differentiating Equations (3) and combining the results with Equation (13) yields the
following expression for the end-effector inertial velocity 4:
4 = icm + ~ ~ i x ~iN + ~N x .I.N (14)

For this system the linear momentum vector with respect to the origin 0 is:


In the absence of external forces. and assuming zero initial CM velocity. ~ is zero.
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:


~ = ~ m.; x.!.iN + J!)N x LN IE ~ m.; x .!.iN (16)


where ~ is equal to ~ for all i,k except for .!.NN ' for which it is given bY.!.NN
.!.NN + L N ,

The end-effector inertial anguJar velocity required to find t, see Equation (1), is
the inertial velocity of the last body in the chain given by:


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 i-I (the joint velocity of joint
d i·! as:
1.) ,calle.m;,

j = 1.....N (18)

Equations (16), (17) and (18) relate the end-effector 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]:
= -an
h = l: i-O
l: k-o
l: D "k • 00.
-IJ -J

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.

It can be shown that the angular momentum given by Equation (20) can be
written in the form:
= ,;.0
I j-OI Q..'J' • .mJ. (22)

with Djj derived from Equation (21) with the help of Equation (10) and given by:

-M{a.; ·~)l-~~}
•• •• i<j

Ii + I It~
mit {<!.ilt • !..ilt) 1 - Lilt Lilt} i=j (23)

- M {er; •~) 1 - ~ ~.} i >j

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 end-effector
in inertial space as a function of a free-floating system' s joint angular velocities. one
in which the position and attitude of the spacecraft is not controlled.

The above vector fonnulation is independent of specific frames of reference.

However. to construct the system Jacobian t.
Equations (16). (17). (18) and (22)
must be expressed in matrix form. For this purpose we assume all manipulator
joints revolute; a reference frame with axes parallel to each body's principal axes is
attached to each center of mass. The body inertia matrix expressed in this frame is
diagonal. Bold lower case symbols represent column vectors, bold upper case matri-
ces. Right superscripts must be interpreted as "with respect to," left as "expressed in
frame." A missing left superscript implies a column vector expressed in the inertial

The column vectors iVjJt expressed in frame i are transformed in the inertial frame
as follows:


where T. is a transformation matrix that is given by:

Ti (e, n, ql.·..' q,) = To(e, n) ~i (ql"'" q,)' (2Sa)


Nbte that i-I A.(q.)

transfonns a column vector expressed in frame i to a column vector
in frame i-I and is a function of the relative joint angle of the two frames, q,. The
inertia matrices D ij can be expressed in the spacecraft frame according to the
following equation:
i, j = 1,... ,N (26)

The 3,0 transfonnation matrix To can be computed using the Euler parameters e and
n [16]:

e (a, e) = a sin(e/2) (183)

n (a. e) = cos(e(1.) (28b)

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
skew-symmetric matrix that is fonned from an e according to:


1 is the 3,0 identity matrix.

The scalar fonn of Equation (19) can now be written as:

= roo + Jo = roo + To i-ILj 0T. i u.~•

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 = 1....,N (31)

where 0 is a 3x(N-j) zero element matrix. and:

q = [q!·q2' .. ··qj·· .. ·qN] (32)

Using Equations (25) through (32). Equations (16). (17) and (22) yield:
. ° ° .
= To { oJ 11 roo + J I2 q } (33a)

roE = TO {°roo + 0J 22 •q} (33b)

0 = 0D Oro°+ 0Dq q• (33c)


[oT. iV. ,t of.

Ju ;;;; -I, fT. iViN,t
~ I °J I2 ;;;; -I.
i-l I iN I

°D.J ;;;; I,
°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 end-effector 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 skew-symmetric 3x3 matrix whose elements
correspond to the vector from the system CM to the end-effector. 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 end-effector. Along with
°J22• they correspond to the Jacobian of the end-effector 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 (34a-b) depend on the system configu-
ration q. only.

Equation (33c) can be used to eliminate the spacecraft angular velocity roo from
Equations (33a-b), and hence to derive the free-floating system Jacobian l, defmed in
Equation (I) as:




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 non-singular. If N is less than six. it is not possible
to follow any given end-effector 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)

it = -1/2 eT °Olo (36b)

III. Dynamic Singularities

Now we have shown a systematic and efficient way of constructing the Jacobian t
that relates the motion of the end-effector as a function of the manipulator's con-
trolled rates q in spite of the uncontrolled motions of the spacecraft, and revealed the
Jacobian's explicit structure. We will address the important question of when the
Jacobian becomes singular. This is important for control and physical reasons, since
nearly all planning algorithms as well as all resolved rate or accelemtion control algo-
rithms need to invert t, given by Equation (35). Also the system Jacobian, for a
manipulator position, must be invertible or of full rank in order physically to move
the manipulator end-effector in all directions at that point in space.

Singularities occur for fIxed-base non-redundant manipulators when end-effector

velocity due to the motion of one joint is parallel to the velocity due to the motion
of some other joint At such points, at least one degree of freedom is lost and the
rank of the manipulator Jacobian J is reduced, accordingly becoming singular.
Singular points for fIxed-base manipulators occur at workspace boundaries or when
there is alignment of joint axes. Given the kinematic structure of a manipulator, we
can fInd all its singular confIgurations by solving the equation det[J (q)]=O. The
literature usually describes singular points in terms of fixed-base manipulator
workspace positions instead of singular confIgurations or of singularities in the joint
space because at any singular set of joint angles 'Is. there corresponds a singular point
in the six OOF workspace. The obvious benefit is that the manipulator path planner
or controller can be designed to avoid these workspace points. Singularities of fIxed-

base manipulators are kinematic, because it is sufficient to analyze the kinematic

structure of the manipulator in order to identify them.

The singularities of for a free-floating 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:


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 end-effector, both the final manipulator
configuration and the spacecraft attitude is a function of the selected path to reach that
end-effector position and orientation. This property is due to the non-integrability of
the angular momentum equation as given by Equation (33c). Therefore, an end-ef-
fector position in the workspace can be singular or not depending on whether it
reaches this point in a singular configuration. Thus the free-floating 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.

The dynamic singularities of a free-floating manipulator space manipulator

system can be explained physically by noting that the end-effector velocity X. given
by Equation (1), can be decomposed in two parts. The fust part is due to the motion
of the manipulator joints, the second is due to spacecraft motion. This second
motion occurs because of the dynamic coupling of the spacecraft and the manipulator
and is a function of the system masses and inertias. The matrix becomes singular
when the end-effector velocity i; produced by the combined joint-spacecraft motion
caused by the motion of a manipulator joint, is parallel to another i produced by the
by the same means by some other joint and the spacecraft. IT the mass and inertia of
the vehicle becomes very large, approximating a fixed-base manipulator, then all the
dynamic terms in Equation (3S) vanish and t reduces to the fixed-base manipulator
Jacobian, while the dynamic singularities reduce to the ordinary kinematic

The conclusion of this analysis is that if the spacecraft of a space manipulator

system is not actively controlled but is free-floating, then dynamic singularities can
occur. All resolved rate or resolved acceleration control schemes will fail because at
these points, Equation (3S) has no inverse. Control schemes that compute the
desired joint torques by using a transposed Jacobian will fail to keep the desired end-
effector velocity because dynamic singularities represent an inherent physical
limitation. The manipulator will move with a velocity that is the projection of the
desired velocity on the allowed direction: the result may be large end-effector errors.

IV. A Planar Example.

Consider the simple planar free-floating space manipulator system shown in Figure
3. The system parameters are given in Table I. As shown in the Appendix, the
system Jacobian is:
cos(O) -Sin(O)]
t(O,q) =[ Dt(q) (39a)
sin(O) cos(O)



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

functions of the q than their fixed-base counterparts. This Jacobian should be

compared to the fixed-base manipulator Jacobian J which is given by:


The same sbUcture between t or°j"(q) and J(q) can be seen.

Singular Configuration
q = -65.00°

q 2 =-1141°

2 OOF Manipulator

Available din:ction of motion /

Figure 3. A planar free-noating manipulator system sbown in a

dynamically singular configuration.

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

satisfy Equation (41). However, infinitely more dynamically singular configurations

exist which cannot be predicted from the kinematic structure of the manipulator.


Fixed-base Manipulator
Kinematic Singularities

-170 Free-Roating Manipulator
Dynamic Singularities

-110 +-----.,.-----1--......--...,.-...,....;;;...
-110 -90 o 90 180

q I (del1,reeS)

Figure 4. Dynamically singular configurations (ql' qz) for the two

link manipulator in joint space.

Figure 3 shows the manipulator in the singular configuration at ql=-6s", q2=-

11.41 spacecraft attitude at 9=40 This figure also shows the only available

direction for the end-effector motion. The inertial motion of the end-effector 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.

To demonstrate this problem, the manipulator end-point is commanded to reach

the workspace point (1.5,1.5) starting from the initial location of (2,0) with initial
attitude a equal to 2( using a simple Transposed Jacobian Control algorithm,
augmented by a velocity feedback term for increased stability margins [17]. This
control algorithm assumes that the end-effector inertial position and velocity, x and
i, can be calculated or measured directly. Assuming x and are measured, the
control law is:

where xdea is the inertial desired point location. The matrices Kp and Kd are
diagonal. Note that this algorithm specifies the desired end-effector location; the path
of the end-effector to this desired location is not specified in advance. If the control
gains are large enough, IIlen the motion of the end-point will be a straight line. The
torque vector't is non-zero 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 end-effector from the initial location at point
A (2,0), towards the final location at point D ( The control gain matrices
are Kp =diag(5,5) and Kd =diag(lS.lS). Initially the end-effector path is initially
almost a suaight line. However. once the manipulator assumes a dynamically
singular configuration at point B in Figure S, the end-effector 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 J-T • 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.

Finally. it is interesting to note that when both mo and Ie approach infinity. t

approaches J, the Jacobian derived for the same manipulator on a fixed-base. without
any change in matrix size. To show this note that if the spacecraft is massive.
p-+I1+rl' Y-+iz+r2' approaching the manipulator link lengths. mJM-+l. m/M-+O.
m/M-+O. DJD-+l. D/D-+O and D/O-+O. To becomes a constant transformation
from the manipulator base frame to the inertial frame. usually the unit matrix.

1.5 ®
... FilIal Desired Position




o +-------~----------~----------r_~~~
1.3 1.5 1.7 1.9 2.1
x (m)
Figure 5. Dynamic Singularities result in large tracking errors.


; 0

-100 +----~---_r_-----___l
o 10 20
Tune (8)

Figure ,. The spacecraft attitude a and the manipulator joint angles

ql and qz as a function of time

V. Space Manipulator Workspaces

Space manipulators have more complex workspace characteristics than fixed-base
manipulators. as shown by using the concept of the Virtual Manipulator. Vafa
describes a constrained workspace. one where all points can be reached if the attitude
of the spacecraft is controlled, but not its position [5]. This workspace is a sphere
with its center at the system's CM. However. it can be shown that if the attitude is
not controlled, as for a free-floating system. then points in this space can still always
be reached by a suitable path selection [15]. For this reason we prefer to call this
workspace the reachable workspace. What follows below shows that the nature of
this workspace is related to a system' s dynamic singularities.

We have proven already that a system's dynamic singularities are a unique

function of the configuration and that their occurrence at a particular inertial
workspace location is path dependent. Here we are interested in fmding regions in the
reachable workspace in which dynamic singularities will never occur.

Recall that dynamically singular configurations can be found from Equation

(37). Its solution represents a family of hypersurfaces Q.,i (i=1.2....) in the
manipulator joint space. These hypersurfaces are collections of points ~ that result
in dynamically singular configurations. Further note that the transformation matrix
To does not change the length of a vector; hence. the distance R of the end-effector
location from the system CM can be written using Equation (38) as a function of
the system's configuration q only:

R = R(q) =I LN 0T. (q) ..... q.) iYiN• II

;.0 I I

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:
mm,i =
min R(q) (i=l,2, ... ) (44a)

Rmax,i = max R(q) (i=1,2, ...) (44b)


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 end-effector. 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 end-effector. 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 end-effector from the system
eM given by Equation (43) is written as:

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 (44a-b) result in two Path Dependent Workspaces,
constrained by (Rmin.,' Rmax,,) and (Rmin.2' Rmax.2) respectively:

, = 0.352 m =a+~-'Y (46a)

Rmu.' = 0.500 m =a+y-p (4&)

RmiD.2 = 1.436 m =p+y-a (47a)

Rmax.2 = 2.288 m =a+~+'Y (47b)

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
end-effector 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.
System Center
of Mass

Path Dependent
Workspace (PDW)

·1 D Path Independent
Workspace (PIW)

Reachable Workspace
·3 +---r----r--+--...---r----i
·3 ·2 ·1 o 2 3
x (meters)

Figure 7. The Reachable, the Path Dependent, and Path Independent

VI. Reducing the Effect of Dynamic Singularities
Maximizing the PIW clearly reduces the impact of dynamic singularities on a
system's effectiveness. This can be achieved by recalling that dynamic singularities
occur because the spacecraft is free to rotate as a result of manipulator motions, see
Equation (33). If the spacecraft attitude is kept constant, COo is zero, and the only
singular points are due to the kinematic singularities; the PIW is maximum [15].
However, this method requires the active control of the spacecraft attitude which can
increase system complexity and cost and reduce the system's useful life.

The PIW can also be maximized using manipulator redundancy. If the

manipulator is at a singular configuration, the redundant degrees of freedom may be
used to achieve the necessary end-effector velocity. This is an area which requires
additional research.

If the spacecraft is made to be massive compared to the manipulator, 10 and Do

become large. For example, it can be seen from Equation (41) that if 10 approaches
infinity, the only singular configurations are the kinematic ones ( q2 = ±O·, ±180").
This means that if the inertia of the spacecraft is infinite, then no dynamic sin-
gularities occur and the PIW is equal to the maximum workspace. Although it is
desirable in most cases to make the spacecraft as light as possible for a number of
reasons, such as launch weight, a system's designer has the freedom to increase the
system's inertia keeping its mass constant. Such a design would result in an increase
in the system's PIW.

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 free-floating system where spacecraft
position and attitude are not controlled. This Jacobian can be singular in configura-

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.

Additionally, a workspace point may be singular or not depending on the end-

effector path used to reach this point. Thus a manipulator's reachable workspace is
divided in two regions. In the fl1'St. called a Path Independent Workspace (PIW), no
dynamic singularities can occur; in the second, called a Path Dependent Workspace
(pDW), dynamic singularities may occur depending on the path taken by the end-
effector in the inertial space. Some notions are presented that may help in maxi-
mizing the PIW.

The Support of this work by NASA"s Langley Research Center, Automation
Branch, under Grant NAG-I-80l, is acknowledged.

[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. 31-Feb. 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., "Satellite-Mounted Robot
Manipulators-New Kinematics and Reaction Moment Compensation," The
International Journal of Robotics Research, Vol. 6, No.3, pp. 87-103, Fall
[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
Journal of Astronautical Sciences, Vol. 38, No.4, October-December 1990,
[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. 3-21.
[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
Free-Flying 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 Free-Floating 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.
[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
end-effector, x and y, are controlled by the two manipulator joint angles. ql andq2.
End-effector 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)

q = [ql'q21 (A3)

while t given by Equation (35). becomes:

t(9.q) = To(9) °t (q) = To [_oJl1 '1>-1 '1>q + °J12 ] (A4)

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 sub-part 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 x-component of the barycentric vectors IVik is non-zero and given by:
o. 1
ro = MroIDa

oCo= 1
• - M rO(m l+m2)

~= - Mro(ml+~) -10

I r•
l = ~ {rl(mo+ml)+llmo}
I c•
i = M (11 IDa-r I~)

III• = - M1 { l/ml+~)+rlm2 }
2 = M 12(mO+m l ) + r2

• 1
M1z(mo+m l )
2~ =- M12m2 (A7)

where the total mass of the system, M, is given by:


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


Both iU.1 (i=1,2) vectors in Equation (17) are equal to [00 I]T; the of.1 matrices reduce
~l = [1 0]
~2 = [1 I] (AlO)

For simplicity, set:

a_or· (All)
Then the matrices in Equation (34) are given by:


°DjE OJ = ~ °dij 0=0,1,2), °D E 0= 00 + 01 + 02' °D, = [°1+°2 02] (Al3)

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).

Yoshihiko Nakamurat Ranjan Mukherjee~

tDepartment of Mechano-Informatics
University of Tokyo
7-3-1 Hongo, Bunkyo-ku
Tokyo 113, Japan
tDepartment of Mechanical Engineering
Naval Postgraduate School
Monterey, CA 93943


A free-flying space vehicle with manipulators is conceived to perform var-

ious tasks for construction and maintenance of space structures; Such a space
robot system has different kinematic and dynamic features from those on the
earth. The nonholonomic mechanical structure is one such feature. This paper
discusses the path planning of nonholonomic motion of space robot systems. A
space vehicle with a 6-DOF manipulator is described as a nine variable system
with six inputs. It is shown that by carefully utilizing the nonholonomic me-
chanical structure, the vehicle orientation can be controlled in addition to the
joint variables 'of the manipulator by actuating only the joint variables. In this
paper, first, the nonholonomic mechanical structure of space robot systems is
shown. Next, a mathematical proof of the nonholonomic mechanical structure
is given. A method for the nonholonomic motion planning is then developed by
using a Liapunov function.

© 1991 IEEE. Reprinted with pennission, from IEEE Transactions on Robotics and
Automation, Vol. 7, No.4, pp. 500-514, 1991.

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
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 n-DOF 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

eliminating the holonomic constraints of linear momentum conservation, the

total system is formulated as a nonholonomic system of n+3 variables including
three dependent variables. Although only n variables out of the n+3 can be
independently controlled, with an appropriate path planning scheme it would
possible to converge all of the n+3 variables to their desired values due to the
nonholonomic mechanical structure. A similar situation is experienced in our
daily life. Although an automobile has two independent variables to control,
that is, wheel rotation and steering, it can be parked at an arbitrary place with
an arbitrary orientation in tw~dimensional space. This is possible because it
is a nonholonomic system.
In this paper, we propose a path planning scheme to control both the
vehicle orientation and the manipulator joints by actuating the manipulator
joints only. First, the formulation of the nonholonomic mechanical structure of
space robot systems (Nakamura and Mukherjee, 1989) is overviewed in brief.
Second, a rigorous mathematical proof of the nonholonomic mechanical struc-
ture is provided by using the Frobenius's Theorem. Finally, a path planning
scheme for nonholonomic systems is proposed by using a Liapunov function.
The scheme is called the Bi-Directional Approach. This approach deals with
the total nonlinearity of space vehicle/manipulator systems without neglecting
the nonlinearity of higher orders, and there is no algorithmic limitation on the
allowable change.

2. Kinematics of Space Robots

2.1 Nomenclature
frame! Inertia frame.
frame V Vehicle frame.
frameB Manipulator base frame
frameE Manipulator end effector frame
frameK k-th body frame. The k-th link frame of the manipulator for k
= 1,· .. ,n. The n-th 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 z-axis of the coordinates
of the k-th link and represented in the inertial frame. (m)
Mass of the k-th body (kg). The O-th body is the vehicle. The
k-th body (k ~ 1) is the k-th link of the manipulator.
Position vector from the origin of the inertia frame to the center
of mass of the k-th body represented in the inertia frame. (m)
Position vector from the origin of the manipulator base frame
to the center of mass of the k-th body and represented in the
manipulator base frame. (m)
Angular velocity of the k-th body in the inertia frame. (rad/s)
Inertia matrix of the k-th body about its center of mass in the
k-th body frame. A constant matrix. (kgm 2 )

Inertia matrix of the k-th 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 k-th body frame.
(The vehicle frame for k 0, the k-th link frame of the
manipulator for k 1,· .. ,n).
Jacobian matrix of the position and orientation of the center
of mass of k-th body (k = 1"", n) in the inertial frame. (m)
i x i identity matrix.
z-y-x Euler angles.

2.2 Differential Kinematics and Momentum Conservation

The basic kinematic equations of space robot systems are developed in
this subsection. Figure 1 shows a model of a space robot system. Five kinds of
frames, the inertia frame, the vehicle frame, the manipulator base frame, the k-
th link frames, and the manipulator end effector frame, are represented by I, V,
B, K, and E, respectively. The link frames of the manipulator are defined by
Denavit-Hartenberg convention (Denavit and Hartenberg 1955). The vehicle
frame is assumed to be fixed at the center of mass of the vehicle.
Assuming zero linear and angular momentum of the system at the initial
time, the linear and angular momentum conservation equations are represented


elk IWI: + mk Irk x Irk) = 0, (2)

The vehicle and manipulator motions are described by the following 81 and



I rl: is computed from the relation


Irl:=lrO+IWoXe1'I:-I1'O)+(E3 O)J~82
= (E3 _I HoI: ) 81 + (E3 0) J; 82
where I ROI: and 11'01: are defined by

I t:. I
Bol: = ( ;ol:z (6)
- r01: 1I


We also have the following relations for I II: and I WI:

-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 %j-lqj 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.


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:


and where

P ~ (PI P 2 . •. Pn ) (14)

~~ (t.1;=. 1Ak kIk 1Ak T) 1 Z,_1

The pure geometrical relationship between the end effector motion, and
81 and 82 is described in the following form

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.
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
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-
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.

3. N onholonomic Mechanical Structure

3.1 Physical Meaning
The linear momentum conservation represented by Eq.(I) can be analyti-
cally integrated as follows:

l1tmklrkdt= tmk1rk(t)- tmk1rk(0)

o k=O k=O k=O (18)
The above equation physically means that the total center of mass of the system
does not move. 1 Tk is computed by

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

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.

3.2 Nonholonomic Equation

The basic system equation is obtained by taking the vehicle orientation and
9 2 as the state variable and the 82 as the input variable. First, the coefficient
matrix of Eq.(16) is divided into a top 3 x n matrix and a bottom 3 x n matrix
as follows:


The state variable z and the input variable u are defined by


0,/3, and 'Yare the z-y-x Euler angles of the vehicle with respect to the inertia
frame. The relationship between the Euler angles and I Wo is given by


-sIno coso: cos/3 )
coso sino: cos /3
o -sin/3
The system equation becomes

z=Ku (24)

3.3 Mathematical Proof

A mathematical proof for the system of Eq.(24) being nonholonomic is
provided in this subsection. As preparation, we refer to the following three
definitions and two theorems from nonlinear control theory (for example, Isidori
1985), and classical mechanics:

Definition 1. (Lie Bracket)

If Xl(~) and X2(~) are two vector fields on R n , then the Lie Bracket of Xl
and X 2, denoted by [Xl, X 2], is a third vector field defined by

aX2X ax1X
X 2] = -
[X 1 - 1 - -a~- 2 (26)
, a~

A linear space ~ spanned by a set of vector fields is said to be a distribution.

Involutivity for a distribution is defined next.

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 ~.

Due to the characteristic nature of Lie Brackets, the involutivity of a distri-

bution defined by {Xl, ... ,Xm } can be concluded by verifying the following
equation for any choice of i, and j

[Xi,Xj ] = L:aijkXk (27)


where aijk is a scalar function.

Theorem 1. (Frobenius '8 Theorem)

A distribution is said to be completely integrable if and only if it is involutive.

In classical mechanics, holonomy is defined (Goldstein, 1980) as follows:

Definition 3. (Holonomy)

A system is said to be holonomic if and only if its motion is constrained by a

set of algebraic equations involving only the generalized coordinates and time.

When the system behavior is represented in terms of a set of first-order

linear differential equations, the feasible velocity of the generalized coordinates
span a linear space. Integrability namely holonomy, of a system is answered
by finding vector fields that define the linear space and by applying Theorem
1. The above discussion is summarized next in the form of a theorem.

Theorem 2. (Holonomic and Nonholonomic)

Let {XI,"', Xm} be the set of vector fields defining the linear space of the
feasible velocity of a system. The system is holonomic if and only if the set of
vector fields is completely integrable everywhere in the generalized coordinates.
Otherwise, the system is nonholonomic.

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)

The set of vector fields become {Xl,' .. , Xn} where

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:

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 PUMA-type 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

has a nonholonomic mechanical structure. We checked out the values of Pi'S at

several different configurations. They had always many non-zeros.
A natural question that one may ask is whether a system can attain any
value of the generalized coordinates starting from any initial value of it. This
is a question of controllability. For a symmetric and affine nonlinear system
similar to Eq.(24), controllability is concluded if the set of vector fields that in-
cludes {Xl, X 2 ,···, X m }, and all the possible Lie brackets of arbitrary order
obtained from {Xl. X 2 ,···, Xm} span a linear space of the same dimension
as that of the generalized coordinates, everywhere in the generalized coordi-
nates. This could have been verified directly for the system defined by Eq.(24)
if the complexity of the system had been much lesser. In this paper, we will not
proceed further with our discussion on controllability. In section 4, we discuss
trajectory planning assuming the existence of a feasible trajectory connecting
the initial and final generalized coordinates.

3.4 Nonholonomic Redundancy

The system represented by Eq.(24) has a unique feature in the fact that
the input variable may not be found even if a smooth desired trajectory of :z:
is provided because it has a smaller number of input variables. It is impossible
to plan a feasible trajectory without taking full account of the dynamics of
Eq.(24). This is a general feature of nonholonomic mechanical systems. An
automobile can move around in two-dimensional space and orient itself if we
drive it properly, although it has only two variables to control, namely, a wheel
rotation and a steering. In this case, the state variables are three and the
inputs are two.
By appropriately planning the trajectory, the desired final values of the
vehicle orientation and the manipulator joint variables can be attained. To
locate the manipulator end effector at a desired point with a desired orientation,
even a vehicle with a 6-DOF manipulator has redundancy because a variety of
vehicle orientation can be chosen at the final time. The vehicle orientation at
the final time depends primarily on the path taken by the endeffector to reach
its destination. This idea is conceptually illustrated in Fig. 3. It is a research
problem how to utilize this redundancy, which exhibits itself not by self-motion
but only after a global motion.
The nonholonomic redundancy would be utilized (1) when the extended
Jacobian control results in an infeasible motion due to the physical joint limita-
tions, (2) when the system requires more degrees of freedom to avoid obstacles
at the final location of the end effector, or (3) when the vehicle orientation
needs to be changed without using propulsion or a momentum gyro.

4. Bi-Directional Motion Planning

4.1 Lyapunov function
Vafa and Dubowsky (1987) proposed using the cyclic motion of manipula-
tor joints to change the vehicle orientation without changing the manipulator
joint configuration. This scheme assumed small cyclic motion to neglect higher
order nonlinearity, and therefore required many cycles to make even a small
change in vehicle orientation. Furthermore, the scheme had an inherent draw-
back - only multiples of the change in vehicle orientation due to a single cycle
can be attained.
In this section, the input variable U is synthesized based on the Liapunov's
direct method (Liapunov 1892; LaSalle and Lefschetz 1961) so that the vehi-
cle orientation and the joint variables converge to their desired values. This
approach deals with the total nonlinearity of space robot systems without ne-
glecting the nonlinearity of any order, and there is no algorithmic limitation
on the allowable change.
The following function is chosen as a candidate for the Liapunov function.

v= !AzTAAZ (31)
Az =Zd-Z (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

where Eq.(24) was substituted. We proposed the following determination of
the input (Nakamura and Mukherjee, 1989):

Consequently, the rate of change of the Liapunov function becomes

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 Bi-Diredional Approach.

4.2 Bi-Directional Approach

We virtually assume two space robot systems that have the same mechani-
cal structure. The first one is at the initial state variable of our original problem
while the second one is at the desired state variable. The system dynamics for
these two robot systems are therefore given as

Zl = KIUl with ZI(O) = z(O)

Z2 = K2U2 with Z2(0) =Zd
We use the same Liapunov function as Eq.(31) and redefine ~Z as follows:


Note that v becomes zero only when Zl = Z2. The rate of change of the
Lyapunov function is



K = (Kl -K2) E R(n+3)x2n (40)

We choose the inputs as follows:


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
= -~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


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:

::e(t) _ {::el(t) for 0 ~ t ~ tf (44)

- ::e2(2tf - t) for tf ~ t ~ 2tf
The corresponding input is


5. Numerical Simulation
In order to investigate the effectiveness of the Bi-Directional 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

::e(0) = (0 0 0 -90 0 30 15 0 45f

CASE B: { (47)
::ed=(5 5 15 -90 0 30 15 0 45 f

where the unit is degree.

In CASE A, the initial and the desired values of the vehicle orientation
are the same, and those of the joint angles are different. On the other hand,
in CASE B, the initial and the desired values of vehicle orientation are dif-
ferent, and those of the joint angles are the same. Matrix A was selected as
A = diag.(10, 10,10,1,1,1,1,1,1). Since the pseudoinverse sometimes suggest

unrealistically large motion, we prepared a saturation function which propor-

tionally reduces the magnitude of Ul and U2 if it becomes larger than a set
Figure 4 shows the synthesized trajectory of nine state variables for the
CASE A. The input is shown in Fig.5. The behavior of the system is ob-
served in Fig.6. The nine figures correspond to the nine marks on the graphs
of Fig.4. Figure 7 represents the change of the Liapunov function. It took
approximately 8.4 seconds to converge. It is observed that the Liapunov func-
tion converged smoothly. Figure 8 is the curve of the inverse of the condition
number of (AK)T. The figure indicates that rank(AK) was always nine
although the matrix was ill conditioned. This fact implies that at every point
of the trajectory the Bi-Diredional Approach did not have a non-trivial null
Figures 9 through 13 are the results for CASE B and are corresponding
to Figs. 4 through 8 for CASE A. The curve of the inverse of the condition
number of Fig. 13 shows that this case is more difficult than CASE A. It took
about 19.8 seconds to converge. This difficulty is also due to the fact that the
initial error .6.~ is closed to the directions of small singular values. Although
the trajectories of state variables in Fig.9 include some oscillatory motions, the
Liapunov function in Fig.12 converged monotonously.
Although it is not easy to prove that (AK)T is always full rank, from
these two examples we can conclude that the chance to be stuck at the null space
is extremely small. Note that the proportional change of input results in the
change of the velocity along the planned trajectory and causes no inconsistency
to the nonholonomic nature. Therefore, it is possible to change the velocity
along the trajectory so that the input becomes smoother.

6. Conclusion
This paper discussed the nonholonomic mechanical structure of robot sys-
tems in space. A rigorous mathematical proof of the nonholonomic nature of
free-flying 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 Bi-Directional 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.

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-

essarily reflect the views of the Foundation.

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, Springer-Verlag.
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,
SMC-7 (12): 868-871.
Longman, R.W., Lindberg, R.E., and Zedd, M.F., 1987, Satellite-mounted
robot manipulators: New kinematics and reaction moment compensation, In-
ternational Journal of Robotics Research. 6 (3): 87-103.
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. USA-Japan Symposium on Flexible
Automation, pp. 139-145.
Nakamura, Y., and Hanafusa, H., 1987, Optimal redundancy control of robot
manipulators, International Journal of Robotics Research, 6 (I): 32-42.
Nakamura, Y., Hanafusa, H., and Yoshikawa, T., 1987, Task-priority based
redundancy control of robot manipulators, International Journal of Robotics
Research, 6 (2): 3-15.
Nakamura, Y., and Mukherjee, R. 1989 (Scottsdale), Nonholonomic path plan-
ning of space robots, Proc. 1989 IEEE International Conference on Robotics
and Automation, pp. 1050-1055.
Umetani, Y., and Yoshida, K., 1987, Continuous path control of space manip-
ulators mounted on OMV, Acta Astronautica, 15 (12): 981-986.
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.

Table 1. Kinematic (Denavit-Hartenberg) pa-

rameters : 0" - twist of the k-th link (deg), Gi -
length of the k-th link (m), ri - distance between
the (i -I)-th and (i)-th links (m).
i= 0 I 2 3 4 5 6

ii'i (deg) 0.00 -w/2 0.00 w/2 -w/2 w/2 0.00

Gi (m) 0.00 0.00 0.50 0.00 0.00 0.00 0.00
ri (m) 0.50 0.00 0.00 0.00 0.50 0.00 0.35

Table 2. Dynamic parameters (Inertia tensor) : II. - Inertia matrix of the

I:-th body about its center of mass in the I:-th body frame (tg-m').

(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 (tg-m') (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 3. Dynamic parameters (Mass and Position of center of

mass) : -t -
position vector of the center of mass of the I:-th link from
the origin of the t-th link coordinates (m), m. - mass of the I:-th body
1:=0 1:=1 1:=2 1:=3 1:=4 t=5 1:=6
(Ie) 0.0000 0.000 -0.25 0.000 0.000 0.000 0.000
-" (m) (y) 0.0000 0.150 0.000 0.000 0.100 0.000 0.000
(z) -0.400 0.000 0.000 0.150 0.000 0.100 -0.075

mt (I:g) 600.00 30.00 20.00 20.00 10.00 5.00 5.00


•• 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

1 2 -0.00178931 0.01554863 0.00466567

1 3 0.00081895 -0.00683658 -0.00206614
1 4 -0.00003016 -0.00000399 0.00000536
1 5 0.00009580 -0.00077568 -0.00023897
1 6 -0.00000636 -0.00000084 0.00000113
2 3 -0.01212043 -0.00349256 0.00940485
2 4 0.00000235 -0.00003863 -0.00000914
2 5 -0.00183629 -0.00043520 0.00106273
2 6 0.00000050 -0.00000815 -0.00000193
3 4 0.00000533 -0.00005760 -0.00001574
3 5 -0.00012598 0.00001182 -0.00008245
3 6 0.00000113 -0.00001215 -0.00000332

4 5 -0.00000150 0.00002255 0.00000665
4 6 0.00000000 0.00000000 0.00000000
5 0.00000111 -0.00001302 -0.00000346



I Inertial Frame

Fig 1. Five Coordinate Prames for the Space

Vehicle I Mmipulator System.

~ ____________c-_y

Fig.2. Structure 8Jld Configuration of the Space Robot System (a 6DOF

PUMA-type m8Jlipulator mounted on a space vehicle) chosen to prove its Non-
holonomic nature.

Fig.3. Nonholonomic Redundancy:

Although the number of manipulator joints is not redund8Jlt, a space vehi-
cle/manipulator system has redund8llcy in choosing configuration at the final
point due to its nonholonomic mechanie&1 structure.

0.15 1---+-J'--+--+-I---4-l



o 2 4 6 B
Urn. (.ec)

a yersus lime


r j \ I~h
o 2 4 6 8
time (o..)

, 'feraus lime




o 2 4
time (.ec)
6 B

7 venus time

Fig.4. Synthesized trajectory of State variables for CASE A. <a) Vehicle Ori-

o' -


1 V-f- ! / ~ ~

.; .--' .:



o 2 4 6 8 o 2 4 6 8
time (He) lime (••• )

'. venus lime '_ venul ljme

2 2

r~ _f-r-..

\ / \

o /'"
j \
V \:

-I -I
o 2 4 6 8 o 2 4 6 8
lim. (•• e) lime (He)

8 3 verlus lime 'e verlUI t.ime



/ '-- ..........

\ I: .: 0

~\J -1

o 2 4 6 8 o 2 4 6 8
lime (oee) Urn. (•• e)

'I venus t.ime

FigA. Synthesized trajectory of State variables for CASE A, (b) Joint Angles.

~ ~
... :M f ~ f
r V
o • 0
\/ ~
:; \j-"
-1 -1

o 2 4 6 B o 2 4 6 B
Ume (•••) lim. (•• c)

U, versus lime VI versus lime


f\v / r--

\ "
"----' V
'\/ ......
I) -1

o 2 4 6 B o 2 4 6 8
time (nc) time (••e)

U. versus lime

• 0

:; ~


o 2 4 6 B o 2 4 6 8
time (••• )
time (sec)

U....nlUS time U...rsus Lime

Fi$!;.5. Input variables for CASE A.


Fig.5. Behaviour of the Space Robot System for CASE A.


O. 6 t----~+_--_t_--_+---I_____l

> 0.4 ~-----r~----+------+------~~

O. 2 t----+_---+-~~_+---I_____l

o.0 L----L.-L-J...........L-1-..L...-L--L......l--L---L-...L---1.-L-...J..--l--L---L-L-L::::..LJ

o 1 2 3 4
time (sec)

Lyapunov function versus time

Fig.7. Change of Lyapunov FUnction for CASE A.




0 1 2 3 4

Condition number inverse (1e- 1) versus time

Fig.B. In'IefR of the Condition number of (Ak{ for CASE A.




.. 0.2


0 20 40

a veflUI lime




20 40

, ...!'SUI lime

0.3 f - - - - - t - - - - t - - - i

! 0.2~------?f--------~----~

0.1 H~--+-----+--__l

20 40

7 wenul lime

Fig.D. S1Dthesized trajeet.or)o of State ftriables for CASE B, (a) Vehicle Ori-

. -2.0
. 0,0


-:1.0 L.J.-L-....L......L..-.JL...&.........-'-J...-l--'--'-...L..J
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 w---,---,---,-.L....'-'--'-...L-...l-'--'--w

o 20 40 o 20 40
Ume( •• c) lime(lec)

'3 versus t.ime B" versus lime



!II. j:\ .. ...


.: Ilr '1
-0.5 -20

-1.0 -30~........~~-'-~~-L~~
o 20 40 o 20 40
lim.( ..c) lim.(uc)

" verauS time

Fig.9. Synthesized trajectory or State variables for CASE B, (b) Joint Angles.

4/'M JI~
! 0
If ~i
-I -1

o 20 40 o 20 40
Urn.{ •• c) lim.{ •• c)

U I versus llme U. versus time

"'" !~

! 0 O~~------4----------+----~M
:>- .,;

-I -I~------~------+---~

o 20 40 o 20 40
lIm.{.eel tim.{.eel

U3 veTSUS time U. yersu, lime



I. i
:< ~


.t. 0

1 ~

-I -I
o 20 40 o 20 40
tim.{ •• cl lim.( •• cl

U. verlus lime U. versus lime

Fig.IO. Input variables for CASE B.


Fig.l1. Behaviour of the Space Robot System for CASE B.


0.4 I t - - - - - - + - - - - - - I - - - - - I

0.3 t - + - - - - - I - - - - - - - + - - - - - - I

0.2 ~+----+-----+-----I


o 10 20
time (sec)

Lyapunov function versus time

Fig.12. Chant;e or Lyapuno\' Function for CASE B.


0.005 I I I I I I I I I I I
I- -
[I) 0.003
> -
....... ~ -
s... -
Q) 0.002
..0 ,.... f\ -
S - -
V~. -

- -
0 0.001
..... - -
c:= I-
0 r-
0.000 I I I I I I I I I I I

a 10 20

Condition number inverse (,,-1) versus time

Fi~.13. Inversf' of the Condition nwnb..r of (Ak{ for CASE D.

Attitude Control of Space
Platform/Manipulator System
Using Internal Motion.

LI z.x.


Attitude control of a space platform/manipulator

system, using internal motion, is an example of a Non-
holonomic Motion Planning (NMP) problem arising
from symmetry and conservation laws. Common to
NMP problems are that an admissible configuration
space path is constrained to a given nonholonomic dis-
tribution. We formulate the dynamic equations of a
system consisting of a 3-D.O.F Puma like manipula-
tor attached to a space platform (e.g. a space station
or a satellite), as a NMP problem and discuss control-
lability of the system. Then we describe the applica-
tion of a simple algorithm for obtaining approximate
optimal solutions. We conclude with a description of
simulation software implementing the algorithm and
simulation results for two experiments.


Space based (or platform mounted) manipulators are finding in-

creasing application in today's space program. Their use can re-
duce the risk to astronauts in the hazardous environment of space.
Proper attitude control of such a platform/manipulator system is
essential, for example, for repair tasks. Since the use of jets is un-
desirable due to the difficulty of replenishing fuel supply and since
solar energy is available in abundance, for manipulators actuated
by solar-powered motors, attitude control using internal motion is
an attractive option. Here int.ernal motion refers to joint motion
of the manipulator.

Two different cases can be considered. The first is when the

attitude of the satellite base must be changed, perhaps to reorient
instruments like Earth-pointing antennae. Conceivably, a platform
mounted manipulator can execute a joint trajectory, starting from
its initial joint position and returning at the end of the motion to
that position, (i.e. no net change in joint angles) which results in
the desired reorientation of the platform.

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.

It should be noted that in both these cases, the attitudes of

all the components of the platform/manipulator system are unre-
stricted during the maneuver. That the above-mentioned scenarios
are possible is due to nonholonomy of the platform/manipulator

It is with these motivations that the problem has received

recent attention in the robotics community ([PD90j, [FGL9Iaj,
[NM90j, [MS90j, [Mon89j, [SL9Ij, [BroSI] and [LS90]). In [PD90j,

the effects of manipulator motion on spacecraft attitude distur-

bance are coded in Disturbance Maps. These are used to find
paths minimising reaction jet fuel consumption for some simple
systems in accordance with the second of two cases mentioned
above. For more complex systems, the Disturbance Maps may be
used to find heuristics to minimize the disturbance.

In [NM90], a Lyapunov function based approach was used to

design feedback control for such a system. Although of much suc-
cess, the control law failed to achieve some desired orientations
due to a well known fact that smooth feedbacks do not in gen-
eral exist for a nonholonomic system. In ([SL9I] and [LS90]), a
different approach involving use of Lie algebraic techniques, was
introduced. The solution algorithm is very general but it does not
bear any notion of optimality. In ([BroSI] and [MS90J) two similar
approaches using optimal control techniques were developed but
the system has to satisfy certain special structures.

In this paper, we develop a numerical approach for computing

near-optimal control of a platform/manipulator system. The ap-
proach here is generic and works for a large class of systems known
as Nonholonomic Motion Planning (NMP) systems. It does not
assume any specific structure of a system, and most importantly,
it can be automated computationally. We have successfully tested
the numerical algorithm with a number of systems including the
one described in this paper.

The paper is structured as follows. First in Section 2, we choose

as an example a 3 DOF Puma like manipulator without wrist, at-
tached to a large platform. The equations describing the system
will be derived using the dynamical model and conservation of an-
gular momentum of the system. It will be seen that the objective
of optimal attitude control can be translated into the solution of
a canonical nonlinear control or NMP problem. Although it had
been conjectured, we will prove for the first time that the system
is controllable, or between any two given configurations there is
an admissible path. Then in Section 3, we describe a Basis Algo-
rithm for near-optimal solution of the system. Finally in Section
4, we present simulation results for the two cases mentioned in

the Introduction. A software package developed for simulation of

NMP is briefly described. We conclude this paper by highlighting
several open problems in this area.


Consider the platform/manipulator system shown in Figure 1. La-

bel the platform as body 1 and the moving links of the manipulator
as bodies 2, 3 and 4, respectively. Choose coordinate frames as
shown in the figure and assume that the mass center of each body
coincides with the origin of the respective body frame. Denote by
mi - mass of body i,
m - L mi, system's total mass
Ii E ~3X3, moment of inertia tensor of body i
rj E ~, position of frame Cj in the inertia frame
Ri E 50(3), orientation of body i
r E ~3, position of the system's mass center
rC?I - Tj - r,
2dj E ~, length of link i, i = 2, .. .4

Let 8 = (81 , 82 , ( 3 )T be the joint position vector of the manip-

ulator. We have the following hinge constraints

sin 81
- 8 0)
sin 1
cos 81 0 (1)
o 0 1
1 0
( o cos 82 (2)
o - sin 82

Figure 1: Satellite Platform/Manipulator Arm.


r1 + R2d- 1
r~ r~ + 2R2d1 + R3d2 (4)
r~ r~ + 2R2d1 + 2R3d2 + ~d3

Using the fact that Et=1 mir? = 0 we get

r~ -( f2 + 2f3 + 2f4)R2d1 - (f3 + 2f4)R3d2 - f4~d3

r~ - (fl - f3 - f4)R 2d1 - (f3 + 2f4)R3d2 - f4~d3
r~ - (2fl + f2)R2d1 + (f1 + f2 - f4)R3d2 .:.- f4R4d3 (5)
(2f1 + f2)R2d1 + (2f1 + 2f2 + f3)R3d2 + (f1 + f2 + f3)~d3'

where fj = !lli.,
i = 1,4 are mass ratios.

The attitude of the platform, parameterized with Cayley pa-

rameters a E R3 is

~) (6)

Thus, the angular velocity of the platform, defined as fil = R1 , Ri

where .... is the skew-symmetric operator, is related to a by a linear
map U(a) E ~X3, i.e.,


A configuration of the system is given by ((rb R 1), (r2' R 2),

(r3' R 3), (r4' R 4)) E SE(3)xSE(3)xSE(3)xSE(3), and the kinetic
energy of the system has the form

where ft = R;k, i = 1, .. .4.

Using the constraint ri = rf + r in the above equation we have
K= ~ t{Iin n + ~ t
i, i)
mill r fll2 + ~mllrll2 (8)

Differentiating Eqs. (6) with respect to time and applying the

results to (8) yields, after some algebra,


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

with kt,t = It and

k3 ,3
k 4,4
k 2,3
k 3 ,4

From (9) it is immediately clear that rotational motion of the

system about the system's mass center splits from linear motion
of the mass center. Thus, from here on, we will consider only
rotational motion, with the configuration space given by SO(3) x
SO(3) x SO(3) x SO(3) subject to the hinge constraints, and with
kinetic energy

The angular momentum of the system can be computed using

either the classical approach ([GoISO]) or the modern geometric
approach ([AM78]). Following [MR89] and using the kinetic en-
ergy expression given above, the angular momentum fl E ~ has
the form
Jl. = [I, I, I, IjAJn (10)
where A = Diag(R t , R 2 , R 3 , R 4 ) and I E ~X3 is the identity ma-

We will assume that the system initially has zero angular

momentum t. Thus, by conservation of angular momentum mo-
tion of the system identically satisfies the following constraint
[I,I,I,IjAJn = o. (11)
Differentiating the hinge constraint equations and applying the
results to Eq. (11), we obtain after some algebra
IThe general case J.l #; 0 is much more difficult to deal with, for relevant
works see also [BM90].


Jl kl,l + R2,l k2,2 R r,1 + R3,l k3,3R;,1 + R4,l k4,4Rr,1 +

R3,1 ki,3Rr,1 + R2,1 k2,3R [1 + R4,1 ki,4 R Il + R2,l +
k2,4 R r,1 + ~,lkr4Rrl + R3,lk3,4Rr,1'
J2 - -{R2,l k2,2 R Il + R3,lk3,3R[1 + R4,l k4,4 R r,1 +
R3,lk[3R r,1 + R2,l k2,3RI,1 + R4,l k[4 R r,1 +
R2,l k2,4 R r,1 + R4,l kI,4R[1 + R3,l k3,4 kr,I},
J3 - -{R3,l k3,3 R I,1 + ~,lk4,4Rr,1 + R2,l k2,3 R I,1 +
R2,l k2,4 R r,1 + R4,lkI,4R3,1 + R3,l k3,4 R r,1}R2,1,
J4 = r r r
- {~,l k4,4 R ,1 + R2,1 k2,4 R ,1 + R3,1 k3,4 R ,I} R3,1
Bl = (O,O,1)T,B 2 = B3 = (l,O,Ol, and Uj = 9j ,i = 1, ... 3,
are the manipulator's joint angle rates driven possibly by solar-
powered actuators. A careful examination of Jl reveals that it is
the locked-body inertia of the whole system and is thus invertible.

After eliminating the hinge constraints a configuration of the

system is specified by
q= (R I Jh,82 ,83 ) E SO(3) x SI x SI X SI
with the equations of motion given by (12) and
9=u (13)

We may now choose to parameterize the rotation group of the

platform by Cayley parameters as in (7). Doing so gives a local
description of the configuration space by ~, and the equations of
motion in the form
x= B(x)u (14)
where x = (81,82 , 83,aTl E ~isthestatevector, U = (Ut,U2,U3l
E ~ the pseudo-control input 2 , and

B(x) = [ u(atlJl1[J~bbJ3b2,J4ball
2For any given desired ud E !Jti there exists a computed-torque type of
control law , the so called "Virtual Manipulator Control" in (VD87], realizing it

the control vector fields. A trajectory x(t) E ~6 of the system is

said to be admissible, or satisfies angular momentum conservation,
if and only if it satisfies Eq. (14) for some u(t) E~. The first
problem we are interested in can be rephrased as follows:

Problem 1 Given two configurations Xo = (811 82, 83, ao) andxJ =

(8., 82 , 83 , aJ), i. e., same joint angle but different orientation of the
platform, find control input u(t) E 3P, t E [0, TJ, of optimal cost
linking Xo to x J.

The second problem can also be stated similarly, except that

the platform orientation remains the same but the joint angles are
different between the initial and the final configurations.


In this section, we state an important result of [FGL91bJ: The

system given by (14) is controllable. In other words, given any
two configurations Xo, x J E ~6, there exists control input u( t) E
3P, t E [0, T], linking XJ to Xo.

Instead of providing the lengthy, rigorous mathematical proof

of the result, which can be found in [FGL91b], we describe here
several important properties of the system that lead to controlla-

First, let's look at the control equations for the system prior
to parameterization, which can be written in the form

Y u
Rl Eh(y)u;, (15)

where y, u E R3, Rl E SO(3) is a 3 x 3 orthogonal matrix with

unit determinant, and Ji : R3 --+ R3, i = 1,2,3 are C 2 functions.

The configuration space is the manifold R3 x 80(3). System (15)

is also called a multiplicative triangular system.

Recall a property of a nonholonomic system (or nonlinear con-

trol system) without drift ([MS90]): A system of the form

is globally controllable if and only if for every point the reachable

set has non-empty interior.

Using the structure of our system it is possible to show that

Claim 1. The system of the form (15) is globally control-

lable if and only if for some point the reachable set has non-empty

The interpretation of the claim is as follows: mechanically two

configurations are equivalent if they have the same joint angles
(This can be seen also from the model equations), but it is obvious
that any joint angles can be achieved.

Note that not every non-holonomic system has the above prop-
erty. But it is possible to prove that the set of so-called triangular
systems do.

After introducing parameterization to the manifold, we obtain

the control equation given by (14). Since the set of nonsingular
points of the parameterization is an open connected set, using the
notion of local-local controllability ([HH70]) we have

Claim 2. System (14) is globally controllable in R6 if and only

if system (15) is.

In other words, it suffices to check that there exists a point of

~6 such that the set of reachable points has non-empty interior.
The later condition, however, can be computed using the Basis
Algorithm of Section 4. In terms of the notations of Section 4,
this condition is equivalent to the existence of a point such that

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

Ul (t) 0.58 sin t - 1.44 cos t + 1.12 sin 2t + 0.97 cos 2t +

1.40 sin 3t - 0.24 cos 3t
U2(t) 1.71sint - 0.0072cost -1.38sin2t - 0.20cos2t-
0.53sin3t - 0.13 cos 3t
U3( t) 0.27 sin t - 0.131 cos t + 0.12 sin 2t - 0.284 cos 2t +
0.112sin3t - 0.248 cos 3t,
the Jacobian, when evaluated at this control vector had the
following singular values,
{9.15317, 3.92459, 3.15026, 2.25814, 1.4368, 0.324527}.
That is, the Jacobian has full rank. Consequently, the system
is globally controllable.



In this section, we present a Basis Algorithm for near-optimal solu-

tions of the two problems. The algorithm was originally reported
in [FGL91b] and has been successfully applied to computing opti-
mal solutions of a falling cat ([FGL91a]) and other systems. Given
any two configurations xo, x J E ~6, the cost to be minimized is the
following integral
J = loT (u, u)dt.
Since the system is controllable a solution, u* E L 2 ([0, T]), exists
for the problem. Here, L 2 ([0, T]) is the Hilbert space of measur-
able vector-valued functions of the form u(t) = (Ul(t), ... um(t)f,
t E [O,Tj.

Let {ea}~l be an orthonormal basis for L 2([0, T)), e.g., the

Fourier basis. In terms of the basis, a function u E L 2 ([0, T)) can
be expressed as

u = Eaiei (16)
for some sequence a = (aI, a2, ... ) E 12, the oo-dimensional Hilbert
space, the objective function becomes


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
oo-dimensional space. Certainly, solving for the exact solution of
such a problem, if one exists, poses considerable computational

The idea of the Basis Algorithm is to approximate the solu-

tion by solutions of some finite-dimensional systems, introduced
by restricting the control to the first N terms of the basis, i.e.,
U = Eaiej, a = (al,a2,·· ·aN) E ~
and optimizing the following functional
J(a) = Ea~ + ,lIx(T) - xfll2, ,E~.
It has been shown in [FGL91b] that at N" ~ 00, solutions of
the finite dimensional systems converge to the optimal solution.

Fixing N and " let us now construct an algorithm that solves

for optimal a E ~N.

First, for any a E ~N the solution of the differential equation

:i; = B(x)u, u = E~l ajei, at time t = T is a function of a and is
denoted by f(a). Thus, the objective function becomes


Second, suppose that I(a) is known, an efficient approach to

minimizing J (a) is by quadratic programming. For this we com-
pute the Hessian of J(.) about a point an E ~N by computing its
Talor series expansion

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)
+ {(I + ,AT A +, L(fi(a n ) - x{)Hi))6, 6} + 0(11611 3 )


A = aa
aI I
d 2Ii a .
an Hi = aa 2 ' z = 1, ... 6

are, respectively, the Jacobian of I and the Hessians of the com-

ponent functions of I, i.e., 1= (h,··· 16l·

From (19) we have that

:~ Ion = 2 (an + ,AT(f(an) - XI») (20)


Since (I + ,AT A) is positive definite already and it is also

difficult to compute the Hessians of the component functions, we
use the following modified Newton's algorithm to update a.

where u = 1/, and 0 < J1. < 1 is a parameter.

Remark 1 (1) The choice of J1. E (0,1) in (22) is very important

in order for the algorithm to converge. In our simulation experi-
ments, a small J1. is used when a is far from its optimal solution,

and is gradually increased to 1 when a comes close to its solution.

As a result, our algorithm is convergent for almost all examples
we have tested so far.

(2) Equation 22 can be modified to reduce computation time when

the penalty coefficient 'Y is large, i.e. when u < < 1. Instead
of computing the inverse of the N x N matrix, [uI + AT Aj, the
computation of an n x n matrix, [AATj, suffices.

Finally, let us numerically evaluate the function f( an) and its

Jacobian, A = *Ian E ?RnxN. Define by <JI the n x N matrix whose
columns are the basis elements, {ei(t)}~l,t E [O,Tj,


and rewrite the system as

x = B(x)u = B(x)<JIa, a E ~N.

Clearly, A is given by evaluating the matrix function

yet) = ax(t)
at t = T. Also note that

YeO) = lim Yet) = o.


The differential equation for Yet) is given by


Jacobians of the columns of B are not difficult to compute if

the form of B is known.

Thus, at each time step we have to integrate the following set

of differential equations from t = 0 to t = T in order to update a.

X = B(x)~an, x(O) = xo
{ (24)
Y. = (3
Ei=l az-Ui Y + B~,
aBi )
YeO) = O.

We set f(a n ) = x(T) and A = YeT).

Let's summarize our algorithm given by the Basis Approach.

Algorithm 1 (Basis Algorithm)

Input: 1. Initial and final configurations: Xo and x I E ~6

2. B(x) E ~6X3.

Output: Control input u(t) E ~3,t E [O,T], linking Xo to XI.

Step 0: 1. Choose an orthonormal basis and retain the first N

elements {ei(t)}~l. Define ~ as in Eq. (29).
2. Initialize ao =F 0 by some random process.

Step 1: 1. Choose '"Y > 0 and p. > O.

2. Solve the set of differential equations given by (24).
9. Set
f(a n ) = x(T) and A = YeT).
4. Update a according to

a n +1 = an - p. [0'1 + AT Ar l [O'a n + AT(J(an ) - XI)]

Step 2: Examine x(T) and cost IN,..,. If the results are not satis-
factory, repeat Step 1, otherwise exit.


In this section, we describe simulation results obtained for the two

problems using the Basis Algorithm. The model parameters we
used have the following values
ml - 42.412kg,
m2 - 2.29kg,
m3 = 0.255kg,
m4 = 1.018kg;
II - Diag (0.21206,0.9896,0.9896),
12 - Diag (0.017692,0.017692,0.0010306),
13 Diag (0.00191488,0.00191488, 1.27235e - 05),
14 Diag (0.00773586,0.00773586,0.000203575),
d2 - 0.25m,
d3 0.15m,
d4 - 0.15m.

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.

We have used 21 terms of the Fourier basis in the simulation.

These basis elements are

0.5 ) ( sin t ) ( cos t ) ( sin 2t )

el = ( ~ , e2 = ~ , e3 = ~ , e4 = ~ ,

COS 2t ) ( sin 3t ) ( cos 3t )

es =( 0 , e6 = 0 , e7 = 0 ,
0 0 0

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 shows plots of the optimal control inputs. Figure 3

shows the aI, a2 and a3 components of the optimal trajectory of
the platform and the ()l, ()2 and ()3 components of the optimal
trajectory for joints, linking Xo to x J .

... -

Figure 2: Platform / Manipulator System (Optimal Control).

In Figure 4, a sequence of 16 pairs of snapshots of the motion

of the satellite platform/manipulator system is shown. Each pair
of snapshots consists of the same configuration viewed from two
different points, in order to convey a better idea of the motion.
Starting from the initial configuration at top-left, the pairs are

11 oJ












.... ollIS

.... -62S

..... <I.J



- •
D.II. 45

Figure 3: Platform / Manipulator System (Optimal Trajectory).


taken at equally-spaced points in the time interval [0,21r] and are

displayed in row-major order. In the bottom-right snapshot pair,
the desired and the actual final configuration are superimposed.
The error (whose norm in this example is of the order of 10- 4 ) is
almost unnoticeable.

In this example the cost of the control, Iiall = 1.335.

In Table 1, the time profile of this simulation experiment is

tabulated. The values of stepsize factor 1.1. and penalty coefficient ).
were varied by the experimenter as the program was running. The
values of these parameters that were current during a particular
iteration are displayed in the table. The norm of the error at the
end of iteration i (i.e. IIx(21r) - xJ11) is also tabulated. The time
of run was 137.0 seconds of user time, 1.7 seconds for system time
during 169.3 seconds of elapsed time. The control vector a29 E R21,
when the program was stopped on reaching sufficient accuracy was

a~9 (0.00547, 0.0818, 0.054, 0.9999, 0.0765, 0.316, -0.0787,

0.0228, -0.087, 0.777, 1.84e - 05, -0.0868, -0.0191,
0.00028, 0.0133, -0.0335, 0.202, 1.41e - 05,
-0.0122, 0.0035, 0.0039)

For the second problem, the initial and final configurations are

The motion specified by these values corresponds to a rotation

by 1r of the platform base about its body Y axis. We used the same
set of basis vectors that were used in the previous subsection.

Figure 5 shows plots of the optimal control inputs. Figure 6

shows the a1, a2 and a3 components of the optimal trajectory of
the platform and the flt, (}2 and (}3 components of the optimal
trajectory for joints, linking Xo to xJ'

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

Table 1: Simulation of Platform/Manipulator.


~~ ~~ ®~ ~~

~~ \g. \~ ~.

'e~ ~~ ~~ ~.
~~ ~~ ~!& ~g5

Figure 4: Platform Motion.




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

al d






-. -..
• .... 0


0 ..


- -
Figure 6: Platform / Manipulator System (Optimal Trajectory).

In Figure 7, a sequence of 16 pairs of snapshots of the motion

of the satellite platform/manipulator system is shown. Each pair
of snapshots consists of the same configuration viewed from two
different points, in order to convey a better idea of the motion.
Starting from the initial configuration at top-left, the pairs are
taken at equally-spaced points in the time interval [0,27r] and are
displayed in row-major order. In the bottom-right snapshot pair,
the desired and the actual final configuration are superimposed.
The error (whose norm in this example is of the order of 10- 4 ) is
almost unnoticeable.

In this example the cost of the control, lIall = 3.4688.

Figure 7: Platform Motion.



In this section we describe the hardware and software of the sim-

ulation system. The aim of the system is to provide an easy and
reliable procedure to move from the mathematical specification of
the model to the actual code that implements the numerical algo-
rithms. While several important steps in this procedure have been
automated, occasional guidance by the user is needed.


Almost all the computation is done on a fast (30 MIPS, 6 MFlops)

Unix-based graphics workstation. Real-time interaction is avail-
able using a mouse. This workstation is used for display of trajec-
tories as they are computed and refined by the algorithms. Sym-
bolic computation of derivatives and their translation into C code
is done on another workstation.


The significant software subsystems are:

• DASSL - an ODE solver ([BCP89]) written in FORTRAN

which can be used to solve a differential-algebraic system of
equations. Such a system has the form

get, y, iI) = O.

DASSL uses the backward differentiation formulas of orders

one through five to solve such systems for y and y. Consis-
tent values of y and if at the initial time t. must be given
as input, (that is, if y and if are given initial values, they
must satisfy g(t., y, y) = O. The code solves the system from
ta to final time tf. The solution may be continued to get

results at time past t J. This is the interval mode of oper-

ation. Intermediate results can also be obtained by using
the intermediate-output capability. Our primary use of this
code (for the results mentioned in this paper) is to solve
ODE's without algebraic constraints since for the numerical
algorithms for optimal control we use the kinematic model
of the system. Although this can be done by other ODE
solvers, we prefer DASSL because we may like to study the
behaviour of the dynamic model of the system using the op-
timal control that was computed for the kinematic model.
In this situation DASSL's ability to handle algebraic con-
straints is required.

• LINPACK - routines from this FORTRAN library are used

to perform some matrix computations.

• SGI Graphics Library - A set of high-performance graphics

routines tuned to the hardware are used to provide graphical
interface and display of the progress of the algorithms.

• The main code is written in the C programming language.

The operating system is Irix.

Symbolic manipulation software (Mathematica) is used to ob-

tain those Jacobians required by the algorithm. Mathematica out-
put is automatically converted into C code via software written in


The optimal control problems for which the system is designed,

result in a first order differential equation of the form

A(x)x = B(x)u(t), (25)

where matrices A(x) and B(x) are functions of state Xj sometimes
we get the simpler form
x = B(x)u(t). (26)

The numerical algorithms require knowledge of the derivatives

of the matrices A and B with respect to x and the derivative of
control vector u with respect to time t. (Symbolical inversion of
matrix A to reduce the form of the equation to (26) is disadvanta-
geous since it complicates the process of obtaining the Jacobians
of columns of B).

The complexity of the models is often such that not only is

it infeasible to obtain A, B and the Jacobians of their deriva-
tives by hand, but even use of the symbolic manipulation software
requires high-level user intervention. This is the case for the plat-
form/manipulator system. Straightforward computation of A and
B and the J acobians of their columns fails upon reaching the mem-
ory limit of the computer. But by use of

• replacement of products of trigonometric functions by single

trigonometric functions of multiple angles, (within Mathe-

• automatic replacement of products of constant factors by

new constants and
• replacement of terms differing by constant factors by a single
term multiplied by a new constant factor (implemented in
Emacs Lisp),

it was possible to proceed. Some other methods are described in



The use of Mathematica in the simulation system for symbolic

computation is as follows : First symbols are defined for geomet-
rical parameters, for instance, the length and radius of the main
body of the satellite. Actual values are substituted only at run-
time so resulting programs are valid for a class of systems. Next
constant terms in the inertia matrices are computed as functions

of physical parameters. State dependent terms are computed as

functions of variables defined for the state x. All terms appearing
in (26) (or (25) as appropriate) are computed symbolically and
expressions for them (which are in Mathematica output format)
are stored in data files.

The algorithms require symbolic derivatives of scalar, vector

and matrix functions of a vector variable. For this purpose we
have written Mathematica code which computes the gradient of
an expression (which may be a scalar, vector or matrix), with
respect to a state vector of variables. In the case of a matrix, a
list of Jacobians of the columns of the matrix is returned, since
this representation is convenient for our purposes. Again, output
may be saved in data files in the form of Mathematica output.

The data file containing the Mathematica output is then au-

tomatically converted into C code that computes the expression.
The program implementing this transformation is written in Emacs
Lisp and operates on a sequence of scalar, vector or matrix assign-
ments where the vectors and matrices may be of arbitrary dimen-
sion and appear in any order. The output can be encapsulated
into a C language routine which can be called after assignment of
specific values to physical parameters and state variables at which
the expressions are to be evaluated.

Although we cannot yet completely automate the process, as

explained earlier, the above (semi) automated procedure allows us
to quickly move from the geometrical specification of the problem
to working C code. Due to the minimization of hand coding,
programming effort is reduced for new examples.


Real time display of the kinematics helps in understanding al-

gorithm performance and results. When components are plotted
separately, computed optimal trajectories are difficult to visualize.
But when animated and displayed on the workstation, not only is

visualization easy but we can contrast the computed optimal con-

trol or trajectory with the intuitive idea of a 'natural' control or
trajectory which we have for many of the systems we are interested

The physical components of the systems that we are studying

(e.g. satellites with rotors, falling cats, unicycles, etc) are com-
posed of simple primitive shapes like cones, cylinders, disks etc.
The standard Graphics Library on the workstation provides a set
of far lower-level graphics primitives like points and planar poly-
gons. To bridge the gap, we have written an object-oriented library
of graphical objects that allows for operations of creation, deletion
and display. Data necessary for object display is pre-computed at
creation time, permitting faster display. Routines to interface to
input devices are also available in the library enabling run-time
re-positioning of viewpoint. The library makes the task of writing
a program to solve the motion planning problem for a new system
and display of results both easier and quicker.


Most computations carried out in the algorithms are written most

naturally as matrix and vector operations. So we have written, in
C, a math library which can efficiently evaluate a large number
of expressions involving scalars, vectors and matrices. Dimensions
of matrices and vectors involved may be arbitrary. Routines for
special multiplication of a vector with the derivative of a matrix
with respect to a vector variable have also been written. Routines
exist for special multiplication of the sparse matrix cP appearing
in the Fourier basis representation of the control u as u = CPa.

The library greatly reduces the debugging effort for new exam-


Attitude control of a 3 degree-of-freedom manipulator arm mounted

on a free floating space platform was studied as a problem in Non-
holonomic Motion Planning. The system is shown to be globally
controllable using the Basis Algorithm, which was used to obtain
near-optimal solutions for two experiments. The experiments cho-
sen are representative of the two common scenarios of interest in
space applications - the first is a manipulator task example that
does not change the final attitude of the platform and the second
is a reorientation of the platform with no change in joint angles.
Both experiments were successful, demonstrating the viability of
the method and associated software in solving such problems. In-
teresting behaviour of the algorithms was observed, reiterating the
importance of the consideration of controllability of the system in
design of space manipulators.

To conclude this paper, let us pose several important problems

for future research:

• Here, we have considered only nonholonomic constraints.

But in many practical applications holonomic constraints
(e.g., hinge joint constraints and collision avoidance con-
straints) and nonholonomic constraints appear simultane-
ously. Integration of this work with works in holonomic
motion planning (see, e.g., [LP82], [KR88], [CL90], [Lat90],
[Don89], [LPMT84] and [5586]) to handle these types of con-
straints seems to be an important topic of research.

• In this paper, we have assumed that the control vectors

fields, i.e., the columns of B(x), are nonsingular, although
we didn't use this fact for the Basis Algorithm. The effect of
singularities on performance of the Basis Algorithm deserves
further research (see also [Lau91]).

• It has been proved that smooth feedbacks do not exist in

general for nonholonomic system. But, what about piecewise
continuous or smooth or even time varying feedbacks (see

also [BM90]) for such a system?

[AM78] R. Abraham and J. Marsden. Foundations of Mechan-
ics. Benjamin/Cummings Publishing Company, 2nd
edition, 1978.

[BCP89] K.E. Brenan, S.L. Campbell, and L.R. Petzold.

Numerical Solution of Initial- Value Problems in
Differential-Algebraic Equations. North-Holland,
[BM90] A. Bloch and N.H. McClamroch. Controllability and
stabilizability properties of a nonholonomic control
system. In ConJ. on Decision and Control, pages 1312-
1314, 1990.
[Bro81] R. Brockett. Control Theory and Singular Riemannian
Geometry, pages 11 -27. In New Directions in Applied
Mathematics, Springer, 1981.

[CL90] J. Canny and M. Lin. An opportunistic global path

planner. In IEEE Int. ConJ. on Robotics and Automa-
tion, pages 1554-1559, 1990.

[Don89) B. Donald. Error detection and recovery in robotics.

Springer-Verlag, 1989.

[FGL91a] C. Fernandes, L. Gurvits, and Z.X. Li. Foundations

of nonholonomic motion planning. Technical report,
Robotics Research Laboratory, Courant Insititute of
Mathematical Sciences, 1991.

[FGL91b] C. Fernandes, L. Gurvits, and Z.X. Li. Optimal plan-

ning for a falling cat. IEEE Transaction on Automatic
Control (to appear), 1991.

[GoI80] H. Goldstein. Classic Mechanics. Addison-Wesley,

2nd edition edition, 1980.

[HH70] G.W. Haynes and H. Hermes. Nonlinear controllability

via lie theory. SIAM J. Control, 8(4):450-460, 1970.

[KR88] D. E. Koditschek and E. Rimon. Robot navigation

functions on manifolds with boundary. Advances in
applied mathematics (to appear), 1988.

[Lat90] J.C. Latombe. Robot Motion Planning. Kluwer Pub-

lishers, 1990.

[Lau91] J. Laumond. Singularities and topological aspects

in nonholonomic motion planning. Technical report,
LAAS Toulouse, France, 1991.

[LP82] T. Lozano-Perez. Task Planning, chapter 6. In Robot

Motion: Planning and Control, edited by M. Brady et
aI, MIT Press. 1982.

[LPMT84] T. Lozano-Perez, M. Mason, and R. Taylor. Automatic

synthesis of fine motion strategies in robotics. 3, 1984.

[LS90] G. Lafferriere and H. Sussmann. Motion planning for

controllable systems without drift: A preliminary re-
port. Technical report, Rutgers University Systems
and Control Center Report SYCON-90- 04, 1990.

[Mon89] . R. Montgomery. Optim. contr. of deform. body, isohol.

prob., and sub-riem. geom. Technical report, MSRI,
UC Berkeley, 1989.

[MR89] J. Marsden and T. Ratiu. Mechanics and Symmetry.

University of California at Berkeley, 1989.

[MS90] R. Murray and S. Sastry. Grasping and manipula-

tion using multifingered robot hands. Technical report,
University of California at Berkeley, 1990.

[NM90] Y. Nakamura and R. Mukherjee. Nonholonomic path

planning of space robotics via bidirectional approach.
In IEEE Int. Conf. on Robotics and Automation, 1990.

[PD90] E. Papadopoulos and S. Dubowsky. On the nature of

control alogorithms for space manipulators. In IEEE
Int. Conf. on Robotics and Automation, 1990.

[SL91] H. Sussmann and W. Liu. Limits of highly oscillatory

controls and the approximation of general paths by
admissible trajectories. Technical report, Rutgers Uni-
vesity Center for System and Control Report, SYCON-
91-02, 1991.

[5586] J. Schwartz and M. Sharir. Planning, geometry and

complexity of robot motion. In Pmc. of Int. Congress
of Math., Berkeley, 1986.

[VD87] Z. Vafa and S. Dubowsky. On the dynamics of manipu-

lators in space using the virtual manipulator approach.
In IEEE Int. Con/. on Robotics and Automation, 1987.
Control of Space Manipulators
with Generalized Jacobian

Kazuya Yoshida and Yoji Umetani

Dept. of Mechanical Engineering Science
Tokyo Institute of Technology
2-12-1, O-okayama, Meguro, Tokyo 152, JAPAN
e-mail: kyoshida@cc.titech.ac.jp


Space has been attracting special interest as a new applica-

tion field of robotics. A robotic teleoperator system installed
with space manipulators will play an important role in future
space projects, such as constructing space structures or ser-
vicing satellites. However, in space environment, the lack of
a fixed base arises serious problems in controlling space ma-
nipulators. Any motion of the manipulator arm will induce
reaction forces and moments, and they disturb position and
attitude of the satellite which is a footing base of the manip-
ulator. To establish a control method for space manipulators
with taking dynamical interaction between the manipulator

arm and the base satellite into account, the present authors
investigate kinematics and dynamics of free-flying 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 free-flying operation -but
also attitude control problems. The validity and effective-
ness of the method is exhibited by computer simulations and
experimental study.


Space robotics is a new technological field. In future space develop-

ment, robotization and automation will be key technology and con-
tribute much to the success of space projects, reducing the workload
of astronauts and increasing operational efficiency.

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 epoch-making 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.

A major characteristic of these robots which are clearly distin-

guished from ground-based robots is the lack of a fixed base in space
environment. As illustrated in Fig.2, if a space robot is operated
for a certain task, position and attitude of the base satellite are dis-
turbed by reaction forces and moments due to the robot motion, so
it cannot accomplish the task without provision for this disturbance.
No space manipulators can avoid the reaction disturbance and the

Fig.l A concept of space free-flying robot [ARAMIS83].

Groun d-Fix ed Manip ulator Space Manip ulator

Fig.2 Ground-fixed robot and space robot.


conventional control method for ground-based manipulators cannot

be adopted directly to those space robots. To cope with this prob-
lem, we need a new control method for space manipulators taking
this undesirable reaction effect into account.

One approach is to consider a satellite attitude control against the

manipulator reaction. Yamada et aI. [Yam82], which is one of the
earliest work in this field, developed a computed torque method for
satellite attitude maintenance based on a recursive Newton-Euler
calculation of dynamics. Longman et al. [Long87] proved that
dynamics of the manipulator and the satellite can be decoupled by
means of attitude control devices and developed a kinematic method
for simultaneous control of manipulator and satellite attitude.

On the other hand, modeling and control methods for free-flying 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.

As a general treatment with a full comprehension both of position

and attitude change of the satellite by the manipulator reaction,
Umetani and Yoshida [Ume87] proposed "Generalized Jacobian
Matrix (GJM)" concept based on the formulation of velocity-level
kinematics. In the latter work, the GJM has been successfully ap-
plied to Resolved Motion Rate Control [Ume89a], Jacobian Trans-
pose Control [Mas89], and Resolved Acceleration Control with an
efficient torque computation scheme [Muk90].

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.

Kinematics and Dynamics


Fig.3 shows a general model of space free-flying robots having a

single manipulator arm, which is regarded as a free-flying serial
n+ 1 link system connected with n degrees of freedom active joints.
Here we assume that (a) the system is composed of rigid bodies on
the whole, (b) any external forces or torques of gravity, orbiting,
or jet thrusters for satellite control is not exerted, (c) then a total
momentum of the mechanical system is always conserved.

Let link 0 denote a satellite main body, link i (= 1, ... , n) the i-the
link of the manipulator and joint j a joint connecting link i-I and
link i.

The symbols are defined as follows:

tP E Rn : joint variables vector (= [tPlJ tP2, ... , tPnY)

TERn : joint torques vector (= [Tl' T2, ... , TnY)
ri E R3 : position vector of the mass center of link i
r 9 E R3 : position vector of the mass center of the total system

Pj E R3 : position vector of joint j

P,. E R3 : position vector of the manipulator hand

Ij , aj, b i E R3 : link vectors defined in Fig.3 (Ij = aj + bj )

kj E R3 : unit vector indicating a rotational axis of joint j


joint n joint 2


link 0

Satellite Main Body

Inertial Coordinate System

Fig.3 General model of space free-flying robot with an articulated


Vo E R3 : linear velocity of the base satellite (= :fo)

v, E R3 : linear velocity of the manipulator hand (= p,)
Wi E R3 : angular velocity of link i
0 0 E R 3X3 : attitude matrix ofthe manipulator hand (= [in1jnl k n]
: a collection of unit vectors indicating principal axes)

mj : mass of link i

w : total mass of the system (= Li=Q mi )

Ii E R3X3 : inertia tensor oflink i with respect to its mass center

EE R 3X3 : 3 x 3 identity matrix


where i = 0,1, . .. , n and j = 1,2, ... , n. All vectors are described

with respect to the inertial coordinate system.

An operator i for a vector r = [x, y, z]T is defined as

x +j.
Basic Kinematics

Let us derive fundamental kinematic equations for the space free-

flying manipulators. A position vector of the manipulator hand is
geometrically written as

p,. = ro + b o + L Ii (1)

Differenciating it with respect to time, a relationship between hand

linear velocity and joint velocity is obtained.

V,. = Vo + Wo x (p,. - ro) + L{~ x (p,. - Pi)}~i (2)

On the other hand, a relationship between hand angular velocity

and joint velocity is expressed with

Wn = Wo + Lki~i (3)

Define an operational space of manipulator hand at velocity level

as v = [v;, w;JT, then it is represented as a function of yo, wo and
;p from Equations (2) and (3),

v - J [ wo
1+ J 4>.
m (4)

-= [E E 1E R '
-POr = Pr - (5)
~ 0 POr ro


k2 X (Pr - P2) ... kn x (Pr - Pn) 1E R 6xn

k2 ... kn
are Jacobian matrixes for a satellite motion dependent part and
a manipulator dependant part, respectively. The latter is just a
Jacobian for ground-based manipulators, however, described from
the inertial frame. Velocity level kinematics of space manipulators
is expressed as a linear combination of the manipulator part with (p
and the satellite part with Vo and WOo This is a main difference from
ground-based manipulators that the variables Vo and Wo, which
represent motion of a footing base of the manipulator, are included
in the basic kinematics.

Equation of Motion

Kinetic energy of the system, T is defined as a summation of linear

and angular energy of the links.


Rearranging it with the variables Vo, wo and ¢, we can obtain the

following expression.


where n

Hw = :L(I + mif~foi) + 10
j (9)


Hw.p Ri + mifOiJTi) (10)

Hq, = :L(J~iliJ Ri + miJ~iJTi) (11)

J Ti =[k x (ri - PI), k2 x (ri - P2),'" ,ki x (ri - pJ, 0, ... ,0] (12)

J Ri =[kl' k kt, 0, ... ,0]

2 , ... , (13)

JTw = :L miJTi (14)



among them, H</> is an ordinary inertia tensor for ground-based


In our system, motion of the manipulator and the base satellite

is intricately coupling wit~ reaction forces and moments, i.e. the
state variables Vo, Wo and 4> are not determined independently, but
governed by the law of momentum conservation of the links. Hence
an expression of momentum conservation gives us information on
relationship among these variables.

Let P, L be a linear and an angular momentum of the system with

respect to the inertial frame, then
p =Emir. (16)

L = E(liwi + ri x mire) (17)

Rearranging them with Vo, Wo and ;P, we can get the following equa-

with an assumption that total momentum of the system is held to

zero, i.e. the system has no motion at an initial state. In the above
equation, new variables are defined as follows.

L = 2)1, - m,fifOi) + 10 (19)

IqI =E(liJRi + mifiJT.)



Alternatively, if we consider an angular momentum of the system

with respect to the mass center of the base satellite and denote it
by Lo,

L = Lo +ro x P (21)

is obtained. Now we are supposing total momentum L = P = 0,

then Lo is also zero. Therefore Equation (18) can be modified into
the following form.

[i.J = [:.~ '2-][:: J+ [ ~: J~ = 0 (22)

Equation (22) is a version of (18), however vectors ri and r g , whose

end point is located at the origin of the inertial frame, are excluded
and the coefficient matrix of [v~, w~f becomes symmetric [Mas89].
So that this expression is useful for the derivation of equation of

Equation (22), as well as (18), represents the constraint of motion

of our system, coming from the momentum conservation, which de-
scribes the relationship among Vo, wo and ;Po An intersting feature
can be extracted from the equation that it is non-integrable about
wo, namely the system is non-holonomic [N ak89]. A physical char-
acteristic of nonholonomic system will be exhibited in other part of
this book.

Equation of motion is derived from a Lagrange function together

with the nonholonomic constraint (22). No potential energy is ac-
counted in our system, so that the Lagrange function is equal to
the kinetic energy T. From Equations (8) and (22), ~e can get the
equation of motion of the system as a function of 4>,4> and cpo

H*4> + it;p - ~{!;pT H*;P} = 7' (23)

acp 2

The authors define the matrix H* E RnXn as "Inertia Tensor

for Space Free-Flying Manipulators", which is an extended
definition of the tensor for ground-based manipulators H~.

Generalized Jacobian Matrix

Basic kinematics of space manipulators is shown !n Equation (4)

as a function of the velocity variables Vo, wo and tP. The relation-
ship among these three variables is described in Equation (18) or
(22). From the equations, eliminating uncontrolled satellite vari-
ables Vo and Wo, we can get a useful relationship just. between the
manipulator operational space v and the joint space tP.

From Equation (18), Vo and Wo are solved as

Vo = -(JTw/W + rOgI~lIm)¢ (25)

-1 .
Wo = -Is ImtP (26)

Substitute them into Equation (4), then

v -
J s [ Wo 1+ J tP.

[im - isI~llm]¢
- J* cf> (27)

. = ['0E1
Js Js E R6X3 (28)

j m=
- Jm- Js [JTW/W
0 1 E R6xn (29)

Is - L + wriog

- ~]Ii - mirgirgi) E R 3X3 (30)


Im = I ~ - rg- J Tw E R3xn (31)

A new matrix J* is defined as "Generalized Jacobian Matrix for

Space Manipulators (GJM)", which is an extended and general-
ized form of manipulator Jacobian implying the reaction dynamics
of free-flying systems.

The authors would like to emphasize the significance of the GJM

with showing two examples. Firstly, let us consider the case that
the base satellite is so massive that mo,Io --+ 00. In this case,
the GJM converges to the conventional Jacobian for ground-based
manipulators J* --+ J m , as proved in Appendix of this paper in 2 x 2
case. It shows that the most massive base satellite for manipulators,
is the earth.


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


where im is equivalent to the Jacobian for Virtual Manipulator

proposed in [Vafa87]'

In both cases, J m and im is included in the GJM J* as a sub-term.

The above fact is the evidence of generality of the GJM concept.

Control Problems

An advantage of the Generalized Jacobian Matrix (GJM) is that

conventional control methods using the Jacobian for ground-based
manipulators can be directly applied to space manipulators, only by
replacing the conventional Jacobian with the GJM. In this section,
the authors present Resolved Motion Rate Control and Resolved
Acceleration Control with the GJM for space manipulation.

Resolved Motion Rate Control

Resolved Motion Rate Control (RMRC) is a method for continuous

path control of a manipulator hand based on the inversion of J aco-
bian matrix [Whi69]. RMRC for space manipulators is developed
with the GJM, under the condition that (a) desired manipulator-
hand operation at velocity level in the inertial frame Vd(t) = [Vrd(t)T,
Wnd(t)Tf is given at each moment, and (b) satellite attitude 0 0 and
joint angles ,p can be measured in real time.

In case that the number of manipulator joints is equal to operational

space: n = 6, the GJM in Equation (27) becomes a 6 x 6 square
matrix, which can be inverted except at singular points. By means
of [J"']-l, joint velocity command to the robot (Pc is obtained in a
very simple way.


In this solution, complex interaction or nonholonomic characteristic

among the satellite and manipulator motion is comprehended. We
can properly control the robot hand in the inertial frame without
caring about the satellite reaction: in fact, it is considered in J"'.

In case n > 6, redundancy resolution technique with pseudo-inverse,

null space of the Jacobian or others can be successfully applied
[Nen88, YogI].

Resolved Acceleration Control

A drawback of RMRC is that dynamics of the system is excluded,

therefore motion rate error may appears and be integrated into po-
sition error. Resolved Acceleration Control (RAC) is an advanced
method to cope with this problem [Luh80).

Joint acceleration command ¢c is obtained by differenciating Equa-

tion (34).


under the condition that the desired hand acceleration Vd(t) is given
in addition to Vd(t).

If the position and velocity error of the hand is measured, error

feedback loop can be involved in the control, then

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,

Fig.4 A realistic simulation model of 2000kg space robot with

6 DOF manipulator.

Table 1 Specification of the simulation model.

mass length [m] moment of inertia [ kgm~ ]

mj [kg] I·
I ai bi Ii (1 , 1] li[2,2] li[3,3]
link 0 1700.0 3.5 1.75 1.75 1434.0 1434.0 1735.0
link 1 5.0 0.25 0.125 0.125 0.0292 0.0292 0.00625
link 2 50.0 2.5 1.25 1.25 0.0625 26.1 26.1
link 3 50.0 2.5 1.25 1.25 0.0625 26.1 26.1
link 4 10.0 0.5 0.25 0.25 0.0125 0.215 0.215
link 5 5.0 0.25 0.125 0.125 0.00625 0.0292 0.0292
link 6 5.0 0.25 0.125 0.125 0.0292 0.0292 0.00625

(a) initial posture and motion trajectory

E 0.5

00 5 10
Time (sec)
(b) desired hand velocity along the trajectory IVTdl.

E 0 .,'''''''"."''''''''".,.,.,.,''',,.,.,,''''''''------.

-0,5 '----'-_'----'-_'--.....1.-____''---'-____''----'----'
o . 5 10
Time (sec)

(c) desired hand acceleration along the trajectory IVrdl.

Fig.5 Prescribed operation of the manipulator.


- Joint 1
......... Joint 2
- -- Joint J

-50 ............ .·
........... j

o 5 10
Time (sec)

(a) joint torque 71'"'''''73

- Joint 4
......... Joint 5
- -- Joint 6
....... 0
... ..... -.-.- ......


5 10
Time (sec)

(b) joint torque 74 -76

Fig.6 Computed joint torque to accomplish the free-flying opera-

tion prescribed in Fig.5.

Fig.6(c) Course of postural change during the free-flying RAC by

using the Generalized Jacobian Matrix (in every 1.0 second).

represents orientation error of the hand [LuhBO], which will be mea-

sured by a vision sensor.

Control torque for manipulator joints to achieve commanded mo-

tion can be c~.cul~ted from the system dynamics Equation (23) with
substituting 4>c, 4> and 4>. However, the computation of the La-
grange's equation of motion (23) requires so much CPU power that
an efficient scheme for the space robots based on Newton-Euler's
formulation has been recently developed [Muk90].

Let us illustrate computer simulated motion of a realistic space

robot controlled by the presented RAC method by using the GJM,
togather with the torque computation.

Fig.4 shows the simulation model which has a 6 degrees-of-freedom

manipulator, whose dimensions and inertial parameters are listed
in Table 1. Fig.5 (a) shows the prescribed hand trajectory in the
inertial frame and, velocity and acceleration command along the
trajectory is given as Fig.5 (b) and (c), respectively. We suppose
the hand orientation is held throughout the operation, i.e. Wnd =
Wnd = O.
Computed joint torque through the dynamics equation is presented
in Fig.6 (a) and (b) for the first three joints for gross motion
and the last three for fine motion at the wrist, respectively. The
course of postural change of the robot is illustrated in Fig.6 (c).
The simulation results clearly show that, although the position and
attitude of the base satellite is greatly influenced by the reaction
of the arm operation, the manipulator hand can precisely follow
the prescribed trajectory by means of the control method with the

Satellite Attitude Control

The above discussion has made focusing on the free-flying problem

without satellite control, however the presented control method is
easily applied to a simultaneous control of the manipulator hand and
the satellite attitude. Suppose that reaction wheels are installed on
the satellite as additional joints ¢w, the momentum conservation
law and presented formulation are held true because they induce
only inner moments but no external forces or moments.

Basic kinematics of satellite rotational motion is Equation (26), so

that the control law can be obtained with combining Equations (26)
and (27) as simultaneous equations.


where ;p is a combination of joint variables ;Pj and wheels ;Pw, i.e.

. .T .T
4> = [4>j , 4>wY'

In case that a 6 degrees-of-freedom manipulator and ~n orthogonal

3 axes reaction wheel are installed, the number of 4> variables is
9, which is equal to the number of the operational space of hand
position and orientation v and satellite attitude woo So in this case,
the matrix in Equation (38) becomes the 9 x 9 square one and the
RMRC law is easily obtained with its inversion. Also the RAC law
can be derived with a differentiation process.

Simulated motion of the model under the condition of same oper-

ation as Fig.5 but with satellite attitude maintenance by reaction
wheels specified in Table 2, is shown in Fig.7: (a) shows the com-
puted torque of the wheels required for the attitude maintenance,
and (b) the course of postural change under the control. Because
the satellite position is not controlled, it has small translation.

We can soon find that remarkably large torques are required at the

Table 2 Specification of the reaction wheels.

Reaction Wheels mass [Kg) moment of inertia [ Kgm 2 ]

mi li[I,I] li[2, 2] li[3,3]

roll 100.0 12.5 6.25 6.25
pitch 100.0 6.25 12.5 6.25
yaw 100.0 6.25 6.25 12.5



5 10
Time ( sec)

(a) requred torque for the reaction wheels o

(b) course of post ural change (in every 1.0 second)

Fig.7 Simultaneous manipulator hand and satellite attitude control
by using the Generalized Jacobian Matrix.

wheels to maintain the attitude. If we utilize conventional wheels

whose torque is as much as 1 [Nm], we have to operate the manip-
ulator arm much slower than one hundredth of the presented one
in acceleration a.nd one tenth in velocity. If you need quick opera-
tion, for example to chase and catch a moving target, the free-flying
control presented in the previous subsection is recommended.

Experimental Study

In order to demonstrate the validity and effectiveness of the pro-

posed control method in a practical system, experiments of target
capture operation have been carried out by a free-floating labora-
tory model of a space robot.

Design and Development of Laboratory Model

Simulating micro-gravity environment is a difficult problem in the

experiment of space robot systems on the ground. Generally speak-
ing, the following methods could be available.

1. Experiment in an airplane flying along a parabolic trajectory

or a free-falling capsule. In this case, we can observe pure
mechanical behavior of micro-gravity under the law of nature,
but it costs a lot and is inconvenient.
2. Experiment in a water pool with the support of neutral buoy-
ancy. This is especially good for training of astronauts' activ-
3. Experiment on an air-cushion or air-bearings. In this case,
however, the motion is restricted on a plane.
4. Calculate the motion which should be realize in micro-gravity
environment by using a mathematical model, then force a me-
chanical model to move according to the calculation. This
method is called as a 'hybrid' simulation combining mechani-
cal and mathematical models.

Each method has advantages and disadvantages, and we should

carefully select the method to satisfy the purpose of the experiment.

Here we adopted the third method, because we would like to observe

the behavior of mechanical link systems under the law of nature by
the simplest apparatus.

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

A photograph of the developed model is shown in Fig.S. A robot

satellite model that has a 2 degrees-of-freedom manipulator, is sup-
ported by 3 pads with 1.5-2.0 kgjcm2 of pressurized air. Each joint
is actively rotated by a DC motor but no actuator for attitude con-
trol of the satellite base body. A target satellite with no manipulator
arm is also floated by the air.

Hardware specifications and detail inertia parameters of the model

are listed in Table 3 and 4. The experimental model is evaluated to
simulate an acceleration environment as much as 10-3 of the earth
gravitational acceleration [Ume89b].

Control System

An on-line Resolved Motion Rate Control scheme with a VISIon

feedback is developed for target capture operation by means of the
Generalized Jacobian Matrix (GJM). A mathematical representa-
tion of the experimental model with definition of variables is shown
in Fig.9. The following values assumed to be measured at each
sampling interval At; Qo E R satellite attitude, tP = [4>11 4>2]T E R2
manipulator joint angles, Pr E R2 position of manipulator endpoint
and Pt E R2 position of the target.

Fig.8 Photogra.ph of the developed laboratory model.


Fig.9 Parameter description for the target capture operation.


Table 3. Hardware specification of the laboratory model.

Robot Satellite
Satellite main body
-dimension: 300 x 300 mm
-weight: 6.3 kg
-on-board equipment:
gas-bomb type air supply
rechargable batteries
wireless communication system
local servo-controller
-dimension: 700mm (350mm for each link)
-weight: 1.4 kg
-actuator: DC motor+planetary gear train
-sensors: potentio-meters
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 (G-3100:0KK Inc.)
-16bit personal computer (PC-9801-RA2:NEC)

Table 4. Detail dimensions and inertia parameters of the

laboratory model.

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

This is a 2 degrees-of-freedom plane motion system, so we consider

only endpoint position and velocity, not orientation of a gripper.
The desired endpoint velocity v d is determined with a position error
vector Pt - Pr by
v - Pt - P, (39)
d - 6t
Joint motion command ;Pc is obtained by the inversion of the GJM.
where the GJM for this model J* E R2X2 is defined in Appendix of
this paper.

If the computed command is beyond a hardware limit l;Pcl > ~ma:r'

then modify it by

A block diagram of the control is shown in Fig.IO. The control loop

is described as follows: the hand and joints of the manipulator, tail
point of the base satellite, and the target point are marked with
light emitting diodes (LED), then their motion is monitored by a
CCD camera hanging from the ceiling. Video signals of the LED
markers are transformed into the position data Pt) Pr and the satel-
lite attitude Q o by Video Tracker (VT), a commercially available
video analysis system, and put into a personal compu~er (PC) via
a GPIB communication line. The control command tPc computed
in the PC is transmitted to the robot through wire-less communi-
cation line. Manipulator joints are controlled with a local velocity
feedback to precisely execute the commanded velocity.

Conditions for the control is specified as:

maximum joint velocity rPma:r 15.0 [deg/sec]

control sampling interval At 100 [msec]

Personal computer Robot Satellite

.... Pt Pe
Pr ~ ................:
11 i GJM i
4-_-9.! !
_0 J *
11 t................ J

video signals

Fig.lO Control block diagram for the on-line RMRC with vision

Computation is executed by i80386+80387 processors using C lan-

guage. Position sensing by the VT requires 1/30 seconds and about
.25 milli-seconds
are needed for the calculation of the GJM and its

Note that the developed control scheme is based on the vision from
the ground-fixed camera, however, it is equivalent to measure the
position error between the hand and target p, - Pr by a satel-
lite mounted (on-board) camera. It means that the presented con-
trol scheme is applicable to fully on-boarded autonomous control of
space robots.

Capture of a Stationary Target

Fig.ll shows a typical result of capture operation of a standing

target. At initial state, The manipulator hand is located about

0.5 meter from the target, and commanded to go straightly to the

target according to Equations (39)-(41). The result shows that,
from the initial point to the target, the hand moved smoothly in
spite that the base satellite rotates as much as 40 degrees by the
satellite/manipulator interaction. The maximun hand velocity dur-
ing the operation was 0.07 [m/s]: the presented control method is
remarkably stable against relatively slow control cycle (1/ Llt=10

Capture of a Slowly Moving Target

As for a smooth chase and capture of a moving target, the end-

point velocity command (39) is modified with the information of
the target velocity Pt.

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].

Capture of a Fast Moving Target

To cope with faster moving target than hand velocity, the optimum
rendezvous trajectory and Guaranteed Workspace (GWS) concept
should be introduced [Yo90].

Suppose the target moves straightly at constant velocity, let to be

the time starting the chase and t J the time of rendezvous, then
define a cost function C as follows.


llt=O.8 sec
Fig.II Experiment result of the capture operation of the stationary

llt=O.6 sec

Fig.12 Experiment result of the capture operation of the moving

target at Pt =0.05 [m/s]'

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 theoretically solution to minimize the cost (43) is well known

[Kom90] as
.. () 4. 6 (44)
Prd t = if - i Y + {if - iF Y

Integrating it with time, an optimum rendezvous trajectory is ob-

tained. By means of it, the chaser catches the target with no po-
sition or velocity error at the given time if with minimizing its
acceleration during the operation.

However, this trajectory doesn't consider the constraint of chaser's

motion. Here in fact, the chaser is the manipulator hand which
has limited mobility, especially no mobility at the singular points.
For example, Fig.13 shows target capture operation by using the
ideal rendezvous trajectory (44). The manipulator encounters the
singularity on the way to the target and fails in the capture, be-
cause it works beyond the Guaranteed Workspace. The Guaranteed
Workspace (GWS) is the working area for space free-flying robots
in which no singularity is guaranteed. The definition for the two
degrees-of-freedom system is presented in Appendix of this paper.

It is difficult to solve the optimum rendezvous problem under the

constraint of manipulator mobility, so the authors propose a prac-
tical" on-line" method with modification of the ideal trajectory by
considering the GWS.

1. Set the rendezvous time t l , at which the target is in the GWS,

on the assumption that the motion of target is predictable and
the predicted target trajectory crosses the GWS.

2. Solve an optimum hand acceleration by Equation (44) with

the latest measured value of Pt and Pr' then integrate it with
time into the desired velocity Prd'

(a) In case the hand is in the GWS, Prd is the desired hand
(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

• . (P'd . p') (45)

P,d ~ P,d - lip, 112 Pr

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

In the above proposed control scheme, the optimum sense to min-

imize the cost (43) may be lost, however the mobility of hand is
always guaranteed. The scheme is the RMRC, but the RAC scheme
can be developed in the same way as above.

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 left-up 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 external-forces, nevertheless
the hand successfully catches the target, because it is "on-line"


guaranteed workspace

Fig.13 Target capture with no provision for the Guaranteed Workspace.

y P.~ (optimum)

Fig.14 Proposed modificatioon of the optimum rendenzvous tra-

jectory with provision for the Guaranteed Workspace.

At =0.6 sec

Fig.15 Experiment result of the capture operation of the moving

target at Pt ::;:0.1 [m/s].

Conclusion Remarks

This paper discussed the kinematics and dynamics of space free-

flying multibody systems and formulated the Generalized Jacobian
Matrix for space manipulators, with emphasizing that the GJM is
an extended and generalized expression of the conventional Jacobian
matrix for ground-based manipulators. As an important application
of the GJM, RMRC, RAC and satellite attitude control method
were developed. The significance of the methods were demonstrated
both by computer simulations assuming a realistic specification of
a space robot for the RAC and satellite attitude control, and by
hardware experiments with a free-floating laboratory model for the
on-line RMRC with vision feedback.

In order to emphasize the significance and advantage of the GJM

concept, the correspondence of control methods between ground-
based manipulators and space ones is listed in Table 5. In the
table, the JTC method developed by ref.[Mas89], and an application
to " Manipulability" concept [Ume88, Ume89c] which is useful for
designing robot arms and planning its motion, are also listed. In
all cases, familiar methods and concepts for ordinary ground-based
robots are directly applied to the space robots only by replacing the
conventional J with the GJM, J*. In addition, we can find a similar
correspondence between the inertia tensors Hand H*, furthermore
the "Generalized Inertia Tensors (GIT)" [Asa83], which play an
important role in the analysis of dynamics.

The authors have in this paper limited discussions within single ma-
nipulator systems, however the GJM concept can be easily extended
to a dual-arm 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.

Table 5 Correspondence of control methods and concepts.

Ground-Based Manipulators Space Manipulators

RMRC 4> = J-ly 4> = [J*tly

RAC ~=J-l(V - j4» ~ = [J*tl(v - j* 1»

JTC T = KpJ T ~x - Kf,l1> T = Kp[J*Y ~x - Kv1>

Manipulability W = Jdet(JJT) w* = Jdet(J*[J*]T)

GIT G = JH-1JT G* = [J*][H*tl[J*y

[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-
CR-3734"'J 3736, 1983.

[Asa83] H.Asada: )) A Geometrical Representation of Manipulator

Dynamics and Its Application to Arm Design", ASME J.
of Dynamic Systems, Measurement and Control, vol. 105,
pp.131-135, 1983.

[Kom90] T.Komatsu, M.Uenohara, S.Iikura, H.Miyra, I.Shi,oyama:

"Capture of Free-Flying Payloads with Flexible Space Ma-
nipulators", Proc. NASA Conf. on Space Telerobotics, vo1.3
pp.35-44, 1990.

[Kon89] R.Koningstein, M.Ullman, R.H Cannon,Jr: "Com-

puted Torque Control of a Free-Flying Coorperating-Arm
Robot", Proc. of NASA Con/. on Space Telerobotics,
Pasadena, CA, U.S.A. vo1.5, pp.235-243, 1989.

[Long87] R.Longman, R.Lindberg, M.F.Zedd: "Satellite-Mounted

Robot Manipulators - New Kinematics and Reaction Mo-
ment Compensation", Int. J. of Robotics Research, vol. 6,
No.3, pp.87-103, 1987.

[Luh80] J.Luh, M.Walker, R.Paul: "Resolved Acceleration Con-

trol of Mechanical Manipulators", IEEE Trans. Automatic
Control, vo1.25, No.3, pp.468-474, 1980.
[Mas89] Y.Masutani, F.Miyazaki, S.Arimoto: "Modeling and Sen-
sory Feedback Control for Space Manipulators", Proc. of
NASA Conference on Space Telerobotics, Pasadena, CA,
U.S.A. vol.3, pp.287-296, 1989.

[Muk90] R.Mukherjee, Y.Nakamura: "Space Robot Dynamics and

Its Efficient Computation", Proc. of Int. Symp. on A.I.,
Robotics and Automation in Space (i-SAIRAS'90), Kobe,
Japan, pp.267-270, 1990.

[Nak89] Y.Nakamura, R.Mukherjee: "Nonholonomic Path Plan-

ning of Space Robots", Proc. of 1989 IEEE Int. Conf. on
Robotica and Automation, pp.1050-1055, 1989.

[Nen88] D.Nenchev, K.Yoshida, Y.Umetani: "Introduction of Re-

dundant Arms for Manipulation in Space", Proc. oj 1988
IEEE Int. Workshop on Intelligent Robots and Systems,
Tokyo, Japan, pp.679-684, 1988.

[Ume87] Y.Umetani, K.Yoshida: "Continuous Path Control of

Space Manipulators Mounted on OMV", Acta Astronau-
tica, vol. 15, No.12, pp.981-986, 1987. (Presented at the
37th IAF Conf, Oct. 1986)

[Ume88] Y.Umetani, K.Yoshida: "How to Reduce the Fluctuation

of Space Vehicle during Manipulator Movement", Proc. of
16th Int. Symp. on Space Technology and Science, Sapporo,
Japan, pp.1223-1230, 1988.

[Ume89a] Y.Umetani, K.Yoshida: "Resolved Motion Rate Control

of Space Manipulators with Generalized Jacobian Matrix" ,
IEEE Trans. on Robotics and Automation, vol.5, No.3,
pp.303-314, 1989.

[Ume89b] Y.Umetani, K.Yoshida: "Experimental Study on Two

Dimensional Free-Flying Robot Satellite Model", Proc. of
NASA Con]. on Space Telerobotics, Pasadena, CA, U.S.A.
vol.5, pp.215-224, 1989.

[Ume89c] Y.Umetani, K.Yoshida: "Is Lobster More Dexterous

Than Crab? - A Morphology of Robot Satellite -", Proc. of
Space A.I., Robotics and Automation Symp.(SAIRAS'89),
Tokyo, Japan, pp.60-63, 1989.

[Whi69] D.Whiteny: "Resolved Motion Rate Control of Manipula-

tors and Human Prostheses", IEEE Trans. Man-Machine
Systems, vol.MMS-10, pp.47-53, 1969.
[Yam82] K.Yamada, K.Tsuchiya, S.Tadakawa: "Modeling and
Control of a Space Manipulator", Proc. of 13th Int. Symp.
on Space Technology and Science, pp.993-998, 1982.

[Yo90] K.Yoshida, Y.Umetani: "Control of Space Free-Flying

Robot", Proc. of 29th IEEE Conf. on Decision and Con-
trol, pp.97-102, 1990.

[Yo91] K.Yoshida, R.Kurazume, Y.Umetani: "Duar Arm Coordi-

nation in Space Free-Flying Robot", Proc. oj 1991 IEEE
Int. ConJ. on Robotics and Automation, pp.2516-2521,

[Va.fa87] Z.Va.fa, S.Dubowsky: "On the Dynamics of Manipula-

tors in Space Using the Virtual Manipulator Approach",
Proc. of 1987 IEEE Int. Conf, on Robotics and A utoma-
tion, pp.579-585,1987.


Kinematics of 2 DOF Space Manipulator

The kinematics at position-level for the 2 degrees-of-freedom space

manipulator is described as follows:

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
Ci - cos(L <Pi)
Si - sin(L <Pi)
(i 0,1,2, <Po = Qo)

In this system, the manipulator becomes singular at ifJ2 = 0, where

the arm is fully stretched. Substitute ifJ2 = 0 into (At), then

. A.ifJo
p, -- Ko [ cos
sm 'f'O
1+ (Kl + K2) [ cos
• ifJl 1

is obtained, where the distance from the origin (total mass center)
to the hand is

d= JK'6 + 2Ko(Kl + K 2) cos ifJl + (K1 + K2)2. (A3)

In case of no restriction on ifJb the distance is shortest at ifJl =+ 7l' ,

then Equation (A2) becomes

p, = (1<1 + K2 - Ko) [ c~~o


This is the equation of a circle whose center lies on (0,0) with

radius of K1 + K2 - Ko. In this circle, the manipulator hand is
"guaranteed" to move from an arbitrary initial point to any goal,
without encountering the singularity of ifJ2 = O. This area was firstly
defined in ref. [Vafa87] as "free workspace", but we propose to call it
"Guaranteed Workspace (GWS)" to emphasize its significance.

Differential Kinematics of 2 DOF Space Manip-


The differential kinematics at velocity-level for the 2 degrees-of-

freedom space manipulator is obtained by differenciating Equation
(AI) with respect to time. The Generalized Jacobian Matrix is
defined by considering the momentum conservation, as follows:
p, = J*4>


I, ho + hI + h2 + 2hcl + 2hc2 + 2hc3

Imi - hI + h2 + hc} + 2hc2 + hC3
1m2 h2 + hC2 + hC3
ho - 10 + Mob~
hI - II + Moa~ + M2b~ + Miaibi
h2 12 + M2a~
hCl (Moboal + MIbob 1 ) cos ¢I
hC2 (M1ala2 + M 2b1 a2) cos ¢2
hC3 M 1 boa2 COS(¢1 + ¢2)
Mo - mO(ml + m2)/W
MI - mOm2/W
M2 (mo + mI)m2/W

Let us consider an extreme case that the base satellite is so massive

that it can be regarded as mo ~ m}, m2 and 10 ~ II! 12. In this
case, apparently Imd I,) I m2 /I, approaches 0 and K 2, K3 approaches
1. Therefore, J* approaches the following simple matrix.

J* -+ [ -l1 8 1 - l2 8 2 -l2 8 2] (A7)

II Cl + l2 C2 l2 C2
This is a familiar expression as the conventional Jacobian for 2-link
ground-based manipulators.
Sensory Feedback Control
for Space Manipulators
Yasuhiro MASUTANI*, Fumio MIYAZAKI*,
and Suguru ARlMOTO··

• Department of Mechanical Engineering,

Faculty of Engineering Science, Osaka University
Toyonaka, Osaka, 560 JAPAN

.. Department of Mathematical Engineering and Information Physics,

Faculty of Engineering, University of Tokyo
Bunkyo-ku, Tokyo, 113 JAPAN

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 non-holonomic 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 degree-of-freedom 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




Figure 1 Space robot

is desirable to control the endtip of manipulator by actuating only the joints,

nevertheless the uncontrolled base is moved by the reaction from the manipula-
tor. This problem is significant because the manipulator is the most important
sub-system of space robot.
When the base is uncontrolled, the linear and angular momenta of the whole
system are conserved, because no external forces act on the system floating in
the non-gravitational environment. Owing to this constraint, the kinematic
degree-of-freedom of system reduces to the number of joints. However, the
conservation law of angular momentum is non-holonomic constraint. This fact
makes the position and orientation of the endtip dependent on the time history
of joint displacements. If one applied a conventional local feedback method to
each joint, one could not define the desired joint displacements corresponding
to a given position and orientation of endtip. Therefore the positioning control
of space manipulators needs global feedback loops using external sensors such
as visual devices.
For this problem, Vafa and Dubowsky developed the virtual manipulator
concept, that is an idealized kinematic chain [1]. This concept is useful in
positioning the endtip only when the attitude of base is independently con-
trolled. Alexander and Cannon showed that the end tip can be controlled by
computing inverse dynamics that includes the motion of base [2]. However,
their method requires much computational cost to determine the control in-
put. Umetani and Yoshida proposed the Generalized Jacobian Matrix (GJM)
that relates the endtip velocities to the joint velocities by taking the motion of
base into consideration [3). They also showed that a desired end tip velocity can
be resolved to joint velocities by using this matrix. However, they discussed
only the kinematic problem.
In this paper, we consider the dynamic model of space manipulator systems
as well as the kinematic one. Control systems for space robots are required to
be simple and robust because performances of computer devices designed for
space usage are relatively limited and this would make the burden too heavy
for the computer devices to identify the physical parameters of the system in
space. To meet this requirement, a sensory feedback control scheme based on
an artificial potential defined in the sensor coordinate frame is proposed [4] [5].
This scheme is a kind of'Ilanspose Jacobian Controller [6) based on GJM, that
is, the end tip deviations measured with external sensors are used in feedback
of the each joint in terms of input torque by multiplying the transpose of GJM.
In the case of ground-fixed manipulators, the stability of'Ilanspose Jacobian
Controllers has been discussed [7],[8]. However as for space manipulators, this
is not clear because the target object in sensor coordinate frame moves as
sensors on the base move. Therefore we have to examine the stability of a
tracking control problem.
On the other hand, it is desirable that the conventional Jacobian, that is,
the Fixed-base Jacobian Matrix (FJM) is applicable to this control scheme in-
stead ofGJM, because it decreases computational cost and involves no physical
parameters to be identified in space. We have already discussed the robust-
ness of approximate Jacobian controllers [9]. However, this result can not be
applied to space manipulators because of non-holonomic constraint. Instead in
this paper, we make a close investigation into the stability using a linearized
system. Moreover we will show an interesting phenomenon that happens when
FJM is employed.
In the following sections, first we summarize the kinematics and dynamics of
space manipulators. Next we propose a new control scheme. Finally we discuss
a practical scheme using the approximate Jacobian, namely, FJM, instead of

2 Modeling
In this section, we consider the kinematic and dynamic models of space manip-
ulators by using the conservation law of momentum.


l' eentroid of
the whole system
E/ inertial

Figure 2 Model of the space manipUlator

2.1 Kinematics
A space manipulator system in the satellite orbit can be approximately consid-
ered to be floating in the non-gravitational 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 i-th 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 ground-fixed 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 i-th body with reference to frames EI and EB respectively. The
relation between them can be written by

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 i-th
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;

Vi+ VB+flBX7'i, (2)

Wi + flB, (3)

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

JLi(q) iI, (4)

Wi JAi(q) iI, (5)

where hi and JAi E R 3xn are the Jacobian matrices of i-th body.

2.2 Linear and Angular Momenta of the System

Because we treat in this paper the case in which no gravitational force acts on
the system and no actuator generating external force is employed, the linear
and angular momenta of the whole system are conserved. We assume here that
the system is stationary in the initial state. Thus these momenta are always
The linear momentum P and angular momentum L of the whole system
are defined by;
P LmiVi, (6)

L {B lifli + miN; x Vi},

L ~ (7)

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

Hvo)[VB]+( HV 9)iI+[
Ho flB Hog
]. (8)

Each block is defined as follows;

deC '" m (9)
Hv U3 L- j

L j~B
mj[f'jx] E ~X3, (10)
HVq - mihi E R3xn , (11)
i=O, i~B
L + mjD(f'i)} + IB
Hn {B Ii E R3X3 , (12)
j=O, i~B

L + mi[f'jx]hj}
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;

[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)

( ~~ ~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;


Substituting equation (19) into (17) yields

N(cfJ) ~ = HA(q) q. (20)

Because this equation is non-integratable, in other words, a non-holonomic
constraint between cfJ and q, the attitude of base cfJ depends on the time history
of joint displacements q. Therefore the position and orientation of endtip
cannot be expressed as functions only of the joint displacements. Conversely
even though the position and orientation of endtip are given in the inertial
coordinate frame, it is impossible to solve the corresponding joint displacements
in the same way as industrial robot always do. This is the reason why the
external sensory feedback is required for space manipulators mounted on free
floating bases.

2.3 Generalized Jacobian Matrix

We can express the linear and angular velocities of endtip V E and n E as a
linear combination only of the joint velocities. For the endtip velocities, the
same relations as equations (2) '" (5) hold. Thus replacing their subscripts "i'
to 'E' and eliminating V E, nE, VE, and WE using equations (16) and (17)
yield the velocity relationships;

VE = JL(q) q, (21)
nE JA(q) q, (22)
JL h + HL - [rEx]HA (23)
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 Fixed-base 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.

The computational process mentioned above is a general algorithm to derive

the Generalized Jacobian from the conventional Jacobians. If the conventional
Jacobians of each body are given, the algorithm is also applicable to multi-arm
manipulator systems. Furthermore this algorithm is helpful to understand the
meaning of GJM.

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.


It can be rewritten into the following form

Hv Hvo
T = 2 B B q
( H vo T Ho (26)
Hv/ HOqT
where matrix Hq is given by
Hq~ E {JA?BldAi+mih?hd EK'xn, (27)
i=O, i¥B
that is the inertia matrix of the ground-fixed 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

T= !qT H(q) q, (28)


H~ d~f
H _ (H T
q Vq flOq
T) (Hv
0 flOq
)-1 ( Hvq ) (29)

Using the fact that the (n + 6) x (n + 6) original inertia matrix in equation

(26) is positive definite, it is easy to prove the reduced inertia matrix H to be
symmetric and positive definite. Moreover it should be noticed that each entry
of H is a function only of the joint variable q.

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.

3 Sensory Feedback Control

In this section, we propose a positioning control scheme for space manipulators
mounted on free floating bases.
The problem here is to position the end tip of manipulator at a target on
a stationary object floating independently in the inertial frame. An actual
mission may consists of two phases. The endtip is roughly positioned near the
target by the navigation of spacecraft in the early phase and then approaches
the target itself by the operation of manipulator in late phase. We assume
that the position and attitude of the base (spacecraft) are so arranged after
the early phase that the endtip of manipulator can reach the target.

3.1 Control Scheme

First we define deviations of position and orientation, ep and eo, which repre-
sent the difference between the target and the endtip of manipulator [11];

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 above-mentioned deviations in
the feedback of the each joint in term of input torque 'T, which is given by

'T = kp l[(q) ep + ko JI(q) eo - Kv q, (33)

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

target position
+ 'I'E
endtip position

orientation endtip orientaion

target orientaion

Figure 3 Block diagram of the control scheme

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 free-floating 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

Theorem In the closed loop system represented by equations (30) and (33),
the equilibrium state

rE =rD, nE =nD, SE =SD, aE =aD,and q =On (34)

is asymptotically stable, if the following conditions hold during manipulation,

rank ( .II iI ) ~ 6, (35)

nET nD + SET SD + aET aD > -1. (36)

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
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

q 1 (39)
fj-l(q) b(t/J,q,q)

G~ _N- 1 Hi/ HM E R3X3 , (40)

b ~f -if q+ :q {~qT H q} +7 ERn. (41)

For this proof, let us introduce another orientational deviation vector;


Now we propose a function of %

% = '12 kp ep T ep + 4'1 k 0
0 0 2 q TH~ q.
+ '1. (43)

as a candidate of Liapunov function. This function is zero in the set of desired


E ~f { % I rE = rD, nE =nD, SE = SD, aE = aD, q = On} (44)

and is certainly positive for all % except for the set E. The set E consists of not
only an isolated point but also a set of connected points.
The time derivative of function W along the solution trajectory of equation
(38) is
::; 0, (45)
that is, negative semi-definite in term of the state %. To evaluate this equation,
the following relations and the equations (21) and (22) are used;

·T !.{!'T fj q'} -_ !'T

q 8q 2 q 2q
Hq,. (46)

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;

~= 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

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;

{ ep
IlepII ::; epmaJ:
IIcpllepmax IIcpli > epmaJ: '

IIEol1 ::; V2e omaJ:

V2eo (55)
IIEolleomaJ: IIEoll > V2e omaJ:

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 sub-section.
In this case we can also prove the stability of equilibrium (44) using the
following Liapunov function,
W = U + -q H q (56)
because its time derivative is given by

ltV -.T8Up
- cp 8cp +
ET 8Uo
0 8E +q
·T it.. ~.T
q + 2q
Hq. (57)

and we can follow the same discussion in the proof of theorem.

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).

~ liuk [)

125 link G

link 4 U")

link 3 g
N :x2

link 2 0

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

Figure 4 6 DOF manipulator mounted on spacecraft



(a) Local feedback control at each joint

(b) Proposed sensory feedback control

Figure 5 Results of the simulations (every 3 seconds)


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-

75 (N),
100 (Nm),
diag [400,100,200,10,2,2] (Nmsec/rad),
0.2 (m),

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.

4.1 Disadvantage of Generalized Jacobian Matrix

We have shown a systematic algorithm to derive GJM from conventional Ja-
cobians. Table 1 shows an estimate of the numerical complexity in deriving
6 x n GJM corresponding to the linear and angular velocities of the endtip in
case of serial n-link manipulators. The computational cost for GJM is much
more than that of FJM and this is one of the shortcomings of using GJM.
Another one is originated from the fact that GJM contains the mass and
inertia tensor of each link and base as its parameters. Thus it is required to

Table 1 Numerical complexities in computing the Generalized and Fixed-base

Jacobians ( 6 X n matrices)

Generalized Fixed-base
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

identify these parameters whenever there is a certain change in pay-loads of

the endtip, cargoes, or fuel stored in the base.

4.2 Numerical Analysis of Stable Region

One way to overcome these shortcomings is to use FJM instead of GJM. How-
ever, this generates another problem to be ascertained, that is, the stability of
the system controlled based on the approximate Jacobian. We have already
given sufficient conditions for such a system to be asymptotically stable [9].
Unfortunately, this results is not directly applicable to the system with non-
holonomic dynamics such as space robots.
Even if this result can be extended for space robots, difficulties still remain
in representing the domain of attraction of target point explicitly. Therefore we
analyze the stable region of a linearized closed loop system in order to estimate
this domain of attraction more concretely. For simplicity, the control of endtip
orientation is omitted here.
When the joint vector is equal to qD' let the endtip be at the target. Ap-
plying FJM to the scheme and linearizing the original nonlinear equations (30)
and (33) around q = qD and q = On result in


We can investigate the stability of the desired point qD by checking the roots
of characteristic equation of the system (58).

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

Figure 6 2 DOF planar space manipulator model

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 .

4.3 Dynamic Behavior

Next we show the result of computer simulation for the non-linear dynamic
model given in Figure 6 in order to discuss the behavior of the system using

aU:l.sti rb t 1 0= .asli rb t 10- 2


:I'''''; '
'. Ih' Id
:',- ~~. "'"'! ~~; l~
" ~1u
"T,, ·r,.,. .
t;~· • .r··

r:" t 10= 5 IDa-tiS rbt 10" 10


" G:
I '~,I :~;. • un"l .. blf.l
, • Ii
,,", --, ~'I'


111""5 , ' utlo" 20

Figure 7 Stable region for each mass ratio



(a) Using the Generalized Jacobian


(b) Using the conventional (approximate) Jacobian

Figure 8 Behavior in the stable region (every 10 seconds)


initial !-itate


(a) Using the Generalized Jacobian


(b ) Using the conventional (approximate) Jacobian

Figure 9 Behavior in the unstable region (every 10 seconds)

the approximate Jacobian.
Figure 8 illustrates an example of the behavior in the stable region. We can
recognize that there is nothing particularly different between two cases of GJM
(true) and FJM (approximate). On the other hand, Figure 9 illustrates an
example of the behavior in the unstable region. From the result of approximate
Jacobian, we can find an interesting phenomenon - after once the endtip moves
away from the target, it approaches the target again. This can be explained
as follows; Because the endtip is in the unstable region in the beginning, the
endtip cannot approach the target; after the escape motion changes the base
attitude and the endtip goes out of the unstable region, the behavior turns
into convergence to the target. Since such a performance are not desirable, the
work space should be designed by considering the unstable region when the
approximate Jacobian is applied. However, we do not need to take special care
on this problem, because the unstable region is small in fact.

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 Fixed-base 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.

[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. 579-585, 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. 981-986,

[4) Y. Masutani, F. Miyazaki, and S. Arimoto, "Modeling and sensory feed-

back for space manipulators," in Proceedings of the NASA Conference
on Space Telerobotics, Jan. 31-Feb. 2, 1989, Pasadena, California, USA,
pp. 287-296, 1989.

[5] Y. Masutani, F. Miyazaki, and S. Arimoto, "Sensory feedback for space

manipulators," in Proceedings of the 1989 IEEE Conference on Robotics
and Automation, May 14-19, 1989, Scottsdale, Arizona, USA, pp. 1346-
1351, 1989.

[6] J. J. Craig, Robotics - Mechanics and Control. Addison-Wesley Publish-

ing Co., 1986.

[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. 119-125, 1981.
[8] F. Miyazaki and S. Arimoto , "Sensory feedback for robot manipulators,"
Journal of Robotic Systems, vol. 2, no. 1, pp. 53-71, 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. 201-208, MIT Press,

[10] H. Asada and J. Slotine, Robot Analysis and Control. Wiley-Interscience,


[11] J. Luh, M. Walker, and P. Paul, "Resolved acceleration control of me-

chanical manipulators," IEEE Transaction on Automatic Control, vol. 25,
no. 3, pp. 468-474, 1980.
Adaptive Control of Space
Robot System with an Attitude
Controlled Base

Yangsheng Xu, Heung-Yeung Shum,

Ju-Jang Lee, Takeo Kanade

The Robotics Institute

Carnegie Mellon University
Pittsburgh, Pennsylvania 15213


In this paper, we discuss adaptive control of a space

robot system with an attitude controlled base on which
the robot is attached. We at first derive the system kine-
matic and dynamic equations based on Lagrangian dy-
namics and linear momentum conservation law. Using
the dynamic model developed, we discuss the problem of
linear parameterization in terms of dynamic parameters,
and have found that in joint space the dynamics can be
linearized by a set of combined dynamic parameters, but
in inertia space linear parameterization is impossible in
general. Then we propose an adaptive control scheme
in joint space which has been shown effective and feasi-
ble for the cases where unknown or unmodeled dynam-
ics must be considered, such as in the tasks of trans-
port an unknown payload, or catching a moving object.

The scheme avoids the use of joint acceleration measure-

ment, inversion of inertial matrix, high gain feedback,
and considerable computation cost, and at meantime, is
also applicable for the fixed-base robot system by slight
modification. Since most tasks are specified in inertia
space, instead of joint space, we discuss the issues asso-
ciated to adaptive control in inertia space and identify
two potential problems, unavailability of joint trajec-
tory since mapping from inertia space trajectory is dy-
namic dependent and subject to uncertainty, and non-
linear parameterization in inertia space. We approach
the problem by making use of the proposed joint space
adaptive controller and updating joint trajectory by the
estimated dynamic parameters and given trajectory in
inertia space. In the case study of a planar system,
the linear parameterization problem is investigated, the
design procedure of the controller is illustrated, and the
validity and effectiveness of the proposed control scheme
is demonstrated.


Considerable research efforts have been directed to some primary

functions of robots in space applications, such as material trans-
port [Whittaker91], simple manipulation [Butler88], basic locomo-
tion [Ueno90], inspection and maintenance of the space station and
satellites [Becjzy88, Butler88]. The adaptive control is critical for
the robot system subject to dynamic uncertainty in these tasks.

For material transport and manipulation tasks, space robots

have to face uncertainty on the parameters describing the dynamic
properties of the grasped load, such as moments of inertia or ex-
act position of the mass center. In most cases, these parameters
are unknown and thus they can not be specified off-line, in inverse

dynamics for feedforward compensation or any model-based con-

trol scheme. In catching a moving object [Ullman89], the robot is
expected to be capable of adaptation to the dynamics change at
the moment of catching operation. On the other hand, most space
robots are designed to be light-weighted and thus low-powered, par-
tially due to the fact zero gravity environment. Therefore, joint fric-
tion and damping in space robots are much more significant than
those in industrial robots. These effects are neither negligible nor
easy to model. Adaptive control may provide a feasible solution
to those system dynamics uncertainties. Adaptive control is also
able to accommodate various unmodeled disturbances, such as base
disturbance, microgravity effect, sensor and actuator noise due to
extremes of temperature and glare, or impact effect during docking
or rendezvous process.

Most of existing adaptive .control algorithms have the following

shortcomings which cause their applications in space robots un-
realistic, the use of joint acceleration measurement, the need of
inversion of inertia matrix, high gain feedback and considerable
computational cost. The first two must be avoided even for fixed-
base industrial robots, because of lack of joint acceleration sensor
and the complexity of inversion of inertia matrix. Slotine and Li
[Slotine87) have tackled these problems successfully. A high gain
feedback is extremely harmful for a space robot which is usually
light-weighted and low-powered. Considerable computation also
needs to be avoided for allowable package of self-contained space

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

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.

In this paper, based on linear momentum conservation law and

Lagrangian dynamics, we at first formulate kinematics and dynam-
ics equations of the space robot system with an attitude controlled
base, in a systematic way. Based on the dynamic model developed,
we study the linear parameterization problem, i.e., dynamics can
be linearly expressed in terms of dynamic parameters, such as mass
and inertia. We have found that for the space robot system with an
attitude control base, the linear parameterization is valid in joint
space, while is not valid in inertia space which can be viewed as
Cartesian space for earth-based robots.

Using the dynamic model, we propose an adaptive control scheme

in joint space. The scheme does not need to measure accelerations
in joint space, and a high feedback gain is not required. The pro-
posed method is effective and feasible for space robot applications
when dynamic parameters are unknown or unmodeled dynamics ef-
fect must be considered. Since in most applications, the tasks are
specified in inertia space normally, instead of joint space, we dis-
cuss the issues in relation to implementation of adaptive control in
inertia space and identify two main problems. The first problem oc-
curs when the joint adaptive control is executed. The required joint
trajectory cannot be generated by the given trajectory in inertia
space due to the parameter uncertainty in the kinematic mapping
which is dynamics dependent. The second problem is nonlinear
parameterization in inertia space which make impossible to imple-
ment the same structured adaptive control as that in joint space.
We approach this problem by making use of joint space adaptive
controller and updating joint trajectory from identified kinematic
mapping and the given trajectory in inertia space. This method has
shown its effectiveness in simulation, and some issues associated to

Figure 1: Space robot system with an attitude controlled base.

parameter estimation and updating time are discussed.

Finally, we study a planar robot system to investigate linear pa-

rameterization problem of robot system dynamics, and illustrate the
validity and effectiveness of the proposed adaptive control schemes.

Kinematics of Space Robot System with An At-

titude Controlled Base

In this section we discuss the kinematics of the space robot system

when the orientation of the base is controlled and the translation
of the base is free. The relationship between the robot hand mo-
tion in inertia space and robot joint motion is derived using linear
momentum conservation law.

As shown in Figure 1, a space robot system with an attitude


controlled base can be modeled as a multibody chain composed of

n + 1 rigid bodies connected by n joints, which are numbered from
1 to n. Each body is numbered from 0 to n, and the base is denoted
by B in particular. The mass and inertia of ith body are denoted by
mi and It, respectively. A joint variable vector q = (qI, q2, ... ,qn)T
is used to represent those joint displacements. The orientation of
the base is represented by a vector qB = (qB1, qB2, qB3 f.
Two coordinate frames are defined, the inertia coordinate LIon
the orbit, and the base coordinate LB attached on the base body
with its origin at the centroid of the base. As shown in Figure 1, let
R; and ri be the position vectors pointing the centroid of ith body
with reference to Ll and LB respectively, then

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)

where VB and OB are linear and angular velocities of the centroid

of the base with respect to Ell and operator 'x' represents outer
product of R3 vector. The velocities Vi and Wi in base coordinates
can be represented by


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



rc = L miri/mc (7)

Jc = L miJLdmc (8)

The linear momentum can be determined by

P = [Hv,HvDl [~: 1+Hv,Q

= HVVB + HVOnB + Hvil (9)



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)

Because there is no external force applied to the system, the

linear momentum is conserved. However, the angular momentum is
not conserved for attitude control torques are applied. The linear
momentum is zero, assuming stationary initial condition.

p=o (14)
Therefore, we may represent the base linear velocities by base an-
gular velocities and robot joint velocities, i.e.,


Now we derive the relationship between the motion rate in in-

ertia space and that in joint space. For position control tasks, we
are interested in controlling three orientations of the base, and six
generalized displacements of the robot end-effector simultaneously.
Control actions are instead applied at ~ robot joints and three base
attitudes. We therefore define V and () as generalized velocities in
inertia space and joint space,


where V E is the velocity of the robot end-effector in inertia space.

Since the velocity of the end-effector in the base coordinates is de-
termined by
where J E is the manipulator Jacobian with respect to the base co-

V E = JEq -11m, [Hvo,Hv.] [ Or: ]- [rEx]OB

= [_J.-. Hvo - [rEx],JE - J.-. Hvq ] [ ~B ]

me me q

= [[(r, - rE)x],h - J,] [ Or: ] (20)

Therefore, the motion rate relationship between joint space and

inertia space can be obtained by introducing a special Jacobian
matrix N which differs from the Jacobian in fixed-base robot or the
generalized Jacobian in a completely free-flying space robot system.



J rr = [( r e - r E) x] (23)
JrE=JE-J c (24)
and 0 3 is a 3 x 3 zero matrix.

Dynamics of Space Robot System with An At-

titude Controlled Base

In this section we discuss dynamics of the space robot system with

an attitude controlled base. After formulating total kinetic energy
of the system we derive the dynamics equation of the system. Then
we investigate the property of linear parameterization of the sys-
tem dynamics which is critical for developing the adaptive control
algorithms in the following section.

The total system kinetic energy is represented by

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
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
fJ = [QB,q]T (26)

Ho = Ie + L: D(ri)mi (27)

Hoq = L:(LJAi + mi[ri]JLi) (28)

M(fJ) = [Mll M12] (29)

M21 M22
Mll = Ho - H~oHvo/mc (30)
M12 = HOq - H~oHvq/mc (31)
M21 = Mi2 (32)
M22 = Hq - H~qHvq/mc (33)

The property of linear parameterization to dynamic parame-

ters is one of prerequisite conditions under which most adaptive
and nonlinear dynamic control schemes are developed. It has been
shown that the problem of parameterization linearity in dynamics
can be reduced to the problem of parameterization linearity in iner-
tia matrix. Therefore, in order to study whether linear parameteri-
zation is valid for the space robot system with an attitude controlled
base, we need to show whether the inertia matrix M can be linearly
represented by a set of properly chosen combinations of dynamic

Based on the previous derivation, each member of matrix M can

be further expanded in the following forms.

M11 = Ie + tD(ri)mi - ..!..

·1 me
[:~~ ::: :~:] (34)
1= 831 832 833
where 8ij = 8ji and is determined by

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

r2z +r2z (41)

n n n
Mn = Ie + ED(ri)mi - EERtjmimj/me (42)
i=1 i=1 ;=1

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.

From the kinetic energy formulation, we can derive dynamics

equation by Lagrangian dynamics.

MO + B(O,O)O = T (45)

The corresponding dynamic equation in inertia space is

Hi+ C(x,x)x = F (47)
H = N-™N-1 (48)
C = N- T BN-1 - HNN-1 (49)
N is a generalized Jacobian matrix and is dynamics depenedent for
the space robot system. The inertia space dynamic equation can
be linearly expressed in terms of dynamic parameters if and only if
the inertia matrix H can be linearly parameterized since


We suppose N-1 exists, and

N-1 = N* (51)
where N* and det(N) are the adjoint and determinant of the matrix
N, then

In the above equation, the generalized Jacobian matrix [det(N)]2

appears as the denominator. From derivation procedure of the N
in the last section, it is clear that the N is time-varying and highly
coupled by dynamic parameters, i.e., mass/inertia. For such a com-
plicated nonlinear, time-varying function combining with dynamic
parameters and time-varying joint angles, it is impossible that ev-
ery element of N*TMN* has the common factor [det(N)]2 at every

Even if the above statement is true, there is still possibility to

linearly parameterize H, provided that the numerator can be lin-
early parameterized and the denominator can be expressed as a
product of two scalar functions with only one containing dynamic
parameters, i.e.,

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


Even for such a simple form, det(N) cannot be decomposed as a

product of two functions with one containing ml and m2 only, and
nor can [det(N)]2.

This may raise a question why for a fixed-base robot the sim-
ilar structured adaptive control can be implemented in Cartesian
space. This is because that the Jacobian in the fixed-base 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
fixed-base robot can be linearly parameterized for dynamic param-
eters in Cartesian space, while for a space robot it is impossible in
inertia space.

Generally speaking, for a space robot with attitude controlled

base, dynamics can be linearly parameterized in terms of dynamic
parameters in joint space, but it cannot in inertia space.

Adaptive Control Scheme

In this section, based on the dynamic model developed and the

property of parameterization linearity in Section 3, we discuss the
adaptive control strategy for space robot system with an attitude
controlled base.

At early state, adaptive control approaches for conventional

fixed-base robot manipulators are based on unrealistic assumptions
or approximations on local linearization, time-invariant and decou-
pled dynamics [Dubowsky79, Horowitz80]. These assumptions or

approximations are relaxed after some results developed in the con-

text of parameter estimation [Khosla85]. Based on the possibility
of selecting a proper set of equivalent parameters such that the
manipulator dynamics depends linearly on these parameters, re-
search on adaptive robot control can now take full consideration
of the nonlinear, time-varying and coupled robot dynamics. As
stated in [Khatib89], all three kinds of adaptive controllers in use,
direct [Craig87, Slotine87], indirect [Middleton86], composite adap-
tive controllers [Slotine91], rely on the possibility of linear parame-
terization of manipulator dynamics.

From previous discussion, we have learned that the dynamics

of the space robot system in joint space is linear in terms of a set
of combinations of dynamic parameters. Therefore, this set of new
combined parameters can be used in the design of our adaptive
controller. This leads us to propose an adaptive control algorithm
in joint space. Since a unique solution may be found from inverse
kinematics of the robot system with the attitude controlled base,
adaptive control algorithm in joint space is feasible. However, this
is not true for a complete free-flying space robot system.

Let's recall the dynamic equation in joint space

MO + B(O, iJ)iJ = T (55)

We define a composite error 8

8 = ep + (ep (56)
ep = Od - (J (57)
ep = iJd - iJ (58)
and we also define modified joint velocity

I •

0=0+8 (59)

and modified joint acceleration,

() " = d
- ()' +s (60)

()" = 0+ S + s = (0d - ep ) + (ep + (ep ) + (ep + (ep )

=Od+((+l)ep+(ep=Od+s+(ep (61)

If we apply the following control law in joint space,

+ B()
.... II

T = M() (62)

M() + B((), ())() = M() + B()

- •• A II .....,
- •• A" A,
= -B((), ())()
M() + M() + B() (64)
Defining M = 1\1 - M, B = B - B, we have

Me p = MOd - MO
[-B() + M() + B()]
" • A II A,

= M[() - s - (ep ] -

[-B(() - s) + M() + B()] I

= M[() - s - (ep ]
" , . . . . " A

= -M()" - B()' - (M + B)s - M(ep

= - Y((), 0, ()d, Od, Od)ii - (M + B)s - M(ep
Yi = M()" + B()' (65)
_ A

a=a-a (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.

We now design our adaptive control algorithm using Lyapunov

function candidate

where the matrix r is diagonal and positive definite. This yields

v = 1/2s™s + sTMs + iTri

= 1/2s™s + sTM(ep + (e p ) + iTri
= -sTYa - sT(M + B)s + 1/2s™s + aTr~
= -sTMs + 1/2sT (M - 2B)s + aT(r~ - yTs)

If we use adaptation law

a= r-1yT s (68)


due to the fact that the matrix M - 2B is skew-symmetric, 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

because s(t) converge to zero as the L2 function must converge to

zero as t -+ 00. The parameter estimation error i(t) will converge
to zero only if persistent excited input is utilized.

The output error

converges to zero, which in turn implies that e p -+ 0 as t -+ 00 since
, is positive. We can now readily conclude our adaptive control
algorithm in Theorem 1.

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.

The composite error s is of PD type structure which is the same

as the composite error defined by Slotine and Li [Slotine87]. In
general the PD structure control adds damping to the system but
the steady-state response is not affected. The PI structure adds
damping and improve the steady-state error at the same time, but
rising time and settling time are penalized. To improve the system
steady-state error, in the proposed adaptive control algorithm, the
PID type s can also be used. Since when the PID type s is used, the
order and type of the system is increased by one, the steady-state
error is decreased, and thus the system is more robust to parameters
uncertainties which usually cause a significant steady-state error.
Moreover, the PID type s allows two parameters, instead of one, to
be adjustable in order to achieve a desired system performance. In
what follows, we discuss the stability of the control scheme when
the PID type s is employed.


and the gains (I and (2 can be selected such that the eigenvalues of
the tracking error equation


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"
Yi = MO" + BO' (73)
i=a-a (74)
When the same type of Lyapunov function is used


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
.:. r-IyTs
a= (76)
is used, then
for all s due to the fact that the matrix 1\1 - 2B is skew-symmetric,
and (b (2 > 0, and M is positive definite.

s-.p+tsp e,e

Figure 2: Block diagram of adaptive controller in joint space.

A block diagram of the proposed control algorithm with PD type

s is shown in Figure 2. Our adaptive controller is conceptually sim-
ple and easy to implement. This approach does not require the use
of joint accelerations and inversion of inertia matrix. Its computa-
tional cost is low because it can be implemented through the use of
Newton-Euler recursive formulation. It can be seen from Equation
(62) which has the same structure as computed torque method, that
the control law can be computed efficiently using a Newton-Euler
formulation once a have been specified. A high gain feedback is not
a must for the system stability. This adaptive approach can also be
applied to industrial robot control by a slight modification.

Adaptive Control in Inertia Space

In this section, we extend our joint space adaptive control ap-

proaches to the problems where control variables are specified in
inertia space.

Conceptually, for most applications, the desired robot hand tra-

jectory (i.e., position, velocity and acceleration) must be specified
in inertia space. For example, let's consider catching a moving ob-
ject by a space robot. The desired trajectory after catching depends

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 fixed-base 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 free-flying 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.

However, the unique kinematics relationship can only be deter-

mined when dynamic parameters are given, for this relationship is
indeed dynamic dependent. When some dynamic parameters are
unknown, which is indeed the reason why we come to adaptive con-
trol, the mapping cannot be determined! Therefore, the primary
difficulty of extending our approach from joint space to inertia space
is that the desired trajectory in inertia space cannot be transformed
to the desired trajectory in joint space because some dynamic pa-
rameters are unknown. In previous discussion, we have. utilized a
desired trajectory in joint space, as other researchers have done
[Walker91], without giving any explanation about how the trajec-
tory is generated. The problem is not significant if the objective is
to identify dynamic parameters, but is important if the objective is
to control the system.

The problem can be resolved if the same structured adaptive

control scheme can be implemented in inertia space. This, however,
is not feasible because the proposed adaptive control scheme in joint
space requires that the dynamic model must be linearly parame-
terized. Therefore, the same type of the control scheme cannot be
developed in inertia space. As has been known, the dynamic related
generalized Jacobian of space robot makes it impossible to suitably
choose a set of dynamic parameters such that the inertia space sys-

x•• x.. x.

Figure 3: Block diagram of adaptive control scheme in inertia space.

tern dynamics can be linearized. That is why the same structured

adaptive controller in joint space is not feasible for adaptive control
in inertia space.

We approach the problem in the following way. First, given

trajectory in inertia space, we use an initial estimation of dynamic
parameters to compute initial joint trajectory. Then the initial joint
trajectory and dynamic parameters are used in the proposed joint
space adaptive control algorithms. After a certain period of time we
update the system dynamic parameters by using new estimated ones
in the outer loop of our controller. We can then specify more precise
joint space trajectory based on these new parameters and the iner-
tia space trajectory. Since the inertia space trajectory is uniquely
determined by the joint space trajectory and dynamic parameters,
it can be shown from the Jacobian relationship that position errors
in inertia space converges to a given boundary if position errors in
joint space and parameter errors are bounded, provided that the
robot is not in its singularity configuration. The cQntrol scheme is
illustrated in Figure 3.

It is worthwhile to discuss two issues in the implementation of

the proposed control scheme. First, to accurately estimate unknown
parameters, a persistent excitation (PE) trajectory is required to
drive the robot joints. PE trajectories in joint space and in inertia
space are not equivalent because the spectrum of trajectory signal
in inertia space is different from the spectrum of the same signal in
joint space due to nonlinear kinematic transformation. Therefore,
it is of importance to carefully choose initial trajectory in inertia
space such that the same trajectory in joint space is PE. If the
PE condition is not satisfied, parameter identification error occurs,
although the joint space position errors may still converge.

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.

In fact, if the updating time for inverse kinematics is long enough,

we can also view the control scheme as a two-phase approach, pa-
rameter identification phase and control phase. That is, to estimate
dynamic parameters in joint space using the joint space trajectory
transformed by the given inertia space trajectory and initial guess
of parameters, then to control the system in inertia space, once the
dynamic parameters has been correctly identified. If the dynamic
parameters are estimated ideally, the control phase may also be
executed using dynamic control algorithm.

Simulation Study

In previous discussion, we studied kinematics and dynamics, and

presented an a.daptive algorithm in joint space for a general multiple-
degrees-of-freedom space robot system with an attitude controlled
base. In this section, we conduct a case study to show the computa-
tion of the proposed algorithms and their feasibility in robot motion
control. Though the following discussion is confined to adaptation
to mass variation only, our algorithm is also applicable to other pa-
rameter a.daptation, provided that a set of combinations of those
parameters can be chosed such that the dynamics can be linearly
expressed in terms of the parameters interested.

A two-DOF revolute manipulator with link length given by 11

and 12 (11 =12=1) is considered as a lumped-parameter model with
point mass ml and m2 at the end of each link. For simplicity,
we assume that the base attitude can be successfully controlled so
that we need only consider the control of the robot itself. However,
it must be pointed out that our adaptive control algorithm can
be a.pplied to control the robot motion and the base orienta.tion
simultaneously, albeit more complicated. The system model for
simulation study is shown in Figure 4.

At initialization, me and Rc are computed, and they remain

unchanged unless a load is a.dded.

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,

Figure 4: A planar space robot system model.


The generalized Jacobian is



__1_ [ -(ml + m2)Sl - m2s12 (87)

- me (ml + m2)Cl + m2 c12

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)

M = Mq - M2 (89)

M = [2 [ m1 + 2m2(1 + C2) m2(1 + C2)

q m2(1 + C2) m2
1 (90)

M2 = meJ~Je (91)
_ [2 [m~ + 2m2(m1 + m2)(1 + C2) m~(l + C2) + m 1 m2C2 ]
- me m~(l + C2) + mlm2C2 m~

M _ ~ [ mOml + mlm2 + 2mom2(1 + C2) mlm2 + mom2(1 + C2) 1

- me m1m2 + mom2(1 + C2) m1m2 + m2mO
P1=-- (95)
P2=-- (96)
P3=-- (97)

R1 = [f 0 oo ] R2 = [I'
[2 12
f] R3 =
[2(1++ c,jr
(1 C2) [2
(1 + c,)I' ]

It is noted that M is linear in terms of combined dynamic pa-

rameters Pl,P2 and P3. This is an example to show that dynamics
of the space robot system with an attitude controlled base can be

linearly parameterized in joint space. We also note that rno, rnI and
rn2 can be uniquely determined by 1'1,1'2 and]J3,
rnI = PIP2( - + - + -) (99)
PI 1'2 1'3
m2 =1'21'3(- + - + -)
PI 1'2 1'3

rno = PIP3( - + - + -) (101)
PI 1'2 1'3

The matrix B is determined by

B = rnOrn2 [-1~12S~ti2 -PS2ti2]_ P3~ (102)

me S2QI 0 -

Our adaptive control law is

T=Mq +Bq =YA
'" " A

Y = [ RI q" R 2 q" R3q" + ~q' ] (105)

a= [~] (106)


To study the proposed adaptive algorithms, we use the following

common set of conditions:

qld = 1;0(54 + 6(sin(t) + cos(4t))) (lOS)

q2d = 1;0 (-126 + 6(sin(2t) + cos(6t))) (109)

, = 10 (110)

In the first case we used the following mass parameters, rno =

41kg, rnl = 5kg, rn2 = 4kg, and the initial guess of all three param-
eters is set to 50% of their true values. It can be found from Figure
5 that joint errors converge to zero and all parameters converge to
their true values 4.1, 0.4, and 3.2S (with small relative errors 1.2%,
2.1 %, 2.5%, respectively) after a transient period (approximately
10 seconds). The results showed the validity and efficiency of the
adaptive algorithm proposed.

We then compare the performance of adaptive controller and

dynamic controller without adaptation when there is uncertainty in
dynamic parameters. In order to make the dynamic control more
favorable, we use SO% of true values as initial estimates of those
dynamic parameters. The dynamic control algorithm is based on
PD type structure in joint space without consideration of parame-
ter uncertainty. Figure 6 gives plots of the variations of two joint
position errors by using adaptive control and dynamic control. The
adaptive control performance is distinctly superior to the dynamic
control response.

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.

Figure 8 shows identification of combined parameters PI, P2,

and ]J3, and the resultant mass mI, m2, and mo, in the above case.
From Figure 8 we found that estimation of all parameters mI, m2,
and mo are very close to their true values. This demonstrated that
identification of combined dynamic parameters is equivalent to the
identification of dynamic parameters mI, m2, and mo, as we have
discussed previously. It is interesting to note that in Figure 8 the
estimation of nonlinear dynamic parameters PI, and P3 converged
to ml and m2 due to the fact that the base mass is almost infinite.

In order to compare two different adaptive control algorithms,

PD type and PID type, various cases have been tested. For a persis-
tent excitation (PE) trajectory, both algorithms presented almost
identical performance. For a non- PE trajectory, such as


the steady state performance is improved significantly using PID
type adaptive controller, as shown in Figure 9.

For inertia space adaptive controller, an initial guess of the up-

dating parameters is set to 80% of the true value. The inertia space
trajectory and joint space trajectory employed in the simulation
are shown in Figure 10. We used 10 seconds as updating time for
inverse kinematics. The effectiveness of this adaptive scheme has
been verified by the tracking errors shown in Figure 11. It is found
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.



.: ~i~ \"i:~'/"'", JJi----1---~----4_--~--~

• :' i
f'\M!1'" 'rv '~
f,' _ ..
:~.A fo',
,.,.1 :\""
·V',· '~
A.: " •
f'.,,' :\
~ '~',-. V, '

~ i---r----~--~--·--~--~----~--~----~

~5 l!i_i__~__--!--_+--'_+----4_--_~-_I---.

Figure 5 Tracking errors and parameter estimations using joint

space adaptive control

. ,

II /\
; i1
f\, ~
,1\ i n
"" ilI:
" \, :I
I i; 1!, I, i i ,;
I f; I
Ii' ! 1\
! \
!i i
, !

Figure 6 Comparison between adaptive control

and dynamic control



.JIll f.'-~- ,


Figure 7 Example of adaptive control for fixed-based robot


I .jr====·.!-r-····-·_-l···--I-...·-· _-·· ·
. rt'IiA" f\J1I~""""'I wl. . .1·..-. I
• 4 • 10 12 1. " ,. •

• I I
\J\ AI I
rvr I-I

~ w

l--- --'--- lUI.
I I' I I

to ~t-+
I I -t-
~.~ :. . ,.!.. ~~...
I I I 1

i. . . . -+. ._. . LII..........

I" " 4f ......- ••• ~- ••••• _ ••L..........~...........

'-:. ',- I'~.' ~.

i! ! !
! 1 !
• I 4 • • ~ U « II II •

Figure 8 lliustration of combined dynamic parameter



.I \,'o11I~-
1 I

1h .....
'\lui 0-


.- I
1 - _--+-,-1----

~H I ~llI
:--l-+-t I I i
-- --

.... o
I i i! !!
I .

• '0 .2 '4 '1


Figure 9 Comparison between PD type and PID type adaptive

control schemes
",I ,..
. rv "
/\ /\ /\
Vt-J' i/V vv -vv v vv


.. j
....• IV'
.... • {\/\l'J\ ~f" ~
oJ ...."-'....../ • v'v:'" .......Vv ""'\1'" rV\j \·~v .J\.".;" ,j" \.'\.: ·v\f"'\.
I 10 11 10
• 10 10 40


.. 1;-'-\I--'t\'/-"-1f'f-iL\ f-"-U---"'lt-t4-l'--'''I-t--'-1r1-J Ht--=--\tt-''tr



10 10 10 10 40

Figure 10 Trajectories in joint space and in inertia space

using inertia space adaptive controller

• v

.... i v



A !
I~:~ "'r.t...
"AA A 11.11 " ,A "fl.11 ,l'I...A II. rlA II. fl.ll . fl.1III. f.L
• i \:
Vv v "V V" V v.,
I -
+!' -I !
" II ,25 15

Figure 11 Tracking errors in joint space and in inertia space

using inertia space adaptive controller


In this paper, we have discussed adaptive control of a space robot

system with an attitude controlled base on which the robot is at-
tached. Adaptive control is critical for various robotic applica-
tions in space, such as material transport and light manipulation,
in which robots have to face uncertainty on the dynamic parame-
ters of the load or the structure. Based on Lagrangian dynamics
and linear momentum conservation law, we derived system dynamic
equations. Then we showed that the system dynamics in joint space
can be linearly parameterized, i.e., the dynamics can be linearized
in joint space by a set of combined dynamic parameters, while the
same conclusion is not true in inertia space.

An adaptive control scheme in joint space is proposed to cope

with dynamic uncertainties based on the dynamic model developed.
The scheme is effective and feasible for space robot applications by
eliminating the use of joint acceleration measurement, inversion of
inertial matrix, high gain feedback, and considerable computation
cost. At meantime, the scheme is also applicable for the fixed-base
robot system by slight modification.

Considering that the tasks in space are specified in inertia space

in most applications, we discussed the issues of adaptive control of
the robot for the tasks that must be filfull in inertia space. Two
main problems have been identified. If the joint adaptive control
is implemented, the desired joint trajectory cannot be generated
from the given inertia space trajectory since kinematic mapping is
dynamics dependent, and thus is subjected to uncertainty in param-
eters. Moreover, the same structured adaptive control as in joint
space is not feasible for inertia space due to nonlinear parameter-
ization in inertia space. We approached this problem by making
use of the proposed joint space adaptive controller while updating
joint trajectory by using the estimated dynamic parameters and the
given trajectory in inertia space. This method has shown its effec-
tiveness in simulation. Parameter estimation and updating time are

Finally, a planar system is studied numerically to investigate

the linear parameterization problem and illustrate the procedure
to design the controller. The results demonstrated validity and
effectiveness of the proposed adaptive control schemes in both joint
and inertia space descriptions.

[Becjzy88] Bejczy, A. K., and Hannaford, B., "Man-machine Inter-
action in Space Telerobotics", "Proceedings of the Interna-
tional Symposium of Teleoperation and control 1988, pp.
135-49, 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. 16-28, 1987.

[Dubowsky79] Dubowsky, S., and DesForges, W., "The Application

of Model-Referenced Adaptive Control to Robotic Manip-
ulators", ASME Journal of Dynamic Systems, Measure-
ment, and Control, 1979.

[Horowitz80] Horowitz, R., and Tomizuka, M., " An Adaptive Con-

trol Scheme for Mechanical Manipulators", ASME Paper
No. 80- WA/DSC-6, 1980.

(Junkins90] Junkins, J. L., "Mechanics and Control of Large Flexi-

ble Structures", American Institute of Aeronautics and As-
tronautics, 1990.
[Khatib89] Khatib, 0., Craig, J. J., and Lozano-Perez, T., "The
Robotics Review" , MIT Press, 1989.
[Khosla85] Khosla, P., and Kanade, T., "Parameter Identification
of Robot Dynamics", Proceedings of IEEE International
Conference on Decision and Control, 1985.
[Longman87] Longman, R. W., Lindberg, R. E. and Zadd, M. F.,
"Satellite-mounted Robot Manipulators: New Kinematics
and Reaction Moment Compensation", International J our-
nal of Robotics Research, Vol. 6(3), 1987.
[Middleton86] Middleton, R. H., and Goodwin, G. C., "Adaptive
Computed Torque Control for Rigid Link Manipulators",
Proceedings of IEEE International Conference on Decision
and Control, 1986.
[Slotine87] Slotine, J. J., and Li, W., "On the Adaptive Control of
Robot Manipulators", "International Journal of Robotics
Research, Vol. 6(3), pp. 49-59, 1987.
[Slotine91] Slotine, J. J., and Li, W., "Applied Nonlinear Control",
New Jersey: Printice Hall, 1991.
[Spong89] Spong, M. W., and Vidyasagar, M., "Robot Dynamics
and Control", John Wiley & Sons, 1989.
[Ueno90] Ueno, H., Xu, Y., and et al., "On Control and Planning
of a Space Robot Walker", Proceedings of 1990 IEEE In-
ternational conference on System engineering, Pittsburgh,
PA, PP. 220-223, 1990.
[Ullman89] Ullman, M., and Cannon, R., "Experiments in Global
Naviga.tion and Control of Free-Hying Space Robot", Pro-
ceedings of ASME Winter Conference, 1989.
[Walker91] Walker, M. W., and Wee, L.-B., "An Adaptive Control
Strategy for Space Based Robot Manipulators", Proceed-
ings of IEEE Conference on Robotics and Automation, pp.
1673-1680, 1991.

[Whittaker91] Whittake, W. L., and Kanade, T., "Space Robotics

in Japan", Loyola College, 1991.
Experiments in Autonomous Navigation and
Control of a Multi-Manipulator,
Free-Flying Space Robot
Marc A. Ullman and Robert H. Cannon, Jr.
Aerospace Robotics Laboratory
Stanford University
Dept. of Aeronautics and Austronautics
Stanford, California 94305

This paper reviews work performed at the Stanford University Aero-
space Robotics Laboratory (ARL) in developing and controlling a multi-
manipulator, free-flying 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 free-floating 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.

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 free-flying space robots equipped with sets of dextrous manipulators.
These robots will need to be able to navigate to remote job sites, rendezvous
with free-flying objects, perform servicing or assembly operations, and return
to their base of operations. NASA's Manned Maneuvering Unit (MMU) was

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 free-flying space robots.
Our objective was to demonstrate the ability to carry out complex tasks in-
cluding acquisition, manipulation, and assembly of free-floating objects based
on task-level commands. Our approach was to extend earlier ARL work in
cooperative manipulation involving the use of fixed-base manipulators[l] to ac-
commodate an actively mobile base thereby removing the workspace limitations
inherent in the fixed-base implementation.

Experimental Verification
In order to test our design methodologies and control strategies, we have
developed an experimental two-armed satellite robot that uses an air cushion
support system to achieve-in two dimensions-the drag-free, zero-g character-
istics of space. (See Figure 1.) The robot is a fully self-contained spacecraft
possessing an on board gas supply for flotation and propulsion, rechargeable
batteries for power, and on-board 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 on-board 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 free-flying, spinning object.

A number of researchers have worked on the problem of controlling the end-
point position of a manipulator mounted on an uncontrolled free-flying 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.

Figure 1: Stanford Multi-Manipulator Free-Flying Space Robot

This is a fully self-contained 2-D model of a free-flying space robot
complete with on board gas, thrusters, electrical power, computers,
camera, and manipulators. It exhibits nearly frictionless motion as it
floats above a granite surface plate on a O.005in thick cushion of air.

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 free-flying 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 free-floating space robot with an uncontrolled base. This
paper examines the problem of controlling the entire space robot system so as

to be able rendezvous and dock with moving objects.

Catching a Moving Object

In order to gain some additional insight into how to catch a moving object,
we begin by looking at how humans address this task. When formulating a
strategy for catching a moving object, one instinctively takes into consideration
the object's mass and velocity, as the following examples show:

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 ball-one
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.

Example 2 By way of contrast, consider a person climbing on board a slowly

moving train. In this case the person will have no noticeable
effect on the motion of the train. He must match the velocity of
the train by running along side it before grabbing on or he will
likely suffer bodily injury. His intercept trajectory is therefore
parallel to that of the object he is trying to catch.

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 free-floating target, a free-flying
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 trajectory-given
the limited actuator authority available, the ever present dynamic constraints
imposed by a free-floating robot, and any temporal constraints (e.g. the object
might float beyond reach if not caught soon enough)-presents a formidable

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.

tip positions Must always match with the object.

tip velocities Must match with the object if it has any
appreciable mass.
base position Must be such as to insure that the object
is within reach at intercept time.
base velocity Must match that of the object if its mass
is significant in comparison to the robot's.

Table 1: Intercept Trajectory Requirements

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 mass-objects, 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.

Rules for Determining a Trajectory

By choosing the intercept time t f we can describe the intercept requirements
in terms of a set of rules. Knowing the intercept time allows us to predict the
terminal object position and orientation (assuming that the object is not expe-
riencing any unknown external forces and/or torques). We can then determine
the peak acceleration requirements to see if they exceed our maximum actuator
capabilities. If this is the case, the intercept time can be modified as necessary
until an achievable path is obtained. These rules can be summarized as follows:

Rule 1 The required manipulator end point positions at intercept time are
defined by the target position and orientation.

Rule 2 The manipulators should be in the center of their work space-this

configuration allows the maximum range of motion for final correc-
tion of alignment errors.

The first two requirements constrain the desired base position at t f to lie on
a sphere (or circle in a 2-D 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.

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 non-linear 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 bang-off-bang 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 2-D 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 3-D 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 non-zero initial and/or final angular velocities.
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.
band-bang) path for a given maximum acceleration.

Bang-Off-Bang Trajectory

0.8 displacement
.§ acceleration


8 0.4

I :::::::::;:;:~-,,<::::-::::::: -:--:------:--.--------------~----------~-------


-0.2 L - _ - ' - _ - - L ._ _-'--_-'--_--L._ _-'--_-'--_--'-_ _- ' - - _ - '

o 0.5 1.5 2 2.5 3 3.5 4 4.5 5

time (sec)

Figure 2: Bang-off-bang Trajectory

This example of a. typical bang-off-bang tra.jectory time history for a
single degree of freedom shows that we can satisfy arbitrary initial and
final position and velocity conditions.

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.
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 three-level hierarchy composed of a
stateless remote graphical user interface, a high-level strategic controller, and
a low-level dynamic controller based on an operational space computed torque
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~

Clhost: 1.533 1.384 -4. 21 Z. Current State: Read~

RobotBase: -0.213 1.119 0.203
Object: 0.839 1.182 -2.256 ( Hove ) (caeture) (Re lease) ( Reset )

,' \



Figure 3: Typical view of the user interface

The graphical user interface provides "point and click" operation of the
robot and allows the operator to control and monitor all operations
remotely. Here a capture and move operation is underway.

The high-level strategic controller is based on a sophisticated finite state

machine. It accepts commands from the remote user interface and reconfigures
the low-level dynamic controller to carry out desired actions. A thorough dis-
cussion of the strategic controller is beyond the scope of this paper and can be
found in [11].
The low-level dynamic controller uses an inverse dynamics or computed

torque formulation as described in the following sections.

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 non-linear 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.

[ Qba.e_orient

Operational Space Computed Torque Controller

An operational space[13] computed torque controller facilitates specifying
our desired behavior in Cartesian coordinates rather than in terms of the joint
angles. This later approach is much preferred when using trajectories generated
by path planning algorithms as described above.
The extension of the computed torque controller into operational (or Carte-
sian) space is fairly straight forward. We begin by defining a state vector of
coordinates, x, that describe the robot configuration in terms of variables we
are directly interested in controlling. In our case, we have selected the base
position and orientation and the manipulator endpoint positions so that:

x= [ ::::::;;ent
8They are related by the partial velocities and partial angular velocities.

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 ~ Jy-l

so that

x = Jy-1u =.Ju
Differentiating this relationship leads to

from which we can solve for it

We can replace i: with a desired acceleration ade. composed of both feed-

forward and feedback terms resulting from our commanded trajectory and our
feedback control law respectively. With a proportional-derivative (PD) control
law the desired acceleration vector is:

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.

The actual implementation of the control algorithm described above involves

a recursive formulation and is described in depth in [14].
On-Off Actuators
Although proportional thrusters are now available for critical applications
we have assumed that the thrusters are of the on-off type capable of delivering
only one level of thrust. Furthermore, we do not assume that the thrusters
have been given linear characteristics though the use of an external pulse width
modulation (PWM) mechanism. This assumption is based on the belief that the
net impulse delivered during one sample period is of sufficiently fine granularity
that we naturally get an inherently PWM-like behavior from the system. 9 We
use a least squares table lookup to determine which thrusters to fire at each
time step based on the controller force/torque output.

Experimental Work
In order to verify the utility of the control methodology described above, we
have built a laboratory model of a two-armed space robot (see Figure 1) that ex-
periences in two-dimensions the drag-free, zero-g characteristics of space. These
characteristics are achieved using air cushion technology. The robot "floats" on
a 9'z12' granite surface plate with a drag-to-weight ratio of about 10- 4 and
gravity induced accelerations below lO- Sg-a very good approximation to the
actual conditions of space. In addition, this fully self-contained spacecraft pos-

• an on board gas subsystem used both for flotation and for propulsion via

• a complete electrical power system with plug-in rechargeable batteries

packslO and power conditioning, distribution, and monitoring circuitry,

• a full complement of sensors and signal conditioning electronics,

• a high speed multi-processor computer system,

• a complete set of digital and analog data acquisition and control interfaces,

• a fiber-optic-based data/communications link to a network of off-board

computers, and

• a camera and vision system for real-time tracking of the manipulator

endpoints and target motions.

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

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 ninety-degree pairs sitting at the corners of a square
inscribing its outer circumference.
A pair of two-link planer arms aligned with a set of ninety-degree separated
rays are attached to the base. These manipulator arms are driven by a coaxial
set of limited angle DC torque motors-the 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 z-axis. Objects can be
grasped by lowering the gripper plungers into cup-like grasp fixtures mounted
on the objects.
The on-board computer system runs the VxWorks real-time 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 camera-based vision system allows us to track the position of the
robot and an array of targets in real-time 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 battery-powered 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 "peg-in-the-hole" -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.

Figure 4: Robot grasping floating object

The robot can grasp the free-floating payload by inserting its plunger-
type grippers into a pair of grasp fixtures.

Summary and Conclusions

This paper has described our work in developing a laboratory-based model
of a multi-manipulator, free-flying space robot and the control strategies for
enabling it to capture and manipulate free-floating targets. The problem of
catching a moving object that is initially out of reach has been examined. It
requires controlling the entire robot spacecraft as distinguished from the prob-
lem of controlling a set of manipulators on an uncontrolled free-floating base.
In order to effect a successful catch, a realizable intercept trajectory must be
found-one that takes into account the object's mass and inertia, as well as
its velocity. We have presented a set of rules for determining such a trajec-
tory along with a controller architecture capable of carrying out the necessary

We have also described the design, construction, and testing of our 2-D
model of a multi-manipulator, free-flying 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 free-flying space robots might someday possess.

Figure 5: Time history of object rendezvous and capture

This "time-lapse" plot of experimental data shows the motion of a spin-
ning object and the path the robot executed in order to intercept and
capture it. The frame rate is 0.5Hz and this figure shows about 30
seconds of elapsed time.

This work was funded under NASA Cooperative Contract NCC 2-333.

[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.

[2] Harold L. Alexander. Experiments in Control of Satellite Manipulators.

PhD thesis, Stanford University, Department of Electrical Engineering,
Stanford, CA 94305, December 1987.
[3] Ross Koningstein, Marc Ullman, and Robert H. Cannon, Jr. Computed
torque control of a free-flying cooperating-arm robot. In Proceedings of the
NASA Conference on Space Telerobotics! Pasadena, CA, February 1989.
[4] Yoji Umetani and Kazuya Yoshida. Experimental study on two dimen-
sional free-flying robot satellite model. In Proceedings of the NASA Con-
ference on Space Telerobotics. NASA Jet Propulsion Laboratory, 1989.
[5] Fumio Miyazaki Yasuhiro Masutani and Suguru Arimoto. Modeling and
sensory feedback control for space manipulators. In Proceedings of the
NASA Conference on Space Telerobotics. NASA Jet Propulsion Labora-
tory, 1989.
[6] Yoshihiko Nakamura and Ranjan Mukherjee. Redundancy of space ma-
nipulator on free-flying vehicle and its nonholonomic path planning. In
Proceedings of the NASA Conference on Space Telerobotics. NASA Jet
Propulsion Laboratory, 1989.
[7] E. Papadopoulos and S. Dubowsky. On the dynamic signularities in the
control of free-floating space manipulators. In Proceedings of the ASME
Winter Annual Meeting, pages 45-52, San Francisco, CA, December 1989.
[8] E. E. Vance S. Dubowsky and M. A. Torres. The control of space manipu-
lators subject to spacecraft attitude control saturation limits. In Proceed-
ings of the NASA Conference on Space Telerobotics. NASA Jet Propulsion
Laboratory, 1989.

[9] Z. Vafa and S. Dubowsky. On the dynamics of manipulators in space using

the virtual manipulator approach. In Proceedings of the IEEE Conference
on Robotics and Automation, pages 579-585, Raleigh, NC, April 1987.
IEEE, IEEE Computer Society.
[10] Warren Jasper. Experiments in Thrusterless Robot Locomotion Control for
Space Applications. PhD thesis, Stanford University, Stanford, CA 94305,
September 1990. Also published as SUDAAR 595.

[11] M. A. Ullman. Experiments in Autonomous Navigation and Control of

Multi-Manipulator Free-Flying Space Robots. PhD thesis, Stanford Uni-
versity, Stanford, CA 94305, (July) 1991.

[12] Thomas R. Kane and David A. Levinson. Dynamics: Theory and Appli-
cation. McGraw-Hill Series in Mechanical Engineering. McGraw-Hill, New
York, NY, 1985.

[13) Oussama Khatib. Dynamic control of manipulators in operational space.

In Proceedings of the Sixth CISM-IFToMM Congress on Theory of Ma-
chines and Mechanisms, pages 1128-1131, New Delhi, India, December

[14) Ross Koningstein. Experiments in Cooperative-Arm Object Manipulation

with a Two-Armed Free-Flying Robot. PhD thesis, Stanford University, De-
partment of Aeronautics and Astronautics, Stanford, CA 94305, October
1990. Also published as SUDAAR 597.
adaptive control 229, 243
angular momentum conservation 88
approximate Jacobian 220
attitude control 1, 31
autonomous navigation 269
bary centers 82
Basis algorithm 141, 145
Bi-directional approach 101, 112
Controllability 139
dynamic singularities 77, 87, 96
elbow manipulator 10
experimental study 187,269
feedback control 205
Generalized Jacobian matrix 165, 176
holonomic constraint 189
inertial coordinates 13, 41
internal motion 131
inverse kinetics problem 33
Jacobian matrix 79, 84
Kinetics 27
Minimum disturbance 62, 66
moving target capture 193, 272
multi-maIripulator control 269
nonholonomic motion planning 101, 131
nonholonomic nature 107, 131
path planning 45, 56
resolved rate control 179
satellite attitude control 9, 18, 185
stability 214
stationary target capture 192
Virtual manipulator 45, 51
workspace 27, 41, 44, 93