馬程,蔣剛,郝興安,蒲虹云,陳清平,黃建軍,徐文剛,黃璜
(1.成都理工大學(xué)核技術(shù)與自動(dòng)化工程學(xué)院,四川成都 610059;2.成都理工大學(xué)機(jī)電工程學(xué)院,四川成都 610059;3.成都陵川特種工業(yè)有限責(zé)任公司,四川成都 610110)
機(jī)器人技術(shù)自20世紀(jì)60年代問(wèn)世以來(lái),在人類(lèi)科學(xué)技術(shù)不斷發(fā)展中機(jī)器人技術(shù)也在飛速發(fā)展,目前機(jī)器人技術(shù)被廣泛運(yùn)用于工業(yè)和軍事領(lǐng)域,因此研究機(jī)器人設(shè)計(jì)、控制系統(tǒng)設(shè)計(jì)、算法設(shè)計(jì)具有非常重大的運(yùn)用價(jià)值。在高原山地地區(qū)等特種環(huán)境下的機(jī)器人研發(fā)是未來(lái)軍事化戰(zhàn)略準(zhǔn)備的重點(diǎn)研究方向,也是未來(lái)特種機(jī)器人的出發(fā)點(diǎn)。
機(jī)器人的執(zhí)行單元是機(jī)器人受控制的核心單元,因此較好的執(zhí)行器能夠保障機(jī)器人的有效運(yùn)動(dòng)。電液伺服系統(tǒng)具有大功率、響應(yīng)速度快、精度高等優(yōu)點(diǎn)[1],被廣泛應(yīng)用于國(guó)防工業(yè)及國(guó)民經(jīng)濟(jì)各個(gè)領(lǐng)域。液壓組件的功率-質(zhì)量比更加大,相比于同等體積下的電機(jī)執(zhí)行結(jié)構(gòu)而言,更小的液壓結(jié)構(gòu)能夠產(chǎn)生更加大的輸出,力矩-慣量比大,載荷能力強(qiáng),快速性高,系統(tǒng)響應(yīng)快[2-3]。為了增大足式液壓機(jī)械腿的載荷比和在復(fù)雜環(huán)境中的抗干擾性能,選用伺服液壓系統(tǒng)作為機(jī)械腿的動(dòng)力單元。PID控制因其不需要知道控制對(duì)象的精確模型、控制效果好、收斂快被廣泛運(yùn)用于工業(yè)控制中。充分考慮機(jī)器人腿部的非線性和在復(fù)雜環(huán)境下的工作情況,使用PID控制來(lái)設(shè)計(jì)腿部控制算法,實(shí)驗(yàn)中通過(guò)測(cè)試發(fā)現(xiàn)傳統(tǒng)的PID控制存在控制精度差并且控制參數(shù)需要實(shí)時(shí)調(diào)節(jié),不同測(cè)試壓力下以及不同數(shù)量的液壓缸運(yùn)動(dòng)時(shí)控制參數(shù)都需要做出相應(yīng)的改變。為了解決PID參數(shù)需要實(shí)時(shí)調(diào)節(jié)的問(wèn)題,引入自適應(yīng)神經(jīng)網(wǎng)絡(luò)PID控制算法,通過(guò)對(duì)神經(jīng)元權(quán)值以及神經(jīng)元比例系數(shù)的不斷修正達(dá)到自適應(yīng)控制的目的[4]。實(shí)驗(yàn)結(jié)果表明,改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID相比于傳統(tǒng)PID以及神經(jīng)網(wǎng)絡(luò)PID,能夠更好地實(shí)現(xiàn)跟蹤控制,能在線進(jìn)行參數(shù)調(diào)節(jié),控制效果好,魯棒性強(qiáng)。
液壓驅(qū)動(dòng)關(guān)節(jié)的液壓系統(tǒng)示意[5]及機(jī)械結(jié)構(gòu)示意分別如圖1、2所示。通過(guò)編碼器采集關(guān)節(jié)旋轉(zhuǎn)角度作為角度閉環(huán)控制系統(tǒng)的反饋信號(hào);采用期望角度的控制信號(hào)控制伺服閥開(kāi)口,通過(guò)驅(qū)動(dòng)液壓缸1活塞桿的伸出及縮回,實(shí)現(xiàn)對(duì)機(jī)械腿關(guān)節(jié)的角度閉環(huán)控制。
圖1 閥控液壓缸位置伺服系統(tǒng)示意
圖2 機(jī)械腿關(guān)節(jié)結(jié)構(gòu)示意
液壓機(jī)械腿的控制原理如圖3所示,整個(gè)伺服系統(tǒng)采用閥控式電液伺服控制系統(tǒng)[6],電液伺服系統(tǒng)由伺服驅(qū)動(dòng)器、功率放大元件、伺服閥、液壓缸、傳感器等組成[7]。
圖3 液壓機(jī)械腿控制框圖
上位機(jī)通過(guò)串口發(fā)送初始的關(guān)節(jié)角度值θ0,STM32接收到角度值后通過(guò)運(yùn)算轉(zhuǎn)換成相應(yīng)的輸出電壓值U(-10~10 V);伺服驅(qū)動(dòng)器接收上一級(jí)的電壓信號(hào)轉(zhuǎn)成控制伺服閥的電流信號(hào)(-40~40 mA);伺服閥根據(jù)輸入的電流改變閥的開(kāi)度和閥芯的方向,進(jìn)而控制液壓缸朝著不同方向運(yùn)動(dòng)。
電液伺服閥可以看作一個(gè)二階系統(tǒng),空載時(shí)的傳遞函數(shù)為
(1)
式中:QL0為通過(guò)伺服閥的空載液壓流量;i為通過(guò)伺服閥閥芯的電流;Ksv為伺服閥的靜態(tài)增益;ωsv為伺服閥的固有頻率;ξsv為伺服閥的阻尼比。
液壓缸可以看作是三階的非線性系統(tǒng)[8],液壓缸的外部負(fù)載主要是慣性力負(fù)載[9],令其傳遞函數(shù)為
(2)
式中:xp為液壓缸的位移;Ap為活塞桿位移時(shí)對(duì)應(yīng)的等效工作面積;ωk為液壓缸的固有頻率;ξk為液壓缸的阻尼比。
液壓缸安裝在機(jī)械腿的關(guān)節(jié)部位,剛體會(huì)承受機(jī)械結(jié)構(gòu)帶來(lái)的外部力矩以及在機(jī)械腿觸地時(shí)帶來(lái)的慣性沖擊力,按照力學(xué)方程對(duì)液壓缸建立的傳遞函數(shù)[10]為
(3)
式中:FL為作用在液壓缸的活塞桿的力;Kce為流量壓力系數(shù);βe為等效容積的彈性模數(shù);Vt為液壓缸的有效容積。
圖4為伺服控制系統(tǒng)的系統(tǒng)傳遞函數(shù)框圖[11]。
圖4 伺服控制系統(tǒng)的系統(tǒng)傳遞函數(shù)框圖
系統(tǒng)的開(kāi)環(huán)傳遞函數(shù)為
(4)
神經(jīng)網(wǎng)絡(luò)(Neural Network)就是模擬人腦思維方式的數(shù)學(xué)模型[12-13]。在此次設(shè)計(jì)中,采用了結(jié)構(gòu)簡(jiǎn)單、適應(yīng)能力強(qiáng)、魯棒性強(qiáng)的單神經(jīng)元構(gòu)成的單神經(jīng)元自適應(yīng)PID控制器[14],并加入了自調(diào)整算法形成改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID控制器。圖5所示是改進(jìn)單神經(jīng)元自適應(yīng)PID控制器結(jié)構(gòu)。
圖5 改進(jìn)的單神經(jīng)元自適應(yīng)PID控制器結(jié)構(gòu)
Yd為設(shè)定值,Y為對(duì)象跟蹤值,通過(guò)狀態(tài)轉(zhuǎn)換器生成的x1、x2、x3作為神經(jīng)元輸入的信息,ω1、ω2、ω3是連接神經(jīng)元的連接強(qiáng)度,即神經(jīng)元的權(quán)值,神經(jīng)元的輸入輸出關(guān)系[15]為
(5)
單神經(jīng)元自適應(yīng)控制器的自適應(yīng)控制是通過(guò)調(diào)整權(quán)值ωi來(lái)實(shí)現(xiàn)自適應(yīng)和自調(diào)整[16-17]。權(quán)值的調(diào)整在單元神經(jīng)中按照有監(jiān)督的Hebb學(xué)習(xí)規(guī)則進(jìn)行學(xué)習(xí),Hebb學(xué)習(xí)規(guī)則表達(dá)式為
Δωij(k)=η[dj(k)-oj(k)]oj(k)oi(k)
(6)
式中:oi表示神經(jīng)元i的激活值;oj表示神經(jīng)元j的激活值;ωij表示神經(jīng)元i和神經(jīng)元j的連接權(quán)值;dj是期望輸出;η是學(xué)習(xí)速率。
至此已經(jīng)把神經(jīng)元的輸入輸出關(guān)系確定了。為了把神經(jīng)元函數(shù)與PID控制結(jié)合,引入增量式PID[18]:
Δu(k)=KP[e(k)-e(k-1)]+KIe(k)+KD[e(k)-2e(k-1)+e(k-2)]
(7)
令x1=e(k),x2=e(k)-e(k-1),x3=e(k)-2e(k-1)+e(k-2), 由式(5)(7)得單神經(jīng)自適應(yīng)PID[19]為
Δu(k)=ω1[e(k)-e(k-1)]+ω2e(k)+ω3[e(k)-2e(k-1)+e(k-2)]
(8)
ω1、ω2、ω3能夠通過(guò)自我學(xué)習(xí)進(jìn)行自適應(yīng)調(diào)整,彌補(bǔ)了傳統(tǒng)PID中KP、KI、KD不能隨著內(nèi)外系統(tǒng)參數(shù)改變自動(dòng)調(diào)整的缺陷,大大提高了系統(tǒng)的魯棒性[20]。由式(6)可知,在有監(jiān)督的Hebb學(xué)習(xí)規(guī)則下,權(quán)值ω的調(diào)整規(guī)則如下,
Δωi(k)=ηu(k)e(k)xi(k)
(9)
由式(5)—(9)得,ω1、ω2、ω3自適應(yīng)學(xué)習(xí)調(diào)整算法[21-22]如下:
(10)
式中:ηP、ηI、ηD分別為比例、積分、微分的學(xué)習(xí)速率,分別對(duì)權(quán)值進(jìn)行調(diào)整;K為神經(jīng)元的比例系數(shù),K>0,K的值越大快速性越好,但是超調(diào)量會(huì)增大,系統(tǒng)穩(wěn)定性變差,K的值過(guò)小則系統(tǒng)的快速性會(huì)降低。
自調(diào)整算法的輸入以液壓機(jī)械腿的關(guān)節(jié)角度的當(dāng)前誤差Ek、上一次的誤差Ek-1以及誤差變化Ek-1-Ek來(lái)實(shí)時(shí)調(diào)節(jié)K的值,調(diào)整算法如下:
K=Kp·Ek+Kv·∑Ek+Kd·(Ek-1-Ek)
(11)
式(11)中:Kp為位置比例系數(shù),Kp的大小決定了液壓缸伸縮過(guò)程中平均速度的大小;Kv為速度比例系數(shù),Kv決定了液壓缸能否穩(wěn)定到達(dá)指定位置;Kd為誤差變化比例系數(shù),Kd起著對(duì)超調(diào)削弱的作用。
控制系統(tǒng)的軟件部分有STM32中的處理程序和上位機(jī)中的源參數(shù)信號(hào)發(fā)送和采集參數(shù)顯示的程序,上位機(jī)主要實(shí)現(xiàn)與控制板之間的數(shù)字通信、命令傳達(dá)和采集參數(shù)??刂瓢遘浖糠种饕翘幚砩衔粰C(jī)傳達(dá)的命令并經(jīng)過(guò)相關(guān)算法來(lái)控制伺服系統(tǒng)。圖6所示為軟件控制系統(tǒng)總體框圖。
圖6 軟件控制系統(tǒng)總體框圖
圖7所示為程序中改進(jìn)單神經(jīng)元PID控制算法流程。位置比例系數(shù)Kp在誤差Ek比較大的時(shí)候承擔(dān)主導(dǎo)作用,神經(jīng)元比例系數(shù)K受位置環(huán)影響大,從而快速縮短誤差,加快響應(yīng)速度。隨著誤差變小,位置環(huán)作用降低,當(dāng)位置環(huán)的作用小于速度環(huán)的時(shí)候,此時(shí)速度環(huán)起主導(dǎo)作用,K主要受速度環(huán)影響,液壓缸速度保持一定速度運(yùn)行,并以最短時(shí)間達(dá)到設(shè)定值。誤差變化環(huán)的作用是當(dāng)位置未到達(dá)設(shè)置值的時(shí)候起到增強(qiáng)位置和速度環(huán)的作用,當(dāng)液壓缸在設(shè)定值附近劇烈震蕩或者超調(diào)的時(shí)候減小震蕩和超調(diào)。
圖7 改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID算法流程
上位機(jī)通過(guò)串口發(fā)送一串帶有期望關(guān)節(jié)角度值的數(shù)據(jù)包給下位機(jī),下位機(jī)采集機(jī)械腿實(shí)際的關(guān)節(jié)角度上傳至上位機(jī)顯示,如圖8所示。當(dāng)角度偏差大于1°,上位機(jī)中對(duì)應(yīng)的角度指示燈會(huì)變紅,提示當(dāng)前輪控制并未結(jié)束??刂颇繕?biāo)完成后指示燈常綠顯示,提示對(duì)應(yīng)關(guān)節(jié)已經(jīng)達(dá)成目標(biāo)控制要求。
圖8 上位機(jī)數(shù)據(jù)采集與控制界面
(12)
表1 伺服閥和液壓缸內(nèi)部參數(shù)
(13)
在Simulink中建立伺服系統(tǒng)仿真模型[24],在沒(méi)有外界干擾的情況下,分別建立了傳統(tǒng)PID和改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID的仿真模型,如圖9—10所示,控制輸入為階躍信號(hào)和正弦信號(hào)。
圖9 傳統(tǒng)PID控制仿真模型
圖10 改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID控制仿真模型
圖11所示為傳統(tǒng)PID、單神經(jīng)網(wǎng)絡(luò)PID和改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID對(duì)階躍輸入的響應(yīng)輸出及誤差,對(duì)正弦信號(hào)的響應(yīng)輸出和跟蹤誤差如圖12所示??芍涸谳^好參數(shù)的仿真情況下,改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID比單神經(jīng)PID和傳統(tǒng)PID的快速性和穩(wěn)定性更好,兩種跟蹤誤差均小于0.5 mm;改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID提高了跟蹤速度和精度,超調(diào)量明顯較小,具有很高的可靠性,同時(shí)在參數(shù)調(diào)節(jié)方面更加簡(jiǎn)便,只需要在實(shí)際運(yùn)用中根據(jù)需要調(diào)整神經(jīng)元比例系數(shù)的范圍,簡(jiǎn)化了控制運(yùn)算,具有更高的魯棒性。
圖11 階躍響應(yīng)(a)和階躍誤差(b)曲線
圖12 正弦響應(yīng)(a)和正弦誤差(b)曲線
為驗(yàn)證算法在足式機(jī)器人中的可行性,依托于現(xiàn)有的機(jī)器人樣機(jī)進(jìn)行了實(shí)地測(cè)試。圖13所示為六足機(jī)器人測(cè)驗(yàn)平臺(tái)。
圖13 實(shí)驗(yàn)測(cè)試平臺(tái)
設(shè)置初始油壓為10 MPa條件下分別測(cè)試了改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID控制算法、單神經(jīng)網(wǎng)絡(luò)PID和傳統(tǒng)PID控制算法對(duì)機(jī)械腿的控制效果,測(cè)試結(jié)果如圖14所示。測(cè)試方法是關(guān)節(jié)角度從5°開(kāi)始運(yùn)動(dòng)到48°,然后從48°運(yùn)動(dòng)回5°。改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID控制算法在關(guān)節(jié)角度增加和降低的情況下比其他兩種算法都要收斂得快。圖15所為關(guān)節(jié)角速度變化曲線,改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID角速度能在極短的時(shí)間內(nèi)達(dá)到超過(guò)0.4 rad/s,單神經(jīng)網(wǎng)絡(luò)PID和傳統(tǒng)PID控制算法最大的角速度才0.2 rad/s。根據(jù)角速度的變化圖能夠從側(cè)面得知改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID的角加速度更大,靈活性更高,更加適合戶外對(duì)機(jī)動(dòng)性的要求。
圖14 三種PID算法實(shí)驗(yàn)角度測(cè)試曲線
圖15 三種PID控制實(shí)驗(yàn)角速度測(cè)試曲線
為了驗(yàn)證算法對(duì)外部干擾信號(hào)的抗干擾能力,實(shí)驗(yàn)中通過(guò)添加沖擊干擾驗(yàn)證3種PID控制算法對(duì)干擾的對(duì)抗性能。圖16所示為沖擊測(cè)試曲線,在相同的沖擊干擾下,改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID對(duì)沖擊干擾的抑制能力更強(qiáng),恢復(fù)干擾產(chǎn)生的誤差的速度更快,擁有更好的抗干擾能力。
圖16 三種PID控制實(shí)驗(yàn)沖擊測(cè)試曲線
從測(cè)試數(shù)據(jù)可以得出:改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID控制算法能夠?qū)崿F(xiàn)不同位置下的參數(shù)自整定,距離設(shè)定位置越遠(yuǎn),此時(shí)輸出信號(hào)對(duì)伺服閥的作用越強(qiáng),能夠?qū)崿F(xiàn)初始動(dòng)作的快速響應(yīng);隨著距離設(shè)定角度值越來(lái)越近,位置環(huán)作用減弱,速度環(huán)作用增強(qiáng),在速度環(huán)的作用下能精準(zhǔn)達(dá)到指定角度位置,能夠?qū)崿F(xiàn)智能化控制,控制的穩(wěn)定性高,無(wú)超調(diào)。相比傳統(tǒng)PID和單神經(jīng)網(wǎng)絡(luò)PID,改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID在整個(gè)關(guān)節(jié)的運(yùn)動(dòng)過(guò)程中更加柔順,快速性和準(zhǔn)確性更好,能更好地適應(yīng)高原山地環(huán)境中特種作業(yè)的需求。
針對(duì)機(jī)器人腿部運(yùn)動(dòng)控制對(duì)快速性、可靠性的需求以及在復(fù)雜環(huán)境中機(jī)器人模型難以精確的問(wèn)題設(shè)計(jì)了在機(jī)器人底層運(yùn)動(dòng)控制中能夠?qū)崿F(xiàn)自適應(yīng)快速調(diào)節(jié)的控制算法,改進(jìn)后的算法既結(jié)合了傳統(tǒng)PID算法不需要十分精確的被控對(duì)象模型就能實(shí)現(xiàn)較好的控制效果,又優(yōu)化了神經(jīng)網(wǎng)絡(luò)在復(fù)雜控制算法中會(huì)陷入局部最優(yōu)解的問(wèn)題,能夠十分快速精確地達(dá)到控制效果,這是機(jī)器人底層運(yùn)動(dòng)控制最主要的需求。從實(shí)驗(yàn)結(jié)果來(lái)看,改進(jìn)單神經(jīng)網(wǎng)絡(luò)PID控制算法能夠在機(jī)械腿運(yùn)動(dòng)過(guò)程中實(shí)現(xiàn)參數(shù)自整定,它的運(yùn)動(dòng)柔順性高,響應(yīng)快速性快,控制精度高,穩(wěn)定性和魯棒性強(qiáng),能夠很好地運(yùn)用于液壓六足機(jī)器人的運(yùn)動(dòng)控制中,具有較好的實(shí)際運(yùn)用價(jià)值。