嵌入式圖形系統(tǒng)設(shè)計(jì)助力救生機(jī)器人蜘蛛
(機(jī)器人蜘蛛利用其眾多的運(yùn)動(dòng)模式之一——“爬行”擠壓通過(guò)狹小的空間。)
“現(xiàn)已成功完成功能強(qiáng)大且性能優(yōu)異的機(jī)器人的構(gòu)建,而且,通過(guò)采用用于Blackfin處理器的LabVIEW嵌入式模塊所提供的圖形化編程環(huán)境,以及Blackfin處理器的高處理器性能,開(kāi)發(fā)周期也大為縮短。”
惡劣環(huán)境中營(yíng)救任務(wù)的設(shè)計(jì)
任何救生設(shè)備的主要目的在于,在災(zāi)難之后的營(yíng)救任務(wù)中快速阻止盡可能多的嚴(yán)重傷亡事故。謹(jǐn)記這一目標(biāo),我們開(kāi)始開(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)均屬于模仿六足昆蟲而得的基本的高層次運(yùn)動(dòng)模式。通過(guò)三條下肢移動(dòng)而另外三條下肢抬高,機(jī)器人可以達(dá)到期望的行走速度,并提供惡劣地帶所需的足夠平衡。爬行時(shí),機(jī)器人可以擠壓通過(guò)緊湊的空間和狹縫。單下肢的低層次運(yùn)動(dòng)步態(tài)是3D空間內(nèi)的幾何原語(yǔ),如長(zhǎng)方形或圓形軌道。
多功能機(jī)電系統(tǒ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ì)傳遞。
24個(gè)自由度的智能運(yùn)動(dòng)控制
機(jī)器人蜘蛛的低層次運(yùn)動(dòng)有賴于運(yùn)行時(shí)計(jì)算的復(fù)雜數(shù)學(xué)模型。憑借模擬器件公司的Blackfin處理器的高級(jí)嵌入式計(jì)算能力和施密德工程公司的確定性實(shí)時(shí)服務(wù),機(jī)器人的運(yùn)動(dòng)表現(xiàn)得有力而平穩(wěn)。來(lái)自面向ADI公司的Blackfin處理器的NI LabVIEW嵌入式模塊的高層次虛擬儀器(VI),連續(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í)行裝置。軌線向量根據(jù)高層次的運(yùn)動(dòng)模式,沿著計(jì)算所得的直線、長(zhǎng)方形或圓形軌道移動(dòng)。
軌道可以通過(guò)以下三種方式編程實(shí)現(xiàn):
通過(guò)學(xué)習(xí)和回放,設(shè)計(jì)和培訓(xùn)新的或特別的模式。
支持可視化檢驗(yàn)仿真軌道的3D CAD軟件。這些模型作為虛擬現(xiàn)實(shí)文件導(dǎo)出,并導(dǎo)入至LabVIEW的圖像控件。通過(guò)比較虛擬模型與實(shí)際模型,調(diào)節(jié)機(jī)器人的運(yùn)動(dòng)。
運(yùn)行時(shí)利用逆動(dòng)力學(xué)算法持續(xù)計(jì)算軌道。
所有六足的關(guān)節(jié)角度的計(jì)算并行完成以確保動(dòng)態(tài)運(yùn)動(dòng),相應(yīng)地也得到了所有馬達(dá)的24個(gè)連續(xù)計(jì)算所得的設(shè)置點(diǎn)。這些設(shè)置點(diǎn)通過(guò)一個(gè)串行RS485網(wǎng)絡(luò)傳遞至每只馬達(dá),并由分散PD控制器轉(zhuǎn)換為實(shí)際執(zhí)行動(dòng)作。通過(guò)同樣的網(wǎng)絡(luò),完成所有24只執(zhí)行裝置的位置、反饋和溫度讀數(shù)的采集。
智能視覺(jué)與距離感測(cè)
除了智能運(yùn)動(dòng)與自由移動(dòng)外,機(jī)器人蜘蛛的特色在于它的“眼睛”裝有一個(gè)智能攝像頭和一個(gè)距離測(cè)量傳感器。目標(biāo)通過(guò)高性能圖像處理算法被定位與跟蹤。通過(guò)編程控制,它的“眼睛”還可以識(shí)別其附近范圍內(nèi)的任何顏色。后續(xù)版本將提供改進(jìn)的圖像處理、模式匹配和邊緣檢測(cè)等功能,從而將Blackfin處理器的計(jì)算能力和高速圖像采集提升到更高層次。
利用藍(lán)牙技術(shù)實(shí)現(xiàn)無(wú)線通信
為實(shí)現(xiàn)與機(jī)器人的通信,我們提供了一個(gè)藍(lán)牙通信接口以實(shí)現(xiàn)多項(xiàng)功能,其中包括:
在開(kāi)發(fā)與測(cè)試中調(diào)試用于ZMobile的快速調(diào)試模式的通道
讀入關(guān)鍵參數(shù),如馬達(dá)狀態(tài)和電池電量水平,以供系統(tǒng)診斷
在線采集重要的算法參數(shù),以供調(diào)節(jié)使用
在操作開(kāi)始前下載新的任務(wù)數(shù)據(jù)
在開(kāi)發(fā)過(guò)程中,兩個(gè)機(jī)器人蜘蛛通過(guò)無(wú)線通信信道相連,以實(shí)現(xiàn)其移動(dòng)的同步。這是更為危急場(chǎng)景的原型構(gòu)造,這時(shí)接受同一項(xiàng)任務(wù)的多個(gè)機(jī)器人蜘蛛需要團(tuán)隊(duì)協(xié)作以完成任務(wù)。
低功耗的嵌入式ZMobile硬件 超低功耗混合信號(hào)目標(biāo)平臺(tái)ZMobile是機(jī)器人蜘蛛的核心所在。由瑞士的解決方案提供商施密德工程公司提供的ZMobile,將傳感器、激勵(lì)源、視覺(jué)、電池和無(wú)線通信集成于單個(gè)平臺(tái)。南洋理工學(xué)院基于三個(gè)原因選用了ZMobile平臺(tái)。
首先,ZMobile與LabVIEW相兼容,而且通過(guò)LabVIEW編程控制機(jī)器人蜘蛛,設(shè)計(jì)人員可以專注于項(xiàng)目的主要功能。借助圖形化編程的高效率,系統(tǒng)工程師們可以在開(kāi)發(fā)周期中添加比最初規(guī)范設(shè)計(jì)更多的功能特性。
其次,ZMobile的超低能耗設(shè)計(jì)和動(dòng)態(tài)功率管理,對(duì)于自治機(jī)器人是一項(xiàng)至關(guān)重要的特性,因?yàn)檫@樣可以顯著延長(zhǎng)工作時(shí)間。這一點(diǎn)對(duì)于ZMobile的毫瓦級(jí)功耗同樣適用,這意味著板上的絕大多數(shù)剩余能量可供馬達(dá)使用。
第三,可擴(kuò)展的處理I/O插槽為將來(lái)集成更多的傳感器和激勵(lì)裝置提供了所需的空間。
實(shí)時(shí)圖形化嵌入式軟件
機(jī)器人蜘蛛應(yīng)用軟件是利用面向Blackfin處理器的LabVIEW嵌入式模塊編程實(shí)現(xiàn),后又通過(guò)來(lái)自施密德工程公司的面向NI LabVIEW的ZBrain BSP進(jìn)行擴(kuò)展。這為高層次編程、圖形化調(diào)試、圖形化多任務(wù)處理和確定性的實(shí)時(shí)行為,提供了一個(gè)理想的嵌入式軟件平臺(tái)。面向?qū)ο蟮脑O(shè)計(jì)模式有助于進(jìn)一步控制圖形化層次上的復(fù)雜度。例如馬達(dá)或傳感器等主要對(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ù)讀取。ZMobile充當(dāng)看門狗的角色——利用程序設(shè)定的喚醒機(jī)制重啟和關(guān)機(jī),并為不能成功自我糾錯(cuò)時(shí)提供重新啟動(dòng)的有效措施。
這些循環(huán)在協(xié)作式多任務(wù)環(huán)境中以線程的方式同時(shí)運(yùn)行。驅(qū)動(dòng)程序?qū)哟紊系暮撩爰?jí)上下文切換和微妙級(jí)實(shí)時(shí)確定性,確保了平穩(wěn)、無(wú)故障的移動(dòng)。最后,嚴(yán)格的并行方式要求板卡支持軟件包滿足每一個(gè)軟件組件和設(shè)備驅(qū)動(dòng)程序的線程安全性。
現(xiàn)已成功完成功能強(qiáng)大且性能優(yōu)異的機(jī)器人的構(gòu)建,而且,通過(guò)采用面向Blackfin處理器的LabVIEW嵌入式模塊所提供的圖形化編程環(huán)境,以及Blackfin處理器的高處理器性能,開(kāi)發(fā)周期也大為縮短。施密德工程公司獨(dú)創(chuàng)的圖形化快速調(diào)試模式在算法的工程實(shí)現(xiàn)過(guò)程中非常有用,縮短了5倍的開(kāi)發(fā)時(shí)間。ZMobile不僅對(duì)于機(jī)器人設(shè)計(jì)人員,是一款用戶界面友好的嵌入式系統(tǒng)工程的優(yōu)秀產(chǎn)品,而且對(duì)于任何構(gòu)建機(jī)電系統(tǒng)的設(shè)計(jì)人員也是如此。
視覺(jué)的提高、更為智能的功率管理和能量獲取設(shè)計(jì)、傳感器融合、模糊邏輯和GPS數(shù)據(jù)收集,都是有望添加至通用機(jī)電平臺(tái)的組件。此外,我們計(jì)劃在未來(lái)的移動(dòng)、自治機(jī)器人中復(fù)用這個(gè)模塊化軟硬件系統(tǒng)。
評(píng)論