SuperAPI AI 工具集

isaaclab-preparing-assets-for-newton

智能体与模型

查看项目

更新于 10-28 06:39

技能介绍

该技能标题为 Prepare Assets For Newton With MJWarp,目标是把兼容 PhysX 的机器人、物体和场景资产迁移到 Isaac Lab 的 Newton 后端,且专门针对 Newton 搭配 MJWarp,而不是泛指所有 Newton 求解器。使用前应先阅读资产迁移指南,技能按该指南的顺序展开。只有当资产与任务在两个后端都能运行之后,才应使用 sim-to-sim 技能。

适用范围与排除项:一维线缆/杆件资产不在本技能范围内,这类资产应作为 Newton 可变形体(仅 Newton + VBD)从头制作,而不是从 PhysX 刚体资产转换;隐式 MPM 粒子资产及刚性-MPM 耦合同样不在范围内。

工作流程:

多后端资产导入管线。提供的 Isaac Lab 资产可直接用于 PhysX 与 MJWarp;Newton 会解析其支持的 USD Physics 与 PhysX 属性。对新的 URDF 或 MJCF,保持 run_asset_transformer=True 和 run_multi_physics_conversion=True,使导入器生成中性、PhysX 与 MuJoCo 载荷,并注意其嵌套刚体结构。

按求解器使用 schema 片段。向各 spawner 字段传入片段列表:通用 USD Physics 属性放入 UsdPhysicsRigidBodyCfg 等通用片段,MJWarp 专属字段放入 MujocoCfg,Newton 原生字段放入 NewtonCfg,仅 PhysX 的字段放入 Physx*Cfg,并在生成的 schema API 中确认支持情况。

审计编写好的机械模型。检查每个动态链接和接触相关物体的质量、质心、惯量与坐标系、碰撞几何、近似与尺度、材质、关节根、固定基座与固定关节表示、关节轴与限位、自碰撞以及重力覆盖是否合理。

匹配接触与摩擦行为。MJWarp 默认打滑更多,需验证碰撞体、材质绑定、接触位置与夹爪力;用 MujocoCollisionCfg 设置每个形状的 condim,调整材质摩擦,再设置全局 MJWarpSolverCfg(cone=..., impratio=...)。priority、solmix、solref、solimp 作为专家级逐碰撞体覆盖项。可用固定抓取位移、接触数、力矩、穿透和成功率作为指标。

区分速度限制。actuator_velocity_limit 是额定速度,joint_velocity_limit 是请求的求解器钳制;Isaac Lab 会把后者写入 Newton 模型,但 MJWarp 不消费也不强制执行,Kamino 会执行。因此在 MJWarp 下需在任务或控制层增加所需速度边界检查。joint_effort_limit 用于求解器限制,actuator_effort_limit 用于裁剪显式执行器模型。

为何 MJWarp 常需更多 armature。对关节坐标可用反射转子惯量或受控响应测试;普通刚体只有本体惯量,没有执行器 armature。在改动 armature 前,先修正质量、惯量、单位、重置穿透、力矩、动作尺度、控制周期和接触容量。增大 armature 会改变有效惯量与阻尼比,应基于阶跃响应联合调整 armature、刚度和阻尼,采用保守动作尺度,并让目标远离硬限位以避免 bang-bang 控制。

选择 MJWarp 起始配置。不要对 PhysX 参数做数值翻译;从 MJWarp 求解器页面最近的配置起步,先保留文档中的收敛默认值,启用 NewtonCfg.debug_mode,除非任务需要 NewtonCfg.collision_cfg,否则使用 MuJoCo 接触。然后在 PhysX 与 MJWarp 中以零动作和随机动作运行多个重置周期,检查非有限状态、首步冲量、饱和、角速度过大、接触丢失和警告;在步进前拒绝穿透、不可能模仿状态和无效随机几何。

诊断仅限 MJWarp 的故障。用单环境、固定状态、无随机化和相同动作复现第一个坏步,并将其归类为初始化/模型、接触/容量、控制或密集场景故障后再调参。优先提升溢出的容量;只有在资产、重置、控制器、接触模型和容量都有效之后,才修改收敛设置。

验证要求:资产需能在双后端解析并带有受支持的逐求解器字段,具有合理的质量、碰撞与接触数据、物理上可解释的执行器参数、有限的任务行为和有效重置;导入器或求解器警告未解释清楚时不得判定资产就绪。维护方面,技能需与资产迁移指南逐节同步,并以 MJWarp 求解器页面获取当前配置值。