Robot Operating System (ROS) 是一個獲得普遍應用機器人系統的軟件框架,它包含了一系列的軟件庫和工具用於構建機器人應用。從驅動到最早進的算法,以及強大的開發者工具,ROS 包含了開發一個機器人項目所須要的全部東西。且它們都是開源的。node
ROS 雖然名爲機器人操做系統,但它與咱們通常概念中的操做系統,如 Windows,Linux,iOS 和 Android 這些。Windows,Linux,iOS 和 Android 這些操做系統爲咱們管理計算機的物理硬件資源,如 CPU、內存、磁盤、網絡及外設,提供如進程、線程和文件這樣的抽象,並提供如讀文件、寫文件、建立進程、建立線程及啓動線程這樣的操做。ROS 所工做的層級並無這麼低,它基於通常概念中的操做系統來運行,官方推薦基於 Ubuntu Linux 運行,並在 Ubuntu Linux 操做系統提供的抽象和操做的基礎之上,提供了更高層的抽象,如節點、服務、消息、主題等,以及更高層的操做,如主題的發佈、主題的訂閱、服務的查詢與鏈接等操做。同時 ROS 還提供開發機器人項目所需的工具和功能庫。python
ROS 發行版是一個版本標識的 ROS 包集合,這些與 Linux 發行版(如 Ubuntu)相似。ROS 發行版的目的是讓開發者能夠基於一個相對穩定的代碼庫來工做,直到他們能夠平穩地向前演進。一旦發行版發佈,官方就會限制對其的改動,而僅僅提供對於核心包的 bug fixes 和非破壞性的加強。算法
當前(2018-01-28) ROS 系統已經發布了多個版本。ROS 最新的一些版本以下:
shell
ROS 基本上保持每一年一個新版本,每兩年一個長期發行版的發佈節奏。關於 ROS 版本發佈的更多內容,如更多的發行版的介紹,發佈的計劃等,能夠參考 ROS 官方站點的 Distributions 主頁。ubuntu
目前官方推薦使用最近的一個長期支持版本,即 ROS Kinetic Kame,求新的同時兼顧穩定性無疑應該採用這一版本,若是想要嘗試最新的功能特性則可使用最新的發行版 ROS Lunar Loggerhead。bash
ROS 的安裝步驟以下。網絡
ROS kinetic官網:http://wiki.ros.org/kinetic/Installation/Ubuntuapp
1. 配置Ubuntu的資源庫:"restricted","universe"和"multiverse"。通常狀況是不用配置的,參考下圖紅色框部分。
若是沒有配置,能夠參考Ubuntu官網
框架
2. 安裝:工具
參見:https://blog.csdn.net/weixin_39036700/article/details/81629810
1.設置安裝源
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.設置key
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
3.安裝
sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full
獨立的包安裝:能夠安裝一個特定的 ROS 包(用實際的包名來替換下面的命令中的 「PACKAGE」)。
sudo apt-get install ros-kinetic-PACKAGE
如:sudo apt-get install ros-kinetic-slam-gmapping
要找到可用的包,可使用:apt-cache search ros-kinetic
4.初始化 sudo rosdep init (安裝一次後只能運行一次,若從新安裝選擇跳過或卸載) rosdep update
結果:
Add distro "groovy"
Add distro "hydro"
Add distro "indigo"
Add distro "jade"
Add distro "kinetic"
Add distro "lunar"
Add distro "melodic"
updated cache in /home/ubuntu1604/.ros/rosdep/sources.cache
若出現time out 或錯誤,重試幾遍
5.配置環境變量 echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
打開另外一個終端: source ~/.bashrc
若是安裝了多個 ROS 發行版,則 ~/.bashrc
必須只 source
當前正在使用的那一版的 setup.bash
。
若是你只想要修改當前 shell 的環境,則輸入以下的命令來替換上面的命令:source /opt/ros/kinetic/setup.bash
6.安裝rosinstallsudo apt-get install python-rosinstall
構建包所需的依賴
到這一步,應該已經安裝好了運行核心 ROS 包的全部東西。要建立和管理你本身的 ROS workspace,還有單獨發佈的許多的工具。好比,rosinstall 是一個經常使用的命令行工具,使你能夠經過一個命令爲 ROS 包簡單地下載許多源碼樹。
要安裝這個工具及其它的依賴以構建 ROS 包,則運行:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
完成完整的 ROS 安裝以後,能夠對安裝作一個簡單的測試。能夠經過 roscore 和 turtlesim 來作測試。
3. 卸載:
sudo apt-get purge ros-* sudo rm -rf /etc/ros gedit ~/.bashrc
找到:帶有kinetic的那一行刪除,保存,而後:
source ~/.bashrc
4. 測試ROS安裝成功
1) 打開Termial,輸入如下命令,初始化ROS環境:
roscore
2) 打開新的Termial,輸入如下命令,彈出一個小烏龜窗口:
rosrun turtlesim turtlesim_node
3) 打開新的Termial,輸入如下命令,能夠在Termial中經過方向鍵控制小烏龜的移動:
rosrun turtlesim turtle_teleop_key
4) 打開新的Termial,輸入如下命令,彈出新的窗口查看ROS節點信息:
rosrun rqt_graph rqt_graph