Ubuntu14.04安裝和配置ROS Indigo

安裝ROS

配置Ubuntu的軟件源

配置Ubuntu要求允許接受restricted、universe和multiverse的軟件源,可以根據(jù)下面的鏈接配置:

https://help.ubuntu.com/community/Repositories/Ubuntu

配置成如下圖所示即可,一般情況下,這些配置都是默認(rèn)的。

軟件源配置

添加軟件源到sources.list

設(shè)置軟件源的代碼如下:

$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'

一旦添加了正確的軟件源,操作系統(tǒng)就知道去哪里下載程序,并根據(jù)命令自動(dòng)安裝軟件。

設(shè)置密鑰

$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

安裝

首先確認(rèn)你的Debian的軟件包索引是最新的。Debian計(jì)劃是一個(gè)致力于創(chuàng)建一個(gè)自由操作系統(tǒng)的合作組織。我們所創(chuàng)建的這個(gè)操作系統(tǒng)名為 Debian。Debian系統(tǒng)目前采用Linux內(nèi)核或者FreeBSD內(nèi)核。

$ sudo apt-get update

在ROS中有許多不同的函數(shù)庫(kù)和工具,建議是完全安裝,也可以根據(jù)自己的要求分別安裝。完全安裝時(shí)的工具包括ROS、rqt、可視化環(huán)境rviz、通用機(jī)器人庫(kù)robot-generic libraries、2D(如stage)和3D(如Gazebo)仿真環(huán)境2D/3D simulators、導(dǎo)航功能包集navigation and 2D/3D(移動(dòng)、定位、地圖繪制、機(jī)械臂控制)、感知庫(kù)perception(如視覺(jué)、激光雷達(dá)、RGB-D攝像頭等)。

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

初始化rosdep

rosdep不僅能夠使你更方便的安裝一些系統(tǒng)依賴程序包,而且ROS的一些主要部件的運(yùn)行也需要rosdep。

$ sudo rosdep init
$ rosdep update

安裝rosinstall

rosinstall命令是一個(gè)使用的非常頻繁的命令,使用這個(gè)命令可以輕松的下載許多ROS軟件包。

$ sudo apt-get install python-rosinstall

設(shè)置環(huán)境

添加ROS的環(huán)境變量,這樣,當(dāng)你打開(kāi)你新的shell時(shí),你的bash會(huì)話中會(huì)自動(dòng)添加環(huán)境變量。

$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
# 使環(huán)境變量設(shè)置立即生效
$ source ~/.bashrc

配置你的ROS環(huán)境

注意:當(dāng)你用像apt這樣的軟件包安裝管理器安裝ROS,那么這些軟件包用戶是沒(méi)有權(quán)利的去編輯的,當(dāng)創(chuàng)建一個(gè)ROS package和處理一個(gè)ROS package時(shí),你應(yīng)該始終選擇一個(gè)你有權(quán)限工作的目錄作為工作目錄。

管理你的環(huán)境

在安裝ROS的時(shí)候,你會(huì)看到提示:source(命令)幾個(gè)setup.*sh文件,或者甚至添加sourcing到你的shell啟動(dòng)腳本中。這是必須的,因?yàn)镽OS依賴于結(jié)合使用shell環(huán)境的概念上。這使得開(kāi)發(fā)依賴不同版本的ROS或者不同系列的package更加容易。

如果你在尋找或者使用你的ROS package上有問(wèn)題,請(qǐng)確定的你的ROS環(huán)境變量設(shè)置好了,檢查是否有ROS_ROOT和ROS_PACKAGE_PATH這些環(huán)境變量。

$ export | grep ROS

如果沒(méi)有,你需要source一些setup.*sh文件。

環(huán)境設(shè)置文件是為你產(chǎn)生的,但是可以來(lái)自不同的地方:

  • 使用package管理器安裝的ROS package提供setup.*sh文件;
  • rosbuild workspace使用像rosws這樣的工具提供setup.*sh文件;
  • setup.*sh文件在編譯和安裝catkin package時(shí)作為副產(chǎn)品創(chuàng)建。

注意:rosbuild和catkin是兩種組織和編譯ROS代碼的方式,前者簡(jiǎn)單易用,后者更加復(fù)雜但是提供更多靈活性尤其是對(duì)那些需要去集成外部代碼或者想發(fā)布自己軟件的人。

如果你在Ubuntu上使用apt工具安裝ROS,那么你會(huì)在'/opt/ros/indigo/'目錄中有setup.*sh文件,你可以這樣source它們:

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

你每次打開(kāi)新的shell都需要運(yùn)行這個(gè)命令,如果你把source /opt/ros/indigo/setup.bash添加進(jìn).bashrc文件就不必要每次打開(kāi)一個(gè)新的shell都運(yùn)行這條命令才能使用ROS的命令了。

創(chuàng)建ROS工作環(huán)境

對(duì)于ROS Groovy和之后的版本可以參考以下方式建立catkin工作環(huán)境。在shell中運(yùn)行:

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace

可以看到在src文件夾中可以看到一個(gè)CMakeLists.txt的鏈接文件,即使這個(gè)工作空間是空的(在src中沒(méi)有package),任然可以建立一個(gè)工作空間。

$ cd ~/catkin_ws/
$ catkin_make

catkin_make命令可以非常方便的建立一個(gè)catkin工作空間,在你的當(dāng)前目錄中可以看到有build和devel兩個(gè)文件夾,在devel文件夾中可以看到許多個(gè)setup.*sh文件。啟用這些文件都會(huì)覆蓋你現(xiàn)在的環(huán)境變量,想了解更多,可以查看文檔catkin。在繼續(xù)下一步之前先啟動(dòng)你的新的setup.*sh 文件。

$ source devel/setup.bash

為了確認(rèn)你的環(huán)境變量是否被setup腳本覆蓋了,可以運(yùn)行一下命令確認(rèn)你的當(dāng)前目錄是否在環(huán)境變量中:

$ echo $ROS_PACKAGE_PATH

輸出:

/home/youruser/catkin_ws/src:/opt/ros/indigo/share:
/opt/ros/indigo/stacks

至此,你的環(huán)境已經(jīng)建立好了,可以繼續(xù)學(xué)習(xí)ROS文件系統(tǒng)了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容