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