陳婕CHEN Jie;羅天洪②LUO Tian-hong;范磊FAN Lei
(①重慶交通大學(xué)機(jī)電與車輛工程學(xué)院,重慶400074;②重慶文理學(xué)院智能制造工程學(xué)院,重慶402160)
氣動(dòng)肌肉因其柔順性較好,功重比大,而被廣泛應(yīng)用于康復(fù)機(jī)器和多自由度平臺(tái)等領(lǐng)域。雖然具有上述諸多優(yōu)點(diǎn),但在實(shí)際應(yīng)用中,由于橡膠管的變形能、橡膠管與編織網(wǎng)間的摩擦以及端部約束等因素的影響[1],氣動(dòng)肌肉的特性參數(shù)之間呈遲滯非線性關(guān)系,從而對(duì)其建立精確數(shù)學(xué)建模的難度較大,使其輸出精度大大降低。因而,對(duì)氣動(dòng)肌肉進(jìn)行精確建模具有重要意義。
在氣動(dòng)肌肉模型的建立方面,主要分為理論建模與實(shí)驗(yàn)數(shù)據(jù)擬合[2]。孫麗娜[3]等將PID 控制和神經(jīng)網(wǎng)絡(luò)相結(jié)合建立了改進(jìn)理論模型,提高了氣動(dòng)肌肉的輸出位置精度;于海濤[4]等利用改進(jìn)Tondu 模型更好地描述了氣動(dòng)肌肉拉力與其收縮率之間的關(guān)系。然而,現(xiàn)有的氣動(dòng)肌肉模型還存在如下問題:①氣動(dòng)肌肉的內(nèi)部構(gòu)造和相關(guān)參數(shù)難以獲得,利用理論模型實(shí)現(xiàn)精確的氣動(dòng)肌肉建模比較困難;②線性遲滯模型模型誤差大,建模精度低。
近年來,神經(jīng)網(wǎng)絡(luò)發(fā)展越來越迅猛,該技術(shù)被應(yīng)用到越來越廣泛的領(lǐng)域,對(duì)未知且復(fù)雜的非線性系統(tǒng)進(jìn)行建模就是其他一個(gè)重要的領(lǐng)域。然而,在實(shí)際建模中,現(xiàn)有的神經(jīng)網(wǎng)絡(luò)難以識(shí)別遲滯非線性特性,并且不能很好地?cái)M合實(shí)際情況,因此神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)有待改進(jìn)。例如王冬青等[5]采用三層遞歸神經(jīng)網(wǎng)絡(luò)構(gòu)建了氣動(dòng)肌肉手臂的非線性動(dòng)力學(xué)模型,提高了末端的輸出精度。
基于以上研究,針對(duì)氣動(dòng)肌肉遲滯非線性特性,本文提出了一種基于曲線擬合的神經(jīng)網(wǎng)絡(luò)建模方法,通過多項(xiàng)式擬合模型來構(gòu)建擴(kuò)張輸入空間,從而構(gòu)造一對(duì)一的神經(jīng)網(wǎng)絡(luò)遲滯模型,該方法既有多項(xiàng)式擬合的簡(jiǎn)潔又具有神經(jīng)網(wǎng)絡(luò)的高速計(jì)算能力。
為了獲得氣動(dòng)肌肉在一定載荷下的收縮率ε 與充入氣壓P 的關(guān)系,本文通過調(diào)節(jié)電氣比例閥的電壓,使得氣動(dòng)肌肉的內(nèi)腔氣壓發(fā)生變化。經(jīng)過一段時(shí)間的工作,氣動(dòng)肌肉完成收縮運(yùn)動(dòng)達(dá)到穩(wěn)定狀態(tài),然后再輸入負(fù)階躍信號(hào),使氣動(dòng)肌肉逐漸恢復(fù)為初始狀態(tài)。實(shí)驗(yàn)流程如圖1。通過數(shù)據(jù)采集卡可以獲得氣動(dòng)肌肉在工作過程中的實(shí)驗(yàn)數(shù)據(jù),重復(fù)以上動(dòng)作,計(jì)算出位移數(shù)據(jù)的平均值,從而減小系統(tǒng)誤差。將實(shí)驗(yàn)得到的氣動(dòng)肌肉的位移數(shù)值轉(zhuǎn)換為相應(yīng)的收縮率()即可得到收縮位移與氣壓之間的關(guān)系,如圖2 所示。
由圖2 可知在負(fù)載外力相同的情況下,氣動(dòng)肌肉在放氣伸長(zhǎng)和充氣收縮過程中的位移不同,即實(shí)驗(yàn)結(jié)果為兩條并不重合的曲線,兩條曲線之間的不重合現(xiàn)象即為氣動(dòng)肌肉的遲滯非線性現(xiàn)象。
本節(jié)將對(duì)多項(xiàng)式模型的原理進(jìn)行簡(jiǎn)單的介紹,并利用最小二乘法對(duì)多項(xiàng)式擬合模型的未知參數(shù)進(jìn)行辨識(shí)。
通過文獻(xiàn)可知,氣動(dòng)肌肉非線性遲滯曲線的上升段和下降段可以分別采用2 個(gè)多項(xiàng)式進(jìn)行擬合,故氣動(dòng)肌肉多項(xiàng)式模型參照如下形式:
圖1 非線性特性實(shí)驗(yàn)流程
圖2 氣動(dòng)肌肉收縮率/氣壓遲滯曲線
式中:yu、yd——非線性遲滯曲線的上升部分和下降部分;x(t)——系統(tǒng)的輸入;Pi——多項(xiàng)式模型的系數(shù);n——多項(xiàng)式模型的次數(shù)。
可以調(diào)用Matlab 中成熟的polyfit 函數(shù)對(duì)多項(xiàng)式擬合模型的未知參數(shù)進(jìn)行辨識(shí),其調(diào)用格式如下式所示:
式中:P1、x1、y1——?dú)鈩?dòng)肌肉上升部分遲滯擬合結(jié)果、輸入實(shí)驗(yàn)數(shù)據(jù)和輸出實(shí)驗(yàn)數(shù)據(jù);P2、x2、y2——?dú)鈩?dòng)肌肉下降部分遲滯擬合結(jié)果、輸入實(shí)驗(yàn)數(shù)據(jù)和輸出實(shí)驗(yàn)數(shù)據(jù);n——多項(xiàng)式模型的次數(shù)(此處n 采取4)。
利用實(shí)驗(yàn)得到的氣壓和位移數(shù)據(jù)對(duì)多項(xiàng)式未知系數(shù)進(jìn)行擬合,通過Matlab 計(jì)算可以分別得到上升部分與下降部分的遲滯模型,如式(3)和式(4)。
將氣動(dòng)肌肉的上升部分/下降部分實(shí)驗(yàn)所得的實(shí)際遲滯曲線與多項(xiàng)式擬合曲線比較,得到圖3。
圖3 多項(xiàng)式模型辨識(shí)結(jié)果
通過比較可以看到,4 次多項(xiàng)式擬合得到的數(shù)學(xué)模型無論是上升段還是下降段皆與氣動(dòng)肌肉驅(qū)動(dòng)器的實(shí)驗(yàn)曲線存在較大的建模誤差,在氣壓最大處的誤差最為明顯。多項(xiàng)式擬合模型的最大建模誤差3.7339mm,平均誤差為1.1655mm,均方差1.3664mm。
由于氣動(dòng)肌肉具有多對(duì)多的非線性遲滯現(xiàn)象,而傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)只能對(duì)一對(duì)一的映射進(jìn)行辨識(shí)和建模。為了實(shí)現(xiàn)將神經(jīng)網(wǎng)絡(luò)與遲滯建模相結(jié)合的目的,利用多項(xiàng)式擬合模型進(jìn)行輸入空間的構(gòu)建與擴(kuò)張,將這種多對(duì)多的映射關(guān)系轉(zhuǎn)換為一一映射,最終建立神經(jīng)網(wǎng)絡(luò)遲滯模型。首先,通過多項(xiàng)式擬合的方法對(duì)氣動(dòng)肌肉非線性遲滯現(xiàn)象進(jìn)行建模;然后將系統(tǒng)輸入氣壓P 和多項(xiàng)式擬合模型的輸出位移d 一起作為自變量作為神經(jīng)網(wǎng)絡(luò)的輸入,實(shí)際遲滯位移輸出d′作為因變量作為神經(jīng)網(wǎng)絡(luò)的輸出,即給足夠的信息量對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,建立一個(gè)雙輸入單輸出的遲滯神經(jīng)網(wǎng)絡(luò)模型。
輸入層、隱含層與輸出層三個(gè)部分組成了BP 前饋神經(jīng)網(wǎng)絡(luò)。為了確定隱層神經(jīng)元的個(gè)數(shù),本文參照了如式(5)的經(jīng)驗(yàn)公式:
式中:n——輸入層的神經(jīng)元數(shù)目;m——輸出層的神經(jīng)元數(shù)目;a——[1,10]之間的常數(shù)。
通過計(jì)算最終建立了一個(gè)隱含層節(jié)點(diǎn)數(shù)為6 的雙輸入單輸出的BP 神經(jīng)網(wǎng)絡(luò)。通過反復(fù)的計(jì)算,本文選用的BP 前饋神經(jīng)網(wǎng)絡(luò)的最大訓(xùn)練次數(shù)設(shè)定為50000,利用期望輸出的均方差代表網(wǎng)絡(luò)誤差。在Matlab 中調(diào)整各參數(shù)后,將數(shù)據(jù)分別代入神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。
首先,將通過多項(xiàng)式擬合模型得到的輸出d、實(shí)際的輸入氣壓P 和實(shí)際的位移輸出d′進(jìn)行歸一化處理,并將其分為兩個(gè)部分。第一部分通過逼近遲滯曲線從而建立對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)模型,第二部分則用于對(duì)所建立的神經(jīng)網(wǎng)絡(luò)模型的泛化能力進(jìn)行檢驗(yàn),即檢驗(yàn)神經(jīng)網(wǎng)絡(luò)模型的適應(yīng)性。首先,利用偶數(shù)氣壓所對(duì)應(yīng)的數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),得到如圖4~圖6 所示的建模結(jié)果。
圖4 神經(jīng)網(wǎng)絡(luò)模型的辨識(shí)結(jié)果
基于多項(xiàng)式擬合的神經(jīng)網(wǎng)絡(luò)模型最大建模誤差為2.258mm,平均誤差為0.83mm,均方差為0.0381mm。
從圖4~圖6 可以看出,基于多項(xiàng)式擬合的神經(jīng)網(wǎng)絡(luò)模型幾乎與實(shí)驗(yàn)數(shù)據(jù)吻合,泛化能力也滿足要求,相比于多項(xiàng)式擬合模型,該模型整體光滑,平均誤差、最大誤差和均方差均有所降低,模型精度顯著提高。
圖5 神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練圖
圖6 神經(jīng)網(wǎng)絡(luò)模型辨識(shí)誤差
本文利用多項(xiàng)式擬合構(gòu)建擴(kuò)張了神經(jīng)網(wǎng)絡(luò)的輸入空間,建立雙輸入單輸出的神經(jīng)網(wǎng)遲滯模型,解決了現(xiàn)有的神經(jīng)網(wǎng)絡(luò)只能對(duì)一對(duì)一的映射關(guān)系進(jìn)行辨識(shí)的問題。對(duì)比多項(xiàng)式擬合模型,基于多項(xiàng)式擬合算法的神經(jīng)網(wǎng)絡(luò)模型均方差和平均誤差均顯著減小,精度也有了顯著的提高,證明了所建模型可以較為準(zhǔn)確地反映氣動(dòng)肌肉的非線性遲滯特性。