水下机器人仿真模拟系统结合水下机器人在海底工作的环境,建立了一个虚拟仿真平台,虚拟仿真平台与真实机器人的控制系统连接,组成模拟仿真系统。该系统能够对该机器人的周围环境、运动信息、声呐及摄像等传感器信息等进行模拟仿真,实现操作员训练、机器人定位、机器人任务规划、机械手轨迹规划和仿真结果预览等功能。
水下机器人仿真模拟系统的开发首先利用Creator、Vega软件进行水下机器人的建模与周围视景环境的建模,再通过编制程序开发了水下机器人的三维仿真模拟系统。
1.环境建模与仿真
1.1 水下机器人建模
水下机器人是水下机器人仿真模拟系统的主体,其模型的逼真程度将直接影响到视景仿真的视觉效果,是整个建模工作的重点。利用截面放样命令(loft)可以实现艇体及部分部件的建模。LOD技术可以解决均衡真实感和数据量精度,使水下机器人在不同距离显示不同程度的细节,减小系统的资源消耗并达到比较理想的显示效果。对于螺旋桨、舵等部件,建立DOF节点,合理地设定其局部坐标系及运动自由度,赋予桨舵等部件一定程度自由度的运动,可以实现舵的水平运动和螺旋桨的转动,在代码中可以利用vgFindPart语句找到部件,在vgGetPosVec得到其位姿的各个数值,vgPosVec重新赋值,设定其下一时刻的位姿,达到控制其运动速度的目的。为了使水下机器人模型取得更加逼真的效果,可以在探照灯处增加灯光节点。利用Vega声音仿真模块来模拟机器人推进器的低噪音,所使用的声音文件通过实地采集机器人声音素材并加工处理,使其达到仿真实验的要求,Vega的声音仿真模块具有多普勒效应,不同方位、不同观察者接收到的声音效果也不同。
1.2 海空环境的仿真
Vega提供了丰富的海空环境特效,利用Ve-ga软件建立水下机器人海空环境仿真。将天空颜色设置为天蓝色,云朵可以采用环境效果模块中的skybox的形式,海面通过海洋模块来实现,同时可以适当添加岛屿、山峦等模型。建立飞鸟的模型,利用路径模块和导航模块使其做循环运动。
1.3 海底环境的仿真
由于水下机器人特殊的工作环境,所以主要针对海底环境进行建模。对于海底地形的制作,利用Creator提供的Terrain工具进行高程数据转换,得到DED文件,再选择合适的三角形算法生成*.flt文件,即可以用作大面积地形。海底地形模型由浅至深贴上颜色逐渐变深的纹理,考虑到光照的影响较浅处的纹理图片利用沙石图案和光斑图案合成,并制作一系列光斑图案有连续微小变化的纹理,利用循环纹理来达到浅水区域海底光影闪烁的效果。由于水下机器人在近水面航行的时候可以看得到海面,用Alpha值小于0.9的平面附上水波纹的纹理来模拟海面半透明的效果。在水面和海底之间的环形内壁,赋予颜色渐变的纹理,可以使水面和海底自然地衔接而不突兀。由于Vega并没有专门的海底环境模块,所以用地面雾来模拟海水的浑浊度,设置地面雾的高度以免其蔓延至海面以上。
真实的海洋中有大量的动植物,为了丰富视景仿真的海洋环境,适当增加一些鱼、水草、珊瑚等模型。鱼的模型是在creator中建立的,利用Vega中路径和导航器设定鱼游动的路线及游动的速度,即可让鱼在设定好的路线上循环游动。建立水草、珊瑚模型时需要用到透明纹理,透明纹理利用Photoshop制作并保存为RGBA格式,建立平面并粘贴透明纹理,选择Billboard中的Ax-is With Alpha,这样在Vega中平面随着视点的变化而变化,始终面对着视角,在场景中看起来更形象,达到立体的视觉效果。
1.4 粒子系统
水下机器人运动过程中有许多特殊效果是Vega中不存在的,如螺旋桨尾流、上升中的气泡等,这些特殊效果可以利用粒子系统进行模拟。粒子系统是一组或多组能过不停旋转的具有告示板效果(多边形总是面对视点)的粒子群,它非常适合模拟不规则物体的视觉效果。用粒子群来描述不规则物体的属性及其变化,每个粒子均具有形状、大小、颜色、透明度、运动速度、速度矢量等属性。粒子系统不是一个静态的物体,而是随着时间的推移处在不断运动中的集合体,所以一般根据物体的运动规律建立粒子的特性,并且旧的粒子不断的死亡,新的粒子不断的产生。利用粒子系统较好地得到了螺旋桨推进器产生的尾流、海底产生的上升气泡等的模拟效果。
2.ROV虚拟仿真平台开发
2.1 虚拟仿真系统
采用分布式虚拟仿真系统。分布式系统包括水动力仿真模块,规划和控制模块,声呐仿真模块,光视觉仿真模块以及视景仿真模块。仿真器与各个模块之间分别采用广播和TCP/IP的点对点通讯方式,当在网络驱动器上读取到水下机器人的位姿信息以及规划信息,控制模块计算推力器的电压值,通过socket传给水动力模块,计算出下一瞬时水下机器人的位姿,同时更新声呐仿真模块和光视觉仿真模块信息,声呐仿真模块更新扫描结果,传给声呐信息处理处进行处理,光视觉模块更新模拟信号图像。
2.2 传感器信息的模拟
针对水下机器人声呐模拟仿真,Vega提供了volumes和isectors两个模块,通过相交测试和碰撞检测,可以用来进行声呐信息的模拟。将volumes设为31条线段,即Vega中可以设立的最大数目,与一个isectors相连,isectors的位置由水下机器人的位置确定。根据声呐的开角、声束数设置视景仿真中声呐线段在艇体坐标系的坐标值以及线段组的数量;根据声呐的探测距离设定线段的长度,所得到的结果矩阵传给声呐处理单元进行分析。对声呐的仿真可以提供完成避障任务的基本信息。
而摄像机的仿真结果主要是显示摄像机所拍摄到的内容,可以为其增加一个channel,此channel的观察范围与安装在水下机器人的摄像机一致,该channel的obsrver与水下机器人的player相连,跟随着水下机器人运动。根据摄像机所能拍摄的距离设定channel的可视距离,模拟摄像机所拍摄的效果。
水下机器人仿真模拟系统具有训练操作员、实验仿真、辅助规划、避碰和虚拟导航功能,构造的虚拟世界可以根据不同的需要灵活改变,以便适应各种环境和不同种类机器人的仿真工作。
推荐案例:灵图互动水下机器人虚拟仿真培训系统