基于Unity3D的多旋翼飞行器模拟训练系统设计

DOI: 10.11991/yykj.202102002
基于Unity3D 的多旋翼飞行器模拟训练系统设计
马忠丽,吴丽丽,李嘉迪,曾玥涵,赵俊楠
成都信息工程大学 控制工程学院,四川 成都 610225
摘    要:为帮助不同层次多旋翼飞行器爱好者更好地掌握飞行器飞行控制技巧,利用Unity3D 设计开发一套多旋翼飞行器飞行训练仿真系统,系统包含技能训练、挑战训练和考级训练3种训练模块。首先构建不同训练模式下的虚拟运动场景,然后通过重力与惯性模拟、碰撞和边界检测以及飞行视角切换等手段,完成飞行器虚拟物理系统的设计,最后在建立微型四旋翼、四旋翼、八旋翼3类多旋翼飞行器3D 模型基础上,设置键盘和遥控器2种外部输入设备,模拟飞行器升降、俯仰、偏航飞行运行姿态及姿态变化等功能,实现仿真运动控制功能。测试结果表明该系统能很好地满足多旋翼飞行器飞行训练要求。
关键词:多旋翼;Unity3D ;虚拟现实;训练系统;运动场景;物理系统;仿真运动;人机交互
中图分类号:V279+.2;TP391.9                      文献标志码:A                      文章编号:1009−671X(2021)03−0111−07
Design of simulation training system for multi-rotor aircraft
based on Unity3D
MA Zhongli, WU Lili, LI Jiadi, ZENG Yuehan, ZHAO Junnan
School of Control Engineering, Chengdu University of Information Technology, Chengdu 610225, China
Abstract : In  order  to  help  different  levels  of  multi-rotor  aircraft  enthusiasts  better  grasp  the  flight  control  skills  of aircraft, a  multi-rotor  aircraft  simulation  flight  training  system  was  designed  and  developed  by  Unity3D. The  system includes  three  training  modules: skill  training, challenge  training  and  grade  examination  training. Firstly, the  virtual motion  scenes  under  different  training  modes  are  constructed, and  then  the  virtual  physical  system  of  the  aircraft  is designed  by  means  of  gravity  and  inertia  simulation, collision  and  boundary  detection, and  flight  angle  switching.Finally, based on three kinds of 3D models of multi-rotor aircraft, including micro four-rotor, four-rotor and eight-rotor,two  external  input  devices  with  keyboard  or  remote  control, are  set  up. In  addition, the  flight  attitude  and  attitude changes of the aircraft are simulated, realizing the motion control function. The test results show that the system can meet the requirements of multi-rotor aircraft flight training.
Keywords: multi-rotor; unity3D; virtual  reality; training  system; motion  scene; physical  system; simulation  motion;human-computer interaction
在越来越多领域得到广泛应用的基于Unity3D (U3D)开发的虚拟仿真系统为学习者提供了丰富的学习环境和条件。Wang 等[1]
提出U3D 在虚拟仿真和虚拟现实等方面具有广泛应用的价值。Wang 等[2]
设计了基于Unity3D 的飞机飞行控制系统虚拟装配仿真系统,实现了虚拟装配和模拟飞机控制系统等,降低了学习成本。杨鑫科等
[3]
设计的
基于Unity3D 的虚拟反恐排爆机器人,实现了反恐排爆机器人结构认知、装配操作和运动控制等功能,有较好的沉浸性与交互性。从较早机电时代开始,飞行器模拟器就被运用到飞行员的飞行训练中。随着虚拟现实技术发展,模拟飞行训练
系统实现了接近真实系统的模拟效果[4]
。模拟系统一般利用计算机渲染与物理运算技术,生成逼真、动态的可交互虚拟训练环境,模拟飞行器实际运动飞行状态,再结合用户操作行为,使用户
沉浸到虚拟环境中[5]
。目前,飞行器模拟训练系
统已经被广泛应用到农业无人机灌溉操作训练[6]
电力电线无人机巡检操作训练[7]
和军事士兵无人
机探测的先行操作训练等领域上[8]
。针对多旋翼
收稿日期:2021−02−03.
基金项目:2019成都信息工程大学本科教改工程项目(BKJX
2019117).作者简介:马忠丽,女(满族),教授.
吴丽丽,女,硕士研究生.
玻璃钢拍门通信作者:吴丽丽,E-mail :mazl@cuit. edu. cn.
第 48 卷第 3 期应            用            科            技
Vol.48 No.32021 年 5 月
Applied  Science  and  Technology
May 2021
飞行器爱好者前期飞行操控训练要求,本文设计了基于U3D的多旋翼飞行器飞行训练仿真系统,采用Solidworks制作多种类多旋翼飞行器模型,经CINEMA 4D渲染后导入U3D,通过运动场景虚拟、物理系统模拟、运动控制仿真和外部输入设备操控,实现了多旋翼飞行器飞行训练沉浸式体验。
1    系统总体架构及设计流程
1.1    系统总体架构
系统由仿真软件端和操作硬件端2部分组成,软件端包含技能训练、挑战训练和考级训练3种模式,每种模式都由虚拟运动场景、模拟物理系统和仿真运动控制3大功能要素构成;操作硬件端包括键盘操作和遥控器2种外部输入方式。系统总体构架如图1所示。
技能训练挑战训练
人机交互
考级训练
图1    多旋翼飞行器飞行训练仿真系统总体架构图
1.1.1  3种训练模式
技能训练:针对飞行器初学者设定,目的是使多旋翼飞行器操作者熟悉环境信息,训练飞行器用遥控器或键盘操作的操作飞行技巧,用户可以在场景中任意飞行,没有任何飞行路线和考核要求。
挑战训练:针对飞行器有一定经验的学习者,目的是通过逐级训练使操作者熟练掌握飞行器操作飞行技巧,此模式以关卡形式为用户提供训练。
考级训练:针对有飞手考级需求的多旋翼飞行器操作者,目的是模拟考级飞行路线要求,使多旋翼飞行器操作者熟悉飞行器考级流程,并熟练掌握考核要求的操作技巧。
1.1.2  三大功能要素
虚拟运动场景:作用是虚拟飞行运动场景,场景按训练难度等级设置,难度越高设置的障碍物越多、越复杂,用来帮助操作者练习飞行操作技巧、提高操作水平。
模拟物理系统:作用是虚拟操作多旋翼无人机,完成无人机与周围环境(如树木、建筑物和地表等)障碍物的碰撞等行为的物理交互,给予用户最真实的操作反馈,增加训练趣味性[9]。
仿真运动控制:作用是模拟多旋翼无人机的飞行动作,包括起降、俯仰、横滚、偏航和悬停等,给予用户操控沉浸体验感,提高训练效果[10]。1.1.3  2种操控方式
多旋翼飞行器操控包括键盘和遥控器2种形式:键盘方式是采用台式或笔记本电脑的键盘完成的;遥控器方式可以采用多旋翼飞行器专门配置的遥控器,也可以采用游戏用手柄;具体操作方式的选择可以通过U3D软件进行设置。
1.2    系统设计流程
系统设计流程如图2所示。
图2    系统设计流程图
ito粉2    模型制作和虚拟运动场景设计
2.1    多旋翼飞行器三维模型制作
主流多旋翼无人机可分为四旋翼、六旋翼、八旋翼3类,它们结构相似,都是将多旋翼对称地安装在机架四周,且处于同一高度平面[11]。系统采用Solidworks制作了微型四旋翼、四旋翼、八旋翼3类wrl格式的模型,如图3所示。
然后将wrl格式模型导入CINEMA 4D中进行渲染并生成fbx格式文件,最后导入U3D中。
2.2    虚拟运动场景设计
虚拟运动场景的设计借助U3D引擎的地形系统,自定义地形地貌,再使用光照系统提供真实的光照效果,最后配以各种三维立体模型,如树木、石块和房屋建筑等,搭建出完整的训练运动场景[12]。
2.2.1  地形地貌场景的虚拟实现
使用U3D内置地形系统Terrain绘制飞行训练场地地形,包括地形的面积、高度和起伏等。地形纹理采用纹理贴图和法线贴图2种模式,既使场景物体表面看上去凹凸不平更为真实,又能表现场景地形地质,如草地、泥地和沙地等特征。上述功能实现主要使用Terrain中的“Paint Terrain”工具。如,将绘制植被的三维模型分别拖入“Trees”和“Detail”中,选择Terrain的“Paint Trees”可以绘制树木,选择“Paint Detail”可以绘制花草。
·112·应            用            科            技第 48 卷
(a) 微型四旋翼模型
(b) 四旋翼模型
(c) 八旋翼模型
图3    多旋翼飞行器物理模型
2.2.2  天空盒和光影场景的虚拟实现
天空盒是光照系统(Lighting)中的一个属性,是全景视图,通常在场景中最后被渲染,并且旋转以匹配相机(Camera)的当前方向。在U3D中,默认用平行光光源模拟现实世界中太阳,给场景带来真实光影效果。在光照系统中添加完天空盒之后,会带来微弱的光影效果,如晴天、阴天和黄昏等。根据多旋翼飞行器飞行训练要求,绘制了海岛沼泽地、电力巡检和室内空间3类场景及其光影效果,如图4所示。
2.3    3种训练模式的虚拟场景测试
根据需求设计了技能训练、挑战训练和考级训练3种训练模式的虚拟运动场景。连续供墨打印机
技能训练包括自由飞行、电力巡检和室内飞行3种作业模式,提供沼泽地、室外电力巡线和室内空间3种训练场景,如图5所示。虚拟飞行效果如图5(a)
所示。
(a) 海岛沼泽地
(b)
电力巡检
(c) 室内空间
图4    地形地貌场景绘制和天空光影实现
挑战训练设计了关卡性质的场景,包含4个关卡,各包含4种飞行路线:“8”字环绕、“Z”字上升、山地起伏和螺旋上升,只有正确完成上一关卡才能进入到下一关卡,效果如图5(b)所示。
考级训练为用户提供多旋翼无人机飞行技巧等级考试要求的8种飞行训练路线(垂直升降、悬停、自旋、垂直三角和机头向外盘旋等),用户可参考等级考试路线图进行飞行训练,效果如图5(c)所示。
3    物理系统和运动控制的模拟实现3.1    多旋翼飞行器物理系统的模拟实现
无人机与周围环境的物理交互是通过物理检测实现的,在U3D中使用内置Physx物理引擎来完成。Physx是目前使用最为广泛的物理引擎,可以通过此引擎高效、逼真地模拟刚体碰撞、车辆驾驶、布料和重力等物理效果,使画面更加真实生动。
3.1.1  重力与惯性的模拟实现
重力和惯性的模拟通过添加U3D引擎中最基础、最重要组件——刚体(Rigidbody)组件实现。添加刚体组件后会默认使用重力,并进行重力计算,实现重力模拟;物理系统添加刚体组件后可
第 3 期马忠丽,等:基于Unity3D的多旋翼飞行器模拟训练系统设计·113·
以依据刚体的质量(Mass)和空气阻力(Drag)计算出刚体的速度衰减,从而实现运动惯性模拟。
(a)
技能训练
(b)
挑战训练
(c) 考级训练
图5    多旋翼飞行器虚拟运动场景虚拟测试图
3.1.2  物体碰撞和边界检测的模拟实现
在模拟训练系统中,有地形和其他物体2类碰撞器。地形在创建时会自动添加TerrainCollider (地形碰撞器),其他物体则需根据各自形状和大小,手动添加相应类型的碰撞器,如BoxCollider (盒子碰撞器)、SphereCollider(球形碰撞器)等。添加完碰撞器后,通过设置碰撞器的属性IsTrigger (触发器)决定2个物体是否产生碰撞。对于形状复杂的物体,可以同时挂载多个碰撞器,然后拼装成需要的形状。设置完碰撞器后,即可在脚本中对碰撞进行检测,方法为OnCollisionOnEnter()(碰撞检测),当无人机与物体碰撞时U3D 会自动
调用此方法[13]微波加热器
边界检测主要用来限定飞行,控制范围。边界检测的方法是:在训练场地四周边缘处,一定高度的天空以及水面共设置了6组触发器,将训练场地包裹在其中,每组触发器由一前一后2个小触发器构成,当无人机进入前一个触发器时,系统会弹出提示窗口告知用户即将达到控制边
界。若继续边界方向飞行,进入后一个触发器则判定无人机坠毁。
设计的四旋翼无人机的碰撞器如图6(a)所示,复杂环形障碍物的碰撞器设计如图6(b)所示,训练场地的边界触发器如图6(c)所示。
(a)
四旋翼碰撞器
(b) 复杂环形碰撞器
(c) 边界检测
图6    多旋翼飞行器物体碰撞和边界检测的模拟
3.1.3  视角切换的模拟实现
为使用户能够在操控无人机时更好地了解多旋翼无人机的运动特性,模拟训练系统设计了第一人称视角和跟随式第三人称视角,两者可自由切换。
实现方式是在主摄像机(MainCamera)外创建2个虚拟相机(VirtualCamera),如图7(a)所示。一个放置在无人机正下方,作为第一人称;另外一个放置在无人机的正后上方,作为跟随式第三人称。进入训练场景时,默认处于跟随式第三人称视角,即只有正后上方虚拟相机被激活;用户可以利用键盘“V ”键或者手柄“RB ”右肩键,调用SetActive()(激活设置)切换视角,即激活正下方虚拟相机关闭正后上方虚拟相机,进入第一人称视角。无人机第一人称、跟随式第三人称视角如图7(b)和图7(c)所示。
·114·应            用            科            技第 48 卷
(a)
虚拟相机
(b)
第一人称视角
(c) 第三人称视角
图7    多旋翼飞行器视角切换的模拟
3.2    多旋翼飞行器运动控制的仿真实现
3.2.1  升降和俯仰运动的仿真
飞行器升降、前后、左右和悬停等运动通过添加刚体组件(Rigidbody),然后给刚体施加不同方向和大小的力来实现。调用施加力(AddForce())来实现,力大小不变,方向结合图8中的U3D 场景的世界坐标系,依据用户输入计算得到。
Persp
y
z
x
图8    世界坐标系
U3D 会根据用户输入的方向返回值1或者−1,如前、上、右方向返回值1,后、下、左方向返回值−1。用返回的值乘以基准移动方向,便可以计算出正确的移动方向。
3.2.2  偏航运动的模拟
在U3D 中,任何存在于场景中的物体都带有一个变换组件(Transform),偏航运动可以通过修
改Transform 的旋转(Rotation)属性进行模拟。通过U3D 接收用户控制输入,依据输入确定旋转的方向,再调用Rotate()方法,给定旋转轴(Y 轴)、旋转方向和旋转速度即可。Transform 组件属性检视面板如图9所示。
Transform
Position
Rotation
Scale氮封装置
X    1 584.700−39.4531
1
1
66.828  1 711.0Y Z Z Z Y Y X X
图9    Transform 组件属性检视面板
3.2.3  姿态变化的模拟
无人机姿态变化时要求不改变无人机当前运动的飞行方向,实现方法是:在场景中创建当前无人机的父物体,父物体负责移动,无人机只负责姿态变化。以俯仰运动为例,根据父物体移动方向,确定无人机倾斜的方向,然后调用Rotate()方法,改变无人机Transform 的rotation 属性,使其朝运动方向倾斜,体现了无人机姿态变化的模拟。四旋翼无人机右飞、前飞时姿态变化如图
10所示。
图10    四旋翼无人机右飞和前飞时姿态变化
4    外部输入与人机交互功能的实现
4.1    外部输入设备的设置
重新随机进程
用户可通过键盘鼠标或遥控器(手柄)2种外设控制器传入控制信号。在U3D 的项目设置(Project Setting)界面选择输入(Input)配置,将每个轴与外设键位配对,U3D 会自动接收外设对应按键的输入,并转换为−1到1的值,通过获取轴信息方法(Input.GetAxis())获取到该值,然后用到飞行器的控制中。遥控器和键盘外设输入设备控制方式如图11所示。以键盘为例:同时按下“Q+R ”表示解锁飞行器,按下“W 、S 、A 、D ”分别表示飞行器前进、后退、左飞、右飞,按下“上、下、左、右”箭头分别
表示飞行器加油、减油、左偏航、右偏航。
前进后退
右飞
加油减油
左偏航右偏航
左飞切换视角
Q W R
D
S A
图11    外设输入设备的设置与控制
第 3 期马忠丽,等:基于Unity3D 的多旋翼飞行器模拟训练系统设计·115·

本文发布于:2024-09-22 06:57:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/322906.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:训练   飞行器   飞行   旋翼   系统
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议