水下无人系统学报
Journal of Unmanned Undersea Systems
署名作者:李佩娟, 颜庭武, 杨书涛, 李睿, 杜俊峰, 钱福福, 刘义亭
作者单位:南京工程学院 工业中心、创新创业学院, 江苏 南京, 211167
针对无人水面艇路径规划时存在洋流、障碍物等外部干扰的问题, 提出一种改进的基于强化学习的无人水面艇能耗最优路径规划算法。首先, 建立多个随机涡流组成的二维洋流模型和无人水面艇平面运动学模型; 其次, 依据洋流和无人水面艇相对速度关系, 计算路径点是否可达; 然后, 利用改进的奖励函数、动作集和状态集求解全局最优路径, 并采用B样条法进行平滑; 最后, 在2种典型环境下进行了数值仿真。仿真结果表明,该算法可规划出一条能耗最优且平滑的路径, 验证了算法的有效性和最优性。
引
言
多年来, 针对无人水面艇路径规划问题已有诸多研究成果。文献[1]将人工势场法用于无人水面艇的路径规划, 在目标点和障碍物附近设计相应势场, 指引无人水面艇到达目标且避免碰撞障碍物。该方法由于计算复杂度相对较低, 可用于实时路径规划, 但不能避免局部最优解的情况, 且不适用于动态洋流环境。文献[2]~[4]提出基于图的搜索方法(例如A*和D*), 尽管能够成功避开静态障碍物, 但计算复杂度随着空间维度提高呈指数级增加, 并且为了保证计算效率, 代价函数往往是线性的。文献[5]提出了基于双向快速随机探索树法的路径规划, 给出动态步长策略以加快系统的收敛速度, 但规划路径并不是最优。文献[6]和[7]针对随时间变化的洋流设计能耗代价函数, 采用遗传算法求得最优路径, 为了避免算法早熟, 每隔20次迭代, 随机加入新的种群, 但是文中假设路径沿横轴递增, 造成路径搜索的不完全性。文献[8]和[9]提出基于量子粒子群算法的路径规划方法, 将粒子等量约束在各个圆环内, 减少了系统的计算量。文献[10]设计代价函数包含了路径长度和航行时间, 利用改进的蚁群算法迭代求解非线性最优解。无人水面艇属于欠驱动系统, 控制输入小于运动自由度, 路径规划需要考虑其运动学特性, 才能实现准确跟踪。文献[6]和[10]考虑到规划路径的长度、平滑度及能耗等信息, 但忽略了无人水面艇的运动学特性, 导致在满足无人水面艇路径规划的实际需求上有所欠缺。
现阶段, 随着人工智能技术的发展, 基于强化学习的路径规划受到越来越多的关注。与其他智能算法相比, 强化学习具有不需要借助外部环境信息或预先设定规则的优点。文献[11]研究了基于强化学习的货船路径规划问题, 通过建立Nomoto船舶模型, 根据障碍物、目标等信息设计相应的奖励函数, 使得最终路径收敛。文献[12]和[13]研究了基于海事规则的无人水面艇路径规划问题, 通过深度神经网络代替Q表, 增加动作的连续性, 并通过仿真验证了算法的合理性。
文献[11]和[13]主要从障碍物等方面考虑规划的有效合理性, 但忽略了洋流的影响。文中基于洋流影响的无人水面艇路径规划问题, 采用改进强化学习的方法, 计算得到能耗最优路径。同时考虑了无人水面艇的运动学模型、航向角所受洋流和控制输入的约束等实际情况, 借助B样条法进行路径平滑。仿真验证了算法的有效性和最优性。
01
模型建立
1.1 洋流模型
洋流速度值
式中:
1.2 无人水面艇运动学模型
建立六自由度无人水面艇模型, 其状态空间表达式为
式中:
考虑到无人水面艇垂直方向上的位置或姿态变化较为缓慢且数值较小, 可忽略参数
式中:
02
强化学习方法
文中采用强化学习中常用的Q-learning算法进行路径规划。在Q-learning算法中, 动作价值函数
式中: r为状态s采取动作a获得的奖励;
为加快Q-learning算法的收敛速度, 引入迹的思想, 能够记录状态被访问的次数, 在更新前一时刻的状态值函数时, 对以往状态值函数进行更新, 即
在
式中: 定常参数
03
路径规划算法
针对基于传统强化学习的路径规划问题, 规划的路径存在直角或大角度, 设计符合无人水面艇运动学特性的动作集和状态集。通过设计合理的函数, 使得路径能耗最优。
3.1 动作集
考虑到无人艇不可能出现横向或短时间内大角度移动情况, 因此其运动学模型中, 舵角的输入必须限制在一定的范围内, 即
3.2 状态集
无人水面艇的运动状态与航向角、横轴、纵轴坐标相关, 表示
3.3 奖励函数
文中研究目标是无人船在避免障碍物的前提下, 以能耗最优的方式达到目标点。因此, 奖励函数设计为防碰撞奖励f1和能耗奖励f2两部分。
路径规划首先要确保无人水面艇不与障碍物发生碰撞, 当水面艇与障碍物距离小于安全半径时, 将受到惩罚, 其他情况为0。
3.4 B样条法
洋流、控制输入的离散性等因素会影响无人水面艇规划路径的平滑度和曲率, 常用的平滑算法有B样条法和随机梯度法[15]等。其中, 随机梯度法需要设计包含相邻路径点距离和角度信息的平滑代价函数, 计算量大, 百次迭代才能收敛; B样条法为多项式阶拟合, 阶次较低, 可以对曲线进行局部修正。所以, 文中采用B样条法进行路径平滑。
3.5 算法流程
算法的流程框图见图6。
图 6 基于能耗最优的路径规划算法流程图
04
仿真验证
采用1.1节描述的洋流场, 在400 m×400 m海洋环境中随机产生10个涡流中心点, 涡流强度
为验证算法的避障效果, 在图7规划路径的基础上添加4个不同半径的障碍物, 如图9所示。从图中可看出, 传统Q-learning算法和粒子群算法在障碍物附近出现了大转折角且航行时间最长, 而文中算法由于避免障碍物等原因, 存在部分逆流状态, 导致航行花费时间较情况1长, 但总的航行时间在3个算法中最短。
图 7 洋流场矢量图
强化学习参数设计如下: 设定环境的长、宽、角度分辨率分别为10 m, 10 m, 18°, 学习率
情况1 外部环境仅受洋流影响
图8为基于洋流约束的无人水面艇仿真路径。图中, 无人水面艇沿着洋流的方向顺流而行, 文中算法的航行花费时间为183 s, 节约了大量能量。无人水面艇沿虚线虽能直达目标位置, 但大都逆流而行, 需浪费大量能量克服洋流的影响, 最终航行花费时间为224 s, 不利于无人水面艇长时间执行任务。文中算法规划路径符合无人水面艇的运动学约束, 且较为平滑, 不存在较大的转向角。传统Q-learning算法和粒子群算法由于存在横向移动, 出现较大转向角, 不利于无人水面艇的实际运动。
图 8 基于洋流约束的无人水面艇仿真路径
情况2 外部环境受洋流和障碍物影响
为验证算法的避障效果, 在图7规划路径的基础上添加4个不同半径的障碍物, 如图9所示。从图中可看出, 传统Q-learning算法和粒子群算法在障碍物附近出现了大转折角且航行时间最长, 而文中算法由于避免障碍物等原因, 存在部分逆流状态, 导致航行花费时间较情况1长, 但总的航行时间在3个算法中最短。
图 9 基于洋流和障碍物约束的无人水面艇仿真路径
表1给出了2种情况下各算法的仿真结果。
05
结论
针对无人水面艇海上路径规划问题, 讨论了海上洋流外部干扰对路径的影响, 设计了一种基于能耗最优的强化学习算法。利用无人水面艇的运动学模型和洋流模型, 根据无人水面艇当前位置和航向信息, 判断下一状态是否可达, 设计相应的奖励函数。通过2种环境下的仿真验证表明, 传统的Q-learning算法和粒子群算法随着障碍物增加, 出现大量的转折角, 不利于无人水面艇实际运动; 为了减少计算量和加快计算速度, 文中研究无人水面艇的控制输入为离散模式, 并且优化符合海事规则的奖励函数, 该方法能够规划出一条平滑的路径, 并且顺着洋流方向运动, 能耗最优。
结合研究进展, 后续将在实际海试环境下优化无人水面艇运动学模型, 并对洋流模型和强化学习算法进行试验验证。
参考文献(略)
联系客服