urdf

urdf

热门

URDF机器人描述生成及默认生成时验证。用于创建、编辑、重新生成、检查或调试`.urdf`文件、Python `gen_urdf()`源码、机器人连杆、关节、限位、惯性参数、视觉/碰撞几何体、网格引用、坐标系约定或生成的机器人描述工件。使用SRDF技能处理MoveIt2语义组和IK/路径规划语义;使用cad-viewer技能控制本地MoveIt2服务器;使用CAD技能输出STEP/STL/3MF/DXF/GLB格式。

8286Star
946Fork
更新于 2026/7/11
SKILL.md
readonly只读
name
urdf
description

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编写。主要正确性风险包括坐标系放置、关节轴语义、单位一致性、网格缩放、惯性数据以及生成工件的漂移。

核心规则

  1. 将定义gen_urdf()的Python源码视为真实来源。将配置的.urdf文件视为生成的工件。
  2. 仅生成明确的URDF目标。不要通过此技能重新生成无关的CAD、网格、渲染、SRDF、SDF或模拟器工件。
  3. scripts/urdf生成器默认验证生成的URDF。不要使用或记录单独的validate命令。
  4. 在编写或更改URDF XML之前,建立机器人的坐标系、关节、几何体、单位和假设记录。参见references/design-ledger.md
  5. 精确使用URDF坐标系语义。关节原点、连杆坐标系、关节轴以及视觉/碰撞/惯性原点使用不同的参考坐标系。参见references/frame-semantics.md
  6. 不要从模糊的描述中推断空间变换、网格单位、手性、轴或关节符号。使用CAD变换、标注图纸、测量值、现有源数据或明确记录的假设。
  7. 优先使用简单、可审计的生成器代码,而非复杂的XML构造。保持常量按物理意义命名,而非任意数字。
  8. 对于物理连杆,当目标消费者需要时,分别建模inertialvisualcollision。仅用于坐标系的连杆可以有意识地省略质量和几何体。

CAD查看器交接

完成创建或修改.urdf的URDF工作后,如果安装了$cad-viewer技能,必须始终将明确的文件路径传递给$cad-viewer$cad-viewer必须启动CAD查看器(如果尚未运行)并返回相关创建或更新文件的链接;如果$cad-viewer不可用或启动失败,则报告该情况,而不是静默省略交接。

工作流程

  1. 确定gen_urdf()的Python源码和目标.urdf输出。
  2. 确定目标消费者:RViz、robot_state_publisher、Gazebo/Ignition、MoveIt、真实机器人驱动或其他模拟器。
  3. 在编辑坐标系、原点、轴、网格缩放、限位或惯性参数之前,读取或创建设计记录。
  4. 编辑生成器源码,而非生成的URDF XML。
  5. 仅使用scripts/urdf重新生成明确的目标。
  6. 让生成时验证在XML、图结构、关节、几何体、网格引用和惯性问题上快速失败。
  7. 当几何体或网格引用依赖于更改的CAD或导出的网格输出时,使用相应的CAD或网格工作流重新生成这些明确的工件,然后重新生成受影响的URDF目标。
  8. 如果可用,针对目标运行消费者冒烟测试:RViz显示、robot_state_publisher树、Gazebo/Ignition加载或MoveIt模型加载。
  9. 报告剩余的假设、未检查的空间数据以及验证/冒烟测试的差距。

命令

使用项目或工作空间的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