【古月居《ros入门21讲》学习笔记】18_常用可视化工具的使用

目录

说明:

[1. Qt工具箱](#1. Qt工具箱)

日志输出工具:rqt_console

绘制数据曲线:rqt_plot

图像渲染工具:rqt_image_view

综合工具:rqt

[2. 三维可视化工具:Rviz](#2. 三维可视化工具:Rviz)

Rviz启动

使用示例

[3. 仿真平台:Gazebo](#3. 仿真平台:Gazebo)

Gazebo启动

模型环境查看

选择模型环境打开


说明:

  1. 本系列学习笔记基于B站:古月居《ROS入门21讲》课程,且使用的Ubuntu与ROS系统版本与课程完全一致;
虚拟机版本 Linux系统版本 ROS系统版本
VMware WorkStation Pro 16 Ubuntu18.04 Melodic
  1. 课程中的所有示例代码均已跑通,且对Pyhon版本的代码也都做了运行验证,并附带验证过程(错误均已修正);

  2. 本节是整个笔记的第18节,对应视频课程的第20节,请自行对应学习;

  3. 整个系列笔记基本已经完结,但部分章节仍需润色修改 ,后面会陆续发布,请大家持续关注, 创作不易,感谢支持!


这一章节介绍一些ROS中常用可视化工具的使用。 在前面的课程中我们曾经简单介绍过ROS中一个可视化工具:计算图,计算图可视化工具指令:rqt_graph 这里将较为详细的介绍一些其它的可视化工具,如:Qt工具箱Rviz等。

1. Qt工具箱

日志输出工具:rqt_console

还是以小海龟为例,我们先来启动海龟例程

复制代码
roscore
rosrun turtlesim turtlesim_node

然后新建终端打开日志输出工具

复制代码
rqt_console

然后打开海龟键盘控制节点,让海龟动起来,并撞上墙,rqt_console就会把日志信息都显示出来。

复制代码
rosrun turtlesim turtle_teleop_key

绘制数据曲线:rqt_plot

前面已经打开了海龟控制的相关节点,这里我们打开数据绘图工具rqt_plot。

复制代码
rqt_plot

在在左上角的输入框中输入左斜杠/可以看到自动填充项,我们选择 /turtle1/pose 按回车,就会显示位置信息的实时情况。

然后我们让海龟动起来,可以看到各个数据信息的变化,

复制代码
rosrun turtlesim turtle_teleop_key

图像渲染工具:rqt_image_view

复制代码
rqt_image_view

默认里面是没有任何的图像的,需要插入摄像头,驱动摄像头跑起来,然后摄像头会不断的发布图像信息,在左上角选择图像信息的话题,rqt_image_view会把图像渲染出来,包括rgb的彩色值,如果使用rgbd的话,也可以显示深度图,红外图,只要符合ROS图像的定义都可以显示

综合工具:rqt

复制代码
rqt

直接输入rqt可以打开图形界面总接口 在Plugin菜单有各种图形界面的工具,选择点击可分块显示在下方, 前面我们介绍过的Qt工具包都可以在Plugin菜单里找到。

2. 三维可视化工具:Rviz

在前面的学习中我们就曾使用过Rviz来显示空间坐标系的相对位置。

Rviz启动

复制代码
roscore
rosrun rviz rviz

使用示例

点击Add,选择添加Image项,如果我们有摄像头的话,就会在 Image Topic 中显示出来相应的驱动,

我们选择它就可以获取摄像头的图像信息。

点击Add,选择添加LaserScan项,如果我们有激光雷达的话,选择相应的的驱动即可获取渲染出来的效果。

3. 仿真平台:Gazebo

Gazebo启动

模型环境查看
复制代码
roslaunch gazebo_ros

注意:此命令最后要空格,然后再双击tab,才能显示可选择的模型环境。如果命令最后没加空格双击tab,显示信息只有两个。

选择模型环境打开
复制代码
roslaunch gazebo_ros willowgarage_world.launch 

模型环境打开说明:

如果用虚拟机的话,可能运行效果很差或者不成功(比如我的就是),因为,首先gazebo运行需要调用很多资源,而且需要许多图形渲染工具,而虚拟机一方面性能可能就不太能支撑的起来,另一方面gazebo运行会从远程服务器加载一些离线的模型,比如:阳光,大地,这也是模型,尤其是第一次启动,它需要连接很久,因为这个服务器在国外,如果网络不好的话,可能需要加载很长时间,设置一直就加载不出来,大家知道有这样一个工具就行了。

相关推荐
大模型真好玩19 分钟前
LangChain DeepAgents 速通指南(三)—— 让Agent告别混乱:Tool Selector与Todo List中间件解析
人工智能·langchain·trae
孟祥_成都1 小时前
【全网最通俗!新手到AI全栈开发必读】 AI 是如何进化到大模型的
前端·人工智能·全栈
牛奶1 小时前
AI辅助开发的基础概念
前端·人工智能·ai编程
东坡肘子1 小时前
OpenClaw 不错,但我好像没有那么需要 -- 肘子的 Swift 周报 #125
人工智能·swiftui·swift
风象南9 小时前
普通人用AI加持赚到的第一个100块
人工智能·后端
牛奶9 小时前
2026年大模型怎么选?前端人实用对比
前端·人工智能·ai编程
牛奶9 小时前
前端人为什么要学AI?
前端·人工智能·ai编程
罗西的思考12 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
冬奇Lab13 小时前
OpenClaw 源码精读(2):Channel & Routing——一条消息如何找到它的 Agent?
人工智能·开源·源码阅读
冬奇Lab13 小时前
一天一个开源项目(第38篇):Claude Code Telegram - 用 Telegram 远程用 Claude Code,随时随地聊项目
人工智能·开源·资讯