8803 - Mobile Manipulation: Force Control Mike Stilman Robotics - - PDF document

8803 mobile manipulation force control
SMART_READER_LITE
LIVE PREVIEW

8803 - Mobile Manipulation: Force Control Mike Stilman Robotics - - PDF document

8803 - Mobile Manipulation: Force Control Mike Stilman Robotics & Intelligent Machines @ GT Georgia Institute of Technology Atlanta, GA 30332-0760 February 19, 2008 1 Mike Stilman (RIM@GT) 8803 Lecture 14


slide-1
SLIDE 1

1

Mike Stilman (RIM@GT) 8803 Lecture 14 1

  • Mike Stilman
  • Robotics & Intelligent Machines @ GT
  • Georgia Institute of Technology
  • Atlanta, GA 30332-0760
  • February 19, 2008

8803 - Mobile Manipulation: Force Control

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 2

Force Control Strategies

  • Logic Branching
  • Continuous Force Control

– Direct Feedback – Position/Velocity Feedback

  • Position Control & Force Control

– Impedance Control (Classic & Revised) – Hybrid Control

slide-2
SLIDE 2

2

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 3

Logic Branching

Brief Description:

  • Execute specified position/force commands
  • Switch behavior on perceived input

Motivation:

  • Handle Uncertainty
  • Achieve Very Low Tolerances

Ernst ’61, Baber ’73, Inoue ‘74

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 4

Peg I n Hole

Case 1: Loose Fit

.01” .068” Suppose our positioning error is < .068”

Inoue ‘74 Inoue ‘74

x z

slide-3
SLIDE 3

3

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 5

Peg I n Hole

Case 1: Loose Fit

.01” .068” Suppose our positioning error is < .068” 1 2 3 1) Position Control X 2) PUSH-INTO

  • Fz = Insert Force
  • Fx = 0

Inoue ‘74 Inoue ‘74

x z

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 6

Peg I n Hole

Case 2: Loose Fit with Uncertainty

.01” .068” Our positioning error is < .068” but Starting position is uncertain (± .1”)

Inoue ‘74 Inoue ‘74

x z

slide-4
SLIDE 4

4

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 7

Peg I n Hole

Case 2: Loose Fit with Uncertainty

Inoue ‘74

.01” .068” Our positioning error is < .068” but Starting position is uncertain (± .1”)

Inoue ‘74

1 3 4 1) Z = Z-∆ Until Fz > 0 2) DROP-INTO

  • X = X+∆
  • Fz = Small Contact Force
  • Fx = Small Sliding Force

Until Fx > Threshold 3) PUSH-INTO 2 x z

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 8

Peg I n Hole

Case 3: Close Fit

Inoue ‘74

.01” Positioning error > .01 and Starting position is uncertain (± .1”)

Inoue ‘74

x z 1

slide-5
SLIDE 5

5

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 9

Peg I n Hole

Case 3: Close Fit

Inoue ‘74

.01” Positioning error > .01 and Starting position is uncertain (± .1”)

Inoue ‘74

1 x z 2 4 3 1) Position Control θ to .1 2) DROP-INTO

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 10

Peg I n Hole

Case 3: Close Fit

Inoue ‘74

.01” Positioning error > .01 and Starting position is uncertain (± .1”)

Inoue ‘74

1 x z 2 4 3 4 1) Position Control θ to .1 2) DROP-INTO 3) Torque θ until τ > threshold 4) PUSH-INTO

slide-6
SLIDE 6

6

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 11

Continuous Strategies

  • Discrete branching:

– Advantageous for handling Uncertainty/Tolerances – Very useful as part of a system – Could be more time efficient

  • Continuous Strategies:

– Coordination of multi-axis motions – Responds to continuously changing force-torque information – Achieves forces with greater precision Nevins ‘73, Whitney ‘77 Raibert & Craig ‘81, Mason ‘81, Khatib ‘87…

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 12

Continuous Force Control

  • Feed-forward:
slide-7
SLIDE 7

7

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 13

Continuous Force Control

  • Feed-forward:
  • How do we do Feedback?

τ = JTF

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 14

Force-based Feedback Control

KF Arm

fd f

τ

+ −

ef

JT

τ = −KF JT (f − fd)

Is KF in Joint Space or Workspace? Whitney ‘85 Will it work well? F/T Sensor

slide-8
SLIDE 8

8

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 15

Force-based Control (Linearization)

KF Arm

fd f

τ

+ −

ef

JT

τ = G − KF JT (f − fd)

+ +

F/T Sensor G

θ

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 16

Force-based Control (Feed-forward)

KF Arm

fd f

τ

+ −

ef

JT

τ = JT fd + G − KF JT (f − fd)

Similar to Volpe ‘93 JT

+ +

F/T Sensor G

θ

+

slide-9
SLIDE 9

9

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 17

Force-based Control (Feed-forward Term)

KF Arm

fd f

τ

+ −

ef

JT

τ = JT fd + G − KF JT (f − fd)

JT

+ +

F/T Sensor G

θ

+

  • Non-zero steady-state error
  • Can be oscillatory

Similar to Volpe ’93

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 18

Options

  • Integral Control
  • Increase Feed-Forward Term

τ = JT fd + G − KF I Z t JT (f − fd)dt

Volpe ’93

slide-10
SLIDE 10

10

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 19

Options

  • Integral Control
  • Increase Feed-Forward Term

τ = JT fd + G − KF I Z t JT (f − fd)dt

Volpe ’93

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 20

Position-based Force Control

¯ G(q) = f

Workspace dynamics:

¯ G(q) = f + fE

Workspace dynamics with contact:

slide-11
SLIDE 11

11

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 21

Position-based Force Control

¯ G(q) = f

Workspace dynamics:

¯ G(q) = f + fE

Workspace dynamics with contact: Generic Position Controller:

f = ¯ G(q) − Kp(x − xd) ¯ G(q) = ¯ G(q) − Kp(x − xd) + fE

Controlled System Dynamics:

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 22

Position-based Force Control

¯ G(q) = f

Workspace dynamics:

¯ G(q) = f + fE

Workspace dynamics with contact: Generic Position Controller:

f = ¯ G(q) − Kp(x − xd) ¯ G(q) = ¯ G(q) − Kp(x − xd) + fE

Controlled System Dynamics:

Kp(x − xd) = fE xd = −K−1

p fE + x xd - x Kp

slide-12
SLIDE 12

12

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 23

Position-based Force Control: Feedback

Position Control: Arm G

θ

Kin.

x

− +

xd

Kp

+ +

JT

FC

τC

xe

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 24

Position-based Force Control: Feedback

Arm G

θ

Kin.

x

− +

xd

Kp

+ +

JT

FC

τC

fd f

+ −

F/T Sensor

xe

KIf

+ +

Force Control ∫ 1 s ∫ fe KlfKp

slide-13
SLIDE 13

13

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 25

Position Control + Force Control

Impedance Control

  • Continuous relationship between position/force
  • Simulates behavior of a simple mechanical system

Hybrid Control

  • Selection Matrix identifies directions for position/force
  • Allows for precise positioning and force control

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 26

I mpedance Control

Md¨ x − Dd ˙ xe − Kdxe = fE

How would the robot respond if its dynamics were actually:

  • Position tracking when force = 0
  • Compliance when force > 0
  • Restoration to tracking when force is removed

xe = (x − xr)

slide-14
SLIDE 14

14

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 27

I mpedance Control

Md¨ x − Dd ˙ xe − Kdxe = fE

How would the robot respond if its dynamics were actually:

  • Position tracking when force = 0
  • Compliance when force > 0
  • Restoration to tracking when force is removed

xe = (x − xr) ¨ x = M−1

d (fE + Dd ˙

xe + Kdxe)

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 28

I mpedance Control

Md¨ x − Dd ˙ xe − Kdxe = fE

How would the robot respond if its dynamics were actually:

  • Position tracking when force = 0
  • Compliance when force > 0
  • Restoration to tracking when force is removed

xe = (x − xr) τ = JT( ¯ M(M−1

d (fE + Dd ˙

xe + Kdxe)) + ¯ C˙ x + ¯ G − fE) ¨ x = M−1

d (fE + Dd ˙

xe + Kdxe)

Notice the similarity to workspace computed torque:

slide-15
SLIDE 15

15

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 29

Position-based I mpedance Control

Md¨ x − Dd ˙ xe − Kdxe = fE xe = (x − xr)

1) Simulate the system response to 2) Track simulated (possibly )

x

˙ x

fE ¨ x(t + ∆t) = M−1

d (fE + Dd ˙

x(t) + Kdx(t)) ˙ x(t + ∆t) = ˙ x(t) + ¨ x(t)∆t x(t + ∆t) = x(t) + ˙ x(t)∆t

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 30

Hybrid Control

  • Task Constraint: Restriction on the freedom of motion of the manipulator
  • Cannot move in some direction
  • Can control forces/moments in that direction
  • Degrees of freedom are coordinates in a task frame
  • Task frame is a transformed world frame

Ft = T0

tF 0

Ft

x = £ x1 · · · xn ¤T

Ft F0

slide-16
SLIDE 16

16

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 31

Hybrid Control

  • A motion constraint is described by a selection matrix:
  • Coordinates – Cartesian + Fixed Axis (Roll, Pitch Yaw)
  • Alternative Coordinates:

S = ⎡ ⎣ s1 · · · sn ⎤ ⎦

S˙ x = 0

x y z

Rt

B = R(zt, φ)R(yt, θ)R(xt, ψ)

SRPY = I[ sx sy sz sψ sθ sφ ]T

Ft

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 32

Examples of Constraints

[ 0 1 1 1 1 1 ] [ 1 1 1 1 1 0 ] Parameterized [ 0 0 0 1 1 0 ] Parameterized [ 1 1 1 1 1 0 ]

slide-17
SLIDE 17

17

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 33

Hybrid Control

x

f

xd

+

Motion Control S Force Control I-S Arm

− +

fd

+ +

Motion Force Rt Rt RtT RtT

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 34

Best of Both Worlds

  • Use task frame to set a center of compliance for impedance control
  • Use Impedance Control (not motion control) in hybrid system
  • Vary the parameters of Impedance Control according to direction
slide-18
SLIDE 18

18

2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 35

Summary

We looked at:

  • Logic Branching
  • Continuous Force Control (Force and Position Based)
  • Hybrid Postion/Force Strategies

Your goal:

  • Think about how these strategies can help you accomplish the task
  • Which subtasks require which type of control?