differential kinematics
play

Differential Kinematics Up to this point, we have only considered - PowerPoint PPT Presentation

Differential Kinematics Up to this point, we have only considered the relationship of the joint angles to the Cartesian location of the end effector: = f ( q ) x f ( q ) But what about the first derivative? q This


  1. Differential Kinematics Up to this point, we have only considered the relationship of the joint angles to the Cartesian location of the end effector: = f ( q ) x ∂ f ( q ) But what about the first derivative? ∂ q • This would tell us the velocity of the end effector as a function of joint angle velocities.

  2. Motivating Example Consider a one-link arm • As the arm rotates, the end effector sweeps out an arc • Let’s assume that we are only x interested in the coordinate… l q x x = l cos( q ) Forward kinematics: = − l sin( q ) dx Differential kinematics: dq δ = − δ x l sin( q ) q 1 δ = − δ q x l sin( q )

  3. Motivating Example Suppose you want to move the end Goal: move the end x effector above a specified point, effector onto this line g   x −   = g 1 q cos Answer #1:   g l   = 0 = i 0 , q arbitrary 1. Answer #2: l q x x = l cos( q ) 2. x i i g ( ) δ = α − x x x 3. g i 1 4. δ = δ q x − l sin( q ) i = + δ q q q 5. + 1 i i + + i 6. goto 2.

  4. Motivating Example l q x x g q δ q δ q x 1 d + + x joint ctlr g − l sin( q ) x q joint position l cos() sensor This controller moves the link asymptotically toward the goal position.

  5. Intro to the Jacobian + +   l cos( q ) l cos( q q ) Forward kinematics of the two-  = 1 1 2 1 2 x   link manipulator + + l sin( q ) l sin( q q )   1 1 2 1 2 l 2 q 2 y Velocity Jacobian l q 1 1 x  − − + − +   l sin( q ) l sin( q q ) l sin( q q ) d x = 1 1 2 1 2 2 1 2    + + + d q l cos( q ) l cos( q q ) l cos( q q )   1 1 2 1 2 2 1 2 ( ) = J q

  6. Intro to the Jacobian − − + − +   l sin( q ) l sin( q q ) l sin( q q ) ( ) = 1 1 2 1 2 2 1 2 J q   + + + l cos( q ) l cos( q q ) l cos( q q )   1 1 2 1 2 2 1 2 δ = δ x J q Chain rule: l 2 If the Jacobian is square q and full rank, then we 2 δ = − δ 1 q J x can invert it: y  q l q 1 1 x    δ q δ q x  joint ctlr d + + x − 1 J d   joint position x FK  q ( q ) sensor

  7. Jacobian The Jacobian relates joint velocities with end effector twist : ξ = J  q Joint angle velocities End effector twist • First derivative of joint angles: Jacobian    q 1   =  q       q   n It turns out that you can “easily” compute the Jacobian for arbitrary manipulator structures • This makes differential kinematics a much easier sub-problem than kinematics in general.

  8. What is Twist? End effector twist: Linear velocity • Twist is a concatenation of linear   v ξ = ω velocity and angular velocity:     Angular velocity • As we will show in a minute, linear and angular velocity have different units • Although we will frequently treat this quantity as a 6-vector, it is NOT one…

  9. Twist: Angular Velocity b = b a q R q a   = b b a q R q Just differentiate all elements of a the rotation matrix w.r.t. time.  T  = b b b b q R R q a a ( ) This is the matrix representation  T ω = b b b S R R of angular velocity a a ( ) q This FO differential equation = ω b  b b q S encodes how the particle rotates FYI: this expression can be solved using an exponential: ( ( ) )   2 ( ) ω b ( ) S t ( ) ( ) ( ) b ω = = + ω + + b S t b b    q t e q 0 I S t q 0 2    

  10. Twist: Angular Velocity ( ( ) )   2 ( ) ω b ( ) S t ( ) ( ) ( ) b ω = = + ω + + b S t b b    q t e q 0 I S t q 0 2     [ ] ( ) ( ) ( ) ( ) ( ( ) ) 2 = + ω θ + ω − θ b b 2 I S t sin S t 1 cos q 0

  11. Twist: Time out for skew symmetry! = − T Def’n of skew symmetry S S   0 a b   Skew symmetric matrices = − S a 0 c   always look like this   − − b c 0     − 0 x x z y   ( ) = − S x x 0 x If you interpret the skew symmetric   z x matrix like this:   − x x 0   y x ( ) = × Then this is another way of writing S x p x p the cross product:

  12. Twist: Angular Velocity ( ) ω b S Skew symmetry of : T I = b b R R a a   T T = + b b b b 0 R R R R a a a a   T T =− b b b b R R R R a a a a ( ) ( ) T ω = − ω b b S S ( ) q = ω b  b b q S = ω × b  b b You probably already know this q q formula

  13. Twist Twist concatenates linear and angular velocity: Linear velocity   v ξ = ω     Angular velocity

  14. Jacobian = v  v J q Breakdown of the Jacobian: ω = J  q ω   J v ξ =  q   J   ω ∂ ∂ x r = φθψ J v ≠ J Relation to the derivative: but ∂ ω q ∂ q That’s not an angular velocity

  15. Calculating the Jacobian eff x eff Approach: y • l Calculate the Jacobian one column at a 3 time q − eff 1 x 3 • Each column describes the motion at the end effector due to the motion of that joint  − eff 1 y only. • For each joint, i , pretend all the other joints 1 x 1 are frozen, and calculate the motion at the y end effector caused by i. q 2 l 2 0 y l 1 q 1 0 x 0 z

  16. Calculating the Jacobian: Velocity eff x th i How does the end effector translate as the eff y link moves? l i x − i 1 x 3 − i 1 q y − eff 1 x 3 l i  − eff 1 y i y 1 x 1 y − q = b b i 1 p R p 2 − − eff i 1 i 1 , eff l 2 0 y l 1 Orientation of the q Vector from reference 1 − th 0 i 1 link x frame i-1 to the end 0 effector z

  17. Calculating the Jacobian: Velocity i x − i 1 x − i 1 y • Calculate the velocity of the end effector caused by motion at the i-1 link: l i − = b b i 1 i p R p y − − eff i 1 i 1 , eff  − − = + b  b i 1 b i 1  p R p R p − − − − eff i 1 i 1 , eff i 1 i 1 , eff  T − = + b  b b b i 1 b  p R R R p p − − − − − eff i 1 i 1 i 1 i 1 , eff i 1 , eff ( ) − =  T ω b b b S R R − − i 1 i 1 i 1 ( ) = ω + b  b b b  p S p p − − − eff i 1 i 1 , eff i 1 , eff = ω × + b  b b b  p p p − − − eff i 1 i 1 , eff i 1 , i

  18. Calculating the Jacobian: Velocity i x − • i 1 The velocity of the end effector x − i 1 y caused by motion at the i-1 link: = ω × + b  b b b  l p p p i − − − eff i 1 i 1 , eff i 1 , i i y Velocity at end effector due to change in length of link i-1 Velocity at end effector due to rotation at joint i-1

  19. Calculating the Jacobian: Velocity − i 1 x − i 1 y Rotational DOF q i • Rotates about − i 1 z i x = − × b b J z p − l v i 1 i 1 , eff i ( ) i − i 1 z = × − i b b b y J z p p i z − − v i 1 eff i 1 i − i 1 z Rotation about − i 1 y Vector from i-1 to the end l i − i 1 z effector i x Prismatic DOF i y − i 1 x i • Translates along z − i 1 z = b J z − i 1 Extension/contraction along z − v i 1 i

  20. Calculating the Jacobian: Angular Velocity eff x th i How does the end effector rotate as the eff y link moves? l i x − i 1 x 3 − i 1 q y − eff 1 x 3 l i  − eff 1 y i y 1 x 1 y − q = b b i 1 i R R R R 2 − eff i 1 i eff l 2 0 y l 1 b R How does rotate as this rotates? q eff 1 0 x 0 z

  21. Calculating the Jacobian: Angular Velocity − = b b i 1 i R R R R − eff i 1 i eff   − = b b i 1 i R R R R − eff i 1 i eff ( ) ( ) − − ω = ω b b b i 1 i 1 i S R R S R R − − eff eff i 1 i 1 , i i eff ( ) ( ) − T − ω = ω b b b i 1 b b i 1 S R R S R R R − − − − eff eff i 1 i 1 , i i 1 i 1 eff ( ) ( ) − − ω = ω b b b i 1 b i 1 S R S R R R − − − eff eff i 1 i 1 , i i 1 eff ( ) ( ) ω = ω b b b b S R S R − eff eff i 1 , i eff ω = ω b b Perhaps this was kind of obvious… − eff i 1 , i Angular velocity caused by rotation of joint i-1 Angular velocity at end effector

  22. Calculating the Jacobian: Velocity − i 1 x − i 1 y Rotational DOF q i • Rotates about − i 1 z i x = b z J l ω − i 1 , i i i − i 1 z i y i z − i 1 z Rotation about − i 1 y l i − i 1 z i x Prismatic DOF • Translates along − i 1 z i y − i 1 x i = z J ω 0 i − i 1 Extension/contraction along z

Recommend


More recommend