ROS Learning-024 (提高篇-002) rviz的安裝和使用


ROS 提高篇-002rviz 的安裝和使用


我使用的虛擬機軟件:VMware Workstation 11
使用的Ubuntu系統:Ubuntu 14.04.4 LTS
ROS 版本:ROS Indigo


注意:
1 . ROS 提高篇這個專欄的教學有門檻。
2 . 如果你沒有學習前面的教程,請想學習前面的 beginner_Tutorialslearning_tfROS 相關教程。


一 . 什么是 rviz

rvizThe 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教程實戰篇中,我們將學習GazeboGazebo軟件對CPU的處理速度要求比較高)。

對應現在來說,我們知道這些就可以了。



下一節,我們就來介紹:A Mobile Base (移動平台,或叫:基座、基底)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM