MotrixSim

Technical Report

让物理交互成为可规模化生成的学习资源

Motphys

目录 / Contents

1认识 MotrixSim

AI 正在从数字世界走向物理世界。汽车、工业装备、工程机械与机器人,正在从执行预设程序的设备,走向能够感知环境、调整决策并持续改进行为的智能系统。它们的形态和任务各不相同,却面对同一个挑战:如何在复杂、多变且试错成本高昂的现实世界中,获得可靠的行动能力。

仿真的角色也随之扩展。过去,仿真主要用于回答“这个结构是否可靠”“这辆车在该工况下如何响应”“这套控制方案是否满足要求”——人提出设计,仿真帮助人分析和验证。物理 AI——即需要通过感知、决策和控制作用于物理世界的智能系统——带来了另一种使用方式:智能系统在虚拟环境中反复尝试,在不同载荷、摩擦、地形和扰动下积累交互经验,通过合成观测训练感知、通过物理反馈改进行为,并在部署之前探索危险、罕见或高成本的工况。仿真不再只是智能系统开发完成后的考场,也开始成为其能力形成过程中的训练场。 这要求仿真同时具备可信的物理交互、高效的计算和多模态的环境反馈。

MotrixSim 围绕这一需求构建面向物理 AI 的仿真基础设施:通过精细接触、复杂几何与多体动力学描述动作的物理后果,通过 CPU/GPU 并行计算扩大测试与学习的规模,通过视觉、几何感知和触觉连接环境观测与行为反馈。其目标不只是让一个虚拟场景运行起来,而是让物理交互能够被反复生成、系统探索,并用于智能系统的训练、验证与优化。

支撑这一切的,仍是物理仿真中准确性与计算效率的平衡:更精细的几何、更复杂的接触和更严格的数值求解,通常意味着更高的计算成本,而不同行业、不同任务对这一平衡的要求并不相同。只追求精度,可能限制训练与迭代速度;只追求吞吐,则可能丢失决定任务成败的物理细节。 我们关注的不只是每秒能够推进多少仿真步,而是在有限的计算预算内,能够提供多少对目标任务有价值的物理交互——从机器人操作到车辆控制,从工业机构到工程装备,降低物理经验的获取成本,让更多高成本、高风险的探索先在虚拟世界中完成。

能力地图
能力大类功能与案例
物理仿真多体动力学、接触与抓取、滚动摩擦与旋转动力学、闭链机构与约束、SDF 精细碰撞、车辆动力学仿真、柔性体仿真、大规模并行仿真
渲染PBR 渲染、3DGS 混合渲染、BatchRender
传感器传感器概览、高性能激光雷达仿真、高精度触觉传感器、视觉传感器
运动规划与控制运动规划库、规划基准测试
开发工作流资产接入与格式支持、Real2Sim:从真实场景到可交互仿真、Forge 资产工具、编辑器与场景调试

2物理仿真

2.1多体动力学

多体动力学描述的是多个刚体通过关节连接后形成的整体运动。 从人形与四足机器人,到机械臂、灵巧手和工程机械,MotrixSim 可用于建模和仿真它们的整体运动。一个关节的动作、一次接触或负载变化,都可能通过关节连接影响其他部件的姿态与受力。

MotrixSim 中的人形机器人、四足机器人、移动操作机器人、机械臂、灵巧手与轮式装载机等多种多体系统
不同形态的多体系统示意图:人形机器人、四足机器人、移动操作机器人、机械臂、灵巧手与轮式装载机。图由 MotrixSim 渲染。

多体动力学的关键,不是分别推进每个部件,而是把整套关节系统作为一个耦合的整体求解。 MotrixSim 用广义坐标描述各关节允许的运动,用质量矩阵表示不同部件和关节之间的惯性耦合,再将重力、驱动、阻尼、接触和外部扰动统一映射为作用在系统上的广义力。一个关节的动作或一次接触产生的力,因而会通过动力学耦合传递到其他部件。

广义坐标下的多体系统整体求解示意:机器人关节状态、动力学模型和外部力共同决定整机响应
广义坐标下的多体系统整体求解示意。关节状态、质量与惯性以及外部力共同进入动力学计算,并通过关节耦合影响整机响应。

关节约束会直接进入同一个求解过程。 在每个仿真步中,求解器同时处理关节连接、关节限位、接触和摩擦等约束,计算满足这些约束所需的广义冲量或约束力。这样,关节运动不是先独立积分、再用几何修正强行拉回,而是在动力学求解中保持关节允许的相对运动;闭链机构的装配关系也能随驱动和外部受力共同响应。

整体求解带来的价值,是让局部输入产生符合系统结构的全局响应。 改变机械臂末端负载,影响的不只是末端,而是整条运动链上的关节受力;四足机器人落地时,足端接触力也会通过腿部传递到躯干。开发者因此可以在同一仿真中验证负载变化、关节驱动、外部扰动与环境接触之间的相互作用。

2.2接触与抓取

几乎所有的多体系统都通过接触与环境物体发生相互作用,而在接触仿真中,抓取实验尤为关键,其考验了仿真器在精密富接触下的稳定性与物理真实性。 我们期望设计定性/定量的实验,来考察仿真器在相关任务仿真中的表现。

以下是Franka机械臂对不同形状物体的抓取测试。我们在几个不同的仿真器中,用相同的控制轨迹去让Franka抓取物体,并进行抗扰动对比。

抓取物体包括球、方块、瓶子。 仿真步长为2 ms / 10 ms

下表展示了各仿真器的配置与实验结果。

多形状、双步长抓取抗扰动测试
引擎与配置球方块瓶子
2 ms10 ms2 ms10 ms2 ms10 ms
MotrixSim●●●●●●
Isaac Sim●●●●××
Genesis××●●●●
MuJoCo Euler××××××
MuJoCo Implicit××××××
MuJoCo Implicit + no-slip××××●×

● 通过 × 掉落。通过表示运行至 20 s 未触发掉落判据,不代表无滑移。我们发现MotrixSim在多种物体形状和不同步长下均能保持抓取稳定性。

完成上述定性测试后,我们进一步定量评估仿真器在摩擦锥临界处的表现是否与理论保持一致。 对双指夹持的静止方块,若 N 为两侧法向夹持力大小之和,库仑摩擦模型给出的支撑条件为 μN ≥ mg,对应临界摩擦系数 μcrit = mg/N。测试从稳定抓取状态出发,在临界值附近调整摩擦系数,并继续仿真 5 秒观察下滑量。

双指夹持方块的摩擦临界测试示意:关节驱动力矩、两侧法向夹持力、向上的摩擦力和向下的重力共同决定抓取稳定性
双指夹持方块的量化测试设置。图中标出代表性关节驱动力矩,以及两侧法向夹持力 N1、N2、向上的摩擦力 f1 + f2 和重力 mg;临界条件为 μcrit(N1 + N2) = mg。

下表展示临界摩擦附近的三个代表性测试点。MotrixSim 在 0.98 倍临界值时滑落,在临界值及其上方保持;两种 MuJoCo 配置在临界值处均发生滑落,FastImplicit 在 1.10 倍临界值时的下滑量减少到 11.3 mm,但仍被原测试判为滑移。

临界摩擦附近的下滑量与理论一致性(mm,仿真 5 秒)
μ / μcrit理论预期MotrixSimMuJoCo EulerMuJoCo FastImplicit
0.98滑落150.0 mm✓ 符合153.2 mm✓ 符合150.9 mm✓ 符合
1.00保持0.0 mm✓ 符合151.2 mm× 偏离151.7 mm× 偏离
1.10保持0.0 mm✓ 符合150.5 mm× 偏离11.3 mm× 偏离

✓ 符合理论预期× 偏离理论预期 判断依据是“低于临界摩擦系数时滑落,高于或等于临界值时保持”。

这组结果说明,在所测试的夹持条件下,MotrixSim 不仅能够保持抓取,还能在临界摩擦附近呈现与理论预期一致的保持与滑落行为。对于依赖接触反馈的控制与策略学习,这比单纯展示一次成功抓取更有意义:仿真需要提供可信的物理边界,而不只是让物体不掉落。

2.3滚动摩擦与旋转动力学

除却滑动摩擦,滚动摩擦在轮式结构的仿真中也扮演重要角色。它不仅影响滚动衰减,也影响旋转物体的运动轨迹。下面通过斜面落球与后旋球两个物理场景,来评测物理引擎在滚阻摩擦上的准确性。

滚动阻力实验

滚动阻力实验原理示意:接触变形与能量耗散产生滚动阻力矩,比较临界滚阻系数两侧的小球停稳与持续下滚行为
滚动阻力实验原理示意。通过比较临界滚阻系数两侧的小球运动,检验仿真引擎能否正确复现斜面上的停稳与持续下滚。

滚阻力矩阻碍物体滚动,并在滚动过程中耗散能量。本场景中,以球半径和斜面倾角计算,临界滚阻系数为 0.1823 m0.1823\,\mathrm{m}。超过这一系数,小球应逐渐减速并停在斜面上;低于这一系数,小球应继续沿斜面滚下。 下面分别取略高于临界值的 0.183 m0.183\,\mathrm{m} 和略低于临界值的 0.182 m0.182\,\mathrm{m},比较两个引擎的表现。

MotrixSim 清晰呈现了临界值两侧的运动差异: 系数为 0.183 时,小球减速并停稳在斜面上;系数降至 0.182 时,小球持续下滚。MuJoCo 在两种设置下均未能停在斜面上,小球一路下行,最终停在坡底平地。

左列:MotrixSim;右列:MuJoCo。

另外我们在测试中发现,MuJoCo在该实验中表现出高频的接触状态切换与法向力剧烈波动,反映了其数值求解在这一场景下的稳定性不足。短短约 20 毫秒内,小球经历触地、离地和再次触地,法向力从约 670 牛降至零,又升至约 672 牛。反复离地使接触提供的滚阻力矩频繁中断,小球一路跳下斜面,未能在超过临界滚阻系数时停稳。相比之下,MotrixSim 能够稳定呈现临界值以上的斜面停稳,以及临界值以下的持续下滚。

后旋球实验

后旋球类似台球中的“拉杆球”:球向前运动,同时带有强烈的反向旋转,随后在摩擦作用下减速、反向。

后旋球实验原理示意:接触摩擦耦合球体的平动与旋转,强后旋条件下小球减速并反向运动
后旋球实验原理示意。检验仿真引擎能否正确复现摩擦对平动与旋转的耦合,以及本场景下小球减速、反向和持续贴地的行为。

在本场景的理想硬接触模型中,球初始贴在水平地面上,没有竖直撞击或弹性储能。摩擦力沿地面作用,改变球的水平速度与转速;支持力与重力平衡,竖直合力为零,因此球应持续贴地。

左:MotrixSim 持续贴地,水平速度贴合理想硬接触理论(紫色虚线)。右:MuJoCo 明显弹离地面,偏离该模型的预期。理论曲线在无滚动阻力条件下进入纯滚动后保持恒速。两侧同步以 0.5 倍速度慢放,首尾定格。

2.4闭链机构与约束

有些机械系统的运动,不是由一条关节链决定的,而是由多个闭环共同约束。 这类机构中,一个驱动输入会通过连杆传递到多个支路;每个连接点都必须保持正确的位置关系,局部误差还可能沿机构传到另一侧。MotrixSim 将闭环约束与多体动力学一起求解,使机构在运动过程中保持装配关系。

Strandbeest 多足闭链机构:一个曲柄驱动多条腿协同运动,连杆在行走过程中保持闭环连接。

Strandbeest 把这个问题直观地展示出来。 该模型包含 12 条腿、92 个连杆和 36 个闭合运动环路,所有腿由同一个曲柄驱动。仿真不是逐条播放腿部轨迹,而是根据曲柄输入、连杆质量与闭环约束,计算整台机构的运动响应;因此改变驱动速度或初始姿态,整组腿的相位和落脚运动会随之变化。

这种建模方式也适用于连杆机构、折叠机构和带内部闭环的机器人。开发者可以在同一个场景中组合关节驱动、接触和闭环约束,观察机构运动、地面接触与外部扰动之间的相互影响。

2.5SDF 精细碰撞

在灵巧抓取、齿轮配合、精密装配等依赖精确几何碰撞的任务中,凹槽、齿面、曲率变化等局部几何不能被简单的球、盒或单个凸包准确替代;一旦这些细节被填平或覆盖,接触位置和可运动空间也会随之改变。

MotrixSim支持用有符号距离场(SDF),以空间位置到表面的有符号距离表示复杂曲面与非凸结构,保留物体的关键几何特征。该能力支持运动物体与静态环境,以及复杂 SDF 形状之间的多点接触,使局部轮廓能够参与物体的支撑和运动约束。

SDF 碰撞原理示意:以距离场表示非凸表面,并在局部表面确定接触位置与法向
SDF 碰撞原理示意:距离场描述非凸形体的局部轮廓,为接触位置与法向的计算提供几何信息。

下面通过MotrixSim中实际的三个仿真场景展示这项能力

左:灵巧手抓取苹果,展示不规则曲面的多指接触;中:齿轮啮合,展示非凸齿形的接触与动力传递;右:小球沿螺旋滑槽运动并逐渐静止。三段素材等比裁切为三栏同屏,保持原速播放;较短片段结束后定格。

2.6车辆动力学仿真

MotrixSim 可以做车辆动力学仿真,并且具备完成一辆可信虚拟车辆所需的各项能力:悬架与轮胎的建模元件、实测数据标定流程、场景工况展示、实时运行与大规模并行采样。本节通过元件配置示例与整车工况演示展示这些能力:弹性元件图采用合成示例数据,轮胎拟合图采用公开的 KIT TYDEX 台架数据;整车视频使用独立标定模型,展示车辆动力学行为。

车辆以 70 km/h 通过坡桥,展示腾空与落地过程中的悬架响应和车身姿态变化。

MotrixSim 支持非线性悬架建模,并通过 XML 配置组织可复用的车辆资产。 弹簧刚度可以随行程变化,阻尼可以通过速度–阻尼系数表或速度–力表描述,压缩与回弹两侧可分别配置,从而表达渐进刚度、非线性阻尼等特性。阻尼档位还可在运行时切换,用于半主动悬架控制。

悬架元件及其特性数据随 XML 模型统一配置,调整弹簧或减振器特性时,只需替换相应参数与数据表,即可复用车辆资产和仿真流程。下图以合成示例数据展示非线性弹簧与阻尼特性。

非线性弹簧的行程-刚度曲线与减振器的速度-力曲线
非线性悬架特性示例:左为随行程变化的弹簧刚度,右为压缩与回弹不对称的阻尼力。圆点与方点为配置采样点,曲线为样条插值;采用合成示例数据。

MotrixSim 把 Magic Formula 放进接触约束链,而不是作为每帧外部力单独施加。 碰撞检测先根据轮胎与路面的几何关系建立法向和切向接触约束,并通过自定义接触斑生成方法描述轮胎与路面的实际接触区域。

随后,模型根据接触点的法向载荷和轮胎局部速度计算滑移率与侧偏角,再用 MF 本构得到纵向、侧向力的目标响应。求解器把这些响应与法向支撑、摩擦边界和整车质量矩阵放进同一个约束系统,求出接触冲量及其对车轮和车身的反作用力;车身姿态和各轮载荷更新后,下一时间步继续计算。这种统一求解使轮胎力经过悬架真实传递到车身,载荷转移又能反过来改变轮胎抓地力;加速、制动、转向和路面起伏因此可以在同一模型中自然组合,无需额外拼接外部力规则。

轮胎模型开销很小,每条轮胎仅占用三条求解约束,天然适合大规模并行仿真。拟合流程在公开 KIT TYDEX 数据集(32 个文件、1015 个工况点)上验证,峰值力系数误差中位数在 3% 以内[1];垂向接触刚度可按台架反标定到目标值。公式与符号定义见附录。

轮胎接触几何的侧视和俯视:轮胎底部与地面相切,法向支撑力向上,纵向和侧向速度位于路面平面内
侧视展示轮胎与地面的接触及向上的法向支撑力 Fz;俯视展示轮胎朝向与速度方向之间的侧偏角 α。Magic Formula 根据滑移和法向载荷描述纵向力 Fx 与侧向力 Fy。
KIT 台架数据拟合的 Magic Formula 纵向与侧向力特性曲线,三个垂向载荷
基于 KIT TYDEX 台架数据拟合的 Magic Formula 曲线:左为纵向力–滑移率,右为侧向力–侧偏角,展示轻载、标称与重载下的轮胎特性及载荷敏感性。

场景工况展示涵盖飞坡、连续减速带、蛇形转向与紧急变线。 过桥起伏呈现车辆上桥抬头、下桥俯冲过程中的悬架响应,连续减速带对比不同车速下的车轮跳动与车身振动,蛇形转向和紧急变线展示快速转向中的车身侧倾、横向摆动与轨迹跟随。

依次展示 40 / 20 km/h 连续减速带、蛇形转向与 120 km/h 紧急变线,呈现悬架响应、车身侧倾与轨迹跟随。

性能方面,整车仿真保持实时,并可扩展到大规模并行采样。受测整车(103 个速度自由度)在 5 ms 步长下以 60 km/h 巡航 20 s,单核纯物理耗时 0.27 ms/步,约 18.5 倍实时†;Newton 求解器平均迭代 1.01 次,4000 步中无一次触及迭代上限。扩大到异步并行采样,1024 个环境稳定采集 17,716 步/秒†——这是采样吞吐,不代表上层应用等比加速。测试条件见附录。

运行性能
工况结果
单环境巡航(103 自由度,5 ms)0.27 ms/步,约 18.5 倍实时
并行采样,1024 环境17,716 steps/s

2.7柔性体仿真

MotrixSim支持MPM柔性体仿真。 MPM 用粒子表示材料状态,并在每个时间步中通过 Particle-to-Grid、网格更新和 Grid-to-Particle 完成动量传递与形变更新。它适合描述软体在受力后的压缩、回弹和大变形。

为了验证柔性体仿真的批量性能,MotrixSim 与 Genesis 使用相同的 Fixed-Corotated 软立方体落地配置,包括粒子阵列、网格间距、材料参数、重力、时间步和地面摩擦。

MotrixSim 与 Genesis 的 Fixed-Corotated 软立方体落地对比:相同粒子初态、材料参数与时间步,两侧均出现落地压缩和回弹
MotrixSim(左)与 Genesis(右)的柔性体落地对比。
Fixed-Corotated MPM 在 64、128、512、1024、2048 worlds 下的批步耗时与环境步吞吐
MPM world scaling:每个 world 包含 1000 个粒子。
Fixed-Corotated MPM world scaling
WorldsMotrixSim stepMotrixSim throughputGenesis stepGenesis throughput
641.706 ms37,507 env-steps/s6.018 ms10,634 env-steps/s
1282.928 ms43,711 env-steps/s6.883 ms18,596 env-steps/s
51212.029 ms42,565 env-steps/s16.061 ms31,878 env-steps/s
102423.107 ms44,316 env-steps/s29.402 ms34,828 env-steps/s
204847.284 ms43,312 env-steps/s54.241 ms37,758 env-steps/s

在此基础上,MotrixSim 进一步支持刚柔耦合仿真。 刚柔耦合仿真的准确性对于机器人柔性体操作任务至关重要。 以下视频展示了机械臂海绵夹取任务在MotrixSim中与在真机执行中的效果对比。

我们在仿真中重建机械臂与真实海绵材质的动力学参数,从而在仿真中完成与现实中几乎一致的夹取行为。海绵的大变形会改变接触面积和反力;机械臂的刚体动力学也会受到柔性体接触的反作用。MotrixSim 在同一个仿真环境中推进两种物理表示,使接触和约束能够在机械臂运动与海绵形变之间传递。

2.8大规模并行仿真

要将仿真应用到机器人强化学习,大规模的并行仿真吞吐是一个必不可少的能力。 强化学习依赖仿真环境的大规模交互采样,为策略优化提供梯度数据。

大规模并行仿真与机器人强化学习 pipeline 示意图:多个仿真环境并行产生交互数据,经过 rollout buffer 用于策略更新,并将更新后的策略反馈给仿真环境。
大规模并行仿真将多个环境产生的交互数据汇总到强化学习更新流程中。

MotrixSim同时支持CPU仿真与GPU仿真,并且在两种设备类型上都能高效的推进大规模并行环境仿真。以下是MotrixSim在4096个并行环境下仿真的吞吐测试表现,我们同时测试设备包括消费级CPU(AMD 9950x), 服务器CPU(AMD EPYC 9j14),以及高性能GPU(RTX 5090)。

4096 环境下 Go2、G1、Spot 与 Shadow Hand 右手的 CPU/GPU 物理步进吞吐,包含 Ryzen 9 9950X、AMD EPYC 9J14 和 RTX 5090 路径,单位为 physics steps/s。
MotrixSim 在 4096 个并行环境下的物理步进吞吐测试

在测试中我们发现,MotrixSim通过高效的并行化调度和批量计算,能够充分利用多核 CPU 和高性能 GPU 的计算能力,从而在CPU上提供与GPU相当量级的物理仿真吞吐(数百万物理步每秒)。 这种异构设备的高效利用,允许我们针对不同的硬件配置,选择最优的仿真执行路径,从而在端到端的训练闭环中实现更高的效率。

MotrixSim 异构仿真与异步强化学习训练流水线示意图:物理仿真、环境采样和策略学习并行协作,部分仿真负载可由 CPU 承担。
MotrixSim 通过异构仿真与异步采样,连接物理仿真和策略学习。

并行吞吐与异构设备仿真的价值最终体现在训练闭环的完成时间上。 在 G1 全身跟踪任务中,我们使用相同的任务环境配置(包括obs, reward),相同的RL算法(fastsac),以及相同的超参数配置进行对比测试。 MotrixLab(MotrixSim)训练达到目前跟踪得分的端到端时间约为 10.2 分钟;而 Holosoma(IsaacSim)参考结果为 130.8 分钟,两者相差约 12.8 倍。这组结果把底层的批量物理吞吐连接到机器人学习的实际工作流:更快地推进环境,意味着策略可以在相同时间内获得更多交互并更早完成训练。

G1 全身跟踪任务端到端训练时间对比 MotrixLab 使用 MotrixSim 训练耗时 10.2 分钟,Holosoma 使用 IsaacSim 训练耗时 130.8 分钟;MotrixLab 约为 Holosoma 的 12.8 倍速度。 0 50 100 150 训练时间(分钟) 10.2 130.8 MotrixLab MotrixSim Holosoma IsaacSim
G1 全身跟踪训练时间:MotrixLab 10.2 分钟,Holosoma 130.8 分钟。
G1 全身跟踪训练收敛曲线:横轴为训练时间,纵轴为 tracking score;MotrixLab 使用 MotrixSim,Holosoma 使用 IsaacSim,虚线表示 5.34 阈值,竖虚线标出 10.2 分钟和 130.8 分钟。MotrixLab 曲线按 mean episode length 对齐 Holosoma 的固定 episode-length 归一化口径。
G1 全身跟踪训练收敛曲线;虚线为 tracking score 5.34。
G1 多环境粗糙地形仿真演示。

3渲染

物理仿真决定机器如何运动和交互,渲染则将这些状态转化为可观察、可学习的视觉信息。对于物理 AI 任务,渲染不仅要还原环境外观,还要与物理场景保持一致,并支持将多个并行环境高效组织为策略训练所需的观测。本节先介绍真实场景外观与可控物理模型的混合呈现,再进一步说明面向批量环境的图像生成与观测输出。

3.1PBR 渲染

PBR(Physically Based Rendering,基于物理的渲染)用一组具有明确物理含义的材质参数描述表面如何响应光照。 MotrixSim 将材质、灯光与环境光照结合起来,使机器人和交互物体不仅具有颜色,还能呈现与材质属性一致的反射、高光、粗糙度和金属质感。对于视觉策略和仿真展示,这为后续的真实场景融合提供了统一的外观基础。

材质参数决定表面质感

PBR 材质主要由反射率(reflectance)、粗糙度(roughness)和金属性(metallic)控制。反射率决定非金属表面的反射强度;粗糙度决定高光的集中或扩散程度;金属性区分金属与非金属的光照响应。参数含义清晰且可直接配置,因此同一套模型可以通过调整材质参数表达塑料、橡胶、涂层金属等不同表面。

非金属 PBR 材质中,粗糙度从 0 到 1 变化带来的表面高光与反射差异
非金属材质(metallic = 0)中,粗糙度从 0 到 1 变化时的外观差异:粗糙度越低,高光越集中;粗糙度越高,反射越分散。
金属 PBR 材质中,粗糙度从 0 到 1 变化带来的表面反射差异
金属材质(metallic = 1)中,粗糙度从 0 到 1 变化时的外观差异。

屏幕空间全局光照

屏幕空间全局光照(Screen Space Global Illumination,SSGI)为场景补充间接光照,增强物体的立体感与空间层次。 MotrixSim 在屏幕空间内近似模拟光线经表面反弹后的照明效果,并结合降噪与时空复用滤波,减少采样噪声。物体之间的遮蔽关系与表面间的色彩溢出因此更加鲜明,使材质与周围环境在视觉上更自然地融合。

开启 SSGI 后的渲染效果
关闭 SSGI 时的渲染效果
拖动中间滑块比较关闭与开启 SSGI 的效果:观察物体之间的遮蔽、间接光照与色彩溢出带来的明暗和色彩变化。

材质与光照共同决定了仿真物体的外观。下一节将介绍如何结合 3DGS 扫描场景,让这些物体融入真实环境的视觉背景。

3.23DGS 混合渲染

把真实场景的外观带入仿真,让机器人在扫描得到的环境中呈现。 MotrixSim 支持 3D 高斯泼溅(3D Gaussian Splatting,3DGS)与传统网格的混合渲染:扫描环境提供丰富的纹理与空间细节,机器人和操作物体保留可控的物理模型,并在同一画面中共同呈现。

视觉外观与物理表示可以分别组织。 开发者可以直接加载 .ply 或 .gcloud 资产作为场景视觉层,为参与交互的对象配置碰撞几何与惯量,减少逐物体重建环境外观的工作。3DGS 实例既可固定在场景中,也可绑定到运动物体,随物体位姿同步更新,适合视觉导航、操作与图像输入策略的场景构建。

G1 机器人在 3DGS 扫描场景中运动。扫描得到的环境外观与机器人网格在同一画面中呈现。

3DGS 与 PBR 网格结合,可以同时保留场景的视觉细节和对象的物理可控性。 3DGS 呈现扫描时记录的纹理、明暗与空间细节;机器人与可交互物体使用带 PBR 材质的网格和物理模型,保留碰撞几何、质量与惯量。这样构建出的场景既有接近真实环境的视觉输入,又能让机器人按照物理模型运动和交互,适合生成视觉策略所需的合成数据。

环境光照让材质融入场景

让机器人融入扫描场景,还需要让其受光与背景相协调。 3DGS 保留了扫描时的光照外观,而新加入的机器人网格需要单独计算光照。MotrixSim 支持从环境中生成基于图像的光照(Image-Based Lighting,IBL),为 PBR 网格提供环境光的漫反射与镜面反射贡献,使机器人的明暗、色调与高光更贴合周围场景。这里的 IBL 作用于网格材质的受光,3DGS 场景仍保留原有外观。

开启 IBL 后,机器人网格的明暗与反射更贴合 3DGS 扫描背景
关闭 IBL 时,机器人网格在 3DGS 扫描背景中的渲染效果
同一 3DGS 扫描场景中,关闭与开启 IBL 的机器人渲染对比。拖动滑块观察机器人表面的明暗、色调与高光变化;背景保留原有的扫描外观。

从仿真场景到合成数据

视觉场景准备好之后,MotrixGen 可以在仿真中执行任务并产出合成数据。 Real2Sim2Real 演示将这一过程放在同一画面中:左侧从一条轨迹逐步展开为 20 条仿真轨迹,展示 MotrixGen 在仿真场景中的任务执行与数据生成;右侧展示利用这些合成数据训练任务策略,并将策略部署到真实机器人上执行。

Real2Sim2Real 演示:左侧展示 MotrixGen 在仿真场景中执行任务并生成合成数据;右侧展示利用这些合成数据训练任务策略,再部署到真实机器人上执行。

3.3BatchRender

并行环境下的合批渲染 MotrixSim 的渲染器支持多环境、并行物理环境下的整批渲染,以输出维度为 (batch, tile_h, tile_w, Channel) 的图像。

并行环境的整批观测,每格一个环境;开头放大至局部后拉回全景。视频用于定性展示,不作为实时性能的测量依据。

维度含义 batch 是并行环境数,与物理数据的批量维对齐;tile_h、tile_w 是单个环境图块的高宽,即每个环境的观测分辨率;Channel 是通道数,RGB 为 3、RGBA 为 4。各环境图块在 atlas 内平铺,按第 0 维切片即可取出单个环境的图像,无需逐环境分别采集。

输出格式 相机按需输出 RGBA、Depth、SegmentationColor 与 IdColor:RGBA 为彩色图,Depth 仅输出深度,SegmentationColor 输出分割着色,IdColor 按对象 id 着色。各格式沿用同一批量布局,随观测配置切换;深度值的换算与分割映射的含义见视觉传感器。

四宫格输出格式对照:左上 RGBA、右上 Depth、左下 SegmentationColor、右下 IdColor
从左到右、从上到下依次为 RGBA、Depth、SegmentationColor 与 IdColor 四种输出格式。

图像即张量 渲染图像支持直接以张量形式供下游使用,除 GPU 内部的 atlas 线性化外,没有额外拷贝。数组形状即 (batch, tile_h, tile_w, Channel),第 0 维与物理数据的批量维一致,可直接作为策略网络的观测张量送入训练循环。

吞吐 固定 32×32 的 tile,把整批布局从 8×8 扩到 32×32,整批节拍由 6.9 ms 增至 87.6 ms,环境观测吞吐却从约 9,277 升到 11,690 观测/秒,单环境耗时由 0.108 ms 降到 0.086 ms——规模扩大时每次同步的固定开销被摊薄,吞吐略优于线性扩展。

环境数布局整批分辨率整批节拍p95环境观测/秒单环境耗时
648×8256×2566.90 ms7.69 ms9,2770.108 ms
25616×16512×51223.53 ms24.88 ms10,8800.092 ms
102432×321024×102487.60 ms93.74 ms11,6900.086 ms

分辨率 环境数与布局固定(256 个、16×16),把每环境 tile 从 32×32 提到 128×128,整批像素量涨了 16 倍,单次同步只从 23.53 ms 升到 24.56 ms。批渲染的开销主要来自每次同步的固定成本,而不是像素填充,因此提高观测分辨率几乎不付吞吐代价。

每环境 tile整批分辨率整批节拍环境观测/秒像素吞吐
32×32512×51223.53 ms10,88011.1 Mpx/s
64×641024×102423.68 ms10,81344.3 Mpx/s
128×1282048×204824.56 ms10,424170.8 Mpx/s
左图:64、256、1024 个并行环境的环境观测吞吐为 9,277、10,880、11,690 观测每秒,单环境耗时为 0.108、0.092、0.086 毫秒。右图:256 个环境下,tile 32×32、64×64、128×128 的像素吞吐为 11.1、44.3、170.8 百万像素每秒,整批节拍为 23.53、23.68、24.56 毫秒
左:固定 32×32 tile,整批规模由 8×8 增至 32×32 的环境观测吞吐(柱,从零起算)与单环境耗时(线)。右:固定 256 环境,tile 由 32×32 增至 128×128 的像素吞吐(柱)与整批节拍(线)。

4传感器

4.1传感器概览

MotrixSim 的传感器能力可以按观测来源分为四类,分别是本体状态、接触与触觉、环境几何和视觉观测。它们覆盖了从低维状态到高维图像的观测范围,并可按统一接口提供给控制、规划和强化学习模块。

MotrixSim 传感器概览:仿真场景通过本体状态、接触与触觉、碰撞几何感知和视觉观测生成统一批量观测,并服务于控制、规划与强化学习
MotrixSim 从本体状态、接触状态、碰撞几何和渲染场景生成多种观测,并通过统一批量接口提供给控制、规划与强化学习模块。

本体状态:读取机器人自身的运动

本体状态是控制器和策略网络最常用的低维输入。MotrixSim 可从机器人上的参考点(site)和关节读取自身的运动状态,包括位置、姿态、速度和加速度,覆盖反馈控制、运动估计和强化学习中的本体观测需求。

观测层级数据形态典型用途
局部与关节状态三轴运动量、关节状态反馈控制、运动估计、本体观测
对象与整体状态位姿、相对运动、质心与动量任务空间控制、稳定性分析、全身控制

接触与触觉:观察交互是否发生、如何发生

接触观测把碰撞求解中的局部交互转换为控制和策略可用的信号。它既可以用一个法向力标量快速判断接触,也可以保留接触点和力学细节;触觉仿真则进一步描述凝胶表面的变形,适用于精细操作。

观测层级数据形态典型用途
接触事件与力觉接触状态、法向力、接触点及力学属性触地检测、抓取反馈、碰撞分析
软接触与触觉marker 运动、三维位移场、法向变形精细抓取、视触觉观测

环境几何:直接查询物理碰撞场景

LiDAR 和 RaycastCamera 不依赖渲染器,而是直接对参与物理碰撞的几何体执行射线查询。它们输出距离、点云或表面信息,适合在无图形界面和大规模并行环境中构造环境观测。

数据形态典型输出典型用途
多束距离观测距离、世界坐标点云,可选采集时间与表面法线避障、地形感知、定位与建图
深度与表面观测深度、世界坐标命中点、表面法线深度感知、地形 / 高度采样

视觉观测:从渲染场景生成图像输入

视觉观测从渲染场景生成策略网络和视觉算法常用的图像输入。除了 RGB 彩色图像,还可以输出深度(Depth)以及按对象 id 着色的分割与标识图像;它与碰撞几何传感器形成互补,前者描述渲染结果,后者描述物理碰撞场景。各类输出的用途、相机配置与深度值含义见视觉传感器。

观测形式输出典型用途
RGB / RGBARGBA彩色感知、视觉策略
RGB-DRGBA + Depth深度感知、三维场景理解
分割与对象标识SegmentationColor、IdColor实例与部件区分、掩码提取、可视化

4.2高性能激光雷达仿真

激光雷达(LiDAR)为定位、建图与避障提供环境几何观测。MotrixSim 沿扫描方向对场景碰撞几何执行距离查询,输出距离与世界坐标点云,并支持单场景多传感器及多环境批量观测。

Go2 激光雷达仿真演示。

MotrixSim 的激光雷达仿真总吞吐最高可达约 1.24 亿射线/秒。 在 AMD Ryzen 9 9950X 的 CPU 路径、32 线程配置下,64 个并行环境各搭载一个 1024×64 LiDAR,支持高密度点云的批量生成。

单环境 LiDAR 数量 1、8、32、128 的总吞吐最高 113.4 百万射线每秒;环境数 1、16、64、256、1024 的总吞吐最高 124.5 百万射线每秒。
MotrixSim CPU 的多传感器与多环境吞吐。柱高为 5 轮测量的中位数,误差线为最小至最大值。

4.3高精度触觉传感器

精细操作依赖对局部接触的感知:压入深度、接触区形状与凝胶表面的细微变形,往往是视觉难以分辨、却决定操作成败的信息。MotrixSim 由刚体接触几何确定凝胶上的接触区,再通过降阶接触求解得到凝胶表面的三维位移场,输出视触觉传感器常用的 marker 运动与法向变形观测,并能与物理仿真一起大规模并行。

7.5 mm 方块压入凝胶 1.0 mm 后卸载。左:MotrixSim 场景与凝胶变形(z 向放大 ×3);中:凝胶表面 marker 位移(面内放大 ×5);右:法向位移 uz。物理与触觉步长均为 1 ms,按仿真时间播放;视频用于定性展示,不作为实时性能的测量依据。

MotrixSim 的触觉输出与非线性有限元(FEM)参考解高度一致。 以 7.5 mm 方块压入为例,在 0.125–1.0 mm 的 8 个压入深度下,MotrixSim 未经平滑的原始触觉输出与 FEM 相比,法向位移 uz 的全场相关系数为 0.950–0.987,marker 面内位移方向的平均余弦相似度为 0.959–0.975;接触区中心压入深度与 FEM 的偏差不超过 1.04 µm,相对误差不超过 0.70%。

MotrixSim 触觉仿真与 FEM 对比:法向位移分布、marker 方向、相关系数与中心深度误差
A/B:压入 1.0 mm 时 FEM 与 MotrixSim 的法向位移;C:marker 面内位移方向(箭头已归一化,仅表示方向);D:各压入深度下 uz 全场相关系数与 marker 方向一致性;E:各压入深度下 FEM 与 MotrixSim 的接触区中心压入深度,虚线为指令深度。

触觉仿真可以与物理仿真一起大规模并行。 在 1024 个并行环境下,MotrixSim 触觉仿真的端到端吞吐量为 1.08–2.12 万 env-steps/s(每秒推进的环境步数之和),吞吐量随接触面积增大而下降;即使接触区填满整个触觉观测窗口,吞吐量仍超过 1 万 env-steps/s。测试平台为 NVIDIA GeForce RTX 5060 Ti 与 Intel Core i5-14600KF;触觉输出为 64×48 网格上的凝胶表面三维位移场,物理与触觉步长均为 1 ms。

1024 个并行环境下,方块边长 2.5、4、5.5、6.2、7、7.5 mm(接触区占观测窗口 9%–100%)时端到端吞吐量分别为 21,230、18,963、18,166、13,342、13,306、10,779 env-steps/s;单环境每步耗时 1.05 至 5.38 ms
A:1024 个并行环境下,不同边长方块(对应不同接触面积)压入时的端到端吞吐量,虚线为 1 万 env-steps/s;B:单环境每步耗时。误差线为 3 次重复的最小至最大值。端到端包含刚体物理、数据提取与触觉计算。

用真实触觉数据标定 MotrixSim,在仿真中复现具体传感器的响应。 在压入、滑移、旋转等已知工况下采集真实传感器的触觉数据,据此标定 MotrixSim 的仿真参数,使仿真传感器复现同一传感器的触觉响应,再用于大规模训练与部署。

左:真实视触觉传感器上压入圆柱砝码的照片与光流图;右:MotrixSim 中圆柱压头压入凝胶的仿真场景与 marker 位移;中间箭头表示用真实触觉数据标定 MotrixSim 仿真参数
左:真实视触觉传感器压入圆柱砝码时的照片与光流图;右:MotrixSim 中直径 7.2 mm 的圆柱压头压入凝胶 1.0 mm 的仿真场景与 marker 位移(面内放大 ×6)。图示为标定流程。

4.4视觉传感器

MotrixSim 从同一仿真场景提供彩色、深度与几何体分割观测,为视觉感知、策略训练和合成数据生成提供图像输入。 彩色图像呈现场景外观,深度描述空间结构,分割标识像素对应的几何体,使外观观测能够与部件掩码结合使用。

下图展示了同一相机、同一帧的多种输出:彩色图像保留材质与光照,深度图呈现远近关系,两种分割编码则分别面向可视化和程序读取。这些信息覆盖了从 RGB 感知、RGB-D 场景理解到部件级标注的不同需求。分割基于几何体(geom)标识;对象或语义类别标签可通过几何体与对象、类别的对应关系进一步映射。

Unitree 四足机器人在同一相机、同一帧下的四种视觉输出:左上为 RGB 彩色图,右上为深度图,左下为按几何体标识从调色板着色的分割图,右下为将几何体标识编码进颜色通道的标识图
同一场景的外观、空间结构与几何体标识。左上 RGB,右上 Depth,左下 SegmentationColor,右下 IdColor;后两者是几何体标识的不同着色方式。每格 512×512。
输出内容典型用途
RGBA彩色图像,含 alpha 通道视觉策略、感知与合成数据生成
Depth沿相机光轴的深度(ViewZ)RGB-D 观测、三维场景理解
SegmentationColor按 geom 的 id 从调色板着色可视化检查、部件区分
IdColor将 geom 的 id 编码为颜色程序读取 id、掩码提取

视觉观测与物理交互共享同一份场景状态。 物理求解更新机器人与物体的位姿,渲染使用这些位姿生成图像,使运动过程既能通过外观观察,也能通过深度和几何体标识描述。对于视觉策略与交互数据生成,这将图像输入与产生运动、接触的场景联系起来,而不只是生成一组独立画面。

下面的演示将场景视口与相机输出放在同一画面中,展示动态场景中的深度与分割观测:前者呈现相机视角下的空间结构,后者区分机器人部件与环境几何体。

动态场景的多种观测:主视口展示场景外观,右侧上方按几何体标识着色,下方呈现深度。视频按原速播放,用于定性展示。

5运动规划与控制

5.1运动规划库

MotrixSim内置高效的运动规划库,可以将“目标位姿”转换为机器人可以执行的无碰撞关节轨迹。 它面向机械臂抓取、物体搬运、障碍物环境中的避障运动,以及规划结果在仿真中的验证与执行等场景,连接目标设定、路径搜索和物理交互这几个环节。对具身智能任务而言,规划库使机器人能够从“要到哪里”进一步得到“沿什么路径、以什么速度到达”的可执行动作。

request = MotionPlanRequest(
    CartesianGoal(
        PointPositionGoal(position, POSITION_TOLERANCE),
        QuaternionOrientationGoal(orientation, ORIENTATION_TOLERANCE),
    ),
)
// 通过一行简单调用,规划器会返回可执行的无碰撞关节轨迹,供仿真执行。
trajectory = planner.plan(scene_data, request)

以下视频展示运动规划库在抓取与搬运任务中的应用

七自由度Franka机械臂依次完成三个抓放任务:货架拣选上架(Shelf Pick-and-Place)、桌面跨障碍分拣(Tabletop Sorting over Obstacles)、洗手台绕障收纳(Cup Placement in Sink)。

5.2规划基准测试

进一步,我们期望考察MotrixSim运动规划能力在基准测试里的量化表现。 我们使用 Robometrics[2] 整理的两类公开题集,在统一的任务输入下评测 MotrixSim 的规划能力:

  • MotionBenchMaker[3]:本次使用的题集包含书架、箱体、笼状障碍物以及桌面和桌下取物等场景,考察机械臂在受限空间中绕开障碍、到达目标的能力。
  • MπNets[4]:本次使用的题集覆盖格柜、抽屉柜与桌面等场景,包含不同起点和目标配置,考察规划器在多样布局和目标位置下的适应能力。

测试评估从逆运动学、避障路径搜索到轨迹时间参数化的规划流程。成功轨迹须满足末端位置误差不超过 5 mm、姿态误差不超过 0.05 rad,并通过独立碰撞检查。成功率反映规划的可靠性,Plan Time 衡量生成轨迹的计算耗时,Position Error 衡量终点位置精度,Motion Time 则表示规划轨迹的时长。

MotrixSim 在 2590 道有效题上取得了 98.42% 的规划成功率,成功题的规划耗时中位数为 34 ms。 两类题集共 2600 道题;上游将其中 10 题标记为目标不可行并跳过,沿用这一约定,以其余 2590 道有效题计算成功率。

Robometrics Success Rate
DatasetValid ProblemsSolvedSuccess Rate
MotionBenchMaker79977997.50%
MπNets1791177098.83%
Total2590254998.42%
MotrixSim Motion Planning Benchmark
MetricMean ± StdMedianP75P98
Plan Time (s)0.059 ± 0.1360.0340.0620.322
Position Error (mm)0.973 ± 1.110.5011.504.22
Motion Time (s)4.02 ± 4.862.914.1420.43

以上三项指标仅统计成功题。Plan Time 为单次规划调用的墙钟时间,不含场景构建与独立结果复查;Position Error 为轨迹终点的末端位置误差;Motion Time 为时间参数化后的轨迹时长。离散碰撞检查不等同于连续路径无碰撞的证明。

6开发工作流

6.1资产接入与格式支持

motrixsim.load_model(path) 统一接受 MJCF、URDF 与 USD,返回可直接仿真的 SceneModel。三种格式也可在同一场景内混用,例如把 MJCF 机器人放进 USD 场景。已有的 MuJoCo 模型和 USD 场景资产加载即运行,中间不经过格式转换。

与原生引擎的加载对照

两段视频把同一份资产并排加载到 MotrixSim 与对应的原生引擎(MJCF 对 MuJoCo,USD 对 Isaac Sim),比较加载后的物理行为与场景渲染。

四个 MJCF 模型在两引擎中的仿真对照(左 MotrixSim、右 MuJoCo):Unitree Go2 四足机器人执行同一路行走策略,Franka Panda 机械臂跟踪同一条关节目标轨迹,Shadow Hand 灵巧手驱动同一组关节目标,ANYmal C 四足机器人从同一高度自由落地;两侧的运动过程按控制步对齐。
四个 USD 室内场景的环绕巡视对照(左 MotrixSim、右 Isaac Sim):环绕视角下两侧的几何、材质与灯光呈现一致。

USD 支持范围

MotrixSim 基于 OpenUSD 读取 USD 资产,.usd / .usda / .usdc / .usdz 均可直接加载;展开后的 prim 映射为刚体、关节、几何与灯光等模型元素。覆盖范围如下,逐项对照见公开的 USD 支持参考文档:

  • 完整支持:层级与变换、刚体与关节(含质量属性)、几何与网格碰撞、常用灯光。
  • 部分支持:材质、场景属性与驱动器参数。

6.2Real2Sim:从真实场景到可交互仿真

把真实环境转化为可交互的仿真场景,让机器人任务在熟悉的空间中展开。 Real2Sim 不只复现场景外观,还需要组织物体布局、结构与运动关系。通过将真实环境中的空间布局与交互对象带入 MotrixSim,可以为机器人操作、任务验证与数据采集建立对应的仿真环境。

从场景复现进一步走向可操作的对象。 柜门与冰箱等对象不仅是静态外观,也包含可开合的铰链结构。下面的案例展示了仿真场景中的开合运动,将环境重建延伸到物体交互,为后续机器人操作提供场景基础。

厨房柜门与冰箱的开合演示:场景中的交互对象保留可运动的铰链结构。

机器人与场景的交互将环境复现连接到任务执行。 G1 案例进一步展示了机器人任务在 MotrixSim 中的仿真片段。

G1 任务的仿真演示。

6.3Forge 资产工具

Forge 是一个高效用于创建、编辑和配置 —— 精确描述铰接多体系统运动学结构、惯性属性、几何视觉、几何碰撞、执行器与传感器等 XML 场景的拓展工具。主要解决了:MJCF 没有可视化编辑工具、简化 XML 场景描述的创建、编辑和配置。核心是 Forge 插件及其配套的 MCP Server。工具支持在 Blender 中创建、编辑、检查和导入/导出 MJCF 场景描述,也可以通过 MCP 将 Forge 能力提供给 Codex、Claude Code 等 AI Agent。

由于 MJCF 没有可视化编辑工具,导致对复杂描述下的 XML 场景编辑是灾难性的。因此我们基于 Blender 开源应用开发了 Forge 插件工具打通了这一壁垒,使得创建/编辑/配置 XML 场景从此变得及其简单。

主要功能

  • 创建 MJCF 模型结构:创建和组织 Link、Joint、Geometry、Collider、Site、Inertial、Actuator、Tendon、Sensor、Equality、Contact、Light、Camera 等模型元素;
  • 编辑模型定义与属性:配置 Global/General 参数、模型类型、几何体和材质、运动学、硬件、Meta Elements,以及对象的父子关系、根 Link、实例 Link 和变换等属性;
  • 在视口中交互编辑:通过 Forge 面板、属性面板和 Gizmo 调整形状、Link、Joint、Actuator、Tendon、Sensor 等 MJCF 属性,实时检查场景结构;
  • 导入与导出:导入已有 MJCF 标准的 .XML 转换为 Forge 规则的场景结构,或将用 Forge 配置好的场景结构导出为 MJCF 标准的 .XML 文件,并保存 Blender 工程文件;
  • 网格与碰撞处理:执行网格检查,并使用 CoACD 将复杂网格分解为可用于碰撞检测的凸包;
  • MCP 自动化:通过 MCP Bridge,让 Claude Code、Codex 等 Agent 查询场景、调用 Forge Operator、创建或修改模型、执行导入导出、检查多体关系等。

组件分解

Decomposition
Blender 中构成 Forge 模型的各个元素的分解示意。这些元素可以在 Blender 中按 Forge 模型类型排列到不同图层或集合中,从而在编辑非常复杂的模型时避免混乱或遮挡视线。

应用案例

使用 Forge 编辑配置装载机 → 编辑配置装载机作业环境 → 导出并在 MotrixSim 中进行仿真模拟和训练
使用 Forge 编辑配置任意机械臂 → 导出并在 MotrixSim 中进行仿真模拟和训练
使用 Agent 通过 Forge 创建编辑配置图片中的场景 → 导出并在 MotrixSim 中进行仿真模拟

6.4编辑器与场景调试

场景调试需要将控制输入、物体运动与运行状态对应起来,才能从异常现象追溯到具体原因。MotrixSim 围绕 Python 任务脚本和独立 Editor 组织调试工作流,让任务交互、场景观察与对象检查相互衔接。

Python 脚本调试

Python 调试将任务控制与可视化放在同一个脚本中。开发者加载模型、编写控制逻辑并推进仿真,通过 RenderApp 观察场景,并利用自定义 UI 构建任务操作面板。按钮、开关和选择控件可与脚本逻辑连接,用于目标切换、任务启停、复位和显示设置;操作面板还可与三维视口、状态日志和图像面板组合,按调试需要组织布局。

在机械臂抓取与放置示例中,任务、状态、配置和日志按可折叠分组组织,与机器人全景和夹爪近景并排呈现。选择目标并启动任务后,开发者可在全景中查看运动路径,在近景中检查接近与夹持过程,并结合阶段日志和曲线变化定位异常发生的时刻。调整控制逻辑或场景配置后,重新运行并对照结果,验证修改的影响。

Python 脚本驱动的抓取与放置调试:任务控制、全景与夹爪视角、阶段日志,以及末端位置和夹爪指令曲线在同一布局中展示。录像按原速播放。

独立 Editor 场景调试

独立 Editor 面向模型接入后的场景检查,将通过场景树、视口选择与属性面板的联动,把对象层级、空间位置和物理状态关联起来。排查夹爪提前接触的问题时,可通过辅助显示对照碰撞形状与可见模型;排查异常运动时,则可结合关节位置、参考坐标以及执行器、传感器和接触信息,逐步缩小问题范围。

视口和工具面板支持停靠、分区与标签页组合,便于将整体运动、局部几何和状态信息并排查看。统一的操作图标帮助用户在不同面板间识别常用功能;日志面板支持长文本阅读、搜索、筛选和自动跟随,用于追踪异常出现前后的运行记录。

未来,独立 Editor 还将支持内置 Python 逻辑,使脚本驱动的任务交互与对象检查能够在同一工作区中结合。

Python 脚本与独立 Editor 分别侧重任务逻辑迭代和场景对象检查,共同支持从运行、观察到定位、验证的调试过程。

7结语

回看智能技术的发展史,每一次能力的跃迁,背后都是某种关键资源获取成本的骤降。互联网让文本与图像近乎零成本地积累,催生了今天的语言模型;而物理世界的经验恰恰相反——昂贵、缓慢、危险,且几乎不可复现。物理 AI 要形成可规模化的学习闭环,前提是让物理经验变得像数据一样可复制、可组合、可批量生成。 这正是仿真在物理 AI 时代的新位置:它不再只是开发流程末端的验证工具,而是物理经验的生产系统。

这种能力之所以值得作为基础设施去建设,是因为它的底层是跨行业共用的。一辆车、一台挖掘机、一条产线、一个机械臂,面对的都是同一个问题:在不完全确定的环境中,依据观测做出决策,并承担动作的物理后果。对这一共性问题的每一次求解——更可信的接触、更大规模的并行、更完整的多模态反馈——都会同时降低所有行业获取物理经验的门槛。物理 AI 的学习资源,第一次有可能在行业之间流通与复用。

我们清楚这条路仍处于早期。MotrixSim 会继续在可信物理、规模化计算与多模态反馈三个方向上投入,并随着应用场景的深入持续更新这份报告。我们的目标始终未变:让物理交互成为可规模化生成的学习资源,让更多探索先在虚拟世界中完成。

8References

  1. Karlsruhe Institute of Technology. Tire bench-test dataset (TYDEX format), 32 files, 1015 operating points. doi:10.35097/p0rr2jc5wmf0drf8
  2. fishbotics/robometrics: robot motion evaluation framework, revision 81e3d1d6. github.com/fishbotics/robometrics
  3. C. Chamzas, C. Quintero-Peña, Z. Kingston, A. Orthey, D. Rakita, M. Gleicher, M. Toussaint, and L. E. Kavraki. MotionBenchMaker: A tool to generate and benchmark motion planning datasets. IEEE Robotics and Automation Letters, 2022. doi:10.1109/LRA.2021.3133603
  4. A. Fishman, A. Murali, C. Eppner, B. Peele, B. Boots, and D. Fox. Motion Policy Networks. CoRL, 2022. arXiv:2210.12209

9附录

数据来源与测试条件(车辆动力学)
  1. 弹簧与阻尼特性采用合成示例数据,用于展示非线性元件配置。
  2. 单环境性能测试使用 MotrixSim 0.10.1、AMD Ryzen 7 9700X、单 worker、f32 精度和 5 ms 步长;预热 400 步后重复 5 轮,仅计物理步进耗时。并行吞吐来自 96 CPU 与单张 RTX 3090 的异步采样节点。结果对应独立标定的受测模型,原始记录未随公开仓库发布。
Magic Formula 公式与符号定义

Magic Formula 将滑移映射为非线性轮胎力。 下面以纯纵向或纯侧向工况的力幅值说明其基本形式,与正文中的特性曲线一致;纵向与侧向分别使用各自的拟合参数:

yᵢ(s) = Dᵢ · sin[Cᵢ · arctan(Bᵢs − Eᵢ(Bᵢs − arctan(Bᵢs)))]
|Fx| = Fz · yₓ(|κ|), |Fy| = Fz · yᵧ(|α|)
符号定义与作用
i方向下标:x 为轮胎纵向,y 为轮胎侧向;两个方向的参数分别拟合。
s本构曲线的输入:纵向取滑移率的绝对值 |κ|,侧向取侧偏角的绝对值 |α|。
κ纵向滑移率,无量纲,描述轮胎圆周速度与纵向行驶速度的相对差异;纯滚动时为 0。图中的百分数为 κ × 100%。
α侧偏角,轮胎朝向与轮心相对路面速度方向之间的夹角;公式中使用弧度(rad),曲线图横轴使用角度(deg)。
yᵢ(s)方向 i 上的轮胎力幅值与法向载荷之比,即无量纲力系数;不是几何图中的 y 坐标。
Bᵢ刚度因子,控制小滑移区间的增长快慢;Bᵢs 为无量纲。纵向 Bₓ 无量纲,侧向 Bᵧ 以 rad⁻¹ 表示。
Cᵢ形状因子,无量纲,控制整条曲线的形状。
Dᵢ幅值因子,无量纲,设定力系数的峰值尺度;对应的力尺度为 Fz · Dᵢ。
Eᵢ曲率因子,无量纲,调节峰值附近的弯曲与峰后变化。
Fx、Fy地面对轮胎的纵向力与侧向力,单位 N;这里的绝对值表示力幅值,实际方向由滑移及坐标约定确定。
Fz地面对轮胎的法向支撑力,单位 N,接触时取非负值,由法向接触求解得到,不由上述 MF 切向公式产生。

其中 sin 为正弦,arctan 为反正切,竖线表示绝对值。小滑移处力系数曲线的斜率由 BᵢCᵢDᵢ 共同决定;Bᵢ、Dᵢ 还可随法向载荷变化,以表达轮胎载荷敏感性。

几何图中的 R 为轮胎有效滚动半径(m),ω 为车轮自转角速度(rad/s),Rω 为圆周速度(m/s);V 为轮心相对路面的平移速度,Vx、Vy 分别是其在轮胎纵向、侧向的分量(m/s)。轮速与平移速度确定滑移,法向接触确定载荷,轮胎切向力则参与整车动力学求解,将轮胎响应与悬架、车身运动联系起来。

English