国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于GA-SA算法的機(jī)器人幾何參數(shù)誤差辨識①

2024-02-26 03:31:34朱振權(quán)殷寶麟潘瑞冬鄭春雷
關(guān)鍵詞:模擬退火位姿運(yùn)動學(xué)

朱振權(quán), 殷寶麟, 潘瑞冬, 鄭春雷

(佳木斯大學(xué)機(jī)械工程學(xué)院,黑龍江 佳木斯 154007)

0 引 言

近年來,機(jī)器人技術(shù)正朝著高精度、高智能的方向發(fā)展,使得機(jī)器人可完成更高精度、更高效率的任務(wù)[1-2]。目前串聯(lián)機(jī)器人的重復(fù)定位精度較高,而絕對定位精度較低[3]。幾何參數(shù)誤差對絕對定位精度的影響最大,大約占總誤差的80%。通常運(yùn)用標(biāo)定來解決,主要有誤差模型、位姿測量、參數(shù)辨識和誤差補(bǔ)償4步[4]。采用D-H法[5]建立運(yùn)動學(xué)模型。位姿測量利用測量設(shè)備測量出機(jī)器人末端在空間中的真實(shí)位姿,以此來評估誤差,常用激光跟蹤儀、三坐標(biāo)測量儀、球桿儀等[6],Gan[7]和Yin[8]等學(xué)者利用拉線傳感器或視覺設(shè)備來進(jìn)行閉環(huán)測量;參數(shù)辨識利用測量出的數(shù)據(jù)和理論數(shù)據(jù)經(jīng)過算法辨識出誤差,常用最小二乘法Wu[9]、卡爾曼濾波法Gao[10],但這些算法效率較低。Yang[11]依據(jù)距離誤差,提出四種識別模型,結(jié)合多種群遺傳算法分析了不同方法的參數(shù)識別結(jié)果;張永貴[12]采用混合遺傳算法求解方程組的新方法識別機(jī)器人運(yùn)動學(xué)參數(shù)誤差。總結(jié)現(xiàn)有研究發(fā)現(xiàn),幾何參數(shù)誤差與末端位姿誤差之間構(gòu)成了一個高維非線性方程組,在遺傳算法的后期加入模擬退火算法,使其跳出局部最優(yōu),并進(jìn)行了算例分析,證明了所提算法可以有效減少機(jī)器人的末端位姿誤差。

1 機(jī)器人幾何參數(shù)誤差標(biāo)定的數(shù)學(xué)模型

1.1 建立機(jī)器人運(yùn)動學(xué)模型

依據(jù)Paul所建立的DH法[13]建立機(jī)器人運(yùn)動學(xué)模型,轉(zhuǎn)換式如式(1):

Ai=Rot(Z,θi)Trans(Z,di)

Trans(X,ai)Rot(X,αi)=

式(1)中,θi為機(jī)器人第i個關(guān)節(jié)轉(zhuǎn)角,αi為連桿偏置,ai為連桿長度,di為連桿扭角。另外c為cos,s為sin,后續(xù)部分也應(yīng)用此表達(dá)方式。

由式(1)可知,相鄰兩關(guān)節(jié)的坐標(biāo)轉(zhuǎn)換關(guān)系主要由[θi,di,ai,αi]這幾個幾何參數(shù)構(gòu)成,而工業(yè)機(jī)器人是由6個這樣的坐標(biāo)系串聯(lián)而成,可將其坐標(biāo)變換連乘得到式(2):

式(2)中,0T6為機(jī)器人在基坐標(biāo)系下的末端位姿,[px,py,pz]T為機(jī)器人在基坐標(biāo)系下的末端位置向量,末端姿態(tài)可用歐拉角的方式表述:

δx=arctan 2(ox,nx)

δz=arctan 2(oz,az)

1.2 建立機(jī)器人幾何參數(shù)誤差模型

當(dāng)相鄰兩連桿坐標(biāo)系存在誤差,這個誤差可將其實(shí)際變換矩陣與理論變換矩陣做差得到,或者可以看作在理論變換矩陣的上右乘一個誤差矩陣,如式(3):

(3)

將相鄰連桿坐標(biāo)系之間的誤差關(guān)系推廣到全局,則末端位姿誤差可表示為式(4):

dT=TR-TN=TN·δT

(4)

式(4)中,δT為機(jī)器人基座標(biāo)系累積到末端坐標(biāo)系的誤差矩陣。

1.3 建立目標(biāo)函數(shù)

目標(biāo)函數(shù)定義為式(5):

(5)

2 遺傳模擬退火算法的幾何參數(shù)誤差辨識

2.1 遺傳-模擬退火算法

傳統(tǒng)的遺傳算法具有局部搜索能力差和“早熟”等缺陷,不能保證算法在每次運(yùn)行時保持得到最優(yōu)解。所以在求解機(jī)器人幾何參數(shù)誤差的后期,引入模擬退火算法。遺傳算法將幾何參數(shù)誤差當(dāng)作種群的個體,隨機(jī)初始化種群,經(jīng)過編碼、選擇、交叉、變異的運(yùn)算,當(dāng)達(dá)到最大迭代次數(shù)時輸出遺傳算法的個體最優(yōu)解,也即是幾何誤差參數(shù)。將遺傳算法得到的幾何誤差參數(shù)作為模擬退火的初始解,按照領(lǐng)域函數(shù)生成候選解,Metropolis準(zhǔn)則篩選,經(jīng)過退溫后逐步迭代得到全局最優(yōu)解。

其中鄰域函數(shù)為式(6):

r=k×(rand(wmax-wmin)+wmin)

(6)

式(6)中,r為鄰域半徑,k為調(diào)節(jié)因子,wmax和wmin為幾何參數(shù)誤差的上下界,按誤差的3倍設(shè)置。

在經(jīng)過退溫后,候選解逐漸收斂為最優(yōu)解并輸出。另外,遺傳算法和模擬退火算法的目標(biāo)函數(shù)一致,都將機(jī)器人末端位姿誤差最小值作為優(yōu)化目標(biāo)。

2.2 遺傳模擬退火算法幾何參數(shù)誤差標(biāo)定流程

所提算法簡稱GA-SA算法,求解機(jī)器人幾何參數(shù)誤差的流程為:

1)設(shè)定遺傳算法和模擬退火算法的運(yùn)行參數(shù)。

2)將機(jī)器人運(yùn)動學(xué)幾何參數(shù)誤差作為種群的個體,采用實(shí)數(shù)編碼,隨機(jī)產(chǎn)生初始種群。

3)按式(5)計(jì)算適應(yīng)度函數(shù),采用輪盤賭的方式進(jìn)行選擇運(yùn)算,選擇種群中個體較為優(yōu)秀的,進(jìn)行交叉運(yùn)算和變異運(yùn)算,完成新個體的篩選和制造,構(gòu)成新一代種群。

4)判斷當(dāng)前迭代次數(shù)是否大于最大迭代次數(shù),否則跳轉(zhuǎn)到步驟2。

5)最佳適應(yīng)度個體wold作為模擬退火算法的初始解,計(jì)算初始解適應(yīng)度函數(shù)值f(wold)。

6)按式(6)的鄰域函數(shù)求解當(dāng)前鄰域內(nèi)的最優(yōu)解wnew以及對應(yīng)的適應(yīng)度函數(shù)值f(wnew)。

7)評估當(dāng)前解適應(yīng)度函數(shù)值f(wnew)是否小于初始解適應(yīng)度函數(shù)值f(wold),若是,則接受當(dāng)前解,否則按照Metropolis準(zhǔn)則選擇是否接受當(dāng)前解。

8)判斷是否達(dá)到內(nèi)循環(huán)迭代次數(shù),滿足條件則輸出最優(yōu)解結(jié)束程序,否則跳轉(zhuǎn)到步驟5。

9)溫度下降,若達(dá)到指定溫度,則停止迭代輸出當(dāng)前狀態(tài),否則返回步驟7繼續(xù)迭代。

2.3 算 例

采用ABB機(jī)器人有限公司生產(chǎn)的IRB120機(jī)器人作為算例,IRB120機(jī)器人的DH模型參數(shù)見表1。設(shè)定的機(jī)器人幾何參數(shù)誤差如表2。

表1 IRB120機(jī)器人理論參數(shù)

表2 機(jī)器人幾何參數(shù)誤差

在機(jī)器人工作空間內(nèi)隨機(jī)產(chǎn)生50組理論關(guān)節(jié)轉(zhuǎn)角,將之前設(shè)定的幾何參數(shù)誤差加入到機(jī)器人的理論運(yùn)動學(xué)模型中,代入公式(2)中,利用1.2節(jié)的誤差模型和目標(biāo)函數(shù)求得適應(yīng)度值,按照適應(yīng)度值來進(jìn)行迭代求解幾何誤差參數(shù)。

對GA-SA算法設(shè)定初始運(yùn)行參數(shù),遺傳最大迭代次數(shù)maxgen為400,種群大小popsize為100,交叉概率Pc為0.8,變異概率Pm為0.05,初始溫度為200,終止溫度0.01,降溫系數(shù)λ為0.98。采用以上算法計(jì)算得到GA-SA的迭代曲線,如圖1所示。

圖1 進(jìn)化過程

由圖1可知,遺傳算法共迭代400次,而在200代時遺傳算法陷入局部最優(yōu),在400代之后引入模擬退火算法,此時按照模擬退火算法的迭代準(zhǔn)則運(yùn)行,在600次迭代后趨于全局最優(yōu),最終適應(yīng)度為0.0914。

3 誤差補(bǔ)償

將得到的最優(yōu)解代入理論運(yùn)動學(xué)模型作為機(jī)器人修正運(yùn)動學(xué)模型,利用相同的50組理論關(guān)節(jié)轉(zhuǎn)角得到機(jī)器人末端修正位姿,將其與實(shí)際位姿對比,如圖2和圖3所示。

圖2是機(jī)器人在未補(bǔ)償前沿X,Y,Z軸方向的末端位置和姿態(tài)誤差,圖3是機(jī)器人經(jīng)過GA-SA算法補(bǔ)償后沿X,Y,Z軸方向的末端位置誤差和姿態(tài)誤差。

表3 補(bǔ)償前后誤差比較

由表3可知,在機(jī)器人未補(bǔ)償前沿X,Y,Z軸方向的末端位置最大誤差值絕對值為4.1383 mm,3.1825 mm,1.8344 mm,而末端姿態(tài)最大誤差絕對值為0.0148 rad,0.0110 rad,0.0151 rad。從圖2和圖3中可以看出,經(jīng)過GA-SA算法補(bǔ)償后,沿著X,Y,Z軸方向的末端位置最大誤差絕對值降低為0.4944 mm,0.5815 mm,0.2986mm,末端姿態(tài)最大誤差絕對值為0.0009 rad,0.0018 rad,0.0025 rad,可見經(jīng)過GA-SA算法補(bǔ)償后,使工業(yè)機(jī)器人末端位置和姿態(tài)誤差均大幅減小,證明了GA-SA算法可以有效的標(biāo)定出機(jī)器人幾何參數(shù)誤差,并且精度較高。

4 結(jié) 語

1)利用DH法建立機(jī)器人運(yùn)動學(xué)模型和誤差模型,將機(jī)器人末端位置姿態(tài)誤差與幾何參數(shù)誤差之間相聯(lián)系,以機(jī)器人末端位置誤差最小為優(yōu)化目標(biāo),通過GA-SA算法標(biāo)定機(jī)器人幾何參數(shù)誤差。

2)提出的GA-SA算法,共迭代1100次,遺傳算法在迭代200次后陷入局部最優(yōu),模擬退火算法在400代時跳出局部最優(yōu),繼續(xù)迭代,在600次迭代后趨于全局最優(yōu),最終適應(yīng)度為0.0914。

3)所提算法將機(jī)器人末端位置誤差和姿態(tài)誤差的最大值降低,位置誤差沿X,Y,Z軸方向分別降低了88.05%,81.73%,83.72%,姿態(tài)誤差分別降低了93.92%,83.64%,83.44%,證明了算法的有效性。

猜你喜歡
模擬退火位姿運(yùn)動學(xué)
基于MATLAB的6R機(jī)器人逆運(yùn)動學(xué)求解分析
模擬退火遺傳算法在機(jī)械臂路徑規(guī)劃中的應(yīng)用
基于D-H法的5-DOF串并聯(lián)機(jī)床運(yùn)動學(xué)分析
基于共面直線迭代加權(quán)最小二乘的相機(jī)位姿估計(jì)
基于CAD模型的單目六自由度位姿測量
基于模糊自適應(yīng)模擬退火遺傳算法的配電網(wǎng)故障定位
小型四旋翼飛行器位姿建模及其仿真
基于運(yùn)動學(xué)原理的LBI解模糊算法
SOA結(jié)合模擬退火算法優(yōu)化電容器配置研究
基于遺傳-模擬退火算法的城市軌道交通快慢車停站方案
丰宁| 黔西县| 中方县| 玉门市| 阿荣旗| 洪泽县| 克拉玛依市| 上虞市| 博罗县| 武功县| 舟山市| 乐陵市| 高要市| 恩平市| 吉水县| 军事| 刚察县| 荃湾区| 岫岩| 乐昌市| 武平县| 托克托县| 黔东| 郧西县| 鸡泽县| 琼中| 金门县| 当雄县| 嫩江县| 洪雅县| 新昌县| 聊城市| 普安县| 渭南市| 论坛| 灵石县| 修文县| 安宁市| 天门市| 德安县| 五家渠市|