视景仿真是一门年轻的学科[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所示。
为了能够直观的体验真实的对接过程图像,下面首先将构建三维仿真环境,包括海底地形、AUV载体、母艇与对接装置。
首先应该建立起海底地形的虚拟场景,为了模拟真实的海洋环境,首先通过GeoSwath Plus软件,把测深侧扫声呐得到的实际海底地形数据进行滤波插值和网格化处理,将得到的原始地形信息转换为TIFF文件,然后利用Creator软件生成DED文件,同时通过细节层次技术设置层次细节参数,在尽量保证视觉观感的前提下,增加仿真的实时性。
对于AUV模型,因为不同部位的几何形状不同,所以分为4部分建模,分别是主艇体、侧推、主推、螺旋桨叶片。首先,依照机器人的实际尺度,通过几何体工具箱对机器人外形进行粗略建模,再通过几何修改工具将模型进行更细致的设计,提高精度。
主艇体可以分为首部、中部以及尾部,侧、垂推由槽道管与桨叶组成,主推包括4台导管桨,呈一定的内倾角分布,另外尾部配备翼板起稳定作用。
对于母艇搭载回收装置的模块,分别设计了母艇与回收装置。回收装置采用框架式结构,可以减小航行中的阻力以及对流场的影响,其大小根据AUV尺度所设计。
将回收装置安装在母艇的背部中间位置。另外,因为回收装置的尺度相对于母艇很小,如果按照实际比例进行显示,则回收装置将变得很不明显,导致在视景场景中无法对坐落过程进行较好的观察,所以将母艇尺寸进行了缩小,而回收装置的尺度不变,突出了回收装置。
至此,海底地形、水下机器人以及回收端的视景仿真模型已经全部建立完毕,通过Vega软件将模型导入并渲染成三维场景,并借助Vega下的图形化工具Lynx对三维场景进行观察和修改,最终场景如图7所示。
在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]。
Vega程序的开发通常可以分为2个阶段。第1阶段是Vega程序的静态描述,其主要作用是进行必要的系统配置,以保证Vega程序的正常运行,包括初始化、定义、系统配置等。调用的函数主要是runVega(),runVegaApp(),stopVega()等。
第2阶段是Vega程序的动态(主)循环,视景仿真的实现就是在Vega主循环中完成的。首先通过vgSynaFrame()函数使Vega进程能够和设定的帧频率一致,然后通过vgFrame()函数完成线程的绘制与数据的处理。进而渲染出连续、符合人们视觉感受的动态场景,再编写对应的交互控制程序即可完成各种视景仿真操作。
在Vega的主循环程序里面,每进行一次主循环,三维场景就能完成一次更新。当Vega主循环完成时,求解一次AUV的动力学方程,结合初始条件的空间位置以及运动状态,可以解算出当前时刻AUV的三维坐标和状态信息,线程之间通过定义全局变量将状态信息传递给Vega线程,线程之间的通信过程如图9所示[9]。
可以看出,包含视景效果的仿真模块以AUV动力学模型为基础,与MFC环境下改写的Vega程序相结合,就能够实现AUV坐落式对接的虚拟可视化[10]。
4 AUV水下对接视景展示根据设计的仿真平台,通过半物理仿真平台与视景仿真程序的联合开发,可以实时显示AUV动态对接的三维图像,整个对接过程共包括归航段、调整段以及坐落段,因为归航段距离较长,所以只截取了归航末端的图像。
在视景图像中,因为海洋模块中仅有海底地形,所以在左上角的正视视角中,会出现非海底区域。如图10所示,在归航段,母艇在固定航线上航行,AUV从远处在导引系统作用下不断向母艇靠近,当AUV抵达母艇附近后,归航段完成,母艇开始转为做定深直航运动,进入对接模式。为了突出显示回收装置与AUV,在建模过程中将母艇的尺度进行了缩小,这并不表示母艇与AUV之间的实际比例大小。
如图11所示,在调整段初期,AUV的位置姿态并不能完全满足坐落条件,可能出现AUV位置超调或者姿态偏移等情况,此时AUV需要不断调整自身状态,在保证跟上母艇的前提下,将状态调整至适合坐落。由于此时母艇与AUV同时处于运动状态,所以AUV可以加减速来改变相对于母艇的位置,以及不断调整姿态。当出现进入禁航区或者出现无法对接等特殊情况时,AUV可以绕飞远离母艇并重新尝试进入调整段,提高了一次对接的成功率,这也是动态对接的优势之一。
如图12所示,当AUV调整自身姿态位置适合坐落后,AUV开启垂向推进器,对接过程进入到坐落段,由于AUV处于动态坐落状态,且受到双体水动力干扰的影响,AUV在坐落阶段会出现轻微的俯仰角变化,但在控制系统的作用下可以保证AUV的浮态,并且在坐落末端AUV的位置姿态满足对接要求,当AUV缓慢“降落”至回收装置内时,对接完成。
如图13所示,通过不同的视角观察,AUV已经完全进入回收装置内,当AUV坐落完成后,关闭所有推进器,锁紧完成对接。
本文通过设计回收方案、构建三维模型、生成仿真场景等,开发了AUV水下对接的三维视景仿真平台,直观展示对接过程,得到了以下结论:
1)设计的视景仿真平台有较好的交互能力,仿真结果具有较高的逼真度。
2)借助Vega设计平台,解决了对接场景中三维模型的控制以及多通道显示问题。
在后续工作中可以尝试开展更多不同工况下的AUV对接三维视景仿真平台设计。
[1] |
佘建国, 高军丰, 范晓卫. 基于Vega的双通道船舶甲板重吊视景仿真系统[J]. 舰船科学技术, 2012(5): 64-68. |
[2] |
ZHANG X, BIAN X Q, YAN Z P. Underwater docking of AUV with the dock and virtual simulation[C], Singapore. Trans Tech Publications, 2011.
|
[3] |
王锴, 高嵩, 吴超仲. 多通道汽车驾驶模拟器视景仿真系统设计与实现[J]. 交通信息与安全, 2009, 27(2): 119-122. DOI:10.3963/j.issn.1674-4861.2009.02.032 |
[4] |
江学东, 陈无畏. 基于Vega的车辆驾驶模拟视景仿真[J]. 公路与汽运, 2007(2): 37-40. DOI:10.3969/j.issn.1671-2668.2007.02.013 |
[5] |
宋毅军, 杨格兰, 田尊华. 太空环境建模研究与实现[J]. 计算机仿真, 2010, 27(1): 40-42, 109. DOI:10.3969/j.issn.1006-9348.2010.01.019 |
[6] |
刘杨. 多AUV协同导航优化算法与编队构型设计[D]. 哈尔滨: 哈尔滨工程大学, 2015.
|
[7] |
邓飙, 韩传坤, 龙勇. MFC框架下的Vega应用程序设计研究[C]. 2010系统仿真技术及其应用学术会议, 长春. 2010: 216−219.
|
[8] |
李明泽, 毛学刚, 范文义. MFC框架下基于Vega的视景驱动程序设计研究[J]. 现代计算机(专业版), 2007(10): 93-95, 112. |
[9] |
常艳艳. 水下运载器对接装置虚拟仿真系统关键技术研究[D]. 哈尔滨: 哈尔滨工程大学, 2010.
|
[10] |
鲁丽彬. 基于虚拟现实的船舶操纵控制系统设计[J]. 舰船科学技术, 2018, 40(4): 197-199. |