【论文学习】On the representation and estimation of spatial uncertainty

Randall C. Smith与Peter Chessman,发表于1987年,这篇文章被认为是最早提出SLAM问题的一篇文章。
CSDN文章链接(欢迎使用积分下载):https://download.csdn.net/download/tfb760/11888452
百度网盘分享(如果实在没有积分的话):https://pan.baidu.com/s/1Ys2R5TxKjBLYbuOapqlLjg&shfl=shareset 提取码: 75gv

1. 文章核心思想

当机器人从初始位置进行多次移动时,每次移动对应一个不确定的近似变换(approximate transformation, AT),每次移动后由于不确定性的累加导致不确定性越来越大。文章提出用两个步骤进行精准地估计位置:复合(Compounding)与融合(merging)。

2. 具体方法

【论文学习】On the representation and estimation of spatial uncertainty_第1张图片
上图示意了机器人的移动,从最初始的W坐标系开始,依次移动到L1,L2,L3,L4。实线ABCD表示相对移动,实线椭圆表示通过相对移动方法计算出的位置的不确定性;虚线EFG表示对应位置测量的对于W的相对移动,虚线椭圆表示直接测量到W的不确定性。S表示G的逆过程。

2.1 复合(Compounding)

对于图中的L2,经过了AB两次运动,定义每次运动时所在的坐标为 ( X i , Y i , θ i ) (X_i, Y_i, \theta_i) (Xi,Yi,θi),其中角度 θ \theta θ是当前坐标系对于上一个坐标系的旋转量。可以推导出如下递推公式:
X 3 = X 2 cos ⁡ θ 1 − Y 2 sin ⁡ ( θ 1 ) + X 1 X_3=X_2 \cos \theta_1 - Y_2 \sin(\theta_1) + X_1 X3=X2cosθ1Y2sin(θ1)+X1 Y 3 = X 2 sin ⁡ θ 1 + Y 2 cos ⁡ θ 1 + Y 1 Y_3=X_2 \sin \theta_1 +Y_2\cos \theta_1 +Y_1 Y3=X2sinθ1+Y2cosθ1+Y1 θ 3 = θ 1 + θ 2 \theta_3=\theta_1+\theta_2 θ3=θ1+θ2
假设小范围线性,利用泰勒展开,只保留一次项,可以得到坐标系变换
( δ X 3 , δ Y 3 , δ θ 3 ) T = J ∗ ( δ X 1 , δ Y 1 , δ θ 1 , δ X 2 , δ Y 2 , δ θ 2 ) T (\delta X_3, \delta Y_3, \delta \theta_3)^T = J*(\delta X_1, \delta Y_1, \delta \theta_1, \delta X_2, \delta Y_2, \delta \theta_2)^T (δX3,δY3,δθ3)T=J(δX1,δY1,δθ1,δX2,δY2,δθ2)T
其中 J J J为雅克比矩阵,为分别对 X 1 , Y 1 , θ 1 , X 2 , Y 2 , θ 2 X_1, Y_1, \theta_1, X_2, Y_2, \theta_2 X1,Y1,θ1,X2,Y2,θ2 进行矩阵求导,从而可以写成: J = [ H ∣ K ] J=[H|K] J=[HK] 形式。
此时不确定度(方差矩阵)可以通过上式进行求2范数,即分别乘以转置,得到新的不确定度:
C 3 = J ( C 1 , 0 ; 0 , C 2 ) J T = H C 1 H T + K C 2 K T C_3 = J (C_1, 0; 0, C_2) J^T = H C_1 H^T + K C_2K^T C3=J(C1,0;0,C2)JT=HC1HT+KC2KT

简单解释:第一次和第二次运动没有相关性,所以是个块对角矩阵;

由此得到了方差的合并。从而能够将两次运动复合成一次。

2.2 融合(Merging)

融合是指在测得或计算出相对于W的坐标位置后时,能够测得W对于当前坐标系的位置,即知道逆过程,可以将两个进行融合成一个更为准确的表示,采用了卡尔曼滤波。
设两个表示矩阵分别为 C 1 , C 2 C_1, C_2 C1,C2,互为逆过程,则通过以下方式计算合并后的新的不确定性矩阵 C 3 C_3 C3与均值(期望位置)
K = C 1 ∗ [ C 1 + C 2 ] − 1 K=C_1 * [C_1 + C_2]^{-1} K=C1[C1+C2]1 C 3 = C 1 − K ∗ C 1 C_3 = C_1 - K*C_1 C3=C1KC1 X 3 ^ = X 1 + K ∗ ( X 2 − X 1 ) \hat{X_3}=X1+K*(X_2 - X_1) X3^=X1+K(X2X1)
从而融合后获得了更精确的方差矩阵,与新的位置期望。

你可能感兴趣的:(SLAM,SLAM)