虚实结合的无人水面艇自主航行测试系统设计
2023-12-04刘虹晓谭艾迪
刘虹晓,杨 诚,谭艾迪,鹿 靖,李 游
1.中国船舶集团有限公司综合技术经济研究院,北京100083
2.北京航空航天大学可靠性与系统工程学院,北京100191
无人水面艇的自主航行能力具体可分解为环境感知能力、决策规划能力与运动控制能力[1]。环境感知能力的具体要求是通过无人艇自身所搭载的多种传感器与通过通信手段获得的信息准确的进行态势感知;决策规划能力具体要求是依据态势感知信息、结合自身状态与受领任务进行决策规划;运动控制能力的具体要求是通过运动控制装置,准确地控制无人艇沿着规划航点、航向角与速度进行运动。
无人水面艇的自主航行系统测试可大致分为实艇测试与虚拟仿真测试[2]。在实艇测试方面,文献[3] 开启了针对智能船艇的海上测试场建设,文献[4] 在真实海域搭建测试场景对无人艇进行自主能力测试。已建成的珠海万山无人船海上测试场、日照无人艇测试场可以为无人水面艇提供实艇测试服务[5],中国造船工程学会主办的“海上争锋”智能船艇挑战赛、中国航海学会主办的全国智能无人艇搜救大赛分别根据大赛测试科目设计搭建相应海上测试场景以完成对参赛无人艇的比测竞优。在虚拟仿真测试方面,文献[6] 的虚拟仿真版本VRX(Virtual RobotX Challenge),通过基于Gazebo/ROS 虚拟仿真环境完成对参赛队伍的自主航行算法的比测竞优[6]。文献[7] 针对无人水面艇设计了仿真系统,为无人水面艇控制系统的测试和分析提供了平台,文献[8] 开展了相应的无人水面艇航行仿真系统的研制,实现了航迹跟踪与自主避障等关键功能的仿真。文献[7-8] 中形成的仿真系统均采用完全虚拟的仿真设计,在无人艇海洋动力学、无人艇传动系统特性的拟真度欠佳。
在实艇测试中,需要在海上试验场搭建任务场景,实装无人艇在海上测试场执行相应的任务,其优点是可以给无人艇系统完全真实的测试激励,具有较高的可信度,但不足是测试场景的搭建周期长、成本高,且由于客观条件的限制无法对无人艇边界测试。无人艇虚拟仿真测试使用计算机仿真技术构建无人水面艇的任务场景、传感器模型以及无人水面艇的运动特性,具有快速低成本的特点,其不足是目前风载荷、海面波浪和海流等船舶海洋动力学仿真与真实情况相差较大,可信度不高[9],且在无人艇的控制系统中存在柴油机、泵喷等典型非线性系统[10],因此对无人艇进行运动建模较为复杂,目前的仿真手段并不理想。
基于实装测试与虚拟仿真测试的优缺点,本文设计了一种虚实结合的无人水面艇自主航行测试系统,在任务场景构建与环境感知传感器部分使用虚拟仿真技术,在无人艇运动特性方面采用实艇在环路技术,通过虚实空间配准技术将无人艇数字孪生体与实装物理实体进行实时空间位置与姿态同步[10]。设计了仿真实验表明了该系统的正确性与合理性,可以大幅提升无人水面艇的开发效率,作为虚拟测试与实装测试的有力补充,丰富无人水面艇的测试手段。
1 测试系统结构及原理
虚实结合的无人水面艇自主能力测试系统主要由硬件和软件两部分构成,系统结构如图1 所示。硬件包括仿真数据注入器、场景仿真机、位姿姿态测量单元、数据记录仪;软件部分包括无人艇场景仿真模块、传感器仿真模块、虚实位姿同步模块、数据记录模块。
图1 测试系统结构图Figure 1 Architecture of testing system
测试系统原理:位姿测量单元实时测量得到无人艇物理实体的空间位姿数据并传输至无人艇场景仿真机进行无人艇孪生体的位姿同步,无人艇场景仿真机中运行根据任务想定所搭建的虚拟测试科目场并通过计算机仿真手段生成无人艇孪生体的传感器数据与通信数据,仿真数据注入器分别将不同传感器的数据与通信数据注入到无人艇主控计算机对应的数据接口,无人艇主控计算机在接收到相关传感器数据和通信数据后,通过自主控制算法生成相应控制指令驱动无人艇物理实体在真实测试场运动,至此完成一整个OODA(Observe,Orient,Decide,Act)循环[12]。通过数据记录仪将无人艇场景仿真机中的场景数据、仿真数据注入器中的传感器数据、无人艇主控计算机的控制指令输出数据进行记录,完成测试数据的采集。
2 硬件平台设计
为了最大程度地模拟无人水面艇自主航行的OODA 过程,硬件平台的设计需要考虑虚实同步对无人艇位姿测量精度的需求、场景仿真实时性对运算平台高算力的需求、无人艇主控计算机对仿真数据接收的接口需求以及实验数据分析与自主航行能力评估对实验过程数据完整性规范性的需求。虚实结合的无人水面艇自主航行测试系统硬件结构如图2 所示,包括位姿测量单元、无人艇场景仿真机、仿真数据注入器、数据记录仪4 个硬件。其中位姿测量单元实时测量无人水面艇的位姿信息通过串口通信发送给无人艇场景仿真机,无人艇场景仿真机将仿真解算的态势信息通过以太网发送至仿真数据注入器,仿真数据注入器依据无人艇主控计算机的态势感知通道设置分别将传感器、通信等仿真数据注入至无人艇主控计算机,最终由无人艇主控计算机依据注入的态势感知数据自主规划路径并控制无人艇沿着规划路径航行。其中位姿测量单元主机部分、无人艇场景仿真机、仿真数据注入器、数据记录仪安装在无人艇舱内,避免暴露在盐雾、光照等环境应力作用下,无人艇位姿测量单元的卫星接收天线应安装在无人艇桅杆上以保证卫星信号接收质量。同时本文测试系统在无人艇上部署时应保证与无人艇现有电子设备的电磁兼容性。
图2 硬件结构图Figure 2 Architecture of hardware
2.1 位姿测量单元
位姿测量单元包括两个卫星天线与一台组合导航主机,其中两个卫星天线安装于无人艇艇身较高处以保证导航卫星信号接受的质量,组合导航主机的底面应平行于无人艇的基准面。测试执行时,通过将组合导航主机内置的高精度MEMS 陀螺及MEMS 加速度计信息进行捷联导航解算,同时将导航结果与卫星定位信息输入Kalman 滤波器进行组合,组合后获得精确的无人艇物理实体的空间位置、速度以及姿态角等多参数测量信息。
2.2 无人艇场景仿真机
无人艇场景仿真机主要完成场景的实时解算、虚拟传感器数据和虚拟通信数据的生成,由于场景的图形解算和仿真数据生成均对实时性有着较高的要求,故无人艇场景仿真机选用CPU+GPU 异构计算架构的工控机,通过GPU 并行计算来满足大规模同时处理多个特定任务的使用需求。
2.3 仿真数据注入器设计
仿真数据注入器需要实时将无人艇场景仿真机传输过来的仿真数据分流至对应的数据接口,通过调研市场上传感器和数据通信终端等产品的数据接口配置情况,将摄像头数据和激光雷达数据分流至千兆Ethernet 接口输出,航海雷达数据、定位数据与通信数据分流至UART 接口输出。
2.4 数据记录仪设计
数据记录仪通过Ethernet 接口实时获取并录制无人艇仿真机、仿真数据注入器、无人艇主控计算机的实验过程数据,由于需要采集多个设备的多路数据以及部分图像、激光雷达等高带宽传感器的数据,故选用高速固态硬盘作为数据存储介质。
3 系统软件设计
3.1 软件架构
本文测试系统的软件架构如图3 所示,包括位姿同步模块、场景仿真模块、传感器仿真模块、数据记录模块组成。测试系统实时解算生成虚拟传感器数据与通信数据,并将虚拟传感器数据与通信数据传输给无人艇自主航行控制算法,再由自主控制算法控制无人艇实体在真实空间运动,构成控制闭环。本文基于ROS 机器人操作系统[14]对虚拟结合的无人艇自主能力测试系统的软件部分进行实现,具体方法如下。
图3 软件架构Figure 3 Architecture of software
3.2 位姿同步模块
位姿同步模块首先依据位姿测量单元的串口协议,实时解算实装无人艇的空间位置与姿态数据,然后将实装无人艇的空间位置与姿态数据通过ROS 中的Service 通信机制将位姿数据发送至场景仿真模块中的无人艇孪生体,使虚拟场景中的无人艇孪生体与真实空间中的无人艇实体实现空间位姿同步。
3.3 场景仿真模块
场景仿真模块如图4 所示,使用ODE(open dynamics engine)开源物理引擎进行刚体动力学解算,使用OpenGL(open graphics library)开放图形库进行可视化渲染。本文的场景模块如图4 所示,包括岛礁模型、环境模型、陪试艇模型、孪生体模型。
图4 任务场景仿真Figure 4 Task scene simulation
3.4 传感器仿真模块
传感器仿真模块通过计算机仿真技术模拟无人艇传感器的感知数据,本文将无人艇中常用的可见光相机、激光雷达、航海雷达这3 类常用感知传感器进行仿真。
可见光相机通过感光单元获取视场角内的彩色图像数据,经过图像识别算法的处理,可以为无人艇提供目标识别信息[15]。可见光相机的主要仿真参数包括视场角、分辨率、运行频率、噪声等参数,其仿真效果如图5 所示,其输出为彩色图像。
图5 可见光传感器仿真Figure 5 Simulation of visible light camera
激光雷达凭借其较高的测距精度广泛应用于无人车、无人艇的自主导航系统[16]。以多线机械式激光雷达为例,其原理是通过带动固定在旋转基座上的多个激光器旋转,激光器在旋转的过程中按照一定时间间隔发射激光,通过计算激光发射和反射光接收的时间差得到空间物体的高精度测量。激光雷达的主要仿真参数包括激光线束数量、水平视场角、垂直视场角、分辨率、频率、噪声等参数,其仿真效果如图6 所示,其输出为三维点云数据。
航海雷达由天线、发射机、接收机、信号处理器和显控单元组成,通过对外发射电磁波并检测回波强度来完成目标的探测,相比于其他传感器航海雷达的探测距离较远,可以完成数海里半径的目标探测,航海雷达可直接输出探测目标的属性列表,包括方位角、距离、回波强度等信息,其仿真效果如图7 所示,其输出为目标属性列表。
图7 航海雷达仿真Figure 7 Simulation of marine radar
3.5 数据记录模块
数据记录模块通过实时记录各软件模块之间的数据流,将实验过程数据完整地记录下来,面向无人艇的测试评估需求,数据记录包括测试系统的仿真数据记录和无人艇依据虚拟场景所给出的反馈控制指令。
4 实验
4.1 实验方法与步骤
受实验条件限制,本文所设计的测试系统被测对象需进行等效替代,实验系统的搭建如图8 所示。其中被试无人艇的物理实体由无人艇动力学仿真模块替代,该动力学仿真模块为文献[6] 的虚拟仿真平台中的无人艇水动力学仿真模块,通过输入无人艇控制指令可以驱动仿真环境中的无人艇进行相应运动;被试的“态势感知-决策规划-运动控制”自主航行算法采用人员操纵替代,实验人员通过感官观察获取虚拟传感器数据,根据任务想定使用摇杆控制无人艇动力学仿真平台的无人艇运动。
图8 实验系统搭建Figure 8 Experimental system construction
实验步骤:1)向实验人员下发任务信息;2)由实验人员操纵无人艇完成受领任务;3)任务结束;4)分析实验过程数据,对本测试系统进行评价。
4.2 实验数据
实验共计进行96.465 s,存储23.56 GB 的实验数据,包括可见光相机数据、激光雷达数据、航海雷达数据、卫星定位数据、IMU 数据、操艇指令共计6 类数据。其中可见光相机数据、激光雷达数据、航海雷达数据来源于测试系统,卫星定位数据、IMU 数据来源于无人艇运动仿真器(代实艇),操艇指令来源于实验人员(代自主控制算法)操纵输入。
仿真计算机性能参数:英特尔Xeon W2254 CPU、32GB DDR4 内存、英伟达Quadro RTX 4000 8 GB 显卡。在此计算机上仿真数据(激光雷达数据、卫星定位数据、航海雷达数据、可见光传感器数据)的平均输出频率为64.86 Hz。实验数据可视化如图9 所示。
图9 实验数据可视化Figure 9 Experimental data visualization
4.3 典型工况仿真实验
选取两艇侧向相遇场景进行仿真实验,工况设计如图10(a) 所示:其中陪试艇通过事先场景编排使其匀速沿近似直线前进,被试艇由智能算法实时驱动,其初始航线为近似直线,当侦测到有陪试艇从侧向插入初始航线后,被测艇通过系统决策后采取加速绕前的机动动作,以避免与陪试艇发生碰撞。
图10 典型工况仿真Figure 10 Simulation of typical operating conditions
典型工况仿真中陪试艇与被测艇的运行轨迹如图10(b) 所示,被测艇的控制指令输出如图10(c) 所示。
4.4 实验结果和分析
通过实验结果可以看出,本文所设计的虚实结合无人艇自主航行测试系统各部分功能实现正确,无人艇实体与孪生体位姿交互正常,可见光相机、激光雷达、航海雷达虚拟仿真传感器数据符合真实传感器的数据特征。从仿真数据的产生频率可以看出本系统实时性满足要求。在以无人艇绕前机动这一典型工况的仿真试验的结果中可以看出,本文所设计的测试系统能够与被测系统正常交互完成无人艇自主航行系统的测试工作,其功能满足预期要求。
5 结语
本文提出了一种虚实结合的无人水面艇自主航行测试系统设计方案,该方案考虑了无人水面艇在任务执行过程中OODA 环路,通过虚拟仿真手段将费时费力的海上测试场景构建环节进行替代,在现阶段难以用仿真手段完全替代的无人水面艇运动特性部分使用实艇在环。通过数字孪生技术将真实空间的实艇与虚拟仿真空间中的孪生艇进行空间位姿同步。为了验证本文测试系统的功能,设计了仿真实验。实验结果表明,本文所提出的虚实结合的无人水面艇自主航行测试系统设计方案可行,可作为虚拟仿真测试与实艇测试之间的一种有力补充,该系统的应用可极大提高无人水面艇自主航行系统的测试效率、保障无人水面艇自主航行控制算法的质量,缩短无人水面艇的研制周期。