用途:在 Isaac Sim 中构建带障碍感知的机械臂与移动底座运动,基于通用 isaacsim.robot_motion.experimental.motion_generation(mg)底层与阶段机工作流。控制器可插拔,cuMotion(isaacsim.robot_motion.cumotion)为参考实现;PINK 与 Lula 也是运动生成控制器,但本技能暂未记录。
主要能力:提供控制循环、cuMotion 设置、坐标系与抓取、场景检查、阶段机、世界绑定等脚本;支持 SceneQuery 驱动的障碍物发现与逐帧世界同步,RobotState/JointState/SpatialState 构建,以及 RmpFlowController 的 reset/forward 调用。
使用方式:需已构建 Isaac Sim($ISAAC_SIM_DIR 或 _build/linux-x86_64/release)、NVIDIA GPU 与当前驱动,并具备 isaac-sim-orchestrator 的 shell 环境变量。脚本可通过 run_script("scripts/control_loop.py", args=["--help"]) 调用,或在构建树中用 ./python.sh(Linux)或 python.bat(Windows)运行。控制器接线要求:按名称而非索引构建关节与站点状态;首次 forward() 前及目标不连续后调用 controller.reset(estimated, setpoint, t=0.0);向 forward(...) 传入控制器时钟时间而非 dt;每控制帧同步世界绑定;将已抓取物体排除在跟踪障碍集之外。
适用场景:机械臂末端执行器运动、移动底座集成、障碍感知规划、抓取与放置演示。移动底座的规划与轮式几何应交给 navigation-primitives,本技能仅负责 RobotState/控制器集成。
限制:面向 Isaac Sim 6 / Kit 110,除非另有说明;不替代 NVIDIA 官方文档处理未支持的边缘情况;非实验性 isaacsim.robot_motion.motion_generation 已弃用;独立脚本默认须打开可见窗口,无头模式与帧捕获/视频编码需显式 opt-in 标志。多数失败源于坐标系错误,需分别记录工具帧、期望与实测工具局部 +Z 轴、指尖/吸盘中点、任务抓取点、物体原点/质心/AABB 中心、语义轴与目标轴等。障碍膨胀需小步调整,大间隙缓冲可能破坏抓取/放置收敛。