一種基于非最小化最優(yōu)化算法的機(jī)器人手眼標(biāo)定方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種基于非最小化最優(yōu)化算法的機(jī)器人手眼標(biāo)定方法,涉及工業(yè)機(jī)器 人視覺(jué)標(biāo)定技術(shù)領(lǐng)域,可以用于機(jī)器人手術(shù)等技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002] 機(jī)器人手眼標(biāo)定是機(jī)器視覺(jué)中一個(gè)基本問(wèn)題。機(jī)器人進(jìn)行的具體操作主要是通過(guò) 位于機(jī)器人手臂最后一節(jié)的末端執(zhí)行器完成的,末端執(zhí)行器也就是機(jī)器人的"手",為了對(duì) 機(jī)器人的操作進(jìn)行定位,末端執(zhí)行器上通常固定有相機(jī),作為機(jī)器人的"眼"。一般來(lái)說(shuō),相 機(jī)只能拍攝鏡頭對(duì)面的物體,而不能拍攝自身所在的末端執(zhí)行器,因此不能用相機(jī)直接拍 攝的方法來(lái)確定機(jī)器人手的位置。機(jī)器人手眼標(biāo)定就是測(cè)量相機(jī)和末端執(zhí)行器之間的相對(duì) 位置和方向關(guān)系,以便確定機(jī)器人末端執(zhí)行器的實(shí)際位置。手眼標(biāo)定的精確性部分決定了 機(jī)器視覺(jué)應(yīng)用于機(jī)器人時(shí)的精度,因此在實(shí)際應(yīng)用中十分重要。
[0003] 手眼關(guān)系的計(jì)算一般要求機(jī)器人至少獨(dú)立運(yùn)動(dòng)2次,而且2次運(yùn)動(dòng)的旋轉(zhuǎn)軸不得 平行。進(jìn)行在線手眼標(biāo)定時(shí),機(jī)器人運(yùn)動(dòng)是由具體應(yīng)用確定的,而并非專門為手眼標(biāo)定而設(shè) 計(jì),所以在機(jī)器人運(yùn)動(dòng)時(shí)采集到的運(yùn)動(dòng)數(shù)據(jù)就很可能有不適于手眼標(biāo)定的情形。另外,采樣 運(yùn)動(dòng)中旋轉(zhuǎn)角度過(guò)小或者平移過(guò)大,或者2次運(yùn)動(dòng)的旋轉(zhuǎn)軸之間的夾角過(guò)小時(shí),都會(huì)使最 后標(biāo)定結(jié)果產(chǎn)生較大的誤差。為了避免上述情況,實(shí)際應(yīng)用中需要進(jìn)行運(yùn)動(dòng)選擇,以便挑選 合適的運(yùn)動(dòng)數(shù)據(jù)進(jìn)行手眼標(biāo)定運(yùn)算。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的目的就是為解決上述問(wèn)題,提供一種基于非最小化最優(yōu)化算法的機(jī)器人 手眼標(biāo)定方法,它具有利用特征值計(jì)算求解手眼標(biāo)定方程。該方法能夠簡(jiǎn)化計(jì)算過(guò)程,并且 使手眼標(biāo)定結(jié)果更加準(zhǔn)確。
[0005] 為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0006] 一種基于非最小化最優(yōu)化算法的機(jī)器人手眼標(biāo)定方法,包括如下步驟:
[0007] 步驟(1):利用運(yùn)動(dòng)選擇算法,篩選機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)數(shù)據(jù);計(jì)算每組運(yùn)動(dòng) 數(shù)據(jù)對(duì)應(yīng)的從相機(jī)到世界坐標(biāo)系的變換矩陣A和機(jī)器人基部到末端執(zhí)行器的變換矩陣B;
[0008] 步驟(2):利用步驟(1)的從相機(jī)到世界坐標(biāo)系的變換矩陣A和機(jī)器人基部到末 端執(zhí)行器的變換矩陣B,同時(shí)假設(shè)待測(cè)的從相機(jī)到末端執(zhí)行器的手眼標(biāo)定矩陣為X,利用變 換矩陣A、變換矩陣B和手眼標(biāo)定矩陣X構(gòu)造手眼標(biāo)定方程;
[0009] 步驟(3):利用非最小化最優(yōu)化算法對(duì)步驟(2)的手眼標(biāo)定方程進(jìn)行求解,得到非 最小化最優(yōu)化解,然后利用該非最小化最優(yōu)化解得到手眼標(biāo)定矩陣X。
[0010] 所述步驟(1)的利用運(yùn)動(dòng)選擇算法,篩選機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)數(shù)據(jù)的步驟 為:
[0011] 從機(jī)器人末端執(zhí)行器上的攝像機(jī)記錄的運(yùn)動(dòng)中獲取運(yùn)動(dòng)數(shù)據(jù)集,根據(jù)手眼標(biāo)定需 求,設(shè)定最優(yōu)化誤差閾值;
[0012] 對(duì)于運(yùn)動(dòng)數(shù)據(jù)集中的第一個(gè)運(yùn)動(dòng),構(gòu)建第一個(gè)運(yùn)動(dòng)數(shù)據(jù)矩陣;
[0013] 由第一個(gè)運(yùn)動(dòng)數(shù)據(jù)矩陣計(jì)算出第一個(gè)最優(yōu)化矩陣;
[0014] 求解第一個(gè)最優(yōu)化矩陣的特征值,找到最小的特征值及最小的特征值對(duì)應(yīng)的特征 向量;
[0015] 判斷最小特征值是否大于最優(yōu)化誤差閾值,如果大于,則從運(yùn)動(dòng)數(shù)據(jù)集和第一個(gè) 運(yùn)動(dòng)數(shù)據(jù)矩陣中移除此次運(yùn)動(dòng),否則保留;
[0016] 隨后選取下一個(gè)運(yùn)動(dòng),重復(fù)計(jì)算步驟直到獲得適當(dāng)數(shù)量的運(yùn)動(dòng)為止。
[0017] 所述步驟(1)的利用運(yùn)動(dòng)選擇算法,篩選機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)數(shù)據(jù)的步驟 為:
[0018] 步驟(1-1):從攝像機(jī)記錄的運(yùn)動(dòng)中獲取N個(gè)運(yùn)動(dòng),N> 2,N為整數(shù);構(gòu)建運(yùn)動(dòng)數(shù) 據(jù)集C和d,C= {Cj,d= {dj,i= 1,2,…,N。根據(jù)手眼標(biāo)定精度需求,設(shè)定最優(yōu)化誤 差閾值e;(;的參數(shù)含義是運(yùn)動(dòng)數(shù)據(jù)集C的第i組運(yùn)動(dòng)數(shù)據(jù);di的參數(shù)含義是運(yùn)動(dòng)數(shù)據(jù)集d 的第i組運(yùn)動(dòng)數(shù)據(jù);
[0019] 步驟(1-2):對(duì)于運(yùn)動(dòng)數(shù)據(jù)集中第1個(gè)運(yùn)動(dòng),i= 1,構(gòu)建第1個(gè)運(yùn)動(dòng)數(shù)據(jù)矩陣U(1) =[Ci-dJA的參數(shù)含義是運(yùn)動(dòng)數(shù)據(jù)集C的第1組運(yùn)動(dòng)數(shù)據(jù),di的參數(shù)含義是運(yùn)動(dòng)數(shù)據(jù)集 d的第1組運(yùn)動(dòng)數(shù)據(jù);
[0020] 步驟(1-3):由第一個(gè)運(yùn)動(dòng)數(shù)據(jù)矩陣U(1)計(jì)算第一個(gè)最優(yōu)化矩陣V(1),
【主權(quán)項(xiàng)】
1. 一種基于非最小化最優(yōu)化算法的機(jī)器人手眼標(biāo)定方法,其特征是,包括如下步驟: 步驟(1):利用運(yùn)動(dòng)選擇算法,篩選機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)數(shù)據(jù);計(jì)算每組運(yùn)動(dòng)數(shù)據(jù) 對(duì)應(yīng)的從相機(jī)到世界坐標(biāo)系的變換矩陣A和機(jī)器人基部到末端執(zhí)行器的變換矩陣B; 步驟⑵:利用步驟⑴的從相機(jī)到世界坐標(biāo)系的變換矩陣A和機(jī)器人基部到末端執(zhí) 行器的變換矩陣B,同時(shí)假設(shè)待測(cè)的從相機(jī)到末端執(zhí)行器的手眼標(biāo)定矩陣為X,利用變換矩 陣A、變換矩陣B和手眼標(biāo)定矩陣X構(gòu)造手眼標(biāo)定方程; 步驟(3):利用非最小化最優(yōu)化算法對(duì)步驟(2)的手眼標(biāo)定方程進(jìn)行求解,得到非最小 化最優(yōu)化解,然后利用該非最小化最優(yōu)化解得到手眼標(biāo)定矩陣X。
2. 如權(quán)利要求1所述的一種基于非最小化最優(yōu)化算法的機(jī)器人手眼標(biāo)定方法,其特征 是,所述步驟(1)的利用運(yùn)動(dòng)選擇算法,篩選機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)數(shù)據(jù)的步驟為: 從機(jī)器人末端執(zhí)行器上的攝像機(jī)記錄的運(yùn)動(dòng)中獲取運(yùn)動(dòng)數(shù)據(jù)集,根據(jù)手眼標(biāo)定需求, 設(shè)定最優(yōu)化誤差閾值; 對(duì)于運(yùn)動(dòng)數(shù)據(jù)集中的第一個(gè)運(yùn)動(dòng),構(gòu)建第一個(gè)運(yùn)動(dòng)數(shù)據(jù)矩陣; 由第一個(gè)運(yùn)動(dòng)數(shù)據(jù)矩陣計(jì)算出第一個(gè)最優(yōu)化矩陣; 求解第一個(gè)最優(yōu)化矩陣的特征值,找到最小的特征值及最小的特征值對(duì)應(yīng)的特征向 量; 判斷最小特征值是否大于最優(yōu)化誤差閾值,如果大于,則從運(yùn)動(dòng)數(shù)據(jù)集和第一個(gè)運(yùn)動(dòng) 數(shù)據(jù)矩陣中移除此次運(yùn)動(dòng),否則保留; 隨后選取下一個(gè)運(yùn)動(dòng),重復(fù)計(jì)算步驟直到獲得適當(dāng)數(shù)量的運(yùn)動(dòng)為止。
3. 如權(quán)利要求1所述的一種基于非最小化最優(yōu)化算法的機(jī)器人手眼標(biāo)定方法,其特征 是,所述步驟(1)的利用運(yùn)動(dòng)選擇算法,篩選機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)數(shù)據(jù)的步驟為: 步驟(1-1):從攝像機(jī)記錄的運(yùn)動(dòng)中獲取N個(gè)運(yùn)動(dòng),N> 2,構(gòu)建運(yùn)動(dòng)數(shù)據(jù)集C和d,C= {A},d=汕},1 = 1,2, 根據(jù)手眼標(biāo)定的精度需求,設(shè)定最