一种基于变概率策略的导览机器人动态避障方法和装置与流程

文档序号:18411761发布日期:2019-08-13 18:27阅读:377来源:国知局
一种基于变概率策略的导览机器人动态避障方法和装置与流程

本申请涉及机器人领域,尤其涉及一种基于变概率策略的导览机器人动态避障方法、装置。



背景技术:

机器人的应用逐渐渗入到社会的各行各业,例如导览、看护、智能家居等。规划路径和避开障碍物是其中一个重要研究内容,快速搜索随机树算法rrt相对于其他算法而言,在搜索效率方面已有很大优势,在理论上总能找到一条可行路径,但是仍有需要改进的地方。由于其扩展的新节点是在运动区域中随机产生的,覆盖的区域过于平均,在产生的冗余点上有一定的耗时,同时规划出来的路径质量不高,往往与最短路径的差距较大。



技术实现要素:

鉴于现有技术中的上述缺陷或不足,提供一种基于变概率策略的导览机器人动态避障方法、装置、机器人和存储介质。根据搜索节点的不同周边状态,采用不同的概率策略扩展目标点,使搜索算法能够在空旷场景下向目标点快速生成,同时避免了路径陷入局部最小值的问题。在完成初次路径搜索后,根据路径节点位置优化不规则路线,减少小车行驶过程中的拐弯次数和总路径长度。在仿真中进行了多场景重复试验测试,仿真结果表明改进后的算法在搜索速度和路径长度上有明显改善。

第一方面,本申请实施例提供了一种基于变概率策略的导览机器人动态避障方法,其特征在于,该方法包括:

步骤一,使用轮廓绘制算法进行地图绘制;

步骤二,获得机器人起点坐标值和终点坐标值;

步骤三,使用双向快速搜索随机树rrt生成路径p,p=(p0,p1,p2...pn),其中,n>0,pi表示路径中的节点,0<=i<=n,搜索节点的周围状态时,采用可变的概率策略扩展目标点,生成一个节点pi后,计算机器人与最近障碍物的距离d,如果d小于第一阈值,则使用随机函数random()生成概率值g,将生成的概率值与第二阈值进行比较,如果概率值g小于第二阈值则节点pi符合要求,放入路径集合,如果概率值g大于或等于第二阈值则认定节点pi不符合要求,重新生成新的节点,重复生成新节点的过程,直至产生最终的路径p;

步骤四,将生成的路径p放入队列q中,每次读取三个节点a、b、c,三个节点组成两个线段ab和bc,计算两个线段之间的夹角,如果夹角小于第三阈值,按照步骤三生成节点的方式在ac之间生成新的节点b’,直至两个线段ab’和b’c之间的夹角大于第三阈值,将b’代替b加入路径p,之后再依次读取队列q的后面的节点,直至处理完所有节点,以此使得路径p变得平滑;

步骤五,输出最终的路径p,并且按照实时策略不断更新路径信息,机器人按照路径p避开障碍物。

第二方面,本申请实施例提供了一种基于变概率策略的导览机器人动态避障装置,其特征在于,该装置包括:

绘制模块,用于使用轮廓绘制算法进行地图绘制;

坐标模块,用于获得机器人起点坐标值和终点坐标值;

路径模块,用于使用双向快速搜索随机树rrt生成路径p,p=(p0,p1,p2...pn),其中,n>0,pi表示路径中的节点,0<=i<=n,搜索节点的周围状态时,采用可变的概率策略扩展目标点,生成一个节点pi后,计算机器人与最近障碍物的距离d,如果d小于第一阈值,则使用随机函数random()生成概率值g,将生成的概率值与第二阈值进行比较,如果概率值g小于第二阈值则节点pi符合要求,放入路径集合,如果概率值g大于或等于第二阈值则认定节点pi不符合要求,重新生成新的节点,重复生成新节点的过程,直至产生最终的路径p;

平滑模块,用于将生成的路径p放入队列q中,每次读取三个节点a、b、c,三个节点组成两个线段ab和bc,计算两个线段之间的夹角,如果夹角小于第三阈值,按照路径模块生成节点的方式在ac之间生成新的节点b’,直至两个线段ab’和b’c之间的夹角大于第三阈值,将b’代替b加入路径p,之后再依次读取队列q的后面的节点,直至处理完所有节点,以此使得路径p变得平滑;

输出模块,用于输出最终的路径p,机器人按照路径p避开障碍物。

第三方面,本申请实施例提供了一种机器人,其特征在于,其包括至少一个功能模块和控制器;

所述控制器包括存储器和处理器,其中,所述存储器存储有计算机程序,所述程序被所述处理器执行时实现本申请实施例描述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:

所述计算机程序被处理器执行时实现如本申请实施例描述的方法。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1示出了本申请实施例提供的基于变概率策略的导览机器人动态避障方法的流程示意图;

图2示出了本申请又一实施例提供的基于变概率策略的导览机器人动态避障装置结构框图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

请参考图1,图1示出了本申请实施例提供的基于变概率策略的导览机器人动态避障方法的流程示意图。

如图1所示,该方法包括:

步骤一,使用轮廓绘制算法进行地图绘制;

步骤二,获得机器人起点坐标值和终点坐标值;

步骤三,使用双向快速搜索随机树rrt生成路径p,p=(p0,p1,p2...pn),其中,n>0,pi表示路径中的节点,0<=i<=n,搜索节点的周围状态时,采用可变的概率策略扩展目标点,生成一个节点pi后,计算机器人与最近障碍物的距离d,如果d小于第一阈值,则使用随机函数random()生成概率值g,将生成的概率值与第二阈值进行比较,如果概率值g小于第二阈值则节点pi符合要求,放入路径集合,如果概率值g大于或等于第二阈值则认定节点pi不符合要求,重新生成新的节点,重复生成新节点的过程,直至产生最终的路径p;

步骤四,将生成的路径p放入队列q中,每次读取三个节点a、b、c,三个节点组成两个线段ab和bc,计算两个线段之间的夹角,如果夹角小于第三阈值,按照步骤三生成节点的方式在ac之间生成新的节点b’,直至两个线段ab’和b’c之间的夹角大于第三阈值,将b’代替b加入路径p,之后再依次读取队列q的后面的节点,直至处理完所有节点,以此使得路径p变得平滑;

步骤五,输出最终的路径p,并且按照实时策略不断更新路径信息,机器人按照路径p避开障碍物。

具体的,步骤四之后还包括如下步骤:判断队列q中相邻两节点之间的距离l,如果距离l大于第四阈值,则对在两节点之间插入新的节点,新的节点为随机产生,新的节点到两个节点的距离均要大于l/4。

请参考图2,图2示出了本申请又一实施例提供的基于变概率策略的导览机器人动态避障装置结构框图

如图2所示,该装置包括:

绘制模块10,用于使用轮廓绘制算法进行地图绘制;

坐标模块20,用于获得机器人起点坐标值和终点坐标值;

路径模块30,用于使用双向快速搜索随机树rrt生成路径p,p=(p0,p1,p2...pn),其中,n>0,pi表示路径中的节点,0<=i<=n,搜索节点的周围状态时,采用可变的概率策略扩展目标点,生成一个节点pi后,计算机器人与最近障碍物的距离d,如果d小于第一阈值,则使用随机函数random()生成概率值g,将生成的概率值与第二阈值进行比较,如果概率值g小于第二阈值则节点pi符合要求,放入路径集合,如果概率值g大于或等于第二阈值则认定节点pi不符合要求,重新生成新的节点,重复生成新节点的过程,直至产生最终的路径p;

平滑模块40,用于将生成的路径p放入队列q中,每次读取三个节点a、b、c,三个节点组成两个线段ab和bc,计算两个线段之间的夹角,如果夹角小于第三阈值,按照路径模块生成节点的方式在ac之间生成新的节点b’,直至两个线段ab’和b’c之间的夹角大于第三阈值,将b’代替b加入路径p,之后再依次读取队列q的后面的节点,直至处理完所有节点,以此使得路径p变得平滑;

输出模块50,用于输出最终的路径p,并且按照实时策略不断更新路径信息,机器人按照路径p避开障碍物。

具体的,还包括优化模块,用于判断队列q中相邻两节点之间的距离l,如果距离l大于第四阈值,则对在两节点之间插入新的节点,新的节点为随机产生,新的节点到所述相邻两节点的距离均要大于l/4。

作为另一方面,本申请还提供了一种机器人,机器人设备包括至少一个功能模块和控制器;所述控制器包括存储器和处理器,其中,所述存储器存储有计算机程序,所述程序被所述处理器执行描述于本申请的基于变概率策略的导览机器人动态避障方法。

作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的基于变概率策略的导览机器人动态避障方法。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(programmablegatearray;以下简称:pga),现场可编程门阵列(fieldprogrammablegatearray;以下简称:fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

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