引言
1956年,,恩格伯格和喬治迪沃爾發(fā)明了第一個(gè)真正意義上的機(jī)器人,Unimate,,可以執(zhí)行存儲(chǔ)在磁鼓存儲(chǔ)器中的系統(tǒng)任務(wù),。到1961年,,Unimate已經(jīng)被成功應(yīng)用于壓鑄件的運(yùn)輸和焊接,傳統(tǒng)上這樣的工作由工人擔(dān)任——冒著因排出氣體中毒或喪失肢體的風(fēng)險(xiǎn),。 Unimate是機(jī)器人用于危險(xiǎn)任務(wù)場(chǎng)合的早期例子,,如今,機(jī)器人系統(tǒng)已經(jīng)被廣泛應(yīng)用于工業(yè),、農(nóng)業(yè),、軍事、航空航天,、教育等各個(gè)領(lǐng)域,。
機(jī)器人分類(lèi)復(fù)雜且關(guān)鍵技術(shù)眾多,從廣義范疇上說(shuō),,通常所說(shuō)的機(jī)器人主要包括教育機(jī)器人,、移動(dòng)機(jī)器人、工業(yè)機(jī)械臂三大類(lèi),。機(jī)械臂發(fā)展時(shí)間早,,產(chǎn)業(yè)化程度高,相對(duì)已經(jīng)有了成熟的行業(yè)解決方案,,特別在汽車(chē)制造等領(lǐng)域,機(jī)械臂已被廣泛的運(yùn)用于產(chǎn)線裝配,。移動(dòng)機(jī)器人構(gòu)成復(fù)雜,、應(yīng)用靈活,目前商業(yè)化程度還不高,,相對(duì)處于前沿研究的階段,,因此一直以來(lái)都是科學(xué)家和工程師們關(guān)注的重點(diǎn)。 本文將主要探討移動(dòng)機(jī)器人及無(wú)人駕駛車(chē)的研究和開(kāi)發(fā),。
圖1 機(jī)器人系統(tǒng)的分類(lèi)
盡管移動(dòng)機(jī)器人構(gòu)成復(fù)雜且關(guān)鍵技術(shù)眾多,,但具有某些共同的構(gòu)架和組成部分,是一個(gè)融合了眾多機(jī)電系統(tǒng)和子系統(tǒng)的綜合體系,,并通過(guò)這些組成部分與子系統(tǒng)的有機(jī)結(jié)合協(xié)調(diào)工作,,雖然部分子系統(tǒng)已有現(xiàn)成的軟硬件工具和解決方案,但如何快速地把各子系統(tǒng)集成在一起,、進(jìn)行早期的整體功能性驗(yàn)證,,就成了決定機(jī)器人設(shè)計(jì)成敗的關(guān)鍵性環(huán)節(jié)。
圖形化系統(tǒng)設(shè)計(jì)——機(jī)器人設(shè)計(jì)的前沿方法
在Google X PRIZE機(jī)構(gòu)、FIRST組織(科學(xué)技術(shù)的啟示與認(rèn)知組織),、RoboCup以及美國(guó)國(guó)防高級(jí)研究計(jì)劃局(DARPA)之間展開(kāi)的競(jìng)爭(zhēng)推進(jìn)了機(jī)器人學(xué)領(lǐng)域的創(chuàng)新,。富有創(chuàng)新思維的開(kāi)發(fā)者們將機(jī)器人學(xué)的前沿方法推進(jìn)到了圖形化系統(tǒng)設(shè)計(jì)。在LabVIEW圖形化編程平臺(tái)下,,機(jī)器人學(xué)的領(lǐng)域?qū)<夷軌驅(qū)?fù)雜的機(jī)器人方案進(jìn)行快速的原型設(shè)計(jì),。這些創(chuàng)新工作者能夠不用關(guān)心底層的實(shí)現(xiàn)細(xì)節(jié),可以將注意力集中到解決手上的工程問(wèn)題中去,。
機(jī)器人設(shè)計(jì)通常包含以下部分的工作內(nèi)容,,如圖2所示:
感知系統(tǒng)-連接到陀螺儀、CCD,、光電,、超聲等傳感器,獲取并處理信息
決策規(guī)劃-相當(dāng)于機(jī)器人的‘大腦’,,根據(jù)算法進(jìn)行控制決策,,完成管理協(xié)調(diào)、信息處理,、運(yùn)動(dòng)規(guī)劃等任務(wù)
執(zhí)行控制-根據(jù)具體的作業(yè)指令,,通過(guò)驅(qū)動(dòng)控制器、編碼器和電機(jī)完成機(jī)器人的伺服控制與運(yùn)動(dòng)執(zhí)行
網(wǎng)絡(luò)通訊與控制-機(jī)器人各子系統(tǒng)間的通訊網(wǎng)絡(luò),,完成分布式控制與實(shí)時(shí)控制
過(guò)去,,由于在每個(gè)領(lǐng)域中必須使用各自的傳統(tǒng)工具,其中涉及的知識(shí)具有較大的縱向深度,,機(jī)械工程師,、電氣工程師以及程序員團(tuán)隊(duì)都各自領(lǐng)導(dǎo)機(jī)器人學(xué)的開(kāi)發(fā)。LabVIEW和NI硬件提供了一個(gè)獨(dú)特的,、功能多樣的平臺(tái),,它提供了一套標(biāo)準(zhǔn)的可供所有機(jī)器人設(shè)計(jì)人員使用的工具,從而使機(jī)器人開(kāi)發(fā)得到了統(tǒng)一,。
來(lái)自弗吉尼亞理工大學(xué)機(jī)器人學(xué)與機(jī)械實(shí)驗(yàn)室(RoMeLa)的工科學(xué)生,,在Dennis Hong教授的領(lǐng)導(dǎo)下正在進(jìn)行智能動(dòng)態(tài)擬人機(jī)器人(DARwin)的雙足類(lèi)人機(jī)器人的開(kāi)發(fā)和研究,目的是對(duì)假肢進(jìn)行研究和開(kāi)發(fā),。DARwin使用NI LabVIEW圖形化系統(tǒng)設(shè)計(jì)平臺(tái),,能夠?qū)崿F(xiàn)全范圍運(yùn)動(dòng),并且能夠準(zhǔn)確地模擬人類(lèi)運(yùn)動(dòng),。學(xué)生使用LabVIEW分析動(dòng)態(tài)雙足運(yùn)動(dòng),、設(shè)計(jì)并開(kāi)發(fā)機(jī)器人控制系統(tǒng)的原型。如果開(kāi)發(fā)的原型能夠令人滿意地工作,,他們就將控制算法部署到運(yùn)行LabVIEW實(shí)時(shí)模塊的PC/104單板計(jì)算機(jī)上,。
通過(guò)LabVIEW,,設(shè)計(jì)人員無(wú)需成為計(jì)算機(jī)專(zhuān)家或程序員,就可以開(kāi)發(fā)高級(jí)機(jī)器人,。例如,,一位只有有限LabVIEW和機(jī)器視覺(jué)經(jīng)驗(yàn)的學(xué)生在短短幾個(gè)小時(shí)之內(nèi),就設(shè)計(jì)了一個(gè)讓機(jī)器人利用它帶有的IEEE 1394相機(jī)和NI機(jī)器視覺(jué)開(kāi)發(fā)模塊跟蹤一個(gè)紅球的算法,。工程師們使用LabVIEW和NI硬件,,就可以使用功能強(qiáng)大的圖形化編程語(yǔ)言快速地設(shè)計(jì)并開(kāi)發(fā)復(fù)雜算法的原型;并通過(guò)代碼生成方便地將控制算法部署到PC,、FPGA,、微控制器或?qū)崟r(shí)系統(tǒng)之中;還可以與幾乎所有的傳感器,、執(zhí)行器進(jìn)行連接,。此外,通過(guò)LabVIEW和NI硬件平臺(tái),,可以支持CAN,、以太網(wǎng)、串口,、USB等多種接口,,方便地構(gòu)建機(jī)器人系統(tǒng)的通訊網(wǎng)絡(luò)。現(xiàn)在,,領(lǐng)域?qū)<也粌H僅能夠完成機(jī)械工程師的工作,,還能夠成為機(jī)器人設(shè)計(jì)者。
實(shí)例分析1:南洋理工大學(xué)使用NI LabVIEW設(shè)計(jì)救生機(jī)器人蜘蛛
南洋理工大學(xué)開(kāi)發(fā)了一個(gè)用于支持營(yíng)救工作的六足機(jī)器人蜘蛛,。它是一個(gè)尺寸較小,、可移動(dòng)的智能機(jī)器人,在搜尋被陷的受害者時(shí),,它可以越過(guò)障礙并到達(dá)通常難以觸及的地方,。替代如清掃雷區(qū)使之無(wú)雷化等危險(xiǎn)任務(wù)中的工作人員也是機(jī)器人蜘蛛的另一個(gè)潛在應(yīng)用領(lǐng)域。
他們?cè)O(shè)計(jì)了一個(gè)高度可移動(dòng)的行走方案,,它由六只獨(dú)立的下肢組成,可以任意方向移動(dòng)機(jī)器人,,即使在機(jī)器人移動(dòng)通常不可行或過(guò)于危險(xiǎn)的地帶,。行走與旋轉(zhuǎn)均屬于模仿六足昆蟲(chóng)而得的基本的高層次運(yùn)動(dòng)模式。通過(guò)三條下肢移動(dòng)而另外三條下肢抬高,,機(jī)器人可以達(dá)到期望的行走速度,,并提供惡劣地帶所需的足夠平衡。爬行時(shí),,機(jī)器人可以擠壓通過(guò)緊湊的空間和狹縫,。單下肢的低層次運(yùn)動(dòng)步態(tài)是3D空間內(nèi)的幾何原語(yǔ),,如長(zhǎng)方形或圓形軌道。
圖3 基于NI LabVIEW設(shè)計(jì)的救生機(jī)器人蜘蛛
1,、24個(gè)自由度的多功能機(jī)電系統(tǒng)及智能運(yùn)動(dòng)控制
下肢結(jié)構(gòu)與運(yùn)動(dòng)控制構(gòu)成了機(jī)器人蜘蛛關(guān)鍵特性的一部分,。24只智能DC有刷電機(jī)共同驅(qū)動(dòng)這些下肢,并充當(dāng)行走結(jié)構(gòu)中不可或缺的關(guān)節(jié),。這樣得到了一個(gè)堅(jiān)固的輕型結(jié)構(gòu),,從而降低了功耗并改善了運(yùn)動(dòng)動(dòng)態(tài)特性。
除了這些下肢,,機(jī)器人蜘蛛的特性還在于典型的自主機(jī)器人子系統(tǒng),,其中包括機(jī)器視覺(jué)、遠(yuǎn)程測(cè)量和無(wú)線通信,。機(jī)器人堅(jiān)固的殼體內(nèi)包含有嵌入式硬件,、兩節(jié)7.2伏的鋰聚合物電池和電量測(cè)量裝置。任務(wù)參數(shù),、I/O設(shè)置和新的運(yùn)動(dòng)步態(tài)均可以通過(guò)無(wú)線通信或可移動(dòng)存儲(chǔ)介質(zhì)傳遞,。
機(jī)器人蜘蛛的低層次運(yùn)動(dòng)有賴于運(yùn)行時(shí)計(jì)算的復(fù)雜數(shù)學(xué)模型。憑借ADI公司的Blackfin處理器的高級(jí)嵌入式計(jì)算能力和LabVIEW的確定性實(shí)時(shí)性能,,機(jī)器人的運(yùn)動(dòng)表現(xiàn)得有力而平穩(wěn),。基于NI LabVIEW嵌入式模塊的程序連續(xù)運(yùn)行一個(gè)逆動(dòng)力學(xué)算法,,算法包含三角函數(shù)和矩陣運(yùn)算,,求解恰當(dāng)?shù)年P(guān)節(jié)角Θ1與Θ2,以沿著3D空間內(nèi)的期望軌線精確移動(dòng)末端執(zhí)行裝置,。
所有六足的關(guān)節(jié)角度的計(jì)算并行完成以確保動(dòng)態(tài)運(yùn)動(dòng),,相應(yīng)地也得到了連續(xù)計(jì)算所得的24個(gè)電機(jī)的設(shè)置點(diǎn)。這些設(shè)置點(diǎn)通過(guò)一個(gè)串行RS485網(wǎng)絡(luò)傳遞至每只電機(jī),,并由分散PD控制器轉(zhuǎn)換為實(shí)際執(zhí)行動(dòng)作,。通過(guò)同樣的網(wǎng)絡(luò),完成所有24只執(zhí)行裝置的位置,、反饋和溫度讀數(shù)的采集,。
2、圖形化的實(shí)時(shí)系統(tǒng)設(shè)計(jì)平臺(tái)
機(jī)器人蜘蛛應(yīng)用軟件是利用面向Blackfin處理器的LabVIEW嵌入式模塊編程實(shí)現(xiàn)的,。LabVIEW為高層次編程,、圖形化調(diào)試、圖形化多任務(wù)處理和確定性的實(shí)時(shí)行為,,提供了一個(gè)理想的嵌入式軟件平臺(tái),。面向?qū)ο蟮脑O(shè)計(jì)模式有助于進(jìn)一步控制圖形化層次上的復(fù)雜度。例如電機(jī)或傳感器等主要對(duì)象,,通過(guò)LabVIEW中表示類(lèi)的功能性全局變量加以抽象,。
主要的應(yīng)用框架由以下多個(gè)任務(wù)組成:
•頂層主循環(huán)對(duì)由一個(gè)經(jīng)典狀態(tài)機(jī)表示的動(dòng)作進(jìn)行規(guī)劃,,而狀態(tài)機(jī)通過(guò)軟件隊(duì)列和同步方法(如信號(hào)量)與其它循環(huán)連接。通信任務(wù)保持一個(gè)與外部世界的無(wú)線數(shù)據(jù)連接,。
•視覺(jué)任務(wù)負(fù)責(zé)低層次的圖像處理和距離讀數(shù),。
•運(yùn)動(dòng)控制任務(wù)管理高層次的運(yùn)動(dòng)模式與低層次的肢體控制,并監(jiān)測(cè)馬達(dá)的位置與狀態(tài),。
•日常任務(wù)充當(dāng)一個(gè)通用錯(cuò)誤處理器,。檢測(cè)事件與異常,并將其及時(shí)間記錄到可移動(dòng)的存儲(chǔ)介質(zhì),,以供后續(xù)讀取,。
通過(guò)采用LabVIEW嵌入式模塊所提供的圖形化編程環(huán)境,以及Blackfin處理器的高處理器性能,,開(kāi)發(fā)周期也大為縮短,。基于LabVIEW的圖形化快速調(diào)試模式在算法的工程實(shí)現(xiàn)過(guò)程中非常有用,,縮短了5倍的開(kāi)發(fā)時(shí)間,。
實(shí)例分析2:弗吉尼亞理工大學(xué)使用NI LabVIEW設(shè)計(jì)全自主地面車(chē)參加DARPA 城市挑戰(zhàn)賽
DARPA城市挑戰(zhàn)賽需要設(shè)計(jì)一輛全自主地面車(chē)能夠在城市環(huán)境中自動(dòng)導(dǎo)航行駛。在整個(gè)賽程中,,全自主車(chē)需要在6小時(shí)內(nèi)穿越60英里,,途經(jīng)道路、路口和停車(chē)場(chǎng)等各種交通狀態(tài),。在比賽開(kāi)始時(shí),,參賽者會(huì)拿到任務(wù)檔案公路網(wǎng)地圖,并指定需要按一定順序訪問(wèn)的檢查站,。車(chē)輛需要考慮所選道路的車(chē)速限制,,可能的道路堵塞,以及其他交通狀況,。車(chē)輛在行駛中必須遵守交通規(guī)則,,在十字路口注意安全駕駛和避讓?zhuān)咨频靥幚砼c其他車(chē)輛之間的互動(dòng),以最高30英里的時(shí)速避讓靜態(tài)和動(dòng)態(tài)的障礙物,。
來(lái)自弗吉尼亞理工大學(xué)的團(tuán)隊(duì)需要在12個(gè)月開(kāi)發(fā)出全自主地面車(chē),,他們將開(kāi)發(fā)任務(wù)分成四個(gè)主要部分:基礎(chǔ)平臺(tái)、感知系統(tǒng),、決策規(guī)劃和通訊架構(gòu),,如圖4所示。每一部分都基于NI的軟硬件平臺(tái)進(jìn)行開(kāi)發(fā):通過(guò)NI硬件與現(xiàn)有車(chē)載系統(tǒng)進(jìn)行交互,,并提供操作接口;使用LabVIEW圖形化編程環(huán)境來(lái)開(kāi)發(fā)系統(tǒng)軟件,,包括通訊架構(gòu),、傳感器處理和目標(biāo)識(shí)別算法,、激光測(cè)距儀和基于視覺(jué)的道路檢測(cè)、駕駛行為控制,、以及底層的車(chē)輛接口,。
圖4 無(wú)人駕駛車(chē)Odin的系統(tǒng)構(gòu)架
他們的參賽車(chē)Odin是2005年福特翼虎(Escape)混合動(dòng)力型越野車(chē),并為自主駕駛做了一定程度的改裝,。NI CompactRIO系統(tǒng)與翼虎操控系統(tǒng)進(jìn)行交互,,通過(guò)線控驅(qū)動(dòng)(drive-by-wire)的方式控制油門(mén)、方向盤(pán),、轉(zhuǎn)向和制動(dòng),。學(xué)生們利用LabVIEW控制設(shè)計(jì)與仿真模塊開(kāi)發(fā)了路徑曲率和速度控制系統(tǒng),并通過(guò)LabVIEW實(shí)時(shí)模塊和FPGA模塊部署到CompactRIO硬件平臺(tái)加以實(shí)現(xiàn),,從而建立了一個(gè)獨(dú)立的車(chē)輛控制平臺(tái),。與此同時(shí),學(xué)生使用LabVIEW觸摸屏模塊和NI TPC - 2006觸摸屏構(gòu)建用戶界面并安裝在控制臺(tái),。
LabVIEW平臺(tái)提供了一個(gè)直觀,,易于使用的調(diào)試環(huán)境,可以讓開(kāi)發(fā)團(tuán)隊(duì)實(shí)時(shí)地監(jiān)測(cè)源代碼的運(yùn)行,,從而方便的實(shí)現(xiàn)硬件在環(huán)調(diào)試,。通過(guò)LabVIEW開(kāi)發(fā)環(huán)境,團(tuán)隊(duì)快速可以構(gòu)建系統(tǒng)原型并加快設(shè)計(jì)的往復(fù)周期,。此外,, LabVIEW與硬件的無(wú)縫連接,對(duì)于執(zhí)行某些關(guān)鍵操作如傳感器處理和車(chē)輛控制是至關(guān)重要的,。由于城市挑戰(zhàn)賽問(wèn)題復(fù)雜且開(kāi)發(fā)時(shí)間很短,,這些因素對(duì)于開(kāi)發(fā)團(tuán)隊(duì)的成功發(fā)揮了關(guān)鍵作用。
總結(jié)
圖形化系統(tǒng)設(shè)計(jì)對(duì)于繼續(xù)加快機(jī)器人設(shè)計(jì)中的創(chuàng)新而言是必不可少的,。復(fù)雜的傳統(tǒng)工具可能會(huì)阻礙機(jī)器人技術(shù)的進(jìn)步,。LabVIEW提供了一個(gè)綜合的、可擴(kuò)展的平臺(tái),,能夠橫跨設(shè)計(jì),、原型開(kāi)發(fā)和部署階段,因此工程師們能夠不用為微小的實(shí)現(xiàn)細(xì)節(jié)所困擾,,可以更加關(guān)注機(jī)器人本身,。他們可以使用同樣強(qiáng)大的平臺(tái),對(duì)微控制器直至FPGA等各種控制器進(jìn)行編程,;還可以同幾乎任何傳感器和執(zhí)行器發(fā)送與接收信號(hào),;設(shè)計(jì)并仿真動(dòng)態(tài)控制系統(tǒng);以及實(shí)現(xiàn)進(jìn)行遠(yuǎn)程監(jiān)視或控制機(jī)器人的接口,。LabVIEW圖形化系統(tǒng)設(shè)計(jì)平臺(tái)通過(guò)為所有機(jī)器人設(shè)計(jì)者提供一個(gè)統(tǒng)一的平臺(tái),,鼓勵(lì)設(shè)計(jì)更為精妙的機(jī)器人,。