安裝並配置ROS環境(一)

安裝ROS

Ubuntu 版本:14.04

在開始學習這些教程之前請先按照ROS安裝說明完成安裝。

注意: 如果你是使用類似apt這樣的軟件管理器來安裝ROS的,那麼安裝後這些軟件包將不具備寫入權限,當前系統用戶比如你自己也無法對這些軟件包進行修改編輯。當你的開發涉及到ROS軟件包源碼層面的操作或者在創建一個新的ROS軟件包時,你應該是在一個具備讀寫權限的目錄下工作,就像在你當前系統用戶的home目錄下一樣。

1、添加ROS軟件源

在根目錄下創建文件

$sudo gedit /etc/apt/sources.list.d/ros-latest.list

並將如下內容添加到此文件中:

deb http://packages.ros.org/ros/ubuntu trusty main

2、安裝軟件包授權密鑰

安裝 ROS 軟件包之前,你必須有它的授權密鑰。首先在下列網址下載:

$sudo wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key

如果下載成功,當前目錄下會有一個較小的名爲 ros.key 的二進制文件。接下來,用這個密鑰配置 apt 軟件包管理系統:

$sudo apt-key add ros.key

完成該步後(apt-key 提示“ok”),可以放心刪除 ros.key。

3、下載軟件包列表

更新可用軟件包列表,不僅僅是新添加的 ROS 庫。

#sudo apt-get update

更新源的選擇可以參考:http://blog.csdn.net/zx3517288/article/details/72972497

4、安裝 ROS 軟件包

安裝ROS完整系統。

$sudo apt-get install ros-indigo-desktop-full

5、安裝 turtlesim 功能包

安裝簡單的仿真器turtlesim,幫助理解 ROS 的工作機制。

$sudo apt-get install ros-indigo-turtlesim

6、爲系統 設置 rosdep

安裝完 ROS 包後,需要執行下面的命令初始化rosdep:

$sudo rosdep init
$rosdep update

用於檢查和安裝軟件包的依賴

7、設置環境變量

ROS要依據一些環境變量來定位文件

sudo gedit ~/.bashrc

最文件末尾添加新行:

source /opt/ros/indigo/setup.bash

用下行命令確認環境變量已經設置正確:

export | grep ROS

如果一切工作正常,你應該看到了一組值(顯示 ROS_DISTRO 和ROS_PACKAGE_PATH 等環境變量的值)。如果 setup.bash 尚未運行,則此命令的輸出通常爲空。

8、測試

啓動 turtlesim 在三個不同的終端中,分別執行以下三個指令:

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

第三個終端(執行命令爲 turtle_teleop_key),然後按上、下、左、或右鍵,海龜就會響應你的命令開始移動了,並在屏幕上留下運動軌跡。

管理環境

在安裝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的工具生成。

在編譯 或 安裝 catkin 軟件包時自動生成。 

注意: 在所有教程中你將會經常看到分別針對rosbuild 和 catkin的不同操作說明,這是因爲目前有兩種不同的方法可以用來組織和編譯ROS應用程序。一般而言,rosbuild比較簡單也易於使用,而catkin使用了更加標準的CMake規則,所以比較複雜,但是也更加靈活,特別是對於那些想整合外部現有代碼或者想發佈自己代碼的人。關於這些如果你想了解得更全面請參閱catkin or rosbuild。

如果你是通過ubuntu上的 apt 工具來安裝ROS的,那麼你將會在’/opt/ros//’目錄中看到setup.*sh文件,然後你可以執行下面的source命令:

# source /opt/ros/<distro>/setup.bash

請使用具體的ROS發行版名稱代替。

比如你安裝的是ROS Indigo,則上述命令改爲:

$ source /opt/ros/indigo/setup.bash

在每次打開終端時你都需要先運行上面這條命令後才能運行ros相關的命令,爲了避免這一繁瑣過程,你可以事先在.bashrc文件(初學者請注意:該文件是在當前系統用戶的home目錄下。)中添加這條命令,這樣當你每次登錄後系統已經幫你執行這些命令配置好環境。這樣做也可以方便你在同一臺計算機上安裝並隨時切換到不同版本的ROS(比如fuerte和groovy)。

此外,你也可以在其它系統平臺上相應的ROS安裝目錄下找到這些setup.*sh文件。

創建ROS工作空間

這些操作方法只適用於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

原文地址:http://wiki.ros.org/cn/ROS/Tutorials/InstallingandConfiguringROSEnvironment

發佈了112 篇原創文章 · 獲贊 162 · 訪問量 36萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章