当前位置: 首页 > news >正文

机器人系统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
的其余部分留出更多的屏幕空间)。

相关文章:

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

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

安全测试 之 安全漏洞 CSRF

1. 背景 安全测试是在功能测试的基础上进行的,它验证软件的安全需求,确保产品在遭受恶意攻击时仍能正常运行,并保护用户信息不受侵犯。 2. CSRF 定义 CSRF(Cross-Site Request Forgery),中文名为“跨站请…...

交易中的预测和跟随

任何的交易决策,一定是基于某种推理关系的,这种推理关系是基于t时刻之前的状态,得到t时刻之后的结果,我们基于这种推理关系,根据当前的状态,形成了未来结果的某种预期,然后基于这种预期采取相应…...

vs2022专业版永久密钥

vs2022专业版永久密钥: vs2022专业版永久密钥: Visual Studio 2022 Enterprise:VHF9H-NXBBB-638P6-6JHCY-88JWH Visual Studio 2022 Professional:TD244-P4NB7-YQ6XK-Y8MMM-YWV2J...

MongoDB环境搭建

一.下载安装包 Download MongoDB Community Server | MongoDB 二、双击下载完成后的安装包开始安装,除了以下两个部分需要注意操作,其他直接next就行 三.可视化界面安装 下载MongoDB-compass,地址如下 MongoDB Compass Download (GUI) | M…...

数据结构【队列】

队列的的概念 队列是一种特殊的线性表,特殊之处在于它只允许在表的头部进行删除操作,而在表的尾部进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中…...

微信小程序上架,AI类目审核(AI问答、AI绘画、AI换脸)

小程序对于生成式AI类目的产品上架审核较为严格,这也是近两年新增了几个类目,一旦小程序中涉及生成式AI相关的内容,如果你选择相应类目,但审核被划归为这一类,都需要准备此类目的审核,才能正常上架。 如果…...

Vue3学习记录(第一天)

Vue3学习记录_第一天 背景说明记录Vue3实现响应式前端的反射前端对象的属性赋值Vue3响应式实现过程稿前端移除对象的属性 背景 本次学习主要是看视频学习, 没有跟练, 但是很多知识点感觉又容易忘记. 所以通过笔记的方式输出一下. 说明 估计只能自己看懂, 如果能提供一些其他…...

springboot+vue+mybatis房屋租贷系统+PPT+论文+讲解+售后

本论文系统地描绘了整个网上房屋租赁系统的设计与实现,主要实现的功能有以下几点:管理员;首页、个人中心、房屋类型管理、房屋租赁管理、会员管理、订单信息管理、合同信息管理、退房评价管理、管理员管理,系统管理,前…...

Day30 登录界面设计

​ 本章节,实现了登录界面窗口设计 一.准备登录界面图片素材(透明背景图片) 把准备好的图片放在 Images 文件夹下面,格式分别是 .png和 .icoico 图片,右键属性,生成操作选 内容 png 图片,右键属性,生成操作选 资源 选中 login.png图片鼠标右键,选择属性。生成的操作选…...

VOJ 迷阵突围 题解 次短路径 dijkstra算法

迷阵突围 题目描述 小明陷入了坐标系上的一个迷阵,迷阵上有 n 个点,编号从 1 到 n 。小明在编号为 1 的位置,他想到编号为 n 的位置上。小明当然想尽快到达目的地,但是他觉得最短的路径可能有风险,所以他会选择第二短…...

Oracle SQL详解

Oracle SQL是一种用于管理和操作Oracle数据库的编程语言。以下是一些基本的Oracle SQL语法和建表建用户的详解。 创建用户 在Oracle中,创建用户通常需要具有足够权限的用户(通常是具有DBA角色的用户)。以下是一个创建用户的例子:…...

产业,到底需要什么大模型?

[ 产业究竟需要怎样的大模型?关于这个问题,本文作者便提出了他的看法,并总结了产业大模型目前阶段的三点落地挑战。一起来看看,或许可以帮助你更好地理解大模型与行业、与产业的融合。 写下这篇的起因,是前不久的一件事…...

每日5题Day17 - LeetCode 81 - 85

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:81. 搜索旋转排序数组 II - 力扣(LeetCode) class Solution {public boolean search(int[] nums, int target) {int n nums.length;if (n…...

后端开发面经系列 --中望C++面经

中望C面经,全部内容! 公众号:阿Q技术站 文章目录 中望C面经,全部内容!一面 8.15 时长45min1、介绍项目相关2、gdb怎么调试的?打断点用什么指令?3、gcc的编译过程4、cmake添加头文件搜索路径用…...

德国西门子论未来质量管理 - 如何与明天相遇?

未来制造业的质量 -- 如何用软件方案满足质量要求 作者:Bill Butcher 翻译&编辑:数字化营销工兵 【前言】在Frost&Sullivan最近发表的一份白皮书中,他们讨论了制造业的质量投资。质量是制造过程的关键要素,但似乎比其他…...

webpack快速入门---webpack的安装和基本使用

webpack是什么 本质上,webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图(dependency graph),然后将你项目中所需的每一个模块组合成一个或多个 bund…...

后端开发面经系列 -- 华为C++一面面经

HUAWEI – C一面面经 公众号:阿Q技术站 来源:https://www.nowcoder.com/feed/main/detail/b8113ff340d7444985b32a73c207c826 1、计网的协议分几层?分别叫什么? OSI七层模型 物理层 (Physical Layer): 负责物理设备之间的原始比…...

csrf漏洞与ssrf漏洞

环境:用kali搭建的pikachu靶场 一.CSRF 1.CSRF漏洞简介 跨站请求伪造(CSRF)漏洞是一种Web应用程序安全漏洞,攻击者通过伪装成受信任用户的请求来执行未经授权的操作。这可能导致用户在不知情的情况下执行某些敏感操作&#xff0…...

AWS EC2服务器开启root密码,SSH登录

1) EC2 Instance Connect连接,更改root密码 sudo passwd root 2)接着切换到切换到 root 身份,编辑 SSH 配置文件 $ sudo -i$ vi /etc/ssh/sshd_configPasswordAuthentication no,把 no 改成 yes #PermitRootLogin prohibit-passw…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...

<6>-MySQL表的增删查改

目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表&#xf…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

数据库分批入库

今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...

Android第十三次面试总结(四大 组件基础)

Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: ​onCreate()​​ ​调用时机​:Activity 首次创建时调用。​…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...