徐 偉
(江漢大學(xué)工程訓(xùn)練中心 武漢 430056)
縱觀仿生機(jī)器人發(fā)展歷程,到現(xiàn)在為止經(jīng)歷了三個(gè)階段。第一階段是原始探索時(shí)期,該階段主要是生物原型的原始模仿,如原始的飛行器,模擬鳥類的翅膀撲動(dòng),該階段主要靠人力驅(qū)動(dòng)。第二個(gè)階段是宏觀仿形與運(yùn)動(dòng)仿生階段,20世紀(jì)中后期,由于計(jì)算機(jī)技術(shù)的出現(xiàn)以及驅(qū)動(dòng)裝置的革新,主要是利用機(jī)電系統(tǒng)實(shí)現(xiàn)諸如行走、跳躍、飛行等生物功能,并實(shí)現(xiàn)了一定程度的人為控制。進(jìn)入21世紀(jì),隨著人類對(duì)生物系統(tǒng)功能特征、形成機(jī)理認(rèn)識(shí)的不斷深入,以及計(jì)算機(jī)技術(shù)的發(fā)展,仿生機(jī)器人進(jìn)入了第三個(gè)階段,機(jī)電系統(tǒng)開(kāi)始與生物性能進(jìn)行部分融合,如傳統(tǒng)結(jié)構(gòu)與仿生材料的融合以及仿生驅(qū)動(dòng)的運(yùn)用[1]。
當(dāng)前,隨著生物機(jī)理認(rèn)識(shí)的深入、智能控制技術(shù)的發(fā)展,仿生機(jī)器人正向第四個(gè)階段發(fā)展,即結(jié)構(gòu)與生物特性一體化的類生命系統(tǒng),強(qiáng)調(diào)仿生機(jī)器人不僅具有生物的形態(tài)特征和運(yùn)動(dòng)方式,同時(shí)具備生物的自我感知、自我控制等性能特性,更接近生物原型[2]。
在實(shí)驗(yàn)室利用傳感器模擬不同外界刺激,實(shí)現(xiàn)生物的自我感知、自我控制特性是本文仿生機(jī)器人設(shè)計(jì)的突破點(diǎn),也是一個(gè)難題。
21世紀(jì)初,俄羅斯生理學(xué)家巴甫洛夫在研究條件反射的過(guò)程中,創(chuàng)立了高級(jí)神經(jīng)活動(dòng)學(xué)說(shuō),即反射弧理論。在中樞神經(jīng)系統(tǒng)的控制下,機(jī)體對(duì)刺激所做出的規(guī)律性應(yīng)答反應(yīng)稱為反射[3]。連接肌肉中感受器和脊髓的弧線或路徑穿過(guò)間隙,回到肌肉纖維,稱之為反射弧(reflex arc)[4]。
巴甫洛夫認(rèn)為反射是有機(jī)體與環(huán)境取得平衡的基本形式,反射弧是反射的結(jié)構(gòu)基礎(chǔ)和生理基礎(chǔ)。反射弧通常由感受器、傳入神經(jīng)、反射中樞、傳出神經(jīng)和效應(yīng)器五個(gè)部分組成,包括從接受刺激到發(fā)生反應(yīng)整個(gè)神經(jīng)系統(tǒng)內(nèi)循環(huán)的路徑。反射活動(dòng)的完成依賴于反射弧的完整性,如果反射弧中任何一環(huán)節(jié)被破壞,反射活動(dòng)都不能進(jìn)行[5]。
按照神經(jīng)反射弧的生物學(xué)理論,對(duì)仿生機(jī)器人的神經(jīng)反射弧實(shí)驗(yàn)確定實(shí)驗(yàn)?zāi)繕?biāo),本實(shí)驗(yàn)既要使仿生機(jī)器人能實(shí)現(xiàn)神經(jīng)反射弧的基本傳導(dǎo)功能,體現(xiàn)神經(jīng)反射弧的絕對(duì)不應(yīng)期和相對(duì)不應(yīng)期。同時(shí),還要體現(xiàn)仿生機(jī)器人的“大腦”對(duì)反射弧產(chǎn)生的抑制作用和“腎上腺素”對(duì)反射弧的激勵(lì)作用,具體功能如下:
1)反射弧的基本傳導(dǎo)功能。反射弧的傳導(dǎo)是單向連接,從肌肉感受器到感覺(jué)傳導(dǎo)纖維,再通過(guò)脊髓間隙或者神經(jīng)突觸到達(dá)運(yùn)動(dòng)纖維,之后穿過(guò)肌肉神經(jīng)結(jié)點(diǎn)最終傳遞到肌肉纖維[6]。肌肉感受器和與之相關(guān)的反射弧有不同的閾值,與數(shù)字電路類似,一旦感受器閾值達(dá)到,感受器就被觸發(fā)[7]。
2)反射弧的絕對(duì)不應(yīng)期和相對(duì)不應(yīng)期。反射弧有一個(gè)絕對(duì)不應(yīng)期(absolute refractory period)或者說(shuō)在觸發(fā)后需要經(jīng)過(guò)一定的時(shí)間才能再次觸發(fā),可以把這一段時(shí)間認(rèn)為是感受器的重啟期。在絕對(duì)不應(yīng)期后,感受器對(duì)刺激是不敏感的。隨后,反射弧呈現(xiàn)出一個(gè)相對(duì)不應(yīng)期(relative refractory period)[8]。即在絕對(duì)不應(yīng)期后,感受器的不靈敏程度呈指數(shù)形式減弱,也即感受器靈敏程度應(yīng)該是逐步加強(qiáng),如圖1所示。
3)反射弧實(shí)驗(yàn)的第三個(gè)特點(diǎn)是來(lái)自大腦的另外一些神經(jīng)纖維。當(dāng)它們被激活時(shí),能夠抑制(inhibit)反射弧的行為,按時(shí)或者直接命令運(yùn)動(dòng)系統(tǒng)采取一些措施或者直接停止某種錯(cuò)誤的反射行為[9]。但反射行為的速度遠(yuǎn)大于可疑行為的速度,因?yàn)榭桃庑袨榈乃俣瓤赡苌婕暗礁鞣N信號(hào),信號(hào)在大腦中要穿過(guò)成百上千的連接點(diǎn)或神經(jīng)突觸(neural synapse),而反射弧只設(shè)計(jì)一堆局部神經(jīng)元,所以刻意行為要比反射弧緩慢得多[10]。所以在后面程序編譯中,定義抑制常量(globalInhibition)要略大于興奮常量(globalExcitation)。
圖1 反射弧的絕對(duì)不應(yīng)期和相對(duì)不應(yīng)期
4)反射弧實(shí)驗(yàn)的第四個(gè)特點(diǎn)是腎上腺素的參與。腎上腺素是人體經(jīng)歷某種刺激后,由腎上腺分泌的激素。腎上腺素的作用比較復(fù)雜,而且對(duì)于不同的器官的影響也大相庭徑??傮w來(lái)說(shuō),腎上腺素能暫時(shí)增強(qiáng)肌肉收縮力并增強(qiáng)忍耐力[11]。
一般電化學(xué)信號(hào)由大腦或感受器發(fā)出,最終傳遞到神經(jīng)纖維,但腎上腺激素與人體神經(jīng)系統(tǒng)的電化學(xué)信號(hào)不同,它并不生成信號(hào),它只是降低觸發(fā)感受器的閾值,而且當(dāng)反射弧發(fā)生時(shí),能最大限度發(fā)揮肌肉收縮潛能[12]。神經(jīng)反射弧的生物原理如圖2所示。
圖2 反射弧的生物原理圖
仿生機(jī)器人神經(jīng)反射弧實(shí)驗(yàn)基于Arduino單片機(jī),一個(gè)開(kāi)源的單片機(jī)電子設(shè)計(jì)硬件平臺(tái)。硬件部分由Atmel AVR單片機(jī)、I/O接口及相關(guān)電路組成,軟件部分包括標(biāo)準(zhǔn)的程序編譯器和程序下載器。作為一種新型的集成開(kāi)發(fā)環(huán)境,其采用C++或Java語(yǔ)言編程,簡(jiǎn)單易用且適用面廣[13]。主要硬件如下:
1)伺服舵機(jī)兩個(gè)。伺服電機(jī)由一個(gè)電機(jī)和一個(gè)編碼器組成,編碼器可以跟蹤電機(jī)旋轉(zhuǎn)角度,所以伺服電機(jī)可以用于靜謐的運(yùn)動(dòng),實(shí)現(xiàn)移動(dòng)若干角度到達(dá)準(zhǔn)確位置。一般伺服電機(jī)轉(zhuǎn)動(dòng)角度從0°~179°,在本實(shí)驗(yàn)中模擬生物體肌肉的動(dòng)作。伺服電機(jī)引腳分別接Arduino單片機(jī)的數(shù)字量9、10引腳。這里的10號(hào)引腳上的伺服電機(jī)可以看做是第二塊肌肉或者同一塊肌肉上的第二束肌肉纖維。
2)S1、S2兩個(gè)觸敏開(kāi)關(guān)。分別接Arduino單片機(jī)的6、7號(hào)數(shù)字量引腳。其中7號(hào)S1模擬大腦,在實(shí)驗(yàn)中抑制反射。6號(hào)模擬腎上腺素,在實(shí)驗(yàn)中促進(jìn)反射。
3)P1是10KΩ的線性電位器,它的讀數(shù)通過(guò)Arduino UNO的模擬量輸入端口A0讀入,控制伺服電機(jī)的初始位置。在刺激消失的情況下,伺服電機(jī)能夠回到初始狀態(tài)的位置。
4)FSR1是Sparkfun生產(chǎn)的力敏電阻。這種電阻在無(wú)外力時(shí)阻值最大可達(dá)到1MΩ,若用手在上面輕輕按壓,則可以改變其阻值。當(dāng)壓力越大,其阻值越小,最小可達(dá)到1KΩ。力敏電阻模擬的是外界刺激。
5)力敏電阻和一個(gè)10KΩ的電阻R1形成串聯(lián)回路,通過(guò)按壓力敏電阻FSR1,改變力敏電阻的電阻值,R1兩端的分壓也會(huì)隨之改變。這樣,R1兩端的電壓信號(hào)則反映了外界刺激的大小,該數(shù)值通過(guò)Arduino UNO的模擬量輸入端口A1讀入。
其硬件原理圖如圖3所示。
圖3 仿生機(jī)器人神經(jīng)反射弧硬件原理圖
編寫仿生機(jī)器人神經(jīng)反射弧程序代碼,如何做到通過(guò)以上多個(gè)傳感器共同完成一個(gè)反射動(dòng)作?這是一個(gè)關(guān)鍵的問(wèn)題。解決渠道一般有兩種方式:
1)包容體系結(jié)構(gòu)(subsumption architecture)。在這種體系結(jié)構(gòu)內(nèi),某些特定的傳感器可以否決或抑制其余的傳感器,可以認(rèn)為手工劃分傳感器等級(jí),但這種方法的問(wèn)題在于不能很好地處理一些錯(cuò)綜復(fù)雜的情況[14]。
2)傳感器融合(sensor fusion)。這種方法可以處理那些由不同傳感器發(fā)出的可能沖突的信號(hào),簡(jiǎn)單來(lái)說(shuō)就是傳感器信號(hào)的混合[15]。有很多種辦法可以實(shí)現(xiàn)傳感器信號(hào)的融合,簡(jiǎn)單的方法就是直接取各傳感器信號(hào)的平均值,較為復(fù)雜的辦法是用數(shù)字信號(hào)濾波器應(yīng)用于多傳感器輸出的信號(hào),或者用相應(yīng)的算法公式在程序中體現(xiàn)出來(lái)[16]。
經(jīng)適當(dāng)調(diào)試的傳感器融合程序?qū)⑾嚓P(guān)傳感器傳來(lái)的信號(hào)按特定方式綜合,通過(guò)這種方式對(duì)設(shè)計(jì)觸發(fā)和抑制反射的復(fù)雜問(wèn)題給出一個(gè)有意義且實(shí)施有效的響應(yīng)。本程序中的語(yǔ)句“FSRValue>(noiseLevel+(inhibitionState*globalInhibition)+(excitationState*globalExcitation))”就是典型的傳感器融合用法。
注1:參見(jiàn)硬件組成部分,將各輸入、輸出引腳以全局變量定義;
注2:定義P1線性電位器的引腳;
注3:定義馬達(dá)延時(shí)5ms,馬達(dá)反射延時(shí)2ms;
注4:給絕對(duì)不響應(yīng)賦予初值1000ms,即1s;
注5:用millis函數(shù)分別給當(dāng)前時(shí)間變量和相對(duì)時(shí)間變量賦予初值,即當(dāng)前程序運(yùn)行的時(shí)間值,單位為ms;
注6:給定干擾值,經(jīng)驗(yàn)數(shù)據(jù),可以人為設(shè)定;
注7:為相對(duì)不響應(yīng)期設(shè)定一個(gè)斜率參數(shù)1000;
注8:為S1和S2分別設(shè)定一個(gè)權(quán)重系數(shù)值,經(jīng)驗(yàn)數(shù)據(jù),可以人為設(shè)定;
注9:當(dāng)前時(shí)間與絕對(duì)不應(yīng)期的基數(shù)時(shí)間值的差只有大于絕對(duì)不響應(yīng)設(shè)定值(1000ms)時(shí),才能發(fā)生反射弧現(xiàn)象;
注10:觸發(fā)值triggerVal取干擾值和相對(duì)不應(yīng)期漸進(jìn)直線的縱坐標(biāo)值,相對(duì)不應(yīng)期本來(lái)應(yīng)該是一個(gè)指數(shù)函數(shù),但為了編程方便,采取用一個(gè)漸進(jìn)直線函數(shù)y=kx+b,k取0.25,b取1000;
注11:只有當(dāng)力敏傳感器FSRMaxVal的值大于觸發(fā)值時(shí),刺激反射才能發(fā)生,程序轉(zhuǎn)而去運(yùn)行makeReflex()子函數(shù),發(fā)生反射動(dòng)作;
注12:當(dāng)力敏傳感器FSRMaxVal的值小于觸發(fā)值時(shí),刺激反射不發(fā)生,程序轉(zhuǎn)而去運(yùn)行置位子函數(shù)reset(),等待下一次的“刺激”。
以上基于Arduino仿生機(jī)器人神經(jīng)反射弧實(shí)驗(yàn)通過(guò)傳感器和舵機(jī)組成的硬件電路,完全可以實(shí)現(xiàn)神經(jīng)反射弧的一系列仿真動(dòng)作。同時(shí),可以在代碼中加入中斷或者其他更加復(fù)雜的算法,使程序代碼可以為后續(xù)的仿生機(jī)器人的制作設(shè)置專門的“神經(jīng)反射弧”的庫(kù)文件,可以無(wú)限地在仿生機(jī)器人相關(guān)的實(shí)驗(yàn)中進(jìn)行擴(kuò)展和應(yīng)用。在未來(lái)的發(fā)展中,仿生機(jī)器人將生物基礎(chǔ)理論與機(jī)器人控制相結(jié)合,可以在行為鏈、動(dòng)態(tài)平衡、光視覺(jué)、聲音定位、心肺功能、內(nèi)循環(huán)系統(tǒng)、機(jī)體衰老和情感表達(dá)等方面進(jìn)行實(shí)驗(yàn)和探索。