APP下载

智能水下航行器动态对接三维视景仿真研究

2021-01-19孙叶义杨文山周海波

舰船科学技术 2020年12期
关键词:视景线程调整

孙叶义,杨文山,周海波

(武汉第二船舶设计研究所,湖北 武汉 430064)

0 引 言

视景仿真是一门年轻的学科[1-2]。随着计算机技术的进步,人们不再满足于数字化仿真带来的便利,而是希望通过构建三维实景仿真环境来模拟真实的世界。目前视景仿真技术在车辆模拟驾驶[3-4]、太空环境仿真[5]、水下机器人回收[6]等方面都得到了广泛应用。智能水下航行器(AUV)对接回收通过其与固定或者移动的回收装置实现类似空/天对接的过程,使AUV 完成返航、接近、对接、锁紧等一系列动作,具备自主、无人等优点,具有广阔的发展前景。本文基于所设计的智能水下航行器对接方案与半物理仿真平台,建立三维场景所需的模型,通过在MFC 框架下对Vega 程序进行二次开发,实现仿真场景的驱动,直观展示对接过程,并借此进一步验证系统的有效性与可靠性。

1 对接方案设计

对接系统主要包括AUV 载体、母艇与回收装置,辅助有导引系统。整个回收过程共包括3 个阶段,分别为归航段、调整段以及坐落段。

归航段:自AUV 返航开始至抵达母艇附近结束,当需要执行对接任务时,母艇将返回对接海域,并在预定的圆形航线上做周期性运动,等待AUV 与之建立联系。AUV 完成任务后接近对接海域并不断通过声学传感器搜索母艇的位置,AUV 上搭载有USBL 发射装置与接收基阵,回收装置上搭载有声学信标,仅作应答处理。在归航段,AUV 在主控系统的控制下沿着规划的全局路径向着母艇位置航行,当AUV 抵达母艇附近时,通过发射声学信号给母艇,母艇将逐渐脱离固定航线而做定深直航运动。该阶段以声学导引为主,当摄像机可以捕捉到母艇背部与回收装置上的光源时,辅助以光学导引以提高精度。

调整段:该阶段母艇运动状态不变,AUV 逐渐接近回收装置的正上方位置,并且不断调整自身位置与姿态,使AUV 保持与母艇纵向速度一致,同时调整姿态至适合坐落,准备进入坐落阶段。此时导引方式以光学导引为主,声学导引为辅,母艇背部的列光源可以增加摄像机捕捉范围,提高导引能力。

坐落段:当AUV 调整自身速度、位置姿态适合坐落时,开始垂直坐落,通过识别布置在回收装置上的光源不断调整自身艏向与位置,当AUV 距离回收装置较近时,导引系统难以发挥作用,此时关闭垂向推进器依靠惯性“降落”到回收装置内,然后关闭所有推进器,锁紧完成回收。

整个整个回收系统的体系结构如图1 所示。

2 视景模块建模及场景构建

为了能够直观的体验真实的对接过程图像,下面首先将构建三维仿真环境,包括海底地形、AUV 载体、母艇与对接装置。

首先应该建立起海底地形的虚拟场景,为了模拟真实的海洋环境,首先通过GeoSwath Plus 软件,把测深侧扫声呐得到的实际海底地形数据进行滤波插值和网格化处理,将得到的原始地形信息转换为TIFF 文件,然后利用Creator 软件生成DED 文件,同时通过细节层次技术设置层次细节参数,在尽量保证视觉观感的前提下,增加仿真的实时性。

对于AUV 模型,因为不同部位的几何形状不同,所以分为4 部分建模,分别是主艇体、侧推、主推、螺旋桨叶片。首先,依照机器人的实际尺度,通过几何体工具箱对机器人外形进行粗略建模,再通过几何修改工具将模型进行更细致的设计,提高精度。

图 2 地形建模Fig. 2Terrain module

图 3 主艇体Fig. 3The main hull

图 4 尾部Fig. 4The stern

主艇体可以分为首部、中部以及尾部,侧、垂推由槽道管与桨叶组成,主推包括4 台导管桨,呈一定的内倾角分布,另外尾部配备翼板起稳定作用。

最终建立的AUV 模型如图5 和图6 所示。

对于母艇搭载回收装置的模块,分别设计了母艇与回收装置。回收装置采用框架式结构,可以减小航行中的阻力以及对流场的影响,其大小根据AUV 尺度所设计。

将回收装置安装在母艇的背部中间位置。另外,因为回收装置的尺度相对于母艇很小,如果按照实际比例进行显示,则回收装置将变得很不明显,导致在视景场景中无法对坐落过程进行较好的观察,所以将母艇尺寸进行了缩小,而回收装置的尺度不变,突出了回收装置。

至此,海底地形、水下机器人以及回收端的视景仿真模型已经全部建立完毕,通过Vega 软件将模型导入并渲染成三维场景,并借助Vega 下的图形化工具Lynx 对三维场景进行观察和修改,最终场景如图7所示。

图 5 AUV 模块Fig. 5The AUV module

图 6 回收装置模块Fig. 6Recovery unit module

图 7 回收场景Fig. 7Recycling scenario

在Vega 设计中,Observers 相当于摄像机,Channels 相当于摄像机的镜头。首先设置俯视、正视、鸟瞰以及辅助观察者,然后设置了相应的通道,这样就可以在窗口中显示不同的观察者视角画面。规定画面左下角为零点,各个视角的位置大小设置为相对于零点的比例,当该比例为(0,1,0,1)时表示该视角图像占满整个画面,以左下角的俯视视角为例,其显示区域相对于零点的比例为(0,0.3,0,0.5)。至此,已经完成环境渲染和场景设计,下面需要通过仿真模块与Vega 模块联合驱动整个视景场景的运行。

3 MFC 框架下Vega 三维场景驱动

为了能够在MFC 框架下对Vega 程序进行二次开发,首先应在VC 中新建单文档MFC 应用程序,以MFC 为开发环境,可以建立AUV 与母艇动态对接的运动与视景仿真模块,将Vega 的基础程序搭载在MFC 应用程序框架之中[7],然后进行Vega 程序开发。Vega 程序应首先加载ADF 文件加载模型参数以及系统参数,通过调用库函数与核心类库,通过Vega 中的绘制线程与 线程实现场景的实时更新与交互[8]。

图 8 Vega 程序开发Fig. 8Vega program development

Vega 程序的开发通常可以分为2 个阶段。第1 阶段是Vega 程序的静态描述,其主要作用是进行必要的系统配置,以保证Vega 程序的正常运行,包括初始化、定义、系统配置等。调用的函数主要是runVega(),runVegaApp(),stopVega()等。

第2 阶段是Vega 程序的动态(主)循环,视景仿真的实现就是在Vega 主循环中完成的。首先通过vg-SynaFrame()函数使Vega 进程能够和设定的帧频率一致,然后通过vgFrame()函数完成线程的绘制与数据的处理。进而渲染出连续、符合人们视觉感受的动态场景,再编写对应的交互控制程序即可完成各种视景仿真操作。

在Vega 的主循环程序里面,每进行一次主循环,三维场景就能完成一次更新。当Vega 主循环完成时,求解一次AUV 的动力学方程,结合初始条件的空间位置以及运动状态,可以解算出当前时刻AUV 的三维坐标和状态信息,线程之间通过定义全局变量将状态信息传递给Vega 线程,线程之间的通信过程如图9 所示[9]。

可以看出,包含视景效果的仿真模块以AUV 动力学模型为基础,与MFC 环境下改写的Vega 程序相结合,就能够实现AUV 坐落式对接的虚拟可视化[10]。

图 9 线程通信Fig. 9Thread communication

4 AUV 水下对接视景展示

根据设计的仿真平台,通过半物理仿真平台与视景仿真程序的联合开发,可以实时显示AUV 动态对接的三维图像,整个对接过程共包括归航段、调整段以及坐落段,因为归航段距离较长,所以只截取了归航末端的图像。

在视景图像中,因为海洋模块中仅有海底地形,所以在左上角的正视视角中,会出现非海底区域。如图10 所示,在归航段,母艇在固定航线上航行,AUV从远处在导引系统作用下不断向母艇靠近,当AUV 抵达母艇附近后,归航段完成,母艇开始转为做定深直航运动,进入对接模式。为了突出显示回收装置与AUV,在建模过程中将母艇的尺度进行了缩小,这并不表示母艇与AUV 之间的实际比例大小。

图 10 归航Fig. 10Homing

如图11 所示,在调整段初期,AUV 的位置姿态并不能完全满足坐落条件,可能出现AUV 位置超调或者姿态偏移等情况,此时AUV 需要不断调整自身状态,在保证跟上母艇的前提下,将状态调整至适合坐落。由于此时母艇与AUV 同时处于运动状态,所以AUV可以加减速来改变相对于母艇的位置,以及不断调整姿态。当出现进入禁航区或者出现无法对接等特殊情况时,AUV 可以绕飞远离母艇并重新尝试进入调整段,提高了一次对接的成功率,这也是动态对接的优势之一。

图 11 调整Fig. 11Adjusting

如图12 所示,当AUV 调整自身姿态位置适合坐落后,AUV 开启垂向推进器,对接过程进入到坐落段,由于AUV 处于动态坐落状态,且受到双体水动力干扰的影响,AUV 在坐落阶段会出现轻微的俯仰角变化,但在控制系统的作用下可以保证AUV 的浮态,并且在坐落末端AUV 的位置姿态满足对接要求,当AUV 缓慢“降落”至回收装置内时,对接完成。

图 12 坐落Fig. 12Fall

如图13 所示,通过不同的视角观察,AUV 已经完全进入回收装置内,当AUV 坐落完成后,关闭所有推进器,锁紧完成对接。

图 13 完成对接Fig. 13Complete the docking

5 结 语

本文通过设计回收方案、构建三维模型、生成仿真场景等,开发了AUV 水下对接的三维视景仿真平台,直观展示对接过程,得到了以下结论:

1)设计的视景仿真平台有较好的交互能力,仿真结果具有较高的逼真度。

2)借助Vega 设计平台,解决了对接场景中三维模型的控制以及多通道显示问题。

在后续工作中可以尝试开展更多不同工况下的AUV对接三维视景仿真平台设计。

猜你喜欢

视景线程调整
夏季午睡越睡越困该如何调整
工位大调整
沪指快速回落 调整中可增持白马
vega及其在战场环境视景仿真系统中的应用
浅谈linux多线程协作
全回转拖轮运动建模与视景仿真
18
基于Vortex与Vega Prime的车辆模拟器动力学与视景仿真
Linux线程实现技术研究
么移动中间件线程池并发机制优化改进