ROS系列二:安裝並配置ROS環境
轉自:http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment
目錄
安裝ROS
在開始學習這些教程之前請先按照ROS安裝說明完成安裝。
注意: 如果你是使用類似apt這樣的軟體管理器來安裝ROS的,那麼安裝後這些軟體包將不具備寫入許可權,當前系統使用者比如你自己也無法對這些軟體包進行修改編輯。當你的開發涉及到ROS軟體包原始碼層面的操作或者在建立一個新的ROS軟體包時,你應該是在一個具備讀寫許可權的目錄下工作,就像在你當前系統使用者的home目錄下一樣。
管理環境
在安裝ROS期間,你會看到提示說需要 source 多個setup.*sh檔案中的某一個,或者甚至提示新增這條'source'命令到你的啟動腳本里面。這些操作是必須的,因為ROS是依賴於某種組合空間的概念,而這種概念就是通過配置指令碼環境來實現的。這可以讓針對不同版本或者不同軟體包集的開發更加容易。
如果你在查詢和使用ROS軟體包方面遇到了問題,請確保你已經正確配置了指令碼環境。一個檢查的好方法是確保你已經設定了像ROS_ROOT和ROS_PACKAGE_PATH這樣的環境變數,可以通過以下命令檢視:
$ export | grep ROS
如果發現沒有配置,那這個時候你就需要'source'某些'setup.*sh’檔案了。
ROS會幫你自動生成這些‘setup.*sh’檔案,通過以下方式生成並儲存在不同地方:
- 通過類似apt的軟體包管理器安裝ROS軟體包時會生成setup.*sh檔案。
-
在rosbuild workspaces中通過類似rosws的工具生成。
注意: 在所有教程中你將會經常看到分別針對rosbuild 和 catkin的不同操作說明,這是因為目前有兩種不同的方法可以用來組織和編譯ROS應用程式。一般而言,rosbuild比較簡單也易於使用,而catkin使用了更加標準的CMake規則,所以比較複雜,但是也更加靈活,特別是對於那些想整合外部現有程式碼或者想釋出自己程式碼的人。關於這些如果你想了解得更全面請參閱
如果你是通過ubuntu上的 apt 工具來安裝ROS的,那麼你將會在'/opt/ros/<distro>/'目錄中看到setup.*sh檔案,然後你可以執行下面的source命令:
# source /opt/ros/<distro>/setup.bash
請使用具體的ROS發行版名稱代替<distro>。
比如你安裝的是ROS Indigo,則上述命令改為:
$ source /opt/ros/indigo/setup.bash
在每次開啟終端時你都需要先執行上面這條命令後才能執行ros相關的命令,為了避免這一繁瑣過程,你可以事先在.bashrc檔案(初學者請注意:該檔案是在當前系統使用者的home目錄下。)中新增這條命令,這樣當你每次登入後系統已經幫你執行這些命令配置好環境。這樣做也可以方便你在同一臺計算機上安裝並隨時切換到不同版本的ROS(比如fuerte和groovy)。
此外,你也可以在其它系統平臺上相應的ROS安裝目錄下找到這些setup.*sh檔案。
建立ROS工作空間
catkinrosbuild
這些操作方法只適用於ROS Groovy及後期版本,對於ROS Fuerte及早期版本請選擇rosbuild。
下面我們開始建立一個catkin 工作空間:
$ mkdir -p ~/catkin_ws/src $ cd ~/catkin_ws/src
即使這個工作空間是空的(在'src'目錄中沒有任何軟體包,只有一個CMakeLists.txt連結檔案),你依然可以編譯它:
$ cd ~/catkin_ws/ $ catkin_make
catkin_make命令在catkin 工作空間中是一個非常方便的工具。如果你檢視一下當前目錄應該能看到'build'和'devel'這兩個資料夾。在'devel'資料夾裡面你可以看到幾個setup.*sh檔案。source這些檔案中的任何一個都可以將當前工作空間設定在ROS工作環境的最頂層,想了解更多請參考catkin文件。接下來首先source一下新生成的setup.*sh檔案:
$ source devel/setup.bash
要想保證工作空間已配置正確需確保ROS_PACKAGE_PATH環境變數包含你的工作空間目錄,採用以下命令檢視:
$ echo $ROS_PACKAGE_PATH /home/<youruser>/catkin_ws/src:/opt/ros/indigo/share:/opt/ros/indigo/stacks
到此你的工作環境已經搭建完成,接下來可以繼續學習 ROS檔案系統教程.