本發(fā)明涉及一種位置標定方法,尤其是一種點激光傳感器與機器人相對位置的標定方法。
背景技術(shù):
激光傳感器是一種利用激光測距原理進行距離測量的傳感器,作為一種新型的距離測量儀器,其具有測量精度高,速度快,可無接觸式測量等優(yōu)點,可用于三維測量、逆向工程、機器人加工等領(lǐng)域。由于點激光傳感器只能獲取激光線測量處的有限長度信息,為實現(xiàn)整體測量,還必須借助其他高精度測量平臺,從而組成測量系統(tǒng),進行物體的整體測量。多軸式工業(yè)機器人具有位置精度高、操作簡單等優(yōu)點使其成為點激光傳感器的理想搭載平臺,它與點激光傳感器構(gòu)成測量系統(tǒng),可以有效提高激光器的測量范圍。由于安裝等原因,機器人與點激光傳感器的位置關(guān)系是未知的,為了實現(xiàn)精確測量,在測量前需要對機器人與點激光傳感器位置關(guān)系進行準確標定。
目前常用的標定方法有定點法、平面模板法以及球面模板法。其中的定點法雖然算法最簡單、操作最簡便,但是由于難以精確控制激光線多次經(jīng)過空間同一定點(目前主要依靠人眼判定),標定誤差較大(約0.5mm),導致很少被采用。
psd:位置敏感器件(positionsensitivedetector)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服現(xiàn)有技術(shù)中存在的不足,提供一種基于psd反饋的點激光傳感器與機器人相對位置的標定方法,該方法通過psd的位置反饋來精確控制點激光傳感器的激光線經(jīng)過空間同一定點,采用點激光傳感器的定點標定法,構(gòu)造多組方程解算出點激光傳感器與機器人的相對位置關(guān)系,從而實現(xiàn)點激光傳感器的快速、高精度標定。
該方法具體包括:
點激光傳感器安裝在機器人機械臂末端的法蘭上;機器人基坐標系o1,機器人機械臂末端坐標系o2;
設(shè)點激光傳感器原點在機器人機械臂末端坐標系下的坐標為x0=[x0y0z0]t,點激光傳感器射向固定的測量點的激光線方向在機器人機械臂末端坐標系下的方向向量為n=[nxnynz]t,點激光傳感器與測量點間的距離為l,機器人當前姿態(tài)為r,t,則測量點在機器人機械臂末端坐標系下的坐標xt為:
xt=x0+nl(1)
r表示機器人機械臂末端坐標系o2相對于機器人基坐標系o1的旋轉(zhuǎn);t表示機器人機械臂末端坐標系o2相對于機器人基坐標系o1的平移;
則測量點在機器人基坐標系下的坐標為:
xbi=ri(x0+nli)+ti(2)
xbi表示第i次測量時,測量點在機器人基坐標系下的坐標;li表示第i次測量時,點激光傳感器與測量點間的距離;第i次測量時機器人的姿態(tài)為ri,ti;
當點激光傳感器每次射向同一個測量點時,由于測量點在機器人基坐標系下的坐標不變,即
xbi=xb(i+1)(3)
xb(i+1)表示第i+1次測量時,測量點在機器人基坐標系下的坐標;上式(3)即:
ri(x0+nli)+ti=ri+1(x0+nli+1)+ti+1(4)
li+1表示第i+1次測量時,點激光傳感器與測量點間的距離;第i+1次測量時機器人的姿態(tài)為ri+1,ti+1;
保持機器人姿態(tài)中的r不變,讓機器人機械臂帶動點激光傳感器器沿著點激光傳感器射向測量點的激光線方向平動使得激光始終打在同一個測量點上,上式(4)變?yōu)椋?/p>
r0nli+ti=r0nli+1+ti+1(5)
r0表示第i次和第i+1次測量中機器人姿態(tài)中不改變的r;
其中r0,ti+1,ti從機器人控制器中直接讀取,li,li+1從點激光傳感器直接獲得;
當沿著點激光傳感器射向固定的測量點的激光線方向,點激光傳感器在兩個位置進行測量時,通過上式(6)求解得到n;
在已知n的基礎(chǔ)上,改變機器人姿態(tài)r,t,使得多次測量時激光打在同一測量點上,則:
(ri-ri+1)x0=ri+1nli+1-rinli+ti+1-ti(7)
當有兩組以上機器人姿態(tài)時,通過上式(7)得到線性方程組,求解線性方程組得到x0。
本發(fā)明的優(yōu)點在于:
1)提出了點激光傳感器與機器人相對位置的標定算法,解決了機器人搭載點激光傳感器的手眼標定問題;
2)采用psd的位置反饋來精確控制點激光傳感器的激光線經(jīng)過空間同一定點,大大提高了標定精度;
3)該標定方法操作簡單、實施方便、精度高。
附圖說明
圖1為本發(fā)明的實施原理圖。
具體實施方式
下面結(jié)合具體附圖和實施例對本發(fā)明作進一步說明。
如圖1所示,點激光傳感器安裝在機器人機械臂末端的法蘭上;機器人基坐標系o1,機器人機械臂末端坐標系o2;
設(shè)點激光傳感器原點在機器人機械臂末端坐標系下的坐標為x0=[x0y0z0]t,點激光傳感器射向固定的測量點的激光線方向在機器人機械臂末端坐標系下的方向向量為n=[nxnynz]t,點激光傳感器與測量點間的距離為l,機器人當前姿態(tài)為r,t,則測量點在機器人機械臂末端坐標系下的坐標xt為:
xt=x0+nl(1)
r表示機器人機械臂末端坐標系o2相對于機器人基坐標系o1的旋轉(zhuǎn),其為3x3矩陣;t表示機器人機械臂末端坐標系o2相對于機器人基坐標系o1的平移,為3x1矩陣(列向量);
則測量點在機器人基坐標系下的坐標為:
xbi=ri(x0+nli)+ti(2)
xbi表示第i次測量時,測量點在機器人基坐標系下的坐標;li表示第i次測量時,點激光傳感器與測量點間的距離;第i次測量時機器人的姿態(tài)為ri,ti;
當點激光傳感器每次射向同一個測量點時,由于測量點在機器人基坐標系下的坐標不變,即
xbi=xb(i+1)(3)
xb(i+1)表示第i+1次測量時,測量點在機器人基坐標系下的坐標;上式(3)即:
ri(x0+nli)+ti=ri+1(x0+nli+1)+ti+1(4)
li+1表示第i+1次測量時,點激光傳感器與測量點間的距離;第i+1次測量時機器人的姿態(tài)為ri+1,ti+1;
保持機器人姿態(tài)中的r不變,讓機器人機械臂帶動點激光傳感器器沿著點激光傳感器射向測量點的激光線方向平動使得激光始終打在同一個測量點上,上式(4)變?yōu)椋?/p>
r0nli+ti=r0nli+1+ti+1(5)
r0表示第i次和第i+1次測量中機器人姿態(tài)中不改變的r;
其中r0,ti+1,ti可從機器人控制器中直接讀取,li,li+1可從點激光傳感器直接獲得;
當沿著點激光傳感器射向固定的測量點的激光線方向(即n方向),點激光傳感器在兩個位置進行測量時,就可通過上式(6)求解得到n;
在已知n的基礎(chǔ)上,改變機器人姿態(tài)r,t,點激光傳感器器的位置和姿態(tài)均改變,使得多次測量時激光打在同一測量點上,則:
(ri-ri+1)x0=ri+1nli+1-rinli+ti+1-ti(7)
當有兩組以上機器人姿態(tài)時,通過上式(7)得到線性方程組,求解線性方程組得到x0。至此,點激光傳感器與機器人的相對位置關(guān)系標定完畢。
以下為實際的操作過程:
1、psd位置傳感器與機器人基座相對靜止,機器人的機械臂末端夾持一個點激光傳感器,機器臂運動使激光照射在psd某一點p;
2、從機器人控制器中讀取機器人姿態(tài)的r和t,同時從psd位置傳感器中讀取點p的位置坐標,從點激光傳感器讀取距離l;
3、保持機器人姿態(tài)的r不變,沿機器人機械臂末端坐標系的z向(即上述點激光傳感器射向固定的測量點p的激光線方向)移動機器人一段距離,控制機器臂末端平動,通過psd的位置反饋使點激光傳感器再次照射于p點,從機器人控制器中讀取機器人的t,從點激光傳感器讀取距離l;
4、重復步驟3一次或以上;
5、計算點激光傳感器激光線的方向向量n;
6、改變機器人姿態(tài)r、t,通過psd的位置反饋使激光傳感器器再次照射于p點,從機器人控制器中讀取機器人的r、t,從點激光傳感器讀取距離l;
7、重復步驟6一次或以上;
8、計算點激光傳感器器的原點x0。
所述步驟3和6可執(zhí)行多次以提高精度。