摘 要: 根據(jù)LuGre摩擦模型辨識(shí)理論,,以伺服電機(jī)驅(qū)動(dòng)軸與伺服電機(jī)內(nèi)部的摩擦模擬機(jī)器人關(guān)節(jié)摩擦,,建立LuGre摩擦模型。對(duì)伺服電機(jī)做基于固高卡的模擬量控制,,通過(guò)C++編程,,從編碼器中讀取角度、轉(zhuǎn)速值,、加速度值,。正轉(zhuǎn)速度和對(duì)應(yīng)的驅(qū)動(dòng)力矩,以及反轉(zhuǎn)速度和對(duì)應(yīng)的驅(qū)動(dòng)力矩,,分別構(gòu)成靜態(tài)參數(shù)辨識(shí)的兩組數(shù)據(jù),。位移、速度,、加速度和驅(qū)動(dòng)力矩構(gòu)成動(dòng)態(tài)參數(shù)辨識(shí)數(shù)據(jù),。在Matlab中編寫粒子群算法辨識(shí)程序,對(duì)以上數(shù)據(jù)進(jìn)行處理,,最終得到LuGre模型的6個(gè)參數(shù)的辨識(shí)值,。
關(guān)鍵詞: LuGre;摩擦模型,;模擬量控制,;粒子群算法
0 引言
機(jī)器人的控制性能與動(dòng)力學(xué)模型建立的精確度密切相關(guān)。由于摩擦而產(chǎn)生的關(guān)節(jié)阻尼是存在于機(jī)器人機(jī)構(gòu)各構(gòu)件之間的主要耗能因素,,通??闯筛赡Σ磷枘帷?duì)于干摩擦阻尼的描述,,近幾十年來(lái)提出了許多數(shù)學(xué)模型,,其中,LuGre摩擦模型全面而簡(jiǎn)潔地描述了摩擦力的動(dòng)靜態(tài)特性,,受到了很大的重視,。
LuGre摩擦模型將微觀下接觸表面看成是大量的具有隨機(jī)行為的彈性鬃毛,其數(shù)學(xué)描述為:
其中,參數(shù)Fc,,F(xiàn)s ,,Vs,σ2為靜態(tài)摩擦參數(shù),,用來(lái)描述運(yùn)動(dòng)副接觸面間發(fā)生滑動(dòng)后的摩擦現(xiàn)象,而參數(shù)σ0,、σ1為動(dòng)態(tài)摩擦參數(shù),用來(lái)描述運(yùn)動(dòng)副處于粘著狀態(tài)下(即處于預(yù)滑動(dòng)摩擦區(qū)域)的摩擦力與預(yù)滑動(dòng)之間的關(guān)系,。這6個(gè)參數(shù)可精確詮釋摩擦力粘滑運(yùn)動(dòng),、摩擦滯后、預(yù)滑動(dòng)位移,、穩(wěn)態(tài)振蕩環(huán)等,。
1 國(guó)內(nèi)外研究現(xiàn)狀
參考文獻(xiàn)[1]和參考文獻(xiàn)[2]分別采用遺傳算法和粒子群算法對(duì)LuGre模型分靜力參數(shù)及動(dòng)力參數(shù)兩步來(lái)實(shí)現(xiàn)參數(shù)的辨識(shí)。但是在辨識(shí)動(dòng)力參數(shù)時(shí),,上述兩文獻(xiàn)利用帶有PID控制器穩(wěn)態(tài)振蕩環(huán)辨識(shí)參數(shù),,存在實(shí)現(xiàn)振蕩環(huán)需根據(jù)經(jīng)驗(yàn)來(lái)調(diào)節(jié)PID控制的比例因子﹑微分因子以及積分因子的問(wèn)題。
參考文獻(xiàn)[3]利用改進(jìn)遺傳算法和粒子群算法對(duì)摩擦力LuGre模型的6個(gè)參數(shù)進(jìn)行辨識(shí),。靜力參數(shù)辨識(shí)方法同參考文獻(xiàn)[1-2],,但在動(dòng)力參數(shù)辨識(shí)時(shí)采用傳感器輸出的位移或加速度以及輸出的控制剪切力直接進(jìn)行參數(shù)辨識(shí),在辨識(shí)過(guò)程中把控制剪切力作為目標(biāo)逼近值,,進(jìn)而辨識(shí)出兩個(gè)動(dòng)力參數(shù)。此動(dòng)力參數(shù)辨識(shí)過(guò)程與參考文獻(xiàn)[1-2]的精度和效率相比具有更快的參數(shù)辨識(shí)速度和更好的魯棒性能,,同時(shí)避免了PID選取過(guò)程,。參考文獻(xiàn)[4]提供了具體程序編制,但沒有開展實(shí)驗(yàn)研究工作,。本文的目的是通過(guò)實(shí)驗(yàn)研究來(lái)獲取摩擦參數(shù),。
2 單自由度機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)LuGre摩擦模型的建立
由參考文獻(xiàn)[4]可知,進(jìn)行靜態(tài)參數(shù)辨識(shí)時(shí),,需要多組機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)在已知的驅(qū)動(dòng)力矩作用下對(duì)應(yīng)的正轉(zhuǎn)速度值和反轉(zhuǎn)速度值,。進(jìn)行動(dòng)態(tài)參數(shù)辨識(shí)時(shí),需要多組機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)在已知的驅(qū)動(dòng)力矩作用下對(duì)應(yīng)的位移,、轉(zhuǎn)速,、加速度值。在搭建實(shí)驗(yàn)平臺(tái)時(shí),,電機(jī)和卷筒構(gòu)成單自由度系統(tǒng),,電機(jī)輸出軸與電機(jī)固定本體構(gòu)成一個(gè)轉(zhuǎn)動(dòng)關(guān)節(jié),卷筒通過(guò)聯(lián)軸器與電機(jī)輸出軸相連,,模擬機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)的運(yùn)動(dòng),,建立機(jī)器人轉(zhuǎn)動(dòng)關(guān)節(jié)LuGre摩擦模型。上述靜、動(dòng)態(tài)參數(shù)辨識(shí)所需要的數(shù)據(jù)即是伺服電機(jī)在已知驅(qū)動(dòng)力矩作用下的相關(guān)數(shù)據(jù),。
建立LuGre摩擦模型后,,加以輔助和控制裝置。該實(shí)驗(yàn)平臺(tái)主要包括機(jī)架,、伺服電機(jī)與驅(qū)動(dòng)器,、運(yùn)動(dòng)控制卡以及用于控制的上位機(jī)等,如圖1所示,。本實(shí)驗(yàn)選用的伺服電機(jī)為松下A5系列的MHMD082G1V,,功率為750 W,驅(qū)動(dòng)器型號(hào)為MCDHT3520,。
關(guān)節(jié)所受的電機(jī)驅(qū)動(dòng)力(或力矩)與關(guān)節(jié)所受的摩擦力之間的關(guān)系可用下面的微分方程表示:
其中,, (J1+J2 )是電機(jī)和絞盤的轉(zhuǎn)動(dòng)慣量之和;x是電機(jī)輸出軸的轉(zhuǎn)角,;u是關(guān)節(jié)所受的電機(jī)驅(qū)動(dòng)力矩,;F是摩擦力矩。
當(dāng)系統(tǒng)運(yùn)動(dòng)處于穩(wěn)態(tài),,取常數(shù)時(shí),,,由前文LuGre摩擦模型的數(shù)學(xué)描述得:
則穩(wěn)態(tài)運(yùn)動(dòng)時(shí)摩擦力F為:
3 LuGre摩擦模型參數(shù)辨識(shí)理論
3.1 靜態(tài)參數(shù)辨識(shí)理論
目標(biāo)函數(shù)定義為:,,辨識(shí)靜態(tài)參數(shù)即是最小化目標(biāo)函數(shù)J1,。
3.2 動(dòng)態(tài)參數(shù)辨識(shí)理論
在動(dòng)態(tài)參數(shù)辨識(shí)時(shí)利用伺服系統(tǒng)輸出的位移(或加速度)以及輸出的控制剪切力直接進(jìn)行參數(shù)辨識(shí),在辨識(shí)過(guò)程中把控制剪切力作為目標(biāo)逼近值,。假定需要辨識(shí)的動(dòng)態(tài)參數(shù),,辨識(shí)誤差定義為:
其中,u(ti)為伺服系統(tǒng)控制剪切力,,u(xd,ti)為模型參數(shù)系統(tǒng)辨識(shí)輸出控制力,。由上式可得:
在預(yù)滑動(dòng)區(qū),質(zhì)量塊所受的外力F小于最大臨界靜摩擦力,,可以近似認(rèn)為鬃毛的平均變形等于質(zhì)量塊的位移,,即,此時(shí)系統(tǒng)摩擦力F簡(jiǎn)化為:
目標(biāo)函數(shù)定義為:,,辨識(shí)動(dòng)態(tài)參數(shù)即是最小化目標(biāo)函數(shù)J2,。
3.3 粒子群算法(PSO)參數(shù)設(shè)置及程序編寫
PSO 參數(shù)包括: 種群大小PopSize 、種群維數(shù)Dim,、慣性權(quán)重ω ,學(xué)習(xí)因子c1和c2,,最大速度Vmax、最大迭代數(shù)Gmax,、種群搜索空間等,。
本文采用的參數(shù)值為:種群大小PopSize=35,,種群維數(shù)Dim=4,采用Shi Yuhui等提出的方法[5],,將ω設(shè)置為從0.9線性下降至0.4,,使得PSO能更好控制全局搜索能力和局部搜索能力,加快收斂速度,,提高算法的性能,。學(xué)習(xí)因子一般設(shè)置是c1=c2∈[1,2.5],設(shè)置學(xué)習(xí)因子c1=c2=2,。最大速度Vmax=100,,最大迭代數(shù)Gmax=1 500,參數(shù)種群搜索空間設(shè)置為Fc=[0,100],,F(xiàn)s=[0,100], Vs=[0,0.1], σ2=[0,50],。
在正確設(shè)置算法參數(shù)的基礎(chǔ)上,以J1和J2分別作為靜態(tài)和動(dòng)態(tài)參數(shù)辨識(shí)程序的目標(biāo)函數(shù),,進(jìn)行Matlab粒子群優(yōu)化算法程序的編寫,。
4 實(shí)驗(yàn)研究過(guò)程
4.1 參數(shù)調(diào)整
模擬量控制是向伺服單元輸入模擬量指令形式的力矩指令,利用與輸入電壓成正比的力矩來(lái)控制伺服電機(jī)運(yùn)行的方法,。硬件連接完成后,,開始調(diào)試電機(jī)并對(duì)電機(jī)參數(shù)進(jìn)行設(shè)定。
首先選擇模擬量控制(模擬量指令)的控制方式并調(diào)整輸入增益,。然后調(diào)整指令偏置量,,用以消除模擬量指令為0 V時(shí)伺服電機(jī)可能的微速旋轉(zhuǎn)帶來(lái)的指令電壓的微小偏差。最后對(duì)電機(jī)轉(zhuǎn)速進(jìn)行限制,,以防止電機(jī)轉(zhuǎn)速過(guò)大而產(chǎn)生不必要的振動(dòng),。
4.2 控制程序的編寫
本實(shí)驗(yàn)采用固高卡GTS-800-PV來(lái)控制電機(jī)運(yùn)動(dòng),需要基于固高公司提供的運(yùn)動(dòng)控制器的動(dòng)態(tài)鏈接庫(kù)來(lái)使用,,利用Visual C++編制位置、轉(zhuǎn)速,、加速度測(cè)量程序,,其中讀取編碼器位置、轉(zhuǎn)速,、加速度的命令分別為:GT_GetAxisEncPos,、GT_GetAxisEncVel、GT_GetAxisEncAcc,。
4.3 參數(shù)辨識(shí)實(shí)驗(yàn)
辨識(shí)參數(shù)時(shí),,在測(cè)量程序界面中依次輸入35個(gè)驅(qū)動(dòng)力矩,從電機(jī)使能開始直至電機(jī)轉(zhuǎn)速趨于穩(wěn)態(tài)之后,,每隔10 ms讀取一次對(duì)應(yīng)的正轉(zhuǎn)速度值和反轉(zhuǎn)速度值,、位置值、加速度值。其中35個(gè)驅(qū)動(dòng)力矩,、正轉(zhuǎn)穩(wěn)態(tài)速度,、反轉(zhuǎn)穩(wěn)態(tài)速度構(gòu)成靜態(tài)參數(shù)辨識(shí)數(shù)據(jù),35個(gè)驅(qū)動(dòng)力矩及其對(duì)應(yīng)的電機(jī)轉(zhuǎn)速未達(dá)到穩(wěn)態(tài)時(shí)的轉(zhuǎn)速,、位置,、加速度,構(gòu)成動(dòng)態(tài)參數(shù)辨識(shí)數(shù)據(jù),。
4.4 數(shù)據(jù)處理
程序中讀取的伺服電機(jī)編碼器的位置值,、轉(zhuǎn)速值、加速度值均為脈沖值(單位為Pulse),,根據(jù)換算關(guān)系,,將它們的單位轉(zhuǎn)換為rad、rad/min,、rad/s2,。
5 實(shí)驗(yàn)結(jié)果及驗(yàn)證
LuGre模型共有6個(gè)參數(shù)Fc,F(xiàn)s ,,Vs,,σ2,σ0,,σ1,。其中Fc,F(xiàn)s ,,Vs,,σ2 4個(gè)參數(shù)在電機(jī)正轉(zhuǎn)和反轉(zhuǎn)時(shí)有不同的數(shù)值,正轉(zhuǎn)時(shí),,上述4個(gè)參數(shù)值表示為F+c,,F(xiàn)+s,V+s,,σ+2,,反轉(zhuǎn)時(shí)表示為F-c,F(xiàn)-s,,V-s,,σ-2,辨識(shí)結(jié)果如表1所示,。
為驗(yàn)證實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,,根據(jù)辨識(shí)結(jié)果,分別對(duì)35組驅(qū)動(dòng)力矩下的伺服電機(jī)轉(zhuǎn)速變化過(guò)程進(jìn)行推導(dǎo),,并與實(shí)測(cè)轉(zhuǎn)速作比較,。僅以驅(qū)動(dòng)力矩為0.069 6 Nmissing image filem時(shí),,伺服電機(jī)的轉(zhuǎn)速變化過(guò)程為例進(jìn)行說(shuō)明,而其他驅(qū)動(dòng)力矩下具有相似結(jié)論,。
如圖2所示,,在伺服電機(jī)轉(zhuǎn)動(dòng)加速階段,即本文中LuGre摩擦模型處于預(yù)滑動(dòng)區(qū)域時(shí),,實(shí)測(cè)轉(zhuǎn)速與擬合轉(zhuǎn)速基本吻合,,僅在較高轉(zhuǎn)速時(shí),有少量誤差,,從而可以證明本文辨識(shí)的LuGre摩擦模型動(dòng)態(tài)參數(shù)辨識(shí)結(jié)果的準(zhǔn)確性,。在伺服電機(jī)勻速轉(zhuǎn)動(dòng)階段,即本文中LuGre摩擦模型接觸面間發(fā)生滑動(dòng)后,,實(shí)測(cè)轉(zhuǎn)速穩(wěn)定在180.7 r/min,,擬合轉(zhuǎn)速穩(wěn)定在177.2 r/min,絕對(duì)誤差為3 r/min,,相對(duì)誤差為1.6%,,可以證明本文靜態(tài)參數(shù)辨識(shí)結(jié)果的準(zhǔn)確性。
6 結(jié)論
本文在辨識(shí)LuGre摩擦模型參數(shù)時(shí),,以伺服電機(jī)驅(qū)動(dòng)軸與電機(jī)內(nèi)部的摩擦模擬機(jī)器人關(guān)機(jī)轉(zhuǎn)動(dòng)摩擦,,建立LuGre摩擦模型。對(duì)伺服電機(jī)做基于固高卡的模擬量控制,,通過(guò)C++編程,,從編碼器中讀取相關(guān)數(shù)據(jù)。在Matlab中編寫粒子群算法辨識(shí)程序,,對(duì)以上數(shù)據(jù)進(jìn)行處理,,最終得到LuGre模型的6個(gè)參數(shù)的辨識(shí)值。通過(guò)對(duì)實(shí)驗(yàn)結(jié)果的驗(yàn)證,,說(shuō)明辨識(shí)結(jié)果是比較準(zhǔn)確的,。實(shí)驗(yàn)中的誤差可能是由轉(zhuǎn)速較高時(shí)試驗(yàn)臺(tái)的機(jī)械振動(dòng)造成的。
參考文獻(xiàn)
[1] Liu Deping. Genetic algorithms based parameter identification for nonlinear mechanical servo systems[C]. 2006 1st IEEE Conference on Industrial Electronics and Applications, 2006: 1-5.
[2] ZHANG Wenjing. Parameter identification of LuGre friction model in servo system based on improved particle swarm optimization algorithm[C]. Proceedings of the 26th Chinese Control Conference, 2007: 135-139.
[3] 孫洪鑫,,王修勇,,陳政清.辯識(shí) LuGre 摩擦模型參數(shù)的兩 種智能算法[C].第五屆全國(guó)電磁流變液及其應(yīng)用學(xué)術(shù)會(huì)議論文集,長(zhǎng)沙,,2008.
[4] Zheng Yaqing. Parameter identification of LuGre friction model for robot joints[C]. Proceedings of the 3rd International Conference on Manufacturing Science and Engineering (ICMSE 2012), Xiamen, China, 2012:27-29.
[5] SHI Yuhui, Eberhart R. A modified particle swarm optimizer[C]. In: IEEE Word Congress on Computational Intelligence,1998:69-73.