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

机器人基于可直达的节点的路径规划方法、芯片及机器人

文献发布时间:2023-06-19 12:10:19


机器人基于可直达的节点的路径规划方法、芯片及机器人

技术领域

本发明涉及机器人的路径规划的技术领域,具体涉及机器人基于可直达的节点的路径规划方法、芯片及机器人。

背景技术

路径规划是移动机器人导航最基本的环节之一,它是按照任务要求搜索一条从起始状态到目标状态的最优或近似最优的无碰撞路径。为机器人提供良好的移动路径对提升机器人导航性能有重要意义。常用的路径规划算法按规划范围主要分为全局路径规划和局部路径规划,其中局部路径规划能帮助机器人判断周围环境有无障碍物并判断如果避开障碍物,适用于初次环境建模以及存在动态障碍物的环境,而全局路径规划更适用于在地图已知的情况下为机器人规划一条从起点到终点的路径。

目前A*搜索算法是目前为止最经典且稳定的算法,常用于为机器人规划一条从起点到终点的路径,但是规划出的路径节点多、拐点多,特别是在空旷区域存在多余折点、拐点,导致机器人在移动过程中出现不必要的方向变换控制麻烦,不容易直线逼近路径的终点位置。

发明内容

为了解决上述技术问题,本发明为移动机器人导航路径规划提供机器人基于可直达的节点的路径规划方法、芯片及机器人,通过规划机器人的当前位置节点与终止节点之间的路径的方式,尽可能地让移动机器人以直线的方式到达终止节点,具体的技术方案如下:

机器人基于可直达的节点的路径规划方法,包括在预先构建的地图中确定移动机器人的规划路径的终止节点;其特征在于,还包括:当移动机器人的当前位置节点与终止节点之间是可直达时,将移动机器人的当前位置节点与终止节点连线以组成第一规划路径;当移动机器人的当前位置节点与终止节点之间不是可直达时,从移动机器人的当前位置节点与终止节点之间的地图区域内搜索出与终止节点是可直达的中间节点,并依次连接成第一规划路径;其中,所述可直达是指移动机器人沿着移动机器人的当前位置节点朝向当前搜索的节点的射线方向,从当前位置节点移动至当前搜索的节点的直线路径上没有检测到障碍物。

与现有技术相比,通过判断移动机器人的当前位置节点与终止节点之间的可直达的情况,来规划出以直线方式移动至路径的终点位置的路径,进而减少机器人移动过程中改变方向的控制麻烦,减轻移动机器人的运动负担。

进一步地,所述从移动机器人的当前位置节点与终止节点之间的地图区域内搜索出与终止节点是可直达的中间节点以连接出第一规划路径的具体方法包括:设置当前位置节点与终止节点连接形成的线段与障碍物边缘相交得到的一障碍物预触碰节点为搜索中心,再以八邻域的方式向无障碍物的地图区域查找中间节点,直到查找到的中间节点与终止节点之间是可直达,再将当前位置节点、障碍物预触碰节点、这些中间节点和终止节点依次连接为所述第一规划路径。该技术方案不是仅依靠八邻域搜索到终止节点,而是在八邻域搜索的过程中实时判断能否直接到达终止节点,减少过多的折点、拐点的搜索计算量,从而规划出从当前位置节点或中间节点直接到达终止节点的直线路径,避免移动机器人在后续规划路径中转向的次数。

进一步地,当移动机器人的当前位置节点与终止节点之间不是可直达时,在所述障碍物预触碰节点的邻域中选择预设的路径代价最小的节点作为所述中间节点,以使得从所述障碍物预触碰节点的邻域选择的节点向无障碍物的地图区域拓展;然后用所述中间节点更新所述搜索中心,在所述中间节点的邻域中选择预设的路径代价最小的节点作为新的中间节点,重复该步骤直到检测到这个中间节点与终止节点之间是可直达。

与现有技术相比,本技术方案将当前位置节点与终止节点的直线与障碍物边缘相交的规划触碰点作为新的起点,向无障碍区进行8领域搜索直到遍历到可直达至终止节点的中间节点为止,具有明显的导向性,进而减少搜索过程中对中间节点及其衍生节点的路径代价的计算量,取而代之的是读取节点的地图值,减少多余路径节点的复杂计算,提高路径节点搜索效率。

进一步地,选择出的所有所述中间节点的连线的延伸拓展方向不指回移动机器人的当前位置节点或所述障碍物预触碰节点。避免搜索过程中出现反向搜索。

进一步地,当前位置节点、障碍物预触碰节点、这些中间节点及其对应的路径代价数值在搜索遍历后,按照遍历顺序保存在链表内存空间中,以便后续搜索过程中进行栅格位置及代价数值大小比较。从而保留下移动机器人的必要行走路径。

进一步地,在往所述表的存储空间存储节点信息的过程中,检测新的中间节点的栅格坐标与所述表的存储空间已经存在的当前位置节点、障碍物预触碰节点或中间节点对应的栅格坐标是否发生重合;若未发生重合,则将这个新的中间节点存入所述表的存储空间中;若发生重合,则通过比较新的中间节点的路径代价数值与所述表的存储空间中发生栅格坐标重合的节点对应的路径代价数值的大小,来决定是否将新的中间节点存入所述表的存储空间中,以使得最新保留下来的中间节点在第一规划路径上的路径代价不变大。

进一步地,若新的中间节点的对应的路径代价数值小于所述表的存储空间中发生栅格坐标重合的节点对应的路径代价数值,则将新的中间节点存入所述表的存储空间中,以代替所述表的存储空间中发生栅格坐标重合的节点;若新的中间节点的路径代价数值大于或等于所述表的存储空间中发生栅格坐标重合的节点对应的路径代价数值,则放弃新的中间节点,直接读取所述表的存储空间中发生栅格坐标重合的节点作为所述搜索中心。使得保存下的节点连接成的规划路径满足路径最短原则。

一种芯片,用于存储程序代码,所述芯片被配置为执行所述的机器人基于可直达的节点的路径规划方法。提高装配该芯片的移动机器人规划路径的实用性和易实施程度。

一种机器人,该机器人装配所述的芯片,用于辅助机器人执行所述的机器人基于可直达的节点的路径规划方法。减少机器人移动过程中改变方向的控制麻烦,减轻机器人的运动负担。

附图说明

图1是本发明实施例公开的机器人基于可直达的节点的路径规划方法的流程图。

图2是本发明一实施例公开的第一规划路径的规划示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细描述。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。在下面的描述中,给出具体细节以提供对实施例的透彻理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实施实施例。例如,电路可以在框图中显示,以便不在不必要的细节中使实施例模糊。在其他情况下,为了不混淆实施例,可以不详细显示公知的电路、结构和技术。

路径搜索算法是移动机器人导航过程中至关重要的一环。如在A*中,A*路径有很多的节点,其中部分节点对机器人的移动方向没有实际意义,且在地图中一些本无障碍的范围内也会出现一些拐点,这种路径会使得移动机器人在运动过程中做很多多余的动作。本发明为移动机器人导航路径规划提供基于可直达的节点的路径规划方法及芯片,通过优化规划机器人的当前位置节点与终止节点之间的路径的方式,来搜索规划出一条只存在关键节点、拐点少、路程短的路径,避免对多余节点的复杂计算,尽可能地让移动机器人以直线的方式到达终止节点,进一步提高路径搜索效率。

本发明实施例公开机器人基于可直达的节点的路径规划方法,包括:首先在预先构建的地图中确定移动机器人的规划路径的终止节点,也可以确定规划路径的起始节点,连同后续步骤的寻路算法搜索规划出的节点都会存储到一个表的存储空间内。优选地,所述表的存储空间可以是一个首端是起始节点、尾端是终止节点的数组,在这个数组中,除了起始节点之外的所有路径节点与自己的前一个节点在逻辑位置上是相邻的,用于缓存新搜索的路径节点,实现保存规划出的路径。

当移动机器人的当前位置节点与终止节点之间是可直达时,将移动机器人的当前位置节点与终止节点连线以形成第一规划路径;当移动机器人的当前位置节点与终止节点之间不是可直达时,从移动机器人的当前位置节点与终止节点之间的地图区域内搜索出与终止节点是可直达的中间节点以连接出第一规划路径,这里的搜索可以是采取常规的A*启发式搜索路径算法,包括邻域搜索遍历;在本发明实施例的地图上,由移动机器人的当前位置往终止节点发出射线,这条射线所经过的区域可能包括障碍物点、规划的目标点和终止节点,所以需要对移动机器人的当前位置节点与终止节点之间的连线进行可直达性判断,以在坚持最短原则的基础上避免引入不必要的节点计算,相对于A*算法规划出的路径,有效避免一部分拐点,从而剩余的节点连接出的路径让机器人运动时需要每次转动的角度小,而路径也就更平滑。

需要说明的是,所述可直达是指移动机器人沿着移动机器人的当前位置节点朝向当前搜索的节点的射线方向,从当前位置节点移动至当前搜索的节点的直线路径上没有检测到障碍物;也可以是在预先构建的地图区域上,当前搜索的节点与移动机器人的当前位置节点连接成的线段不穿过标记障碍物的节点位置,具体是:移动机器人在当前位置节点到搜索到的一个节点的路线上不会检测到障碍物,这些障碍物的节点都是预先标记在地图中并可以存储到前述表的存储空间内。其中,当前位置节点是移动机器人的实际物理位置,是固定不变的。所述当前位置节点也可以视为起始节点,移动机器人在这个固定的当前位置节点处开始计算规划路径。其中,移动机器人的机体宽度忽略不计。

与现有技术相比,本实施例通过判断移动机器人的当前位置节点与终止节点之间的可直达的情况,来规划出从当前位置到达终止节点的最短直线路径,减少规划计算过多的路径节点、折点、拐点,进而减少机器人移动过程中的方向变换麻烦和位姿变换的次数,使得机器人在运动较为简便地到达终止节点。

作为一种实施例,如图1所示,公开机器人基于可直达的节点的路径规划方法,该路径规划方法包括:

步骤S101、在预先构建的地图上开始规划路径,然后进入步骤S102。这是移动机器人在当前位置节点处开始规划一条目标位置是预先标记的所述终止节点的导航路径。

步骤S102、判断移动机器人的当前位置节点与终止节点之间是否可直达,是则进入步骤S103,否则进入步骤S104;这需要判断移动机器人的当前位置节点与终止节点的连线上是否存在障碍物,判断移动机器人是否能够由当前位置直线行走至所述终止节点。

步骤S103、将移动机器人的当前位置节点与终止节点连线以组成第一规划路径,则路径规划任务结束,后续移动机器人可以按照这个第一规划路径从当前位置节点行走至所述终止节点处,减少经过不必要的弯折节点,从而以直线的方式直达终点,这样的移动路径更符合机器人的运动。

步骤S104、在确定移动机器人的当前位置节点与终止节点的连线上存在障碍物的情况下,设置当前位置节点与终止节点连接形成的线段与障碍物边缘相交得到的一障碍物预触碰节点为搜索中心,然后进入步骤S105。其中,这个障碍物预触碰节点不一定是移动机器人与障碍物实际发生物理碰撞的位置,但是移动机器人沿着当前位置节点指向终止节点的方向行走一定能够碰触障碍物的位置;若检测到这个障碍物预触碰节点没有在所述表的存储空间内,则将这个障碍物预触碰节点保存到所述表的存储空间内。

步骤S105、以八邻域的搜索方式向无障碍物的地图区域查找中间节点,然后进入步骤S107。具体地,当移动机器人的当前位置节点与终止节点之间不是可直达时,在所述障碍物预触碰节点的邻域中选择预设的路径代价最小的节点作为所述中间节点,以使得从所述障碍物预触碰节点的邻域选择的节点向无障碍物的地图区域拓展,直到所述中间节点与所述终止节点的连线没有通过障碍物节点。

需要说明的是,在本实施例中所使用的八邻域的搜索方式是属于现有技术的A*算法的一些具体步骤,是能够根据障碍物标记的位置规划出绕着障碍物边缘行走的节点路径,且A*算法的八邻域的搜索方式搜索过的每一个节点都作为路径,A*算法的八邻域的搜索规划路径的方法在移动机器人靠近障碍物的区域绕障行走比较适用,但是会保留了很多不必要的路径,尤其是在无障碍空旷区域使用邻域搜索计算路径代价的规划方式会浪费计算资源。

步骤S107、判断当前查找的中间节点与终止节点之间是否可直达,是则进入步骤S108,否则进入步骤S106。即判断终止节点相对于当前查找的中间节点是否可直达或支持传感器无阻碍的可检测到,判断步骤S105查找的中间节点与终止节点之间的连线上是否存在障碍物,这是每搜索到其中一个邻域的中间节点时都需执行的判断步骤,从而减少搜索过程中对中间节点的路径代价的计算量,取而代之的是通过读取节点的地图值来判断两个节点之间的可直达性,比如存在障碍物时相应地图栅格标记为1,否则标记为0,提高搜索效率和检测障碍物的效率,减少多余路径代价的复杂计算。

值得注意的是,这个障碍物预触碰节点是搜索规划出的第一个靠近障碍物的搜索中心,后续在判断中间节点与终止节点是否可直达的过程中,筛选出的搜索中心(中间节点)不一定靠近障碍物边缘的,提高移动机器人移动的安全性。

步骤S106、在当前查找的中间节点与终止节点之间不是可直达的情况下,使用步骤S105查找的中间节点更新步骤S104确定的搜索中心,再返回步骤S105继续以八邻域的方式进行搜索。从而不需逐个节点的进行路径代价计算,直到终点出现在某一节点的邻域中。

步骤S108、将步骤S102所述的当前位置节点、步骤S104获得的障碍物预触碰节点、前述步骤依次搜索获得的中间节点和所述终止节点依次连接为第一规划路径。在本实施例中,所述当前位置节点是视为第一规划路径的起始位置,障碍物预触碰节点是前述步骤的八邻域的搜索中心以搜索出中间节点,这些中间节点也是被视为在前述步骤的八邻域方式的搜索过程中不断地更新所述搜索中心,在当前查找的中间节点与终止节点之间是可直达的情况下,将当前位置节点、障碍物预触碰节点、这些中间节点和终止节点依次连接为所述第一规划路径。

前述步骤将当前位置节点与终止节点的直线与障碍物边缘相交的规划触碰点作为新的起点,向无障碍区进行8邻域搜索直到遍历到可直达至终止节点的中间节点为止,具有明显的导向性,进而减少搜索过程中对中间节点及其衍生节点的路径代价的计算量,取而代之的是读取节点的地图值,减少多余路径节点的复杂计算,提高路径搜索效率。这样规划处理出来的第一规划路径可以让移动机器人尽可能地选择直线的方式直达终点,更符合移动机器人的实际运动情况。

在一些实际导航场景中,基于前述的步骤,对于装配激光雷达或视觉摄像头的移动机器人,移动机器人在当前位置点处向一个预设的目标点发射一条射线,若这两点之间没有障碍,则发出的射线遇到的第一个阻碍就是目标点,若两点之间有障碍,则光线遇到的第一个阻碍就是障碍点,此时再用八领域搜索向无障碍区域延伸,直到某点处射出的光线可以直接到达目标点。

优选地,该步骤可以在八邻域搜索节点的过程中对搜索条件进行方向约束,使得选择出的所有的中间节点的连线的延伸拓展方向不返回移动机器人的当前位置节点或所述障碍物预触碰节点,避免又搜索回已遍历路径,降低移动机器人的工作效率。需要说明的是,当前位置节点、障碍物预触碰节点、这些中间节点及其对应的路径代价数值在搜索遍历后,按照遍历顺序保存在表的存储空间中,以便后续搜索过程中进行栅格位置及代价数值大小比较。从而保留下移动机器人的必要行走路径。

优选地,将前述步骤S105查找到新的中间节点送往所述表的存储空间时,先检测新的中间节点的栅格坐标与所述表的存储空间已经存在的当前位置节点、障碍物预触碰节点或中间节点对应的栅格坐标是否发生重合;若未发生重合,则将这个新的中间节点保存入所述表的存储空间中。在发生重合的情况下,若这个新的中间节点对应的路径代价数值小于所述表的存储空间中发生栅格坐标重合的节点对应的路径代价数值,则将新的中间节点保存入所述表的存储空间中,以代替所述表的存储空间中发生栅格坐标重合的节点,从而保存下路径代价更小的路径节点,满足最短路径的原则,后续回溯路径的长度也更小,提高路径规划效率;若新的中间节点的路径代价数值大于或等于所述链表内存空间中发生栅格坐标重合的节点对应的路径代价数值,则放弃新的中间节点,直接读取所述表的存储空间中发生栅格坐标重合的节点作为所述搜索中心。从而在不影响搜索出的中间节点的主要延伸拓展趋势的前提下,让保存下的节点连接成的规划路径满足路径最短原则。

如图2所示,图示的是移动机器人在当前位置节点A1处规划出由A1通向终止节点P的路径的示意图,在图2所示的实施例中可以将移动机器人的当前位置节点A1视为起点位置节点,而移动机器人在地图上可以视为具有一定机体直径宽度的圆形。

如图2所示,当前位置节点A1与终止节点P的连线(图2的虚线)存在障碍物1(当前位置节点A1 射向终止节点P的射线(图2的虚线)穿过障碍物1),则将连线A1P与障碍物1的边缘的交点A2设置为一障碍物预触碰节点,这个障碍物预触碰节点A2是移动机器人容易与障碍物1发生物理碰撞位置,在一些场景中,由于地图漂移等误差影响,移动机器人在A2位置处不一定碰触障碍物1,但A2位置一定是贴近障碍物1的位置之一。

在确定障碍物预触碰节点A2后,以节点A2为搜索中心,在所述障碍物预触碰节点A2的邻域中选择预设的路径代价最小的节点A3作为所述中间节点;然后判断到节点A3与终止节点P的连线也存在障碍物 1(节点A3射向终止节点P的射线穿过障碍物1),再使用节点A3更新搜索中心,再在节点A3的邻域中选择预设的路径代价最小的节点A4作为中间节点,然后判断到节点A4与终止节点P的连线也同样穿过障碍物1。

接着继续以前述实施例的八邻域的方式在节点A4的邻域中选择预设的路径代价最小的节点A5作为中间节点,然后判断到节点A5与终止节点P的连线没有穿过障碍物1但穿过障碍物2。同理可以判断到中间节点A6与终止节点P的连线、中间节点A7与终止节点P的连线都穿过障碍物2;直到:以中间节点A7为搜索中心,在节点A7的邻域中选择预设的路径代价最小的节点A8作为中间节点后,判断到中间节点A8 与终止节点P的连线没有穿过障碍物2和障碍物1,确定中间节点A8与终止节点P之间是可直达的,这时才结束判断和以八邻域的方式继续搜索。

然后,依次将节点A1、节点A2、节点A3、节点A4、节点A5、节点A6、节点A7、节点A8、节点P连接起来,如图2中的黑色带箭头的实线所示,即为所述第一规划路径。

本发明实施例还公开一种芯片,用于存储程序代码,所述芯片被配置为执行前述实施例的机器人基于可直达的节点的路径规划方法。本实施例规划出的第一规划路径让移动机器人以直线路径的方式更加直接地移动至终止节点,避免对多余拐点的复杂处理。进一步提高路径搜索效率。提高路径的平滑度和安全性。从而在前述实施例的算法芯片化后,提高装配该芯片的移动机器人规划路径的实用性和易实施程度。

本发明实施例还公开一种机器人,该机器人装配前述实施例的芯片,用于辅助机器人执行所述的机器人基于可直达的节点的路径规划方法。减少机器人移动过程中改变方向的控制麻烦,减轻机器人的运动负担。该机器人是一种自移动机器人,包括但不限于激光导航机器人、视觉导航机器人。

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

相关技术
  • 机器人基于可直达的节点的路径规划方法、芯片及机器人
  • 基于寻径代价的清洁路径规划方法、芯片及清洁机器人
技术分类

06120113196029