用途:在已有有效 URDF 基础上编写、编辑、检查与校验 MoveIt 语义机器人描述(.srdf)。SRDF 只定义规划语义,不定义物理结构;.srdf 文件本身是唯一事实来源,直接编辑 XML,没有 gen_srdf() 约定。
主要能力:定义虚拟关节、被动关节、规划组、组状态、末端执行器与禁用碰撞对;通过 cadgen srdf validate 对配对 URDF 交叉校验名称、链路径、子组环、组状态成员与限值、禁用碰撞对及拼写错误;支持 --strict 与 --json 输出。
使用方式:先准备并校验 URDF,SRDF 与其同目录、同 <robot name> 配对(每机器人名每目录仅一个 URDF)。写 XML 前先提取 URDF 的 link/joint 表,名称只能从表中复制。规划组优先用链组(base/tip 在 URDF 树中为真实父子路径);组状态用 URDF 原生单位(旋转/连续为弧度,移动为米);禁用碰撞对需有真实理由与来源。命令示例:cadgen srdf validate path/to/robot.srdf;cadgen snapshot path/to/robot.srdf review.png。cadgen 通过 uvx --no-config --managed-python --python 3.13 --from cadgen==0.7.21 cadgen 运行。
适用场景:机械臂 IK、夹爪控制、移动底盘、双臂规划、工具使用或本地冒烟测试等 MoveIt 规划语义配置。
限制:不得在 SRDF 中放几何、惯量、关节原点、网格、物理限值、transmission 或 ros2_control 接口;不得凭记忆输入名称;视觉渲染不能证明规划正确性;快照需网格文件存在(Git LFS 需先 checkout);校验一次只处理一个文件,结构错误会中断跨文件阶段,需修复后重跑。缺失的 MoveIt 环境等检查需在报告中说明。