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 Force Control Strategies • Logic Branching • Continuous Force Control – Direct Feedback – Position/Velocity Feedback • Position Control & Force Control – Impedance Control (Classic & Revised) – Hybrid Control 2 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 1
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 3 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Peg I n Hole Inoue ‘74 Inoue ‘74 Case 1: Loose Fit .01” .068” Suppose our positioning error is < .068” z x 4 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 2
Peg I n Hole Inoue ‘74 Inoue ‘74 Case 1: Loose Fit .01” .068” Suppose our positioning error is < .068” 1) Position Control X 2 1 2) PUSH-INTO • Fz = Insert Force z • Fx = 0 3 x 5 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Peg I n Hole Inoue ‘74 Inoue ‘74 Case 2: Loose Fit with Uncertainty Our positioning error is < .068” but Starting position is uncertain ( ± .1”) .01” .068” z x 6 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 3
Peg I n Hole Inoue ‘74 Inoue ‘74 Case 2: Loose Fit with Uncertainty Our positioning error is < .068” but Starting position is uncertain ( ± .1”) .01” .068” 1) Z = Z- ∆ Until Fz > 0 1 2) DROP-INTO • X = X+ ∆ • Fz = Small Contact Force 2 3 z • Fx = Small Sliding Force Until Fx > Threshold 4 x 3) PUSH-INTO 7 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Peg I n Hole Inoue ‘74 Inoue ‘74 Case 3: Close Fit Positioning error > .01 and Starting position is uncertain ( ± .1”) .01” 1 z x 8 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 4
Peg I n Hole Inoue ‘74 Inoue ‘74 Case 3: Close Fit Positioning error > .01 and Starting position is uncertain ( ± .1”) .01” 2 1 1) Position Control θ to .1 2) DROP-INTO 3 z 4 x 9 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Peg I n Hole Inoue ‘74 Inoue ‘74 Case 3: Close Fit Positioning error > .01 and Starting position is uncertain ( ± .1”) .01” 2 1 1) Position Control θ to .1 2) DROP-INTO 3 z 4 3) Torque θ until τ > threshold 4 4) PUSH-INTO x 10 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 5
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… 11 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Continuous Force Control • Feed-forward: 12 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 6
Continuous Force Control τ = J T F • Feed-forward: • How do we do Feedback? 13 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Force-based Feedback Control f d f e f e τ τ + J T K F Arm − F/T Sensor τ = − K F J T ( f − f d ) Is K F in Joint Space or Workspace? Will it work well? Whitney ‘85 14 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 7
Force-based Control (Linearization) G θ + f d f e f e τ τ + J T Arm K F + − F/T Sensor τ = G − K F J T ( f − f d ) 15 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Force-based Control (Feed-forward) J T G θ + + f d f e f e τ τ + J T Arm K F + − F/T Sensor τ = J T f d + G − K F J T ( f − f d ) Similar to Volpe ‘93 16 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 8
Force-based Control (Feed-forward Term) J T G θ + + f d f e f e τ τ + J T Arm K F + − F/T Sensor τ = J T f d + G − K F J T ( f − f d ) • Non-zero steady-state error • Can be oscillatory Similar to Volpe ’93 17 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Options • Integral Control Z t τ = J T f d + G − K F I J T ( f − f d ) dt 0 • Increase Feed-Forward Term Volpe ’93 18 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 9
Options • Integral Control Z t τ = J T f d + G − K F I J T ( f − f d ) dt 0 • Increase Feed-Forward Term Volpe ’93 19 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Position-based Force Control ¯ G ( q ) = f Workspace dynamics: ¯ G ( q ) = f + f E Workspace dynamics with contact: 20 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 10
Position-based Force Control ¯ G ( q ) = f Workspace dynamics: ¯ G ( q ) = f + f E Workspace dynamics with contact: f = ¯ G ( q ) − K p ( x − x d ) Generic Position Controller: G ( q ) = ¯ ¯ G ( q ) − K p ( x − x d ) + f E Controlled System Dynamics: 21 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Position-based Force Control ¯ G ( q ) = f Workspace dynamics: ¯ G ( q ) = f + f E Workspace dynamics with contact: f = ¯ G ( q ) − K p ( x − x d ) Generic Position Controller: G ( q ) = ¯ ¯ G ( q ) − K p ( x − x d ) + f E Controlled System Dynamics: K p K p ( x − x d ) = f E x d - x x d = − K − 1 p f E + x 22 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 11
Position-based Force Control: Feedback Position Control: Kin. x θ G − + + + x d K p J T x e Arm τ C F C 23 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 Position-based Force Control: Feedback Kin. x θ G ∫ − f d + + + 1 + K If K p J T x e Arm x d τ C s F C + + − f F/T Sensor Force Control K lf K p ∫ f e 24 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 12
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 25 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 I mpedance Control How would the robot respond if its dynamics were actually: M d ¨ x − D d ˙ x e − K d x e = f E x e = ( x − x r ) • Position tracking when force = 0 • Compliance when force > 0 • Restoration to tracking when force is removed 26 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 13
I mpedance Control How would the robot respond if its dynamics were actually: M d ¨ x − D d ˙ x e − K d x e = f E x e = ( x − x r ) • Position tracking when force = 0 • Compliance when force > 0 • Restoration to tracking when force is removed x = M − 1 ¨ d ( f E + D d ˙ x e + K d x e ) 27 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 I mpedance Control How would the robot respond if its dynamics were actually: M d ¨ x − D d ˙ x e − K d x e = f E x e = ( x − x r ) • Position tracking when force = 0 • Compliance when force > 0 • Restoration to tracking when force is removed x = M − 1 ¨ d ( f E + D d ˙ x e + K d x e ) Notice the similarity to workspace computed torque: τ = J T ( ¯ x e + K d x e )) + ¯ x + ¯ M ( M − 1 G − f E ) d ( f E + D d ˙ C ˙ 28 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 14
Position-based I mpedance Control M d ¨ x − D d ˙ x e − K d x e = f E x e = ( x − x r ) f E 1) Simulate the system response to M − 1 x ( t + ∆ t ) ¨ = d ( f E + D d ˙ x ( t ) + K d x ( t )) x ( t + ∆ t ) ˙ = x ( t ) + ¨ ˙ x ( t ) ∆ t x ( t + ∆ t ) = x ( t ) + ˙ x ( t ) ∆ t x x ˙ 2) Track simulated (possibly ) 29 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 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 F t £ ¤ T x = x 1 · · · x n • Task frame is a transformed world frame F t F 0 F t = T 0 t F 0 30 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 15
Hybrid Control • A motion constraint is described by a selection matrix: ⎡ ⎤ s 1 ⎣ ⎦ S ˙ x = 0 · · · S = s n • Coordinates – Cartesian + Fixed Axis (Roll, Pitch Yaw) z F t R t B = R ( z t , φ ) R ( y t , θ ) R ( x t , ψ ) y s φ ] T S RPY = I [ s x s y s z s ψ s θ x • Alternative Coordinates: 31 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 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 ] 32 2/21/2008 Mike Stilman (RIM@GT) 8803 Lecture 14 16
Recommend
More recommend