1. 程式人生 > >ROS入門教程-安裝並配置ROS環境(Kinetic 版本)

ROS入門教程-安裝並配置ROS環境(Kinetic 版本)

**安裝並配置ROS環境(Kinetic 版本) **

說明

  • 本教程詳細描述了ROS的安裝與環境配置。
  • 此為 Ubuntu16.04 + Kinetic安裝說明

官方安裝ROS說明

ubuntu16.04版本

ROS的Kinetic版本安裝說明

  1. 配置Ubuntu倉庫,"restricted," "universe," and "multiverse." 可介面軟體更新那進行設定。
    請輸入圖片描述

  2. 安裝源

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

或來自中國的源:

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. 增加key
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
  1. 更新
sudo apt-get update
  1. 安裝,這裡介紹Desktop-Full安裝: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
sudo apt-get install ros-kinetic-desktop-full
  1. 解決依賴
sudo rosdep init
rosdep update
  1. 環境設定
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 安裝rosinstall,便利的工具
sudo apt-get install python-rosinstall

解除安裝Kinetic

  • 用apt-get方式安裝Kinetic的,解除安裝使用如下命令:
$ sudo apt-get remove ros-kinetic-*
  • 解除安裝成功的效果:就是/opt下的ROS資料夾Kinetic被刪除

管理環境

  • 在安裝ROS期間,你會看到提示說需要 source 多個setup.*sh檔案中的某一個,或者甚至提示新增這條'source'命令到你的啟動腳本里面。這些操作是必須的,因為ROS是依賴於某種組合空間的概念,而這種概念就是通過配置指令碼環境來實現的。這可以讓針對不同版本或者不同軟體包集的開發更加容易。

  • 如果你在查詢和使用ROS軟體包方面遇到了問題,請確保你已經正確配置了指令碼環境。一個檢查的好方法是確保你已經設定了像ROS_ROOT和ROS_PACKAGE_PATH這樣的環境變數,可以通過以下命令檢視:

$ export | grep ROS
  • 如果發現沒有配置,那這個時候你就需要'source'某些'setup.*sh’檔案了。

  • ROS會幫你自動生成這些‘setup.*sh’檔案,通過以下方式生成並儲存在不同地方:

  1. 通過類似apt的軟體包管理器安裝ROS軟體包時會生成setup.*sh檔案。
  2. 在rosbuild workspaces中通過類似rosws的工具生成。
  3. 在編譯 或 安裝 catkin 軟體包時自動生成。
注意: 在所有教程中你將會經常看到分別針對rosbuild 和 catkin的不同操作說明,這是因為目前有兩種不同的方法可以用來組織和編譯ROS應用程式。一般而言,rosbuild比較簡單也易於使用,而catkin使用了更加標準的CMake規則,所以比較複雜,但是也更加靈活,特別是對於那些想整合外部現有程式碼或者想釋出自己程式碼的人。關於這些如果你想了解得更全面請參閱catkin or rosbuild。 
  • 如果你是通過ubuntu上的 apt 工具來安裝ROS的,那麼你將會在'/opt/ros/<distro>/'目錄中看到setup.*sh檔案,然後你可以執行下面的source命令:
# source /opt/ros/<distro>/setup.bash
  • 請使用具體的ROS發行版名稱代替<distro>。

  • 比如你安裝的是ROS Kinetic,則上述命令改為:

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

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

catkin方式建立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/kinetic/share:/opt/ros/kinetic/stacks
  • youruser為使用者目錄

到此你的工作環境已經搭建完成,接下來可以繼續學習 ROS檔案系統教程.