您的當(dāng)前位置: 中國(guó)鍛壓網(wǎng) > 資訊中心 > 正文|
ROS(Robot Operating System)是一個(gè)機(jī)器人軟件平臺(tái),它能為異質(zhì)計(jì)算機(jī)集群提供類(lèi)似操作系統(tǒng)的功能。 隨著機(jī)器人領(lǐng)域的快速發(fā)展和復(fù)雜化,代碼的復(fù)用性和模塊化的需求原來(lái)越強(qiáng)烈,而已有的開(kāi)源機(jī)器人系統(tǒng)又不能很好的適應(yīng)需求。未來(lái)技術(shù)人員希望形成一種機(jī)制,令機(jī)器人的開(kāi)發(fā)代碼、數(shù)據(jù)、算法和硬件設(shè)計(jì)能夠在web上很方便的共享。在此背景,以ROS為代表的開(kāi)源系統(tǒng)應(yīng)運(yùn)而生。 耳目一新的系統(tǒng) ROS(全稱(chēng):Robot Operating System,機(jī)器人操作系統(tǒng))目前主要依附于Ubantu平臺(tái),現(xiàn)在由于Google的強(qiáng)勢(shì)介入,它也可依附于Android平臺(tái)上,甚至是在iOS系統(tǒng)上也能夠運(yùn)行。現(xiàn)是對(duì)其支持較好的還是Ubantu系統(tǒng)。 ROS是開(kāi)源的、以提高代碼復(fù)用率和開(kāi)發(fā)效率的機(jī)器人操作系統(tǒng),在全世界范圍內(nèi),特別是在一些研發(fā)機(jī)構(gòu)和研究型的企業(yè)里,它已漸逐普及開(kāi)來(lái)。它提供類(lèi)似操作系統(tǒng)所提供的功能。包括硬件的抽象描述、底層的驅(qū)動(dòng)程序管理、共用功能的執(zhí)行、程度間的信息傳遞、程序發(fā)行包的管理、也提供一些工具程序和庫(kù),用于獲取、建立、編寫(xiě)和運(yùn)行多機(jī)整合的程序。 ROS的首要設(shè)計(jì)目標(biāo)是在機(jī)器人研發(fā)領(lǐng)域提高代碼復(fù)用率。ROS是一種分布式處理框架(又名Nodes)。這使可執(zhí)行文件能被單獨(dú)設(shè)計(jì),并且在運(yùn)行時(shí)松散耦合。這些過(guò)程可以封裝到數(shù)據(jù)包(Packages)和堆棧(Stacks)中,以便于共享和分發(fā)。ROS還支持代碼庫(kù)的聯(lián)合系統(tǒng)。使得協(xié)作亦能被分發(fā)。這種從文件系統(tǒng)級(jí)別到社區(qū)一級(jí)的設(shè)計(jì)令獨(dú)立地決定發(fā)展和實(shí)施工作成為可能。上述所有功能都能由ROS的基礎(chǔ)工具實(shí)現(xiàn)。 突出的特點(diǎn) ROS具有以下4個(gè)典型要素。 首先,它是多節(jié)點(diǎn)、模塊化、分布式的設(shè)計(jì)。這個(gè)特點(diǎn)與現(xiàn)在的Linux、Android等系統(tǒng)是很類(lèi)似的。一個(gè)使用ROS的系統(tǒng)包括一系列進(jìn)程,這些進(jìn)程存在于多個(gè)不同的主機(jī)并且在運(yùn)行過(guò)程中通過(guò)端對(duì)端的拓?fù)浣Y(jié)構(gòu)進(jìn)行聯(lián)系。雖然基于中心服務(wù)器的那些軟件框架也可以實(shí)現(xiàn)多進(jìn)程和多主機(jī)的優(yōu)勢(shì),但是在這些框架中,當(dāng)各電腦通過(guò)不同的網(wǎng)絡(luò)進(jìn)行連接時(shí),中心數(shù)據(jù)服務(wù)器就會(huì)發(fā)生問(wèn)題。ROS的點(diǎn)對(duì)點(diǎn)設(shè)計(jì)以及服務(wù)和節(jié)點(diǎn)管理器等機(jī)制可以分散由計(jì)算機(jī)視覺(jué)和語(yǔ)音識(shí)別等功能帶來(lái)的實(shí)時(shí)計(jì)算壓力,能夠適應(yīng)多機(jī)器人遇到的挑戰(zhàn)。 其次,它有豐富的工具包、仿真環(huán)境。為了管理復(fù)雜的ROS軟件框架,我們利用了大量的小工具去編譯和運(yùn)行多種多樣的ROS組建,從而設(shè)計(jì)成了內(nèi)核,而不是構(gòu)建一個(gè)龐大的開(kāi)發(fā)和運(yùn)行環(huán)境。 這些工具擔(dān)任了各種各樣的任務(wù),例如,組織源代碼的結(jié)構(gòu),獲取和設(shè)置配置參數(shù),形象化端對(duì)端的拓?fù)溥B接,測(cè)量頻帶使用寬度,生動(dòng)的描繪信息數(shù)據(jù),自動(dòng)生成文檔等等。盡管我們已經(jīng)測(cè)試通過(guò)像全局時(shí)鐘和控制器模塊的記錄器的核心服務(wù),但是我們還是希望能把所有的代碼模塊化。我們相信在效率上的損失遠(yuǎn)遠(yuǎn)是穩(wěn)定性和管理的復(fù)雜性上無(wú)法彌補(bǔ)的。 再次,它涉及機(jī)器人領(lǐng)域的方方面面,可以實(shí)現(xiàn)各項(xiàng)功能。ROS利用了很多現(xiàn)在已經(jīng)存在的開(kāi)源項(xiàng)目的代碼,比如說(shuō)從Player項(xiàng)目中借鑒了驅(qū)動(dòng)、運(yùn)動(dòng)控制和仿真方面的代碼,從OpenCV中借鑒了視覺(jué)算法方面的代碼,從OpenRAVE借鑒了規(guī)劃算法的內(nèi)容,還有很多其他的項(xiàng)目。在每一個(gè)實(shí)例中,ROS都用來(lái)顯示多種多樣的配置選項(xiàng)以及和各軟件之間進(jìn)行數(shù)據(jù)通信,也同時(shí)對(duì)它們進(jìn)行微小的包裝和改動(dòng)。ROS可以不斷的從社區(qū)維護(hù)中進(jìn)行升級(jí),包括從其他的軟件庫(kù)、應(yīng)用補(bǔ)丁中升級(jí)ROS的源代碼。 最后,它有強(qiáng)大的軟件倉(cāng)庫(kù)支持平臺(tái),有一個(gè)名為Ecosystem的ROS社區(qū),可以為它提供各種各樣的開(kāi)源、免費(fèi)的資源,同時(shí),研究機(jī)構(gòu)的新成果也可以上傳至那里,廣泛地普及開(kāi)來(lái)。 云機(jī)器人平臺(tái)上的新應(yīng)用 下面以南開(kāi)大學(xué)最新研制的NK云機(jī)器人平臺(tái)為例,簡(jiǎn)要說(shuō)明ROS在云機(jī)器人中的應(yīng)用情況。 NK云機(jī)器人平臺(tái)其中之一是家庭服務(wù)機(jī)器人模塊化、網(wǎng)絡(luò)化技術(shù)及測(cè)試規(guī)范,雖然簡(jiǎn)稱(chēng)為“家庭服務(wù)機(jī)器人”,但是它真正的目標(biāo)應(yīng)用是在先進(jìn)制造技術(shù)領(lǐng)域。 這種云機(jī)器人將使機(jī)器人大幅度區(qū)服務(wù)中心的瘦身,機(jī)器人本體成為智能執(zhí)行端。NK云機(jī)器人體現(xiàn)了機(jī)器人技術(shù)集成創(chuàng)新的本質(zhì)屬性。它的優(yōu)勢(shì)包括:利用大數(shù)據(jù)和大數(shù)據(jù)帶來(lái)的變革;將復(fù)雜計(jì)算上傳到云端執(zhí)行;機(jī)器人間、機(jī)器人與所處環(huán)境間信息和資源共享;促成開(kāi)發(fā)者共享開(kāi)源代碼與使用者共享應(yīng)用級(jí)代碼。 基于上述優(yōu)勢(shì),NK云機(jī)器人各功能具有以下幾個(gè)特點(diǎn):云端社區(qū)——獲取更大云端資源支持,共享經(jīng)驗(yàn)、知識(shí);傳感網(wǎng)絡(luò)——溫度、濕度、煙霧及云臺(tái)相機(jī)等非機(jī)載傳感器組成ZigBee網(wǎng)絡(luò);信息中心——資源管理與調(diào)度、存儲(chǔ)功能、計(jì)算功能;機(jī)器人本體——響應(yīng)用戶請(qǐng)求,執(zhí)行家庭服務(wù)任務(wù)。 在NK云機(jī)器人——家庭服務(wù)機(jī)器人系統(tǒng)中,ROS體系的結(jié)構(gòu)是這樣的,分為:Linux—家庭信息中心;服務(wù)器端有ROS體系與外部網(wǎng)絡(luò)接口;而分布式系統(tǒng)(即機(jī)器人系統(tǒng))上,有操作臂控制單元、導(dǎo)航單元、機(jī)載傳感器單元——這些都分裝在ROS的各個(gè)節(jié)點(diǎn)之中;最底端是ROS節(jié)點(diǎn)管理器。 通過(guò)這一套機(jī)制,就把ROS技術(shù)很好地應(yīng)用在家庭服務(wù)機(jī)器人系統(tǒng)設(shè)計(jì)中。 有一點(diǎn)需要指及,國(guó)內(nèi)目前尚未有ROS資源站點(diǎn),現(xiàn)在只能從美國(guó)、歐洲資源站下載。北京航天航空大學(xué)、南開(kāi)大學(xué)等單位都在從事這方面的工作,希望不久將來(lái)我國(guó)也有ROS資源站點(diǎn),貢獻(xiàn)于這個(gè)大平臺(tái)上。 |
![]() |
中國(guó)鍛壓網(wǎng)官方微信:掃一掃,立即關(guān)注!
關(guān)注"中國(guó)鍛壓網(wǎng)",獲取獨(dú)家行業(yè)新聞資訊。 添加方法1: 在“添加好友”中直接添加微信賬號(hào):chinaforge 添加方法2: 微信中掃描左側(cè)的二維碼 |