張海濤
摘要:隨著機器人技術的不斷發展,越來越多的自動化生產采用機械臂來實現,如何使機械臂在運行過程中實現精確控制,是當今機械工程方向研究的重點內容。本文以某生產線運行的六自由度機械臂為討論對象,討論基于神經網絡的軌跡控制問題。由于神經網絡在非線性處理方面的優點,因此嘗試將BP和RBF神經網絡應用于機械臂軌跡規劃的逆運動學求解中,以期取得較好的效果。
關鍵詞:六自由度;機械臂;神經網絡;軌跡控制
中圖分類號:TP241? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1674-957X(2020)21-0201-02
0? 引言
機械臂逆運動學求解就是在已知機械臂末端執行器的目標位姿的情況下來求解機械臂各關節的空間參數的變換規律,并最終求解出相應狀態點的具體數值。在末端位姿已知的情況下,除了要求解機械臂各關節的具體的空間參數的數學描述外,各關節點在運動過程中的速度和加速度等相關參數也是至關重要的。較大的速度和加速度會引起機械臂非正常的振動,嚴重情況下會損壞機械臂。只有速度和加速度限定在一定范圍內,才能保證機械臂的平穩運行。機械臂的逆運動學求解采用傳統的求解方法,不僅速度慢,而且精度不高,數值也不能完全令人滿意。人工神經網絡在求解非線性問題方面具有較多良好的特性。這包括較強的魯棒性、自適應調整能力和并行處理能力等等,而這些正是機械臂在逆運動學求解過程中所需要的。本文將討論神經網絡在機械臂逆運動學求解中的應用。
1? BP神經網絡
隨著計算機處理能力越來越強,人工神經網絡也在技術和算法方面得到了飛速的提升。人工神經網絡采用分布式的運算方式,在非線性問題和復雜問題求解方面有較好的應用前景,能夠對機械臂的運行過程的求解提供新的解決方案。人工神經網絡有很多種不同的分類,七模型的核心是針對的是不同的結構算法,其中BP神經網絡誤差反向傳播技術最為成熟。BP神經網絡有的特點是當神經元的個數足夠多時,可以對任何非線性模型進行逼近運算,并最終得到滿足要求的求解數值。網絡權值進行求解通過以全局逼近的方式,信息分布在神經元與神經元之間的網絡權值之中,所以BP網絡具有較好的魯棒性和容錯性。
由結構如圖1所示,我們可以看出BP網絡是一個單向傳播的多層前項反饋網絡。主要包括三部分:輸入層、隱含層及輸出層。BP網絡的學習主要分為兩部分,一部分是信號的正向傳播,另一部分是誤差的反向兩部分構成,如圖2。當要計算出其具體的誤差變化,尤其在實際和期望值相差較大的時候??梢允褂锰荻认陆捣▉聿粩嗟男薷乃拈撝岛蜋嘀?,使他達到期望的目標。
2? RBF神經網絡
RBF是一種具有很強的局部逼近能力的徑向基神經網絡。圖3所示的結構為RBF神經元模型的隱含層結構。
其中,向量wl表示網絡的權值,bl表示網絡閾值,向量Xq表示網絡的輸入。RBF神經網絡的徑向基傳遞函數為:
其中,。
在RBF徑向基神經元中它的輸出為1,則它的輸入自變量則為0。當輸入向量和權值之間的距離 dist 不斷的縮小,而神經網絡中的數值輸出是逐漸增加的,這體現了RBF徑向神經網絡具有較強的數值收斂的能力。
3? 運用BP和RBF的逆運動學求解
3.1 逆運動學求解
求解機械臂逆運動學問題本文采用了BP和RBF結合的方法來求解,從而將求解逆向運動學的問題轉化成有關訓練神經網絡權值和閾值的問題來求解。
以PUMA560機械臂為列,逆運動學問題的求解就是在已知機械臂末端的執行器位姿A的條件下,來求解各關節變量?茲1,?茲2,?茲3,?茲4,?茲5,?茲6。在A中的第四行的四個元素是常數,所以整個網絡的輸入,選用剩下的12個元素,因此輸入向量為q=[nx ny nz ox oy oz ax ay az px py pz],將6個關節角作為整個神經網絡的輸出,因此輸出向量為Z=[?茲1,?茲2,?茲3,?茲4,?茲5,?茲6]。
BP神經網絡在訓練的過程中,需要選擇合適的節點數量,數量太少時,無法完成訓練,數量太多時神經網絡的泛化能力又會下降,本文中討論的神經網絡訓練節點的選擇在滿足訓練能力的基礎上,盡可能較少的選擇節點數量,以期達到更好的訓練效果。采用公式如下,即:
其中輸入神經元的數目用n表示,神經元輸出的數目用t表示。因此可以得出本文選取16作為BP隱含層神經元數目。
根據上面的描述可以將機械臂的逆向運動學分為如下的幾個步驟:
①產生數據樣本集;②網絡的初始化;③選取訓練樣本和測試樣本;④選用合適的訓練數據進行神經網絡的訓練;⑤完成神經網絡訓練后,選擇最優數據也就是網絡中誤差最小的數據作為系統最終輸出。
3.2 仿真分析
本文選取的案例是PUMA560機械臂,通過它來進行仿真實驗,設置最初關節向量,位置PA=[0? 0? 0? 0? 0? 0]運動到終止關節位置PB=-? ? -? ?仔? -? 時,利用MATLAB中Robotics Toolbox工具箱的相關函數,通過正運動學方程式獲取2100組樣本數據。其中測試數據選用了1/3,剩下的作為訓練樣本。考慮到系統測試的可行性,在仿真實驗過程中使用了三種算法,分別是BP神經網絡、RBF神經網絡和LM算法,用初始化數據導入系統,經過訓練后的數據如圖4所示。
為了進行對比,表1中給出解決相同問題時所用的時間、訓練步數和測試誤差,在不同的網絡結構或算法情況下。為了達到良好的訓練效果,在使用神經網絡訓練過程中,需要使用不同數據,不同訓練次數,從中選擇合適的最終數據。
從表1可以看出,LM算法僅用了10步就達到了誤差目標。使用LM算法和RBF網絡,LM算法收斂的時間沒有RBF網絡快,但是訓練誤差指標差不多。但是RBF網絡僅僅用了9步迭代就完成了系統的誤差訓練,完成時間是0.39秒,訓練完成的均方差為0.41×10-9。LM網絡僅僅用了10步就完成了系統的誤差訓練,完成時間是1.57秒,訓練完成的均方差為0.36×10-9。這兩種網絡算法能在很短的時間和很少的迭代次數中,就完成了測試誤差的訓練,能夠迅速收斂,達到很好的效果。
BP網絡的迭代次數為4500步,訓練時間為28.51秒,訓練完成的均方差為5.62×10-3。在實踐和迭代次數上均比以上兩種網絡的算法慢,但是在并行算法網絡中,所取得的效果,比任何一個單神經網絡算法的精度都要高,所用時間也會降低。
4? 結論
通過前面的仿真數據分析,我們可以得到如下的結論,即為了對機械臂的逆運動學進行求解,神經網絡BP和RBF算法在機械臂軌跡求解過程中有著良好的特性,可以使誤差在很短的時間和很少的步數情況下實現系統數值的收斂,是一種行之有效的求解方法。每一種網絡算法在單獨求解時,可以實現良好的收縮特性,在并行網絡中,所取得的效果,比任何一個單網絡算法的精度都要高,因此在實際應用中,可以采用兩個或三個神經網絡并行運行,以期達到更好的效果。神經網絡的逆運動學求解,比傳統方法速度更快,計算量更低,收斂的速度更快,為機械臂在實際運用中的逆運動學求解提供了一種新的解決方案。
參考文獻:
[1]張盡.PUMA560機器人控制系統設計及雙重控制方法應用研究[D].哈爾濱:哈爾濱工業大學,2010.
[2]王濤.基于Matlab仿真的機器手臂笛卡爾軌跡規劃[J].湖南文理學院學報(自然科學版),2015(04).
[3]王海鳴,孔凡讓,趙曉偉.基于BP神經網絡的機器人逆運動學新算法[J].機電一體化,2009(1):46-49.
[4]王海鳴.基于神經網絡的機器人逆運動學求解[D].中國科學技術大學,2008,05.