Solution
Solution
1 0 −90° 0 𝜃1
2 0 −90° 𝑙2 𝜃2
3 0 0 𝑑3 0 𝑋2 𝑋3
𝑍1
F
(D-H) You’ll need these:
𝑋1 𝑍2 𝛽
𝑍3
• 𝑎𝑖−1 : Distance moved from 𝑧𝑖−1 to 𝑧𝑖
measured along 𝑥𝑖 . 𝑌1 𝑌2 𝑌3
o = 0 if 𝑧𝑖−1 and 𝑧𝑖 are
perpendicular or colinear.
• 𝛼𝑖−1 : Angle to rotate from 𝑧𝑖−1 to align 𝑙1
with 𝑧𝑖 measured about 𝑥𝑖 . 𝑍0
o Rotation follows the right hand 𝑌0
rule, where given the direction of
𝑥-axis, following the rotation of the 𝑋0
right hand yields positive angle
rotation, and negative otherwise.
بيعارض نفسه بس لضيق الوقت و انReferenceمن اآلخر انا حاسس ان ال
[NOTE] These highlighted parameters are
اتعملت ازاي فا حعتمدaxesكدا كدا مش الزم تشوف الدكتورة ال
ALWAYS constant.
Referenceالـ
• 𝑑𝑖 : Distance moved from 𝑥𝑖−1 to align
with 𝑥𝑖 measured along 𝒛𝒊 .
o OR the distance to move from the
origin of the first joint to the
common normal.
• 𝜃𝑖 : Angle to rotate from 𝑥𝑖−1 to align
with 𝑥𝑖 measured about 𝒛𝒊 .
−𝑙2 𝑠1 −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1
𝑑20 = [ 𝑙2 𝑐1 ] , 𝑑30 = [ −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 ]
0 −𝑐2 𝑑3
a) Velocities
𝑖 = 0 (𝑖 + 1 is revolute):
0 0 0
1 1 ][ 0 0 ]𝑇 [ ]
𝜔1 = 𝑅0 𝜔0 + [ ] = 𝑅1 0 + [ ] = [ 0 ]
[ ] 0 [ 0
𝜃̇1 𝜃̇1 𝜃̇1
0
1
𝑣1 = [𝑅01 ]([ 0𝑣0 ] + 0𝜔0 ×Cross Product 𝑑10 ) = [𝑅10 ]𝑇 ([0] + [0] × 𝑑10 ) = [0]
0
𝑖 = 1 (𝑖 + 1 is revolute):
0 𝑐2 𝑠2 0 0 0 0 0 0
2
𝜔2 = [𝑅12 ][ 1𝜔1 ] +[0]=[ 0 0 −1] [ 0 ] + [ 0 ] = [−𝜃̇1 ] + [ 0 ] = [−𝜃̇1 ]
𝜃̇2 −𝑠2 𝑐2 0 𝜃̇1 𝜃̇2 0 𝜃̇2 𝜃̇2
𝑐2 𝑠2 0 0 0 𝜃̇1 0 0 0
2
𝑣2 = [𝑅12 ]([ 1𝑣1 ] + 𝜔1 ×Cross Product 𝑑21 )
1
=[ 0 0 −1] ([0] + [𝜃̇ 0 0 ] × [ 0 ]) = [0]
1
−𝑠2 𝑐2 0 0 0 0 0 𝑙 2 0
𝑖 = 2 (𝑖 + 1 is prismatic):
1 0 0 0 0
3
𝜔3 = [𝑅23 ][ 2𝜔2 ] = [0 1 0] [ 1 ] = [ ̇1 ]
−𝜃 ̇ −𝜃
0 0 1 𝜃̇2 𝜃̇2
0 0 −𝜃̇2 −𝜃̇1 0 0
3
𝑣3 = [𝑅23 ]([ 2𝑣2 ] + 𝜔2 ×cross Product 𝑑32 )
2
+ [ 0 ] = [𝜃̇2 0 0 ][ 0 ] + [ 0 ]
𝑑̇3 𝜃̇1 0 0 𝑑3 𝑑̇3
−𝜃̇1 𝑑3 0 −𝜃̇1 𝑑3
=[ 0 ]+[0]=[ 0 ]
0 𝑑̇3 𝑑̇3
b) Jacobian
𝑖 = 1 (𝑖 is revolute):
0 0 −1 0 −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 𝑑3 𝑙2 𝑐1 − 𝑙2 𝑐1
𝐽𝑣 = 𝑅00 [0] ×Cross Product (𝑑30 − 𝑑00 ) = [1 0 0] [ −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 ] = [−𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 ]
1 0 0 0 −𝑐2 𝑑3 0
0 0
𝐽𝜔 = 𝑅00 [0] = [0]
1 1
𝑖 = 2 (𝑖 is revolute):
0 𝑐1 0 −𝑠1 0 −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1
𝐽𝑣 = 𝑅10 [0] ×Cross Product (𝑑30
− 𝑑10 )
= [𝑠1 0 𝑐1 ] [0] ×Cross Product ([ −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 ])
1 0 −1 0 1 −𝑐2 𝑑3
−𝑠1 −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 0 0 𝑐1 −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1
= [ 𝑐1 ] ×Cross Product [ −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 ] = [ 0 0 𝑠1 ] [ −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 ]
0 −𝑐2 𝑑3 −𝑐1 −𝑠1 0 −𝑐2 𝑑3
−𝑐1 𝑐2 𝑑3
=[ 𝑠1 𝑐2 𝑑3 ]
−𝑐1 (−𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 ) − 𝑠1 (−𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 )
0 −𝑠1
𝐽𝜔 = 𝑅10 [0]
= [ 𝑐1 ]
1 0
𝑖 = 3 (𝑖 is prismatic):
0 0 𝑐1 𝑐2 𝑠1 −𝑐1 𝑠2 0 −𝑐1 𝑠2
0
𝐽𝑣 = 𝑅𝑖−1 [0] = 𝑅20 [0] = [𝑠1 𝑐2 −𝑐1 −𝑠1 𝑠2 ] [0] = [−𝑠1 𝑠2 ]
1 1 0 0 −𝑐2 1 −𝑐2
0
𝐽𝜔 = [0]
0
𝑑3 𝑙2 𝑐1 − 𝑙2 𝑐1 −𝑐1 𝑐2 𝑑3 −𝑐1 𝑠2
−𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 𝑠1 𝑐2 𝑑3 −𝑠1 𝑠2
∴𝐽= 0 −𝑐1 (−𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 ) − 𝑠1 (−𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1 ) −𝑐2
0 −𝑠1 0
0 𝑐1 0
[ 1 0 0 ]
The above what I yielded. However, according to some online sources, the following is the
correct Jacobian (𝑑2 is a constant that I write as 𝑙2 for the sake of consistency with the professor
sources):
−𝑙2 𝑐1 − 𝑑3 𝑠1 𝑠2 𝑐1 𝑐2 𝑑3 𝑐1 𝑠2
−𝑙2 𝑠1 − 𝑑3 𝑠1 𝑠2 𝑠1 𝑐2 𝑑3 𝑠1 𝑠2
0 −𝑑3 𝑠2 𝑐2
𝐽=
0 −𝑠1 0
0 𝑐1 0
[ 1 0 0 ]
c) Base Frame Jacobian
Method 1
𝑗
𝐽𝑣 𝑗 = 𝑅𝑖 𝐽𝑣 𝑖
𝑐1 𝑐2 𝑠1 −𝑐1 𝑠2 −𝑙2 𝑐1 − 𝑑3 𝑠1 𝑠2 𝑐1 𝑐2 𝑑3 𝑐1 𝑠2
0
𝐽𝑣 = 𝑅30 𝐽𝑣 3= [𝑠1 𝑐2 −𝑐1 0 ] [−𝑙2 𝑠1 − 𝑑3 𝑠1 𝑠2 𝑠1 𝑐2 𝑑3 𝑠1 𝑠2 ]
0 0 −𝑐2 0 −𝑑3 𝑠2 𝑐2
𝑐1 𝑐2 (−𝑙2 𝑐1 − 𝑑3 𝑠1 𝑠2 ) + 𝑠1 (−𝑙2 𝑠1 − 𝑑3 𝑠1 𝑠2 ) 𝑐1 𝑐2 𝑑3 + 𝑠1 𝑐2 𝑑3 + 𝑐1 𝑠22 𝑑3
2 2 2
−𝑐12 𝑐2 𝑐1 − 𝑠12 𝑐2 𝑐1
= [𝑠1 𝑐2 (−𝑙2 𝑐1 − 𝑑3 𝑠1 𝑠2 ) − 𝑐1 (−𝑙2 𝑠1 − 𝑑3 𝑠1 𝑠2 ) 𝑠1 𝑐1 𝑐2 𝑑3 − 𝑐1 𝑐2 𝑠1 𝑑3 𝑠1 𝑐1 𝑠2 𝑐2 − 𝑠1 𝑐1 𝑠2 ]
0 −𝑠2 𝑐2 𝑑3 −𝑐22
Method 2
𝑐1 𝑐2 𝑠1 −𝑐1 𝑠2 −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1 𝑥 = −𝑑3 𝑐1 𝑐2 − 𝑙2 𝑠1
𝑠 𝑐 −𝑐1 0 −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1
∵ 𝑇30 =[ 1 2 ] →∴ { 𝑦 = −𝑑3 𝑙2 𝑐1 + 𝑙2 𝑐1
0 0 −𝑐2 −𝑐2 𝑑3
𝑧 = −𝑐2 𝑑3
0 0 0 1
𝑑𝑥 𝑑𝑥 𝑑𝑥
𝑑𝜃1 𝑑𝜃2 𝑑𝑑3
𝑑3 𝑠1 𝑐2 − 𝑙2 𝑐1 𝑑3 𝑐1 𝑠2 −𝑐1 𝑐2
0 𝑑𝑦 𝑑𝑦 𝑑𝑦
∴ 𝐽𝑣 = = [ 𝑑3 𝑙2 𝑠1 − 𝑙2 𝑠1 0 −𝑙2 𝑐1 ]
𝑑𝜃1 𝑑𝜃2 𝑑𝑑3
0 𝑠2 𝑑3 −𝑐2
𝑑𝑧 𝑑𝑧 𝑑𝑧
[𝑑𝜃1 𝑑𝜃2 𝑑𝑑3 ]
d) Singularities
−𝑙2 𝑐1 − 𝑑3 𝑠1 𝑠2 𝑐1 𝑐2 𝑑3 𝑐1 𝑠2
𝐽𝑣 = [−𝑙2 𝑠1 − 𝑑3 𝑠1 𝑠2 𝑠1 𝑐2 𝑑3 𝑠1 𝑠2 ]
0 −𝑑3 𝑠2 𝑐2
∴ |𝐽𝑣 | = −𝑙2 𝑐1 𝑠1 𝑐22 𝑑3 − 𝑙2 𝑐1 𝑠1 𝑠22 𝑑3 − 𝑠12 𝑐22 𝑑32 𝑠2 + 𝑠12 𝑠23 𝑑32 + 𝑙2 𝑠1 𝑐22 𝑐1 𝑑3 + 𝑑32 𝑠1 𝑠2 𝑐22 𝑐1
+ 𝑙2 𝑠1 𝑑3 𝑠22 𝑐1 + 𝑑32 𝑠1 𝑠23 𝑐1 = 0 → Causes singularity.
𝑠1 (−𝑙2 𝑐1 𝑐22 𝑑3 − 𝑙2 𝑐1 𝑠22 𝑑3 − 𝑠1 𝑐22 𝑑32 𝑠2 + 𝑠1 𝑠23 𝑑32 + 𝑙2 𝑐22 𝑐1 𝑑3 + 𝑑32 𝑠2 𝑐22 𝑐1 + 𝑙2 𝑑3 𝑠22 𝑐1 + 𝑑32 𝑠23 𝑐1 ) = 0
Therefore, 𝜃 = 𝑛(180°) results in a singularity. Also, −𝑙2 𝑐1 𝑑3 (𝑐22 + 𝑠22 ) − 𝑠1 𝑐22 𝑑32 𝑠2 + 𝑠1 𝑠23 𝑑32 +
𝑙2 𝑐22 𝑐1 𝑑3 + 𝑑32 𝑠2 𝑐22 𝑐1 + 𝑙2 𝑑3 𝑠22 𝑐1 + 𝑑32 𝑠23 𝑐1 = 0 causes a singularity as well.
0 −𝑑3 0 𝐹𝑠𝛽 0
[2𝑛2 ] = [𝑅32 ][ 3𝑛3 ] + [𝑑32 ] × [2
𝑓2 ] = [𝐼 ][0] + [𝑑3 0 0] [ 0 ] = [𝐹𝑠𝛽 ]
0 0 0 𝐹𝑐𝛽 0
0 0
𝜏2 = −[ 2𝑓2 ]T [0] = [−𝐹𝑠𝛽 0 −𝐹𝑐𝛽 ] [0] = −𝐹𝑐𝛽
1 1
𝑖 = 1 (Revolute Joint):
𝑐2 0 −𝑠2 𝐹𝑠𝛽 𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2
[1 𝑓1 ] = [𝑅21 ][ 2𝑓2 ] = [𝑠2 0 𝑐2 ] [ 0 ] = [𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 ]
0 −1 0 𝐹𝑐𝛽 0
𝑐2 0 −𝑠2 0 0 −𝑙2 0 𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2
[ 1𝑛1 ] = [𝑅21 ][ 2𝑛2 ] + [𝑑21 ] × [ 1𝑓1 ] = [𝑠2 0 𝑐2 ] [𝐹𝑠𝛽 ] + [𝑙2 0 0] [𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 ]
0 −1 0 0 0 0 0 0
0 −𝑙2 (𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 ) −𝑙2 (𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 )
= [ 0 ] + [ 𝑙2 (𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2 ) ] = [ 𝑙2 (𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2 ) ]
−𝐹𝑠𝛽 0 −𝐹𝑠 𝛽
0 0
𝜏1 = −[ 1𝑛1 ]T [0] = [𝑙2 (𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 ) −𝑙2 (𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2 ) 𝐹𝑠𝛽 ] [0] = 𝐹𝑠𝛽
1 1
𝑖 = 0 (Revolute Joint):
𝑐1 0 −𝑠1 𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2
[0 𝑓0 ] = [𝑅10 ][ 1𝑓1 ] = [𝑠1 0 𝑐1 ] [𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 ]
0 −1 0 0
𝑐1 (𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2 ) − 𝑠1 (𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 )
= [𝑠1 (𝐹𝑠𝛽 𝑐2 − 𝐹𝑐𝛽 𝑠2 ) − 𝑐1 (𝐹𝑠𝛽 𝑠2 + 𝐹𝑐𝛽 𝑐2 )]
0