SLAM的传感器
SLAM传感器分类
SLAM:Simultaneous Localization And Mapping
获取传感器的信息来进行定位和建图
雷达传感器:
2D(SICK,HOKUYO,…),3D(无人车等)
视觉传感器:
单目相机,红外摄像机(夜间等)
direct time of flight imagers:打出平行光,没有遇到物体平行光平行,遇到物体平行光轨迹发生改变
phase shift time of fight imagers:单目相机+红外
stereo cameras:双目相机
声呐:
2D:智能车、倒车
3D:水下
视觉传感器
perspective projection:相机成像(小孔成像模型 pinhole model):
- 倒像
- size缩小
- 亮度降低
- 丢失深度信息
模型:
xyz左手定理
内参变化:
Z轴沿着光学轴
图像平面的深度:z=f
相机的中心就是投影中心:相机内参:u0,v0,fx,fy,f
u0,v0:相机中心
fx,fy:scale信息,数字化的过程中物体大小的变化为fx、fy尺度信息
f:焦距
成像过程:
CMOS:x = f × X/Z,y = f × Y/Z
图像:x = -(Xim-Ox)× Sx,y = -(Yim-Oy)× Sy
外参变化:
外参:旋转R,平移T
世界坐标系的点通过旋转平移到相机坐标系
P = R×Pw + T相机看到的都是在相机坐标系下的点,整个过程是世界坐标系的点通过旋转平移变成相机坐标系下的点(外参),再通过小孔成像模型到图像坐标系(内参)
数学过程:所以得到投影模型:
通过地图观测到可以得到特征点的位置Xw、Yw、Zw,通过特征提取可以得到特征在像素中的位置想x1、x2、x3,通过相机标定可以得到内参,只要求出外参就能得到相机的位姿
外参Mext就是Ransac PNP的求解目标3D -> 2D
标定:
八点法:
特征
一般在高对比区域(物体的边缘等),避免edge
有SIFT、FAST、SURF、ORB等
特征描述器:存放着特征的信息(梯度等),特征匹配基于特征描述器做的
双目立体视觉
根据相似三角形可得:
激光传感器
优势:
- 不受光照、季节条件的影响,适合全日时运行
- 检测精度高,有效检测范围可达70~100m
- 可以根据对象材质的不同波长的反射回率不同
劣势:
- 价格高昂
- 受特殊天气(雨雪雾沙尘等)天气的影响
- 无法返回丰富的纹理信息,且分辨率低,视野受限
xyz右手定理
内参的标定由公司给出,一般不会个人标定内参,只标定外参
特征
- 表面法向量(Surface normal)
- 点特征直方图(Point Feature Histogram)
- 旋转图片特征(Spin-image)
- 迭代最近邻点(Iterative Closest Point)
表面法向量
法向量可以描述表面曲率和变化情况的一些信息,在关键点上求解法向量获得特征
法向量的计算:
- 曲面重建技术:
从获取的点云数据集中得到采样点所对应的曲面,然后从曲面模型中计算表面法线 - 根据邻近点云数据集近似推断表面法向量(最小二乘法或PCA)
取一个圆,包含k个点,计算均值信息:
估计最小二乘法协方差矩阵
曲率信息:
优:表面法向量可以快速计算几何对象的法向量和曲率信息
缺:无法提供能加丰富的特征信息(如两个姿态点之间的关联度需要12个量(1个点需要6个量))
点特征直方图
12个量->4个量
旋转图片
沿着轴向做360°旋转,再进行投影到图片上
得到一系列的图片之后,经过PCA放到库中,新的图像与库中的图像进行匹配
激光点云匹配
迭代最近邻匹配(ICP):
给定两组待匹配点云:
X = {x1,x2,…,xn}
P = {p1,p2,…,pn}
最小化方程,求得最优的旋转平移矩阵
SVD求解假设满足:
求出旋转平移矩阵:
X点云从P点云中寻找最近的点,再进行match,但是这个过程容易陷入局部最优,为了提高精度,提出了GICP算法