forward kinematics and jacobians
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 PresentationTRANSCRIPT
![Page 1: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/1.jpg)
Forward Kinematics and JacobiansKris HauserCS B659: Principles of Intelligent Robot MotionSpring 2013
![Page 2: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/4.jpg)
Kinematic Model of Articulated Robots: Reference Frame
T0
L0
L1
L2 L3
T1ref
T2ref
T3ref
T4ref
![Page 5: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/5.jpg)
Rotating the first joint
T0
L0
T1ref
q1
T1(q1)
T1(q1) = T1ref·R(q1)
![Page 6: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/6.jpg)
Where is the second joint?
T0
T2ref
q1
T2(q1) ?
![Page 7: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/7.jpg)
Where is the second joint?
T0
T2ref
q1
T2parent(q1) = T1(q1) ·(T1
ref)-1·T2ref
![Page 8: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/12.jpg)
To 3D…• Much the same, except joint axis must be defined (relative to
parent)• Angle-axis parameterization
![Page 13: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/13.jpg)
Generalizations• Prismatic joints• Ball joints• Prismatic joints• Spirals• Free-floating bases
From LaValle, Planning Algorithms
![Page 14: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/15.jpg)
Aside on partial derivatives…
![Page 16: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/16.jpg)
Single Joint Robot Example
q
(x,y)
L [𝑥𝑦 ] (𝑞 )=[𝐿cos𝑞𝐿sin𝑞 ]
![Page 17: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/17.jpg)
Single Joint Robot Example
q
(x,y)
L [𝑥𝑦 ] (𝑞 )=[𝐿cos𝑞𝐿sin𝑞 ]𝐽 (𝑞 )=[𝜕 𝑥 /𝜕𝑞
𝜕 𝑦 /𝜕𝑞 ] (𝑞 )=[−𝐿 sin𝑞𝐿 cos𝑞 ]
![Page 18: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/18.jpg)
Single Joint Robot Example
q
(x,y)
L [𝑥𝑦 ] (𝑞 )=[𝐿cos𝑞𝐿sin𝑞 ]𝐽 (𝑞 )=[𝜕 𝑥 /𝜕𝑞
𝜕 𝑦 /𝜕𝑞 ] (𝑞 )=[−𝐿 sin𝑞𝐿 cos𝑞 ]
𝐽 (𝑞 )
![Page 19: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/20.jpg)
Computing Jacobians in general• How do we compute it?
• Consider derivative w.r.t. qj
![Page 21: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/21.jpg)
Derivative…
![Page 22: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/22.jpg)
Derivative…
T0
L1
L2L3
T1(q1)
T2(q1,q2)T3(q1,..,q3)
T4(q1,…,q4)
xk
𝜕𝜕𝑞 𝑗
𝑥
![Page 23: Forward Kinematics and Jacobians](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.us/reader035/viewer/2022081505/5681672c550346895ddbceab/html5/thumbnails/26.jpg)
Next class: Inverse Kinematics• Readings on schedule:• Wang and Chen (1991)• Duindam et al (2008)