Differential Kinematics Robert Platt Northeastern University
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.
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 )
Motivating Example Suppose you want to move the end Goal: move the end x effector above a specified point, effector onto this line g Answer #1: 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. i 1 i i 6. goto 2.
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.
Intro to the Jacobian x = [ l 1 sin ( q 1 )+ l 2 sin ( q 1 + q 2 ) ] l 1 cos ( q 1 )+ l 2 cos ( q 1 + q 2 ) Forward kinematics of the two- ⃗ link manipulator l 2 q 2 y Velocity Jacobian l 1 q 1 x = J ( q )
Intro to the Jacobian 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 l q 1 1 x joint ctlr 1 J joint position sensor
Jacobian The Jacobian relates joint velocities with end effector twist : J q Joint angle velocities End effector twist • First derivative of joint angles: Jacobian 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.
What is Twist? End effector twist: Linear velocity • Twist is a concatenation of linear velocity and angular velocity: Angular velocity • As we will show in a minute, linear and angular velocity have different units
What is Twist? End effector twist: Linear velocity • Twist is a concatenation of linear velocity and angular velocity: Angular velocity • As we will show in a minute, linear and angular velocity have different units What is angular velocity? Angular velocity is a vector that: – points in the direction of the axis of rotation – has magnitude equal to the velocity of rotation
What is Angular Velocity? Angular velocity is a vector that: – points in the direction of the axis of rotation – has magnitude equal to the velocity of rotation Symbol for angular velocity: Relation between angular velocity and linear velocity: We will often write it this way:
Angular Velocity Derivation 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
Twist: Time out for skew symmetry! T Def’n of skew symmetry S S S = [ 0 ] 0 a b Skew symmetric matrices − a 0 c always look like this − b − c S ( x ) = [ 0 ] − x z 0 x y − x x x z 0 If you interpret the skew symmetric matrix like this: − x y x x Then this is another way of writing S x p x p the cross product:
Angular Velocity Derivation b S Skew symmetry of : T b b I 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
Twist Twist concatenates linear and angular velocity: Linear velocity ξ = [ ω ] v Angular velocity
Jacobian v v J q Breakdown of the Jacobian: J q ξ = [ J ω ] ˙ J v q x r J v J Relation to the derivative: but q q That’s not an angular velocity
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
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
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 • z Translates along i 1 z b J z i 1 Extension/contraction along z v i 1 i
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
Calculating the Jacobian: putting it together J v = [ J v 1 J v n ] ⋯ Where b b b J z p p • rotational eff x v i 1 eff i 1 i b J z • prismatic v i 1 i eff y l J ω = [ J ω 1 J ω n ] 3 ⋯ q eff 1 x 3 Where eff 1 y b z • J rotational i 1 1 x i 1 y J 0 • prismatic q i 2 l 2 J = [ J ω n ] J v 1 ⋯ J v n 0 y l 1 J ω 1 ⋯ q 1 0 x 0 z
Example 1: calculating the Jacobian 3 x From before: 3 0 T 1 = ( 1 ) 1 T 2 = ( 1 ) y − s q 1 c q 2 − s q 2 0 l 2 c q 2 c q 1 0 l 1 c q 1 l 3 s q 2 c q 2 0 l 2 s q 2 s q 1 c q 1 0 l 1 s q 1 l q 2 3 2 x 1 x 0 0 1 0 0 0 1 0 1 y 0 0 0 0 0 0 q 2 2 T 3 = ( 1 ) 2 y − s q 3 c q 3 0 l 3 c q 3 0 y s q 3 c q 3 0 l 3 s q 3 q 1 0 x l 0 0 1 0 1 0 z 0 0 0 z 2 ] = [ 1 ] 0 0 0 J ω = [ 0 ^ 0 ^ 0 ^ z 0 z 1 0 0 0 1 1
Example 1: calculating the Jacobian × ( [ ] = [ ] 0 ] ) 0 o 0 )= [ 1 ] − [ l 1 c 1 + l 2 c 12 + l 3 c 123 − l 1 s 1 − l 2 s 12 − l 3 s 123 0 0 0 ^ 0 o 3 − J v 1 = z 0 ¿( 0 l 1 s 1 + l 2 s 12 + l 3 s 123 0 l 1 c 1 + l 2 c 12 + l 3 c 123 0 0 × ( [ ] − [ 0 ] ) = [ ] 0 o 1 )= [ 1 ] l 1 c 1 + l 2 c 12 + l 3 c 123 l 1 c 1 − l 2 s 12 − l 3 s 123 0 0 ^ 0 o 3 − J v 2 = z 1 ¿( 0 l 1 s 1 + l 2 s 12 + l 3 s 123 l 1 s 1 l 2 c 12 + l 3 c 123 0 0 × ( [ ] − [ ] ) = [ 0 ] 0 o 2 )= [ 1 ] l 1 c 1 + l 2 c 12 + l 3 c 123 l 1 c 1 + l 2 c 12 − l 3 s 123 0 0 ^ 0 o 3 − J v 3 = z 2 ¿( 0 l 1 s 1 + l 2 s 12 + l 3 s 123 l 1 s 1 + l 2 s 12 l 3 c 123 0 0 3 x J v = [ 0 ] − l 1 s 1 − l 2 s 12 − l 3 s 123 − l 2 s 12 − l 3 s 123 − l 3 s 123 3 y l 3 l 1 c 1 + l 2 c 12 + l 3 c 123 l 2 c 12 + l 3 c 123 l 3 c 123 l q 2 2 3 x 1 x 1 y q 0 0 2 2 y 0 y q 1 0 x l 1 0 z
Example 1: calculating the Jacobian [ 1 ] − l 1 s 1 − l 2 s 12 − l 3 s 123 − l 2 s 12 − l 3 s 123 − l 3 s 123 l 1 c 1 + l 2 c 12 + l 3 c 123 l 2 c 12 + l 3 c 123 l 3 c 123 J = [ J ω ] J v 0 0 0 = 0 0 0 0 0 0 3 x 1 1 3 y l 3 l q 2 3 2 x 1 x 1 y q 2 2 y 0 y q 1 0 x l 1 0 z
Think-pair-share 2 x l 2 2 y 1 x 1 y q 2 0 y q 1 0 x l 1 0 z Calculate the end effector Jacobian with respect to the base frame
Example 2: calculating the Jacobian The kinematics of this arm are y 2 x 2 described by the following: y 3 q 3 0 T 1 = ( 1 ) − c 1 − s 1 0 0 l 3 z 2 y 1 − s 1 0 c 1 0 0 1 0 l 1 z 3 l 2 x 3 0 0 0 q 2 x 1 1 T 2 = ( 1 ) − s 2 c 2 0 l 2 c 2 z 1 l 1 s 2 c 2 0 l 2 s 2 z 0 0 0 1 0 0 0 0 x 0 q 1 2 T 3 = ( 1 ) c 3 − s 3 0 l 3 c 3 y 0 s 3 c 3 0 l 3 s 3 0 0 1 0 0 0 0
Recommend
More recommend