【ROS書籍】ROSByExampleⅡ——第二章 安裝ROS-BY-EXAMPLE代碼

第二章 安裝ROS-BY-EXAMPLE代碼

  請注意,本書的代碼是在ROS Indigo下編寫。雖然其中有一些可能用於ROS的早期版本,但是強烈讀者使用ROS Indigo版本。特別是,以下列出的依賴包和Moveit!機械臂導航示例程序特定於Indigo。


  在開始安裝卷二代碼之前,如果我們安裝了大部分我們以後需要的額外ROS包,會節約很多時間。(提供的介紹用於安裝獨立的包用於全書。)簡單的拷貝和粘貼以下的代碼(沒有$標記)到終端窗口來安裝我們需要的包。(如果你正在閱讀本書的印刷版本,查看以下備用介紹。)每一行最後的字符“\”代表未完,並且會將以下的部分作爲一個整體就像一行命令一樣。


$ sudo apt-get install ros-indigo-arbotix \ ros-indigo-dynamixelmotor ros-indigo-rosbridge-suite \ ros-indigo-mjpeg-server rosindigo-rgbd-launch \ ros-indigo-openni-camera ros-indigo-moveitfull \
ros-indigo-turtlebot-* ros-indigo-kobuki-* ros-indigo-moveit-python \
python-pygraph python-pygraphviz python-easygui \ mini-httpd
ros-indigo-laser-pipeline ros-indigo-ar-track-alvar \
ros-indigo-laser-filters ros-indigo-hokuyo-node \ ros-indigodepthimage-to-laserscan ros-indigo-moveit-ikfast \
ros-indigo-gazebo-ros ros-indigo-gazebo-ros-pkgs \ ros-indigo-gazebomsgs ros-indigo-gazebo-plugins \ ros-indigo-gazebo-ros-control rosindigo-cmake-modules \ ros-indigo-kobuki-gazebo-plugins ros-indigokobuki-gazebo \ ros-indigo-smach ros-indigo-smach-ros ros-indigograsping-msgs\ ros-indigo-executive-smach ros-indigo-smach-viewer \
ros-indigo-robot-pose-publisher ros-indigo-tf2-web-republisher \
graphviz-dev libgraphviz-dev gv python-scipy


  如果你正在閱讀本書的印刷版本,拷貝和粘貼不是一個好選項。替代的,你可以使用以下的命令來下載一個小的shell腳本,該腳本名爲rbx2-prereq.sh用於運行以上的apt-get命令:


$ cd ~
$ wget https://raw.githubusercontent.com/pirobot/rbx2/indigodevel/rbx2prereq.sh
$ sh rbx2-prereq.sh


  即使你沒有那本卷一的書,我們也同樣需要卷一存儲庫(rbx1)代碼。安裝rbx1的ROS Indigo(你沒有安裝的情況下),運行以下命令:


$ 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


  克隆並編譯ROS Indigo的卷二存儲庫(rbx2),運行以下步驟:


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



  注意:最後一行如果你還沒有完成,你應該添加到~/.bashrc文件的最後一行。這個會保證你的catkin包添加到你的ROS_PACKAGE_PATH,不管你什麼時候開啓一個新終端。

如果ROS By Example代碼在最近更新,你可以用存儲庫的本地拷貝合併更新,使用以下命令進行實現:


$ cd ~/catkin_ws/src/rbx2
$ git pull
$ cd ~/catkin_ws
$ catkin_make
$ source devel/setup.bash


  保持最新:如果你願意詢問關於代碼的問題、報告錯誤或收到更新同時,請加入ros-by-example谷歌組


  所有的ROS By Example卷二代碼開始於rbx2。關於該包的列表,移動到rbx2元包父目錄下,使用Linux ls命令:


$ roscd rbx2
$ cd ..
$ ls -F


  將會得到以下結果:


pedestal_pi_no_gripper_moveit_config/rbx2_bringup/ rbx2_msgs/
pedestal_pi_with_gripper_moveit_config/ rbx2_description/ rbx2_nav/
pi_robot_moveit_config/ rbx2_diagnostics/ rbx2_tasks/ rbx2/
rbx2_dynamixels/ rbx2_utils/ rbx2_arm_nav/
rbx2_gazebo/ rbx2_vision/ rbx2_ar_tags/
rbx2_gui/ README.md


  因此本書我們將使用roscd命令從其中的一個包到另一個包。例如,移動到rbx2_dynamixels包,你可以使用如下命令:


$ roscd rbx2_dynamixels


  注意你可以從任意目錄運行這個命令,並且ROS會找到這個包。


  重要:如果你使用兩個電腦來控制或監控你的機器人,例如一個在機器人上筆記本和你的桌面筆記本,確保兩臺機器上都克隆並編譯了rbx2和rbx1的Indigo分支儲存庫。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章