Gazebo 机器人实操:驱动一辆差速小车
第 7 章 Gazebo 机器人实操驱动一辆差速小车学习目标启动官方差分驱动机器人演示世界发布/cmd_vel速度指令驱动机器人观察里程计、TF、激光话题在 RViz 中可视化机器人模型和激光数据理解 URDF/SDF 中连杆与关节的基本概念1. 启动演示世界上一章安装的ros-gz-sim-demos自带一个差速驱动机器人演示一辆蓝色小车带激光雷达ros2 launch ros_gz_sim_demos diff_drive.launch.py弹出两个窗口Gazebo 窗口蓝色小车停在地面上如果不动先点播放按钮RViz 窗口可视化机器人模型如果仿真暂停点 Gazebo 窗口底部的播放按钮。2. 用话题驱动机器人新开终端查看话题ros2 topic list重点看这几个话题/model/vehicle_blue/cmd_vel # 小车速度指令输入 /model/vehicle_blue/odom # 里程计输出 /model/vehicle_blue/scan # 激光雷达数据输出若有让小车一边前进一边转弯ros2 topic pub-r10/model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist\{linear: {x: 2.0}, angular: {z: 0.5}}参数含义-r 10以 10 Hz 持续发布linear.x前进速度 2 m/sangular.z旋转角速度 0.5 rad/s在 Gazebo 窗口里可以看到小车开始移动并在地面上转弯。观察里程计数据另一个终端ros2 topicecho/model/vehicle_blue/odom输出里的pose.pose.position是小车在仿真世界里的坐标twist是当前速度——这就是“传感器”给 ROS 的反馈。停止小车ros2 topic pub-r10/model/vehicle_blue/cmd_vel geometry_msgs/msg/Twist{linear: {x: 0.0}}注意不同版本/世界的话题名可能略有差异。动手前先ros2 topic list确认实际名称这是所有 ROS 2 调试的第一步。3. 查看 TF 坐标变换TFTransform描述机器人各部件之间的坐标关系例如“激光雷达装在底盘上方 0.3 米”。查看当前存在的坐标变换ros2 run tf2_tools view_frames会在当前目录生成frames.pdf也可以实时打印两个坐标系之间的变换ros2 run tf2_ros tf2_echo父坐标系子坐标系先在 RViz 左侧Fixed Frame里填odom或world添加 TF 显示就能看到坐标系之间的连线。TF 是机器人开发的重要基础本章先会观察即可。4. 在 RViz 里看激光雷达演示启动时已经打开了 RViz。如果激光话题存在可以手动添加显示确认话题ros2 topic list | grep scan容器内 bash在 RViz 左侧点击Add→By topic→ 选中激光话题如/model/vehicle_blue/scan类型sensor_msgs/msg/LaserScan→ OK确保Fixed Frame是odom或worldRViz 中会出现一圈点云就是激光雷达“看到”的周围障碍物把小车开到墙边可以实时看到激光点云贴近墙面。5. URDF/SDF 基础连杆与关节机器人在仿真和 ROS 里长什么样由模型文件描述。URDFROS 原生和 SDFGazebo 原生都是 XML 格式核心概念一致连杆Link刚体部件如底盘、轮子、激光雷达有质量和惯性关节Joint连接连杆并定义相对运动如轮子的转动关节一个最简单的“方块机器人” URDF 示意robotnamebox_robot!-- 底盘一个 0.5m 的立方体 --linknamebase_linkvisualgeometryboxsize0.5 0.5 0.1//geometry/visualcollisiongeometryboxsize0.5 0.5 0.1//geometry/collision/link/robot这个模型没有关节只是一个静止的方块。真实的差速小车还需要轮子、转向/转动关节和驱动插件——官方演示世界里的vehicle_blue模型就是完整例子其 SDF 文件里包含差速驱动系统插件负责把/cmd_vel变成轮子转动。本教程不要求手写完整 URDF那是进阶章节的内容但理解“连杆 关节 插件”这个骨架后续看任何机器人模型都能看懂。6. 把话题数据和仿真时间记下来预告仿真期间/clock、/model/vehicle_blue/odom、/scan都是真实可用的 ROS 话题可以随时ros2 topic echo。下一章的 MoveIt 会用到同样的“话题通信”思想第 9 章会教你用 rosbag 把仿真数据录下来回放。常见问题现象原因与解决办法小车不动仿真暂停点播放按钮或 cmd_vel 话题名不对用ros2 topic list确认RViz 里看不到模型检查 Fixed Frame 是否设置为odom/world并确认 RViz 与 Gazebo 同时运行找不到tf2_tools命令执行sudo apt install -y ros-jazzy-tf2-tools激光点云是空的激光话题名可能不同ros2 topic listRViz 报No transform等待几秒让 TF 数据到达或重启 RViz练习题让小车先直行 3 秒再原地旋转 90 度再直行 3 秒观察它的轨迹用/odom验证最终位置。用ros2 topic hz /model/vehicle_blue/odom测量数据频率想想激光雷达数据该用什么频率。在 RViz 中同时显示 TF 和 LaserScan移动小车观察坐标系随小车运动的变化。把/cmd_vel改成一个持续发布正弦速度的ros2 topic pub命令提示--rate与固定值配合即可观察小车蛇形前进。

相关新闻

吉他弦距测量与调整全攻略:从标准方法到系统调校

吉他弦距测量与调整全攻略:从标准方法到系统调校

吉他弦距这个事,很多新手拿到琴第一反应是“按着费劲”,老手调琴时也常纠结“多高算合适”。它直接决定了手感好坏和音准稳定性,调得太高按不动,调得太低又打品。这篇文章不绕弯子,直接告诉你判断弦距的标准方法、必备…

2026/8/2 2:51:41阅读更多 →
当AI工具都记得你 组织却仍在集体失忆

当AI工具都记得你 组织却仍在集体失忆

当AI工具都记得你 组织却仍在集体失忆 团队里最贵的劳动,从来不是写代码或跑推理,而是把同一段判断,从ChatGPT窗口复制到Claude Code,再粘到同事的Agent里。你的偏好没变,你的硬伤教训没变,变的只是对话对象…

2026/8/2 2:49:41阅读更多 →
哈夫曼编码:从最优二叉树到数据压缩的工程实践

哈夫曼编码:从最优二叉树到数据压缩的工程实践

1. 项目概述:从数据压缩到通信优化在计算机科学和软件工程领域,我们每天都在和数据打交道。无论是传输一份文档、加载一张图片,还是播放一段音频,背后都涉及到海量数据的存储与传输。一个直观的问题是:如何用更少的空间…

2026/8/2 2:49:41阅读更多 →
Visual Syslog Server:Windows平台的网络日志可视化架构深度解析

Visual Syslog Server:Windows平台的网络日志可视化架构深度解析

Visual Syslog Server:Windows平台的网络日志可视化架构深度解析 【免费下载链接】visualsyslog Syslog Server for Windows with a graphical user interface 项目地址: https://gitcode.com/gh_mirrors/vi/visualsyslog 在分布式系统监控的复杂生态中&…

2026/8/2 4:04:13阅读更多 →
HarmonyOS NEXT 企业级记账APP:数据导出、备份与恢复

HarmonyOS NEXT 企业级记账APP:数据导出、备份与恢复

数据导出、备份与恢复 本文是《HarmonyOS NEXT 企业级开发实战:30篇打造智能记账APP》系列的第 25 篇,对应 Git Tag v0.2.5。承接上一篇设置中心开发,本篇深入讲解 SettingView 中的 exportData 数据导出方法与 doClear 数据清空实现&#xf…

2026/8/2 4:04:13阅读更多 →
C++智能指针进阶详解|enable_shared_from_this、weak_ptr、循环引用、容器存储、make_shared/make_unique底层

C++智能指针进阶详解|enable_shared_from_this、weak_ptr、循环引用、容器存储、make_shared/make_unique底层

本篇博客基于完整可运行源码,深度讲解C智能指针进阶核心知识点。涵盖自定义实体类、enable_shared_from_this使用陷阱、weak_ptr弱指针原理、循环引用内存泄漏解决方案、unique_ptr/shared_ptr容器存储规则、make系列函数底层差异。一、全局头文件与前置说明#define…

2026/8/2 4:04:13阅读更多 →
小米滑板车故障排查与维修指南:从异响、续航衰减到核心部件深度解析

小米滑板车故障排查与维修指南:从异响、续航衰减到核心部件深度解析

1. 小米滑板车:从入手到精通,一份资深用户的避坑指南如果你正准备入手或者已经拥有一台小米滑板车,那么这篇文章就是为你准备的。无论是经典的M365、升级款的Pro 2,还是更专业的1S或4 Pro,它们本质上都是结构精巧、体验…

2026/8/2 4:04:11阅读更多 →
单片机毕设选题推荐:基于单片机射频刷卡充电桩智能计费装置开发 基于硬件传感器的充电桩连接状态检测系统设计(017001)

单片机毕设选题推荐:基于单片机射频刷卡充电桩智能计费装置开发 基于硬件传感器的充电桩连接状态检测系统设计(017001)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/8/2 4:04:11阅读更多 →
【波束成形】基于matlab自适应MVDR波束成形和人工噪声实现无人机链路的运动感知物理层安全(多普勒感知的Rician衰落通道)【含Matlab源码 15914期】

【波束成形】基于matlab自适应MVDR波束成形和人工噪声实现无人机链路的运动感知物理层安全(多普勒感知的Rician衰落通道)【含Matlab源码 15914期】

💥💥💥💥💥💥💞💞💞💞💞💞💞💞欢迎来到海神之光博客之家💞💞💞&#x1f49…

2026/8/2 4:02:10阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:10阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/2 0:00:12阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/2 0:00:13阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/2 0:00:10阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/2 0:00:12阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/2 0:00:13阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/2 1:29:34阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/2 2:32:55阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/2 2:09:20阅读更多 →