产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:一种面向拓扑-栅格-度量混合地图的分层路径规划方法
专利类型:发明专利
专利申请号:CN202210340211.4
专利申请(专利权)人:南京航空航天大学
权利人地址:江苏省南京市御道街29号
专利发明(设计)人:武星,杨俊杰,王超超,楼佩煌,余文康,翟晶晶,胡子寒,汤凯
专利摘要:本发明涉及一种面向拓扑?栅格?度量混合地图的分层路径规划方法,属于路径规划领域。首先,根据拓扑?栅格?度量混合地图构造方法,创建移动机器人作业环境的混合地图;其次,根据拓扑?栅格分层规划方法生成一条整体优化的全局预设路径;最后,当移动机器人沿全局预设路径运行时,实时探测周围障碍物,若障碍物可能阻碍移动机器人的运行路径,则在度量地图上利用深度强化学习的改进深度确定性策略梯度算法进行局部路径规划,完成避障后重新回到全局预设路径,重复该过程直至移动机器人到达目标位置。本方法采用分层思想,将路径规划分为若干个子过程,在各层地图上应用不同的路径规划方法,降低规划问题的复杂度,面对部分未知的复杂大场景环境具有更高的搜索效率和适应性。
主权利要求:
1.一种面向拓扑?栅格?度量混合地图的分层路径规划方法,其特征在于,包括步骤:步骤1:根据拓扑?栅格?度量混合地图构造方法,创建移动机器人作业环境的混合地图,包括抽象化表示的拓扑地图、具体化表示的栅格地图、精细化表示的度量地图,具体步骤如下:步骤1.1:对整体作业环境进行栅格化表示,构造全局栅格地图;
步骤1.2:将全局栅格地图划分为若干个子栅格地图,每个子栅格地图均设置关键节点,利用层次图将工作环境描述为以子地图为树形节点的分层地图表示,在第k层地图中,第k+1层子地图以关键节点表示,同一层次的关键节点间通过离线先验路径连接;
步骤1.3:在栅格地图上采用细化算法生成安全度较高的离线先验路径,通过拓扑特征提取方法,构建各层次子栅格地图对应的拓扑地图;所述拓扑特征提取方法将栅格地图上离线先验路径的分岔点作为拓扑地图中的普通节点,人工选取区域入口栅格或其他具有代表性的栅格作为子栅格地图的关键节点,统计关键节点之间的离线先验路径长度作为边的权重,所述路径长度为路径包含的栅格数;
步骤1.4:移动机器人在运行过程中利用其所携带的机载传感器信息来维护和更新局部度量地图;
步骤2:在移动机器人运行前,根据拓扑?栅格分层规划方法生成一条整体优化的全局预设路径,包括以下步骤:步骤2.1:判断起始栅格S和目标栅格D是否在同一子地图中,若是,进入步骤2.2,若否,则进入步骤2.3;
步骤2.2:针对起点S到终点D,采用改进A*算法规划一条整体优化的全局预设路径,步骤2结束;
步骤2.3:分别获取起点S和终点D在层次图架构中的深度Ls、LD及其所在子栅格地图的关键节点CS、CD,若Ls
步骤2.4:以S为起点,关键节点CS为终点,利用改进A*算法在起点S所在子栅格地图上搜索一条局部路径并保存为前段预设路径;将关键节点CD设为起点,终点D设为终点,利用改进A*算法在起点S所在子栅格地图上搜索另一条局部路径并保存为后段预设路径;若无法搜索出可行解,则路径规划失败,步骤2结束;
步骤2.5:将步骤2.3生成的中段预设路径与步骤2.4搜索的前段预设路径、后段预设路径合并,得到整体优化的全局预设路径,步骤2结束;
步骤3:当移动机器人沿全局预设路径运行时,实时探测周围环境,判断离机器人最近障碍物的距离是否小于避障阈值,若是,进入步骤4,若否,则进入步骤5;
步骤4:在度量地图上利用改进深度确定性策略梯度(DeepDeterministicPolicyGradient,DDPG)算法进行局部路径规划:先构建价值分类经验回放池,将高价值样本、普通样本及近期样本分别存储于价值分类经验回放池的三种样本子回放池;再采用分层采样策略从所述三种样本子回放池中随机抽取适量样本用于DDPG算法进行局部路径规划的学习训练;并引入包括到达奖励、碰撞惩:凸探崩牧崩,对DDPG算法所规划的局部路径进行奖励或惩罚,训练DDPG算法规划更优的局部路径,通过局部路径规划完成避障后重新回到全局预设路径;
步骤5:判断移动机器人是否到达目标位置,若是,算法结束,若否,则进入步骤3。
2.根据权利要求1所述的面向拓扑?栅格?度量混合地图的分层路径规划方法,其特征在于,所述改进A*算法在标准A*算法中引入双向搜索机制,同时从起点和终点开始进行正向搜索和反向搜索,包括以下步骤:步骤3.1:初始化Open1、Open2、Close1、Close2列表,并在Open1中加入起点S,Open2加入终点D;
步骤3.2:从Open1和Open2列表中分别取出代价值最小的节点n1、n2,并分别移入Close1和Close2;
步骤3.3:判断n1、n2是否是相对搜索方向上的当前搜索节点,若是,则算法结束,将正向和反向生成的路径拼合即为最终优化路径,若否,则进入步骤3.4;
步骤3.4:正向搜索以S为起点,n2为终点,n1为中心向周围8邻域扩展,并根据筛选扩展点的规则更新Open1;
步骤3.5:反向搜索以D为起点,n1为终点,n2为中心向周围8邻域扩展,并根据筛选扩展点的规则更新Open2;
步骤3.6:判断Open1和Open2是否为空,若是则算法结束,无法找到有效路径,若否则进入步骤3.2。
3.根据权利要求1所述的面向拓扑?栅格?度量混合地图的分层路径规划方法,其特征在于,所述改进A*算法在标准A*算法中引入路径冗余点剔除技术,具体包括以下步骤:步骤4.1:在原始路径的每对相邻节点之间距离二等分处插入新节点;
步骤4.2:记起始节点为P1,下一个节点为P2,依次编号直到终点Pk,同时每个节点将它编号的前一个节点设置为父节点;
步骤4.3:设Pn为优化基准节点,Pc为当前探索的节点,n初始化为k,c初始化为k?2;
步骤4.4:判断Pn与Pc的连线Lnc是否经过障碍物,若经过障碍物则说明Pc+1无法被删除,Pn跳转至Pc+1;否则删除Pc+1,并将Pc设为Pn的父节点,同时Pc跳转至其父节点Pc?1;
步骤4.5:重复步骤4.4,直到Pn=P1或Pc=P1;
步骤4.6:按父节点指针连接剩余的节点。
4.根据权利要求1所述的面向拓扑?栅格?度量混合地图的分层路径规划方法,其特征在于,所述价值分类经验回放池由三个队列组成,包括存放高价值样本的子回放池B1、存放近期样本的子回放池B2、存放普通样本的子回放池B3,每个子回放池按如下五元组形式存储经验样本:(St,at,rt,St+1,done)(2)
式(2)表示智能体在状态St时执行动作at后到达新的状态St+1,同时获得环境给予的奖励rt,其中done表示St+1是否为终止状态;
价值分类经验回放池具体构建步骤为:
初始化时设置B1、B3两个子回放池中所有样本价值的平均值Vm为0,同时奖励值的权重系数α设为1;训练过程中每个时间步产生一条经验样本,产生的样本先加入B2队列尾部,若B2达容量上限后从队列首部弹出一个样本,并根据样本价值衡量标准计算样本的价值,若高于Vm,则将该样本添加至B1,反之存入B3中;存储完毕后,更新Vm和α,重复以上过程直至训练结束;
以时间步t产生的样本为例,所述样本价值衡量标准计算方式为:
Vt=α*|rt|+(1?α)*|δt|(3)
Q′ Q
δt=rt+γQ′(St+1,at+1;θ )?Q(St,at;θ)(4)式(3)中,Vt为样本的价值,|rt|为样本奖励值的绝对值,α是|rt|的权重系数,|δt|为样本时间差分误差的绝对值,(1?α)是|δt|的权重;
Q′
式(4)中,γ为奖励值衰减系数,Q′为目标价值网络状态动作值,θ 为目标价值网络参Q数,Q为在线价值网络状态动作值,θ为在线价值网络参数,St为时间步t时的状态空间,at为该状态空间下决策出的动作值,St+1为智能体在St执行at后到达的新的状态,at+1为新状态下的动作值;
所述分层采样策略分别从B1、B2、B3子回放池中随机抽取适量样本用于训练网络。
5.根据权利要求1所述的面向拓扑?栅格?度量混合地图的分层路径规划方法,其特征在于,所述连续奖励函数,包括到达奖励ra、碰撞惩罚rc、过程奖励rn三部分,奖励函数rt定义为:导航过程中,机器人执行动作获得的过程奖励rn分为4部分:距离奖励rd、安全性惩罚rs、运动惩罚rm和步数惩罚rp,如公式(6)所示:rn=rd+rs+rm+rp(6)
在式(6)中,距离奖励rd为
rd=k1*(Dg(St?1)?Dg(St))(7)
其中,k1是距离奖励系数,Dg(St?1)表示机器人在上一状态离目标点的距离,Dg(St)表示机器人在当前状态离目标点的距离;
在式(6)中,安全性惩罚rs为:
其中,k2为安全性惩罚系数,Do表示机器人离周围最近障碍物的距离,ds为安全距离阈值;sr表现路径的安全程度,定义如下:在式(6)中,运动惩罚rm为:
其中,k3为运动惩罚系数;wt表示当前状态输出的角速度,wt?1表示上一状态输出的角速度;
在式(6)中,步数惩罚rp为:
rp=k4(11)
其中,k4为步数惩罚系数。 说明书 : 一种面向拓扑?栅格?度量混合地图的分层路径规划方法技术领域[0001] 本发明涉及路径规划领域,具体涉及一种面向拓扑?栅格?度量混合地图的分层路径规划方法。背景技术[0002] 路径规划是导航的基。淠康氖且谰菀桓龌蚨喔鲂阅苤副耆绨踩、距离最短、时间最优等,搜索一条从起点到终点的无碰撞最优或次优路径。对于已知环境地图的路径规划至今已有大量较为成熟的研究开云优惠体育网页版入口,但实际应用中大多数场景较为复杂,随机性比较强,属于部分未知环境。现有大部分路径规划方法较为依赖确切环境,对于部分未知环境下的路径规划,避障安全性和实时性难以得到保证。此外,移动机器人的任务越来越复杂,要求其工作范围也不断扩大,例如扫地机器人需具备清扫整屋的每个角落的能力,工厂中AGV涉及到跨车间配送等。工作范围的扩大不仅对室内定位技术带来了挑战,广泛应用的智能搜索方法也因为搜索空间增大花费较长时间才能求得解,甚至无法搜索到最优解。[0003] 现有技术公开了一种基于改进的A*算法的路径规划方法(公开号:CN113359768A),将改进A*算法与人工势场法相结合设计出混合路径规划算法,优化了全局初始路径且考虑了环境未知情况,但全局路径规划时,直接在栅格地图上应用A*和蚁群算法,若面对大场景环境,算法搜索空间急剧膨胀,路径搜索效率降低,同时人工势场法应对突然出现的障碍物可能会出现频繁摆动问题,不利于机器人运动控制。[0004] 面对部分未知的复杂大场景环境,采用单一地图的路径规划算法效果尚不理想,主要体现在对环境信息完整度要求较高、搜索空间较大、规划耗时、避障实时性不高等方面。发明内容[0005] 为解决现有技术中存在的技术缺陷,本发明提出了一种面向拓扑?栅格?度量混合地图的分层路径规划方法,将路径规划拆分为若干个子过程,通过在拓扑、栅格、度量地图上应用不同路径规划方法,解决了现有技术在面对部分未知的复杂大场景环境时搜索空间较大、规划耗时、避障实时性不高等问题。[0006] 本发明通过以下技术方案实现:[0007] 面向拓扑?栅格?度量混合地图的分层路径规划方法,包括步骤:[0008] 步骤1:根据拓扑?栅格?度量混合地图构造方法,创建移动机器人作业环境的混合地图,包括抽象化表示的拓扑地图、具体化表示的栅格地图、精细化表示的度量地图;[0009] 步骤2:在移动机器人运行前,根据拓扑?栅格分层规划方法生成一条整体优化的全局预设路径;[0010] 步骤3:当移动机器人沿全局预设路径运行时,实时探测周围环境,判断离机器人最近障碍物的距离是否小于避障阈值,若是,进入步骤4,若否,则进入步骤5;[0011] 步骤4:在度量地图上利用改进深度确定性策略梯度(DeepDeterministicPolicyGradient,DDPG)算法进行局部路径规划:先构建价值分类经验回放池,将高价值样本、普通样本及近期样本分别存储于价值分类经验回放池的三个子回放池;再采用分层采样策略从所述三种样本子回放池中随机抽取适量样本用于DDPG算法进行局部路径规划的学习训练;并引入包括到达奖励、碰撞惩:凸探崩牧崩,对DDPG算法所规划的局部路径进行奖励或惩罚,训练DDPG算法规划更优的局部路径,通过局部路径规划完成避障后重新回到全局预设路径;[0012] 步骤5:判断移动机器人是否到达目标位置,若是,算法结束,若否,则进入步骤3。[0013] 进一步地,所述拓扑?栅格?度量混合地图构造方法包括以下步骤:[0014] 步骤1.1:对整体作业环境进行栅格化表示,构造全局栅格地图;[0015] 步骤1.2:将全局栅格地图划分为若干个子栅格地图,每个子栅格地图均设置关键节点,利用层次图将工作环境描述为以子地图为树形节点的分层地图表示,在第k层地图中,第k+1层子地图以关键节点表示,同一层次的关键节点间通过离线先验路径连接;[0016] 步骤1.3:在栅格地图上采用细化算法生成安全度较高的离线先验路径,通过拓扑特征提取方法,构建各层次子栅格地图对应的拓扑地图;[0017] 步骤1.4:移动机器人在运行过程中利用其所携带的机载传感器信息维护更新局部度量地图。[0018] 进一步地,子地图粒度不宜过细,一般划分到单个房间维度即可。[0019] 进一步地,所述细化算法处理二维栅格地图时,将值为“0”自由栅格视为图像中的“1”,值为“1”的障碍栅格视为图像中的“0”,最终生成空闲区域的离线路径。[0020] 进一步地,所述拓扑特征提取方法将离线先验路径的分岔点作为拓扑图中的普通节点,人工选取区域入口栅格或其他具有代表性的栅格代表子地图的关键节点,统计关键节点之间的离线先验路径长度作为边的权重,所述路径长度为路径包含的栅格数目。[0021] 进一步地,所述拓扑?栅格分层规划方法,包含以下步骤:[0022] 步骤2.1:判断起始栅格S和目标栅格D是否在同一子地图中,若是,进入步骤2.2,若否,则进入步骤2.3;[0023] 步骤2.2:针对起点S到终点D,采用改进A*算法规划一条整体优化的全局预设路径,算法结束;[0024] 步骤2.3:分别获取起点S和终点D在层次图架构中的深度Ls、LD及其所在子栅格地图的关键节点CS、CD,若Ls[0025] 步骤2.4:以起点S为起点,关键节点CS为终点,利用改进A*算法在起点S所在子栅格地图上搜索一条局部路径并保存为前段预设路径;同理,将关键节点CD设为起点,终点D设为终点,利用改进A*算法在起点S所在子栅格地图上搜索另一条局部路径并保存为后段预设路径;若无法搜索出可行解,则路径规划失败,算法结束;[0026] 步骤2.5:将步骤2.3生成的中段预设路径与步骤2.4搜索的前段预设路径、后段预设路径合并,得到整体优化的全局预设路径,算法结束。[0027] 进一步地,所述改进A*算法在标准A*算法中引入扩展点筛选策略、双向搜索机制、路径冗余点剔除技术。[0028] 所述扩展点筛选策略在扩展时有一定概率忽略方向性不强的节点,步骤为:[0029] 利用当前扩展点m与起点S和终点D围成的矩形面积 来反映m与预期路径的符合程度, 越。诘鉳和预期路径符合程度越高,越有机会加入Open表中继续扩展。[0030][0031] 式(1)中,(xs,yS)、(xD,yD)、(xm,ym)分别为起点S、终点D和当前扩展点m的栅格坐标;[0032] 设置面积阈值 当 时,m直接加入专门存放已经探测到但还未访问节点的Open表;当 时,生成一个[0,1]之间随机数p(m),并判断是否大于信任阈值概率p0,若大于,则忽略节点m,若否则加入Open表。[0033] 所述双向搜索机制同时从起点和终点开始进行正向和反向搜索,正向搜索和反向搜索分别以对方获得的最新节点作为目标节点进行交替式扩展搜索,不断向对方靠拢,直至正向搜索和反向搜索的目标节点相遇,最后拼合正向搜索和反向搜索生成的路径,包括以下步骤:[0034] 步骤3.1:初始化Open1、Open2、Close1、Close2列表,并在Open1中加入起点S,Open2加入终点D;[0035] 步骤3.2:从Open1和Open2列表中分别取出代价值最小的节点n1、n2,并分别移入Close1和Close2;[0036] 步骤3.3:判断n1、n2是否是相对搜索方向上的当前搜索节点,若是,则算法结束,将正向和反向生成的路径拼合即为最终优化路径,若否,则进入步骤3.4;[0037] 步骤3.4:正向搜索以S为起点,n2为终点,n1为中心向周围8邻域扩展,并根据筛选扩展点的规则更新Open1;[0038] 步骤3.5:反向搜索以D为起点,n1为终点,n2为中心向周围8邻域扩展,并根据筛选扩展点的规则更新Open2;[0039] 步骤3.6:判断Open1和Open2是否为空,若是则算法结束,无法找到有效路径,若否则进入步骤3.2。[0040] 所述路径冗余点剔除技术,具体包括以下步骤:[0041] 步骤4.1:在原始路径的每对相邻节点距离二等分处插入新节点;[0042] 步骤4.2:记起始节点为P1,下一个节点为P2,依次编号直到终点Pk,同时每个节点将它编号的前一个节点设置为父节点;[0043] 步骤4.3:设Pn为优化基准节点,Pc为正在探索的节点,n初始化为k,c初始化为k?2;[0044] 步骤4.4:判断Pn与Pc的连线Lnc是否经过障碍物,若经过则说明Pc+1无法被删除,Pn跳转至Pc+1;否则删除Pc+1,并将Pc设为Pn的父节点,同时Pc跳转至其父节点Pc?1;[0045] 步骤4.5:重复步骤4.4,直到Pn=P1或Pc=P1;[0046] 步骤4.6:按父节点指针连接剩余的节点。[0047] 进一步地,所述改进DDPG算法引入了价值分类经验回放池和分层采样策略,并设计了融合目标距离、安全性、运动和步数的连续奖励函数。[0048] 所述价值分类经验回放池由三个队列组成,包括:存放高价值样本的子回放池B1,存放近期样本的子回放池B2、存放普通样本的子回放池B3,每个子回放池按如下五元组形式存储经验样本:[0049] (St,at,rt,St+1,done)(2)[0050] 式(2)表示智能体在状态St时执行动作at后到达新的状态St+1,同时获得环境给予的奖励rt,其中done表示St+1是否为终止状态。[0051] 价值分类经验回放池具体构建步骤为:[0052] 初始化时设置B1、B3两个子回放池中所有样本价值的平均值Vm为0,同时奖励值的权重系数α设为1。训练过程中每个时间步产生一条经验样本,产生的样本先加入B2队列尾部,若B2达容量上限后从队列首部弹出一个样本,并根据样本价值衡量标准计算样本的价值,若高于Vm为则将该样本添加至B1,反之存入B3中。存储完毕后,更新Vm和α,重复以上过程直至训练结束。[0053] 以时间步t产生的样本为例,所述样本价值衡量标准计算方式为:[0054] Vt=α*|rt|+(1?α)*|δt|(3)[0055] δt=rt+γQ′(St+1,at+1;θQ′)?Q(St,at;θQ)(4)[0056] 式(3)中,Vt为样本的价值,|rt|为样本奖励值的绝对值,α是|rt|的权重系数,|δt|为样本时间差分误差的绝对值,(1?α)是|δt|的权重;[0057] 式(4)中,γ为奖励值衰减系数,Q′为目标价值网络状态动作值,θQ′为目标价值网Q络参数,Q为在线价值网络状态动作值,θ为在线价值网络参数,St为时间步t时的状态空间,at为该状态空间下决策出的动作值,St+1为智能体在St执行at后到达的新的状态,at+1为新状态下的动作值;[0058] 所述分层采样策略分别从B1、B2、B3子回放池中随机抽取适量样本用于训练网络。[0059] 所述连续奖励函数包括到达奖励ra、碰撞惩罚rc、过程奖励rn三部分,奖励函数rt定义为:[0060][0061] rn=rd+rs+rm+rp(6)[0062] 导航过程中,机器人执行动作获得的过程奖励rn分为4部分:距离奖励rd、安全性惩罚rs、运动惩罚rm和步数惩罚rp,如公式(6)所示。[0063] rd是导航过程奖励中最主要的部分,引导机器人靠近目标点,定义为:[0064] rd=k1*(Dg(St?1)?Dg(St))(7)[0065] 式(7)中,k1是距离奖励系数,Dg(St?1)表示机器人在上一状态离目标点的距离,Dg(St)表示机器人在当前状态离目标点的距离。[0066] rs用于警示机器人尽量远离障碍物,选择安全度较高的路径,定义为:[0067][0068] 式(8)中,k2为安全性惩罚系数,Do表示机器人离周围最近障碍物的距离,ds是安全距离阈值;sr表现路径的安全程度,定义为:[0069][0070] rm对机器人频繁的摆动进行惩罚,简化机器人运动控制,定义为:[0071][0072] 式(10)中,k3为运动惩罚系数;wt表示当前状态输出的角速度,wt?1表示上一状态输出的角速度。[0073] 为避免机器人盲目追求奖励奖励最大化而刻意不径直趋向目标,引入rp防止机器人盲目探索,间接刺激机器人寻找更优路径,定义为:[0074] rp=k4(11)[0075] 式(11)中,k4为步数惩罚系数。[0076] 与现有技术相比,本发明至少具有下述的有益效果或优点:[0077] 本发明所述的面向拓扑?栅格?度量混合地图的分层路径规划方法将整体运行环境划分为不同层次的子地图,在各子地图上分别应用不同路径规划方法生成路径,最后拼接路径。这种分层的思想避免了对整体环境的详细描述,仅在需要时展开关键点信息,将路径规划算法的搜索空间限制在子地图内,降低了大规模场景下路径规划问题的规模,提升了搜索效率。[0078] 同时,全局路径规划方面,基于拓扑地图和栅格地图生成的全局优化初始路径兼具安全性和平滑度,提高了路径规划的质量。局部路径规划方面,针对DDPG算法训练耗时长、经验样本利用率低等问题,设计了价值分类经验回放池、分层采样策略和连续奖励函数,加速训练过程并引导网络收敛至更合理的避障策略,帮助机器人更好应对突发情况,更适应动态未知环境。附图说明[0079] 图1为本发明的面向拓扑?栅格?度量混合地图的分层路径规划方法流程图;[0080] 图2为扩展点筛选策略示意图[0081] 图3拓扑?栅格?度量混合地图示意图[0082] 图4层次图示意图具体实施方式[0083] 以下结合附图和发明人依据本发明提供的技术方案所完成的具体实施例,对本发明做进一步的详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似方法及其相似变化,均应列入本发明的保护范围。[0084] 本发明所述的面向拓扑?栅格?度量地图的混合地图分层路径规划方法,如图1所示,具体包括如下步骤:[0085] 步骤1:根据拓扑?栅格?度量混合地图构造方法,创建移动机器人作业环境的混合地图。[0086] 拓扑?栅格?度量混合地图通过拓扑地图、栅格地图、度量地图分别从多个维度对作业环境完成抽象化表示、具体化表示、精细化表示,如图3所示。所述拓扑?栅格?度量混合地图构造方法包括以下步骤:[0087] 步骤1.1:对整体作业环境进行栅格化表示,构造全局栅格地图。[0088] 栅格地图不难获得,利用声纳传感器或者机器人操作系统(RobotOperatingSystem,ROS)中gmapping功能包等工具完整描扫周围环境即可获得全局环境的栅格化表示。[0089] 步骤1.2:将全局栅格地图划分为若干个子栅格地图,每个子栅格地图均设置关键节点,利用层次图将工作环境描述为以子地图为树形节点的分层地图表示,在第k层地图中,第k+1层子地图以关键节点表示,同一层次的关键节点之间通过离线路径连接。[0090] 层次图采用多叉树来表达,树中包含多个抽象层次,抽象程度自上而下逐层降低,2如图4所示。子地图粒度不宜过细,一般划分到10?30m的房间维度即可。[0091] 步骤1.3:在栅格地图上采用细化算法生成安全度较高的离线先验路径,通过拓扑特征提取方法,构建各层次对应的拓扑地图。[0092] 细化算法仅处理象素值为1的区域,故处理二维栅格地图时,将值为“0”自由栅格视为图像中的“1”,值为“1”障碍栅格视为图像中的“0”,最终生成空闲区域的离线路径。在此基础上,提取拓扑特征,将离线先验路径的分岔点作为拓扑图中的普通节点,人工选取区域入口栅格或其他具有代表性的栅格代表子地图的关键节点,统计关键节点之间的离线先验路径长度作为边的权重,所述路径长度为路径包含的栅格数,最终构建各层次对应的拓扑地图。[0093] 步骤1.4:移动机器人在运行过程中利用其所携带的机载传感器信息维护更新局部度量地图。[0094] 通过移动机器人装备的惯性导航系统和用于探测周围环境的传感器,如激光雷达等,实现精细化地位置表示,维护局部度量地图。[0095] 步骤2:在移动机器人运行前,根据拓扑?栅格分层规划方法生成一条整体优化的全局预设路径。[0096] 所述拓扑?栅格分层规划方法,包含以下步骤:[0097] 步骤2.1:判断起始栅格S和目标栅格D是否在同一子地图中,若是,进入步骤2.2,若否,则进入步骤2.3;[0098] 步骤2.2:针对起点S到终点D,采用改进A*算法规划一条整体优化的全局预设路径,算法结束;[0099] 步骤2.3:分别获取起点S和终点D在层次图架构中的深度Ls、LD及其所在子栅格地图的关键节点CS、CD,;若Ls[0100] 步骤2.4:以起点S为起点,关键节点CS为终点,利用改进A*算法在起点S所在子栅格地图上搜索一条局部路径并保存为前段预设路径。同理,将关键节点CD设为起点,终点D设为终点,利用改进A*算法在起点S所在子栅格地图上搜索另一条局部路径并保存后段预设路径。若无法搜索出可行解,则路径规划失败,算法结束;[0101] 步骤2.5:将步骤2.3生成的中段预设路径与步骤2.4搜索的前段预设路径、后段预设路径合并,得到整体优化的全局预设路径,算法结束。[0102] 步骤3:当移动机器人沿全局预设路径运行时,实时探测周围环境,判断离机器人最近障碍物的距离是否小于避障阈值,若是,进入步骤4,若否,则进入步骤5。[0103] 机器人装备的激光雷达扫描一周可以获得多个点云数据,这些点云数据反映了周围障碍物离机器人的距离,当其中的点云数据的最小值小于避障阈值时,说明机器人离障碍物较近,需要进行避障。[0104] 步骤4:在度量地图上利用改进深度确定性策略梯度算法进行局部路径规划,完成避障后重新回到全局预设路径。[0105] 度量地图容易获得两点的相对位姿,有利于状态空间表示。通过将激光雷达的距离点云数据、机器人当前位姿、目标位姿拼接成状态空间输入至训练好的避障策略网络,端到端地输出线速度和角速度控制机器人运动。当机器人探测到障碍物时,根据障碍物方位,在初始路径上选择障碍物后面的一个子目标点,自行规划避障路线。[0106] 步骤5:判断移动机器人是否到达目标位置,若是,算法结束,若否,则进入步骤3。[0107] 所述改进A*算法在标准A*算法中引入扩展点筛选策略、双向搜索机制、路径冗余点剔除技术。[0108] (1)扩展点筛选策略[0109] 扩展点筛选策略在扩展时有一定概率忽略方向性不强的节点,方法如下:[0110] 路径规划期望路径长度尽可能短,即路径方向尽可能贴合起点指向终点的方向。利用当前扩展点m与起点S和终点D围成的矩形面积 来反映m与预期路径的符合程度,如图2中绿色矩形所示。 越。诘鉳和预期路径符合程度越高,越有机会加入Open表中继续扩展。[0111][0112] 式(1)中,(xs,yS)、(xD,yD)、(xm,ym)分别为起点S、终点D和当前扩展点m的栅格坐标;[0113] 设置面积阈值 当 时,m直接加入Open表;当 时,生成一个随机数p(m),并判断是否大于信任阈值概率p0,若大于,则忽略节点m,若否则加入Open表。[0114] (2)双向搜索机制[0115] 双向搜索机制同时从起点和终点开始进行正向搜索和反向搜索,正向搜索和反向搜索分别以对方获得的最新节点作为目标节点进行交替式扩展搜索,不断向对方靠拢,直至正向搜索和反向搜索的目标节点相遇,最后拼合正向搜索和反向搜索生成的路径,包括以下步骤:[0116] 步骤3.1:初始化Open1、Open2、Close1、Close2列表,并在Open1中加入起点S,Open2加入终点D;[0117] 步骤3.2:从Open1和Open2列表中分别取出代价值F最小的节点n1、n2,并分别移入Close1和Close2;[0118] 进一步地,代价值F的计算方式如下:[0119] F(n)=g(n)+h(n)(2)[0120][0121] 式(2)中,F(n)为起点s经由节点n到达目标点的预估代价;g(n)为起点s到达节点n的实际代价;h(n)为节点n到达目标d的实际代价。[0122] 式(3)中,(xn,yn)、(xs,yS)分别是节点n和起点s的坐标;[0123] 式(4)中,(xd,yd)为终点d的坐标;[0124] 步骤3.3:判断n1、n2是否是相对搜索方向上的当前搜索节点,若是,则算法结束,将正向和反向生成的路径拼合即为最终优化路径,若否,则进入步骤3.4;[0125] 步骤3.4:正向搜索以S为起点,n2为终点,n1为中心向周围8邻域扩展,并根据筛选扩展点的规则更新Open1;[0126] 步骤3.5:反向搜索以D为起点,n1为终点,n2为中心向周围8邻域扩展,并根据筛选扩展点的规则更新Open2;[0127] 步骤3.6:判断Open1和Open2是否为空,若是则算法结束,无法找到有效路径,若否则进入步骤3.2。[0128] 需要说明的是双向搜索机制向中间扩展时,遵循扩展点筛选策略。[0129] (3)路径冗余点剔除技术[0130] 在双向搜索生成原始路径的基础上进一步应用路径冗余点剔除技术,具体包括以下步骤:[0131] 步骤4.1:在原始路径的每对相邻节点距离二等分处插入新节点;[0132] 步骤4.2:记起始节点为P1,下一个节点为P2,依次编号直到终点Pk,同时每个节点将它编号的前一个节点设置为父节点;[0133] 步骤4.3:Pn为当前优化的节点,Pc为正在探索的节点,n初始化为k,c初始化为k?2;[0134] 步骤4.4:判断Pn与Pc的连线Lnc是否经过障碍物,若经过则说明Pc+1无法被删除,Pn跳转至Pc+1;否则删除Pc+1,并将Pc设为Pn的父节点,同时Pc跳转至其父节点Pc?1;[0135] 步骤4.5:重复步骤3.4,直到Pn=P1或Pc=P1;[0136] 步骤4.6:按父节点指针连接剩余的节点。[0137] 所述改进DDPG算法引入了价值分类经验回放池和分层采样策略,并设计了融合目标距离、安全性、运动和步数的连续奖励函数。[0138] (1)价值分类经验回放池[0139] 价值分类经验回放池由存放高价值样本的子回放池B1,存放近期样本的子回放池B2、存放普通样本的子回放池B3组成,每个子回放池按如下五元组形式存储经验样本:[0140] (St,at,rt,St+1,done)(5)[0141] 式(5)表示智能体在状态St时执行动作at后到达新的状态St+1,同时获得环境给予的奖励rt,其中done表示St+1是否为终止状态。[0142] 价值分类经验回放池具体构建步骤为:[0143] 初始化时设置B1、B3两个子回放池中所有样本价值的平均值Vm为0,同时奖励值的权重系数α设为1。训练过程中每个时间步产生一条经验样本,产生的样本先加入B2队列尾部,若B2达容量上限后从队列首部弹出一个样本,并根据样本价值衡量标准计算样本的价值,若高于Vm为则将该样本添加至B1,反之存入B3中。存储完毕后,更新Vm和α,重复以上过程直至训练结束。[0144] 以时间步t产生的样本为例,所述样本价值衡量标准计算方式为:[0145] Vt=α*|rt|+(1?α)*|δt|(6)[0146] δt=rt+γQ′(St+1,at+1;θQ′)?Q(St,at;θQ)(7)[0147] 式(6)中,Vt为样本的价值,|rt|为样本奖励值的绝对值,α是|rt|的权重系数,|δt|为样本时间差分误差的绝对值,(1?α)是|δt|的权重;[0148] 式(7)中,γ为奖励值衰减系数,Q′为目标价值网络状态动作值,θQ′为目标价值网Q络参数,Q为在线价值网络状态动作值,θ为在线价值网络参数,St为时间步t时的状态空间,at为该状态空间下决策出的动作值,St+1为智能体在St执行at后到达的新的状态,at+1为新状态下的动作值;[0149] (2)分层采样策略[0150] 所述分层采样策略分别从B1、B2、B3子回放池中随机抽取适量样本用于训练网络。记小批量采样总数为N,从子回放池B1采样数为N1,从子回放池B2采样数为N2,从子回放池B3采样数为N3。[0151] N=N1+N2+N3(8)[0152] 其中N2为固定值,确保每次小批量采样均有近期样本,该类样本具有时效性,有助于及时调整网络收敛方向。训练初期,N1取较大值,通过选取大量高质量样本促进网络朝正确方向收敛。随着训练推进,策略网络的成熟,机器人表现越发优异,高价值样本出现频率越来越高,为避免过拟合,适当降低N1,提升N3。[0153] (3)连续奖励函数[0154] 连续奖励函数包括到达奖励、碰撞惩罚、过程奖励三个部分,如公式(9)所示,当机器人中心与目标位置的距离小于到达阈值,即判定为到达目标点,获得300奖励值;当机器人装备的激光雷达点云数据最小值小于碰撞阈值,判定为碰撞,获得?500奖励值;融合目标距离、安全性、运动和步数的过程奖励rn定义为公式(10):[0155][0156] rn=rd+rs+rm+rp(10)[0157] 导航过程中,机器人执行动作获得的过程奖励rn分为4部分:距离奖励rd、安全性惩罚rs、运动惩罚rm和步数惩罚rp。[0158] rd是导航过程奖励中最主要的部分,引导机器人靠近目标点,定义为:[0159] rd=k1*(Dg(St?1)?Dg(St))(11)[0160] 式(11)中,k1是距离奖励系数,本例取k1=20,Dg(St?1)表示机器人在上一状态离目标点的距离,Dg(St)表示机器人在当前状态离目标点的距离。[0161] rs用于警示机器人尽量远离障碍物,选择安全度较高的路径,定义为:[0162][0163] 式(12)中,k2为安全性惩罚系数,本例取k2=?1,Do为机器人离最近障碍物的距离,ds是安全距离阈值;sr表现路径的安全程度,定义为:[0164][0165] rm对机器人频繁的摆动进行惩罚,简化机器人运动控制,定义为:[0166][0167] 式(14)中,k3为运动惩罚系数,本例取k3=?0.2;wt表示当前状态输出的角速度,wt?1表示上一状态输出的角速度。[0168] 为避免机器人盲目追求奖励奖励最大化而刻意不径直趋向目标,引入r4防止机器人盲目探索,间接刺激机器人寻找更优路径,定义为:[0169] rp=k4(15)[0170] 式(15)中,k4为步数惩罚系数,本例取k4=?0.05。[0171] 需要说明的是,DDPG是一种深度强化学习算法,因此设计价值分类经验回放池和连续奖励函数是为了加速训练过程和保证最终习得优质的避障策略。训练的过程可以在仿真环境中进行,训练完成后通过加载网络参数即可迁移至真实环境。[0172] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下还可以作出若干改进,这些改进也应视为本发明的保护范围。
专利地区:江苏
专利申请日期:2022-04-01
专利公开日期:2024-11-29
专利公告号:CN114740846B