URDF机器人描述生成及默认生成时验证。用于创建、编辑、重新生成、检查或调试`.urdf`文件、Python `gen_urdf()`源码、机器人连杆、关节、限位、惯性参数、视觉/碰撞几何体、网格引用、坐标系约定或生成的机器人描述工件。使用SRDF技能处理MoveIt2语义组和IK/路径规划语义;使用cad-viewer技能控制本地MoveIt2服务器;使用CAD技能输出STEP/STL/3MF/DXF/GLB格式。
URDF
来源:维护于earthtojake/text-to-cad。
使用已安装的本地技能文件作为运行时真实来源;
仓库链接仅用于来源追溯和发布审查。
使用此技能生成URDF机器人描述输出。将URDF工作视为约束运动学建模,而不仅仅是XML编写。主要正确性风险包括坐标系放置、关节轴语义、单位一致性、网格缩放、惯性数据以及生成工件的漂移。
核心规则
- 将定义
gen_urdf()的Python源码视为真实来源。将配置的.urdf文件视为生成的工件。 - 仅生成明确的URDF目标。不要通过此技能重新生成无关的CAD、网格、渲染、SRDF、SDF或模拟器工件。
scripts/urdf生成器默认验证生成的URDF。不要使用或记录单独的validate命令。- 在编写或更改URDF XML之前,建立机器人的坐标系、关节、几何体、单位和假设记录。参见
references/design-ledger.md。 - 精确使用URDF坐标系语义。关节原点、连杆坐标系、关节轴以及视觉/碰撞/惯性原点使用不同的参考坐标系。参见
references/frame-semantics.md。 - 不要从模糊的描述中推断空间变换、网格单位、手性、轴或关节符号。使用CAD变换、标注图纸、测量值、现有源数据或明确记录的假设。
- 优先使用简单、可审计的生成器代码,而非复杂的XML构造。保持常量按物理意义命名,而非任意数字。
- 对于物理连杆,当目标消费者需要时,分别建模
inertial、visual和collision。仅用于坐标系的连杆可以有意识地省略质量和几何体。
CAD查看器交接
完成创建或修改.urdf的URDF工作后,如果安装了$cad-viewer技能,必须始终将明确的文件路径传递给$cad-viewer。$cad-viewer必须启动CAD查看器(如果尚未运行)并返回相关创建或更新文件的链接;如果$cad-viewer不可用或启动失败,则报告该情况,而不是静默省略交接。
工作流程
- 确定
gen_urdf()的Python源码和目标.urdf输出。 - 确定目标消费者:RViz、robot_state_publisher、Gazebo/Ignition、MoveIt、真实机器人驱动或其他模拟器。
- 在编辑坐标系、原点、轴、网格缩放、限位或惯性参数之前,读取或创建设计记录。
- 编辑生成器源码,而非生成的URDF XML。
- 仅使用
scripts/urdf重新生成明确的目标。 - 让生成时验证在XML、图结构、关节、几何体、网格引用和惯性问题上快速失败。
- 当几何体或网格引用依赖于更改的CAD或导出的网格输出时,使用相应的CAD或网格工作流重新生成这些明确的工件,然后重新生成受影响的URDF目标。
- 如果可用,针对目标运行消费者冒烟测试:RViz显示、robot_state_publisher树、Gazebo/Ignition加载或MoveIt模型加载。
- 报告剩余的假设、未检查的空间数据以及验证/冒烟测试的差距。
命令
使用项目或工作空间的Python环境运行。将示例中的python视为解释器占位符;如果裸python不可用,请替换为python3、项目虚拟环境解释器或配置的解释器路径。URDF生成器和轻量级验证器仅使用Python标准库;下游消费者如RViz、Gazebo或MoveIt可能需要自己的运行时包。
从本技能目录,启动器格式为:
python scripts/urdf path/to/source.py
python scripts/urdf path/to/source.py -o path/to/robot.urdf
python scripts/urdf path/to/a.py=out/a.urdf path/to/b.py=out/b.urdf
纯Python目标会在源码旁边生成同名的.urdf文件。-o/--output仅对单个目标有效。使用SOURCE.py=OUTPUT.urdf对自定义多目标路径。
相对源目标和CLI输出覆盖从当前工作目录解析。当从本技能目录外部运行时,请为启动器路径添加前缀,以便目标文件仍从预期的工作空间解析。
启动器仅执行gen_urdf()并验证生成的URDF输出。它不提供单独的仅验证命令。
参考
- 设计记录:
references/design-ledger.md - 坐标系语义:
references/frame-semantics.md - URDF生成器合同:
references/generator-contract.md - URDF生成命令:
references/gen-urdf.md - URDF编辑工作流:
references/urdf-workflow.md - 生成时验证期望:
references/validation.md






