在现代机器人模拟领域,性能基准测试是评估不同模拟器效率和效果的重要手段。本文将深入探讨 Genesis 模拟器的性能表现,特别是与其他主流模拟器如 Isaac Gym 和 Mujoco XLA (MJX) 的比较。通过一系列实验,我们将揭示 Genesis 在静态控制、动态控制、碰撞处理和操作任务等多方面的优势。
1. 基准测试设置
硬件配置
- 处理器:Intel Core i9 14900KF
- 显卡:Nvidia GeForce RTX 4090
- 内存:32G RAM
- 模拟器版本(截至2025年1月3日):
- Genesis: 0.2.1
- Mujoco XLA (MJX): 3.2.6
- Isaac Gym: Preview 4 Release
- ManiSkill: commit 42d4fcf (3.0.0b15)
所有测试均通过 SSH 在 Macbook Pro (Apple M1 Pro) 上进行,以避免由于图形相关应用程序的并发运行而导致的性能下降。
2. Franka Arm 的性能测试
2.1 Genesis 与 Isaac Gym 的比较
在这一部分,我们将 Genesis 与 Isaac Gym 进行比较,重点关注静态控制和动态控制下的性能。
2.1.1 静态控制,无碰撞
在静态控制的实验中,我们命令 Franka 手臂移动到目标关节位置并保持静止。此设置下,求解器仅处理 PD 控制器、质量矩阵计算和正向运动学/动力学。
结果:
批量大小Genesis 每个环境 FPSIsaac Gym 每个环境 FPS性能提升
512375113782.70x
1024369212572.93x
2048376210663.54x
409636077894.58x
819235075146.81x
16384274926510.38x
32768154013011.79x
在使用 32,768 个并行环境时,Genesis 达到了超过 50 万 FPS 的总速度,速度比 Isaac Gym 快了 11 倍以上。这一结果表明,Genesis 在处理静态场景时具有显著的性能优势。
2.1.2 动态随机控制
在动态控制的实验中,我们让手臂在达到指定配置后继续随机移动,以测试求解器在动态场景中的表现。
结果:
批量大小Genesis 每个环境 FPSIsaac Gym 每个环境 FPS性能提升
5121682.21905.621.86x
10241639.45824.511.99x
20481608.74667.152.41x
40961585.63475.443.34x
81921449.29255.215.68x
163841251.02129.269.68x
32768829.4858.8014.11x
即使在动态场景中,Genesis 仍然表现出优越的性能,最大 FPS 达到 27 万,速度比 Isaac Gym 快了 14 倍。
2.2 Genesis 与 MJX 的比较
接下来,我们将 Genesis 与 Mujoco XLA (MJX) 进行比较,重点关注动态场景中的性能。
2.2.1 无控制,无碰撞
在这一实验中,我们使用标准的 Franka Panda MJCF 文件,进行无碰撞的自由下落测试。
结果:
批量大小Genesis 每个环境 FPSMJX (jit_steps=1) 每个环境 FPS性能提升
5124150.25232.5117.85x
10244081.00229.6317.77x
20483925.00223.2217.58x
40963947.17219.1018.02x
81923431.39212.1316.18x
163842562.64187.4113.67x
327681458.12134.6410.83x
在这一设置下,Genesis 的性能比 MJX 快了近 18 倍,显示出其在无碰撞情况下的强大处理能力。
2.2.2 动态控制,持续碰撞
在动态场景中,我们让手臂自由下落并与地面产生持续碰撞,以测试求解器在处理碰撞时的性能。
结果:
批量大小Genesis 每个环境 FPSMJX (jit_steps=1) 每个环境 FPS性能提升
5121085.15766.521.42x
10241045.66685.291.53x
2048994.86535.281.86x
4096969.18349.852.77x
8192890.08172.495.16x
16384788.8477.3210.20x
32768499.1632.5615.33x
在动态场景中,Genesis 仍然保持了优越的性能,最大 FPS 达到 16.35 万,比 MJX 快了 15 倍。
3. 操作任务(抓取)
在这一部分,我们将测试 Genesis 在抓取任务中的表现,包括静态抓取和动态抓取。
3.1 抓取球体
在静态抓取实验中,我们使用 Franka 手臂抓取一个球体,并保持在指定位置。
结果:
批量大小Genesis 每个环境 FPSManiSkill 每个环境 FPS性能提升
5121482.63360.984.11x
10241437.15336.564.27x
20481282.98282.444.54x
40961406.55209.396.72x
81921233.47115.1610.71x
163841003.5258.9217.03x
32768506.5630.1116.82x
在抓取球体的实验中,Genesis 的性能比 ManiSkill 快了超过 16 倍。
3.2 抓取立方体
在抓取立方体的实验中,我们使用 URDF 版本的 Franka 进行测试。
结果:
批量大小Genesis 每个环境 FPSManiSkill 每个环境 FPS性能提升
5121227.27--
10241041.972520004.23x
20481152.163800006.21x
40961185.2647000010.3x
81921073.7454000016.29x
16384854.2554000022.51x
在抓取立方体的实验中,Genesis 的性能同样表现出色,显示出其在抓取任务中的高效性。
4. 大规模多物体场景优化
Genesis 还支持自动休眠功能,以优化大规模场景的模拟性能。通过将处于静止状态的物体置于休眠状态,Genesis 能够显著提高模拟效率。
结果:
物体数量Genesis FPSMJX FPS性能提升
10243987120.11129055.951890x
2098120179.5226260.203736x
10013621238.261278.5510658x
在大规模静态场景中,Genesis 的性能比 MJX 快了多达 10,658 倍,显示出其在处理复杂场景时的强大能力。
5. 结论
通过一系列基准测试,本文展示了 Genesis 在多个方面的优越性能。无论是在静态控制、动态控制,还是在抓取任务和大规模场景模拟中,Genesis 都表现出色,远超其他主流模拟器。我们期待未来的版本能够进一步提升性能,继续推动机器人模拟领域的发展。
如果您对本报告有任何疑问或建议,欢迎随时与我们联系!