Darrick Addison 是一個(gè)在數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、用戶界面和嵌入式系統(tǒng)方面具有豐富經(jīng)驗(yàn)的開發(fā)人員,他介紹了機(jī)器人技術(shù)領(lǐng)域和與機(jī)器人系統(tǒng)有關(guān)的問(wèn)題。他談到了機(jī)械設(shè)計(jì)、傳感系統(tǒng)、電子控制和軟件。他還討論了微控制器系統(tǒng),包括串行接口連接和存儲(chǔ)映象接口連接,并談到了某些可供選擇的開放源代碼軟件。 “機(jī)器人(Robot)”一詞起源于捷克語(yǔ),意為強(qiáng)迫勞動(dòng)力或奴隸。這個(gè)詞是由劇作家 Karel Capek 引入的,他虛構(gòu)創(chuàng)作的機(jī)器人很象 Frankenstein 博士的怪物-由化學(xué)和生物學(xué)方法而不是機(jī)械方法創(chuàng)造的生物。但現(xiàn)在流行文化中的機(jī)械機(jī)器人和這些虛構(gòu)的生物創(chuàng)作物沒(méi)多大區(qū)別。基本上,一個(gè)機(jī)器人包括: * 機(jī)械設(shè)備,如可以與周圍環(huán)境進(jìn)行交互的車輪平臺(tái)、手臂或其它構(gòu)造。 * 設(shè)備上或周圍的傳感器,可以感知周圍環(huán)境并向設(shè)備提供有用的反饋。 * 根據(jù)設(shè)備當(dāng)前的情況處理傳感輸入,并按照情況指示系統(tǒng)執(zhí)行相應(yīng)動(dòng)作的系統(tǒng)。 在制造業(yè)領(lǐng)域,機(jī)器人的開發(fā)集中在執(zhí)行制造過(guò)程的工程機(jī)器人手臂上。在航天工業(yè)中,機(jī)器人技術(shù)集中在高度專業(yè)的一種行星漫步者上。不同于一臺(tái)高度自動(dòng)化的制造業(yè)設(shè)備,行星漫步者在月亮黑暗的那一面工作- 沒(méi)有無(wú)線電通訊 -可能碰到意外的情況。至少,一個(gè)行星漫步者必須具備某種傳感輸入源、某種解釋該輸入的方法和修改它的行動(dòng)以響應(yīng)改變著的世界的方法。此外,對(duì)感知和適應(yīng)一個(gè)部分未知的環(huán)境的需求需要智能(換句話說(shuō)就是人工智能)。 從軍事科技和空間探索到健康產(chǎn)業(yè)和商業(yè),使用機(jī)器人的優(yōu)勢(shì)已經(jīng)被認(rèn)識(shí)到了這種程度- 它們正在成為我們集體經(jīng)驗(yàn)和日常生活的一部分。 它們能把我們從危險(xiǎn)和枯燥中解脫出來(lái): * 安全:機(jī)器人技術(shù)已經(jīng)被開發(fā)用于處理核能和放射性化學(xué)制品的很多不同用途,包括核武器、電廠、環(huán)境清潔和某些藥品的處理。 * 不愉快的事:機(jī)器人執(zhí)行很多乏味、不愉快但必需的任務(wù),如焊接和看門工作。 * 重復(fù)和精度:裝配線工作已經(jīng)成為機(jī)器人技術(shù)工業(yè)的一個(gè)中流砥柱。機(jī)器人被廣泛地用于制造業(yè),而且,在強(qiáng)調(diào)最小維護(hù)需求的空間探索中,使用機(jī)器人更具有吸引力。 機(jī)械平臺(tái) -硬件基礎(chǔ) 一個(gè)機(jī)器人包括兩個(gè)主要部分:機(jī)器人的身體和某種形式的人工智能(artificial intelligence,AI)系統(tǒng)。很多不同的身體部分都可以叫做機(jī)器人。關(guān)節(jié)手臂被用于焊接和上漆;起重機(jī)和傳送帶系統(tǒng)在工廠中運(yùn)送零件;巨型機(jī)器人機(jī)器搬運(yùn)礦井深處的泥土。一般說(shuō)來(lái),機(jī)器人最有趣的一個(gè)方面是它們的行為,這需要一種形式的智能。機(jī)器人最簡(jiǎn)單的行為是移動(dòng)。典型地,輪子被作為讓機(jī)器人從一點(diǎn)移動(dòng)到下一點(diǎn)的基本機(jī)械裝置。還需要某種力(如電力)讓輪子在命令時(shí)轉(zhuǎn)動(dòng)。 電動(dòng)機(jī) 很多種電動(dòng)機(jī)向機(jī)器人提供能源,讓它們用不同的編程動(dòng)作搬運(yùn)材料、零件、工具或?qū)S迷O(shè)備。電動(dòng)機(jī)的效率等級(jí)表明多少消耗的電量轉(zhuǎn)化成機(jī)械能。讓我們看看現(xiàn)代機(jī)器人技術(shù)中目前被使用的一些機(jī)械設(shè)備。 直流電機(jī): 永久磁鐵,直流(Permanent-magnet,direct-current,PMDC)電機(jī)只需要兩根導(dǎo)線,使用固定磁鐵、電磁鐵(定子和轉(zhuǎn)子)和開關(guān)。這些組成一個(gè)換向器來(lái)通過(guò)旋轉(zhuǎn)的磁場(chǎng)產(chǎn)生運(yùn)動(dòng)。 交流電機(jī) 交流電機(jī)在輸入導(dǎo)線循環(huán)能源,連續(xù)地運(yùn)動(dòng)磁場(chǎng)。直流電機(jī)和交流電機(jī)在收到一個(gè)信號(hào)時(shí)會(huì)全速運(yùn)轉(zhuǎn)。 步進(jìn)電機(jī) 步進(jìn)電機(jī)就像沒(méi)有電刷的直流或交流電機(jī)。它通過(guò)按順序(步進(jìn)地)向電動(dòng)機(jī)中不同的磁鐵提供能源使其運(yùn)轉(zhuǎn)。步進(jìn)電機(jī)設(shè)計(jì)的目的是更好的控制,它不會(huì)只在命令時(shí)旋轉(zhuǎn),還能夠以任意的“步/每秒”(最高到它的最大速度)的速度旋轉(zhuǎn)。 伺服電動(dòng)機(jī) 伺服電動(dòng)機(jī)是閉合線圈設(shè)備。在收到信號(hào)時(shí),它可以自我調(diào)整直到與該信號(hào)匹配。伺服電動(dòng)機(jī)用于無(wú)線電控制的飛機(jī)和汽車。它是有傳動(dòng)裝置和反饋控制系統(tǒng)的簡(jiǎn)單的直流電動(dòng)機(jī)。 驅(qū)動(dòng)機(jī)制 齒輪和鏈條: 齒輪和鏈條是機(jī)械平臺(tái),它提供了一種向另一個(gè)地方傳送轉(zhuǎn)動(dòng)動(dòng)作的強(qiáng)大而精確的途徑(可能在傳送的時(shí)候改變了動(dòng)作)。兩個(gè)齒輪之間速度的改變?nèi)Q于每個(gè)齒輪上齒的數(shù)目。當(dāng)加電的齒輪旋轉(zhuǎn)一周時(shí),它根據(jù)齒輪上的齒數(shù)來(lái)拉動(dòng)鏈條。 滑輪和皮帶: 滑輪和皮帶是機(jī)器人所使用的兩種另外的機(jī)械平臺(tái),工作的方式與齒輪和鏈條一樣。滑輪是輪緣有凹槽的輪子,皮帶是可以放進(jìn)這個(gè)凹槽的橡皮圈。 變速箱: 變速箱運(yùn)轉(zhuǎn)的原理與齒輪和鏈條一樣,不過(guò)沒(méi)有鏈條。變速箱需要更精密的公差配合,因?yàn)椴皇鞘褂靡粭l又大又松的鏈條來(lái)傳送力量,也不用調(diào)整錯(cuò)位,齒輪之間直接和對(duì)方嚙合。變速箱的示例可以在汽車的傳動(dòng)裝置、落地大座鐘的定時(shí)機(jī)制和打印機(jī)的送紙裝置中找到。 電源 電源一般通過(guò)兩種電池提供。一次電池使用過(guò)一次就被丟棄;二次電池以一種(通常是)可逆的化學(xué)反應(yīng)工作,可以多次充電。一次電池有較高的容量和較低的自放電率。二次(可充電)電池比一次電池電量小,但可以重復(fù)充電,按化學(xué)反應(yīng)和環(huán)境的不同可以多達(dá)一千次。一般可充電電池第一次使用可以為電器或機(jī)器人提供 4 小時(shí)連續(xù)工作的能源。 理論上機(jī)器人可以使用幾百種不同類型和形式的電池。電池按化學(xué)反應(yīng)和規(guī)格分類,按電壓和電量分級(jí)。電池的電壓由電池的化學(xué)反應(yīng)決定,容量由化學(xué)反應(yīng)和規(guī)格兩者共同決定。請(qǐng)參閱表 1 了解電池規(guī)格。 表 1. 電源
機(jī)器人平臺(tái)靠?jī)山M獨(dú)立的電池運(yùn)行,它們共享一根地線。這樣,電動(dòng)機(jī)可以用一組電池,而電子設(shè)備可以用另一組電池。電子設(shè)備和電動(dòng)機(jī)還可以在不同的電壓下工作。 電子控制 機(jī)器人中有兩個(gè)主要的硬件平臺(tái)。非調(diào)節(jié)電壓、電力和反電動(dòng)勢(shì)峰的機(jī)械平臺(tái)以及干凈電源和 5 伏信號(hào)的電子平臺(tái)。這兩個(gè)平臺(tái)需要順序橋接,目的是讓數(shù)字邏輯控制機(jī)械系統(tǒng)。經(jīng)典的組件是橋式繼電器。一個(gè)控制信號(hào)在繼電器的線圈產(chǎn)生磁場(chǎng),物理地閉合開關(guān)。例如 MOSFET,它是高效率的硅開關(guān),有很多種規(guī)格,象晶體管一樣可以作為固態(tài)繼電器控制機(jī)械系統(tǒng)。 另一方面,更大的機(jī)器人可能需要 PMDC 電動(dòng)機(jī),這樣 MOSFET 的“接通”電阻 Rd(on)會(huì)導(dǎo)致芯片熱量的極大散發(fā),從而顯著地降低芯片的發(fā)熱溫度。MOSFET 中結(jié)點(diǎn)的溫度、MOSFET 封裝和散熱片的傳導(dǎo)系數(shù)是 PMDC 電動(dòng)機(jī)的其它重要的特征。 晶體管廣義地分為兩種:雙極結(jié)晶體管(bipolar junction transistors,BJT)和場(chǎng)效應(yīng)晶體管(field-effect transistors,F(xiàn)ET)。在 BJT 器件中,基極小的電流調(diào)節(jié)發(fā)射極和接收極之間大得多的電流。在 FET 器件中,柵極電場(chǎng)的存在會(huì)調(diào)節(jié)源極和漏極之間的電流。 傳感器 機(jī)器人根據(jù)瞬間測(cè)量作出反應(yīng),這需要不同種類的傳感器。 多數(shù)系統(tǒng)中對(duì)時(shí)間的感知是通過(guò)電路和編程中內(nèi)建的。要想在實(shí)際中讓這個(gè)具有生產(chǎn)性,機(jī)器人必須有感知硬件和軟件,還要能快速地更新。不管傳感器硬件或軟件如何,感知和傳感器可以被當(dāng)作與外部事件交互(換句話說(shuō)就是外部世界)。傳感器測(cè)量世界的某個(gè)屬性。變換器(transducer)一詞經(jīng)常與傳感器一詞交替使用。交換器是傳感器的機(jī)制或元素,它將測(cè)量到的能源轉(zhuǎn)換成另一種形式的能源。傳感器接收能源并傳送一個(gè)信號(hào)到顯示器或計(jì)算機(jī)。傳感器使用變換器將輸入的信號(hào)(聲音、光線、壓力、溫度等)改變成機(jī)器人可以使用的模擬或數(shù)字形式。 邏輯傳感器: 傳感器的一個(gè)強(qiáng)大的抽象是邏輯傳感器,它是提供一個(gè)對(duì)象的傳感單元或模塊。它包括物理傳感器的信號(hào)處理和提取感知所需的軟件處理。 本體感受傳感器: 本體感受是航位推測(cè)法,機(jī)器人可以測(cè)量來(lái)自本身的信號(hào)。 接近傳感器: 接近傳感器測(cè)量環(huán)境中傳感器和對(duì)象之間相對(duì)的距離。 紅外線(IR)傳感器: 另一種活動(dòng)的接近傳感器是紅外線傳感器。它發(fā)出接近紅外線的能量并測(cè)量有沒(méi)有相當(dāng)多的紅外線返回。 碰撞和觸角傳感器: 另一類常見(jiàn)的機(jī)器人感知是觸覺(jué)的,或基于觸摸的,用碰撞和觸角來(lái)完成。觸角和觸須由牢固的電線構(gòu)成。碰撞傳感器通常是機(jī)器人上一個(gè)突出的環(huán),包括兩層。 微控制器系統(tǒng) 微控制器(Microcontrollers,MCU)是機(jī)器人內(nèi)部使用的智能電子設(shè)備。它提供的功能類似于個(gè)人電腦內(nèi)部的微處理器(中央處理單元或 CPU)所執(zhí)行的功能。MCU 速度較慢,使用的內(nèi)存比 CPU 少,設(shè)計(jì)目的是現(xiàn)實(shí)世界的控制問(wèn)題。CPU 和 MCU 之間的一個(gè)主要區(qū)別是運(yùn)行所需的外部組件的數(shù)目。MCU 經(jīng)常可以不需要外部部件就能運(yùn)行,一般只需要一個(gè)外部晶體或振蕩器。 微控制器有四個(gè)基本方面:速度、容量、存儲(chǔ)器和其它。速度以時(shí)鐘周期指定,通常以每秒百萬(wàn)個(gè)周期(兆赫茲(Megahertz,MHz)計(jì)量。周期的使用根據(jù)不同的 MCU 而不同,這影響到處理器的可用速度。容量指定 MCU 可以一步處理的信息的字節(jié)數(shù) - 它自然的信息簇。MCU 有 4 位、8 位、16 位和 32 位的,8 位的 MCU 是最常見(jiàn)的容量。MCU 在大多數(shù) ROM 中的計(jì)數(shù)單位是千字節(jié)(KB),在 RAM 中是字節(jié)。很多 MCU 使用 Harvard 體系,程序保存在內(nèi)存的一段中(通常是內(nèi)部的或外部的 SRAM)。然后這就能夠讓處理器更有效地訪問(wèn)獨(dú)立的內(nèi)存。 微控制器的第四個(gè)方面就作為“其它”來(lái)講了,它包括諸如專用的輸入設(shè)備的特性,該設(shè)備經(jīng)常(但不總是)有一個(gè)小的 LED 或 LCD 顯示作為輸出。微控制器還從設(shè)備獲取輸入并通過(guò)向設(shè)備中不同組件發(fā)送信號(hào)對(duì)其控制。程序計(jì)數(shù)器也通過(guò)微控制器掌握要執(zhí)行哪條命令。 R/C 伺服電動(dòng)機(jī): 用于無(wú)線電控制模型(汽車、飛機(jī)等)的伺服電動(dòng)機(jī)在很多種較小的機(jī)器人中很有用,因?yàn)樗o湊而且相當(dāng)便宜。伺服電動(dòng)機(jī)本身有內(nèi)建的電動(dòng)機(jī)、變速箱、位置反饋機(jī)制和控制電路。標(biāo)準(zhǔn)的無(wú)線電控制伺服電動(dòng)機(jī)在航模、車模、船模中使用,可用來(lái)制作手臂、腿和其它來(lái)回移動(dòng)而不是轉(zhuǎn)圈的機(jī)械附屬肢體。 氣體力學(xué): 氣體力學(xué)是在大量商業(yè)機(jī)器人中使用的流體動(dòng)力的名稱。氣體力學(xué)還用于多種仿生系統(tǒng),這些系統(tǒng)屬于流體動(dòng)力的范疇。流體動(dòng)力的一個(gè)更廣為人知的分支是水力學(xué)。請(qǐng)?jiān)L問(wèn)氣體力學(xué) Web 站點(diǎn)(請(qǐng)參閱本文后面部分的 參考資料)以了解補(bǔ)充信息。 開放源代碼機(jī)器人控制軟件 開放機(jī)器人控制軟件(Open RObot COntrol Software,OROCOS)是為了開始開放源代碼機(jī)器人控制軟件項(xiàng)目所作的努力。我們開展了廣泛的討論,涉及的問(wèn)題有可以重用其它項(xiàng)目的哪些經(jīng)驗(yàn)代碼和工具,應(yīng)該在項(xiàng)目中集成哪些開放標(biāo)準(zhǔn),還有什么樣的組織結(jié)構(gòu)最適合這個(gè)項(xiàng)目。該項(xiàng)目的目的是按以下要求開發(fā)機(jī)器人控制軟件,如下所示: * 在開放源代碼和/或自由軟件的許可下 * 盡量模塊化 * 質(zhì)量最好(從技術(shù)和軟件工程兩種角度) * 獨(dú)立于(但兼容)商業(yè)機(jī)器人生產(chǎn)廠商 * 用于各類機(jī)器人設(shè)備和計(jì)算機(jī)平臺(tái) * 為所有編程語(yǔ)言本地化 * 以運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)、計(jì)劃、傳感、控制和硬件接口等方面的可配置的軟件組件為特點(diǎn)。 項(xiàng)目的目的不只是要復(fù)制現(xiàn)存的商業(yè)機(jī)器人控制器或機(jī)器人模擬/編程軟件包。OROCOS 項(xiàng)目希望開發(fā)可共享的庫(kù)、獨(dú)立組件(有時(shí)候被稱為軟件代理程序)和一個(gè)可以消除和控制所有分布式機(jī)器人系統(tǒng)的可配置的運(yùn)行時(shí)環(huán)境。這類項(xiàng)目在以下幾種情況有用處: * 重用代碼 * 作為一個(gè)獨(dú)立的子系統(tǒng)使用 * 復(fù)制其組織結(jié)構(gòu) * 從管理一個(gè)開放源代碼項(xiàng)目的經(jīng)驗(yàn)中學(xué)習(xí) * 設(shè)計(jì)和開發(fā)可擴(kuò)展和可重用的軟件 開放源代碼矩陣庫(kù) 下面是滿足上面提到的要求的開放源代碼矩陣庫(kù)。我們推薦 Octave,因?yàn)樗?GPL 許可的,而且實(shí)現(xiàn)了所有需要的功能。 GNU Octave: GNU Octave 是一種高級(jí)語(yǔ)言,主要用于數(shù)字運(yùn)算。它提供了一種方便的命令行界面,可以數(shù)字化地解決線性和非線性問(wèn)題,也可以使用一種與 Matlab 基本上兼容的語(yǔ)言執(zhí)行其它數(shù)字實(shí)驗(yàn)。通過(guò) Octave 自己的語(yǔ)言編寫的用戶定義函數(shù)或使用 C++、C、Fortran 或其它語(yǔ)言編寫的動(dòng)態(tài)載入的模塊,它很容易擴(kuò)展和定制。 GNU Octave 是免費(fèi)分發(fā)的軟件。您可以重新分發(fā)它,或是修改它,但要符合自由軟件基金(Free Software Foundation)頒布的 GNU 通用公共許可(General Public License,GPL)條款。關(guān)于 GNU Octave 更詳細(xì)的信息可以在訪問(wèn) Octave Web 站點(diǎn)時(shí)找到(請(qǐng)參閱 參考資料)。 GSL(GNU 科學(xué)庫(kù)) GSL 是為數(shù)字運(yùn)算開發(fā)一個(gè)現(xiàn)代的廣泛 ANSI C 語(yǔ)言庫(kù)正在進(jìn)行的努力。GNU 科學(xué)庫(kù)(GNU ScientificLibrary,GSL)收集了數(shù)字運(yùn)算的例程。這些例程由 GSL 小組用 ANSI C 語(yǔ)言從頭編寫,旨在為 C 語(yǔ)言程序員提供一種現(xiàn)代應(yīng)用程序編程接口(Applications Programming Interface,API),同時(shí)允許包裝器為很高級(jí)的語(yǔ)言編寫。 GSL 是自由軟件。它遵照 GNU 通用公共許可分發(fā)。請(qǐng)?jiān)L問(wèn) Red Hat Web 站點(diǎn)(請(qǐng)參閱 參考資料)以了解更多關(guān)于 GSL 的信息。 實(shí)時(shí)內(nèi)核 實(shí)時(shí) Linux(Real-Time Linux,RTLinux) RTLinux(TM)是一個(gè)可靠的實(shí)時(shí)操作系統(tǒng),處理對(duì)時(shí)間關(guān)鍵的任務(wù),并將 Linux 作為最低優(yōu)先權(quán)執(zhí)行線程運(yùn)行。在 RTLinux 中,內(nèi)核與標(biāo)準(zhǔn) Linux 共享一個(gè)或更多的處理器。這使系統(tǒng)能夠運(yùn)行執(zhí)行數(shù)據(jù)采集的、系統(tǒng)控制和機(jī)器人技術(shù)的精確計(jì)時(shí)的應(yīng)用程序,同時(shí)作為標(biāo)準(zhǔn)的 Linux 工作站提供服務(wù)。在 ftp.rtlinux.com(請(qǐng)參閱 參考資料)Web 站點(diǎn)上可以獲得版本 3.0(最終版本)。 RTLinux.org 是開放源代碼用戶和開發(fā)人員社區(qū)的非商業(yè) RTLinux 站點(diǎn)。其姐妹站點(diǎn) RTLinux.com(請(qǐng)參閱 參考資料)討論商業(yè)支持和開發(fā)。 eCos(嵌入式可配置操作系統(tǒng)): eCos 是一個(gè)深度嵌入應(yīng)用程序的開放源代碼實(shí)時(shí)操作系統(tǒng)。它符合 Linux 不能達(dá)到的嵌入空間需求。在考慮應(yīng)用程序和服務(wù)需求之前,Linux 目前內(nèi)核最小約 500 千字節(jié),占用 1.5 MB 內(nèi)存。eCos 開放源代碼項(xiàng)目可以在它的 Web 站點(diǎn)上找到(請(qǐng)參閱 參考資料)。 RTEMS(GPL 許可): RTEMS 是 C、C++ 和 Ada95 的開放源代碼實(shí)時(shí)操作系統(tǒng)和環(huán)境。它遵從 GNU 通用公共許可的條款分發(fā)。 請(qǐng)?jiān)L問(wèn) RTEMS 站點(diǎn)(請(qǐng)參閱 參考資料)以下載和獲取更多關(guān)于 RTEMS 的詳細(xì)信息。 實(shí)用程序和工具 ROBOOP(一個(gè)機(jī)器人技術(shù)面向?qū)ο?C++ 軟件包): 本軟件包是一個(gè)關(guān)于機(jī)器人模擬的面向?qū)ο?C++ 軟件包。技術(shù)參考和下載在 參考資料中提供。 CORBA: 用于嵌入分布式軟件代理的實(shí)時(shí)通信和對(duì)象請(qǐng)求中介程序軟件包。每個(gè)獨(dú)立的軟件部分通過(guò) IDL(Interface Definition Language,接口定義語(yǔ)言)的方式向 ORB 注冊(cè)它本身及其功能。請(qǐng)?jiān)L問(wèn)其 Web 站點(diǎn)(請(qǐng)參閱 參考資料)以獲得 COBRA 技術(shù)信息、下載和文檔。 TANGO/TACO: 這個(gè)軟件對(duì)控制多設(shè)備和多工具的機(jī)器人系統(tǒng)也許有用。TANGO 是一個(gè)基于 COBRA 的面向?qū)ο罂刂葡到y(tǒng)。設(shè)備服務(wù)程序可以用 C++ 或 Java 編寫。TACO 是面向?qū)ο蟮模驗(yàn)樗鼘?所有 (物理的和邏輯的)控制系統(tǒng)中的控制點(diǎn)作為分布式環(huán)境中的對(duì)象來(lái)對(duì)待。所有行動(dòng)都以類來(lái)實(shí)現(xiàn)。新的類可以以一種分級(jí)的方式從現(xiàn)存的類構(gòu)建,這樣可以確保高度的軟件重用。類可以用 C++、用 C(使用一種稱為 C 中的對(duì)象的方法)、用 Python 或用 LabView(使用 G 編程語(yǔ)言)編寫。 TACO 設(shè)計(jì)成可移植的,并能夠在許多平臺(tái)(例如 Linux、Solaris、HP-UX、Windows/NT、Windows/95 和 OS9)上運(yùn)行。要下載源代碼和其它技術(shù)文檔,請(qǐng)?jiān)L問(wèn)其 Web 站點(diǎn)(請(qǐng)參閱 參考資料)。 控制器 任務(wù)控制體系: 任務(wù)控制體系(Task Control Architecture,TCA)為移動(dòng)機(jī)器人簡(jiǎn)化了任務(wù)級(jí)控制系統(tǒng)的建立。“任務(wù)級(jí)別”指的是完成給定的一套目標(biāo)(任務(wù))的感知、計(jì)劃和實(shí)時(shí)控制的集成和協(xié)調(diào)。TCA 提供了一個(gè)通用的控制框架,旨在控制多種機(jī)器人。TCA 提供了一種高級(jí)的獨(dú)立于機(jī)器的方法,可以在分布式機(jī)器之間發(fā)送消息(包括在 Lisp 和 C 進(jìn)程之間)。TCA 提供了控制功能,如任務(wù)分解、監(jiān)控和資源管理,這些對(duì)很多移動(dòng)機(jī)器人應(yīng)用程序來(lái)說(shuō)是很常見(jiàn)的。 參考資料一節(jié)提供了任務(wù)控制體系的技術(shù)參考和下載信息。 EMC(增強(qiáng)的機(jī)器控制器): EMC 軟件建立在 NIST 實(shí)時(shí)控制系統(tǒng)(Real time Control System,RCS)方法的基礎(chǔ)之上,使用 NIST RCS 庫(kù)編程。RCS 庫(kù)使向多種 UNIX 和微軟的平臺(tái)移植變得容易,它向操作系統(tǒng)資源提供了一種中性的應(yīng)用程序編程接口(application programming interface,API),如共享的內(nèi)存、信號(hào)量和計(jì)時(shí)器。EMC 軟件用 C 和 C++ 編寫,而且已經(jīng)被移植到 PC Linux、Windows NT 和 Sun 的 Solaris 操作系統(tǒng)上。 Darwin2K: Darwin2K 是一個(gè)免費(fèi)的機(jī)器人模擬和自動(dòng)化設(shè)計(jì)開放源代碼工具包。它的特性是眾多的模擬功能和一個(gè)改良的運(yùn)算法則,該法則能夠自動(dòng)地綜合和優(yōu)化機(jī)器人設(shè)計(jì),使其符合任務(wù)特定的性能目標(biāo)。 語(yǔ)言 RoboML(機(jī)器人標(biāo)記語(yǔ)言): RoboML 用于與機(jī)器人技術(shù)相關(guān)的數(shù)據(jù)的標(biāo)準(zhǔn)化表達(dá)。其設(shè)計(jì)的意圖是既支持機(jī)器人為主的進(jìn)程之間和接口進(jìn)程之間的通信語(yǔ)言,也支持人- 機(jī)器人接口代理之間的通信語(yǔ)言,并提供了一種人 -機(jī)器人接口代理使用的歸檔數(shù)據(jù)的格式。 ROSSUM: 一種移動(dòng)機(jī)器人的編程和模擬環(huán)境。Rossum 項(xiàng)目試圖幫助收集、開發(fā)和分發(fā)機(jī)器人應(yīng)用程序軟件。Rossum 項(xiàng)目希望將類似的協(xié)作擴(kuò)展到機(jī)器人軟件的開發(fā)。 XRCL(可擴(kuò)展機(jī)器人控制語(yǔ)言,Extensible Robot Control Language): XRCL(發(fā)音為 zircle)是個(gè)相對(duì)簡(jiǎn)單、現(xiàn)代的編程語(yǔ)言和環(huán)境,設(shè)計(jì)成讓機(jī)器人技術(shù)研究人員可以通過(guò)共享代碼來(lái)共享他們的想法。它是一個(gè)開放源代碼項(xiàng)目,受 GNU Copyleft 的保護(hù)。 自動(dòng)化系統(tǒng)內(nèi)部控制的開放系統(tǒng)體系(Open System Architecture for Controls within Automation Systems,OSACA): OSACA 是一個(gè)合作的歐洲項(xiàng)目,旨在增進(jìn)機(jī)器工具和控制系統(tǒng)生產(chǎn)廠商在世界市場(chǎng)中的競(jìng)爭(zhēng)性。項(xiàng)目的主要目標(biāo)是規(guī)定獨(dú)立于生產(chǎn)廠商的開放控制系統(tǒng)的系統(tǒng)體系。 總結(jié) 機(jī)器人技術(shù)領(lǐng)域已經(jīng)創(chuàng)造了很多種具有基本的物理和導(dǎo)航功能的機(jī)器人。同時(shí),社會(huì)發(fā)展的趨勢(shì)也開始成為將機(jī)器人結(jié)合到從娛樂(lè)到衛(wèi)生保健的日常生活中。而且,機(jī)器人可以將很多人從危險(xiǎn)的情況中解脫出來(lái),本質(zhì)上就是讓機(jī)器人作為人類的替代品來(lái)使用。AI 機(jī)器人技術(shù)研究人員所研究的很多應(yīng)用程序已經(jīng)開始實(shí)現(xiàn)這種可能了。另外,機(jī)器人還可以用于更普通的工作,如看門工作。然而機(jī)器人最初是開發(fā)用于骯臟、枯燥和危險(xiǎn)的應(yīng)用程序,現(xiàn)在它們已經(jīng)被看作是人類的助手了。不管是什么應(yīng)用程序,隨著未來(lái)科技發(fā)展到一個(gè)新的境界,機(jī)器人將會(huì)需要更多而不是更少的智慧,從而會(huì)對(duì)我們的社會(huì)形成巨大的影響。 參考資料 * Edwin Wise(Howard W. Sams,2000)的 應(yīng)用機(jī)器人技術(shù)提供了一個(gè)對(duì)機(jī)器人技術(shù)領(lǐng)域的面向項(xiàng)目的介紹。它指導(dǎo)新手迎接建造一個(gè)工作的機(jī)器人的挑戰(zhàn),并向高級(jí)建造者提供新的想法和技術(shù)。 * CORBA 是一個(gè)實(shí)時(shí)通訊和嵌入式軟件代理的對(duì)象請(qǐng)求中間人軟件包。 * Darwin2K 是一個(gè)免費(fèi)的機(jī)器人模擬和自動(dòng)化設(shè)計(jì)開放源代碼工具包。 * eCos 是嵌入式可配置操作系統(tǒng),一個(gè)深度嵌入應(yīng)用程序的開放源代碼實(shí)時(shí)操作系統(tǒng)。 * EMC(增強(qiáng)的機(jī)器控制器)軟件建立在 NIST 實(shí)時(shí)控制系統(tǒng)(Real time Control System,RCS)方法的基礎(chǔ)之上,使用 NIST RCS 庫(kù)編程。 * GNU Octave 是一種高級(jí)語(yǔ)言,主要用于數(shù)字運(yùn)算。 * GSL(GNU 科學(xué)庫(kù))是開發(fā)一種現(xiàn)代、廣泛的 ANSI C 語(yǔ)言庫(kù)以用于數(shù)字運(yùn)算所作的不間斷的努力。 * Robin R. Murphy(Massachusetts Institute of Technology-MIT,2000)的 介紹人工智能機(jī)器人技術(shù)旨在包含所有為人工智能機(jī)器人編程的主題,機(jī)器人的應(yīng)用包括傳感、導(dǎo)航、路徑計(jì)劃和對(duì)非確定事物的導(dǎo)航。 * Orocos(開放機(jī)器人控制介紹)是開始開放源代碼機(jī)器人控制軟件項(xiàng)目的一個(gè)努力。該項(xiàng)目的第一階段(到 2001 年 9 月為止)開發(fā)了一個(gè)戰(zhàn)略性的景象,作出了高級(jí)設(shè)計(jì)決策并制定了庫(kù)規(guī)范的原型。從那時(shí)起,Orocos 將受到歐盟的一個(gè)授權(quán)的部分支持。 * OSACA 是自動(dòng)化系統(tǒng)內(nèi)部控制的開放系統(tǒng)體系。 * 氣體力學(xué)是在很多商業(yè)機(jī)器人中使用的流體動(dòng)力的名稱。 * roboML(機(jī)器人標(biāo)記語(yǔ)言,RoboticMarkup Language)用于與機(jī)器人技術(shù)有關(guān)的數(shù)據(jù)的標(biāo)準(zhǔn)化表達(dá)。 * ROBOOP 是一個(gè)機(jī)器人技術(shù)面向?qū)ο蟮?C++ 軟件包。 * Rossum 項(xiàng)目試圖幫助收集、開發(fā)和分發(fā)機(jī)器人應(yīng)用程序軟件。 * RTEMS 是 C、C++ 和 Ada95 的開放源代碼實(shí)時(shí)操作系統(tǒng)和環(huán)境。 * RTLinux 是一個(gè)硬實(shí)時(shí)操作系統(tǒng),處理對(duì)時(shí)間關(guān)鍵的任務(wù),并將Linux 作為最低優(yōu)先權(quán)執(zhí)行線程運(yùn)行。還可以獲得 商業(yè)支持和開發(fā)。 * TACO 將 所有 (物理的和邏輯的)控制系統(tǒng)中的控制點(diǎn)作為分布式環(huán)境中的對(duì)象對(duì)待。 * TCA(任務(wù)控制體系)為移動(dòng)機(jī)器人簡(jiǎn)化了任務(wù)級(jí)控制系統(tǒng)的建立。 * XRCL(發(fā)音為 zircle)是可擴(kuò)展的機(jī)器人控制語(yǔ)言。 * 瀏覽 developerWorks上 更多 Linux 參考資料。 * 瀏覽 developerWorks上 更多開放源代碼參考資料。 關(guān)于作者 Darrick Addison 是 ASC Technologies Inc. 的高級(jí)軟件工程師/顧問(wèn)。他從 1993 年就開始設(shè)計(jì)和開發(fā)自定義軟件應(yīng)用程序了。他致力設(shè)計(jì)和開發(fā)的軟件各種各樣,有數(shù)據(jù)庫(kù)應(yīng)用程序、網(wǎng)絡(luò)應(yīng)用程序(TCP/IP 客戶機(jī)/服務(wù)器)、GUI 應(yīng)用程序,還有不同商業(yè)和政府環(huán)境的嵌入式系統(tǒng)。現(xiàn)在他持有計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,并正在 Johns Hopkins University 完成他的計(jì)算機(jī)科學(xué)/通信碩士學(xué)位。您可以通過(guò) dtadd95@bellatlantic.net 聯(lián)系 Darrick。他會(huì)歡迎您的意見(jiàn)和問(wèn)題。 來(lái)源:IBM公司,2001 年 9 月 01 日 |