转载请注明出处
文章目录
引言
PUMA的历史:
-
1962年,由乔治·德沃尔(George Devol)和约瑟夫·恩格伯格(Joseph Engelberger)共同创建的美国万能自动化(Unimation)公司的第一台机器人Unimate,在美国通用汽车(General Motors,GM)公司投入使用,标志着第一代机器人的诞生。
机器人Unimate -
1969年,维克多·沙因曼(Victor Scheinman)发明了Standford Arm。
Standform Arm -
1972年,Scheinman在MIT的人工智能实验室研发了MIT Arm,是PUMA的前身。
MIT Arm -
1977年,Scheinman将他之前的设计卖给了Unimation,在GM的帮助下深入发展并设计出PUMA (Programmable Universal Machine for Assembly / Programmable Universal Manipulation Arm),下图为1983年设计出的PUMA 500。
PUMA 500
一、连杆坐标系
1.1 连杆和关节
PUMA560的各个连杆:
- 连杆0(基座):
- 连杆0虽然有一个具体的形状,但是在建立连杆坐标系时,由于坐标系{0}和坐标系{1}重合,所以其在运动学模型中长度设为0,用一个点或者坐标系进行表示。
- 连杆1:
- 关节1贯穿连杆1(上端)和连杆0(下端)
- 连杆2:
- 关节2贯穿连杆2(上端)和连杆1(下端)
- 连杆3:
- 关节3贯穿连杆3(上端)和连杆2(下端)
- 连杆4:
- 关节4贯穿连杆4(上端)和连杆3(下端)
- 连杆5:
- 关节5贯穿连杆5(上端)和连杆4(下端)
- 连杆5可以看成一个“擀面杖”
- 连杆6(末杆):
- 关节6贯穿连杆6(上端)和连杆5(下端)
- 连杆6可以看成一个“印章”或“国际象棋”,底座用于固连末端执行器或工具。虽然此处连杆6有具体形状,但是在连杆坐标系中将其长度设为0(跟连杆0一样)。
1.2 建立连杆坐标系
第一步:确定Z轴1
找到六个转动关节,关节i和关节i+1之间为连杆i(i=1, 2, … , 5),连杆6用于连接末端执行器。根据关节轴确定Z轴,由于Z轴正方向有两个,所以选取不同的方向,会影响连杆坐标系的建立,也即D-H参数列表会不同。
第二步:找公垂线或交点
找到两相邻Z轴的公垂线或交点。 Z 2 {Z_2} Z2、 Z 3 {Z_3} Z3的公垂线有无数条,这也是导致D-H参数列表不同的一个原因。
第三步:确定坐标系{i}的原点
坐标系 { i } ( i = 1 , 2 , ⋯ , 5 ) \{ i\} (i = 1,2, \cdots ,5) {i}(i=1,2,⋯,5)的原点为:
- Z i {Z_i} Zi轴和 Z i + 1 {Z_{i+1}} Zi+1的交点
- Z i {Z_i} Zi轴和公垂线的交点
第四步:确定坐标系{i}
确定X轴的规则:
- X i {X_i} Xi轴的正方向沿着公垂线由 Z i {Z_i} Zi轴指向 Z i + 1 {Z_{i+1}} Zi+1轴
- 当
X
i
{X_i}
Xi轴和
Z
i
+
1
{Z_{i+1}}
Zi+1轴相交时,
X
i
{X_i}
Xi轴的正方向决定了
α
i
{\alpha _i}
αi的符号:
- 当从 Z i {Z_i} Zi轴转向 Z i + 1 {Z_{i+1}} Zi+1轴时,选取大拇指指向的方向为 X i {X_i} Xi轴,则 α i {\alpha _i} αi的符号为正
- 反之则 α i {\alpha _i} αi的符号为负
确定了Z轴和X轴的正方向之后,根据右手定则,确定Y轴的正方向。
第五步:确定坐标系{0}和{6}
选取坐标系{0}和{6}的原点,确定坐标系{0}和{6}。通常将坐标系{0}和坐标系{1}重合,坐标系{6}和坐标系{5}重合。
本文中坐标系{0}相对于坐标系{1}绕 Z i {Z_i} Zi轴正方向旋转了 − 9 0 ∘ {\rm{ - }}{90^ \circ } −90∘,将坐标系{6}和坐标系{5}重合。
第六步:得到D-H参数列表
在已建立的坐标系上,添加机械臂的几何参数,得到连杆坐标系的完整图形,如下图所示。图中,0.6604m表示坐标系{0}的原点和底面之间的高度,也即基座的高度;0.05625m表示末端执行器的尖端点到坐标系{6}原点的距离,也即「工具坐标系(Tool Coordinate System,TCP)」的原点与坐标系{6}原点之间的距离2。
最终得到M-DH参数列表,如表1-1所示:
二、运动学
2.1 正运动学
MD-H参数法对应的齐次变换矩阵,如下式:
i
i
−
1
T
=
R
o
t
(
z
i
−
1
,
α
i
−
1
)
⋅
T
r
a
n
s
(
x
i
−
1
,
a
i
−
1
)
⋅
R
o
t
(
z
i
,
θ
i
)
⋅
T
r
a
n
s
(
z
i
,
d
i
)
=
[
cos
θ
i
−
sin
θ
i
0
a
i
−
1
sin
θ
i
cos
α
i
−
1
cos
θ
i
cos
α
i
−
1
−
sin
α
i
−
1
−
d
i
sin
α
i
−
1
sin
θ
i
sin
α
i
−
1
cos
θ
i
sin
α
i
−
1
cos
α
i
−
1
d
i
cos
α
i
−
1
0
0
0
1
]
(2-1)
\begin{array}{l}{}_i^{i - 1}T = Rot({z_{i{\rm{ - }}1}},{\alpha _{i - 1}}) \cdot Trans({x_{i{\rm{ - }}1}},{a_{i{\rm{ - }}1}}) \cdot Rot({z_i},{\theta _i}) \cdot Trans({z_i},{d_i})\\{\rm{ = }}\left[ {\begin{array}{ccccccccccccccc}{\cos {\theta _i}}&{ - \sin {\theta _i}}&0&{{a_{i - 1}}}\\{\sin {\theta _i}\cos {\alpha _{i - 1}}}&{\cos {\theta _i}\cos {\alpha _{i - 1}}}&{ - \sin {\alpha _{i - 1}}}&{ - {d_i}\sin {\alpha _{i - 1}}}\\{\sin {\theta _i}\sin {\alpha _{i - 1}}}&{\cos {\theta _i}\sin {\alpha _{i - 1}}}&{\cos {\alpha _{i - 1}}}&{{d_i}\cos {\alpha _{i - 1}}}\\0&0&0&1\end{array}} \right]\end{array} \tag{2-1}
ii−1T=Rot(zi−1,αi−1)⋅Trans(xi−1,ai−1)⋅Rot(zi,θi)⋅Trans(zi,di)=
cosθisinθicosαi−1sinθisinαi−10−sinθicosθicosαi−1cosθisinαi−100−sinαi−1cosαi−10ai−1−disinαi−1dicosαi−11
(2-1)
将表1-1中的MD-H参数带入式(2-1),得到各相邻连杆之间的齐次变换矩阵如下:
1
0
T
=
[
c
θ
1
−
s
θ
1
0
0
s
θ
1
c
θ
1
0
0
0
0
1
0
0
0
0
1
]
2
1
T
=
[
c
θ
2
−
s
θ
2
0
0
0
0
1
d
2
−
s
θ
2
−
c
θ
2
0
0
0
0
0
1
]
3
2
T
=
[
c
θ
3
−
s
θ
3
0
a
2
s
θ
3
c
θ
3
0
0
0
0
1
0
0
0
0
1
]
4
3
T
=
[
c
θ
4
−
s
θ
4
0
a
3
0
0
1
d
4
−
s
θ
4
−
c
θ
4
0
0
0
0
0
1
]
5
4
T
=
[
c
θ
5
−
s
θ
5
0
0
0
0
−
1
0
s
θ
5
c
θ
5
0
0
0
0
0
1
]
6
5
T
=
[
c
θ
6
−
s
θ
6
0
0
0
0
1
0
−
s
θ
6
−
c
θ
6
0
0
0
0
0
1
]
(2-2)
\begin{array}{l}{}_1^0T = \left[ {\begin{array}{ccccccccccccccc}{c{\theta _1}}&{ - s{\theta _1}}&0&0\\{s{\theta _1}}&{c{\theta _1}}&0&0\\0&0&1&0\\0&0&0&1\end{array}} \right]\\_2^1T = \left[ {\begin{array}{ccccccccccccccc}{c{\theta _2}}&{ - s{\theta _2}}&0&0\\0&0&1&{{d_2}}\\{ - s{\theta _2}}&{ - c{\theta _2}}&0&0\\0&0&0&1\end{array}} \right]\\{}_3^2T = \left[ {\begin{array}{ccccccccccccccc}{c{\theta _3}}&{ - s{\theta _3}}&0&{{a_2}}\\{s{\theta _3}}&{c{\theta _3}}&0&0\\0&0&1&0\\0&0&0&1\end{array}} \right]\\{}_4^3T = \left[ {\begin{array}{ccccccccccccccc}{c{\theta _4}}&{ - s{\theta _4}}&0&{{a_3}}\\0&0&1&{{d_4}}\\{ - s{\theta _4}}&{ - c{\theta _4}}&0&0\\0&0&0&1\end{array}} \right]\\{}_5^4T = \left[ {\begin{array}{ccccccccccccccc}{c{\theta _5}}&{ - s{\theta _5}}&0&0\\0&0&{ - 1}&0\\{s{\theta _5}}&{c{\theta _5}}&0&0\\0&0&0&1\end{array}} \right]\\{}_6^5T = \left[ {\begin{array}{ccccccccccccccc}{c{\theta _6}}&{ - s{\theta _6}}&0&0\\0&0&1&0\\{ - s{\theta _6}}&{ - c{\theta _6}}&0&0\\0&0&0&1\end{array}} \right]\end{array} \tag{2-2}
10T=
cθ1sθ100−sθ1cθ10000100001
21T=
cθ20−sθ20−sθ20−cθ2001000d201
32T=
cθ3sθ300−sθ3cθ3000010a2001
43T=
cθ40−sθ40−sθ40−cθ400100a3d401
54T=
cθ50sθ50−sθ50cθ500−1000001
65T=
cθ60−sθ60−sθ60−cθ6001000001
(2-2)
通过依次右乘齐次变化矩阵,最终可以得到机械臂末端坐标系相对于基坐标系的齐次变化矩阵
6
0
T
{}_6^0T
60T,如下式3:
6
0
T
=
1
0
T
⋅
2
1
T
⋅
3
2
T
⋅
4
3
T
⋅
5
4
T
⋅
6
5
T
=
[
n
x
o
x
a
x
p
x
n
y
o
y
a
y
p
y
n
z
o
z
a
z
p
z
0
0
0
1
]
(2-3)
{}_6^0T = {}_1^0T \cdot {}_2^1T \cdot {}_3^2T \cdot {}_4^3T \cdot {}_5^4T \cdot {}_6^5T = \left[ {\begin{array}{ccccccccccccccc}{{n_x}}&{{o_x}}&{{a_x}}&{{p_x}}\\{{n_y}}&{{o_y}}&{{a_y}}&{{p_y}}\\{{n_z}}&{{o_z}}&{{a_z}}&{{p_z}}\\0&0&0&1\end{array}} \right] \tag{2-3}
60T=10T⋅21T⋅32T⋅43T⋅54T⋅65T=
nxnynz0oxoyoz0axayaz0pxpypz1
(2-3)式中:
{
n
x
=
c
1
[
c
23
(
c
4
c
5
c
6
−
s
4
s
6
)
−
s
23
s
5
c
6
]
+
s
1
(
s
4
c
5
c
6
+
c
4
s
6
)
n
y
=
s
1
[
c
23
(
c
4
c
5
c
6
−
s
4
s
6
)
−
s
23
s
5
c
6
]
−
c
1
(
s
4
c
5
c
6
+
c
4
s
6
)
n
z
=
−
s
23
(
c
4
c
5
c
6
−
s
4
s
6
)
−
c
23
s
5
c
6
o
x
=
c
1
[
c
23
(
−
c
4
c
5
s
6
−
s
4
c
6
)
+
s
23
s
5
s
6
]
+
s
1
(
c
4
c
6
−
s
4
c
5
s
6
)
o
y
=
s
1
[
c
23
(
−
c
4
c
5
s
6
−
s
4
c
6
)
+
s
23
s
5
s
6
]
−
c
1
(
c
4
c
6
−
s
4
c
5
s
6
)
o
z
=
−
s
23
(
−
c
4
c
5
s
6
−
s
4
c
6
)
+
c
23
s
5
s
6
a
x
=
−
c
1
(
c
23
c
4
s
5
+
s
23
c
5
)
−
s
1
s
4
s
5
a
y
=
−
s
1
(
c
23
c
4
s
5
+
s
23
c
5
)
+
c
1
s
4
s
5
a
z
=
s
23
c
4
s
5
−
c
23
c
5
p
x
=
c
1
(
a
2
c
2
+
a
3
c
23
−
d
4
s
23
)
−
d
2
s
1
p
y
=
s
1
(
a
2
c
2
+
a
3
c
23
−
d
4
s
23
)
+
d
2
c
1
p
z
=
−
a
3
s
23
−
a
2
s
2
−
d
4
c
23
\left\{ \begin{array}{l}{n_x} = {c_1}\left[ {{c_{23}}\left( {{c_4}{c_5}{c_6} - {s_4}{s_6}} \right) - {s_{23}}{s_5}{c_6}} \right] + {s_1}\left( {{s_4}{c_5}{c_6} + {c_4}{s_6}} \right)\\{n_y} = {s_1}\left[ {{c_{23}}\left( {{c_4}{c_5}{c_6} - {s_4}{s_6}} \right) - {s_{23}}{s_5}{c_6}} \right] - {c_1}\left( {{s_4}{c_5}{c_6} + {c_4}{s_6}} \right)\\{n_z} = - {s_{23}}\left( {{c_4}{c_5}{c_6} - {s_4}{s_6}} \right) - {c_{23}}{s_5}{c_6}\\\begin{array}{lllllllllllllll}{{o_x} = {c_1}\left[ {{c_{23}}\left( { - {c_4}{c_5}{s_6} - {s_4}{c_6}} \right) + {s_{23}}{s_5}{s_6}} \right] + {s_1}\left( {{c_4}{c_6} - {s_4}{c_5}{s_6}} \right)}\\{{o_y} = {s_1}\left[ {{c_{23}}\left( { - {c_4}{c_5}{s_6} - {s_4}{c_6}} \right) + {s_{23}}{s_5}{s_6}} \right] - {c_1}\left( {{c_4}{c_6} - {s_4}{c_5}{s_6}} \right)}\\{{o_z} = - {s_{23}}\left( { - {c_4}{c_5}{s_6} - {s_4}{c_6}} \right) + {c_{23}}{s_5}{s_6}}\end{array}\\{a_x} = - {c_1}\left( {{c_{23}}{c_4}{s_5} + {s_{23}}{c_5}} \right) - {s_1}{s_4}{s_5}\\{a_y} = - {s_1}\left( {{c_{23}}{c_4}{s_5} + {s_{23}}{c_5}} \right) + {c_1}{s_4}{s_5}\\{a_z} = {s_{23}}{c_4}{s_5} - {c_{23}}{c_5}\\{p_x} = {c_1}\left( {{a_2}{c_2} + {a_3}{c_{23}} - {d_4}{s_{23}}} \right) - {d_2}{s_1}\\{p_y} = {s_1}\left( {{a_2}{c_2} + {a_3}{c_{23}} - {d_4}{s_{23}}} \right) + {d_2}{c_1}\\{p_z} = - {a_3}{s_{23}} - {a_2}{s_2} - {d_4}{c_{23}}\end{array} \right.
⎩
⎨
⎧nx=c1[c23(c4c5c6−s4s6)−s23s5c6]+s1(s4c5c6+c4s6)ny=s1[c23(c4c5c6−s4s6)−s23s5c6]−c1(s4c5c6+c4s6)nz=−s23(c4c5c6−s4s6)−c23s5c6ox=c1[c23(−c4c5s6−s4c6)+s23s5s6]+s1(c4c6−s4c5s6)oy=s1[c23(−c4c5s6−s4c6)+s23s5s6]−c1(c4c6−s4c5s6)oz=−s23(−c4c5s6−s4c6)+c23s5s6ax=−c1(c23c4s5+s23c5)−s1s4s5ay=−s1(c23c4s5+s23c5)+c1s4s5az=s23c4s5−c23c5px=c1(a2c2+a3c23−d4s23)−d2s1py=s1(a2c2+a3c23−d4s23)+d2c1pz=−a3s23−a2s2−d4c23
{
c
23
=
c
2
c
3
−
s
2
s
3
s
23
=
c
2
s
3
+
s
2
c
3
\left\{ \begin{array}{l} {c_{23}} = {c_2}{c_3} - {s_2}{s_3}\\ {s_{23}} = {c_2}{s_3} + {s_2}{c_3} \end{array} \right.
{c23=c2c3−s2s3s23=c2s3+s2c3
2.2 逆运动学
2.3.1 代数解
代数解的核心思想为:将式(2-3)依次左称 i i − 1 T − 1 {}_i^{i - 1}{T^{ - 1}} ii−1T−1使得等式右边不存在参数 θ i {\theta _i} θi,从而将方程解耦,具体步骤如下34:
第一步:求 θ 1 {\theta _1} θ1
将式(2-3)左乘
1
0
T
−
1
{}_1^0{T^{ - 1}}
10T−1,则有下式:
1
0
T
−
1
(
θ
1
)
⋅
6
0
T
=
2
1
T
(
θ
2
)
⋅
3
2
T
(
θ
3
)
⋅
4
3
T
(
θ
4
)
⋅
5
4
T
(
θ
5
)
⋅
6
5
T
(
θ
6
)
[
c
1
s
1
0
0
−
s
1
c
1
0
0
0
0
1
0
0
0
0
1
]
[
n
x
o
x
a
x
p
x
n
y
o
y
a
y
p
y
n
z
o
z
a
z
p
z
0
0
0
1
]
=
6
1
T
(
L
e
f
t
)
6
1
T
(
R
i
g
h
t
)
=
[
1
n
x
1
o
x
1
a
x
1
p
x
1
n
y
1
o
y
1
a
y
1
p
y
1
n
z
1
o
x
1
a
z
1
p
z
0
0
0
1
]
(2-4)
\begin{array}{l}{}_1^0{T^{ - 1}}({\theta _1}) \cdot {}_6^0T = {}_2^1T({\theta _2}) \cdot {}_3^2T({\theta _3}) \cdot {}_4^3T({\theta _4}) \cdot {}_5^4T({\theta _5}) \cdot {}_6^5T({\theta _6})\\\left[ {\begin{array}{ccccccccccccccc}{{c_1}}&{{s_1}}&0&0\\{ - {s_1}}&{{c_1}}&0&0\\0&0&1&0\\0&0&0&1\end{array}} \right]\left[ {\begin{array}{ccccccccccccccc}{{n_x}}&{{o_x}}&{{a_x}}&{{p_x}}\\{{n_y}}&{{o_y}}&{{a_y}}&{{p_y}}\\{{n_z}}&{{o_z}}&{{a_z}}&{{p_z}}\\0&0&0&1\end{array}} \right] = {}_6^1T(Left)\\{}_6^1T(Right) = \left[ {\begin{array}{ccccccccccccccc}{^1{n_x}}&{^1{o_x}}&{^1{a_x}}&{^1{p_x}}\\{^1{n_y}}&{^1{o_y}}&{^1{a_y}}&{^1{p_y}}\\{^1{n_z}}&{^1{o_x}}&{^1{a_z}}&{^1{p_z}}\\0&0&0&1\end{array}} \right]\end{array} \tag{2-4}
10T−1(θ1)⋅60T=21T(θ2)⋅32T(θ3)⋅43T(θ4)⋅54T(θ5)⋅65T(θ6)
c1−s100s1c10000100001
nxnynz0oxoyoz0axayaz0pxpypz1
=61T(Left)61T(Right)=
1nx1ny1nz01ox1oy1ox01ax1ay1az01px1py1pz1
(2-4)式中:
{
1
n
x
=
c
23
(
c
4
c
5
c
5
−
s
4
s
6
)
−
s
23
s
5
c
6
1
n
y
=
−
s
4
c
5
c
6
−
c
4
s
6
1
n
z
=
−
s
23
(
c
4
c
5
c
6
−
s
4
s
6
)
−
c
23
s
5
c
6
1
o
x
=
−
c
23
(
c
4
c
5
s
6
+
s
4
c
6
)
+
s
23
s
5
s
6
1
o
y
=
s
4
c
5
s
6
−
c
4
c
6
1
o
z
=
s
23
(
c
4
c
5
s
6
+
s
4
c
6
)
+
c
23
s
5
s
6
1
a
x
=
−
c
23
c
4
s
5
−
s
23
c
5
1
a
y
=
s
4
s
5
1
a
z
=
s
23
c
4
s
5
−
c
23
c
5
1
p
x
=
a
2
c
2
+
a
3
c
23
−
d
4
s
23
1
p
y
=
d
2
1
p
z
=
−
a
2
s
23
−
a
2
s
2
−
d
4
c
23
\left\{ \begin{array}{l} ^1{n_x} = {c_{23}}\left( {{c_4}{c_5}{c_5} - {s_4}{s_6}} \right) - {s_{23}}{s_5}{c_6}\\ ^1{n_y} = - {s_4}{c_5}{c_6} - {c_4}{s_6}\\ ^1{n_z} = - {s_{23}}\left( {{c_4}{c_5}{c_6} - {s_4}{s_6}} \right) - {c_{23}}{s_5}{c_6}\\ ^1{o_x} = - {c_{23}}\left( {{c_4}{c_5}{s_6} + {s_4}{c_6}} \right) + {s_{23}}{s_5}{s_6}\\ ^1{o_y} = {s_4}{c_5}{s_6} - {c_4}{c_6}\\ ^1{o_z} = {s_{23}}\left( {{c_4}{c_5}{s_6} + {s_4}{c_6}} \right) + {c_{23}}{s_5}{s_6}\\ ^1{a_x} = - {c_{23}}{c_4}{s_5} - {s_{23}}{c_5}\\ ^1{a_y} = {s_4}{s_5}\\ ^1{a_z} = {s_{23}}{c_4}{s_5} - {c_{23}}{c_5}\\ ^1{p_x} = {a_2}{c_2} + {a_3}{c_{23}} - {d_4}{s_{23}}\\ {}^1{p_y} = {d_2}\\ ^1{p_z} = - {a_2}{s_{23}} - {a_2}{s_2} - {d_4}{c_{23}} \end{array} \right.
⎩
⎨
⎧1nx=c23(c4c5c5−s4s6)−s23s5c61ny=−s4c5c6−c4s61nz=−s23(c4c5c6−s4s6)−c23s5c61ox=−c23(c4c5s6+s4c6)+s23s5s61oy=s4c5s6−c4c61oz=s23(c4c5s6+s4c6)+c23s5s61ax=−c23c4s5−s23c51ay=s4s51az=s23c4s5−c23c51px=a2c2+a3c23−d4s231py=d21pz=−a2s23−a2s2−d4c23
式(2-4)左边只含有参数
θ
1
{\theta _1}
θ1所以需要从等式右边找到一个只含有
θ
1
{\theta _1}
θ1或者为常数的元素,可以找到该元素位于第二行第四列。令等式左边L(2, 4)与右边R(2,4)的对应元素相等,利用三角代换,则有:
{
L
(
2
,
4
)
=
R
(
2
,
4
)
L
(
2
,
4
)
=
−
s
θ
1
⋅
p
x
+
c
θ
1
⋅
p
y
R
(
2
,
4
)
=
d
2
(2-5)
\left\{ {\begin{array}{lllllllllllllll}{L(2,4) = R(2,4)}\\{L(2,4) = - s{\theta _1} \cdot {p_x} + c{\theta _1} \cdot {p_y}}\\{R(2,4) = {d_2}}\end{array}} \right. \tag{2-5}
⎩
⎨
⎧L(2,4)=R(2,4)L(2,4)=−sθ1⋅px+cθ1⋅pyR(2,4)=d2(2-5)式中:
p
x
=
ρ
cos
ϕ
{p_x} = \rho \cos \phi
px=ρcosϕ;
p
y
=
ρ
sin
ϕ
{p_y} = \rho \sin \phi
py=ρsinϕ;且有
ρ
=
p
x
2
+
p
y
2
\rho = \sqrt {p_x^2 + p_y^2}
ρ=px2+py2,
ϕ
=
a
tan
2
(
p
y
,
p
x
)
\phi = a\tan 2\left( {{p_y},{p_x}} \right)
ϕ=atan2(py,px)。
于是有:
{
sin
(
ϕ
−
θ
1
)
=
d
2
/
ρ
cos
(
ϕ
−
θ
1
)
=
±
1
−
(
d
2
/
ρ
)
2
ϕ
−
θ
1
=
a
t
a
n
2
[
d
2
/
ρ
,
±
1
−
(
d
2
/
ρ
)
2
]
(2-6)
\left\{ \begin{array}{l} \sin \left( {\phi - {\theta _1}} \right) = {d_2}/\rho \\ \cos \left( {\phi - {\theta _1}} \right) = \pm \sqrt {1 - {{\left( {{d_2}/\rho } \right)}^2}} \\ \phi - {\theta _1} = {\mathop{\rm atan}\nolimits} 2\left[ {{d_2}/\rho , \pm \sqrt {1 - {{\left( {{d_2}/\rho } \right)}^2}} } \right] \end{array} \right. \tag{2-6}
⎩
⎨
⎧sin(ϕ−θ1)=d2/ρcos(ϕ−θ1)=±1−(d2/ρ)2ϕ−θ1=atan2[d2/ρ,±1−(d2/ρ)2](2-6)可以求得
θ
1
{\theta _1}
θ1的表达式如下:
θ
1
=
a
t
a
n
2
(
p
y
,
p
x
)
−
a
t
a
n
2
(
d
2
,
±
p
x
2
+
p
y
2
−
d
2
2
)
(2-7)
{\theta _1} = {\mathop{\rm atan}\nolimits} 2\left( {{p_y},{p_x}} \right) - {\mathop{\rm atan}\nolimits} 2\left( {{d_2}, \pm \sqrt {p_x^2 + p_y^2 - d_2^2} } \right) \tag{2-7}
θ1=atan2(py,px)−atan2(d2,±px2+py2−d22)(2-7)式中:正、负号对应
θ
1
{\theta _1}
θ1的两个可能的解。
第二步:求 θ 3 {\theta _3} θ3
当选定
θ
1
{\theta _1}
θ1的一个解之后,继续求解
θ
2
{\theta _2}
θ2或
θ
3
{\theta _3}
θ3。令式(2-4)两端的元素L(1, 4)和R(3, 4)分别对应相等,并结合式(2-5),则有:
{
c
1
p
x
+
s
1
p
y
=
a
2
c
2
+
a
3
c
23
−
d
4
s
23
p
x
=
−
a
2
s
23
−
a
2
s
2
−
d
4
c
23
d
2
=
−
s
θ
1
p
x
+
c
θ
1
p
y
(2-8)
\left\{ \begin{array}{l} {c_1}{p_x} + {s_1}{p_y} = {a_2}{c_2} + {a_3}{c_{23}} - {d_4}{s_{23}}\\ {p_x} = - {a_2}{s_{23}} - {a_2}{s_2} - {d_4}{c_{23}}\\ {d_2} = - s{\theta _1}{p_x} + c{\theta _1}{p_y} \end{array} \right. \tag{2-8}
⎩
⎨
⎧c1px+s1py=a2c2+a3c23−d4s23px=−a2s23−a2s2−d4c23d2=−sθ1px+cθ1py(2-8)
将上式中的三个等式的左右两边分别进行平方后,再相加求和,得到:
a
3
c
3
−
d
4
s
3
=
k
(2-9)
{a_3}{c_3} - {d_4}{s_3} = k \tag{2-9}
a3c3−d4s3=k(2-9)式中:
k
=
p
x
2
+
p
y
2
+
p
z
2
−
a
2
2
−
a
3
2
−
d
2
2
−
d
4
2
2
a
2
k = \frac{{p_x^2 + p_y^2 + p_z^2 - a_2^2 - a_3^2 - d_2^2 - d_4^2}}{{2{a_2}}}
k=2a2px2+py2+pz2−a22−a32−d22−d42。
通过三角代换,求得:
θ
3
=
a
t
a
n
2
(
a
3
,
d
4
)
−
a
t
a
n
2
(
k
,
±
a
3
2
+
d
4
2
−
k
2
)
(2-10)
{\theta _3} = {\mathop{\rm atan}\nolimits} 2\left( {{a_3},{d_4}} \right) - {\mathop{\rm atan}\nolimits} 2\left( {k, \pm \sqrt {a_3^2 + d_4^2 - {k^2}} } \right) \tag{2-10}
θ3=atan2(a3,d4)−atan2(k,±a32+d42−k2)(2-10)式中:正、负号对应
θ
3
{\theta _3}
θ3的两种可能的解。
第三步:求 θ 2 {\theta _2} θ2
已经求出
θ
1
{\theta _1}
θ1和
θ
3
{\theta _3}
θ3之后,可以通过将式(2-4)左乘一个包含
θ
1
{\theta _1}
θ1、
θ
2
{\theta _2}
θ2和
θ
3
{\theta _3}
θ3的逆变换
3
0
T
−
1
(
θ
1
,
θ
2
,
θ
3
)
{}_3^0{T^{ - 1}}({\theta _1},{\theta _2},{\theta _3})
30T−1(θ1,θ2,θ3),进而求解出
θ
2
{\theta _2}
θ2。
3
0
T
−
1
(
θ
1
,
θ
2
,
θ
3
)
⋅
6
0
T
=
4
3
T
(
θ
4
)
⋅
5
4
T
(
θ
5
)
⋅
6
5
T
(
θ
6
)
[
c
1
c
23
s
1
c
23
−
s
23
−
a
2
c
3
−
c
1
s
23
−
s
1
s
23
−
c
23
a
2
s
3
−
s
1
c
1
0
−
d
2
0
0
0
1
]
[
n
x
o
x
a
x
p
x
n
y
o
y
a
y
p
y
n
z
u
x
a
z
p
z
0
0
0
1
]
=
6
3
T
(
L
e
f
t
)
6
3
T
(
R
i
g
h
t
)
=
[
c
4
c
5
c
6
−
s
4
s
6
−
c
4
c
5
c
6
−
s
4
c
6
−
c
4
s
5
a
3
s
5
s
5
−
s
5
s
6
c
5
d
4
−
s
4
s
5
s
6
−
c
4
s
6
s
4
c
5
s
6
−
c
4
c
6
s
4
s
5
0
0
0
0
1
]
(2-11)
\begin{array}{l}{}_3^0{T^{ - 1}}({\theta _1},{\theta _2},{\theta _3}) \cdot {}_6^0T = {}_4^3T({\theta _4}) \cdot {}_5^4T({\theta _5}) \cdot {}_6^5T({\theta _6})\\\left[ {\begin{array}{ccccccccccccccc}{{c_1}{c_{23}}}&{{s_1}{c_{23}}}&{ - {s_{23}}}&{ - {a_2}{c_3}}\\{ - {c_1}{s_{23}}}&{ - {s_1}{s_{23}}}&{ - {c_{23}}}&{{a_2}{s_3}}\\{ - {s_1}}&{{c_1}}&0&{ - {d_2}}\\0&0&0&1\end{array}} \right]\left[ {\begin{array}{ccccccccccccccc}{{n_x}}&{{o_x}}&{{a_x}}&{{p_x}}\\{{n_y}}&{{o_y}}&{{a_y}}&{{p_y}}\\{{n_z}}&{{u_x}}&{{a_z}}&{{p_z}}\\0&0&0&1\end{array}} \right] = {}_6^3T(Left)\\{}_6^3T(Right) = \left[ {\begin{array}{ccccccccccccccc}{{c_4}{c_5}{c_6} - {s_4}{s_6}}&{ - {c_4}{c_5}{c_6} - {s_4}{c_6}}&{ - {c_4}{s_5}}&{{a_3}}\\{{s_5}{s_5}}&{ - {s_5}{s_6}}&{{c_5}}&{{d_4}}\\{ - {s_4}{s_5}{s_6} - {c_4}{s_6}}&{{s_4}{c_5}{s_6} - {c_4}{c_6}}&{{s_4}{s_5}}&0\\0&0&0&1\end{array}} \right]\end{array} \tag{2-11}
30T−1(θ1,θ2,θ3)⋅60T=43T(θ4)⋅54T(θ5)⋅65T(θ6)
c1c23−c1s23−s10s1c23−s1s23c10−s23−c2300−a2c3a2s3−d21
nxnynz0oxoyux0axayaz0pxpypz1
=63T(Left)63T(Right)=
c4c5c6−s4s6s5s5−s4s5s6−c4s60−c4c5c6−s4c6−s5s6s4c5s6−c4c60−c4s5c5s4s50a3d401
(2-11)
从式(2-11)右边的矩阵可以看出只有R(1, 4)和R(2, 4)为常数,所以令左右两边(1, 4)和(2, 4)处的元素分别对应相等,得到下式:
{
c
1
c
23
p
x
+
s
1
c
23
p
y
−
s
23
p
z
−
a
2
c
3
=
a
3
−
c
1
s
23
p
x
−
s
1
s
23
p
y
−
c
23
p
z
+
a
2
s
3
=
d
4
(2-12)
\left\{ \begin{array}{l}{c_1}{c_{23}}{p_x} + {s_1}{c_{23}}{p_y} - {s_{23}}{p_z} - {a_2}{c_3} = {a_3}\\ - {c_1}{s_{23}}{p_x} - {s_1}{s_{23}}{p_y} - {c_{23}}{p_z} + {a_2}{s_3} = {d_4}\end{array} \right. \tag{2-12}
{c1c23px+s1c23py−s23pz−a2c3=a3−c1s23px−s1s23py−c23pz+a2s3=d4(2-12)
联立解得:
{
s
23
=
(
−
a
3
−
a
2
c
3
)
p
z
+
(
c
1
p
x
+
s
1
p
y
)
(
a
2
s
3
−
d
4
)
p
z
2
+
(
c
1
p
x
+
s
1
p
y
)
2
c
23
=
(
−
d
4
+
a
2
s
3
)
p
z
+
(
c
1
p
x
+
s
1
p
y
)
(
a
2
c
3
+
a
3
)
p
z
2
+
(
c
1
p
x
+
s
1
p
y
)
2
(2-13)
\left\{ {\begin{array}{lllllllllllllll}{{s_{23}} = \frac{{\left( { - {a_3} - {a_2}{c_3}} \right){p_z} + \left( {{c_1}{p_x} + {s_1}{p_y}} \right)\left( {{a_2}{s_3} - {d_4}} \right)}}{{p_z^2 + {{\left( {{c_1}{p_x} + {s_1}{p_y}} \right)}^2}}}}\\{{c_{23}} = \frac{{\left( { - {d_4} + {a_2}{s_3}} \right){p_z} + \left( {{c_1}{p_x} + {s_1}{p_y}} \right)\left( {{a_2}{c_3} + {a_3}} \right)}}{{p_z^2 + {{\left( {{c_1}{p_x} + {s_1}{p_y}} \right)}^2}}}}\end{array}} \right. \tag{2-13}
{s23=pz2+(c1px+s1py)2(−a3−a2c3)pz+(c1px+s1py)(a2s3−d4)c23=pz2+(c1px+s1py)2(−d4+a2s3)pz+(c1px+s1py)(a2c3+a3)(2-13)
s
23
{s_{23}}
s23和
c
23
{c_{23}}
c23表达式的分母相等,且为正,于是有:
θ
23
=
θ
2
+
θ
3
=
a
t
a
n
2
[
−
(
a
3
+
a
2
c
3
)
p
z
+
(
c
1
p
x
+
s
1
p
y
)
(
a
2
s
3
−
d
4
)
,
(
−
d
4
+
a
2
s
3
)
p
z
+
(
c
1
p
x
+
s
1
p
y
)
(
a
2
c
3
+
a
3
)
]
(2-14)
{\theta _{23}} = {\theta _2} + {\theta _3} = {\mathop{\rm atan}\nolimits} 2\left[ \begin{array}{l} - \left( {{a_3} + {a_2}{c_3}} \right){p_z} + \left( {{c_1}{p_x} + {s_1}{p_y}} \right)\left( {{a_2}{s_3} - {d_4}} \right),\\\left( { - {d_4} + {a_2}{s_3}} \right){p_z} + \left( {{c_1}{p_x} + {s_1}{p_y}} \right)\left( {{a_2}{c_3} + {a_3}} \right)\end{array} \right] \tag{2-14}
θ23=θ2+θ3=atan2[−(a3+a2c3)pz+(c1px+s1py)(a2s3−d4),(−d4+a2s3)pz+(c1px+s1py)(a2c3+a3)](2-14)
根据
θ
1
{\theta _1}
θ1和
θ
3
{\theta _3}
θ3解的四种可能组合,由式(2-14)可以得到对应的四种可能值
θ
23
{\theta _{23}}
θ23,于是可以得到
θ
2
{\theta _2}
θ2的四种可能的解:
θ
2
=
θ
23
−
θ
3
(2-15)
{\theta _2} = {\theta _{23}} - {\theta _3} \tag{2-15}
θ2=θ23−θ3(2-15)式中:
θ
2
{\theta _2}
θ2取与
θ
3
{\theta _3}
θ3相对应的值。
第四步:求 θ 4 {\theta_4} θ4
此时,式(2-11)左边均为已知,通过观察矩阵元素,可以通过(1, 3)和(3, 3)处两个元素的比值求出
θ
4
{\theta_4}
θ4,所以令等式两边的元素(1, 3)和(3, 3)分别对应相等,则有:
{
a
x
c
1
c
23
+
a
y
s
1
c
23
−
a
z
s
23
=
−
c
4
s
5
−
a
x
s
1
+
a
y
c
1
=
s
4
s
5
(2-16)
\left\{ {\begin{array}{lllllllllllllll}{{a_x}{c_1}{c_{23}} + {a_y}{s_1}{c_{23}} - {a_z}{s_{23}} = - {c_4}{s_5}}\\{ - {a_x}{s_1} + {a_y}{c_1} = {s_4}{s_5}}\end{array}} \right. \tag{2-16}
{axc1c23+ays1c23−azs23=−c4s5−axs1+ayc1=s4s5(2-16)
分两种情况:
- 当
s
5
≠
0
{s_5} \ne 0
s5=0时,可以求出
θ
4
{\theta_4}
θ4的表达式:
θ 4 = a t a n 2 ( − a x s 1 + a y c 1 , − a x c 1 c 23 − a y s 1 c 23 + a z s 23 ) (2-17) {\theta _4} = {\mathop{\rm atan}\nolimits} 2\left( { - {a_x}{s_1} + {a_y}{c_1}, - {a_x}{c_1}{c_{23}} - {a_y}{s_1}{c_{23}} + {a_z}{s_{23}}} \right) \tag{2-17} θ4=atan2(−axs1+ayc1,−axc1c23−ays1c23+azs23)(2-17) - 当 s 5 = 0 {s_5} = 0 s5=0时,机械臂处于奇异位形。此时,关节轴4和6重合,只能求出 θ 4 {\theta_4} θ4与 θ 6 {\theta_6} θ6的和或差。处于奇异位形时,可以任意选取 θ 4 {\theta_4} θ4的值,再计算对应的 θ 6 {\theta_6} θ6。
第五步:求 θ 5 {\theta_5} θ5
根据求出的
θ
4
{\theta_4}
θ4,可以进一步求出
θ
5
{\theta_5}
θ5,将方程(2-3)两边左乘逆变换
4
0
T
−
1
(
θ
1
,
θ
2
,
θ
3
,
θ
4
)
{}_4^0{T^{ - 1}}({\theta _1},{\theta _2},{\theta _3},{\theta _4})
40T−1(θ1,θ2,θ3,θ4),则有:
4
0
T
−
1
(
θ
1
,
θ
2
,
θ
3
,
θ
4
)
⋅
6
0
T
=
5
4
T
(
θ
5
)
⋅
6
5
T
(
θ
6
)
[
c
1
c
23
c
4
+
s
1
s
4
s
1
c
23
c
4
−
c
1
s
4
−
s
23
c
4
−
a
2
c
3
c
4
+
d
2
s
4
−
a
3
c
4
−
c
1
c
23
s
4
+
s
1
c
4
−
s
1
c
23
s
4
−
c
1
c
4
s
23
s
4
a
2
c
3
s
4
+
d
2
c
4
+
a
3
s
4
−
c
1
s
23
−
s
1
s
23
−
c
23
a
2
s
3
−
d
4
0
0
0
1
]
[
n
x
o
x
a
x
p
x
n
y
o
y
a
y
p
y
n
z
o
z
a
z
p
z
0
0
0
1
]
=
6
4
T
(
L
e
f
t
)
6
4
T
(
R
i
g
h
t
)
=
[
c
5
c
6
−
c
5
s
6
−
s
5
0
s
6
c
6
0
0
s
5
s
6
−
s
5
c
6
c
5
0
0
0
0
1
]
(2-18)
\begin{array}{l}{}_4^0{T^{ - 1}}({\theta _1},{\theta _2},{\theta _3},{\theta _4}) \cdot {}_6^0T = {}_5^4T({\theta _5}) \cdot {}_6^5T({\theta _6})\\\left[ {\begin{array}{ccccccccccccccc}{{c_1}{c_{23}}{c_4} + {s_1}{s_4}}&{{s_1}{c_{23}}{c_4} - {c_1}{s_4}}&{ - {s_{23}}{c_4}}&{ - {a_2}{c_3}{c_4} + {d_2}{s_4} - {a_3}{c_4}}\\{ - {c_1}{c_{23}}{s_4} + {s_1}{c_4}}&{ - {s_1}{c_{23}}{s_4} - {c_1}{c_4}}&{{s_{23}}{s_4}}&{{a_2}{c_3}{s_4} + {d_2}{c_4} + {a_3}{s_4}}\\{ - {c_1}{s_{23}}}&{ - {s_1}{s_{23}}}&{ - {c_{23}}}&{{a_2}{s_3} - {d_4}}\\0&0&0&1\end{array}} \right]\left[ {\begin{array}{ccccccccccccccc}{{n_x}}&{{o_x}}&{{a_x}}&{{p_x}}\\{{n_y}}&{{o_y}}&{{a_y}}&{{p_y}}\\{{n_z}}&{{o_z}}&{{a_z}}&{{p_z}}\\0&0&0&1\end{array}} \right] = {}_6^4T(Left)\\{}_6^4T(Right) = \left[ {\begin{array}{ccccccccccccccc}{{c_5}{c_6}}&{ - {c_5}{s_6}}&{ - {s_5}}&0\\{{s_6}}&{{c_6}}&0&0\\{{s_5}{s_6}}&{ - {s_5}{c_6}}&{{c_5}}&0\\0&0&0&1\end{array}} \right]\end{array} \tag{2-18}
40T−1(θ1,θ2,θ3,θ4)⋅60T=54T(θ5)⋅65T(θ6)
c1c23c4+s1s4−c1c23s4+s1c4−c1s230s1c23c4−c1s4−s1c23s4−c1c4−s1s230−s23c4s23s4−c230−a2c3c4+d2s4−a3c4a2c3s4+d2c4+a3s4a2s3−d41
nxnynz0oxoyoz0axayaz0pxpypz1
=64T(Left)64T(Right)=
c5c6s6s5s60−c5s6c6−s5c60−s50c500001
(2-18)
式(2-18)左边的
θ
1
{\theta _1}
θ1、
θ
2
{\theta _2}
θ2、
θ
3
{\theta _3}
θ3和
θ
4
{\theta _4}
θ4都已经求出,可以观察到矩阵中仅仅包含
θ
5
{\theta_5}
θ5的元素为L(1, 3)和L(3, 3),令矩阵两边(1, 3)和(3, 3)处的元素分别对应相等,则有:
{
a
x
(
c
1
c
23
c
4
+
s
1
s
4
)
+
a
y
(
s
1
c
23
c
4
−
c
1
s
4
)
+
a
z
(
−
s
23
c
4
)
=
−
s
5
a
x
(
−
c
1
s
23
)
+
a
y
(
−
s
1
s
23
)
+
a
z
(
−
c
23
)
=
c
5
(2-19)
\left\{ \begin{array}{l} {a_x}\left( {{c_1}{c_{23}}{c_4} + {s_1}{s_4}} \right) + {a_y}\left( {{s_1}{c_{23}}{c_4} - {c_1}{s_4}} \right) + {a_z}\left( { - {s_{23}}{c_4}} \right) = - {s_5}\\ {a_x}\left( { - {c_1}{s_{23}}} \right) + {a_y}\left( { - {s_1}{s_{23}}} \right) + {a_z}\left( { - {c_{23}}} \right) = {c_5} \end{array} \right. \tag{2-19}
{ax(c1c23c4+s1s4)+ay(s1c23c4−c1s4)+az(−s23c4)=−s5ax(−c1s23)+ay(−s1s23)+az(−c23)=c5(2-19)
于是得到
θ
5
{\theta_5}
θ5的表达式:
θ
5
=
a
t
a
n
2
(
s
5
,
c
5
)
(2-20)
{\theta _5} = {\mathop{\rm atan}\nolimits} 2\left( {{s_5},{c_5}} \right) \tag{2-20}
θ5=atan2(s5,c5)(2-20)
第六步:求 θ 6 {\theta_6} θ6
将方程(2-3)两边左乘逆变换
5
0
T
−
1
(
θ
1
,
θ
2
,
θ
3
,
θ
4
,
θ
5
)
{}_5^0{T^{ - 1}}({\theta _1},{\theta _2},{\theta _3},{\theta _4},{\theta _5})
50T−1(θ1,θ2,θ3,θ4,θ5),则有:
5
0
T
−
1
(
θ
1
,
θ
2
,
θ
3
,
θ
4
,
θ
5
)
⋅
6
0
T
=
6
5
T
(
θ
6
)
(2-21)
{}_5^0{T^{ - 1}}({\theta _1},{\theta _2},{\theta _3},{\theta _4},{\theta _5}) \cdot {}_6^0T = {}_6^5T({\theta _6}) \tag{2-21}
50T−1(θ1,θ2,θ3,θ4,θ5)⋅60T=65T(θ6)(2-21)
令式(2-21)中(1, 1)和(3, 1)处的等式两边的元素对应相等,可得:
{
−
n
x
(
c
1
c
23
s
4
−
s
1
c
4
)
−
n
y
(
s
1
c
23
s
4
+
c
1
c
4
)
+
n
z
(
s
23
s
4
)
=
s
6
n
x
[
(
c
1
c
23
c
4
+
s
1
s
4
)
c
5
−
c
1
s
23
s
5
]
+
n
y
[
(
s
1
c
23
c
4
−
c
1
s
4
)
c
5
−
s
1
s
23
s
5
]
−
n
z
(
s
23
c
4
c
5
+
c
23
s
5
)
=
c
6
(2-22)
\left\{ \begin{array}{l} - {n_x}\left( {{c_1}{c_{23}}{s_4} - {s_1}{c_4}} \right) - {n_y}\left( {{s_1}{c_{23}}{s_4} + {c_1}{c_4}} \right) + {n_z}\left( {{s_{23}}{s_4}} \right) = {s_6}\\{n_x}\left[ {\left( {{c_1}{c_{23}}{c_4} + {s_1}{s_4}} \right){c_5} - {c_1}{s_{23}}{s_5}} \right] + {n_y}\left[ {\left( {{s_1}{c_{23}}{c_4} - {c_1}{s_4}} \right){c_5} - {s_1}{s_{23}}{s_5}} \right]\\ - {n_z}\left( {{s_{23}}{c_4}{c_5} + {c_{23}}{s_5}} \right) = {c_6}\end{array} \right. \tag{2-22}
⎩
⎨
⎧−nx(c1c23s4−s1c4)−ny(s1c23s4+c1c4)+nz(s23s4)=s6nx[(c1c23c4+s1s4)c5−c1s23s5]+ny[(s1c23c4−c1s4)c5−s1s23s5]−nz(s23c4c5+c23s5)=c6(2-22)
进而可以求出
θ
6
{\theta_6}
θ6的表达式:
θ
6
=
a
t
a
n
2
(
s
6
,
c
6
)
(2-23)
{\theta _6} = {\mathop{\rm atan}\nolimits} 2\left( {{s_6},{c_6}} \right) \tag{2-23}
θ6=atan2(s6,c6)(2-23)
2.3.2 多解性
机械臂末端的一组特定位姿,对应的逆解有8组。
由于三角函数产生的正负号导致 θ 1 {\theta _1} θ1和 θ 3 {\theta _3} θ3分别都有两个符号不同的解,因此两两组合就可以得到四组不同的解,其产生的解的组合如表2-1所示,对应的四种构型如图2-1所示。
又由于PUMA560的腕部可以转动,即通过以下操作可以得到相同的末端位姿:
{
θ
′
4
=
θ
4
+
π
θ
′
5
=
−
θ
5
θ
′
6
=
θ
6
+
π
(2-24)
\left\{ \begin{array}{l} {{\theta '}_4} = {\theta _4} + \pi \\ {{\theta '}_5} = - {\theta _5}\\ {{\theta '}_6} = {\theta _6} + \pi \end{array} \right. \tag{2-24}
⎩
⎨
⎧θ′4=θ4+πθ′5=−θ5θ′6=θ6+π(2-24)
通过上述操作,可以得到另外不同的四组解,如表2-2所示。
三、MATLAB仿真
3.1 资源
Github:
- https://github.com/KK-Man-42/Kinematic-modeling-of-PUMA560
百度网盘:
- 链接:https://pan.baidu.com/s/1F7PWrCJjyp7dlQOk6a1qtQ
- 提取码:0xgf