利用LabVIEW和CompactRIO設(shè)計(jì)一個(gè)用于研究飛蟲的機(jī)器人設(shè)備
我們開發(fā)了一個(gè)試驗(yàn)。在試驗(yàn)中,我們把一只果蠅用繩拴住,通過果蠅的動(dòng)作來控制伊普克(e-puck)機(jī)器人。該機(jī)器人是一個(gè)小型移動(dòng)機(jī)器人,是一個(gè)大學(xué)的研究項(xiàng)目,它被設(shè)計(jì)用于通過充滿障礙的環(huán)境。從綁定在機(jī)器人上的照相機(jī)和接近傳感器可以獲得反饋,用來確定向蒼蠅展示的視覺刺激、翅振頻率和幅度等飛行參數(shù),來控制機(jī)器人運(yùn)動(dòng)(圖1)。蒼蠅和機(jī)器人之間的傳遞函數(shù)會(huì)發(fā)生變化,從而實(shí)現(xiàn)一系列的試驗(yàn)?zāi)J健?/p>本文引用地址:http://2s4d.com/article/116173.htm
蒼蠅的高速電影:加速的LED視覺場(chǎng)
視覺激勵(lì)場(chǎng)包括8個(gè)綠色LED 面板,它們通過I2C協(xié)議連接到定制的控制器。在過去的設(shè)計(jì)中,所有的飛行都由一條總線進(jìn)行控制。為了實(shí)現(xiàn)更高的幀率,并根據(jù)蒼蠅的反饋來調(diào)節(jié)視覺激勵(lì),我們必須使用多條并行的總線。最終,我們選擇了NI cRIO-9014 實(shí)時(shí)控制器和一體化NI cRIO-9104可重新配置嵌入式機(jī)箱更換了最初的控制器。
蠅控機(jī)器人:從蒼蠅到機(jī)器人
在實(shí)驗(yàn)裝置(圖2)中,果蠅被用繩拴在一個(gè)環(huán)形的LED面板陣列的中心。雖然昆蟲不能夠移動(dòng),但仍可以拍打翅膀并且按照和自由飛行相同的方式飛行。數(shù)字振翅分析儀會(huì)獲得電流頻率、振幅、位置均值和蒼蠅振翅的相位。這些行為狀態(tài)矢量通過用戶數(shù)據(jù)協(xié)議(UDP)包傳輸?shù)揭慌_(tái)運(yùn)行LabVIEW的主機(jī)上。我們可以在主機(jī)上應(yīng)用自定義傳遞函數(shù)計(jì)算出更新的伊普克(e-puck)機(jī)器人的輪轉(zhuǎn)速。這些數(shù)值再通過藍(lán)牙(Bluetooth)發(fā)送到機(jī)器人上。
從機(jī)器人到蒼蠅
當(dāng)我們利用昆蟲的行為來操縱機(jī)器人時(shí),來自機(jī)器人設(shè)備的反饋會(huì)修改面向昆蟲的視覺顯示方式。反饋由安裝在機(jī)器人頂部的三個(gè)線性照相機(jī)和八個(gè)接近傳感器給出。照相機(jī)以10Hz的頻率采集,每幀擁有102像素。接近傳感器以20Hz的頻率輸出標(biāo)定后的數(shù)據(jù)。主機(jī)會(huì)通過藍(lán)牙(Bluetooth)接收這些信號(hào)并且應(yīng)用第二個(gè)自定義傳遞函數(shù),以生成在LED視覺場(chǎng)上顯示的下一幀圖像。
主機(jī)應(yīng)用程序通過以太網(wǎng)(Ethernet)把新的圖像模式發(fā)送到實(shí)時(shí)控制器。然后這一圖像模式被劃分為8×8像素塊,每個(gè)像素塊將與一個(gè)LED面板相對(duì)應(yīng),并被轉(zhuǎn)換為I2C指令。為了實(shí)現(xiàn)最大處理量,這些數(shù)據(jù)會(huì)經(jīng)由DMA(直接內(nèi)存存取)的FIFO(先進(jìn)先出)隊(duì)列傳遞到FPGA(現(xiàn)場(chǎng)可編程門陣列)。中斷向量可以保證在實(shí)時(shí)控制器命令生成和FPGA底層硬件通信之間的同步。而后,F(xiàn)PGA背板采用I2C協(xié)議控制12條總線,每條總線分別控制五個(gè)面板。從而,機(jī)器人所看到的環(huán)境決定了針對(duì)蒼蠅的視覺刺激,而蒼蠅對(duì)視覺刺激的響應(yīng)也改變了機(jī)器人前進(jìn)的路徑。
視覺刺激的幀率大約在30Hz和400Hz之間,這取決于模式的深度和是否垂直對(duì)稱??刂苹芈分械睦鄯e延遲小于50毫秒并且這主要是由傳感器信息是經(jīng)由藍(lán)牙從機(jī)器人傳輸?shù)街鳈C(jī)而造成的。
有效地設(shè)計(jì):靈活的界面和模塊化的結(jié)構(gòu)
借助于LabVIEW和CompactRIO,我們可以通過各種不同的協(xié)議連接到一系列的研究工具。NI和LabVIEW的網(wǎng)絡(luò)用戶社區(qū)提供的極大的靈活性和許多范例程序,這使得基于LabVIEW設(shè)計(jì)的應(yīng)用有效地替代了實(shí)驗(yàn)生物學(xué)中的定制控制器。
我們?cè)O(shè)計(jì)了一種友好的GUI(圖形用戶界面),它為實(shí)驗(yàn)者提供了必要的控制手段和信息,從而簡(jiǎn)化了多個(gè)硬件平臺(tái)上運(yùn)行的代碼的復(fù)雜度(圖3)。這一功能在一些跨學(xué)科的應(yīng)用中非常有效,能夠增進(jìn)生物學(xué)家、數(shù)學(xué)家、物理學(xué)家和工程師之間的密切合作。此外,LabVIEW代碼的模塊性和可移植性也使其能夠在實(shí)驗(yàn)室之間被分享和重復(fù)利用。例如,在這一解決方案的定制化版本,運(yùn)算模式可以被預(yù)先生成并且保存在U盤中,然后下載到實(shí)時(shí)控制器的RAM中,再傳輸?shù)絃ED面板,以獲得更高的刷新率。
一個(gè)混合的自適應(yīng)控制器
由于蒼蠅的部分神經(jīng)回路具有高度的可塑性,它可以被看作一個(gè)自適應(yīng)控制器。通過使用新的仿生機(jī)器人平臺(tái),我們能夠評(píng)估控制器在各種外部傳遞函數(shù)下的性能,這些傳遞函數(shù)幾乎能夠模仿出所有的蒼蠅的自然飛行環(huán)境,例如根據(jù)最靠近機(jī)器人的障礙物的位置來確定視覺場(chǎng)中的柵格的上下移動(dòng)。但令人驚訝地是,最接近于直覺的傳遞函數(shù)并不一定會(huì)獲得最佳結(jié)果。
LabVIEW 和 CompactRIO為構(gòu)造這一包含活體昆蟲并且允許我們進(jìn)行各種實(shí)驗(yàn)的控制回路提供了理想解決方案。CompactRIO負(fù)責(zé)采集并生成各種適用不同工業(yè)標(biāo)準(zhǔn)的信號(hào),并擴(kuò)展了自定制的研究工具。另外,由于我們?cè)谟?jì)算機(jī)、實(shí)時(shí)控制器和FPGA上分別實(shí)現(xiàn)的應(yīng)用程序是在同一個(gè)編程環(huán)境和開發(fā)語言下完成的,這大大節(jié)省了我們的學(xué)習(xí)時(shí)間,提高了效率。此外,大量的附件產(chǎn)品和外接接口還為未來的擴(kuò)展和適應(yīng)性提供了巨大潛力。
Acknowledgements 鳴謝
W 我們感謝Vasco Medici、Nicola Rohrseitz和Gilles Caprari幫助開發(fā)機(jī)器人控制器。我們還感謝Jean-Christophe Zufferey 和Dario Floreano提供伊普克(e-puck)機(jī)器人,并且感謝Jan Bartussek幫助運(yùn)行試驗(yàn)以及感謝Moser幫助制作飛行視覺場(chǎng)。
References 參考資料
[1] Reiser MB, Dickinson M. A modular display system for insect behavioral neuroscience. J Neurosc Methods 2008;167:127–139.
[2] Graetzel CF, Medici V, Rohrseitz N, Nelson BJ, Fry SN. The Cyborg Fly: A biorobotic platform to investigate dynamic coupling effects between a fruit fly and a robot. IROS 2008 Sept;14-19.
評(píng)論