在ROS中的Rviz工具中可视化要怎么去做
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ROS中的Rviz工具中可视化要怎么去做相关的知识,希望对你有一定的参考价值。
第一步 去你的linux上写个串口程序 跟在win下调windows api一样一样的 就在terminal里用c/c++都可以 例子一大把 第二步 按照ros官网的tutorial把这个串口程序粘进去 建立topic然后 public数据上去 参考技术A http://www.arduino.cn/forum.php?mod=viewthread&tid=14684ROS可视化工具RViz的简单使用教程
1、安装rviz
sudo apt-get install ros-melodic-rviz
环境检测、安装
rosdep install rviz
rosmake rviz
startup(开两个终端)
source /opt/ros/indigo/setup.bash
roscore
rosrun rviz rviz
rviz不同的配置,其用途也不尽相同。
A configuration contains:
Displays + their properties(显示以及属性)
Tool properties(工具属性)
Camera type + settings for the initial viewpoint (相机类型以及其初始视点的设置)
值得注意的是新版本取消了The global/local configs,以Recent Configs替代
2、rviz的几个重要概念
The Fixed Frame(固定坐标系):必须取相对世界坐标系禁止的物体建立坐标
The Target Frame(目标坐标系):可取地图(视角为第三视角);机器人坐标(视角为机器人第一视角)
3、rviz的工具及使用
Move Camera (快捷键: m) ;Select (快捷键: s) ;
2D Nav Goal (快捷键: g):用于指定机器人goal的位姿,在调试中非常有用
2D Pose Estimate (快捷键: p):指定机器人初始位姿
以下是一些基本介绍
1.views
1.1 orbit方式
轨道相机只是围绕焦点旋转,同时始终注视着这一点。当您移动相机时,焦点可视化为小圆盘:
控制
鼠标左键:单击并拖动以围绕焦点旋转。
鼠标中键:单击并拖动以移动摄像机向上和向右矢量形成的平面中的焦点。移动的距离取决于焦点 - 如果焦点上有一个物体,并且您单击其顶部,它将保持在您的鼠标下方。
鼠标右键:单击并拖动以放大/缩小焦点。向上拖动放大,向下缩小。
滚轮:放大/缩小焦点
1.2 FPS (first-person) Camera
FPS相机是第一人称相机,所以它旋转就好像你正在用头看。
控制
鼠标左键:单击并拖动以旋转。按住Control键并单击以选择鼠标下的对象并直接查看它。
鼠标中键:单击并拖动以沿着摄像机的向上和向右矢量形成的平面移动
鼠标右键:单击并拖动以沿着摄像机的前向矢量移动。向上拖动向前移动,向下移动向后移动。
滚轮:向前/向后移动
1.3 Top-down Orthographic (自上而下的正字法)
自上而下的正交相机总是沿着Z轴向下看(在机器人框架中),并且是正交视图,这意味着随着它们越来越远,物体不会变小。
控制
鼠标左键:单击并拖动以围绕Z轴旋转
鼠标中键:单击并拖动以沿XY平面移动相机
鼠标右键:单击并拖动以缩放图像
滚轮:缩放图像
1.4 XY Orbit (XY轨道)
与轨道相机相同,焦点限制在XY平面。
控制
见轨道相机 1.1中的控制方式。
1.5 Third Person Follower (第三人称追随者)
相机保持朝向目标帧的恒定视角。与XY轨道相比,如果目标框架偏航,摄像机会转动。如果您正在进行带角落的走廊的3D绘图,这可能很方便。
控制
见轨道相机 1.1 中的控制方式。
2 Coordinate Frames(坐标框架)
rviz使用tf变换系统将数据从其到达的坐标系转换为全局参考帧。 在可视化工具中有两个重要的坐标框架。 在displays面板中.
2.1 The Fixed Frame(固定框架)
两帧中更重要的是固定帧。固定帧是用于表示“世界”帧的参考帧。这通常是“地图”,或“世界”,或类似的东西,但也可以是,例如,你的odometry框架。
如果将固定框架错误地设置到例如机器人的基座,那么机器人所见过的所有物体将出现在机器人的前方,相对于检测到它们的机器人的位置。为了获得正确的结果,固定框架不应相对于世界移动。
如果更改固定帧,则清除当前显示的所有数据而不是重新转换。
2.2 The Target Frame(目标框架)
目标帧是摄像机视图的参考帧。例如,如果您的目标框架是地图,您将看到机器人在地图上行驶。如果您的目标框架是机器人的基础,则机器人将保持在相同的位置,而其他所有内容都相对于它移动。
以上是关于在ROS中的Rviz工具中可视化要怎么去做的主要内容,如果未能解决你的问题,请参考以下文章
ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述