一种基于深度视觉的移动扫地机器人SLAM装置及算法的制作方法

文档序号:16205523发布日期:2018-12-08 07:03阅读:309来源:国知局

本发明涉及图像处理及三维地图的建立领域,具体涉及一种基于深度视觉的移动扫地机器人slam装置及算法。

背景技术

为了在未知环境中进行导航,移动扫地机器人需要构建环境地图并且同时定位自身在地图中的位置,像这样同时解决这两个问题的过程就称为同步定位与地图构建(simultaneouslylocalizationandmapping,slam)。当扫地机器人处于室外环境的时候,这个问题可以通过高精度的gps来解决。但是,当扫地机器人处于室内环境时,或当gps不够精确无法满足高精度的需求时,或者当扫地机器人所处环境涉密时,人们就必须使用其他方法来精确估计扫地机器人的位置并且同时构建环境地图。slam问题就是在这样的需求背景下提出的,是当前移动扫地机器人研究领域的一个重要课题。

移动扫地机器人可以通过不同类型的传感器获取所处环境的信息,传感器的类型不同,得到的环境信息的内容也不相同。如声呐测距仪获取的信息为传感器与障碍的距离信息,激光扫描测距仪获取的信息为传感器与障碍的距离和角度信息,视觉传感器获取的信息为环境的图像信息等等。移动扫地机器人可以同时配置多类传感器,通过融合不同传感器所获取的信息,可以有效地提高地图环境的精度。

把视觉传感器和红外传感器集成到一起并实现两种传感器信息之间的良好同步,这样就构成了rgb-d传感器。基于rgb-d传感器的vslam则被称为rgb-dslam。

申请号为201610298075.1的中国专利,公开了一种可提高扫地机器人位姿一致性的orb关键帧闭环检测slam方法。其首先,采用rgb-d传感器获取环境的彩色信息与深度信息,使用orb特征提取图像特征;接着,通过基于ransac-icp帧间配准算法实现了扫地机器人位姿估计,构建初始位姿图;最后,通过提取keyframe关键帧中的orb特征构建bovw(视觉词袋),当前关键帧与bovw中的单词进行相似性比较,实现闭环关键帧检测,通过关键帧帧间配准检测添加位姿图约束,得到全局最优的扫地机器人位姿,但其并没有解决扫地机器人的导航问题,以及扫地机器人运动后如何生成全景三维地图的问题。



技术实现要素:

为解决上述问题,本发明提供了一种基于深度视觉的移动扫地机器人slam装置及算法。本发明对传统的slm算法进行了改进,首先通过在固定位置摆动rgb-d传感器,然后融合多帧当前位置的rgb-d信息,其次移动扫地机器人,通过surf特征优化出扫地机器人的移动轨迹的同时,生成了整个环境的三维图像,以用于扫地机器人的自动导航,实现扫地机器人的无人巡航工作。

为实现所述技术目的,本发明的技术方案是:一种基于深度视觉的扫地机器人slam装置,包括:

rgb-d传感器,用于采集环境中具有rgb色彩图像(位图序列)和depth深度信息的rgb-d信息;

旋转机构,用于360度移动rgb-d传感器。

进一步,所述rgb-d传感器包括:

激光测距仪和kinect摄像头或mesa相机的至少一种,用于采集环境rgb色彩图像和depth深度信息。

进一步,所述rgb-d传感器和旋转机构安装于移动装置上,用于在环境中移动扫地机器人slam装置,不断建立环境的三维地图。

进一步,所述扫地机器人slam装置上安装设置imu惯性测量装置以及电子编码器,用于结合扫地机器人运动加速度,确定扫地机器人的位置。

一种基于深度视觉的扫地机器人slam算法,包括以下步骤:

s1:固定扫地机器人,使rgb-d传感器具有一定摆动姿态,进一步获取当前环境的多帧rgb-d信息;rgb-d信息包括激光测距仪或kinect摄像头或mesa相机测量的depth深度信息,以及kinect摄像头或mesa相机获取的rgb色彩图像或位图序列。

s2:基于步骤s1中的每帧rgb-d信息,通过orb算法进行特征检测和描述,提取surf特征点;

s3:对步骤s2中的每帧rgb-d信息进行异值剔除;

s4:对步骤s3中的多帧rgb-d信息,通过icp算法整合;

s5:移动扫地机器人,使得扫地机器人具有一定的运动轨迹,重复步骤s1-s4,以达到rgb-d传感器的视觉覆盖整个环境目标区域;

s6:针对步骤s5的运动轨迹,通过所述步骤s2中的surf特征点,进行闭环检测和轨迹图优化;其中在进行轨迹图优化的同时,还融合了tmu惯性测量装置的位置信息。

s7:建立环境的三维图像。也就是说,本发明首先通过在固定位置摆动rgb-d传感器,然后融合多帧当前位置的rgb-d信息,其次移动扫地机器人,优化出扫地机器人的移动轨迹的同时,生成了整个环境的三维图像,以用于扫地机器人的自动导航,实现扫地机器人的无人巡航工作。

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s2中orb算法,对所述步骤s1中的rgb-d信息构建尺度空间金字塔。

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s3中的异值剔除,是对所述步骤s2中的每帧环境rgb-d信息通过ransac算法进行异值剔除。

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s4中icp算法整合的方法为:

t1:获得步骤s3中的每帧rgb-d信息,并获得每帧rgb-d信息的点云集;

t2:初始化步骤s1中rgb-d传感器摆动姿态的旋转变换r和平移变换t;

t3:最小化旋转变换r和平移变换t的均方误差,求解得到旋转变换r和平移变换t的最优解;

t4:根据旋转变换r和平移变换t的最优解,拼接所述步骤t1中的每帧rgb-d信息点云集,从而建立当前扫地机器人所在环境的三维地图。

作为本发明的优选方案,基于上述内容,不同的是,步骤s5中闭环检测和轨迹图优化,采用g2o优化库,对扫地机器人的运动轨迹进行估计和优化。

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s7中建立环境的三维图像,是通过octomap算法表示并存储三维地图,用于扫地机器人的导航。

本发明的有益效果在于:

本发明对传统的slm算法进行了改进,首先通过在固定位置摆动rgb-d传感器,然后融合多帧当前位置的rgb-d信息,其次移动扫地机器人,通过surf特征优化出扫地机器人的移动轨迹的同时,生成了整个环境的三维图像,以用于扫地机器人的自动导航,实现扫地机器人的无人巡航工作。

具体实施方式

下面将对本发明的技术方案进行清楚、完整地描述。

一种基于深度视觉的扫地机器人slam装置,包括:

rgb-d传感器,用于采集环境中具有rgb色彩图像(位图序列)和depth深度信息的rgb-d信息;

旋转机构,用于360度移动rgb-d传感器。作为本发明的优选,旋转机构可选用barrettwam的摆臂;以使得在扫地机器人位置固定时,在同一位置的环境中采集到当前环境的所有rgb-d信息。

进一步,所述rgb-d传感器包括:

激光测距仪和kinect摄像头或mesa相机的至少一种,用于采集环境rgb色彩图像和depth深度信息。作为本发明的优选,本基于深度视觉的扫地机器人slam装置还包括有内部搭载ros软件工具的机载pc机,并和rgb-d传感器组成有线或无线通讯,在机载pc机进行数据处理和仿真。相比于carmen、microsoftroboticsstudio和aria来说,ros软件为免费的开源软件,且扫地机器人内部的pmpl,plc和rviz,gazebo算法更容易集成于ros软件内。

进一步,所述rgb-d传感器和旋转机构安装于移动装置2上,用于在环境中移动扫地机器人slam装置,不断建立环境的三维地图。作为本发明的优选,移动装置2,可选用型号为segwayrmp100的移动基底。

进一步,所述扫地机器人slam装置上安装设置imu惯性测量装置以及电子编码器,用于结合扫地机器人运动加速度,确定扫地机器人的位置。

一种基于深度视觉的扫地机器人slam算法,包括以下步骤:

s1:固定扫地机器人,使rgb-d传感器具有一定摆动姿态,进一步获取当前环境的多帧rgb-d信息;

s2:基于步骤s1中的每帧rgb-d信息,通过orb算法进行特征检测和描述,提取surf特征点;

s3:对步骤s2中的每帧rgb-d信息进行异值剔除;

s4:对步骤s3中的多帧rgb-d信息,通过icp算法整合;也就说,icp算法将通同一固定位置中的多帧rgb-d信息进行融合,还原了当前环境的三维立体地图。

s5:移动扫地机器人,使得扫地机器人具有一定的运动轨迹,重复步骤s1-s4,以达到rgb-d传感器的视觉覆盖整个环境目标区域;

s6:针对步骤s5的运动轨迹,通过所述步骤s2中的surf特征点,进行闭环检测和轨迹图优化;其中在进行轨迹图优化的同时,还融合了imu惯性测量装置的位置信息。

s7:建立环境的三维图像。也就是说,本发明首先通过在固定位置摆动rgb-d传感器,然后融合多帧当前位置的rgb-d信息,其次移动扫地机器人,优化出扫地机器人的移动轨迹的同时,生成了整个环境的三维图像,以用于扫地机器人的自动导航,实现扫地机器人的无人巡航工作。

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s2中orb算法,对所述步骤s1中的rgb-d信息构建尺度空间金字塔。

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s3中的异值剔除,是对所述步骤s2中的每帧环境rgb-d信息通过ransac算法进行异值剔除,ransac算法是一个非决定性的算法,只有一定的概率才能有较好的异值剔除效果,且概率通过多次迭代算法而增加,具体的来说,迭代次数s可以从理论结果推断,用p表示一些迭代过程中从数据集(每帧rgb-d信息)内随机选取出的点均为局内点(有效值,或非异值)的概率;此时,结果模型很可能有用,因此p也表征了算法产生有用结果的概率。用p表示每次从每帧rgb-d信息中选取一个有效值的概率,则p=有效值数目/每帧rgb-d信息中总数目。

由于事先并不知道w的值,假设估计模型需要选定k个点,p是每次从每帧rgb-d信息中选取一个有效值的概率;1-p是k个点中至少有一个点为异值点的概率,此时表明我们从数据集(每帧rgb-d信息)中估计出了一个异值模型。因此,1-p=(1-pk)s;同时迭次数

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s4中icp算法整合的方法为:

t1:获得步骤s3中的每帧rgb-d信息,并获得每帧rgb-d信息的点云集;假设一帧图像上的点云集为p={p1,...pnp},下一帧图像的点云集为x={x1,x2,...,xnx}。

t2:初始化步骤s1中rgb-d传感器摆动姿态的旋转变换r和平移变换t;

t3:最小化旋转变换r和平移变换t的均方误差,求解得到旋转变换r和平移变换t的最优解e(r,t);其中最优解e(r,t)的计算公式为:

t4:根据旋转变换r和平移变换t的最优解,拼接所述步骤t1中的每帧rgb-d信息点云集,从而建立当前扫地机器人所在环境的三维地图。

作为本发明的优选,icp算法还具有point-to-point,point-to-plane以及plane-to-plane变种,但均基于获取点云集、加权、点云集关联、拒绝某些异值点的步骤。

作为本发明的优选方案,基于上述内容,不同的是,步骤s5中闭环检测和轨迹图优化,采用g2o优化库,对扫地机器人的运动轨迹进行估计和优化。作为本发明的优选,轨迹x*=argminf(x),其中f(x)=∑<i,j>∈ce(xi,xj,zij)tqije(xi,xj,zjj);

其中,t表示在旋转机构带动下rgb-d传感器的摆动姿态矢量,zij和ωij分别为摆动姿态xi和xj的矩阵约束,e(xi,xj,zij)为在摆动姿态xi和xj和约束zij相比时的误差函数矢量;需要说明的是,在摆动姿态xi和xj完全满足约束zij时,误差函数为0.

作为本发明的优选方案,基于上述内容,不同的是,所述步骤s7中建立环境的三维图像,是通过0ctomap算法表示并存储三维地图,用于扫地机器人的导航。

对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1