Forward Kinematics and Jacobians

26
Forward Kinematics and Jacobians Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013

description

Forward Kinematics and Jacobians. Kris Hauser CS B659: Principles of Intelligent Robot Motion Spring 2013. q 2. q 1. Articulated Robot. Robot: usually a rigid articulated structure Geometric CAD models, relative to reference frames - PowerPoint PPT Presentation

Transcript of Forward Kinematics and Jacobians

Page 1: Forward  Kinematics and  Jacobians

Forward Kinematics and JacobiansKris HauserCS B659: Principles of Intelligent Robot MotionSpring 2013

Page 2: Forward  Kinematics and  Jacobians

Articulated Robot• Robot: usually a rigid

articulated structure• Geometric CAD models,

relative to reference frames• A configuration specifies

the placement of those frames (forward kinematics)

q1

q2

Page 3: Forward  Kinematics and  Jacobians

Forward Kinematics

• Given:• A kinematic reference frame of the robot• Joint angles q1,…,qn

• Find rigid frames T1,…,Tn relative to T0

• A frame T=(R,t) consists of a rotation R and a translation t so that T·x = R·x + t• Make notation easy: use homogeneous coordinates• Transformation composition goes from right to left:

T1·T2 indicates the transformation T2 first, then T1

Page 4: Forward  Kinematics and  Jacobians

Kinematic Model of Articulated Robots: Reference Frame

T0

L0

L1

L2 L3

T1ref

T2ref

T3ref

T4ref

Page 5: Forward  Kinematics and  Jacobians

Rotating the first joint

T0

L0

T1ref

q1

T1(q1)

T1(q1) = T1ref·R(q1)

Page 6: Forward  Kinematics and  Jacobians

Where is the second joint?

T0

T2ref

q1

T2(q1) ?

Page 7: Forward  Kinematics and  Jacobians

Where is the second joint?

T0

T2ref

q1

T2parent(q1) = T1(q1) ·(T1

ref)-1·T2ref

Page 8: Forward  Kinematics and  Jacobians

After rotating joint 2

T0

T2R

q1

T2(q1,q2) = T1(q1) ·(T1ref)-1·T2

ref·R(q2)

q2

Page 9: Forward  Kinematics and  Jacobians

After rotating joint 2

T0

T2R

q1

Denote T2->1ref = (T1

ref)-1·T2ref (frame relative to parent)

T2(q1,q2) = T1(q1) ·T2->1ref·R(q2)

q2

Page 10: Forward  Kinematics and  Jacobians

General FormulaDenote (ref frame relative to parent)

T0

L0

L1

L2L3

T1(q1)

T2(q1,q2)T3(q1,..,q3)

T4(q1,…,q4)

Page 11: Forward  Kinematics and  Jacobians

Generalization to tree structures• Topological sort: p[k] = parent of link k• Denote (frame i relative to parent)• Let A(i) be the list of ancestors of i (sorted from root to i)

Page 12: Forward  Kinematics and  Jacobians

To 3D…• Much the same, except joint axis must be defined (relative to

parent)• Angle-axis parameterization

Page 13: Forward  Kinematics and  Jacobians

Generalizations• Prismatic joints• Ball joints• Prismatic joints• Spirals• Free-floating bases

From LaValle, Planning Algorithms

Page 14: Forward  Kinematics and  Jacobians

The Jacobian Matrix

• The Jacobian of a function x = f(q), with and is the m x n matrix of partial derivatives

• Typically written J(q)• (Note the dependence on q)

f1/q1 … f1/qn

… …

fm/q1 … fm/qn

Page 15: Forward  Kinematics and  Jacobians

Aside on partial derivatives…

Page 16: Forward  Kinematics and  Jacobians

Single Joint Robot Example

q

(x,y)

L [𝑥𝑦 ] (𝑞 )=[𝐿cos𝑞𝐿sin𝑞 ]

Page 17: Forward  Kinematics and  Jacobians

Single Joint Robot Example

q

(x,y)

L [𝑥𝑦 ] (𝑞 )=[𝐿cos𝑞𝐿sin𝑞 ]𝐽 (𝑞 )=[𝜕 𝑥 /𝜕𝑞

𝜕 𝑦 /𝜕𝑞 ] (𝑞 )=[−𝐿 sin𝑞𝐿 cos𝑞 ]

Page 18: Forward  Kinematics and  Jacobians

Single Joint Robot Example

q

(x,y)

L [𝑥𝑦 ] (𝑞 )=[𝐿cos𝑞𝐿sin𝑞 ]𝐽 (𝑞 )=[𝜕 𝑥 /𝜕𝑞

𝜕 𝑦 /𝜕𝑞 ] (𝑞 )=[−𝐿 sin𝑞𝐿 cos𝑞 ]

𝐽 (𝑞 )

Page 19: Forward  Kinematics and  Jacobians

Significance• If x is an end effector, multiplying J(q) with a joint velocity

vector gives the end effector velocity

q

(x,y)

L𝐽 (𝑞 )

𝐽 (𝑞 )

[ �̇��̇� ]= 𝐽 (𝑞) �̇�

�̇�

[ �̇��̇� ]= 𝐽 (𝑞 ) �̇�

�̇�

Page 20: Forward  Kinematics and  Jacobians

Computing Jacobians in general• How do we compute it?

• Consider derivative w.r.t. qj

Page 21: Forward  Kinematics and  Jacobians

Derivative…

Page 22: Forward  Kinematics and  Jacobians

Derivative…

T0

L1

L2L3

T1(q1)

T2(q1,q2)T3(q1,..,q3)

T4(q1,…,q4)

xk

𝜕𝜕𝑞 𝑗

𝑥

Page 23: Forward  Kinematics and  Jacobians

Consequences…

• Column j of position Jacobian Jx(q) is the speed at which x would change if joint j rotated alone

• Perpendicular and equal in magnitude to vector from x to joint axis

• Larger when x is farther from the joint axis

T0

L1

L2L3

T1(q1)

T2(q1,q2)T3(q1,..,q3)

T4(q1,…,q4)

xk

Page 24: Forward  Kinematics and  Jacobians

Orientation Jacobian• Consider end effector orientation θ(q) in plane• All entries of Jθ(q) corresponding to revolute joints are 1!

• In 3D, column j is identical to the axis of rotation of joint j (in world space) at configuration q

T0

L1

L2L3

T1(q1)

T2(q1,q2)T3(q1,..,q3)

T4(q1,…,q4)

xk

Page 25: Forward  Kinematics and  Jacobians

Total Jacobian

• Total Jacobian J(q) is the matrix formed by stacking Jx(q), Jθ(q)• 3 rows in 2D, 6 rows in 3D

Page 26: Forward  Kinematics and  Jacobians

Next class: Inverse Kinematics• Readings on schedule:• Wang and Chen (1991)• Duindam et al (2008)