slam学习笔记六----slam系统中位姿转换问题及一些术语的解释
一、几种常用的表达方式
1)Tcw:表示从世界坐标系到相机坐标系的转化
有: Pc = Tcw * Pw
2)Twc:表示从相机坐标系到世界坐标系的转化
有:Pw = Twc * Pc
Twc和Tcw都很常见,而Twc更常见,因为其更直观
3)相机的位置在哪
当取Pw = 0
有Pc = Twc * 0 = twc
就是Twc的平移部分,也就是说我们可以直接从Twc中看到相机在哪,可视化时也常用的都是Twc【相机的位置在哪里】
4)点P在世界坐标系的坐标
我们常见的用于表示相机位姿的如T1,T2,实际上表示的是Tw1,Tw2
也就是说有以下等式成立:Pw = T1 * Pc1 Pw = T2 * Pc2
原因:
Pw = T1 * Pc1 即
点P的世界坐标=相机1的位姿(外参在世界坐标系的位置)*点P在相机1的坐标
Pw = T2 * Pc2即
点P的世界坐标=相机2的位姿(外参在世界坐标系的位置)*点P在相机2的坐标
5)两个相机之间的转换
我们也常用T12,T21来表示两个相机之间的转换
这里有: P2 = T21 * P1 即T21表示从第一个到第二个的转换,从后向前
6)点的转换(将P点在相机1的坐标转换到相机2下的坐标)
P2 = T21 * P1 即T21表示从第一个到第二个的转换
二、推导一个公式
Tij = Ti-1 * Tj
易得: P1 = T12 * P2
即: T1-1 * Pw = T12 * T2-1 * Pw
即: T1-1 = T12 * T2-1
有 T12 = T1-1 * T2
即 Tij = Ti-1 * Tj
所以当我们知道两个相机的位姿时,千万不要弄混淆了是怎么得到变换矩阵的
三、SLAM数学描述
3.1SLAM的两个基本方程
SLAM过程可总结为两个基本方程:
运动方程
观测方程
对于不同的传感器,这两个方程有不同的参数化形式。如果我们保持通用性,把它们取成抽象形式,那么SLAM过程可总结为上述两个基本方程。
这两个方程描述了最基本的SLAM问题:当我们知道运动测量的读数 u ,以及传感器的读数 z 时,如何求解定位问题(估计 x)和建图问题(估计 y)? 这时,我们把SLAM问题建模成了一个状态估计问题:如何通过带有噪声的测量数据,估计内部的、隐藏着的状态变量?
状态估计问题的求解,与两个方程的具体形式,以及噪声服从哪种分布有关。我们按照运动和观测方程是否为线性,噪声是否服从高斯分布进行分类,分为线性/非线性和高斯/非高斯系统。其中线性高斯系统(LG 系统)最为简单,他的无偏最优估计可以由卡尔曼滤波器(KF)给出。而在复杂的非线性非高斯系统(NLNG系统)中,我们会使用以扩展卡尔曼滤波器(EKF)和非线性优化两大类方法去求解它。时至今日,主流视觉SLAM使用以图优化(Graph Optimization)为代表的优化技术进行状态估计。我们以为优化技术已经明显优于滤波器技术,只要计算资源允许,我们通常都偏向于使用优化方法。
3.2 什么是运动?
我们要考虑从 K-1 时刻到 K 时刻,机器人的位置 X是如何变化的。
通常,机器人会携带一个测量自身运动的传感器,比如说码盘或惯性传感器。这个传感器可以测量有关运动的读数,无论什么传感器,我们都能使用一个通用的、抽象的数学模型:
3.3 什么是观测?
![](https://img-blog.csdnimg.cn/f5b7c2a2afd840e9bf86ba4413f01bfe.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAWU9VTEFOU0hFTkdNRU5H,size_18,color_FFFFFF,t_70,g_se,x_16)
四、SLAM的后端概述