读懂,理解,分析刚体三维运动,李群李代数,旋量,螺旋理论的意义和关系

刚体三维运动,李群李代数,旋量,螺旋理论

纯旋转运动

引出so(3)

定义旋转矩阵 R ∈ R 3 × 3 R\in\mathbb{R}^{3\times3} RR3×3,满足 R ˙ = ω s × R \dot{R}= \omega_{s} \times R R˙=ωs×R ω s \omega_{s} ωs表示相对于固定坐标系 s {s} s的角速度, R ˙ \dot{R} R˙为姿态变换矩阵 R R R随时间的变化率。

将叉乘转换为矩阵乘法,定义反对称矩阵 [ ω s ] = [ 0 − ω s 3 ω s 2 ω s 3 0 − ω s 1 − ω s 2 ω s 1 0 ] [\omega_{s}]=\left[\begin{array}{rrr}0 & -\omega_{s3} & \omega_{s2} \\ \omega_{s3} & 0 & -\omega_{s1} \\ -\omega_{s2} & \omega_{s1} & 0\end{array}\right] [ωs]= 0ωs3ωs2ωs30ωs1ωs2ωs10 ,则原式表示为

R ˙ = [ ω s ] R \dot{R}= [\omega_{s}] R R˙=[ωs]R
则固定坐标系下 [ ω s ] = R ˙ R − 1 [\omega_{s}] = \dot{R}R^{-1} [ωs]=R˙R1,同样的物体坐标系下 [ ω b ] = R − 1 R ˙ [\omega_{b}] = R^{-1}\dot{R} [ωb]=R1R˙,定义这样的反对称矩阵 [ ω s ] [\omega_{s}] [ωs] [ ω b ] [\omega_{b}] [ωb]为李代数(有的书把三维向量定义为李代数)

这里说明的是旋转矩阵的性质,可利用其这条性质将一个旋转矩阵用一个三维向量表示

R ˙ = [ ω s ] R \dot{R}= [\omega_{s}] R R˙=[ωs]R可解出 R = e [ ω s ] t R = e^{[\omega_{s}]t} R=e[ωs]t,假设转动角度为 θ \theta θ,则时间 t = θ / ∣ ω s ∣ t=\theta/|\omega_{s}| t=θ/∣ωs,因此得到
R = e [ ω s ] / ∣ ω s ∣ θ R = e^{[\omega_{s}]/|\omega_{s}|\theta} R=e[ωs]/∣ωsθ
R = e [ ω s ^ ] θ R = e^{[\hat{\omega_s}] \theta} R=e[ωs^]θ
其中 ω s ^ \hat{\omega_s} ωs^为单位角速度即单位转轴向量,这也从另一个角度证明了,旋转矩阵可通过一个转轴和一个角度来表示。
R = e [ ω s ^ ] θ = I + sin ⁡ θ [ ω ^ ] + ( 1 − cos ⁡ θ ) [ ω ^ ] 2 ∈ S O ( 3 ) R = e^{[\hat{\omega_{s}}] \theta}=I+\sin \theta[\hat{\omega}]+(1-\cos \theta)[\hat{\omega}]^2 \in S O(3) R=e[ωs^]θ=I+sinθ[ω^]+(1cosθ)[ω^]2SO(3)
以上便是罗德里格斯公式,其连接了 s o ( 3 ) so(3) so(3) S O ( 3 ) SO(3) SO(3)

若已知 S O ( 3 ) SO(3) SO(3) s o ( 3 ) so(3) so(3)
[ ω ^ ] = 1 2 sin ⁡ θ ( R − R T ) [\hat{\omega}]=\frac{1}{2 \sin \theta}\left(R-R^{\mathrm{T}}\right) [ω^]=2sinθ1(RRT)
θ = a r c c o s ( t r ( R ) − 1 2 ) \theta=arccos(\frac{tr(R)-1}{2}) θ=arccos(2tr(R)1)
以上说明了如何用一个 s o ( 3 ) so(3) so(3)来表示刚体空间旋转 ω ^ θ \hat{\omega} \theta ω^θ为旋转矩阵 R R R的指数坐标, [ ω ^ ] θ [\hat{\omega}]\theta [ω^]θ R R R的矩阵对数。

整个流程就是,先发现了旋转矩阵与角速度之间的关系,之后角速度转化为一个方向和一个转角,从而求出微分方程的解。

空间刚体运动

引出se(3)

定义空间刚体变化矩阵 T = [ R p 0 1 ] T=\begin{bmatrix} R & p \\ 0 & 1 \end{bmatrix} T=[R0p1] T − 1 = [ R T − R T p 0 1 ] T^{-1}=\begin{bmatrix} R^T & -R^Tp \\ 0 & 1 \end{bmatrix} T1=[RT0RTp1],猜测 T T T是不是也跟 R R R一样有上述性质?没错,真是
T − 1 T ˙ = [ R T R ˙ R T p ˙ 0 0 ] = [ [ ω b ] v b 0 0 ] T^{-1} \dot{T}=\begin{bmatrix} R^T \dot{R} & R^T \dot{p} \\ 0 & 0 \end{bmatrix}=\begin{bmatrix} [\omega_b] & v_b \\ 0 & 0 \end{bmatrix} T1T˙=[RTR˙0RTp˙0]=[[ωb]0vb0]
定义物体运动旋量 V b = [ ω b v b ] ∈ R 6 \mathcal{V}_b=\left[\begin{array}{l}\omega_b \\ v_b\end{array}\right] \in \mathbb{R}^6 Vb=[ωbvb]R6,其中 ω b \omega_b ωb为物体坐标系 { b } \{b\} {b} { b } \{b\} {b}瞬间原点的角速度, v b v_b vb为物体坐标系 { b } \{b\} {b}下瞬间 { b } \{b\} {b}原点的线速度。定义 [ V ] = [ [ ω b ] v b 0 0 ] ∈ s e ( 3 ) [\mathcal{V}] =\begin{bmatrix} [\omega_b] & v_b \\ 0 & 0 \end{bmatrix}\in se(3) [V]=[[ωb]0vb0]se(3)
同理定义空间运动旋量 V s = [ ω s v s ] ∈ R 6 \mathcal{V}_s=\left[\begin{array}{l}\omega_s \\ v_s\end{array}\right] \in \mathbb{R}^6 Vs=[ωsvs]R6,注意这点有所不同, ω \omega ω几何意义为 { s } \{s\} {s}坐标系下角速度,但 v b v_b vb其几何意义为假设刚体无限大, { s } \{s\} {s}坐标系下刚体上与 { s } \{s\} {s}原点重合处的线速度,非 { b } \{b\} {b}原点的线速度(因为 T − 1 T^{-1} T1的位移部分不只是 − p -p p).

不同坐标系之间的旋量转换

V s = [ ω s v s ] = [ R 0 [ p ] R R ] [ ω b v b ] = [ Ad ⁡ T s b ] V b \mathcal{V}_s=\left[\begin{array}{c}\omega_s \\ v_s\end{array}\right]=\left[\begin{array}{cc}R & 0 \\ {[p] R} & R\end{array}\right]\left[\begin{array}{l}\omega_b \\ v_b\end{array}\right]=\left[\operatorname{Ad}_{T_{s b}}\right] \mathcal{V}_b Vs=[ωsvs]=[R[p]R0R][ωbvb]=[AdTsb]Vb
定义 [ Ad ⁡ T s b ] [\operatorname{Ad}_{T_{s b}}] [AdTsb] T s b T_{sb} Tsb的伴随映射,其建立了不同坐标系之间的旋量变换关系。

用螺旋运动来表示刚体运动

空间旋转可以通过一个轴和一个角度来表示,是否刚体运动也可以?没错,真可以

查尔斯理论:任意一个刚体运动都可以表示为绕空间一个螺旋轴的螺旋运动。(绕轴旋转+沿轴移动)

利用螺旋运动来表示刚体运动,定义 S = [ ω , v ] T \mathcal{S}=[\omega, v]^T S=[ω,v]T,螺旋轴为正交化的运动旋量

当包含旋转运动时 S s = V s / ∥ ω s ∥ = ( ω s / ∥ ω s ∥ , v s / ∥ ω s ∥ ) \mathcal{S_s}=\mathcal{V_s} /\|\omega_s\|=(\omega_s /\|\omega_s\|, v _s/\|\omega_s\|) Ss=Vs/∥ωs=(ωs/∥ωs,vs/∥ωs) ∣ ∣ ω ∣ ∣ = 1 ||\omega||=1 ∣∣ω∣∣=1

当为纯移动时, S s = V s / ∥ v s ∥ = ( 0 , v s / ∥ v s ∥ ) \mathcal{S_s}=\mathcal{V_s} /\|v_s\|=(0, v _s/\|v_s\|) Ss=Vs/∥vs=(0,vs/∥vs) ω = 0 , ∣ ∣ v ∣ ∣ = 1 \omega=0, ||v||=1 ω=0,∣∣v∣∣=1.

重新定义螺旋轴
[ S ] = [ [ ω ] v 0 0 ] ∈ se ⁡ ( 3 ) [\mathcal{S}]=\left[\begin{array}{cc}{[\omega]} & v \\ 0 & 0\end{array}\right] \in \operatorname{se}(3) [S]=[[ω]0v0]se(3)
v = − ω × q + h ω v = -\omega\times q + h\omega v=ω×q+
q q q为轴上一点, h h h为节距,当为纯转动时 h = 0 h=0 h=0

进而空间刚体运动 T T T的指数坐标可表示为 S θ \mathcal{S}\theta Sθ S \mathcal{S} S为螺旋轴, θ \theta θ为转动的角度,当只有移动时为移动的距离。

参考旋转运动的推导,因此
T = e S θ = [ e [ ω ] θ ( I θ + ( 1 − cos ⁡ θ ) [ ω ] + ( θ − sin ⁡ θ ) [ ω ] 2 ) ν 0 1 ] T=e^{\mathcal{S}\theta}=\left[\begin{array}{cc}e^{[\omega] \theta} & \left(I \theta+(1-\cos \theta)[\omega]+(\theta-\sin \theta)[\omega]^2\right) \nu \\ 0 & 1\end{array}\right] T=eSθ=[e[ω]θ0(Iθ+(1cosθ)[ω]+(θsinθ)[ω]2)ν1]
当为纯移动时
T = e S θ = [ I v θ 0 1 ] T=e^{\mathcal{S}\theta}=\left[\begin{array}{cc}I & v \theta \\ 0 & 1\end{array}\right] T=eSθ=[I0vθ1]

旋量物理意义分析
  1. 旋量就是线速度和角速度
  2. 螺旋轴就是正交后的旋量(分为纯移动和带有旋转两种情况)

从整个过程来看,先是发现刚体变换矩阵满足一个特殊的微分方程,可通过速度建立联系,然后为了解微分方程,换算为方向和角度。

方便理解附上例题(引用自图书:现代机器人学)
例题一

在这里插入图片描述
在这里插入图片描述
思考 v s v_s vs v b v_b vb的大小和正负,注意 v s v_s vs { s } \{s\} {s}坐标系下 v b v_b vb上与 { s } \{s\} {s}原点重合处的线速度。

例题二

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值