slam建图总结

以下所有信息都来自相关的硕士论文、博士论文以及书籍等。

一、 地图种类

1、拓扑地图
描述:使用关键帧作为地图的节点,关键帧之间共同的数据关联作为地图的边。
作用:该地图可用作路径规划;
缺点:缺少度量信息,不适用于导航;

2、栅格地图
描述:将三维环境空间分割为相互独立、大小相同的立方块,每个立方块代表真实环境中的一个三维
空间区域。立方块的值表示三维空间的被占有的概率(即存在障碍物的概率)。
作用:适用于导航、路径规划、路径探索。十分容易融合多传感器信息(加权平均法、D-S证据推理法)
缺点:随着环境规模扩大,需要越来越多的计算量和存储空间。

3、路标地图
描述:使用一系列离散的三维路标描述环境。也称为稀疏地图。
作用:地图只包含有限数量的路标,因此只需要较少的计算量和存储空间。
缺点:环境信息较少,不适用于导航和避障。而且路标必须存在大量显著地特征。

4、点云地图
描述:使用大量的三维空间点描述环境,将环境中的所有物体都离散化为稠密的点云。
作用:使用于定位、导航和避障,甚至能够用于三维重建。
缺点:大规模的环境需要较大的计算量和较多的存储空间。

5、认知地图
描述:强调将语义概念与地图中的对象联系起来,为地图中的对象赋予更抽
象的含义。
作用:认知地图允许移动机器人更智能地行动,执行更复杂的任务,如去厨房取杯
子。认知地图由许多可区分的语义元素组成,语义元素可以是场所类型,如卧室、客厅,
或者是物体类型,如书桌、电脑。
缺点:由于世界中存在各种不同类型的物体,一方面不可能所有的物体都被提前赋予语义
概念,另一方面同一类型的物体可能存在较大的差异而不同类别的物体却可能较为相似,因此对于复杂环境创建认知地图仍然比较困难。此外,复杂的认知地图创建算法也导致
认知地图创建需要更多的计算量。

6、混合地图
描述:目前而言,仍然没有一种单一的地图表示方式能满足所有的任务需求(定位、导航、
避障、路径规划、三维重建、认知等)和性能要求(精度高、速度快、计算量小、存储
空间小等)。因此,使用多种不同的地图表示方式描述环境是一种较好的方式,充分利用
不同地图表示方式的优势,如拓扑地图更适用于路径规划、栅格地图更适用于导航等。

二、三维刚体运动
1、欧式变换:由旋转和平移两部分构成。
2、相似变换:类似于在欧式变换基础上增加一个缩放比例。
3、仿射变换:仿射变换相较于欧式变换来说对于旋转矩阵不必要求是一个正交矩阵,经过仿
射变换以后正方形就变成了平行四边形。
4、射影变换:2D 的射影变换一共有 8 个自由度,3D 则共有 15 个自由度。
从真实世界到相机的照片就是一个射影变换。
5、特征点:特征是图像信息的另一种数字表达形式,特征应具有稳定性、可重复性、
可区别性等性质,图像中的颜色、角点、边缘、区块都可以当成是特征,不同的任务
往往使用的特征也不一样。特征一般由关键点和描述子两部分组成,关键点一般是指
像素的位置,描述子通常是一个向量,由关键点周围的像素确定,是对局部特性的描
述。比较有名的局部特征如 SIFT、ORB等。SIFT 是一种经典的局部特征,它稳
定、鲁棒、区分性好,同时还具有尺度不变性、对光照变化有一定的容忍度,但该特
征计算量很大,在目前主流的 PC 上,对一幅图片提 1000 个 SIFT 特征点大概需要花
费 5s 的时间,无法满足 SLAM 实时性的要求。在视觉 SLAM 系统中,往往使用的是
ORB 特征,这种特征虽然没有 SIFT 稳定鲁棒,但是提取速度比较快,能够满足实时
性要求。ORB 特征也是由关键点和特征两部分组成,它的关键点是在 FAST 关键点的
基础之上加了方向信息,它的描述子是 BRIEF特征。当获得了特征点之后,就要在接下
来的图像中寻找匹配点,即是对这些特征点进行跟踪。特征匹配可以用暴力匹配
或者局部匹配的方法,暴力匹配是指将参考帧中的每一个特征和另一帧中所有特征进
行匹配。对于 ORB 特征来讲,由于特征是二进制的,可以通过计算两个特征之间的
汉明距离来判断特征的匹配程度,汉明距离最小的特征认为是匹配特征。暴力匹配速
度比较慢,主要取决于所取特征点数,而且对于重复纹理或是缺少纹理信息的区域容
易出现误匹配。局部匹配是指限定匹配的范围,只在图像的一个小范围内寻找匹配点,
这个区域的确定往往可以通过一些先验知识来获得,如可以根据恒速模型来确定。
局部匹配速度快,对于重复纹理也能获得比较精确的匹配,当先验知识不够准确或者
由于两帧图片间相机运动较大导致图片的重叠区域较小时,局部范围内可能已经找不
到正确的匹配点 。

局部特征点:包括斑点和角点。
斑点表示一个集中区域,抗噪能力强,稳定性好。而角点
是一个物体的拐角和线条之间的交叉部分。
Harris 角点是一种经典的角点检测算法,通过计算图像灰度的一阶导数矩阵实现。
检测器的主要思想计算在某个局部窗口内图像块与在各个方向微小移动后的窗口内图像块的相似性。
基于加速分割测试的 FAST 算法可以快速地提取出角点特征。该算法以一个像素点 p 为圆心,
在给定阈值的条件下,半径为 3 个像素的离散化Bresenllam 圆周上,如果在圆周上存在 n 个连续
的像素灰度值大于或小于该阈值,则为角点。此外可以使用一种快速的方法来完成 FAST 角点检测,
并不需要把圆周上的所有点都比较一遍。首先比较上下左右四个点的像素值关系,至少要有 3 个点
的像素灰度值大于或小于阈值,则 p 为候选点,然后再进一步进行完整的判断。
6、梯度点:梯度表示的是当前位置点与邻域间的差异程度。假如把图像看成一个二维的离
散函数的话,梯度的数学含义就是对这个离散函数进行求导运算,而在一些常见的图像处
理中,图像的边缘信息经常是通过对图像的梯度运算后得到,因此很多的高梯度的位置往
往伴随的是图像十分有区分性的一些边缘或巨大的像素变化位置。

本质矩阵:
单应矩阵:描述了两个平面之间的映射关系,当图像中提取的特征点都落在
同一个平面上,比如墙或者地面时,那么可以通过两者之间的单应性来估计运动。

PnP:求解三维点到二维点对的运动方式。
在单目 SLAM 中因为没有深度,所以必须
先进行过初始化后才能使用 PnP,它比对极约束使用更少的匹配点但是获得较好的相机运
动估计。而捆集调整(Bundle Adjustment)将 PnP 问题构建成一个定义与李代数上的非线
性最小二乘问题,是一种求解 PnP 中经典的解法。

对极几何:相机在不同位置拍摄两张图片,如果这两张图片间有相同的像素,那
么这些像素之间存在着一定的关联,这种关联就是对极几何。

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用kinect2进行建图SLAM(Simultaneous Localization and Mapping),需要进行以下步骤: 1. 首先,启动kinect2的驱动程序和相机节点。使用以下命令启动kinect2_bridge: ``` roslaunch kinect2_bridge kinect2_bridge.launch ``` 这将启动kinect2相机并将其数据发布到ROS中。 2. 接下来,可以使用kinect2_viewer命令来查看当前kinect2相机的图像: ``` rosrun kinect2_viewer kinect2_viewer ``` 这将打开一个新终端窗口,并显示当前kinect2相机的图像。 3. 在安装kinect2驱动程序之前,需要先安装iai_kinect2和libfreenect2这两个开源驱动。iai_kinect2是ROS的驱动程序,而libfreenect2是kinect2相机的底层驱动程序。安装这两个驱动程序可以使kinect2相机在ROS中正常工作。安装步骤可以参考引用中提供的指南。 4. 安装完成后,可以在ROS中使用kinect2相机进行建图SLAM。你可以使用ROS中的SLAM算法(如gmapping、cartographer等)来进行建图,同时使用kinect2相机采集环境数据。具体的建图SLAM步骤可以根据你的需求和具体的SLAM算法进行选择和实施。 总结起来,要使用kinect2进行建图SLAM,需要安装kinect2的驱动程序,并使用ROS中的SLAM算法和相机节点来进行建图和定位。引用中提供了启动kinect2和查看图像的命令,而引用中提供了安装kinect2驱动程序的指南。希望这些信息对你有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [ORB-SLAM2:(三)仿真实现&kinect2在线定位建图](https://blog.csdn.net/YunLaowang/article/details/92809234)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ORB_SLAM2+kinect稠密建图实战项目总结](https://blog.csdn.net/luoyihao123456/article/details/124926958)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值