一种基于视觉SLAM的无人机自主避障方法及装置与流程

文档序号:19673169发布日期:2020-01-10 22:54阅读:943来源:国知局
一种基于视觉SLAM的无人机自主避障方法及装置与流程

本发明涉及一种无人机自主避障方法,具体涉及一种基于视觉slam(simultaneouslocalizationandmapping)的无人机自主避障方法及装置。



背景技术:

随着无人机的应用越来越广泛,无人机飞行过程中的安全也越显重要。无人机在未知环境或在室内进行巡航、抢险救灾等任务下由于环境复杂未知、gps信息较弱,如何进行自主飞行且有效地躲避障碍物成为了急需迫切解决的问题。

目前,无人机的避障技术中最为常见的是红外线传感器、超声波传感器、激光传感器以及视觉传感器。无人机在飞行过程中,通过其传感器收集周边环境的信息,测量距离从而做出相对应的动作指令,从而达到避障的作用。

红外和超声波技术,因为都需要主动发射光线、声波,所以对于反射的物体有要求,比如:红外线会被黑色物体吸收,会穿透透明物体,还会被其他红外线干扰;而超声波会被海绵等物体吸收,也容易被桨叶气流干扰。而且,主动式测距还会产生两台机器相互干扰的问题。相比之下,虽然视觉避障也对光线有要求,但是对于反射物的要求要低很多,普适性更强。最重要的是,常见的红外和超声波目前都是单点测距,只能获得特定方向上的距离数据,而视觉传感器可以在小体积、低功耗的前提下,获得眼前场景的比较高分辨率的深度图,这就让避障功能有了更多的发展空间,比如避障之后的智能飞行、路径规划等。

激光技术虽然也能实现类似视觉传感器的功能,但是受限于技术发展,目前的激光元件普遍价格贵、体积大、功耗高,应用在普通的无人机上既不经济也不实用。

所以各方比较之下,无人机采用视觉传感器避障性价比高、前景广阔。现阶段国内外专利、相关论文中关于无人机视觉避障技术的研究大多集中在两方面,一方面是在已知无人机位姿信息下对障碍物进行检测,另一方面是通过机器学习来对障碍物进行判别。然而无人机在未知环境或室内环境是难以获知自身位姿信息的,因而第一种方法就有一定的局限性,而通过机器学习方法来对障碍物判别往往需要事先获取先验信息、并通过大量训练才能实现,实时性很差。



技术实现要素:

为了解决上述问题,本发明提出一种基于视觉slam的无人机自主避障方法及装置。

本发明第一方面,提出一种基于视觉slam的无人机自主避障方法,所述方法包括:

s1、用无人机机载的单目相机采集前方环境的图像序列,采用slam算法对所述图像序列进行orb特征提取、特征匹配,实时估计无人机位姿,并构建出稀疏点云地图;

s2、将无人机相机前方的障碍物平面划分成二维网格地图,将所述稀疏点云地图中的地图点投影到所述二维网格地图中;

s3、根据无人机大小设定搜索半径,根据网格与各个投影点的距离判断二维网格地图中的各个网格是否为可通过网格并分别标记;

s4、根据无人机大小设定最小通过区域面积,筛选出可通过区域,计算所述可通过区域与各障碍物的距离,选择距离均超过预设安全阈值的可通过区域为安全区域。

优选的,所述步骤s1之前还包括:

用无人机机载的单目相机采集多张标定板的图像,标定相机内部参数。

优选的,所述步骤s1具体包括:

s11、每当相机获取到新的一帧图像时,对其进行orb(orientedfastandrotatedbrief)特征点提取;

s12、如果所述帧图像为获取到的第一帧图像,将该帧定位为参考帧,根据其对应的深度图像获取提取的特征点的深度信息,得到这些特征点的空间3d坐标,返回步骤s1;

s13、将新获取的图像帧与所述参考帧进行特征点匹配,估计新的图像帧相对于参考帧的位姿变换;

s14、如果位姿变换估计成功,将新的图像帧作为参考帧,返回步骤s1。

优选的,所述步骤s2中,所述二维网格地图中每个网格距离公式:

其中,k为投影点编号,n(i,j)表示二维网格grid(i,j)中的投影点总数;lk表示二维网格grid(i,j)中的投影点,lmin和lmax表示网格中距离值最大和最小的投影点。

优选的,所述步骤s3具体包括:

s31、定义网格是否适合通过公式:

其中l(m,n)为二维网格地图上投影点(m,n)的距离值,l(i,j)表示网格坐标下(i,j)网格的距离值,其中r表示搜索的半径,r(i,j,r)表示以l(i,j)为原点,半径为r的区域;

s32、遍历每一个网格,将t(i,j)的值大于预设阈值的网格标记为可通过网格,否则标记为有障碍网格;将有投影点的网格标记为有障碍网格。

本发明第二方面,提供一种基于视觉slam的无人机自主避障装置,所述装置包括:

相机标定模块:用于通过无人机机载的单目相机采集多张标定板的图像,标定相机内部参数;

slam模块:用于通过单目相机采集前方环境的图像序列,采用slam算法对所述图像序列进行orb特征提取、特征匹配,实时估计无人机位姿,并构建出稀疏点云地图;

网格划分模块:将用于无人机相机前方的障碍物平面划分成二维网格地图,将所述稀疏点云地图中的地图点投影到所述二维网格地图中;

网格标记模块:用于根据无人机大小设定搜索半径,根据网格与各个投影点的距离判断二维网格地图中的各个网格是否为可通过网格并分别标记;

区域筛选模块:根据无人机大小设定最小通过区域面积,筛选出可通过区域,计算所述可通过区域与各障碍物的距离,选择距离均超过预设安全阈值的可通过区域为安全区域。

优选的,所述slam模块具体包括:

特征提取单元:每当相机获取到新的一帧图像时,对其进行orb特征点提取;定义参考帧并根据参考帧的深度信息获取参考帧特征点的空间3d坐标;

特征匹配单元:将新获取的图像帧与参考帧进行特征点匹配,估计新的图像帧相对于参考帧的位姿变换;位姿变换成功后将新的图像帧作为参考帧;

地图构建单元:根据相机实时位姿构建稀疏点云地图。

优选的,所述网格划分模块中,所述二维网格地图中每个网格距离公式为:

其中,k为投影点编号,n(i,j)表示二维网格grid(i,j)中的投影点总数;lk表示二维网格grid(i,j)中的投影点,lmin和lmax表示网格中距离值最大和最小的投影点。

优选的,所述网格标记模块具体包括:

定义单元:定义网格是否适合通过公式:

其中l(m,n)为二维网格地图上投影点(m,n)的距离值,l(i,j)表示网格坐标下(i,j)网格的距离值,其中r表示搜索的半径,r(i,j,r)表示以l(i,j)为原点,半径为r的区域;

标记单元:遍历每一个网格,将t(i,j)的值大于预设阈值的网格标记为可通过网格,否则标记为障碍网格。

本发明通过单目视觉slam实现无人机自主避障,不依赖于外界的定位信息、环境信息,可快速有效判断出安全区域,具有较好的实时性。

附图说明

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

图1为本发明提供的基于视觉slam的无人机自主避障方法流程示意图;

图2为本发明提供的基于视觉slam的无人机自主避障装置结构示意图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

请参阅图1,本发明提出的一种基于视觉slam的无人机自主避障方法流程示意图,所述方法包括:

s1、用无人机机载的单目相机采集前方环境的图像序列,采用slam算法对所述图像序列进行orb特征提取、特征匹配,实时估计无人机位姿,并构建出稀疏点云地图;在步骤s1之前先用无人机机载的单目相机采集多张标定板的图像,标定出相机内部参数。

进一步的,所述步骤s1具体包括:

s11、每当相机获取到新的一帧图像时,对其进行orb特征点提取;

s12、如果所述帧图像为获取到的第一帧图像,将该帧定位为参考帧,根据其对应的深度图像获取提取的特征点的深度信息,得到这些特征点的空间3d坐标,返回步骤s1;

s13、将新获取的图像帧与所述参考帧进行特征点匹配,估计新的图像帧相对于参考帧的位姿变换;

s14、如果位姿变换估计成功,将新的图像帧作为参考帧,返回步骤s1。

通过上述过程,能够实时估计出无人机的位置姿态信息,并通过实时估计出的无人机的位姿,构建出稀疏的点云地图。

s2、将无人机相机前方的障碍物平面划分成二维网格地图,将所述稀疏点云地图中的地图点投影到所述二维网格地图中;所述二维网格地图中每个网格距离公式为:

其中,k为投影点编号,n(i,j)表示二维网格grid(i,j)中的投影点总数;lk表示二维网格grid(i,j)中的投影点,lmin和lmax表示网格中距离值最大和最小的投影点。

s3、根据无人机大小设定搜索半径,根据网格与各个投影点的距离判断二维网格地图中的各个网格是否为可通过网格并分别标记;

进一步的,所述步骤s3具体包括:

s31、定义网格是否适合通过公式:

其中l(m,n)为二维网格地图上投影点(m,n)的距离值,l(i,j)表示网格坐标下(i,j)网格的距离值,其中r表示搜索的半径,r(i,j,r)表示以l(i,j)为原点,半径为r的区域;

s32、遍历每一个网格,将t(i,j)的值大于预设阈值的网格标记为可通过网格,否则标记为障碍网格,即不可通过网格。将有投影点的网格标记为不可通过网格。

s4、根据无人机大小设定最小通过区域面积s0,对标记为可通过的网格进行遍历,筛选出面积大于等于s0的可通过区域并编号;对每一个可通过区域,分别计算其与各个不可通过网格的距离,若所述距离均超过预设安全阈值,则该可通过区域为安全区域,无人机可在所述安全区域内停靠或飞行。如果部分或全部安全区域可组成一个连通域,则无人机可在该连通域内无障碍停靠或飞行。

请参阅图2,本发明提供一种基于视觉slam的无人机自主避障装置,所述装置包括:

相机标定模块210:用于通过无人机机载的单目相机采集多张标定板的图像,标定相机内部参数;

slam模块220:用于通过单目相机采集前方环境的图像序列,采用slam算法对所述图像序列进行orb特征提取、特征匹配,实时估计无人机位姿,并构建出稀疏点云地图;

进一步的,所述slam模块220具体包括:

特征提取单元:每当相机获取到新的一帧图像时,对其进行orb特征点提取;定义参考帧并根据参考帧的深度信息获取参考帧特征点的空间3d坐标;

特征匹配单元:将新获取的图像帧与参考帧进行特征点匹配,估计新的图像帧相对于参考帧的位姿变换;位姿变换成功后将新的图像帧作为参考帧;

地图构建单元:根据相机实时位姿构建稀疏点云地图。

网格划分模块230:将用于无人机相机前方的障碍物平面划分成二维网格地图,将所述稀疏点云地图中的地图点投影到所述二维网格地图中;所述网格划分模块230中,所述二维网格地图中每个网格距离公式为:

其中,k为投影点编号,n(i,j)表示二维网格grid(i,j)中的投影点总数;lk表示二维网格grid(i,j)中的投影点,lmin和lmax表示网格中距离值最大和最小的投影点。

网格标记模块240:用于根据无人机大小设定搜索半径,根据网格与各个投影点的距离判断二维网格地图中的各个网格是否为可通过网格并分别标记;

进一步的,所述网格标记模块240具体包括:

定义单元:定义网格是否适合通过公式:

其中l(m,n)为二维网格地图上投影点(m,n)的距离值,l(i,j)表示网格坐标下(i,j)网格的距离值,其中r表示搜索的半径,r(i,j,r)表示以l(i,j)为原点,半径为r的区域;

标记单元:遍历每一个网格,将t(i,j)的值大于预设阈值的网格标记为可通过网格,否则标记为障碍网格。

区域筛选模块250:根据无人机大小设定最小通过区域面积,筛选出可通过区域,计算所述可通过区域与各障碍物的距离,选择距离均超过预设安全阈值的可通过区域为安全区域。

本发明通过单目视觉slam实现无人机自主避障,不依赖于外界的定位信息、环境信息,可快速有效判断出安全区域,具有较好的实用性。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述,在此不再赘述。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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