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:33 阅读更多 →
深度掌握C语言的重点模块

深度掌握C语言的重点模块

深度掌握C语言的重点模块 1.位操作与寄存器编程 位运算符 |(按位或OR):有1则为1。(常用于置1) &(按位与AND):全1才为1,有0则为0。(常用于清0或掩码&#…

2026/8/2 2:50:33 阅读更多 →
Windows批处理脚本实现ADB文件批量传输:自动化与效率提升实战

Windows批处理脚本实现ADB文件批量传输:自动化与效率提升实战

1. 项目概述:为什么我们需要批处理来管理ADB文件传输?如果你经常和安卓设备打交道,无论是作为开发者进行应用调试,还是作为极客玩家管理手机里的文件,adb push和adb pull这两个命令绝对是你的老朋友。手动敲命令&#…

2026/8/2 2:50:33 阅读更多 →

最新新闻

AI时代工程师的核心竞争力:写作式思考与结构化表达

AI时代工程师的核心竞争力:写作式思考与结构化表达

你有没有过这样的经历:面对一个复杂的技术问题,脑子里想法很多,但一打开文档或编辑器,却感觉思绪混乱,不知从何下笔?或者,在团队讨论时,明明心里有清晰的逻辑,但说出来却…

2026/8/3 5:04:27 阅读更多 →
Mathtype与Word 2019深度集成:从安装到故障排查的完整指南

Mathtype与Word 2019深度集成:从安装到故障排查的完整指南

1. 从“能用”到“好用”:Mathtype与Word 2019集成的真实挑战如果你正在为毕业论文、学术报告或者技术文档中的复杂公式编辑而头疼,大概率已经听说过Mathtype这款神器。作为一个在科研和工程文档领域摸爬滚打了十多年的老用户,我几乎见证了它…

2026/8/3 5:04:27 阅读更多 →
从图片到品种:AIDog如何让AI识别狗狗种类变得简单有趣

从图片到品种:AIDog如何让AI识别狗狗种类变得简单有趣

从图片到品种:AIDog如何让AI识别狗狗种类变得简单有趣 【免费下载链接】AIDog 一款从图片识别狗的类别的应用,包括Android版和微信小程序版。 项目地址: https://gitcode.com/gh_mirrors/ai/AIDog 你是否曾经在路上看到一只可爱的狗狗&#xff0c…

2026/8/3 5:04:27 阅读更多 →
SQL 零基础(七):删个国家为什么被拦?——读懂 547 报错和数据库的“保镖“

SQL 零基础(七):删个国家为什么被拦?——读懂 547 报错和数据库的“保镖“

SQL 零基础(七):删个国家为什么被拦?——读懂 547 报错和数据库的"保镖"试着执行 DELETE FROM Country WHERE CountryCode CN,你会收获一条红色报错。这篇教你两件事:怎么逐字读懂一条报错,以及它背后那位尽职的保镖——外键约束。一、案发现场 消息 547&#xff0…

2026/8/3 5:04:27 阅读更多 →
入门级匹克球拍的生产企业有哪些?

入门级匹克球拍的生产企业有哪些?

入门级匹克球拍的生产企业有不少,凯瑞麟体育用品、海德等都是其中比较知名的。下面为你展开介绍:凯瑞麟体育用品泉州凯瑞麟体育用品有限公司成立于2025年11月,依托母公司三十年在碳纤维复合材料领域的经验,迅速完成了从入门级到专…

2026/8/3 5:04:27 阅读更多 →
OpenClaw智能体开发框架入门与实战指南

OpenClaw智能体开发框架入门与实战指南

1. OpenClaw 生态概览与技术定位OpenClaw 作为新一代智能体开发框架,正在重塑人机交互的边界。这个由ClawHub社区驱动的开源项目,本质上是一个模块化的技能开发平台,其核心价值在于将复杂的AI能力封装为可组合的Skill单元。我初次接触OpenCla…

2026/8/3 5:03:27 阅读更多 →

日新闻

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:47 阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:47 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/3 4:58:13 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/3 1:53:31 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

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

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

2026/8/3 4:36:35 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →