ROS為Robot Operating System(機器人操作系統(tǒng))的簡寫,是一個面向機器人的開源元操作系統(tǒng)(open-source,meta-operating system)。它能夠提供類似傳統(tǒng)操作系統(tǒng)的諸多功能,如硬件抽象、底層設(shè)備控制、進程間消息傳遞和程序包管理等。此外,它還提供相關(guān)工具和庫,用于獲取、編譯、編輯代碼以及在多個計算機之間運行程序完成分布式計算。ROS的運行架構(gòu)是一種使用ROS通信模塊實現(xiàn)模塊間P2P的松耦合的網(wǎng)絡(luò)連接的處理架構(gòu),它執(zhí)行若干種類型的通訊,包括基于服務(wù)的同步RPC(遠程過程調(diào)用)通訊、基于Topic的異步數(shù)據(jù)流通訊,還有參數(shù)服務(wù)器上的數(shù)據(jù)存儲。
歷史
ROS起源于2007年前后斯坦福大學(xué)人工智能實驗室的STAIR(Stanford Artificial Intel ligence Robot)項目與WillowGarage公司的個人機器人項目(Personal Robotics project)之間的合作。在2009年初推出了ROS0.4,現(xiàn)在所用系統(tǒng)的框架在這個版本中已初具雛形。經(jīng)過近一年的測試后,于2010年初推出了ROS1.0版,并在當(dāng)年三月份推出了正式發(fā)行版本:ROSBoxTurtle,到現(xiàn)在(2016年5月)已經(jīng)發(fā)行了10個版本,最新版本是ROSKineticKame。比較有趣的是,ROS各版本均以龜作為發(fā)行代號,至今已設(shè)計出10種造型奇特的“ROS龜”。
從2008年至2013年,ROS主要由WillowGarage公司管理維護,但這并不意味著ROS是封閉的系統(tǒng),相反,它是由眾多學(xué)校及科研機構(gòu)聯(lián)合開發(fā)及維護的,這種聯(lián)合開發(fā)模式也為ROS系統(tǒng)生態(tài)的構(gòu)建與壯大帶來有力的促進。2013年,WillowGarage公司被Suitable Technologies公司收購,此前幾個月,ROS的開發(fā)和維護管理工作被移交給了新成立的開源基金會Open Source Robotics Foundation。
特點
ROS的主要目標是為機器人研究和開發(fā)提供代碼復(fù)用的支持。ROS是一個分布式的進程(即“節(jié)點”)框架,這些進程被封裝在易于被分享和發(fā)布的程序包和功能包中。ROS也支持一種類似于代碼儲存庫的聯(lián)合系統(tǒng),這個系統(tǒng)也可以實現(xiàn)工程的協(xié)作及發(fā)布。可以使一個工程的開發(fā)和實現(xiàn)從文件系統(tǒng)到用戶接口完全獨立決策(不受ROS限制)。同時,所有的工程都可以被ROS的基礎(chǔ)工具整合在一起。
ROS在某些程度上和其他常見的機器人架構(gòu)有些相似之處,如:Player、Orocos、CARMEN、Orca和MicrosoftRoboticsStudio。對于簡單的無機械手的移動平臺來說,Player是非常不錯的選擇。ROS則不同,它被設(shè)計為適用于有機械臂和運動傳感器的移動平臺(傾角激光、云臺、機械臂傳感器)。與Player相比,ROS更有利于分布式計算環(huán)境。當(dāng)然,Player提供了較多的硬件驅(qū)動程序,ROS則在高層架構(gòu)上提供了更多的算法應(yīng)用(如集成OpenCV的視覺算法)。
2024-08-29 14:47
2024-02-05 22:01
2024-01-17 07:00
2023-12-25 05:49
2023-12-25 05:12
2023-12-21 09:21
2023-09-10 07:56
2023-08-21 09:49
2021-12-31 16:10
2021-02-08 08:26