机器人系统ros2-开发学习实践16-RViz 用户指南

RViz 是 ROS(Robot Operating System)中的一个强大的 3D

可视化工具,用于可视化机器人模型、传感器数据、路径规划等。以下是RViz用户指南,帮助你了解如何使用RViz来进行机器人开发和调试。

启动可视化工具

cpp 复制代码
ros2 run rviz2 rviz2

当 RViz 首次启动时,您将看到此窗口:

中间的大黑窗口是 3D 视图(因为什么都看不到所以是空的)。左边是显示列表,它会显示您已加载的所有显示。目前它只包含全局选项和网格,我们稍后会讲到。右边是其他一些面板,如下所述。

显示器

显示器是在 3D 世界中绘制某些内容的东西,并且可能在显示器列表中提供一些选项。例如点云、机器人状态等。

添加新显示器

要添加显示,请单击底部的添加按钮:

这将弹出新的显示对话框:

顶部的列表包含显示类型。类型详细说明了此显示将可视化哪种数据。中间的文本框提供了所选显示类型的描述。最后,您必须为显示指定一个唯一的名称。例如,如果您的机器人上有两个激光扫描仪,您可以创建两个名为"激光底座"和"激光头"的显示器。Laser Scan

显示属性

显示状态

每个显示都有自己的状态,以帮助您了解一切是否正常。状态可以是:OK、、或。状态在显示标题的背景颜色中指示,也可以在状态类别中看到,如果显示已展开,您可以查看Warning:ErrorDisabled

类别Status还扩展以显示特定状态信息。此信息对于不同的显示器是不同的,并且消息应该是不言自明的。


内置显示类型

配置

不同的显示器配置通常适用于可视化器的不同用途。例如,对完整 PR2 有用的配置不一定对测试车有用。为此,可视化器允许您加载和保存不同的配置。

配置包含:

  • 显示器 + 其属性

  • 工具属性

  • 3D 可视化的视点和设置

视图面板

可视化器中有许多不同类型的相机可供选择。

相机类型包括不同的相机控制方式和不同类型的投影(正交与透视)。

轨道相机(默认)

轨道摄像机只是围绕焦点旋转,同时始终注视该点。移动摄像机时,焦点会显示为一个小圆盘:

控制:

  • 鼠标左键:单击并拖动以围绕焦点旋转。

  • 鼠标中键:单击并拖动可在由相机的上和右向量形成的平面中移动焦点。移动的距离取决于焦点 - 如果焦点上有一个物体,并且您单击该物体的上方,该物体将停留在鼠标下方。

  • 鼠标右键:单击并拖动以放大/缩小焦点。向上拖动放大,向下拖动缩小。

  • 滚轮:放大/缩小焦点

FPS(第一人称)相机

FPS 相机是第一人称相机,因此它会旋转,就像您用头部看一样。

控制:

  • 鼠标左键:单击并拖动以旋转。按住 Control 键并单击以拾取鼠标下方的对象并直接查看它。

  • 鼠标中键:单击并拖动以沿着相机的上下矢量形成的平面移动。

  • 鼠标右键:单击并拖动以沿相机的前向矢量移动。向上拖动向前移动,向下拖动向后移动。

  • 滚轮:向前/向后移动。

自上而下的正交

自上而下的正交相机始终沿 Z 轴(在机器人框架中)向下看,并且是正交视图,这意味着物体不会随着距离变远而变小。

控制:

  • 鼠标左键:单击并拖动以绕 Z 轴旋转。

  • 鼠标中键:单击并拖动可沿 XY 平面移动相机。

  • 鼠标右键:单击并拖动以放大图像。

  • 滚轮:缩放图像。

XY 轨道

与轨道相机相同,焦点限制在 XY 平面内。

控制:

  • 参见轨道相机。

第三人称跟随者

相机保持朝向目标框架的恒定视角。与 XY 轨道相反,如果目标框架偏航,相机就会转动。例如,如果您正在对有角落的走廊进行 3D 映射,这可能会很方便。

控制:

  • 参见轨道相机。

自定义视图

视图面板还允许您创建不同的命名视图,这些视图会被保存并可在其中切换。视图由目标框架、相机类型和相机姿势组成。您可以通过单击视图面板的"保存"按钮来保存视图。

配置选项解释

Current View

当前选定的视图类型及其配置参数。以下是Orbit视图的具体参数说明:

  • Near Clip Distance: 最近裁剪距离,表示相机能看到的最近距离。默认值为0.01。
  • Invert Z Axis: 反转Z轴。选中此选项会使Z轴向下。
  • Target Frame: 目标框架,视图将相对于该框架进行渲染。通常设置为。
  • Distance: 相机与焦点之间的距离。默认值为10。
  • Focal Shape Size: 焦点形状的大小。默认值为0.05。
  • Focal Shape Fixed Size: 焦点形状固定大小。选中此选项将使焦点形状始终保持相同大小。
  • Yaw: 水平旋转角度,表示绕垂直轴的旋转。
  • Pitch: 垂直旋转角度,表示绕水平轴的旋转。
  • Focal Point: 焦点坐标,表示相机将围绕的中心点。默认值为0; 0; 0。

坐标系

RViz 使用 tf 变换系统将数据从其到达的坐标系转换为全局参考系。在可视化工具中,有两个坐标系很重要,即目标坐标系和固定坐标系。

固定框架

这两个框架中最重要的是固定框架。固定框架是用来表示框架的参考框架world。这通常是map、 或world或类似的东西,但也可以是,例如,你的里程计框架。

如果错误地将固定框架设置为机器人的底座,那么机器人曾经见过的所有物体都会出现在机器人前方,位于相对于检测到它们的机器人的位置。为了获得正确的结果,固定框架不应相对于世界移动。

如果改变固定框架,所有当前显示的数据都会被清除,而不是重新转换。

目标框架

目标坐标系是相机视图的参考坐标系。例如,如果您的目标坐标系是地图,您将看到机器人在地图上行驶。如果您的目标坐标系是机器人的底座,机器人将保持在同一位置,而其他所有物体都相对于它移动。

工具

可视化工具的工具栏上有许多工具可供使用。以下部分将简要介绍这些工具。您可以在"帮助"->"显示帮助面板"下找到更多信息。

2D 姿态估计

此工具可让您设置初始姿势以播种定位系统(在initialposeROS 主题上发送)。单击地面上的某个位置并拖动以选择方向。可以在面板中更改输出主题。Tool Properties

此工具与导航堆栈配合使用。

键盘快捷键:p

2D 导航目标

此工具可让您设置 ROS 主题上发送的目标goal_pose。单击地面上的某个位置并拖动以选择方向。可以在面板中更改输出主题。Tool Properties

此工具与导航堆栈配合使用。

键盘快捷键:g

发布点

发布点工具可让您在可视化工具中选择一个对象,然后该工具将根据框架发布该点的坐标。结果显示在底部,就像测量工具一样,但也发布在主题上clicked_point。

键盘快捷键:u

时间

在模拟器中运行时,"时间"面板非常有用,因为它允许您查看已过去的 ROS 时间,以及已过去的(即实际)时间。时间面板还允许您重置可视化工具的内部时间状态,这将重置所有显示以及 tf 的内部数据缓存。Wall Clock

如果您没有在模拟中运行,时间面板几乎毫无用处。在大多数情况下,它可以关闭,您可能甚至不会注意到(除了为 rviz

的其余部分留出更多的屏幕空间)。

相关推荐
@小博的博客13 分钟前
C++初阶学习第十弹——深入讲解vector的迭代器失效
数据结构·c++·学习
南宫生1 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法
懒惰才能让科技进步2 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
love_and_hope2 小时前
Pytorch学习--神经网络--搭建小实战(手撕CIFAR 10 model structure)和 Sequential 的使用
人工智能·pytorch·python·深度学习·学习
Chef_Chen2 小时前
从0开始学习机器学习--Day14--如何优化神经网络的代价函数
神经网络·学习·机器学习
芊寻(嵌入式)2 小时前
C转C++学习笔记--基础知识摘录总结
开发语言·c++·笔记·学习
hong1616883 小时前
跨模态对齐与跨领域学习
学习
阿伟来咯~3 小时前
记录学习react的一些内容
javascript·学习·react.js
深圳市青牛科技实业有限公司4 小时前
【青牛科技】应用方案|D2587A高压大电流DC-DC
人工智能·科技·单片机·嵌入式硬件·机器人·安防监控
Suckerbin4 小时前
Hms?: 1渗透测试
学习·安全·网络安全