1. 程式人生 > >機器人程式設計(Robot Programming)學習筆記一

機器人程式設計(Robot Programming)學習筆記一

平臺的組建

硬體、作業系統、應用程式和使用者等四個要素在IT行業中通常被稱為平臺的生態系統 (Ecosystem)的四個要素。

機器人軟體平臺

平臺分為軟體平臺和硬體平臺。 機器人 軟體平臺不僅包括機器人應用中使用的硬體抽象、子裝置控制,以及機器人工程中常 用的感測、識別、實時自定位和繪圖(SLAM)、導航(Navigation)和機械臂控制 (Manipulation)等功能的實現,還包含功能包管理、開發環境所需的庫、多種開發/調 試工具。機器人硬體平臺不僅包括移動機器人、無人機和人形硬體研究平臺,還包括正在 商業化的諸如SoftBank的Pepper和MIT Media Lab的Jibo等產品。藉助軟體平臺,許多人可以參與機器人開發,而機器人硬體則是根據軟體 平臺提出的介面進行設計的。

這一類的軟體平臺中具有代表性的有機器人作業系統ROS (Robot Operating System)1、日本的開放式機器人技術中介軟體(OpenRTM)2、歐洲的實時控制為中心的 OROCOS3和韓國的OPRoS4。慮社群的活躍程度、豐富的庫、擴充套件性和開發便利性的話ROS首當其衝

ROS簡介

維基定義:ROS是一個開放原始碼的機器人元作業系統。它提供了 我們對作業系統期望的服務,包括硬體抽象、低階裝置控制、常用功能的實現、程序之間 的訊息傳遞以及功能包管理。它還提供了用於在多臺計算機之間獲取、構建、編寫和執行 程式碼的工具和庫。

更確切地說,ROS是一個元作業系統(Meta-Operating System)。元作業系統不是一個明確定義的術語,而是一個利用應用程式和分散式計算資源之間的虛擬化層來運用分散式計算資源來執行排程、載入、監視、錯誤處理等任務的系統。 ROS不是傳統的作業系統,如Windows、Linux和Android,反而是在利用現有的作業系統。使用ROS前需要先安裝諸如Ubuntu的Linux發行版作業系統,之後再安裝 ROS,以使用程序管理系統、檔案系統、使用者介面、程式實用程式(編譯器、執行緒模型 等)。此外,它還以庫的形式提供了機器人應用程式所需的多數不同型別的硬體之間的資料傳輸/接收、排程和錯誤處理等功能。這個概念也被稱為中介軟體(Middleware)或軟體框架(Software framework)。

ROS的生態系統

上圖是根據在ROSCon 2016釋出的ROS官方統計和2017年度的ROS維基資料整理的ROS現狀。