三维避障仿真系统

2024-06-17

三维避障仿真系统(共3篇)

三维避障仿真系统 篇1

0 引言

青藏高原是我国最大的高原,也是我国湖泊分布最密集的地区之一[1,2]。由于全球气候变暖和人类活动的双重影响,青藏高原的水生态环境在急剧的恶化,大多数的湖泊都出现了退缩甚至消亡的现象。青藏高原是三江的发源地,如果这种恶化趋势不能有效地得到控制,那么下游的生态环境也将受到影响,所以要对青藏高原的水生态环境进行探查、保护和改善。由于青藏高原的环境恶劣,人工探查水环境的工作比较困难,因此水下机器人的研究将会减少很多繁琐的程序。

仿生机器鱼作为水下机器人大家族的一员,因其拥有工作时间长、运动范围大、能在机动性能要求比较高的水下环境工作等优点,它可以进行海底勘测、海洋生物观察、海洋生物考察、海洋救生等许多工作[3,4],所以仿生机器鱼的研究将会给以后高原水环境的探查带来很多优势。仿生机器鱼水下工作的前提是其要拥有自主导航与避障能力,然而用实体机器鱼进行避障能力研究,其过程将会对机器鱼造成很大损害,而且费用成本也很高,所以采用虚拟现实技术模拟具有真实感的虚拟仿真环境[5],不仅能够降低研发费用而且能够直观地观察机器鱼避障。

1 仿生机器鱼三维仿真系统的整体结构

本文设计的三维避障仿真系统主要是由人机交互层、数据层和对象层构成。仿真系统的整体结构如图1所示。其中,人机交互层由人机交互模块组成,对象层由仿真环境模块、传感器模块、行为决策模块和机器鱼模块组成。

人机交互层是仿真系统和用户之间进行交互和信息交换的媒介[6],用户可以通过人机交互模块初始化机器鱼的起始位置和目标位置、加载不同的障碍物地图和实时控制机器鱼的运动过程,包括启动、暂停、复位和显示路径等。数据层主要是将人机交互层与对象层的数据进行存储与交换,数据层将用户通过人机交互层初始化环境对象的信息和控制命令传送给对象层;对象层根据用户的要求实时更新仿真过程;数据层将对象层中实时的仿真过程反馈给人机交互层显示。对象层是负责实时刷新系统中仿真环境和机器鱼的运动状态,传感器模块将探测到的障碍物信息传送给行为决策模块,由行为决策模块决策出机器鱼的下一步位置与状态,直至到达目标。

2 仿真系统的界面设计

系统的界面设计是用户与计算机之间交换信息的媒介,良好的界面设计便于用户能够更加直观地了解系统功能。通过用户界面,用户可以使用输入设备对系统功能进行控制,系统收到命令后将效果图通过用户界面反馈给用户。

2.1 框架的构建

由于Open GL没有提供窗口系统功能,因此要使用Visual C++中的App Wizard建立一个基于MFC的单文档工程即可创建框架,其基本方法与步骤如下:

(1)创建项目文件:选择“File”菜单中的“New”选项,在新建框中打开工程选项卡,选择MFCApp Wizard[exe],建立一个基于单文档的工程文件。

(2)在Project->Setting->link的Object/library modules中添加opengl32.lib,glu32.lib,glaux.lib,应用程序即可访问Open GL的库函数。

(3)构建Open GL图形程序的框架,完成Open GL窗口的创建和初始化工作,其过程如图2所示。

2.2 系统功能的实现

为了能够更加直观地操作和观察机器鱼的避障能力,设计了操作、显示和视图三个主要的系统功能。

(1)操作功能是实现用户对机器鱼避障任务的操控,主要包括开始、暂停、复位、加载地图和改变机器鱼的初始位置和目标点位置。

(2)显示功能是显示机器鱼避障的路径,这是为了全面地了解机器鱼从起始位置到目标位置的避障过程。

(3)视图功能是为了不让用户受到视域范围的限制,提供了全局俯视、后视、侧视和近俯视4种观察角度。为了能让用户体验到真实感,三维仿真环境得符合“远大近小”的视觉感受,这种视觉效果由Open GL提供的照相机模型实现。照相机模型定义了照相机的视点和视域,视点相当于观察者的眼睛,视域指的是观察者能够观察到的范围。视景体是由照相机视线方向的近裁切面Pn和远裁切面Pm裁剪后形成的四棱台确定,在视景体内的模型会被显示出来,不在的则会被裁剪。照相机的观察空间如图3所示。图4显示的是在不同视角所观察到的场景,其功能是由函数glu Look At()实现。

3 三维场景的模拟

场景的模拟是三维可视化仿真的核心。要建立一个具有真实感的虚拟避障环境,不仅仅要模拟机器鱼和障碍物,还要模拟三维真实感地形,这样才能够更逼真地反映外部真实世界。

3.1 机器鱼模拟

外形呈流线型的鱼类具有机动性能优异、游动速度快、游动效率高等许多优点,所以本系统中的仿生机器鱼将使用曲线和曲面来绘制。一般绘制光滑的曲线和曲面都使用大量的基本图元来近似拟合,但这种方法不够精确而且需要大量的计算量。Open GL的辅助库函数还提供了NURBS接口,它是GLU的高层NURBS工具,使用NURBS建模的方法绘制复杂曲线和曲面,建模速度快而且精度也很高。

在系统中,采用NURBS建模的方法构建机器鱼模型,图5为虚拟机器鱼的效果图,其构建步骤如下:

(1)调用gl Enable(GL_TEXTURE_2D)函数对NURBS曲面进行纹理贴图。

(2)创建NURBS对象的指针,在创建NURBS曲面时要用到。

(3)调用glu Begin Surface()函数,开始绘制曲面。

(4)调用glu Nurbs Surface()函数,生成和绘制NURBS曲面。

(5)调用glu End Surface()函数,结束绘制曲面。

3.2 障碍物模拟

三维避障仿真系统主要是研究仿生机器鱼的避障能力,所以障碍物的模拟是必不可少的。Open GL实用库包含了43个以glu为前缀的函数[7,8],这类函数提供了简单的调用方法,其实质是调用核心函数,目的是减轻开发者的编程工作量。Open GL实用库提供了简单物体函数,可以绘制球体、圆柱、圆锥等,这大大降低了模拟障碍物的难度和复杂度。用户可以通过加载不同的地图显示不同类型的障碍物,本系统加载地图是通过加载地图文件的形式实现,地图文件的主要内容是:障碍物的总数、障碍物的类型标识、不同类型障碍物的几何信息和坐标。采用文件形式加载地图显示不同的障碍物的方法简单又方便。

3.3 地形模拟

地形是自然界最复杂的景物。地形的模拟有两种:真实地形与模拟地形。如果地形模拟使用真实地形,必须要采用真实世界中的具体数据来构建,其过程非常复杂,而且图形生成速度慢。在三维避障可视化过程中对地形的生成要求不是很高,只需要使用户在感观上满足,所以采用模拟地形就可以。对于非真实地形的模拟一般采用随机生成地形高程数据的方法或者采用分形法生成地形[9,10]。在本系统中,将采用随机生成地形高程数据的方法来模拟地形。该方法的使用首先要随机生成一些特征点的高程数据,为了使地形更加接近于真实,对随机生成的高程数据进行平滑处理,防止形成尖锐的凸起或凹陷地形,然后将外部纹理映射上去。使用这种方法生成的地形虽然和真实的地形一模一样,但也很美观,而且生成的速度很快。图6显示的是地形场景的模拟。

4 传感器模拟及障碍物探测

4.1 传感器模拟

根据要求在机器鱼的头部放置了4个红外传感器L1,R1,L2,R2,图7是传感器配置示意图。L1,R1放置在机器鱼头部正前方,偏离机器鱼中轴线角度为α和-α,L2,R2放置离机器鱼中心点d处两侧,偏离机器鱼中轴线角度为2α和-2α。

本系统采用虚拟射线法[11]模拟红外传感器,即假设从传感器这点发射出多条虚拟射线,传感器的探测范围为虚拟射线形成的扇形角θ,传感器探测的最长距离为扇形的半径l。根据虚拟射线与传感器中心线的夹角和其长度可以得知虚拟射线端点的坐标,这时虚拟射线端点的坐标是由传感器坐标系表示的。要想得知传感器探测范围内是否有障碍物,必须通过判断虚拟射线探测点与障碍物在同一坐标系下的位置关系。仿真环境中所有障碍物的位置是由世界坐标系表示的,所以要将虚拟射线端点的坐标进行变换。已知虚拟射线端点在传感器坐标系下的坐标,传感器在机器鱼坐标系下的坐标和机器鱼在世界坐标系下的坐标,经过两次变换,可以得到虚拟射线端点在世界坐标系下的坐标。

4.2 障碍物探测

本系统将障碍物分为球体类和柱体类这两类,这是为了简化探测不同类型的障碍物。

(1)球体类障碍物的探测。对于球体类的障碍物采用包围球的探测方法。包围球的半径是球体类障碍物中心到球表面最长的距离。根据传感器探测点M到球心的距离和包围球半径可以判断是否探测到障碍物,如图8所示。

(2)柱体类障碍物的探测。对于柱体类的障碍物采用包围盒的探测方法。包围盒的顶点坐标是由柱体类障碍物每个顶点坐标分量的最大值和最小值确定。因为本系统探测的是xz平面的障碍物,所以根据传感器探测点世界坐标x,z的分量与包围盒顶点x,z分量的最大值和最小值进行比较来判断是否探测到障碍物,如图9所示。

5 模糊控制器的设计

仿生机器鱼能够成功的完成避障,前提是能够在虚拟环境中安全避障、从起始点运动到指定位置、规划出最佳路径等。采用良好的路径规划方法能够减短工作时间,提高工作效率。为了使仿生机器鱼能够在环境未知的情况下准确的、快速的到达目标,本系统采用模糊逻辑算法根据红外传感器的配置设计了L1,R1,L2,R2转角模糊控制器和速度模糊控制器来对机器鱼的避障行为进行决策。

系统中4个传感器探测到障碍物与机器鱼之间的距离分别为dL1,dR1,dL2,dR2,其中,dL1,dR1是L1,R1转角模糊控制器的输入,dL2,dR2是L2,R2转角模糊控制器的输入,将4个传感器探测到障碍物与机器鱼之间最短的距离d作为速度模糊控制器的输入。

5.1 模糊处理

在模糊控制系统中,传感器探测到的信息是精确量,需将其转换成模糊语言变量值。系统中各传感器探测到的障碍物与机器鱼之间距离分别量化到[0,12]的区间内,设定输入语言变量DL1,DR1,DL2,DR2,D的论域均为[0,1,2,3,4,5,6,7,8,9,10,11,12],定义输入语言变量的语言值为ST(很近)、SR(较近)、S(近)、M(中)、B(远)、BR(较远)、BT(很远)。将传感器探测到的障碍物位置与机器鱼的位置相比较,得到输入角度θ,将θ量化到[-5,5]的区间内,设定输出转角的语言变量Ф的论域为[-5,-4,-3,-2,-1,0,1,2,3,4,5],定义输出转角语言变量的语言值为NB(右转大角度),NM(右转中角度),NS(右转小角度),0,PS(左转小角度),PM(左转中角度),PB(左转大角度),CANNOT(不能决策)。同理,设输出速度的语言变量V的论域为[0.03,0.5],定义输出语言变量的语言值为VSB(速度最小)、VSM(速度小)、VSS(速度较小),VM(速度适中),VBS(速度较大),VBM(速度大),VBB(速度最大)。

5.2 模糊规则

模糊规则反映了输入和输出变量之间的关系,模糊规则库是模糊系统的核心。模糊系统的其他组成部分都是以一种合理而有效的方式来执行这些规则。由于L1与R1位于机器鱼头部的正前方,探测范围有限,无法判断哪一侧离障碍物更近,所以当L1,R1探测到障碍物与机器鱼之间的距离经模糊化后,得到相同的模糊语言值时,输出模糊语言值为CANNOT(不能决策),由L2,R2转角模糊控制器决定下一步策略。表1~表3分别是L1,R1转角模糊控制器规则表、L2,R2转角模糊控制器规则表和速度模糊控制器规则表。

5.3 清晰化

清晰化是指将模糊推理后得到的模糊语言值转换为用作控制的精确值。清晰化的过程可采用重心法[12]实现。通过重心法对模糊控制量进行处理得到精确的转角值和速度值来控制机器鱼避障。

6 仿真结果

根据上述方法开发仿生机器鱼的三维避障系统,仿真结果如图10所示,由图10可以看出,机器鱼能够自主地、安全地避开障碍物,顺利地到达目标点。

7 结语

相比用实体机器鱼研究避障能力,使用用于避障研究的仿生机器鱼三维仿真系统更能有效地检测避障算法而且还能减少许多费用和难度。并且通过仿真结果可得,基于VC++与Open GL构建的三维避障仿真系统能够逼真和可靠地模拟实际情况,这样为研究机器鱼避障能力提供了很方便的平台。同时,它也为今后制造实体机器鱼来探查高原湖泊环境提供了基础,减少了很多复杂的工作。

参考文献

[1]马荣华,杨桂山,段洪涛,等.中国湖泊的数量,面积与空间分布[J].中国科学:地球科学,2011,41(3):394-401.

[2]刘蕾,臧淑英,邵田田,等.基于遥感与GIS的中国湖泊形态分析[J].国土资源遥感,2015,27(3):92-98.

[3]刘英想,刘军考,陈维山,等.新型两关节机器鱼的研制及实验研究[J].船舶工程,2008,30(4):28-31.

[4]张叶蒙.多仿生机器鱼协调控制研究[D].天津:天津大学,2010.

[5]FANG X,HE H,NI Z,et al.Learning and control in virtual reality for machine intelligence[C]//Proceedings of 2012 Third International Conference on Intelligent Control and Information Processing(ICICIP).[S.l.]:IEEE,2012:63-67.

[6]张璐.基于虚拟现实技术的用户界面设计与研究[D].上海:东华大学,2013.

[7]SHREINER D,SELLERS G,KESSENICH J M,et al.Open GL programming guide:the official guide to learning Open GL,version 4.3[M].[S.l.]:Addison-Wesley,2013.

[8]WRIGHT R S,HAEMEL N,Jr,SELLERS G,et al.Open GL超级宝典[M].付飞,李艳辉,译.5版.北京:人民邮电出版社,2012.

[9]SMELIK R M,DE KRAKER K J,TUTENEL T,et al.A survey of procedural methods for terrain modeling[C]//Proceedings of the CASA Workshop on 3D Advanced Media in Gaming and Simulation(3AMIGAS).[S.l.]:CASA,2009:25-34.

[10]YAO Hongge.The realization of flight simulation system based on Open GL[C]//Proceedings of 2010 Second International Conference on Information Technology and Computer Science(ITCS).[S.l.]:IEEE,2010:198-201.

[11]叶秀芬,关红玲,张哲会,等.用于避障研究的微型仿生机器鱼三维仿真系统[J].中国图象图形学报,2011,16(3):462-468.

[12]孟廷豪.基于模糊控制的机器人避障研究[D].太原:中北大学,2013:49-50.

三维避障仿真系统 篇2

河道堤防工程管理三维仿真系统的设计与开发

以湖北省长江河道堤防工程管理三维仿真系统开发为背景,介绍基于ArcEngine的.大数据量河道三维仿真系统的设计与实现.采用地理信息系统技术、遥感技术、虚拟现实技术、数据库技术、多媒体技术、互联网技术、面向对象系统设计与分析技术,使系统具有体系结构清晰合理、技术先进、扩展性好、查询方便、三维场景数据量大、功能强大等特点, 能有效地为长江堤防管理单位的高效管理、研究和规划服务,提升湖北省河道堤防管理的现代化管理水平, 加快以“数字长江”为目标的信息化建设步伐,对其他大数据量三维地理信息系统的实现具有较高的参考价值.

作 者:何保国 邱儒琼 作者单位:湖北省基础地理信息中心,武汉,430071刊 名:测绘科学 ISTIC PKU英文刊名:SCIENCE OF SURVEYING AND MAPPING年,卷(期):200934(4)分类号:P208关键词:三维地理信息系统 堤防 长江 ArcEngine

三维避障仿真系统 篇3

关键词:输电线路;运行与检修;虚拟现实;仿真培训

输电线路运检工作的业务范围涵盖了超特高压交、直流所有电网的运行维护和检修,具有高智力、高技能、高风险等特点,对工作人员的理论素质和操作技能都有很高的要求,但是目前针对运检工作的各种培训方式都存在一定的缺陷,极大地限制了培训效果。为弥补传统培训的不足,本文提出了基于虚拟现实技术的输电线路运检的三维仿真培训系统。

近年来,虚拟现实技术逐步应用在电力培训中,如文献[1]提出了一种变电站仿真培训系统,文献[2]设计开发了有关电力安全的仿真培训系统,但是这些系统仅限于仿真软件的开发,交互性不强且培训模式单一,使得培训效果没有得到较大的提升。本文提出的培训系统既具有虚拟现实技术的全部特点,又提出了完整的培训模式。在实际培训中由理论知识到实际操作,由学习到考核,建立了完整的培训体系。培训人员可在循序渐进的学习过程中全面提升自身的理论素质和技能水平,大大增强了培训的效果。

一、系统特征及功能

1.系统特征

虚拟现实的应用范围非常广泛,包括科学可视化、设计与规划、教育与培训、遥感操作、艺术与娱乐等领域。[3]在输电线路运行与检修的培训中采用虚拟现实技术能为培训人员提供的视觉、听觉和触觉反馈,得到几近真实的感受,与现实教育培训基地或设施相比,输电线路运检三维仿真培训系统具有仿真性、可操作性、对应性的特征,能够在保证培训人员安全的前提下提升培训效果。具体特征如下:

(1)仿真性。仿真性是指培训系统实现了对输电线路运检的工作现场、工作流程及操作动作的全仿真。受训者在构造的输电线路虚拟场景中,通过自由变换虚拟场景的视角,可以浏览到输电线路的所有元件以及虚拟人物的动作细节,仿真了整个作业现场;通过体感设备,培训者可以做出动作与虚拟设备发生交互,从而仿真了作业中的实际操作。系统的培训效果与仿真性有直接关系,只有在如同真实的环境中进行实际操作才会使培训人员尽可能学习到作业的关键技术、危险点等。

(2)可操作性。可操作性是指仿真培训系统采用与实际工作中相对应的操作设备,这些设备为培训人员提供了接近真实的操作方式。[4]如受训者在培训系统中正在进行某项停电检修作业,作业中需要工器具时培训人员能够抓取虚拟的工器具,并使用工器具对虚拟设备进行操作。可操作性是虚拟培训系统实际运用的必备特性,培训人员可以主动地在虚拟的输电线路工作环境中进行作业,通过对感受到的信息进行思考和分析,形成自己想要的动作或策略,通过操作设备反馈给系统,实现与系统的交互和控制。[5]

(3)对应性。对应性是指培训系统是有针对性的培训:一是培训方式对应实际工作,现在输电线路运检三维仿真培训系统中按照不同的电压等级、不同的作业项目进行输电线路运检工作的讲解,具体作业项目如运行工作中的线路定期巡视、测量工作中接地电阻测量、停电检修工作中500kV停电清扫污秽绝缘子、带电作业中500kV带电更换单片绝缘子。二是培训对象对应不同人员的自身状况,对不同基础、能力和培训状况的学员开展针对性的培训。

2.系统功能

输电线路运行与检修三维仿真培训系统的主要功能模块的划分如图1所示。主要包括基础分析、仿真训练、考核评价、培训管理。培训是一种由理论知识到实际操作、从学习到考核的循序渐进的过程。

(1)基础分析。基础分析借助输电线路的三维仿真场景,将典型500kV线路的组成包括导地线、绝缘子、金具、杆塔、基础、接地装置等进行一一展现及介绍,让学员在进实操培训前,学习掌握到输电线路基础知识。

(2)仿真训练。仿真训练主要帮助培训人员提升操作技能,是通过具体的作业项目进行培训的,如测量工作中接地电阻测量。培训人员通过控制设备与虚拟场景进行交互,掌握作业流程、作业关键点以及危险点等。此时可进行单人操作练习,也可以利用网络技术进行多人的协同作业,在仿真作业的同时,培训人员可以随时进行资料查询,包含作业指导书、各项规程标准等资料。

(3)考核评价。考核评价的目的是在阶段性培训后对学员的学习情况进行评定,包括理论考试和实操考试。理论考试主要包含作业指导书、电力安全作业规程、工器具使用等基本内容;实操考试是在仿真训练的基础上开发的考试模式,对学员的各项操作进行考核,评估学员的实操水平。

(4)培训管理。培训管理的目的是保证仿真培训工作的有序开展,贯穿于整个培训过程。培训管理主要功能包括:账号管理、考核评定和资料管理。各项功能由管理员控制,主要用于建立学员学习档案,管理学员信息和成绩,方便教师设置考试科目、考试内容,管理员也可以随时编辑,补充资料查询功能模块的内容。

二、系统开发与实现的关键技术

虚拟场景是构建输电线路运检三维仿真培训系统的基础,一个逼真的三维模型场景能对使用者构成强大的视觉冲击,所建立的场景越真实培训效果愈好。本系统利用 3ds MAX 平台进行输电线路各元件模型的构造,主要采用层次建模法,即先设计出模型的各种零部件,然后进行整体装配。同时,通过 3ds MAX 的材质和贴图系统、灯光系统等提高三维模型的真实度。

虚拟场景要想引人注目,必须是动态可交互的。[6]本文基于Quest 3D搭建整个仿真系统的底层平台,将所建立的三维模型导入到Quest 3D中,利用Quest 3D开发各项功能模块实现培训系统的交互功能。在功能模块的开发中需要解决各项具体问题,如碰撞检测问题就是检测不同模型是否发生了碰撞,就像现实中两实体之间是不会发生交叉重叠的一样,在虚拟场景中两三维模型之间也不能发生穿透的现象。[7]在平台中采用层次包围盒方法进行实时碰撞检测,其基本思想是通过建立对象的包围盒层次来逐渐逼近对象的几何模型,从而用体积略大而形状简单的包围盒代替复杂的几何对象参加碰撞检测,通过包围盒间的相交测试快速地排除不相交的基本几何元素,以减少相交测试的次数。[8]利用Quest 3D进行实时检测的精确性及响应速度完全满足于本系统。通过解决碰撞问题系统将大大增加真实感。最终表现如图2所示,图中展现的是在500kV带电更换单片绝缘子的作业项目中,等电位电工进入等电位的动作。

三、结语

将虚拟现实技术应用到输电线路运检的三维仿真培训方法突破了传统教学方法的局限,具有实用性、互动性、娱乐性等特点,是虚拟现实技术在电力培训上的具体应用。通过完成对三维模型建模、场景搭建、碰撞检测等等问题的处理,建立输电线路运检三维培训系统,其高度仿真性、操作性以及对应性的特点提高了培训的效果,但是目前限于计算机软、硬件技术水平,虚拟现实系统还只能达到部分真实感的程度。随着技术的不断发展以及电力行业对安全的重视程度,虚拟现实技术在该领域的应用会将更加深入,仿真培训方式也将逐步成为输电线路运检三维仿真培训的重要手段。

参考文献:

[1]漆晓霞.基于虚拟现实的变电站仿真培训系统的研究[D].北京:华北电力大学,2009:1-58.

[2]陈奇朋,罗滇生,胡强,等.基于虚拟现实技术的电力作业仿真培训系统[J].计算机工程与应用,2012,(3).

[3]李锦涛,刘国香,等.虚拟环境技术[M].北京:中国铁道出版社,1996.

[4]陈定方,罗亚波.虚拟设计[M].北京:机械工业出版设,2002:82-106.

[5]周泽伟,冯毅萍,吴玉成,等.基于虚拟现实的流程工业过程模拟仿真系统[J].计算机工程与应用,2011,4(10):204-16.

[6]B Anderson,A McGrath.Strategies for Mutability in Virtual Environments[C].In:J Vince,R Earnshaw eds.Virtual Worlds on the Internet,Los Alamitos. Calif:IEEE CS Press,1988:123-134.

[7]刘检华,姚瑁,宁汝新,等.基于虚拟装配的碰撞检测算法研究与实现[J].系统仿真学报,2004,16(8):1775-1778.

[8]马登武,叶文,李瑛.基于包围盒的碰撞检测算法综述[J].系统仿真学报,2006,18(4):1058-1064.

上一篇:财务会计模式下一篇:学教育