1 引言
人作為雙足行走生物,,是在長期的生物進化過程中形成的,。人能夠不自覺地保持身體的直立性和平衡性,不論是在靜止不動還是在行走過程中,。一旦失去平衡,,人就會產(chǎn)生相應(yīng)的動作,使身體保持平衡,。例如,,在靜止時,當(dāng)人的重心偏向一側(cè)時,,就會不自覺地向該側(cè)跨出一腳,以使重心位置落于支撐面內(nèi),。這里,,支撐面定義為兩腳之間的面積以及兩腳的面積,。當(dāng)重心落于支撐面內(nèi)時,就不會傾倒,。再如,,在行走過程中,人的重心不斷向前移動,,超出了兩腳尖的位置,,迫使人向前邁出腳,這樣才使人的行走成為可能,,使人的行走自然流暢,。因此,控制機器人重心的位置及重心位置的速度,,是機器人保持穩(wěn)定及產(chǎn)生有效步態(tài)的關(guān)鍵,。本文就是控制機器人的重心位置,使其落于支撐面內(nèi),,從而達到了機器人穩(wěn)定性控制" title="穩(wěn)定性控制">穩(wěn)定性控制的目的,。機器人的重心可以由安裝在機器人腳底的力傳感器測知。當(dāng)重心偏向一側(cè),,這一側(cè)的傳感器輸出偏大,,相反的一側(cè)的力傳感器等于零,或趨近于零,。本文用感知器" title="感知器">感知器來感知機器人重心位置的變化,,當(dāng)重心超出支撐面時,系統(tǒng)將發(fā)出動作指令,,使機器人保持穩(wěn)定,。
本文采用的神經(jīng)網(wǎng)絡(luò)" title="神經(jīng)網(wǎng)絡(luò)">神經(jīng)網(wǎng)絡(luò)感知器(Perception)是最簡單的人工神經(jīng)網(wǎng)絡(luò),它是FRosenblatt于1958年提出的具有自學(xué)習(xí)能力的感知器,。在這種人工神經(jīng)網(wǎng)絡(luò)中,,記憶的信息存儲在連接權(quán)上,外部刺激通過連接通道自動激活相應(yīng)的神經(jīng)元,,以達到自動識別的目的,。感知器模型如圖1所示,通常由感知層S(Sensory),、連接層A(Association)和反應(yīng)層構(gòu)成R(Response),。
2 人工神經(jīng)元感知器的學(xué)習(xí)算法
可以用下面的方法訓(xùn)練網(wǎng)絡(luò):
(1)初始化S層至連接層(A層)的連接權(quán)矩陣
中的各個元素及A層各單元的閥值賦予[-1,+1]之間的隨機值,,一般情況下vij=1θj=0i=1,,2,Λ,pj=1,,2,,Λ,n且在整個學(xué)習(xí)過程中保持固定不變,。
A層至輸出層(R層)的連接權(quán)矩陣
中的各個元素及S層各單元的閥值θ=[θ1θ2Λθq]賦予[-1,,+1]之間的隨機值。
(2)訓(xùn)練隨機選取一輸入,、輸出模式對(Sk,Yk),,這里k=1,2,,Λ,,m時,網(wǎng)絡(luò)進行以下步驟的訓(xùn)練,。
第一步,,計算連接層各單元的輸出
第二步,以連接層的輸出作為輸入層的各單元的輸入計算輸出層的實際輸出
在學(xué)習(xí)過程中,,當(dāng)所有的m個樣本模式對都提供給網(wǎng)絡(luò)學(xué)習(xí)一遍后,,還需從頭再繼續(xù)提供給網(wǎng)絡(luò)學(xué)習(xí)。直到達到最大學(xué)習(xí)次數(shù),,以防止發(fā)散或無限震蕩,,或者滿足誤差限制。
3 計算機控制系統(tǒng)
機器人重心位置是由腳底的力傳感器測定的,。當(dāng)某一側(cè)的傳感器輸出值趨于零或小于預(yù)定的值時,,說明重心已經(jīng)偏向相反的另一側(cè),機器人處于危險狀態(tài),。這時機器人就應(yīng)該產(chǎn)生一定的動作,,向另一側(cè)跨出一腳,以使機器人的重心位于支撐面內(nèi),。
整個控制系統(tǒng)如圖2所示,。
其中,y(t)是傳感器輸出向量,,為模擬量,,經(jīng)采樣、A/D轉(zhuǎn)換后為人工神經(jīng)網(wǎng)絡(luò)感知器的輸入向量y(kt),。
本文取感知器的輸入層單元與輸出層單元的個數(shù)相同,。感知器經(jīng)過訓(xùn)練好以后,系統(tǒng)將時實監(jiān)控機器人的重心位置,,當(dāng)重心偏向某側(cè),,相反側(cè)的力傳感器的輸入小于設(shè)定的安全值時,,神經(jīng)網(wǎng)絡(luò)相應(yīng)于該側(cè)的輸出為1,其余均為0,,系統(tǒng)將根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出,,做出相應(yīng)的動作指令;當(dāng)傳感器的輸入均大于設(shè)定安全值時,,神經(jīng)網(wǎng)絡(luò)的輸出均為0,系統(tǒng)不產(chǎn)生任何動作指令,。
4 仿真
本文假設(shè)在機器人的腳底安裝有力傳感器,,左腳的后部、左部和前部各一個,,右腳的前部,、右部和后部各一個。依次編號為pi,i=1,2,Λ 6,,構(gòu)成輸入向量
P=[p1,,p2,p3,,p4,,p5,p6]T
假設(shè)機器人的重是100kgf,,當(dāng)機器人的腳底的傳感器輸出為2kgf,,即認為機器人處于危險狀態(tài)。設(shè)神經(jīng)網(wǎng)絡(luò)感知器的輸入為
對應(yīng)的理想輸出為
即認為力傳感器的輸出為2kgf時機器人處于危險狀態(tài),,傳感器的輸出為3kgf時,,認為機器人處于安全狀態(tài)。連接權(quán)值和閥值的初始值分別是
經(jīng)過n=1335次迭貸,,輸出達到期望值,。連接權(quán)值和閥值分別為
5 結(jié)論
本文就雙足行走機器人" title="雙足行走機器人">雙足行走機器人的穩(wěn)定性控制提出了一種新的控制方法,它是建立在人工神經(jīng)網(wǎng)絡(luò)感知器上,。試驗表明,,該方法簡單易行。