基于机器学习的实海域无人艇避碰算法智能演进方法
2021-03-08楼建坤王鸿东王检耀易宏
楼建坤,王鸿东*,王检耀,易宏
1 上海交通大学 海洋智能装备与系统教育部重点实验室,上海 200240
2 上海交通大学 海洋工程国家重点实验室,上海 200240
0 引 言
随着人工智能技术在船海装备领域的渗透与应用,以无人艇(USV)为代表的海洋智能装备与系统迎来前所未有的发展机遇,并逐渐应用于水路运输、海洋测绘和军事作战等领域[1-3]。不同于基于人机交互操控的传统装备,无人艇的功能实质上是由算法软件所定义。信息感知、规划决策和运动控制等无人艇自主系统关键技术在实际应用中存在的问题,也逐渐被人们所认知,并提出了“无人艇智能演进”需求的概念[1]。
无人艇效能是指无人艇在给定时间内特定海域完成指定任务的能力,是无人艇价值高低的度量[4-5]。因此,无人艇智能演进的目标,是装备效能的提升。无人艇智能演进的路径,是通过学习运行过程中的观测数据,实现自主系统的持续迭代优化[6]。然而,相比于无人机、无人车等无人装备,无人艇自主系统的学习与迭代面临更大的挑战:
一是无人艇自身系统的复杂性。同其他复杂装备的系统类似,无人艇系统本身继承了大量子系统,属于“系统之系统”。而无人艇系统子功能单项性能的提高与无人艇系统效能的增长并非单调递增的线性关系。因此,无人艇效能评估具有乏信息、多层次和强耦合等特点。例如,感知系统的输出结果会显著影响规划算法的表现,进而对控制系统提出更高的要求。
二是无人艇任务环境的复杂性。在海洋环境中,无人艇面临的风浪流等外部随机载荷与艇体控制力相比,大多处于同一量级。在恶劣条件下,甚至会出现外载荷远大于艇体控制力的情况[7]。目前,大部分无人艇控制算法在投入工程应用时,都需要针对运行环境特点,进行控制参数的人工整定。这一现象虽然在船舶控制领域已被广泛讨论,也形成了一些应对方法,然而,面对变幻莫测的海洋环境,无人艇单纯依靠控制算法参数的自整定并不能解决问题。例如,图像识别预处理过程中的滤波算法参数需根据天气和光线条件随时改变;路径规划算法的步长应根据任务执行范围和障碍物分布情形进行调整。
针对上述问题,本文认为无人艇智能演进应聚焦于无人艇自主系统中算法函数和算法参数的演进,并将提出相应的智能演进方法流程。在此基础上,拟给出一套可演进的无人艇自主系统控制结构体系。最后,以无人艇避碰算法为例,结合实海域测试,验证机器学习方法在无人艇智能演进中的可行性和有效性。
1 无人艇智能演进方法概述
当无人艇完成前期设计和建造后,其硬件设备及性能已基本固定。因此,无人艇智能演进应重点聚焦自主系统中算法函数及算法参数的演进。目前,在自主系统算法函数方面,已形成大量研究成果。例如,在感知方面,有语义分割和监督学习等图像识别算法[8];在规划方面,有A*,D*和快速搜索树(RRT)等路径规划算法[9];在控制方面,有PID和自抗扰控制(ADRC)等航行控制算法[7,10]。算法函数的演进,是指通过函数的构建、调用或组合,拓展无人艇自主系统的功能,为无人艇完成更多复杂任务提供可能。在自主系统算法参数方面,人工智能方法也已被广泛应用于感知、规划和控制算法参数的整定[11-12]。现有算法参数的整定大多基于准确的量化目标函数,在仿真层面或实测阶段取得了一定效果,但是在考虑算法之间耦合作用及环境影响的问题上尚无深入研究。算法参数的演进,是指通过协同整定各算法参数集合,使自适应系统适应当前海洋环境和任务需求,不断提升无人艇的装备效能。
综上分析,无人艇智能演进方法应用流程如图1 所示。
无人艇人工演进阶段是指在无人艇自主系统的早期设计阶段,设计者需基于标准化的输入输出,建立算法函数库,丰富无人艇自主系统的算法库储备,并根据实海域测试情况,对算法参数进行初步整定。其中,无人艇装备效能的评估可由人工完成。这一阶段的演进能够建立对于算法性能和适用范围的认知,并为后续自主演进及在线演进阶段提供具有参考意义的参数集分类、可行参数域和演进目标函数。
无人艇自主演进阶段是指无人艇在实海域测试场地,开展大量标准科目测试工作,并根据目标函数对装备效能的自主评估结果[13],实现多种海洋环境下算法参数的自主整定。在完成该阶段的演进流程后,无人艇将初步形成一组能够应对多种海洋环境载荷特性,并完成任务的算法函数及参数集合。
无人艇在线演进阶段是指在实际执行任务的过程中,保持对于无人艇自主系统的动态测试和评估。若系统判断当前算法函数及参数能满足任务需求,则接受一定范围内的装备效能降低,减少频繁更换算法或改变系统参数对于系统稳定性的影响;当装备效能降低至一定阈值,被系统判定为无法满足任务需求,系统将根据积累的在线测试数据和以往训练集,调节算法参数或选择其他算法函数。由于无人艇硬件性能的限制,在某些极端天气下,外载荷的影响可能超出无人艇自身调节范围。此时,系统可及时反馈情况,根据岸基指挥决策,选择返航、人工遥控或改变任务需求等方式,减少在恶劣情况下的损失。
图1 无人艇智能演进方法应用流程Fig. 1 The application process of USV intelligent evolution
2 可演进的无人艇控制体系结构
可演进的无人艇自主系统(图2)主要是指在不同总体任务需求下,能够选择不同算法函数并整定参数,实现无人艇装备效能提升的智能系统。系统中的数据流程是一种面向对象的处理过程,算法可被定义为对于相应数据对象的处理方法,因此,算法本身的变化不影响数据对象的传递,从而确保系统的高效运行。
可演进的无人艇自主系统包含演进器,感知器,规划器和执行器4 个子系统,受总体任务和海洋环境影响表现出不同的性能[7,14]。演进器平行作用于感知器、规划器和执行器,将各子系统产生的数据用于无人艇装备效能的测试与评估,作为子系统算法单独优化的参考,并将总体任务的表现记录作为系统演进的方向。算法函数的改变和参数的调整,不影响系统架构和运行模式。该无人艇自主系统的演进目标是提升无人艇装备效能,也即提升无人艇在给定时间内特定海洋环境下完成指定任务的能力。
图2 可演进的无人艇自主系统控制体系Fig. 2 The evolution-capable control architecture of USV autonomous system
无人艇完成预期规定任务的能力受到多层次多技术节点耦合影响。如表1 所示,首先,指标层是指无人艇的硬件基础,例如推进功率、油耗、配置算力和光学图像分辨率等,该层次的优化主要针对无人艇前期设计和建造水平。其次,行为层是指无人艇硬件设施在一系列时序操作指令下的表现,例如船舶战术半径、制动距离和垂荡加速度等,该层次的优化主要针对指令给出的频率和方式。第三,功能层是指各类智能算法的表现,例如图像识别算法和路径规划算法,该层次的优化主要针对算法函数与算法参数。最后,任务层是指无人艇投入实际场景应用后的装备效能,该层次是前3 个层次多技术节点基于系统设计架构耦合影响的结果。可见,传统的自主系统优化方法,大多针对某个单一节点的表现进行优化,例如更换动力设备、改变操控模式和优化控制算法,其优化过程缺乏对于装备效能的综合考量。
目前,大量研究致力于子系统的独立优化,对于子系统之间的互动影响考虑较少。例如,感知器的识别结果是规划器的必要信息,规划的结果(例如规划路径点)将影响控制器中自动舵的参数,进而影响感知器的识别准确率、识别时间等性能。因此,一个设计良好的无人艇自主系统,其智能演进是在针对各部分算法进行独立优化的基础上,充分考虑各部分之间的耦合影响,对算法进行学习迭代[6],以实现无人艇装备效能的持续优化。
可演进的无人艇自主系统能够充分利用实海域的观测数据,基于建立的目标函数量化算法,对各子系统及装备效能进行优化。其先进性在于,系统可在原有子系统算法单独优化的基础上,结合复杂的海洋环境影响及总体任务需求,对系统中存在耦合关系的算法特征进行持续改进,以获得更好的装备效能。
3 无人艇避碰算法智能演进方法示例
作为算法软件定义的装备,无人艇智能演进面临的首要问题,是算法与装备效能之间的关系缺少可量化的数学表达,难以采用解析方法将演进目标函数分解至各子算法。该问题属于智能无人装备效能评估研究范畴[13]。因此,为快速验证所提方法的可行性与有效性,研究团队选取演进目标函数较为明确的RRT 局部路径规划算法,开展实海域无人艇智能演进示例研究工作。
3.1 路径规划算法效能评价函数
局部路径规划算法的计算性能,例如时间复杂度和空间复杂度,由其算法本身结构决定。以RRT 算法为例,其对装备效能的影响,通过算法中步长与目标偏向概率的变化得以体现,可选为待演进参数[8]。考虑实海域测试环境,无人艇路径规划算法的最终效能,受无人艇本身控制系统特性与环境载荷影响,其运动状态信号传递的系统框图如图3 所示。
根据无人艇感知算法给出的地图信息,在路径规划算法给出期望航路信息T(x,y)后,在每一个采样周期下,无人艇的运动状态都与其上一时刻运动状态、上一时刻控制指令、环境载荷及无人艇的软、硬件系统时延有关。无人艇的运动状态s通过惯导直接测量,由位置、速度与加速度等表示,即
式中:x,y,z为位置信息;u,v,r为速度信息; α,β,γ为加速度信息。同时,运动状态还可包括加速度与角加速度等高阶量。
而无人艇的控制算法可被表示为基于期望航路和运动状态s生 成控制量e的映射,即
式中,fc为控制算法关于运动状态到控制量的映射。控制量e视不同无人艇动力系统而改变。
在此案例中,考虑虚拟障碍物的前提条件,在单次避碰航行任务过程中,期望航路为定值。
此外,海洋环境载荷一般难以测量,Fossen 等[7]采用概率分布方法对其进行描述,环境载荷可表示为
式中:fenv为当前运动状态下的外载荷预测值;PDF(ωw,A)为 当前海况下波浪频率 ωw和浪高A的概率分布。在特定海域条件下,一段时间内可认为概率分布不变,也即该函数是时不变的。
随后,考虑在无人艇系统的实际运行中,算法功能模块之间的通信及计算延迟由系统设计及算法决定,一般固定不变;实海域环境下的软、硬件系统延迟主要体现为执行器执行时间的延迟。例如,打舵时间与打舵的大小有关。因此,无人艇系统时延对运动状态的影响可被表示为一个与控制量e有关的函数,即
式中:fd为运动状态到系统时延的映射;gd为控制量到系统时延的映射。因此,特定海域环境下,单次避碰的无人艇运动状态的变化可被表示为多个影响因子映射函数的卷积,也即
式中,st(k+1),stk分别表示连续的2 个测量时刻下无人艇的运动状态。
由此,可得到对于无人艇运动状态总体表现的分析结果,其中包含控制算法性能、环境载荷及系统时延等多种信息。考虑无人艇避碰性能时,可从无人艇的运动轨迹(位置及速度信息)及其运动稳定性(角速度等信息)方面来进行。
基于上述分析,特定海域环境下单次任务无人艇避碰效能可通过对测试过程中的无人艇运动状态分析来度量,无人艇自身特性及环境载荷等未知因素已耦合在运动状态变化的过程中。此外,考虑到在实际应用中,运动状态是最容易被监测和记录的系统信息,基于运动状态分析的效能评价极为重要。
在此案例中,受限于测量数据,研究团队基于无人艇任务需求,选取路径长度及路径平滑度2 个指标,生成算法演进的目标函数。其中,路径长度是用于考察在给定起点与终点时路径规划算法所规划的避碰路径的工作效率,较小的路径长度表示无人艇能较为有效地避开地图中的障碍物;路径平滑度影响规划的路径对无人艇操纵性的需求,较小的路径平滑度表示生成路径对于无人艇水动力性能需求较小,在较复杂的环境下有更高的稳定性。两者的计算公式分别为:
式 中:n为 路 径 段 数; ∆Li为 第i段 路 径 的 长 度;∆θi为第i段路径与第i+1 段路径的角度变化。对同一组测试的结果,采用归一化方法将测试指标映射到[0,100]的范围内。
对于路径规划算法的传统优化方法为:基于式(6)中的2 个目标函数,寻找使2 个表达式值最小的算法参数。此方法虽能在一定程度上提升算法的表现,但是,对于生成的路径与无人艇航迹跟踪算法之间的耦合效应和实海域环境下的外载荷扰动考虑不足。
若考虑实海域测试,路径规划及航迹跟踪算法的耦合效应体现为:基于给出的规划路径,无人艇在实海域环境下的实际轨迹。因此,无人艇路径规划算法的实际表现可相应地通过无人艇的航迹长度和累计艏向变化表述,其表达式为:
考虑RRT 算法的随机性,即针对每一组超参数值可能存在不同解,以及有限的实海域测试资源。在利用算法规划路径的过程中,采用式(6)和式(7)对规划结果进行分析,选取实际生成的若干组路径中效果最好的一组作为该组超参数下的规划路径结果,用于实海域测试。
经过归一化方法处理后,实海域测试环境下局部路径规划算法的目标函数可表示为
3.2 基于代理模型的算法参数演进
考虑到实际环境的复杂性,一般可认为系统参数与无人艇装备效能之间的关系为一个多峰函数,难以使用传统的线性或非线性回归方法来拟合两者的关系。同时,无人艇单次测试持续时间长、过程复杂,且获取的数据样本量少。有鉴于此,研究团队利用实验设计原理,在高维的参数空间内选取分散错落的数据点,以减少实海域环境下对数据的需求[15]。随后,采用以高斯回归过程(Gaussian regression process,GRP)为代表的机器学习方法,用代理模型代替寻优算法中目标函数和优化参数之间的关系[16-20]。在此基础上,通过快速遍历或遗传算法等寻优算法,找到装备效能最优的参数集。
算法参数演进流程如图4 所示,其中,高斯代理模型的拟合精度一方面受到样本集的分布影响;另一方面,其核函数、均值函数及似然函数的模型都会影响其收敛精度。针对不同的参数集,考虑其运行过程中的物理过程特点,选取合适的数学模型,有助于提高算法参数演进的可靠性和精度。
图4 基于代理模型的算法参数演进流程Fig. 4 The evolution process of algorithm parameter based on the surrogated model
此外,考虑到工程实际中的调整参数过程,确定一个可用参数的定义域并不困难,但是使无人艇效能最优的参数组一定落在所选定义域内却难以确定。因此,基于代理模型的算法参数演进,主要解决基于样本集数据分布形成的参数定义域及其邻域中寻找最优参数组的问题。
3.3 实海域测试试验设计
本次用来测试的船艇为“追梦三号”无人艇,艇长约7 m,计划航速8~10 kn,其外观如图5 所示。
图5 “追梦三号”无人艇Fig. 5 Zhuimeng 3 USV
“追梦三号”无人艇的组成系统包括:供电系统、执行机构系统、监控系统、感知系统、计算系统和网络系统。其中:供电系统包括发电机和蓄电池,感知系统包括海事雷达、摄像机群和风速计,执行机构为水星舷外机。该无人艇的航迹跟踪控制算法受限于舷外挂机的物理特性,相较于传统的桨舵或喷泵的控制精度不足,对路径规划算法的结果要求较高。此外,测试海域常处于3~4级海况,对于被测试无人艇来说,此时的海况属于外载荷较大的情况,因此,这对于路径规划算法的参数演进有较高实际应用价值。
测试时,航速约8 kn,考虑单次测试时长不超过30 min,选取的地图大小为2 400 m×2 400 m。在算法程序中,使用的实际网格数为600×600,因此,单个网格的长度对应实际地图长度为4 m。以网格左上角为零点,相应障碍物位置及障碍物半径(膨胀安全半径为15 m)如表2 所示。
表2 虚拟障碍物坐标及相应避碰半径Table 2 The location of virtual obstacles and corresponding avoiding radius
路径规划的起点与终点分别设置为(100 m,100 m)和(480 m,500 m)。其虚拟障碍物地图如图6 所示。
图6 虚拟障碍物设置Fig. 6 The virtual obstacle setting
3.4 实海域测试结果与分析
在前期算法的仿真测试中,选取了目标偏向概率和步长的范围分别为[0.1,0.3]和[150 m,180 m]。
根据实验设计原理,选择了9 组参数作为实海域测试的样本点,令权重向量 ω=(0.5, 0.5)T,得到参数值及实海域测试结果如表3 和图7 所示。
基于上述数据,采用高斯模型建立“参数−评分”关系代理模型[16],其核函数k选为
式中: σ 和 ξ 分别为预测方差和缩放系数;x,x′为输入的参数组。该核函数适用于输出结果随参数变化平滑的物理过程[17],考虑RRT 算法中的随机性,可以认为实海域测试评分应当随2 个参数平滑变化。同时,相应代理模型收敛条件为调整 σ和ξ的值以最小化损失函数,也即相应预测值应满足:
式中:x∗为 需要预测的参数对;yguess为相应的预测值;R˜L为期望的损失函数,arg min 为求损失函数值最小的预测值。本次测试中采用的损失函数为
式中:y∗为 真实值。R˜L即 为预测值yguess和真实值y∗之差的平方和。令该值最小的预测模型为最终得到的参数−评分映射模型。
实海域测试数据随算法参数变化的高斯模型回归结果如图8(a)所示, 其中“+”表示实测数据,曲面为拟合数据。损失函数随迭代次数变化的趋势如图8(b)所示。由高斯模型拟合得到的地图与海域环境下的最优RRT 算法参数如下:步长D=164 m,目标偏向概率P=0.05。
由该参数组生成的避碰路径如图9 所示。根据实测结果,用于测试的样本集参数组在实际任务场景中已满足需求,能够完成避碰任务。通过代理模型方法得到的结果,是在样本空间对应的参数组定义域中表现更好的参数组。因此,基于代理模型生成的参数−评价映射中,已经包含了最优参数组与随机选用的可用参数组对应的无人艇效能之间的比较结果。通过扩大样本数量,增加循环测试等手段,能够更准确地生成测试海域下对于“追梦三号”无人艇最优的避碰参数。
此外,考虑RRT 算法参数对其运算结果的影响,最优步长的选取趋势体现为在有限空间内尽可能搜索障碍物避碰半径区域的边界。图9 中路径与数个障碍物膨胀后的避碰半径接近相切,说明对空间进行了尽可能的搜索。目标偏向概率的选取趋势体现为在空间中搜索路径的发散性,在上述障碍物地图中,起点与终点间存在较多障碍物,且障碍物间距较小,目标偏向概率的合理减小有助于规划算法对空间的搜索性,在狭窄范围内搜索到高质量路径。由此可见,在有限组数据集前提下,高斯代理模型能有效拟合系统在实海域条件下相应算法效能的变化趋势,其生成的最优参数值具有符合实际情况的可解释性。
图8 高斯代理模型拟合数据Fig. 8 The fitting data based on Gaussian surrogated model
图9 采用RRT 算法基于最优参数集生成的避碰路径Fig. 9 The obstacle-avoidance path generated by RRT algorithm based on optimized parameters
4 结语和展望
海洋环境是一个巨大的复杂随机系统,无人艇自身又由多个复杂子系统构成,这导致了无人艇装备效能是一个复杂多系统耦合作用的结果。针对上述难点问题,结合无人艇自主系统算法特征,本文从智能算法的角度提出了无人艇智能演进的2 种主要形式:一是算法函数的演进;二是算法参数的演进。在此基础上,本文以无人艇避碰算法为例,基于实海域环境下的测试结果,初步验证了所提方法在提升无人艇装备效能方面的可行性与有效性。
受限于对无人装备智能战斗力生成机理认识深度的不足,以及实海域环境下测试技术的不完善,本研究尚处实验探索阶段,未来还需针对海洋无人装备的智能演进机理与实海域环境测试技术,开展更加广泛而深入的研究。针对无人艇智能演进问题,提出以下研究方法建议:
一是无人艇智能演进目标函数的量化模型研究。由于无人艇装备效能是一个复杂环境与多算法耦合作用的结果,难以用解析方法描述其智能演进目标函数。因此,基于无人装备智能装备战斗力生成机理,提出无人艇智能演进目标函数的量化模型,是实现智能演进的前提。
二是无人艇智能演进机器学习模型构建方法研究。机器学习的底层是各类线性或非线性的数学回归模型,这些模型也称为机器学习中的超参数。现有的大量研究证明,不同的超参数选取,面对不同的学习对象时会呈现完全不同的结果。因此,探究这些超参数与无人艇装备效能之间的作用机理,进而提出无人艇智能演进机器学习模型的构建方法,是实现智能演进的路径。
三是无人艇智能演进学习数据高效获取的方法研究。大中型无人艇在实海域环境下的测试成本高、时间长,且单次测试流程复杂,应根据无人艇系统的特点合理地进行具有代表性的测试。大批高质量的学习数据集是无人艇智能演进的原材料。因此,在建设海洋无人装备实海域测试场的基础上,研究标准化测试科目的制定、测试数据的采集处理,是实现智能演进的保障。