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

RViz 是 ROS(Robot Operating System)中的一个强大的 3D
可视化工具,用于可视化机器人模型、传感器数据、路径规划等。以下是RViz用户指南,帮助你了解如何使用RViz来进行机器人开发和调试。

启动可视化工具

ros2 run rviz2 rviz2

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

在这里插入图片描述

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

显示器

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

添加新显示器

要添加显示,请单击底部的添加按钮:
在这里插入图片描述

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

在这里插入图片描述

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

显示属性

在这里插入图片描述

显示状态

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

在这里插入图片描述
类别Status还扩展以显示特定状态信息。此信息对于不同的显示器是不同的,并且消息应该是不言自明的。


内置显示类型

![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/47c737024e414a3ca128c5a60bd6483f.png

配置

不同的显示器配置通常适用于可视化器的不同用途。例如,对完整 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
的其余部分留出更多的屏幕空间)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/847246.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

css-Ant-Menu 导航菜单更改为左侧列表行选中

1.Ant-Menu导航菜单 导航菜单是一个网站的灵魂&#xff0c;用户依赖导航在各个页面中进行跳转。一般分为顶部导航和侧边导航&#xff0c;顶部导航提供全局性的类目和功能&#xff0c;侧边导航提供多级结构来收纳和排列网站架构。 2.具体代码 html <!-- 左侧切换 --><…

15、matlab绘图汇总(图例、标题、坐标轴、线条格式、颜色和散点格式设置)

1、plot()函数默认格式画图 代码: x=0:0.1:20;%绘图默认格式 y=sin(x); plot(x,y) 2、X轴和Y轴显示范围/axis()函数 代码: x=0:0.1:20;%绘图默认格式 y=sin(x); plot(x,y) axis([0 21 -1.1 1.1])%设置范围 3、网格显示/grid on函数 代码: x=0:0.1:20;%绘图默认格式 …

CXL (1)

为什么有CXL CXL说到底 是为了打破内存墙而生的 CXL全称是Compute Express Link&#xff0c; 可以用来连接CPU&#xff0c;以及其他任何计算单元&#xff0c;比如GPU。 CXL和PCIe跑在一样的physical layer上&#xff0c;与PCIe不一样的是&#xff0c;CXL允许CPU和连接的设备共…

(文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略

参考文献&#xff1a; [1]潘虹锦,高红均,杨艳红,等.基于主从博弈的售电商多元零售套餐设计与多级市场购电策略[J].中国电机工程学报,2022,42(13):4785-4800. 1.摘要 随着电力市场改革的发展&#xff0c;如何制定吸引用户选择的多类型零售套餐成为提升售电商利润的研究重点。为…

wms中对屏幕进行修改wm size设置屏幕宽高原理剖析

背景&#xff1a; 上面是正常屏幕1440x2960的屏幕大小&#xff0c;如果对display进行相关的修改&#xff0c;可以使用如下命令&#xff1a; adb shell wm size 1080x1920 得出如下的画面 明显看到差异就是屏幕上下有黑边了&#xff0c;那么下面就来调研这个wm size是怎么做的…

水库大坝安全监测系统建设方案

一、背景 随着自动化技术的进步&#xff0c;大部分水库大坝不同程度地实现了安全监测自动化。但仍存在以下问题&#xff1a; 1、重建轻管&#xff0c;重视安全监测系统建设&#xff0c;不够重视运行维护。 2、缺乏系统性、综合性及相关性的资料分析功能。 3、软件大多为数据…

harbor 只读模式修改

The system is in read only mode. Any modification is prohibited。 使用harbor时&#xff0c;做了一个定时清理任务&#xff0c;可能是因为任务失败或者某种原因导致的&#xff0c;系统一直处于只读模式&#xff0c;以为是要看一些表结构&#xff0c;然后去修改参数&#xf…

2.2数据的表示和运算--原码、反码、补码、移码

2.数据的表示和运算 2.2原码、反码、补码、移码 &#x1f53a;问题&#xff1a;真值与对应的原码、反码、补码变换规则&#xff1f; 答&#xff1a; 正数&#xff1a;原码、反码、补码都一样。 负数&#xff1a;原码不变、反码除符号位其它各位取反、补码在反码基础上再加…

结合视差补偿与3D数据处理的盲光场图像质量评价

摘要&#xff1a;与传统的2D图像相比&#xff0c;光场图像记录了场景中光线的强度和方向信息&#xff0c;在多媒体技术应用领域中占据着重要的地位。但在光场图像的产生、传输等处理过程中会不可避免地引入失真&#xff0c;影响用户视觉体验&#xff0c;因而需构建有效、准确的…

从 0 到 1 带你认识 Git 在个人和企业开发中的原理及应用

文章目录 学习目标Git 初识提出问题如何解决&#xff1f;—— 版本控制器注意事项 Git 安装Linux CentOSLinux UbuntuWindows Git 基本操作创建 Git 本地仓库配置 Git 认识工作区、暂存区、版本库添加文件——场景一查看 .git 文件 添加文件——场景二 修改文件版本回退 学习目…

浏览器渲染优--防抖节流懒加载

合理选择css选择器 相比于.content-title-span&#xff0c;使用.content .title span时&#xff0c;浏览器计算样式所要花费的时间更多。使用后面一种规则&#xff0c;浏览器必须遍历页面上所有 span 元素&#xff0c;先过滤掉祖先元素不是.title的&#xff0c;再过滤掉.title…

SpringBoot接口防抖(防重复提交)

TOC 啥是防抖 所谓防抖&#xff0c;一是防用户手抖&#xff0c;二是防网络抖动。在Web系统中&#xff0c;表单提交是一个非常常见的功能&#xff0c;如果不加控制&#xff0c;容易因为用户的误操作或网络延迟导致同一请求被发送多次&#xff0c;进而生成重复的数据记录。要针对…

学习小心意——python的构造方法和析构方法

构造方法和析构方法分别用于初始化对象的属性和释放类占有的资源 构造方法_init_() 语法格式如下&#xff1a; class 类名:def __init__(self, 参数1, 参数2, ...):# 初始化代码self.属性1 参数1self.属性2 参数2# ... 示例代码如下 class Student:def __init__(self):s…

如何利用CXL技术突破内存墙?-2

为了解决这些问题&#xff0c;业界正积极寻求新的技术和标准&#xff0c;比如Compute Express Link (CXL)&#xff0c;它旨在通过提供标准化的高速互连来提高内存带宽、降低延迟&#xff0c;并简化内存扩展的软件集成&#xff0c;从而有效地打破内存墙的限制。 通过使用CXL&am…

uniapp3步使用goeasy完成本地消息推送

1.注册登录goeasy&#xff0c;下载测试demo 2.替换demo中main.js中的key 3.打包一个H5&#xff0c;一个自定义基座。 h5发消息&#xff0c;app收消息&#xff0c;然后创建消息通知就好了。记得打开app的消息通知 demo很简单&#xff0c;demo都跑通了&#xff0c;在搬到自己项目…

NAVICAT从MYSQL链接到ORCAL数据库

1、工具-选线 2、环境&#xff0c;将原有的mysql的oci.dll文件改为oracle的 3、新建连接 填写对应数据

axios拦截器

定义 在客户端通过axios发送请求或响应被 then 或 catch 处理前拦截它们。顾名思义&#xff0c;在axios发送请求之前在请求数据内添加条件或者验证&#xff0c;并通过函数返回错误。在收到服务器的响应数据进行返回&#xff0c;遇到无法响应的情况在catch之前拦截错误信息进行…

迈普 多业务融合网关 send_order.cgi 前台RCE漏洞复现

0x01 产品简介 迈普多业务融合网关是迈普通信技术股份有限公司自主研发的多业务无线融合网关&#xff0c;拥有融合网关功能、精准流控、上网行为管理、智能选路…等强大功能&#xff0c;并支持对接迈普云平台&#xff0c;实现远程运维和集中管理&#xff0c;很好的满足了医疗/…

python API自动化(Jsonpath断言、接口关联及加密处理)

JsonPath应用及断言 重要 自动化要解决的核心问题 &#xff1a;进行自动测试-自动校验&#xff08;进行结果的校验 主要能够通过这个方式提取数据业务场景&#xff1a;断言 、接口关联 {key:value}网址&#xff1a;附&#xff1a;在线解析 JSONPath解析器 - 一个工具箱 - 好用…