1.引言:我们为什么要用到特殊欧式群SE(3)描述刚体运动?
我们知道在欧式三维空间中一个物体没有约束有三个旋转自由度和三个平动自由度。为了描述一个可动构件相对另一个固定管构件能够有哪些自由度,本质就是寻找可动构件上附带的动坐标系想固定构件上附带的定坐标系之间的姿态变换。这时候就可以引入特殊欧式群SE(3)SE(3)SE(3)进行统一的描述,利用群理论描述运动学就变得统一和简化,它具有一套规整的计算规则,可以非常方便直观地利用矩阵方式计算两个坐标系之间的相对位置和姿态。
2.特殊欧式群SE(3)的定义
特殊欧式群SE(3)SE(3)SE(3)(S是special的意思,所以是特殊欧式群)是线性矩阵群GL(4,R)={R4×4∣det(R)≠0}GL(4,\R)=\{\R^{4\times4}|det(R)\neq0\}GL(4,R)={R4×4∣det(R)=0}的封闭子群,作为矩阵李群,SE(3)SE(3)SE(3)首先代表一种齐次坐标变换,可以代表某种刚体运动的集合,假设在R3\R^3R3欧式空间中所有的点坐标都是用齐次坐标表示的,刚体运动可以表示为一个动坐标系MMM相对一个定坐标系FFF的相对位置和姿态的变化,而SE(3)SE(3)SE(3)可以表示为
SE(3)={[RP01] ∣ P∈R3,R∈SO(3)}SE(3)=\left\{ \begin{bmatrix} \mathbf{R} & \mathbf{P}\\ \mathbf{0} & 1 \end{bmatrix}\,|\,\mathbf{P}\in\R^3,\mathbf{R}\in SO(3)\right\}SE(3)={[R0P1]∣P∈R3,R∈SO(3)}
式中的P\mathbf{P}P表示动坐标系MMM的原点相对于定坐标系FFF原点的相对位置,而R\mathbf{R}R表示动坐标系MMM相对定坐标系FFF的相对姿态。R\mathbf{R}R称为旋转子群,其数学定义为:
SO(3)={R∈R3×3 ∣ RTR=I,det(R)=1}SO(3)=\left\{\mathbf{R}\in\R^{3\times3}\,|\,\mathbf{R}^T\mathbf{R}=\mathbf{I},det(\mathbf{R})=1\right\}SO(3)={R∈R3×3∣RTR=I,det(R)=1}
3.SE(3)SE(3)SE(3)子群的齐次矩阵表示及其释义
3.1 T(v)\mathbf{T}(\mathbf{v})T(v):沿方向v\mathbf{v}v的平移
T(v)={[Iav01]∣ a∈R}\mathbf{T}(\mathbf{v})=\left\{ \begin{bmatrix} \mathbf{I} & a\mathbf{v}\\ \mathbf{0} & 1 \end{bmatrix}|\,a\in\R\right\}T(v)={[I0av1]∣a∈R}
表示沿方向v\mathbf{v}v的平移。
3.2R(P,ω)\mathbf{R}(\mathbf{P},\mathbf{\omega})R(P,ω):沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)转动
R(P,ω)={[eω^θ(I−eω^θ)P01]∣ θ∈[0,2π],P∈R3}\mathbf{R}(\mathbf{P},\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & (\mathbf{I}-e^{\hat{\mathbf{\omega}}\theta})\mathbf{P}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{P}\in\R^3\right\}R(P,ω)={[eω^θ0(I−eω^θ)P1]∣θ∈[0,2π],P∈R3}
表示沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)转动。
3.3 Hρ(P,ω)\mathbf{H}_\rho(\mathbf{P},\mathbf{\omega})Hρ(P,ω):沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)且节距为ρ\rhoρ的螺旋转动
Hρ(P,ω)={[eω^θ(I−eω^θ)P+ρωθ01]∣ θ∈[0,2π],P∈R3}\mathbf{H}_\rho(\mathbf{P},\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & (\mathbf{I}-e^{\hat{\mathbf{\omega}}\theta})\mathbf{P}+\rho\mathbf{\omega}\theta\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{P}\in\R^3\right\}Hρ(P,ω)={[eω^θ0(I−eω^θ)P+ρωθ1]∣θ∈[0,2π],P∈R3}
表示沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)且节距为ρ\rhoρ的螺旋转动。
3.4 T2(ω)\mathbf{T}_2(\mathbf{\omega})T2(ω):垂直于ω\mathbf{\omega}ω的平面移动
T2(ω)={[Iax+by01]∣ a,b∈R}\mathbf{T}_2(\mathbf{\omega})=\left\{ \begin{bmatrix} \mathbf{I} & a\mathbf{x}+b\mathbf{y}\\ \mathbf{0} & 1 \end{bmatrix}|\,a,b\in\R\right\}T2(ω)={[I0ax+by1]∣a,b∈R}
这里x\mathbf{x}x和y\mathbf{y}y应该是垂直于ω\mathbf{\omega}ω的平面的任意两个不平行的矢量。
表示垂直于ω\mathbf{\omega}ω的平面移动
3.5 C(P,ω)\mathbf{C}(\mathbf{P},\mathbf{\omega})C(P,ω):沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)的圆柱运动
C(P,ω)={[eω^θ(I−eω^θ)P+aω01]∣ θ∈[0,2π],P∈R3,a∈R}\mathbf{C}(\mathbf{P},\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & (\mathbf{I}-e^{\hat{\mathbf{\omega}}\theta})\mathbf{P}+a\mathbf{\omega}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{P}\in\R^3,a\in\R\right\}C(P,ω)={[eω^θ0(I−eω^θ)P+aω1]∣θ∈[0,2π],P∈R3,a∈R}
表示沿轴(P,ω)(\mathbf{P},\mathbf{\omega})(P,ω)的圆柱运动。
3.6 T(3)\mathbf{T}(3)T(3):三维移动
T(3)={[IQ01]∣ Q∈R3}\mathbf{T}(3)=\left\{ \begin{bmatrix} \mathbf{I} & \mathbf{Q}\\ \mathbf{0} & 1 \end{bmatrix}|\,\mathbf{Q}\in\R^3\right\}T(3)={[I0Q1]∣Q∈R3}
表示三维移动。
3.7 G(ω)\mathbf{G}(\mathbf{\omega})G(ω):垂直于ω\mathbf{\omega}ω的平面运动
G(ω)={[eω^θax+by01]∣ θ∈[0,2π],a,b∈R}\mathbf{G}(\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & a\mathbf{x}+b\mathbf{y}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],a,b\in\R\right\}G(ω)={[eω^θ0ax+by1]∣θ∈[0,2π],a,b∈R}
这里x\mathbf{x}x和y\mathbf{y}y应该是垂直于ω\mathbf{\omega}ω的平面的任意两个不平行的矢量。
表示垂直于ω\mathbf{\omega}ω的平面运动。
3.8 S(P)\mathbf{S}(\mathbf{P})S(P):绕点P\mathbf{P}P的三维转动
S(P)={[R(I−R)P01]∣ R∈SO(3),P∈R3}\mathbf{S}(\mathbf{P})=\left\{ \begin{bmatrix} \mathbf{R} & (\mathbf{I}-\mathbf{R})\mathbf{P}\\ \mathbf{0} & 1 \end{bmatrix}|\,\mathbf{R}\in SO(3), \mathbf{P}\in\R^3\right\}S(P)={[R0(I−R)P1]∣R∈SO(3),P∈R3}
表示绕点P\mathbf{P}P的三维转动。
3.9 Yρ(ω)\mathbf{Y}_\rho(\mathbf{\omega})Yρ(ω):垂直于ω\mathbf{\omega}ω的平面且节距为ρ\rhoρ的螺旋运动
Yρ(ω)={[eω^θax+by+ρωθ01]∣ θ∈[0,2π],a,b∈R}\mathbf{Y}_\rho(\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta} & a\mathbf{x}+b\mathbf{y}+\rho\mathbf{\omega}\theta\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],a,b\in\R\right\}Yρ(ω)={[eω^θ0ax+by+ρωθ1]∣θ∈[0,2π],a,b∈R}
表示垂直于ω\mathbf{\omega}ω的平面且节距为ρ\rhoρ的螺旋运动
3.10 X(ω)\mathbf{X}(\mathbf{\omega})X(ω):三维移动和ω\mathbf{\omega}ω方向转动
X(ω)={[eω^θQ01]∣ θ∈[0,2π],Q∈R3}\mathbf{X}(\mathbf{\omega})=\left\{ \begin{bmatrix} e^{\hat{\mathbf{\omega}}\theta}& \mathbf{Q}\\ \mathbf{0} & 1 \end{bmatrix}|\,\theta\in[0,2\pi],\mathbf{Q}\in\R^3\right\}X(ω)={[eω^θ0Q1]∣θ∈[0,2π],Q∈R3}
表示三维移动和ω\mathbf{\omega}ω方向转动。
4.其他
在刚体运动的集合中。除了存在具备群结构的运动之外,还存在众多不封闭的非群结构的运动,比如五轴机床的五自由度运动。两转动副组成的运动链的末端运动,万向节运动等等,都不是李群运动,这些运动的特点是不能沿着固定坐标轴运动,因此也称为不封闭的非群运动。数学上这类不具备群结构的运动可以用SE(3)SE(3)SE(3)的规则子流形来描述,这也是机构学界的研究热点和难点。
参考资料
[1]邓宗全.空间折展机构设计[M].第一版.哈尔滨工业大学出版社.2013:32-33