ROS入門筆記(二):ROS安裝與環境配置及解除安裝(重點)
[TOC]
1 ROS安裝步驟
1.1 ROS版本
ROS目前隻支援在Linux系統上安裝部署, 它的首選開發平台是Ubuntu。
釋出時間 | ROS版本 | Ubuntu版本 |
---|---|---|
2017.5 | Lunar Loggerhead | Ubuntu 17.04 |
2016.5 | Kinetic Kame | Ubuntu 16.04 |
2015.5 | Jade Turtle | Ubuntu 15.04 |
2014.7 | Indigo lgloo | Ubuntu 14.04 |
2013.9 | Hydro Medusa | Ubuntu 12.04 |
2012.12 | Groovy Galapagos | Ubuntu 12.04 |
注:如果Ubuntu版本和ROS版本不對應的話,安裝就不會成功了~
筆者使用的平台是Ubuntu 16.04, ROS版本是Kinetic。
說明:Ubuntu官方下載下傳網址https://www.ubuntu.com/download/desktop
1.2 确定Ubuntu版本号
在終端中輸入:
cat /etc/issue
1.3 安裝ROS
1.3.1 Ubuntu初始環境配置
打開 Ubuntu的設定 -> 軟體與更新 -> Ubuntu軟體 ->勾選關鍵字 universe , restricted , multiverse 三項,
和下載下傳源。 如圖所示:
以上配置完成後, 就可以正式開始安裝ROS了, 打開終端。
1.3.2 ①添加源位址檔案sources.list
- 添加源位址檔案使電腦系統可以接受來自packages.ros.org的軟體包;
- 增加下載下傳源(增加ubuntu版的ros資料倉庫,即下載下傳源)(通用指令适合任何版本的ros)
- 執行如下指令将鏡像添加到Ubuntu系統源清單中 :
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $
DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
本人選擇了中國科技大學的鏡像源,可以保證下載下傳速度。
**注:**強烈建議使用國内或者新加波的鏡像源,這樣能夠大大提高安裝下載下傳速度。
說明:一旦添加了正确的源位址檔案,作業系統就知道去哪裡下載下傳程式,并根據指令自動安裝軟體。
1.3.3 ②添加密鑰(key)
公鑰是Ubuntu系統的一種安全機制, 也是ROS安裝中不可缺的一部分。 不然在安裝的時候會通不過系統的安全認證而無法安裝。
方法一
$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
方法二
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
**尋找有效公鑰 **,官網:http://wiki.ros.org/kinetic/Installation/Ubuntu
1.3.4 ③安裝ROS
$ sudo apt-get update # 更新系統, 確定自己的Debian軟體包和索引是最新的。
$ sudo apt-get install ros-kinetic-desktop-full # 桌面完整版安裝(推薦)
簡介:
重點:安裝出現的問題及解決方法 http://wiki.ros.org/ROS/
ROS中有很多函數庫和工具, 官網提供了四種預設的安裝方式, 當然也可以單獨安裝某個特定的軟體包。 這四種方式包括桌面完整版安裝、 桌面版安裝, 基礎版安裝、 單獨軟體包安裝。
Ubuntu 16.04安裝Kinetic版本
1)桌面完整版安裝(推薦): 包含ROS、 rqt、 rviz、 通用機器人函數庫、 2D/3D仿真器、 導航以及2D/3D感覺功能 :
$ sudo apt-get install ros-kinetic-desktop-full
2)桌面版安裝:包含ROS、 rqt、 rviz、通用機器人函數庫
$ sudo apt-get install ros-kinetic-desktop
3)基礎版安裝: 包含ROS核心軟體包、 建構工具、通信相關的程式庫, 無GUI工具
$ sudo apt-get install ros-kinetic-ros-base
4)單個軟體包安裝:這種安裝方式在運作ROS缺少某些package依賴時會經常用到。 你可以安裝某個指定的ROS軟體包,使用軟體包名稱替換掉下面的PACKAGE。
$ sudo apt-get install ros-kinetic-PACKAGE
例如系統提示找不到slam-gmapping, 你就可以:
$ sudo apt-get install ros-kinetic-slam-gmapping
查找可用的軟體包, 請運作:
apt-cache search ros-kinetic
1.3.5 ④初始化rosdep
在使用ROS之前,還需要初始化rosdep,即ROS的軟體包依賴項。。 rosdep可以友善在你需要編譯某些源碼的時候為其安裝一些系統依賴, 同時也是某些ROS核心功能元件所必需用到的工具。
方法一:
$ sudo rosdep init && rosdep update
方法二:
$ sudo rosdep init
$ rosdep update
1.3.6 ⑤設定環境變量
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc # 為了使環境變量設定立即生效
注意: ROS的環境配置, 使得你每次打開一個新的終端, ROS的環境變量都能夠自動配置好, 也就是添加到bash會話中, 因為指令
source /opt/ros/kinetic/setup.bash
隻在目前終端有作用, 即具有單一時效性, 要想每次新開一個終端都不用重新配置環境, 就用
echo語句
将指令添加到
bash會話
中 。
可能出現的問題:
https://answers.ros.org/question/247285/rosdep-update-errorthe-read-operation-timed-out/
- 如果你使用 zsh,替換其中的 bash, 你可以用以下指令來設定你的shell:
$ echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
$ source ~/.zshrc
1.3.7 ⑥安裝rosinstall
rosinstall 是ROS中一個獨立分開的常用指令行工具, 它可以友善讓你通過一條指令就可以給某個ROS軟體包下載下傳很多源碼樹。 在ubuntu上安裝這個工具, 請運作:
$ sudo apt-get install python-rosinstall
至此, ROS的安裝就結束了, 下面測試ROS是否成功安裝好。
1.4 ROS安裝完成
在Ubuntu中,打開檔案夾找到 Computer--opt--ros--kinetic
①bin檔案夾:放置一些具體的可執行的程式,在ros的bin檔案夾下面儲存的都是ros系統和一些功能包給我們提供的可以直接執行的指令,可以在終端下面執行這些指令。
注:在執行bin檔案夾下面的指令時,必須先設定環境變量,不然系統無法找到bin檔案夾。
②etc檔案夾:ros相關的配置檔案(用的相對少)
③include檔案夾:包含所有通過指令行、通過終端安裝的功能包的代碼頭檔案。
④lib檔案夾:包含通過終端安裝功能包的可執行程式,也就是節點。功能包中的節點,通過運作節點,來啟動相應功能包裡面的功能。
⑤share檔案夾:裡面有很多通過終端安裝的功能包,儲存的是功能包裡面接口的一些具體資訊,接口包含話題、服務、action等。
1.5 測試ROS
第一步,打開一個終端測試roscore是否能正常啟動,使用ROS必須保證roscore運作:
$ roscore # 啟動 ROS Master
第二步,重新打開一個終端,執行以下指令:
$ rosrun turtlesim turtlesim_node # 看到一隻萌萌的海龜出現在螢幕上
第三步,再開啟一個終端,執行以下指令:
$ rosrun turtlesim turtle_teleop_key # 滑鼠在第三個終端視窗上,通過方向鍵操作小海龜
2 ROS解除安裝步驟
第一步,解除安裝功能包
sudo apt-get purge ros-* # *功能包的名字
第二步,解除安裝包的依賴包
sudo apt-get autoremove
3 附:檢查腳本配置環境
如果你在查找和使用ROS軟體包方面遇到了問題,請確定你已經正确配置了腳本環境。一個檢查的好方法是確定你已經設定了像ROS_ROOT和ROS_PACKAGE_PATH這樣的環境變量,可以通過以下指令檢視:
$ printenv | grep ROS
如果發現沒有配置,那這個時候你就需要 'source' 某些 'setup.*sh’檔案了。
ROS會幫你自動生成這些‘setup.*sh’檔案,通過以下方式生成并儲存在不同地方:
- 通過類似apt的軟體包管理器安裝ROS軟體包時會生成setup.*sh檔案。
- 在編譯或安裝 catkin 軟體包時自動生成。
4 參考資料
http://wiki.ros.org/kinetic/Installation/Ubuntu