一种有缆水下作业机器人仿真系统的制作方法

专利2022-05-09  71



1.本发明涉及有缆水下作业机器人领域,特别是关于一种有缆水下作业机器人仿真系统。


背景技术:

2.有缆水下作业机器人在水下地形勘探、海洋资源开发、水下管道清洁维修等方面扮演着越来越重要的角色。但是,水下作业机器人在实际水域的性能测试工作需要花费大量时间,而且无法保证工作人员的人身安全。同时,操作人员初次操作水下作业机器人很容易出现误操作,造成水下作业机器人的损毁或丢失。因此,如何在尽量少的时间、开支及风险的情况下实现水下作业机器人的性能测试及对操作人员的培训,是一个亟需解决的问题。
3.授权公告号为cn202120467u、申请日为2011年6月15日的专利中提供了一种遥控水下机器人模拟训练器。该水下机器人模拟训练器包括操控系统、控制系统及视景仿真计算机三个部分。该模拟训练器只局限于对操作人员遥控水下机器人进行培训,不具备对科研人员开发的感知、决策及控制算法进行验证的功能。而且,控制系统及视景仿真单元需要多台计算机同时运行,不同计算机之间需要较为复杂的通信,故该模拟训练器成本较高且较为复杂。
4.授权公告号为cn106600666a、申请日为2016年12月19日的专利中提供了一种遥控水下机器人仿真展示系统及其仿真方法。该水下机器人仿真展示系统包括运动模型仿真及实景仿真两个部分。该水下机器人仿真展示系统的指令交互模块局限于通过键盘输入控制指令,不具备对水下机器人搭载的传感器进行仿真的功能,无法通过控制算法自动控制水下机器人的运动。
5.授权公告号为cn110794710a、申请日为2019年11月18日的专利中提供了一种水下机器人仿真模拟系统。该仿真模拟系统包括控制设备、虚拟现实仿真模块及先进运动控制设备。控制设备用于向先进运动控制设备发送控制任务,先进运动控制设备基于接收到的控制任务生成运动控制指令并发送给虚拟现实仿真模块,虚拟现实仿真模块基于运动控制指令产生水下机器人的运动效果。该仿真模拟系统仍然局限于对操作人员遥控水下机器人进行培训,无法外接客户端软件以验证控制算法的效果。同时,该仿真模拟系统不具备仿真过程录制回放功能,也不包含存储仿真过程数据的数据库,不利于后续对仿真过程进行分析。
6.根据调研,目前水下作业机器人仿真系统通常包含多台计算机,硬件拓扑复杂,可靠性差,且不具备验证控制算法效果的功能。


技术实现要素:

7.针对现有技术存在的不足,本发明的目的在于提供一种在一台计算机上实现有缆水下作业机器人的运动仿真、水下环境仿真、传感器仿真及文本视频数据显示及存储等功
能的仿真系统,有效减小仿真系统的尺寸及降低系统复杂度,同时提供人员培训及算法验证功能。
8.为实现上述目的,本发明提供了如下技术方案:一种有缆水下作业机器人仿真系统,包括:
9.机器人控制模块,用于切换水下机器人控制模式及控制水下机器人运动;
10.仿真模块,该仿真模块用于仿真水下环境、机器人运动及传感器;
11.图形用户界面模块,该图形用户界面模块主要用于人机交互及显示相关的文本视频数据;
12.数据平台,数据平台用于存储来自传感器的数据,用于后续进行数据分析及回放仿真过程;
13.单机集成模块,该单机集成模块用于将机器人控制模块、仿真模块及图形用户界面模块通过assestbundle技术打包形成完整的仿真软件包。
14.作为本发明的进一步改进,所述机器人控制模块具有手动控制模式和自动控制模式,所述手动控制模式为采用触屏功能按键及手柄给机器人、机械臂及机械爪发送运动指令,所述自动控制模式为通过外部开发好的环境感知、决策规划及运动控制算法,控制机器人、机械臂及机械爪完全自主式地执行相关动作,其中,自动控制模式支持sil及hil两种方式:sil采用以太网实现运行仿真系统的服务器pc与基于matlab/simulink实现自动控制算法的客户端pc之间的双向通信;hil采用以太网实现运行仿真系统的服务器pc、嵌入式控制器及客户端pc三者之间的通信,嵌入式控制器用于环境感知、决策规划及运动控制,客户端pc基于adams实现水下机器人的动力学建模。
15.作为本发明的进一步改进,所述仿真模块包括:3d模型及场景库,该3d模型库及场景库提供多种接口,可支持3d建模软件,构建的模型及场景涵盖不同的水域深度,可用于不同水域深度的仿真;
16.机器人运动仿真,该机器人运动仿真由机器人模型、动力学模型及物理引擎physx配合完成;
17.3d静态场景仿真,该3d静态场景通过3d物体模型组合及渲染引擎osg配合完成,渲染引擎主要负责构建水底地形、水下环境颜色、水体及光照,水底地形基于加权外推及双三次样条插值细分算法进行建模,水下环境颜色由osg的雾效设置,水体的浑浊效果由osg的粒子系统并兼顾能见度及实时性产生,水下光照采用iwasaki提出的基于物理模型的方法进行模拟;
18.3d动态场景仿真,该3d动态场景通过3d物体模型组合及物理引擎physx配合完成,编写脚本配置物体运动参数,由physx产生具体的可视化运动效果;
19.传感器仿真,该传感器仿真用于模拟水下作业机器人搭载的各种传感器,包括摄像头、声呐、压力传感器、深度传感器、定位传感器、速度传感器、imu;
20.其中,摄像头仿真采用基于物理真实的仿真方法,声呐仿真过程中采用光栅化方法基于探测物体表面法线及深度值计算主反射并采用射线追踪方法对反射区域进行二次反射,机器人定位仿真采用基于usbl原理的声学定位传感器,压力传感器、深度传感器、速度传感器及imu的仿真均直接仿真传感器目标。
21.作为本发明的进一步改进,所述图形用户界面模块用于人机交互界面及显示相关
的文本视频数据;
22.所述人机交互界面采用触控虚拟按键,通过虚拟按键可以实现仿真参数设置及数据调取,虚拟按键可设置的内容包括:水下照明灯的开关、各种传感器的开关、缆绳的收放、机器人控制模式切换、报警开关、推进器使能与否;
23.文本数据显示的内容包括:水下机器人的位置、姿态、所在海拔、所在深度、运动速度,视频数据显示的内容包括:水下机器人所处水下环境、机械臂及机械爪细节、水下机器人作业过程。
24.作为本发明的进一步改进,所述仿真软件包的执行步骤如下:
25.第一步:运行仿真软件;
26.第二步:从仿真软件的3d模型及场景库中选择并加载机器人模型及水下场景;
27.第三步:通过触控屏虚拟按键选择控制模式,自动控制软件在手动控制模式下不运行,在自动控制模式下运行;
28.第四步:运行数据平台,数据平台与仿真软件通过udp协议进行通讯;
29.第五步:手动控制模式下,用户通过图形用户界面中的功能按钮及手柄控制水下机器人运动;自动控制模式下,用户在自动控制软件中输入水下机器人的期望位姿;
30.第六步:仿真模块中的机器人运动仿真单元产生水下机器人、机械臂及机械爪的运动效果;手动控制模式下,传感器仿真单元将采集的水下环境、水下机器人状态等信息传递给数据平台;自动控制模式下,传感器仿真单元除了将采集的信息传递给数据平台,还会传递给自动控制软件;
31.第七步:当需要回放并分析仿真过程时,仿真软件可以从数据平台调取已存储的仿真过程视频进行回放。
32.本发明的有益效果,1、本发明的所有功能模块均部署在同一台计算机上,无需采用多台计算机,降低了系统的硬件复杂度、通信复杂度及开发成本,有效减小了仿真系统的尺寸。2、本发明具备手动控制及自动控制两种控制模式,两种模式可以一键快速切换,手动控制下可以实现对操作人员的培训,自动控制模式下可以对科研人员开发的运动控制算法效果进行验证,同时支持hil及sil验证。3、本发明引入功能强大的开源图像引擎osg及物理引擎physx,可以很方便地构建3d水下场景,产生逼真的机器人运动效果。4、本发明基于不同传感器数据的特点采用不同的传感器仿真方法,有利于提升仿真的真实性及效率。5、本发明开发的图形用户界面可以根据用户需要切换不同的数据显示窗口,也支持多个小窗口同时显示,可显示数据包括文本及视频。6、本发明创建页面所需的各种图标及脚本不存在冗余及重复的情况,不同页面共有的由基本图标及脚本构建的模块单独制作为预制体,有利于在保证页面功能时最大限度地降低资源冗余及重复,提高页面制作的效率,减小仿真软件包的大小。7、本发明基于开源数据库redis及文件系统fastdfs部署数据平台,设计专门的数据存储格式实现仿真过程的数据存储,有利于减少数据冗余及重复,后续可回放仿真过程,进一步基于存储数据分析不同作业流程的优劣及控制算法的效果。
附图说明
33.图1是本发明系统架构示意图;
34.图2是本发明硬件组成示意图;
35.图3是本发明仿真软件与外部自动控制软件的sil验证示意图;
36.图4是本发明仿真软件与外部自动控制软件的hil验证示意图;
37.图5是本发明水下作业机器人运动仿真计算过程示意图;
38.图6是本发明数据平台文本数据存储格式;
39.图7是本发明数据平台视频数据存储格式。
具体实施方式
40.下面将结合附图所给出的实施例对本发明做进一步的详述。
41.如图1所示,本发明的系统架构主要包括机器人控制模块、仿真模块、图形用户界面模块、操控手柄及数据平台四个部分,在自动控制模式下可以接入自动控制软件。
42.如图2所示,本发明的硬件组成包括服务器pc、客户端pc(自动控制模式时引入)、触控屏、操控手柄及显示屏。服务器pc装载仿真软件及数据平台,客户端pc装载自动控制软件,触控屏用于设置相关参数及调取数据,操控手柄用于操控机器人运动,显示屏用于显示仿真过程、文本及视频数据。
43.整套水下作业机器人仿真系统工作过程如下:
44.第一步:运行仿真软件。
45.第二步:从仿真软件的3d模型及场景库中选择并加载机器人模型及水下场景。
46.第三步:通过触控屏虚拟按键选择控制模式,自动控制软件在手动控制模式下不运行,在自动控制模式下运行。
47.第四步:运行数据平台,数据平台与仿真软件通过udp协议进行通讯。
48.第五步:手动控制模式下,用户通过图形用户界面中的功能按钮及手柄控制水下机器人运动;自动控制模式下,用户在自动控制软件中输入水下机器人的期望位姿。
49.第六步:仿真模块中的机器人运动仿真单元产生水下机器人、机械臂及机械爪的运动效果;手动控制模式下,传感器仿真单元将采集的水下环境、水下机器人状态等信息传递给数据平台;自动控制模式下,传感器仿真单元除了将采集的信息传递给数据平台,还会传递给自动控制软件。
50.第七步:当需要回放并分析仿真过程时,仿真软件可以从数据平台调取已存储的仿真过程视频进行回放。
51.(1)机器人控制模块
52.机器人控制模块用于切换机器人控制模式及向水下机器人发送运动指令。
53.机器人控制模式包括手动控制、自动控制两种,用户可以根据不同的使用目的通过触屏虚拟按键自由切换控制模式。该虚拟按键未按下时,采用手动控制模式;该虚拟按键按下时,切换为自动控制模式。
54.当需要给出海作业的操作员进行培训时,采用手动控制模式:采用手柄上针对机器人本体的上行按钮、下行按钮、左移按钮、右移按钮、顺时针转动按钮、逆时针转动按钮分别控制水下作业机器人进行上行、下行、左移、右移、顺时针转动、逆时针转动等运动,采用手柄上针对机械臂的伸长按钮、缩短按钮、顺时针转动按钮、逆时针转动按钮分别控制机械臂进行伸长、缩短、顺时针转动、逆时针转动等运动,采用手柄上针对机械爪的张开按钮、闭合按钮分别控制机械爪进行张开、闭合等运动,以上运动持续时间取决于对应按钮状态的
保持时间。
55.当需要验证科研人员开发的环境感知、决策规划、运动控制算法效果时,采用自动控制模式:当控制模式切换按钮按下时,即进入自动控制模式。如图3所示,运行自动控制软件的客户端pc与运行仿真系统的服务器pc通过以太网进行双向通信以实现sil验证。客户端pc上安装了matlab/simulink软件,环境感知及决策规划算法基于matlab编程实现并转化为系统对象sp,系统对象sp与基于simulink搭建的运动控制模型连接,将基于adams软件构建的水下机器人动力学模型导入simulink,即可实现对水下机器人的运动控制。自动控制软件接收来自仿真系统传感器仿真模块感知的机器人周围环境信息、机器人位姿信息及用户输入的机器人期望位姿信息,继而规划出机器人的运动轨迹,仿真系统接收自动控制软件产生的任意时刻的机器人位姿及螺旋桨转速。
56.科研人员可以方便地将上述自动控制软件通过matlab/simulink的自动代码生成功能转化成c 代码并移植至嵌入式控制器中实现hil测试验证。如图4所示,hil验证与图3所示的sil验证不同之处在于:hil额外需要一台接口模拟设备来连接嵌入式控制器及运行水下机器人动力学模型的客户端pc,客户端pc上的水下动力学模型在adams软件上实现。
57.(2)仿真模块
58.仿真模块包括3d模型及场景库、机器人运动仿真、3d静态场景、3d动态场景及传感器仿真,用于仿真水下环境、机器人运动及传感器。
59.1)3d模型及场景库。3d模型库及场景库可以采用blender、3d studio max、maya等第三方建模软件构建,构建时注意考虑模型各部分的材质、尺寸、颜色等物理特性,使模型及场景尽量接近真实,提升整体的视觉效果。构建的模型包括但不限于机器人、水下植物、水下浮游动物、人工建筑、礁石等。之后,将构建完成的模型及场景导出为渲染引擎osg可以读取的格式。3d静态场景、动态场景中的3d物体模型及机器人模型也采用这些模型构建。
60.2)机器人运动仿真。机器人运动仿真计算过程示意图如图5所示。机器人运动仿真需要机器人模型、动力学模型及物理引擎配合完成。
61.自动控制模式下,自动控制软件基于用户输入的水下机器人期望位姿及传感器检测到的环境信息及机器人状态信息解算机器人任意时刻位姿及螺旋桨转速,物理引擎physx基于计算得到的螺旋桨转速及机器人位姿展现螺旋桨的转动效果及机器人的运动效果。自动控制软件内部的计算过程不是本发明关注之处,在此不进行详述。
62.手动控制模式下,内部涉及的计算过程如下:首先,运动仿真单元基于来自机器人控制模块的控制指令解算得到虚拟的电机驱动电压值;接着,根据该电压值计算螺旋桨转速;然后基于螺旋桨转速计算螺旋桨产生的推进力;然后,结合机器人所受重力、浮力、水阻尼力及推进力,基于水下作业机器人动力学模型解算机器人的运动加速度;继而基于机器人运动学模型计算机器人任意时刻的位姿;最后,物理引擎physx基于计算得到的螺旋桨转速及机器人位姿展现螺旋桨的转动效果及机器人的运动效果。
63.水下机器人受到的重力如下式:
64.g=mg
65.其中,m为机器人质量,g为重力加速度。
66.水下机器人受到的浮力如下式所示:
67.f
b
=ρgv
68.其中,ρ为水体密度,v为机器人排开水的体积。
69.水下机器人受到的水阻尼力如下式所示:
[0070][0071]
其中,v为机器人与水的相对速度,a为受力面积,c
d
为阻尼系数。
[0072]
水下机器人的螺旋桨由直流电机驱动,螺旋桨输出转速与输入电压成正比,转速如下式所示:
[0073][0074]
其中,j是转子惯性矩,b机械系统阻尼比,l是转子电感,r是终端电阻,k是电动势常数。
[0075]
螺旋桨产生的推进力与角速度的关系如下式所示:
[0076]
f
t
=c
t
w|w|
[0077]
其中,c
t
是系数,w是螺旋桨角速度。
[0078]
水下机器人整体的动力学方程如下式所示:
[0079][0080]
其中,m为质量及惯性矩,u为速度,c(u)为科氏力及向心力,d(u)为水动力阻尼矩阵,g

为重力及浮力的合力,τ为外部力及力矩。
[0081]
3)3d静态场景仿真。将构建好的3d物体模型进行组合,采用渲染引擎osg构建水下地形、水体及光照等,再将二者结合便可生成完整的3d静态场景。当模型组合、水下地形及光照不同时,便可生成不同的静态场景,用户可以根据需要自行配置。根据需要采用静态合批技术,可以有效地减少cpu对gpu绘制的请求次数,提升运行速度。
[0082]
水下环境颜色由osg的雾效设置,水体的浑浊效果由osg的粒子系统并兼顾能见度及实时性产生。
[0083]
水底地形基于加权外推及双三次样条插值细分算法进行建模,地形模型如下式所示:
[0084][0085]
其中,h
xy
为控制点网格第x行第y列围成区域内的随机点的高程,x、y分别为控制点网格的行列号。
[0086][0087][0088]
其中,h
e(i,j)(i,j

1)
表示控制点p
i,j
和p
i,j
‑1的高程线性外推值,d
(i,j)(i

1,j

1)
表示点
p
xy
到直线p
i,j
p
i,j
‑1的距离,r(i,j)表示点p
xy
及控制点p
i,j
之间的距离。
[0089]
水下光照参考iwasaki提出的基于物理模型的方法进行模拟。水下某点a处的光照强度计算公式如下:
[0090][0091]
其中,λ为光的波长,i
b
(λ)为a点光束在其水面入射点b处的光强,c(λ)为光在水中的衰减系数,l为a点与b点之间的距离,i
c
(λ)为水面上某点的入射光经折射后形成的光束与a点对应光束交点c处的光强,l为a点与c点之间的距离。
[0092]
4)3d动态场景仿真。将构建好的3d物体模型进行组合,采用脚本设置物体的运动方式、速度及周期等参数,基于物理引擎physx产生可视化运动效果。当模型组合及模型运动方式、速度及周期不同时,便可生成不同的动态场景,用户也可以根据需要自行配置。根据需要采用动态合批技术,可以有效地减少cpu对gpu绘制的请求次数,提升运行速度。
[0093]
5)传感器仿真。传感器仿真用于模拟水下作业机器人搭载的各种传感器,包括但不限于摄像头、声呐、压力传感器、深度传感器、定位传感器、速度传感器、imu等。传感器用于采集视频、压力、深度、位置信息、速度及姿态等数据,然后传递给图形用户界面及数据平台分别进行显示及存储。在手动控制模式下:这些传感器数据在仿真过程中主要用于监测水下作业机器人的状态及显示机械臂机械爪的局部细节,使得操作员可以及时掌握作业过程的各方面信息;这些传感器数据在仿真结束后主要用于分析不同作业流程的优劣。在自动控制模式下:这些传感器数据在仿真过程中除了用于监测水下作业机器人的状态及显示机械臂机械爪的局部细节外,还作为水下作业机器人的决策规划及运动控制算法的输入信息,使得机器人可以基于环境及自身状态信息做出合理的决策,规划出较好的行走线路到达期望位置;这些传感器数据在仿真结果后可以用于分析科研人员开发的算法效果并有针对性地做出改进。
[0094]
摄像头仿真主要涉及镜头系统、成像仪及后处理三部分。镜头系统需要配置的参数包括焦距、视场、场深及光圈等,成像仪需要配置的参数包括尺寸大小、分辨率、动态范围及噪声等,后处理即进行数模转换。
[0095]
仿真摄像头时充分考虑镜头的径向变形,包括桶形失真及枕形失真。本处基于brown

conrady模型校正镜头的径向变形,具体原理在此不进行详述。
[0096]
仿真摄像头时也充分考虑成像仪的噪声,成像仪生成的带有噪声的图像如下式:
[0097]
i
n
=(rp n
ps
(r) n
fp
n
dcs
n
re
)n
d
e
pic
n
q
[0098]
其中,r为成像仪辐照度,p为光响应非均匀性,n
ps
为光子散粒噪声,n
fp
为偏移固定模式噪声,n
dcs
为暗电流散粒噪声,n
re
为读出噪声,n
d
为马赛克噪声,e
pic
为后期图像捕获效果,n
q
是量化噪声。
[0099]
声呐仿真的过程包括:配置声呐物理参数,包括工作频率、波束水平宽度、波束垂直宽度、探测距离、扫描角度等;采用光栅化方法,基于探测物体表面法线及深度值计算主反射;采用射线追踪方法对反射区域进行二次反射;采用信号衰减模型衰减全反射的幅度;计算回声强度及脉冲距离这两个声呐渲染参数;将脉冲距离相同的像素点分成一组;通过能量归一化计算每组的强度;给每组强度引入斑点噪声。计算得到的强度即为声呐的输出
数据,强度公式如下所示:
[0100][0101]
其中,(r,θ)是点的极坐标,i(r,θ)是无噪声强度,η
m
(r,θ)及η
a
(r,θ)分别为两个噪声成分。
[0102]
深度传感器仿真输出的深度如下式:
[0103][0104]
其中,h及h0分别为t时刻及初始时刻的深度,v
h
为机器人在垂直方向的速度。压力传感器仿真输出的压力如下式:
[0105]
p=ρgh
[0106]
其中,p为压力,ρ为海水密度,g为重力加速度,h为机器人所在深度。
[0107]
机器人定位采用基于usbl原理的声学定位传感器。虚拟的询问器及应答器分别安装在海面船体底部及水下机器人上表面,询问器以一定频率发出声波,应答器发出响应信号,询问器以另一频率接收该响应信号。询问器与应答器之间的距离基于声速及飞行时间计算得到。应答器的方位角基于询问器上多个水听器之间的相移计算得到。基于该距离及方位角便可得到水下机器人的位置。
[0108]
速度传感器仿真输出的速度包括螺旋桨的转速、机器人本体的速度两部分,螺旋桨转速及机器人本体的加速度计算见机器人运动仿真部分。得到机器人本体的加速度后,其速度计算公式如下:
[0109][0110]
其中,v及v0分别为t时刻及初始时刻的速度,a为加速度。
[0111]
imu仿真输出的机器人姿态角如下式所示:
[0112][0113]
其中,θ及θ0分别为t时刻及初始时刻的姿态角,w为角速度。
[0114]
(3)图形用户界面模块
[0115]
图形用户界面可划分为三部分:ui框架,主要包含uipanel、manager、recources、extension等内容,uipanel存放所有页面,manager建立所有页面之间的交互逻辑,recources存放背景及图标资源,extension存放所有的拓展插件,例如多选框及长按按钮等;ui界面,采用sketch设计,主要包括界面窗口布局、整体风格、功能按钮及图标等的设计,整体风格设计颜色及尺寸等,整体要求是美观、具备现代科技感;数据逻辑,主要是指通过编程的方式实现功能按钮、文本数据显示及视频显示窗口与数据的设置及调用关系。
[0116]
创建页面所需的各种图标及脚本不存在冗余及重复的情况。不同页面共有的由基本图标及脚本构建的模块单独制作为预制体,需要该模块的页面添加该预制体即可,无需创建多个相同的模块。这样有利于在保证页面功能时最大限度地降低资源冗余及重复,提高页面制作的效率,减小仿真软件包的大小,节省存储空间。
[0117]
数据逻辑中的功能按钮可以设置的内容包括:水下照明灯的开关、各种传感器的开关、缆绳的收放、机器人控制模式切换、报警开关、推进器使能与否等。
[0118]
数据逻辑中的文本数据显示的内容包括:水下机器人的位置、姿态、所在海拔、所在深度、运动速度、螺旋桨转速等。
[0119]
数据逻辑中的视频数据显示的内容包括:水下机器人所处水下环境、机械臂及机械爪细节、水下机器人作业过程等。
[0120]
(4)数据平台
[0121]
数据平台用于存储来自传感器的数据,用于后续进行数据分析及回放仿真过程。数据主要包括文本及视频,文本数据包括但不限于水下机器人的位置、姿态、所在海拔、所在深度、速度、加速度、角速度及角加速度等,视频数据包括但不限于机器人本体运动视频、机械臂运动视频、机械爪作业视频及缆绳收放装置局部视频等。文本存储采用开源且支持高频读写的数据库redis,视频存储采用开源高性能的文件系统fastdfs。本发明将涉及的数据看成时序数据。数据平台与上述模块部署在同一计算机上,通过udp协议与仿真软件通讯。
[0122]
文本数据采用redis进行存储。本处为了节省内存空间,基于redis的键值存储原理设计了专门用于管理时序文本数据的存储模型。传统的键值型数据库组织时序数据时,键由时间戳、确定数据源的维度标签及变量名称组成,不同时间戳的值分别对应一个键,造成维度标签及变量名称的冗余及重复存储。如图6所示,本处的键由维度标签及变量名称拼接而成,每个这样的键对应一个时序对象,该时序对象按照时间顺序存储来自同一数据源及同一变量在不同时刻的值。维度标签主要涉及压力传感器、深度传感器、速度传感器等产生文本数据的数据来源,变量名称主要涉及压力、深度、速度等。
[0123]
视频数据采用fastdfs进行存储。如图7所示,本处设计的视频数据文件结构由文件头及若干子文件组成,文件头由视频数据来源、数据长度、子文件数量、子文件相关信息组成,子文件相关信息涉及存入时间、偏移、长度及状态。数据来源用于指示该数据文件存储的数据来自于何种传感器(如摄像头、声呐),来自同一传感器的数据存储于同一数据文件,不同时间导入的来源相同的数据存储在不同的子文件中。基于这种文件结构,用户可以非常方便地基于数据来源及导入日期调取想要查看的数据。
[0124]
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:
1.一种有缆水下作业机器人仿真系统,其特征在于:包括:机器人控制模块,用于切换水下机器人控制模式及控制水下机器人运动;仿真模块,该仿真模块用于仿真水下环境、机器人运动及传感器;图形用户界面模块,该图形用户界面模块主要用于人机交互及显示相关的文本视频数据;数据平台,数据平台用于存储来自传感器的数据,用于后续进行数据分析及回放仿真过程;单机集成模块,该单机集成模块用于将机器人控制模块、仿真模块及图形用户界面模块通过assestbundle技术打包形成完整的仿真软件包。2.根据权利要求1所述的有缆水下作业机器人仿真系统,其特征在于:所述机器人控制模块具有手动控制模式和自动控制模式,所述手动控制模式为采用触屏功能按键及手柄给机器人、机械臂及机械爪发送运动指令,所述自动控制模式为通过外部开发好的环境感知、决策规划及运动控制算法,控制机器人、机械臂及机械爪完全自主式地执行相关动作,其中,自动控制模式支持sil及hil两种方式:sil采用以太网实现运行仿真系统的服务器pc与基于matlab/simulink实现自动控制算法的客户端pc之间的双向通信;hil采用以太网实现运行仿真系统的服务器pc、嵌入式控制器及客户端pc三者之间的通信,嵌入式控制器用于环境感知、决策规划及运动控制,客户端pc基于adams实现水下机器人的动力学建模。3.根据权利要求2所述的有缆水下作业机器人仿真系统,其特征在于:所述仿真模块包括:3d模型及场景库,该3d模型库及场景库提供多种接口,可支持3d建模软件,构建的模型及场景涵盖不同的水域深度,可用于不同水域深度的仿真;机器人运动仿真,该机器人运动仿真由机器人模型、动力学模型及物理引擎physx配合完成;3d静态场景仿真,该3d静态场景通过3d物体模型组合及渲染引擎osg配合完成,渲染引擎主要负责构建水底地形、水下环境颜色、水体及光照,水底地形基于加权外推及双三次样条插值细分算法进行建模,水下环境颜色由osg的雾效设置,水体的浑浊效果由osg的粒子系统并兼顾能见度及实时性产生,水下光照采用iwasaki提出的基于物理模型的方法进行模拟;3d动态场景仿真,该3d动态场景通过3d物体模型组合及物理引擎physx配合完成,编写脚本配置物体运动参数,由physx产生具体的可视化运动效果;传感器仿真,该传感器仿真用于模拟水下作业机器人搭载的各种传感器,包括摄像头、声呐、压力传感器、深度传感器、定位传感器、速度传感器、imu;其中,摄像头仿真采用基于物理真实的仿真方法,声呐仿真过程中采用光栅化方法基于探测物体表面法线及深度值计算主反射并采用射线追踪方法对反射区域进行二次反射,机器人定位仿真采用基于usbl原理的声学定位传感器,压力传感器、深度传感器、速度传感器及imu的仿真均直接仿真传感器目标。4.根据权利要求3所述的有缆水下作业机器人仿真系统,其特征在于:所述图形用户界面模块用于人机交互界面及显示相关的文本视频数据;所述人机交互界面采用触控虚拟按键,通过虚拟按键可以实现仿真参数设置及数据调取,虚拟按键可设置的内容包括:水下照明灯的开关、各种传感器的开关、缆绳的收放、机器
人控制模式切换、报警开关、推进器使能与否;文本数据显示的内容包括:水下机器人的位置、姿态、所在海拔、所在深度、运动速度,视频数据显示的内容包括:水下机器人所处水下环境、机械臂及机械爪细节、水下机器人作业过程。5.根据权利要求1至4任意一项所述的有缆水下作业机器人仿真系统,其特征在于:所述仿真软件包的执行步骤如下:第一步:运行仿真软件;第二步:从仿真软件的3d模型及场景库中选择并加载机器人模型及水下场景;第三步:通过触控屏虚拟按键选择控制模式,自动控制软件在手动控制模式下不运行,在自动控制模式下运行;第四步:运行数据平台,数据平台与仿真软件通过udp协议进行通讯;第五步:手动控制模式下,用户通过图形用户界面中的功能按钮及手柄控制水下机器人运动;自动控制模式下,用户在自动控制软件中输入水下机器人的期望位姿;第六步:仿真模块中的机器人运动仿真单元产生水下机器人、机械臂及机械爪的运动效果;手动控制模式下,传感器仿真单元将采集的水下环境、水下机器人状态等信息传递给数据平台;自动控制模式下,传感器仿真单元除了将采集的信息传递给数据平台,还会传递给自动控制软件;第七步:当需要回放并分析仿真过程时,仿真软件可以从数据平台调取已存储的仿真过程视频进行回放。
技术总结
本发明提供了一种基于Unity 3D的有缆水下作业机器人仿真系统。水下作业机器人控制模块用于选择机器人控制模式并发送控制指令;仿真模块用于实现水下3D静态场景、3D动态场景、水下作业机器人运动及机器人搭载传感器的仿真;图形用户界面模块用于实现人机交互及传感器数据的显示;数据平台存储来自传感器的数据,用于后续进行数据分析及仿真过程回放。本发明可以在一台计算机上仿真有缆水下作业机器人在水下环境作业的全过程,两种不同的机器人控制模式分别可以实现对操作员的培训及控制算法效果的验证,数据平台存储的仿真过程数据可以用于评价不同水下作业方案的优劣及控制算法的好坏,为优化选择水下作业方案及改善控制算法提供参考。控制算法提供参考。控制算法提供参考。


技术研发人员:龙承启 胡满江 秦晓辉 秦兆博 秦洪懋 王晓伟 边有钢 徐彪 谢国涛 丁荣军
受保护的技术使用者:湖南大学
技术研发日:2021.03.19
技术公布日:2021/6/29

转载请注明原文地址:https://doc.8miu.com/read-8877.html

最新回复(0)