【古月居《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运行会从远程服务器加载一些离线的模型,比如:阳光,大地,这也是模型,尤其是第一次启动,它需要连接很久,因为这个服务器在国外,如果网络不好的话,可能需要加载很长时间,设置一直就加载不出来,大家知道有这样一个工具就行了。

相关推荐
青松@FasterAI5 分钟前
【程序员 NLP 入门】词嵌入 - 上下文中的窗口大小是什么意思? (★小白必会版★)
人工智能·自然语言处理
AIGC大时代20 分钟前
高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
数据库·人工智能·算法·aigc·智能写作·deepseek
硅谷秋水21 分钟前
GAIA-2:用于自动驾驶的可控多视图生成世界模型
人工智能·机器学习·自动驾驶
光而不耀@lgy24 分钟前
C++初登门槛
linux·开发语言·网络·c++·后端
偶尔微微一笑33 分钟前
AI网络渗透kali应用(gptshell)
linux·人工智能·python·自然语言处理·编辑器
Run1.43 分钟前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
深度之眼1 小时前
2025时间序列都有哪些创新点可做——总结篇
人工智能·深度学习·机器学习·时间序列
The Mr.Nobody1 小时前
STM32MPU开发之旅:从零开始构建嵌入式Linux镜像
linux·stm32·嵌入式硬件
晓数1 小时前
【硬核干货】JetBrains AI Assistant 干货笔记
人工智能·笔记·jetbrains·ai assistant
jndingxin1 小时前
OpenCV 图形API(60)颜色空间转换-----将图像从 YUV 色彩空间转换为 RGB 色彩空间函数YUV2RGB()
人工智能·opencv·计算机视觉