引言
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ī)器人分類復(fù)雜且關(guān)鍵技術(shù)眾多,從廣義范疇上說(shuō),通常所說(shuō)的機(jī)器人主要包括教育機(jī)器人、移動(dòng)機(jī)器人、工業(yè)機(jī)械臂三大類。機(jī)械臂發(fā)展時(shí)間早,產(chǎn)業(yè)化程度高,相對(duì)已經(jīng)有了成熟的行業(yè)解決方案,特別在汽車制造等領(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ú)人駕駛車的研究和開(kāi)發(fā)。
圖1機(jī)器人系統(tǒng)的分類
盡管移動(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ì)的前沿方法
在GoogleXPRIZE機(jī)構(gòu)、FIRST組織(科學(xué)技術(shù)的啟示與認(rèn)知組織)、RoboCup以及美國(guó)國(guó)防研究計(jì)劃局(DARPA)之間展開(kāi)的競(jìng)爭(zhēng)推進(jìn)了機(jī)器人學(xué)領(lǐng)域的創(chuàng)新。富有創(chuàng)新思維的們將機(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í)控制
圖2移動(dòng)機(jī)器人的設(shè)計(jì)平臺(tái)
過(guò)去,由于在每個(gè)領(lǐng)域中必須使用各自的傳統(tǒng)工具,其中涉及的知識(shí)具有較大的縱向深度,機(jī)械工程師、電氣工程師以及程序員團(tuán)隊(duì)都各自領(lǐng)導(dǎo)機(jī)器人學(xué)的開(kāi)發(fā)。LabVIEW和NI硬件提供了一個(gè)*的、功能多樣的平臺(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é)生,在DennisHong教授的領(lǐng)導(dǎo)下正在進(jìn)行智能動(dòng)態(tài)擬人機(jī)器人(DARwin)的雙足類人機(jī)器人的開(kāi)發(fā)和研究,目的是對(duì)假肢進(jìn)行研究和開(kāi)發(fā)。DARwin使用NILabVIEW圖形化系統(tǒng)設(shè)計(jì)平臺(tái),能夠?qū)崿F(xiàn)全范圍運(yùn)動(dòng),并且能夠準(zhǔn)確地模擬人類運(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ī)專家或程序員,就可以開(kāi)發(fā)機(jī)器人。例如,一位只有有限LabVIEW和機(jī)器視覺(jué)經(jīng)驗(yàn)的學(xué)生在短短幾個(gè)小時(shí)之內(nèi),就設(shè)計(jì)了一個(gè)讓機(jī)器人利用它帶有的IEEE1394相機(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ò)?,F(xiàn)在,領(lǐng)域?qū)<也粌H僅能夠完成機(jī)械工程師的工作,還能夠成為機(jī)器人設(shè)計(jì)者。
實(shí)例分析1:南洋理工大學(xué)使用NILabVIEW設(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基于NILabVIEW設(shè)計(jì)的救生機(jī)器人蜘蛛
1.2 4個(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ì)算能力和LabVIEW的確定性實(shí)時(shí)性能,機(jī)器人的運(yùn)動(dòng)表現(xiàn)得有力而平穩(wěn)?;贜ILabVIEW嵌入式模塊的程序連續(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中表示類的功能性全局變量加以抽象。
主要的應(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ā)周期也大為縮短?;贚abVIEW的圖形化快速調(diào)試模式在算法的工程實(shí)現(xiàn)過(guò)程中非常有用,縮短了5倍的開(kāi)發(fā)時(shí)間。
實(shí)例分析2:弗吉尼亞理工大學(xué)使用NILabVIEW設(shè)計(jì)全自主地面車參加DARPA城市挑戰(zhàn)賽
DARPA城市挑戰(zhàn)賽需要設(shè)計(jì)一輛全自主地面車能夠在城市環(huán)境中自動(dòng)導(dǎo)航行駛。在整個(gè)賽程中,全自主車需要在6小時(shí)內(nèi)穿越60英里,途經(jīng)道路、路口和停車場(chǎng)等各種交通狀態(tài)。在比賽開(kāi)始時(shí),參賽者會(huì)拿到任務(wù)檔案公路網(wǎng)地圖,并需要按一定順序訪問(wèn)的檢查站。車輛需要考慮所選道路的車速限制,可能的道路堵塞,以及其他交通狀況。車輛在行駛中必須遵守交通規(guī)則,在十字路口注意安全駕駛和避讓,妥善地處理與其他車輛之間的互動(dòng),以zui高30英里的時(shí)速避讓靜態(tài)和動(dòng)態(tài)的障礙物。
來(lái)自弗吉尼亞理工大學(xué)的團(tuán)隊(duì)需要在12個(gè)月開(kāi)發(fā)出全自主地面車,他們將開(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)有車載系統(tǒng)進(jìn)行交互,并提供操作接口;使用LabVIEW圖形化編程環(huán)境來(lái)開(kāi)發(fā)系統(tǒng)軟件,包括通訊架構(gòu)、傳感器處理和目標(biāo)識(shí)別算法、激光測(cè)距儀和基于視覺(jué)的道路檢測(cè)、駕駛行為控制、以及底層的車輛接口。
圖4無(wú)人駕駛車Odin的系統(tǒng)構(gòu)架
他們的參賽車Odin是2005年福特翼虎(Escape)混合動(dòng)力型越野車,并為自主駕駛做了一定程度的改裝。NICompactRIO系統(tǒng)與翼虎操控系統(tǒng)進(jìn)行交互,通過(guò)線控驅(qū)動(dòng)(drive-by-wire)的方式控制油門、方向盤、轉(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ú)立的車輛控制平臺(tái)。與此同時(shí),學(xué)生使用LabVIEW觸摸屏模塊和NITPC-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)鍵操作如傳感器處理和車輛控制是至關(guān)重要的。由于城市挑戰(zhàn)賽問(wèn)題復(fù)雜且開(kāi)發(fā)時(shí)間很短,這些因素對(duì)于開(kāi)發(fā)團(tuán)隊(duì)的成功發(fā)揮了關(guān)鍵作用。
3.總結(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ī)器人。