- 167 Views
- Uploaded on
- Presentation posted in: General

Forward Kinematics and Jacobians

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Forward Kinematics and Jacobians

Kris Hauser

CS B659: Principles of Intelligent Robot Motion

Spring2013

q2

q1

- Robot: usually a rigid articulated structure
- Geometric CAD models, relative to reference frames
- A configuration specifies the placement of those frames (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

T2ref

T3ref

T1ref

T4ref

L2

T0

L3

L1

L0

T1(q1)

q1

T1(q1) =T1ref·R(q1)

T0

T1ref

L0

T2(q1) ?

T2ref

T0

q1

T2ref

T0

q1

T2parent(q1) = T1(q1) ·(T1ref)-1·T2ref

q2

T2R

T0

q1

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

q2

T2R

T0

q1

Denote T2->1ref= (T1ref)-1·T2ref(frame relative to parent)

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

T2(q1,q2)

T3(q1,..,q3)

T1(q1)

T4(q1,…,q4)

Denote (ref frame relative to parent)

L2

T0

L3

L1

L0

- 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)

- Much the same, except joint axis must be defined (relative to parent)
- Angle-axis parameterization

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

From LaValle, Planning Algorithms

- 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

(x,y)

L

q

(x,y)

L

q

(x,y)

L

q

- If x is an end effector, multiplying J(q) with a joint velocity vector gives the end effector velocity

(x,y)

L

q

- How do we compute it?
- Consider derivative w.r.t. qj

T2(q1,q2)

T3(q1,..,q3)

T1(q1)

T4(q1,…,q4)

xk

L2

T0

L3

L1

T2(q1,q2)

T3(q1,..,q3)

T1(q1)

T4(q1,…,q4)

- Column j of position JacobianJx(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

xk

L2

T0

L3

L1

T2(q1,q2)

T3(q1,..,q3)

T1(q1)

T4(q1,…,q4)

- 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

xk

L2

T0

L3

L1

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

- Readings on schedule:
- Wang and Chen (1991)
- Duindam et al (2008)