• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于人工神經(jīng)網(wǎng)絡(luò)的動力學(xué)參數(shù)辨識法①

      2020-06-09 05:12:28杜其通劉朝雨費燕瓊
      高技術(shù)通訊 2020年5期
      關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò)力矩動力學(xué)

      杜其通 劉朝雨 閔 劍 費燕瓊

      (上海交通大學(xué)機器人研究所 上海 200240)

      0 引 言

      工業(yè)機器人已經(jīng)成為現(xiàn)代人類社會不可或缺的自動化工具,提高其控制精度一直是國內(nèi)外研究的熱點。傳統(tǒng)的PID控制已經(jīng)無法滿足實際工作的精度要求,基于模型的控制方法成為主流?;谀P偷目刂破餍枰詸C器人動力學(xué)參數(shù)作為先驗值[1],但是機器人是一個多變量、強耦合的非線性系統(tǒng)[2],通過數(shù)學(xué)計算獲得動力學(xué)模型很困難,一般采用實驗辨識方法。

      國內(nèi)外研究人員提出了很多機器人參數(shù)辨識方法。Gautier等人[3]提出了串聯(lián)機器人最小參數(shù)集的推導(dǎo)方法,能夠減小辨識的運算量,提高算法的魯棒性。Calafiore 等人[4]采用遞推的最小二乘法進行參數(shù)運算,提高了算法效率。丁亞東等人[5]提出了一種分布辨識方法,降低了辨識方程的復(fù)雜性。智能控制算法促進了機器人動力學(xué)參數(shù)辨識的發(fā)展,陳柏等人[1]采用人工蜂群算法,禹鑫燚等人[6]采用粒子群算法,謝宏[7]采用改進的遺傳算法進行辨識,均取得了不錯的辨識效果。

      為了提高工業(yè)機器人的動力學(xué)模型辨識精度,本文結(jié)合近年興起的機器學(xué)習(xí)、深度學(xué)習(xí)算法,提出了一種基于人工神經(jīng)網(wǎng)絡(luò)的動力學(xué)模型辨識方法。使用線型整流單元(rectified linear unit, ReLU)函數(shù)作為神經(jīng)網(wǎng)絡(luò)的激活函數(shù),使用Dropout方法避免神經(jīng)網(wǎng)絡(luò)訓(xùn)練中容易產(chǎn)生的過擬合現(xiàn)象,采用有限項傅里葉多項式作為激勵軌跡。最后,為了驗證本文提出的方法,將實驗結(jié)果與傳統(tǒng)最小二乘法結(jié)果進行了對比。

      1 辨識神經(jīng)網(wǎng)絡(luò)模型

      對于一個n關(guān)節(jié)的機器人系統(tǒng),傳統(tǒng)辨識方法將其動力學(xué)模型表示為

      (1)

      利用人工神經(jīng)網(wǎng)絡(luò)對機器人動力學(xué)參數(shù)進行辨識時,實際是將整個機器人系統(tǒng)看作一個如圖1所示的黑箱模型,輸入為機器人的關(guān)節(jié)角度、角速度和角加速度,輸出為各關(guān)節(jié)的力矩矢量。因為動力學(xué)參數(shù)辨識的目的主要是計算關(guān)節(jié)力矩,將計算的力矩用于機器人的模型控制系統(tǒng),很多時候?qū)τ趯嶋H動力學(xué)參數(shù)并不關(guān)心。

      圖1 機器人系統(tǒng)黑箱模型

      使用如圖2所示的全連接神經(jīng)網(wǎng)絡(luò)對n自由度機器人進行辨識時,需要將n個關(guān)節(jié)的角度、角速度和角加速度共計3n個參數(shù)作為輸入,n個關(guān)節(jié)力矩作為輸出。大多數(shù)串聯(lián)機器人模型并不復(fù)雜,因此只需要1~3個隱藏層。每個隱藏層的神經(jīng)元個數(shù)不宜過多,避免出現(xiàn)過擬合現(xiàn)象。

      圖2 全連接神經(jīng)網(wǎng)絡(luò)

      2 優(yōu)化的神經(jīng)網(wǎng)絡(luò)模型

      2.1 激活函數(shù)的選擇

      傳統(tǒng)的BP(back propagation)神經(jīng)網(wǎng)絡(luò)一般選用logistic sigmoid函數(shù)f(x)=(1+e-x)-1作為隱藏層神經(jīng)元的激活函數(shù),但是該函數(shù)的廣泛飽和性使得利用梯度下降算法對神經(jīng)網(wǎng)絡(luò)進行優(yōu)化時容易出現(xiàn)梯度消失的情況。研究人員發(fā)現(xiàn)線性整流函數(shù)f(x)=max(0,x)有一定的生物學(xué)原理[8],將其作為激活函數(shù)的神經(jīng)網(wǎng)絡(luò)優(yōu)化收斂速度更快,單次迭代的運算量更小[9]。神經(jīng)網(wǎng)絡(luò)的輸出單元選用線性單元。

      2.2 損失函數(shù)與優(yōu)化方法的選擇

      設(shè)計人工神經(jīng)網(wǎng)絡(luò)時,除了其結(jié)構(gòu)設(shè)計,最重要的就是損失函數(shù)和優(yōu)化方法的選用。使用神經(jīng)網(wǎng)絡(luò)對機器人系統(tǒng)進行辨識選用均方誤差(MSE)作為損失函數(shù)。

      (2)

      神經(jīng)網(wǎng)絡(luò)一般選用批量梯度下降進行迭代求解,批量梯度下降與傳統(tǒng)的梯度下降不同的是前者每次計算梯度時只選用數(shù)據(jù)集中的一部分?jǐn)?shù)據(jù)(Batch)。批量梯度下降能夠大大減小迭代的運算量,同時使迭代不容易陷入局部最優(yōu)點之中?,F(xiàn)代人工神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法一般選用批量梯度下降的變體,其區(qū)別在于計算下一次權(quán)重更新時考慮上一步的權(quán)重更新。Tieleman等人[10]提出了RMSProp優(yōu)化算法,已被證明是一種有效且實用的人工神經(jīng)網(wǎng)絡(luò)優(yōu)化算法。

      權(quán)重W的更新方法如式(3)所示:

      VW←βVW+(1-β)▽W(xué)

      W←W-αVW

      (3)

      式中,W是神經(jīng)網(wǎng)絡(luò)的權(quán)值;β是RMSProp算法引入的超參數(shù),一般取0.9;▽W(xué)是W的梯度;α是學(xué)習(xí)率。

      2.3 防止過擬合

      人工神經(jīng)網(wǎng)絡(luò)模型通常都很擅長擬合訓(xùn)練數(shù)據(jù),但真正的難點在于泛化,而不是擬合。傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)一般采用L1或者L2正則化以防止過擬合,本文采用Dropout[11]模型來提高辨識模型的泛化能力。

      3 數(shù)據(jù)輸入

      3.1 激勵軌跡設(shè)計

      使用人工神經(jīng)網(wǎng)絡(luò)對機器人系統(tǒng)進行動力學(xué)辨識時,輸入軌跡需要具有足夠的代表性,盡可能多地包含機器人的特征信息。另外,還要考慮實際測量力矩的噪聲對模型辨識產(chǎn)生的影響。本文采用Swevers等人[12]提出的有限項傅里葉級數(shù)軌跡,如式(4)所示。這種方法將軌跡優(yōu)化轉(zhuǎn)化為對傅里葉系數(shù)的優(yōu)化(式(5)),同時需要考慮機器人對關(guān)節(jié)角、角速度和角加速度有限制(式(6))。傅里葉項數(shù)N取3~5,基頻ω避開機器人的共振頻率。

      (4)

      (5)

      (6)

      式中,K是機器人的動力學(xué)矩陣,通常由牛頓歐拉法遞推得到;cond(K)表示矩陣K的條件數(shù),σ0(K)表示矩陣K的最小奇異值,λ1和λ2分別表示其權(quán)值。

      3.2 數(shù)據(jù)預(yù)處理

      實際測量到的機械臂的數(shù)據(jù)可能會有較大的噪聲,影響辨識準(zhǔn)確度,在這種情況下需要先將數(shù)據(jù)進行濾波處理,提高數(shù)據(jù)的平滑性。另外,實驗發(fā)現(xiàn),機械臂關(guān)節(jié)運動換向時將會產(chǎn)生較大的誤差,剔除換向點附近的一些數(shù)據(jù)點,可以有效提升辨識的準(zhǔn)確性,加快算法的收斂。因為運動數(shù)據(jù)與力矩的關(guān)系并不受時間順序影響,隨機打亂神經(jīng)網(wǎng)絡(luò)輸入的運動數(shù)據(jù),同時對應(yīng)打亂輸出的力矩信息,可以減小模型過擬合情況發(fā)生的可能性。

      受機器人控制系統(tǒng)的影響及其傳感器的限制,測量得到的各軸運動參數(shù)值可能有較大的差異,將數(shù)據(jù)進行標(biāo)準(zhǔn)化后再輸入神經(jīng)網(wǎng)絡(luò)可以更快地迭代收斂。

      X←X-mean(X)

      X←X/std (X)

      (7)

      式中,X是神經(jīng)網(wǎng)絡(luò)訓(xùn)練所用到的數(shù)據(jù),mean(X)為數(shù)據(jù)的均值,std(X)表示數(shù)據(jù)的標(biāo)準(zhǔn)差。

      4 實驗驗證

      4.1 實驗設(shè)計

      某公司生產(chǎn)的6自由度機械臂如圖3所示。使用深度學(xué)習(xí)框架Keras[13]建立本文第1節(jié)和第2節(jié)中介紹的人工神經(jīng)網(wǎng)絡(luò)模型,為了避免過擬合現(xiàn)象,添加Dropout正則化層。

      在實際進行神經(jīng)網(wǎng)絡(luò)辨識時,理論上提供的訓(xùn)練數(shù)據(jù)越多,越能辨識到模型更多的特征,模型就會擁有更強的泛化能力。本文利用2.2節(jié)中提到的激勵軌跡的設(shè)計方法,盡可能多地收集機械臂的實際數(shù)據(jù),并將數(shù)據(jù)分為3部分,分別是訓(xùn)練集(70%)、驗證集(15%)和測試集(15%)。訓(xùn)練過程中監(jiān)控?fù)p失函數(shù)的大小及訓(xùn)練精確度,如圖4和圖5所示??梢钥闯?,隨著迭代的進行,模型的損失函數(shù)逐漸下降接近于0,精確度逐漸達(dá)到最大值,在第100輪左右的時候達(dá)到收斂,精度不再變化。

      圖3 6自由度機械臂

      圖4 神經(jīng)網(wǎng)絡(luò)訓(xùn)練精度

      圖5 神經(jīng)網(wǎng)絡(luò)訓(xùn)練損失

      4.2 辨識結(jié)果

      為了驗證本文提出算法的準(zhǔn)確性,采用傳統(tǒng)的最小二乘法結(jié)合庫倫粘性摩擦模型,利用相同的實驗數(shù)據(jù)進行辨識,在相同的驗證集上進行驗證。將2種算法得到的力矩曲線放在一起,結(jié)果如圖6所示。

      圖6 各關(guān)節(jié)力矩計算結(jié)果

      從圖6可以看出,2種算法對于實際力矩都有較好的跟隨效果。通過觀察局部放大圖發(fā)現(xiàn),本文提出的神經(jīng)網(wǎng)絡(luò)算法對于實際力矩的擬合程度更高,尤其是在峰值附近,對于實際力矩的跟隨效果更好,曲線更加平滑,更加適合控制器的設(shè)計。其中關(guān)節(jié)1的誤差曲線如圖7所示,可以看出,采用神經(jīng)網(wǎng)絡(luò)辨識算法所計算出來的力矩誤差比傳統(tǒng)算法更小,峰值誤差更小,曲線更加平滑。值得一提的是,曲線中有一些誤差跳變較大的點,這些點主要是在機械臂關(guān)節(jié)速度為0的點附近,因計算相對誤差時分母較小,所得相對誤差結(jié)果較大,對于實際使用并沒有影響。

      圖7 關(guān)節(jié)1力矩誤差曲線

      如式(8)所示,動力學(xué)辨識的匹配度δ可以用計算力矩τi與實驗測量力矩τ進行計算[14]。

      (8)

      2種方法的匹配度計算結(jié)果如表1所示。從表1可以看出,神經(jīng)網(wǎng)絡(luò)模型的匹配度相對于傳統(tǒng)的最小二乘模型能夠平均提升超過5%。

      近年來各種優(yōu)化算法越來越多地應(yīng)用在機器人辨識領(lǐng)域,比如結(jié)合非線性摩擦模型的人工蜂群算法取得了較好的實驗結(jié)果,平均精度可達(dá)89%[14]。本文提出的算法的平均精度為90.70%,略好于人工蜂群算法。

      表1 各關(guān)節(jié)辨識匹配度

      4.3 結(jié)果分析

      本文提出的辨識方法的精度相對于傳統(tǒng)最小二乘辨識法有一定的提升,有效減小了傳統(tǒng)辨識模型的出現(xiàn)的力矩波動的情況,平滑性更好。頻繁波動的力矩容易對控制器造成損傷,因此本文提出的方法更加適合于控制器的設(shè)計。在實際控制系統(tǒng)中將神經(jīng)網(wǎng)絡(luò)模型和傳統(tǒng)的最小二乘辨識模型結(jié)合使用能夠得到更好的效果。

      機器人的摩擦力與多個外部因素相關(guān),針對摩擦力的建模及辨識一直是一大難題。近年來提出很多算法(如人工蜂群算法[14])的辨識精度比較依賴其摩擦力模型的選擇,不同工作環(huán)境的機器人的摩擦力模型不完全一致,選取不合適的模型可能對辨識精度有害甚至出現(xiàn)運算不收斂的情況。本文提出的方法不需要對摩擦力進行專門的建模,對于不同工作環(huán)境的機器人具有很強的適應(yīng)性和可移植性,并能保證較高的精度。因此,本文提出的方法相對于目前較新的辨識方法也有一定的優(yōu)勢。

      5 結(jié) 論

      本文針對傳統(tǒng)動力學(xué)參數(shù)辨識算法精度不高的問題,提出了基于人工神經(jīng)網(wǎng)絡(luò)的辨識方法,使用ReLU激活函數(shù),結(jié)合RMSProp算法和Dropout方法,算法泛化能力強,迭代速度快。設(shè)計了實驗與傳統(tǒng)最小二乘法進行對比,結(jié)果表明,本文提出的方法能夠明顯提高力矩計算的平滑性,準(zhǔn)確性相對于傳統(tǒng)方法提高超過5%。本算法不需要對系統(tǒng)摩擦力進行建模,具有較好的適應(yīng)性。

      猜你喜歡
      人工神經(jīng)網(wǎng)絡(luò)力矩動力學(xué)
      《空氣動力學(xué)學(xué)報》征稿簡則
      利用人工神經(jīng)網(wǎng)絡(luò)快速計算木星系磁坐標(biāo)
      人工神經(jīng)網(wǎng)絡(luò)實現(xiàn)簡單字母的識別
      電子制作(2019年10期)2019-06-17 11:45:10
      發(fā)動機阻力矩計算和起動機介紹
      山東青年(2016年12期)2017-03-02 18:22:48
      小型力矩電機波動力矩的測量
      彈性負(fù)載力矩下舵偏轉(zhuǎn)角度的測量方法
      基于D-最優(yōu)化理論的陀螺儀力矩反饋測試法
      基于隨機-動力學(xué)模型的非均勻推移質(zhì)擴散
      TNAE的合成和熱分解動力學(xué)
      基于聲發(fā)射和人工神經(jīng)網(wǎng)絡(luò)的混凝土損傷程度識別
      呼图壁县| 怀远县| 云浮市| 五原县| 元阳县| 那坡县| 灵宝市| 崇阳县| 米易县| 雷山县| 咸丰县| 南雄市| 兴宁市| 孝义市| 鲜城| 汉阴县| 榕江县| 宿迁市| 卓资县| 长白| 镇远县| 神农架林区| 龙南县| 河曲县| 玛多县| 陆丰市| 新沂市| 吉木乃县| 兴仁县| 台州市| 奎屯市| 宜章县| 交口县| 桂平市| 萝北县| 青神县| 溧水县| 泌阳县| 宜兰县| 镇江市| 灵川县|