深空探测三维视景显示和碰撞检测研究

2019-01-07 05:21:48於晓珊胡勇王志胜
计算技术与自动化 2018年4期
关键词:碰撞检测小行星质心

於晓珊 ,胡勇 ,王志胜

(1.南京航空航天大学自动化学院,江苏南京211106;2.北京控制工程研究所空间智能控制技术重点实验室,北京100190)

长久以来,人们对深空探索充满了好奇与求知欲。近年来,小行星探测也成为深空探索的一个热点[1]。其独特的环境以及高难度性,困扰着技术的提升与实行,而虚拟现实技术的出现,有效改善了这一局面,可以模拟真实环境。针对探测器着陆小行星表面的过程,进行碰撞检测。对建模后的小行星以及探测器模型导入Matlab虚拟现实工具箱中,运用轨道动力学方程以及姿态动力学方程,模拟动态运动,从而进行轨迹跟踪;根据改进后的混合层次包围盒,通过结构设计的改进以及碰撞检测时间的改进,优化后比一般的碰撞检测算法更具有准确性和实时性。

1 三维建模

研究对象小行星Toutatis和探测器Viking,根据现有材料中的描述以及图片信息,采用Solidworks软件进行建模,其特征化以及参数化等特点,能够胜任复杂模型建模,在航空、船舶、模具等工业领域应用广泛[2]。

2.1 探测器建模

探测器整体长为5.08 m,结构较复杂,需要根据特征进行分区,规则部分可通过一般的拉伸、旋转操作;而对于不规则部分,则要考虑放样、扫描等操作;对于其他部分,可通过图片信息进行参考建模,但须注意彼此间尺寸比例。将探测器分为三层,顶层主要是中部正八边体相连的S波段抛物面天线、气象感测器、生物实验仪等多种科学仪器,中间承重部分则是燃料储箱、着陆发动机、伸缩臂式土样挖掘机等仪器,底部则是着陆使用的三个支撑脚。

1.2 小行星建模

小行星Toutatis的体积约为1.7×2.03×4.26 km3,最大长度是在(4.74 ± 0.475)km,其最大宽度是(1.95±0.195)km[3]。关于小行星的建模也同样需运用Solidworks软件中的ScanTo3D组件功能,进行以下步骤:

(1)将小行星的三维信息写入.txt文件,点击插件ScanTo3D,根据该三维信息进行点云生成;

(2)再采取网格化处理,处理后的模型进行曲面生成,最终实现实体化的生成。

1.3 三维场景建模

三维场景的设计则通过Matlab的虚拟现实工具箱,利用树结构设计场景图,有以下步骤:

(1)建立新的世界根节点,将小行星以及探测器模型经转换后生成的.wrl文件格式,导入虚拟现实工具箱中,作为该世界下的Transform节点,再加入Text Transform节点,记为初始时间Time节点;

(2)再加入Background节点,进行场景渲染,Viewpoint定义初始视角方位[0080]Tm,生成如下的三维场景,如图1所示:

图1 三维场景构建

2 轨迹规划

研究的是探测器着陆小行星的运动过程,考虑两者之间的距离相较于地球的距离非常小,可近似为非线性相对运动,轨迹较为稳定输出。

2.1 轨道动力学模型

定义两个坐标系,惯性坐标系OXYZ,质心O为地球中心,以赤道平面为基准,Z轴垂直于平面,Y轴进行右手系方向;小行星轨道坐标系LVLH(oxyz),质心在小行星的中心,轨道平面为基准,z轴垂直于平面,y轴进行右手系方向,如图2所示:

图2 一般坐标系表示

图中探测器质心为p,惯性坐标系下rd为小行星质心o到地球质心O的距离矢量,rp为探测器质心p到地球质心O的距离矢量,rc为探测器与小行星两者质心的距离矢量,有rc=rp-rd,根据惯性方程式[4]

2.2 姿态动力学模型

考虑探测器下降阶段,为了更好地描述探测器的姿态,为克服变换矩阵存在奇异的现象,姿态动力学方程写成

考虑探测器姿态动力学原理,得探测器基于本体坐标系的刚体动力学模型为

其中Ic为探测器的转动惯量矩阵,Ic=diag(Ix,Iy,Iz),ωc×对称矩阵表示为

Tu=[dxdydz]T∈R3是探测器的三轴控制力矩,Mu=[MxMyMz]T∈R3是小行星的引力力矩。

2.3 相对位置控制

探测器着陆小行星运动过程中,两者之间的距离远远小于轨道半径,通过近似线性化模型来描述两者之间的相对运动,可将公式(1)变化为以下表达式:

式中 kx、ky、kz均为常数,考虑最大时延 td,将上式改写成

参考文献[5],上式可近似为齐次方程,其中进行采样过程中,保证每一个采样节点所对应的输出均能有效跟踪理想情况,达到轨迹跟踪的效果。

设表1为小行星轨道参数:

表1 小行星轨道参数表

表1中小行星轨道参数分别是偏心率e、初始真近点角θ、半长轴a、轨道倾角i、生交点经度Ω以及近地点俯角w。

设在小行星轨道坐标系下,探测器下降的初始相对位置是[0m-30m 10m]T,初始的四元数qc=[0001]T,初始角速度ωc=[111]T(rad/s),转动惯量由以上各参数绘制如下图,探测器探测小行星的轨迹图3:

图3 小行星探测轨迹图

加入最大时延后能较好地轨迹跟踪,根据以上信息,对Matlab虚拟现实工具箱中的各节点赋值初始化后,完成下降着陆小行星的运动过程。

3 碰撞检测设计与实现

不同的应用场景其复杂程度以及碰撞模拟量均是不同的,针对本文的研究对象,如若用一般的包围盒,其精确度不符合要求,不能准确地描述对象,基于这点,考虑针对混合层次包围盒[6]的改进。

3.1 改进混合层次包围盒

将混合层次包围盒分为上下层,考虑双层结构和混合层次结构叠加处理。

顶层由Sphere包围盒作为外部处理,内部加以OBB包围盒结合设计。这种设计方法主要是考虑到Sphere包围盒的构造简单性以及检测易操作两方面,如果外围的Sphere包围盒已经发生相交或者碰撞情况,则需进一步地检测,内部的OBB包围盒开始运作;如果外部Sphere包围盒还未碰撞,不进行下一步检测操作。而以OBB包围盒为内部的根节点,其中心即为Sphere包围盒的球心,进一步方便构造,而且Sphere包围盒结构方面的优势,无论被测物体进行平移还是旋转操作,其形状不发生改变,有利于更新。

将中层和下层合并,统一用OBB包围盒处理,主要考虑OBB包围盒的方向任意性,能较为紧凑地包围被测物体。针对刚体模型,满足紧凑性要求,中层运算时,没有添加其他包围盒来加重计算量,便于计算运行,下层也使用同一种包围盒,便于层级间的访问情况,OBB包围盒作为整体的中坚力量,能够满足整体检测的稳定性要求。

3.2 OBB包围盒

OBB方向包围盒(最小六面体)其方向性不是平行于坐标轴,而是可以根据物体所包含的几何信息,加工处理得到围绕物体最长轴的中心指向。一般通过被测物体包含的三角形信息,计算出包围盒的中心位置和指向。设已知被测物体包含的几何信息,其基本元素为三角形,面片总数为n,其中第i个三角形的顶点为(pi,qi,ri),计算其中心位置O是

协方差矩阵[7]Mjk,其中 pi=pi-O,qi=qi-O,ri=ri-O,计算Mjk的特征向量并且归一化,处理后作为包围盒的方向轴,以此进行新坐标轴计算,将物体投影到上面,计算顶点在新坐标系下各轴上的投影区间长度,以此来确定OBB的大小。OBB包围盒适合刚体的碰撞检测,包络性较好。

3.3 检测过程

根据改进的混合层次包围盒,依据时空相关性[8]理论,被测物体间相距较近且为不断靠近的状态,能保证向下遍历过程能及时反馈上一节点信息。根据这种相邻情况,上一时刻相邻且当前时刻仍旧处于相邻状态,可从标记节点开始向下遍历,缩小定位范围,提高检测效率,检测过程如图4:

3.4 改进的碰撞检测时间

关于碰撞检测时间的计算,考虑[t0,t1]∈[t0,t0+1]在小范围内处理。被测物体A和B间做连续时间的接近运动(此时两者均已分割成三角形元素),在[t0,t0+Δt]∈[t0,t0+1],在 Δt运动过程中,物体 A 正在以某一方向向B靠近,具有线性运动规律,可考虑运动方程有 μtΔt≤d(A(t),B)的关系,d(A(t),B)为物体A与B之间的距离,μt为阈值。因考虑时空相关性理论,前提考虑两物体已经发生碰撞,标记节点并记录时间,可以减少部分时间计算,考虑回退技术的应用[9],在时间段[t0,t1]∈[t0,t0+1]中,通过时间Δt进行时间区间分段:

图4 碰撞检测过程

其中mA、mB代表两个是三角形的顶点,PA、PB代表两者的质心位置,min(mB-mA)·(PB-PA)指两者顶点相距最小值在相对位置上的投影‖dt·(PB-PA)指两者速度在相对位置上的投影。作为碰撞检测时间范围的回退信息处理,返回每一个回退点的位置信息和三角形面片信息,遍历完所有的碰撞集合,分析比较每个相交信息中的碰撞检测时间集合,最小值为该次检测时间段内的碰撞检测时间,记为tc。

4 实验结果与分析

根据虚拟现实工具箱树节点信息,将研究对象的geomery节点中的point性质,和SFRotation性质输入,已知Viking海盗号的三角形面片信息有6399个,Toutatis小行星的三角形面片信息有7625个,根据第2节的研究内容,运行碰撞检测过程,随着检测时间的优化计算,得出碰撞时的检测点信息,如图5。

图5 碰撞检测结果

得出在时间为1774 s时发生碰撞,此时的真近点角为93.50°。

因为是连续运动,着陆过程还会继续,但碰撞时间已经记录下来,做分析处理,将本文的改进算法与一般碰撞检测算法进行对比,可得到如下的检测效果,如表2:

表2 碰撞检测算法对比

相较于其他一般碰撞检测算法,本文改进后的算法更适用于复杂模型的处理,针对刚体模型,有着较好的实时性和准确性。

5 结束语

针对小行星探测过程,给定动力学计算公式,并根据模型的特征,提出了改进混合层次包围结构的碰撞检测算法,由于连续运动,利用时空相关性,改进碰撞检测时间计算,缩小检测范围,精确检测内容。根据改进后的算法针对刚体运动有一定的优势,但仍需探索新的改进方法,进行优化。

猜你喜欢
碰撞检测小行星质心
NASA宣布成功撞击小行星
军事文摘(2022年24期)2023-01-05 03:38:22
我国发现2022年首颗近地小行星
今日农业(2022年2期)2022-11-16 12:29:47
重型半挂汽车质量与质心位置估计
全新预测碰撞检测系统
基于GNSS测量的天宫二号质心确定
基于BIM的铁路信号室外设备布置与碰撞检测方法
Unity3D中碰撞检测问题的研究
电子测试(2018年1期)2018-04-18 11:53:00
小行星:往左走
太空探索(2016年1期)2016-07-12 09:55:54
BIM技术下的某办公楼项目管线碰撞检测
“隼鸟”2再探小行星
太空探索(2014年11期)2014-07-12 15:17:00