-
结合承担的航天某所项目提供的小天体模型数据信息,在大量实验基础上进行三维模型仿真,得到小天体Itokawa仿真模型如图1所示,观察到小天体的三维形貌特征,其中通过细化模型数据信息可以进一步提高模型的准确性。
观察小天体三维形貌特征,按照小天体实际尺寸大小,利用3dsMax中的可编辑多边形、拉伸、FFD修改器等指令对模型进行调整[11],得到Itokawa基础三维模型,基础模型由三角面片网格组成。进一步通过加权最小二乘法对网格模型进行光顺处理,实现模型表面光滑,减少噪声影响。
基于最小二乘的光顺算法[12]可以描述为:假设某一含噪声的三角网格模型为
$ {\boldsymbol{T}} = \left\{ {{\boldsymbol{V}},{\boldsymbol{E}},{\boldsymbol{F}}} \right\} $ ,其中$ {\boldsymbol{V }}= \left\{ {{{\boldsymbol{v}}_i}\left| {i = {\text{0,1}}, \cdots ,t - {\text{1}}} \right.} \right\} $ 为模型所有顶点的集合,$ {\boldsymbol{E}} $ 为模型$ {\boldsymbol{T}} $ 所有边的集合,$ {\boldsymbol{F}} $ 为模型$ {\boldsymbol{T}} $ 所有三角面片的集合,求得与$ {\boldsymbol{T}} $ 具有相同邻接关系的新三角网格${\boldsymbol{T'}} = \left\{ {{\boldsymbol{V'}},{\boldsymbol{E}},{\boldsymbol{F}}} \right\}$ ,其中${\boldsymbol{V}}' = \left\{ {{{\boldsymbol{v}}_i}^\prime \left| {i = {\text{0,1}}, \cdots ,t - {\text{1}}} \right.} \right\}$ ,$ {\boldsymbol{T}}' $ 要确保光滑且与$ {\boldsymbol{T}} $ 保持相似,还要保持$ {\boldsymbol{T}} $ 的尖锐特性,在数学上可将保特征网格光顺表示为求新网格顶点,使能量函数$$ {{\boldsymbol{E}}_1} = \sum\limits_{i = {\text{0}}}^{t - {\text{1}}} {\{{{({{\boldsymbol{v}}_i}^\prime - {{\boldsymbol{v}}_i})}^{\text{2}}}} + \lambda [{s_i}{\omega ^{\text{2}}}({{\boldsymbol{v}}_i}' )]\} $$ (1) 式(1)取最小,其中
${({{\boldsymbol{v}}_i}' - {{\boldsymbol{v}}_i})^{\text{2}}}$ 需使得$ {\boldsymbol{T}}' $ 与$ {\boldsymbol{T}} $ 尽量相似;$ {s_i}{\omega ^{\text{2}}}({{\boldsymbol{v}}_i}^\prime ) $ 要确保$ {\boldsymbol{T}}' $ 在保持特征下尽量光滑;$ \lambda $ 代表光滑权系数,与光滑度紧密相关,值越大$ {{\boldsymbol{T}}'} $ 越光滑。式(1)中
$ {\omega ^{\text{2}}}({{\boldsymbol{v}}_i}^\prime ) $ 表示$ {{\boldsymbol{v}}_i}^\prime $ 光滑的程度,为简化计算$ {\omega ^{\text{2}}}({{\boldsymbol{v}}_i}^\prime ) $ 直接选取为Laplacian算子,即为$\omega ({{\boldsymbol{v}}_i}^\prime ) = L({{\boldsymbol{v}}_i}^\prime ) = $ $\displaystyle\sum\limits_{j \in {{{i}}^ * }} {{\omega _{ij}}} ({{\boldsymbol{v}}_j}^\prime - {{\boldsymbol{v}}_i}^\prime )$ ,其中$ {i^*} $ 为和顶点$ {{\boldsymbol{v}}_i} $ 邻接的所有顶点下标集,$ {\omega _{ij}} $ 为邻接顶点$ {{\boldsymbol{v}}_j} $ 的权值,且满足等式$\displaystyle\sum\limits_{j \in {{{i}}^ * }} {{\omega _{ij}}} {\text{ = 1}}$ 。$ {s_i} $ 为特征参数,用来标识顶点$ {v_i} $ 是否为特征点,其选取由原噪声网格T决定,若顶点$ {{\boldsymbol{v}}_i} $ 为特征点,$ {s_i} $ 的选取就会较小,反之,$ {s_i} $ 的选取就较大,特征参数一般取为:${s_i} = {[{\left\| {L({v_i})} \right\|^\tau } + \zeta ]^{ - 1}}$ ,其中$ \tau $ 通常取值为$ {\text{1}}{\text{.2}} \sim {\text{2}}{\text{.0}} $ ,决定了特征敏感度,$ \zeta $ 为常数。采用矩阵形式将式(1)改写为[13]
$$ {{\boldsymbol{E}}_1} = {({\boldsymbol{V'}} - {\boldsymbol{V}})^{\rm T}}({\boldsymbol{V'}} - {\boldsymbol{V}}) + \lambda ({{\boldsymbol{V'}}^{\rm T}}{{\boldsymbol{L}}^{\rm T}}{\boldsymbol{SLV'}}) $$ (2) 其中:
$ {\boldsymbol{S}} $ 为对角线上元素为$ {s_i} $ 的对角阵;$ {\boldsymbol{V}}' $ 与$ {\boldsymbol{V}} $ 分别为光顺后网格顶点和原网格顶点构成的向量;$ {\boldsymbol{L}} $ 表示n阶Laplacian矩阵,表述为$$ {{\boldsymbol{L}}_{ij}} = \left\{ \begin{gathered} {\text{1}},\;\;\;i = j \\ - {\omega _{ij}},\;\;\;(i,j) \in {\boldsymbol{E}} \\ {\text{0}},\;\;\;{\text{other}} \\ \end{gathered} \right. $$ (3) 式(2)中右侧为一个关于新网格顶点
$\left\{ {{{\boldsymbol{v}}_i}^\prime \left| {i = {\text{0,1}}, \cdots ,t - {\text{1}}} \right.} \right\}$ 的二次能量函数,令其取最小值得到向量${\boldsymbol{V}}'$ ,其由线性方程组${\boldsymbol{V = }}({\boldsymbol{I}} + \lambda {{\boldsymbol{L}}^{\rm T}}{\boldsymbol{SL}}){\boldsymbol{V'}}$ 确定,该方程组的系数矩阵为非奇异矩阵,所以其唯一解是确定的,为${\boldsymbol{V' = }}{({\boldsymbol{I}} + \lambda {{\boldsymbol{L}}^{\rm T}}{\boldsymbol{SL}})^{ - 1}}{\boldsymbol{V}}$ 。最终通过改变光滑权系数$ \lambda $ 取值即可实现网格的光顺,Itokawa三维网格模型如图2所示。仿真软件开发中,模型坐标轴的选择影响着物体运动轨迹,因此需对模型坐标轴的位置和角度进行调整来匹配功能需求。系统建模流程如图3所示,当模型放缩、导出后,其轴向发生偏离时,需在3DsMax中进行轴向与轴心的重置变化,将调整完的Itokawa模型以“.FBX”格式成组导出,并导入Unity3D中形成模型库,随时选用。
-
通过对小天体模型尺寸调整,得到目标天体基本轮廓,后续对模型三角网格光顺处理,增强了模型表面光滑度,但基础模型与实际天体表面特征环境相差较大。为使模型更加逼真,需对模型进一步优化,对模型修改器中参数进行调试,使得模型表面陨石坑、地表凹凸更加明显,小天体三维模型模如图4中所示,更加接近图1Itokawa仿真模型。
为进一步丰富模型表面特征信息,利用纹理贴图在不增加模型复杂程度基础上来突出表现对象细节,并且可以创建出反射、凹凸等多种效果,来完善模型的外观形貌,使构建的模型更加真实。纹理贴图的本质是二维纹理图像映射到三维模型表面[14],纹理映射的关键是确定物体空间和纹理空间的映射
$ {\boldsymbol{M}} $ ,$ {\boldsymbol{M}} $ 可由式(4)表示$$ (u,v) = F(x,y,z) $$ (4) 其中:
$ (u,v) $ 和$ (x,y,z) $ 分别表示纹理空间和物体空间中点的坐标。由于目标天体形状近似椭球形,采用球面纹理映射方式$$\left\{ \begin{aligned} & x = r\cos \varphi \sin \phi \\ & y = r\sin \varphi \sin \phi , \quad \varphi \in \left[ {{\text{0}},{\text{2}}\text{π} } \right],\phi \in \left[ {{\text{0}},\text{π} } \right] \\ & z = r\cos \varphi \end{aligned}\right. $$ (5) 采用此纹理映射方法会在模型的两端处产生明显的纹理形变,因此,需借助立体投影映射来进一步处理模型产生的纹理形变,立体投影映射定义为
$$ u = \frac{{{\text{2}}p}}{{{\text{1}} + \sqrt {{\text{1}} + {p^{\text{2}}} + {q^{\text{2}}}} }} $$ (6) $$ v = \frac{{{\text{2}}p}}{{{\text{1}} + \sqrt {{\text{1}} + {p^{\text{2}}} + {q^{\text{2}}}} }} $$ (7) 其中:
$ p = \tan \phi \cos \varphi $ ;$ q = \tan \phi \sin \varphi $ 。$ \varphi $ 为经度、$ \phi $ 为纬度。纹理贴图的图像质量和大小决定着最终的显示效果,对原图像采用双线性插值[15]进行改善,分别通过对
$ x $ 轴和$ y $ 轴进行一阶线性插值实现,结果如图5所示。已知$ {Q_{{\text{11}}}} = ({x_{\text{1}}},{y_{\text{1}}}) $ ,$ {Q_{{\text{12}}}} = ({x_{\text{1}}},{y_{\text{2}}}) $ ,$ {Q_{{\text{21}}}} = ({x_{\text{2}}},{y_{\text{1}}}) $ ,$ {Q_{{\text{22}}}} = ({x_{\text{2}}},{y_{\text{2}}}) $ , 首先对$ x $ 轴方向线性插值,插入$ {R_{\text{1}}} $ 、$ {R_{\text{2}}} $ 像素。$$ f({R_{\text{1}}}) \approx \frac{{{x_{\text{2}}} - x}}{{{x_{\text{2}}} - x}}f({Q_{{\text{11}}}}) + \frac{{x - {x_{\text{1}}}}}{{{x_{\text{2}}} - {x_{\text{1}}}}}f({Q_{{\text{21}}}}) $$ (8) $$ f({R_{\text{2}}}) \approx \frac{{{x_{\text{2}}} - x}}{{{x_{\text{2}}} - x}}f({Q_{{\text{12}}}}) + \frac{{x - {x_{\text{1}}}}}{{{x_{\text{2}}} - {x_{\text{1}}}}}f({Q_{{\text{22}}}}) $$ (9) 再进一步对
$ y $ 轴方向进行插值,并根据$ {R_{\text{1}}} $ 、$ {R_{\text{2}}} $ 像素,线性插值计算$ P $ 点处像素,实现图像插值。$$ f(P) \approx \frac{{{y_{\text{2}}} - y}}{{{y_{\text{2}}} - y}}f({R_{\text{1}}}) + \frac{{y - {y_{\text{1}}}}}{{{y_{\text{2}}} - {y_{\text{1}}}}}f({R_{\text{2}}}) $$ (10) 对线性插值所得图像裁剪为纹理有效区域并更新纹理坐标,其中在纹理更新过程中,新纹理
$ (u',v') $ 坐标为$$ \left\{ {\begin{array}{*{20}{c}} {u' = \dfrac{{u - {u_{\min }}}}{{{l_u}}}} \\ {v' = \dfrac{{v - {v_{\min }}}}{{{l_v}}}} \end{array}} \right. $$ (11) 其中:
$ {u_{\min }} $ 、$ {v_{\min }} $ 分别为原纹理$ u $ 、$ v $ 方向上最小值,$ {l_u} $ 、$ {l_v} $ 为原纹理$ u $ 、$ v $ 方向上长度。结合线性插值得到的新图像,采用球面映射和立体投影映射相结合的方式,并通过调整UV坐标及U、V、W平铺参数,实现了将二维平面贴图准确贴附在三维复杂模型上。避免出现纹理拉伸、像素模糊化等现象,Itokawa贴图优化后的效果图如图6所示。
-
设计视景仿真系统需要对系统场景规范建模,主要分为以下几步:
1)优化后的立体模型成组导出为“.FBX”格式,并导入到虚拟引擎资源文件夹,借助树状资源列表合理规划场景资源,实现资源规范化;
2)小天体模型载入Unity3D虚拟中,对模型进行旋转、平移等调整以及设置模型物理属性,引入虚拟相机等场景模型,构建物体碰撞检测关系;
3)合理构建场景天空盒并设计场景光照系统,搭建出虚拟深空仿真环境;
4)探测器姿态描述方法的设计与验证,通过汇编语言进行小天体探测器辅助功能的实现;
5)场景环境的优化,通过光照动态渲染与静态渲染的结合,实现场景渲染优化;
6)实现与GNC系统的数据传递,其中GNC系统输出仿真数据,本系统软件对数据进行读取。
为使Unity3D平台中的场景更加真实,创建天空盒模拟真实深空环境,其中深空环境中光源是仿真系统的重要组成部分,场景中的光源决定了场景呈现出来的氛围。在Unity3D中光源对象[16]主要有4种:区域光、点光源、方向光、聚光灯,本系统选用方向光模拟太阳光照,Unity3D中方向光强度不随光源位置的远近而发生衰减,首先调整光源方向并调整光照强度,其次为模拟复杂光照条件,光源模式设为混合模式,再次将光源阴影效果设置为软阴影模式,使场景物体阴影更加显著,最后对场景光照渲染优化,构建的仿真运行场景如图7所示。
-
小天体的动态仿真需要对天体不同姿态进行相应模拟,因此仿真系统需建立强大的逻辑动作库,命令与动作相互联系。小天体的运动特性对探测器能否顺利仿真具有重要影响,故小天体运动功能设计是本仿真系统不可缺少的环节,借助运动函数实现模型动作,并按照天体实际数据设计其运动参数,Itokawa参数信息[17]如表1所示。
表 1Itokawa基本参数
Table 1.Itokawa basic number of participants
参数 量值 Shape/m 535 × 298 × 244 Spin-rate/h 12.132 Mass/kg 3.147 × 1010 Mean diameter/km 0.33 探测器运动仿真是本系统设计的重要部分,是探测器能否实现对小天体地形动态观察的前提,通过脚本控制探测器的具体运动从而实现实时动作。系统运动模块使用的部分脚本API如表2所示。
表 2关键脚本API
Table 2.Key script API
关键功能 脚本API 运动功能 transform.position = new Vector3(x,y,z) 俯仰功能 transform.localEulerAngles = new Vector3
(Rx,Ry,Rz)旋转功能 transform.rotation = Quaternion.Euler
(Rx,Ry,Rz)自转功能 transform.Rotate(Rx,Ry,Rz,Space.Self) -
在深空探测任务中,探测器姿态轨迹设计影响着整个探测任务的结果,姿态设计是探测器轨道设计的前提,通过对姿态的描述能够直观观察探测器实际运行状态,确保小天体探测任务的顺利进行。
本系统模拟探测器位于着陆段不同位置和姿态处对小天体地形的动态观察以及高分辨率着陆图像的获取。探测器姿态设计决定着探测任务中小天体成像与探测器的精确着陆,根据任务实际需求,通过旋转矩阵法[18-20]实现探测器姿态设计。
小天体着陆段的模拟成像、探测器的姿态设计是在世界参考坐标系下描述的,真实空间下的三维立体坐标系,不会出现平移与旋转变化,在Unity3D中,选取初始时刻的惯性坐标系作为空间坐标系。小天体的固连坐标系定义在小天体上,原点在小天体中心处,
$ z $ 轴与目标小天体最大转动惯量轴方向一致,$ x $ 轴指向目标小天体的最小转动惯量轴,选择构成左手坐标系$ y $ ,模型导入到虚拟引擎中定义小天体固连坐标系三轴与世界坐标系轴向一致且平行。为得到探测器在特定旋转顺序下的目标姿态,将抽象的空间旋转割裂为3次绕不同旋转轴依次进行的旋转变化。在不同的旋转顺序下,存在多种表示相对姿态的旋转矩阵,其中Unity3D中坐标系为左手坐标系,遵循左手法则,探测器姿态旋转顺序为z-y-x可通过绕
$ z $ 轴旋转$ \gamma $ 角、绕$ y $ 轴旋转$ \beta $ 角、绕$ x $ 轴旋转$ \alpha $ 角得到探测器的预期姿态,欧拉角旋转变换如图8所示。根据坐标转换矩阵基本原理,利用欧拉角分别求取绕不同旋转轴的旋转矩阵,根据期望旋转顺序,得出z-y-x旋转下的姿态矩阵为
$$\begin{aligned}[b] & {{\boldsymbol{D}}_{{{zyx}}}}({{\gamma ,\beta ,\alpha }}) = \\ & \left( {\begin{array}{*{20}{c}} {\cos \gamma }&{\sin \gamma }&0 \\ { - \sin \gamma }&{\cos \gamma }&0 \\ 0&0&1 \end{array}} \right)\left( {\begin{array}{*{20}{c}} {\cos \beta }&0&{ - \sin \beta } \\ 0&1&0 \\ {\sin \beta }&0&{\cos \beta } \end{array}} \right)\\ & \left( {\begin{array}{*{20}{c}} 1&0&0 \\ 0&{\cos \alpha }&{\sin \alpha } \\ 0&{ - \sin \alpha }&{\cos \alpha } \end{array}} \right) \end{aligned} $$ (12) Unity3D中的旋转函数以z-x-y为默认顺规,需对姿态矩阵进行等价转换,假设此旋转顺序下小天体探测器绕坐标系
$ x $ 轴旋转$ {\alpha _{\text{1}}} $ 角,绕$ y $ 轴旋转$ {\beta _{\text{1}}} $ 角,绕$ z $ 轴旋转$ {\gamma _{\text{1}}} $ 角,可得新姿态矩阵为Dzxy(γ1,α1,β1)。对已知欧拉角$ (\alpha ,\beta ,\gamma ) $ 进行角度转换,给出一个旋转矩阵N=$ \left( {\begin{array}{*{20}{c}} {{m_{00}}}&{{m_{01}}}&{{m_{02}}} \\ {{m_{10}}}&{{m_{11}}}&{{m_{12}}} \\ {{m_{20}}}&{{m_{21}}}&{{m_{22}}} \end{array}} \right) $ ,其满足以下等价关系$$ {{\boldsymbol{D}}_{{{zyx}}}}({\boldsymbol{\gamma ,\beta ,\alpha} }) = {\boldsymbol{N}} = {{\boldsymbol{D}}_{{{zxy}}}}({\boldsymbol \gamma_1},{\boldsymbol \alpha_1},{\boldsymbol \beta _1}) $$ (13) 利用公式等价原理求得转化后的欧拉角为
$ ({\alpha _1},{\beta _1},{\gamma _1}) $ ,并将转化后各轴的旋转欧拉角代入新姿态矩阵$ {{\boldsymbol{D}}_{zxy}}({\boldsymbol \gamma_1},{\boldsymbol \alpha_1},{\boldsymbol \beta_1}) $ 中。假设
$ P $ 为探测器上的一点,其坐标为$ (X,Y,Z) $ ,$ {P_1} $ 为探测器经过旋转变换后得到,变换后坐标为$ ({X_1},{Y_1},{Z_1}) $ ,小天体探测器的姿态变换求取公式为$ {{\boldsymbol{P}}_1} = {{\boldsymbol{PD}}_{zxy}}({\boldsymbol \gamma_1},{\boldsymbol \alpha_1},{\boldsymbol \beta_1}) $ 。对上述姿态变化矩阵进行化简,可得探测器姿态描述为
$$ \left\{ \begin{aligned} & {X_1} = (\cos {\beta _1}\cos {\gamma _1} + \sin {\alpha _1}\sin {\beta _1}\sin {\gamma _1})X- \\ & (\sin {\gamma _1}\cos {\beta _1} - \sin {\alpha _1}\sin {\beta _1}\cos {\gamma _1})Y + (\sin {\beta _1}\cos {\alpha _1})Z \\ & {Y_1} = (\sin {\gamma _1}\cos {\alpha _1})X + (\cos {\alpha _1}\cos {\gamma _1})Y - \sin {\alpha _1}Z \\ & {Z_1} = ( - \sin {\beta _1}\cos {\gamma _1} + \sin {\alpha _1}\sin {\gamma _1}\cos {\beta _1})X + \\ & (\sin {\beta _1}\sin {\gamma _1} + \sin {\alpha _1}\cos {\beta _1}\cos {\gamma _1})Y + (\cos {\alpha _1}\cos {\beta _1})Z \end{aligned} \right. $$ (14) 利用旋转矩阵设置探测器姿态,旋转轴的选择可以为任意向量,避免直接使用欧拉角旋转时出现的万向节死锁现象。通过旋转矩阵法实现了对探测器姿态的设计,直观地模拟出了探测器着陆过程中的三维姿态轨迹,实现了探测器对小天体地形观测过程中的姿态变化。
-
Unity3D平台具有可视化的树状资源列表(Hierarchy),可以列出项目中的场景及文件,通过直接拖拽对象来建立对象间父子关系。在父子关系中,对父物体的运动或操作,会使其子物体发生相同动作,使得大量对象属性更改更加简便。本系统所建立的目标小天体模型导出时,进行重置变换及坐标轴转换等处理,小天体模型导入Unity3D后,模型比例、尺寸未发生变化,避免了因模型比例问题引起的子物体形变或位置显示错误。
碰撞检测技术是探测器在虚拟场景中运动,接触到天体表面时做出的反应。探测器在实际着陆运行过程中不会穿越天体表面,若场景中未设计碰撞检测,则探测器在运行中可能会出现穿越小天体现象,场景也就失去了逼真性,交互的体验感也会下降,因此需对场景中模型进行碰撞检测设计。虚拟引擎中提供了多种碰撞器,其中包含Box collider、Sphere Collider、Mesh Collider等。碰撞器组建的作用就是使用一个规则的多边形逼近该物体,检测不同物体之间的碰撞器是否相交[21]。在添加相对应碰撞检测组件后,绑定包含碰撞检测函数的脚本,通过调用事件响应函数和事件监听函数实时监听场景,实现碰撞检测并控制碰撞后行为。
-
深空探测器GNC系统通过收集和处理传感器的测量数据来实现导航与控制功能[22],执行姿态确定、姿态控制、轨道确定等导航与控制算法的运行。GNC系统分为3部分:姿态控制系统、自主导航系统、轨道制动系统。GNC系统软件包含多种函数分别输出相应数据信息,在执行对日捕获/定向时,通过太阳敏感器给出太阳方向矢量信息。在探测器接近目标天体光学导航过程中,探测器通过星敏感器与陀螺联合定资,得到探测器相对惯性空间的姿态信息,此信息传送给轨道确定系统,轨道确定系统利用导航相机拍摄天体光心信息和加速度计测得探测器上控制加速度,确定探测器相对目标小天体的位置信息。
系统软件通过接口协议与GNC系统相连接,GNC系统给出探测器着陆过程中太阳光照矢量信息、探测器位置信息和姿态信息数据文本,实现了Unity3D直接读取GNC系统给定数据信息,确保系统数据的准确性,避免因数据传递引起的系统仿真误差,本文部分仿真数据如表3所示。
表 3仿真数据
Table 3.Simulation data
光照矢量 探测器位置/m 探测器姿态/(°) 0.000 000 0.000 000 −1.000 000 −5.408 653 −101.028 863 −154.883 554 −33.100 000 2.000 000 0.000 000 0.000 000 0.000 000 −1.000 000 −5.405 729 −100.974 253 −154.799 833 −33.100 000 2.000 000 0.000 000 0.000 000
0.000 0000.000 000
0.000 000−1.000 000
−1.000 000−5.402 806
−5.399 882−100.919 642
−100.865 032−154.716 113
−154.632 392−33.100 000
−33.100 0002.000 000
2.000 0000.000 000
0.000 000$ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ 0.000 000
0.000 0000.000 000
0.000 000−1.000 000
−1.000 000−6.058 365
−6.071 948−66.980 123
−66.945 961−105.737 518
−105.700 172−43.100 000
−43.100 0003.232 278
3.240 5210.500 000
0.500 000通过读取GNC系统所给实时仿真数据,结合本文中小天体探测器三维姿态算法,成功模拟出的探测器运行轨迹如图9所示,探测器姿态描述如图10所示。
模拟的探测器着陆段部分运行轨迹如图图9所示,z-y-x探测器运行路线从a点运行到b点,逐步逼近目标天体,表3仿真数据对应的探测器姿态及运行终点处探测器的姿态描述如图10所示,仿真运行时能够清楚地观察到小天体着陆段探测器姿态变化及着陆运行轨迹。
在Unity3D中,以世界坐标系为参考坐标系,小天体固连坐标系轴向与世界坐标系轴向一致且平行,软件运行得到探测器姿态轨迹虚拟仿真,其中Unity3D世界坐标系中红色轴代表
$ X $ 轴,绿色轴代表$ Y $ 轴,蓝色轴代表$ Z $ 轴,$ Z $ 轴垂直于$ X $ 轴和$ Y $ 轴,构成左手坐标系,模拟探测器部分着陆段运行轨迹如图11所示,运行轨迹自下向上运行,逐渐逼近目标小天体,探测器的姿态虚拟仿真结果如图12所示,其中(a)为小天体固连坐标系,(b)为终点位置处探测器姿态描述。基于旋转矩阵设计的姿态算法,能够使得探测器虚拟相机视角指向目标小天体,更加快速地、直观地实现了对小天体表面特征的动态观测。系统软件实现了探测器对Itokawa地形形貌的观测,对探测器虚拟相机设计图像获取功能,可按实际任务需求设置获取图像的分辨率、图像数量、张角角度及获取时间,仿真图像分辨率高、图像有序、具有较强真实感,小天体探测器图像获取流程如图13所示。视景仿真系统中包含了虚拟视景搭建与渲染优化,探测器姿态设计及场景物体辅助功能设计,软件具有界面操作简洁、实时响应速度快和系统稳定性较高等特点,在探测器着陆段运行过程中,系统能够快速响应,探测器可以按照预期位置、姿态运行,虚拟相机能够实时观测到天体地形特征并存储。
软件运行得到了探测器位于不同位置和姿态处的Itokawa小天体着陆序列图像,探测器获取的部分着陆图像如图14所示。通过探测器虚拟相机所得高分辨率图像可以实现对小天体地形特征的观察,模拟了小天体探测器着陆段的动态运行过程,为后续小天体着陆段相关算法仿真验证提供了实验基础。
Design of Terrain Dynamic Simulation and Landing View Simulation System for Small Celestial Bodies
-
摘要:针对小天体探测器着陆段光学图像导航难以开展实验验证等问题,基于虚拟现实设计小天体地形动态模拟与着陆视景仿真系统,实现了探测器姿态设计及着陆序列图像获取。运用三维建模技术建立小天体模型,利用加权最小二乘法实现模型网格光顺;采用线性插值处理贴图,通过球面映射与立体投影映射相结合实现纹理映射;开发虚拟视景仿真场景,根据旋转矩阵法实现探测器姿态设计。实验表明:仿真系统能够满足探测器着陆段图像导航验证需求,可以实现对小天体地形动态观测及着陆图像获取,图形质量高、实时性好,通过具体实例仿真验证了该系统的有效性。Abstract:To solve the problem that it is difficult to carry out experimental verification for optical image navigation of small celestial body detector landing section, a small celestial body terrain dynamic simulation and landing scene simulation system was designed based on virtual reality, and the detector attitude design and landing sequence image acquisition were realized. The small celestial body model was established by using three-dimensional modeling technology, and the weighted least square method was used to realize the smooth grid of the model; linear interpolation was used to process the map, and texture mapping was realized by combining spherical mapping with cube mapping; the virtual scene simulation was developed, and the detector attitude design was realized according to the rotation matrix method. Experiments show that the simulation system can meet the demand for image navigation verification of the landing section of the probe, and can realize dynamic observation of small object topography and landing image acquisition with high graphic quality and good real-time performance, and the effectiveness of the system is verified by specific example simulation.Highlights
● The establishment of 3D morphological features of small celestial bodies, triangular mesh smoothing and mapping linear interpolation are completed, and texture mapping of 3D models is realized. ● The detector attitude description method based on the rotation matrix method is implemented for small object detector attitude design. ● Based on Unity3D and 3DSMax, we developed a dynamic simulation system of small object terrain and landing view simulation system, designed the scene object related functions such as virtual camera, and realized the dynamic observation of small object terrain topography and the acquisition of landing sequence images. ● The software of this system can realize the interface with GNC system, and set the detector and each object of the scene by reading the real-time data given by GNC system. -
表 1Itokawa基本参数
Table 1Itokawa basic number of participants
参数 量值 Shape/m 535 × 298 × 244 Spin-rate/h 12.132 Mass/kg 3.147 × 1010 Mean diameter/km 0.33 表 2关键脚本API
Table 2Key script API
关键功能 脚本API 运动功能 transform.position = new Vector3(x,y,z) 俯仰功能 transform.localEulerAngles = new Vector3
(Rx,Ry,Rz)旋转功能 transform.rotation = Quaternion.Euler
(Rx,Ry,Rz)自转功能 transform.Rotate(Rx,Ry,Rz,Space.Self) 表 3仿真数据
Table 3Simulation data
光照矢量 探测器位置/m 探测器姿态/(°) 0.000 000 0.000 000 −1.000 000 −5.408 653 −101.028 863 −154.883 554 −33.100 000 2.000 000 0.000 000 0.000 000 0.000 000 −1.000 000 −5.405 729 −100.974 253 −154.799 833 −33.100 000 2.000 000 0.000 000 0.000 000
0.000 0000.000 000
0.000 000−1.000 000
−1.000 000−5.402 806
−5.399 882−100.919 642
−100.865 032−154.716 113
−154.632 392−33.100 000
−33.100 0002.000 000
2.000 0000.000 000
0.000 000$ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ $ \vdots $ 0.000 000
0.000 0000.000 000
0.000 000−1.000 000
−1.000 000−6.058 365
−6.071 948−66.980 123
−66.945 961−105.737 518
−105.700 172−43.100 000
−43.100 0003.232 278
3.240 5210.500 000
0.500 000 -
[1] 崔平远,秦同,朱圣英. 火星动力下降自主导航与制导技术研究进展[J]. 宇航学报,2020,41(1):1-9.doi:10.3873/j.issn.1000-1328.2020.01.001CUI P Y,QIN T,ZHU S Y. Progress in autonomous navigation and guidance technology for Mars powered descent landing[J]. Journal of Astronautics,2020,41(1):1-9.doi:10.3873/j.issn.1000-1328.2020.01.001 [2] 邵巍,郗洪良,王光泽,等. 暗弱环境下小天体陨石坑智能检测算法[J]. 宇航学报,2021,42(11):1439-1445.doi:10.3873/j.issn.1000-1328.2021.11.010SHAO W,XI H L,WANG G Z,et al. An intelligent detection algorithm for small body craters in faint environment[J]. Journal of Astronautics,2021,42(11):1439-1445.doi:10.3873/j.issn.1000-1328.2021.11.010 [3] 崔平远,贾贺,朱圣英,等. 小天体光学导航特征识别与提取研究进展[J]. 宇航学报,2020,41(7):880-888.doi:10.3873/j.issn.1000-1328.2020.07.006CUI P Y,JIA H,ZHU S Y,et al. Research progress on optical navigation feature recognition and extraction technologies for small body exploration[J]. Journal of Astronautics,2020,41(7):880-888.doi:10.3873/j.issn.1000-1328.2020.07.006 [4] 崔平远,赵冬越,朱圣英,等. 小天体主动附着制导与控制技术研究进展[J]. 宇航学报,2021,42(9):1057-1066.doi:10.3873/j.issn.1000-1328.2021.09.001CUI P Y,ZHAO D Y,ZHU S Y,et al. Research progress of guidance and control technologies for active landing on small celestial bodies[J]. Journal of Astronautics,2021,42(9):1057-1066.doi:10.3873/j.issn.1000-1328.2021.09.001 [5] SPERO H R,VAZQUEZ-LOPEZ I,MILLER K,et al. Drones,virtual reality,and modeling:communicating catastrophic dam failure[J]. International Journal of Digital Earth,2022,15(1):585-605.doi:10.1080/17538947.2022.2041116 [6] 于秀伟. 彗星探测接近段导航图像仿真与处理技术研究[D]. 哈尔滨: 哈尔滨工业大学, 2008.YU X W. Research on navigation image simulation and processing for approaching phase of the comet exploration[D]. Harbin: Harbin Institute of Technology, 2008. [7] 赵静. 火星车三维视景仿真系统的研究与实现[D]. 北京: 北京邮电大学, 2019.ZHAO J. Research and implementation of 3D visual simulation system for Mars rover[D]. Beijing: Beijing University of Posts and Telecommunications, 2019. [8] 赵羲,马东洋,刘毅锟,等. 基于GPU的小行星实时成像模拟[J]. 系统仿真学报,2009,21(S1):110-112+116.ZHAO X,MA D Y,LIU Y K,et al. Real-time imaging simulation of asteroid based GPU[J]. Journal of System Simulation,2009,21(S1):110-112+116. [9] 蓝朝桢. 近地空间环境三维建模与可视化技术[D]. 郑州: 中国人民解放军信息工程大学, 2005.LAN C Z. Three-dimensional modeling and visualization technology of near-earth space environment[D]. Zhengzhou: Information Engineering University, 2005. [10] 王悦邦. 月球软着陆三维视景仿真系统的研究与实现[D]. 哈尔滨: 哈尔滨工业大学, 2007.WANG Y B. Research and application in 3D scene simulation system for lunar softlanding[D]. Harbin: Harbin Institute of Technology, 2007. [11] NIE J C, ZHANG H R, FEI P W, et al. Construction and application of virtual roaming system based on virtools[C]//Advanced Materials Research. [S. l. ]: Trans Tech Publications Ltd, 2014, 1039: 134-139. [12] 张冬梅,刘利刚. 保特征的加权最小二乘三角网格光顺算法[J]. 计算机辅助设计与图形学学报,2010,22(9):1497-1501.ZHANG D M,LIU L B. Feature-preserving mesh smoothing algorithm based on the weighted least squares[J]. Journal of Computer-Aided Design & Computer Graphics,2010,22(9):1497-1501. [13] 张冬梅. 离散曲线曲面的形状优化算法研究[D]. 杭州: 浙江大学, 2011.ZHANG D M. Research on shape optimization for discrete curves and surfaces[D]. Hangzhou: Zhejiang University, 2011. [14] 姜翰青, 王博胜, 章国锋, 等. 面向复杂三维场景的高质量纹理映射[J]. 计算机学报, 2015, 38(12): 2349-2360.JIANG H Q, WANG B S, ZHANG G F, et al. High-quality texture mapping for complex 3D scenes[J]. Chinese Journal of Computers, 2015, 38(12): 2349-2360. [15] 王昊京,王建立,王鸣浩,等. 采用双线性插值收缩的图像修复方法[J]. 光学精密工程,2010,18(5):1234-1241.WANG H J,WANG J L,WANG M H,et al. Efficient image inpainting based on bilinear interpolation downscaling[J]. Optics and Precision Engineering,2010,18(5):1234-1241. [16] ALKAWAZ M H,BASORI A H,MOHD HASHIM S Z. Oxygenation absorption and light scattering driven facial animation of natural virtual human[J]. Multimedia Tools and Applications,2017,76(7):9587-9623.doi:10.1007/s11042-016-3564-2 [17] PETIT A,SOUCHAY J,LHOTKA C. High precision model of precession and nutation of the asteroids (1) Ceres,(4) Vesta,(433) Eros,(2867) Steins,and (25143) Itokawa[J]. Astronomy & Astrophysics,2014,565:A79. [18] 郑重, 宋申民, 基于旋转矩阵描述的航天器无角速度测量姿态跟踪无源控制[J]. 控制与决策, 2014(9): 1628-1632.ZHENG Z , SONG S M. Rotation matrix based passive attitude tracking control of spacecraft without angular velocity measurements[J]. Control and Decision, 2014, 29(9): 1628-1632. [19] GUO Y,SONG S. Adaptive finite-time backstepping control for attitude tracking of spacecraft based on rotation matrix[J]. Chinese Journal of Aeronautics,2014,27(2):375-382.doi:10.1016/j.cja.2014.02.017 [20] HUANG B,LI A,GUO Y,et al. Rotation matrix based finite-time attitude synchronization control for spacecraft with external disturbances[J]. ISA Transactions,2019,85:141-150.doi:10.1016/j.isatra.2018.10.027 [21] LI J,YU N. Key technology of virtual roaming system in the museum of ancient high-imitative calligraphy and paintings[J]. IEEE Access,2020,8:151072-151086.doi:10.1109/ACCESS.2020.3015318 [22] 侯立甲. 深空探测器GNC系统方案设计与仿真研究[D]. 哈尔滨: 哈尔滨工业大学, 2009.HOU L J. Program desingn and simulation research of GNC system for deep-space probe[D]. Harbin: Harbin Institute of Technology, 2009.