什麼是「ROS」?

前言

未來的產業趨勢,「機器人」顯然已經是要角之一!剛好藉著前工作(AMR)的機會,我也算是正式踏入了這個領域。 但,接下來想要擴展領域內的知識與應用,就要靠自己學習囉!

圖片來源:https://www.open-electronics.org/

什麼是ROS?

ROS是一種用於機器人的開源、基礎操作系統。它提供了您希望能從操作系統獲得的應用,包括了硬體抽象化、低階設備控制、常用功能的實現、運作之間的訊息傳遞和套件管理。它還提供用於在多台電腦上獲取、構建、編寫和運行程式碼的工具和函示庫。ROS在某些方面來解釋就形同於“機器人框架”,就如同以下所列的平台:Player、YARP、Orocos、CARMEN、Orca、MOOS和Microsoft Robotics Studio。

目標

當然也會有人問,“ROS與X究竟有什麼不同?”其中X是指其他機器人軟體平台。其實這是一個很難回答的問題,因為ROS的目標不是成為具有最多功能的框架。相反,ROS的主要目標是支援機器人研究和開發中的程式碼再利用。ROS是一個分佈式進程框架(又名:節點),它使可執行檔案能夠在運行時單獨設計和鬆散耦合。而這些運作方式又可以分別組合到套件和語法堆疊中,因此可以很容易地共享和分發。ROS還支援程式碼儲存庫的聯合系統,該系統也支持分佈式協作。從檔案系統級別到社群級別,還有支援關於開發和實施的獨立決策,會有這樣的設計,是將一切都能夠使用ROS基礎結構工具直接結合在一起。

為了支援共享和協作的主要目標,ROS框架還有其他幾個目標:

運作環境

ROS目前僅能在Unix系統基礎的平台上運作,並且相關應用軟體主要都在Ubuntu和Mac OS X系統上進行測試,不過ROS社群也持續地替Fedora、Gentoo、Arch Linux等其他Linux平台提供相關技術支援。

雖然可以將ROS移植到Microsoft Windows,但功能等都尚未驗證完成(支援性不佳)。

後續

ROS系統核心以及有用的工具和函式庫將透過ROS的發行版定期發布。而此發行版會隨著Linux發行版(以Ubuntu為主),並提供一組可相容軟體供其他人使用和構建。

原始資料出處:http://wiki.ros.org/ROS/Introduction

總結

雖然這篇文章只能算是翻譯文,但學習每項技術的第一步,總該要先了解開發者的想法、設計概念與往後方向。這樣子在以後自己的開發應用上也會更加確實與容易。

重要連結

官方網站 https://www.ros.org/

官方維基 http://wiki.ros.org/

維基百科介紹:https://zh.wikipedia.org/wiki/%E6%A9%9F%E5%99%A8%E4%BA%BA%E4%BD%9C%E6%A5%AD%E7%B3%BB%E7%B5%B1