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 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.
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 + + 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
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
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.
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…
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
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
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:
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
Twist Twist concatenates linear and angular velocity: Linear velocity v ξ = ω Angular velocity
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
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 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
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
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 • Translates along z − i 1 z = b J z − i 1 Extension/contraction along z − v i 1 i
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
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
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