Forward Kinematics and Jacobians Kris Hauser CS B
Forward Kinematics and Jacobians Kris Hauser CS B 659: Principles of Intelligent Robot Motion Spring 2013
Articulated Robot q 2 q 1 • Robot: usually a rigid articulated structure • Geometric CAD models, relative to reference frames • A configuration specifies the placement of those frames (forward kinematics)
Forward Kinematics • Given: • A kinematic reference frame of the robot • Joint angles q 1, …, qn • Find rigid frames T 1, …, Tn relative to T 0 • 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: T 1·T 2 indicates the transformation T 2 first, then T 1
Kinematic Model of Articulated Robots: Reference Frame T 2 ref T 3 ref L 2 T 0 T 1 ref L 0 L 1 L 3 T 4 ref
Rotating the first joint T 1(q 1) = T 1 ref·R(q 1) T 1(q 1) T 0 q 1 T 1 ref L 0
Where is the second joint? T 2(q 1) ? T 2 ref T 0 q 1
Where is the second joint? T 2 ref T 0 q 1 T 2 parent(q 1) = T 1(q 1) ·(T 1 ref)-1·T 2 ref
After rotating joint 2 q 2 T 2 R T 0 q 1 T 2(q 1, q 2) = T 1(q 1) ·(T 1 ref)-1·T 2 ref·R(q 2)
After rotating joint 2 q 2 T 2 R T 0 q 1 Denote T 2 ->1 ref = (T 1 ref)-1·T 2 ref (frame relative to parent) T 2(q 1, q 2) = T 1(q 1) ·T 2 ->1 ref·R(q 2)
General Formula T 2(q 1, q 2) L 2 T 0 T 1(q 1) L 0 L 1 T 3(q 1, . . , q 3) L 3 T 4(q 1, …, q 4)
Generalization to tree structures •
To 3 D… • Much the same, except joint axis must be defined (relative to parent) • Angle-axis parameterization
Generalizations • • • Prismatic joints Ball joints Cylindrical joints Spirals Free-floating bases From La. Valle, Planning Algorithms
The Jacobian Matrix • f 1/ q 1 … f 1/ qn … … fm/ q 1 … fm/ qn
Aside on partial derivatives…
Single Joint Robot Example (x, y) L q
Single Joint Robot Example (x, y) L q
Single Joint Robot Example (x, y) L q
Significance • (x, y) L q
Computing Jacobians in general •
Derivative… •
Derivative… T 2(q 1, q 2) L 2 T 0 T 1(q 1) L 1 T 3(q 1, . . , q 3) L 3 xk T 4(q 1, …, q 4)
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 T 2(q 1, q 2) L 2 T 0 T 1(q 1) L 1 T 3(q 1, . . , q 3) L 3 xk T 4(q 1, …, q 4)
Orientation Jacobian • Consider end effector orientation θ(q) in plane • All entries of Jθ(q) corresponding to revolute joints are 1! • In 3 D, column j is identical to the axis of rotation of joint j (in world space) at configuration q T 2(q 1, q 2) L 2 T 0 T 1(q 1) L 1 T 3(q 1, . . , q 3) L 3 xk T 4(q 1, …, q 4)
Total Jacobian • Total Jacobian J(q) is the matrix formed by stacking Jx(q), Jθ(q) • 3 rows in 2 D, 6 rows in 3 D
Next class: Inverse Kinematics • Readings on schedule: • Wang and Chen (1991) • Duindam et al (2008)
- Slides: 26