一種基於視覺輔助定位的機器人自標定方法與流程
2023-09-15 07:33:25
本發明涉及一種機器人自標定方法,特別涉及一種基於平面約束以及視覺輔助定位的機器人自標定方法。
背景技術:
1.機器人定位精度是衡量其工作性能的一個重要指標,目前,國內外廠家生產出來的機器人由於製造、安裝等因素,大多絕對定位精度不高,無法滿足高精加工以及離線編程的需要,因此,對引起機器人定位誤差的各種因素進行分析,最大可能地提高機器人絕對定位精度已經成為機器人技術研究中的核心內容。
2.目前,國內外常用的機器人標定方法通常需要藉助於外界先進的測量設備,成本高,且測量過程複雜,需要專業人員進行操作;同時,由於涉及到測量坐標系與機器人基坐標系的轉換過程,容易引入坐標系環誤差,且該誤差與機器人連杆參數誤差不屬於同類誤差,需要單獨處理,過程較複雜。
3.為了降低成本等因素,很多研究人員提出了閉環法標定,即給機器人末端附加一約束,用的較多的是面約束(平面或球面),然而在對這些面進行接觸式測量時,大多採用人工手動示教的方式,測量過程費時費力,效率很低。
4.針對上述技術情況,本發明在一般平面約束(手動示教進行接觸式測量)的基礎上,提出一種基於視覺輔助定位的機器人自標定方法。
技術實現要素:
針對上述現有技術存在的不足,本發明在一般平面約束(手動示教進行接觸式測量)的基礎上,提供一種基於視覺輔助定位的機器人自標定方法,該方法通過雙目視覺定位約束平面的位置,輸入到機器人控制系統,控制機器人自動對約束平面進行接觸式測量,在繼承一般平面約束標定方法優點的同時,又大大提高了標定效率,並且,可通過編程使約束點按一定規律有序排列,可為後期研究約束點對機器人標定結果的影響奠定基礎。
本發明技術方案步驟如下:
(1)建立機器人運動學模型
建立d-h法與md-h法相結合的機器人運動學模型,將坐標系i-1到坐標系i的變換過程描述為ai,ai=f(αi-1,ai-1,di,θi,βi),則機器人末端坐標系n相對於基坐標系的位姿矩陣0tn為:
0tn=a0·a1·...·an
(2)建立機器人末端位置誤差模型
按照微分變換的思想對ai進行全微分,得到由連杆幾何參數誤差造成的相鄰坐標系間的微分攝動齊次矩陣dai:
δai是關節坐標系i相對於坐標系i-1的微分變換,則機器人相鄰兩連杆之間的實際齊次坐標變換即ai+aiδai,那麼機器人末端坐標系相對於基坐標系的實際齊次變換矩陣tr為:
將上式展開,並略去高階攝動項,化簡後得到下式:
其中,δp=[dpxdpydpz]t是機器人位置誤差矩陣,j為3×(4n+1)連杆參數的微分變換雅可比矩陣,δx=[δαδaδθδdδβ]t為(4n+1)×1連杆參數誤差矩陣;
(3)建立基於平面約束的機器人連杆參數誤差模型
0為約束平面上第i個接觸點的名義位置值,可通過機器人正運動學直接計算,ji為該位置處的雅克比矩陣,可通過關節角度值計算得到,實際位置pir=pin+jiδx,則相鄰兩接觸點間的偏差向量:
其中,δji=ji-ji-1;
同樣地,那麼由相鄰的兩個偏差向量可構建一垂直於平面的名義法向量:
同樣地,那麼:
(4)定位約束平面
對每個相機進行張正友內參標定及手眼標定,通過雙目視覺獲取約束平面在左右相機中的圖像並提取單幅圖像中的目標點信息,通過立體匹配即可定位約束平面在機器人基坐標系下的三維位置信息;
(5)驅動機器人對約束平面進行測量
將立體匹配後得到的約束平面位置值輸入到機器人控制系統,驅動機器人對約束平面進行接觸式測量,當測量頭輸出有接觸信號時,立即記錄當前各關節角度值,並對下一個約束點進行測量,若採集n+3個點:n0,n1,…,nn+2,則有:
hδx+s=0
其中,則可產生3n個方程;
(6)機器人連杆參數辨識
通過改進的最小二乘法,對機器人運動學參數誤差進行辨識,如下:
δx=-(hth+μi)-1hts
約束點的數量要滿足3n≥4n+1。
本發明的有益效果是:本發明提供的一種基於視覺輔助定位的機器人自標定方法,成本低、精度高、測量效率高。通過附加雙目視覺系統,自動獲取約束平面位置,從而避免手動示教測量;可以通過編程手段實現約束點按一定規律有序排列,為研究約束點對標定結果的影響奠定基礎;標定的精度完全取決於平面度,與雙目視覺定位精度無關;對大理石平面的擺放要求,只需要滿足在機器人工作空間內同時測頭可安全接觸平面,不需要讓約束平面與基坐標系的某個軸垂直。
本發明的其他特徵和優點將在隨後的說明書中闡述,部分地從說明書中變得顯而易見,或者通過實施本發明,並與其他方法比較後而了解。
附圖說明
下面結合附圖對本發明的具體實施方式作進一步說明。
圖1是標定現場簡圖;
圖2是粘貼靶點後的平面示意圖;
圖3是基於視覺輔助定位的機器人自標定方法流程圖。
具體實施方式
以下結合附圖對本發明的優先實施例進行說明,應當理解,此處所描述的優選實施例僅用於說明和解釋本發明,並不用於限定本發明。
參見附圖1~3,本發明的基於視覺輔助定位的機器人自標定方法,包括以下幾個步驟:
(1)建立機器人運動學模型
建立d-h法與md-h法相結合的機器人運動學模型,將坐標系i-1到坐標系i的變換過程描述為ai,ai=f(αi-1,ai-1,di,θi,βi),則機器人末端坐標系n相對於基坐標系的位姿矩陣0tn為:
0tn=a0·a1·...·an
(2)建立機器人末端位置誤差模型
按照微分變換的思想對ai進行全微分,得到由連杆幾何參數誤差造成的相鄰坐標系間的微分攝動齊次矩陣dai:
δai是關節坐標系i相對於坐標系i-1的微分變換,則機器人相鄰兩連杆之間的實際齊次坐標變換即ai+aiδai,那麼機器人末端坐標系相對於基坐標系的實際齊次變換矩陣tr為:
將上式展開,並略去高階攝動項,化簡後得到下式:
其中,δp=[dpxdpydpz]t是機器人位置誤差矩陣,j為3×(4n+1)連杆參數的微分變換雅可比矩陣,δx=[δαδaδθδdδβ]t為(4n+1)×1連杆參數誤差矩陣;
(3)建立基於平面約束的機器人連杆參數誤差模型
設為約束平面上第i個接觸點的名義位置值,可通過機器人正運動學直接計算,ji為該位置處的雅克比矩陣,可通過關節角度值計算得到,實際位置pir=pin+jiδx,則相鄰兩接觸點間的偏差向量:
其中,δji=ji-ji-1;
同樣地,那麼由相鄰的兩個偏差向量可構建一垂直於平面的名義法向量:
同樣地,那麼:
(4)定位約束平面
對左右兩個相機分別進行張正友內參標定,得到四參數內參矩陣:
其中,fxi,fyi(i=1,2)分別是x方向和y方向的尺度因子,[ui0,yi0](i=1,2)分別是左右兩相機的主點坐標;
對左右兩個相機分別進行手眼標定,即確定攝像機坐標系相對於機器人末端法蘭坐標系的齊次轉換矩陣,利用傳統手眼標定方法ax=xb,至少使機器人運動到三個不同的姿態,分別計算獲得左右兩個相機的手眼矩陣x1,x2;
建立世界坐標系使之與機器人末端法蘭坐標系重合,並令且
設目標點在末端法蘭坐標系(世界坐標系)中的三維位置坐標為p=[xwywzw]t,可建立三維定位模型,如下:
zl,zr分別是目標點在攝像機坐標系下的深度信息,聯立以上兩個方程,可得:
其中,[ulvl]t,[urvr]t分別是目標點在左右兩像素坐標系中的位置值,由此,可計算得到[xwywzw]t,即通過立體匹配定位約束平面在機器人基坐標系下的三維位置信息;
(5)驅動機器人對約束平面進行測量
將立體匹配後得到的約束平面位置值輸入到機器人控制系統,驅動機器人對約束平面進行接觸式測量,當測量頭輸出有接觸信號時,立即記錄當前各關節角度值,並對下一個約束點進行測量,若採集n+3個點:n0,n1,…,nn+2,則有:
hδx+s=0
其中,則可產生3n個方程;
(7)機器人連杆參數辨識
通過改進的最小二乘法,對機器人運動學參數誤差進行辨識,如下:
δx=-(hth+μi)-1hts
約束點的數量要滿足3n≥4n+1。
由此,可辨識出機器人所有的連杆參數誤差。
上述雖然結合附圖對本發明的具體實施方式進行了描述,但並非對本發明保護範圍的限制,所屬領域技術人員應該明白,在本發明的技術方案的基礎上,本領域技術人員不需要付出創造性勞動即可做出的各種修改或變形仍在本發明的保護範圍以內。