23.10.2014 Views

Contact Dynamics Modelling for Robots

Contact Dynamics Modelling for Robots

Contact Dynamics Modelling for Robots

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong><br />

Mike Boos<br />

March 30, 2009<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Outline<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Outline<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

What is contact dynamics?<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

Ff<br />

N<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Why model contact in robotics?<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

Haptics<br />

Interactions with the<br />

environment<br />

Intentional (gripping,<br />

part placement, etc)<br />

Unintentional<br />

(collisions)<br />

Control and stability<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Examples of contact models<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

f n<br />

kv<br />

Impulse<br />

Momentum<br />

Point<br />

<strong>Contact</strong><br />

Volumetric<br />

<strong>Contact</strong><br />

Finite Element<br />

Methods<br />

Hardwarein-the-loop<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Outline<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Impulse-momentum<br />

Assumptions<br />

vB<br />

vA<br />

x<br />

y - plane of<br />

impact<br />

<strong>Contact</strong> <strong>for</strong>ces >> other<br />

<strong>for</strong>ces<br />

De<strong>for</strong>mation and<br />

restitution is<br />

near-instantaneous<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Impulse-momentum<br />

vB<br />

y - plane of<br />

impact<br />

Conservation of Momentum<br />

m A (v Ay ) 1 = m A (v Ay ) 2<br />

m B (v By ) 1 = m B (v By ) 2<br />

m i (v ix ) 1 = ∑ m i (v ix ) 2<br />

i<br />

∑<br />

i<br />

vA<br />

x<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Coefficient of restitution<br />

vB<br />

y - plane of<br />

impact<br />

Need a second equation to<br />

solve <strong>for</strong> x-velocities<br />

Energy is lost in impact<br />

vA<br />

x<br />

e = (v Ax −v Bx ) 2<br />

(v Bx −v Ax ) 1<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Coefficient of restitution<br />

For low impact velocities and most materials with a linear elastic<br />

range (e.g. metals):<br />

e ≈ 1 − α|(v Bx − v Ax ) 1 |<br />

= 1 − αv 1<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Limitations<br />

Not useful <strong>for</strong> prolonged contact<br />

Cannot solve <strong>for</strong> contact or reaction <strong>for</strong>ces<br />

May not be very useful in robotic or other multibody systems<br />

While simple impulse-momentum models may not be useful, the<br />

concept of a coefficient of restitution may still be important in<br />

other models.<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Outline<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Hunt-Crossley contact<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Point contact<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Hunt-Crossley contact<br />

Common model:<br />

spring-damper system<br />

N = K(δ) + B( ˙δ)<br />

Often, the relationship between<br />

penetration and normal <strong>for</strong>ce is<br />

non-linear (even with<br />

linear-elastic solids)<br />

δ<br />

N<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Hertz theory<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Hunt-Crossley contact<br />

Assumptions:<br />

Non-con<strong>for</strong>ming surfaces<br />

<strong>Contact</strong> patch is small relative to the geometries of the bodies<br />

Bodies are linear-elastic solids<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Hertz theory<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Hunt-Crossley contact<br />

N = kδ 3/2<br />

Two spheres:<br />

k =<br />

4<br />

3π(h m,1 +h m,2 ) ( R 1R 2<br />

R 1 +R 2<br />

) 1/2<br />

Sphere on plane:<br />

k =<br />

4<br />

3π(h m,1 +h m,2 ) R1/2<br />

Ri<br />

δ<br />

N<br />

δ<br />

h m,i = 1−ν2 i<br />

πE i<br />

Rj<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Hunt-Crossley contact<br />

Hunt-Crossley contact<br />

<strong>Contact</strong> <strong>for</strong>ces modelled with a spring in parallel with a non-linear<br />

damper:<br />

N = K(δ) + B( ˙δ, δ)<br />

= kδ 3/2 + (λδ 2/3 ) ˙δ<br />

Consistent with Hertzian contact in the static case (i.e. ˙δ = 0)<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Damping coefficient<br />

Hunt-Crossley contact<br />

If we reintroduce the concept of a coefficient of restitution, where<br />

e ≈ 1 − αv 1 , it can be shown that:<br />

λ ≈ 3 2 αk<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Hunt-Crossley contact<br />

Hunt-Crossley contact<br />

N = kδ 3/2 + (λδ 2/3 ) ˙δ<br />

where<br />

k =<br />

4<br />

3π(h m,1 + h m,2 ) ( R 1R 2<br />

R 1 + R 2<br />

) 1/2<br />

λ ≈ 3 2 αk<br />

Ri<br />

δ<br />

Rj<br />

e ≈ 1 − αv 1<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Outline<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Coulomb friction<br />

Static<br />

F f ≤ −µ S Nû<br />

where û is in the direction of<br />

other <strong>for</strong>ces in the plane of<br />

contact.<br />

c<br />

vcn<br />

Dynamic<br />

F f = −µ k Nˆv ct<br />

Ff<br />

N<br />

vct<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Coulomb friction approximation<br />

μ<br />

μs<br />

μc<br />

vct<br />

vs<br />

vd<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Outline<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

2-link planar manipulator<br />

Example simulation<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

2-link planar manipulator<br />

2-link planar manipulator<br />

Example simulation<br />

y<br />

q2<br />

Dynamic equations<br />

τ 1 = D 1 (q)¨q+C 1 (q, ˙q) ˙q+φ 1 (q)<br />

τ 2 = D 2 (q)¨q+C 2 (q, ˙q) ˙q+φ 2 (q)<br />

q1<br />

x<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

2-link planar manipulator<br />

2-link planar manipulator<br />

Example simulation<br />

What happens to the dynamic equations with contact?<br />

y<br />

x<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Including contact <strong>for</strong>ces<br />

2-link planar manipulator<br />

Example simulation<br />

F<br />

y<br />

<strong>Contact</strong> <strong>for</strong>ces<br />

F = N + F f<br />

Cannot include contact <strong>for</strong>ces<br />

in Lagrangian, since they are<br />

non-conservative (damping and<br />

friction).<br />

x<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Modified dynamic equations<br />

2-link planar manipulator<br />

Example simulation<br />

The torques caused by the contact <strong>for</strong>ces must be included with<br />

the driver torques on the left-hand side of the dynamic equations:<br />

Dynamic equations<br />

τ 1 + T c1 = D 1 (q)¨q + C 1 (q, ˙q) ˙q + φ 1 (q)<br />

τ 2 + T c2 = D 2 (q)¨q + C 2 (q, ˙q) ˙q + φ 2 (q)<br />

What are T c1 and T c2 ?<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Link 2<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

2-link planar manipulator<br />

Example simulation<br />

r2<br />

F<br />

Consider link 2 and the contact<br />

<strong>for</strong>ces independently from the<br />

original system and its <strong>for</strong>ces.<br />

There is an additional reaction<br />

at P from link 1.<br />

-F<br />

P<br />

T c2 = r 2 × F<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Link 1<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

2-link planar manipulator<br />

Example simulation<br />

-F<br />

O<br />

r1<br />

F<br />

Tc2 = r2 x F<br />

Now consider link 1.<br />

We have the reaction at P<br />

from link 2, as well as the<br />

torque from link 2.<br />

T c1 = r 1 × F + T c2<br />

= (r 1 + r 2 ) × F<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Putting it all together<br />

2-link planar manipulator<br />

Example simulation<br />

F<br />

y<br />

r1<br />

r2<br />

Dynamic equations<br />

τ + T c = D(q)¨q + C(q, ˙q) ˙q + φ(q)<br />

where[ ]<br />

((r<br />

T c = 1 + r 2 ) × F ) · ˆk<br />

(r 2 × F ) · ˆk<br />

x<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Example simulation<br />

2-link planar manipulator<br />

Example simulation<br />

Setup<br />

y<br />

45˚<br />

1 m<br />

x<br />

Slender links of mass 1 kg,<br />

length 1 m<br />

Initially at rest<br />

End effector radius: 5 cm<br />

<strong>Contact</strong> properties of end<br />

effector and wall similar to<br />

that of steel <strong>for</strong><br />

Hunt-Crossley<br />

τ 1 = −10Nm, τ 2 = −2Nm<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Joint angles<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

End effector position<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Summary<br />

Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

1 Introduction<br />

What is contact dynamics?<br />

Why contact modelling in robotics?<br />

Types of contact models<br />

2 Impulse-momentum contact<br />

3 Point contact<br />

Hunt-Crossley contact<br />

4 Friction <strong>for</strong>ces<br />

5 <strong>Contact</strong> in robot dynamics modelling<br />

2-link planar manipulator<br />

Example simulation<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>


Introduction<br />

Impulse-momentum contact<br />

Point contact<br />

Friction <strong>for</strong>ces<br />

<strong>Contact</strong> in robot dynamics modelling<br />

Conclusions<br />

Questions?<br />

Mike Boos<br />

<strong>Contact</strong> <strong>Dynamics</strong> <strong>Modelling</strong> <strong>for</strong> <strong>Robots</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!