水面无人艇在海洋科研、海洋开发和军事领域具有极其广泛的应用前景,已经成为国内外智能化装备的研究方向之一。环境感知与路径规划是无人艇完成任务的重要部分,也是无人艇执行任务的基础。无人艇依据环境感知信息自主完成路径规划的能力,体现了无人艇的智能水平。
随着人工智能领域的发展,强化学习在路径规划领域得到了应用。M.C.Su 等[1]提出将强化学习加入路径规划的理论。G.Tan等[2]提出基于 Dijkstra算法的强化学习路径规划的理论。T.L.Lee等[3]提出未知环境下移动机器人的模糊运动规划方法。Z.Hong 等[4]提出基于分层强化学习的路径规划的方法。Y.Song等[5]提出一种有效的移动机器人Q学习方法。强化学习在机器人路径规划中的的应用已经有较多的研究,而在无人艇领域的研究较少,并且当前对于无人艇路径规划的研究,大都是以寻找最短的无碰路径,而对无人艇执行任务过程中,任务约束条件下的路径规划研究几乎没有。
针对海上环境的特点,本文提出一种利用灰色预测辅助区域建议神经网络的水面目标检测方法,快速准确地获得海上无人艇的任务环境信息。以Maritime RobotX Chanllenge比赛中的任务为背景,提出一种多任务约束条件下基于强化学习的路径规划算法。依据任务条件,以获得的任务感知信息为输入,通过强化学习训练,使无人艇能够在随机起始状态下,寻找到完成任务的最优路径,并通过仿真试验和实船试验对其进行验证。
1 强化学习强化学习是一种基于环境交互的学习算法,强化学习的过程如图1所示。强化学习可以简单描述为:智能体处于某个环境中,通过感知系统感知到当前的环境状态,并在该环境状态下采取某个动作,作用于该环境状态,当前的环境状态按照某种概率转移到另一个状态,同时环境也会根据潜在的奖赏函数反馈给机器一个奖赏值。强化学习的目的就是使智能体获得的累计奖赏值最大。
Q_learning是一种行之有效的强化学习方法。Q_learing算法通过训练得到Q-table,Q-table代表了智能体学到的知识。探索环境(environment)之前,Q-table 会给出相同的任意设定值(大多数情况下是 0)。随着对环境的持续探索,这个 Q-table 会通过迭代地使用动态规划方程更新来给出越来越好的近似。
Q-table的递归方程形式如下:
$\begin{split} {Q_{k + 1}}\left( {s,a} \right) =& {Q_k}\left( {s,a} \right) + \partial ( r\left( {s,a} \right) + \\ &\gamma \mathop {\max }\nolimits_{a' \in A} Q\left( {s',a'} \right) - Q\left( {s,a} \right) )\text{。}\end{split} $ | (1) |
式中:r(s, a)为在s状态下采取a行动所得到的奖赏值;s′为s状态后的下一个状态;∂为学习率,代表学习知识的程度,∂∈[0,1];γ为折扣率,代表考虑未来报酬的程度,γ∈[0,1]如果γ越接近于0,智能体更趋向于仅仅考虑即时奖励;如果γ更接近于1,智能体将以更大的权重考虑未来的奖励,更愿意将奖励延迟。
2 多任务约束条件下基于强化学习的水面无人艇路径规划算法 2.1 任务约束条件本文水面无人艇执行的任务以Maritime RobotX Chanllenge国际水面无人艇比赛中的基础过门任务和避障任务为背景。
基础过门任务描述如图2所示。无人艇必须依靠导航和感知信息全自主无碰撞通过2组红绿浮标(图中深浅)表示。其中红色浮标和绿色浮标的距离约为10 m,两组红绿浮标间的距离约为30 m。该任务的约束条件为无人艇能够从开始门进入,从结束门出去,且不能够碰撞浮标,不能够从2组红绿浮标间穿过。
避障任务描述如图3所示。无人艇必须依靠导航的感知设备自主穿过障碍物区域,且不能够碰撞任何障碍物。障碍物的直径约为1 m。该任务的约束条件为无人艇能够以最短路径穿过障碍物区域,并且不能够碰任何障碍物。
本文将2种任务融合在一起,在基础过门任务的红绿浮标外侧布置障碍物,无人艇从起点出发,穿过障碍物区域,并且完成基础过门任务。
2.2 环境建模在执行路径规划算法之前,首先需要将水面无人艇周围的环境信息表示出来。由任务描述可知,要完任务水面无人艇必须能够准确分辨出浮标和障碍物,并且能够得到浮标颜色及浮标和障碍物的准确位置。为了在有风浪流等干扰因素的复杂环境下快速准确得到水面目标信息,本文提出一种利用灰色预测辅助区域建议神经网络的水面目标检测方法。在得到任务信息及目标信息后,采用栅格法表示环境。
2.2.1 利用灰色预测辅助区域建议神经网络的水面目标检测方法利用灰色预测进行区域建议,提升神经网络检测连续视频帧中水面目标的速度和准确率,具体流程如图4所示。
水面目标多出现在样本图片中的水天线附近,且连续视频帧间同一水面目标在视频帧中的位置存在内在联系。本文提出的方法利用这一特点,使用灰色预测与海天线检测布置锚点和候选框,辅助Faster RCNN网络识别水面目标,提升水面目标识别的快速性和准确性。
利用经典的Faster RCNN方法识别水面目标,并记录下目标识别框中心点在视频帧中的像素坐标(u, v),设置采样时间间隔t=0.2 s,采样帧数为5帧。
利用初始目标帧中的采样信息建立灰色预测模型,其初始元素序列数据为
${ B} = \left[ {\begin{array}{*{20}{c}} { - z_2^1,1} \\ { - z_3^1,1} \\ { - z_4^1,1} \\ { - z_5^1,1} \end{array}} \right],\;\;{ Y}_n = \left[ {\begin{array}{*{20}{c}} {x_2^0} \\ {x_3^0} \\ {x_4^0} \\ {x_5^0} \end{array}} \right]\text{。}$ | (2) |
建立灰色微分方程的白化方程,求其解并做累减还原可得最终预测结果如下:
$x_6^0 = x_6^1 - x_5^1 = [x_1^0 - \frac{b}{a}](1 - {e^a}){e^{ - 5a}}\text{。}$ | (3) |
即为灰色预测得到的下一视频帧中水面目标识别框的中心点横坐标。
对计算得到的灰色预测模型相对残差
$\varepsilon (k) = \frac{{x_k^0 - \hat x_k^0}}{{x_k^0}}\text{。}$ | (4) |
其中:
$\rho (k) = 1 - \frac{{1 - 0.5a}}{{1 + 0.5a}}\lambda (k)\text{。}$ | (5) |
其中:
改进经典Faster RCNN神经网络结构,利用灰色预测的结果进行区域建议。改进后的Faster RCNN网络结构如图5所示。首先使用海天线检测获取视频帧中海天线的位置,随后在海天线上、灰色预测获取的水面目标横坐标附近按照高斯分布布置锚点,在每个锚点处仍然选用3种大小与3种长宽比的共9种候选框,将这些候选框输入区域建议网络(Region Proposal Network,RPN),使得区域建议更加精确。另一方面,得益于精确的区域建议和较单一的背景特征,精简特征提取网络层数,使用VGG13网络代替VGG16网络,提升网络运行速度。随后进行池化,目标分类与边界框回归操作,获取最终的检测结果。
判断是否检测到目标。若检测到目标,则利用新息对灰色模型进行实时更新,防止模型预测结果随时间发散,然后利用新模型重新进行预测和检测。若没有检测到目标,说明水面目标可能已经离开视野或预测不准确,此时应停止本次检测过程,将新息作为目标初始帧,重新开始下一个检测过程。
2.2.2 环境模型依据得到的任务信息和感知信息建立环境模型,本文建立多任务环境模型。由于无人艇在航行过程中自身位置是连续状态的空间,而连续性的高维状态空间会使强化学习算法难以收敛,需要将无人艇环境状态空间离散化。在Maritime RobotX Chanllenge水面无人艇比赛中,水面无人艇任务区域一般为40 m*40 m,该区域一般在无人艇的感知范围之内,考虑到无人艇的航行性能,并且使状态空间尽量合理,本文将任务区域划分为40*40的栅格区域。
以得到的门的浮标位置为中心建立栅格环境模型,如图6所示。图中深灰浅灰栅格表示感知信息检测到的门浮标位置,上边的门为入口门,下边的门为出口门。黑色栅格表示障碍物区域,黄色栅格为无人艇起始位置。
依据水面无人艇所要执行的不同任务设计不同的奖赏函数,能够有效提高强化学习算法的收敛速度。面对多任务约束条件下的水面无人艇路径规划,奖赏函数的设计决定了其能否快速收敛到最优解。为提高多任务约束条件下Q_learning算法的收敛速度,本文设计了任务分解奖赏函数。
2.3.1 任务分解奖赏函数的设计依据任务的优先级,对无人艇所要执行的任务进行优先级划分,避障任务始终处于任务第1位。将水面无人艇路径规划的奖赏函数表示为各个分任务奖赏函数的加权和,如下式:
$ {{R}} = {\omega _0}{R_0} + {\omega _1}{R_1} + \ldots + {\omega _n}{R_n}\text{。} $ | (6) |
其中:R表示总的奖赏函数;Ri(i=1, 2, ···, n)表示分任务的奖赏函数;n表示无人艇可以执行任务的数量;ωi(i=1,2,…,n)表示分任务奖赏函数的权值,ωi∈[0,1],ωi值越大表示任务优先级越高,需要优先考虑该任务的奖赏函数,通常无人艇周围有障碍物时,优先将避障任务权值调整为最大。
针对本文中水面无人艇要执行的任务,设计如下的奖赏函数:
$ {{R}} = {\omega _0}{R_0} + {\omega _1}{R_1}\text{,} $ | (7) |
$ {R_0}\left( {{S_t},{a_t}} \right) = \left\{ {\begin{array}{*{20}{c}} {{r_0}\text{,}\text{碰到障碍物}}\text{,}\\ {{r_1}\text{,}\text{没有碰到障碍物}}\text{,} \end{array}} \right. $ | (8) |
$\begin{split} {R_1}\left( {{S_t},{a_t}} \right) = \left\{\!\!\!\! \begin{array}{l} {r_2},{\rm{}}D_L' < {S_{t + 1}} < D_R'\text{,}\\ {r_3},{\rm{}}{S_{t + 1}}\% N = ({D_L} + {D_R})/2\text{,}\\ {r_4},{\rm{}}{S_{t \!+\! 1}}\% N\! \!=\!\! {D_L}\% N,{D_L}/N \!\!\leqslant\!\! {S_{t \!+\! 1}}\!\! \leqslant\!\! N \!\!-\!\! 1\text{,}\\ {r_5},{\rm{}}{S_{t \!+\! 1}}\% N \!\!=\!\! {D_R}\% N,{D_R}/N \!\!\leqslant\!\! {S_{t \!+\! 1}}\!\! \leqslant\!\! N \!\!-\!\! 1\text{,}\\ {r_6}\text{。} \end{array} \right.\\[-40pt] \end{split} $ | (9) |
式中:R为总的奖赏函数,
依据任务对奖赏函数进行分解,通过对不同任务奖赏函数权重的分配,使无人艇在训练过程中,能够根据当前执行的任务选择该任务的奖赏函数,从而使其能够得到最优的奖赏值。
2.3.2 策略选择动作的选取策略需要考虑“探索”与“利用”平衡问题,“探索”即智能体对为止环境的探索,“利用”即智能体选择当前最优策略。初始训练时,由于智能体对环境一无所知,应该以较大“探索”概率进行环境探索;当训练一段时间后,智能体对环境有了一定的了解,应该以较大的“利用”概率选择最优策略。
本文采用经典的ϵ-贪心策略,ϵ值表示“探索”概率,即在训练过程中随机选择动作的概率。1-ϵ表示“利用”概率,即在训练过程中选择最优动作的概率。由于在训练前期,智能体对环境信息一无所知,需要以较大概率进行“探索”,而在训练一段时间后,智能体对环境信息有了一定的了解后,可以依据之前的训练情况选择最优动作。因此,本文中ϵ的值随着训练次数线性递减,即
$ {\rm{\epsilon}} = - \frac{1}{{{n}}}{{*t}} + 1\text{。} $ | (10) |
式中:n为训练总次数;t为当前训练次数。
3 试验 3.1 仿真试验基于Windows操作系统,在VS2012开发环境下编写多任务约束条件下基于强化学习的水面无人艇路径规划算法。仿真试验的参数设置如下:学习率α=0.9,折扣率γ=0.8,总的训练次数为10 000次。仿真试验动作的选取策略为ϵ-贪心策略,ϵ初始值设为1,确保在初始时无人艇有较大随机探索概率;随着训练次数的增加线性递减,即每训练一次ϵ值减少0.000 1,确保在多次训练后采取回报值较大的动作。
图7为水面无人艇单个任务的仿真结果。通过强化学习的训练之后,无人艇能够自主规划出完成任务的路径。经过多次试验,训练的时间约为100 ms,能够满足无人艇航行过程中实时在线训练的要求,并且能够较好地规划出完成任务的路径。
图8为多任务约束条件下基于强化学习的水面无人艇路径规划结果。经过强化学习训练,水面无人艇能够安全穿越障碍区,并且完成基础过门任务。
图9为强化学习训练过程中每次训练的累计奖赏。在训练过程中,无人艇碰撞或者违反任务规则会得到一个负的奖赏,当无人艇沿任务规则航行会得到一个正的奖赏,当无人艇到达目标区域会得到一个更大的正奖赏。
可以看出,基于任务分解奖赏函数的Q_learning算法能够很好地收敛。在训练前期无人艇处于探索时期,会经常发生碰撞或违反任务规则,所以开始的时候累计奖赏大多为负值。随着训练的不断进行,无人艇能够利用之前训练的“知识”选择奖赏较好的动作,奖赏值逐渐增大最终收敛到一定范围。
图10与图11分别对比了基于任务分解奖赏函数的Q_learning算法和经典Q_learning算法的成功率和收敛性。可以看出,基于任务分解奖赏函数的Q_learning算法能够有效提高训练过程中寻找路径的成功率,并且能够快速收敛到最优解。由于采用ϵ-贪心策略会有一定概率随机选择动作,因此图中会有许多“毛刺”。
通过仿真试验可以看出,在多任务的约束条件下,基于任务分解奖赏函数的Q_learning算法能够加快训练收敛速度,从而节省训练时间,保证水面无人艇路径规划的实时性。通过强化学习训练,水面无人艇能够较好规划出完成任务的路径。
3.2 实物试验 3.2.1 无人艇试验平台搭建无人艇硬件系统结构如图12所示。导航设备主要有:GPS和电子罗盘(TCM);感知设备主要有:激光雷达和摄像头;艇上有2台工控机,分别用来执行规划控制算法和感知系统中的算法。感知工控机与规划控制工控机之间的通信采用网络通信(TCP/IP协议)。
无人艇软件系统结构如图13所示。
任务规划汇总来自各个模块的数据,依据当前艇的状态及任务信息,决定完成任务的最佳策略。任务规划器将导航和感知信息汇总分析后,将信息传送到环境建模模块完成任务执行的环境建模。路径规划器依据当前的环境模型,基于强化学习寻找最优路径,完成任务执行的任务路径规划。
3.2.3 试验结果分析本文提出的方法在2018Maritime RobotX Chanllenge中得到了成功应用并取得了预期效果。在试验中,无人艇首先采用利用灰色预测辅助区域建议神经网络的水面目标检测方法得到任务区域中入口门浮标的位置和颜色,之后,由任务规划器依据感知信息完成当前要执行任务的决策,并计算出出口门的位置,同时完成任务环境建模,最后,基于强化学习完成执行任务的路径规划。
在基础过门任务与避障任务的执行中,使用与仿真试验相同的参数,无人艇能够完成基于强化学习的在线学习,并成功规划出完成任务的最优路径,无人艇执行任务过程如图13所示。经过试验验证本文提出的任务约束条件下基于强化学习的水面无人艇路径规划方法能够满足实际要求。
4 结 语本文提出一种利用灰色预测辅助区域建议神经网络的水面目标检测方法和一种多任务约束条件下基于强化学习的水面无人艇路径规划算法。采用灰色预测进行区域建议,提升神经网络检测连续视频帧中水面目标的速度和准确率,提高了获得水面任务环境信息的准确性,利用感知系统得到的环境信息完成环境建模,并基于强化学习在线训练,完成任务约束条件下的无人艇路径规划。以Maritime RobotX Chanllenge中的基础过门任务为背景,通过仿真试验,验证了在任务约束条件下,采用强化学习进行路径规划的可行性,并通过实物试验,验证了这2种算法能够满足实际要求。
[1] |
SU M.C., HUANG D.Y, CHOW C.H., et al. A reinforcement learning approach to robot navigation, in Proceedings of IEEE International Conference on Networking, Sensing and Control, 2004, 1: 665–669.
|
[2] |
TAN G., HE H., AARON S... Global optimal path planning for mobile robot based on improved Dijkstra algorithm and ant system algorithm[J]. Journal of Central South University of Technology, 2006, 13(1): 80-86. DOI:10.1007/s11771-006-0111-8 |
[3] |
LEE T.L., WU C.J... Fuzzy motion planning of mobile robots in unknown environments[J]. Journal of Intelligent and Robotic Systems, 2003, 37(2): 177-191. DOI:10.1023/A:1024145608826 |
[4] |
BISCHOFF B., NGUYEN D., TUONG, et al. Hierarchical reinforcement learning for robot navigation, in Proceedings of 21st European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning, 2013: 227–232.
|
[5] |
SONG Y., LI Y., LI C., et al.. An efficient initialization approach of Q-learning for mobile robots[J]. International Journal of Control, Automation and Systems, 2012, 10(1): 166-172. DOI:10.1007/s12555-012-0119-9 |
[6] |
张福海, 李宁, 袁儒鹏, 等. 基于强化学习的机器人路径规划算法[J]. 华中科技大学学报(自然科学版), 2018, 46(12): 65-70. |
[7] |
张汕璠.基于强化学习的路径规划方法研究[D]. 哈尔滨: 哈尔滨工业大学, 2018.
|
[8] |
徐玉如, 苏玉民, 庞永杰. 海洋空间智能无人运载器技术发展展望[J]. 中国舰船研究, 2006, 1(3): 1-4. DOI:10.3969/j.issn.1673-3185.2006.03.001 |
[9] |
ZHUANG Jy, ZHANG L, ZHAO Sq, et al. Radar-based collision avoidance for unmanned surface vehicles[J]. China Ocean Engineering, 2016, 30(6): 867-883. DOI:10.1007/s13344-016-0056-0 |
[10] |
ZHANG Lei, PANG Yongjie, LI Ye, et al. Motion control of AUV based on embedded operationsystem[C]//Industrial Electronics and Applications, 2009. ICIEA 2009. 4th IEEE Conference on.
|
[11] |
王博, 万磊, 李晔, 等. 基于自适应脉冲耦合神经网络的水下激光图像分割方法[J]. 光学学报, 2015, 04. |
[12] |
ZHANG Zhengyou. Flexible camera calibration by viewing a plane from unknown orientations[C]//Computer Vision, 1999. The Proceedings of the Seventh IEEE International Conference on.
|