前言
哈喽,这里是冷凝雨。
文章很长,请耐心阅读,如有帮助请三连!
转载请注明出处并私信。如有不足烦请指出~
引言
之前写了两篇和非对称3-SPR并联机器人有关的帖子,本次将展示公式的详细推导过程。
【Matlab】非对称3-SPR并联机器人正逆运动学
【Matlab】非对称3-SPR并联机器人工作空间求解
“非对称3-SPR并联机器人”里的非对称指的是三个球铰副非对称布置,但三个转动副是对称布置的。
网上和并联机器人相关的资料比较少,推导也很不靠谱,至于“非对称的”3-SPR并联机器人,应该只有我这里有~
希望这里的运动学推导能为大家带来一点帮助。
文章目录
1. 运动学建模
这里展示了非对称3-SPR并联机器人的真实三维模型(图a)和结构简图(图b)。
1.1 概述
A 1 {{A}_{1}} A1、 A 2 {{A}_{2}} A2、 A 3 {{A}_{3}} A3为转动副, P 1 {{P}_{1}} P1、 P 2 {{P}_{2}} P2、 P 3 {{P}_{3}} P3、 P 4 {{P}_{4}} P4为移动副, B 1 {{B}_{1}} B1、 B 2 {{B}_{2}} B2、 B 3 {{B}_{3}} B3为球铰副, q 1 {{q}_{1}} q1、 q 2 {{q}_{2}} q2、 q 3 {{q}_{3}} q3为对应的球铰副指向转动副的向量, q 4 {{q}_{4}} q4为并联机器人动平台坐标系原点 O P {{O}_{P}} OP指向云台坐标系原点 O T {{O}_{T}} OT的向量。
1.2 坐标系
为描述环境感知系统各组成部分的位置关系,对于非对称3-SPR并联机器人,这里定义以下几个直角坐标系:
(1)世界坐标系{W}
也称全局坐标系或基准坐标系,用来描述空间中物体在客观世界中的绝对位置。将并联机器静平台中心点定义为世界坐标系原点
O
W
{{O}_{W}}
OW,
O
W
{{O}_{W}}
OW与三个球铰的连线互成120°。
Y
W
{{Y}_{W}}
YW轴负半轴经过球铰
B
3
{{B}_{3}}
B3,
Z
W
{{Z}_{W}}
ZW轴垂直于静平台平面。
(2)动平台坐标系{P}
用来描述并联机器人动平台位姿的直角坐标系。并联机器人动平台坐标系原点
O
P
{{O}_{P}}
OP为并联机器人动平台中心点,其为并联机器人三个转动副中点连线组成的等边三角形的中心。
Y
P
{{Y}_{P}}
YP轴负半轴经过转动副
A
3
{{A}_{3}}
A3中点,
Z
P
{{Z}_{P}}
ZP轴垂直于动平台平面。
(3)末端坐标系{T}
这指的是并联机器人所承载的设备被安装在
二自由度云台被安装在3-SPR并联机器人动平台移动副的末端,其姿态与坐标系{P}相同。坐标系{T}的原点
O
T
{{O}_{T}}
OT为云台两个旋转轴的交线,其与坐标系{P}原点
O
P
{{O}_{P}}
OP的距离取决于独立移动副的伸长量和云台的结构尺寸。
1.3 对运动学的定义
本文提出的机构可以认为是一个串并混合机构,因为在并联机器人的动平台中心处固联了一个额外的移动副 P 4 {{P}_{4}} P4。
因此对本机构而言,逆运动学:当末端坐标系{T}
相对于世界坐标系{W}
变化时,移动副的变化规律。
如不需要额外的运动副
P
4
{{P}_{4}}
P4,逆运动学:动平台坐标系{P}
相对于世界坐标系{W}
变化时,移动副的变化规律。
当然,因为实际的机构和理论建模不一样,比如实验设备的中心和 动平台坐标系{P}
的原点重合,而是有一段距离,那么可以将额外的移动副
P
4
{{P}_{4}}
P4认定为一个常量,最终推导的还是 末端坐标系{T}
相对于 世界坐标系{W}
的关系。
2. 逆运动学
2.1 逆运动学公式的输入和输出
输入: 末端参考点
O
P
{{O}_{P}}
OP坐标,动平台三个转动副外接圆的半径
r
A
{{r}_{A}}
rA,三个转动副与世界坐标系原点的距离
r
B
i
{{r}_{{{B}_{i}}}}
rBi。
输出: 三个球铰副和三个转动副的距离。
2.2 旋转矩阵基础
说到运动学,最重要的肯定是旋转矩阵了。这里简要讲一下,详细的请看其他大佬的文章,他们讲的更好。
两个坐标系的旋转变换可以分解为三次旋转变换,三次旋转变换的旋转角即为欧拉角。本文使用
Z
−
Y
−
X
Z-Y-X
Z−Y−X欧拉角来描述并联机器人 动平台坐标系{P}
相对于 世界坐标系{W}
的旋转运动。
假设 动平台坐标系{P}
与 世界坐标系{W}
的初始方位(姿态)相同。使 动平台坐标系{P}
先绕
Z
P
{{Z}_{P}}
ZP轴旋转
α
\alpha
α角,再绕
Y
P
{{Y}_{P}}
YP轴旋转
β
\beta
β角,最后绕
Z
P
{{Z}_{P}}
ZP轴旋转
γ
\gamma
γ角。
使用 P W R {}_{P}^{W}R PWR表示与 Z − Y − X Z-Y-X Z−Y−X欧拉角等价的旋转矩阵:
P W R = R ( Z , α ) R ( Y , β ) R ( X , γ ) = [ u x v x w x u y v y w y u z v z w z ] {}_{P}^{W}R=R(Z,\alpha )R(Y,\beta )R(X,\gamma )\text{=}\left[ \begin{matrix} {{u}_{x}} & {{v}_{x}} & {{w}_{x}} \\ {{u}_{y}} & {{v}_{y}} & {{w}_{y}} \\ {{u}_{z}} & {{v}_{z}} & {{w}_{z}} \\ \end{matrix} \right] PWR=R(Z,α)R(Y,β)R(X,γ)= uxuyuzvxvyvzwxwywz
式中:
u
x
=
cos
α
cos
β
,
v
x
=
cos
α
sin
β
sin
γ
−
sin
α
cos
γ
,
w
x
=
cos
α
sin
β
cos
γ
+
sin
α
sin
γ
{{u}_{x}}=\cos \alpha \cos \beta, {{v}_{x}}=\cos \alpha \sin \beta \sin \gamma -\sin \alpha \cos \gamma, {{w}_{x}}=\cos \alpha \sin \beta \cos \gamma +\sin \alpha \sin \gamma
ux=cosαcosβ,vx=cosαsinβsinγ−sinαcosγ,wx=cosαsinβcosγ+sinαsinγ
u
y
=
sin
α
cos
β
,
v
y
=
sin
α
sin
β
sin
γ
+
cos
α
cos
γ
,
w
y
=
sin
α
sin
β
cos
γ
−
cos
α
sin
γ
{{u}_{y}}=\sin \alpha \cos \beta, {{v}_{y}}=\sin \alpha \sin \beta \sin \gamma +\cos \alpha \cos \gamma ,{{w}_{y}}=\sin \alpha \sin \beta \cos \gamma -\cos \alpha \sin \gamma
uy=sinαcosβ,vy=sinαsinβsinγ+cosαcosγ,wy=sinαsinβcosγ−cosαsinγ
u
z
=
−
sin
β
,
v
z
=
cos
β
sin
γ
,
w
z
=
cos
β
cos
γ
{{u}_{z}}=-\sin \beta, {{v}_{z}}=\cos \beta \sin \gamma, {{w}_{z}}=\cos \beta \cos \gamma
uz=−sinβ,vz=cosβsinγ,wz=cosβcosγ
他们满足以下的关系:
u
x
2
+
u
y
2
+
u
z
2
=
1
,
v
x
2
+
v
y
2
+
v
z
2
=
1
,
w
x
2
+
w
y
2
+
w
z
2
=
1
u_{x}^{2}+u_{y}^{2}+u_{z}^{2}=1, v_{x}^{2}+v_{y}^{2}+v_{z}^{2}=1, w_{x}^{2}+w_{y}^{2}+w_{z}^{2}=1
ux2+uy2+uz2=1,vx2+vy2+vz2=1,wx2+wy2+wz2=1
u
x
2
+
v
x
2
+
w
x
2
=
1
,
u
y
2
+
v
y
2
+
w
y
2
=
1
,
u
z
2
+
u
z
2
+
w
z
2
=
1
u_{x}^{2}+v_{x}^{2}+w_{x}^{2}=1, u_{y}^{2}+v_{y}^{2}+w_{y}^{2}=1, u_{z}^{2}+u_{z}^{2}+w_{z}^{2}=1
ux2+vx2+wx2=1,uy2+vy2+wy2=1,uz2+uz2+wz2=1
u
x
v
x
+
u
y
v
y
+
u
z
v
z
=
0
,
v
x
w
x
+
v
y
w
y
+
v
z
w
z
=
0
,
u
x
w
x
+
u
y
w
y
+
u
z
w
z
=
0
{{u}_{x}}{{v}_{x}}+{{u}_{y}}{{v}_{y}}+{{u}_{z}}{{v}_{z}}=0, {{v}_{x}}{{w}_{x}}+{{v}_{y}}{{w}_{y}}+{{v}_{z}}{{w}_{z}}=0, {{u}_{x}}{{w}_{x}}+{{u}_{y}}{{w}_{y}}+{{u}_{z}}{{w}_{z}}=0
uxvx+uyvy+uzvz=0,vxwx+vywy+vzwz=0,uxwx+uywy+uzwz=0
w
x
=
v
z
u
y
−
u
z
v
y
,
w
y
=
v
x
u
z
−
u
x
v
z
,
w
z
=
v
y
u
x
−
u
y
v
x
{{w}_{x}}={{v}_{z}}{{u}_{y}}-{{u}_{z}}{{v}_{y}}, {{w}_{y}}={{v}_{x}}{{u}_{z}}-{{u}_{x}}{{v}_{z}}, {{w}_{z}}={{v}_{y}}{{u}_{x}}-{{u}_{y}}{{v}_{x}}
wx=vzuy−uzvy,wy=vxuz−uxvz,wz=vyux−uyvx
这些都是后面化简公式需要用到的!
2.3 球铰副和转动副坐标
转动副
A
i
{{A}_{i}}
Ai在 动平台坐标系{P}
中的坐标
P
A
i
{}^{P}{{A}_{i}}
PAi可以用下式表示:
P
A
i
=
[
r
A
cos
α
i
r
A
sin
α
i
0
]
(
i
=
1
,
2
,
3
)
{}^{P}{{A}_{i}}=\left[ \begin{matrix} {{r}_{A}}\cos {{\alpha }_{i}} \\ {{r}_{A}}\sin {{\alpha }_{i}} \\ 0 \\ \end{matrix} \right]\text{ }(i=1,2,3)
PAi=
rAcosαirAsinαi0
(i=1,2,3)
式中:
r
A
{{r}_{A}}
rA为三个转动副与
O
P
{{O}_{P}}
OP的距离,
α
i
{{\alpha }_{i}}
αi为
A
i
{{A}_{i}}
Ai与
O
P
{{O}_{P}}
OP的连线和
X
P
{{X}_{P}}
XP的夹角,
α
1
=
30
∘
{{\alpha }_{1}}={{30}^{\circ }}
α1=30∘,
α
2
=
150
∘
{{\alpha }_{2}}={{150}^{\circ }}
α2=150∘,
α
3
=
270
∘
{{\alpha }_{3}}={{270}^{\circ }}
α3=270∘。这里的
α
i
{{\alpha }_{i}}
αi是已知的,
r
A
{{r}_{A}}
rA是根据我们机构而定的输入量,即动平台三个转动副外接圆的半径。
因为我们要推导运动学方程,这里不要将
r
A
{{r}_{A}}
rA代入!让他以变量的形式存在!
球铰
B
i
{{B}_{i}}
Bi在 世界坐标系{W}
中的坐标
W
B
i
{}^{W}{{B}_{i}}
WBi:
W
B
i
=
[
r
B
i
cos
β
i
r
B
i
sin
β
i
0
]
(
i
=
1
,
2
,
3
)
{}^{W}{{B}_{i}}=\left[ \begin{matrix} {{r}_{{{B}_{i}}}}\cos {{\beta }_{i}} \\ {{r}_{{{B}_{i}}}}\sin {{\beta }_{i}} \\ 0 \\ \end{matrix} \right]\text{ }(i=1,2,3)
WBi=
rBicosβirBisinβi0
(i=1,2,3)
式中,
r
B
i
{{r}_{{{B}_{i}}}}
rBi为
B
i
{{B}_{i}}
Bi与
O
W
{{O}_{W}}
OW的距离,
β
i
{{\beta }_{i}}
βi为
B
i
{{B}_{i}}
Bi与
O
W
{{O}_{W}}
OW的连线和
X
W
{{X}_{W}}
XW的夹角,
β
1
=
30
∘
{{\beta }_{1}}={{30}^{\circ }}
β1=30∘,
β
2
=
150
∘
{{\beta }_{2}}={{150}^{\circ }}
β2=150∘,
β
3
=
270
∘
{{\beta }_{3}}={{270}^{\circ }}
β3=270∘。这里的
r
B
i
{{r}_{{{B}_{i}}}}
rBi是已知的,
r
B
i
{{r}_{{{B}_{i}}}}
rBi即三个转动副与世界坐标系原点的距离,是根据我们机构而定的输入量。
因为我们要推导运动学方程,这里不要将
r
B
i
{{r}_{{{B}_{i}}}}
rBi代入!让他以变量的形式存在!
r
B
1
{{r}_{{{B}_{1}}}}
rB1、
r
B
2
{{r}_{{{B}_{2}}}}
rB2和
r
B
3
{{r}_{{{B}_{3}}}}
rB3可以是不相等的!非对称和对称的3-SPR并联机器人运动学推导主要区别在这里。
也因此会极大的增加后面化简的难度!
2.4 建立约束方程
l
1
{{l}_{1}}
l1:由
A
3
{{A}_{3}}
A3指向
A
2
{{A}_{2}}
A2的向量,
l
2
{{l}_{2}}
l2:由
A
3
{{A}_{3}}
A3指向
A
1
{{A}_{1}}
A1的向量,
l
3
{{l}_{3}}
l3:由
A
2
{{A}_{2}}
A2指向
A
1
{{A}_{1}}
A1的向量
由3-SPR并联机器人的转动副约束关系可知,
q
1
{{q}_{1}}
q1、
q
2
{{q}_{2}}
q2、
q
3
{{q}_{3}}
q3分别垂直于
l
1
{{l}_{1}}
l1、
l
2
{{l}_{2}}
l2、
l
3
{{l}_{3}}
l3。
根据约束关系建立3-SPR并联机构的约束方程:
{
q
1
T
×
l
1
=
0
q
2
T
×
l
2
=
0
q
3
T
×
l
3
=
0
\left\{ \begin{matrix} {{q}_{1}}^{T}\times {{l}_{1}}=0 \\ {{q}_{2}}^{T}\times {{l}_{2}}=0 \\ {{q}_{3}}^{T}\times {{l}_{3}}=0 \\ \end{matrix} \right.
⎩
⎨
⎧q1T×l1=0q2T×l2=0q3T×l3=0
我们最后就要使用这个约束方程推导逆运动学!
(1)
l
i
{{l}_{i}}
li的公式表示为:
{
l
1
=
W
A
2
−
W
A
3
=
P
W
R
P
A
2
−
P
W
R
P
A
3
l
2
=
W
A
1
−
W
A
3
=
P
W
R
P
A
1
−
P
W
R
P
A
3
l
3
=
[
u
x
u
y
u
z
]
T
\left\{ \begin{matrix} {{l}_{1}}={^{W}{A}_{2}}-{^{W}{A}_{3}}={}_{P}^{W}R{}^{P}{{A}_{2}}-{}_{P}^{W}R{}^{P}{{A}_{3}}\\ {{l}_{2}}={^{W}{A}_{1}}-{^{W}{A}_{3}}={}_{P}^{W}R{}^{P}{{A}_{1}}-{}_{P}^{W}R{}^{P}{{A}_{3}} \\ {{l}_{3}}={{[\begin{matrix}{{u}_{x}} & {{u}_{y}} & {{u}_{z}} \\ \end{matrix}]}^{T}} \\ \end{matrix} \right.
⎩
⎨
⎧l1=WA2−WA3=PWRPA2−PWRPA3l2=WA1−WA3=PWRPA1−PWRPA3l3=[uxuyuz]T
这里
l
1
{{l}_{1}}
l1和
l
2
{{l}_{2}}
l2里的变量我们在2.2章节已经推导好了,
这里的
l
3
{{l}_{3}}
l3即为一个和
x
{x}
x轴平行的向量,直接用
x
{x}
x轴的向量代替,方便后面化简。
注意变量左上角的角标!指的是该变量在该坐标系下的坐标!
(2)
q
i
{{q}_{i}}
qi的公式表示为:
{
q
1
=
W
A
1
−
W
B
1
=
P
W
R
P
A
1
+
W
O
P
−
W
B
1
q
2
=
W
A
2
−
W
B
2
=
P
W
R
P
A
2
+
W
O
P
−
W
B
2
q
3
=
W
A
3
−
W
B
3
=
P
W
R
P
A
3
+
W
O
P
−
W
B
3
\left\{ \begin{matrix} & {{q}_{1}}={^{W}{A}_{1}}-{^{W}{B}_{1}}={}_{P}^{W}R{}^{P}{{A}_{1}}+{}^{W}{{O}_{P}}-{}^{W}{{B}_{1}} \\ & {{q}_{2}}={^{W}{A}_{2}}-{^{W}{B}_{2}}={}_{P}^{W}R{}^{P}{{A}_{2}}+{}^{W}{{O}_{P}}-{}^{W}{{B}_{2}} \\ & {{q}_{3}}={^{W}{A}_{3}}-{^{W}{B}_{3}}={}_{P}^{W}R{}^{P}{{A}_{3}}+{}^{W}{{O}_{P}}-{}^{W}{{B}_{3}} \end{matrix} \right.
⎩
⎨
⎧q1=WA1−WB1=PWRPA1+WOP−WB1q2=WA2−WB2=PWRPA2+WOP−WB2q3=WA3−WB3=PWRPA3+WOP−WB3
接下来要做的就是把所有东西带入到约束方程里。
代入的时候要全部用变量表达式带入,最后再一起化简!
2.5 化简
从后往前化推,最终带入到约束方程里。
输入: 末端参考点
O
P
{{O}_{P}}
OP坐标,动平台三个转动副外接圆的半径
r
A
{{r}_{A}}
rA,三个转动副与世界坐标系原点的距离
r
B
i
{{r}_{{{B}_{i}}}}
rBi。
输出: 三个球铰副和三个转动副的距离。
(1)化简思路:
-
约束方程的未知量: q i {{q}_{i}} qi和 l i {{l}_{i}} li
-
表示 l i {{l}_{i}} li的方程的未知量: P A i {^{P}{A}_{i}} PAi和 P W R {}_{P}^{W}R PWR;表示 q i {{q}_{i}} qi的方程的未知量: P A i {^{P}{A}_{i}} PAi、 P W R {}_{P}^{W}R PWR和 W B i {}^{W}{{B}_{i}} WBi
-
表示 P A i {^{P}{A}_{i}} PAi的方程的未知量: r A {{r}_{A}} rA( α i {{\alpha }_{i}} αi是常量,直接带入! r A {{r}_{A}} rA是我们的输入变量,就保持使用 r A {{r}_{A}} rA代入)
-
表示 P W R {}_{P}^{W}R PWR的方程的未知量: u x {{u}_{x}} ux、 u y {{u}_{y}} uy、 u z {{u}_{z}} uz、 v x {{v}_{x}} vx、 v y {{v}_{y}} vy、 v z {{v}_{z}} vz、 w x {{w}_{x}} wx、 w y {{w}_{y}} wy、 w z {{w}_{z}} wz
(这些都可以用欧拉角来表示,为了化简方便,就先保持用它们带入) -
表示 W B i {^{W}{B}_{i}} WBi的方程的未知量: r B i {{r}_{{{B}_{i}}}} rBi( β i {{\beta }_{i}} βi是常量,直接带入! r B i {{r}_{{{B}_{i}}}} rBi是我们的输入变量,就保持使用 r B i {{r}_{{{B}_{i}}}} rBi代入)
根据以上的化简思路,输入和输出都梳理清了,开始带入吧!
(2)带入约束方程



(3)展开、化简
展开上面的矩阵,得下式:
{
−
3
2
(
X
O
P
u
x
+
Y
O
P
u
y
+
Z
O
P
u
z
)
+
3
2
(
X
O
P
v
x
+
Y
O
P
v
y
+
Z
O
P
v
z
)
+
3
4
r
B
1
(
u
x
−
v
y
)
+
3
4
r
B
1
(
u
y
−
3
v
x
)
=
0
3
2
(
u
x
X
O
P
+
u
y
Y
O
P
+
u
z
Z
O
P
)
+
3
2
(
v
x
X
O
P
+
v
y
Y
O
P
+
v
z
Z
O
P
)
+
3
4
r
B
2
(
u
x
−
v
y
)
+
3
4
r
B
2
(
3
v
x
−
u
y
)
=
0
X
O
P
u
x
+
Y
O
P
u
y
+
Z
O
P
u
z
=
−
r
B
3
u
y
\left\{ \begin{align} & -\frac{\sqrt{3}}{2}\left( {{X}_{{{O}_{P}}}}{{u}_{x}}+{{Y}_{{{O}_{P}}}}{{u}_{y}}+{{Z}_{{{O}_{P}}}}{{u}_{z}} \right)+\frac{3}{2}\left( {{X}_{{{O}_{P}}}}{{\text{v}}_{x}}+{{Y}_{{{O}_{P}}}}{{v}_{y}}+{{Z}_{{{O}_{P}}}}{{v}_{z}} \right)+\frac{3}{4}{{\text{r}}_{{{B}_{1}}}}\left( {{u}_{x}}-{{v}_{y}} \right)+\frac{\sqrt{3}}{4}{{\text{r}}_{{{B}_{1}}}}\left( {{u}_{y}}-3{{v}_{x}} \right)\text{=}0 \\ & \frac{\sqrt{3}}{2}\left( {{u}_{x}}{{X}_{{{O}_{P}}}}+{{u}_{y}}{{Y}_{{{O}_{P}}}}+{{u}_{z}}{{Z}_{{{O}_{P}}}} \right)+\frac{3}{2}\left( {{\text{v}}_{x}}{{X}_{{{O}_{P}}}}+{{v}_{y}}{{Y}_{{{O}_{P}}}}+{{v}_{z}}{{Z}_{{{O}_{P}}}} \right)+\frac{3}{4}{{\text{r}}_{{{B}_{2}}}}\left( {{u}_{x}}-{{v}_{y}} \right)+\frac{\sqrt{3}}{4}{{\text{r}}_{{{B}_{2}}}}\left( 3{{v}_{x}}-{{u}_{y}} \right)\text{=}0 \\ &{{X}_{{{O}_{P}}}}{{u}_{x}}+{{Y}_{{{O}_{P}}}}{{u}_{y}}+{{Z}_{{{O}_{P}}}}{{u}_{z}}=-{{r}_{{{B}_{3}}}}{{u}_{y}} \\ \end{align} \right.
⎩
⎨
⎧−23(XOPux+YOPuy+ZOPuz)+23(XOPvx+YOPvy+ZOPvz)+43rB1(ux−vy)+43rB1(uy−3vx)=023(uxXOP+uyYOP+uzZOP)+23(vxXOP+vyYOP+vzZOP)+43rB2(ux−vy)+43rB2(3vx−uy)=0XOPux+YOPuy+ZOPuz=−rB3uy
继续化简,得下式:
{
X
O
P
v
x
+
Y
O
P
v
y
+
Z
O
P
v
z
=
−
3
3
r
B
3
u
y
−
1
2
r
B
1
(
u
x
−
v
y
)
−
3
6
r
B
1
(
u
y
−
v
x
)
X
O
P
v
x
+
Y
O
P
v
y
+
Z
O
P
v
z
=
3
3
r
B
3
u
y
−
1
2
r
B
2
(
u
x
−
v
y
)
−
3
6
r
B
2
(
3
v
x
−
u
y
)
X
O
P
u
x
+
Y
O
P
u
y
+
Z
O
P
u
z
=
−
r
B
3
u
y
\left\{ \begin{align} & {{X}_{{{O}_{P}}}}{{{v}}_{x}}+{{Y}_{{{O}_{P}}}}{{v}_{y}}+{{Z}_{{{O}_{P}}}}{{v}_{z}}\text{=}-\frac{\sqrt{3}}{3}{{r}_{{{B}_{3}}}}{{u}_{y}}-\frac{1}{2}{{\text{r}}_{{{B}_{1}}}}\left( {{u}_{x}}-{{v}_{y}} \right)-\frac{\sqrt{3}}{6}{{\text{r}}_{{{B}_{1}}}}\left( {{u}_{y}}-{{v}_{x}} \right) \\ & {{X}_{{{O}_{P}}}}{{{v}}_{x}}+{{Y}_{{{O}_{P}}}}{{v}_{y}}+{{Z}_{{{O}_{P}}}}{{v}_{z}}\text{=}\frac{\sqrt{3}}{3}{{r}_{{{B}_{3}}}}{{u}_{y}}-\frac{1}{2}{{\text{r}}_{{{B}_{2}}}}\left( {{u}_{x}}-{{v}_{y}} \right)-\frac{\sqrt{3}}{6}{{\text{r}}_{{{B}_{2}}}}\left( 3{{v}_{x}}-{{u}_{y}} \right) \\ & {{X}_{{{O}_{P}}}}{{u}_{x}}+{{Y}_{{{O}_{P}}}}{{u}_{y}}+{{Z}_{{{O}_{P}}}}{{u}_{z}}=-{{r}_{{{B}_{3}}}}{{u}_{y}} \\ \end{align} \right.
⎩
⎨
⎧XOPvx+YOPvy+ZOPvz=−33rB3uy−21rB1(ux−vy)−63rB1(uy−vx)XOPvx+YOPvy+ZOPvz=33rB3uy−21rB2(ux−vy)−63rB2(3vx−uy)XOPux+YOPuy+ZOPuz=−rB3uy
联立 2.2 旋转矩阵基础 中的公式,继续化简:
{
X
O
P
=
−
6
w
x
Z
O
P
−
[
3
(
u
x
−
v
y
)
+
3
(
3
v
x
−
u
y
)
]
u
y
r
B
2
+
2
(
3
u
y
+
3
v
y
)
u
y
r
B
3
−
6
w
z
Y
O
P
=
6
w
y
Z
O
P
−
[
3
(
u
x
−
v
y
)
+
3
(
3
v
x
−
u
y
)
]
u
x
r
B
2
+
2
(
3
u
x
+
3
v
x
)
u
y
r
B
3
6
w
z
β
=
tan
−
1
(
3
3
r
B
1
+
r
B
2
sin
γ
sin
α
+
3
r
B
2
−
r
B
1
(
cos
α
−
cos
γ
)
3
r
B
1
+
r
B
2
(
3
cos
γ
+
cos
α
)
+
3
r
B
2
−
r
B
1
sin
γ
sin
α
+
4
3
r
B
3
cos
α
)
\left\{ \begin{align} & {{X}_{{{O}_{P}}}}=\frac{-6{{w}_{x}}{{Z}_{{{O}_{P}}}}-\left[ 3\left( {{u}_{x}}-{{v}_{y}} \right)+\sqrt{3}\left( 3{{v}_{x}}-{{u}_{y}} \right) \right]{{u}_{y}}{{r}_{{{B}_{2}}}}+2\left( \sqrt{3}{{u}_{y}}+3{{v}_{y}} \right){{u}_{y}}{{r}_{{{B}_{3}}}}}{-6{{w}_{z}}} \\ & {{Y}_{{{O}_{P}}}}=\frac{6{{w}_{y}}{{Z}_{{{O}_{P}}}}-\left[ 3\left( {{u}_{x}}-{{v}_{y}} \right)+\sqrt{3}\left( 3{{v}_{x}}-{{u}_{y}} \right) \right]{{u}_{x}}{{r}_{{{B}_{2}}}}+2\left( \sqrt{3}{{u}_{x}}+3{{v}_{x}} \right){{u}_{y}}{{r}_{{{B}_{3}}}}}{6{{w}_{z}}} \\ & \beta ={{\tan }^{-1}}\left( \frac{3\sqrt{3}{{\text{r}}_{{{B}_{1}}}}+{{\text{r}}_{{{B}_{2}}}}\sin \gamma \sin \alpha +3{{\text{r}}_{{{B}_{2}}}}-{{\text{r}}_{{{B}_{1}}}}\left( \cos \alpha -\cos \gamma \right)}{\sqrt{3}{{\text{r}}_{{{B}_{1}}}}+{{\text{r}}_{{{B}_{2}}}}(3\cos \gamma +\cos \alpha )+3{{\text{r}}_{{{B}_{2}}}}-{{\text{r}}_{{{B}_{1}}}}\sin \gamma \sin \alpha +4\sqrt{3}{{r}_{{{B}_{3}}}}\cos \alpha } \right) \\ \end{align} \right.
⎩
⎨
⎧XOP=−6wz−6wxZOP−[3(ux−vy)+3(3vx−uy)]uyrB2+2(3uy+3vy)uyrB3YOP=6wz6wyZOP−[3(ux−vy)+3(3vx−uy)]uxrB2+2(3ux+3vx)uyrB3β=tan−1(3rB1+rB2(3cosγ+cosα)+3rB2−rB1sinγsinα+43rB3cosα33rB1+rB2sinγsinα+3rB2−rB1(cosα−cosγ))
OK,推导到这里就结束了,当然这和我们前面定义的输入和输出是有些出入的。
但根据这个化简后的结果,可以很容易的推导出我们想要的输入和输出。
2.6 运动副伸长量和 W Z O P {}^{W}{{Z}_{{{O}_{P}}}} WZOP、 α \alpha α、 γ \gamma γ的关系
3-SPR并联机器人三个移动副的长度可以表示为:
q
i
2
=
(
X
A
i
−
X
B
i
)
2
+
(
Y
A
i
−
Y
B
i
)
2
+
(
Z
A
i
−
Z
B
i
)
2
(
i
=
1
,
2
,
3
)
{{q}_{i}}^{2}={{({{X}_{{{A}_{i}}}}-{{X}_{{{B}_{i}}}})}^{2}}+{{({{Y}_{{{A}_{i}}}}-{{Y}_{{{B}_{i}}}})}^{2}}+{{({{Z}_{{{A}_{i}}}}-{{Z}_{{{B}_{i}}}})}^{2}}\text{ }(i=1,2,3)
qi2=(XAi−XBi)2+(YAi−YBi)2+(ZAi−ZBi)2 (i=1,2,3)
结合上式和式(7)、(8)、(9):
{
q
1
2
=
r
A
2
+
r
B
1
2
+
X
O
P
2
+
Y
O
P
2
+
Z
O
P
2
+
3
r
A
(
u
x
X
O
P
+
u
y
Y
O
P
+
u
z
Z
O
P
)
+
r
A
(
v
x
X
O
P
+
v
y
Y
O
P
+
v
z
Z
O
P
)
−
1
2
r
A
r
B
1
(
3
u
x
+
3
u
y
+
3
v
x
+
v
y
)
−
r
B
1
(
3
X
O
P
+
Y
O
P
)
q
2
2
=
r
A
2
+
r
B
2
2
+
X
O
P
2
+
Y
O
P
2
+
Z
O
P
2
−
3
r
A
(
u
x
X
O
P
+
u
y
Y
O
P
+
u
z
Z
O
P
)
+
r
A
(
v
x
X
O
P
+
v
y
Y
O
P
+
v
z
Z
O
P
)
−
1
2
r
A
r
B
2
(
3
u
x
−
3
u
y
−
3
v
x
+
v
y
)
+
r
B
2
(
3
X
O
P
−
Y
O
P
)
q
3
2
=
r
A
2
+
r
B
3
2
+
X
O
P
2
+
Y
O
P
2
+
Z
O
P
2
−
2
r
A
(
v
x
X
O
P
+
v
y
Y
O
P
+
v
z
Z
O
P
)
−
2
r
A
r
B
3
v
y
+
2
r
B
3
Y
O
P
\left\{ \begin{align} & {{q}_{1}}^{2}={{r}_{A}}^{2}+{{r}_{{{B}_{1}}}}^{2}+{{X}_{{{O}_{P}}}}^{2}+{{Y}_{{{O}_{P}}}}^{2}+{{Z}_{{{O}_{P}}}}^{2}+\sqrt{3}{{r}_{A}}({{u}_{x}}{{X}_{{{O}_{P}}}}+{{u}_{y}}{{Y}_{{{O}_{P}}}}+{{u}_{z}}{{Z}_{{{O}_{P}}}}) +{{r}_{A}}({{v}_{x}}{{X}_{{{O}_{P}}}}+{{v}_{y}}{{Y}_{{{O}_{P}}}}+{{v}_{z}}{{Z}_{{{O}_{P}}}})-\frac{1}{2}{{r}_{A}}{{r}_{{{B}_{1}}}}(3{{u}_{x}}+\sqrt{3}{{u}_{y}}+\sqrt{3}{{v}_{x}}+{{v}_{y}})-{{r}_{{{B}_{1}}}}(\sqrt{3}{{X}_{{{O}_{P}}}}+{{Y}_{{{O}_{P}}}}) \\ & {{q}_{2}}^{2}={{r}_{A}}^{2}+{{r}_{{{B}_{2}}}}^{2}+{{X}_{{{O}_{P}}}}^{2}+{{Y}_{{{O}_{P}}}}^{2}+{{Z}_{{{O}_{P}}}}^{2}-\sqrt{3}{{r}_{A}}({{u}_{x}}{{X}_{{{O}_{P}}}}+{{u}_{y}}{{Y}_{{{O}_{P}}}}+{{u}_{z}}{{Z}_{{{O}_{P}}}}) +{{r}_{A}}({{v}_{x}}{{X}_{{{O}_{P}}}}+{{v}_{y}}{{Y}_{{{O}_{P}}}}+{{v}_{z}}{{Z}_{{{O}_{P}}}})-\frac{1}{2}{{r}_{A}}{{r}_{{{B}_{2}}}}(3{{u}_{x}}-\sqrt{3}{{u}_{y}}-\sqrt{3}{{v}_{x}}+{{v}_{y}})+{{r}_{{{B}_{2}}}}(\sqrt{3}{{X}_{{{O}_{P}}}}-{{Y}_{{{O}_{P}}}}) \\ & {{q}_{3}}^{2}={{r}_{A}}^{2}+{{r}_{{{B}_{3}}}}^{2}+{{X}_{{{O}_{P}}}}^{2}+{{Y}_{{{O}_{P}}}}^{2}+{{Z}_{{{O}_{P}}}}^{2}-2{{r}_{A}}({{v}_{x}}{{X}_{{{O}_{P}}}}+{{v}_{y}}{{Y}_{{{O}_{P}}}}+{{v}_{z}}{{Z}_{{{O}_{P}}}})-2{{r}_{A}}{{r}_{{{B}_{3}}}}{{v}_{y}}+2{{r}_{{{B}_{3}}}}{{Y}_{{{O}_{P}}}} \\ \end{align} \right.
⎩
⎨
⎧q12=rA2+rB12+XOP2+YOP2+ZOP2+3rA(uxXOP+uyYOP+uzZOP)+rA(vxXOP+vyYOP+vzZOP)−21rArB1(3ux+3uy+3vx+vy)−rB1(3XOP+YOP)q22=rA2+rB22+XOP2+YOP2+ZOP2−3rA(uxXOP+uyYOP+uzZOP)+rA(vxXOP+vyYOP+vzZOP)−21rArB2(3ux−3uy−3vx+vy)+rB2(3XOP−YOP)q32=rA2+rB32+XOP2+YOP2+ZOP2−2rA(vxXOP+vyYOP+vzZOP)−2rArB3vy+2rB3YOP
综上所述,对于球铰位置变化的3-SPR并联机构,当已知动平台姿态常量中的 W Z O P {}^{W}{{Z}_{{{O}_{P}}}} WZOP、 α \alpha α、 γ \gamma γ,可以求得其在当前姿态下的三个移动副伸长量,即其位置逆解。
2.7 考虑移动副 P 4 {{P}_{4}} P4
上面的步骤根本没有考虑移动副
P
4
{{P}_{4}}
P4。因为移动副
P
4
{{P}_{4}}
P4的长度改变,对于3-SPR并联机器人来说,其 动平台坐标系{P}
的坐标原点就变了。
因此在进行上面的逆运动学求解之前,需要确定好 P 4 {{P}_{4}} P4的长度,在该长度下求解逆运动学。
使用
q
4
{{q}_{4}}
q4来表示由 动平台坐标系{P}
原点
O
P
{{O}_{P}}
OP指向 末端坐标系{T}
原点
O
T
{{O}_{T}}
OT的向量,则:
W
O
P
=
W
O
H
−
q
4
{}^{W}{{O}_{P}}={}^{W}{{O}_{H}}-{{q}_{4}}
WOP=WOH−q4
综上:对于工作空间内的任意一点,3-SPR并联机构的逆解是唯一的。但当在其末端布置一个移动副后,其逆解不是唯一的。随着移动副 P 4 {{P}_{4}} P4伸长量 ∣ q 4 ∣ \left| {{q}_{4}} \right| ∣q4∣取值的不同,3-SPR并联机器人的移动副 P 1 {{P}_{1}} P1、 P 2 {{P}_{2}} P2、 P 3 {{P}_{3}} P3的伸长量 ∣ q 1 ∣ \left| {{q}_{1}} \right| ∣q1∣、 ∣ q 2 ∣ \left| {{q}_{2}} \right| ∣q2∣、 ∣ q 3 ∣ \left| {{q}_{3}} \right| ∣q3∣也是不同的。
2.8 使用末端坐标作为输入
3-SPR并联机器人是一个三自由度的并联机器人。空间中一共有六个自由度,根据上面的推导结果(三元一次方程),当我们已知三个自由度,就一定可以知道另外三个自由度。
因此,要想使用末端坐标作为输入,其实就是求解三元一次方程。这里是使用Matlab来求解的,请见:
结束语
本文到这里就结束了,后续会根据反馈修改内容~
后面有时间了还会把正运动学的东西写出来。
如有帮助请三连~
祝兄弟们科研顺利!
谢谢观看!