基于双目视觉的移动机器人SLAM系统研究与设计

基于双目视觉的移动机器人SLAM系统  - Jake.cai

这篇是最近在做研究生开题答辩时做的整理,PPT和相关的思维导图我已经上传,题目和方向也是自己想的,在移动机器人SLAM技术方面我完全是小白,参考了一些国内外的文献,东拼西凑和的才把开题给应付过去,话又说回来,这个SLAM还是真的非常有意思。别的不说,记录下来,以备以后查看。
PPT: http://download.csdn.net/download/jake_cai/9738397
导图:http://download.csdn.net/detail/jake_cai/9738404

1.     概述

首先介绍一下SLAM,在我们的家庭,办公室,或者工厂等室内环境下,移动机器人要想正真适应非结构化的环境,必须具备三个要素自己的位置,姿态,环境地图,而在一般的陌生环境当中,这三个要素都不具备,我们SLAM就是解决移动机器人同时定位与地图构建的关键技术。本研主要分析移动机器人在室内环境下进行同时定位与地图构建时出现的问题,并提出了自己的解决方案。

2.     提出问题-现有的移动机器人同时定位与地图构建存在的问题:

 

·        现有的基于视觉的移动机器人SLAM系统进行复杂的图形处理,因此对机器人的硬件配置要求很高,需要搭配有GPU等图形处理器。增加了机器人的设计成本。(硬件复杂度和成本)

·        现有的成熟的单目视觉的移动机器人SLAM系统,无法直接通过图像获取环境的深度信息。而经过算法的形式回复场景深度信息又存在精度不高的问题。(针对单目视觉移动机器人)

·        现有的移动机器人SLAM算法需要从图像信息恢复机器人的运动信息, 很难实现精确的运动估计,且计算量极大。(使用视觉里程计的缺点)

·        现有的基于SIFT(尺度不变特征提取)的特征提取算法生成128维的特征描述符,在立体匹配和数据关联阶段会需要很大的运算量。(结合实际应用场景)

3.     针对以上问题,提出解决方案。

·        主要是解决 :硬件设计复杂度+ SLAM算法实时性问题。

·        采用实验室无线视频个域网搭建的双目摄像头,实时获取环境视频并上传到PC端,利用计算器来进行图像的处理和SLAM算法中的位姿估计和地图构建与存储。极大的降低了机器人平台的硬件设计难度和成本。

·        利用平行标定的双目摄像头,通过三角测量原理,直接计算场景深度信息。

·        引入编码器和电子罗盘,带入运动状态方程,进行位置和姿态的估计。避免使用视觉里程计带来的运算量巨大问题。

·        改进SIFT算法,根据特征点的分布范围,截取出感兴趣区域,减少冗余图像带来运算量。同时结合具体的实际应用,在经过标定的双目视觉摄像头中,左右图像的旋转变化及尺度变换小,因此可以适当的减少SIFT算法中图像尺度空间中图像金字塔的层数。

 

4.     系统组成

主要是利用实验室师兄的研究成果,基于视频个域网搭建一个可以实时传输环境视频至PC端的双目摄像头,摄像头节点将采集的视频实时的传输给PC,然后使用计算机作为我们机器人的主要处理器。减少了机器人的设计复杂度和成本。

使用可移动小车搭载编码器,电子罗盘传感器,搭建一个简易的可移动的机器人平台。

5.     双目视觉机器人SLAM系统的整体架构

这里面主要分为4块,分别是数据采集与传输层,图像处理层,定位与地图特征构建,执行机构,现在做的工作主要是硬件搭建和图像处理层面的事情。还研究了一下基于卡尔曼滤波器的位姿估计的算法。特征地图的构建的话,是建立一种方便计算机进行计算与存储的基于特征点的稀疏地图。

6.     双目视觉移动机器人SLAM系统的工作流程

下面是整个SLAM系统的工作流程,主要分为两个部分,其中的关键步骤是:

·        基于SIFT特征提取算法,针对实际的应用,首先截取图像感兴趣区域,然后再减少图像尺度空间中图像金字塔的层数,减少特征描述向量的维度。来减少计算量。

·        立体匹配过程中,使用KD-tree的数据组织形式,将整个匹配过程转变成K维空间的二叉搜索问题。提高匹配的效率。

·        在定位与位姿确定部分,使用扩张卡尔曼滤波算法来融合视觉信息和内部编码器和电子罗盘采集的信息。得到我们移动机器人当前位置和姿态的最小方差估计。

·        下一步是数据关联,数据关联是将不同时刻位置传感器提取到的地标信息进行关联的过程,也称为重观察过程。在本研究中采用欧氏距离最近方法来做特征关联。

7.     摄像机标定

摄像机标定的目的就是获取摄像机的内参数矩阵和外参数矩阵,有了这两个矩阵,就可以做到世界坐标系到摄像机坐标系的转换和摄像机坐标系到图像坐标系的映射关系。反过来,也可以通过图片中的像点推算出世界坐标系当中的物点的坐标。

8.     特征提取

·        这里主要就是改进SIFT算法,使得我们的特征点具有旋转,尺度缩放,光照等不变性。

·        图像金字塔构造过程,使用不同核大小的高斯滤波器对原图像进行卷积运算,然后再进行向下采样。获得不同尺度,不同尺寸的图形,形成一个图像金字塔。

·        特征点的向量描述,就是为前面提取出来的特征点建立一个 4*4*8=128维的向量描述符。

9.     立体匹配

这里使用了局部区域的立体匹配算法,利用前面提取出来的图像特征点,根据摄像机的成像原理,寻找左右两幅图像中的同一个物点,为了减少匹配的运算量,利用极线约束条件,也就是左右两幅图像中的一对共轭像点一定在互相的极线之上。这可以将二维平面的搜索变为一维平面的搜索问题。

10. 深度信息计算

主要是利用上一步立体匹配的结果,根据三角测量原理,计算一个共轭点对在左右两幅图像上的视差来确定该点的深度。

11. SLAM系统模型分析

现在主流的对SLAM问题有两种分析模型,一个就是当做是状态估计问题来处理,另一个就是当做基于图论的优化问题来处理。我这里采用运算开销较小的状态估计模型,使用扩展卡尔曼滤波算法来估计系统的运动状态。

状态方程 中x系统状态,这里主要有两个分量,机器人相对初始点的位移,相对于X轴正方向的转角.w是过程噪声,满足高斯分布。

观测方程里面的向量Z的分量是编码器和电子罗盘测得位移和转角。以及双目视觉系统根据前后帧间特征点路标视角变化计算出的位移和转角。

SLAM过程的最终目的是更新机器人的位置估计信息。由于通过机器人运动模型估计得到的机器人位姿信息通常具有较大的误差,因而,在使用机器人运动模型得到机器人位姿估计后,还要结合双目视觉系统得到的周围环境路标信息来更正机器人的位置。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值