SLAM的传感器

SLAM传感器分类

SLAM:Simultaneous Localization And Mapping

获取传感器的信息来进行定位和建图

SLAM的传感器SLAM的传感器雷达传感器:
2D(SICK,HOKUYO,…),3D(无人车等)

SLAM的传感器
视觉传感器:
单目相机,红外摄像机(夜间等)
SLAM的传感器
direct time of flight imagers:打出平行光,没有遇到物体平行光平行,遇到物体平行光轨迹发生改变
phase shift time of fight imagers:单目相机+红外
stereo cameras:双目相机
SLAM的传感器
声呐:
2D:智能车、倒车
3D:水下
SLAM的传感器

视觉传感器

perspective projection:
SLAM的传感器相机成像(小孔成像模型 pinhole model):

  1. 倒像
  2. size缩小
  3. 亮度降低
  4. 丢失深度信息

模型:
xyz左手定理
SLAM的传感器

内参变化:

Z轴沿着光学轴
图像平面的深度:z=f
相机的中心就是投影中心:
SLAM的传感器相机内参:u0,v0,fx,fy,f
u0,v0:相机中心
fx,fy:scale信息,数字化的过程中物体大小的变化为fx、fy尺度信息
f:焦距

成像过程:
SLAM的传感器

CMOS:x = f × X/Z,y = f × Y/Z
图像:x = -(Xim-Ox)× Sx,y = -(Yim-Oy)× Sy
SLAM的传感器

外参变化:

外参:旋转R,平移T
世界坐标系的点通过旋转平移到相机坐标系
P = R×Pw + T
SLAM的传感器相机看到的都是在相机坐标系下的点,整个过程是世界坐标系的点通过旋转平移变成相机坐标系下的点(外参),再通过小孔成像模型到图像坐标系(内参)

数学过程:
SLAM的传感器所以得到投影模型:
SLAM的传感器SLAM的传感器

通过地图观测到可以得到特征点的位置Xw、Yw、Zw,通过特征提取可以得到特征在像素中的位置想x1、x2、x3,通过相机标定可以得到内参,只要求出外参就能得到相机的位姿

外参Mext就是Ransac PNP的求解目标3D -> 2D

标定:

八点法:
SLAM的传感器

特征

一般在高对比区域(物体的边缘等),避免edge
有SIFT、FAST、SURF、ORB等
SLAM的传感器SLAM的传感器

特征描述器:存放着特征的信息(梯度等),特征匹配基于特征描述器做的

双目立体视觉

根据相似三角形可得:
SLAM的传感器

激光传感器

优势:

  1. 不受光照、季节条件的影响,适合全日时运行
  2. 检测精度高,有效检测范围可达70~100m
  3. 可以根据对象材质的不同波长的反射回率不同

劣势:

  1. 价格高昂
  2. 受特殊天气(雨雪雾沙尘等)天气的影响
  3. 无法返回丰富的纹理信息,且分辨率低,视野受限

xyz右手定理

内参的标定由公司给出,一般不会个人标定内参,只标定外参

SLAM的传感器

特征

  1. 表面法向量(Surface normal)
  2. 点特征直方图(Point Feature Histogram)
  3. 旋转图片特征(Spin-image)
  4. 迭代最近邻点(Iterative Closest Point)

表面法向量
法向量可以描述表面曲率和变化情况的一些信息,在关键点上求解法向量获得特征
SLAM的传感器
法向量的计算:

  1. 曲面重建技术:
    从获取的点云数据集中得到采样点所对应的曲面,然后从曲面模型中计算表面法线
  2. 根据邻近点云数据集近似推断表面法向量(最小二乘法或PCA)
    SLAM的传感器
    取一个圆,包含k个点,计算均值信息:
    SLAM的传感器
    估计最小二乘法协方差矩阵

SLAM的传感器
曲率信息:
SLAM的传感器

优:表面法向量可以快速计算几何对象的法向量和曲率信息
缺:无法提供能加丰富的特征信息(如两个姿态点之间的关联度需要12个量(1个点需要6个量))

点特征直方图

12个量->4个量

SLAM的传感器SLAM的传感器
旋转图片

沿着轴向做360°旋转,再进行投影到图片上
SLAM的传感器
得到一系列的图片之后,经过PCA放到库中,新的图像与库中的图像进行匹配
SLAM的传感器

激光点云匹配

迭代最近邻匹配(ICP):

给定两组待匹配点云:
X = {x1,x2,…,xn}
P = {p1,p2,…,pn}

最小化方程,求得最优的旋转平移矩阵
SLAM的传感器
SVD求解
SLAM的传感器假设满足:
SLAM的传感器求出旋转平移矩阵:

SLAM的传感器
X点云从P点云中寻找最近的点,再进行match,但是这个过程容易陷入局部最优,为了提高精度,提出了GICP算法