本发明属于轮式移动机器人路径规划领域,涉及一种用于动态障碍物环境下的轮式移动机器人自主避障方法。
背景技术:
1、轮式移动机器人在各种现实应用场景中,如家居服务、工业生产、交通运输和未知环境探测等,常常需要进行路径规划以应对各种障碍物和环境限制。因此,开发一种适用于多障碍环境下的路径规划算法以满足移动避障需求,具有重要的实际意义。然而,传统的路径规划算法在处理多障碍环境时存在一定局限性,面临诸多挑战。需要提出一种方法,以克服路径规划算法运算量大、动态环境的变化以及算法参数自适应性等问题,以实现对多障碍环境中的高效移动避障。
2、申请号为cn202310931271.8的中国专利提出了一种基于改进自适应蚁群算法的移动机器人路径规划方法,可用于轮式移动机器人的全局路径规划。然而,该方法主要针对静态场景路径规划,无法满足具有动态障碍物或未知静态障碍物的环境下机器人的自主避障。申请号为cn202311406068.5的中国专利提出了一种融合人工势场法与d*lite的避障路径规划方法,其避障算法相关参数需要根据地图规模、环境复杂度等因素进行手动调整,方能使算法效率最大化,无法实现完全自主的动态环境规划与避障。
3、发表在《ieee transactions on systems,man,and cybernetics,part b(cybernetics)》1996年第26卷第1期上的论文“ant system:optimization by a colonyof cooperating agents”提出了一种模拟蚂蚁群体运作方式的启发式优化方法并命名为蚁群算法,后被用于静态场景下的机器人全局路径规划;然后,为了解决传统蚁群算法在大规模路径规划问题中收敛速度较慢、运算量较大的问题,发表在《computers&operationsresearch》2004年第31卷第4期上的论文“d-ants:savings based ants divide andconquer the vehicle routing problem”基于savings函数将蚁群规划问题分解为若干小问题,提高了大规模车辆路径规划效率与有效性。发表在《ieee robotics&automationmagazine》1997年第4卷第1期上的论文“the dynamic window approach to collisionavoidance”提出了一种基于机器人运动学模型的可行速度窗口选择策略并命名为动态窗口法,被用于具有移动障碍物场景的机器人局部避障;另外,发表在《mathematicalbiosciences&engineering》2024年第21卷第2期上的论文“a new path planningstrategy integrating improved aco and dwaalgorithms for mobile robots indynamic environments”融合蚁群算法和动态窗口法进行机器人路径规划和避障。然而,在上述研究中,路径规划算法的相关参数(如蚁群算法的信息素挥发系数、启发式信息、动态窗口法的评价函数乘子等)是被手动设置的,不能根据地图规模、环境复杂度等因素进行调节,不能随时满足最高效的轮式移动机器人移动避障。
技术实现思路
1、针对现有技术中传统蚁群算法和动态窗口法在移动机器人路径规划中存在的以下问题:首先,传统蚁群算法容易陷入局部最优解,难以找到全局最优路径,尤其是在陷阱地图中;同时,在大规模地图中收敛速度慢、后期随信息素堆积寻路全局性变差;并且,传统蚁群算法生成路径较长、无效转角较多。类似地,传统动态窗口法存在初始航向固定、不够灵活的问题;另外,该算法在生成路径时可能忽略路径的长度,导致路径长、机器人能耗高;并且,算法躲避移动障碍物的能力较差。此外,蚁群、动态窗口法的相关参数(如蚁群算法的信息素挥发系数、启发式信息、动态窗口法的评价函数乘子等)是被手动设置的,不能根据地图规模、环境复杂度等因素进行调节,不能随时满足最高效的轮式移动机器人移动避障。针对上述问题,本发明提供了一种基于参数迁移学习的轮式移动机器人移动避障方法,能够实现其在多障碍环境下的自主避障。
2、为实现上述目的,本发明采取以下技术方案:
3、一种基于参数迁移学习的轮式移动机器人动态避障方法,该方法能够实现在多障碍环境下的自主避障,是一种基于参数迁移学习的改进蚁群-动态窗口法(iaco-dwa)的轮式移动机器人自主避障方法。该方法,首先通过改进蚁群算法避免死锁并加速蚁群收敛;其次,基于改进动态窗口法进行能耗评价并强化动态避障性能;最后,对路径规划算法关键参数进行迁移学习并自适应调节,实现自主避障。具体包括以下步骤:
4、步骤1:改进蚁群算法,设置重复路径计数器,当蚁群在当前节点迭代期间,选择某一节点的次数超过设定的阈值ξmax时,蚁群退回上一节点并重新进行概率转移寻路以避免陷阱地图下的死锁,具体如下:
5、步骤1.1:输入蚂蚁数量、以及已规划的路径节点集合(xi,yi),初始化参数和数据结构;
6、步骤1.2:设置迭代次数阈值ξmax,初始化信息素矩阵;
7、步骤1.3:将最近节点设为初始节点,将已访问路径列表tabulist初始化为起始节点,对每只蚂蚁,计算下一节点转移概率,更新节点访问历史记录ξ=length(tabulist);
8、步骤1.4:更新当前节点和已访问节点列表,判断ξ=length(tabulist)和num(xi,yi)的大小关系,若ξ>ξmax,该路径视为死锁,蚁群退回上一节点。
9、步骤2:改进蚁群启发式信息,允许蚁群以一定概率忽略信息素,随机选择临近节点,以增强算法后期的全局性,加速收敛,具体可表示为:
10、
11、其中,是第k只蚂蚁(k=1,2,…,m)在节点i转移到下一节点j的概率准则,τij(t)表示路径(i,j)的信息素浓度,ηij是启发式信息,α,β分别是决定信息素浓度和启发式信息重要程度的参数,表示第k只蚂蚁在位置i时可选的路径集合。不属于集合范围内的路径,取概率ψ∈[0,1]是在每个节点时随机生成的一个值,ζ是预先定义的随机搜索概率值,ji(t)是第k只蚂蚁在节点i时的无障碍邻近节点集合。
12、步骤3:引入三次折线优化和floyd路径平滑算法,减小蚁群生成的路径长度和无效转角的数量,具体如下:
13、步骤3.1:对蚁群生成的全局路径进行三次折线优化,通过三次多项式拟合原始路径上的点,得到曲线拟合点,利用这些拟合点之间的直线段连接来逼近曲线,形成折线化的路径,对折线化的路径进行优化,调整拟合点以使其与原始曲线拟合路径的误差最小化;
14、步骤3.2:对三次折线优化后的路径进一步做floyd路径平滑,将路径转换为网格化表示,并引入floyd算法来找到每对点之间的最短路径距离,并根据floyd算法处理后的网格矩阵还原出平滑后的路径;
15、通过步骤1~3得到全局规划路径;
16、步骤4:改进动态窗口法,引入动态初始航向角,允许机器人预瞄下一节点原地调整航向后再开始运动,减小无效的运动调整,可表示为:
17、
18、其中,(xn1,yn1)是蚁群算法规划的第一个关键节点坐标,(x0,y0)是起始节点坐标;
19、步骤5:建立轮式移动机器人运动学模型,并以此建立机器人运动能量消耗模型,将其加入到评价函数中使机器人更倾向于选择能耗较低的路径,具体如下:
20、步骤5.1:建立轮式移动机器人运动学模型,可表示为:
21、
22、其中,x,y,θ,v,ω分别是机器人横坐标,纵坐标,航向角,线速度,角速度;δt是算法采样时间,st+δt是下一采样时间的机器人状态;
23、步骤5.2:对机器人运动能耗进行统计,并加入到评价函数vcost中,如下式所示:
24、
25、
26、
27、其中,式(4)是电机损耗,ηmotor是电机效率,p是电机功率,sp0p1是采样时间内机器人位移;式(5)表示滚动摩擦损耗,μ是轮胎与地面间的滚动摩擦系数,mrobot表示机器人质量,g是重力加速度值;式(6)表示运动能量损耗,i表示机器人转动惯量大小;
28、步骤5.3:将能耗评价指标赋予权重c4,并加入到动态窗口法的评价函数vcost中,可表示为:
29、
30、其中,heading(v,ω),dist(v,ω),vel(v,ω),ener(v,ω)分别是航向评价、障碍物距离评价、速度评价、能耗评价指标,c1,c2,c3,c4是评价函数权重值,σ表示评价函数标准化过程。改进后的评价函数,可使机器人更倾向于选择能耗较低的路径;
31、步骤6:引入动态避障评价子函数,利用轮式移动机器人搭载的传感器进行移动障碍物风险判断,避免移动障碍物与机器人距离小于安全距离,具体如下:
32、步骤6.1:利用传感器进行移动障碍物风险判断,计算障碍物运动距离dobs,若dobs≠0,判断该障碍物是移动的,并进一步判断障碍物航向θobs,避免移动障碍物与机器人距离小于安全距离,具体表示为:
33、
34、
35、其中,(xobs,yobs)是移动障碍物的坐标;
36、步骤6.2:判断下一采样时间nδt(n=1,2,3…)内移动障碍物的坐标集合,可表示为:
37、
38、其中,x,y,θ,v,ω分别是移动障碍物横坐标,纵坐标,航向角,线速度,角速度;δt是算法采样时间,st+δt是下一采样时间的移动障碍物状态;
39、步骤6.3:定义动态避障评价子函数sd,sd越小,机器人下一采样时间内与移动障碍物的碰撞风险就越大,机器人会随之进行路径调整,可表示为:
40、
41、其中,d是下一采样时间nδt内机器人和障碍物的距离估测,dsafe是预先定义的最小安全距离,定义为极限距离dmin与机器人轮距l的一半之和;
42、通过步骤4~6得到局部避障路径;
43、步骤7:对改进的蚁群-动态窗口法关键参数进行迁移学习并自适应调节,以满足不同作业环境下的机器人自主避障,具体如下:
44、步骤7.1:将地图分割为较小的若干张地图,根据蚁群算法提供的信息素浓度τij(t)判断分割后的各子地图起始节点i与目标节点j,将轨迹规划限定在子地图中;
45、步骤7.2:通过遗传算法(ga)对目标领域的参数x=[α,β,ρ,c1,c2,c3,c4]t进行优化,其中α,β分别是决定信息素浓度和启发式信息重要程度的参数,ρ是信息素挥发系数,c1,c2,c3,c4是动态窗口法评价函数权重值;
46、步骤7.3:确定适应度函数f(xi),以评价函数vcost(如式(7)所示)最小为优化目标,将评价函数阵v映射到参数阵x的每个元素,则适应度函数可表示为:
47、
48、其中,k为加权参数,n为数据个数,x’i为算法计算结果;
49、步骤7.4:选择个体,将种群中所有个体的适应度求和为sum,并得出个体的相对适应度pk,可表示为:
50、
51、
52、在[0,1]生成一个随机数ψ,将该值作为个体被选择的概率;
53、步骤7.5:在个体x1,x2间进行交叉时,交叉部分以一定的概率形成新的后代y1,y2。同时,基因重组的概率也由随机数ψ决定。因此,交叉会生成两个新的个体,可以分别表示为:
54、
55、步骤7.6:个体基因gij存在一定的变异规则,可表示为:
56、
57、其中,gij是第i个个体的第j个基因,gmin和gmax分别为基因的下限、上限,f(g)是迭代因子,g是迭代次数,gmax为种群最大迭代次数。式(16)可以确认基因变异情况,进行种群繁衍。
58、本发明的有益效果是:
59、(1)本发明提供了一种基于迁移学习的改进蚁群-动态窗口法的轮式移动机器人自主避障算法,由于引入了重复路径计数器、采用改进的蚁群启发式信息规则,并对全局路径进行平滑处理,能够克服蚁群算法在陷阱地图中的死锁、收敛慢、路径过长的问题;此外,对动态窗口法引入动态初始航向角、设计能耗评价函数,并引入动态避障评价子函数,能够有效地降低运动能耗、保证机器人的运动安全,同时允许算法参数根据环境自适应调整,可用于多种动态场景下的轮式移动机器人避障;
60、(2)本发明是一种针对传统路径规划算法的局限性进行调优的有效避障方法,可实现更高效、适应性更强的路径规划方案。