智能体Agent多指无人自主装备,本文主要特指无人船、艇、舟等USV装备,研究的算法同样适用其他无人装备。Agent 路径规划是指Agent 对环境进行感知并自主规划出能够躲避障碍的从起点到达终点的运动轨迹。显然,Agent 路径规划能力对Agent 执行特定任务非常重要。Agent 路径规划的传统解决方法主要有粒子群算法、A* 算法、遗传算法、模拟退火算法、蚁群算法、人工势场法等[1-2]。随着技术发展以及Agent 面对环境快速、准确的路径规划训练需求,人们提出了利用强化学习方法,通过Agent 与环境之间的交互,不断试错积累经验,使Agent 从环境中获得的累积奖励值最大,从而使Agent 获得行为最优决策能力[1]。深度强化学习(DRL)将深度学习与强化学习进行融合[2],其中深度学习利用神经网络实现状态动作值函数的逼近,强化学习根据神经网络的状态动作值函数的输出以及一定的探索策略完成决策,从而实现状态到动作的映射,能较好地满足Agent 的路径规划需求[2]。为了Agent 能够快速优化路径,本文将强化学习中的Q-learning与神经网络方法相结合,针对Agent 训练初期动作选择随机性较强从而导致算法训练时间过长问题,采用以目标位置为导向的动作选择策略[3]及动作回报函数的动态计算方法[4],对算法进行优化,提高其实用性,最后验证了算法的有效性,加快了训练收敛速度,缩短了路径长度,算法具备一定的泛化能力。
1 Q-learning 基础算法强化学习通过Agent 与环境之间的交互进行决策,Agent观察当前t时刻状态st,采取某种行为at作用于环境 ,然后获得奖励rt,并进入状态st+1,如此循环。Agent根据奖励值随时调整行为,以获得最大回报,其基本原理如图1所示[5]。
![]() |
图 1 Agent 环境与状态 Fig. 1 Agent environment and state |
回报定义为即时奖励值的加权累积,一般用状态st处的状态值函数来描述回报。
vπ(st)=Eπ[∑∞k=0γkrt+k+1|s=st]。 | (1) |
式中:
qπ(st,at)=Eπ[∑∞k=0γkrt+k+1|s=st,a=at]。 | (2) |
Agent在每次动作完成以后,都要更新值函数,针对不同的更新策略,产生了不同的学习算法,其中Q-learning是一种通过离策略找到最优策略的时间差分(TD) 控制方法。当通过Q-learning学习动作时,利用从环境中得到的即时奖励值
Q(s,a)=Q(s,a)+α[r+γmaxa′Q(s′,a′)−Q(s,a)]。 | (3) |
式中:
当Agent状态、动作较少时,可建立Q值表,存储
本文讨论的路径规划主要针对二维环境。为简化描述,对环境采用网格地图建模,无人船Agent 在二维网格中运动,其t时刻状态st可用当时的无人船Agent 位置来表达。如图2所示,将环境分为
![]() |
图 2 Agent环境与状态建模 Fig. 2 Agent environment and state |
根据不同的策略学习算法,可将(xt, yt)或实时EM矩阵或当前实时网格图像作为智能体Agent 状态
Q-learningt动作选择随机性强,在策略探索前期,无人船Agent有很大概率碰撞到障碍物,这些大量的碰撞经验降低算法的收敛速度,本文将
设t时刻Agent 状态st=(xt, yt),目标状态为sg=(xg, yg),Agent朝着目标的方向动作,能够确保最短路径,方向角可定义为[3]:
∅=arctanyg−ytxg−xt,∅∈(−π,π]。 | (4) |
规定Agent在每个状态下可以采取8个动作,分别从当前网格状态移动到8个相邻的网格状态[3],用动作方向角表示8个动作:
A[i]={0,π4,π2,3π4,π,−3π4,−π2,−π4},i=0,1…7。 | (5) |
计算目标方向角与8个动作方向角之间的夹角,取最小的夹角所对应的动作方向,为目标导向的动作at。
π(st)=at=A[argmini(∅与A[i]之间夹角)]。 | (6) |
为了Agent的策略探索,利用
π(at|st)={1−ε,ifat=A[i]目标导向,ε,ifat=argmaxaQ(st,a),a∈A(s)。 | (7) |
障碍物避碰动作,如果Agent执行动作at遇到障碍物,避碰则保持原状态不变,获得奖励后,进行避碰动作选择,继续训练,避碰动作依次如下:
at=A[i],i=[i+k+8]mod8,kϵ[−1,1,−2,2,−3,3,−4]。 | (8) |
无人船Agent在状态st执行at动作后,环境反馈奖励rt进行动作评价,Agent试图获得最大总报酬,奖励函数指导Agent实现其目标,rt值越高,其动作越值得选择,奖励函数能决定算法的收敛速度。一般奖励函数设置为静态固定值,本文为了奖励Agent快速接近终点,利用人工势场法动态设置奖励函数[4],Agent越接近目标,rt越高。
rt={15, 如果Agent移动到终点,10−kD(st+1,sg), 如果Agent移动到新状态,−kD(st+1,sg), 如果Agent碰到障碍物。 | (9) |
式中:k为灵敏系数控制奖励的范围;
Q神经网络是神经网络和Q-learning相结合的无监督学习方法。强化学习为神经网络提供训练的样本,神经网络对输入的无人船Agent 状态进行逼近计算,得出Agent所有状态动作值
Q(s,a;w)≈Q(s,a), | (10) |
wt+1=wt+α[r+γmax | (11) |
式中:
\begin{aligned}w_{t+1}= & w_t+\alpha\left[r+\gamma\mathrm{max}_{a^{\mathrm{’}}}Q\left(s^{\mathrm{'}},a^{\mathrm{'}};w^{\mathrm{'}}\right)-Q\left(s^{ },a^{ };w\right)\right]。\\ & \nabla Q\left(s^{ },a^{ };w\right)。\end{aligned} | (12) |
式中:
L\left(w\right)=E\left(r+\gamma\mathrm{max}_{a^{\mathrm{'}}}Q\left(s^{\mathrm{'}} ,a^{\mathrm{'}} ;w^{\mathrm{'}}\right)-Q\left(s^{ },a^{ };w\right)\right)^2。 | (13) |
由于Q-learning选取动作值函数采用max操作,存在过估计问题,DQN 神经网络算法利用 Q-learning 提供有标签的样本,所以DQN同样存在过估计问题,可能导致策略逐渐变成次优解,对DQN进行优化,产生优化网络DoubleDQN,神经网络结构相同[4,6,9],只是TD目标函数不同,TD目标及损失函数为:
\begin{aligned} L\left(w\right)=&E\left(r+\gamma Q\left({s}^{\mathrm{'}},{\rm arg{max}}_{{a}^{\mathrm{'}}}\right.\right.\\& \left.\left.Q\left({s}^{\mathrm{'}},{a}^{\mathrm{'}};w\right);{w}^{\mathrm{'}}\right)-Q\left({s}^{},{a}^{};w\right)\right)^{2},\end{aligned} | (14) |
\begin{aligned} {w}_{t+1}=&{w}_{t}+\alpha \left[r+\gamma Q\left({s}^{\mathrm{'}} ,{\rm arg{max}}_{{a}^{\mathrm{'}}}\right.\right.\\ &\left.\left.Q\left({s}^{\mathrm{'}},{a}^{\mathrm{'}};w\right);{w}^{\mathrm{'}}\right)-Q\left({s}^{},{a}^{};w\right)\right]\nabla Q\left({s}^{},{a}^{};w\right)。\end{aligned} | (15) |
Q神经训练结合目标导向的动作策略以及经验回放,构建算法训练框架如图3所示。
![]() |
图 3 经验样本回放及神经网络训练框架 Fig. 3 Experience sample playback and neural network training framework |
神经网络训练时是有监督的学习模型,训练数据满足独立同分布的假设,利用Q-learning获取的样本关联性较大,不利于神经网络的稳定收敛,利用经验回放,将Agent每次执行结果
以神经网络训练框架为基础,结合避碰知识、目标导向策略、动态奖励计算方法,构建无人船Agent避碰导航算法流程,有效避免无效探索,加快算法的收敛速度,缩短Agent的路径长度。神经网络训练及路径算法流程如图4所示。
![]() |
图 4 路径规划算法流程 Fig. 4 Design of the path planning algorithm for collision avoidance |
算法中的Agent状态可以是实时EM矩阵或当前实时网格图像。算法首先初始化各种参数,随机设置估值网络、目标网络的权重,对于每个回合的每一步,首先根据目标的位置,以
为验证算法的有效性,以无人船作为Agent实例,设置了一个虚拟的20×20网格环境,如图5所示,初始设置了终点及静态障碍点,Agent的起点在训练过程中随机产生。在任意时刻Agent都有8个动作,Agent状态st为20×20矩阵。表1中为算法参数。
![]() |
图 5 静态障碍的路径规划 Fig. 5 Path planning of Agent static obstacles |
![]() |
表 1 算法的参数设置 Tab.1 Parameter setting of the algorithm |
t时刻无人船Agent位置st=(xt, yt),目标位置为sg=(xg, yg)动作的即时奖励函数rt具体设置如下:
r_t=\left\{\begin{array}{l}15,\\ 如果\mathrm{Agent}到达终点;\\ 10-\dfrac{1}{3}\sqrt{(x_{t+1}-x_g)^2+(y_{t+1}-y_g)^2},\\ 如果\mathrm{Agent}移动到新位置状态;\\ -\dfrac{1}{3}\sqrt{(x_{t+1}-x_g)^2+(y_{t+1}-y_g)^2},\\ 如果\mathrm{Agent}碰到障碍物。\end{array}\right. | (16) |
如图5所示,无人船Agent 从S1出发,经过训练找到了最终的避碰优化路径,路径从起点到终点共24步,长度较短,无效及绕行路径很少,由于采用了ε-greed策略选取目标导向的动作,整个路线从开始就一直趋向目标点方向,减少试错次数,缩短路径的总步数。算法是有效的,在收敛方面效果比较好。当改变Agent的起点为S2或S3时,Agent分别用了18、19步到达目标终点,都是基于目标导向的最短路径,这说明算法对起点选择具有泛化能力。
如图6所示,障碍物的数量和位置发生了一定的变化,无人船Agent 同样可以顺利从起点S1避碰到达目标终点Sg,共28步。Agent避障时产生了曲折的路径,这是因为障碍物位置变化后,按照以前的训练结果选择动作,与最优方向有偏差。Agent的感知能力,神经网络在Agent运动过程中不断训练,都可适应障碍物变化,保证算法一定的泛化能力。
![]() |
图 6 障碍物变化后的路径规划 Fig. 6 Path planning after the change of the obstacles |
如图7和图8所示,无人船Agent经过190多回合迭代训练,平均奖励值及每回合步数开始趋于稳定,260次左右完全收敛,训练总步数为
![]() |
图 7 算法训练过程中的平均奖励回报 Fig. 7 The average reward of training process |
![]() |
图 8 每回合训练需要的步数 Fig. 8 Steps per episode |
强化学习在线决策与神经网络函数逼近相结合,是解决以无人船、艇、舟等USV设备为代表的自主Agent避碰及路径规划的有效方法。本文参考人类行为,利用目标导向作为动作策略,避免大量无效动作路径,设置动态奖励方法,期望越接近目标收敛越快,将Q-learning与神经网络相结合,构建了有效的算法,既可适应静态障碍的避碰与导航,同时对随机点出发及障碍变化的环境,算法具有一定的泛化性。算法也有缺陷,面对马蹄形障碍,容易训练失败,算法存在一定的过拟合现象,如果障碍物位置与数量动态持续变化,算法不适应,待以后重点研究。
[1] |
王毅然, 经小川, 田涛. 基于强化学习的多Agent 路径规划方法研究[J]. 计算机应用软件, 2019, 36(8): 165−171.
|
[2] |
董瑶, 郭鸿勇. 基于深度强化学习的移动机器人路径规划[J]. 计算机工程与应用, 2019, 55(13): 15-19. DOI:10.3778/j.issn.1002-8331.1812-0321 |
[3] |
HOANG H V,SANG H A. Dyna-Q-based vector direction for path planning problem of autonomous mobile robots in unknown environmentsAdvaced Robotics, 2013, 27(3): 159−173.
|
[4] |
颜廷兴, 基于强化学习的移动机器人路径规划方法设计[D]. 济南: 济南大学, 2019.
|
[5] |
江其州, 曾碧. 基于深度强化学习移动机器人导航策略研究[J]. 计算机测量与控制, 2019, 27(8): 217-221. |
[6] |
周思雨. 动态环境下多传感器行星车自适应路径规划方法研究[D]. 哈尔滨: 哈尔滨工业大学, 2019.
|
[7] |
许亚. 基于强化学习的移动机器人路径规划研究[D]. 济南: 山东大学, 2013.
|
[8] |
姜兰. 基于强化学习的智能小车路径规划[D]. 杭州: 浙江理工大学, 2018.
|
[9] |
方川. 基于深度强化学习的无人驾驶车道保持决策的研究[D]. 南京: 南京大学, 2019.
|
[10] |
钟宇平, 王丽丹. 基于神经网络及强化学习的智能控制系统[J]. 西南大学学报, 2013, 35(11): 172−176.
|