一种基于UE4游戏引擎的三光吊舱仿真方法

文档序号:26407673发布日期:2021-08-24 16:22阅读:434来源:国知局
一种基于UE4游戏引擎的三光吊舱仿真方法
本发明属于无人机系统仿真
技术领域
,具体涉及一种基于ue4游戏引擎的三光吊舱仿真方法。
背景技术
:三光吊舱仿真是指通过计算机对三光吊舱进行模拟的技术,“三光”是指光学相机、激光测距仪和红外相机,且三光同轴,受三自由度的转动平台控制。三光吊舱是无人系统侦查和探测的重要装置,被广泛用于海陆空侦查、探测中,载体可以是无人车、无人艇和无人机。通过对三光吊舱的仿真计算,能够为无人系统提供大量的训练数据。三光吊舱仿真模型属于无人机系统仿真中的传感器模型,对无人机前方的光学场景、目标距离和红外场景进行仿真计算。由于现代游戏引擎ue4和unity具备优秀的渲染效果、高效的光线追踪算法等优势,因此它们广泛用于无人机系统的场景仿真。三光吊舱仿真能够提供逼近真实的传感器数据,这些数据可直接用于训练无人机系统,在保持数据可靠性的同时,大大降低研究成本、缩短了研发周期。当前,无人机系统中多采用半实物、实物仿真获取传感器数据,通常无人机的三光吊舱采用三光同轴结构,可实现偏航、俯仰和滚转三个方向的转动,能测量出吊舱在运动载体上的姿态信息,反馈给控制系统,结合无人机上传感器数据,实现对目标的捕捉和跟踪。这种方法获取数据容易受到实验条件的限制,人力、时间和经费成本较高。利用现代游戏引擎的光线渲染和碰撞检测等技术,不但可以较真实地模拟三光吊舱的探测和感知功能,还具备任意构建场景、敏捷开发等优势。技术实现要素:(一)要解决的技术问题本发明提出一种基于游戏引擎的三光吊舱仿真方法,以解决如何利用ue4游戏引擎实现吊舱控制、光学相机拍照和变焦、激光测距以及红外相机拍照和变焦功能的技术问题。(二)技术方案为了解决上述技术问题,本发明提出一种基于ue4游戏引擎的三光吊舱仿真方法,该仿真方法包括如下内容:(1)吊舱控制仿真吊舱采用三光同轴结构,即吊舱同时控制光学相机、激光测距仪和红外相机的姿态;首先在游戏引擎中采用左手坐标系建立以无人机中心为原点的相对坐标系o-frd;其中,机头方向为f,右翼方向为r,垂直尾翼朝下的方向为d;初始状态下,吊舱和无人机保持同一姿态,吊舱自身坐标系o-xyz与o-frd对齐,吊舱绕z轴顺时针,即沿着z轴方向看为顺时针,旋转角度为偏航角α,吊舱绕y轴旋转角度为俯仰角β,吊舱绕x轴顺时针旋转角度为滚转角γ;初始状态下,吊舱坐标为p0,偏航角为α0,俯仰角为β0,滚转角为γ0;模拟吊舱以角速度w°/s旋转到角度为(α1,β1,γ1),且满足条件-180°<α1<180°、-90°<β1<90°、-180°<γ1<180°;吊舱控制仿真步骤如下:s1、将真实世界中的角速度转换为仿真世界的角速度,若墙钟时间1s为仿真时间的60帧,则仿真世界吊舱角速度ω为:s2、以“偏航角-俯仰角-滚转角”的顺序进行吊舱姿态旋转,即先绕x轴旋转α1-α0,再绕y轴旋转β1-β0,最后绕z轴旋转γ1-γ0;s3、根据以下公式计算绕x轴旋转α1-α0需要的帧数n:从第1帧到第n-1帧之间,设当前帧为n,1≤n≤n-1,则当前帧n的偏航角的目标角度αn为:αn=α0+nω设置吊舱偏航角为αn,通过游戏引擎实现该角度旋转;当n=n时,设置吊舱的偏航角为α;s4、根据以下公式计算绕y轴旋转β1-β0所需帧数m:从n=n+1到n=n+m-1,目标俯仰角βn为:βn=β0+(n-n)ω设置吊舱的俯仰角为βn;当n=n+m时,设置吊舱的俯仰角为β;s5、根据以下公式计算绕z轴旋转γ1-γ0所需帧数l:从n=n+m+1到n=n+m+l-1,目标滚转角γn为:γn=γ0+(n-n-m)ω设置吊舱的滚转角为γn;当n=n+m+l时,设置吊舱的滚转角为γ;(2)光学相机仿真利用游戏引擎的图形渲染组件进行光学相机拍照仿真;(3)激光测距仿真利用游戏引擎的光线投射和碰撞查询组件进行激光测距仿真;(4)红外相机仿真使用游戏引擎的场景捕捉组件进红外相机拍照仿真。进一步地,光学相机拍照仿真的具体步骤如下:s1、场景构建:在ue4中构建光学成像所需场景,包括地形、光照、环境和目标;s2、光学相机参数设置:包括光感元件参数、一倍焦距、图像分辨率、gamma值;其中,设一倍焦距为f1,光感元件中心到竖边和横边的距离为dx和dy,根据以下公式计算得出相机的内参矩阵e:通过ue4提供的camera类接口设置输出图像分辨率为960×640、gamma值为3;根据以下公式,将焦距倍数n转换成视场角:水平视场角fovx为:垂直视场角fovy为:s3、渲染成像:根据步骤s2提供的光学相机参数,利用ue4的场景捕捉和画布渲染组件共同对相机视场内的光线进行渲染成像;首先根据相机视场角确定场景捕捉范围,然后创建960×640的画布,更新画布资源,最后通过光线渲染产生二维bmp格式图片;s4、格式转换和压缩:利用ue4的imagewrapper库,将二维bmp格式图片转换成不同格式的图片,并设置压缩率。进一步地,使用ue4的光线投射和碰撞查询组件进行激光测距仿真,具体步骤如下:s1、获得激光测距仪的自身坐标p0,根据吊舱姿态得到激光发射的方向向量l,已知激光测距最大距离为d,得到线段的终点p1;通过以下参数方程求解线段上的任意一点p(t):p(t)=p0+tdl,t∈[0,1]s2、使用ue4的碰撞查询组件获得最早的碰撞点,即与p0在l方向上最近的碰撞点,或者t的最小值tmin对应的点,从而计算出激光测距仪与目标的距离p(tmin)。进一步地,使用ue4的场景捕捉组件进红外相机拍照仿真,具体步骤如下:s1、预处理:使用场景捕捉组件的getallactorofclass()函数从游戏世界中获得各个类的actor,即获得各种目标的属性;然后使用场景捕捉组件的getcomponents()函数获取各个actor的网格,即将目标分成多个部分,对各目标的网格赋予合适的温度和辐射率ε;s2、红外相机参数设置:包括热感元件参数、一倍焦距、图像分辨率。其中,设一倍焦距为f1,光感元件中心到竖边和横边的距离为dx和dy,根据以下公式计算得出相机的内参矩阵e:通过ue4提供的camera类接口设置输出图像分辨率为960×640;根据以下公式,将焦距倍数n转换成视场角:水平视场角fovx为:垂直视场角fovy为:s3、后处理生成红外图像:根据步骤s1计算每个像素点的红外辐射能量以及步骤s2提供的光学相机参数,利用ue4的场景捕捉和画布渲染组件共同对相机视场内的红外辐射能量进行渲染成像。进一步地,步骤s3、后处理生成红外图像中,对相机视场内的红外辐射能量进行渲染成像的具体步骤如下:s3.1、根据以下公式,计算单位波长内的辐射能量:其中,ε为物体的辐射率;c1=3.74×10-12w·cm2;c1=1.44cm·k;e为自然对数底数;λ为波长,在0.1μm~14μm之间;s3.2、根据以下公式,计算总辐射能:其中,λ1=0.1μm、λ2=14μm;s3.3、通过高斯白噪声εw~n(0,1)模拟热噪声和johnson噪声,通过高斯噪声εf~n(0,1/f)来模拟抖动噪声;s3.4、根据以下公式,计算接收到的总能量:ereceive=eir+εw+εfs3.5、对s3.4计算得到的总能量进行归一化,得到红外图像。(三)有益效果本发明提出一种基于游戏引擎的三光吊舱仿真方法,包括吊舱控制仿真、光学相机仿真、激光测距仿真和红外相机仿真,通过控制吊舱实现三自由度旋转,逼近真实情况,能够降低实验成本。本发明能够获得可见光图片、红外图片与目标距离信息,通过多信息融合,可以用于训练无人机系统的信息感知能力。附图说明图1为本发明实施例中无人机坐标系和吊舱坐标系示意图;图2为本发明实施例中激光测距仿真原理示意图。具体实施方式为使本发明的目的、内容和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。本实施例提出一种基于游戏引擎的三光吊舱仿真方法,该三光吊舱仿真方法包括如下内容:(1)吊舱控制仿真吊舱采用三光同轴结构,即吊舱同时控制光学相机、激光测距仪和红外相机的姿态。如图1所示,首先在游戏引擎中采用左手坐标系建立以无人机中心为原点的相对坐标系o-frd。其中,机头方向为f,右翼方向为r,垂直尾翼朝下的方向为d。初始状态下,吊舱和无人机保持同一姿态,吊舱自身坐标系o-xyz与o-frd对齐,吊舱绕z轴顺时针(即沿着z轴方向看为顺时针)旋转角度为偏航角α,吊舱绕y轴旋转角度为俯仰角β,吊舱绕x轴顺时针旋转角度为滚转角γ。初始状态下,吊舱坐标为p0,偏航角为α0,俯仰角为β0,滚转角为γ0。模拟吊舱以角速度w°/s旋转到角度为(α1,β1,γ1),且满足条件-180°<α1<180°、-90°<β1<90°、-180°<γ1<180°。吊舱控制仿真步骤如下:s1、将真实世界中的角速度转换为仿真世界的角速度,若墙钟时间1s为仿真时间的60帧,则仿真世界吊舱角速度ω为:s2、以“偏航角-俯仰角-滚转角”的顺序进行吊舱姿态旋转,即先绕x轴旋转α1-α0,再绕y轴旋转β1-β0,最后绕z轴旋转γ1-γ0。s3、根据以下公式计算绕x轴旋转α1-α0需要的帧数n:从第1帧到第n-1帧之间,设当前帧为n,1≤n≤n-1,则当前帧n的偏航角的目标角度αn为:αn=α0+nω设置吊舱偏航角为αn,通过游戏引擎中提供的方式(如ue4中的setrotation()函数,unity中的rotate()方法)实现该角度旋转。当n=n时,设置吊舱的偏航角为α。s4、根据以下公式计算绕y轴旋转β1-β0所需帧数m:从n=n+1到n=n+m-1,目标俯仰角βn为:βn=β0+(n-n)ω设置吊舱的俯仰角为βn;当n=n+m时,设置吊舱的俯仰角为β。s5、根据以下公式计算绕z轴旋转γ1-γ0所需帧数l:从n=n+m+1到n=n+m+l-1,目标滚转角γn为:γn=γ0+(n-n-m)ω设置吊舱的滚转角为γn;当n=n+m+l时,设置吊舱的滚转角为γ。(2)光学相机仿真利用现代游戏引擎的图形渲染技术进行光学相机拍照仿真。以ue4为例,光学相机拍照仿真的具体步骤如下:s1、场景构建:在ue4中构建光学成像所需场景,包括地形(如山、河流、树木)、光照(如日光、灯光)、环境(如云、雾、雨)和目标(如车辆、行人)。s2、光学相机参数设置:包括光感元件参数、一倍焦距、图像分辨率、gamma值。其中,设一倍焦距为f1,光感元件中心到竖边和横边的距离为dx和dy,根据以下公式计算得出相机的内参矩阵e:通过ue4提供的camera类接口设置输出图像分辨率为960×640、gamma值为3。根据以下公式,将焦距倍数n转换成视场角:水平视场角fovx为:垂直视场角fovy为:s3、渲染成像:根据步骤s2提供的光学相机参数,利用ue4的场景捕捉和画布渲染组件共同对相机视场内的光线进行渲染成像。首先根据相机视场角确定场景捕捉范围,然后创建960×640的画布,更新画布资源,最后通过光线渲染产生二维bmp格式图片。s4、格式转换和压缩:利用ue4的imagewrapper库,将二维bmp格式图片转换成png、jpeg、bmp、ico、exr等格式的图片,并设置压缩率。(3)激光测距仿真使用ue4的光线投射和碰撞查询组件进行激光测距仿真,具体步骤如下:s1、如图2所示,获得激光测距仪的自身坐标p0,根据吊舱姿态得到激光发射的方向向量l,已知激光测距最大距离为d,得到线段的终点p1。通过以下参数方程求解线段上的任意一点p(t):p(t)=p0+tdl,t∈[0,1]s2、使用ue4的碰撞查询组件获得最早的碰撞点,即与p0在l方向上最近的碰撞点,或者t的最小值tmin对应的点,从而计算出激光测距仪与目标的距离p(tmin)。(4)红外相机仿真使用ue4的场景捕捉组件进红外相机拍照仿真,具体步骤如下:s1、预处理:使用场景捕捉组件的getallactorofclass()函数从游戏世界中获得各个类的actor,即获得车辆、树木、行人等目标的属性;然后使用场景捕捉组件的getcomponents()函数获取各个actor的网格,即将目标分成多个部分,例如,人可以分为四肢、身体、头部。通过查表1,对各目标的网格赋予合适的温度t(单位为k)、辐射率ε(单位为w/m2/sr)。表1常见物体的温度和发射率物体冬天温度(k)夏天温度(k)辐射率土2782880.914草2732930.958灌木2732930.986树2732930.952人2922980.985车辆2732930.80水2732930.96s2、红外相机参数设置:包括热感元件参数、一倍焦距、图像分辨率。其中,设一倍焦距为f1,光感元件中心到竖边和横边的距离为dx和dy,根据以下公式计算得出相机的内参矩阵e:通过ue4提供的camera类接口设置输出图像分辨率为960×640。根据以下公式,将焦距倍数n转换成视场角:水平视场角fovx为:垂直视场角fovy为:s3、后处理生成红外图像:根据步骤s1计算每个像素点的红外辐射能量以及步骤s2提供的光学相机参数,利用ue4的场景捕捉和画布渲染组件共同对相机视场内的红外辐射能量进行渲染成像。具体步骤如下:s3.1、根据以下公式,计算单位波长内的辐射能量:其中,ε为物体的辐射率;c1=3.74×10-12w·cm2;c1=1.44cm·k;e为自然对数底数;λ为波长,在0.1μm~14μm之间。s3.2、根据以下公式,计算总辐射能:其中,λ1=0.1μm、λ2=14μm。s3.3、热量传递到红外热感器件时,会受到johnson噪声、抖动噪声和热噪声的影响,通过高斯白噪声εw~n(0,1)模拟热噪声和johnson噪声,通过高斯噪声εf~n(0,1/f)来模拟抖动噪声。s3.4、根据以下公式,计算接收到的总能量:ereceive=eir+εw+εfs3.5、对s3.4计算得到的总能量进行归一化,得到红外图像。以上所述仅是本发明的优选实施方式,应当指出,对于本
技术领域
的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1