ROS Learning-024 (提高篇-002) rviz的安装和使用
ROS 提高篇-002 — rviz 的安装和使用
我使用的虚拟机软件:VMware Workstation 11
使用的Ubuntu系统:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo
注意:
1 . ROS 提高篇这个专栏的教学有门槛。
2 . 如果你没有学习前面的教程,请想学习前面的 beginner_Tutorials 和 learning_tf 的ROS 相关教程。
一 . 什么是 rviz:
rviz : The ROS Visualization Tool ,即机器人操作系统3D可视化工具。它的作用就是:一个虚拟世界,用来模拟机器人在现实世界的运行效果。简单的说它就是ROS的一个模拟器软件。
光光用语言去描述什么是rviz,我觉得大家都不会真正的理解,下面我是一个例子来告诉你:什么是rviz 。
在演示例子前,我先来讲讲如何安装rviz:
二 . 安装 rviz:
(如果你看了上一节,并且运行了里面的命令,你就已经安装完成了rviz,所以你现在可以跳过:安装rviz)
新开一个终端,执行下面的命令:
$ sudo apt-get install ros-indigo-arbotix-*
$ rospack profile #更新一下ROS内部软件包
#rospack profile功能类似于使用sudo apt-get update更新Linux软件包一样。它的功能是:更新ros软件包
安装完成。
下面测试一下刚刚安装的 Rviz 模拟器:
三 . 一个例子:
开两个终端,来运行下面的命令。第1条命令执行后没有什么实际的效果,第2条打开 rviz 软件,你就可以看到效果。
(在第一个命令的时候,你可以运行 TurtleBot 机器人,也可以选择运行 Pi Robot 机器人。)
$ roslaunch rbx1_bringup fake_turtlebot.launch #或者 roslaunch rbx1_bringup fake_pi_robot.launch
$ rosrun rviz rviz -d `rospack find rbx1_nav`/sim.rviz #注意:这条指令中的'`'是键盘左上角'Esc'键下面的那个键
命令执行完,会打开一个窗口: 这就是 Rviz 模拟器 :
为了测试模拟,打开另一个终端并运行以下命令,这个命令会引起模拟机器人以逆时针圆周运动
$ rostopic pub /cmd_vel geometry_msgs/Twist -r 10 '{linear: {x: 0.2, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.5}}'
这条命令运行后的效果:就是让机器人做画圆运动:
注意: “ : ” 后面必须要加 空格。如果你不加空格,效果就是下面这个样子:
$ rostopic pub /cmd_vel geometry_msgs/Twist -r 10 '{linear:{x:0.2, y:0, z:0}, angular:{x:0, y:0, z:0.5}}'
Usage: rostopic pub /topic type [args...] rostopic: error: Argument error: while scanning a plain scalar
in "<string>", line 1, column 10:
{linear:{x:0.2, y:0, z:0}, angular:{x:0, ...
^
found unexpected ':'
in "<string>", line 1, column 11:
{linear:{x:0.2, y:0, z:0}, angular:{x:0, y ...
^
Please check http://pyyaml.org/wiki/YAMLColonInFlowContext for details.
要停止转动,按下 Ctrl-C 在同一个终端窗口,或者发布空 Twist 消息:
$ rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'
OK,我们已经通过了一个具体的例子,实际的看到了rviz 的运行。下面我具体的讲解一下上面的例子:
四 . 例子讲解:
运行的第一条命令: $ roslaunch rbx1_bringup fake_turtlebot.launch 是:启动一个 TurtleBot 机器人的模型。 如果你想使用 Pi Robot 模型,就不执行这条命令,执行:
$ roslaunch rbx1_bringup fake_pi_robot.launch 。 总之,你想启动哪个机器人模型,就执行对应的命令。
下面,我截个图,看看这2个机器人模型都长什么样子:
Turtlebot机器人 : ————————————————————————-Pi 机器人 :
五 . rviz是用来干什么的,为什么要使用rviz:
你不需要用一个实际的机器人开始ROS学习。ROS包含了许多在虚拟环境中运行的机器人包,所以你可以在拥有真实世界的机器人前,在虚拟环境中测试您的程序。
在ROS中有3个可以模拟机器人的模拟器软件:
- Gazebo
- Stage
- ArbotiX(就是RVIz)
你可以任选一个:
Gazebo:可以模拟出完整的现实世界,但是软件使用起来比较复杂。
Stage:简单的2D模拟器,可以管理多个机器人和各种传感器,比如激光传感器。
ArbotiX:它就是Rviz,它跟Gazebo软件比较,它不能模拟物理现象和没有传感器反馈。
在ROS提高篇教程,我们就使用rviz,因为它简单,并且我们目前不需要有物理现象在本教程。(在ROS教程实战篇中,我们将学习Gazebo,Gazebo软件对CPU的处理速度要求比较高)。
对应现在来说,我们知道这些就可以了。
下一节,我们就来介绍:A Mobile Base (移动平台,或叫:基座、基底)。
ROS Learning-024 (提高篇-002) rviz的安装和使用的更多相关文章
- ROS Learning-023 (提高篇-001) 准备工作 --- 安装一些必要的软件包
ROS 提高篇-001 - 准备工作 - 安装一些必要的软件 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 LTS ROS 版本 ...
- ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介
ROS 提高篇 之 Launch 深入研究 - 01 - 启动文件的编程 - ROS 的 XML语法简介 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubu ...
- ROS Learning-031 (提高篇-009 A Mobile Base-07) 控制移动平台 --- (操作)人机交互
ROS 提高篇 之 A Mobile Base-07 - 控制移动平台 - (操作)人机交互 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14 ...
- ROS Learning-030 (提高篇-008 A Mobile Base-06) 控制移动平台 --- (Python)odom导航的例子:移动一个方块路径
ROS 提高篇 之 A Mobile Base-06 - 控制移动平台 - (Python)再次使用odom导航的一个例子:移动一个方块路径 我使用的虚拟机软件:VMware Workstation ...
- ROS Learning-029 (提高篇-007 A Mobile Base-05) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(精确的制定目标位置)
ROS 提高篇 之 A Mobile Base-05 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(精确的制定目标位置) 使用 odometry 消息类型 重写 out_and_ba ...
- ROS Learning-028 (提高篇-006 A Mobile Base-04) 控制移动平台 --- (Python编程)控制虚拟机器人的移动(不精确的制定目标位置)
ROS 提高篇 之 A Mobile Base-04 - 控制移动平台 - (Python编程)控制虚拟机器人的移动(不精确的制定目标位置) 我使用的虚拟机软件:VMware Workstation ...
- ROS Learning-027 (提高篇-005 A Mobile Base-03) 控制移动平台 --- Twist 消息
ROS 提高篇 之 A Mobile Base-03 - 控制移动平台 - Twist 消息 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14 ...
- ROS Learning-026 (提高篇-004 A Mobile Base-02) 控制移动平台 --- “分封制”
ROS 提高篇 之 A Mobile Base-02 - 控制移动平台 - "分封制" 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ub ...
- ROS Learning-025 (提高篇-003 A Mobile Base-01) 控制移动平台
ROS 提高篇 A Mobile Base-01 - 控制移动平台 - 基本知识 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14.04.4 ...
随机推荐
- FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask
hive启动后,出现以下异常 hive> show databases; FAILED: Error / failed on connection exception: java.net.Con ...
- css Flex布局(一)
网页布局(layout) 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现. 6个属性 ...
- 使用手势对UIImageView进行缩放、旋转和移动(转)
原文地址:http://blog.csdn.net/crazy_frog/article/details/8664108 // 添加所有的手势 - (void) addGestureRecognize ...
- UVA - 1471 Defense Lines (set/bit/lis)
紫薯例题+1. 题意:给你一个长度为n(n<=200000)的序列a[n],求删除一个连续子序列后的可能的最长连续上升子序列的长度. 首先对序列进行分段,每一段连续的子序列的元素递增,设L[i] ...
- burpsuite使用以及repeater模块实现重放攻击
第一.burp suit是什么? Burp Suite 包含了一系列burp 工具,这些工具之间有大量接口可以互相通信,之所以这样设计的目的是为了促进和提高 整个攻击的效率.平台中所有工具共享同一ro ...
- 20179203 《Linux内核原理与分析》第十二周作业
Return-to-libc 攻击实验 一.实验描述 缓冲区溢出的常用攻击方法是用 shellcode 的地址来覆盖漏洞程序的返回地址,使得漏洞程序去执行存放在栈中 shellcode.为了阻止这种类 ...
- 第四篇 PHP的成长路线
学PHP开发这么久,进步不大,个人进行了分析.认为是我自己没有设定目标,就是对于自己要学成什么样没有清晰的认识. 今天特别了解了一下PHP的成长参考路线,以便自己以后迷失方向.PHP主要应该基于MYS ...
- linux环境下搭建jenkins实现自动部署
写在前面:公司项目初期,环境一切从始.因此,项目的发布环境需要自己搭建.就动手搭建了jenkins,在此把个人的搭建过程以及搭建中碰到的问题一起总结一下. 1. 准备环境. 首先,需要jdk是必须要安 ...
- Mysql事件的创建和使用
1.查看事件是否开启SHOW VARIABLES LIKE 'event_scheduler'; 2.开启事件SET GLOBAL event_scheduler = ON; 3.创建事件DELIMI ...
- GWT实现“跟随标题栏”
在一些商城或者博客上,随处可见一些“跟随的标题栏”,什么是”跟随的标题栏“呢?它的效果是当浏览器窗口移到看不见某处内容的时候,这块内容的标题会紧贴在浏览器顶部,跟随浏览器滑动,当用户将浏览器内容往上拖 ...