本發(fā)明屬于于智能機(jī)器人,具體涉及到一種基于短時(shí)增量的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)方法及系統(tǒng)。
背景技術(shù):
1、機(jī)器人技術(shù)作為現(xiàn)代科技的重要分支,已經(jīng)取得了顯著的發(fā)展成就。隨著機(jī)械電子技術(shù)、自動(dòng)化控制技術(shù)及計(jì)算機(jī)科學(xué)技術(shù)的不斷進(jìn)步,機(jī)器人逐漸滲透到各個(gè)領(lǐng)域,極大推動(dòng)了社會(huì)智能化和自動(dòng)化發(fā)展。然而,隨著任務(wù)復(fù)雜性及任務(wù)需求的提高,新型傳動(dòng)與驅(qū)動(dòng)機(jī)構(gòu)以及智能與軟物質(zhì)材料開始用于機(jī)器人技術(shù),柔性化、軟性化、可變形、微型化和控制智能化成為機(jī)器人發(fā)展的重要方向,建立機(jī)器人準(zhǔn)確的動(dòng)力學(xué)模型和有效的運(yùn)動(dòng)控制也顯得尤為困難。
2、目前,機(jī)器人系統(tǒng)動(dòng)力學(xué)建模方法主要包括以下三類:第一類直接使用牛頓經(jīng)典力學(xué)和材料力學(xué)進(jìn)行動(dòng)力學(xué)方程推導(dǎo),如使用拉格朗日方程、哈密頓方程、cosserat桿理論等。這類方法對(duì)簡易的機(jī)器人系統(tǒng)能得到相對(duì)精確的動(dòng)力學(xué)方程,但對(duì)于復(fù)雜機(jī)器人系統(tǒng)建模面臨極大困難,且這種方法難以考慮外界環(huán)境和材料老化等對(duì)機(jī)器人動(dòng)力學(xué)模型的影響。第二類是基于數(shù)據(jù)驅(qū)動(dòng)的建模方法,首先給出機(jī)器人動(dòng)力學(xué)約束條件和方程結(jié)構(gòu),再采用深度學(xué)習(xí)獲其位置參數(shù)或方程。這類方法在一定程度上克服了系統(tǒng)過于復(fù)雜導(dǎo)致的無法直接建模問題,但學(xué)習(xí)過程會(huì)受到超參數(shù)的影響,且可能出現(xiàn)欠擬合或者過擬合的情況,導(dǎo)致其外推性不滿足要求。第三類方法在機(jī)器人任務(wù)過程中擬合出一個(gè)動(dòng)態(tài)的模型,不受環(huán)境變化、外界擾動(dòng)等而影響。一個(gè)典型方式是基于rbf神經(jīng)網(wǎng)絡(luò)進(jìn)行動(dòng)力學(xué)模型參數(shù)擬合,rbf神經(jīng)網(wǎng)絡(luò)在大量場景中均被證明擁有較高的擬合精度,且能夠滿足建模要求。然而在機(jī)器人模型自由度過高時(shí),rbf神經(jīng)網(wǎng)絡(luò)也會(huì)面臨收斂較慢的情況,需要結(jié)合一種新型、更加準(zhǔn)確的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)方法達(dá)成更為準(zhǔn)確的動(dòng)力學(xué)實(shí)時(shí)建模。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)中的缺陷,提出一種一種基于短時(shí)增量的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)方法及系統(tǒng)。
2、本發(fā)明的一種基于短時(shí)增量的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)方法,包括以下步驟:
3、s1、求解具有未知參數(shù)或函數(shù)的復(fù)雜系統(tǒng)動(dòng)力學(xué)模型表達(dá)式,將其控制仿真過程離散化,定義仿真的大步長與小步長;
4、s2、通過狀態(tài)變量序列的自相關(guān)函數(shù)、偏自相關(guān)函數(shù)以及模型選擇準(zhǔn)則選擇合適的一步最優(yōu)預(yù)測模型;
5、s3、每個(gè)大步長開始時(shí)刻,通過步驟s2中選擇的一步最優(yōu)預(yù)測模型求解下一大步長開始時(shí)刻和這一大步長中間每個(gè)小步長開始時(shí)刻狀態(tài)變量的預(yù)測值;
6、s4、在該大步長內(nèi)每個(gè)小步長時(shí)刻作用輸入控制量增量,測量每一小步長開始時(shí)刻的狀態(tài)變量,并實(shí)時(shí)更新下一大步長和后續(xù)小步長開始時(shí)刻的狀態(tài)變量預(yù)測值;
7、s5、根據(jù)所求得各小步長狀態(tài)變量預(yù)測值和實(shí)際測量值之差計(jì)算動(dòng)力學(xué)模型未知參數(shù)。
8、優(yōu)選地,s1具體包括如下步驟:
9、求解具有未知參數(shù)或函數(shù)的復(fù)雜系統(tǒng)動(dòng)力學(xué)模型表達(dá)式如下:
10、
11、其中,x,表示該系統(tǒng)動(dòng)力學(xué)的狀態(tài)變量及其一階導(dǎo)數(shù),u為控制系統(tǒng)的輸入量,f(x)表示動(dòng)力學(xué)方程中與輸入量u無關(guān)項(xiàng)之和,g(x)表示動(dòng)力學(xué)方程中關(guān)于輸入量u的線性變化矩陣,即x關(guān)于u的偏導(dǎo)數(shù);
12、將系統(tǒng)動(dòng)力學(xué)的控制仿真過程看作離散時(shí)間過程,設(shè)該系統(tǒng)動(dòng)力學(xué)的自由度數(shù)目為n,其中一個(gè)大步長時(shí)間包含2n個(gè)小步長;在仿真過程中,第k個(gè)大步長開始時(shí)刻的狀態(tài)變量設(shè)為x(k),第k個(gè)大步長期間的第l個(gè)小步長開始時(shí)刻的狀態(tài)變量設(shè)為x(k;l-1),l為1至2n范圍內(nèi)的整數(shù);記每個(gè)大步長時(shí)間為t,則每個(gè)小步長時(shí)間為將系統(tǒng)動(dòng)力學(xué)模型離散化,用代替有
13、優(yōu)選地,s2具體包括如下步驟:
14、定義狀態(tài)變量序列的自相關(guān)函數(shù)和偏自相關(guān)函數(shù)預(yù)測下一大步長開始時(shí)刻的系統(tǒng)狀態(tài)值;
15、利用aic模型選擇準(zhǔn)則aic=2r-2ln(l)選取時(shí)間預(yù)測序列模型階數(shù),其中r為模型的參數(shù)數(shù)量,l為模型的最大似然函數(shù)值,所選取的自回歸模型階數(shù)p或/和移動(dòng)平均模型階數(shù)q應(yīng)使得aic的值盡量小,接著選取模型參數(shù),使似然函數(shù)最大化;
16、
17、其中,θ為模型參數(shù)列陣,包含自回歸模型參數(shù)或/和移動(dòng)平均模型參數(shù),y=[x(1),x(2),…,x(n)]t為狀態(tài)變量觀測值序列,w為包含滯后項(xiàng)和白噪聲項(xiàng)的設(shè)計(jì)矩陣,∑為誤差項(xiàng)的協(xié)方差矩陣。
18、優(yōu)選地,s3具體包括如下步驟:
19、利用步驟s2中求得的一步時(shí)間序列預(yù)測模型、當(dāng)前大步長開始時(shí)刻的狀態(tài)變量x(k)和之前大步長開始時(shí)刻的狀態(tài)變量x(k-1),x(k-2),…,計(jì)算下一大步長開始時(shí)刻狀態(tài)變量的預(yù)測值
20、對(duì)所求得下一大步長開始時(shí)刻的系統(tǒng)狀態(tài)值和當(dāng)前大步長開始時(shí)刻的系統(tǒng)狀態(tài)值,對(duì)當(dāng)前大步長中每一個(gè)小步長開始時(shí)刻系統(tǒng)狀態(tài)值進(jìn)行線性插值,作為各小步長的系統(tǒng)狀態(tài)預(yù)測值,即在當(dāng)前大步長期間,各個(gè)小步長開始時(shí)刻的狀態(tài)變量估計(jì)值表達(dá)如下:
21、
22、優(yōu)選地,s4具體包括如下步驟:
23、定義向量γi=[0,…,0,1,0,…0]t,i=1,2,…,n,即γi是一個(gè)n維列向量,其元素中除了i個(gè)元素取值為1外,其余元素均取值為0;對(duì)于該大步長期間第l+1個(gè)小步長(l=0,1,…,2n-1),若l為偶數(shù),設(shè)l=2m,m=0,1,…,n-1,令小步長期間控制輸入量增量為δuk,l=αm+1γm+1,若l為奇數(shù),設(shè)l=2m+1,m=0,1,…,n-1,令小步長期間控制輸入量增量為δuk,l=-αm+1γm+1,其中αi>0,i=1,2,…,n為預(yù)定的增量系數(shù)。此時(shí),假設(shè)uk為第k-1個(gè)大步長中,由上一大步長中步驟s5所計(jì)算出在第k個(gè)大步長期間的輸入量理論值,則對(duì)于第k個(gè)大步長期間第l+1個(gè)小步長,此期間控制輸入量uk,l=uk+δuk,l;
24、在該大步長中每第奇數(shù)個(gè)小步長結(jié)束時(shí)所測量的狀態(tài)變量為x(k;2m+1),設(shè)此時(shí)狀態(tài)變量的估計(jì)值為則狀態(tài)變量估計(jì)誤差為從而狀態(tài)變量一階導(dǎo)估計(jì)誤差為將其離散化,有
25、
26、此時(shí),由于第2m+1個(gè)小步長已結(jié)束,將調(diào)整為其真實(shí)值x(k;2m)。
27、優(yōu)選地,s5具體包括如下步驟:
28、由動(dòng)力學(xué)方程表達(dá)式
29、
30、得
31、
32、又由
33、
34、聯(lián)立上述兩式,得
35、
36、假設(shè)在同一大步長內(nèi),g的值恒定,即g(x(k;2m))=g(x(k));此時(shí)則近似地有
37、
38、由δuk,2m的定義,得知g(x(k))第m+1列的值為經(jīng)歷一個(gè)大步長后,g(x(k))可以完全求得,將其代入控制器方程可以計(jì)算下一個(gè)大步長下的輸入量理論值;
39、當(dāng)l為偶數(shù)時(shí),設(shè)l=2m,m=1,…,n-1,則第l+1個(gè)小步長開始時(shí),求取當(dāng)前時(shí)刻的實(shí)際狀態(tài)值x(k;l),根據(jù)x(k;2m)和x(k)的值對(duì)下一大步長和后續(xù)小步長開始時(shí)的狀態(tài)變量預(yù)測值進(jìn)行修改,此時(shí)下一大步長狀態(tài)變量預(yù)測值修改為x(k+1)=當(dāng)前和后續(xù)小步長的預(yù)測值修改為2m,2m+1,…,2n,若該大步長未結(jié)束,進(jìn)入后續(xù)小步長,返回步驟s4,若該大步長結(jié)束,系統(tǒng)動(dòng)力學(xué)參數(shù)則得到了實(shí)時(shí)估計(jì),進(jìn)入下一大步長,返回步驟s3。
40、本發(fā)明還涉及一種基于短時(shí)增量的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)系統(tǒng),包括一計(jì)算機(jī)模塊,該模塊應(yīng)用上述的基于短時(shí)增量的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)方法。
41、有益效果
42、本發(fā)明提出了一種基于短時(shí)增量的系統(tǒng)動(dòng)力學(xué)參數(shù)實(shí)時(shí)估計(jì)方法,通過一步最優(yōu)預(yù)測的方法估計(jì)系統(tǒng)動(dòng)力學(xué)的參數(shù),實(shí)現(xiàn)“邊控制邊估計(jì)”,使得系統(tǒng)在不受到大幅影響的前提下,能夠較準(zhǔn)確地估算系統(tǒng)的動(dòng)力學(xué)參數(shù)。
43、1、本發(fā)明的方法整體邏輯與原理清晰簡單,適用于大量不同的系統(tǒng)和各種工況,具有較強(qiáng)的泛化性。
44、2、本發(fā)明的方法采用“邊控制邊估計(jì)”的策略,無需在其工作應(yīng)用前對(duì)其動(dòng)力學(xué)參數(shù)進(jìn)行預(yù)估計(jì)和測量,且由于估計(jì)的實(shí)時(shí)性,該方法避免了因系統(tǒng)在不同工況下動(dòng)力學(xué)模型發(fā)生改變而對(duì)其控制精度產(chǎn)生不利影響。
45、3、本發(fā)明的方法具有較好的抗擾動(dòng)性,在面對(duì)外界干擾時(shí)也能得到較準(zhǔn)確的系統(tǒng)參數(shù)估計(jì)。