CN104407521B - 一种实现水下机器人实时仿真的方法 - Google Patents

一种实现水下机器人实时仿真的方法 Download PDF

Info

Publication number
CN104407521B
CN104407521B CN201410642408.9A CN201410642408A CN104407521B CN 104407521 B CN104407521 B CN 104407521B CN 201410642408 A CN201410642408 A CN 201410642408A CN 104407521 B CN104407521 B CN 104407521B
Authority
CN
China
Prior art keywords
underwater robot
model
virtual scene
real
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410642408.9A
Other languages
English (en)
Other versions
CN104407521A (zh
Inventor
廖华丽
李珅
周军
彭海强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changzhou Campus of Hohai University
Original Assignee
Changzhou Campus of Hohai University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changzhou Campus of Hohai University filed Critical Changzhou Campus of Hohai University
Priority to CN201410642408.9A priority Critical patent/CN104407521B/zh
Publication of CN104407521A publication Critical patent/CN104407521A/zh
Application granted granted Critical
Publication of CN104407521B publication Critical patent/CN104407521B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及一种实现水下机器人实时仿真的方法,将虚拟现实技术应用到水下机器人实时仿真领域,实现了对水下机器人运动状态的直观观察;借助计算机图形库的强大图形建模和渲染能力,将仿真平台搭建在DirectX环境下对水下机器人进行仿真的方法。本发明实现了三维软件建模模型和计算机图形库所需模型的对应,简化了数据读入量,增大了测试渲染效果时的灵活性;配合Direct2D和DirectWrite平面库,实现了仿真系统的用户界面问题,自定义的方式使得界面美观合理,避免使用传统木讷的用户界面框;有良好的拓展性。

Description

一种实现水下机器人实时仿真的方法
技术领域
本发明涉及实时仿真领域,尤其是一种实现水下机器人实时仿真的方法。
背景技术
水下机器人主要用于大坝水下构筑物检测和清刷,其工作环境特殊,水下机器人现实作业时,先将其放入水中漂浮起来,再由控制人员操控游戏手柄控制推进器螺旋桨旋转速度,将其调整为侧立姿态,贴在大坝墙体上行走,其在大坝中的位置实时改变着。期间,伴随水流、水深的影响,其姿态也会产生一定波动,同样是实时变化的。而现实作业中无法用肉眼直接观察其运动情况;而由于传感器传回的数据量大,值变化快,且多个传感器的操作界面并不相同,操作人员和观察人员很难直观、快速地了解水下机器人的运动和其在水下的具体位置。
发明内容
本发明要解决的技术问题是:提出一种将虚拟现实技术应用到水下机器人实时仿真领域,实现了对水下机器人运动状态的直观观察;借助计算机图形库的强大图形建模和渲染能力,将仿真平台搭建在DirectX环境下对水下机器人进行仿真的方法。
本发明所采用的技术方案为:一种实现水下机器人实时仿真的方法,包括以下步骤:
1)利用三维软件完成水下机器人三维建模,创建水下机器人实体模型;并分别细化和缩减模型层次以获得面片数多、细节丰富的高模和面片数少、只具有基本造型特征的低模;将低模展开UV,并将高模分别渲染为低模的法线贴图、漫反射贴图和光照贴图,留作水下虚拟场景中渲染使用;
2)设计水下虚拟场景;
3)将机器人模型以OBJ文件格式输出以获取各实体表面的数据,然后提取顶点坐标和面片信息写入TXT文件格式,在D3D环境下将其导入仿真系统中;实现三维实体模型由三维软件向D3D的转换;同时,在虚拟场景中绘制模型时计算其顶点法线向量和正切向量用于渲染;
4)校准虚拟场景世界坐标系和安装在真实的水下机器人框架上用于接收姿态数据的陀螺仪坐标系,确保虚拟环境中机器人模型的姿态摆动方向和真实环境相同;校准虚拟大坝和真实大坝的尺寸比,缩小超短基线、水深传感器数据的比例;
5)使用HLSL配合C++应用程序渲染虚拟场景和水下机器人模型,从效果文件.fx计算每个模型顶点的光线向量,根据步骤3)中得到的顶点信息插值计算每个像素点的漫反射、镜面反射、环境光、法线贴图等材质信息;确定计算机更新频率,并以时间为自变量设定步骤2)中水下景物、灯光产生动态效果所需的物理方程;
6)编写通信协议;让仿真系统实时接收来自真实水下机器人陀螺仪、超短基线和水深传感器的数据,并每帧更新虚拟场景中机器人模型的三维位置和姿态,再现真实机器人在水下的运动状态。
进一步的说,本发明所述的步骤3)中,将水下机器人三维模型低模每个顶点的位置坐标、每个三角形面片上三个顶点的编号、排列数据写入到TXT文件后在D3D水下虚拟场景中读入,同时计算模型顶点的法线向量、切线向量;将水下虚拟场景中景物模型导出为自定义类型文件,包含其顶点位置、法线向量、切线向量、UV贴图信息和三角形面片拓扑信息;
再进一步的说,本发明所述的步骤4)中,根据虚拟场景世界坐标系X、Y、Z轴和水下机器人实物框架上安装的陀螺仪坐标系X、Y、Z轴的对应关系,确定俯仰角、横滚角、航向角所绕的轴及它们的正反向;根据真实测定的大坝尺寸和声呐定位原点,确定水下机器人实物位置数据缩小到虚拟场景中所需的比例和偏移量;
再进一步的说,本发明所述的步骤6)中,使用Winsock中TCP/IP客户端协议传输陀螺仪姿态数据、超短基线和水深传感器的位置数据到虚拟场景中,并根据步骤4)中确定的转换算法解析为相应的数据传给机器人模型和场景光照,仿真系统每帧刷新后台缓冲区将新的模型位置、姿态显示到屏幕上。
本发明的有益效果是:
a、实现了三维软件建模模型和计算机图形库所需模型的对应,只提取模型的顶点和拓扑索引关系,大大简化了数据读入量。各模型材质在模型进入D3D后再进行设定,省去了每次修改模型材质都要重新回到三维软件中调整的麻烦,方便在D3D中直接修改,增大了测试渲染效果时的灵活性;
b、由于DirectX和Winsock都是WindowsAPI,故只要将虚拟环境作为客户端,通过简单的消息函数即可实现水下机器人传回的传感器数据和虚拟环境的通信,减小了开发不必要的复杂性,只需在了解Windows下各种API接口的交互方法后,即可专注在仿真效果和准确性上,更多地考虑算法和效率问题;
c、配合Direct2D和DirectWrite平面库,实现了仿真系统的用户界面问题,自定义的方式使得界面美观合理,避免使用传统木讷的用户界面框;
d、可按照逻辑合理地定义水下机器人模型的运动原理,而不必受到三维动画软件、游戏引擎既定的物理运动的限制,有良好的拓展性;
e、由于采用C++直接编程开发,故很容易增添新的功能或与其他部分,如水下机器人控制方面交互、配合,并且省去了版权问题;
f、可在水下机器人实体正在作业时实现仿真系统的回放,查看之前的数据;还能在作业结束后,将传感器传回的姿态、位置、水深数据保存为TXT文档,方便以后分析。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的仿真方法流程图;
图2是本发明的软件流程图。
具体实施方式
现在结合附图和优选实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
如图1、2所示,一种在C++图形库DirectX环境下实现水下机器人实时仿真的方法。其原理是:在三维建模环境下,构建水下机器人实体模型和大坝虚拟水下场景,将机器人模型以OBJ文件格式输出以获取各实体表面的数据,然后提取顶点坐标和面片信息写入TXT文件格式,在D3D环境下将其导入仿真系统中,实现三维实体模型由三维软件向D3D的转换,同时,在虚拟场景中绘制模型时计算其顶点法线向量和正切向量用于渲染。校准虚拟场景世界坐标系和安装在真实的水下机器人框架上用于接收姿态数据的陀螺仪坐标系,确保虚拟环境中机器人模型的姿态摆动方向和真实环境相同;校准虚拟大坝和真实大坝的尺寸比,合理缩小超短基线、水深传感器数据的比例,以免超出虚拟大坝范围。编写通信协议,让仿真系统实时接收来自真实水下机器人陀螺仪、超短基线和水深传感器的数据,并每帧更新虚拟场景中机器人模型的三维位置和姿态,再现真实机器人在水下的运动状态。设计用户交互界面,通过鼠标键盘改变相机位置便于观察,回放实时仿真后的数据等。
具体步骤如下:
1、创建水下机器人实体模型。根据水下机器人实物的外形尺寸和造型特点,在三维软件里完成水下机器人三维建模,并分别细化和缩减模型层次以获得面片数多、细节较为丰富的高模和面片数少、只具有基本造型特征的低模;将低模展开UV,并将高模分别渲染为低模的法线贴图、漫反射贴图和光照贴图,留作水下虚拟场景中渲染使用。
2、设计水下虚拟场景。此款水下机器人主要用于大坝水下构筑物的检测,因此,水下虚拟场景模型主要有大坝坝体、坝底凹凸地形、泥沙石子、水面水波和水下水流、水下动植物等装饰物等;特效主要有随着水深而颜色加深的灯光、表现水下全景的天空立方盒、水下机器人模型上的探照灯、增强水下景物真实性的法线贴图、阴影贴图等,以及水流粒子和随水流摆动的水下动植物等。
3、将水下机器人三维模型低模每个顶点的位置坐标、每个三角形面片上三个顶点的编号、排列数据写入到TXT文件后在D3D水下虚拟场景中读入,同时计算模型顶点的法线向量、切线向量;将水下虚拟场景中景物模型导出为自定义类型文件,包含其顶点位置、法线向量、切线向量、UV贴图信息和三角形面片拓扑信息。
4、根据虚拟场景世界坐标系X、Y、Z轴和水下机器人实物框架上安装的陀螺仪坐标系X、Y、Z轴的对应关系,确定俯仰角、横滚角、航向角所绕的轴及它们的正反向;根据真实测定的大坝尺寸和声呐定位原点,确定水下机器人实物位置数据缩小到虚拟场景中所需的比例和偏移量。
5、使用HLSL配合C++应用程序渲染虚拟场景和水下机器人模型,从效果文件.fx计算每个模型顶点的光线向量,根据步骤3中得到的顶点信息插值计算每个像素点的漫反射、镜面反射、环境光、法线贴图等材质信息;确定计算机更新频率,并以时间为自变量设定步骤2中水下景物、灯光产生动态效果所需的物理方程。
6、编写通信协议。使用Winsock中TCP/IP客户端协议传输陀螺仪姿态数据、超短基线和水深传感器的位置数据到虚拟场景中,并根据步骤4中确定的转换算法解析为相应的数据传给机器人模型和场景光照,仿真系统每帧刷新后台缓冲区将新的模型位置、姿态显示到屏幕上。
7、为了方便实验暂停时段以及实验过后的进一步研究,设置了回放功能。首先,将服务端每次传入的数据传递给系统中的变量,方便在仿真进行过程中随时回放之前机器人行走过的位置和运动姿态;将每次仿真软件运行时服务端传入的数据存为一个TXT文件,保存实验数据,留作以后分析之用。
8、设计人机交互界面。此处需要配合DirectX中另外两个API:Direct2D和DirectWrite,实现在显示窗口上创建二维文字和菜单,实时显示水深、时间、水下机器人的位姿信息等;将窗口分为多个视口,分别显示水下全景、水下机器人特写等,方便从多角度观察水下机器人的运动状态。
以上说明书中描述的只是本发明的具体实施方式,各种举例说明不对本发明的实质内容构成限制,所属技术领域的普通技术人员在阅读了说明书后可以对以前所述的具体实施方式做修改或变形,而不背离本发明的实质和范围。

Claims (4)

1.一种实现水下机器人实时仿真的方法,其特征在于包括以下步骤:
1)利用三维软件完成水下机器人三维建模,创建水下机器人实体模型;并分别细化和缩减模型层次以获得面片数多、细节丰富的高模和面片数少、只具有基本造型特征的低模;将低模展开UV,并将高模分别渲染为低模的法线贴图、漫反射贴图和光照贴图,留作水下虚拟场景中渲染使用;
2)设计水下虚拟场景;
3)将机器人模型以OBJ文件格式输出以获取各实体表面的数据,然后提取顶点坐标和面片信息写入TXT文件格式,在D3D环境下将其导入仿真系统中;实现三维实体模型由三维软件向D3D的转换;同时,在虚拟场景中绘制模型时计算其顶点法线向量和正切向量用于渲染;
4)校准虚拟场景世界坐标系和安装在真实的水下机器人框架上用于接收姿态数据的陀螺仪坐标系,确保虚拟环境中机器人模型的姿态摆动方向和真实环境相同;校准虚拟大坝和真实大坝的尺寸比,缩小超短基线、水深传感器数据到虚拟场景中所需的比例;
5)使用HLSL配合C++应用程序渲染虚拟场景和水下机器人模型,从效果文件.fx计算每个模型顶点的光线向量,根据步骤3)中得到的顶点信息插值计算每个像素点的漫反射、镜面反射、环境光、法线贴图的材质信息;确定计算机更新频率,并以时间为自变量设定步骤2)中水下虚拟场景产生动态效果所需的物理方程;
6)编写通信协议;让仿真系统实时接收来自真实水下机器人陀螺仪、超短基线和水深传感器的数据,并每帧更新虚拟场景中机器人模型的三维位置和姿态,再现真实机器人在水下的运动状态。
2.如权利要求1所述的一种实现水下机器人实时仿真的方法,其特征在于:所述的步骤3)中,将水下机器人三维模型低模每个顶点的位置坐标、每个三角形面片上三个顶点的编号、排列数据写入到TXT文件后在D3D水下虚拟场景中读入,同时计算模型顶点的法线向量、正切向量;将水下虚拟场景中景物模型导出为自定义类型文件,包含其顶点位置、法线向量、正切向量、UV贴图信息和三角形面片拓扑信息。
3.如权利要求1所述的一种实现水下机器人实时仿真的方法,其特征在于:所述的步骤4)中,根据虚拟场景世界坐标系X、Y、Z轴和水下机器人实物框架上安装的陀螺仪坐标系X、Y、Z轴的对应关系,确定俯仰角、横滚角、航向角所绕的轴及它们的正反向;根据真实测定的大坝尺寸和声呐定位原点,确定水下机器人实物位置数据缩小到虚拟场景中所需的比例和偏移量。
4.如权利要求1所述的一种实现水下机器人实时仿真的方法,其特征在于:所述的步骤6)中,使用Winsock中TCP/IP客户端协议传输陀螺仪姿态数据、超短基线和水深传感器的位置数据到虚拟场景中;仿真系统每帧刷新后台缓冲区将新的模型位置、姿态显示到屏幕上。
CN201410642408.9A 2014-11-13 2014-11-13 一种实现水下机器人实时仿真的方法 Expired - Fee Related CN104407521B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410642408.9A CN104407521B (zh) 2014-11-13 2014-11-13 一种实现水下机器人实时仿真的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410642408.9A CN104407521B (zh) 2014-11-13 2014-11-13 一种实现水下机器人实时仿真的方法

Publications (2)

Publication Number Publication Date
CN104407521A CN104407521A (zh) 2015-03-11
CN104407521B true CN104407521B (zh) 2017-02-15

Family

ID=52645160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410642408.9A Expired - Fee Related CN104407521B (zh) 2014-11-13 2014-11-13 一种实现水下机器人实时仿真的方法

Country Status (1)

Country Link
CN (1) CN104407521B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105319987B (zh) * 2015-11-09 2019-02-26 哈尔滨工程大学 一种作业型rov训练模拟器的运动控制仿真系统
WO2017201649A1 (zh) * 2016-05-23 2017-11-30 达闼科技(北京)有限公司 一种三维模型建立方法和装置
CN106354902A (zh) * 2016-08-15 2017-01-25 浙江大学 基于网络的潜水器运动模拟可视化系统
CN106791691B (zh) * 2017-01-04 2021-09-14 北京臻迪科技股份有限公司 一种无人船的控制系统
CN107451366A (zh) * 2017-08-07 2017-12-08 杨子钦 基于物理渲染技术的实物产品三维虚拟实时展示方法
CN107622520A (zh) * 2017-09-29 2018-01-23 上海开圣影视文化传媒股份有限公司 加速渲染的方法
CN109062569B (zh) * 2018-08-08 2022-02-08 中国民用航空飞行学院 虚拟事件模拟条件下多元化驱动引擎构建方法
CN109062079A (zh) * 2018-08-31 2018-12-21 南京邮电大学 基于ros的水下机器人多自由度运动控制的仿真方法
CN113433835A (zh) * 2020-03-23 2021-09-24 中国科学院沈阳自动化研究所 基于unity3d的水下潜水器视景仿真系统及方法
CN113050449A (zh) * 2020-09-21 2021-06-29 湖南大学 一种有缆水下作业机器人仿真系统
CN112596412A (zh) * 2020-12-11 2021-04-02 中国科学院沈阳自动化研究所 一种多auv仿真平台

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833333A (zh) * 2009-12-23 2010-09-15 湖南大学 水下清洗作业机器人未知环境路径规划方法
CN102117071A (zh) * 2009-12-30 2011-07-06 中国科学院沈阳自动化研究所 一种多水下机器人半物理仿真系统及其控制方法
CN103064296A (zh) * 2011-10-21 2013-04-24 中国科学院沈阳自动化研究所 一种水下机器人辅助控制系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101833333A (zh) * 2009-12-23 2010-09-15 湖南大学 水下清洗作业机器人未知环境路径规划方法
CN102117071A (zh) * 2009-12-30 2011-07-06 中国科学院沈阳自动化研究所 一种多水下机器人半物理仿真系统及其控制方法
CN103064296A (zh) * 2011-10-21 2013-04-24 中国科学院沈阳自动化研究所 一种水下机器人辅助控制系统

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
"ROV作业视景仿真技术研究";迟迎;《中国优秀硕士学位论文全文数据库基础科学辑》;20140430(第4(2014)期);第A010-25页 *
"基于虚幻引擎的ROV实时运动仿真";李珅,等;《计算机与现代化》;20140717(第7期);第150-158页 *
"大学生研究计划结题报告 基于DirectX SDK的三维人体建模与运动仿真";中国科技大学;《豆丁网http://www.docin.com/p-133107947.html》;20110225;第1-30页 *
"小型水下机器人自主航行技术的研究";蔡庆安;《豆丁网http://www.docin.com/p-98001570.html》;20101116;第1-70页 *
"水下机器人的视景仿真";张晓霞;《中国优秀硕士学位论文全文数据库信息科技辑》;20050131(第1(2005)期);第I140-208页 *
"遥控水下机器人系统在水库大坝水下检查中的应用";郑发顺;《水利信息化》;20140430(第2期);第45-49页 *

Also Published As

Publication number Publication date
CN104407521A (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
CN104407521B (zh) 一种实现水下机器人实时仿真的方法
CN105354355B (zh) 一种基于三维运动视景的仿真系统设计与实现方法
CN102663827B (zh) 复杂淹没区域风暴潮洪水演进三维动态全过程仿真方法
CN102855400B (zh) 一种基于投影网格的海洋表面建模及实时光照方法
Harris Real-time cloud simulation and rendering
CN107168516B (zh) 基于vr及手势交互技术的全球气候矢量场数据可视化方法
CN106570215B (zh) 一种基于时变气象数据的热带气旋动态仿真方法
US20140354672A1 (en) Dynamic skydome system
CN108984169A (zh) 一种跨平台多元集成开发系统
CN110163961A (zh) 一种基于地貌描绘生成三维虚拟世界的方法
CN110232846A (zh) 一种冲锋舟模拟驾驶方法、系统及相关装置
CN103208130B (zh) 大规模群体表演动画合成方法及设备
Yang et al. Study on the virtual natural landscape walkthrough by using Unity 3D
CN110400366A (zh) 一种基于OpenGL的实时洪水灾害可视化仿真方法
JP3483967B2 (ja) 雲状現象可視化装置
Li Architectural design virtual simulation based on virtual reality technology
Feng et al. Research on Dynamic Water Surface and Ripple Animation
CN102402795B (zh) 估计均匀介质中光散射的方法
Nishita et al. Modeling and rendering methods of clouds
Stabbert et al. Extending Augmented Sandboxes with Virtual Reality Interaction
Chen et al. The merging of water droplets base-on metaball
Grottel et al. Real-Time Visualization of Urban Flood Simulation Data for Non-Professionals.
Li et al. Research in virtual home roaming system based on virtools
Duan et al. Design and Implementation of Virtual Campus Roaming System Based on OpenGL and 3Ds Max
Dewen et al. Method and system for virtual roaming in water conservancy works

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170215

Termination date: 20201113

CF01 Termination of patent right due to non-payment of annual fee