图 20-3 · 工程全景:一个模型文件、三个节点、两把工具

本图回答的问题:本实验改哪些文件、launch 起哪几个节点、用什么验证?

层 1 · 模型与配置文件(urdf_demo 包) diff_drive_robot.urdf link×4 · joint×3 .urdf.xacro property + macro display.launch.py 注入 robot_description urdf_demo.rviz Fixed Frame 等预设 层 2 · 展开与运行(处理/计算) Xacro 参数化重构 80 行展开为 150 行 URDF 三节点 launch jsp_gui + robot_state_publisher + rviz2 RViz2 渲染 RobotModel + TF Display xacro 展开 展开产物 ros2 launch -d 加载预设 /tf · /joint_states 层 3 · 两把工具 + 眼睛验证 check_urdf 语法+结构:3 child(ren) urdf_to_graphiz 拓扑图 PDF 肉眼核对 RViz2 眼睛看 车模·TF 轴·Collision 线框 被检对象 渲染结果即证据 未 source install/setup.bash · launch 硬编码 src/ 绝对路径 · Fixed Frame 写错 任一处都会让整条链断在层 2——路径永远走 get_package_share_directory()
✅ 结论:一份模型文件既喂三节点渲染,也喂两把工具体检 ⚠️ 风险:未 source / 硬编码路径 / Fixed Frame 写错 → 全链断 🔍 验证:04 节检验工具三件套的三条真实输出
EXP-20 · URDF 与 Xacro 机器人建模