基于 DELMIA 环境下的沉浸式虚拟维修仿真系统虚拟人控 制方法 技术领域 本发明是基于 DELMIA 环境下的沉浸式虚拟维修仿真系统虚拟人控制方法, 具体 的说, 是一种利用 DELMIA 软件提供的沉浸式虚拟仿真系统, 进行人体动作和行为的仿真, 使用户像在实际产品上一样对虚拟产品进行实时操作, 从而可在物理样机产生之前及时地 发现设计中存在的维修问题, 它属于虚拟现实技术辅助系统维修的技术领域。
背景技术 沉浸式虚拟仿真是指设计人员在沉浸式虚拟维修环境下对产品进行 “虚拟地” 维 修, 可在物理样机生产之前及时地发现设计中存在的维修问题, 进行维修性设计的分析, 维 修规程的确认和辅助维修训练。 利用动作捕捉系统与虚拟维修仿真软件构建沉浸式虚拟维 修仿真系统, 不仅可以利用虚拟维修仿真软件中的产品数据, 而且能够让用户像在实际产 品上一样对虚拟产品进行实时操作。
目前动作捕捉系统与虚拟维修仿真软件融合技术的研究进展较慢, 二者还相对独 立。一方面, 虚拟维修软件具有很强的仿真分析功能, 但其中的人体运动建模工作较为繁 琐且编辑的动作不够真实有效 ; 另一方面动作捕捉系统还只在动画制作等特殊领域应用较 多, 其配套的软件一般只能利用三维动画复现真人运动轨迹, 而不具有其他分析处理功能, 也不能载入 CAD 产品数据。因此, 二者集成能有效的实现真人对虚拟维修仿真软件中虚拟 人的控制, 为仿真分析提供更加真实有效的维修动作数据, 实现真正意义上的沉浸式虚拟 维修。
发明内容
(1) 本发明的目的是基于 DELMIA 环境下的沉浸式虚拟维修仿真系统虚拟人控制 方法, 通过将动作捕捉设备所捕捉到的人体动作实时地导入到专业软件提供的虚拟维修平 台当中的虚拟人上, 从而可以进行沉浸式的虚拟维修活动。
(2) 本发明的技术方案 :
以 DELMIA 虚拟仿真软件和 ShapeWarp 无线光纤动作捕捉系统构建沉浸式虚拟维 修仿真系统, 并利用 DELMIA 提供的 Automation 二次开发技术, 对二者的接口设计算法做了 相应研究, 实现动作捕捉系统采集的真实的维修数据对 DELMIA 中虚拟人动作控制, 提出了 DELMIA 环境下虚拟人控制的新方案, 实现用户与虚拟环境的融合。
以 ShapeWarp 无线光纤动作捕捉系统和目前航空部门普遍采用的 DELMIA 虚拟仿 真软件构建沉浸式虚拟维修仿真系统, 并对二者间的接口设计进行了深入研究, 实现了动 作捕捉系统对 DELMIA 软件中虚拟人的控制。
本发明基于 DELMIA 环境下的沉浸式虚拟维修仿真系统虚拟人控制方法, 通过如 下步骤实现 :
步骤一、 对动作捕捉软件的数据输出进行设置选择 ShapeRecorder 作为动作捕捉软件, 对其数据的输出进行必要的设置。主要 的输出设置分为实时输出和以文件方式输出。
步骤二、 进行动作捕捉, 通过动作捕捉设备自带的软件实时发送数据
有两种方式, 一种是人员穿上动作捕捉设备, 进行动作捕捉 ; 另一种是之前进行动 作捕捉时, 用设备自带的软件对动作数据进行录制, 而发送数据时则通过设备自带软件打 开已录制好的动作数据文件, 向外发送数据。
步骤三、 接收并临时保存动作捕捉软件输出的动作数据
以 UDPSocket 的方式接收数据, 以数组的形式临时保存当前接收到的一帧数据。 为说明方便, 该数组命名为 gpo 数组。 该数组包含从 1 到 235 共 235 个数据, 分别以 gpo(1)、 gpo(2)…… gpo(235) 表示。
步骤四、 对动作数据进行计算
根据临时保存的当前帧数据——即 gpo 数组——进行计算, 可以将该数据的格式 转换为 DELMIA 可以使用的动作数据格式, 临时保存在 opv 数组和 iAxisComponentsArray 数组当中。该步骤可以进一步细分为 : a) 计算人体的方向和位置 ; b) 计算人体每一个肢节 的姿势 ( 不包括手指 ) ; c) 计算人体手指每一个肢节的姿势
步骤五、 将转换完成的动作数据以 Automation API 的方式赋给 DELMIA
步骤六、 重复步骤二到步骤五
将动作数据转换完成并输入到 DELMIA 中的虚拟人使其动作后, 此即标志着一帧 动作的完成。 然后开始下一帧动作, 重复步骤二到步骤五, 直到不再进行动作捕捉或动作捕 捉设备自带软件不再发送捕捉到的动作数据为止。
本发明要求的设备条件 : 两台电脑, 其中动作捕捉系统 (ShapeRecorder) 需要 一台, 虚拟环境软件平台 (delmia) 需要一台, 两台电脑之间要有网络连接, 或者是一台电 脑, 动作捕捉系统和虚拟环境平台都在同一台电脑上运行, 此时电脑要有网卡。软件条件 : Windows 操作系统, 且配置要能够正常运行两款软件。
(3) 本发明的优点 :
本发明所采用的动作捕捉设备为 Measurand 公司的光纤式动作捕捉设备, 采用的 虚拟维修软件平台为 Dassault 公司的 DELMIA 软件。Measurand 公司开发了一些数据转换 插件软件, 可以将其动作捕捉设备所捕捉到的人体动作实时导入到 MotionBuilder 软件或 Virtools 软件中去。
本发明通过采用 DELMIA 软件本身提供的接口进行开发, 更为重要的是, 本发明采 用模块化设计思想, 具备可扩展性, 即对于不同的动作捕捉设备, 通过选择相应的数据转换 模块, 可以得到同样格式的动作数据, 以操纵 DELMIA 中的虚拟人。因此, 用户可以选择多 种动作捕捉设备, 甚至可以同时采用不同的动作捕捉设备捕捉多人的动作, 实时地导入到 DELMIA 中的多个虚拟人上。 附图说明
图 1 为基于 DELMIA 环境下的沉浸式虚拟仿真流程图 ;
图 2 为 Shaperecorder 中的全局坐标系图 ;
图 3 为 Delmia 中的全局坐标系图 ;具体实施方式
下面结合附图和实施例对本发明进行详细说明。
本发明首先利用 Measurand 公司的光纤式动作捕捉设备实时地捕捉人体的动作, 并由该设备自带的 ShapeRecorder 软件通过 UDPSocket 的方式实时向外发送数据。然后本 发明利用 UDPSocket 的方式接收该数据, 接着进行数据的转换等计算, 将包含人体动作的 数据信息转换成 DELMIA 可以使用的数据格式。具体实施流程图如图 1 所示, 不过该数据 DELMIA 软件本身并不能直接使用, 需要通过 DELMIA 提供的 Automation API 接口, 使用一系 列的 API 函数, 对 DELMIA 软件进行操作。本发明是基于 DELMIA 环境下的沉浸式虚拟维修 仿真系统虚拟人控制方法, 具体实施步骤如下 :
步骤一、 对动作捕捉软件的数据输出进行设置
选 择 ShapeRecorder 作 为 动 作 捕 捉 软 件, 对 其 数 据 的 输 出 进 行 必 要 的 设 置。 ShapeRecorder 软件有 2 种数据输出方式, 一种为实时输出, 一种输出为文件, 选择实时输 出; 该软件有 4 种数据输出格式, 分别为 Global Position and Orientation 格式、 C3D 格 式、 BVH 格式和 MotionBuilder/Quest3D/Virtools(Quaternion)Format 格式, 选择 Global Position and Orientation 格式。对实时输出的 UDPSocket 的属性进行设置, 如 IP 地址、 端口号等, 具体以实施例为例。 步骤二、 进行动作捕捉, 通过动作捕捉设备自带的软件实时发送数据
有两种方式, 一种是人员穿上动作捕捉设备, 进行动作捕捉, 同时该设备自带的软 件实时地发送数据 ; 另一种是之前进行动作捕捉时, 用设备自带的软件对动作数据进行录 制, 而发送数据时则通过设备自带软件打开已录制好的动作数据文件, 向外发送数据。 这两 种方式都是可行的。均通过 UDPSocket 的方式发送数据。
步骤三、 接收并临时保存动作捕捉软件输出的动作数据
以 UDPSocket 的方式接收数据。以数组的形式临时保存当前接收到的一帧数据。 为说明方便, 该数组命名为 gpo 数组。 该数组包含从 1 到 235 共 235 个数据, 分别以 gpo(1)、 gpo(2)…… gpo(235) 表示。
同时, 再建立 2 个数组, 这 2 个数组将临时保存数据转换的计算结果, 为说明方便, 将这 2 个数组命名为 opv 数组和 iAxisComponentsArray 数组。opv 数组保存人体的姿态数 据, iAxisComponentsArray 数组保存人体的方向和位置数据。opv 数组包含从 0 到 136 共 137 个数据, 分别以 opv(0)、 opv(1)……opv(136) 表示。 iAxisComponentsArray 数组包含从 0 到 11 共 12 个数据, 分别以 iAxisComponentsArray(0)、 iAxisComponentsArray(1)、 …… iAxisComponentsArray(11) 表示。
步骤四、 对动作数据进行计算
根据临时保存的当前帧数据——即 gpo 数组——进行计算, 可以将该数据的格式 转换为 DELMIA 可以使用的动作数据格式, 临时保存在 opv 数组和 iAxisComponentsArray 数组当中, 转换的关系图如图 2 所示 :
该步骤可以进一步细分为 :
1) 计算人体的方向和位置
令
Yaw = gpo(6)×3.1415926÷180
Pitch = gpo(5)×3.1415926÷180
Roll = gpo(4)×3.1415926÷180
Xp = gpo(1)
Yp = gpo(2)
Zp = gpo(3)
然后, 令
cy = cos(Yaw)
sY = Sin(Yaw)
cP = cos(Pitch)
sP = Sin(Pitch)
cR = cos(Roll)
sR = Sin(Roll)
再令
iAxisComponentsArray(0) = cy×cP
iAxisComponentsArray(1) = sY×cP
iAxisComponentsArray(2) = sP
iAxisComponentsArray(3) = -sY×cR-cy×sP×sR
iAxisComponentsArray(4) = cy×cR-sY×sP×sR
iAxisComponentsArray(5) = cP×sR
iAxisComponentsArray(6) = sY×sR-cy×sP×cR
iAxisComponentsArray(7) = -cy×sR-sY×sP×cR
iAxisComponentsArray(8) = cP×cR
iAxisComponentsArray(9) = Xp
iAxisComponentsArray(10) = -Zp
iAxisComponentsArray(11) = Yp
则 iAxisComponentsArray 数组将临时保存人体的方向和位置数据。2) 计算人体 每一个肢节的姿势 ( 不包括手指 )
假设人体的某部分有两个相邻的肢节, 则这两个肢节间存在着类似于 “树干—— 树枝” 的关系, 而人体的总 “树干” 肢节则为人体的臀部。例如, 人的左前臂和左上臂这两 个肢节, 左上臂为 “树干” , 左前臂为 “树枝” ; 人的臀部、 腰部和胸部间, 腰部既是臀部的 “树 枝” , 又是胸部的 “树干” 。
假设有某两个相邻的肢节, 令 “树干” 肢节为 a 肢节, “树枝” 肢节为 b 肢节。则 gpo 数组中 a 肢节的翻滚角、 俯仰角、 偏航角数据分别为 gpo(iar)、 gpo(iap)、 gpo(iay), b 肢节 的翻滚角、 俯仰角、 偏航角数据分别为 gpo(ibr)、 gpo(ibp)、 gpo(iby)。令
aR = gpo(iar)×3.1415926÷180
aP = gpo(iap)×3.1415926÷180
aY = gpo(iay)×3.1415926÷180
bR = gpo(ibr)×3.1415926÷180bP = gpo(ibp)×3.1415926÷180 by = gpo(iby)×3.1415926÷180 然后令 cYa = cos(aY) sYa = Sin(aY) cPa = cos(aP) sPa = Sin(aP) cRa = cos(aR) sRa = Sin(aR) cYb = cos(by) sYb = Sin(by) cPb = cos(bP) sPb = Sin(bP) cRb = cos(bR) sRb = Sin(bR) 再令 MaT(0) = cYa×cPa MaT(1) = -sYa×cRa-cYa×sPa×sRa MaT(2) = sYa×sRa-cYa×sPa×cRa MaT(3) = sYa×cPa MaT(4) = cYa×cRa-sYa×sPa×sRa MaT(5) = -cYa×sRa-sYa×sPa×cRa MaT(6) = sPa MaT(7) = cPa×sRa MaT(8) = cPa×cRa Mb(0) = cYb×cPb Mb(1) = sYb×cPb Mb(2) = sPb Mb(3) = -sYb×cRb-cYb×sPb×sRb Mb(4) = cYb×cRb-sYb×sPb×sRb Mb(5) = cPb×sRb Mb(6) = sYb×sRb-cYb×sPb×cRb Mb(7) = -cYb×sRb-sYb×sPb×cRb Mb(8) = cPb×cRb 然后令 MatrixA(0) = Mb(0)×MaT(0)+Mb(1)×MaT(3)+Mb(2)×MaT(6) MatrixA(1) = Mb(0)×MaT(1)+Mb(1)×MaT(4)+Mb(2)×MaT(7) MatrixA(2) = Mb(0)×MaT(2)+Mb(1)×MaT(5)+Mb(2)×MaT(8) MatrixA(3) = Mb(3)×MaT(0)+Mb(4)×MaT(3)+Mb(5)×MaT(6)MatrixA(4) = Mb(3)×MaT(1)+Mb(4)×MaT(4)+Mb(5)×MaT(7)
MatrixA(5) = Mb(3)×MaT(2)+Mb(4)×MaT(5)+Mb(5)×MaT(8)
MatrixA(6) = Mb(6)×MaT(0)+Mb(7)×MaT(3)+Mb(8)×MaT(6)
MatrixA(7) = Mb(6)×MaT(1)+Mb(7)×MaT(4)+Mb(8)×MaT(7)
MatrixA(8) = Mb(6)×MaT(2)+Mb(7)×MaT(5)+Mb(8)×MaT(8)
其中, MatrixA 是一个代表 3×3 矩阵的数组。这个矩阵的值代表了 b 肢节相对于 a 肢节的方向变换, 即在肢节物体坐标系 3 个坐标轴 ( 也即自由度 ) 方向上的转动的变换的 叠加。令 3 个自由度的转动角顺序为先 α, 再 β, 最后 γ, 则:
α = arctan(-MatrixA(6)÷MatrixA(8))
β = arcsin(-MatrixA(7))
γ = arctan(MatrixA(1)÷MatrixA(4))
最后, 如果具体肢节的转动方向和坐标轴正轴的方向相同, 则将 α、 β、 γ 临时保 存在 opv(b1)、 opv(b2)、 opv(b3) 中, 其中 b1 和 α 相对应, 是 b 肢节相对于 a 肢节最先转动 的自由度, 同理 b2 和 β 相对应、 b3 和 γ 相对应 ; 如果相反, 则将 -α、 -β、 -γ 临时保存在 opv(b1)、 opv(b2)、 opv(b3) 中。 3) 计算人体手指每一个肢节的姿势
手指和其它肢节的计算有一些不同, 一是因为进行动作捕捉时未必会捕捉两只手 的数据, 二是因为动作捕捉设备自带软件输出的手指数据只包括手指关节的位置数据, 不 包括欧拉角形式的、 手指肢节的方向数据。所以, 如果在动作捕捉时不捕捉手部的动作, 则 可以省略此步骤 ; 如果在捕捉时只捕捉一只手的动作, 则只计算一只手的数据, 另一只不进 行计算 ; 如果捕捉了两只手的动作, 则计算两只手的数据。 具体的计算方法以右手为例进行 说明, 左手参照右手。
令 gpo(r)、 gpo(p)、 gpo(y) 分别为右手的翻滚角、 俯仰角和偏航角, 则:
Yaw = gpo(y)×3.1415926÷180
Pitch = gpo(p)×3.1415926÷180
Roll = gpo(r)×3.1415926÷180
再令
cy = cos(Yaw)
sY = Sin(Yaw)
cP = cos(Pitch)
sP = Sin(Pitch)
cR = cos(Roll)
sR = Sin(Roll)
再令
MatrixO0_Hand(0) = cy×cP
MatrixO0_Hand(1) = sY×cP
MatrixO0_Hand(2) = sP
MatrixO0_Hand(3) = -sY×cR-cy×sP×sR
MatrixO0_Hand(4) = cy×cR-sY×sP×sR
MatrixO0_Hand(5) = cP×sR
MatrixO0_Hand(6) = sY×sR-cy×sP×cR
MatrixO0_Hand(7) = -cy×sR-sY×sP×cR
MatrixO0_Hand(8) = cP×cR
令 gpo(ax)、 gpo(ay)、 gpo(az) 分别表示手指根部关节 a 的 x、 y、 z 坐标, gpo(bx)、 gpo(by)、 gpo(bz) 分别表示手指除根部关节外离手掌较近的关节 b 的 x、 y、 z 坐标, 则:
dx = gpo(bx)-gpo(ax)
dy = gpo(az)-gpo(bz)
dz = gpo(by)-gpo(ay)
再令
v(0) = dx×MatrixO0_Hand(0)+dy×MatrixO0_Hand(1)+dz×MatrixO0_Hand(2)
v(1) = dx×MatrixO0_Hand(3)+dy×MatrixO0_Hand(4)+dz×MatrixO0_Hand(5)
v(2) = dx×MatrixO0_Hand(6)+dy×MatrixO0_Hand(7)+dz×MatrixO0_Hand(8)
再令
opv(y) = arcsin(v(1)÷(sqr(v(0)×v(0)+v(1)×v(1)))) opv(p) = -arcsin(v(2)÷(sqr(v(0)×v(0)+v(2)×v(2))))
同时令
oneoverModule = 1÷(sqr(dx×dx+dy×dy+dz×dz))
再令
VectorV0(0) = dx×oneoverModule
VectorV0(1) = dy×oneoverModule
VectorV0(2) = dz×oneoverModule
其中, opv(y)、 opv(p) 分别表示手指根部关节相对于手掌的偏航角、 俯仰角。需注 意左手时 :
opv(y) = -arcsin(v(1)÷(sqr(v(0)×v(0)+v(1)×v(1))))
计算手指除根部外的其它关节的角度的方法是 : 令 gpo(ax)、 gpo(ay)、 gpo(az) 分 别表示手指离手掌较近的关节 a 的 x、 y、 z 坐标, gpo(bx)、 gpo(by)、 gpo(bz) 分别表示手指 离手掌较远的关节 b 的 x、 y、 z 坐标, 令
dx = gpo(bx)-gpo(ax)
dy = gpo(az)-gpo(bz)
dz = gpo(by)-gpo(ay)
再令
oneoverModule = 1÷(sqr(dx×dx+dy×dy+dz×dz))
再令
VectorV1(0) = dx×oneoverModule
VectorV1(1) = dy×oneoverModule
VectorV1(2) = dz×oneoverModule
最后令
opv(p) = arccos(VectorV0(0)×VectorV1(0)+VectorV0(1)×VectorV1(1)+Vec
torV0(2)×VectorV1(2))
opv(p) 即为 a 关节的弯曲角度。
同时, 再令
VectorV0(0) = VectorV1(0)
VectorV0(1) = VectorV1(1)
VectorV0(2) = VectorV1(2)
将其进行迭代运算, 可直至求出手指最末端关节的角度。
步骤五、 将转换完成的动作数据以 Automation API 的方式赋给 DELMIA
DELMIA 提供了两种主要的方式可对其进行二次开发, 一种是出售 CAA 开发包, 但 价格非常昂贵, 甚至比 DELMIA 软件还要贵 ; 另一种是 DELMIA 本身免费提供的 Automation API 方式, 本发明即采用此方式。通过该方式, DELMIA 提供了一系列函数, 可以对其进行 调用、 操作。其中, 可以操作 DELMIA 里虚拟人的姿态的函数为 SetPostureValues 函数, 其 参数即为 opv 数组 ; 可以操作虚拟人方向和位置的函数为 SetPosition 函数, 其参数即为 iAxisComponentsArray 数组。
赋值后, DELMIA 中的虚拟人的动作即和动作捕捉设备自带软件输出的人体动作相 一致。由于动作捕捉设备所捕捉的人体动作和其自带软件记录、 输出的人体动作之间有可 能存在一定的误差, 当这种误差小到肉眼可以忽略不计的时候, DELMIA 中的虚拟人的动作 即和穿着动作捕捉设备的人员的实际动作相一致。
步骤六、 重复步骤二到步骤五
将动作数据转换完成并输入到 DELMIA 中的虚拟人使其动作后, 此即标志着一帧 动作的完成。 然后开始下一帧动作, 重复步骤二到步骤五, 直到不再进行动作捕捉或动作捕 捉设备自带软件不再发送捕捉到的动作数据为止。
实施例
本实施例以 Measurand 公司的光纤式动作捕捉设备所捕捉到的一帧动作数据为 例进行说明。其自带软件 ShapeRecorder 所捕捉到的人体动作如错误!未找到引用源。所 示。
该设备包含了两只手套, 所以可以捕捉到两只手的动作。接收到的动作数据临时 保存在 gpo 数组中, 共有从 1 到 235 共 235 个数据, 如表 1 所示。
表 1 gpo 数据列表
序号 1 2 3 数值 -670.15 998.78 -114.53 序号 48 49 50 数值 15.03 -247.04 1028.98 序号 95 96 97 数值 -72.97 -108.6 -542.92 序号 142 143 144 数值 -73.6 944.1 -495.6 序号 189 190 191 数值 5.8 -174.3 917.5
10CN 102521464 A 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 -3.76 -5.8 -0.03 0 -11.4 90.41 -425.69 1394.63 -395.35 -7.47 -62.72 33.62 -330.27 1172.44 -458.8 -63.93 -41.59 12.18 -147.52 1006.47 -498.24 -63.26 -44.84 3.17 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 53.17 71.09 -57.7 13.77 0 0 0 0 0 0 -678.96 911.52 -229.02 11.11 -65.36 5.26 -512.88 547.95 -244.3 146.93 -81.54 142.36 -563 122.64说98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121明书145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 -48 905.3 -474.6 -37.6 883.6 -455.1 -29.2 864.4 -436.5 -91.6 928.4 -503.3 -64.2 894.4 -483.4 -56.4 877 -460.3 -53.9 864.3 -436.6 -110.3 924 -508.7 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 2159/13 页 -15.7 -173 894.4 -34.7 -177.2 878.1 -54.6 -201 949.1 18 -196.1 909.2 -13.5 -201.5 890.7 -37.7 -215.1 884 -61.3 -219.1 938.6 31.8 -207.7 897.3173.66 240.45 -24.69 -35.92 -22.55 -431.35 86.15 286.77 -19.79 2.27 -6.64 -337.33 1626.28 -218.28 -2.33 -21.05 -7.74 -483.63 1324.33 -177.81 -12.25 -28.14 -5.3 -72.311CN 102521464 A 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
0 0 0 0 0 0 0 10.78 -89.45 -421.93 1469.44 -2.43 -30.32 -66.06 -62.48 -375.06 1240.95 87.54 70.67 -57.98 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 -282.96 0.82 -37.88 -2.54 -445.37 31.05 -277.73 0.65 1.68 -3.07 -677.48 927.2 10.46 -33.21 -58.87 -32.34 -502.76 584.79 121.07 -104.87说122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141明书169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 -87.5 900.1 -490 -78.2 887.3 -473.3 -71.8 875.5 -453.4 -188.1 1010.7 -7.8 -175.7 975.1 -13 -172.8 945.4 -15.7 -184.9 956.8 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 23510/13 页 10.1 -208.6 875.4 -10.4 -215.1 860.3 -31.8 -235.1 939.2 43.6 -220 910.2 24.3 -211.9 892.9 11.5 -213.5 880 -8.7 19101351007.7 -455.2 -41.7 985.4 -451.9 -12.9 977.7 -448.5 -57.2 956.4 -489.1 -25.9 926 -474.6 -10 906.9 -457.8 -0.8 892.2 -438.4计算后得到的 iAxisComponentsArray 数组如表 2 所示。 表 2 iAxisComponentsArray 数据列表12CN 102521464 A 序号 0 1 2 3 4 5 6 7 8 9 10 11
序号 0 1 2 3 4 5 6 7 数值 0.184038089865327 0.314926259541073 0.228952556695146 0.52138671063068 0.227933461315242 0.494767919630044 0.108195579702873 0.469603582900196 序号 46 47 48 49 50 51 52 53说数值明书11/13 页0.994880572452694 -5.20918297207002E-04 -0.101056297182946 -6.10452524088039E-03 0.997850826145967 -6.52415782411447E-02 0.1008730951631 6.55244794251704E-02 0.992739221179599 -670.15 114.53 998.78计算后得到的 opv 数组如表 3 所示。 表 3 opv 数据列表数值 0.368318556927405 -2.0644135581E-02 0.662074696957194 0.28348720341763 0.26486256556277 -3.83851851578E-02 0.44856871306601 0.240872273298108序号 92 93 94 95 96 97 98 99数值 4.38179577778E-03 0.011517098709404 1.55202948177E-02 4.381795777787E-03 0.011517098709404 0.011640221113329 4.38179577778E-03 0.01151709870940413CN 102521464 A8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 5.200344611132E-02 0.281411039034772 0.019392658381421 0.503949339142358 0.266707629876294 0.289416047746366 0.166192012934594 0.325319108556933 0.367599524708788 -3.809469252296E-02 0.41948455662883 -0.143189218987736 -7.392483536665E-03 0.128442699948092 0.934209068290847 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68说明书100 101 102 103 104 105 106 107 108 109 110 111 112 113 11412/13 页0.011640221113329 3.28634683334E-03 0.011517098709404 0.011640221113329 2.19089788889E-03 0.011517098709404 0.011640221113329 2.19089788889E-03 1.34366151609E-02 1.55202948177E-02 2.19089788889E-03 0.01727564806410 2.32804422266E-02 1.82574824074E-03 1.53561316125E-020.244905462198495 0.439883710226011 -7.69565185990E-02 6.188785089972E-04 -1.26533243869E-02 1.06099263289446 0.604670367536386 0.999677589240799 0.185309050478051 0.689144585263836 -2.97817514529E-05 6.389070761478E-05 -6.94205194977E-02 -9.62830939099E-04 2.732220729611E-0223 24 25 26 27 28 29 30 310.330568748156127 0.997281168671002 0.424639494771559 0.935886932522163 -9.478383942028E-03 2.671756652326E-03 -4.473341560137E-02 -7.391162916579E-02 0.1077912437661669 70 71 72 73 74 75 76 77-7.39564086222E-05 0.546353842667605 4.69590165000E-02 0.224666048082743 0.564081570332284 1.720730190421E-03 -0.25600674158459 -0.25207179792575 6.280665195036E-02115 116 117 118 119 120 121 122 1233.88007370444E-02 1.46059859259E-03 0.011517098709404 4.65608844533E-02 1.46059859259E-03 0.011517098709404 6.20811792710E-02 1.46059859259E-03 1.53561316125E-02
14CN 102521464 A 32 33 34 35 36 37 38 39 40 41 42 43 44 45 -6.67776822491E-05 0.546933162630052 0.143232452622239 9.504847590137E-02 0.531884402989019 0.557300353296777 6.733604681387E-02 0.160971234191241 0.384409728372327 0.293481208379191 0.378973549561685 -4.453584371591E-02 0.43163786665231 0.482969608301604 78 79 80 81 82 83 84 85 86 87 88 89 90 91说明书124 125 126 127 128 129 130 131 132 133 134 135 13613/13 页 6.98413266799E-02 1.46059859259E-03 0.011517098709404 7.76014740888E-02 1.46059859259E-03 0.005758549354702 0.15520294817771 0 0 0 0 0 0-0.10240269663383 -2.80079775473E-02 7.30299296297E-03 0.011517098709404 1.552029481777E-02 6.207544018531E-03 0.011517098709404 1.552029481777E-02 5.477244722234E-03 0.011517098709404 1.5520294817771E-02 5.1120950740851E-03 0.011517098709404 1.5520294817771E-02
计算后得到的 DELMIA 中的虚拟人的动作与动作捕捉系统是一致的。
用无线光纤动作捕捉系统在 DELMIA 虚拟环境下实现沉浸式虚拟维修, 虚拟人的 操作数据完全来自真人的维修操作动作, 具有更强的真实性, 从而使得维修性分析、 评估结 果也更加有效。这样也就促使维修性设计工作的开展不再依赖于物理样机或实际装备, 可 以在产品设计同时并行考虑维修性问题, 发现可能存在的维修性设计缺陷, 提出改进建议, 进而可以在装备设计阶段就对原始设计方案进行修改, 避免对定型产品进行维修性再设计 带来的产品再设计的麻烦与经济损失。