Efficient Dynamic Simulation of an Underwater Vehicle with a Robotic Manipulator

Efficient Dynamic Simulation of an Underwater Vehicle with a Robotic Manipulator
Calhoun: The NPS Institutional Archive
Faculty and Researcher Publications
Faculty and Researcher Publications
Efficient Dynamic Simulation of an
Underwater Vehicle with a Robotic Manipulator
McMillian, Scott
IEEE Transactions on Systems, Man, and Cybernetics, Volume 25, No. 8, August 1995
Efficient Dynamic Simulation of an Underwater
Vehicle with a Robotic Manipulator
Scott McMillan, Member, IEEE, David E. Orin, Fellow, IEEE,
and Robert B. McGhee, Life Fellow, IEEE
With real-time simulation rates, a number of other uses for
dynamic simulators are possible. The first is hardware-in-theloop simulation where control system hardware and software
is tested by interfacing it to a real-time simulation of the URV
[5]. Human-in-the-loop applications can also be implemented
when a real-time simulation is coupled with a realistic 3-D
graphical display of the system. One such application is to train
piIots and mission specialists much like aircraft simulators are
used to train aviators. Another application can be found in the
teleoperation of untethered URV’s. Because significant delays
occur in acoustic communication with such vehicles, human
control is significantly degraded. By providing the teleoperator
with a simulated display of the system, on-line with no delay,
enhanced performance of human-machine interaction can be
realized [6], [7].
The system targeted in our research is a new remotelyHE importance of underwater robotic vehicles (URV’ s)
vehicle (ROV), Tiburon, that is currently under
for marine research and subsea development continues
to grow because their manned counterparts are much more development at the Monterey Bay Aquarium Research Institute
expensive to develop and maintain [1]-[3]. This increase in (MBARI). This vehicle is designed for operation at depths of
use has brought about a concomitant need for accurate simu- up to 4000 meters [8]. A CAD drawing of it is shown in Fig. 1
lations of these systems+[4],and with the addition of robotic along with the Schilling Titan I1 manipulator [9] which will
manipulators to these vehicles, such simulations must become be mounted on the front.
In order to achieve real-time simulation rates, efficient
more sophisticated. As with land- and space-based robotics,
accurate dynamic simulation can be a very beneficial tool in dynamic and hydrodynamic algorithms for systems like this
development of URV’s. With proper use, significant amounts must be developed. A number of efficient algorithms have
of time and money can be saved during the design, test been developed to compute the dynamics of the more common
and evaluation phases of new vehicle systems or subsystems. land-based manipulators. The two most notable approaches to
Specifically,dynamic sim’ulation can reduce the need for costly this problem are the Composite Rigid Body (CRB) method
prototypes by eliminating many candidate designs early in [lo] and the Articulated-Body (AB) method [ll]. The latter
the development process. This saves not only on ’cost, but has an advantage because its computation grows linearly with
also on the time needed to construct successive prototype the number of degrees of freedom (DOF’s), whereas the
generations. In addition, simulators can aid in the design of CRB method has cubic complexity. As a result, an efficient
control algorithms for these systems. By using the simulated implementation of the AB method has been shown to require
URV to test such algorithms, the possibility of potentially less computation than that of the CRE3 method for manipulators
damaging instabilities due to algorithm errors is eliminated, with more than three DOF’s [12]. Because the Schilling arm
and risks encountered when the control system is finally has six DOF’s, the AB simulation algorithm is more efficient
than the CRB algorithm, and is the basis for the algorithm
implemented in hardware are reduced.
developed in our work.
Manuscript received January 21; 1994; revised October 7, 1994. This
The purpose of this paper is to present the development
work was supported in part by a DuPont Fellowship and an AT&T Ph.D.
of this efficient O ( N ) algorithm for dynamic and hydrodyScholarship, both at The Ohio State University, by grant BCS-9109989 from
the National Science Foundation to the Naval Postgraduate School, and by
namic simulation of a URV system with a manipulator. To
grant BCS-9311269 from the National Science Foundation to The Ohio State
accomplish this, the effects of a mobile base (the URV body)
S. McMillan and R. B. McGhee are with the Department of Computer must first be included. After this step, the resulting algorithm
Science, Naval Postgraduate School, Monterey, CA 93943 USA.
could be used in the simulation of space-based robotic systems.
D. E. Orin is with the Department of Electrical Engineering, The Ohio State
Then, the most efficient method for including hydrodynamic
University, Columbus, OH 43210 USA.
IEEE Log Number 941 1906.
effects must be determined. To this end, work by Yuh [13]
Abstract-In this paper, an efficient dynamic simulation algorithm is developed for an underwater robotic vehicle (URV) with
a manipulator. It is based on previous work on efficient O(N ) algorithms, where N is the number of links in the manipulator,and
has been extended to include the effects of a mobile base (the URV
body). In addition, the various hydrodynamic forces exerted on
these systems in underwater environments are also incorporated
into the simulation. The effects modeled in this work are added
mass,viscous drag, fiuid acceleration,and buoyancy forces. With
emcient implementation of the resulting algorithm, the amount
of computation with inclusion of the hydrodynamics is almost
double that of the original algorithm for a six degree-of-freedom
land-based manipulator with a mobile base. Nevertheless, the
amount of computation still only grows linearly with the number
of degrees of freedom in the manipulator.
0018-9472/95$04.00 0 1995 IEEE
Link N
Fig. 2. Serial-chain manipulator.
Fig. 1. The MBARI URV system: (a) Tiburon, and (b) the Schilling Titan
II manipulator.
and Ioi and Itoh [ 141 have identified the most important forces
which include added mass, viscous drag, fluid acceleration, and
buoyancy. This paper will develop a method for computing
these terms in the context of an articulated linkage system,
and more importantly, will efficiently incorporate these into
the AB simulation algorithm.
In the next section, our dynamics notation is presented along
with the salient features of the AB algorithm and a synopsis
of the principal equations. The basic AB algorithm is also
extended to include the dynamics of a mobile base. In Section
111, the hydrodynamic terms needed in the simulation of a
single rigid body are presented. Then, the AB algorithm is
extended in Section IV to include these hydrodynamic terms.
The computational requirements for the resulting algorithm are
presented in Section V, along with a comparison of algorithms
for the fixed- and mobile-base systems on land or in space.
Using object-oriented design techniques, this algorithm has
been implemented in C++.Computational runtimes using this
software package, called DynaMechs [15], are presented in
Section VI.
In this section, Featherstone's AB method [ll] for computing robot dynamics is reviewed, and the notation used in
this paper is presented. This is a very efficient method for
computing the dynamics of multibody systems [16]. To begin
this discussion, a serial chain manipulator with a fixed base as
shown in Fig. 2 is assumed. It has N links that are numbered
from 1, attached to the base through joint 1, to N , the endeffector. The joints between the links can have an arbitrary
number of DOF's, but we will limit this discussion to single
DOF revolute or prismatic joints. This assumption accounts
for the vast majority of robotic systems while simplifying the
analysis of computational requirements. Nevertheless, this is
not limiting, since multiple DOF joints can be simulated by
concatenation of multiple single DOF joints.
Each joint axis of the manipulator, as indicated by the
arrows in the figure, is specified by a six-element unit vector, #i,where the subscript i indicates the joint or link
number. These vectors are part of the spatial notation used
in our work that combines three-dimensional angular and
translational quantities into a single vector [17], [18]. Since
Qi is defined in the coordinate system fixed to link i, it is
constant. Using modified Denavit-Hartenberg (MDH) notation
[ 191, [20], in which the z-axis lies along the ith joint axis, di is
given by [O 0 1 0 0 OIT for revolute joints and [O 0 0 0 0 1IT
for prismatic joints.
The state of the system and its inputs can now be specified
with a set of scalars that are defined with respect to these
vectors as shown in Fig. 2. For each joint i, the state is given
by the scalar joint position and velocity, qi and q i , and the input
joint torque or force is given by ~ i .Given these quantities
for all of the joints, the goal of dynamic simulation is to
compute the forward dynamics for the N joint accelerations,
q i , and then to numerically integrate these to obtain new values
for the positions and velocities. In this section, the algorithm
to compute forward dynamics is described. For a discussion
of the various numerical integration algorithms for solving
ordinary differential equations, the reader is referred to any of
a number of numerical analysis texts (e.g., [211).
A. Dynamics
Derivation of the AB algorithm begins with the set of
dynamics equations for the force balance on each link. As
illustrated in Fig. 3, the force balance equation for link i
operating in air or on the surface of the Earth is given as
Link i
from the link's coordinate system origin origin to its center
of mass. Finally, in (l), 0;is the vector of velocity-dependent
bias forces [22] (see Table I).
In efficient robotic dynamics algorithms for ground, air,
or space vehicles, the gravitational effects can be combined
with the spatial acceleration in (1) to reduce the amount of
computation. This is accomplished with the following force
balance equation
Joint i i l
Joint i
Fig. 3. Spatial notation for rigid-body dynamics.
a: = ai -
f, - '+lXTf,+l+ Yg = Itaz- B,
where f, is the spatial force exerted onto link i by its inboard
link and contains the effect of T,, f,+l is the force exerted
by link i onto the next link outboard and contains the effect
of ~ , + 1 ,and 'fg is the gravitational force. These are sixelement vectors combining the three-dimensional moment, n,
and translational force, f, vectors as follows
Like the spatial forces, the spatial acceleration of the link, ai,
is also a six-element vector combining the angular, wi,and
translational, ai, acceleration vectors.
The spatial transformation matrix, i+lX;, is used to transform spatial vectors between coordinate systems i and i 1
and is defined as follows [20]
which is the spatial acceleration of the body biased by gravitational acceleration.
B. Kinematics
To complete the derivation of the AB algorithm, a set of
kinematic equations that compute the angular and translational
accelerations of each link given the corresponding accelerations of the inboard link and the relative joint acceleration
between the two links is needed. The same equations can
also be used to propagate the computation of the biased
acceleration. Using spatial notation, the equation for the biased
acceleration of link i (at its coordinate system) may be written
as follows [17]
where a+'&
is the 3 x 3 rotation matrix from the coordinate
system attached to link i to the one attached to link i 1, and
is the Cartesian vector specifying the position of the
origin of link ( i + 1)'s coordinate system with respect to link
i's. The tilde above the vector signifies that its components
should be combined in a skew symmetric matrix such that
h = b x a .
In the first term on the right side of (l), link i's spatial
inertia, Ii, relates the spatial acceleration of the link to the
resultant spatial force. This 6 x 6 inertia matrix combines
the link's mass and inertia quantities (first and second mass
moments) as follows
where 1; is the 3 x 3 moment of inertia tensor for the link with
respect to its own coordinate system, and 1 3 is the 3 x 3 identity
matrix. The 3 x 1 vector, hi, is its first mass moment which
is equal to (mi si), where mi is its mass and si is the vector
Note that the convention in this paper is to use an italic bold variable, such
as f,to refer to a Cartesian (three-dimensional) vector representing either a
rotational or translational quantity, and a block bold variable, such as f , to
refer to a spatial (six-dimensional) vector.
where Ci is the vector of Coriolis and centripetal accelerations
that are a function of known link velocities (see Table I).
From (7), the acceleration of link i is dependent on the
acceleration of the inboard link. This implies that a recursion2
from the base of the manipulator to the end-effector may
be used to compute the link accelerations when the joint
accelerations, ti, are known. Eq (1) implies a recursion from
the end-effector to the base to determine all of the link
forces once the biased accelerations have been determined.
Together these two sets of equations define the outward
and inward recursions associated with the inverse dynamics
problem which computes the joint torques to achieve a given
motion. For the case of forward dynamics computations,
however, the joint accelerations are unknown so that the biased
accelerations, and hence the link forces cannot be determined
in a direct manner from these equations. Consequently, a
different approach is required to solve the dynamic simulation
problem. In the AB algorithm, this involves the computation
of AB inertias.
*This is the term generally used in the robotics literature. However, for
those not familiar with this literature, its usage should not be confused with
the notion of recursive function culls in computer science terminology. In
the context of robotics, this term does not imply that the evaluation of this
equation is implemented with recursive function calls from end-effector to
base (although it could be). Rather, it is implemented with a for-loop and
each acceleration is computed in succession from base to end-effector.
forces, T O = fo, exerted on the base such as the resultant
thruster force.
The Forward Kinematics recursion will now begin with
computation of velocity-dependent terms for the mobile base.
This is simplified because the velocity of this body is given as
part of the system state and does not need to be computed. In
addition, the bias acceleration,
is zero. Then, the Backward
Dynamics recursion is extended to include the computation of
the AB inertia and bias force, IT, and p:, for this body.
Finally, the Forward Accelerations recursion must now begin with the computation of the base acceleration. Substituting
$o into the equations used to compute the joint accelerations
of each link, a simplified equation which was derived by
Featherstone ([17], p. 122) results
Fig. 4. Articulated-body dynamics.
C. Articulated Bodies
Instead of using the force balance equation for a single link,
an expression relating f; to the dynamic properties of links i
through N is used. As illustrated in Fig. 4, this relationship
is given as follows
fi = 15:. - 0:.
The matrix, It, is the 6 x 6 AB inertia of links i through N
which is the inertia that is “felt” at the ith coordinate system
when the joints from i 1 to N are free to move. Likewise,
the vector, p:, is the bias force exerted on the ith link due to
the resultant bias forces within the articulated body including
all outboard joint torques and excluding gravitational effects.
Details of the derivation of the equations needed to efficiently
compute 15 and @f can be found in 1121.
The resulting AB algorithm for forward dynamics contains
three O ( N ) recursions. The first is a Forward Kinematics recursion which computes the velocities and velocity-dependent
of each link from the base to the tip. In
terms, Bi and
the second step, the AB inertias, It, and bias forces, K ,
are computed in a Backward Dynamics recursion from the
tip to the base. The final step begins with the known base
= 0, which enables the computation of the
first joint’s acceleration, q1, with an equation derived from (7)
and (8). This enables the computation of link 1’s acceleration
from (7). These results are used to compute the joint and link
accelerations (in that order) for the next link in the chain. This
procedure defines the final Forward Accelerations recursion
from the base to the tip of the chain.
D. Mobile Base
Thus far, we have been discussing an AB simulation algorithm for a serial chain with a fixed base which can be found
in [ 111, [22].When simulating URV systems, the base of the
manipulator, the vehicle body, is no longer fixed with respect
to an inertial frame and the equations must be augmented to
model this characteristic. This is accomplished by modeling
the vehicle body as another link (link 0) in the serial chain
which has a six DOF joint (joint 0) between it and the inertial
frame, and adding another step to each of the three recursions.
The spatial representation of this joint’s motion, #o, is given
by a constant 6 x 6 identity matrix. This implies that the
joint velocity is equal to the spatial velocity of the base,
q o = VO, expressed in body fixed coordinates. Likewise,
the joint acceleration is the same as its spatial acceleration,
q o = a0,and the joint torque/force is equal to extemal spatial
where IT,is the AB inertia of the entire URV system, including
added mass, that is “felt” at the vehicle body’s coordinate system. The net force acting on this inertia including gravitational
effects is divided into two components: the resultant thruster
force exerted on the vehicle, fo, and the re? of the forces
. A derivation
exerted on this inertia including gravity,
using the biased acceleration was performed in [12] which
shows that this equation can be written using the biased
acceleration as follows
3 = (I;)-’(fo + 0;)
where p: now excludes gravitational effects. This biased
acceleration is used as the starting condition for the final
recursion along the chain to compute joint accelerations. For
simulation purposes, the unbiased acceleration is needed and
is obtained by adding gravitational acceleration back into this
When the motion of rigid bodies is to be simulated in an underwater environment, a number of additional effects must be
modeled in the simulation as a result of various hydrodynamic
forces. While these forces result from incompressible fluid
flow determined by the Navier-Stokes (distributed fluid-flow)
equations [23], “lumped” approximations to these forces are
used in this work. To this end, Yuh [ 131 and Ioi and Itoh [ 141
have identified four separate effects that need to be included
in a dynamic simulation of submerged rigid bodies. Under
limiting assumptions that the net hydrodynamic force on an
object can be represented as a sum of separately identified
components modeling the effects of added mass, drag, fluid
acceleration, and buoyancy forces, this section develops a
notation consistent with the previous section, and derives
the equations needed to compute these hydrodynamic forces
exerted on a single rigid body. It is further assumed that forces
computed for one link are negligibly affected by the proximity
of another.
A. Added Mass
To those acquainted with the dynamics of manipulators in
space or air, probably the most surprising hydrodynamic effect
Surrounding Water
Fig. 5.
Added mass.
where wb is frequently referred to as the rate of growth of a
vector, and w b x
the rate of transport [26]. Substituting this
into (1 1) leads to the following equation for the added mass
Given this result, the effects of fluid translational acceleration
on the force resulting from added mass can be incorporated by
replacing the translational acceleration of the rigid body with
its translational acceleration relative to the surrounding fluid,
ai ([24], p. 150). This is defined as follows
is the added mass force. When a body is accelerated through a
fluid, some of the surrounding fluid is also accelerated with the
body. A force is exerted on the surrounding fluid to achieve
this acceleration, and the reaction force, which is equal in
magnitude and opposite in direction, is exerted on the body.
The latter is referred to as the added mass force [24]. Its
computation within our framework is presented in this section. where baf is the translational acceleration of the fluid exWith our assumptions about lumped approximations, added pressed in the body-fixed coordinate system. Likewise, the
mass can be specified with a 6 x 6 matrix, If, as shown in translational velocity term is replaced in the added mass
Fig. 5. As with the spatial inertia for a rigid body, this added equation with the relative translational velocity, v i .
Finally, the equation can be written in terms of the body’s
mass matrix is symmetric and positive definite. Since this
inertia is a function of the body’s surface geometry, however, biased acceleration, ab, so that it may be more easily incorpothere is no concept of principal axes as in rigid body analysis, rated into the AB dynamics algorithm. This leads to the final
along which, torque and angular momentum are colinear. In form of the added mass force equation
fact, with added mass, unlike the rigid body’s mass, an applied
translational force can result in a noncolinear acceleration of
the center of gravity as well. Consequently, the added mass
matrix does not have the same structure as shown in (4) for the where
spatial inertia of a rigid body in space or air. For a general body
shape, the matrix will be full which leads to notably different
dynamic behavior as compared to the rigid body counterpart.
Newman [24] derived a set of equations to compute the
added mass force that is exerted on a rigid body accelerating
through an unbounded, inviscid fluid that is itself not accelerating (that is, has steady, irrotational flow). This was found by
which is called the added mass bias force and is a function
taking the derivative of the total momentum of the fluid. As
of known state variables, fluid velocity and acceleration, and
shown in the Appendix, translating Newman’s equations into
spatial notation results in the following equation:
B.’ Drag and Lift Forces
where negative signs are needed to compute the reaction force
that is exerted onto the rigid body, and Wb and Vb are the
angular and translational velocities of the body, respectively.
The translational velocity derivative term,
is not the true
acceleration of the rigid body; but is rather the time derivative
of ‘ub with respect to the body’s rotating reference frame.3
Since the AB simulation algorithm uses the biased acceleration of the body, ab, (1 1) must be modified before it can be
efficiently incorporated into the algorithm. First, the following
relationship for its true acceleration, a b , is used
’The elements of which are ii. u,and t i l from [25].
When an object moves through a viscous fluid, drag and
lift forces are exerted on it. Since water density is significant,
large viscous forces can be exerted on URV systems even
for reasonably slow motions. Lift and the related forces due
to vortex shedding [24] are believed to be small for the
applications at hand and are ignored. Drag can be decomposed
into pressure drag, which is normal to the surface of the
body, and shear drag, which is tangential. For underwater
manipulation, the shear drag will also typically be small, so
that the emphasis here is on the modeling of the pressure drag.
Pressure drag arises from nonzero normal components of
relative velocity between the body’s surface and the fluid.
For a general body, a surface integral over the entire body
is required to compute the resultant force and moment, f:.
To avoid this integration, links are approximated by cylinders
I I99
Eqs. (18) and (19) must then be integrated along the length
of the cylinder to obtain the resultant drag force and moment
as follows:
= -pcDr
nf = - p c D r
/ /
Fig. 6. Drag force on a cylinder.
as shown in Fig. 6 where one of the coordinate axes is
assumed to lie along the axis of the cylinder. This is not an
unreasonable assumption since most often, the 2- or y-axis
points along links with revolute joints, and the z-axis points
along links with prismatic joints when using MDH parameters
to assign coordinate system locations. The resulting procedure
to compute f: is based on one in [27] which has been extended
in our work to include the effects of arbitrary angular and
translational velocity of the cylinder as well.
Strip theory is used to replace the surface integral with a
line integral along the length of the cylinder. Therefore, the
cylinder is partitioned into circular disk elements with width
dx, and the translational velocity relative to the fluid and
normal to the edge of each disk, wn, must be determined.
The translational velocity of a disk relative to the fluid at a
distance d along the cylinder's axis (the x-axis in this example)
is approximated, assuming its radius is small compared to the
length, as follows:
where Wb is the angular velocity of the cylinder (which is also
the angular velocity relative to the fluid since it is assumed
to be irrotational), and ul; is the translational velocity of
the cylinder relative to the fluid at the origin of the bodyfixed coordinate system. The normal velocity is this vector's
projection onto the yz-plane.
Using the above results, the partial force exerted on the edge
of a disk at a distance, d, from the coordinate system can be
computed as follows:
d f f ( d ) = -0.5pCDI(vn(d)((v"(d)(2rdx)
where p is the fluid density, CD is the drag coefficient, r
is the radius of the cylinder, and the last term (within the
parentheses) is the projected area of the disk normal to the
fluid flow. The partial moment about the body-fixed coordinate
system due to this force is computed as follows:
d n f ( d ) = -0.5pC~IJv~(d)II([d0 0IT x vn(d)}2rdx.
[lWn(x)ll([x 0 01'
un(x)) dx
which make up the bottom and top halves of the spatial drag
force, respectively.
The x-components of both of these vectors are zero. Therefore, for smooth cylinders, no moment about the z-axis exists
which would only be caused by x-components of angular
velocity. This is consistent with the earlier assumption that
shear drag is negligible and assumed to be zero in this
derivation. A drag force along the x-axis can exist, however,
due to a drag force exerted on the flat ends of the cylinder
to relative translational velocity along the x-axis. In this case,
the 2-component of f f is computed as follows:
where ( v i ) " is the x-component of the link's translational
velocity with respect to the fluid. The assumption that components of the drag force can be computed from normal
components of relative velocity while ignoring tangential
components is consistent with the work of Chakrabarti, Tam,
and Wolbert [28] and the independence principle [27].
C. Total Buoyancy: Buoyancy and Fluid Acceleration
Because of the similarity between buoyancy and fluid acceleration forces, they are presented together in this section.
Both are translational forces as illustrated in Fig. 7. They are
exerted at the center of buoyancy of the body, which is the
center of volume of the body or equivalently the center of
mass of the fluid that is displaced by the body. Finally, they
are proportional to the mass of the fluid that is displaced by
the body,
The buoyant force, f:, is exerted in the direction opposite
of gravity. This force is a result of Archimedes principle which
states that a body immersed in a fluid is buoyed up with a force
equal to the weight of the fluid displaced by the body. In terms
of the gravitational acceleration, bag,this force is computed
as follows
j: =
-mi b a g .
The gravitational acceleration is defined as follows:
= gz,
where z, is the unit vector that points "down" as is traditional
in marine mechanics [25], and g is the gravitational constant.
A similar equation was given by Newman ([24], p. 152) for
the fluid acceleration force which is given as follows:
f b" =
where baf is the acceleration of the fluid. This force is
sometimes referred to as the horizontal buoyancy force.
Fig. 7. Total buoyancy forces: (a) buoyancy, and (b) fluid acceleration.
For increased computational efficiency, both forces are
combined as follows:
It is convenient to refer to this as the total buoyancy force. To
use this in existing robot dynamics algorithms, the equivalent
spatial force exerted at the origin of the body-fixed coordinate
system must be found. The resulting force is computed by the
following equation:
action in shallow depths, which is not an environment that
will be encountered by most URV systems. The unbounded
assumption poses more of a problem, but for first order
approximations it should generally be acceptable.
Another assumption is that the added mass matrix and
drag coefficients are known and constant. In actuality, these
quantities are extremely difficult to compute with a high degree
of accuracy, and vary nonlinearly with respect to velocity
and other parameters [27]. However, we believe that over the
range of operating conditions typically encountered by a URV,
these coefficients vary only small amounts such that a constant
coefficient assumption is the only reasonable approach and is
adequate for the purposes of the desired application.
Lift force is one hydrodynamic effect that has been omitted
from this discussion. In most texts it is described as a force
proportional to the square of the relative velocity in a direction
normal to the fluid flow by some coefficient of lift CL caused
by nonzero net circulation around the body. This is usually
presented with the definition for drag which is the same except
that this force is in a direction opposite to the flow and
related by the drag coefficient, C D .For the three-dimensional
derivations in this paper, this definition does not seem to be
adequate. The line integrals that are used to compute the
drag force, can, in the case of general translation, compute
components normal and parallel to the fluid velocity. We have
called this the computation for drag only, and considered lift
forces to be present only when the body is a foil. Since the
URV under consideration and the links of its robotic arm are
not foils, computation of lift forces has been omitted.
Vortex shedding is another effect that has not been considered in this discussion. When a bluff body is translating
through a fluid, pairs of vortices build up behind it. They
continue to grow in size until instabilities cause them to
alternately detach from the body. This introduces additional
periodic forces on the body that can be large [29]. A straightforward check of the Strouhal NumberReynolds Number map
will indicate if vortex shedding effects are a potential problem,
although precise modeling of these effects for underwater
manipulators would be lengthy. Engineering solutions to eliminate the problem using spoilers could be effective, so for now
the phenomenon is believed to be small enough to ignore in
most robotic applications.
where b is the vector from the body-fixed coordinate system
to its center of buoyancy. Note that the quantity, baf - bag,
is also required in the computation of the added mass bias
force, @, and because bafor bagare not needed individually,
algorithm for an
the subtraction is performed once with respect to the inertial
coordinate system and only a single vector needs to be articulated chain of rigid bodies in an underwater environment
is developed. First, the dynamic equation of motion for a
transformed to each body’s coordinate system.
single link in a fluid is developed. To accomplish this, the
spatial force balance on a given link i is written to add the
D. Assumptions
hydrodynamic forces derived in the previous section into (5).
At this point a few comments should be made about
The resulting equation is written as follows:
the derivation of the hydrodynamic terms and some of the
assumptions that have been employed. The most notable
fi - i + l XT fi+l f t f p fFB = Ii a: - pi. (28)
assumptions are that the fluid is irrotational and unbounded.
The former is acceptable since rotation due to any vortices Note that f t , the added mass force from (15), is also a function
in the fluid would be small compared to rotation of the of, a:, the unknown biased acceleration of link i. Grouping
body, or it would be on such a small scale compared to the these acceleration terms together and rewriting the equation to
extent of the body as to be negligible. The exception is wave resemble the form of (5) leads to the desired hydrodynamic
+ + +
equation of motion for the link
fa -
i+lxp;+l IFa; - py
; = Ii
+ If
Given: O R , , wo, V O , ' 0 1 ,
v; =
- O%CV,
'a, = O&'a,
where eag=
[O 0 gjT
oaf-s= ORc("a/-
@ = f3a + pf
+ f? + f?".
This equation states that the spatial acceleration of the body
and the exerted force are linearly related through the sum of
the rigid body's spatial inertia and the added mass of the fluid
surrounding the body.
A comparison of (29) with (5) leads to three changes that
must be made to the AB algorithm for land-based systems to
incorporate these hydrodynamic terms. First, the computation
of the body's translational velocity relative to the fluid, w:,
and the combined acceleration term, ' ~ f - ~for
, each rigid
body must be added to the Forward Kinematics step. Then,
the computation of the hydrodynamic bias force, fly, from
(31) can be performed. Finally, the link's spatial inertia, Ii,
is replaced with its hydrodynamic inertia, I:, from (30) in
computation for the Backward Dynamics recursion. Note that
the Forward Accelerations step is unaffected by the addition
of hydrodynamic effects. With these modifications, an efficient
implementation of the AB algorithm for URV systems with a
single manipulator containing revolute (a;= 1) or prismatic
(oi = 0) joints results and is listed in Table I.
In the Forward Kinematics step, the computation of quantities for the base are separated from the recursion along the
chain because of the differences with the computation for each
link. In order to perform this computation, the state of the base,
consisting of position, orientation and spatial velocity, and the
fluid's velocity and acceleration with respect to the inertial
coordinate system, euf and e a f , must be given. Given its
orientation, the corresponding rotation matrix between the base
and the earth-fixed inertial coordinate system, OR,is specified,
and the gravitational acceleration, 'ag,can be determined.
From these, w; and Oafpgcan be computed for the base.
For the forward recursion along the chain, the manipulator's
state, including joint positions, qi, and velocities, i;,must be
and position, '-'pa,
given. From qi, the orientation, i&-l,
of link 2's coordinate system with respect to i - 1's can be
determined. For revolute joints, 2R-l is a function of q;
and i-lpi is constant and can be determined off-line. For
is constant and a-lp; is a function
prismatic joints,
of pi. Taken together, ;Ri-l and i - l p i completely specify
the spatial transformation matrix, iX;-l.
This is used along
with qi to compute w: for each link, and has been combined
with the computation of the angular velocity for the sake of
efficiency. The computation of a ~ f - is~ accomplished using
just i&-l,
while Ci depends on both i&-l and '-'pi. Finally,
the computation of 0: is the same for the base and the
links of the manipulator. Note that this step still includes the
computation of pafrom the land-based algorithm which has
been separated from the computation of
for emphasis.
In the Backward Dynamics step, the input joint
torques/forces, ri. must be given. Given these inputs,
- woWxo (wo
x oho)
end for
Given: IN= I:,
11. Backward Dynamics
for i = N , . . . , l .
p;lr = 0;
(no tip force).
n; = IT+;
mf = &1f4~
N,= I: - n,(ml)-'nT
: = 4TPT + T,
I:-l = IE1 + 'XT-,N,'X,-I
end for
p r 1+ 'xfl [P: - N , C-~ n;(ml)-l.r:]
UI. Forward Accelerations
.b = (GI-'
a0 =
(thruster force).
+ PE)
the backward recursion is almost identical to the land-based
algorithm. Only the computations of 1: and
are affected
by the hydrodynamics. They now use IF and fly, and take
into account the fact that the matrix addition to compute I?
can be performed off-line and does not add to the amount
of computation. Finally, no changes need to be made to the
Forward Accelerations steD.
a Cartesian vector will require [4M, 2A], and transformation of
a spatial vector (actually planar rotations of its two component
w f Hydrodynamics
Mobile Base
Fixed Base
Cartesian vectors) requires [8M, 4A]. This is employed in the
first iteration of the loop in the Forward Kinematics step to
compute w1, v i ,
and C1.
The same concept has also been applied to the transforma27
tions between adjacent links in the serial chain. With the use
20N - 12
13N - 8
of MDH parameters [19], [20], transformation of Cartesian
vectors can be accomplished with two planar rotations (about
22N - 20
10N - 10
ION - I8
22N - 33
15N - 15
27N - 19
the x and z axes) for a cost of [8M, 4A]. Featherstone [17]
also applied this concept to spatial transformations which
are treated as two separate axial screws. Each axial screw
5N - 5
transformation of a spatial vector costs [lOM, 6A] for a total
15N - 15 15N - 15
15N - 30
15h - 15
15N - 30
15N - 15
of [20M, 12A] between adjacent coordinate systems [20]. This
86N - 94
?ON - 58 86N - 59 70N - 48 92N - 52
70N - 80
accounts for the computational requirements of w,, w:, ' ~ f - ~
49N - 23
a0N - 31 49N - 27
49N - 55
50N - 27
50N - 54
C, for z > 1.
Computation of the hydrodynamic bias force, Py, is the
17N - 21
20N - 12 17N - 11 20N - 12
17N - 11
20N - 22
most significant in the Forward Kinematics step. First, the
N -2
A' - 1
computation of 0, is accomplished with a Cartesian matrix224N - 259 205N - 248 124N - 30 205N - 37 177N + 130 333N t 93
vector multiply and three cross products totalling [27M, 15A].
Then, the next two terms of Pf compute the added mass bias
force, Pf. The first is computed with a cross product, Cartesian
vector addition, two Cartesian matrix-vector multiplies, and a
In this section, the computational cost of each equation in spatial vector addition for a total of [24M, 24A]. The second
Table I is determined and listed in the last two columns of term is obtained with a spatial matrix-vector multiply, three
Table I1 for a URV system with an manipulator containing cross products, a Cartesian vector addition and a spatial vector
N revolute joints. In this table, the number of floating point addition for a total of [54M, 48Al.
multiplies and divides are considered together under the label
Computation of the drag force, f,", is accomplished using
of multiplies (x), and the number of additions and subtractions (20), (21), and (22). The x-component of the drag force in (22)
are combined under the label of additions (+). In addition, requires [2M, OA] for the on-line part of the computation.
only the minimum number of trigonometric operations (one The integrals in the first two equations, can be numerically
sinekosine pair for each angle) are needed and are not included determined using the Gauss-quadrature method which replaces
in the totals. This section also compares these results to the integral with a weighted sum of the term within the integral
efficient algorithms developed in our work for land-based evaluated at four points over its range. The terms to be summed
robotic systems (without hydrodynamic's) with both fixed and can be computed with [9M, 3A] and a square root (counted as a
mobile bases.
multiplication) which includes the multiplication by the weight
In our implementation of the algorithm, the rotation matrix and the computation of w'(d) from (17). This is performed
expressing the orientation of the URV body, OR,, is defined by four times requiring [40M, 12Al. Then, the results are added
three Euler angles [30]. In the Forward Kinematics step, this together ([OM, 12A1) noting that both vectors contain one
matrix is used to transform quantities expressed in $e earth- zero element, and then multiplied by the constant outside of
fixed inertial reference frame to the URV's body-fixed frame. the integral ([4M, OA]). Therefore, computing f," with five
To achieve the most efficient transformation of these quanti- nonzero terms and adding it to the bias force requires a total
ties, this is implemented as three separate planar rotations each of [46M, 29Al.
requiring [4M, 2A].4 With this approach, the transformations
Finally, the total buoyancy force, the last term in the comof ewf and e a f - gcost [12M, 6A] each. The alternative would putation of fly, requires [9M, 9A] noting that the acceleration,
be to evaluate "Re([ 12M, 4A]) and perform two 3 x 3 matrix- 2 a f - g ,should be multiplied by the mass of the displaced
vector multiplies ([9M, 6A] each) for a total cost of [30M, fluid before the cross product is performed. Therefore, the
16Al. Since the gravitational acceleration contains only a z computation of Pf requires [133M, 1lOA]. This also applies
component, its transformation .only requires [4M, OAI.
to the computation of 0: for the vehicle body which implies
The placement of the body-fixed (0) coordinate system that the vehicle body has also been approximated by a cylinder
also has a significant effect on the amount of computation for the drag computation. If desired, equivalent methods can
in this algorithm. To minimize the amount of computation, it be developed for rectangular solids which require comparable
is placed so that its origin and z-axis coincide with the first amounts of computation.
link's coordinate system in the manipulator. This results in
A number of steps can be taken to reduce the amount of
a single planar rotation (through the manipulator's first joint computation in the Backward Dynamics recursion. First, n,,
angle about the z-axis) when transforming both Cartesian and m:, and N, are constant for z = N and can be computed offspatial quantities between these systems. Therefore, rotation of line along with (m:)-' and nZ(m:)-'. For the other iterations,
the computation of n, reduces to selecting the third column
4[4M, 2A] = 4 multiplies, 2 additions.
of I f , (m:)-l simplifies to a scalar reciprocal, and the third
element of ni(mf)-’ is one. The matrix, N;, is the ith AB
inertia after it has been reflected across joint z. Because the
joint is free to move, it contains a zero row and column as
1 N12 0 N14 N15
1’1112 N22 0 N24 N25
Ni= IN14 N24 0 N44 N45
N15 N25 0 N45 N55 N56]
IN16 N26 0 N46 N56 N66
This reflected inertia matrix is also symmetric (notice the
indices), and only 15 of its elements must be computed, which
requires [ IM, 1A] each. The most costly step in this recursion
is the spatial congruence transformation of this matrix in the
computation of the AB inertia, If-1. A new method developed
in [12], 1321 requires only [70M, 71AJ and is accomplished
by breaking this computation into two congruence transformations involving axial screws analogous to the decomposition of
spatial transformations above. To complete the computation of
I:-l, the addition of two symmetric 6 x 6 matrices, requiring
21 additions, is needed for a total of [70M, 92Al. Due to the
placement of the body (0) coordinate system, the last iteration
of this computation (I:) can be performed using a single planar
rotation matrix (simpler than an axial screw) which results in
[22M, 40A] for this step.
In the Forward Accelerations step, the biased base acceleration, a&, is most efficiently computed using Cholesky
decomposition since the AB inertia is symmetric and positive
definite. Note that this step does not compute the inverse of
this matrix, but only the solution to the matrix equation which
requires only [86M, 65A] for the 6 x 6 system [ 101. If present,
a thruster force on the vehicle body, fo, must first be added
for a total of [86M, 71Al. The true acceleration of the vehicle
body is obtained by adding the gravitational acceleration to
the result ([OM, 3A1). Finally, the amount of computation in
the forward recursion to compute the joint accelerations is
straightforward. However, note that the third element of Ci is
zero and the computation of ah is not required.
This particularly efficient implementation of the URV algorithm is based on versions that were developed for simulation
of land-based manipulator systems with and without a mobile
base [12], and the results of which are also listed in Table 11.
The requirements for a manipulator with a fixed base are listed
in the first columns of the table and results in [(224N-259)M,
(205N - 248)Al for a system with N revolute joints. This
result omits the computation of hydrodynamics and the effects
of a mobile base, and it makes use of the fact that the
base has zero acceleration and velocity to reduce the amount
of computation of the quantities for the first few links of
the manipulator. This can be directly compared to the best
previous result, [(250N - 222)M, (220N - 248)A], reported
by Brandl, Johanni, and Otter [22]. When N = 6, the result
reported here requires nearly 15% fewer operations to compute
the dynamics.
With the addition of a mobile base, the algorithm could
be used to simulate space-based robotic systems (with rigid
links). The resulting computational requirements are listed in
the middle of Table 11. This involves the addition of another
rigid body and six more DOF’s to the system, but only requires
an additional [229M, 211Al for a total of [(224N - 30)M,
(205N - 37)Al. This is almost equivalent to the cost of adding
another link with a revolute joint to the manipulator.
The primary difference in computation between this mobile
base algorithm and the URV algorithm occurs in the Forward
Kinematics step where additional velocities, accelerations, and
bias forces in Pf are computed for hydrodynamic effects. The
total number of floating point operations for this system is
[(377N 130)M, (333N 93)Al. With N = 6 (all revolute
joints), this corresponds to the cost needed to compute the
dynamics and hydrodynamics for the Monterey Bay Aquarium
Research Institute’s URV with the 6 DOF Schilling Titan I1
manipulator. This represents a 75% increase in computation
over the mobile base simulation (without hydrodynamics),
and approximately a 115% increase in computation over the
simulation of this manipulator with a fixed base.
This paper provides all of the major theory needed to
produce a dynamic simulator that efficiently incorporates hydrodynamic effects for underwater vehicle systems. The algorithm presented thus far has been slightly modified so that
it is capable of computing the dynamics for a large class of
tree-structured mechanisms having star topologies. This class
includes robotic systems with fixed or mobile bases, with and
without hydrodynamics, and with multiple chains. An efficient
implementation of this general algorithm has been achieved
through the use of object-oriented design (OOD) techniques
in C++ as part of a larger project to develop a real-time
graphical simulation system for URV’s as described in [15].
The result is an integrated simulation software package, called
primarily for terrestrial and underwater robotic
systems. It covers industrial robots, multilegged vehicles [311,
URV’s with any number of manipulators, and can even simulate space-based robotic systems without flexible links.
The completed graphical simulation system also includes
a Spaceball (a six-axis force/torque sensor) for user control
of thrusters and manipulator, a mouse for viewpoint control
commands, and a 3D graphical display of the system and its
environment to visualize the output of the simulation. A scene
from this display is shown in Fig. 8 which was developed using SGI’s 3D modeling package called Inventor and executed
on a Silicon Graphics (SGI) Indigo2 Extreme workstation with
a 150 MHz MIPS R4400 processor. The runtime performance
of the simulation algorithm (excluding the overhead for the
grsphical display) for the three configurations listed in Table
I1 was measured. Without hydrodynamics, computation of the
Schilling manipulator’s dynamics requires an average of 0.30
and 0.38 ms for fixed and mobile base systems, respectively.
The ROV/manipulator system with hydrodynamics requires
an average of 0.52 ms. This is more than adequate for realtime performance during normal operation of the ROV system
without “hard” contacts with the environment.
‘Pronounced “dynamics,” and stands for Dynamics of Mechanisms. This
software is available via anonymous FTP from cs .n p s .navy. mi 1 in the
/pub/dynamechs/ directory.
Fig. 8. Scene from a DynaMechs simulation’of the ‘IburodSchilling system.
In this paper, an efficient algorithm has been developed
for dynamic simulation of an underwater vehicle equipped
with a manipulator. Since many efficient algorithms for the
simulation of land-based manipulators have been developed
in the past, one was chosen as the basis for our work.
The system for which this work has been developed is the
Monterey Bay Aquarium Research Institute’s ROV, Tiburon,
with a Shilling manipulator. Based on the number of DOF’s
for this manipulator, the O(N) AB simulation algorithm is
the most efficient. A review of this algorithm for systems
with fixed bases from [ 111 has been presented. An especially
efficient version of this algorithm was developed in [12] that
requires [(224N-259)M, (205N-248)Al for systems with N
revolute joints which represents an improvement of 15% over
the results in [22]. With
modifications made to include the
effects of a mobile base the algorithm requires [(224N-30)M,
(205N - 37)Al.
The next goal of this work was to efficiently incorporate
hydrodynamic effects into this algorithm. A number of hydrodynamic effects on a single rigid body were identified
from previous work in [I31 and [14], including added mass,
drag, fluid acceleration and buoyancy forces. Equations to
compute these effects are derived here in a form consistent
with traditional robot dynamics algorithms. Then, this result
is extended to systems with serial chains of rigid bodies and
efficiently incorporated into the AB algorithm. A detailed
analysis of the amount of computation required by the resulting algorithm also has been carried out, and shown to
require [(377N + 130)M, (333N + 93)Al for a URV with
a manipulator that has N revolute joints. For the MBARI
ROV with the Schilling Arm ( N = S), the computation of the
dynamics requires [2392M, 2091Al. An implementation of the
algorithm in the DynaMechs software package can compute
the dynamics of this URV system in an average of 0.52 ms
on an SGI workstation with a MIPS R4400 processor, which
is fast enough to achieve real-time simulation rates.
The purpose of this work has been to provide an integrated
computational framework, with multibody dynamics and hydrodynamics included, for efficient simulation of a variety
of land-based and underwater robotic systems. Now that we
have provided the foundational work, others can apply this
to their systems, after deriving parameters for the model, to
determine the important hydrodynamic effects. With an actual
URV system, experimental results can be obtained and the
accuracy of the models for each of the hydrodynamic forces
can be measured within the context of a specific application
to see if the models are sufficient. There may be cases in
which the computation of the hydrodynamic forces needs to
be altered to provide a more complex or perhaps simpler
model. The advantage of this computational framework is
that it can accommodate a variety of models in which the
hydrodynamic forces on a link are computed as a function
of its velocity and acceleration and that of the fluid without
significantly affecting its basic efficiency. Hopefully, this work
will contribute to the growing application of URV systems in
underwater environments.
In this appendix, the added mass force equation, ( l l ) , is
derived in spatial notation beginning with Newman’s equations
for this force from [24]. Before we begin, some of his notation
should be defined. First, the ijth element of the 6 x 6 added
mass matrix is denoted by m i j . The translational velocity
expressed in the body-fixed coordinate system is given by the
following Cartesian vector
ob = [ul
and a redundant notation is used to define the elements of
angular velocity
[u, us
U6IT = [a1
Finally an “indicial notation” for the cross product operation
is defined. The jth component of the result is given as follows
( b x a)j = Ejklbkal
where summations are implied on the right hand side for both
k and 1 from 1 to 3.
The equation to compute the three components of translational force from [24] is given by [(115), Ch. 41
Fj =
- U i m j i - EjklUiOkmli,
j = 1,2,3,
where, again, summations are implied for k and I from 1 to
3, and for i from 1 to 6. To obtain a vector equation, the
summation on i is made explicit and the cross product term
is isolated as follows
Fj=-Cm . . U .-
Ui(Ejklakmli), j =
JZ ’z
1,2,3* (37)
Then, the summations are expanded and the cross products
are expressed in vector notation
Fj = -(
m j l U l + mj2U2
+ . . + mjsiis)
Finally, this is written in a form consistent with our spatial
notation as follows
[Nl N2
N3IT and
By combining (44) and (39), the desired added mass spatial
force equation is obtained as
where our definition for the added mass matrix is written in
terms of Newman’s coefficients as
Note that these blocks are “swapped” because spatial notation
requires that angular components of spatial vectors appear
above the translational components which is the opposite of
the convention used in [241.
The equations for the moment exerted on the body due to
added mass is given in [24] as follows [( 116), Ch. 41
N . - - U .zm .j + 3 , i - f j k l U i ( 2 k m l + S , i - EjklUiUkmlir
j = 1 , 2 , 3 (41)
where the components of moment have been specified with
N j instead of the Mj used in [24] to avoid confusion with the
added mass coefficients, and the implicit summations of (36)
apply here as well. This can be rewritten, as before, to highlight
the summation over Z and the cross product operation, as
N j = - C mj+3,iOi
In Cartesian vector notation, this is written as follows
I: :
for j = 1 , 2 , 3 . In spatial notation, this reduces to
nb”= - [M22 M21 ]
The authors thank Dr. Anthony Healey of the Naval Postgraduate School for informative discussions on hydrodynamics, and James B. Newman of MBARI for access to and
involvement in the Tiburon project.
[ I ] J. Yuh, “Special issue on underwater robotics,” J. Robotics Systems,
vol. 8, pp. 291-412, June 1991.
121 Pmc. of the 20th Annual Technical Symp. and Exhibition of the Association for Unmnned Vehicle Systems, Washington, D.C.: Association for
Unmanned Vehicle Systems, June 1993.
[3] T. I . Fossen, Guidance and Control of Ocean Vehicles. New York:
John Wiley, 1994.
[4] M. J. Zyda, R.B. McGhee, S. Kwak, D. B. Nordman, R. C. Rogers and
D. Marco, “Three-dimensional visualization of mission planning and
control for the NPS autonomous underwater vehicle,” IEEE J. Oceanic
Eng., vol. 15, no. 3, pp. 217-221, 1990.
[5] D. P. Brutzman, Y . Kanayama and M. J. Zyda, “Integrated simulation for rapid development of autonomous underwater vehicles,” in
Proc. of IEEE Symp. on Autonomous Underwater Vehicle Technology.
Washington, D.C., June 1992, pp. 3-10.
[6] L. Conway, R. Volz and M. Walker, “Tele-autonomous systems: Methods and architectures for intermingling autonomous and telerobotic
technology,” in Proc. of 1987 IEEE Int. ConJ on Robotics and Automafion, Raleigh, NC, 1987. pp. 1121-1 130.
[7] J. Funda and R. P. Paul, “Teleprogramming: Overcoming communication delays in remote manipulation,” in Pmc. of Isr IARP Workshop on
Mobile Robots for Subsea Environments, Monterey, CA, Oct. 1990, pp.
155-1 62.
[SI J. B. Newman and B. H. Robison, “Development of a dedicated ROV
for Ocean science,” Marine Technology Society Journal, vol. 26, pp.
46-53, Winter 1992.
[9] Anon., “Titan I1 high resolution bilateral force feedback remote manipulator system,” Technical Report, Schilling Development, Inc., Davis,
CA, Apr. 1991.
[IO] M. W. Walker and D. E. Orin, “Efficient dynamic computer simulation of robotic mechanisms,” J. Dynamic Sysfems. Measurement, and
Control, vol. 104, pp. 205-211, Sept. 1982.
[ 1 11 R. Featherstone, “The calculation of robot dynamics using articulatedbody inertias,” Inr. J. Robotics Research, MIT Press, vol. 2, pp. 13-30,
Spring 1983.
[I21 S. McMillan, “Computational dynamics for robotic systems on land and
under water,” Ph.D. Dissertation, The Ohio State University, Columbus,
Summer 1994.
[ 131 J. Yuh, “Modeling and control of underwater robotic vehicles,” IEEE
Trans. Sysf. Man Cyber., vol. 20, pp. 1475-1483. Nov./Dec. 1990.
[ 141 K. Ioi and K. Itoh, “Modeling and simulation of an underwater manipulator,” Advanced Roborics, vol. 4, no. 4, pp. 303-3 17, 1990.
[IS] S. McMillan, D. E. Orin and R. B. McGhee, “DynaMechs: An object
oriented software package for efficient dynamic simulation of underwater robotic vehicles,” in Underwafer Robotic Vehicles: Design and
Controrol, J. Yuh, Ed. TSI Press, pp. 73-98, 1995.
[I61 R. E. Roberson and R. Schwertassek, Dynamics of Multibody Systems.
[ 171
[ 191
Berlin: Springer-Verlag. 1988.
R. Featherstone, Robot Dynamics Algorithms. Boston, MA: Kluwer,
K. W. Lilly, ESficient Dynamic Simulation of Robotic Mechanisms.
Norwell, MA: Kluwer, 1993.
J. J. Craig, Introduction to Robotics: Mechanics and Control. Reading,
MA: Addison-Wesley, 1986.
K. W. Lilly and D. E. Orin, “Alternate formulations for the manipulator
inertia matrix,” Inf. J. Robotics Res., MIT Press, vol. 10, pp. 64-74,
Feb. 1991.
G. Dahlquist and A. Bjorck, Numerical Methods. Englewood Cliffs, NJ:
Prentice Hall, 1974.
H. Brandl, R. Johanni and M. Otter, “A very efficient algorithm for the
simulation of robots and similar multibody systems without inversion
of the mass matrix,” in Proc. of IFAC/lFlP/lMACS Int. Symp. on Theory
of Robofs, Vienna, Austria, Dec. 1986.
I. H. Shames, Mechanics of Fluids, New York, NY: McGraw-Hill, 1962.
J. N. Newman, Marine Hydrodynamics. Cambridge, MA: MIT Press,
“Controllability,” in Principles ofNaval Architecture, E. Lewis, Ed., vol.
3, New York, Society of Naval Architects and Marine Engineers, 1987.
J. L. Synge and B. A. Griffith, Principles of Mechanics. New York:
McGraw Hill, 1949.
T. Sarpkaya and M. Isaacson, Mechanics of Wave Forces on Offshore
Structures. New York Van Nostrand Reinhold, 1981.
S. K. Chakrabarti, W. A. Tam and A. L. Wolbert, “Wave forces on a
randomly oriented tube,” in Proc. of the O.T.C., no. 2190, Houston, TX,
0. M. Griffin and S. E. Ramberg, “Some recent studies of vortex
shedding with application to marine tubulars and risers,” Trans. ASME,
vol. 104, pp. 2-13, Mar. 1982.
J. M. Cooke, M. J. Zyda, D. R. Pratt and R. B. McGhee, “NPSNET:
Flight simulation dynamic Amodeling using quaternions,” Presence, vol.
1, pp. 4 0 4 4 2 0 , Fall 1992.
K. Yoneda, K. Suzuki and Y. Kanayama, “Gait planning for versatile
motion of a six legged robot,” in IEEE In?. Conf on Robotics and
Automation, San Diego, CA, 1994, pp. 1338-1343.
S. McMillan and D. E. Orin, “Efficient computation of articulatedbody inertias using successive axial screws,’’ to appear in IEEE Trans.
Robotics Automat., 1995.
Scott McMillan (S’87-M’95) received the B.S.
degree in computer engineering from Clemson University, Clemson, SC, in 1988, and the M.S. and
Ph.D. degrees in electrical engineering from The
Ohio State University, Columbus, in 1990 and 1994,
He is currently a member of the research staff
and the’Naval Postgraduate School, Monterey, CA.
His research interests include legged locomotion,
control systems for autonomous underweer vehicles, physically-based modeling for virtual reality
simulations, parallel processing, and object-oriented design.
David E. Orin (S’75-M’76-SM’88-F93) received
his Ph.D. degree in electrical engineering from The
Ohio State University, Columbus, in 1976.
From 1976 to 1980, he taught at Case Western
Reserve University, Cleveland, OH, in the Department of Electrical Engineering and Applied Physics.
Since 1981, he has been at The Ohio State University, where he is currently a Professor of Electrical
Engineering. His current research interests include
underwater robotic systems, computational robot
dynamics, control of enveloping grasping systems,
parallel computation, and control of legged machines.
Dr. Orin is the Secretruy of the IEEE Robotics and Automation Society,
Chair of its Constitution and Bylaws Committee, and an elected member of its
Administrative Committee. He is a Contributing Editor with Robotics Review,
from The MIT Press. He is a member of Sigma Xi, Tau Beta Pi, and Eta
Kappa Nu.
Robert B. McChee (M’58-SM’85-F‘WLF’94)
was born in Detroit, MI, in 1929. He received
the B.S. degree in engineering physics from the
University of Michigan, Ann Arbor, in 1952, and
the M.S. and Ph.D. degrees in electrical engineering
from the University of Southern California in 1957
and 1963 respectively.
From 1952 until 1955, he served on active duty
as a guided missile maintenance officer with the
U.S. Army Ordnance Corps. From 1955 until 1963,
he was a member of the technical staff with Hughes
Aircraft Company, Culver City, CA, where he worked on guided missile
simulation and control problems. In 1963, he joined the Department of
Electrical Engineering, University of Southern California, as an Assistant
Professor. He was promoted to Associate Professor in 1967. In 1968,
he was appointed Professor of Electrical Engineering and Director of the
Digital Systems Laboratory at Ohio State University, Columbus. In 1986, he
joined the Computer Science Department at the Navel Postgraduate School,
Monterey, CA, where he served as Chairman from 1988 until 1992. Since
1992, he has held a joint appointment as Professor in the Computer Science
Department and in the Electrical and Computer Engineering Department at
the Naval Postgraduate School. Dr. McGhee currently teaches in the areas
of artificial intelligence, robotics, computer languages, and feedback control
theory. His research interests are centered around computer simulation and
control of unmanned vehicles, especially for subsea applications.
Was this manual useful for you? yes no
Thank you for your participation!

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

Download PDF