1. 反对称矩阵及其性质
定义一个(
n
n
n×
n
n
n)的矩阵
S
\textbf{S}
S,如果满足
S
+
S
T
=
O
\textbf{S}+\textbf{S}^T=\textbf{O}
S+ST=O,则矩阵
S
\textbf{S}
S被称为反对称矩阵。
对于三维向量
a
=
(
a
x
,
a
y
,
a
z
)
T
\textbf{a}=(a_x, a_y,a_z)^T
a=(ax,ay,az)T,定义其对应的反对称矩阵
S
(
a
)
\textbf{S}(a)
S(a)为如下形式:
S
(
a
)
=
[
0
−
a
z
a
y
a
z
0
−
a
x
−
a
y
a
x
0
]
\textbf{S}(\bf{a})=\begin{bmatrix} 0 & -a_z & a_y\\ a_z & 0 & -a_x\\ -a_y & a_x & 0\\ \end{bmatrix}
S(a)=⎣⎡0az−ay−az0axay−ax0⎦⎤反对称矩阵具有以下几个性质:
- S ( α a + β b ) = α S ( a ) + β S ( b ) , a , b ∈ R 3 \textbf{S}(α\textbf{a}+β\textbf{b})=α\textbf{S}(\textbf{a})+β\textbf{S}(\textbf{b}),\bf{a},\bf{b}\in{\bf{R}^3} S(αa+βb)=αS(a)+βS(b),a,b∈R3
- S ( a ) p = a × p , a , p ∈ R 3 \textbf{S}(\textbf{a})\textbf{p}=\textbf{a}×\textbf{p},\textbf{a},\textbf{p}\in{\textbf{R}^3} S(a)p=a×p,a,p∈R3
- RS ( a ) R T = S ( Ra ) , a ∈ R 3 , R ∈ S O ( 3 ) \textbf{R}\textbf{S}(\textbf{a})\textbf{R}^T=\textbf{S}(\textbf{Ra}),\textbf{a}\in{\textbf{R}^3},\textbf{R}\in{SO}(3) RS(a)RT=S(Ra),a∈R3,R∈SO(3)
- X T SX = 0 , X ∈ R n \textbf{X}^T\textbf{S}\textbf{X}=0,\textbf{X}\in{\textbf{R}^n} XTSX=0,X∈Rn
习惯上使用符号 S O ( n ) {SO}(n) SO(n)表示 n n n阶的 n × n {n}\times{n} n×n的特殊正交群。对于任意的 R ∈ S O ( n ) \bf{R}\in{SO(n)} R∈SO(n),以下性质成立:
- R T = R − 1 ∈ S O ( n ) \bf{R}^T=\textbf{R}^{-1}\in{SO(n)} RT=R−1∈SO(n)
- R \bf{R} R 的各列(各行)也是相互正交的
- R \bf{R} R 的各列(各行)都是单位向量
- d e t ( R ) = 1 det(\textbf{R})=1 det(R)=1
2. 旋转矩阵的导数
考虑时变的旋转矩阵
R
(
t
)
\textbf{R}(t)
R(t),基于
R
(
t
)
\textbf{R}(t)
R(t)的正交性有:
R
(
t
)
R
(
t
)
T
=
I
(2-1)
\textbf{R}(t)\textbf{R}(t)^T=\textbf{I} \tag{2-1}
R(t)R(t)T=I(2-1)求上式关于时间的导数有:
R
˙
(
t
)
R
(
t
)
T
+
R
(
t
)
R
˙
(
t
)
T
=
O
(2-2)
\dot\textbf{R}(t)\textbf{R}(t)^T+\textbf{R}(t)\dot\textbf{R}(t)^T=\textbf{O} \tag{2-2}
R˙(t)R(t)T+R(t)R˙(t)T=O(2-2)令
S
(
t
)
=
R
˙
(
t
)
R
(
t
)
T
(2-3)
\textbf{S}(t)=\dot\textbf{R}(t)\textbf{R}(t)^T \tag{2-3}
S(t)=R˙(t)R(t)T(2-3)由于
S
(
t
)
+
S
T
(
t
)
=
O
(2-4)
\textbf{S}(t)+\textbf{S}^T(t)=\textbf{O} \tag{2-4}
S(t)+ST(t)=O(2-4)因此
S
\textbf{S}
S为(3×3)的反对称矩阵。将公式(2-3)两边同时右乘
R
(
t
)
\textbf{R}(t)
R(t),有
R
˙
(
t
)
=
S
(
t
)
R
(
t
)
(2-5)
\dot\textbf{R}(t)=\textbf{S}(t)\textbf{R}(t) \tag{2-5}
R˙(t)=S(t)R(t)(2-5)即
R
(
t
)
\textbf{R}(t)
R(t)对时间的导数可以表示成
R
(
t
)
\textbf{R}(t)
R(t)自身的函数。
————————————————————————
将
R
(
t
)
\textbf{R}(t)
R(t)对时间的导数
R
˙
(
t
)
\dot\textbf{R}(t)
R˙(t)写成以下形式:
R
˙
(
t
)
=
S
(
ω
(
t
)
)
R
(
t
)
(2-5)
\dot\textbf{R}(t)=\textbf{S}(\textbf{ω}(t))\textbf{R}(t) \tag{2-5}
R˙(t)=S(ω(t))R(t)(2-5)其中
S
(
ω
(
t
)
)
\textbf{S}(ω(t))
S(ω(t))是反对称矩阵,为了证明向量
ω
(
t
)
\textbf{ω}(t)
ω(t)是
t
t
t时刻旋转坐标系相对于固定坐标系的角速度。考虑固连在一个移动坐标系上的点
p
p
p,点
p
p
p相对于固定坐标系的坐标可以由
p
1
=
R
p
0
\textbf{p}_1=\textbf{R}\textbf{p}_0
p1=Rp0,对该表达式求微分,可以得到:
d
d
t
p
1
=
R
˙
p
0
=
S
(
ω
)
R
p
0
=
ω
×
R
p
0
=
ω
×
p
1
\frac{d}{dt}\textbf{p}_1=\dot\textbf{R}\textbf{p}_0=\textbf{S}(\textbf{ω})\textbf{R}\textbf{p}_0=\textbf{ω}\times\textbf{R}\textbf{p}_0=\textbf{ω}\times\textbf{p}_1
dtdp1=R˙p0=S(ω)Rp0=ω×Rp0=ω×p1上式表明向量
ω
(
t
)
\textbf{ω}(t)
ω(t)就是传统意义上的角速度向量。
3. 连杆速度
3.1. 通用连杆线速度推导
考虑具有开式运动链的机械手的通用连杆 i i i。连杆 i i i连接关节 i i i和关节 i + 1 i+1 i+1,坐标系 i i i固连于连杆 i i i,且其原点在关节 i i i的轴上,坐标系 i + 1 i+1 i+1的原点在关节 i + 1 i+1 i+1的轴上,如图。

令 P i \textbf{P}_i Pi和 P i + 1 \textbf{P}_{i+1} Pi+1分别为坐标系 i i i和坐标系 i + 1 i+1 i+1在基坐标系 O o \textbf{O}_o Oo中的位置向量。令 r i , i + 1 i \textbf{r}_{i,i+1}^i ri,i+1i为坐标系 i + 1 i+1 i+1的原点关于坐标系 i i i的位置在坐标系 i i i中的表示。令 R i 0 \textbf{R}_i^0 Ri0 为坐标系 i i i相对于基坐标系 O o \textbf{O}_o Oo的旋转矩阵。因此有以下关系成立: P i + 1 0 = P i 0 + R i 0 r i , i + 1 i (3-1) \textbf{P}_{i+1}^0=\textbf{P}_i^0+\textbf{R}_i^0\textbf{r}_{i,i+1}^i\tag{3-1} Pi+10=Pi0+Ri0ri,i+1i(3-1)结合反对称矩阵的相关性质对上式求导有: P ˙ i + 1 0 = P ˙ i 0 + R ˙ i 0 r i , i + 1 i + R i 0 r ˙ i , i + 1 i = P ˙ i 0 + S ( ω i 0 ) R i 0 r i , i + 1 i + R i 0 r ˙ i , i + 1 i = P ˙ i 0 + ω i 0 × R i 0 r i , i + 1 i + R i 0 r ˙ i , i + 1 i = P ˙ i 0 + ω i 0 × r i , i + 1 0 + R i 0 r ˙ i , i + 1 i (3-2) \begin{aligned} \dot\textbf{P}_{i+1}^0&=\dot\textbf{P}_i^0+\dot\textbf{R}_i^0\textbf{r}_{i,i+1}^i+\textbf{R}_i^0\dot\textbf{r}_{i,i+1}^i\\ &=\dot\textbf{P}_i^0+\textbf{S}(\textbf{ω}_i^0)\textbf{R}_i^0\textbf{r}_{i,i+1}^i+\textbf{R}_i^0\dot\textbf{r}_{i,i+1}^i\\ &=\dot\textbf{P}_i^0+\textbf{ω}_i^0\times\textbf{R}_i^0\textbf{r}_{i,i+1}^i+\textbf{R}_i^0\dot\textbf{r}_{i,i+1}^i\\ &=\dot\textbf{P}_i^0+\textbf{ω}_i^0\times\textbf{r}_{i,i+1}^0+\textbf{R}_i^0\dot\textbf{r}_{i,i+1}^i\\ \end{aligned}\tag{3-2} P˙i+10=P˙i0+R˙i0ri,i+1i+Ri0r˙i,i+1i=P˙i0+S(ωi0)Ri0ri,i+1i+Ri0r˙i,i+1i=P˙i0+ωi0×Ri0ri,i+1i+Ri0r˙i,i+1i=P˙i0+ωi0×ri,i+10+Ri0r˙i,i+1i(3-2) v i + 1 0 = v i 0 + ω i 0 × r i , i + 1 0 + v i , i + 1 0 (3-3) \begin{aligned} \textbf{v}_{i+1}^0&=\textbf{v}_i^0+\textbf{ω}_i^0\times\textbf{r}_{i,i+1}^0+\textbf{v}_{i,i+1}^0\\ \end{aligned}\tag{3-3} vi+10=vi0+ωi0×ri,i+10+vi,i+10(3-3)其中 v i , i + 1 0 \textbf{v}_{i,i+1}^0 vi,i+10表示以基坐标系 O o \textbf{O}_o Oo为参考,坐标系 i + 1 i+1 i+1的原点相对于坐标系 i i i的原点的移动速度。
3.2. 通用连杆角速度推导
考虑以下旋转矩阵的转换关系: R i + 1 0 = R i 0 R i + 1 i \textbf{R}_{i+1}^0=\textbf{R}_{i}^0\textbf{R}_{i+1}^i Ri+10=Ri0Ri+1i求其关于时间的导数: R ˙ i + 1 0 = R ˙ i 0 R i + 1 i + R i 0 R ˙ i + 1 i \dot\textbf{R}_{i+1}^0=\dot\textbf{R}_{i}^0\textbf{R}_{i+1}^i+\textbf{R}_{i}^0\dot\textbf{R}_{i+1}^i R˙i+10=R˙i0Ri+1i+Ri0R˙i+1i S ( ω i + 1 0 ) R i + 1 0 = S ( ω i 0 ) R i 0 R i + 1 i + R i 0 S ( ω i , i + 1 i ) R i + 1 i \textbf{S}(\textbf{ω}_{i+1}^0)\textbf{R}_{i+1}^0=\textbf{S}(\textbf{ω}_{i}^0)\textbf{R}_{i}^0\textbf{R}_{i+1}^i+\textbf{R}_{i}^0\textbf{S}(\textbf{ω}_{i,i+1}^i)\textbf{R}_{i+1}^i S(ωi+10)Ri+10=S(ωi0)Ri0Ri+1i+Ri0S(ωi,i+1i)Ri+1i S ( ω i + 1 0 ) R i + 1 0 = S ( ω i 0 ) R i + 1 0 + R i 0 S ( ω i , i + 1 i ) ( R i 0 ) T R i 0 R i + 1 i \textbf{S}(\textbf{ω}_{i+1}^0)\textbf{R}_{i+1}^0=\textbf{S}(\textbf{ω}_{i}^0)\textbf{R}_{i+1}^0+\textbf{R}_{i}^0\textbf{S}(\textbf{ω}_{i,i+1}^i)(\textbf{R}_i^0)^T\textbf{R}_i^0\textbf{R}_{i+1}^i S(ωi+10)Ri+10=S(ωi0)Ri+10+Ri0S(ωi,i+1i)(Ri0)TRi0Ri+1i S ( ω i + 1 0 ) R i + 1 0 = S ( ω i 0 ) R i + 1 0 + R i 0 S ( ω i , i + 1 i ) ( R i 0 ) T R i + 1 0 \textbf{S}(\textbf{ω}_{i+1}^0)\textbf{R}_{i+1}^0=\textbf{S}(\textbf{ω}_{i}^0)\textbf{R}_{i+1}^0+\textbf{R}_{i}^0\textbf{S}(\textbf{ω}_{i,i+1}^i)(\textbf{R}_i^0)^T\textbf{R}_{i+1}^0 S(ωi+10)Ri+10=S(ωi0)Ri+10+Ri0S(ωi,i+1i)(Ri0)TRi+10 S ( ω i + 1 0 ) = S ( ω i 0 ) + R i 0 S ( ω i , i + 1 i ) ( R i 0 ) T \textbf{S}(\textbf{ω}_{i+1}^0)=\textbf{S}(\textbf{ω}_{i}^0)+\textbf{R}_{i}^0\textbf{S}(\textbf{ω}_{i,i+1}^i)(\textbf{R}_i^0)^T S(ωi+10)=S(ωi0)+Ri0S(ωi,i+1i)(Ri0)T S ( ω i + 1 0 ) = S ( ω i 0 ) + S ( R i 0 ω i , i + 1 i ) \textbf{S}(\textbf{ω}_{i+1}^0)=\textbf{S}(\textbf{ω}_{i}^0)+\textbf{S}(\textbf{R}_{i}^0\textbf{ω}_{i,i+1}^i) S(ωi+10)=S(ωi0)+S(Ri0ωi,i+1i) S ( ω i + 1 0 ) = S ( ω i 0 ) + S ( ω i , i + 1 0 ) \textbf{S}(\textbf{ω}_{i+1}^0)=\textbf{S}(\textbf{ω}_{i}^0)+\textbf{S}(\textbf{ω}_{i,i+1}^0) S(ωi+10)=S(ωi0)+S(ωi,i+10) S ( ω i + 1 0 ) = S ( ω i 0 + ω i , i + 1 0 ) \textbf{S}(\textbf{ω}_{i+1}^0)=\textbf{S}(\textbf{ω}_{i}^0+\textbf{ω}_{i,i+1}^0) S(ωi+10)=S(ωi0+ωi,i+10)从而可以将连杆 i + 1 i+1 i+1的角速度表示为连杆 i i i的角速度以及连杆 i + 1 i+1 i+1关于连杆 i i i的角速度的函数: ω i + 1 0 = ω i 0 + ω i , i + 1 0 (3-4) \textbf{ω}_{i+1}^0=\textbf{ω}_{i}^0+\textbf{ω}_{i,i+1}^0\tag{3-4} ωi+10=ωi0+ωi,i+10(3-4)
3.3. 不同关节类型的连杆速度
对于移动关节
(i+1)
\textbf{(i+1)}
(i+1)而言,坐标系
i
+
1
i+1
i+1关于坐标系
i
i
i的方向不变,因此有
ω
i
,
i
+
1
0
=
0
\textbf{ω}_{i,i+1}^0=0
ωi,i+10=0
ω
i
+
1
0
=
ω
i
0
+
ω
i
,
i
+
1
0
=
ω
i
0
\textbf{ω}_{i+1}^0=\textbf{ω}_{i}^0+\textbf{ω}_{i,i+1}^0=\textbf{ω}_{i}^0
ωi+10=ωi0+ωi,i+10=ωi0进一步,线速度为
v
i
,
i
+
1
0
=
d
˙
i
+
1
z
i
+
1
\textbf{v}_{i,i+1}^0=\dot{d}_{i+1}\textbf{z}_{i+1}
vi,i+10=d˙i+1zi+1
v
i
+
1
0
=
v
i
0
+
ω
i
0
×
r
i
,
i
+
1
0
+
v
i
,
i
+
1
0
=
v
i
0
+
ω
i
0
×
r
i
,
i
+
1
0
+
d
˙
i
+
1
z
i
+
1
\begin{aligned} \textbf{v}_{i+1}^0&=\textbf{v}_i^0+\textbf{ω}_i^0\times\textbf{r}_{i,i+1}^0+\textbf{v}_{i,i+1}^0\\ &=\textbf{v}_i^0+\textbf{ω}_i^0\times\textbf{r}_{i,i+1}^0+\dot{d}_{i+1}\textbf{z}_{i+1}\\ \end{aligned}
vi+10=vi0+ωi0×ri,i+10+vi,i+10=vi0+ωi0×ri,i+10+d˙i+1zi+1
对于旋转关节
(i+1)
\textbf{(i+1)}
(i+1)而言,角速度满足以下关系
ω
i
,
i
+
1
0
=
θ
˙
i
+
1
z
i
+
1
\textbf{ω}_{i,i+1}^0=\dot{θ}_{i+1}\textbf{z}_{i+1}
ωi,i+10=θ˙i+1zi+1
ω
i
+
1
0
=
ω
i
0
+
ω
i
,
i
+
1
0
=
ω
i
0
+
θ
˙
i
+
1
z
i
+
1
\textbf{ω}_{i+1}^0=\textbf{ω}_{i}^0+\textbf{ω}_{i,i+1}^0=\textbf{ω}_{i}^0+\dot{θ}_{i+1}\textbf{z}_{i+1}
ωi+10=ωi0+ωi,i+10=ωi0+θ˙i+1zi+1关节
i
+
1
i+1
i+1的运动引起了坐标系
i
+
1
i+1
i+1相对于坐标系
i
i
i的旋转,但坐标系
i
+
1
i+1
i+1的原点相对于坐标系
i
i
i的原点并没有发生移动,移动速度为0,因此对于线速度有以下关系
v
i
,
i
+
1
0
=
0
\textbf{v}_{i,i+1}^0=0
vi,i+10=0
v
i
+
1
0
=
v
i
0
+
ω
i
0
×
r
i
,
i
+
1
0
\textbf{v}_{i+1}^0=\textbf{v}_i^0+\textbf{ω}_i^0\times\textbf{r}_{i,i+1}^0\\
vi+10=vi0+ωi0×ri,i+10
下文中在表示有关坐标系0时,将省略上标“0”.
综上,结合式(3-2),(3-3),可得到如下的速度表达式
ω
i
+
1
=
{
ω
i
+
θ
˙
i
+
1
z
i
+
1
,
if
J
i
+
1
is revolute
ω
i
,
if
J
i
+
1
is prismatic
(3-5)
\textbf{ω}_{i+1} = \begin{cases} \textbf{ω}_{i}+\dot{θ}_{i+1}\textbf{z}_{i+1}, & \text{if $J_{i+1}$ is revolute} \\ \textbf{ω}_{i}, & \text{if $J_{i+1}$ is prismatic} \end{cases}\tag{3-5}
ωi+1={ωi+θ˙i+1zi+1,ωi,if Ji+1 is revoluteif Ji+1 is prismatic(3-5)
v
i
+
1
=
{
v
i
+
ω
i
×
r
i
,
i
+
1
,
if
J
i
+
1
is revolute
v
i
+
ω
i
×
r
i
,
i
+
1
+
d
˙
i
+
1
z
i
+
1
,
if
J
i
+
1
is prismatic
(3-6)
\textbf{v}_{i+1} = \begin{cases} \textbf{v}_i+\textbf{ω}_{i}\times\textbf{r}_{i,i+1}, & \text{if $J_{i+1}$ is revolute} \\ \textbf{v}_i+\textbf{ω}_{i}\times\textbf{r}_{i,i+1}+\dot{d}_{i+1}\textbf{z}_{i+1}, & \text{if $J_{i+1}$ is prismatic} \end{cases}\tag{3-6}
vi+1={vi+ωi×ri,i+1,vi+ωi×ri,i+1+d˙i+1zi+1,if Ji+1 is revoluteif Ji+1 is prismatic(3-6)
对上述的速度表达式两边同时左乘
R
0
i
+
1
\textbf{R}_0^{i+1}
R0i+1,可推导出相邻坐标系之间的速度转换关系:
ω
i
+
1
i
+
1
=
{
R
i
i
+
1
ω
i
i
+
θ
˙
i
+
1
z
i
+
1
i
+
1
,
if
J
i
+
1
is revolute
R
i
i
+
1
ω
i
i
,
if
J
i
+
1
is prismatic
(3-7)
\textbf{ω}_{i+1}^{i+1} = \begin{cases} \textbf{R}_i^{i+1}\textbf{ω}_{i}^{i}+\dot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}, & \text{if $J_{i+1}$ is revolute} \\ \textbf{R}_i^{i+1}\textbf{ω}_{i}^{i}, & \text{if $J_{i+1}$ is prismatic} \end{cases}\tag{3-7}
ωi+1i+1={Rii+1ωii+θ˙i+1zi+1i+1,Rii+1ωii,if Ji+1 is revoluteif Ji+1 is prismatic(3-7)
v
i
+
1
i
+
1
=
{
R
i
i
+
1
(
v
i
i
+
ω
i
i
×
r
i
+
1
i
)
,
if
J
i
+
1
is revolute
R
i
i
+
1
(
v
i
i
+
ω
i
i
×
r
i
+
1
i
)
+
d
˙
i
+
1
z
i
+
1
i
+
1
,
if
J
i
+
1
is prismatic
(3-8)
\textbf{v}_{i+1}^{i+1} = \begin{cases} \textbf{R}_i^{i+1}(\textbf{v}_i^i+\textbf{ω}_{i}^i\times\textbf{r}_{i+1}^i), & \text{if $J_{i+1}$ is revolute} \\ \textbf{R}_i^{i+1}(\textbf{v}_i^i+\textbf{ω}_{i}^i\times\textbf{r}_{i+1}^i)+\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1}, & \text{if $J_{i+1}$ is prismatic} \end{cases}\tag{3-8}
vi+1i+1={Rii+1(vii+ωii×ri+1i),Rii+1(vii+ωii×ri+1i)+d˙i+1zi+1i+1,if Ji+1 is revoluteif Ji+1 is prismatic(3-8)
4. 连杆加速度
关节 i + 1 i+1 i+1是旋转关节, ω i + 1 i + 1 = R i i + 1 ω i i + θ ˙ i + 1 z i + 1 i + 1 \textbf{ω}_{i+1}^{i+1}=\textbf{R}_i^{i+1}\textbf{ω}_{i}^{i}+\dot{θ}_{i+1}\textbf{z}_{i+1}^{i+1} ωi+1i+1=Rii+1ωii+θ˙i+1zi+1i+1,求其关于时间的导数: ω ˙ i + 1 i + 1 = R i i + 1 ω ˙ i i + θ ¨ i + 1 z i + 1 i + 1 + θ ˙ i + 1 z ˙ i + 1 i + 1 = R i i + 1 ω ˙ i i + θ ¨ i + 1 z i + 1 i + 1 + θ ˙ i + 1 S ( ω i i + 1 ) z i + 1 i + 1 = R i i + 1 ω ˙ i i + θ ¨ i + 1 z i + 1 i + 1 + θ ˙ i + 1 ( R i i + 1 ω i i × z i + 1 i + 1 ) = R i i + 1 ω ˙ i i + θ ¨ i + 1 z i + 1 i + 1 + R i i + 1 ω i i × θ ˙ i + 1 z i + 1 i + 1 (4-1) \begin{aligned} \dot\textbf{ω}_{i+1}^{i+1 }&=\textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}+\ddot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}+\dot{θ}_{i+1}\dot\textbf{z}_{i+1}^{i+1}\\ &=\textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}+\ddot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}+\dot{θ}_{i+1}\textbf{S}(\textbf{ω}_{i}^{i+1})\textbf{z}_{i+1}^{i+1}\\ &=\textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}+\ddot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}+\dot{θ}_{i+1}(\textbf{R}_i^{i+1}\textbf{ω}_{i}^i\times\textbf{z}_{i+1}^{i+1})\\ &=\textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}+\ddot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}+\textbf{R}_i^{i+1}\textbf{ω}_{i}^i\times\dot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}\\ \end{aligned}\tag{4-1} ω˙i+1i+1=Rii+1ω˙ii+θ¨i+1zi+1i+1+θ˙i+1z˙i+1i+1=Rii+1ω˙ii+θ¨i+1zi+1i+1+θ˙i+1S(ωii+1)zi+1i+1=Rii+1ω˙ii+θ¨i+1zi+1i+1+θ˙i+1(Rii+1ωii×zi+1i+1)=Rii+1ω˙ii+θ¨i+1zi+1i+1+Rii+1ωii×θ˙i+1zi+1i+1(4-1)
关节 i + 1 i+1 i+1是旋转关节, v i + 1 i + 1 = R i i + 1 ( v i i + ω i i × r i + 1 i ) \textbf{v}_{i+1}^{i+1}=\textbf{R}_i^{i+1}(\textbf{v}_i^i+\textbf{ω}_{i}^i\times\textbf{r}_{i+1}^i) vi+1i+1=Rii+1(vii+ωii×ri+1i),求其关于时间的导数: v ˙ i + 1 i + 1 = R i i + 1 ( v ˙ i i + ω ˙ i i × r i + 1 i + ω i i × r ˙ i + 1 i ) = R i i + 1 ( v ˙ i i + ω ˙ i i × r i + 1 i + ω i i × S ( ω i i ) r i + 1 i ) = R i i + 1 ( v ˙ i i + ω ˙ i i × r i + 1 i + ω i i × ( ω i i × r i + 1 i ) ) (4-2) \begin{aligned} \dot\textbf{v}_{i+1}^{i+1}&=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times\dot\textbf{r}_{i+1}^{i})\\ &=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times\textbf{S}(\textbf{ω}_{i}^{i})\textbf{r}_{i+1}^{i})\\ &=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}))\\ \end{aligned}\tag{4-2} v˙i+1i+1=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×r˙i+1i)=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×S(ωii)ri+1i)=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(ωii×ri+1i))(4-2)
关节 i + 1 i+1 i+1是移动关节, ω i + 1 i + 1 = R i i + 1 ω i i \textbf{ω}_{i+1}^{i+1}=\textbf{R}_i^{i+1}\textbf{ω}_{i}^{i} ωi+1i+1=Rii+1ωii,求其关于时间的导数: ω ˙ i + 1 i + 1 = R i i + 1 ω ˙ i i (4-3) \dot\textbf{ω}_{i+1}^{i+1}=\textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}\tag{4-3} ω˙i+1i+1=Rii+1ω˙ii(4-3)
关节
i
+
1
i+1
i+1是移动关节,
v
i
+
1
i
+
1
=
R
i
i
+
1
(
v
i
i
+
ω
i
i
×
r
i
+
1
i
)
+
d
˙
i
+
1
z
i
+
1
i
+
1
\textbf{v}_{i+1}^{i+1}=\textbf{R}_i^{i+1}(\textbf{v}_i^i+\textbf{ω}_{i}^i\times\textbf{r}_{i+1}^i)+\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1}
vi+1i+1=Rii+1(vii+ωii×ri+1i)+d˙i+1zi+1i+1,求其关于时间的导数:
v
˙
i
+
1
i
+
1
=
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
r
˙
i
+
1
i
)
+
d
¨
i
+
1
z
i
+
1
i
+
1
+
d
˙
i
+
1
z
˙
i
+
1
i
+
1
=
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
(
S
(
ω
i
i
)
r
i
+
1
i
+
d
˙
i
+
1
z
i
+
1
i
)
)
+
d
¨
i
+
1
z
i
+
1
i
+
1
+
d
˙
i
+
1
(
S
(
ω
i
i
+
1
)
z
i
+
1
i
+
1
)
=
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
(
ω
i
i
×
r
i
+
1
i
)
)
+
R
i
i
+
1
(
ω
i
i
×
d
˙
i
+
1
z
i
+
1
i
+
1
)
+
d
¨
i
+
1
z
i
+
1
i
+
1
+
d
˙
i
+
1
(
R
i
i
+
1
ω
i
i
×
z
i
+
1
i
+
1
)
=
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
(
ω
i
i
×
r
i
+
1
i
)
)
+
(
ω
i
+
1
i
+
1
×
d
˙
i
+
1
z
i
+
1
i
+
1
)
+
d
¨
i
+
1
z
i
+
1
i
+
1
+
(
ω
i
+
1
i
+
1
×
d
˙
i
+
1
z
i
+
1
i
+
1
)
=
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
(
ω
i
i
×
r
i
+
1
i
)
)
+
d
¨
i
+
1
z
i
+
1
i
+
1
+
2
ω
i
+
1
i
+
1
×
d
˙
i
+
1
z
i
+
1
i
+
1
(4-4)
\begin{aligned} \dot\textbf{v}_{i+1}^{i+1}&=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times\dot\textbf{r}_{i+1}^{i})+\ddot{d}_{i+1}\textbf{z}_{i+1}^{i+1}+\dot{d}_{i+1}\dot\textbf{z}_{i+1}^{i+1}\\ &=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{S}(\textbf{ω}_{i}^{i})\textbf{r}_{i+1}^{i}+\dot{d}_{i+1}\textbf{z}_{i+1}^{i} ))+\ddot{d}_{i+1}\textbf{z}_{i+1}^{i+1}+\dot{d}_{i+1}(\textbf{S}(\textbf{ω}_{i}^{i+1})\textbf{z}_{i+1}^{i+1})\\ &=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}))+\textbf{R}_i^{i+1}(\textbf{ω}_i^i\times\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1})+\ddot{d}_{i+1}\textbf{z}_{i+1}^{i+1}+\dot{d}_{i+1}(\textbf{R}_i^{i+1}\textbf{ω}_{i}^i\times\textbf{z}_{i+1}^{i+1})\\ &=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}))+(\textbf{ω}_{i+1}^{i+1}\times\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1})+\ddot{d}_{i+1}\textbf{z}_{i+1}^{i+1}+(\textbf{ω}_{i+1}^{i+1}\times\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1})\\ &=\textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}))+\ddot{d}_{i+1}\textbf{z}_{i+1}^{i+1}+2\textbf{ω}_{i+1}^{i+1}\times\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1}\\ \end{aligned}\tag{4-4}
v˙i+1i+1=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×r˙i+1i)+d¨i+1zi+1i+1+d˙i+1z˙i+1i+1=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(S(ωii)ri+1i+d˙i+1zi+1i))+d¨i+1zi+1i+1+d˙i+1(S(ωii+1)zi+1i+1)=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(ωii×ri+1i))+Rii+1(ωii×d˙i+1zi+1i+1)+d¨i+1zi+1i+1+d˙i+1(Rii+1ωii×zi+1i+1)=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(ωii×ri+1i))+(ωi+1i+1×d˙i+1zi+1i+1)+d¨i+1zi+1i+1+(ωi+1i+1×d˙i+1zi+1i+1)=Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(ωii×ri+1i))+d¨i+1zi+1i+1+2ωi+1i+1×d˙i+1zi+1i+1(4-4)
综上,可得到如下的加速度表达式
ω
˙
i
+
1
i
+
1
=
{
R
i
i
+
1
ω
˙
i
i
+
θ
¨
i
+
1
z
i
+
1
i
+
1
+
R
i
i
+
1
ω
i
i
×
θ
˙
i
+
1
z
i
+
1
i
+
1
,
if
J
i
+
1
is revolute
R
i
i
+
1
ω
˙
i
i
,
if
J
i
+
1
is prismatic
\dot\textbf{ω}_{i+1}^{i+1} = \begin{cases} \textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}+\ddot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}+\textbf{R}_i^{i+1}\textbf{ω}_{i}^i\times\dot{θ}_{i+1}\textbf{z}_{i+1}^{i+1}, & \text{if $J_{i+1}$ is revolute} \\ \textbf{R}_i^{i+1}\dot\textbf{ω}_{i}^{i}, & \text{if $J_{i+1}$ is prismatic} \end{cases}
ω˙i+1i+1={Rii+1ω˙ii+θ¨i+1zi+1i+1+Rii+1ωii×θ˙i+1zi+1i+1,Rii+1ω˙ii,if Ji+1 is revoluteif Ji+1 is prismatic
v
˙
i
+
1
i
+
1
=
{
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
(
ω
i
i
×
r
i
+
1
i
)
)
,
if
J
i
+
1
is revolute
R
i
i
+
1
(
v
˙
i
i
+
ω
˙
i
i
×
r
i
+
1
i
+
ω
i
i
×
(
ω
i
i
×
r
i
+
1
i
)
)
+
d
¨
i
+
1
z
i
+
1
i
+
1
+
2
ω
i
+
1
i
+
1
×
d
˙
i
+
1
z
i
+
1
i
+
1
,
if
J
i
+
1
is prismatic
\dot\textbf{v}_{i+1}^{i+1} = \begin{cases} \textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i})), & \text{if $J_{i+1}$ is revolute} \\ \textbf{R}_i^{i+1}(\dot\textbf{v}_{i}^{i}+\dot\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}+\textbf{ω}_{i}^{i}\times(\textbf{ω}_{i}^{i}\times\textbf{r}_{i+1}^{i}))+\ddot{d}_{i+1}\textbf{z}_{i+1}^{i+1}+2\textbf{ω}_{i+1}^{i+1}\times\dot{d}_{i+1}\textbf{z}_{i+1}^{i+1}, & \text{if $J_{i+1}$ is prismatic} \end{cases}
v˙i+1i+1={Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(ωii×ri+1i)),Rii+1(v˙ii+ω˙ii×ri+1i+ωii×(ωii×ri+1i))+d¨i+1zi+1i+1+2ωi+1i+1×d˙i+1zi+1i+1,if Ji+1 is revoluteif Ji+1 is prismatic