本發(fā)明涉及一種機器人運動學(xué)參數(shù)誤差辨識方法,特別涉及基于預(yù)處理擴展卡爾曼濾波算法的機器人運動學(xué)參數(shù)誤差辨識方法,屬于機器人技術(shù)、參數(shù)辨識。
背景技術(shù):
1、隨著機器人技術(shù)的日益成熟與發(fā)展,機器人已經(jīng)廣泛應(yīng)用于打磨、焊接、搬運、鋪貼等多種場景,這也對機器人運動學(xué)精度提出了越來越高的要求。但由于機器人在實際應(yīng)用過程中存在加工誤差、裝配誤差以及連桿變形等誤差,導(dǎo)致機器人實際連桿參數(shù)與理論連桿參數(shù)產(chǎn)生偏差。隨著機器人各連桿相互串聯(lián),誤差從機器人基座到末端逐級放大,致使機器人實際定位精度精度產(chǎn)生偏差。
2、目前針對機器人運動學(xué)參數(shù)誤差辨識方法研究主要存在以下問題:
3、現(xiàn)有的辨識方法缺少對測量坐標系轉(zhuǎn)換的考慮。在機器人實際誤差辨識過程中,需要借助激光跟蹤儀等測量設(shè)備來測量機器人末端點位姿,并將點位坐標轉(zhuǎn)換到機器人基坐標系下。然而由于環(huán)境擾動等因素不可避免產(chǎn)生測量誤差,影響測量坐標系轉(zhuǎn)換精度,進而降低最終的誤差補償效果。
4、另外,常見的誤差辨識方法容易受噪聲的干擾。機器人是高度非線性系統(tǒng),lsm算法、lm算法是求解非線性問題的有效方法。但是這些算法對噪聲非常敏感。在采集機器人位姿數(shù)據(jù)時,受測量擾動、儀器本身測量誤差等因素影響,測量數(shù)據(jù)出現(xiàn)較大波動,此時算法在擬合時廣義逆矩陣容易出現(xiàn)奇異性問題,導(dǎo)致辨識精度不高。
技術(shù)實現(xiàn)思路
1、本發(fā)明的技術(shù)解決問題是:克服現(xiàn)有技術(shù)的不足,提供一種機器人運動學(xué)參數(shù)誤差辨識方法,將機器人基坐標系與激光跟蹤儀坐標系轉(zhuǎn)換過程與擴展卡爾曼濾波算法參數(shù)辨識相結(jié)合,提高機器人運動學(xué)參數(shù)誤差補償精度。
2、本發(fā)明的技術(shù)解決方案是:
3、本發(fā)明公開了一種機器人運動學(xué)參數(shù)誤差辨識方法,包括:
4、s1:根據(jù)誤差產(chǎn)生機理與機器人md-h模型,構(gòu)建機器人運動學(xué)參數(shù)誤差辨識模型;
5、s2:依次旋轉(zhuǎn)機器人各關(guān)節(jié),采集相應(yīng)的機器人末端點位信息;
6、s3:根據(jù)機器人末端點位信息,利用最小二乘算法,計算機器人基坐標系坐標軸;
7、s4:利用示教器控制機器人隨機運動,采集機器人末端相應(yīng)的隨機點位信息;
8、s5:根據(jù)隨機點位信息和機器人基坐標系坐標軸,利用擴展卡爾曼濾波算法,對運動學(xué)參數(shù)誤差進行辨識,得到機器人運動學(xué)參數(shù)誤差;
9、s6:根據(jù)機器人運動學(xué)參數(shù)誤差,對機器人運動學(xué)參數(shù)進行誤差補償。
10、進一步地,在上述方法中,所述機器人運動學(xué)參數(shù)誤差辨識模型,具體為:
11、δp=j(luò)·δq
12、δq=[δθ1,δα1,δa1,δd1…δa6,δd6,δβ2,δβ3,δtx,δty,δtz]t
13、其中,δp表示末端位置誤差,j表示描述誤差模型的擴展雅克比矩陣,δq表示待辨識的參數(shù)偏差向量;δθi為機器人各關(guān)節(jié)的關(guān)節(jié)轉(zhuǎn)角誤差,δdi位關(guān)節(jié)偏置誤差,δai為連桿長度誤差,δαi為關(guān)節(jié)扭角誤差,δβi為旋轉(zhuǎn)角誤差,其中下標i表示機器人第i個關(guān)節(jié),i為1~6;δtx、δty、δtz分別表示工具坐標系在x、y、z方向的位置誤差。
14、進一步地,在上述方法中,依次旋轉(zhuǎn)機器人各關(guān)節(jié),具體為:依次旋轉(zhuǎn)機器人的第一關(guān)節(jié)、第二關(guān)節(jié),使用激光跟蹤儀采集得到機器人末端一系列點位信息。
15、進一步地,在上述方法中,所述步驟s3中,根據(jù)機器人末端點位信息,利用最小二乘算法,計算機器人基坐標系坐標軸,具體方法為:
16、根據(jù)機器人末端點位信息,計算待擬合球面上的球心(xo,yo,zo);
17、采用最小二乘法,求解待擬合球面上的點(xij,yij,zij)所在的平面,方程為ax+by+cz+1=0;
18、過球心(xo,yo,zo)作平面的垂線,得到垂線方程;
19、根據(jù)垂直方程,計算所擬合圓弧的圓心oci坐標(xoc,yoc,zoc);
20、連接圓心與球心,得到待擬合球面上的點(xij,yij,zij)所在的平面的法向量;
21、所述法向量即為機器人基坐標系相應(yīng)坐標軸。
22、進一步地,在上述方法中,待擬合球面上的球心(xo,yo,zo),具體為:
23、(xij-xo)2+(yij-yo)2+(zij-zo)2=r2
24、其中,(xij,yij,zij)為待擬合球面上的點,下標ij為轉(zhuǎn)動第i關(guān)節(jié)時第j次所測得的點,(xo,yo,zo)為球體球心,r為待擬合球體的半徑;
25、進一步地,在上述方法中,垂線方程,具體為:
26、
27、其中,(xo,yo,zo)為球體球心,a、b、c為待擬合球面上的點所在的平面方程的系數(shù)。
28、進一步地,在上述方法中,所擬合圓弧的圓心的坐標,具體為:
29、
30、其中,(xo,yo,zo)為擬合球體球心oi坐標;a、b、c為待擬合球面上的點(xij,yij,zij)所在的平面方程的系數(shù)。
31、進一步地,在上述方法中,所述對運動學(xué)參數(shù)誤差進行辨識,得到機器人運動學(xué)參數(shù)誤差,具體方法為:
32、對參數(shù)計算公式進行迭代,直到δqk|k滿足精度要求時,得到機器人運動學(xué)參數(shù)誤差δq;
33、參數(shù)計算公式,具體為:
34、δqk|k=δqk∣k-1+kk(δpk-jkδqk∣k-1)
35、
36、δpk=j(luò)kδqk+ek
37、pk|k-1=pk-1|k-1+q
38、其中,k|k-1表示在測量k點時的先驗估計值,k-1|k-1表示測量k-1點的后驗估計值,q表示在第(k-1)次迭代時系統(tǒng)噪聲協(xié)方差矩陣;ek表示測量k點時的測量噪聲帶來的偏差,jk表示誤差模型的擴展雅克比矩陣,δqk表示測量k點時機器人運動學(xué)參數(shù)誤差;r表示測量過程中測量噪聲協(xié)方差矩陣;kk表示第k次迭代時卡爾曼增益,δpk表示機器人在k點時末端位置偏差。
39、進一步地,在上述方法中,所述根據(jù)辨識結(jié)果,對機器人運動學(xué)參數(shù)誤差進行補償,具體方法為:
40、qreal=qtheoy+δq
41、其中,qtheoy為機器人理論運動學(xué)參數(shù);δq為辨識所得機器人運動學(xué)參數(shù)誤差;qreal為補償后的機器人實際運動學(xué)參數(shù)。
42、進一步地,在上述方法中,所述機器人末端點位信息是采用激光跟蹤儀測量獲得。
43、本發(fā)明與現(xiàn)有技術(shù)的有益效果在于:
44、(1)本發(fā)明采用最小二乘算法進行機器人基坐標系標定,實現(xiàn)了激光跟蹤儀坐標系與機器人基坐標系的精準轉(zhuǎn)換,完成了機器人基坐標系的標定,解決了因測量坐標系轉(zhuǎn)換誤差而導(dǎo)致的補償精度降低的問題;
45、(2)本發(fā)明采用最小二乘算法作為機器人參數(shù)辨識的預(yù)處理過程,實現(xiàn)了機器人運動學(xué)參數(shù)辨識維度的降低,完成了高維空間向非凸性更低的低維空間的轉(zhuǎn)換,解決了因參數(shù)辨識維度過高導(dǎo)致的辨識結(jié)果精度差的問題;
46、(3)本發(fā)明采用擴展卡爾曼濾波算法進行機器人運動學(xué)參數(shù)誤差辨識,實現(xiàn)了噪聲協(xié)方差矩陣的機器人點位測量干擾噪聲的處理,解決了因測量噪聲存在而導(dǎo)致的算法辨識精度降低的問題。