15
ELSEVIER Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 Computer methods in applied mechanics and engineering www.elsevier.com/locate/cma Time-stepping for three-dimensional rigid body dynamics Mihai Anitescu, Florian A. Potra, David E. Stewart* DeparOnent q[" Mathematics, UniversiO' q[' Iowa, h~wa City. IA 52242-1419. USA Received 7 April 1998; received in revised form I1 June 1998 Abstract Traditional methods for simulating rigid body dynamics involves determining the current contact arrangement (e.g., each contact is either a "'rolling" or "'sliding" contact). The development of this approach is most clearly seen in the work of Haug et al. [Mech. Machine Theory 21 (1986) 401-425] and Pfeiffer and Glocker [Multibody Dynamics with Unilateral Contacts (Wiley, 1996)]. However, there has been a controversy about the status of rigid body dynamics as a theory, due to simple problems in the area which do not appear to have solutions; the most famous, if not the earliest is due to Paul Painlev~ [C.R. Acad. Sci. Paris 121 (1895) 112-115], Recently, a number of time-stepping methods have been developed to overcome these difficulties. These time-stepping methods use integrals of the forces over time-steps, rather than the actual forces. This allows impulsive forces without the need for a separate formulation, or special procedures, to cover this case. The newest of these methods are developed in terms of complementarity problems. The complementarity problems that define the time-stepping procedure are solvable unlike previous methods for simulating rigid body dynamics with friction. Proof of the existence of solutions to the continuous problem can be shown in the sense of measure differential inclusions in terms of these methods. In this paper, a number of these variants will be discussed, and their essential properties proven. © 1999 Elsevier Science B.V. All rights reserved. 1. Introduction Recently, a number of new methods have been developed for solving problems in rigid body dynamics which are explicitly based on a time-stepping formulation of the problem [4,37,40,43,44,59,60]. This contrasts with the more traditional approaches which involve formulating a system of equations, or complementarity problem, at each time-step to be solved for the forces, which are then used as input for a differential equations or differential-algebraic equations (DAEs) solver [25,26,34-36,51]. The problem with this approach is that the systems of equations or complementarity problems to be solved at each instant in time may not have a solution. This difficulty relates directly to problems which do not appear to have solutions, discovered by Painlev6 [45] in 1895. The controversy begun by this discovery has continued ever since [6,7,13,14,16,22,32,34-38,40,41,43,51 ]. The point of the new time-stepping techniques is that they avoid this problem by implicitly allowing impulsive forces at any time during contact, not just at the instant of impact. Painlev6's problems has resulted in researchers focussing their efforts on finding computational techniques. Relatively little effort has focussed on the questions of convergence of these techniques, or of the nature of the resulting limiting trajectories. Notable exceptions are Monteiro-Marques [37] and Stewart [56,58]. There is, however, much to be done in this area. In the above works, the continuous problem of rigid body dynamics is understood in terms of measure differential inchtsions (see, e.g., 1421) and measure differential equations. A comprehensive survey of rigid body dynamics from this point of view can be found in the book by Brogliato 19]. Measure differential inclusions are problems of the kind *Corresponding author. 0045-7825/99/$ - see front matter PII: $1)045-7825 (98)00380-6 © 1999 Elsevier Science B.V. All rights reserved.

Time-stepping for three-dimensional rigid body dynamics

Embed Size (px)

Citation preview

Page 1: Time-stepping for three-dimensional rigid body dynamics

ELSEVIER Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197

Computer methods in applied

mechanics and engineering

www.elsevier.com/locate/cma

Time-stepping for three-dimensional rigid body dynamics Mihai An i t e scu , F lor ian A. Potra , D a v i d E. S tewar t*

DeparOnent q[" Mathematics, UniversiO' q[' Iowa, h~wa City. IA 52242-1419. USA

Received 7 April 1998; received in revised form I1 June 1998

Abstract

Traditional methods for simulating rigid body dynamics involves determining the current contact arrangement (e.g., each contact is either a "'rolling" or "'sliding" contact). The development of this approach is most clearly seen in the work of Haug et al. [Mech. Machine Theory 21 (1986) 401-425] and Pfeiffer and Glocker [Multibody Dynamics with Unilateral Contacts (Wiley, 1996)]. However, there has been a controversy about the status of rigid body dynamics as a theory, due to simple problems in the area which do not appear to have solutions; the most famous, if not the earliest is due to Paul Painlev~ [C.R. Acad. Sci. Paris 121 (1895) 112-115], Recently, a number of time-stepping methods have been developed to overcome these difficulties. These time-stepping methods use integrals of the forces over time-steps, rather than the actual forces. This allows impulsive forces without the need for a separate formulation, or special procedures, to cover this case. The newest of these methods are developed in terms of complementarity problems. The complementarity problems that define the time-stepping procedure are solvable unlike previous methods for simulating rigid body dynamics with friction. Proof of the existence of solutions to the continuous problem can be shown in the sense of measure differential inclusions in terms of these methods. In this paper, a number of these variants will be discussed, and their essential properties proven. © 1999 Elsevier Science B.V. All rights reserved.

1. Introduction

Recently, a number of new methods have been developed for solving problems in rigid body dynamics which are explicitly based on a time-stepping formulation of the problem [4,37,40,43,44,59,60].

This contrasts with the more traditional approaches which involve formulating a system of equations, or complementarity problem, at each time-step to be solved for the forces, which are then used as input for a differential equations or differential-algebraic equations (DAEs) solver [25,26,34-36,51]. The problem with this approach is that the systems of equations or complementarity problems to be solved at each instant in time may not have a solution. This difficulty relates directly to problems which do not appear to have solutions, discovered by Painlev6 [45] in 1895. The controversy begun by this discovery has continued ever since [6,7,13,14,16,22,32,34-38,40,41,43,51 ].

The point of the new time-stepping techniques is that they avoid this problem by implicitly allowing impulsive forces at any time during contact, not just at the instant of impact.

Painlev6's problems has resulted in researchers focussing their efforts on finding computational techniques. Relatively little effort has focussed on the questions of convergence of these techniques, or of the nature of the resulting limiting trajectories. Notable exceptions are Monteiro-Marques [37] and Stewart [56,58]. There is, however, much to be done in this area. In the above works, the continuous problem of rigid body dynamics is understood in terms of measure differential inchtsions (see, e.g., 1421) and measure differential equations. A comprehensive survey of rigid body dynamics from this point of view can be found in the book by Brogliato 19].

Measure differential inclusions are problems of the kind

*Corresponding author.

0045 -7825 /99 /$ - see front matter

PII: $1)045-7825 ( 9 8 ) 0 0 3 8 0 - 6 © 1999 Elsevier Science B.V. All rights reserved.

Page 2: Time-stepping for three-dimensional rigid body dynamics

184 M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197

dv dq M(q) --~ E K(q(t)), dt - v ( 1 )

where K(') is a set-valued function with closed and convex, but not necessarily bounded, values. The unboundedness of K(q) allows for impulsive forces and accelerations associated with directions in which K(q) is unbounded. Impulsive forces give rise to discontinuities in the velocity function v(.). The velocity function, however, is not completely irregular: it is not only bounded on bounded intervals in time, but it is a function of bounded variation. The sum of the sizes of all the discontinuities is therefore finite, and completely erratic behavior is not allowed.

A number of other conditions are imposed on the solutions of rigid body dynamics problems as well as the measure differential inclusion condition. These conditions include the maximal dissipation property of Coulomb's friction law, and the conditions describing the elasticity of impact (ranging from completely inelastic to perfectly elastic).

This paper considers a wide number of time-stepping methods, and discusses their implications for convergence theory and the nature of the limiting solutions.

The variations in the time-stepping methods considered include the following: (1) Friction cones (the set of generalized contact forces for a given configuration) are approximated by

polyhedral cones. New modifications have been developed recently which avoid this approximation, for which existence results for the time-stepping scheme can be proven [49].

These friction models are, however, not as general as those in [31]. (2) All collisions are perfectly inelastic (i.e. no bounce). One scheme that incorporates elastic and partly

elastic collisions while preserving the dissipativity property is due to [4]. This scheme splits the step into 'compression' and 'expansion' phases. Because this scheme is developed in terms of the generalized forces it is a 'Poisson' style scheme. Other schemes can be developed in terms of the velocities without splitting the step; these are 'Newton' style schemes.

(3) It is assumed that the generalized co-ordinate vectors and the generalized velocity vectors have the same dimension. This can be done for three-dimensional problems by using Euler angles, for example, to specify the orientation of the rigid body. But any such parameterization must have singularities. On the other hand, using unit quaternions or 3 x 3 orthogonal matrices to represent the orientation of a body means that the angular velocity vector must have a different dimension to the vector containing the orientation information. Also, care must be taken to preserve the normalization properties of the vector containing the orientation information.

Each of these variations will be described, and the implications for computational practice and for convergence theory will be described. In Section 2, the basic time-stepping scheme will be described. In Section 3, the modifications for general non-polyhedral friction cones will be explained. In Section 4, both 'Newton' and 'Poisson' approaches to partly elastic contact will be explained and compared. In Section 5, modifications for different dimensions of the co-ordinate q and velocity v vectors will be explained.

The model can be modified to handle equality constraints (joints) in a way that does not affect either the solvability of the mixed linear complementarity problem or the upper bounds on the norm of the resulting velocities [4]. Since the challenges of the problem we consider here reside in the description and properties of the contact and friction constraints, we will confine our developments to the case where no joints are involved.

2. Time-stepping methods and convergence theory

2.1. Rigid body dynamics

Rigid body dynamics is the task of understanding and simulating systems of rigid bodies which may or may not be in contact. These systems are good approximations to many situations in the world around us, such as walking, using a bicycle, playing a ball game, or picking up a pen. All of these activities involve contact between solid, fairly rigid, bodies. Implicit in many of these problems is the presence of dry, or Coulomb, friction.

When two bodies are not in contact, there are no contact forces between them (although there may be small

Page 3: Time-stepping for three-dimensional rigid body dynamics

M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 185

and subtle effects due to the motion of the fluid between them, for example). On the other hand, when two bodies make contact, if they are rigid they cannot interpenetrate. Unless there is adhesion (which depends on the physics of the situation), the normal component of the contact force at a point on a body must be acting away from the body against the other.

Friction may be present, in which case there are equal and opposite tangential forces acting on the two bodies in contact. If the bodies are sliding against each other, then the friction forces must oppose the slip, although the forces may not be in the opposite direction to the slippage if the friction is not isotropic. The magnitude of the frictional forces is bounded by /zN where/z is the coefficient of friction and N is the normal component of the contact force; if there is slippage, the frictional force must have exactly this magnitude (for isotropic friction), and if there is no slippage, any equal and opposite friction forces within this bound are admissible.

To obtain a mathematical formulation of these problems, we need to begin with a formulation of rigid body dynamics without contact. This can be done using a Lagrangian framework with generalized co-ordinates q and corresponding generalized velocities v. (Usually, v = dq/dt, although this will be relaxed in Section 5.)

Let T( q, v ) ~ V = ~V M(q)V be the kinetic energy for configuration q and velocity v; M(q) will be called a mass matrix, although if q contains angles, and thus v contains angular velocities, some components of M(q) will be moments of inertia, rather than masses. Let V(q) denote the potential energy of configuration q. Without external forces or contacts, and provided v = dq/dt, the equations of motion can be written as

d(OL~ OL i = l , . . . , n ,

where L(q, v) = T(q, v) - V(q) is the Lagrangian of the system. With a suitable rearrangement of the equations, this can be put in more explicit form

do M( q)~-~ = k( q, v) - W ( q) (2)

where

ki( q, v) = 1 ~ [- Omit Omi,. Omr~ -1 -- 2r,,[-~q, (q)+~(q)--~(q)Jv~O,.

In the case of frictionless contact, the only contact force is the normal contact force N. Contact is assumed to be represented by a function f(q) so that i f f (q ) > 0 there is no contact, i f f (q ) = 0 then there is contact, and if f(q) < 0 then q is an inadmissible configuration. The set of admissible configurations is C = { qlf(q) >~ 0}. Assuming tha t f is a smooth function where Vf(q) ~ 0 wheneverf(q) = 0, the equations of motion for frictionless contact can be written as

do M( q)--~ = k( q, v) - ~TV( q) + N Vf( q). (3)

Usually, we write n(q)=Vf(q) as the normal vector into the region of admissible configurations. The contact conditions can be represented as a complementarity condition:

f(q) >~ 0, N~>0, f ( q ) N = 0. (4)

Frictional problems include a frictional force F which belongs to a suitable linear subspace of the generalized co-ordinates. It is further restricted by the normal contact force N. More precisely, we require that F E N FCo(q) where FCo(q) is a convex, balanced ( - FCo(q) = FCo(q) ) set in the space of generalized forces. The vector space span FCo(q) generated by FCo(q) represents the plane in which the friction forces act. This plane must not contain the normal direction vector n(q); otherwise, it would not be possible to separate normal contact forces from frictional forces. In the case that n(q) is in span FCo(q), either the component of FCo(q) in that direction is redundant, or friction forces could be used to 'glue' the bodies together.

For a single contact between three-dimensional bodies, this plane is typically two-dimensional, representing the tangent plane to the bodies in contact at the contact point. Multiple contacts and 'soft finger contact' [27] will change the number of dimensions spanned by FCo(q). The set of possible contact forces is the friction cone:

Page 4: Time-stepping for three-dimensional rigid body dynamics

186 M. Anitescu et al. / Comlmt. Methods Appl. Mech. Engrg. 177 t 1999) l&~-197

FC( q) = { F + N n(q) lF ~ N FC,,( q) } (5)

which is a closed, convex cone for each q. If there is no contact, then the total contact clearly must be zero: FC(q) = {0}.

Given the friction cone FC(q), Coulomb's friction law can be cast in terms of the maximal dissipation principle [23] which states that the frictional force maximizes the energy dissipation rate over all possible friction forces F, given the normal contact force N. This formulation can be used to describe non-isotropic friction, as occurs in ice-skating for example.

2.2. Time-stepping methods

Time-stepping methods for rigid body dynamics are based on the idea of using integrals of the forces over each time-step, rather than trying to find the instantaneous forces at each instant, and using the results to drive an ODE solver of some kind. Since the friction cone FC(q) is scale-invariant, the short-time integrals of the contact forces also belong to approximations of the friction cone. The maximal dissipation formulation of Coulomb ' s law can also be applied to the short-time integrals, provided the velocity at the end of the time-step is used to determine the direction of slip. The contact condition (no contact implies no contact forces) can be easily represented, although the way that this is done has implications for the representation of the impact type (inelastic, partly elastic, or perfectly elastic).

The basic formulation presented in this section is for inelastic impact. It is based on the formulations of Stewart and Trinkle [59,60] and Anitescu and Potra [4]. Work on the convergence theory of related formulations of rigid body dynamics can be found in [56,58].

The basic formulation uses a polygonal approximation to the friction cone:

~'C(q) = cone { n(q) + txd,(q)li = l . . . . . r } (6)

Note that coneX is the smallest cone containing X; it is the set of all linear combinations %.vj + • • • + a~x k where x~ E X and o~i/> 0 for all i.

Let h > 0 be the time-step used, and let D ( q ) = [d,(q),d2(q) . . . . . d,.(q)]. The time-stepping formulation given the configuration qt and velocity v t for time t t = lh, provides a way of computing the configuration qt+ l and velocity v ~+' for time tt+ t = ( / + 1)h. In the process, additional quantities are computed, such as the

/+1 n(qt) + D(qt) f i t+, . integrated contact forces c,, The time-stepping formulation is presented as a mixed complementari ty problem: l f f ( q t + h v t) ~< 0. then

M(qt+l)(vt+, v t) , /, i+, , v / - = n t q ) c , , + D ( q t ) f l I+ +h[k (q t, ) - V V ( q t ) ]

. / . r / + i / + l ~ 0 O ~ n t q ) v ± e,,

O ~ ) t t + l e + D ( q / ) T o t+l ± /~/+l ~ 0

0 ~ < / x c l + l _ e - r f i t + l ± f f + l ~ > 0 (7)

Note that e is a vector of all ones e = [ 1, 1 . . . . . 1] 1 of the appropriate size. In this case, the dimension of e is / ~ 1 / ~ / + 1 the number of columns of D(q). Also note that c,, , , and the step size h > 0 are scalars, while fit~ J is a

vector. Also note that " a l b ' means that aTb = 0, or if a and b are both scalars, that a b = 0. The quantity ff~ . t T t ~ l is not in itself a physical quantity, although it is usuaily equal to max#i ( q ) v , which represents the sliding

velocity at the contact. Note that if M(q) is constant, then (7) can be reduced to a linear complementari ty problem (LCP) [12] in

~- t+J and fit+, (el, + ' , / 3 t~ ~, i f+ ~) by substituting for v j ' in terms of e,, . It can be shown in the case of constant M(q) that the matrix for the reduced LCP is copositive [12, pp. 176-184], and from this, that solutions for (7) exist and can be found using Lemke 's algorithm [12, pp. 265-288] .

The conditions of (7) can be interpreted physically. The first line is simply a discrete approximation to the equations of motion. The second line is the contact condition: no contact force unless there is contact at the end of the time-interval. The right-hand side of line 3, and the left-hand side of line 4 of (7) imply that the contact

Page 5: Time-stepping for three-dimensional rigid body dynamics

M, Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 1 8 7

A / + 1

force mq)c,, + D(q)/3 I+' lies in the approximate friction cone FC(ql) . Unless/3/+, = 0 (i.e. no friction force), ~ / ~ T / + 1 ~ / / ~ T / + 1 the complementarity condition in line 3 implies that/31 +~ > 0 only if aAq ) v minimizes ai~ q ) u over all

j. That is, the friction force /3/+, maximizes the dissipation - ( / 3 / + I)TD(ql)TuI+, over all permissible /3/+,. Finally, the complementarity condition on line 4 implies that the contact force n(q)cl, + ' + D(q)/3 I+ ~ must lie on

A the boundary of the approximate friction cone FC(ql) , unless D(q/)Tv/+~ = 0; that is, the total contact force can only lie strictly inside the friction cone if the sliding velocity is zero.

2.3. Convergence theory and the continuous problem

A proper mathematical framework to describe rigid body dynamics must handle inequalities, impulsive forces and discontinuous relationships, such as arise in Coulomb friction. In order to incorporate impulses, the theory should be grounded in measure theory on the real line. A measure ~ is a function of sets E in the real line R: /z(E) is a real number, or perhaps a vector. For rigid body dynamics, # (E) is usually understood as defining the total impulse, the integral of the force, acting over the time represented by the set E C R . If there are no impulses in the set E, and the (finite) force at time t is F(t), then

= f f(t) dt E

is the total impulse over the time period represented by E. Discontinuities from Coulomb friction provide another challenge. Even with known normal contact forces

which do not have impulses, the equations of motion for one object sliding against another are discontinuous. As such, the equations of motion do not necessarily have solutions [18-20]. What is needed is to change the problem from a discontinuous differential equation to a differential inclusion: Replace

du do m - ~ = F(q, u) with m ~ ~ F(q, u)

where F(q, u) is a set-valued function of (q, u). Where F is continuous, F is single-valued and continuous; where F is discontinuous, F is set-valued. The set F(q, u) is the convex hull of the limits of F(~, 6) for points (~, 6) converging to (q, u).

The mathematical theory that can best deal with these two issues is that of measure differential inclusions invented by J.J. Moreau, and used by Monteiro-Marques [37,40,42,43]. These are differential inclusions having the form

du dq E K(q) +f(q, u), dt - g(q' u)

where f(q, u) and g(q, u) are ordinary continuous functions of (q, u). Note that K(q) is a set-valued function which has closed, convex values, and whose graph { (u, q)lu ~ K(q) } is a closed set. The equations of motion with the friction cone in place of the contact forces is a suitable measure differential inclusion:

du dq M(q)--~EFC(q)+k(q,u)-VV(q), d-7 = u. (8)

Alternatively, it can be described as a measure differential equation:

du dq M ( q ) ~ =n(q)c''+D(q)/3+k(q'u)-~TV(q)' dt -u , (9)

where c,, is the normal contact force measure, and D(q)/3 is the frictional force measure. Using the measure differential equation representation, we need to add conditions to the measures c,, and /3 to ensure that 'n(q) c, + D(q)/3 E FC(q)' for all time.

Other conditions can be described directly in terms of complementarity conditions, and other relationships involving measures and functions. For example, the contact condition can be simply described by the conditions

Page 6: Time-stepping for three-dimensional rigid body dynamics

188 M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197

f(q(t)) >i 0 for all t

c,, >I 0 as a measure, (10)

f f(q(t))c,,(dt) = O.

The condition that 'c,,/> 0 as a measure ' simply amounts to requiring that c,,(E) >>- 0 for all Borel measurable sets E; or, alternatively, that

f &(t) c,,(dt) >! 0 ( 11 )

for all continuous functions ¢ where ¢( t ) /> 0 for all t. The requirement that the contact force lie inside the A

approximate friction cone FC(q(t)) becomes the requirement that

m

/zc,, - ~ / 3 i ~>0 as a measure. (12) r - - I

The maximal dissipation property can be represented as

f[(maxjdj(q(t))Vv +(t)) + d~(q(t))Vv +(t)]/3i(dt) = 0 (13)

for all t. The main problem for the convergence theory is to show that the numerical trajectories (qh(.), vh(.)) produced

by a t ime-stepping scheme such as (7) converge (in some suitable sense) to a limit as the step size h,[.0, and that these limits satisfy all the conditions required in the continuous problem. This usually amounts to showing that

h h h • / + 1 for a subsequence of ( q (.), v (.)), q (.)---> q(.) uniformly, while vh(.) -e u(.) pointwise. The impulses c,, and /3 ~+' re use" " r " /, ,.-,/t,q ~+~ , r~h_Er , t / , / f~+~ a a to const uct measures c,, = z~_ o c,, ana ,.. - ~=0 t-- , for which there are subsequences which converge weak* to measures c,,(-) and /3(.).

The strongest convergence proof for problems of this kind can be found in [58]. A summary of the results and a sketch of the proof can be found in [56].

2.4. Multiple contacts

Multiple contacts do not require completely new ways of re-formulating contact problems. Rather it is a matter of adding contact forces and contact constraints appropriate for each contact. So, for the j th contact, there is a contact normal n~i~(q) with a normal contact force cl/~, a matrix of direction vectors D~J~(q) which define

the frictional forces D~i)/3 ()), and a constraint .f~i)(q)>~ 0 which represents the 'no-interpenetration' condition for the j t h contact. Let p be the number of contacts. Then, the corresponding formulation to (7) for multiple contacts is

M(ql+,)(vt+, v I) ~ ~n~j~. I, ~i~l+l D,i)(qt)/3~i t+l] - = l tq )c,, + + h[k(q I, v ~) -VV(q~)], j ~ J ( ( q, u)

O<~n~i~(ql)Vol+l l C~/1+'>~0 for j E J ( q , v ) ,

O<~A~il=le~i + D i(ql)Tvl+n _L /3~J)t+J>~O for j ~ K ( q , v ) ,

O<~tzcl/~l+I-eci~Tfl ~j~l+' l A ~~1+'>10 for j E J ( q , v ) , (14)

where J(q, u) = { j l f ~ i~(qt + h v/) < 0 }. As before, e ~i~ is a column vector of one of the appropriate size, which is the number of columns of D~i)(q). Each cl/~/+ l and a~i~ ~+, is a scalar, while each n ~j~(ql), fl~i~ ~+, is a vector; each D~J~(q I) is a matrix.

Note that the set of possible (total) contact forces is the sum of the friction cones for each of the contacts in generalized co-ordinates. (Note that adding bodies to a system means adding to the dimensionality of the q and v vectors, as well as adding to the set of possible contacts.)

Page 7: Time-stepping for three-dimensional rigid body dynamics

M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 189

Large systems of particles appear to produce large complementarity problems. Since even solving linear equations for n unknowns requires O(n 3) time using conventional algorithms, these problems seem to be extremely expensive. However, independent sub-systems can be solved independently. This means that a pair of bodies that are not in contact, and cannot be connected by pairs of bodies that are in contact, can be dealt with independently. Typically, no more than three to four bodies will be connected to each other in this way. Thus, instead of having to solve for tens, hundreds or thousands of bodies in a single system, one can solve a large number of small systems, which will take O(n) time instead of O(n 3) time.

It should also be noted that one of the most time-intensive aspects of multi-body dynamics problems with large numbers of bodies is collision detection. While this topic is beyond the scope of this article, it is an important issue, and has been extensively discussed in the robotics, graphics, and computational geometry literature (see e.g. [11,28,39]). These algorithms can be used with the above formulation to produce fast algorithms for rigid body simulations.

2.5. Equality constraints

Equality constraints can also be incorporated into the above formulation (7). This can be done by using Lagrange multipliers as (generalized) forces. Given a single unilateral contact, and a number of other equality constraints gi(q) = 0, i = 1,2 . . . . . q. we introduce a vector c . = [c..i, c~. 2 . . . . . c., u ]v of Lagrange multipliers. Then, (7) is replaced with: iff(q~ + h v ~) <~0, then

M(ql+l)(V I+j -- V I) = n(ql)cl, +t + D(ql)fl t+l + (~g(ql))Tc. + h[k(q t, v I) - W(q / ) ]

O~n(ql)Vv t+' 3_ c11 + 1 3 0

O<~Al+~e+D(ql)Vv I+1 l 1~/+1 ~ 0

0 ~ / Z C l , +] -- eTfl/+1 _[_ A/+l t > 0

O = Vg( ql)v I+ l (15)

Provided that

{Vgi(q)li = 1,2 . . . . . q } is linear independent for all q satisfying g(q) = 0, (16)

this complementarity problem can be solved. (Condition (16) is known as a constraint qualification in optimization, and is often necessary for Lagrange multipliers to exist.)

A practical problem with this version of the method is that the solution can 'drift ' from g(q) = 0. That is, the distance from the computed qt and the manifold { qlg(q) = 0 } can increase until the constraint does not hold in any practical sense. There are ways of correcting this problem, of which projection is the simplest. This technique involves periodically solving the Newton equations Vg(q ~+~ ) ~qt+ t = _ g(q~+ ~) __ in fact, finding the smallest such 8q~+~--and then setting q~+~e--q~+J+ F~q ~+~. If this is done often enough, then the computed solution will not drift far from the constraint manifold {q]g(q)= 0}.

If there are no unilateral contacts (i.e. the only constraints are equality constraints), then the system can be regarded as a differential algebraic equation (DAE) of index three. Constrained mechanical systems have been often discussed from the point of view of differential algebraic equations [5,8,10,15,50,52,62]. If all constraints are equality constraints, and the constraint qualification (16) holds, then there cannot be any unbounded forces, and more conventional DAE techniques can be used.

3. General (non-polyhedral) friction cones

The polyhedral approximations

A FC(q) = cone { n(q) + ~di(q)li -- 1,2 . . . . . p } (17)

Page 8: Time-stepping for three-dimensional rigid body dynamics

190 M. Anitescu et al. I Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197

give a versatile and general technique for dealing with a wide range of friction phenomena (e.g. 'soft finger' contact, anisotropic friction). However, these approximations have a number of drawbacks:

(1) They are approximate for contact between three-dimensional bodies. (2) They tend to favor particular directions. (3) They tend to require a large number of variables (ill +' , for i = 1,2 . . . . . p) to accurately represent the

friction force. Recently, some new techniques of Pang and Stewart [49] allow the use of general convex friction cones. Pang

and Stewart [49] consider general convex friction cones of the form

FC(q) = {n(q)c,, + #15( q)~t40~(c,,, /3, q) ~< 0, i = 1,2 . . . . . t!/~}

where

(1) (2) (3) (4)

(18)

each function &~(c,,,/3, q) satisfies the following conditions:

4)i(c',,, ~, q ) i s convex in /3. &~(c,,, 0, u) ~< 0 with equality holding if and only if c,, = 0. ,;b~(0,/3, u) ~ 0 implies /~ = 0 For all i = l . . . . . ni~, there exists a positive scalar y > 1 such that for all u, &~(c,,, 0, u) is positively homogeneous of degree y for c,, I> 0; i.e. for c, 1> 0,

~bi(rc,,, 0, u) = r ~' (hi(c,,, O, u), for all ¢/> 0.

Here, we also require that ~bi(c,,,/3, q) is homogeneous in ~ with exponent y in order that FC(q) is a true cone; that is, that if z E FC(q), then so is cez E FC(q) for any a ~> 0. Note that the formulation (18) includes the polyhedral approximations to the friction cone (with y = 1). It also includes the standard quadratic friction models for contact between three dimensional bodies:

FC(q) = {n(q)c,, + ixlS(q)fl[U~ll 2 <~ c,, }, (19)

in which case ~(c.,/3. q) = (/xc,,)- II It_;. The maximal dissipation principle applied to the time-stepping formulation says that /3z+' = D is chosen to

maximize

-- (V/+ I )T/)(q/)T]~ (20)

over all /3 satisfying &~(c,,,/0, q)~<0 for i = 1,2 . . . . . nl,. This can be expressed in complementarity form through the Kuhn-Tucker conditions, except for the case when c,, = 0, /~ = 0. At c,, = 0, /3 = 0 constraint qualifications fail. The simplest applicable constraint qualif ication in this case is Slater's which requires an interior point in the feasible set for convex constraint functions. For the case c,, = 0, though, this fails. To handle this, a Fritz John condition [30] is used with a Fritz John parameter that is related to the value of c,, and to the homogeneity constants y:

(C,,)r15(q)Tv '+' - - ~ , A, VB4),(c,,, ~, q) = O, i = 1, 2 . . . . . n,, i=, (21)

0 ~< a.,, A,4(c,,,/3, q) = 0,

The time-stepping scheme with this formulation of the Coulomb law for general friction cones becomes: If

f(q~ + h v I) <~ O, then

M(ql+' ) (v I + l - v t)=ntq" i,;c,,l+l + b ( q , ) ~ l +,

/+1 ~ > 0 O<~n(ql)Vv I+' ± C,,

O<~a L 4)(c,, ,~,q)<~O,

n f~.

(c,,)~b(q)Vv '+' -- ~] A, Vf~&i(c,,, ~, q) = O, i = l

+ h[k(q I, v I) - VV(q/)]

(22)

Page 9: Time-stepping for three-dimensional rigid body dynamics

M. Anitescu et al. / Comput. Methods AppI. Mech. Engrg. 177 (1999) 183-197 191

While the original t ime-stepping scheme (7) is a LCP for constant M(q), the new formulation is a highly nonlinear mixed complementari ty problem.

3.1. Theoret ical issues

The nonlinearity of the mixed complementari ty problem (22) means that linear complementari ty theory [12] cannot be applied. Instead, a homotopy argument is used in [49] to show that solutions exist for problems of the same type as (22).

One of us (Anitescu) proposed alternative to this approach using an infinite, but cont inuously indexed, family of direction vectors d(s, q) for s E [ - 1, + 1] with d(s, q) = - d(s + 1, q) for - 1 ~< s ~< 0, instead of a finite matrix D ( q ) = Ida(q) , d2(q) . . . . . dp(q) ]. For example, we could take d(s, q ) = cos( r rs )d~(q)+ sin(rrs)d2(q) to describe two-dimensional isotropic friction. Take finite approximations

DN(q) = [ d(sl , q), d(s2, q) . . . . . d(SzN, q) ]

for sequences O ~ s ~ < $ 2 < ' ' ' < $ 2 N ~ 1 where S i + u = S i "3V 1 so that d i + u ( q ) = - d g ( q ) . Then, previous existence theory can be applied (see, [58, Lemma 2], or [60, Section 3.2] for the linear complementari ty formulation). Index the finite sequences s j < s 2 < • • • < S ZN by N, and let q(N):t +1, o(Nt:I+I, c(IN):/+ I and /~(N)zt+ I

be the solutions for D(q) = DN(q) in (7). Then by compactness, there are subsequences N where q~N):t+ I ~ q/+l, CN~:~+J ~ t+~ for N---)oo in N. While the fl~N~:~+~ cannot converge as N--- )~ , the limit o (N);t+l - - -~0 t + l , and c,, c,,

• ,c, 2 N , - - J (N) : t+ I o z ON(q/)l~(u):/+l .__)El+ 1 can be found. In fact, the limit fit+ ~ of the measures fl~U~:Z+ ~(S) = Z,~= ~t~ O~S -- S~) is a solution of the complementari ty problem

M(ql+J)(vt+ 1 _ v I) = n (q )c,, + d (q ~, s)f i ~+~ (ds) + h[k(q ~, vZ)-VV(qZ)[ , I

I - I , + l J

/ + 1 O ~ n ( q / ) m v / + l I C, >!0

O<~A I+l + d ( s ,q l )Tv t+l I /3/+](s)~>0 f o r a l l s

O<~tzcl, +l - f /31+J(ds) A_ A l+j />0 (23)

[ - l , + l l

where /3 t+ ~ is understood to be a measure on [ - 1 , + 1]. Note that the middle complementari ty condition should be understood as saying that ,~/+ ~ + d(s, q t)Vv/+l/> 0 for all s; /3 I+j /> 0 as a measure; and that fi ].+ ~]('~/+ J + d(s, qt)mot+ ]) i~ t+ l(ds) = 0.

Another issue can arise with non-polyhedral friction cones in the context of multiple contacts. In generalized coordinates, each contact has an associated friction cone FC~i~(q). The combined friction cone when all contacts

are considered is F C ( q ) = FC~t~(q) + FC~Z~(q) + • • • + FC~"'~(q) where n is the number of contacts. This can lead to theoretical difficulties because the total friction cone FC(q ) is not necessari ly closed. If each of the FCi(q) is polyhedral, however, the total friction cone is also polyhedral and closed. This is not so for more general closed, convex cones.

Although having an open reaction coae is unlikely, it is a possibili ty that cannot be ruled out, as proved by the following three-dimensional example. The example consists of a particle in a 90 ° wedge, as shown in Fig. 1. The friction coefficients on both sides of the wedge are 1, which generate two 45 ° angle cones on each side of the particle. The particle is assumed to have radius 0, therefore no torque and inertia appear. Let K~, K 2 be the cone with normal nj and n 2, respectively.

Then, (0, - n, 0) v E K~, for any n ~ N . But also (1, n, l / 2n ) T ~ K 2, since

[0, 1, 1] [1, n, 1/2n] T n + (1/2n) 1 - ( 2 4 )

x/2~/n 2 + 1 + ( l / 4 n 2) , ,/2~(n + ( l / 2n ) ) 2 - x/2

which implies that the angle between [0, 1, 1] T and [1, n, 1/2n] T is exactly 45 °. This means that

Page 10: Time-stepping for three-dimensional rigid body dynamics

192 M. Anitescu et al. / Comput. Methods Appl. Medh. Engrg. 177 (1999) 183-197

i ISS i i #s

' , . . " N

Fig. 1. A configuration with a friction cone that is not closed.

l I

J

y

[1,n, 1 / 2 n ] T + [ O , - - n , O ] T = [ 1 , O , 1 / 2 n ] V C K l + K 2 , V n E N . (25)

But, [ 1 , 0 , 0 ] T ~ K ~ + K 2. Since

, 1 , 0 , ~ = [ 1 , 0 , 0 ] T (26)

and the entire sequence from the left side is in K~ + K 2, it follows that the sum cone is not closed. This problem can be avoided if the closure of the sum of the cones is pointed; that is,

(K I + K2) N - (K l q- K2) = {0}.

It should be noted that pointedness of the friction cone FC(q) is an essential part of the convergence proof in [58, Lemma 6]. Note that FC(q) needs to be pointed as well as closed to prove that weak* limits of solutions of a measure differential inclusions are also solutions [57], which is also used in the convergence proof in [58].

The main lesson that should be drawn from this, is that there are a number of theoretical issues that become problematic if the closure of the friction cone FC(q) fails to be pointed. There are two main issues here: (1) the variation of the computed velocities may not remain bounded, due to the numerical velocity trajectories ' cha t t e r ing ' - - r ap id ly jumping between several different values; and (2) attempting to find an approximate cone containing FC(dl) for any 4 sufficiently close to q will fail. To see why a useful outer approximation does not exist, suppose 0 # z E FC(q) f3 - FC(q). A suitable outer approximation cone K should contain a neighborhood of + z and - z. Since zero lies on the line between + z and - z, K would also contain a neighborhood of zero, which implies that the cone K contains the entire space R' .

3.2. Computational issues

The Pang and Stewart formulation (22) has some immediate computational implications: • LCP solvers are no longer appropriate for finding solutions because of the highly nonlinear complementari-

ty conditions. • On the other hand, many fewer variables need to be solved for.

Solving highly nonlinear complementari ty problems can be difficult. Complementari ty problems can be re-formulated as systems of equations that are, however, nonlinear and non-smooth. There has also been a great deal of recent work on Newton-type methods for non-smooth systems of equations [24,29,46-48,53-55].

While Newton-type methods have fast local convergence, they may fail to converge when started far from the solution. Fortunately for rigid body simulations, the solution from the previous step will often give a suitable

Page 11: Time-stepping for three-dimensional rigid body dynamics

M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 193

(close) starting point. However, if there is a change in the contact state (due to a collision for example) the complementarity problem to be solved will be radically different, at least for the bodies in contact with the colliding bodies. In order to ensure that the nonlinear complementarity problem is solved, global equation solving methods such as homotopy methods need to be used (see e.g. [1,2,33,61]). Care will be needed near the non-smooth points on the homotopy path. Care will also be needed to deal with the degenerate cases that inevitably occur in simulations of rigid body dynamics, such as the case of a wheel rolling without slip where this is both no friction force and zero sliding velocity.

4. Partly elastic contact

The foundation for our partly elastic contact model is the Poisson hypothesis. Under this hypothesis, the impact has two phases. In the first phase, compression, interpenetration is prevented by normal compression contact impulses. In the second phase, decompression, a fraction E N of each normal compression contact impulse is returned to the system (Poisson hypothesis [51]). The quantity E N is called (normal) restitution coefficient and may be different for any contact active during a certain collision, if multiple contacts are involved. Each of these phases are considered instantaneous, and only the velocity of the system but not its position, can change during the collision. Since (7) is formulated in impulses and velocities, it can be used to model both the compression and decompression. In each phase, there will be no impulse due to the external forces (h = 0), only intrinsic initial velocity and restitution impulses. Formally, hk(q ~, v ~) will be changed with the appropriate external impulse for each phase.

Let q be the position at which the collision occurs, v , v ~ and v + be, respectively, the initial, post- compression and post-collision velocities of the system. The superscripts c and d refer to data from the compression and, respectively, decompression phases. For one contact (resulted from a collision), the compression phase can be set up as

M(q)(v ~ - v ) = n(q)c, ~, + D(q l ) f l '

O<~n(q)Tv c 3_ C,~I >I0

0 <~ A¢e + d(q)Tv ~ ± 1~' >~ 0

0 ~/./,C~ -- eT/~ c 3- ,~c I> 0 (27)

It should be noted that, if the collision is proper (n(q)Tv - < 0, [17]), then v - will not be a solution of (27) and v ~ ¢ v - will be determined. As a result, c~, # O.

Based on the Poisson hypothesis, in the decompression phase there will be an external restitution impulse I, acting on the system. The post-collision velocity v + is a solution of the following mixed linear complementarity problem

M(q)(v + - v ~) = n(q)c,~ + D(q) f l d + I

O<~n(q)Vv + 3_ C,~>~O

o ~ A de + D( q) Tv d 3_ /~d~>O

0 ~/.1,C,~ -- eTj~ d 3_ ,A 0 ~> 0 (28)

With our assumptions, I,. = ENC,~,. However, our model can easily account for partially reversible tangential impulse which is exhibited, for example, in the collision of highly elastic materials ([21,51]). The restitution impulse in that case is 1~ = eNC, ~, + eTD(q) fit, where E T is the tangential restitution coefficient.

Solvability of the mixed linear complementarity problems is guaranteed for (27) and (28) [4,59]. Therefore, a v + will be available at the end of the collision resolution. However, simple examples show that the model (27)-(28) will not necessarily produce the right energy balance when several contacts are involved. The fact

Page 12: Time-stepping for three-dimensional rigid body dynamics

194 M. Anitescu et al. / Comput. Methods Appl. Medh. Engrg. 177 (1999) 183-197

I + + that the kinetic energy will not increase after the collision, 7v M(q)v <-½v-My , can be proven only for very special cases [4,51]. In particular, if friction is present, then the kinetic energy was proved to be nonincreasing only if e N = e v, which is a very unlikely particular case. Nevertheless, an interesting common denominator for all these particular cases is that v + = (1 + eN)V c - eNV-. Under the assumption that the collision is exactly detected when multiple contacts are involved it can be proved that (1 + ey)V c - eNV- is a part of a feasible point of (28) that satisfies the energy balance [4]. Therefore, for an expedient collision resolution, one could solve only (28) and choose v + = (1 + eN)U c -- e N O - .

5 . D i f f e r i n g r e p r e s e n t a t i o n s o f q a n d v

Often it is convenient to have different forms of representation for q and v so that 'dq/dt = v ' is no longer true. For example, if q represents the orientation of an object and v the angular velocity, then 'dq/dt = v' cannot be true globally as q represents the group of 3 × 3 orthogonal matrices with determinant + 1: SO(3). We can represent q directly by 3 × 3 orthogonal matrices, by unit quaternions, by Euler angles, or by Rodrigues vectors (see e.g. [3], Sections 2.3-2.4). Note that while the angular velocity is a 3-dimensional vector, there are nine parameters in a 3 X 3 matrix, four in a quaternion, and three for either Euler angles or Rodrigues vectors.

In any case, the general form relating q and v is given by

dq dt G(q) v (29)

for some matrix function G(q). For the case of representation by a 3 × 3 matrix, the equation relating q = vec Q to o = (0 is

O d - ~ = (0* Q (30) dt

where

- w 2 ] - - 0 (03 -[-

( 0 * = + (03 0 - - (01 .

- (02 + (0~ 0

This gives dq/dt = vec ((0* Q) = G(q)v where G(q) is linear in q. Similar equations can be developed for the other representations, except for Euler angles, which necessarily introduce singularities into the representation. (Rodrigues vectors have a similar problem, but since there are two Rodrigues vectors that represent any orientation except for the reference orientation, the singularity can be avoided by switching from one representation to the other when the singularity is approached.)

We need the following assumption:

G(q) is a full column rank matrix for all q. (31)

This is satisfied by all of the above orientation representation techniques excepting again the Euler angles at the singularity. This implies that the pseudo-inverse G(q) + is a continuous function of q, and G(q) + G(q) = I for all q.

Several things need to be changed in the formulation. One is the Lagrangian equation. The action is

S=fL(q,v)dt=f[½vVM(q)v- V(q)] at. (32)

We can write v = G(q)+(dq/dt). Then

s=fL(q,v)d,=f[½(aq)T +1- + d o V(q)] k - f [ / (G(q) ) M(q)G(q) d T - dt. (33)

The equations of motion without contact can then be derived as

Page 13: Time-stepping for three-dimensional rigid body dynamics

M. Anitescu et al. Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 195

d t - -~q = O, for all i. (34)

If we write/~t(q) = (G(q)+)VM(q)G(q) +, then we obtain

2

M(q) =/~(q, v) - VV(q) (35)

where/~(q, v) is quadratic in v and contains partial derivatives of ,Q(q). After some algebra, this can be reduced to an equation of the form

dv M( q) ~-~ = [:( q, v) - G ( q ) v W ( q ) (36)

where/~(q, v) is quadratic in v and contains derivatives of M(q) and G(q), as well as the values M(q), G(q) and G(q) + .

Since the formulation (7) uses constraints written in terms of q, but is used to update v, there are some additional modifications that need to be made. Note that i f f(q(t*)) = 0, then (d/dt)f(q(t))l,=,. >1 0 for feasibility of the trajectory. But (d/dt)f(q(t))l ,: , , =Vf(q(t*))T(dq/dt)(t *) =Vf(q(t*))TG(q(t*))V(t*). Instead of using the normal direction vector n( q) = Vf( q), we should use ~ ( q ) = G(q)~Vf(q) for the contact condition.

In order to preserve the symmetry of the formulation, as well as the correct physics, we need to note that the direction vector for the normal contact force in the velocity co-ordinates is r~(q)= G(q)TVf(q). Thus the formulation then becomes: I f f ( q ~ + h G(q ~) v ~) <~ O, then

M(q'+')(v '+l - v') = ~(q')cl, +' + D(q')/~ t+l + h[l~(q I, v') - G ( q ' ) T ~ l / ( q ' ) ]

I + 1 O ~ t ~ ( q l ) T o I+l I C,, ~ 0

O < ~ l + l e + D ( q l ) T o t+x l [3 j+l ~ 0

0 ~ ~Cl, =1 - - e T / ~ 1+1 l ,~/+1 / > 0 (37)

/ + 1 If we consider the situation where M(q) and G(q) are constant, and substitute for q~+ ~, v t+ ~ in terms of c,, and ,8/+~ we obtain a pure LCP for /+~ /3/+J and A/+~ As for (7), the matrix of this LCP is copositive, and C n ,

solutions can be found using Lemke's algorithm [12, p. 176ff, p. 265ff]. The theoretical properties of this generalization follow those of (7). The only additional practical

considerations for using, for example, quaternions, to represent orientation is that drift may lead to Iql significantly different from one. This can be remedied by projection and other techniques as are discussed in Section 2.5.

References

[I] E. Allgower and K. Georg, Simplicial and continuation methods for approximating fixed points and solutions to systems of equations, SIAM Rev. 22 (1980) 28-85.

[2] E. Allgower and K. Georg, Numerical Continuation Methods: an Introduction (Springer-Verlag, Berlin, Heidelberg, New York, 1990). [3] J. Angeles, Fundamentals of Robotic Mechanical Systems, Mech. Eng. Series (Springer, New York, Berlin, Heidelberg, 1997). [4] M. Anitescu and F. A. Potra, Formulating dynamic multi-rigid-body contact problems with friction as solvable linear complementarity

problems, ASME Nonlinear Dyn. 14 (1997) 231-247. [5] U.M. Ascher, H. Chin, L.R. Petzold, and S. Reich, Stabilization of constrained mechanical systems with DAEs and invariant manifolds,

Mech. Struct. Mach. 23(2) (1995) 135-157. Numerical integrating methods for multibody dynamics, Raleigh, NC, 1992. [6] D. Baraff, Fast contact force computation tbr non-penetrating rigid bodies, in: Proc., SIGGRAPH "94, ACM, ACM (1994) 23-34. [7] H. B6ghin, Sur certain problemes de frottement, Nouvelles Annales de Mathematiques (s&ie 2) 5 (1923-1924) 305-312. [8] K.E. Brenan, S.L. Campbell and L.R. Petzold, Numerical Solution of Initial-Value Problems in Differential-Algebraic Equations.

Number 14 in Classics in Applied Mathematics (SIAM Publ., Philadelphia, PA, 1996). Originally published by North Holland, 1989. [9] B. Brogliato, Nonsmooth Impact Mechanics: Models, Dynamics and Control. Number 220 in Lecture Notes in Control and Information

Sciences (Springer, Berlin, Heidelberg, New York, 1996).

Page 14: Time-stepping for three-dimensional rigid body dynamics

196 M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 18,7;-197

[10] A. Cardona and M. G6radin, Numerical integration of .second order differential-algebraic systems in flexible mechanism dynamics, in: Computer-Aided Analysis of Rigid and Flexible Mechanical Sy.stem.s (Tr6ia, 1993), Vol. 268 of NATO Adv. Sci. Inst. Ser. E Appl. Sci., (Kluwer Acad. Publ., Dordrecht, 1994) 501-529.

[I 1] J.D. Cohen, M.C. Lin, D. Manocha and M.K. Ponamgi, I-COLLIDE: An interactive and exact collision detection system for large-.scaled environments, in: Symposium on Interactive 3D Graphics. ACM SIGGRAPH, ACM Publ., April 1995.

[I 2] R.W. Cottle, J.-S. Pang and R.E. Stone, The Linear Complementarity Problem (Academic Press, Boston, San Diego, New York, 1992). Serie.s on Computer Science and Scientific Computing.

[13] E. Dela.s.sus, Con.sid~ration.s sur le fiottement de gli.s.sement, Nouv. Ann. de Math. (4~:me s~rie) 20 (1920) 485-496. [14] E. Dela.s.su.s, Sur le.s lois du frottement de glis.sement, Bull. Soc. Math. France 51 (1923) 22-33. [151 E. Eich and M. Hanke, Regularization method.s for constrained mechanical multibody systems, Z. Angew. Math. Mech. 75(10) (1995)

761-773. [16] M. Erdmann, On a repre.sentation of friction in configuration .space, Int. J. Robotics Res. 13(3) (1994) 240-271, [17] R. Feather.stone, Robotic.s Dynamics Algorithms (Kluwer Academic Publishers, Boston, 1987). [18] A.F. Filippov, Differential equations with discontinuous right-hand .side, Am. Math. Soc. Translations 42 (1964) 199-231. Original in

Russian in Math. Sbornik 5 (1960) 99-127. [19] A.F. Filippov, Classical solutions of differential equations with multivalued right-hand side, SIAM J. Control Optim. 5 (1967)

609-62 I. [201 A.F. Filippov, Differential Equations with Discontinuous Right-Hand Side (Kluwer Academic, 1988). [211 S.F. Foerster, M.Y. Louge, H. Chang and K. Allia, Measurement of the collision properties of small .spheres, Phys. Fluids 6 (1994)

1108-1115. [221 F. G~not and B. Brogliato, New re.suits on Painlev6 paradoxes. Euro. J. Mech. A/Solids (1998) to appear. Also available as INRIA

Re.search Report #3366 via ftp://flp.inria.fr/1NRIA/tech-report.s/RR/RR-3366.ps.gz. [23] S. Goyal, Planar .sliding of a rigid body with dry friction: limit .surface.s and dynamics of motion, Ph.D. Thesis, Mechanical Eng.,

Cornell University, Jan. 1989. I24] S.-P. Hart, J.-S. Pang and N. Rangaraj, Globally convergent Newton methods for non.smooth equation.s, Math. Oper. Re.s. 17(3) (1992)

586-607. [25] E.J. Haug, S.C. Wu and S.M. Yang, Dynamic.s of mechanical .sy.stem.s with Coulomb friction, stiction, impact and constraint addition,

deletion I, 11 and III, Mech. Machine Theory 21 (1986) 401-425. 1261 E.J. Haug and R.C. Deyo, eds., Real-fime integration methods for mechanical system .simulation, Vol. 69 of NATO ASI series F,

Berlin, New York, 1991. Springer-Verlag. NATO Advanced Research Workshop on Real-Time Integration Methods for Mechanical System Simulation (1989 : Snowbird, UT).

127] R.D. Howe and M.R. Cutkosky, Practical force-motion models for .sliding manipulation, Int. J. Robotics Re.s. 15 (1996) 557-572. [281 P.M. Hubbard, Approximating polyhedra with spheres tor time-critical colli.sion detection, ACM Tran.s. Graphics 15(3) (1996)

179-210. [29] H. Jiang and L. Qi, A new non.smooth equation.s approach to nonlinear complementarity problems, SIAM J. Control Optim. 35(I)

(1997) 178-193. 1301 F. John. Extremum problems with inequalities as subsidiary conditions, in: Studies and Essays (Inter.science Inc.. New York, 1948)

187-204. Presented to R. Courant on hi.s 60th birthday, January 8, 1948. [311 N. Kikuchi and J.T. Oden, Contact Problems in Elasticity: A Study of Variational Inequalitie.s and Finite Element Methods. Number 8

in SIAM Studies in Applied Mathematic.s (SIAM Publishers, Philadelphia, PA, 1988). 1321 F. Klein, Zu Painleves Kritik der Coulomb.schen Reibungsge.setze, Zeit. Math. Phy.sik 58 (1909) 186-191. 1331 M. Kojima, N. Megiddo and T. Noma, Homotopy continuation method.s for nonlinear complementarity problems, Math. Oper, Res.

16(4) (1991) 754-774. [341 P. L6tstedt, Coulomb fi'iction in two-dimen.sional rigid-body .sy.stems, Z. Angewandte Math. Mech. 61 (1981) 605-615. [351 P. L6tstedt, Mechanical .system.s of rigid bodies .subject to unilateral constraints, SIAM J. Appl. Math. 42(2) (1982) 281-296. [36] P. L6t.stedt, Time-dependent contact problems in rigid-body mechanic.s, Math. Prog. Study 17 (1982) 103-110. [37] M.D.P. Monteiro Marques, Differential Inclu.sions in Nonsmooth Mechanical Problems: Shock.s and Dry Friction, Vol. 9 of Progress in

Nonlinear Differential Equations and Their Applications (Birkh~iuser Verlag, Basel, Boston, Berlin, 1993). [381 M.T. Ma.son and Y. Wang, On the inconsistency of rigid-body frictional planar mechanics, in: Proc., IEEE Int. Conf. Robotics

Automation (1988) 524-528. 1391 B.V. Mirtich, Impul.se-based dynamic simulation of rigid body systems, Ph.D. The.sis, University of California, Berkeley, 1997.

Available via http://www.merl.com/people/mirtich/paper.s/thesis/the.si.s.html. 1401 J.-J. Moreau, Standard inelastic .shock.s and the dynamics of unilateral constraints, in: G. del Piero and F. Maceri, eds., Unilateral

Problem.s in Structural Mechanic.s, Vnl. 288 of C.I.S.M. Cour.ses and Lectures (Springer-Verlag, Vienna, New York, 1985) 173-221. 141] J.-J. Moreau, Une formulation du contact a frotternent .sec; application au calcul num~rique, Comptes Rendu.s Acad. Sci. Paris, S6rie II

302 (1986) 799-801. 1421 J.-J. Moreau, Bounded variation in time, in: Topic.s in Non.smooth Mechanics (Birkhfiu.ser, Basel-Boston, MA, 1988) 1-74. [43] J.-J. Moreau. Unilateral contact and dry friction in finite freedom dynamic.s, in: J.-J. Moreau and P.D. Panagiotopoulo.s, ed.s.,

Non.smooth Mechanics and Applications (Springer-Verlag, Vienna, New York, 1988) 1-82. International Centre for Mechanical Sciences, Courses and Lectures ,4'302.

144] J.-J. Moreau, Numerical experiments in granular dynamic.s: Vibration-induced .size segregation, in: M. Raous, M. Jean and J.-J. Moreau, ed.s., Contact Mechanics (Plenum Pres.s, New York, 1995) 347-158. Proc. 2nd Contact Mechanics International Sympo.sium, September 19-23, 1994 in Carry-Le-Rouet, France.

Page 15: Time-stepping for three-dimensional rigid body dynamics

M. Anitescu et al. / Comput. Methods Appl. Mech. Engrg. 177 (1999) 183-197 197

[45] E Painlevr, Sur le lois du frottement de glissemment, Comptes Rendus Acad. Sci. Paris 121 (1895) 112-115. Following articles under the same title appeared in this journal 141 (1905) 401-405 and 546-552.

[46] J.-S. Pang, Newton's method for B-differentiable equations, Math. Oper. Res. 15(2) (1990) 311-341. [47] J.-S. Pang, A B-differentiable equation-based, globally and locally quadratically convergent algorithm for nonlinear programs,

complementarity and variational inequality problems, Math. Prog. 51 ( 1991 ) 101 - 13 I. [48] J.-S. Pang and L. Qi, Nonsmooth equations: motivation and algorithms, SIAM J. Optim. 3(3) (1993) 443-465. [49] J.-S. Pang and D.E. Stewart, A unified approach to frictional contact problems, Int. J. Engrg. Sci., in press. [50] L.R. Petzold, Computational challenges in mechanical systems simulation, in: Computer-Aided Analysis of Rigid and Flexible

Mechanical Systems (Trria, 1993), Vol. 268 of NATO Adv. Sci. Inst. Ser. E Appl. Sci. (Kluwer Academic Publishers, Dordrecht, 1994) 483-499.

[51 ] F. Pfeiffer and Ch. Glocker, Multibody Dynamics with Unilateral Contacts. Wiley Series in Nonlinear Science (J. Wiley and Sons, New York, 1996).

[52] F.A. Potra, Numerical methods for differential-algebraic equations with applications to real-time simulation of mechanical systems, Z. Angew. Math. Mech. 74(3) (1994) 177-187.

[53] L. Qi, Trust region algorithms for solving nonsmooth equations, SIAM J. Optim. 5(1) (1995) 219-230. [54] L. Qi, On superlinear convergence of quasi-Newton methods for nonsmooth equations, Oper. Res. Lett. 20(5) (1997) 223-228. [55] D. Ralph, Global convergence of damped Newton's method for nonsmooth equations via the path search, Math. Oper. Res. 19(2)

(1994) 352-389. [56] D.E. Stewart, Existence of solutions to rigid body dynamics and the paradoxes of Painlevr, Comptes Rendus de l'Acad. Sci., Srr. 1 325

(1997) 689-693. [57] D.E. Stewart, Reformulations of measure differential inclusions and their closed graph property, J. Am. Math. Soc., submitted. [58] D.E. Stewart, Convergence of a time-stepping scheme for rigid body dynamics and resolution of Painlevr"s problems, Arch. Rat. Mech.

Anal. 145(3) (1998) 215-260. [59] D.E. Stewart and J.C. Trinkle, Dynamics, friction and complementarity problems, in: M.C. Fenis and J.-S. Pang, eds., Proc. Int. Conf.

Complementarity Problems (SIAM Publishers, Philadelphia, PA, 1996). [60] D.E. Stewart and J.C. Trinkle, An implicit time-stepping scheme for rigid body dynamics with inelastic collisions and Coulomb

friction, Int. J. Numer. Methods Engrg, 39(15) (1996) 2673-2691. [61] L.T. Watson, S.C. Billups and A.P. Morgan, Algorithm 652: HOMPACK: A suite of codes for globally convergent homotopy

algorithms, ACM Trans. Math. Software 13 (1987) 281-310. [62] J. Yen, EJ. Haug and T.O. Tak, Numerical methods for constrained equations of motion in mechanical system dynamics, Mech. Struct.

Mach. 19(1) (1991) 41-76.