SuperAPI AI 工具集

robot-motion

智能体与模型

查看项目

更新于 10-15 21:36

技能介绍

用途:在已有有效 .urdf 的机器人项目上配置、生成并验证本地运动行为,包括逆运动学(IK)、路径规划、MoveIt 配置、websocket 运动服务器调试和 ROS 依赖安装。gen_motion() 中引用的 link、joint、frame 和末端执行器必须存在于该 URDF 文件中。

工作流:从现有有效 .urdf 开始;用 Python 源文件中的零参数 gen_motion() 通过 scripts/gen_motion_artifacts/cli.py 生成运动产物;环境可能已存在时先用 scripts/check-motion-server.sh 验证,仅在依赖缺失或过期时运行 scripts/setup.sh;用 scripts/run-motion-server.sh 启动 websocket 运动服务器;交付前测试协议、产物生成与 provider 逻辑。CAD Explorer 交接交由 CAD 技能处理,运动相关元数据保留在本技能。

命令(在机器人项目仓库根目录运行,否则设置 ROBOT_MOTION_REPO_ROOT): python .agents/skills/robot-motion/scripts/gen_motion_artifacts/cli.py <robot-urdf-source.py> --summary .agents/skills/robot-motion/scripts/setup.sh .agents/skills/robot-motion/scripts/check-motion-server.sh .agents/skills/robot-motion/scripts/run-motion-server.sh

运行环境与主机无关,但基于 Conda/RoboStack/Jazzy。setup 脚本依据 environment.yml 创建或更新专用 conda 环境,以可编辑模式安装 server/,并运行 motion_server --check。不要将 ROS 或 MoveIt 包安装到仓库 CAD 的 .venv、系统 Python 或系统包管理器。

运动服务器:浏览器通过本地 websocket 直连 motion_server,默认 ws://127.0.0.1:8765/ws,Vite 不启动或监管该服务器。服务器包位于 server/,校验请求的 URDF 与仓库本地 explorer 元数据及 robot-motion/motion_server.json,加载 robot-motion/ 下的 MoveIt sidecar,并将 urdf.solvePose / urdf.planToPose 分发给 provider。

限制与排错:若 check-motion-server.sh 找不到 conda,定位已有 */bin/conda 并用 ROBOT_MOTION_CONDA_EXE=/path/to/conda 重跑,不要仅因 conda 发现失败就运行 setup。沙箱环境中绑定或连接本地 websocket 可能报 PermissionError,需用环境批准的沙箱外/本地网络机制重跑;仅在端口确实被占用时改 ROBOT_MOTION_PORT。测试命令: PYTHONPATH=.agents/skills/robot-motion/server ./.venv/bin/python -m unittest discover .agents/skills/robot-motion/server/tests PYTHONPATH=.agents/skills/robot-motion/scripts ./.venv/bin/python -m unittest discover .agents/skills/robot-motion/scripts/gen_motion_artifacts/tests MoveIt 适配器测试应保持隔离,除非测试明确需要 ROS,否则无需 source ROS shell。