扰动_求导_积分

6 篇文章 1 订阅

0.引言

经常查,总结一下。推导看原论文。

1.旋转的加减算子

S = R ⊕ θ ≜ R ∘ Exp ⁡ ( θ ) R , S ∈ S O ( 3 ) , θ ∈ R 3 \mathrm{S}=\mathrm{R} \oplus \boldsymbol{\theta} \triangleq \mathrm{R} \circ \operatorname{Exp}(\boldsymbol{\theta}) \quad \mathrm{R}, \mathrm{S} \in S O(3), \boldsymbol{\theta} \in \mathbb{R}^{3} S=RθRExp(θ)R,SSO(3),θR3 q S = q R ⊕ θ = q R ⊗ Exp ⁡ ( θ ) R S = R R ⊕ θ = R R ⋅ Exp ⁡ ( θ ) .  \begin{aligned} &\mathrm{q}_{\mathrm{S}}=\mathrm{q}_{\mathrm{R}} \oplus \boldsymbol{\theta}=\mathrm{q}_{\mathrm{R}} \otimes \operatorname{Exp}(\boldsymbol{\theta})\\ &\mathbf{R}_{\mathrm{S}}=\mathbf{R}_{\mathrm{R}} \oplus \boldsymbol{\theta}=\mathbf{R}_{\mathrm{R}} \cdot \operatorname{Exp}(\boldsymbol{\theta}) \text {. } \end{aligned} qS=qRθ=qRExp(θ)RS=RRθ=RRExp(θ)


θ = S ⊖ R ≜ log ⁡ ( R − 1 ∘ S ) R , S ∈ S O ( 3 ) , θ ∈ R 3 \boldsymbol{\theta}=\mathrm{S} \ominus \mathrm{R} \triangleq \log \left(\mathrm{R}^{-1} \circ \mathrm{S}\right) \quad \mathrm{R}, \mathrm{S} \in S O(3), \boldsymbol{\theta} \in \mathbb{R}^{3} θ=SRlog(R1S)R,SSO(3),θR3 θ = q S ⊖ q R = log ⁡ ( q R ∗ ⊗ q S ) θ = R S ⊖ R R = log ⁡ ( R R ⊤ R S ) \begin{aligned} &\boldsymbol{\theta}=\mathbf{q}_{\mathrm{S}} \ominus \mathbf{q}_{\mathrm{R}}=\log \left(\mathbf{q}_{\mathrm{R}}^{*} \otimes \mathbf{q}_{\mathrm{S}}\right) \\ &\boldsymbol{\theta}=\mathbf{R}_{\mathrm{S}} \ominus \mathbf{R}_{\mathrm{R}}=\log \left(\mathbf{R}_{\mathrm{R}}^{\top} \mathbf{R}_{\mathrm{S}}\right) \end{aligned} θ=qSqR=log(qRqS)θ=RSRR=log(RRRS)

2.旋转的雅克比矩阵

2.1.对向量求导(被旋转的向量)

∂ ( q ⊗ a ⊗ q ∗ ) ∂ a = ∂ ( R a ) ∂ a = R \frac{\partial(\mathbf{q} \otimes \mathbf{a} \otimes \mathbf{q} *)}{\partial \mathbf{a}}=\frac{\partial(\mathbf{R} \mathbf{a})}{\partial \mathbf{a}}=\mathbf{R} a(qaq)=a(Ra)=R

2.2.对四元数求导

∂ ( q ⊗ a ⊗ q ∗ ) ∂ q = 2 [ w a + v × a ∣ v ⊤ a I 3 + v a ⊤ − a ⊤ − w [ a ] × ] ∈ R 3 × 4 \frac{\partial(\mathbf{q} \otimes \mathbf{a} \otimes \mathbf{q} *)}{\partial \mathbf{q}}=2\left[w \mathbf{a}+\mathbf{v} \times \mathbf{a} \mid \mathbf{v}^{\top} \mathbf{a} \mathbf{I}_{3}+\mathbf{v} \mathbf{a}^{\top}-\mathbf{a}^{\top}-w[\mathbf{a}]_{\times}\right] \in \mathbb{R}^{3 \times 4} q(qaq)=2[wa+v×avaI3+vaaw[a]×]R3×4

2.3.对旋转向量求导

  • SO(3)的右雅克比(十四讲上面使用的是左雅克比)

J r ( θ ) = I − 1 − cos ⁡ ∥ θ ∥ ∥ θ ∥ 2 [ θ ] × + ∥ θ ∥ − sin ⁡ ∥ θ ∥ ∥ θ ∥ 3 [ θ ] × 2 J r − 1 ( θ ) = I + 1 2 [ θ ] × + ( 1 ∥ θ ∥ 2 − 1 + cos ⁡ ∥ θ ∥ 2 ∥ θ ∥ sin ⁡ ∥ θ ∥ ) [ θ ] × 2 \begin{aligned} \mathbf{J}_{r}(\boldsymbol{\theta}) &=\mathbf{I}-\frac{1-\cos \|\boldsymbol{\theta}\|}{\|\boldsymbol{\theta}\|^{2}}[\boldsymbol{\theta}]_{\times}+\frac{\|\boldsymbol{\theta}\|-\sin \|\boldsymbol{\theta}\|}{\|\boldsymbol{\theta}\|^{3}}[\boldsymbol{\theta}]_{\times}^{2} \\ \mathbf{J}_{r}^{-1}(\boldsymbol{\theta}) &=\mathbf{I}+\frac{1}{2}[\boldsymbol{\theta}]_{\times}+\left(\frac{1}{\|\boldsymbol{\theta}\|^{2}}-\frac{1+\cos \|\boldsymbol{\theta}\|}{2\|\boldsymbol{\theta}\| \sin \|\boldsymbol{\theta}\|}\right)[\boldsymbol{\theta}]_{\times}^{2} \end{aligned} Jr(θ)Jr1(θ)=Iθ21cosθ[θ]×+θ3θsinθ[θ]×2=I+21[θ]×+(θ212θsinθ1+cosθ)[θ]×2

  • 对旋转向量的雅克比

∂ ( q ⊗ a ⊗ q ∗ ) ∂ δ θ = ∂ ( R a ) ∂ δ θ = − R { θ } [ a ] × J r ( θ ) \frac{\partial\left(\mathbf{q} \otimes \mathbf{a} \otimes \mathbf{q}^{*}\right)}{\partial \delta \boldsymbol{\theta}}=\frac{\partial(\mathbf{R} \mathbf{a})}{\partial \delta \boldsymbol{\theta}}=-\mathbf{R}\{\boldsymbol{\theta}\}[\mathbf{a}]_{\times} \mathbf{J}_{r}(\boldsymbol{\theta}) δθ(qaq)=δθ(Ra)=R{θ}[a]×Jr(θ)

3.旋转对时间的导数

3.1.扰动

扰动,使用 Hamilton convention, 右乘(十四讲使用的左乘,左扰动模型):

q ~ = q ⊗ Δ q L , R ~ = R Δ R L \tilde{\mathbf{q}}=\mathbf{q} \otimes \Delta \mathbf{q}_{\mathcal{L}}, \quad \tilde{\mathbf{R}}=\mathbf{R} \Delta \mathbf{R}_{\mathcal{L}} q~=qΔqL,R~=RΔRL q ~ L = q L ⊗ Exp ⁡ ( Δ ϕ L ) , R ~ L = R L ⋅ Exp ⁡ ( Δ ϕ L ) \tilde{\mathbf{q}}_{\mathcal{L}}=\mathbf{q}_{\mathcal{L}} \otimes \operatorname{Exp}\left(\Delta \phi_{\mathcal{L}}\right), \quad \tilde{\mathbf{R}}_{\mathcal{L}}=\mathbf{R}_{\mathcal{L}} \cdot \operatorname{Exp}\left(\Delta \phi_{\mathcal{L}}\right) q~L=qLExp(ΔϕL),R~L=RLExp(ΔϕL)

若扰动为小量,则(指数映射的近似):

Δ q L ≈ [ 1 1 2 Δ ϕ L ] , Δ R L ≈ I + [ Δ ϕ L ] × \Delta \mathbf{q}_{\mathcal{L}} \approx\left[\begin{array}{c} 1 \\ \frac{1}{2} \Delta \phi_{\mathcal{L}} \end{array}\right], \quad \Delta \mathbf{R}_{\mathcal{L}} \approx \mathbf{I}+\left[\Delta \phi_{\mathcal{L}}\right]_{\times} ΔqL[121ΔϕL],ΔRLI+[ΔϕL]×

3.2.旋转对时间的导数

与角速度对应:
q ˙ ≜ lim ⁡ Δ t → 0 q ( t + Δ t ) − q ( t ) Δ t = lim ⁡ Δ t → 0 q ⊗ Δ q L − q Δ t = lim ⁡ Δ t → 0 q ⊗ ( [ 1 Δ ϕ L / 2 ] − [ 1 0 ] ) Δ t = lim ⁡ Δ t → 0 q ⊗ [ 0 Δ ϕ L / 2 ] Δ t = 1 2 q ⊗ [ 0 ω L ] \begin{aligned} \dot{\mathbf{q}} & \triangleq \lim _{\Delta t \rightarrow 0} \frac{\mathbf{q}(t+\Delta t)-\mathbf{q}(t)}{\Delta t} \\ &=\lim _{\Delta t \rightarrow 0} \frac{\mathbf{q} \otimes \Delta \mathbf{q} \mathcal{L}-\mathbf{q}}{\Delta t} \\ &=\lim _{\Delta t \rightarrow 0} \frac{\mathbf{q} \otimes\left(\left[\begin{array}{c} 1 \\ \Delta \boldsymbol{\phi}_{\mathcal{L}} / 2 \end{array}\right]-\left[\begin{array}{l} 1 \\ \mathbf{0} \end{array}\right]\right)}{\Delta t} \\ &=\lim _{\Delta t \rightarrow 0} \frac{\mathbf{q} \otimes\left[\begin{array}{c} 0 \\ \Delta \boldsymbol{\phi}_{\mathcal{L}} / 2 \end{array}\right]}{\Delta t} \\ &=\frac{1}{2} \mathbf{q} \otimes\left[\begin{array}{c} 0 \\ \boldsymbol{\omega}_{\mathcal{L}} \end{array}\right] \end{aligned} q˙Δt0limΔtq(t+Δt)q(t)=Δt0limΔtqΔqLq=Δt0limΔtq([1ΔϕL/2][10])=Δt0limΔtq[0ΔϕL/2]=21q[0ωL]

令,
Ω ( ω ) ≜ [ ω ] R = [ 0 − ω ⊤ ω − [ ω ] × ] = [ 0 − ω x − ω y − ω z ω x 0 ω z − ω y ω y − ω z 0 ω x ω z ω y − ω x 0 ] \boldsymbol{\Omega}(\boldsymbol{\omega}) \triangleq[\boldsymbol{\omega}]_{R}=\left[\begin{array}{cc} 0 & -\boldsymbol{\omega}^{\top} \\ \boldsymbol{\omega} & -[\boldsymbol{\omega}]_{\times} \end{array}\right]=\left[\begin{array}{cccc} 0 & -\omega_{x} & -\omega_{y} & -\omega_{z} \\ \omega_{x} & 0 & \omega_{z} & -\omega_{y} \\ \omega_{y} & -\omega_{z} & 0 & \omega_{x} \\ \omega_{z} & \omega_{y} & -\omega_{x} & 0 \end{array}\right] Ω(ω)[ω]R=[0ωω[ω]×]=0ωxωyωzωx0ωzωyωyωz0ωxωzωyωx0
可类似推导得:

q ˙ = 1 2 Ω ( ω L ) q = 1 2 q ⊗ ω L , R ˙ = R [ ω L ] × \dot{\mathbf{q}}=\frac{1}{2} \boldsymbol{\Omega}\left(\boldsymbol{\omega}_{\mathcal{L}}\right) \mathbf{q}=\frac{1}{2} \mathbf{q} \otimes \boldsymbol{\omega}_{\mathcal{L}}, \quad \dot{\mathbf{R}}=\mathbf{R}\left[\boldsymbol{\omega}_{\mathcal{L}}\right]_{\times} q˙=21Ω(ωL)q=21qωL,R˙=R[ωL]× ω L = 2 q ∗ ⊗ q ˙ , [ ω L ] × = R ⊤ R ˙ \boldsymbol{\omega}_{\mathcal{L}}=2 \mathbf{q}^{*} \otimes \dot{\mathbf{q}}, \quad\left[\boldsymbol{\omega}_{\mathcal{L}}\right]_{\times}=\mathbf{R}^{\top} \dot{\mathbf{R}} ωL=2qq˙,[ωL]×=RR˙

这个结果也可由 q ∗ ⊗ q = 1 \mathbf{q}^{*} \otimes \mathbf{q}=1 qq=1 R ⊤ R = I \mathbf{R}^{\top} \mathbf{R}=\mathbf{I} RR=I 对时间求导推导出(十四讲就是从这个等式可是推导)。


  • 性质:
    [ R ω ] × = R [ ω ] × R T \left[\mathbf{R}\boldsymbol{\omega}\right]_{\times}=\mathbf{R}\left[\boldsymbol{\omega}\right]_{\times}\mathbf{R}^{T} [Rω]×=R[ω]×RT

4.旋转(rotation rates)对时间的积分

q n + 1 = q ( t n + Δ t ) = q n + q ˙ n Δ t + 1 2 ! q ¨ n Δ t 2 + ⋯ \mathbf{q}_{n+1}=\mathbf{q}(t_n+\Delta t) =\mathbf{q}_{n}+\dot{\mathbf{q}}_{n} \Delta t+\frac{1}{2 !} \ddot{\mathbf{q}}_{n} \Delta t^{2}+\cdots qn+1=q(tn+Δt)=qn+q˙nΔt+2!1q¨nΔt2+
其中,
q ˙ n = 1 2 q n ω n q ¨ n = 1 2 2 q n ω n 2 + 1 2 q n ω ˙ . . . \begin{aligned} \dot{\mathbf{q}}_{n} &=\frac{1}{2} \mathbf{q}_{n} \boldsymbol{\omega}_{n} \quad \\ \ddot{\mathbf{q}}_{n} &=\frac{1}{2^{2}} \mathbf{q}_{n} \boldsymbol{\omega}_{n}^{2}+\frac{1}{2} \mathbf{q}_{n} \dot{\boldsymbol{\omega}} \\ \end{aligned} \\... q˙nq¨n=21qnωn=221qnωn2+21qnω˙...
注意省略了 ⊗ \otimes 符号, q n = 1 2 q n ⊗ ω n \boldsymbol{q}_{n}=\frac{1}{2} \boldsymbol{q}_{n} \otimes \boldsymbol{\omega}_{n} qn=21qnωn

请添加图片描述

4.1.四元数零阶时间积分

q n + 1 = q n ⊗ ( 1 + 1 2 ω n Δ t + 1 2 ! ( 1 2 ω n Δ t ) 2 + 1 3 ! ( 1 2 ω n Δ t ) 3 + ⋯   ) \mathbf{q}_{n+1}=\mathbf{q}_{n} \otimes\left(1+\frac{1}{2} \boldsymbol{\omega}_{n} \Delta t+\frac{1}{2 !}\left(\frac{1}{2} \boldsymbol{\omega}_{n} \Delta t\right)^{2}+\frac{1}{3 !}\left(\frac{1}{2} \boldsymbol{\omega}_{n} \Delta t\right)^{3}+\cdots\right) qn+1=qn(1+21ωnΔt+2!1(21ωnΔt)2+3!1(21ωnΔt)3+)

可以看出后半部分是 e ω n Δ t / 2 e^{\boldsymbol{\omega}_n\Delta t/2} eωnΔt/2 的泰勒展开,同时我们有 Δ θ = ω n Δ t \Delta \theta = \boldsymbol{\omega}_n\Delta t Δθ=ωnΔt,则有:

e ω Δ t / 2 = Exp ⁡ ( ω Δ t ) = q { ω Δ t } = [ cos ⁡ ( ∥ ω ∥ Δ t / 2 ) ω ∥ ω ∥ sin ⁡ ( ∥ ω ∥ Δ t / 2 ) ] e^{\boldsymbol{\omega} \Delta t / 2}=\operatorname{Exp}(\boldsymbol{\omega} \Delta t)=\mathbf{q}\{\boldsymbol{\omega} \Delta t\}=\left[\begin{array}{c} \cos (\|\boldsymbol{\omega}\| \Delta t / 2) \\ \frac{\omega}{\|\boldsymbol{\omega}\|} \sin (\|\boldsymbol{\omega}\| \Delta t / 2) \end{array}\right] eωΔt/2=Exp(ωΔt)=q{ωΔt}=[cos(ωΔt/2)ωωsin(ωΔt/2)]

即是:
q n + 1 = q n ⊗ q { ω n Δ t } \mathbf{q}_{n+1}=\mathbf{q}_{n} \otimes \mathbf{q}\left\{\boldsymbol{\omega}_{n} \Delta t\right\} qn+1=qnq{ωnΔt}

4.2.四元数一阶时间积分

ω ˙ = ω n + 1 − ω n Δ t , ω ¨ = ⋯ = 0. \begin{aligned} \dot{\omega} &=\frac{\boldsymbol{\omega}_{n+1}-\boldsymbol{\omega}_{n}}{\Delta t} , \ddot{\omega}=\cdots &=0 . \end{aligned} ω˙=Δtωn+1ωn,ω¨==0.

平均角速率:

ω ˉ = ω n + 1 2 ω ˙ Δ t \bar{\omega}=\omega_{n}+\frac{1}{2} \dot{\omega} \Delta t ωˉ=ωn+21ω˙Δt q n + 1 ≈ q n ⊗ ( q { ω ‾ Δ t } + Δ t 2 24 [ 0 ω n × ω n + 1 ] ) \mathbf{q}_{n+1} \approx \mathbf{q}_{n} \otimes\left(\mathbf{q}\{\overline{\boldsymbol{\omega}} \Delta t\}+\frac{\Delta t^{2}}{24}\left[\begin{array}{c} 0 \\ \boldsymbol{\omega}_{n} \times \boldsymbol{\omega}_{n+1} \end{array}\right]\right) qn+1qn(q{ωΔt}+24Δt2[0ωn×ωn+1])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值