左右扰动问题

左右扰动问题

​ 左右绕动都是函数在线性化点处的展开,因为姿态数据是不符合向量直接的加法的,所有从左边增加的扰动量和从右边加的扰动量结果会不一致

左右绕动关系

在这里插入图片描述

结论:

E x p ( 左 ) ∗ X = X ∗ E x p ( 右 ) Exp(左)*X = X * Exp(右) Exp()X=XExp()

E x p ( 左 ) = X ∗ E x p ( 右 ) ∗ X − 1 Exp(左) = X * Exp(右) * X^{-1} Exp()=XExp()X1

​ $左 = Adj(X) * 右 $

关系验证

e r r = R 12 T R 1 R 2 err = R_{12}^TR_1 R_2 err=R12TR1R2

左右扰动的雅可比矩阵

R 1 R_1 R1的左雅可比矩阵:

∂ e r r ∂ R 1 = l n ( R 12 T E x p ( δ θ ) R 1 R 2 ) − l n ( R 12 T R 1 R 2 ) δ θ \frac{\partial err}{ \partial R_1} = \frac{ln(R_{12}^T Exp(\delta \theta) R_1 R_2) - ln(R_{12}^T R_1 R_2) } { \delta \theta } R1err=δθln(R12TExp(δθ)R1R2)ln(R12TR1R2)

= l n ( R 12 T R 1 R 2 E x p ( ( R 1 R 2 ) T δ θ ) ) − l n ( R 12 T R 1 R 2 ) δ θ = \frac{ln(R_{12}^T R_1 R_2 Exp( (R_1 R_2 )^T \delta \theta) ) - ln(R_{12}^T R_1 R_2) } { \delta \theta } =δθln(R12TR1R2Exp((R1R2)Tδθ))ln(R12TR1R2)

= J r − 1 ( R 12 T R 1 R 2 ) ( R 1 R 2 ) T = J^{-1}_r(R_{12}^T R_1 R_2) (R_1 R_2)^T =Jr1(R12TR1R2)(R1R2)T

R 1 R_1 R1的右雅可比矩阵:

∂ e r r ∂ R 1 = l n ( R 12 T R 1 E x p ( δ θ ) R 2 ) − l n ( R 12 T R 1 R 2 ) δ θ \frac{\partial err}{ \partial R_1} = \frac{ln(R_{12}^T R_1 Exp(\delta \theta) R_2) - ln(R_{12}^T R_1 R_2) } { \delta \theta } R1err=δθln(R12TR1Exp(δθ)R2)ln(R12TR1R2)

= l n ( R 12 T R 1 R 2 E x p ( R 2 T δ θ ) ) − l n ( R 12 T R 1 R 2 ) δ θ = \frac{ln(R_{12}^T R_1 R_2 Exp( R_2 ^T \delta \theta) ) - ln(R_{12}^T R_1 R_2) } { \delta \theta } =δθln(R12TR1R2Exp(R2Tδθ))ln(R12TR1R2)

= J r − 1 ( R 12 T R 1 R 2 ) R 2 T = J^{-1}_r(R_{12}^T R_1 R_2) R_2^T =Jr1(R12TR1R2)R2T

左右扰动雅可比矩阵关系验证

关系验证:

​ 根据第一小结得到的左扰动模型和右扰动模型关系

E x p ( 左 ) ∗ X = X ∗ E x p ( 右 ) Exp(左)*X = X * Exp(右) Exp()X=XExp() 得到的 左 = A d j 右 左 = Adj 右 =Adj 对于旋转来说 A d j = X Adj = X Adj=X

​ 所以观察对 R 1 R_1 R1 的左右绕动,正好差一个 A d j ( R 1 ) Adj(R_1) Adj(R1)

右雅可比矩阵用于左乘更新

​ 目的:为了手动求解雅可比矩阵更见简单!

​ 个人感觉采用左雅可比矩阵和右雅可比矩阵都是可以的,只要统一就行了(左绕动左乘更新、右绕动右乘更新),涉及到不统一的地方就需要做转换。比如在 e r r err err R 2 R_2 R2的雅可比矩阵推倒中,明显右绕动更见简单,但如果我系统设置的整体是一个左绕动更新,那就需要转换了。

转换1从jacobian入手

​ 虽然推倒出了右绕动,但是可以利用左右绕动之间的关系进行转换就可以直接对Jacobian转换成左绕动的Jacobian

∂ e r r ∂ θ l = ∂ e r r ∂ θ r ∗ ∂ θ r ∂ θ l \frac{\partial err}{ \partial \theta_l} = \frac{\partial err}{ \partial \theta_r} * \frac{\partial \theta_r}{ \partial \theta_l} θlerr=θrerrθlθr 其中 ∂ θ r ∂ θ l = A d j − 1 ( X ) \frac{\partial \theta_r}{ \partial \theta_l} = Adj^{-1}(X) θlθr=Adj1(X)

转换2从 δ x \delta x δx入手

​ 用右绕动雅可比求解出来的 δ x \delta x δx是右绕动增量,通过 左 = A d j ( X ) 右 左 = Adj(X) 右 =Adj(X)可以把右绕动增量转换为左绕动增量,再送到定义的广义的+函数里面

从求解式子入手

​ 在GN方法中,求解 H Δ x = b H \Delta x = b HΔx=b 右 = A d j − 1 ∗ 左 右 = Adj^{-1} * 左 =Adj1 带入

H A d j − 1 δ x l = b H Adj^{-1} \delta x_l = b HAdj1δxl=b 左右均添加一个系数 ( A d j − 1 ) T H A d j − 1 δ x l = ( A d j − 1 ) T b (Adj^{-1} )^T H Adj^{-1} \delta x_l = (Adj^{-1} )^T b (Adj1)THAdj1δxl=(Adj1)Tb (这里加一个系数是为了保证新H的对称)

​ 同时再展开一下 ( A d j − 1 ) T J T J A d j − 1 δ x l = ( A d j − 1 ) T J T ∗ r e s (Adj^{-1} )^T J^T J Adj^{-1} \delta x_l = (Adj^{-1} )^T J^T * res (Adj1)TJTJAdj1δxl=(Adj1)TJTres 可以看出 其实是对雅可比矩阵改变是等效的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值