2019年4月2日 星期二

關於ROS的 6 個強大特性


  1. 支援多種程式語言
    ROS支持多種現代高級程式語言(C++、Python、Lisp),開發彈性大。
  2. 點對點設計
    ROS通過點對點設計,分散來自電腦視覺和語音識別等功能所帶來的即時計算壓力。
  3. 程式碼精簡且整合性高
    ROS建立的系統具有模組化的特點,且編譯用的CMake工具讓程式碼變得精簡,利於後續應用的套用和整合。例如,在電腦視覺方面,ROS能與OpenCV整合。在驅動、導航和模擬器方面,ROS能與Player系統整合。在規劃演算法上,ROS也已與OpenAVE整合。
  4. 便於測試
    機器人開發軟體比其他軟體開發更具挑戰性,主要是因為調試準備時間長,過程複雜。況且,因為硬體維修、經費有限等因素,不一定隨時有機器人可供使用。ROS提供兩種策略來解決上述問題。
    (1).精心設計的ROS系統框架將底層硬體控制模組和頂層數據處理與決策模組分離,從而可以使用模擬器替代底層硬體模組,獨立測試頂層部分,提高測試效率。
    (2).ROS另外提供了一種簡單的方法可以在調試過程中記錄傳感器數據及其他類型的消息數據,並在試驗後按時間戳回放。通過這種方式,每次運行機器人可以獲得更多的測試機會。例如,可以記錄傳感器的數據,並通過多次回放測試不同的數據處理算法
  5. 開源
    ROS遵從BSD協議,使開發者可以清楚的查看、自由的使用原始碼,如果有需要,可以根據不同的系統及硬體環境對原始碼進行修改,或者進行二次開發。
  6. 強大的社群資源
    ROS提供了廣泛的社群資源,實現以機動性、操作控制、感知為主的機器人功能。同時由於其開源特性,ROS的支持與發展依託著一個強大的社區。其官方網站尤其關注兼容性和支持文檔,提供了一套「一站式」的方案使得用戶得以搜索並學習來自全球開發者數以千計的ROS程式模組。

為什麼你必須要學ROS?





1.機器人產業快速成長,商機蓬勃發展
全球機器人產業快速發展,而ROS(Robot Operating System,機器人操作系統)是開發機器人的主流技術之一,目前已有許多機器人公司採用了ROS系統來開發創新產品,如ClearPath、Rethink、Unbounded、Neurala、Blue River、Big-i,最典型的就是Willow Garage的PR2機器人。Nvidia、Bosch、高通、英特爾、寶馬以及大疆等大公司也紛紛推出ROS週邊產品。


2.國際大廠相繼投入機器人開發平台,機器人市場前景看俏
國際巨頭在 2018 ~2019年間,前後推出機器人系統,包括高通(Qualcomm)機器人 RB3 平台(2019 年 2 月發表)、微軟(Microsoft )的Windows 10 ROS1(2018 年 9 月發表)、亞馬遜的 AWS RoboMaker(2018 年 11 月發表)、優必選的 ROSA(2018 年 9 月發表)、以及獵豹的 Orion OS(2018 年 3 月發表)。代表大廠也十分看好機器人市場的發展。

3.國家政策全力支持,開發者將享有更多資源
從科技部的政策來看,為了結合台灣既有產業優勢,讓AI加速台灣產業升級,政府投入大量資源來發展AI,以期能成為全球供應鏈中的重要一環。而機器人是AI落地的重要方向之一,特別是在製造、醫療照護等領域的發展。


4.高效跨領域技術整合框架,幫助你快速整合不同技術 
ROS擁有豐富的社群資源,發展迄今,已經整合感測器、視覺、人機互動、硬體、韌體等領域的技術,因此,一旦基於ROS你就可以整合全世界的研發成果,快速打造專屬的產品。舉例來說,如果你想投入工業4.0的領域,透過ROS的OpenSLAM、MoveIt等工具,你就可以快速實作出具有抓取功能的AGV(Automated Guided Vehicle,自動導引車)產品原型。


5.容易操作的可視化套件,幫助你提高專案開發效率
ROS擁有功能強大的可視化工具像是GUI工具rqt、3D可視化工具 rviz、機器人模擬器 gazebo、資料存儲/重播功能rosbag,方便你進行資料記錄、分析、模擬工具,方便調試。不用花太多的成本就可以提升你的開發效率。