天天看點

ROS入門筆記(二):ROS安裝與環境配置及解除安裝(重點)

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