«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (9): 105-112, 120  DOI: 10.19678/j.issn.1000-3428.0062264
0

引用本文  

詹京吴, 黄宜庆. 融合安全A*算法与动态窗口法的机器人路径规划[J]. 计算机工程, 2022, 48(9), 105-112, 120. DOI: 10.19678/j.issn.1000-3428.0062264.
ZHAN Jingwu, HUANG Yiqing. Path Planning of Robot Combing Safety A* Algorithm and Dynamic Window Approach[J]. Computer Engineering, 2022, 48(9), 105-112, 120. DOI: 10.19678/j.issn.1000-3428.0062264.

基金项目

安徽省高校协同创新项目(GXXT-2020-069)

作者简介

詹京吴(1997—),男,硕士研究生,主研方向为运动控制系统;
黄宜庆,教授、博士

文章历史

收稿日期:2021-08-05
修回日期:2021-10-08
融合安全A*算法与动态窗口法的机器人路径规划
詹京吴1 , 黄宜庆2     
1. 安徽工程大学 电气工程学院, 安徽 芜湖 241000;
2. 安徽省电气传动与控制重点实验室, 安徽 芜湖 241000
摘要:A*算法通过启发信息指引搜索方向,被广泛应用于移动机器人的路径规划,但其规划出的搜索路径存在冗余节点且与障碍物相近,无法满足动态避障需求。对标准A*算法进行改进,设计安全A*算法并融合动态窗口法进行路径规划。定义安全距离因子引入A*算法的启发函数中,提高算法规划路径的安全性,同时采用平面结构法对算法规划得到的路径进行优化,根据相邻节点与障碍物之间的位置关系判断该相邻节点间是否存在障碍物,由此减少路径拐点数,提高路径平滑度。由于当移动机器人处于未知环境时,仅靠A*算法不能避开障碍物到达目标点,因此借助动态窗口法的局部避障功能。通过安全A*算法规划全局最优路径节点坐标,设计融合子函数改进动态窗口法的评价函数,解决动态窗口法易陷入局部最优的问题。实验结果表明,在复杂环境中,该方法通过融合安全A*算法和动态窗口法,能够确保在安全路径基础上实时随机避障,使机器人安全到达终点。
关键词A*算法    安全距离因子    平面结构法    动态窗口法    路径规划    
Path Planning of Robot Combing Safety A* Algorithm and Dynamic Window Approach
ZHAN Jingwu1 , HUANG Yiqing2     
1. School of Electrical Engineering, Anhui Polytechnic University, Wuhu, Anhui 241000, China;
2. Anhui Key Laboratory of Electric Drive and Control, Wuhu, Anhui 241000, China
Abstract: The A* algorithm relies on heuristic information to guide the search direction and is widely used for path planning of mobile robots.However, the search path of this algorithm has redundant nodes that are similar to obstacles, which prevent the algorithm from meeting the requirements of dynamic obstacle avoidance.This study aims to improve the standard A* algorithm by designing a safe A* algorithm and integrating the Dynamic Window Approach(DWA) for path planning.Particularly, the safety distance factor is defined and introduced into the heuristic function of the A* algorithm to improve the safety of the path planned by the algorithm.Simultaneously, the plane structure method is used to optimize the path planned by the algorithm.The relationship between the positions of adjacent nodes and obstacles is used to determine whether obstacles exist between adjacent nodes to reduce the number of inflection points of the path and improve the smoothness of the path.When the mobile robot is in an unknown environment, the A* algorithm alone cannot prevent the robot from avoiding obstacles on its way to reaching the target point; therefore, the local obstacle avoidance function of the DWA is used.The global optimal path node coordinates are planned using the safe A* algorithm.In addition, the fusion sub-function is designed to improve the evaluation function of the DWA to solve the tendency of the DWA to easily converge to local optima.The experimental results show that in a complex environment, integration of the safe A* algorithm and the DWA ensures real-time random obstacle avoidance based on the safe path, thereby enabling the robot to reach the end point safely.
Key words: A* algorithm    safety distance factor    plane structure method    Dynamic Window Approach(DWA)    path planning    

开放科学(资源服务)标志码(OSID):

0 概述

路径规划作为移动机器人运动中的重要组成部分,是机器人完成自主导航的核心技术。根据环境和目标的不同,路径规划可分为全局路径规划和局部路径规划,应用于全局路径规划的算法有Dijkstra算法[1]、蚁群算法[2]、粒子群算法[3]、A*[4-5]算法等,应用于局部路径规划的算法有动态窗口法(Dynamic Window Approach,DWA)[6]、人工势场法[7]等。

A*算法由HART等[8]于1968年提出,该算法通过启发信息指引搜索方向,搜索时间短,搜索效率高,被广泛应用于移动机器人的路径规划。但A*算法规划出的路径拐点多、不平滑,不利于机器人的运行。针对以上缺点,许多研究者对标准A*算法进行了改进。文献[9]提出将标准A*算法的搜索邻域从8个提高到无限个,虽然解决了路径规划方向限定问题,但同时降低了搜索速度。文献[10]提出采用跳点搜索方法对A*算法进行改进,优化了算法的搜索策略,并且采用贝塞尔曲线对路径进行平滑优化,大幅提高了路径的规划效率,但算法是在全局环境已知的条件下进行扩展和搜索的,无法实现对未知障碍物的动态避障。文献[11]提出将改进的人工势场法与A*算法相结合,实现了对随机障碍物的避让,但人工势场法所规划出的路径不够平滑,不利于机器人的运行。动态窗口法结构简单,规划出来的路径较为平滑,具有良好的避障能力,但算法容易陷入局部最优,无法获得全局最优路径[12]。文献[13]提出一种改进的动态窗口法,根据激光雷达观测到的障碍物信息选取较优方位角,从而得到通过密集障碍物区的最佳路径,大幅提高了算法的运行效率。文献[14]提出的斯坦利路径跟踪方法使用A*算法进行路径规划,得到了有效的路径信息。文献[15]通过提取A*算法规划路径的关键节点定义新的评价函数,解决了标准动态窗口法易陷入“C”形障碍物且规划路径不平滑的问题。

上述文献虽然对A*算法进行了有效改进,但都忽视了机器人与障碍物之间的距离对机器人运行的影响,无法保证搜索路径的安全性。文献[16]提出一种有限损伤A*算法,该算法定义了一个损坏量,在损坏上限的范围内寻找到一条次优路径长度的安全路径。文献[17]提出一种动态生成启发式的方法,避免A*算法陷入局部极小值,大幅提高了算法的运算效率。文献[18]设计一种安全A*算法,通过加入安全距离矩阵的方法来获得一条安全的规划路径,但该算法规划出的路径转折点多,计算时间长。

本文在标准A*算法的启发函数中引入安全距离因子,以此提高路径的安全性。同时,采用平面结构法对算法规划出的路径进行优化,删除冗余节点,减少转折,并将优化后的A*算法与动态窗口法结合,实现移动机器人对未知障碍物的动态避障,获得实时避障的最优平滑路径。

1 安全A*算法 1.1 对A*算法的改进思路

A*算法是一种可根据定义的估价函数在静态环境下进行全局路径规划的启发式搜索算法,被广泛用于移动机器人的路径规划研究。该算法在尽可能保证最优路径的同时,能够大幅减少搜索时间,提高路径的搜索效率[19]。然而标准A*算法在规划从起点到终点的路径时,所得到的全局路径无法保障安全性、冗余节点多,且运动轨迹转折较多[20]。为提高路径的安全性,本文定义安全距离因子并将其引入到标准A*算法的启发式函数中,以此进行改进。

定义安全距离因子如下:

$ h\left({l}_{i}\right)=\left\{\begin{array}{l}1-\frac{{l}_{\mathrm{m}\mathrm{i}\mathrm{n}}\cdot {l}_{\mathrm{m}\mathrm{a}\mathrm{x}}}{{l}_{\mathrm{m}\mathrm{a}\mathrm{x}}-{l}_{\mathrm{m}\mathrm{i}\mathrm{n}}}\cdot \left(\frac{1}{{l}_{i}}-\frac{1}{{l}_{\mathrm{m}\mathrm{a}\mathrm{x}}}\right), {l}_{i} < {l}_{\mathrm{m}\mathrm{a}\mathrm{x}}\\ 1, {l}_{i}\ge {l}_{\mathrm{m}\mathrm{a}\mathrm{x}}\end{array}\right. $ (1)

其中:$ {l}_{\mathrm{m}\mathrm{a}\mathrm{x}} $为移动机器人与障碍物之间接触的最大距离;$ {l}_{\mathrm{m}\mathrm{i}\mathrm{n}} $为机器人与障碍物之间接触的最小距离;$ {l}_{i} $为机器人所在位置与障碍物之间的距离。

将安全距离因子引入标准A*算法的估价函数中,可推得:

$ F\left(i\right)=G(i-1)+{l}_{i-1, i}+\frac{1}{h\left({l}_{i}\right)}{l}_{i, \mathrm{g}\mathrm{o}\mathrm{a}\mathrm{l}} $ (2)

其中:$ F\left(i\right) $为第i个节点的代价值;$ G(i-1) $为起点到第$ (i-1) $个节点的实际代价值;$ {l}_{i-1, i} $为第$ (i-1) $到第i个节点与障碍物之间的距离;$ {l}_{i, \mathrm{g}\mathrm{o}\mathrm{a}\mathrm{l}} $为第i个节点到目标点与障碍物之间的距离。

1.2 基于平面结构法的路径优化

标准A*算法的路径规划是由连续的栅格中心连成的,这样很容易导致这个最优路径存在冗余节点。根据相邻节点与障碍物之间的位置关系可以判断相邻节点间是否存在障碍物,由此减少路径拐点数,实现优化路径的目的[21]

判断路径是否有障碍物的基本原理是线段相交定理。首先需要判断点的位置关系,如图 1所示,其中,A、B、C、D分别为平面上的任意4个点,代表障碍物附着节点,坐标分别为$ \left(\mathrm{0, 0}\right)\mathrm{、}({x}_{\mathrm{b}}, {y}_{\mathrm{b}})\mathrm{、}({x}_{\mathrm{c}}, {y}_{\mathrm{c}})\mathrm{、}({x}_{\mathrm{d}}, {y}_{\mathrm{d}}) $

Download:
图 1 两点位置关系判断 Fig. 1 Relationship judgement of two points positions

假设4个点都在xoy平面上,则这4个点的z轴值恒为0。$ \mathit{\boldsymbol{{\mu }}}\mathrm{、}\mathit{\boldsymbol{{\alpha }}}\mathrm{、}\mathit{\boldsymbol{{\beta }}} $分别代表图 1所示的向量。$ \mathit{\boldsymbol{{\mu }}} $$ \mathit{\boldsymbol{{\alpha }}} $的向量积、$ \mathit{\boldsymbol{{\mu }}} $$ \mathit{\boldsymbol{{\beta }}} $的向量积分别为:

$ \mathit{\boldsymbol{{\mu }}}\times \mathit{\boldsymbol{{\alpha }}}=\left|\begin{array}{ccc}i& j& k\\ {x}_{\mathrm{a}}& {y}_{\mathrm{a}}& 0\\ {x}_{\mathrm{b}}& {y}_{\mathrm{b}}& 0\end{array}\right|=m\stackrel{-}{k} $ (3)
$ \mathit{\boldsymbol{{\mu }}}\times \mathit{\boldsymbol{{\beta }}}=\left|\begin{array}{ccc}i& j& k\\ {x}_{\mathrm{a}}& {y}_{\mathrm{a}}& 0\\ {x}_{\mathrm{c}}& {y}_{\mathrm{c}}& 0\end{array}\right|=n\stackrel{-}{k} $ (4)

其中:mn为向量积的系数。规定垂直纸面向外的方向为正方向,根据右手定则可知,当mn为负数时,$ \mathit{\boldsymbol{{\alpha }}} $$ \mathit{\boldsymbol{{\mu }}} $的顺时针方向,即C在$ \mathit{\boldsymbol{{\mu }}} $的顺时针的方向;反之,C在$ \mathit{\boldsymbol{{\mu }}} $的逆时针方向。同理,可以判断D和$ \mathit{\boldsymbol{{\beta }}} $$ \mathit{\boldsymbol{{\mu }}} $的位置关系。由此可知:当$ m\cdot n < 0 $时,C和D位于$ \mathit{\boldsymbol{{\mu }}} $的异侧;当$ m\cdot n > 0 $时,C和D位于$ \mathit{\boldsymbol{{\mu }}} $的同侧。

线段相交的判定如下:在同一平面内的任意4个点,由这4点连接成2条不同的线段。由上文介绍的点与线段的位置关系可以判断除该线段的两端点之外其他两点的关系,由此可确定两线段的关系。根据线段相交原理,将路径中某一节点的相邻节点连接成线段n,判断该线段上是否存在障碍物。若无障碍物则剔除;反之则保留。判断线段n与障碍物的对角线是否相交,若相交则有障碍物,该路径不变;若不相交则没有障碍物,将两节点中后一个节点剔除,如图 2所示,其中:直线路径为原始算法生成的路径;虚线路径为剔除冗余节点后的路径。

Download:
图 2 剔除冗余节点示例 Fig. 2 Example of removing redundant nodes

基于安全A*算法的机器人路径规划流程如图 3所示。

Download:
图 3 基于安全A*算法的机器人路径规划流程 Fig. 3 Robot path planning procedure based on safety A* algorithm
2 本文融合方法 2.1 动态窗口法

动态窗口法由于具备较强的局部避障能力、灵活性强等优点,被广泛用于移动机器人的局部路径规划中。动态窗口法的基本思想是依据机器人的运动学模型和运动特征,在规划过程中对机器人的速度窗口$ ({v}_{t}, {\omega }_{t}) $进行约束,然后根据速度窗口,结合机器人的运动学模型进行轨迹的推演,最后利用评价函数确定最优的运动轨迹,直至到达目的地[22]。机器人的搜索空间受到机器人的运动学约束Vk、动力学约束Vb和障碍物约束Vo的限制,相关约束描述如下[23]

$ \left\{\begin{array}{l}{V}_{\mathrm{k}}=\mathrm{ }\{\left.(v, \omega )\right|v\in \mathrm{ }[{v}_{\mathrm{m}\mathrm{i}\mathrm{n}}, {v}_{\mathrm{m}\mathrm{a}\mathrm{x}}], \omega \in \mathrm{ }[{\omega }_{\mathrm{m}\mathrm{i}\mathrm{n}}, {\omega }_{\mathrm{m}\mathrm{a}\mathrm{x}}\left]\right\}\\ {V}_{\mathrm{b}}=\mathrm{ }\{\left.(v, \omega )\right|v\in \mathrm{ }[{v}_{\mathrm{c}}-{\dot{v}}_{\mathrm{b}}\mathrm{d}t, {v}_{\mathrm{c}}+{\dot{v}}_{\mathrm{a}}\mathrm{d}t]\mathrm{ }\wedge \\ \ \ \ \ \ \ \ \ \omega \in \mathrm{ }[{\omega }_{\mathrm{c}}-{\dot{\omega }}_{\mathrm{b}}\mathrm{d}t, {\omega }_{\mathrm{c}}+{\dot{\omega }}_{\mathrm{a}}\mathrm{d}t]\}\\ {V}_{\mathrm{o}}=\left\{\left.(v, \omega )\right|v\le \sqrt{2{d}_{\mathrm{m}\mathrm{i}\mathrm{n}}(v, \omega ){\dot{v}}_{\mathrm{b}}}, \right.\\ \ \ \ \ \ \ \ \ \left.\omega \le \mathrm{ }\wedge \sqrt{2{d}_{\mathrm{m}\mathrm{i}\mathrm{n}}(v, \omega ){\dot{\omega }}_{\mathrm{b}}}\right\}\end{array}\right. $ (5)

其中:$ {v}_{\mathrm{m}\mathrm{i}\mathrm{n}} $$ {v}_{\mathrm{m}\mathrm{a}\mathrm{x}} $表示机器人速度的上限和下限;$ {\omega }_{\mathrm{m}\mathrm{i}\mathrm{n}} $$ {\omega }_{\mathrm{m}\mathrm{a}\mathrm{x}} $表示机器人角速度的上限和下限;$ {v}_{\mathrm{c}} $是小车的当前线速度;$ {\omega }_{\mathrm{c}} $是当前角速度;$ {\dot{v}}_{\mathrm{b}} $$ {\dot{v}}_{\mathrm{a}} $分别对应线加速度的上限和下限;$ {\dot{\omega }}_{\mathrm{b}} $$ {\dot{\omega }}_{\mathrm{a}} $分别对应角加速度的上限和下限;$ {d}_{\mathrm{m}\mathrm{i}\mathrm{n}}(v, \omega ) $表示机器人在下一时刻到障碍物的距离。

移动机器人运动学公式推导如下:

$ \left[\begin{array}{c}{x}_{t+\mathrm{d}t}\\ {y}_{t+\mathrm{d}t}\\ {\theta }_{t+\mathrm{d}t}\end{array}\right]=\left[\begin{array}{c}{x}_{t}\\ {y}_{t}\\ {\theta }_{t}\end{array}\right]+\left[\begin{array}{ccc}\mathrm{c}\mathrm{o}\mathrm{s}\theta & -\mathrm{s}\mathrm{i}\mathrm{n}\theta & 0\\ \mathrm{s}\mathrm{i}\mathrm{n}\theta & \mathrm{c}\mathrm{o}\mathrm{s}\theta & 0\\ 0& 0& 1\end{array}\right]\left[\begin{array}{c}\mathrm{d}x\\ \mathrm{d}y\\ \mathrm{d}\theta \end{array}\right] $ (6)

其中:[xt+dtyt+dtθt+dt]T表示时刻t+dt机器人在世界坐标系中的位置;[xtytθt]T表示时刻t机器人在世界坐标系中的位置;[dx,dy,dθ]T表示时刻dt机器人的位置;底盘坐标系中的理想变化量[dx,dy,dθ]T = [vxdtvydtωdt]Tvxvy为机器人在底盘坐标系中沿x轴和y轴的线速度;ω表示移动机器人的角速度。

在计算多组采样速度的轨迹后,应用评估函数进行评分并选择最佳组[24]。评估函数描述如下:

$ G(v, \omega )=\sigma [\epsilon \cdot \mathrm{h}\mathrm{e}\mathrm{a}\mathrm{d}\mathrm{i}\mathrm{n}\mathrm{g}(v, \omega )+\tau \cdot \mathrm{d}\mathrm{i}\mathrm{s}\mathrm{t}(v, \omega )+\gamma \cdot \mathrm{v}\mathrm{e}\mathrm{l}(v, \omega \left)\right] $ (7)

其中:heading(vω)用于测量朝向目标的进度,当机器人直接移动到目标时,该进度最大;dist(vω)表示到静态障碍物的最近距离;vel(vω)表示前进速度;ετγ是权重;σ是3个评价函数的归一化参数。

2.2 融合安全A*算法与DWA的路径规划方法

通过设计路径融合子函数$ \mathrm{f}\mathrm{u}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}(v, \omega ) $,扩展原始动态窗口法的评价函数,计算公式如下:

$ \mathrm{f}\mathrm{u}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}(v, \omega )=\sqrt{{\left({x}_{1}-{x}_{2}\right)}^{2}+{\left({y}_{1}-{y}_{2}\right)}^{2}} $ (8)

其中:$ ({x}_{1}, {y}_{1}) $为动态窗口法基于采样轨迹而推演出的局部路径末端坐标;$ ({x}_{2}, {y}_{2}) $为安全A*算法获得的全局路径节点坐标。

为了与安全A*算法相结合,同时考虑导航方法的实时性,根据上文推导,更新动态窗口法的评价函数如下:

$ \begin{array}{c}G(v, \omega )=\sigma [\epsilon \cdot \mathrm{h}\mathrm{e}\mathrm{a}\mathrm{d}\mathrm{i}\mathrm{n}\mathrm{g}(v, \omega )+\tau \cdot \mathrm{d}\mathrm{i}\mathrm{s}\mathrm{t}(v, \omega )+\\ \gamma \cdot \mathrm{v}\mathrm{e}\mathrm{l}(v, \omega )+\kappa \cdot \mathrm{f}\mathrm{u}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}(v, \omega )]\end{array} $ (9)

其中:$ \kappa $为权重。

通过采用更新后的评价函数,可以在全局地图中获取考虑实时避障的最优平滑路径。基于融合方法的机器人动态避障流程如图 4所示。

Download:
图 4 基于融合方法的机器人动态避障流程 Fig. 4 Robot dynamic obstacle avoidance procedure based on fusion method
3 仿真验证与实物验证 3.1 仿真验证及分析 3.1.1 安全A*算法验证

在Intel® CoreTM i5-10300H CPU @ 2.50 GHz的Matlab仿真平台上验证本文融合方法的有效性和可行性。首先依据上文环境模型的搭建基础,设置20 m×20 m和30 m×30 m的栅格地图。使用文献[25]提出的改进A*算法、本文提出的安全A*算法、标准A*算法以及Dijkstra算法进行多组仿真对比实验。仿真结果如图 5图 6所示,性能指标如表 1表 2所示。可以看出:在简单环境下,本文算法较文献[25]算法减少5.2%的路径长度和5个转折点,缩短近43%的搜索时间;在复杂环境下,由于环境的复杂程度不相同,本文算法的路径长度和搜索时间较文献[25]算法有较大提升;4种算法得到的转折点相差不大,由于需要获得安全的路径,因此本文算法较标准A*算法会牺牲一定的距离代价,但每个路径节点到最近障碍物的平均距离有所增加,增强了路径的安全性。

Download:
图 5 简单环境下的路径仿真结果对比 Fig. 5 Comparison of path simulation results under simple environment
Download:
图 6 复杂环境下的路径仿真结果对比 Fig. 6 Comparison of path simulation results under complex environment
下载CSV 表 1 简单环境下的路径规划性能对比 Table 1 Comparison of path planning performance under simple environment
下载CSV 表 2 复杂环境下的路径规划性能对比 Table 2 Comparison of path planning performance under complex environment
3.1.2 融合方法性能验证及灵敏度分析

依据上文简单环境的配置,设置融合方法规划的参数。根据文献[21]中的权值设置,通过多组仿真数据对比,选择各个参数值为:ε=0.15,τ=0.25,γ=0.25,β=0.35。通过在环境中设置突然出现的障碍物,可以有效验证融合方法的避障性能。对融合方法的验证结果如图 7所示。从图 7(a)中可以看出,当地图中没有随机障碍物时,安全A*算法和安全A*融合动态窗口法都能规划出一条从起始点到终点的路径。当加入一个随机障碍物时,如图 7(b)所示,显然安全A*算法无法规避随机加入的障碍物,而安全A*融合动态窗口法能有效识别随机障碍物并进行动态避障。随着障碍物的增加,如图 7(c)图 7(d)所示,融合方法都能有效避开环境中加入的随机障碍物,同时准确追踪基于安全A*算法生成的全局路径,从而验证了本文融合方法的有效性和可靠性。

Download:
图 7 随机障碍物避障路径仿真结果 Fig. 7 Simulation results of random obstacle avoidance paths

路径长度和时间随加入障碍物个数的变化如图 8所示,可以看出,随着障碍物的增加,融合方法规划出的路径长度和规划时间呈线性增加。机器人控制参数反馈如图 9所示。

Download:
图 8 路径长度和时间随障碍物个数的变化 Fig. 8 Variation of path length and time with the number of obstacles
Download:
图 9 机器人角度、速度、角速度输出结果 Fig. 9 Output results of robot angle, velocity and angular velocity
3.2 实物验证及分析

借助自主搭建的机器人平台对本文提出的融合方法进行验证,如图 10所示。

Download:
图 10 机器人验证平台和地图环境 Fig. 10 Robot verification platform and map environment

机器人参数设置如下:RIKIBOT-四驱-主控-工控机-stm32驱动板-思岚A1雷达组装。

在实验过程中,通过在环境中设置障碍物,验证本文融合方法的有效性。首先机器人在静止环境中进行导航,当机器人回到起点时,随机改变障碍物的位置,验证导航算法在动态环境中的导航性能。机器人导航过程如图 11所示,可以看出,机器人在执行一个来回的任务时,虽然环境中的障碍物位置发生改变,但是机器人仍然可以安全抵达位置。输出的机器人参数如图 12所示,结果表明,本文融合方法具备实时避障的能力,且能安全地抵达目的地。

Download:
图 11 机器人导航过程 Fig. 11 Process of robot navigation
Download:
图 12 机器人状态输出 Fig. 12 Robot state output
4 结束语

针对标准A*算法规划路径冗余点多、安全性低以及无法在复杂环境下随机避障的缺点,本文提出一种融合安全A*算法和动态窗口法的方法,充分利用两种算法的优势。与标准A*算法、文献[25]改进A*算法和Dijkstra算法的仿真对比结果表明,本文融合方法实现了路径长度、运算效率、平滑性以及安全性的优化。在机器人平台上的实验结果也表明,本文融合方法能高效地完成实际环境中的路径规划任务,实现对随机障碍物的有效避障。由于本文只研究了对于静态未知障碍物的实时避障,未考虑到动态障碍物,因此下一步将会对动态窗口法进行改进,并在现有环境中加入动态障碍物,使本文融合方法在各种复杂环境中均能得到最优路径。

参考文献
[1]
DIJKSTRA E W. A note on two problems in connexion with graphs[J]. Numerische Mathematik, 1959, 1(1): 269-271. DOI:10.1007/BF01386390
[2]
WANG L, HUI X. Improved ant colony-genetic algorithm for information transmission optimization in remanufacturing service system[J]. Chinese Journal of Mechanical Engineering, 2018, 31(6): 106-117.
[3]
MAC T T, COPOT C, TRAN D T, et al. A hierarchical global path planning approach for mobile robots based on multi-objective particle swarm optimization[J]. Applied Soft Computing, 2017, 59(3): 68-76.
[4]
付丽霞, 任玉洁, 张勇, 等. 基于改进平滑A*算法的移动机器人路径规划[J]. 计算机仿真, 2020, 37(8): 271-276.
FU L X, REN Y J, ZHANG Y, et al. Path planning of mobile robot based on improved smoothing A* algorithms[J]. Computer Simulation, 2020, 37(8): 271-276. (in Chinese) DOI:10.3969/j.issn.1006-9348.2020.08.058
[5]
周滔, 赵津, 胡秋霞, 等. 复杂环境下移动机器人全局路径规划与跟踪[J]. 计算机工程, 2018, 44(12): 208-214.
ZHOU T, ZHAO J, HU Q X, et al. Global path planning and tracking for mobile robot in cluttered environment[J]. Computer Engineering, 2018, 44(12): 208-214. (in Chinese)
[6]
DROGE G. Dual-mode dynamic window approach to robot navigation with convergence guarantees[J]. Journal of Control and Decision, 2021, 8(2): 77-88. DOI:10.1080/23307706.2019.1709989
[7]
YANG W L, WU P, ZHOU X Q, et al. Improved artificial potential field and dynamic window method for amphibious robot fish path planning[J]. Applied Sciences, 2021, 12(5): 14-19.
[8]
HART P, NILSSON N, RAPHAEL B. A formal basis for the heuristic determination of minimum cost paths[J]. IEEE Transactions on Systems Science and Cybernetics, 1968, 4(2): 100-107. DOI:10.1109/TSSC.1968.300136
[9]
辛煜, 梁华为, 杜明博, 等. 一种可搜索无限个邻域的改进A*算法[J]. 机器人, 2014, 36(5): 627-633.
XIN Y, LIANG H W, DU M B, et al. An improved A* algorithm for searching infinite neighbourhoods[J]. Robot, 2014, 36(5): 627-633. (in Chinese)
[10]
张志文, 张鹏, 毛虎平, 等. 改进A*算法的机器人路径规划研究[J]. 电光与控制, 2021, 28(4): 21-25.
ZHANG Z W, ZHANG P, MAO H P, et al. Path planning of mobile robot based on improved A* algorithm[J]. Electronics Optics & Control, 2021, 28(4): 21-25. (in Chinese)
[11]
王志中. 复杂动态环境下自主机器人路径规划研究[J]. 组合机床与自动化加工技术, 2018(1): 64-68.
WANG Z Z. Automatic robot path planning under complicit dynamic environment[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2018(1): 64-68. (in Chinese)
[12]
LI X Y, LIU F, LIU J, et al. Obstacle avoidance for mobile robot based on improved dynamic window approach[J]. Turkish Journal of Electrical Engineering & Computer Sciences, 2017, 25: 666-676.
[13]
常新新, 胡为, 姬书得, 等. 基于改进动态窗口法的移动机器人避障研究[J]. 组合机床与自动化加工技术, 2021(7): 33-36, 39.
CHANG X X, HU W, JI S D, et al. Obstacle avoidance of mobile robot based on improved dynamic window method[J]. Modular Machine Tool & Automatic Manufacturing Technique, 2021(7): 33-36, 39. (in Chinese)
[14]
阳钧, 鲍泓, 梁军, 等. 一种基于高精度地图的路径跟踪方法[J]. 计算机工程, 2018, 44(7): 8-13.
YANG J, BAO H, LIANG J, et al. Application of improved fireworks algorithm in path planning of virtual soldier[J]. Computer Engineering, 2018, 44(7): 8-13. (in Chinese)
[15]
卞永明, 季鹏成, 周怡和, 等. 基于改进型DWA的移动机器人避障路径规划[J]. 中国工程机械学报, 2021, 19(1): 44-49.
BIAN Y M, JI P C, ZHOU Y H, et al. Obstacle avoidance path planning of mobile robot based on improved DWA[J]. Chinese Journal of Construction Machinery, 2021, 19(1): 44-49. (in Chinese)
[16]
BAYILI S, POLAT F. Limited-Damage A*: a path search algorithm that considers damage as a feasibility criterion[J]. Knowledge-Based Systems, 2011, 24(4): 501-512.
[17]
AINE S, SWAMINATHAN S, NARAYANAN V, et al. Multi-Heuristic A*[J]. International Journal of Robotics Research, 2016, 35(1/2/3): 224-243.
[18]
黄令苇, 全燕鸣, 王荣辉. 基于安全A*算法的AGV路径规划[J]. 自动化与仪表, 2021, 36(1): 45-48.
HUANG L W, QUAN Y M, WANG R H. AGV path planning based on safe-A* algorithm[J]. Automation & Instrumentation, 2021, 36(1): 45-48. (in Chinese)
[19]
SUN Y, YOU Y, SUN X et al. The hybrid path planning algorithm based on improved A* and artificial potential field for unmanned surface vehicle formations[J]. Ocean Engineering, 2021, 22(3): 3-4.
[20]
JIANG H J, SUN Y, WANG X W, et al. Research on path planning of mobile disinfection robot based on improved A* algorithm[J]. Journal of Physics: Conference Series, 2021, 1871(1): 1-10.
[21]
张家旭, 王欣志, 赵健, 等. 汽车高速换道避让路径规划及离散滑模跟踪控制[J]. 吉林大学学报(工学版), 2021, 51(3): 1081-1090.
ZHANG J X, WANG X Z, ZHAO J, et al. Path planning and discrete sliding mode tracking control for high-speed lane changing collision avoidance of vehicle[J]. Journal of Jilin University(Engineering and Technology Edition), 2021, 51(3): 1081-1090. (in Chinese)
[22]
FOX D, BURGARD W, THRUN S. The dynamic window approach to collision avoidance[J]. IEEE Robotics & Automation Magazine, 1997, 4(1): 23-33.
[23]
张瑜, 宋荆洲, 张琪祁. 基于改进动态窗口法的户外清扫机器人局部路径规划[J]. 机器人, 2020, 42(5): 617-625.
ZHANG Y, SONG J Z, ZHANG Q Q. Local path planning of outdoor cleaning robot based on an improved DWA[J]. Robot, 2020, 42(5): 617-625. (in Chinese)
[24]
迟旭, 李花, 费继友. 基于改进A*算法与动态窗口法融合的机器人随机避障方法研究[J]. 仪器仪表学报, 2021, 42(3): 132-140.
CHI X, LI H, FEI J Y. Research on robot random obstacle avoidance method based on fusion of improved A* algorithm and dynamic window method[J]. Chinese Journal of Scientific Instrument, 2021, 42(3): 132-140. (in Chinese)
[25]
ZHONG X Y, TIAN J, HU H S, et al. Hybrid path planning based on safe A* algorithm and adaptive window approach for mobile robot in large-scale dynamic environment[J]. Journal of Intelligent & Robotic Systems, 2020, 99(1): 65-77.