周恒旭,何志敏,周 燕
(1.佛山科學(xué)技術(shù)學(xué)院自動化學(xué)院,廣東 佛山 528225; 2.佛山科學(xué)技術(shù)學(xué)院電子信息工程學(xué)院,廣東 佛山 528225)
機(jī)械臂是融合了機(jī)械工程、電子技術(shù)、計(jì)算機(jī)技術(shù)和自動控制理論等多學(xué)科的技術(shù)設(shè)備。逆運(yùn)動學(xué)的求解是機(jī)械臂領(lǐng)域中的重要問題之一,它關(guān)系著機(jī)械臂的運(yùn)動分析、軌跡規(guī)劃和編程控制等任務(wù)的進(jìn)行,尤其是對于6自由度的連桿型機(jī)械臂,其逆運(yùn)動學(xué)解最多有16組[1-3],計(jì)算復(fù)雜,且不一定具有解析表達(dá)式。求解機(jī)械臂型機(jī)器人的逆運(yùn)動學(xué)解有多種方法,常見有幾何法、代數(shù)法和數(shù)值法。幾何法和代數(shù)法可以求得解析解,故可稱為解析法。解析解為一封閉形式的函數(shù),因此對任一獨(dú)立變量,可將其代入解析函數(shù)求得正確的相應(yīng)變量,因此,解析解也被稱為閉式解。求解閉式解一般比數(shù)值解快,且容易區(qū)分可能的解,但閉式解的缺點(diǎn)是不通用,對求解的機(jī)械臂有限制,需滿足Pieper準(zhǔn)則[4]才能具有逆運(yùn)動學(xué)閉式解。有些特種機(jī)械臂構(gòu)型為了擴(kuò)大末端姿態(tài)調(diào)整范圍,是不滿足Pieper準(zhǔn)則的。對于數(shù)值法,它不依賴于特定形式的運(yùn)動學(xué)結(jié)構(gòu),但求解速度慢,函數(shù)構(gòu)造復(fù)雜。
文獻(xiàn)[5]提出一種旋量理論結(jié)合代數(shù)消元求解逆運(yùn)動學(xué),克服了運(yùn)動學(xué)標(biāo)定中存在的奇異性問題,但求解過程較為復(fù)雜。文獻(xiàn)[6]提出一種四元矩陣和Groebner基的消元法,獲得沒有增根的一元16階方程,但具體操作過于復(fù)雜。文獻(xiàn)[7]采用雅克比矩陣偽逆矩陣解決了在奇異處無法求解的情況,但求解角度精度只能達(dá)到0.01°級別。文獻(xiàn)[8]提出一種用粒子群優(yōu)化結(jié)合BP神經(jīng)網(wǎng)絡(luò)求解逆運(yùn)動學(xué)的方法,但關(guān)節(jié)角度誤差達(dá)到0.1°級別,有待提升。文獻(xiàn)[9]提出一種用人工神經(jīng)網(wǎng)絡(luò)求解逆運(yùn)動學(xué),并取得較好的效果。文獻(xiàn)[10]采用一系列的生成對抗網(wǎng)絡(luò)配合真實(shí)數(shù)據(jù)求解逆運(yùn)動學(xué)和逆動力學(xué),實(shí)驗(yàn)表明該方法可行且網(wǎng)絡(luò)會根據(jù)不同的電機(jī)選擇不同的網(wǎng)絡(luò)參數(shù)。文獻(xiàn)[11]采用神經(jīng)網(wǎng)絡(luò)求解7自由度機(jī)械臂的逆運(yùn)動學(xué)。文獻(xiàn)[12]展示基于神經(jīng)網(wǎng)絡(luò)求解逆運(yùn)動學(xué)的三節(jié)機(jī)械臂能通過奇異點(diǎn)。除了串聯(lián)型機(jī)械臂,并聯(lián)型機(jī)械臂的運(yùn)動學(xué)也可用神經(jīng)網(wǎng)絡(luò)求解[13]。
研究發(fā)現(xiàn),求解機(jī)械臂的逆運(yùn)動學(xué)方法主要是改進(jìn)迭代法和消元法,但依然存在操作復(fù)雜和耗時(shí)長等缺點(diǎn)。近年來,深度學(xué)習(xí)被廣泛地應(yīng)用在圖像識別和語音識別等領(lǐng)域。理論上,在訓(xùn)練好的深度神經(jīng)網(wǎng)絡(luò)上經(jīng)過1次傳播即可得到相關(guān)的映射結(jié)果。利用神經(jīng)網(wǎng)絡(luò)技術(shù)求解機(jī)械臂的逆運(yùn)動學(xué)本質(zhì),是對機(jī)械臂工作空間中的笛卡爾坐標(biāo)系與關(guān)節(jié)空間坐標(biāo)系之間的映射,同時(shí)也是同種坐標(biāo)系下時(shí)序值之間的擬合。另外在避免奇異點(diǎn)的問題上,一般采用2種方法:規(guī)劃的路徑盡量避開奇異點(diǎn);優(yōu)化機(jī)械臂逆運(yùn)動學(xué)求解算法,保證奇異點(diǎn)范圍內(nèi)的偽逆解的穩(wěn)定性。而神經(jīng)網(wǎng)絡(luò)求解逆運(yùn)動學(xué)的結(jié)果是一種偽逆解。經(jīng)過研究發(fā)現(xiàn),基于長短期記憶網(wǎng)絡(luò)(LSTM)求解機(jī)械臂的逆運(yùn)動學(xué)的精度較高。在此,以UR5機(jī)械臂為研究對象,提出了一種機(jī)械臂逆運(yùn)動學(xué)求解算法。
機(jī)械臂的運(yùn)動學(xué)方程描述了機(jī)械臂的工作空間和關(guān)節(jié)空間之間的數(shù)學(xué)映射關(guān)系。UR5機(jī)械臂是典型的開放式鏈?zhǔn)浇Y(jié)構(gòu),由6個(gè)關(guān)節(jié)連接各臂,6個(gè)關(guān)節(jié)輸入角度為θ=[θ1,θ2,θ3,θ4,θ5,θ6]。UR5機(jī)械臂的D-H坐標(biāo)系如圖1所示。
圖1 UR5機(jī)械臂的D-H坐標(biāo)系
(1)
變換矩陣可被拆分成1個(gè)變換鏈:
(2)
根據(jù)UR5機(jī)械臂的機(jī)械設(shè)計(jì)參數(shù)和關(guān)節(jié)之間的關(guān)系,建立能精確描述與實(shí)際的UR5拓?fù)浣Y(jié)構(gòu)相符的D-H表,如表1所示。
表1 UR5機(jī)械臂的D-H參數(shù)
表1中,α為機(jī)械臂的連桿轉(zhuǎn)角;a為連桿長度;θ為關(guān)節(jié)角度;d為連桿偏距。
利用D-H參數(shù)為每個(gè)鏈接編寫變換矩陣。臂i-1與臂i之間的變換為
(3)
因后續(xù)的訓(xùn)練集是由MATLAB和robotics toolbox在UR5機(jī)械臂的工作空間中獲取的,故必須驗(yàn)證MATLAB和robotics求解的正運(yùn)動學(xué)數(shù)值是否與由式(1)~式(3)求出的數(shù)值一致。如果不對UR5機(jī)械臂的運(yùn)動學(xué)模型進(jìn)行驗(yàn)證,則無法說明UR5機(jī)械臂的參數(shù)是否有效,也無法獲得有效可靠的訓(xùn)練數(shù)據(jù)集。隨機(jī)取3組關(guān)節(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機(jī)械臂的D-H參數(shù)與這3組關(guān)節(jié)角度值代入式(1)~式(3),求得變換矩陣。其中,旋轉(zhuǎn)矩陣用偏轉(zhuǎn)角、俯仰角和回轉(zhuǎn)角表示,即x-y-z歐拉角度。整理得UR5機(jī)械臂正運(yùn)動學(xué)解如表2所示。
表2 UR5機(jī)械臂正運(yùn)動學(xué)解
利用UR5機(jī)械臂D-H參數(shù),在MATLAB與robotics toolbox環(huán)境下進(jìn)行仿真驗(yàn)證,輸入同樣的3組關(guān)節(jié)角度,求得UR5機(jī)械臂位姿,即正運(yùn)動解,如表3所示。
表3 仿真中的UR5機(jī)械臂正運(yùn)動學(xué)解
目前,機(jī)械臂重復(fù)精度在±0.1 mm之間,絕對精度在±10 mm之間,故表中保留0.1 mm精度。對比表2和表3,發(fā)現(xiàn)根據(jù)公式獲得的正運(yùn)動學(xué)解與仿真環(huán)境得出的正運(yùn)動學(xué)解非常接近,也意味著后續(xù)采集的數(shù)據(jù)集是有效的,同時(shí)也印證了UR5機(jī)械臂的運(yùn)動學(xué)模型是正確的。
機(jī)械臂的工作空間是指機(jī)械臂的末端執(zhí)行器所能到達(dá)的三維空間范圍。對UR5機(jī)械臂工作空間分析是獲取準(zhǔn)確訓(xùn)練數(shù)據(jù)集的前提,只有所有的訓(xùn)練集數(shù)據(jù)位于UR5機(jī)械臂的工作空間內(nèi),后續(xù)訓(xùn)練出的網(wǎng)絡(luò)模型才具有實(shí)際應(yīng)用意義。
主流的工作空間方法有解析法[14]、數(shù)值法[15]和圖解法[16],其中數(shù)值法中具有代表性的是蒙特卡洛法[17]。解析法操作煩瑣,實(shí)際應(yīng)用不推薦;圖解法作圖復(fù)雜,只適用于自由度較少的機(jī)械臂[18];數(shù)值法是計(jì)算工作空間邊界曲面上的點(diǎn),其理論易理解,但準(zhǔn)確性與取點(diǎn)及計(jì)算機(jī)速度有關(guān)[19];蒙特卡洛法是通過大量隨機(jī)的關(guān)節(jié)角度值,經(jīng)過正運(yùn)動學(xué)求解來獲取到工作空間里所能到達(dá)的點(diǎn),只要采樣數(shù)據(jù)足夠大,就能充分表示出整個(gè)工作空間,同時(shí)也有利于收集到大量與關(guān)節(jié)空間對應(yīng)的工作空間的數(shù)據(jù),即6個(gè)關(guān)節(jié)角度值對應(yīng)其變換矩陣。故本文采用蒙特卡洛法收集訓(xùn)練數(shù)據(jù)集。
在MATLAB中配合robotics toolbox,利用已經(jīng)建立好的UR5機(jī)械臂運(yùn)動學(xué)模型,設(shè)置其關(guān)節(jié)限制角度:θ1=[-180°,180°],θ2=[0°,90°],θ3=[-90°,90°],θ4=[-180°,180°],θ5=[-90°,90°],θ6=[0°,360°]。使用蒙特卡羅法,產(chǎn)生各關(guān)節(jié)的隨機(jī)變量,使用ifine()函數(shù)計(jì)算正運(yùn)動學(xué)解,蒙特卡洛隨機(jī)采樣點(diǎn)為30 000組,將UR5機(jī)械臂的工作空間可視化,如圖2所示。
圖2 UR5機(jī)械臂的工作空間
記錄每次隨機(jī)的關(guān)節(jié)角度組和對應(yīng)所求出的變換矩陣,使用robotics toolbox中的transl()函數(shù),從變換矩陣中提取出位置矩陣再轉(zhuǎn)置成1×3的位置矩陣,同時(shí)使用t2r()函數(shù),從變換矩陣中提取3×3的旋轉(zhuǎn)矩陣,再利用tr2rpy()函數(shù)將旋轉(zhuǎn)矩陣轉(zhuǎn)化為歐拉角。將位置矩陣、歐拉角和關(guān)節(jié)角度組保存下來,一共12維30 000組。
在深度學(xué)習(xí)領(lǐng)域里,主流的網(wǎng)絡(luò)是卷積神經(jīng)網(wǎng)絡(luò)(CNN)與循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)。RNN網(wǎng)絡(luò)能處理記憶信息,而其他類型的神經(jīng)網(wǎng)絡(luò)不能處理記憶信息,該特性在時(shí)序預(yù)測上至關(guān)重要,因?yàn)闀r(shí)序信息跟前后內(nèi)容相關(guān)。另一方面,對于機(jī)械臂,其運(yùn)動過程是一種時(shí)序過程,且前后每個(gè)關(guān)節(jié)的空間變化是相關(guān)的。利用RNN網(wǎng)絡(luò),進(jìn)行機(jī)械臂的笛卡爾坐標(biāo)系與關(guān)節(jié)空間坐標(biāo)系的映射和對應(yīng)數(shù)值擬合預(yù)測是可行的。但是由于RNN網(wǎng)絡(luò)有梯度消失的問題,難處理長序列的數(shù)據(jù),為了解決這一難題,一種時(shí)間循環(huán)神經(jīng)網(wǎng)絡(luò),即長短期記憶網(wǎng)絡(luò)(LSTM)被研究出來[20]。各類LSTM網(wǎng)絡(luò)在數(shù)據(jù)預(yù)測方面有著較廣泛的應(yīng)用,如交通流預(yù)測和故障預(yù)測等[21-22]。
在時(shí)序預(yù)測和數(shù)據(jù)擬合方面,LSTM網(wǎng)絡(luò)已經(jīng)成為主流的方法之一。LSTM是一種含有LSTM區(qū)塊的神經(jīng)網(wǎng)絡(luò)。LSTM區(qū)塊如圖3所示,包含輸入門、遺忘門和輸出門,以及與隱藏信息狀態(tài)形狀相同的記憶細(xì)胞單元,從而記錄額外的信息。其中,C同時(shí)為控制參數(shù),決定著信息的保留或遺忘,σ是一種門,決定著信息通過的方式,使用Sigmoid函數(shù)實(shí)現(xiàn)該功能的計(jì)算。多個(gè)LSTM區(qū)塊的連接再配合一些隱含層和全連接層即可組成LSTM網(wǎng)絡(luò)。
圖3 LSTM區(qū)塊
利用之前獲得的12維30 000組數(shù)據(jù)集輸入網(wǎng)絡(luò)進(jìn)行訓(xùn)練,數(shù)據(jù)集前25 000組為訓(xùn)練集,余下的5 000組為測試集。輸入數(shù)據(jù)為機(jī)械臂的工作空間的數(shù)據(jù)[x,y,z,α,β,γ],標(biāo)簽數(shù)據(jù)為關(guān)節(jié)空間的數(shù)據(jù)[θ1,θ2,θ3,θ4,θ5,θ6]。
在進(jìn)行訓(xùn)練前,需對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,標(biāo)準(zhǔn)化后的數(shù)據(jù)的均值為0、標(biāo)準(zhǔn)差為1。因訓(xùn)練數(shù)據(jù)既有位置數(shù)值也有角度數(shù)值,標(biāo)準(zhǔn)化是為了避免某個(gè)維度的特征重要程度過大或過小,使得數(shù)據(jù)集里的異常點(diǎn)影響降低。標(biāo)準(zhǔn)化處理的操作如式(4)所示:
(4)
對于式(4),是對每1列進(jìn)行操作,mean為平均值,σ為標(biāo)準(zhǔn)差。
為了準(zhǔn)確評價(jià)預(yù)測求解模型的有效性,對每一列的關(guān)節(jié)數(shù)據(jù)采用均方誤差(MSE)來評價(jià)指標(biāo)評判模型的預(yù)測效果。如式(5):
(5)
f(x)為網(wǎng)絡(luò)模型預(yù)測的關(guān)節(jié)角度;y為實(shí)際關(guān)節(jié)角度值;n為樣本數(shù)。
訓(xùn)練參數(shù)設(shè)置為:BATCH_SIZE 為30;隱含層單元CELL_SIZE 為10;學(xué)習(xí)率LR為0.001。重復(fù)進(jìn)行10次訓(xùn)練實(shí)驗(yàn),記錄每1次訓(xùn)練過程中的訓(xùn)練誤差和測試誤差求平均,繪制訓(xùn)練和測試過程誤差如圖4所示,每輪迭代后會使用測試集的數(shù)據(jù)計(jì)算模型的MSE。
圖4 訓(xùn)練和測試過程的誤差損失
圖4中,實(shí)線表示訓(xùn)練過程的MSE變化趨勢,虛線表示測試過程的MSE變化趨勢。對于訓(xùn)練過程,在迭代400次時(shí),誤差損失從32降低到2左右,在3 000次時(shí),誤差損失達(dá)到0.000 5級別時(shí),之后誤差損失并不會出現(xiàn)明顯大幅的下降。對于測試過程,在迭代500次前,測試的MSE趨勢不穩(wěn)定。隨著訓(xùn)練的增加,測試的MSE不斷下降,在迭代次數(shù)在1 500次之后時(shí)趨于平穩(wěn),其MSE穩(wěn)定在0.005級別??紤]到這些數(shù)據(jù)是標(biāo)準(zhǔn)后的數(shù)值,0.005級別精度也已經(jīng)達(dá)到關(guān)節(jié)角度的分單位級別,完全滿足機(jī)械臂運(yùn)動精度要求。
LSTM模型訓(xùn)練后,接著使用測試集進(jìn)行預(yù)測網(wǎng)絡(luò)的測試。以機(jī)械臂第1個(gè)關(guān)節(jié)為例,其測試預(yù)測效果如圖5所示。圖5中,實(shí)線為LSTM網(wǎng)絡(luò)預(yù)測的值,虛線為實(shí)際值,縱坐標(biāo)表示標(biāo)準(zhǔn)化處理后的關(guān)節(jié)值,橫坐標(biāo)表示5 000組測試集的前60組數(shù)據(jù)。由圖5可知,實(shí)線與虛線基本完全重合,意味著LSTM網(wǎng)絡(luò)預(yù)測的值十分接近實(shí)際值,說明了訓(xùn)練達(dá)到預(yù)期效果。同時(shí)通過程序查看,可知預(yù)測求解值和實(shí)際值之差在0.001級別。
圖5 機(jī)械臂第1關(guān)節(jié)的實(shí)際值與LSTM預(yù)測值對比
單純分析網(wǎng)絡(luò)模型訓(xùn)練后的求解結(jié)果,只能說明預(yù)測求解精度滿足機(jī)械臂運(yùn)動要求,這并不能完全體現(xiàn)長短期神經(jīng)網(wǎng)絡(luò)求解逆運(yùn)動學(xué)的優(yōu)勢。故繼續(xù)對本文所提出的LSTM求解法的進(jìn)行精度和速度的性能測試。本次實(shí)驗(yàn)硬件為Intel i5-8300H和NVIDIA GTX 1050Ti。
在精度性能方面,對LSTM網(wǎng)絡(luò)使進(jìn)行10次訓(xùn)練并測試,統(tǒng)計(jì)計(jì)算其MSE,與經(jīng)典的BP網(wǎng)絡(luò)與RBF網(wǎng)絡(luò)相互比較,參考文獻(xiàn)[23]的結(jié)果,繪制結(jié)果對比表,如表4所示。
表4 3種網(wǎng)絡(luò)求解結(jié)果對比
據(jù)表4分析得知,LSTM的精度遠(yuǎn)大于BP網(wǎng)絡(luò)與RBF網(wǎng)絡(luò)。一方面這得益于LSTM網(wǎng)絡(luò)在長段數(shù)據(jù)擬合方面有著得天獨(dú)厚的優(yōu)勢;另一方面BP網(wǎng)絡(luò)與RBF網(wǎng)絡(luò)存在預(yù)測極限的問題,當(dāng)?shù)竭_(dá)預(yù)測極限時(shí),隨著訓(xùn)練的提高,預(yù)測效果反而下降,即過擬合現(xiàn)象。
在速度性能方面,對于傳統(tǒng)解法,根據(jù)式(1)~式(3)編寫求解UR5機(jī)械臂逆運(yùn)動的代碼,使用語言為Python。對于LSTM網(wǎng)絡(luò)求解法,通過載入之前訓(xùn)練好的模型文件。2個(gè)方法輸入相同的變換矩陣,記錄2種方法得出6個(gè)關(guān)節(jié)角度值的時(shí)間,進(jìn)行20次實(shí)驗(yàn),繪制成對比圖,如圖6所示。圓點(diǎn)表示公式求解耗時(shí);星號點(diǎn)表示LSTM求解耗時(shí)。對20次實(shí)驗(yàn)進(jìn)行加權(quán)平均,得出公式求解平均耗時(shí)為0.405 2 s,LSTM求解平均耗時(shí)為0.229 8 s。這說明了LSTM求解方法快于傳統(tǒng)的公式求解法。LSTM求解法耗時(shí)約等于傳統(tǒng)公式求解法的一半。
圖6 公式求解與LSTM求解耗時(shí)對比
為了進(jìn)一步驗(yàn)證LSTM網(wǎng)絡(luò)的求解效果。將在機(jī)器人仿真器CoppeliaSim上進(jìn)行仿真實(shí)驗(yàn)。CoppeliaSim是機(jī)器人仿真軟件,基于分布式控制結(jié)構(gòu),可以通過嵌入式腳本、插件、ROS或遠(yuǎn)程客戶端控制每個(gè)對象模型,使得CoppeliaSim通用。
實(shí)驗(yàn)使用MATLAB編寫代碼與CoppeliaSim進(jìn)行通信和聯(lián)合仿真,MATLAB負(fù)責(zé)將LSTM模型求解的逆運(yùn)動學(xué)解的結(jié)果傳遞給CoppeliaSim里的UR5機(jī)械臂,并控制UR5機(jī)械臂進(jìn)行仿真運(yùn)動,具體的實(shí)驗(yàn)流程如圖7所示。
圖7 MATLAB與CoppeliaSim聯(lián)合仿真流程
在UR5工作空間上選取直線路徑點(diǎn)(有多段直線組成路徑),路徑點(diǎn)同時(shí)也為機(jī)械臂在某時(shí)刻的末端姿態(tài)。路徑點(diǎn)的具體數(shù)值如表5所示。
表5 直線路徑點(diǎn)的數(shù)值
經(jīng)過LSTM求解后,將獲得對應(yīng)的逆運(yùn)動學(xué)結(jié)果傳遞給由CoppeliaSim控制的UR5機(jī)械臂,使UR5機(jī)械臂進(jìn)行直線運(yùn)動。機(jī)械臂的末端運(yùn)動軌跡用黑色軌跡顯示出來,如圖8所示。
圖8 UR5機(jī)械臂的直線運(yùn)動
記錄UR5機(jī)械臂運(yùn)動過程的關(guān)節(jié)角度變化數(shù)值,并繪制曲線圖,如圖9所示。
圖9 UR5機(jī)械臂直線運(yùn)動時(shí)各關(guān)節(jié)角度變化
在圖9中,1表示第1個(gè)關(guān)節(jié)的角度,2表示第2個(gè)關(guān)節(jié)的角度,以此類推。由圖9可知,除了第1關(guān)節(jié)外,其他關(guān)節(jié)變化平緩,這是由于選取的直線路徑有個(gè)折線拐彎,圍繞著UR5機(jī)械臂拐彎,所以第1關(guān)節(jié)角度出現(xiàn)反轉(zhuǎn)變化。總體而言,仿真運(yùn)動軌跡跟選取的軌跡基本一致,直線部分沒有明顯的抖動,證明了LSTM模型求解結(jié)果的準(zhǔn)確性。
在UR5工作空間上選取圓弧路徑點(diǎn),路徑點(diǎn)的具體數(shù)值(部分)如表6所示。
經(jīng)過LSTM求解后,將獲得對應(yīng)的逆運(yùn)動學(xué)結(jié)果傳遞給由CoppeliaSim控制的UR5機(jī)械臂,使UR5機(jī)械臂進(jìn)行圓弧運(yùn)動。機(jī)械臂的末端運(yùn)動軌跡用黑色軌跡顯示出來,如圖10所示。
表6 圓弧路徑點(diǎn)的數(shù)值(部分)
圖10 UR5機(jī)械臂的圓弧運(yùn)動
記錄UR5機(jī)械臂運(yùn)動過程的關(guān)節(jié)角度變化數(shù)值,并繪制曲線圖,如圖11所示。
圖11 UR5機(jī)械臂圓弧運(yùn)動時(shí)各關(guān)節(jié)角度變化
在圖11中,1表示第1個(gè)關(guān)節(jié)的角度,2表示第2個(gè)關(guān)節(jié)的角度,以此類推。由圖11可知,除了第1個(gè)關(guān)節(jié)外,其他關(guān)節(jié)變化平緩,這是由于選取的圓弧路徑經(jīng)過UR5機(jī)械臂的0坐標(biāo)系的y軸,故在進(jìn)行完整的圓弧路徑運(yùn)動時(shí),第1個(gè)關(guān)節(jié)角度出現(xiàn)反轉(zhuǎn)變化??傮w而言,仿真運(yùn)動軌跡跟選取的軌跡基本一致,弧線部分沒有明顯的抖動,證明了LSTM模型求解結(jié)果的準(zhǔn)確性。
本文提出了基于長短期記憶網(wǎng)絡(luò)的機(jī)械臂逆運(yùn)動學(xué)求解算法。通過研究及實(shí)驗(yàn)發(fā)現(xiàn),基于LSTM求解機(jī)械臂逆運(yùn)動學(xué)解具有很高的精度,結(jié)合3.1節(jié)分析和表4,關(guān)節(jié)角度誤差控制在分單位級別,完全滿足實(shí)際的使用需要,同時(shí)避免了傳統(tǒng)公式求解法的復(fù)雜操作使用過程。實(shí)驗(yàn)結(jié)果顯示LSTM運(yùn)算速度快,求解法耗時(shí)約等于傳統(tǒng)公式求解法的一半。另外,LSTM擁有記憶功能以記憶每個(gè)關(guān)節(jié)之間的變換規(guī)律,故相比于其他網(wǎng)絡(luò)有較高的精度。由CoppeliaSim的仿真實(shí)驗(yàn)可知,仿真運(yùn)動軌跡跟選取的軌跡基本一致,弧線部分沒有明顯的抖動,證明了LSTM模型求解結(jié)果的準(zhǔn)確性。