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)=0azayaz0axayax0反对称矩阵具有以下几个性质:

  1. 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,bR3
  2. 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×pa,pR3
  3. 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)aR3RSO(3)
  4. X T SX = 0 , X ∈ R n \textbf{X}^T\textbf{S}\textbf{X}=0,\textbf{X}\in{\textbf{R}^n} XTSX=0XRn

习惯上使用符号 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)} RSO(n),以下性质成立:

  • R T = R − 1 ∈ S O ( n ) \bf{R}^T=\textbf{R}^{-1}\in{SO(n)} RT=R1SO(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

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐