“在人生的路上,每一個人都是孤獨的旅客。與其舒舒服服,懵懵懂懂過一輩子,倒不如品嚐一點不平常的滋味,似苦而是甜。”

 

還是記錄下吧~

最近腦子總是不好使~

 

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,rqtrviz,機器人通用庫,2D/3D 模擬器,導航及 2D/3D 感知。

sudo apt-get install ros-kinetic-desktop-full

接下來就是漫長的安裝過程~

算了,也說一下其它版本的安裝命令:

):桌面安裝:ROS,rqtrviz,機器人通用庫。

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 之前,需要先初始化 rosdeprosdep 使得你可以為你想要編譯的原始碼,以及需要執行的 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-

加油吧~