ROS-by-example的安裝


在這里我之前用的VM12安裝成功之后,仿真器機器人會有問題,故把電腦做成雙系統的形式來重新安裝;

環境:Ubuntu14.04 LTS 32bits

ROS版本:ROS Indigo

在學習本部分之后的內容,請先學習 beginner_Tutorialslearning_tfROS 相關教程。

下面是安裝准備

1、在下載機器人程序包之前,我需要先安裝一些必要的軟件包。直接執行下面的命令進行安裝:
注意:如果你還沒有使用 ROS 的國內鏡像網站,請先配置相關文件。將 ROS 的下載網站設置為國內鏡像網站。參考網站:http://blog.csdn.net/github_35160620/article/details/52337181,這里面有講:如何設置軟件源配置文件。)

 sudo apt-get install -y ros-indigo-turtlebot-bringup \
  ros-indigo-turtlebot-create-desktop ros-indigo-openni-* \
  ros-indigo-openni2-* ros-indigo-freenect-* ros-indigo-usb-cam \
  ros-indigo-laser-* ros-indigo-hokuyo-node \
  ros-indigo-audio-common gstreamer0.10-pocketsphinx \
  ros-indigo-pocketsphinx ros-indigo-slam-gmapping \
  ros-indigo-joystick-drivers python-rosinstall \
  ros-indigo-orocos-kdl ros-indigo-python-orocos-kdl \
  python-setuptools ros-indigo-dynamixel-motor-* \
  libopencv-dev python-opencv ros-indigo-vision-opencv \
  ros-indigo-depthimage-to-laserscan ros-indigo-arbotix-* \
  ros-indigo-turtlebot-teleop ros-indigo-move-base \
  ros-indigo-map-server ros-indigo-fake-localization \
  ros-indigo-amcl git subversion mercurial

ros-by-example包 提供了2個測試用的模擬機器人:TurtleBotPi Robot

2、在必要軟件安裝好之后,下載rbx1.

$ cd ~/catkin_ws/src
$ git clone https://github.com/pirobot/rbx1.git
$ cd rbx1
$ git checkout indigo-devel
$ cd ~/catkin_ws
$ catkin_make
$ source ~/catkin_ws/devel/setup.bash
$ rospack profile

在ROS By Example包中都是以rbx1開頭,使用如下命令

roscd rbx1
cd ..
ls -F

3、為了能在一個模擬的機器人上測試我們的代碼,下面來安裝模擬器

1)什么是rviz

rvizThe ROS Visualization Tool ,即機器人操作系統3D可視化工具。它的作用就是:一個虛擬世界,用來模擬機器人在現實世界的運行效果。簡單的說它就是ROS的一個模擬器軟件。

2)安裝rviz

(如果在上面已經安裝完成了rviz,那么你現在可以跳過:安裝rviz)

新開一個終端,執行下面的命令:

$ sudo apt-get install ros-indigo-arbotix-*
$ rospack profile        #更新一下ROS內部軟件包
#rospack profile功能類似於使用sudo apt-get update更新Linux軟件包一樣。它的功能是:更新ros軟件包

安裝完成。

3)舉例測試

開兩個終端,來運行下面的命令。第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}}' 

這條命令運行后的效果:就是讓機器人做畫圓運動:

注意:: ” 后面必須要加 空格。如果你不加空格,效果就是下面這個樣子:

要停止轉動,按下 Ctrl-C 在同一個終端窗口,或者發布空 Twist 消息:

$ rostopic pub -1 /cmd_vel geometry_msgs/Twist '{}'

4、例子講解

運行的第一條命令: $ roslaunch rbx1_bringup fake_turtlebot.launch 是:啟動一個 TurtleBot 機器人的模型。 如果你想使用 Pi Robot 模型,就不執行這條命令,執行:
$ roslaunch rbx1_bringup fake_pi_robot.launch 。 總之,你想啟動哪個機器人模型,就執行對應的命令。

Turtlebot機器人 : ————————————————————————-Pi 機器人 :

5、為什么要使用rviz?

你不需要用一個實際的機器人開始ROS學習。ROS包含了許多在虛擬環境中運行的機器人包,所以你可以在擁有真實世界的機器人前,在虛擬環境中測試您的程序。

ROS中有3個可以模擬機器人的模擬器軟件:

  • Gazebo
  • Stage
  • ArbotiX(就是RVIz)

你可以任選一個:

Gazebo:可以模擬出完整的現實世界,但是軟件使用起來比較復雜。
Stage:簡單的2D模擬器,可以管理多個機器人和各種傳感器,比如激光傳感器。
ArbotiX:它就是Rviz,它跟Gazebo軟件比較,它不能模擬物理現象和沒有傳感器反饋。

ROS提高篇教程,我們就使用rviz,因為它簡單,並且我們目前不需要有物理現象在本教程。(在ROS教程實戰篇中,我們將學習GazeboGazebo軟件對CPU的處理速度要求比較高)。

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

 


免責聲明!

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



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