□姜勇
北京礦冶研究總院 北京 100160
迭代學(xué)習(xí)控制采用“在重復(fù)運(yùn)動(dòng)過程中學(xué)習(xí)”的控制策略,具有系統(tǒng)記憶功能和經(jīng)驗(yàn)修正功能,適用于具有重復(fù)運(yùn)行特性的被控對(duì)象[1-3]。智能鏟運(yùn)機(jī)在井下巷道的工作區(qū)域內(nèi),進(jìn)行鏟裝、運(yùn)輸、傾倒等動(dòng)作,工作流程比較固定,尤其是運(yùn)輸過程,行駛路徑相對(duì)固定且重復(fù)進(jìn)行,恰好與迭代學(xué)習(xí)控制理論中被控對(duì)象的特性吻合。為了提高運(yùn)動(dòng)軌跡的控制精度,筆者運(yùn)用迭代學(xué)習(xí)控制理論,提出一種應(yīng)用于智能鏟運(yùn)機(jī)運(yùn)動(dòng)軌跡控制的新算法,通過對(duì)迭代過程中的控制參數(shù)進(jìn)行學(xué)習(xí),可實(shí)現(xiàn)對(duì)運(yùn)動(dòng)軌跡的精確控制。
迭代學(xué)習(xí)控制是通過對(duì)被控對(duì)象進(jìn)行控制的嘗試,利用輸出軌跡與給定軌跡之間的偏差作為反饋量來修正前期不理想的控制信號(hào),產(chǎn)生新的控制信號(hào),從而使系統(tǒng)的跟蹤控制性能得到提高[4-6]。被控系統(tǒng)的動(dòng)態(tài)模型如下[7]:
式中:x?Rn×1、y?Rm×1、u?Rr×1分別為被控系統(tǒng)的狀態(tài)向量、輸出向量以及控制向量;f、g為具有相應(yīng)維數(shù)的函數(shù),結(jié)構(gòu)和參數(shù)均未知。
要求系統(tǒng)在時(shí)間域 t∈[0,T]內(nèi)的輸出 y(t)盡可能地跟蹤期望輸出 yr(t),假定期望控制向量 ur(t)是存在的,即:在給定初始狀態(tài)值 x(0)下,ur(t)是式(1)當(dāng) y(t)=yr(t)時(shí)的解。迭代學(xué)習(xí)控制的目標(biāo)就是通過多次重復(fù)的運(yùn)行,在一定的學(xué)習(xí)律下使 u(t)→ur(t),y(t)→yr(t)。 在第 k 次運(yùn)行式(1)表示為:
跟蹤誤差為:
式中:下標(biāo)k表示第k次運(yùn)行,假設(shè)每次運(yùn)行過程中期望輸出 yr(t)一直保持不變。
迭代學(xué)習(xí)控制可以分為開環(huán)迭代學(xué)習(xí)和閉環(huán)迭代學(xué)習(xí)兩種,學(xué)習(xí)律有多種,筆者采用PID型學(xué)習(xí)律[8]。
開環(huán)迭代學(xué)習(xí)控制算法如式(4)所示:第k+1次的控制量等于第k次的控制量加上第k次輸出誤差的比例、積分和微分項(xiàng)的線性組合量,即:
式中:KP、KI、KD分別為比例因數(shù)、積分因數(shù)和微分因數(shù)。開環(huán)迭代學(xué)習(xí)控制算法的基本結(jié)構(gòu)如圖1所示。
▲圖1 開環(huán)迭代學(xué)習(xí)控制算法結(jié)構(gòu)框圖
一般的開環(huán)迭代學(xué)習(xí)控制算法可以寫成:
式中:L為線性或非線性算子。
閉環(huán)迭代學(xué)習(xí)控制算法如式(6)所示,取第k+1次運(yùn)行過程的誤差作為反饋修正項(xiàng),即:
閉環(huán)迭代學(xué)習(xí)控制算法的基本結(jié)構(gòu)如圖2所示。
▲圖2 閉環(huán)迭代學(xué)習(xí)控制算法結(jié)構(gòu)框圖
一般的閉環(huán)迭代學(xué)習(xí)控制算法可以寫成:
將開環(huán)和閉環(huán)控制算法分別離散化處理,式(1)變?yōu)椋?/p>
在第k次運(yùn)行時(shí)可以表示為:
輸出誤差為:
離散化的開環(huán)和閉環(huán)迭代學(xué)習(xí)控制算法為:
離散化的開環(huán)和閉環(huán)一般的學(xué)習(xí)控制算法形式為:
開環(huán)迭代學(xué)習(xí)控制算法采用的是離線計(jì)算方法,因此對(duì)系統(tǒng)的計(jì)算要求并不高,它采用的是系統(tǒng)上一次的輸出誤差,因而控制效果沒有閉環(huán)迭代控制算法好。閉環(huán)迭代學(xué)習(xí)控制需要在線計(jì)算,因而對(duì)系統(tǒng)要求較高。
以智能鏟運(yùn)機(jī)為研究對(duì)象,建立鏟運(yùn)機(jī)的運(yùn)動(dòng)軌跡模型如圖3所示。圖中,以井下巷道的路面作為坐標(biāo)平面建立正交坐標(biāo)系,鏟運(yùn)機(jī)定位參考點(diǎn)在此坐標(biāo)平面上的投影點(diǎn)為P,該點(diǎn)的速度方向 (即軌跡切線方向)就是行駛方向,該方向與X軸正方向形成的夾角定義為航向角β,以X軸逆時(shí)針旋轉(zhuǎn)時(shí)形成的航向角為正,反之為負(fù)。圖中A為目標(biāo)路徑(即期望軌跡),B為實(shí)際運(yùn)行軌跡。P點(diǎn)在目標(biāo)路徑上的垂直投影點(diǎn)為Pd,將該點(diǎn)的速度方向與X軸正方向之間所形成的夾角定義為目標(biāo)路徑的航向角βd。將目標(biāo)路徑上的航向角βd與實(shí)際運(yùn)行軌跡上的航向角β之間的差值定義為航向角偏差Δβ,這一參數(shù)反映了鏟運(yùn)機(jī)在運(yùn)動(dòng)過程中,其運(yùn)動(dòng)方向與目標(biāo)路徑預(yù)定的行駛方向之間的偏差。鏟運(yùn)機(jī)實(shí)際運(yùn)行軌跡上P點(diǎn)與目標(biāo)路徑上Pd點(diǎn)的距離定義為橫向位置偏差δ,以P點(diǎn)在目標(biāo)路徑曲線左側(cè)時(shí)的橫向位置偏差為正,反之為負(fù)。該參數(shù)反映了鏟運(yùn)機(jī)在行駛過程中巷道內(nèi)的橫向定位情況 (即軌跡偏離情況)。鏟運(yùn)機(jī)的鉸接轉(zhuǎn)向角為α,即鏟運(yùn)機(jī)前后車體之間的相對(duì)轉(zhuǎn)角,以使鏟運(yùn)機(jī)順時(shí)針方向轉(zhuǎn)動(dòng)的角度為正,反之為負(fù)。轉(zhuǎn)向角和轉(zhuǎn)向角變化速率決定了轉(zhuǎn)向半徑的大小和實(shí)際運(yùn)動(dòng)行駛軌跡,鏟運(yùn)機(jī)在行駛過程中通過調(diào)整鉸接轉(zhuǎn)向角的大小來實(shí)現(xiàn)對(duì)運(yùn)動(dòng)軌跡的控制。以航向角偏差Δβ和橫向位置偏差δ來表示定位參考點(diǎn)P點(diǎn)的位置坐標(biāo),即P(Δβ,δ)。P點(diǎn)的行駛車速為Vp,與實(shí)際運(yùn)行軌跡曲線B相切,而目標(biāo)路徑上Pd點(diǎn)的投影車速為Vd,與軌跡曲線A相切。
行駛過程中,通過控制行駛速度、轉(zhuǎn)向角度以及轉(zhuǎn)向角變化速率來實(shí)現(xiàn)對(duì)鏟運(yùn)機(jī)的運(yùn)動(dòng)軌跡控制。 因此,決定鏟運(yùn)機(jī)運(yùn)動(dòng)軌跡的因素主要有行駛速度、轉(zhuǎn)向角度以及轉(zhuǎn)向角變化速率這3個(gè)變量。
利用開環(huán)迭代學(xué)習(xí)控制算法的基本原理來實(shí)現(xiàn)自主行駛過程中的運(yùn)動(dòng)軌跡控制,選取轉(zhuǎn)向角度α和行駛速度Vp兩個(gè)量作為輸入控制量,同時(shí)選取航向角偏差β和運(yùn)動(dòng)軌跡偏差e這兩個(gè)參數(shù)作為迭代學(xué)習(xí)的反饋修正量,建立開環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型。開環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型結(jié)構(gòu)框圖如圖4所示。
▲圖3 智能鏟運(yùn)機(jī)運(yùn)動(dòng)軌跡模型
開環(huán)迭代學(xué)習(xí)控制器由4個(gè)子控制器組成,分別介紹如下。
(1)開環(huán)學(xué)習(xí)子控制器(轉(zhuǎn)角-軌跡偏差)。利用行駛過程中的運(yùn)動(dòng)軌跡偏差作為反饋修正量,實(shí)現(xiàn)對(duì)轉(zhuǎn)向角度控制量的迭代學(xué)習(xí)控制。
(2)開環(huán)學(xué)習(xí)子控制器(轉(zhuǎn)角-航向角偏差)。利用行駛過程中的航向角偏差作為反饋修正量,實(shí)現(xiàn)對(duì)轉(zhuǎn)向角度控制量的迭代學(xué)習(xí)控制。
(3)開環(huán)學(xué)習(xí)子控制器(速度-軌跡偏差)。利用行駛過程中的運(yùn)動(dòng)軌跡偏差作為反饋修正量,實(shí)現(xiàn)對(duì)行駛速度控制量的迭代學(xué)習(xí)控制。
(4)開環(huán)學(xué)習(xí)子控制器(速度-航向角偏差)。利用行駛過程中的航向角偏差作為反饋修正量,實(shí)現(xiàn)對(duì)行駛速度控制量的迭代學(xué)習(xí)控制。
開環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型設(shè)計(jì)如下:
式中:KP1、KI1、KD1分別為開環(huán)學(xué)習(xí)子控制器 (轉(zhuǎn)角-航向角偏差)的參數(shù);KP2、KI2、KD2分別為開環(huán)學(xué)習(xí)子控制器(轉(zhuǎn)角-軌跡偏差)的參數(shù);KP3、KI3、KD3分別為開環(huán)學(xué)習(xí)子控制器(速度-航向角偏差)的參數(shù);KP4、KI4、KD4分別為開環(huán)學(xué)習(xí)子控制器(速度-軌跡偏差)的參數(shù);uαk+1(t)、uvk+1(t)分別為第 k+1 次迭代學(xué)習(xí)轉(zhuǎn)向角度和行駛速度的控制量;uαk(t)、uvk(t)分別為第 k 次迭代學(xué)習(xí)轉(zhuǎn)向角度和行駛速度的控制量。
考慮到計(jì)算機(jī)控制系統(tǒng)采用的是數(shù)字控制,因此對(duì)其進(jìn)行離散化處理,離散化后的控制模型為:
閉環(huán)迭代學(xué)習(xí)控制算法同樣選取轉(zhuǎn)向角度α和行駛速度Vp作為輸入控制量,同時(shí)選取航向角偏差β和運(yùn)動(dòng)軌跡偏差e這兩個(gè)參數(shù)作為迭代學(xué)習(xí)的反饋修正量,建立閉環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型。閉環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型結(jié)構(gòu)框圖如圖5所示。其中閉環(huán)學(xué)習(xí)控制器由4個(gè)子控制器組成,分別介紹如下。
(1)閉環(huán)學(xué)習(xí)子控制器(轉(zhuǎn)角-軌跡偏差)。利用行駛過程中的運(yùn)動(dòng)軌跡偏差作為反饋修正量,實(shí)現(xiàn)對(duì)轉(zhuǎn)向角度控制量的迭代學(xué)習(xí)控制。
(2)閉環(huán)學(xué)習(xí)子控制器(轉(zhuǎn)角-航向角偏差)。利用行駛過程中的航向角偏差作為反饋修正量,實(shí)現(xiàn)對(duì)轉(zhuǎn)向角度控制量的迭代學(xué)習(xí)控制。
(3)閉環(huán)學(xué)習(xí)子控制器(速度-軌跡偏差)。利用行駛過程中的運(yùn)動(dòng)軌跡偏差作為反饋修正量,實(shí)現(xiàn)對(duì)行駛速度控制量的迭代學(xué)習(xí)控制。
(4)閉環(huán)學(xué)習(xí)子控制器(速度-航向角偏差)。利用行駛過程中的航向角偏差作為反饋修正量,實(shí)現(xiàn)對(duì)行駛速度控制量的迭代學(xué)習(xí)控制。
閉環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型設(shè)計(jì)如下:
▲圖4 開環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型結(jié)構(gòu)框圖
▲圖5 閉環(huán)迭代學(xué)習(xí)運(yùn)動(dòng)軌跡控制模型結(jié)構(gòu)框圖
式中:KP1、KI、KD1分別為閉環(huán)學(xué)習(xí)子控制器 (轉(zhuǎn)角-航向角偏差)的參數(shù);KP2、KI2、KD2分別為閉環(huán)學(xué)習(xí)子控制器(轉(zhuǎn)角-軌跡偏差)的參數(shù);KP3、KI3、KD3分別為閉環(huán)學(xué)習(xí)子控制器(速度-航向角偏差)的參數(shù);KP4、KI4、KD4分別為閉環(huán)學(xué)習(xí)子控制器 (速度-軌跡偏差)的參數(shù);uαk+1分別為第k+1次迭代學(xué)習(xí)轉(zhuǎn)向角度和行駛速度的控制量;uαk(t)、uvk(t)分別為第 k 次迭代學(xué)習(xí)轉(zhuǎn)向角度和行駛速度的控制量。
同樣對(duì)其進(jìn)行離散化處理,得到離散化的控制模型為:
基于迭代學(xué)習(xí)控制的基本原理,提出一種控制智能鏟運(yùn)機(jī)運(yùn)動(dòng)軌跡的開環(huán)迭代學(xué)習(xí)控制算法和閉環(huán)迭代學(xué)習(xí)控制算法。智能鏟運(yùn)機(jī)在運(yùn)輸路徑上重復(fù)運(yùn)行,利用其每次迭代運(yùn)行過程中的航向角偏差和軌跡偏差作為反饋修正量,不斷地修正其在期望軌跡上的軌跡偏差,從而保證鏟運(yùn)機(jī)盡可能準(zhǔn)確地跟蹤期望軌跡,可實(shí)現(xiàn)對(duì)其運(yùn)動(dòng)軌跡的精確控制。
[1]Arimoto S,Kawamura S,Miyazaki F.Bettering Operation of Robots by Learning [J].Journal of Robotic Systems,1984,1(2):123-140.
[2]Wang H B,Wang Y.Open-closed Loop ILC Corrected with Angle Relationship of Output Vectors for Tracking Control of Manipulator [J].Acta Automatica Sinica,2010,36 (12):1758-1765.
[3]李世平,孫明軒,朱勝.初態(tài)學(xué)習(xí)下非仿射非線性系統(tǒng)的迭代學(xué)習(xí)控制[J].浙江工業(yè)大學(xué)學(xué)報(bào),2010,9(3):268-272.
[4]張航,羅大庸,黃浩江,等.機(jī)器人模糊迭代學(xué)習(xí)控制及其仿真研究[J].自動(dòng)化技術(shù)與應(yīng)用,2002(2):3-5,32.
[5]詹煒.迭代學(xué)習(xí)控制的指數(shù)變?cè)鲆婕铀賹W(xué)習(xí)算法及其在機(jī)器人控制上的應(yīng)用[J].微計(jì)算機(jī)應(yīng)用,2007,28(7):678-681.
[6]閻世梁,張華,王銀鈴,等.極坐標(biāo)下基于迭代學(xué)習(xí)的移動(dòng)機(jī)器人軌跡跟蹤控制 [J]. 計(jì)算機(jī)應(yīng)用,2010,30 (8):2017-2020.
[7]林輝,王林.迭代學(xué)習(xí)控制理論[M].西安:西北工業(yè)大學(xué)出版社,1998.
[8]謝勝利,田森平,謝振東.迭代學(xué)習(xí)控制的理論與應(yīng)用[M].北京:科學(xué)出版社,2005.