ManiSkill 任务系统全景指南:从任务卡片到九大任务分类的完整解读
【免费下载链接】ManiSkillManipulation Skill Framework, an open source GPU parallelized robotics simulator and benchmark项目地址: https://gitcode.com/GitHub_Trending/ma/ManiSkill
导读
ManiSkill 是一个 GPU 并行化的开源机器人仿真与基准框架(Manipulation Skill Framework),其内置了大量刚体(rigid-body)任务,全部支持 GPU 并行仿真与渲染。本文以docs/source/tasks/index.md及其下属任务分类文档为主线,系统解读 ManiSkill 3 的任务系统:如何阅读"任务卡片"(Task Card)、如何理解奖励/演示/资产徽章、如何下载任务资产与演示数据、不同观察模式下目标信息的呈现差异,并逐一展开控制、桌面夹爪、四足、人形、移动操作、灵巧手、数字孪生、绘图与外部基准九大类任务的完整清单与关键设定,最后结合源码(如 pick_cube.py)说明任务在仓库中的注册与实现方式。读完本文,你将能够按环境 ID 快速定位任何内置任务的规格、运行环境并下载所需资源。
一、任务系统概述:GPU 并行化的刚体任务集
ManiSkill 内置了一系列刚体任务,覆盖运动控制、灵巧操作、移动操作、绘图、数字孪生等多种能力维度。这些任务全部经过 GPU 并行化,可在单个 GPU 上同时运行大量环境实例,并支持 GPU 渲染,是强化学习、模仿学习与数据采集的理想基准。
任务分类(即官方文档中的 toctree)共九类:
- Control:经典控制任务(类似 DM Control 套件,但支持 GPU 并行仿真与渲染)
- Table-Top 2 Finger Gripper:桌面场景下的双指夹爪操作
- Quadruped:四足机器人运动与操作
- Humanoid:人形机器人控制
- Mobile Manipulation:移动操作机器人(Fetch 等带移动底盘)
- Dextrous:灵巧手任务
- Digital Twins:数字孪生任务(训练/评估型)
- Drawing:机器人绘图任务
- External:社区贡献的外部基准任务
说明:软体(soft-body)任务仍托管在 ManiSkill2 代码库中,尚未完全集成进 ManiSkill3。因此在当前版本中,任务集以刚体任务为主。
二、任务卡片(Task Card):快速掌握任务规格的统一范式
对于上述每个任务,官方文档都提供了一张任务卡片(Task Card),简明扼要地描述该任务的所有关键属性,包括:
- 任务描述(Task Description):任务目标的一句话概括;
- 支持的机器人(Supported Robots):可用于该任务的机器人 UID 列表;
- 随机化(Randomizations):任务在每次 episode 重置(含 reconfiguration 重配置阶段)时对物体位姿、机器人初始状态等引入的随机范围;
- 成功条件(Success Conditions):判定任务成功的量化阈值;
- 失败条件(Fail Conditions):判定任务失败的量化阈值(部分任务无);
- 目标指定方式(Goal Specification):目标在观察(observation)中如何表达(仅当目标非视觉形式时给出)。
任务卡片是理解、对比与复现任务的第一手资料:训练策略前,先读卡片确认成功阈值与随机化范围;编写自定义任务时,任务卡片也是文档化的标准模板。
三、奖励、演示与资产徽章:一眼识别任务属性
文档为每个任务标记了三类徽章(badge),用于快速传达任务特性:
| 徽章 | 含义 |
|---|---|
| Dense Reward(绿色 ✅) | 提供稠密奖励(dense reward) |
| Dense Reward(红色 ❌) | 不提供稠密奖励 |
| Sparse Reward(绿色 ✅) | 提供稀疏奖励(sparse reward),通常等价于成功/失败条件 |
| Sparse Reward(红色 ❌) | 不提供稀疏奖励 |
| Demos(绿色 ✅) | 提供官方演示数据(demonstrations),可通过命令下载 |
| Download Asset(蓝色 ✅) | 需要先下载额外资产(asset)才能运行该环境 |
徽章体系与源码中的任务文档字符串一一对应。以 pick_cube.py 为例,其模块级PICK_CUBE_DOC_STRING即定义了与任务卡片一致的任务描述、随机化与成功条件文本,并由文档生成脚本(generate_task_docs.py)自动渲染为官方文档。
四、资产与演示数据下载:两条核心命令
如果某任务带有Download Asset徽章,说明其运行前必须下载对应资产(如 PartNet-Mobility 家具、YCB 物体网格等)。官方提供两条命令行下载工具:
下载任务资产:
python -m mani_skill.utils.download_asset <env_id>下载任务演示数据:
python -m mani_skill.utils.download_demo <env_id>其中<env_id>为环境 ID,例如PickCube-v1、PickSingleYCB-v1、OpenCabinetDrawer-v1。对应的下载实现位于 mani_skill/utils/download_asset.py 与 mani_skill/utils/download_demo.py。
提示:部分任务的演示数据是跨多个环境共享的(例如 OpenCabinet 系列基于 PartNet-Mobility 资产),下载时按文档指引操作即可。资产是否必需、演示是否存在,均可通过上文的徽章判断。
五、观察模式:state 与视觉模式的信息差异
任务文档特别强调:不同观察模式下,任务提供的状态观察数据不同。
- 当观察模式(observation mode)为
state或state_dict时,所有求解任务所需的真实数据(ground truth)都会给出——包括物体位姿、速度等; - 当观察模式为任意视觉模式(如
rgb、depth、pointcloud等)时,框架会移除通常在真实世界中无法获取的真值观察数据(例如物体的位姿),以保证视觉观察与真实物理世界的一致性,避免策略在训练时"作弊"。
这一设计对 sim2real 训练至关重要:视觉模式下无法依赖真值位姿,策略必须从图像/点云中推理状态,从而提升迁移到真实机器人的可能性。相关观察模式的定义可参考 observation 概念文档 与 gymnasium 包装器。
六、九大任务分类详解
6.1 控制类任务(Control Tasks)
控制类任务的目标是控制机器人到达特定状态,风格接近经典 DM Control 套件,但在 ManiSkill 中支持 GPU 并行仿真与渲染。该类任务默认不提供演示数据,最大 episode 步数一般为 600–1000。
| Task | Dense Reward | Success/Fail | Demos | Max Steps |
|---|---|---|---|---|
| MS-AntRun-v1 | ✅ | ❌ | ❌ | 1000 |
| MS-AntWalk-v1 | ✅ | ❌ | ❌ | 1000 |
| MS-CartpoleBalance-v1 | ✅ | ✅ | ❌ | 1000 |
| MS-CartpoleSwingUp-v1 | ✅ | ❌ | ❌ | 1000 |
| MS-HopperHop-v1 | ✅ | ✅ | ❌ | 600 |
| MS-HopperStand-v1 | ✅ | ✅ | ❌ | 600 |
| MS-HumanoidRun-v1 | ✅ | ❌ | ❌ | 1000 |
| MS-HumanoidStand-v1 | ✅ | ❌ | ❌ | 1000 |
| MS-HumanoidWalk-v1 | ✅ | ❌ | ❌ | 1000 |
关键任务卡片要点:
- MS-AntRun-v1 / MS-AntWalk-v1:蚂蚁机器人分别以 4 m/s、0.5 m/s 的速度沿 x 方向前进;随机化:qpos 与 qvel 添加 [-1e-2, 1e-2] 均匀噪声;无具体成功条件。
- MS-CartpoleBalance-v1:用小车平衡竖直杆;杆方向在垂直轴周围 [-0.05, 0.05] 弧度随机化;失败条件:杆低于水平面。
- MS-CartpoleSwingUp-v1:将杆从下垂状态甩起并保持竖直;杆方向在 [-π, π] 全圆随机化;成功条件为整个 episode 杆保持竖直。
- MS-HopperHop-v1 / MS-HopperStand-v1:跳跃/站立任务;机器人绕 y 轴随机旋转 [-π, π],qpos 在允许范围内均匀采样。
- MS-HumanoidRun / Walk / Stand-v1:跑步/行走/站立;qpos、qvel 加 [-1e-2, 1e-2] 均匀噪声(Stand 还绕 z 轴随机旋转 [-π, π]);失败条件:躯干 link 的 z 坐标离开 [0.7, 1.0] 区间。
这些环境的 MuJoCo 模型位于 mani_skill/envs/tasks/control/assets,源码位于 mani_skill/envs/tasks/control。
6.2 桌面双指夹爪任务(Table-Top 2 Finger Gripper Tasks)
这是 ManiSkill 任务体系中最核心、最丰富的一类:任务位于桌面上,由带双指夹爪的机械臂操作物体。其中PickCube-v1 被官方定义为"基线任务"(baseline task),用于验证一个具备操作能力的机器人能否被正确仿真与训练,因此源码中为多个机器人(Panda、Fetch、XArm6Robotiq、SO100、WidowXAI)提供了适配代码与表格场景构建器(TableSceneBuilder)。
| Task | Dense Reward | Success/Fail | Demos | Max Steps |
|---|---|---|---|---|
| AssemblingKits-v1 | ❌ | ✅ | ❌ | 200 |
| LiftPegUpright-v1 | ✅ | ✅ | ✅ | 50 |
| PegInsertionSide-v1 | ✅ | ✅ | ✅ | 100 |
| PickClutterYCB-v1 | ❌ | ❌ | ❌ | 100 |
| PickCube-v1 | ✅ | ✅ | ✅ | 50 |
| PickCubeSO100-v1 | ✅ | ✅ | ❌ | 50 |
| PickCubeWidowXAI-v1 | ✅ | ✅ | ❌ | 50 |
| PickSingleYCB-v1 | ✅ | ✅ | ❌ | 50 |
| PlaceSphere-v1 | ✅ | ✅ | ❌ | 50 |
| PlugCharger-v1 | ❌ | ✅ | ✅ | 200 |
| PokeCube-v1 | ✅ | ✅ | ✅ | 50 |
| PullCube-v1 | ✅ | ✅ | ✅ | 50 |
| PullCubeTool-v1 | ✅ | ✅ | ✅ | 100 |
| PushCube-v1 | ✅ | ✅ | ✅ | 50 |
| PushT-v1 | ✅ | ✅ | ✅ | 100 |
| RollBall-v1 | ✅ | ✅ | ✅ | 80 |
| StackCube-v1 | ✅ | ✅ | ✅ | 50 |
| StackPyramid-v1 | ❌ | ✅ | ✅ | 250 |
| TurnFaucet-v1 | ❌ | ✅ | ❌ | 200 |
| TwoRobotPickCube-v1 | ✅ | ✅ | ✅ | 100 |
| TwoRobotStackCube-v1 | ✅ | ✅ | ✅ | 100 |
关键任务卡片要点:
- PickCube-v1(基线任务):抓取红色立方体并移动到目标位置。随机化:立方体 xy 在 [0.1, 0.1] × [-0.1, -0.1] 区域(相对于桌面),z 轴旋转随机,目标点(绿色球体)xy 随机且 z 在 [0, 0.3]。成功条件:立方体与目标点欧氏距离 ≤
goal_thresh(默认 0.025m),且机器人静止(q velocity < 0.2)。其源码位于 pick_cube.py,goal_thresh = 0.025、max_episode_steps=50均可在类定义中确认。 - LiftPegUpright-v1:将平放木栓立起至任意竖直位置。成功条件:木栓 y 欧拉角绝对值与 π/2 相差 ≤ 0.08,且 z 坐标与其半长(0.12)相差 ≤ 0.005。
- PegInsertionSide-v1:抓取橙白木栓并将橙色端插入带孔盒子。重配置时随机化木栓半长 [0.085, 0.125]m、半径 [0.015, 0.025]m(盒孔半径 = 同值 + 0.003m 间隙)。成功条件:木栓白色端距盒中心 ≤ 0.015m。
- PickSingleYCB-v1:从 YCB 数据集随机采样物体并移动到随机目标位姿;成功条件:物体与目标欧氏距离 ≤
goal_thresh(默认 0.025)且机器人静止。官方建议 GPU 仿真下使用≥128 个并行环境,以便一次覆盖 YCB 数据库中所有物体(否则需要 reconfiguration 才能采样新物体)。 - PushT-v1:Diffusion Policy 论文中真实 Push-T 任务的仿真版。机器人需:1) 将 T 形块精确推入目标区域;2) 将末端执行器移动到 end-zone 结束 episode(PushT-easy 无需第 2 步)。成功条件:T 形块覆盖 2D 目标 T 面积的 90%。
- StackCube-v1:将红立方体叠到绿立方体上并松手。成功条件:红立方体位于绿立方体上方(偏差不超过半个立方体尺寸)、静止且未被夹爪抓持。
- StackPyramid-v1:将红、绿、蓝三立方体堆成金字塔。成功条件:蓝色立方体静止、同时位于红绿两立方体之上(偏差 ≤ 半个立方体尺寸),且三立方体均未被夹爪抓持。
- TwoRobotPickCube-v1 / TwoRobotStackCube-v1:双机器人协作任务。前者中,目标位置超出左机器人可达范围、立方体超出右机器人可达范围,因此两台机器人必须协作搬运;后者中,两台机器人分别取绿、蓝立方体,协作完成堆叠。随机化保证立方体互不碰撞、且各自仅对一侧机器人可达。
- PlugCharger-v1:将充电器插入插座;随机化充电器与插座在桌面 xy 平面上的位置与旋转(人视角相机相对于插座固定)。
- RollBall-v1:将球滚到桌子另一端的红色/白色圆形目标区;成功阈值
goal_radius默认 0.1。 - PullCubeTool-v1:利用 L 形工具拉动机械臂够不到的立方体(工具使用类任务)。
对应源码均在 mani_skill/envs/tasks/tabletop,每个任务一个 Python 文件,例如 stack_cube.py、push_t.py。
6.3 四足机器人任务(Quadruped Tasks)
该类任务使用四足机器人(如 ANYmal、Unitree Go)进行运动与操作。
| Task | Dense Reward | Success/Fail | Demos | Max Steps |
|---|---|---|---|---|
| AnymalC-Reach-v1 | ✅ | ✅ | ✅ | 200 |
| UnitreeGo2-Reach-v1 | ✅ | ✅ | ❌ | 200 |
| AnymalC-Spin-v1 | ✅ | ✅ | ❌ | 200 |
关键任务卡片要点:
- AnymalC-Reach-v1:控制 AnymalC 机器人到达前方目标位置。目标初始化在正前方 2.5 ± 0.5 米、两侧 ±1 米范围内。成功条件:机器人位置距目标 ≤ 0.35 米;失败条件:机器人摔倒(主体中心触地)。目标以 XY 平面上的 2D 位置表达。
- AnymalC-Spin-v1:原地快速自旋,以角速度作为奖励。失败条件同为摔倒。
- UnitreeGo2-Reach-v1:同为到达任务,使用 Unitree Go2 机器人。
四足任务的注册与实现见 mani_skill/envs/tasks/quadruped。
6.4 人形机器人任务(Humanoid Tasks)
ManiSkill 同时支持真实世界人形机器人(Unitree G1/H1)与 MuJoCo 人形机器人,该类任务一般涉及双腿+双臂的控制。
| Task | Dense Reward | Success/Fail | Demos | Max Steps |
|---|---|---|---|---|
| UnitreeG1PlaceAppleInBowl-v1 | ✅ | ✅ | ❌ | 100 |
| UnitreeG1Stand-v1 | ❌ | ✅ | ❌ | 1000 |
| UnitreeH1Stand-v1 | ❌ | ✅ | ❌ | 1000 |
| UnitreeG1TransportBox-v1 | ✅ | ✅ | ❌ | 100 |
关键任务卡片要点:
- UnitreeG1PlaceAppleInBowl-v1:G1 用右臂抓取苹果放入侧边碗中。碗与苹果 xy 均在 [0.025, 0.025] × [-0.025, -0.025] 桌面区域随机化。成功条件:苹果距碗位置 ≤ 0.05m,且右手保持在碗外并高于碗至少 0.125m。目标以碗的 3D 位置表达。
- UnitreeG1TransportBox-v1:G1 在一张桌上找到盒子,搬运到另一张桌并放置。成功条件:盒子静置于另一张桌上。
- UnitreeG1Stand-v1 / UnitreeH1Stand-v1:站立任务(仅稀疏奖励,无演示)。
实现见 mani_skill/envs/tasks/humanoid,机器人模型位于 mani_skill/assets/robots/g1_humanoid。
6.5 移动操作任务(Mobile Manipulation Tasks)
使用带移动底盘的机器人(如 Fetch)执行操作任务。
| Task | Dense Reward | Success/Fail | Demos | Max Steps |
|---|---|---|---|---|
| OpenCabinetDoor-v1 | ✅ | ✅ | ❌ | 100 |
| OpenCabinetDrawer-v1 | ✅ | ✅ | ❌ | 100 |
| RoboCasaKitchen-v1 | ❌ | ❌ | ❌ | 100 |
关键任务卡片要点(OpenCabinetDrawer-v1):
- 使用 Fetch 移动操作机器人靠近目标柜子并拉开指定抽屉。
- 随机化:机器人初始位于距柜子 1.6–1.8 米并面向柜子;底盘朝向随机 ±9°;柜子从所有含抽屉的 PartNet-Mobility 柜子中随机采样;抽屉从所有可开抽屉中随机选择。
- 成功条件:抽屉至少打开 90%,且抽屉 link 的角/线速度较小。
- 目标指定:3D 目标位置位于待开抽屉把手网格的质心(人视角渲染中以球体可视化)。
该类任务需要下载 PartNet-Mobility 资产(带Download Asset徽章)。实现见 open_cabinet_drawer.py,场景级移动操作另有社区基准(见 外部基准)。
6.6 灵巧手任务(Dextrous Hand Tasks)
使用灵巧手(D'Claw、Allegro Hand、TriFingerPro)执行精密操作,任务普遍分 Level 0–4 难度梯度。
RotateValveLevel0-v1 ~ Level4-v1(D'Claw)
- 旋转 ROBEL 阀门。随机化(重配置阶段):旋转方向 r(Level 0 固定 r=1,Level 4 为 {1, -1});阀瓣数 v(Level 0-1 固定 3,Level 2-4 为 [3, 6]);阀瓣角度 φ(Level 0 等间距 (0, 2π/3, 4π/3),Level 1-4 每个角度随机);Level 4 额外随机化阀瓣半径;初始阀门旋转随机。
- 成功条件:阀门从初始位置旋转超过 θ 弧度(Level 0: π/2,Level 1-3: π,Level 4: 2π)。
- 目标指定:旋转方向 r(1 或 -1),旋转量隐含在关卡中。
RotateSingleObjectInHandLevel0-v1 ~ Level4-v1(Allegro Hand):使用带触觉传感器的 Allegro 手旋转随机物体(部分细节标注为 WIP)。
TriFingerRotateCubeLevel0-v1 ~ Level4-v1(TriFingerPro):旋转立方体。Level 0:桌上随机目标位置、无朝向;Level 1:桌上随机位置+偏航朝向;Level 2:空中固定目标位(x,y=0)、无朝向;Level 3:空中随机位置;Level 4:空中随机位姿含朝向。成功条件:立方体距目标位置 ≤ 0.02m、朝向偏差 ≤ 0.1 rad。
实现见 mani_skill/envs/tasks/dexterity。
6.7 数字孪生任务(Digital Twins)
ManiSkill 同时支持训练型(在仿真中训练、部署到真实世界的 sim2real)与评估型(用真实世界数据训练的模型回仿真评估的 real2sim)数字孪生,并提供简洁的构建框架。
- 训练型数字孪生(WIP):官方标注"Coming soon"(构建中)。
- BridgeData v2(评估型):基于 BridgeData v2 环境、参照 SimplerEnv 构建的真实世界通用操作策略评估数字孪生。这些数字孪生同样 GPU 并行化,可大规模、快速评估真实世界的通用机器人策略:GPU 仿真+渲染相较真实世界快约 60 倍、相较 CPU 仿真快约 10 倍,全程无需人工监督。ManiSkill 只提供环境本身,运行 Octo、RT 等模型推理需使用 SimplerEnv 的 maniskill3 分支。目前已提供四个评估环境:
PutCarrotOnPlateInScene-v1PutSpoonOnTableClothInScene-v1StackGreenCubeOnYellowCubeBakedTexInScene-v1PutEggplantInBasketScene-v1
对应演示视频位于 figures/environment_demos/digital_twins/bridge_data_v2,实现见 mani_skill/envs/tasks/digital_twins。若在研究中引用 BridgeData v2 数字孪生,文档要求同时引用 ManiSkill 3 及 SimplerEnv 论文(arXiv:2405.05941)。
6.8 绘图任务(Drawing Tasks)
控制机器人绘制指定形状或图案,典型配置为"白画布 + 带笔/棒的机器人画红色线条"。
| Task | Dense Reward | Success/Fail | Demos | Max Steps |
|---|---|---|---|---|
| TableTopFreeDraw-v1 | ❌ | ❌ | ❌ | 1000 |
| DrawSVG-v1 | ❌ | ✅ | ❌ | 500 |
| DrawTriangle-v1 | ❌ | ✅ | ✅ | 300 |
关键任务卡片要点:
- TableTopFreeDraw-v1:在桌面实例化白画布与带棒的机器人,可自由绘制红色线条。该环境主要作为参考模板,供开发者复制并构建自己的绘图任务(无随机化、无成功条件、无目标)。
- DrawSVG-v1:在画布上给定带轮廓的 SVG 路径,机器人用红线绘制。随机化:目标 SVG 在 xy 平面位置随机、z 旋转在 [0, 2π] 随机。成功条件:机器人绘制的点与目标 SVG 上各点欧氏距离 ≤ 0.05m。
- DrawTriangle-v1:绘制目标三角形(含演示数据),成功条件同上。
实现见 mani_skill/envs/tasks/drawing。
6.9 外部基准任务(External Benchmarks/Tasks)
由社区贡献、构建于 ManiSkill 之上的任务与外部库。
ManiSkill-HAB(家庭整理任务低层操作基准)
- 包含 3 个长时程任务:
- TidyHouse:将 5 个目标物体移动到不同的开放收纳容器(桌、台面等);
- PrepareGroceries:将 2 个物体从打开的冰箱移到台面目标位,再将 1 个物体从台面放回冰箱;
- SetTable:将 1 个碗从关闭的抽屉移到餐桌,并将 1 个苹果从关闭的冰箱移到同一餐桌。
- 任务拆分为 4 个子任务:Pick、Place、Open、Close。
- 随机化:目标物体/关节物体/目标(依子任务而定);底盘 x/y 位置与 z 旋转、手臂与躯干 qpos 噪声。
- 成功条件:Pick(物体被抓住、末端执行器回到静止位、机器人静止)、Place(物体距目标位置 ≤ 15cm、末端执行器静止位、机器人静止)、Open/Close(关节物体打开/关闭、末端执行器静止位、机器人静止)。
- 失败条件:机器人累积碰撞力超过阈值(Pick 5000N、Place 7500N、Open/Close 10000N)。
- 完整任务最大步数 1200–2000,子任务为 200。
该任务演示视频与海报图位于 figures/environment_demos/ManiSkill-HAB_rt.mp4 与 docs/source/_static/env_thumbnails/ManiSkill-HAB_rt_poster.png,相关文献为 arXiv:2412.13211。
七、从源码理解任务注册与实现
任务文档并非孤立的文字描述,而是由源码直接生成并与之严格对应。以基线任务 PickCube-v1 为例:
@register_env("PickCube-v1", max_episode_steps=50) class PickCubeEnv(BaseEnv): goal_thresh = 0.025 cube_spawn_half_size = 0.05 SUPPORTED_ROBOTS = ["panda", "fetch", "xarm6_robotiq", "so100", "widowxai"]关键点:
- 环境 ID 与最大步数由
@register_env("PickCube-v1", max_episode_steps=50)装饰器声明(pick_cube.py),注册机制定义在 mani_skill/utils/registration.py; - 成功阈值(
goal_thresh = 0.025)、生成区域(cube_spawn_half_size = 0.05)为类属性,与任务卡片完全一致; - 场景构建通过
TableSceneBuilder(mani_skill/utils/scene_builder/table)完成,立方体与绿色目标球分别由actors.build_cube/actors.build_sphere创建; - episode 初始化在
_initialize_episode中完成:对每个并行环境采样 xy 位置、用randomization.random_quaternions生成随机姿态; - 任务文档字符串(
PICK_CUBE_DOC_STRING)与类定义同处一个文件,由 generate_task_docs.py 自动渲染成docs/source/tasks/下的分类文档。
因此,读者若想确认某任务的精确参数(阈值、步数、机器人列表、随机化范围),直接阅读对应分类目录下的 Python 源文件(如 mani_skill/envs/tasks/tabletop、mani_skill/envs/tasks/control)即可获得与文档一致且更细粒度的实现细节。
八、实践指引总结
- 选择任务:按需求在九大分类中挑选环境 ID,参考任务卡片中的机器人支持列表、成功条件与随机化范围;
- 准备资源:若任务带 Download Asset 徽章,先执行
python -m mani_skill.utils.download_asset <env_id>;需要演示则执行python -m mani_skill.utils.download_demo <env_id>; - 选择观察模式:追求真值信息用
state/state_dict;面向真实世界部署用视觉观察模式(真值位姿会被移除); - 训练与评估:配合官方基线(见 examples/baselines 中的 PPO、SAC、BC、Diffusion Policy 等实现)或自定义算法在 GPU 并行环境下大规模采样。
ManiSkill 的任务体系以"任务卡片"为统一信息载体,以 GPU 并行化为底层能力,覆盖从经典控制到灵巧操作、从数字孪生到社区基准的完整谱系,是机器人学习研究中进行任务选择、复现对比与自定义扩展的可靠起点。
【免费下载链接】ManiSkillManipulation Skill Framework, an open source GPU parallelized robotics simulator and benchmark项目地址: https://gitcode.com/GitHub_Trending/ma/ManiSkill
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考