如何在模型未知時(shí)實(shí)現(xiàn)對(duì)機(jī)器人的控制這一問題的研究對(duì)機(jī)器人理論的發(fā)展和機(jī)器人控制理論在實(shí)踐中的應(yīng)用都具有重要的意義。本文提出一種基于神經(jīng)網(wǎng)絡(luò)機(jī)器人模型辨識(shí)的迭代學(xué)習(xí)智能控制方法。仿真表明該方法具有滿意的效果。
1 前言
作為在現(xiàn)代控制理論鼎盛時(shí)期問世的機(jī)器人,其控制技術(shù)的成長(zhǎng)與現(xiàn)代控制理論的發(fā)展有著密切的關(guān)系。在機(jī)器人技術(shù)三十多年的成長(zhǎng)過程中現(xiàn)代控制理論所提供的幾乎所有的設(shè)計(jì)方法都在機(jī)器人上做過應(yīng)用的嘗試,這些控制方法在建立機(jī)器人的數(shù)學(xué)模型時(shí)需要做合理的近似處理,忽略一些不確定性因素。然而,機(jī)器人動(dòng)力學(xué)具有高度非線性、強(qiáng)耦合等特點(diǎn),其不確定的因素客觀存在,這些不確定的未建模部分動(dòng)態(tài)地影響這些理論結(jié)果在實(shí)際中的應(yīng)用。如何在模型未知時(shí)實(shí)現(xiàn)對(duì)機(jī)器人的控制這一問題的研究對(duì)機(jī)器人理論的發(fā)展和機(jī)器人控制理論在實(shí)踐中的應(yīng)用都具有重要的意義。
人工神經(jīng)元網(wǎng)絡(luò)(Artifical Neural Network)是在現(xiàn)代神經(jīng)學(xué)、生物學(xué)、心理學(xué)等科學(xué)領(lǐng)域成果的基礎(chǔ)上產(chǎn)生的,反映了生物神經(jīng)系統(tǒng)的基本特征,是對(duì)生物神經(jīng)系統(tǒng)的某種抽象、簡(jiǎn)化與模擬,是理論化的人腦神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)模型,其能夠逼近任意非線性映射的特性,為解決機(jī)器人控制問題提供了新的手段。
本文提出一種基于神經(jīng)網(wǎng)絡(luò)機(jī)器人模型辨識(shí)的迭代學(xué)習(xí)控制方法。這種方法用神經(jīng)網(wǎng)絡(luò)辨識(shí)機(jī)器人系統(tǒng)的正向或逆向模型,并消除系統(tǒng)不確定性和外部干擾的影響。仿真表明這種方法效果良好。
2 基于神經(jīng)網(wǎng)絡(luò)模型辨識(shí)的機(jī)器人迭代學(xué)習(xí)控制
迭代學(xué)習(xí)控制方法在解決由于對(duì)象存在非線性或建模不良造成的不確定性問題方面具有得天獨(dú)厚的優(yōu)越性。它模仿人類的學(xué)習(xí)功能,在學(xué)習(xí)過程中不斷彌補(bǔ)缺乏的先驗(yàn)知識(shí),進(jìn)而能使系統(tǒng)的控制性能得到不斷改善。
采用神經(jīng)網(wǎng)絡(luò)辨識(shí)機(jī)器人的逆向模型,使機(jī)器人的關(guān)節(jié)運(yùn)動(dòng)沿迭代軸方向逼近期望軌跡;迭代學(xué)習(xí)控制器在線學(xué)習(xí)控制參量,使關(guān)節(jié)運(yùn)動(dòng)沿時(shí)間軸方向跟蹤期望軌跡。在每一次的迭代學(xué)習(xí)過程中,使神經(jīng)網(wǎng)絡(luò)訓(xùn)練到對(duì)模型的辨識(shí)達(dá)到比較好的逼近精度后,利用神經(jīng)元網(wǎng)絡(luò)的輸出構(gòu)造下一次迭代學(xué)習(xí)過程中前饋部分的控制律,再將其與實(shí)時(shí)反饋控制結(jié)合,形成魯棒迭代學(xué)習(xí)控制算法。
2.1 反饋控制器的設(shè)計(jì)
用神經(jīng)網(wǎng)絡(luò)的辨識(shí)模型近似代替機(jī)器人系統(tǒng)的實(shí)際模型時(shí),神經(jīng)網(wǎng)絡(luò)必須進(jìn)行一次或多次在線訓(xùn)練直至收斂狀態(tài),這影響了控制的實(shí)時(shí)性。此外,學(xué)習(xí)控制不一定能保證每次學(xué)習(xí)時(shí)都能補(bǔ)償跟蹤誤差,傳統(tǒng)的反饋控制有助于克服此類問題,所以為了提高系統(tǒng)的抗干擾性能和初始魯棒性,在控制系統(tǒng)中可以引入反饋控制。
引入反饋控制增強(qiáng)了系統(tǒng)的抗干擾性能,提高了系統(tǒng)的魯棒性,從而保證每次學(xué)習(xí)時(shí)都能跟蹤補(bǔ)償誤差。
2.2 神經(jīng)網(wǎng)絡(luò)辨識(shí)器設(shè)計(jì)
機(jī)器人非線性自回歸滑動(dòng)平均模型(
NARMAX模型)的一般形式為
y(t)=f(y(t-1),y(t-2),…,y(t-n);u(t-1),u(t-2),…,u(t-m))
其中,
u(t)和
y(t)分別是系統(tǒng)的輸入和輸出向量;
m和
n為輸入和輸出的最大時(shí)延。
f為未知的輸入輸出非線性函數(shù)。將上式簡(jiǎn)記為
y(t)=f(I(t-1)),其中,
I(t-1)=[y(t-1)[SUP]T[/SUP],…,Y(t-n),…,u(t-1)[SUP]T[/SUP],…,u(t-m)[SUP]T[/SUP]]∈R[SUP]nq+mp[/SUP]
則三層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的
BP神經(jīng)網(wǎng)絡(luò)辨識(shí)模型可以表示為
其中,
W代表網(wǎng)絡(luò)的權(quán)值,
N代表神經(jīng)網(wǎng)絡(luò)輸入輸出映射函數(shù),神經(jīng)網(wǎng)絡(luò)的輸入為
I(t)∈R[SUP]nq+mp[/SUP],網(wǎng)絡(luò)的輸出為
,它由
N[SUB]0[/SUB]個(gè)輸出神經(jīng)元構(gòu)成,可以確定該神經(jīng)網(wǎng)絡(luò)輸出層神經(jīng)元的個(gè)數(shù)為
N[SUB]0[/SUB]=q。
對(duì)于確定的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),對(duì)其進(jìn)行訓(xùn)練和學(xué)習(xí),找到滿足要求的權(quán)值參數(shù),使給定的目標(biāo)函數(shù)最優(yōu)。通常,找到最優(yōu)權(quán)值比較困難,只能找到真實(shí)函數(shù)的一個(gè)近似。為此,給定一個(gè)逼近精度ε>0,只要找到權(quán)值
W*使得網(wǎng)絡(luò)輸出與期望輸出的誤差小于ε,便認(rèn)為網(wǎng)絡(luò)模型
y(t+1)=N(I(t),W*)是對(duì)未知函數(shù)的一個(gè)逼近。假設(shè)神經(jīng)網(wǎng)絡(luò)的辨識(shí)誤差是
當(dāng)此神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練后,獲得最優(yōu)權(quán)值(
W*)時(shí)滿足
‖
f(I(t))-N(I(t),W*
)‖=‖
e[SUB]n[/SUB](t+1)‖≤ε,
,
D為R[SUP]nq+mp[/SUP]上的一個(gè)集合。
至此,我們得到了逼近機(jī)器人系統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型,將神經(jīng)網(wǎng)絡(luò)的訓(xùn)練與學(xué)習(xí)控制結(jié)合起來,在第次迭代學(xué)習(xí)的過程中,使神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)一定的次數(shù)以逼近機(jī)器人系統(tǒng)模型。通常以誤差準(zhǔn)則
來作為網(wǎng)絡(luò)模型逼近機(jī)器人系統(tǒng)的標(biāo)準(zhǔn)。g(·)是e(t)的函數(shù),e是定義在[0,r]上的誤差函數(shù),是網(wǎng)絡(luò)模型與實(shí)際系統(tǒng)的偏差,是網(wǎng)絡(luò)模型參數(shù)(通常表現(xiàn)為權(quán)值)的非線性函數(shù),于是,辨識(shí)問題歸結(jié)為非線性優(yōu)化問題。神經(jīng)網(wǎng)絡(luò)具有處理非線性優(yōu)化問題的能力,且能并行處理信息,速度較快,因此,在神經(jīng)網(wǎng)絡(luò)辨識(shí)中采用這種誤差準(zhǔn)則。
采用BP算法修整神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,使誤差性能函數(shù)
最小,其中k代表迭代學(xué)習(xí)的次數(shù),
和
代表實(shí)際輸出和網(wǎng)絡(luò)模型的輸出,T為神經(jīng)網(wǎng)絡(luò)采樣時(shí)間。采用梯度下降法遞推和修正權(quán)值
其中β為學(xué)習(xí)因子,也就是按梯度法搜索的步長(zhǎng),當(dāng)其取值大時(shí),學(xué)習(xí)速度就快,但容易引起權(quán)值震蕩甚至發(fā)散,其取值小時(shí),網(wǎng)絡(luò)訓(xùn)練的時(shí)間長(zhǎng),學(xué)習(xí)速度較慢。α為動(dòng)量因子,它的大小決定過去權(quán)值變化對(duì)目前值的影響程度,其作用為記憶上次連接權(quán)值的變化方向,抑制系統(tǒng)可能產(chǎn)生的振蕩,起平滑的作用。選擇適當(dāng)?shù)膭?dòng)量因子,可以降低反傳算法對(duì)誤差表面的靈敏度,使網(wǎng)絡(luò)避免陷入局部最小點(diǎn),一般選在0.9左右。γ為網(wǎng)絡(luò)訓(xùn)練次數(shù)。
在第k次重復(fù)試驗(yàn)的過程中,權(quán)值
隨γ的增加朝最優(yōu)方向修整,使得辨識(shí)模型誤差逐漸減少,當(dāng)達(dá)到給定的逼近精度時(shí)便可以結(jié)束訓(xùn)練,得到最優(yōu)權(quán)值
,利用
計(jì)算得到網(wǎng)絡(luò)的輸出
,用此輸出構(gòu)造第k+1次迭代學(xué)習(xí)的前饋?zhàn)饔?,與實(shí)時(shí)反饋?zhàn)饔霉餐a(chǎn)生控制輸入
2.3機(jī)器人控制方案設(shè)計(jì)
完成神經(jīng)網(wǎng)絡(luò)辨識(shí)器以及反饋控制器的設(shè)計(jì)后,引入迭代學(xué)習(xí)控制器,完成整個(gè)控制方案的設(shè)計(jì)。整個(gè)系統(tǒng)控制框圖如圖1。
[align=center]
圖1 控制系統(tǒng)結(jié)構(gòu)框圖[/align]
迭代學(xué)習(xí)控制器采用簡(jiǎn)單的P型結(jié)構(gòu),u[SUB]fb[/SUB]、u[SUB]ff [/SUB]分別是由反饋控制器和學(xué)習(xí)控制器確定的控制律,第k次迭代學(xué)習(xí)過程中,機(jī)器人的迭代學(xué)習(xí)控制律為
其中
為反饋控制項(xiàng),k[SUB]p[/SUB]和k[SUB]d[/SUB]為正定的位置和速度增益矩
陣,
是系統(tǒng)的期望軌跡,
是第k次迭代學(xué)習(xí)過程
系統(tǒng)的實(shí)際輸出。
為學(xué)習(xí)控制項(xiàng),k[SUB]ILC[/SUB]為學(xué)習(xí)增益矩
陣,
為第k次迭代學(xué)習(xí)過程神經(jīng)網(wǎng)絡(luò)的輸出。
前面所用的學(xué)習(xí)律不能利用其它控制方法得到的先驗(yàn)知識(shí),對(duì)于新的期望軌跡必須重新開始學(xué)習(xí),這種學(xué)習(xí)機(jī)制不符合人類的學(xué)習(xí)行為,這是迭代學(xué)習(xí)控制難以推廣的重要原因,有關(guān)文獻(xiàn)針對(duì)于此引入了遺忘因子。遺忘因子的引入抑制了迭代開始時(shí)跟蹤誤差的大幅度擺動(dòng),對(duì)要求跟蹤的新的期望軌跡先利用系統(tǒng)的歷史控制經(jīng)驗(yàn),用神經(jīng)網(wǎng)絡(luò)估計(jì)系統(tǒng)的期望輸入,作為迭代學(xué)習(xí)控制算法的初始控制輸入,再由迭代學(xué)習(xí)律逐步改善控制輸入,使得只需少數(shù)的迭代次數(shù)就能達(dá)到跟蹤精度的要求,大大提高了系統(tǒng)的學(xué)習(xí)速度,使所研究的控制方法更具有實(shí)用價(jià)值。為了實(shí)現(xiàn)對(duì)期望軌跡y[SUB]d[/SUB](t)的漸近跟蹤,采用改進(jìn)的學(xué)習(xí)律:
式中γ為遺忘因子0≤γ≤1,e[SUB]k[/SUB](t)為跟蹤誤差,e[SUB]k[/SUB](t)=y[SUB]d[/SUB](t)-y[SUB]k[/SUB](t)
R(t)為有界學(xué)習(xí)增益矩陣,R(t)∈R[SUP]mxr[/SUP]
初始修正項(xiàng)γu0(t)可以避免迭代軌跡的大幅度擺動(dòng),從而可以加快迭代收斂速度。
3 機(jī)器人控制仿真
通過仿真分析機(jī)器人系統(tǒng)控制方案效果并與常規(guī)機(jī)器人PID控制進(jìn) 行對(duì)比。由仿真結(jié)果可以看出,基于神經(jīng)網(wǎng)絡(luò)的迭代學(xué)習(xí)控制收斂速度快、跟蹤精度高,超調(diào)小,具有良好的魯棒性和控制性能。
[align=center]
圖2 基于神經(jīng)網(wǎng)絡(luò)模型辨識(shí)的迭代學(xué)習(xí)控制響應(yīng)曲線
圖3 常規(guī)PID控制響應(yīng)曲線[/align]
迭代學(xué)習(xí)控制響應(yīng)曲線、常規(guī)PID 響應(yīng)曲線分別如圖2、圖3所示。仿真曲線縱軸單位為弧度,橫軸單位為秒。
[align=center]
圖4 有干擾輸入無神經(jīng)網(wǎng)絡(luò)辨識(shí)器作用響應(yīng)曲線
圖5 有干擾輸入有神經(jīng)網(wǎng)絡(luò)辨識(shí)器作用響應(yīng)曲線
圖6 迭代學(xué)習(xí)控制跟蹤誤差輸出曲線[/align]
神經(jīng)網(wǎng)絡(luò)辨識(shí)器給出了機(jī)器人較為精確的模型并消除系統(tǒng)不確定性和外部干擾的影響神經(jīng)網(wǎng)絡(luò)辨識(shí)器作用響應(yīng)曲線如圖4、圖5、圖6所示。
4 結(jié)語
先進(jìn)的建模與控制技術(shù)應(yīng)用到以機(jī)器人為代表的非線性、時(shí)變、強(qiáng)耦合對(duì)象中去已經(jīng)成為智能控制方法研究的熱點(diǎn)。隨著智能控制方案的成熟發(fā)展,必將加快機(jī)器人的應(yīng)用速度。當(dāng)然,各種智能控制方案在機(jī)器人中的實(shí)際應(yīng)用還需要很長(zhǎng)的路要走。