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