基于视觉slam的地图构建的方法、导航系统及装置

文档序号:1671156 发布日期:2019-12-31 浏览:8次 >En<

阅读说明:本技术 基于视觉slam的地图构建的方法、导航系统及装置 (Map construction method based on visual SLAM, navigation system and device ) 是由 许登科 肖刚军 赵伟兵 于 2019-09-26 设计创作,主要内容包括:本发明公开一种基于视觉SLAM的地图构建的方法,其中,所述地图构建方法包括以下步骤:获取当前位置视屏图像数据与目标位置视屏图像数据;识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离;根据各所述点云之间的距离构建点云地图,以便于移动机器人的定位、避障、自主导航以及三维重建和人机交互。本发明还公开了一种基于视觉SLAM及网络地图结合的导航系统和具有存储功能的装置。(The invention discloses a map construction method based on visual SLAM, wherein the map construction method comprises the following steps: acquiring current position view screen image data and target position view screen image data; identifying point cloud data of the current position view screen image data and the target position view screen image data, and acquiring the distance between the point cloud of each current view screen image data and the point cloud of the target view screen image data; and constructing a point cloud map according to the distance between the point clouds so as to facilitate the positioning, obstacle avoidance, autonomous navigation, three-dimensional reconstruction and human-computer interaction of the mobile robot. The invention also discloses a navigation system based on the combination of the visual SLAM and the network map and a device with a storage function.)

基于视觉SLAM的地图构建的方法、导航系统及装置

技术领域

本发明涉及智能机器人领域,特别涉及一种基于视觉SLAM的地图构建的方法、导航系统及装置。

背景技术

同时定位与地图创建(Simultaneous Localization and Mapping,SLAM)是实现机器人智能感知的一种重要方式,主要解决的是,在未知环境中,移动机器人通过自身搭载的传感器获取环境信息,并在运动过程中不断估计自身的位姿,同时对其周围环境创建地图,也就是说SLAM主要用于解决移动机器人的“定位”和“地图创建”,移动机器人一方面需要知道自己当前在地图的什么位置(定位),另一方面又需要创建周围环境的地图(地图创建),其中,只通过相机获取环境信息的SLAM被称为视觉SLAM,视觉SLAM创建的三维地图的最基本的功能应该是机器人的导航以及在机器人执行任务时用于路径规划和障碍躲避,然而,当前视觉SLAM创建的地图还不能很好地用于移动机器人理解环境和执行任务,更不用说帮助人类理解未知环境。

发明内容

本发明的主要目的是提出一种基于视觉SLAM的地图构建的方法,旨在提高移动机器人的定位、避障、自主导航的智能化水平。具体方案如下:

一种基于视觉SLAM的地图构建的方法,所述地图构建方法包括以下步骤:获取当前位置视屏图像数据与目标位置视屏图像数据;识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离;根据各所述点云之间的距离构建点云地图。

可选地,所述根据各所述点云之间的距离构建点云地图的步骤之后包括:获取回环检测数据;根据所述回环检测数据调整所述点云地图。

可选地,所述获取当前位置视屏图像数据与目标位置视屏图像数据的步骤之后包括:根据所述当前位置视屏图像数据与所述目标位置视屏图像数据的获取相对运动点云。

可选地,所述根据所述当前位置视屏图像数据与所述目标位置视屏图像数据的获取相对运动点云的步骤包括:根据所述当前位置视屏图像数据与所述目标位置视屏图像数据获取当前位置与目标位置的点特征与线特征;根据获取的所述点特征与线特征得出相对运动点云。

可选地,所述根据所述当前位置视屏图像数据与所述目标位置视屏图像数据获取当前位置与目标位置的点特征与线特征的步骤包括:根据所述当前位置视屏图像数据与所述目标位置视屏图像数据选取关键帧;根据所述关键帧提取点特征和线特征。

可选地,所述根据各所述点云之间的距离构建点云地图的步骤包括:根据提取的所述点特征和线特征构建运动轨迹。

可选地,所述根据所述当前位置视屏图像数据与所述目标位置视屏图像数据选取关键帧的步骤之后包括:当新的图像帧上的特征块数量小于一定阈值时,则该帧作为新的关键帧。

可选地,所述识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离的步骤包括:获取惯性移动数据;根据所述当前位置视屏图像数据与所述目标位置视屏图像数据、惯性移动数据以及所述相对运动点云计算各所述视觉标定点之间的距离。

一种基于视觉SLAM及网络地图结合的导航系统,所述导航系统包括:数据通信处理模块、视觉采集模块、识别模块、距离获取模块与位置估计模块,所述数据通信处理模块分别连接所述视觉采集模块、所述识别模块、所述距离获取模块以及所述位置估计模块,所述视觉采集模块、所述识别模块、所述距离获取模块以及所述位置估计模块在工作时能够实现如上所述基于视觉SLAM的地图构建的方法中的步骤。

一种具有存储功能的装置,其上存储有程序数据,所述程序数据被处理器执行时实现如上所述基于视觉SLAM的地图构建的方法中的步骤。

本发明技术方案在基于视觉的同步定位与地图构建运行过程中,通过获取当前位置的视屏图像数据与目标位置的视屏图像数据,识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离,进而推算出当前位置与目标位置的距离和方位,并构建点云地图,以便于移动机器人的定位、避障、自主导航以及三维重建和人机交互。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1为本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明基于视觉SLAM的地图构建的方法第一实施例的流程示意图;

图3为本发明基于视觉SLAM的地图构建的方法第二实施例的流程示意图;

图4为本发明基于视觉SLAM的地图构建的方法第三实施例的流程示意图;

图5为本发明基于视觉SLAM的地图构建的方法第四实施例的流程示意图;

图6为本发明基于视觉SLAM的地图构建的方法第五实施例的流程示意图;

图7为本发明基于视觉SLAM的地图构建的方法第六实施例的流程示意图;

图8为本发明基于视觉SLAM的地图构建的方法第七实施例的流程示意图;

图9为本发明基于视觉SLAM的地图构建的方法第八实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:在基于视觉的同步定位与地图构建运行过程中,通过获取当前位置的视屏图像数据与目标位置的视屏图像数据,识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离,进而推算出当前位置与目标位置的距离和方位,并构建点云地图,以便于移动机器人的定位、避障、自主导航以及三维重建和人机交互。

由于现有技术中,移动机器人一方面需要知道自己当前在地图的什么位置(定位),另一方面又需要创建周围环境的地图(地图创建),其中,只通过相机获取环境信息的SLAM被称为视觉SLAM,视觉SLAM创建的三维地图的最基本的功能应该是机器人的导航以及在机器人执行任务时用于路径规划和障碍躲避,然而,当前视觉SLAM创建的地图还不能很好地用于移动机器人理解环境和执行任务,更不用说帮助人类理解未知环境。

本发明提供一种解决方案,获取当前位置的视屏图像数据与目标位置的视屏图像数据,识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离,进而推算出当前位置与目标位置的距离和方位,并构建点云地图,以便于移动机器人的定位、避障、自主导航以及三维重建和人机交互。

如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境示意图。

如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard)、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

本领域技术人员可以理解,图1中示出的终端的结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于视觉SLAM的地图构建的方法的控制程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于视觉SLAM的地图构建的方法的控制程序,并执行以下操作:在接收到通过预设控件触发的操作执行指令时,获取所述预设控件对应的操作路径。

进一步地,处理器1001可以调用存储器1005中存储的基于视觉SLAM的地图构建的方法的控制程序,还执行以下操作。

本发明提供一种基于视觉SLAM的地图构建的方法。

参照图2,图2为本发明基于视觉SLAM的地图构建的方法第一实施例的流程示意图。

本实施例提出一种基于视觉SLAM的地图构建的方法,该基于视觉SLAM的地图构建的方法包括:步骤S10,获取当前位置视屏图像数据与目标位置视屏图像数据;步骤S20,识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离;步骤S30,根据各所述点云之间的距离构建点云地图。

于本实施例中,目标位置为机器人将要到达的位置,其中,目标位置的物体的形状包括但不限于为方形、圆形、三角形或菱形中的任一种或多种组合。通过相机拍摄当前位置的视屏图像数据与目标位置的视屏图像数据。

由于获取了当前位置的视屏图像数据与目标位置的视屏图像数据,处理器根据当前位置的视屏图像数据进行当前位置标定点,处理器根据目标位置的视屏图像数据进行目标位置标定点,将当前位置的当前位置标定点与目标位置标定点整合形成点云数据,在处理器识别所述图像数据中的视觉标定点之后,可以获取任意两个所述视觉标定点之间的距离。

由于相机内部参数(焦距,畸变参数)已知,在根据识别出的所述视觉标定点在拍摄到图像中的位置,处理器识别出超过三个视觉标定点,可以使用计算视觉算法直接推算出相机离目标位置的距离和方位。

具体地,以目标位置作为坐标系,长边为X轴,短边为Y轴,重力轴为Z轴。视觉标定点A,B,C,D在世界坐标系下的位置记为(x1,y1,z1),…,(x4,y4,z4),在相片中的位置记为(u1,v1),…,(u4,v4),将两组点和相机内参作为输入,可以使用OpenCV开源算法中的calib3d模块下的solvePnP函数计算出相机的距离方位,该问题为计算视觉领域已经解决的Perspective-n-Point问题,是本领域技术人员早已掌握的技术手段,在此不再详述。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。

进一步地,参照图3,基于第一实施例提出本发明第二实施例,在本实施例中,所述根据各所述点云之间的距离构建点云地图的步骤之后包括:步骤S40,获取回环检测数据;步骤S50,根据所述回环检测数据调整所述点云地图。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够校准认知点云地图,增加移动机器人运动的准确性。

进一步地,参照图4,基于上述实施例提出本发明第三实施例,在本实施例中,所述获取当前位置视屏图像数据与目标位置视屏图像数据的步骤之后包括:步骤S60,根据所述当前位置视屏图像数据与所述目标位置视屏图像数据的获取相对运动点云。

本实施例技术方案实现了图像数据的点云处理,处理的点云信息包含直接的几何关系,使得机器人的路径规划和导航变得直观。

进一步地,参照图5,基于上述实施例提出本发明第四实施例,在本实施例中,所述根据所述当前位置视屏图像数据与所述目标位置视屏图像数据的获取相对运动点云的步骤包括:步骤S61,根据所述当前位置视屏图像数据与所述目标位置视屏图像数据获取当前位置与目标位置的点特征与线特征;步骤S62,根据获取的所述点特征与线特征得出相对运动点云。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。

进一步地,参照图6,基于上述实施例提出本发明第五实施例,在本实施例中,所述根据所述当前位置视屏图像数据与所述目标位置视屏图像数据获取当前位置与目标位置的点特征与线特征的步骤包括:步骤S611,根据所述当前位置视屏图像数据与所述目标位置视屏图像数据选取关键帧;步骤S612,根据所述关键帧提取点特征和线特征。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。

进一步地,参照图7,基于上述实施例提出本发明第六实施例,在本实施例中,所述根据各所述点云之间的距离构建点云地图的步骤包括:步骤S31,根据提取的所述点特征和线特征构建运动轨迹。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。

进一步地,参照图8,基于上述实施例提出本发明第七实施例,在本实施例中,所述根据所述当前位置视屏图像数据与所述目标位置视屏图像数据选取关键帧的步骤之后还包括:步骤S613,当新的图像帧上的特征块数量小于一定阈值时,则该帧作为新的关键帧。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。

进一步地,参照图9,基于上述实施例提出本发明第八实施例,在本实施例中,所述识别所述当前位置视屏图像数据与所述目标位置视屏图像数据的点云数据,并获取各所述当前视屏图像数据的点云与所述目标视屏图像数据的点云之间的距离的步骤包括:步骤S21,获取惯性移动数据;步骤S22,根据所述当前位置视屏图像数据与所述目标位置视屏图像数据、惯性移动数据以及所述相对运动点云计算各所述视觉标定点之间的距离。

本实施例技术方案实现了对视觉SLAM的补充和完善,能够创建出环境的认知点云地图,可以用于实现移动机器人的定位、避障、自主导航以及三维重建和人机交互。

本发明还提出一种基于视觉SLAM及网络地图结合的导航系统,所述导航系统包括:数据通信处理模块、视觉采集模块、识别模块、距离获取模块与位置估计模块,所述数据通信处理模块分别连接所述视觉采集模块、所述识别模块、所述距离获取模块以及所述位置估计模块,所述视觉采集模块、所述识别模块、所述距离获取模块以及所述位置估计模块在工作时能够实现如上所述基于视觉SLAM的地图构建的方法中的步骤。

本发明还提出一种具有存储功能的装置,该装置上存储有程序数据,程序数据被处理器执行时实现任一项实施例中基于视觉SLAM的地图构建的方法中的步骤。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者处理器不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者处理器所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者处理器中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是液晶电视、液晶显示屏等)执行本发明各个实施例所述的方法。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种自动归位椅复合路径规划方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!