Ubuntu16.04安裝ROS(機器人作業系統)教程
“在人生的路上,每一個人都是孤獨的旅客。與其舒舒服服,懵懵懂懂過一輩子,倒不如品嚐一點不平常的滋味,似苦而是甜。”
還是記錄下吧~
最近腦子總是不好使~
ROS(Robot OS 機器人作業系統)
官網:http://wiki.ros.org/ROS/Installation
先來說一說ROS是幹什麼用的~
Robot Operating System (ROS) 是一個得到廣泛應用機器人系統的軟體框架,它包含了一系列的軟體庫和工具用於構建機器人應用。從驅動到最先進的演算法,以及強大的開發者工具,ROS 包含了開發一個機器人專案所需要的所有東西。且都是開源的。
ROS 雖然名為機器人作業系統,但它與我們一般概念中的作業系統,如 Windows,Linux,iOS 和 Android 這些並不相同。Windows,Linux,iOS 和 Android 這些作業系統為我們管理計算機的物理硬體資源,如 CPU、記憶體、磁碟、網路及外設,並提供如讀檔案、寫檔案、建立程序、建立執行緒及啟動執行緒這樣的操作。ROS 所工作的層級並沒有這麼低,它基於一般概念中的作業系統來執行,官方推薦基於 Ubuntu Linux 執行,並在 Ubuntu Linux 作業系統提供的抽象和操作的基礎之上,提供了更高層的抽象,如節點、服務、訊息、主題等,以及更高層的操作,如主題的釋出、主題的訂閱、服務的查詢與連線等操作。同時 ROS 還提供開發機器人專案所需的工具和功能庫。
ROS 發行版是一個版本標識的 ROS 包集合,這些與 Linux 發行版(如 Ubuntu)類似。ROS 發行版的目的是讓開發者可以基於一個相對穩定的程式碼庫來工作,直到他們可以平穩地向前演進。一旦發行版釋出,官方就會限制對其的改動,而僅僅提供對於核心包的 bug fixes 和非破壞性的增強。
ROS 最新的一些版本如下:
ROS 系統版本 | 時間釋出 | 支援時間 |
---|---|---|
ROS Lunar Loggerhead | May 23rd, 2017 | May, 2019 |
ROS Kinetic Kame |
May 23rd, 2016 | LTS,April, 2021 (Xenial EOL) |
ROS Jade Turtle | May 23rd, 2015 | May, 2017 |
ROS Indigo Igloo | July 22nd, 2014 | LTS,April, 2019(Trusty EOL) |
ROS Hydro Medusa | September 4th, 2013 | May, 2015 |
ROS 基本上保持每年一個新版本,每兩年一個長期發行版的釋出節奏。今年應該快釋出了,關於 ROS 版本釋出的更多內容,如更多的發行版的介紹,釋出的計劃等,可以參考 ROS 官方站點的 Distributions 主頁。
目前官方推薦使用最近的一個長期支援版本,即 ROS Kinetic Kame,求新的同時兼顧穩定性無疑應該採用這一版本;如果想要嘗試最新的功能特性則可以使用最新的發行版 ROS Lunar Loggerhead。
安裝步驟如下:
1.新增源並設定祕鑰
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
這一步會根據 Ubuntu Linux 發行版本的不同,新增不同的源。Ubuntu 的版本通過 lsb_release -sc
獲得,一旦添加了正確的軟體庫,作業系統就知道去哪裡下載程式,並根據命令自動安裝軟體。
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
2.安裝ROS
先更新下sudo apt-get update
ROS 中有非常多不同的庫和工具。官方提供了四種預設的配置來安裝 ROS,也可以獨立地安裝 ROS 包。另外,ROS kinetic 也有很多版本,比如工業版,基礎版,高階版,豪華版,至尊豪華...此處選擇至尊豪華全功能版,也就是桌面完整版~
桌面完整安裝(推薦採用):ROS,rqt, rviz,機器人通用庫,2D/3D 模擬器,導航及 2D/3D 感知。
sudo apt-get install ros-kinetic-desktop-full
接下來就是漫長的安裝過程~
算了,也說一下其它版本的安裝命令:
sudo apt-get install ros-kinetic-desktop
):ROS-Base (Bare Bones):ROS ,構建和通訊庫,沒有 GUI 工具。
sudo apt-get install ros-kinetic-ros-base
):獨立的包安裝:可以安裝一個特定的 ROS 包(用實際的包名來替換下面的命令中的 “PACKAGE”)。
sudo apt-get install ros-kinetic-PACKAGE
比如:sudo apt-get install ros-kinetic-slam-gmapping
要找到可用的包,可以使用命令:apt-cache search ros-kinetic
通常在做開發時,採用 桌面完整安裝 比較方便一點,可以一股腦將所有有可能用到的軟體包都安裝進來。對於實際的機器,則通常採用 ROS-Base (Bare Bones) + 獨立的包 的方式進行安裝。
3.初始化ROS
在使用 ROS 之前,需要先初始化 rosdep
。rosdep
使得你可以為你想要編譯的原始碼,以及需要執行的 ROS 核心元件,簡單地安裝系統依賴。
sudo rosdep init
rosdep update
然後再初始化環境變數:(每次啟動一個新的終端時,ROS 環境變數都能自動地新增進你的 bash )
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
如果安裝了多個 ROS 發行版,則 ~/.bashrc
必須只 source
當前正在使用的那一版的 setup.bash
。
如果你只想要修改當前 shell 的環境,則輸入如下的命令來替換上面的命令:
source /opt/ros/kinetic/setup.bash
4.安裝rosinstall 輔助工具
sudo apt-get install python-rosinstall
或者:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
另外,提醒下:
ros中很多的第三方外掛的安裝格式是:sudo apt-get install ros-kinetic-...
例如: sudo apt-get install ros-kinetic-turtlebot*
到此,完成了安裝~
test:
可以通過 roscore
和 turtlesim
來做一個簡單的測試。
先輸入命令:roscore
會出來... logging to /home/
然後再測試下turtlesim
:
輸入命令:rosrun turtlesim turtlesim_node
注意: turtlesim
的執行依賴於 roscore
的執行,因此在測試 turtlesim
需要同時執行 roscore,也就是同時再開啟一個終端執行
。
~
-end-
加油吧~