Sei sulla pagina 1di 15

Mechanism and Machine Theory 105 (2016) 568–582

Contents lists available at ScienceDirect

Mechanism and Machine Theory


journal homepage: www.elsevier.com/locate/mechmt

A linear complementarity formulation for contact problems


with regularized friction
Farnood Gholami a, * , Mostafa Nasri a,1 , József Kövecses a , Marek Teichmann b
a
Department of Mechanical Engineering and Centre for Intelligent Machines, McGill University, 817 Sherbrooke Street West, Montreal, Quebec H3A 2K6, Canada
b
CM Labs Simulations Inc., 645 Wellington Street, Montreal, Quebec H3C 1T2, Canada

A R T I C L E I N F O A B S T R A C T

Article history: A mathematical formulation in terms of a linear complementarity problem with regularized
Received 7 April 2016 friction is introduced for multibody contact problems. In this approach, contacts are character-
Received in revised form 18 July 2016 ized based on kinematic constraints while the friction forces are simultaneously regularized
Accepted 20 July 2016 and incorporated into the formulation. The variables of the resulting linear complementarity
Available online 20 August 2016
problem are only the normal forces. The main advantage of this formulation is that the dimen-
sion of the resulting linear complementarity problem is significantly less than its counterpart
Keywords: formulations in the literature, and hence, faster simulations can be achieved. The proposed
Multibody systems formulation is examined for a set of benchmark examples yielding promising results.
Contact dynamics © 2016 Elsevier Ltd. All rights reserved.
Linear complementarity problems
Regularized friction

1. Introduction

Contact modelling, simulation, and analysis of mechanical systems need proper treatments due to the non-smooth nature
of the problem. Constraint and explicit force representation formulations are two main approaches to deal with the contact
problems [11,16,17,28,36]. In constraint based approaches, the contact problem is formulated by imposing the kinematic
unilateral constraints between bodies in contact. Such a representation was first formulated in Ref. [30], which was further
expanded using methods of modern mathematics such as measure differential equations that may directly lead to effective
numerical algorithms for contact problems [29].
For frictionless sustained contacts, a complementarity problem can be formed using the fact that either normal contact
velocity or force exists at each time instance. In this case the resulting mathematical model is a linear complementarity problem
(LCP) and relatively straightforward to solve, because it can be proven that such an LCP always has a solution [27]. By adding the
Coulomb friction, as one of the most common friction models, this phenomenon can be still represented by a complementarity
problem but the resulting cone is not a positive orthant and hence, non-linear optimization techniques needs to be considered,
such as the Gauss–Seidel or fixed-point iteration methods [5,22,23,31]. Another possibility is to derive a linear complementarity
problem based on a polyhedral approximation of the actual friction cone [4,17,43]. In this case, the resulting LCP formulation
can be stated at the acceleration [17], velocity [4] or position [43] levels. Acceleration level formulations are not guaranteed to
always have a solution. This was one of the motivations to propose an LCP formulation at the velocity-level [4]. The formulation

* Corresponding author at: Department of Mechanical Engineering and Centre for Intelligent Machines, McGill University, 817 Sherbrooke Street West,
Montreal, Quebec817 Sherbrooke Street West, Montreal, Quebec, H3A 2K6, Canada.
E-mail addresses: farnood.gholami@mail.mcgill.ca (F. Gholami), m.nasri@uwinnipeg.ca (M. Nasri), jozsef.kovecses@mcgill.ca (J. Kövecses),
marek@cm-labs.com (M. Teichmann).
1
M. Nasri is currently with the Department of Mathematics and Statistics, University of Winnipeg, 515 Portage Ave, Winnipeg, MB, R3B 2E9, Canada.

http://dx.doi.org/10.1016/j.mechmachtheory.2016.07.016
0094-114X/© 2016 Elsevier Ltd. All rights reserved.
F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 569

arose as a result of applying time-stepping schemes for the system of dynamic equations and constraints, and then forming
an LCP. It was shown that with such a technique, the solvability of the resulting LCP can be guaranteed [4]. Although the LCP
velocity-level formulation is among the most reliable approaches, the solution set might not always be convex, and hence,
some difficulties could still arise [3]. Furthermore, penetration can happen as the unilateral constraints are expressed at the
velocity-level and not the position level. As an alternative formulation, the LCP can be expressed at the position-level [43]. Such
a formulation can guarantee that no penetration happens as the unilateral constraints are expressed in the position level but
the allowable motion of the interacting bodies can be unrealistically restricted [44].
There are other possibilities than the time-stepping schemes in the literature to deal with non-smooth contact dynamics [36].
Event-driven schemes divide the dynamic problem into the smooth and non-smooth events. In such methods, established
constraints are identified (event detection), and contact forces are computed in such detected events via solving linear or non-
linear complementarity problems [1,37]. There is also a completely different approach to deal with contact dynamics, which is
based on the Augmented Lagrangian formulation. In such an approach, the constraints and dynamics formulations are expressed
as the so-called prox formulation, which could bring computational advantages for solving contact problems [2,36].
Considering the LCP formulations, and regardless of how they are formulated, for the solution a well-known category of
approaches is based on the so-called simplex methods, which are known as the direct or pivoting methods as well [14,24,32].
Another group of solvers are based on iterative algorithms. Among those are the projected Gauss–Seidel, non-smooth non-linear
conjugate gradient, sequential quadratic programming methods, and Jacobi-based solvers [5,22,23,31].
On the other hand, in the explicit force model approaches, the complementarity conditions disappear by relaxing the normal
direction and characterizing the normal force based on an appropriate constitutive relation. A selected friction model is then
incorporated into the equations. One of the earliest contact force models is the Hertz model [20]. In this model, the normal force
at each contact point is characterized based on a stiffness and power function of the penetration level between the interacting
bodies. Different stiffness and power exponent values are suggested for different applications. For instance, there are models for
two spheres of isotropic material [18], two cylinders [9], a cylinder and a half space [33], and spur gears [45]. It is shown that
the Hertz-based contact models are usually more appropriate for hard materials and low initial impact velocities [18]. For soft
materials or high initial velocities strain rate effects need to be considered as well [41]. Therefore, Goldsmith [18] and later on
Lankarani and Nikravesh [26] proposed models for the case of permanent penetration in soft material. A main advantage of Hertz
model and its extensions is that the material and the geometrical properties are reflected in the model but certain weaknesses
exist which stem from the assumption of small contact area, and the absence of energy dissipation consideration in these
models [28]. The Kelvin and Voigt approach is one of the first contact models with the consideration of dissipative term [18].
Other contact force models with the dissipation consideration were also proposed in the literature [16,28]. While each of these
models could more appropriately capture certain aspects of the contact behaviour, they might introduce numerical complexities
and artifacts into the calculations. Although by increasing the stiffness values, the model can more accurately capture the rigidity
of the contact surface, stiffer differential equations could be obtained at the end. The stiff differential equations are prone to
well-known numerical challenges [42]. For instance, small enough time-steps are usually required to achieve stable results.
Also, there are additional parameters in these models that need to be tuned based on the specifications of each problem, which
make the methods not very user-friendly.
In this paper, an alternative formulation is proposed, which is based on imposing unilateral constraints for contacts while
friction forces are regularized in the formulation. As the Coulomb friction does not have an explicit constitutive representation
in the static phase, one approach is to regularize the friction force in this phase. By regularized friction it is meant that the static
friction forces are approximated by constitutive relations expressed in terms of the generalized coordinates or velocities. The
regularization may be done based on the position related variables (e.g., Bristle [19] and LuGre [12] models) or velocity [15].
Eventually, the friction force depends on either the normal force (in the kinetic phase) or position/velocity of the body and the
regularization parameters (in the static phase). Such a friction regularization, with the cost of approximating the friction forces,
can make the mathematical formulation of the contact problem at hand numerically simpler. Despite the common approaches
that the regularized friction force is usually used together with the compliant force relations in the normal direction [16,28],
here the friction regularization is combined with the unilateral constraints in the normal direction. With this representation, the
dimension of the resulting complementarity problem is reduced, and hence, the computational cost of the proposed approach is
reduced. This could have significant importance, specially for real-time simulation of mechanical systems with large number of
contacts. In the proposed contact dynamics formulation, the challenges of handling stiff differential equations in the compliance
based approaches will be avoided as no relaxation is imposed in the normal direction. Such a formulation, as well as its validity
and applicability, will be addressed in this paper.

2. Dynamics formulation

Let us consider a mechanical system, the motion of which is parameterized by n generalized velocity components collected
in n × 1 array v, and the configuration of the system is represented by nc generalized coordinates given in nc × 1 array, q. The
time rate of change of q is related to v as

q̇ = Cv, (1)
570 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

where C = C(q) is an nc × n transformation matrix. With this parameterization we consider that the mechanical system can
initially be represented by dynamic equations

Mv̇ + c = f, (2)

where M is the n × n generalized mass matrix, c is the n × 1 array of Coriolis and centrifugal terms and f is an n × 1 array of the
generalized forces.
The generalized forces can further be decomposed depending on how the elements of the system interact with each other,
and with the environment. We consider that the interactions within the system and with its surroundings consist of mu direct
unilateral contact and mb bilateral connections such as joints-related constraints.
Based on this the generalized forces can be decomposed as

f = AT k + NT kn + DT kt + fa , (3)

where k represents the mb × 1 array of generalized interaction forces associated with the bilateral connections, kn is the mu × 1
array of the normal interaction forces associated with the unilateral contacts, and kt is the 2mu × 1 array of the tangential
interaction force components of the unilateral contacts, fa is the n × 1 array of the generalized applied forces acting on the
system. Each column of the n × mb matrix AT provides a projection/decomposition of the associated bilateral interaction force in
terms of the basis of the generalized velocities. The same way, n × mu and n × 2mu matrices NT and DT interpret the generalized
interaction forces of the unilateral contacts; NT is related to the normal contact forces, while DT transforms the tangential contact
forces to generalized force components in terms of the basis associated with the selected generalized velocities.
If the bilateral and unilateral interactions are characterized by constraints then we can consider mb bilateral constraints
associated with interaction forces k as

Av + b = 0, (4)

where A can be seen as a constraint Jacobian and mb × 1 array b can contain explicitly time-dependent terms. If the constraints
are scleronomic then Eq. (4) can be reduced to the configuration level as

v(q, t) = 0, (5)

where v(q, t) is the array of the configuration-level constraints and in such a case ∂∂vq C = A. We can consider that the constraints
representing the unilateral contacts along the normal directions can be expressed as

0(q) ≥ 0, (6)

where 0 = [01 , 02 , . . . 0mu ]T is the mu × 1 array of unilateral constraints, The elements of this array can also be called gap
functions representing whether or not the contact is closed. We assume that any element 0i (q) (i = 1, . . . , mu ) is continuously
differentiable. Then at the velocity level we can obtain

∂0 ∂0
q̇ = Cv = Nv ≥ 0 (7)
∂q ∂q

for closed contacts where now N = ∂∂ 0q C plays the role of the constraint Jacobian for the normal directions of the unilateral
contacts.
For these constraints we also have to consider the complementarity conditions [17]. These can be expressed at the
configuration level as


⎨kn ≥ 0

0≥0 (8)


⎩k 0 = 0 i = 1, . . . , mu
n i i

and at velocity level when the contacts are closed as




⎨kn ≥ 0

0̇ = Nv ≥ 0 (9)


⎩k d = 0 i = 1, . . . , m .
n i n i u
F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 571

Finally, the complementarity conditions at the acceleration level can be expressed as




⎨kn ≥ 0

0̈ = Nv̇ + Ṅv ≥ 0 (10)


⎩k 0̈ = 0 i = 1, . . . , m .
n i i u

If we assume that no tangential forces are present at the unilateral contacts, and that all the applied generalized forces, fa , are
known in Eq. (2) and the unknowns are the generalized accelerations v̇ and the constraint reactions k and kn , then the dynamic
equations,i.e.Eq.(2),togetherwiththebilateralandunilateralconstraintsandcomplementarityconditionsattheaccelerationlevel,
i.e. Eq. (10), represent mathematically a mixed linear complementarity problem (MLCP) that can be written as


⎪ T T
⎨Mv̇ = A k + N kn + fa
Av̇ + Ȧv = 0 (11)


⎩0 ≤ k ⊥ 0̈ = Nv̇ + Ṅv ≥ 0,
n

where ⊥ is the complementarity operator.


A main modelling challenge in general is the proper representation and incorporation of the tangential forces at the unilateral
contacts due to friction. For this, first we need to parametrize the tangent planes for each unilateral contact. We will consider
two orthogonal basis vectors to define the tangent plane of each contact. For a system model the analyst needs to interpret the
meaning of relative velocity in terms of how it is interpreted with respect to the contacting bodies. For contact i, the relative
tangent velocity can be represented as wi = wi1 ei1 + wi2 ei2 where ei1 and ei2 are the unit vectors and wi1 and wi2 represent the
scalar velocity components. These scalar components have to be interpreted in terms of the generalized velocities; this generally
leads to
   
wi1 di1
wi = = v = Di v, (12)
wi2 di2

where di1 and di2 are 1 × n arrays interpreting the tangential velocity components at contact i in terms of the generalized
 T
velocities v. If we collect all tangential velocity components in array w = wT1 wT2 . . . wTmu then the transformation
relationship between generalized velocities and tangential velocity components can be written as

w = Dv, (13)

 T
where D = DT1 DT2 . . . DTmu can be seen as the Jacobian of the tangential direction of the unilateral contacts; the transpose
of this, DT , appears in Eqs. (2) and (3) for the transformation of the tangential force components kt . This array of tangential force

T
components can also be decomposed to 2 × 1 elements associated with each contact as kt = kTt1 kTt2 . . . kTtmu where

T
kti = kti kti gives the two tangential force components for contact i.
1 2
If we consider that the tangential forces arise due to friction, then we need to make a difference between static and kinetic
phases of friction. If contact interface i is in the static phase, then it means that relative velocity is zero, leading to constraints

Di v = 0, (14)

which implicitly defines the friction force components as constraint forces as long as the contact is able to develop these forces
to prevent sliding. Once the threshold force value is reached, the contact will transition to the kinetic phase. The threshold value
equals the static coefficient of friction times the normal contact force.
In the kinetic phase, the friction force is defined explicitly with a constitutive relation that the magnitude of this force equals
the product of the kinetic friction coefficient and the normal contact force, and the direction of the friction force is opposite to
that of the relative tangential contact velocity so that the power of the friction force is negative.
For the static phase, Di v = 0, the threshold condition on the tangential force magnitude can be given as


kt ≤ ls kn (15)
i i

and can also be interpreted geometrically as the friction cone. For the kinetic phase of friction, wi > 0, the friction force is
interpreted with constitutive equation

wi
kti = −lk kni . (16)
wi
572 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

If the static and kinetic coefficients of friction are the same, then the kinetic friction force will always lie on the surface of
the friction cone. In fact, most algorithms proposed for frictional contact would only function for this latter case where the
assumption of l s = l k = l holds. This is primarily the case we deal with here also.
Adding the friction model described above to Eq. (11) to represent tangential contact forces would lead to a more general
non-linear complementarity problem. On the other hand, the mathematical form of an LCP is attractive as the algorithms to solve
such a problem have been well-established and there are several possibilities available for the solution. A common approach is
to linearize the friction cone based on a polyhedral [4,17,43] or box [25] approximations to achieve an LCP. In the next section,
an alternative LCP formulation is proposed based on regularizing the friction forces in the static region.

2.1. Linear complementarity problem with regularized friction

If every contact point is in the kinetic phase, based on the Coulomb model, as the friction force is a function of the normal
force (Eq. (16)), the friction force can be expressed as

⎡ ⎤ ⎡ w ⎤
kt1 l1 kn1 w1 
⎢ kt ⎥ ⎢ l k w21 ⎥
⎢ 2 ⎥ ⎢ 2 n2 w2  ⎥
⎢ ⎥
kt = ⎢ ⎥
⎢ .. ⎥ = − ⎢ .. ⎥. (17)
⎣ . ⎦ ⎢ . ⎥
⎣ ⎦
w
ktmu lmu knmu wmu 
mu

Considering wi = [wi1 wi2 ]T , i = 1, . . . , mu , therefore, Eq. (17) can be expanded as

⎡ ⎤⎡ w11 ⎤
l1 0 ... 0 0 0 0 ... 0
⎥⎡ k ⎤
w 
⎢ 0 ⎢ w112
⎢ l1 . . . 0 0 0 ⎥⎥⎢ 0 ... 0 ⎥ n1
⎢ ⎢
⎥⎢ w1 ⎥⎢ ⎥
⎢ .. ⎥⎢ 0 0 ... ⎥ ⎢ kn2 ⎥
⎢ 0 0 ⎥⎢
. ... 0 0 ⎥ ⎥⎢

.. ⎥
0 .
kt = −⎢
⎢ . ⎢ .. .. ⎥⎢⎢ ..
⎥, (18)
⎢ . .. .. .. ⎥ ⎢ . ... . ⎥

⎢ . . ... . ... . ⎥⎥⎢
. ⎥⎣⎢ ⎥

⎢ ⎥⎢ wm ⎥ knmu
. . . wmu1 ⎥
⎣ 0 0 ... 0 l m u 0 ⎦⎢ ⎣
0 0
u ⎦
wmu
0 0 ... 0 0 lmu 0 0 . . . w 2
   
mu

l
Ew

where l is a 2mu ×2mu diagonal matrix containing the friction coefficients of the contact points, and mu is the number of contact
points. Moreover, Ew is a 2mu × mu matrix which contains the tangent velocity direction associated with each contact point. If
−ETw lD is denoted by Dk , one can write

DT kt = −DT lEw kn = DTk kn , (19)

where Dk is indeed a matrix which represents the relationship between the kinetic friction forces and the normal forces. By
substituting Eq. (19) into the dynamics equations, i.e. Eq. (3), one can get

 
Mv̇ − AT k − NT + DTk kn − fa = 0
Av = 0 (20)
0 ≤ kn ⊥ 0(q) ≥ 0,

Now assume that each contact point is in the static phase. In this situation the friction force is regularized, meaning that it is
assumed the friction force depends on the velocity and is independent of the normal force. Therefore, the tangent forces can be
expressed as

⎡ ⎤
n1 0 . . . 0 0 0 ⎡ ⎤
⎡ ⎤ ⎢ 0 n1 . . . 0 0 0 ⎥ w11
n1 w1 ⎢ ⎥
⎢ ⎥ ⎢ w1 ⎥
⎢ n w ⎥ ⎢ .. ⎥⎢ 2 ⎥
⎢ 2 2 ⎥ ⎢ 0 0 . ... 0 0 ⎥ ⎢ ⎥
kt = − ⎢ .. ⎥ = −⎢ ⎥ ⎢ .. ⎥, (21)
⎢ ⎥ ⎢ .. .. . ⎥ ⎢
.. ⎥ ⎢ . ⎥
⎣ ⎦ ⎢ ⎥
. ⎢

. . . . . .. ... . ⎥ ⎣
⎥ wmu1

nmu wmu ⎣ 0 0 ... 0 nmu 0 ⎦ wmu
2
0 0 ... 0 0 nmu
  
Z
F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 573

where Z is a 2mu × 2mu matrix which its entries ni , i = 1, . . . , mu are the regularized parameters computed as

li kni
ni = . (22)
v̄i

The quantity v̄i in Eq. (22) is a chosen threshold for the magnitude of the velocity at the ith contact point, which defines the
regularized and the kinetic friction phases (Fig. 1). Such a threshold is usually selected by the analyst and based on the time-
step size and the acceptable tolerance of the system at hand. Smaller threshold velocities can more appropriately approximate
the static friction force, but require smaller time-step sizes as well. If time-step size is not selected small enough, then the
regularized friction region might be skipped during the simulation, which can result in producing unrealistic behaviours for the
simulated system. Furthermore, kni is an approximation of the unknown normal force which can be selected in two different
ways. For a particular time step, this approximation can be determined either via solving the problem first for the normal forces
without considering friction, or by using the normal force values from the previous time step.
Note that in the regularization setting, the value of ni represents the slope of a line relating the tangent force li kni to the
threshold velocity v̄i . Therefore, the threshold velocity value determines the slope of the regularization. Such a regularization
is illustrated in Fig. 1. Therefore, larger ni can better capture the static friction behaviour in the regularization region, but very
large ni might create numerical implementation issues.
If −Zw in Eq. (21) is denoted by bs , i.e.,

bs = −Zw, (23)

then for the case where all the contact points are assumed to be in the regularized region, Eq. (3) can be rewritten as

Mv̇ − JT k − NT kn − fa − DT bs = 0
Av = 0 (24)
0 ≤ kn ⊥ 0(q) ≥ 0.

In the general case that some contact points are in the regularized phase and some in the kinetic phase, Eqs. (20)
and (24) need to be combined. For that, two so-called phase-indicator matrices Ck = diag(ck1 , . . . , ckmu ) and Cs =
diag(cs1 , cs1 , . . . , csmu , csmu ) are defined. Depending whether contact point i is in the regularized or kinetic friction phase, csi and cki
take care of combining Eqs. (20) and (24) into a single unified formulation. For a particular time step, the velocity of each contact
point i at the previous time-step is compared to the threshold velocity v̄i to decide whether the contact point i is currently in
the regularized or the kinetic phase as


cki = 0, csi = 1  wi ≤ v̄i , i = 1, . . . , mu
(25)
cki = 1, csi = 0  wi > v̄i , i = 1, . . . , mu .

Fig. 1. Coulomb friction and the regularized friction: kt , w, and v̄ denote the friction force, velocity, and threshold velocity values at the ith contact point.
574 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

Therefore, if we combine Eqs. (20) and (24) by incorporating the defined phase-indicator matrices, namely, Ck , and Cs , we get
 
Mv̇ − JT k − NT + Ck DTk kn − fa − DT Cs bs = 0
Av = 0 (26)
0 ≤ kn ⊥ 0(q) ≥ 0.

Considering v̇(l+1) = (v(l+1) − v(l) )/h as the approximation for the acceleration for time step l + 1, where h is the time-step
size, we can obtain from Eq. (26) and from the constraints, the velocity-impulse level representation as

⎡ ⎤ ⎡ (l+1) ⎤ ⎡ (l)
⎤ ⎡ ⎤ ⎡ ⎤
M −AT −(N + Ck Dk )T v −Mv(l) − fa DT Cs bs 0
⎣A 0 ⎢
⎦ ⎣ hk ⎥ ⎢ ⎥
⎦+⎣ ⎦=⎣0⎦
(l+1)
0 ⎦+⎣ 0 0 (27)
(l+1)
N 0 0 hkn 0 0 q

with

0 ≤ kn ⊥ q ≥ 0.

2.2. Redundant constraints

Dealing with redundant constraints in general, and redundancy in contacts in particular, is a major challenge in dynamics
of multibody systems [8,10]. The constraint redundancy makes the resultant lead matrix of the formulated dynamic equations
rank-deficient, and hence non-invertible, implying that an unlimited number of solutions can exist for the system. One way of
dealing with redundant constraints is based on the idea of constraint relaxation [6,7,39]. In this approach, redundant constraints
are handled via defining explicit constitutive relationships for the constraint forces. Therefore, bilateral constraint forces can
be explicitly expressed as a function of stiffness values and constraint violations as k = −Kb v(q), where  Kb is a stiffness

matrix defined based on the stiffness values selected for each of the mb bilateral constraints as Kb = diag kb1 , . . . , kbm , and
b
v(q) represents the bilateral constraints. This is equivalent to relaxing the bilateral constraints by replacing them with spring
elements. High stiffness values are closer to the perfect bilateral constraints, and more accurate results can be achieved, while
the system can be numerically more problematic. In the case of time discretization, the constraint forces can be expressed
as −k(l+1) = Kb v(q(l+1) ). Similarly, in the case of the existence of redundant unilateral constraints, explicit constraint force
representations can be incorporated into the formulation. In the case of unilateral constraints, the normal constraint forces can
 
be represented as −kn = Ku 0(q), in which kn ≥ 0, 0̈(q) ≥ 0, kTn 0̈ = 0, and Ku = diag ku1 , . . . , kumu is a stiffness matrix defined
for mu contact points.
Now we define eA = h12 K−1 b
and eN = h12 K−1 −1 −1
u , where Kb and Ku are the bilateral and unilateral constraint compliance
matrices. It can be shown that by constraint relaxation described above Eq. (27) can be modified to

⎡ ⎤ ⎡ (l+1) ⎤ ⎡ (l)
⎤ ⎡ ⎤ ⎡ ⎤
M −AT −(N + Ck Dk )T v −Mv(l) − fa DT Cs bs 0
⎣ A eJ ⎢
⎦ ⎣ hk ⎥ ⎢ ⎥
⎦+⎣ ⎦=⎣0⎦
(l+1)
0 ⎦+⎣ 0 0 (28)
(l+1)
N 0 eN hkn 0 0 q

with

(l+1)
0 ≤ kn ⊥ q ≥ 0.

2.2.1. Additional remarks

Remark 1. For a problem with n generalized coordinates, mb bilateral constraints, and mu contact points, and prior to any
velocity decomposition, the lead matrix of the original MLCP has at least the dimension of (n + mb + 3mu ) × (n + mb + 3mu )
(for instance the box model [25]). In formulations with polyhedral approximation of the friction cone, this dimension is
(n + mb + 6mu ) × (n + mb + 6mu ) for the case of choosing four facets for the polygon (for instance the formulations reported
in Refs. [4,43]). If more facets are considered in the cone approximation, this dimension will be larger accordingly. Using the
proposed regularized formulation results in an MLCP with a lead matrix with the dimension of (n + mb + mu ) × (n + mb + mu ).
Normally, it is expected to observe smaller computational efforts to solve a smaller size MLCP, which can lead to faster compu-
tations and shorter simulation times in comparison with many available methods in the literature, especially for problems with
large number of contacts. It is noted that although in the set of benchmark examples that we tested shorter computational times
were observed, there is no absolute guarantee that solving a smaller size MLCP will always require shorter computational times.
F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 575

Remark 2. The developed formulation in this paper was based on velocity regularization of the friction in the static region. Such
a velocity regularization can be problematic when the contact points are in the sustained static friction phase. Such a limitation
arises as a result of the friction regularization. A similar approach proposed in this paper can be also incorporated for position-
based regularization methods, for instance the Bristle friction model [19], which may better handle the sustained static friction
cases. In this case, bs in Eq. (23) needs to be appropriately defined based on the position-based regularization.

Remark 3. It is shown in Ref. [13] that an LCP has a unique solution, if and only if the lead matrix of the LCP is a P-Matrix. A
P-matrix is a square matrix which all its principle minors are positive [13]. Furthermore, it can be shown that a positive definite
matrix is always a P-matrix [21]. Moreover, if the lead matrix of an LCP is a P-Matrix, block pivoting algorithms will converge
to the solution [32]. It is noted that the lead matrix of the proposed formulation in this paper (i.e. Eq. (28)) is a positive definite
matrix if all the contact points are in the regularized region, i.e. Ck = 0. On the other hand, if at least one of the contact points is
in the kinetic friction phase, then the resulting lead matrix might not be a P-matrix, and therefore, the uniqueness is not assured.
Indeed, this is due to the nature of the Coulomb friction model in the kinetic phase which is also known as Painlevè paradox [34],
and is not due to the friction regularization. However, this does not mean that the resulting model is unsolvable. In particular,
we have experimented a set of benchmark examples in which we have not observed any unsolvable situation.

3. Simulation results and discussions

Example 1. Cube moving on flat ground

To validate the applicability of the proposed formulation, a benchmark example is analyzed in different situations and the
results are compared with the formulation reported in Ref. [4], and the box friction formulation reported in Ref. [25]. It is noted
that the Anitescu and Potra formulation (A–P) [4] is the most well-established LCP-based contact formulation with a guaranteed
solvability, in which the friction cone is approximated with a polygon of minimum four facets. Increasing the number of facets

Fig. 2. Velocity variation of the rigid cube with four contact points.

Fig. 3. Velocity vs. friction forces.


576 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

Fig. 4. Velocity variations of the rigid cube with 32 contact points.

can lead to more accurate results with the cost of more computations. In this study, four facets are selected for the implemen-
tation of the method to achieve the fastest possible implementation. The resulting MLCP is solved via Lemke’s algorithm [13].
On the other hand, as previously discussed, the box formulation [25] in which the tangent contact forces are independent of
the normal forces, results in a lower dimensional MLCP and potentially faster simulation. Here, the resulting MLCP with this
formulation is solved using the pivoting algorithm reported in Ref. [24].
In this example, a 1 kg rigid cube with the dimensions of 1 m on each side, with a pre-defined initial velocity of 0.3 ms is
moving on the ground. A surface to surface contact model is considered which leads to at least three contact points. More
number of contact points can be considered to appropriately distribute the contact load, while any contact number more than
three results in contact redundancy. In our simulations, four contact points on the four corners of the body are considered.
The kinetic friction coefficient and the threshold velocity are selected equally for all the four contact points as l i = 1, and
v̄i = 0.01 ms , i = 1, . . . , 4. As the problem is redundant, the relaxation terms need to be defined, in which here are selected
as2 10−15 kg
1
. Furthermore, the simulation time-step is selected as 0.001 s. The simulations are all implemented in the Matlab
environment. The velocity and the friction forces obtained using the mentioned three methods are compared with the results
of the proposed regularized method.
As it can be seen in Figs. 2 and 3, the proposed regularized model can appropriately capture the behaviour of the object. It is
noted that the threshold velocity and the simulation time-step need to be appropriately selected, depending on the application.
Here, these are selected via trial and error procedure. If the selected threshold velocity is too small, which leads to very high
regularized slope values, depending on the time-step of the simulation, the regularized region might be totally skipped in the
simulation. This could result in an unrealistic oscillatory behaviour between the two bounds of the kinetic friction forces. On the
other hand, with very large threshold velocities the friction model could be more deviated from the physical reality. This may
result in unrealistic behaviours as well.
To show that the developed complementarity formulation with regularized friction has better performance, the same cube
moving on the ground is simulated with larger number of contact points (8 to 32 contact points). In this example, an applied
horizontal sinusoidal force with the maximum magnitude of 55 N is exerted on the center of mass of the cube in the first 3 s
of the simulation. The cube then slows down to rest due to the surface friction, and disappearance of the applied force. In this
example, the threshold velocity is selected as 0.1 ms , the time-step is 0.01 s, and the friction coefficient is equal to 0.3. The velocity
variations for all four methods are generally in agreement, and for the case of 32 contact points they are illustrated in Fig. 4.
Furthermore, the computational times associated with the different methods are reported in Table 1. As can be observed, the
computational times of all the methods except the regularized one increase, sometimes drastically, by increasing the number
of contact points. Large simulation computational times could be problematic, especially for real-time simulation purposes of
complex mechanical systems. Fast implementation can be achieved as a result of the proposed regularized method, and can be
of interest in many real-time simulation applications.

2
It is noted that the dimension of the entries of the stiffness matrix, K which is [N][m] −1 can be simplified to [kg][s] −2 by considering that [N] = [kg][m][s] −2 .
Therefore, the dimension of the relaxation term, i.e. e = h −2 K −1 , can be simplified to [kg] −1 .
F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 577

Table 1
Effect of the number of contact points on the computational time.

No. of contacts 8 12 16 24 32

A–P method 3.54 s 7.28 s 15.8 s 50.4 s 77.88 s


Box method 3.11 s 4.32 s 4.76 s 6.22 s 9.93 s
Regularized friction method 3.03 s 3.36 s 3.6 s 4.23 s 4.96 s

Example 2. Robotic grasping

One of the first comprehensive representations of grasping in terms of a linear complementarity problem has been reported
in Ref. [35]. In this example, we consider a robotic hand; it consists of 14 segments and 15 revolute joints. The dimensions
of the segments are assumed to derive from the human hand anatomical specifications [38,40]. In our model, the thumb is

Fig. 5. Simulation of robotic hand which grasps a cubic object.

Fig. 6. Velocity of the tip segment of finger-1 in the x direction.


578 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

Fig. 7. Velocity of the tip segment of finger-1 in the z direction.

Fig. 8. Velocity of the tip segment of finger-2 in the x direction.

considered as the first finger and the rest of the fingers are enumerated accordingly. Finger segment widths are selected as
1 cm and the lengths are calculated based on the anthropometric-based formulations provided in Ref. [38]. Inertial properties
g
of each finger segments are calculated based on the finger density of 1.1 cm 3 adopted from Ref. [40] and with the assumption
of cubic volumes for each of the segments. The model is created in Vortex3 and collision detections are performed in this
software. At each time step of the simulation, the collision detection outputs in the form of the contact Jacobian, as well as
the the mass matrix and constraint Jacobian matrix are transferred to a Matlab-based implementation of the algorithms. The
calculated generalized velocity vector in the Matlab-based implementation is transferred back to Vortex at the end of the time
step. A cubic collision geometry is assigned to each finger segment for which maximum of four contact points per segment could
be identified. Finger joints are articulated with a velocity of 10 deg
s , while a maximum torque threshold of 1 N.m is set at each
joint to prevent high unrealistic actuated torque values. The torque threshold value is adopted based on the results in Ref. [46].
Friction coefficients for all the contact points are chosen as l = 1. A grasping scenario is created in which the hand is interacting
1
with a static cube (Fig. 5). A set of simulations are performed with the Vortex time-step size of 60 s for a period of 150 time-steps
based on the Anitescu and Potra (A–P) [4], box [25], and the complementarity formulation with regularized friction methods.
All the formulations are solved with the pivoting algorithm proposed in Ref. [24] with the maximum allowable pivoting steps
of 2000. As contact redundancy could occur, all the formulations are relaxed with the value of 10−10 kg 1
.

3
Vortex is a software package developed by CM Labs Simulations Inc.
F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 579

Fig. 9. Velocity of the tip segment of finger-2 in the z direction.

Fig. 10. Velocity of the tip segment of finger-3 in the x direction.

For the described grasping scenario, the velocity of the finger tips are illustrated in Figs. 6–13. The A–P formulation failed in
certain time-steps, meaning that in 2000 pivoting steps no solution could be obtained. This failure is the source of the unnatural
velocities predicted by this formulation and can be observed in Figs. 6, 7, 10, and 12. On the other hand, the predicted behaviour
by the box and regularized friction methods are very similar for all the fingers except finger-1 (Figs. 6 and 7). This shows that
the box and regularized friction methods can be used to simulate the hand grasping behaviour, while the A–P formulation could
fail in some instances with the selected allowable number of pivots.
The average number of performed pivots per step, the Matlab computational time, and the size of the lead matrix of the MLCP
when all the contact points are established are collected in Table 2 for each of the mentioned methods. The average number of
pivots is calculated by dividing the summation of the number of pivots during the whole simulation over the number of time-
steps of the simulation. Among all the methods, the regularized friction method has the shortest required computational time.
This is mainly because of the lower size of the MLCP that needs to be solved at each pivoting step. As it can be observed in Table 2,
the proposed regularized friction method results in the smallest problem formulation in terms of the MLCP size. Moreover,
the box, and A–P methods show comparable computational times, which are considerably higher than the regularized friction
method.
580 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

Fig. 11. Velocity of the tip segment of finger-3 in the z direction.

Fig. 12. Velocity of the tip segment of finger-4 in the x direction.

Fig. 13. Velocity of the tip segment of finger-4 in the z direction.


F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582 581

Table 2
Robotic hand grasping simulation.

Method Average no. of pivots Computational time [s] MLCP dimension

A–P [4] 53.8 20.5 216 × 216


Box [25] 10.84 20.35 198 × 198
Regularized friction 3.7 6.8 186 × 186

4. Conclusions

A complementarity problem formulation with regularized friction was introduced in this paper. In this approach, contacts
are characterized based on constraints while the friction forces are regularized and incorporated into the formulation. Such
a formulation is significantly reduced in size in comparison with its counterpart formulations in the literature, which could
lead to less computational time. Redundant constraints can be handled via relaxing the constraints in the formulation. The
proposed regularized formulation was examined for a set of benchmark examples. Our results were compared with two other
well-established formulations. Results showed good agreement with the expected behaviours, while the computational times
were considerably reduced because of solving lower dimensional problems. This could be a useful and practical formulation for
real-time simulation of complex mechanical systems.

Acknowledgments

The work reported here was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC) and CM
Labs Simulations Inc. The support is gratefully acknowledged.

References

[1] V. Acary, B. Brogliato, Numerical Methods for Nonsmooth Dynamical Systems: Applications in Mechanics and Electronics, Lecture Notes in Applied and
Computational Mechanics 35, Springer Verlag. 2008.
[2] P. Alart, A. Curnier, A mixed formulation for frictional contact problems prone to Newton like solution methods, Comput. Methods Appl. Mech. Eng. 3
(91). (1992)
[3] M. Anitescu, G.D. Hart, A fixed-point iteration approach for multibody dynamics with contact and small friction, Math. Program. 101 (1) (2004) 3–32.
[4] M. Anitescu, F.A. Potra, Formulating dynamic multi-rigid-body contact problems with friction as solvable linear complementarity problems, Nonlinear
Dyn. 14 (1997) 231–247.
[5] M. Anitescu, A. Tasora, An iterative approach for cone complementarity problems for nonsmooth dynamics, Comput. Optim. Appl. 47 (2010) 207–235.
[6] E. Bayo, J.M. Jimenez, M.A. Serna, J.M. Bastero, Penalty based Hamiltonian equations for dynamic analysis of constrained mechanical systems, Mech.
Mach. Theory 29 (1994) 725–737.
[7] W. Blajer, Augmented Lagrangian formulation: geometrical interpretation and application to systems with singularities and redundancy, Multibody
Sys.Dyn. 8 (2002) 141–159.
[8] A. Blumentals, B. Brogliato, F. Bertails-Descoubes, The contact problem in Lagrangian systems subject to bilateral and unilateral constraints, with or
without sliding Coulomb’s friction: a tutorial, 2014. <hal-01096394>
[9] J. Brändlein, P. Eschamann, L. Hasbargen, D. Wlzlagerpraxis, Die wälzlagerpraxis handbuch für die berechnung und gestaltung von lagerungen, Mainz:
Vereinigte Fachverlage, Germany, 1995.
[10] B. Brogliato, D. Goeleven, Singular mass matrix and redundant constraints in unilaterally constrained Lagrangian and Hamiltonian systems, Multibody
Sys.Dyn. 35 (1) (2014) 39–61.
[11] B. Brogliato, A.A. ten Dam, L. Paoli, F. Génot, M. Abadie, Numerical simulation of finite dimensional multibody nonsmooth mechanical systems, App.
Mech. Rev. 55 (2) (2002) 107–150.
[12] C. Canudas de Wit, H. Olsson, K.J. Astrom, P. Lischinsky, A new model for control of systems with friction, IEEE Trans. Autom. Control 40 (3) (1995)
419–425.
[13] J.-S. Cottle, R.W. Pang, R.E. Stone, The Linear Complementarity Problem, Academic Press, Boston, MA, 1992.
[14] R.W. Cottle, G. Dantzig, Complementarity pivot theory of mathematical programming, Linear Algebra Appl. 1 (1968) 103–125.
[15] S.J. Cull, R.W. Tucker, On the modelling of Coulomb friction, J. Phys. A Math. Gen. (1999) 2103–2113.
[16] G. Gilardi, I. Sharf, Literature survey of contact dynamics modelling, Mech. Mach. Theory 37 (10) (2002) 1213–1239.
[17] C. Glocker, Set-valued Force Laws, Springer, Troy, New York, USA, 2011.
[18] W. Goldsmith, Impact: The Theory and Physical Behavior of Colliding Solids, Edward Arnold Publishers Ltd., London, 1960.
[19] D.A. Haessig, B. Friedland, On the modeling and simulation of friction, ASME J. Dyn. Syst. Meas. Control. 113 (3) (1991) 354–362.
[20] H. Hertz, in: H. Hertz, Jones, Schott (Eds.), Miscellaneous Papers, Macmillan, London, 1896.
[21] L. Hobgen, 2nd ed., Handbook of Linear Algebra, Chapman and Hall/CRC. 2013.
[22] M. Jean, The non-smooth contact dynamics method, Comput. Methods Appl. Mech. Eng. 177 (3-4) (1999) 235–257.
[23] F. Jourdan, P. Alart, M. Jean, A Gauss Seidel like algorithm to solve frictional contract problems, Comput. Methods Appl. Mech. Eng. 155 (1998) 31–47.
[24] J. Júdice, F.M. Pires, A block principal pivoting algorithm for large-scale strictly monotone linear complementarity problems, Comput. Oper. Res. 21 (1994)
587–596.
[25] C. Lacoursiere, A Regularized Time Stepper for Multibody Systems, Technical Report UMINF 06.04, Dept. Computing Science, Umeå University. 2006,
[26] H.M. Lankarani, P.E. Nikravesh, Continuous contact force models for impact analysis in multibody systems, Nonlinear Dyn. 5 (1994) 193–207.
[27] P. Lötstedt, Mechanical systems of rigid bodies subject to unilateral constraints, SIAM J. Appl. Math. 42 (2) (1982) 281–296.
[28] M. Machado, P. Moreira, P. Flores, H.M. Lankarani, Compliant contact force models in multibody dynamics: evolution of the Hertz contact theory, Mech.
Mach. Theory 53 (2012) 99–121.
[29] J.J. Moreau, Unilateral contact and dry friction in finite freedom dynamics, in: J.J. Moreau, P.D. Panagiotopoulos (Eds.), International Centre for Mechanical
Sciences, Courses and Lectures, vol. 302, Springer, Vienna, 1988,
[30] J.J. Moreau, Quadratic programming in mechanics: dynamics of one sided constraints, SIAM J. Control 4 (1) (1966) 153–158.
[31] J.J. Moreau, M. Jean, Numerical treatment of contact and friction: the contact dynamics method, Proceedings of the Third Biennial Joint Conference on
Engineering Systems and Analysis, Montpollier, France, 1996, pp. 201–208.
582 F. Gholami, et al. / Mechanism and Machine Theory 105 (2016) 568–582

[32] K.G. Murty, Linear Complementarity, Linear and Nonlinear Programming, Heldermann, Berlin, Germany, 1988.
[33] G. Nijen, On the Overrolling of Local Imperfections in Rolling Bearings, Ph.D. Dissertation. University of Twente, The Netherlands, 1997.
[34] P. Painlevé, Sur le lois frottement de glissemment, C. R. Acad. Sci. 121 (1895) 112–115.
[35] P.D. Panagiotopoulos, A.M. Al-Fahed, Robot hand grasping and related problems: optimal control and identification, Int. J. Robot. Res. 13 (2) (1994)
127–136.
[36] F. Pfeiffer, Mechanical System Dynamics, Springer, Berlin, 2008.
[37] F. Pfeiffer, C. Glocker, Multibody Dynamics with Unilateral Contacts, Wiley-Interscience. 1996.
[38] E.P. Pitarch, Virtual Human Hand: Grasping Strategy and Simulation, Universitat Politecnica de Catalunya, Spain, 2007.
[39] B. Ruzzeh, J. Kövecses, A penalty formulation for dynamics analysis of redundant mechanical systems, J. Comput. Nonlinear Dyn. 6 (2011) 021008.
[40] J.L. Sancho-Bru, A. Perez-Gonzalez, M. Vergara, D.J. Giurintano, A 3D biomechanical model of the hand for power grip, J. Biomech. Eng. 125 (1) (2003)
78–83.
[41] S. Shivaswamy, H.M. Lankarani, Impact analysis of plate using quasi-static approach, J. Mech. Des. 119 (1997) 376–381.
[42] D.E. Stewart, Rigid-body dynamics with friction and impact, SIAM Rev. 42 (2000) 3–39.
[43] D.E. Stewart, J.C. Trinkle, An implicit time-stepping scheme for rigid-body dynamics with inelastic collisions and Coulomb friction, Int. J. Numer. Methods
Eng. 39 (1996) 2673–2691.
[44] J. Williams, Y. Lu, J.C. Trinkle, Complementarity based contact model for geometrically accurate treatment of polytopes in simulation, Proceedings of the
ASME 2014 International Design Engineering Technical Conferences, Computers and Information in Engineering Conference, IDETC/CIE, Buffalo, New
York, USA, 2014.
[45] D.C.H. Yang, Z.S. Sun, A rotary model for spur gear dynamics, J. Mech. Transm. Autom. Des. 107 (1985) 529–535.
[46] J. Yang, E. Pitarch, J. Kim, K. Abdel-Malek, Posture prediction and force/torque analysis for human hands, Proceedings of the SAE 2006 Digital Human
Modeling for Design and Engineering Conference, 2006, number 2006-01-2326.

Potrebbero piacerti anche