亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于長短期記憶網(wǎng)絡的機械臂逆運動學解

        2020-07-01 06:55:24周恒旭何志敏
        機械與電子 2020年6期
        關鍵詞:運動學角度數(shù)值

        周恒旭,何志敏,周 燕

        (1.佛山科學技術學院自動化學院,廣東 佛山 528225; 2.佛山科學技術學院電子信息工程學院,廣東 佛山 528225)

        0 引言

        機械臂是融合了機械工程、電子技術、計算機技術和自動控制理論等多學科的技術設備。逆運動學的求解是機械臂領域中的重要問題之一,它關系著機械臂的運動分析、軌跡規(guī)劃和編程控制等任務的進行,尤其是對于6自由度的連桿型機械臂,其逆運動學解最多有16組[1-3],計算復雜,且不一定具有解析表達式。求解機械臂型機器人的逆運動學解有多種方法,常見有幾何法、代數(shù)法和數(shù)值法。幾何法和代數(shù)法可以求得解析解,故可稱為解析法。解析解為一封閉形式的函數(shù),因此對任一獨立變量,可將其代入解析函數(shù)求得正確的相應變量,因此,解析解也被稱為閉式解。求解閉式解一般比數(shù)值解快,且容易區(qū)分可能的解,但閉式解的缺點是不通用,對求解的機械臂有限制,需滿足Pieper準則[4]才能具有逆運動學閉式解。有些特種機械臂構型為了擴大末端姿態(tài)調(diào)整范圍,是不滿足Pieper準則的。對于數(shù)值法,它不依賴于特定形式的運動學結構,但求解速度慢,函數(shù)構造復雜。

        文獻[5]提出一種旋量理論結合代數(shù)消元求解逆運動學,克服了運動學標定中存在的奇異性問題,但求解過程較為復雜。文獻[6]提出一種四元矩陣和Groebner基的消元法,獲得沒有增根的一元16階方程,但具體操作過于復雜。文獻[7]采用雅克比矩陣偽逆矩陣解決了在奇異處無法求解的情況,但求解角度精度只能達到0.01°級別。文獻[8]提出一種用粒子群優(yōu)化結合BP神經(jīng)網(wǎng)絡求解逆運動學的方法,但關節(jié)角度誤差達到0.1°級別,有待提升。文獻[9]提出一種用人工神經(jīng)網(wǎng)絡求解逆運動學,并取得較好的效果。文獻[10]采用一系列的生成對抗網(wǎng)絡配合真實數(shù)據(jù)求解逆運動學和逆動力學,實驗表明該方法可行且網(wǎng)絡會根據(jù)不同的電機選擇不同的網(wǎng)絡參數(shù)。文獻[11]采用神經(jīng)網(wǎng)絡求解7自由度機械臂的逆運動學。文獻[12]展示基于神經(jīng)網(wǎng)絡求解逆運動學的三節(jié)機械臂能通過奇異點。除了串聯(lián)型機械臂,并聯(lián)型機械臂的運動學也可用神經(jīng)網(wǎng)絡求解[13]。

        研究發(fā)現(xiàn),求解機械臂的逆運動學方法主要是改進迭代法和消元法,但依然存在操作復雜和耗時長等缺點。近年來,深度學習被廣泛地應用在圖像識別和語音識別等領域。理論上,在訓練好的深度神經(jīng)網(wǎng)絡上經(jīng)過1次傳播即可得到相關的映射結果。利用神經(jīng)網(wǎng)絡技術求解機械臂的逆運動學本質(zhì),是對機械臂工作空間中的笛卡爾坐標系與關節(jié)空間坐標系之間的映射,同時也是同種坐標系下時序值之間的擬合。另外在避免奇異點的問題上,一般采用2種方法:規(guī)劃的路徑盡量避開奇異點;優(yōu)化機械臂逆運動學求解算法,保證奇異點范圍內(nèi)的偽逆解的穩(wěn)定性。而神經(jīng)網(wǎng)絡求解逆運動學的結果是一種偽逆解。經(jīng)過研究發(fā)現(xiàn),基于長短期記憶網(wǎng)絡(LSTM)求解機械臂的逆運動學的精度較高。在此,以UR5機械臂為研究對象,提出了一種機械臂逆運動學求解算法。

        1 UR5機械臂運動學模型

        1.1 UR5機械臂的正運動學

        機械臂的運動學方程描述了機械臂的工作空間和關節(jié)空間之間的數(shù)學映射關系。UR5機械臂是典型的開放式鏈式結構,由6個關節(jié)連接各臂,6個關節(jié)輸入角度為θ=[θ1,θ2,θ3,θ4,θ5,θ6]。UR5機械臂的D-H坐標系如圖1所示。

        圖1 UR5機械臂的D-H坐標系

        (1)

        變換矩陣可被拆分成1個變換鏈:

        (2)

        根據(jù)UR5機械臂的機械設計參數(shù)和關節(jié)之間的關系,建立能精確描述與實際的UR5拓撲結構相符的D-H表,如表1所示。

        表1 UR5機械臂的D-H參數(shù)

        表1中,α為機械臂的連桿轉(zhuǎn)角;a為連桿長度;θ為關節(jié)角度;d為連桿偏距。

        利用D-H參數(shù)為每個鏈接編寫變換矩陣。臂i-1與臂i之間的變換為

        (3)

        1.2 UR5機械臂的正運動學驗證

        因后續(xù)的訓練集是由MATLAB和robotics toolbox在UR5機械臂的工作空間中獲取的,故必須驗證MATLAB和robotics求解的正運動學數(shù)值是否與由式(1)~式(3)求出的數(shù)值一致。如果不對UR5機械臂的運動學模型進行驗證,則無法說明UR5機械臂的參數(shù)是否有效,也無法獲得有效可靠的訓練數(shù)據(jù)集。隨機取3組關節(jié)角度值(單位為弧度):θa=[1,1,1,1,1,1],θb=[2,1.5-1,1.2,-0.7,0.3],θc=[1.2,-0.7,2.1,-0.3,0.5,-1.3]。將UR5機械臂的D-H參數(shù)與這3組關節(jié)角度值代入式(1)~式(3),求得變換矩陣。其中,旋轉(zhuǎn)矩陣用偏轉(zhuǎn)角、俯仰角和回轉(zhuǎn)角表示,即x-y-z歐拉角度。整理得UR5機械臂正運動學解如表2所示。

        表2 UR5機械臂正運動學解

        利用UR5機械臂D-H參數(shù),在MATLAB與robotics toolbox環(huán)境下進行仿真驗證,輸入同樣的3組關節(jié)角度,求得UR5機械臂位姿,即正運動解,如表3所示。

        表3 仿真中的UR5機械臂正運動學解

        目前,機械臂重復精度在±0.1 mm之間,絕對精度在±10 mm之間,故表中保留0.1 mm精度。對比表2和表3,發(fā)現(xiàn)根據(jù)公式獲得的正運動學解與仿真環(huán)境得出的正運動學解非常接近,也意味著后續(xù)采集的數(shù)據(jù)集是有效的,同時也印證了UR5機械臂的運動學模型是正確的。

        2 訓練數(shù)據(jù)集獲取

        2.1 UR5機械臂的工作空間分析

        機械臂的工作空間是指機械臂的末端執(zhí)行器所能到達的三維空間范圍。對UR5機械臂工作空間分析是獲取準確訓練數(shù)據(jù)集的前提,只有所有的訓練集數(shù)據(jù)位于UR5機械臂的工作空間內(nèi),后續(xù)訓練出的網(wǎng)絡模型才具有實際應用意義。

        主流的工作空間方法有解析法[14]、數(shù)值法[15]和圖解法[16],其中數(shù)值法中具有代表性的是蒙特卡洛法[17]。解析法操作煩瑣,實際應用不推薦;圖解法作圖復雜,只適用于自由度較少的機械臂[18];數(shù)值法是計算工作空間邊界曲面上的點,其理論易理解,但準確性與取點及計算機速度有關[19];蒙特卡洛法是通過大量隨機的關節(jié)角度值,經(jīng)過正運動學求解來獲取到工作空間里所能到達的點,只要采樣數(shù)據(jù)足夠大,就能充分表示出整個工作空間,同時也有利于收集到大量與關節(jié)空間對應的工作空間的數(shù)據(jù),即6個關節(jié)角度值對應其變換矩陣。故本文采用蒙特卡洛法收集訓練數(shù)據(jù)集。

        在MATLAB中配合robotics toolbox,利用已經(jīng)建立好的UR5機械臂運動學模型,設置其關節(jié)限制角度:θ1=[-180°,180°],θ2=[0°,90°],θ3=[-90°,90°],θ4=[-180°,180°],θ5=[-90°,90°],θ6=[0°,360°]。使用蒙特卡羅法,產(chǎn)生各關節(jié)的隨機變量,使用ifine()函數(shù)計算正運動學解,蒙特卡洛隨機采樣點為30 000組,將UR5機械臂的工作空間可視化,如圖2所示。

        圖2 UR5機械臂的工作空間

        2.2 數(shù)據(jù)集的獲取

        記錄每次隨機的關節(jié)角度組和對應所求出的變換矩陣,使用robotics toolbox中的transl()函數(shù),從變換矩陣中提取出位置矩陣再轉(zhuǎn)置成1×3的位置矩陣,同時使用t2r()函數(shù),從變換矩陣中提取3×3的旋轉(zhuǎn)矩陣,再利用tr2rpy()函數(shù)將旋轉(zhuǎn)矩陣轉(zhuǎn)化為歐拉角。將位置矩陣、歐拉角和關節(jié)角度組保存下來,一共12維30 000組。

        3 基于LSTM的機械臂逆解的求解

        在深度學習領域里,主流的網(wǎng)絡是卷積神經(jīng)網(wǎng)絡(CNN)與循環(huán)神經(jīng)網(wǎng)絡(RNN)。RNN網(wǎng)絡能處理記憶信息,而其他類型的神經(jīng)網(wǎng)絡不能處理記憶信息,該特性在時序預測上至關重要,因為時序信息跟前后內(nèi)容相關。另一方面,對于機械臂,其運動過程是一種時序過程,且前后每個關節(jié)的空間變化是相關的。利用RNN網(wǎng)絡,進行機械臂的笛卡爾坐標系與關節(jié)空間坐標系的映射和對應數(shù)值擬合預測是可行的。但是由于RNN網(wǎng)絡有梯度消失的問題,難處理長序列的數(shù)據(jù),為了解決這一難題,一種時間循環(huán)神經(jīng)網(wǎng)絡,即長短期記憶網(wǎng)絡(LSTM)被研究出來[20]。各類LSTM網(wǎng)絡在數(shù)據(jù)預測方面有著較廣泛的應用,如交通流預測和故障預測等[21-22]。

        3.1 LSTM網(wǎng)絡的訓練

        在時序預測和數(shù)據(jù)擬合方面,LSTM網(wǎng)絡已經(jīng)成為主流的方法之一。LSTM是一種含有LSTM區(qū)塊的神經(jīng)網(wǎng)絡。LSTM區(qū)塊如圖3所示,包含輸入門、遺忘門和輸出門,以及與隱藏信息狀態(tài)形狀相同的記憶細胞單元,從而記錄額外的信息。其中,C同時為控制參數(shù),決定著信息的保留或遺忘,σ是一種門,決定著信息通過的方式,使用Sigmoid函數(shù)實現(xiàn)該功能的計算。多個LSTM區(qū)塊的連接再配合一些隱含層和全連接層即可組成LSTM網(wǎng)絡。

        圖3 LSTM區(qū)塊

        利用之前獲得的12維30 000組數(shù)據(jù)集輸入網(wǎng)絡進行訓練,數(shù)據(jù)集前25 000組為訓練集,余下的5 000組為測試集。輸入數(shù)據(jù)為機械臂的工作空間的數(shù)據(jù)[x,y,z,α,β,γ],標簽數(shù)據(jù)為關節(jié)空間的數(shù)據(jù)[θ1,θ2,θ3,θ4,θ5,θ6]。

        在進行訓練前,需對數(shù)據(jù)進行標準化處理,標準化后的數(shù)據(jù)的均值為0、標準差為1。因訓練數(shù)據(jù)既有位置數(shù)值也有角度數(shù)值,標準化是為了避免某個維度的特征重要程度過大或過小,使得數(shù)據(jù)集里的異常點影響降低。標準化處理的操作如式(4)所示:

        (4)

        對于式(4),是對每1列進行操作,mean為平均值,σ為標準差。

        為了準確評價預測求解模型的有效性,對每一列的關節(jié)數(shù)據(jù)采用均方誤差(MSE)來評價指標評判模型的預測效果。如式(5):

        (5)

        f(x)為網(wǎng)絡模型預測的關節(jié)角度;y為實際關節(jié)角度值;n為樣本數(shù)。

        訓練參數(shù)設置為:BATCH_SIZE 為30;隱含層單元CELL_SIZE 為10;學習率LR為0.001。重復進行10次訓練實驗,記錄每1次訓練過程中的訓練誤差和測試誤差求平均,繪制訓練和測試過程誤差如圖4所示,每輪迭代后會使用測試集的數(shù)據(jù)計算模型的MSE。

        圖4 訓練和測試過程的誤差損失

        圖4中,實線表示訓練過程的MSE變化趨勢,虛線表示測試過程的MSE變化趨勢。對于訓練過程,在迭代400次時,誤差損失從32降低到2左右,在3 000次時,誤差損失達到0.000 5級別時,之后誤差損失并不會出現(xiàn)明顯大幅的下降。對于測試過程,在迭代500次前,測試的MSE趨勢不穩(wěn)定。隨著訓練的增加,測試的MSE不斷下降,在迭代次數(shù)在1 500次之后時趨于平穩(wěn),其MSE穩(wěn)定在0.005級別??紤]到這些數(shù)據(jù)是標準后的數(shù)值,0.005級別精度也已經(jīng)達到關節(jié)角度的分單位級別,完全滿足機械臂運動精度要求。

        LSTM模型訓練后,接著使用測試集進行預測網(wǎng)絡的測試。以機械臂第1個關節(jié)為例,其測試預測效果如圖5所示。圖5中,實線為LSTM網(wǎng)絡預測的值,虛線為實際值,縱坐標表示標準化處理后的關節(jié)值,橫坐標表示5 000組測試集的前60組數(shù)據(jù)。由圖5可知,實線與虛線基本完全重合,意味著LSTM網(wǎng)絡預測的值十分接近實際值,說明了訓練達到預期效果。同時通過程序查看,可知預測求解值和實際值之差在0.001級別。

        圖5 機械臂第1關節(jié)的實際值與LSTM預測值對比

        3.2 LSTM網(wǎng)絡的性能對比與分析

        單純分析網(wǎng)絡模型訓練后的求解結果,只能說明預測求解精度滿足機械臂運動要求,這并不能完全體現(xiàn)長短期神經(jīng)網(wǎng)絡求解逆運動學的優(yōu)勢。故繼續(xù)對本文所提出的LSTM求解法的進行精度和速度的性能測試。本次實驗硬件為Intel i5-8300H和NVIDIA GTX 1050Ti。

        在精度性能方面,對LSTM網(wǎng)絡使進行10次訓練并測試,統(tǒng)計計算其MSE,與經(jīng)典的BP網(wǎng)絡與RBF網(wǎng)絡相互比較,參考文獻[23]的結果,繪制結果對比表,如表4所示。

        表4 3種網(wǎng)絡求解結果對比

        據(jù)表4分析得知,LSTM的精度遠大于BP網(wǎng)絡與RBF網(wǎng)絡。一方面這得益于LSTM網(wǎng)絡在長段數(shù)據(jù)擬合方面有著得天獨厚的優(yōu)勢;另一方面BP網(wǎng)絡與RBF網(wǎng)絡存在預測極限的問題,當?shù)竭_預測極限時,隨著訓練的提高,預測效果反而下降,即過擬合現(xiàn)象。

        在速度性能方面,對于傳統(tǒng)解法,根據(jù)式(1)~式(3)編寫求解UR5機械臂逆運動的代碼,使用語言為Python。對于LSTM網(wǎng)絡求解法,通過載入之前訓練好的模型文件。2個方法輸入相同的變換矩陣,記錄2種方法得出6個關節(jié)角度值的時間,進行20次實驗,繪制成對比圖,如圖6所示。圓點表示公式求解耗時;星號點表示LSTM求解耗時。對20次實驗進行加權平均,得出公式求解平均耗時為0.405 2 s,LSTM求解平均耗時為0.229 8 s。這說明了LSTM求解方法快于傳統(tǒng)的公式求解法。LSTM求解法耗時約等于傳統(tǒng)公式求解法的一半。

        圖6 公式求解與LSTM求解耗時對比

        4 仿真實驗

        為了進一步驗證LSTM網(wǎng)絡的求解效果。將在機器人仿真器CoppeliaSim上進行仿真實驗。CoppeliaSim是機器人仿真軟件,基于分布式控制結構,可以通過嵌入式腳本、插件、ROS或遠程客戶端控制每個對象模型,使得CoppeliaSim通用。

        實驗使用MATLAB編寫代碼與CoppeliaSim進行通信和聯(lián)合仿真,MATLAB負責將LSTM模型求解的逆運動學解的結果傳遞給CoppeliaSim里的UR5機械臂,并控制UR5機械臂進行仿真運動,具體的實驗流程如圖7所示。

        圖7 MATLAB與CoppeliaSim聯(lián)合仿真流程

        4.1 直線運動仿真

        在UR5工作空間上選取直線路徑點(有多段直線組成路徑),路徑點同時也為機械臂在某時刻的末端姿態(tài)。路徑點的具體數(shù)值如表5所示。

        表5 直線路徑點的數(shù)值

        經(jīng)過LSTM求解后,將獲得對應的逆運動學結果傳遞給由CoppeliaSim控制的UR5機械臂,使UR5機械臂進行直線運動。機械臂的末端運動軌跡用黑色軌跡顯示出來,如圖8所示。

        圖8 UR5機械臂的直線運動

        記錄UR5機械臂運動過程的關節(jié)角度變化數(shù)值,并繪制曲線圖,如圖9所示。

        圖9 UR5機械臂直線運動時各關節(jié)角度變化

        在圖9中,1表示第1個關節(jié)的角度,2表示第2個關節(jié)的角度,以此類推。由圖9可知,除了第1關節(jié)外,其他關節(jié)變化平緩,這是由于選取的直線路徑有個折線拐彎,圍繞著UR5機械臂拐彎,所以第1關節(jié)角度出現(xiàn)反轉(zhuǎn)變化。總體而言,仿真運動軌跡跟選取的軌跡基本一致,直線部分沒有明顯的抖動,證明了LSTM模型求解結果的準確性。

        4.2 圓弧運動仿真

        在UR5工作空間上選取圓弧路徑點,路徑點的具體數(shù)值(部分)如表6所示。

        經(jīng)過LSTM求解后,將獲得對應的逆運動學結果傳遞給由CoppeliaSim控制的UR5機械臂,使UR5機械臂進行圓弧運動。機械臂的末端運動軌跡用黑色軌跡顯示出來,如圖10所示。

        表6 圓弧路徑點的數(shù)值(部分)

        圖10 UR5機械臂的圓弧運動

        記錄UR5機械臂運動過程的關節(jié)角度變化數(shù)值,并繪制曲線圖,如圖11所示。

        圖11 UR5機械臂圓弧運動時各關節(jié)角度變化

        在圖11中,1表示第1個關節(jié)的角度,2表示第2個關節(jié)的角度,以此類推。由圖11可知,除了第1個關節(jié)外,其他關節(jié)變化平緩,這是由于選取的圓弧路徑經(jīng)過UR5機械臂的0坐標系的y軸,故在進行完整的圓弧路徑運動時,第1個關節(jié)角度出現(xiàn)反轉(zhuǎn)變化??傮w而言,仿真運動軌跡跟選取的軌跡基本一致,弧線部分沒有明顯的抖動,證明了LSTM模型求解結果的準確性。

        5 結束語

        本文提出了基于長短期記憶網(wǎng)絡的機械臂逆運動學求解算法。通過研究及實驗發(fā)現(xiàn),基于LSTM求解機械臂逆運動學解具有很高的精度,結合3.1節(jié)分析和表4,關節(jié)角度誤差控制在分單位級別,完全滿足實際的使用需要,同時避免了傳統(tǒng)公式求解法的復雜操作使用過程。實驗結果顯示LSTM運算速度快,求解法耗時約等于傳統(tǒng)公式求解法的一半。另外,LSTM擁有記憶功能以記憶每個關節(jié)之間的變換規(guī)律,故相比于其他網(wǎng)絡有較高的精度。由CoppeliaSim的仿真實驗可知,仿真運動軌跡跟選取的軌跡基本一致,弧線部分沒有明顯的抖動,證明了LSTM模型求解結果的準確性。

        猜你喜歡
        運動學角度數(shù)值
        用固定數(shù)值計算
        神奇的角度
        數(shù)值大小比較“招招鮮”
        基于MATLAB的6R機器人逆運動學求解分析
        一個涉及角度和的幾何不等式鏈的改進
        基于D-H法的5-DOF串并聯(lián)機床運動學分析
        角度不同
        37°女人(2017年8期)2017-08-12 11:20:48
        人啊
        滇池(2017年7期)2017-07-18 19:32:42
        基于Fluent的GTAW數(shù)值模擬
        焊接(2016年2期)2016-02-27 13:01:02
        基于運動學原理的LBI解模糊算法
        蜜桃av人妻精品一区二区三区| 十八岁以下禁止观看黄下载链接| 色一情一乱一伦一区二区三欧美| 欧美a级在线现免费观看| 亚洲欧洲日韩另类自拍| 最新国产精品精品视频| 亚洲精品一区二区三区四区| 日韩肥臀人妻中文字幕一区| 97se色综合一区二区二区| 一本一道vs无码中文字幕| 日本三级欧美三级人妇视频黑白配 | 乱码av麻豆丝袜熟女系列| 亚洲av之男人的天堂网站| 国产人成精品综合欧美成人| 国产视频最新| 亚洲一区免费视频看看| 国产精品一区二区三区卡| 狠狠色综合7777久夜色撩人| 久久精品国产亚洲精品| 亚洲自拍愉拍| 国产福利一区二区三区在线观看 | 国产一区二区三区免费在线视频| 免费人妻精品区一区二区三| 国产自拍91精品视频| 中出人妻希奇杰卡西av| 色www永久免费视频| 精品少妇ay一区二区三区| 精品综合久久久久久8888 | 亚洲av无一区二区三区久久蜜桃| 国产亚洲成av人片在线观黄桃| 久久99热久久99精品| 精品2021露脸国产偷人在视频 | 国产精品美女久久久久久久久| 无码日日模日日碰夜夜爽| 女同国产日韩精品在线| 美女脱了内裤洗澡视频 | 国语对白福利在线观看| 三年片大全在线观看免费观看大全| 亚洲国产美女精品久久久久| 国产尤物二区三区在线观看| 亚洲人妻精品一区二区三区|