掌桥专利:专业的专利平台
掌桥专利
首页

移动机器人的导航方法、导航装置

文献发布时间:2024-04-18 19:59:31


移动机器人的导航方法、导航装置

技术领域

本发明涉数据处理技术领域,具体涉及一种移动机器人的导航方法和一种移动机器人的导航装置。

背景技术

移动机器人的导航问题本质上是最短路问题,如果不考虑移动机器人的三维移动,那么移动机器人的导航问题可以进一步简化为平面几何最短路问题。目前,移动机器人的导航主要采用以下几种算法:

(1)基于搜索的算法,例如Dijkstra算法(又叫狄克斯特拉算法),其优点是时间复杂度低且稳定,可以得到最优解;但是缺点是建图过程繁琐。

(2)采样类算法,例如概率地图算法、人工势场法,这类算法易于理解,但时间复杂度不稳定,且易于陷入局部最优解。

(3)智能优化算法,例如遗传算法、模糊逻辑算法、蚁群算法等,这类算法在调校良好时速度比搜索更快,但是时间复杂度不稳定,并且通常难以得到最优解。

发明内容

本发明为解决上述技术问题,提供了一种移动机器人的导航方法。

本发明还提供了一种移动机器人的导航装置。

本发明采用的技术方案如下:

本发明的第一方面实施例提出了一种移动机器人的导航方法,包括以下步骤:对所述移动机器人的运动过程进行SLAM(Simultaneous Localization And Mapping,同时定位与地图构建)建模,以获取所述移动机器人的真实环境的障碍点地图;根据所述障碍点地图,建立三角导航网格;在所述三角导航网格上采用A*算法(一种静态路网中求解最短路径最有效的直接搜索方法)进行寻路,以获取基于三角导航网格的最短三角路径;根据所述基于三角导航网格的最短三角路径生成最短折线路径;根据所述最短折线路径进行导航。

本发明上述提出的移动机器人的导航方法还具有如下附加技术特征:

根据本发明的一个实施例,根据所述障碍点地图,建立三角导航网格,具体包括:根据所述障碍点地图中的障碍点,通过求凸包、合并凸包和三角剖分建立所述三角导航网格。

根据本发明一个实施例,在所述三角导航网格上采用A*算法进行寻路,以获取基于三角导航网格的最短三角路径,具体包括:将所述三角导航网格上的三角形视作点,将三角形的邻接关系视作边,以将所述三角导航网格转化为拓扑图;将代价函数定义为三角形间的距离,并采用A*算法在所述拓扑图上寻路,以获取基于三角导航网格的最短三角路径。

根据本发明的一个实施例,所述最短三角路径包括至少一条。

根据本发明的一个实施例,采用漏斗算法根据所述基于三角导航网格的最短三角路径生成最短折线路径。

本发明的第二方面实施例提出了一种移动机器人的导航装置,包括:点云图建模模块,所述点云图建模模块用于对所述移动机器人的运动过程进行SLAM建模,以获取所述移动机器人的真实环境的障碍点地图;三角网格建立模块,所述三角网格建立模块用于根据所述障碍点地图,建立三角导航网格;A*寻路模块,所述A*寻路模块用于在所述三角导航网格上采用A*算法进行寻路,以获取基于三角导航网格的最短三角路径;折线路径生成模块,所述折线路径生成模块用于根据所述基于三角导航网格的最短三角路径生成最短折线路径;导航模块,所述导航模块用于根据所述最短折线路径进行导航。

本发明上述提出的移动机器人的导航装置还具有如下附加技术特征:

根据本发明的一个实施例,所述三角网格建立模块具体用于:根据所述障碍点地图中的障碍点,通过求凸包、合并凸包和三角剖分建立所述三角导航网格。

根据本发明的一个实施例,所述A*寻路模块具体用于:将所述三角导航网格上的三角形视作点,将三角形的邻接关系视作边,以将所述三角导航网格转化为拓扑图;将代价函数定义为三角形间的距离,并采用A*算法在所述拓扑图上寻路,以获取基于三角导航网格的最短三角路径。

根据本发明的一个实施例,所述最短三角路径包括至少一条。

根据本发明的一个实施例,所述折线路径生成模块具体采用漏斗算法根据所述基于三角导航网格的最短三角路径生成最短折线路径。

本发明的有益效果:

本发明基于真实环境建立三角导航网,并基于三角导航网格的A*算法进行寻路应用于移动机器人的导航,解决了基于搜索的算法不易建图的问题,且能求得全局最优解,时间复杂度的开销可估计并且远远低于采样类算法和智能优化算法,在保证全局最优的同时兼具优秀的运行效率。

附图说明

图1是根据本发明一个实施例的移动机器人的导航方法的流程图;

图2是根据本发明一个具体示例的利用SLAM建模获取的移动机器人的真实环境的障碍点地图的示意图;

图3是根据本发明一个具体示例的基于三角导航网格的最短三角路径的示意图;

图4是根据本发明一个具体示例的随机生成的复杂地图;

图5是根据本发明一个具体示例的在图4中的复杂地图基础上生成的最短折线路径的示意图;

图6是图5中短折线路径放大后的示意图;

图7是根据本发明一个实施例的移动机器人的导航装置的方框示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是根据本发明一个实施例的移动机器人的导航方法的流程图,如图1所示,该方法包括以下步骤:

S1,对移动机器人的运动过程进行SLAM建模,以获取移动机器人的真实环境的障碍点地图。

具体地,SLAM是指搭载特定传感器的主体,在没有环境先验信息的情况下,在运动过程中建立环境的模型,同时估计自己的运动。SLAM建模通常包含几个过程,这些过程的最终目的是更新移动机器人的位置估计信息。由于通过移动机器人运动估计得到的移动机器人位置信息通常具有较大的误差,因而,不能单纯的依靠移动机器人运动估计移动机器人位置信息。在使用移动机器人运动方程得到机器人位置估计后,可以使用测距单元得到的周围环境信息更正移动机器人的位置。上述更正过程一般通过提取环境特征,然后在移动机器人运动后重新观测特征的位置实现。

可以通过对移动机器人搭载LDS-01激光雷达,在turtlebot3(一种软硬件学习平台)平台上通过burger(伯格)、waffle(华夫)等模型对移动机器人的真实环境进行SLAM建模,从而得到真实环境的障碍点地图,举例而言,利用SLAM建模获取的移动机器人的真实环境的障碍点地图可参见图2所示。

S2,根据障碍点地图,建立三角导航网格。

进一步地,根据障碍点地图,建立三角导航网格,具体包括:根据障碍点地图中的障碍点,通过求凸包、合并凸包和三角剖分建立三角导航网格。具体可以通过开源的Triangle库或者Delaunay库建立三角导航网格。

S3,在三角导航网格上采用A*算法进行寻路,以获取基于三角导航网格的最短三角路径。

进一步地,根据本发明的一个实施例,在三角导航网格上采用A*算法进行寻路,以获取基于三角导航网格的最短三角路径,具体包括:将三角导航网格上的三角形视作点,将三角形的邻接关系视作边,以将三角导航网格转化为拓扑图;将代价函数定义为三角形间的距离,并采用A*算法在拓扑图上寻路,以获取基于三角导航网格的最短三角路径。

其中,最短三角路径包括至少一条。

具体地,这个最短三角路径未必在下一步运算后也最短,因此考虑记录最短、次短或者第k短形成多条最短三角路径。

基于三角导航网格的最短三角路径可参见图3所示。

S4,根据基于三角导航网格的最短三角路径生成最短折线路径。

进一步地,可以采用漏斗算法(拐角点法)根据基于三角导航网格的最短三角路径生成最短折线路径。

具体地,还可以通过取最短三角路径中三角形相邻边中点生成最短折线路径。

S5,根据最短折线路径进行导航。

具体地,采用以上步骤,在图4所示的随机生成的复杂地图上对移动机器人进行导航,其路径规划结果即生成最短折线路径如图5所示,将图5中的最短折线路径放大后可参见图6所示。上述方法提供了完整的从真实环境建立三角导航网格到生成最短折线路径的方法。

根据以上流程,可以大致估算时间复杂度的开销。假设障碍点地图中点的个数为n,则三角剖分的最坏时间复杂度为

由分析知,基于三角导航网格和A*算法的航路规划,最坏时间复杂度为

本发明在保证全局最优的同时兼具优秀的运行效率,经相关试验验证,在包含椭圆、凹多边形、椭圆和多边形相交等复杂图形障碍,包含共计8587个障碍、197507个顶点的复杂地图上仅需不到10s即可求得最短折线路径。对比基于搜索的算法,本发明提供了完整的从真实环境建立三角导航网格到生成最短折线路径的方法,解决了基于搜索的算法不易建图的问题,对比采样类算法和智能优化算法,本算法能求得全局最优解,时间复杂度可估计并且远远低于采样类算法和智能优化算法。

综上所述,根据本发明实施例的移动机器人的导航方法,基于真实环境建立三角导航网,并基于三角导航网格的A*算法进行寻路应用于移动机器人的导航,解决了基于搜索的算法不易建图的问题,且能求得全局最优解,时间复杂度的开销可估计并且远远低于采样类算法和智能优化算法,在保证全局最优的同时兼具优秀的运行效率。

与上述的移动机器人的导航方法相对应,本发明还提出一种移动机器人的导航装置。由于本发明的装置实施例与上述的方法实施例相对应,对于装置实施例中未披露的细节,可参照上述的方法实施例,本发明中不再进行赘述。

图7是根据本发明一个实施例的移动机器人的导航装置的方框示意图,如图7所示,该装置包括:点云图建模模块1、三角网格建立模块2、A*寻路模块3、折线路径生成模块4和导航模块5。

其中,点云图建模模块1用于对移动机器人的运动过程进行SLAM建模,以获取移动机器人的真实环境的障碍点地图;三角网格建立模块2用于根据障碍点地图,建立三角导航网格;A*寻路模块3用于在三角导航网格上采用A*算法进行寻路,以获取基于三角导航网格的最短三角路径;折线路径生成模块4用于根据基于三角导航网格的最短三角路径生成最短折线路径;导航模块5用于根据最短折线路径进行导航。

根据本发明的一个实施例,三角网格建立模块2具体用于:根据障碍点地图中的障碍点,通过求凸包、合并凸包和三角剖分建立三角导航网格。

根据本发明的一个实施例,A*寻路模块3具体用于:将三角导航网格上的三角形视作点,将三角形的邻接关系视作边,以将三角导航网格转化为拓扑图;将代价函数定义为三角形间的距离,并采用A*算法在拓扑图上寻路,以获取基于三角导航网格的最短三角路径。

根据本发明的一个实施例,最短三角路径包括至少一条。

根据本发明的一个实施例,折线路径生成模块4具体采用漏斗算法根据基于三角导航网格的最短三角路径生成最短折线路径。

综上所述,根据本发明实施例的移动机器人的导航装置,基于真实环境建立三角导航网,并基于三角导航网格的A*算法进行寻路应用于移动机器人的导航,解决了基于搜索的算法不易建图的问题,且能求得全局最优解,时间复杂度的开销可估计并且远远低于采样类算法和智能优化算法,在保证全局最优的同时兼具优秀的运行效率。

在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。“多个”的含义是两个或两个以上,除非另有明确具体地限定。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术分类

06120116522432