視覺定位標定方法、裝置及機器人的制作方法
【專利摘要】本發(fā)明公開了一種視覺定位標定方法、裝置及機器人,該方法包括:選擇第一和第二標定位置,其中,第一和第二標定位置的、對應機器人坐標系的選定坐標軸的位置坐標相同;控制機器人的運動輸出端從第一標定位置運動至第二標定位置;確定第一和第二標定位置在視覺坐標系下的位置坐標;根據(jù)第一和第二標定位置在視覺坐標系下的相對位置關(guān)系,計算選定坐標軸與視覺坐標系的對應坐標軸之間的夾角;根據(jù)第一和第二標定位置分別在兩個坐標系下的位置坐標,計算視覺坐標系下的像素距離與對應至機器人坐標系下的實際距離之間的比值;根據(jù)夾角和比值,得到兩個坐標系之間的坐標轉(zhuǎn)換關(guān)系。本發(fā)明可以簡化操作控制,實現(xiàn)快速標定。
【專利說明】
視覺定位標定方法、裝置及機器人
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及機器視覺定位標定技術(shù)領(lǐng)域,更具體地,本發(fā)明涉及一種視覺定位標 定方法、一種視覺定位標定裝置、及機器人。
【背景技術(shù)】
[0002] 隨著工業(yè)自動化的發(fā)展,機器視覺憑借其高精度、高可靠性、易實現(xiàn)自動化等優(yōu)點 已在自動化領(lǐng)域得到了越來越廣泛的應用。現(xiàn)在,隨著機器人技術(shù)的迅速發(fā)展,機器視覺和 機器人的結(jié)合已成為現(xiàn)在工業(yè)自動化的亮點和趨勢,他們的結(jié)合也是機器人代替人工的關(guān) 鍵。而在機器視覺和機器人的結(jié)合中最主要的應用是機器視覺對機器人抓拾零件的引導。 然而在此過程中,最關(guān)鍵的環(huán)節(jié)即為將相機定位零件的視覺坐標系下的坐標轉(zhuǎn)換為機器人 坐標系下的位置信息,這就需要進行機器視覺定位標定。
[0003] 目前,在進行機器視覺坐標標定時基本采用多點標定的方法,即獲得多個標定點 分別在視覺坐標系和機器人坐標系下的位置坐標,并根據(jù)兩個坐標系下的位置坐標之間的 映射關(guān)系得到兩個坐標系之間的轉(zhuǎn)換矩陣。該種方法存在操作控制及計算復雜的問題,無 法實現(xiàn)快速標定。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明的一個目的是提供一種能夠通過簡單的操作控制實現(xiàn)機器視覺定位標定 的新的技術(shù)方案。
[0005] 根據(jù)本發(fā)明的第一方面,提供了一種視覺定位標定方法,其包括:
[0006] 選擇第一標定位置和第二標定位置,其中,所述選擇使得第一標定位置和第二標 定位置的、對應機器人坐標系的選定坐標軸的位置坐標相同;
[0007] 控制機器人的一運動輸出端從所述第一標定位置運動至所述第二標定位置,進行 圖像攝?。?br>[0008] 根據(jù)攝取的圖像,確定所述第一標定位置和所述第二標定位置在視覺坐標系下的 位置坐標;
[0009] 根據(jù)所述第一標定位置和所述第二標定位置在視覺坐標系下的相對位置關(guān)系,計 算所述機器人坐標系的選定坐標軸與視覺坐標系的對應坐標軸之間的夾角;
[0010] 根據(jù)所述第一標定位置分別在機器人坐標系和視覺坐標系下的位置坐標、及所述 第二標定位置分別在機器人坐標系和視覺坐標系下的位置坐標,計算視覺坐標系下的像素 距離與對應至機器人坐標系下的實際距離之間的比值;
[0011] 根據(jù)所述夾角和所述比值,計算得到所述視覺坐標系與所述機器人坐標系之間的 坐標轉(zhuǎn)換關(guān)系。
[0012] 可選的是,所述運動輸出端為所述機器人的輸出運動的末端。
[0013] 可選的是,所述選擇第一標定位置和第二目標位置包括:
[0014] 在機器人坐標系下隨機選擇一位置坐標作為所述第一標定位置;
[0015] 確定第二目標位置的對應機器人坐標系的選定坐標軸的位置坐標與所述第一目 標位置的對應機器人坐標系的選定坐標軸的位置坐標相同;
[0016] 在機器人坐標系下隨機確定第二目標位置的對應機器人坐標系的另一坐標軸的 位置坐標。
[0017] 可選的是,所述根據(jù)所述第一標定位置和所述第二標定位置在視覺坐標系下的相 對位置關(guān)系,計算所述機器人坐標系的選定坐標軸與視覺坐標系的對應坐標軸之間的夾角 包括:
[0018] 計算所述第一標定位置與所述第二標定位置在視覺坐標系下的一位置坐標的差 值作為第一差值;
[0019] 計算所述第一標定位置與所述第二標定位置在視覺坐標系下的另一位置坐標的 差值作為第二差值;
[0020] 根據(jù)所述第一差值與所述第二差值的比值,計算所述夾角。
[0021] 可選的是,所述控制機器人的一運動輸出端從所述第一標定位置運動至所述第二 標定位置具體為:
[0022] 控制機器人的一運動輸出端沿平行于機器人坐標系下的選定坐標軸的方向,從所 述第一標定位置運動至所述第二標定位置。
[0023] 根據(jù)本發(fā)明的第二方面,提供了一種視覺定位標定裝置,其包括:
[0024] 標定位置選擇模塊,用于選擇第一標定位置和第二標定位置,所述選擇使得第一 標定位置和第二標定位置的、對應機器人坐標系的選定坐標軸的位置坐標相同;
[0025] 運動控制模塊,用于控制機器人的運動輸出端從所述第一標定位置運動至所述第 二標定位置,進行圖像攝??;
[0026] 視覺坐標確定模塊,用于根據(jù)攝取的圖像,確定所述第一標定位置和所述第二標 定位置在視覺坐標系下的位置坐標;
[0027] 夾角計算模塊,用于根據(jù)所述第一標定位置和所述第二標定位置在視覺坐標系下 的相對位置關(guān)系,計算所述機器人坐標系的選定坐標軸與視覺坐標系的對應坐標軸之間的 夾角;
[0028]距離映射模塊,用于根據(jù)所述第一標定位置分別在機器人坐標系和視覺坐標系下 的位置坐標、及所述第二標定位置分別在機器人坐標系和視覺坐標系下的位置坐標,計算 視覺坐標系下的像素距離與對應至機器人坐標系下的實際距離之間的比值;以及,
[0029] 坐標轉(zhuǎn)換模塊,用于根據(jù)所述夾角和所述比值,計算得到所述視覺坐標系與所述 機器人坐標系之間的坐標轉(zhuǎn)換關(guān)系。
[0030] 可選的是,所述運動輸出端為所述機器人的輸出運動的末端。
[0031] 可選的是,所述夾角計算模塊包括:
[0032] 第一差值計算單元,用于計算所述第一標定位置與所述第二標定位置在視覺坐標 系下的一位置坐標的差值作為第一差值;
[0033] 第二差值計算單元,用于計算所述第一標定位置與所述第二標定位置在視覺坐標 系下的另一位置坐標的差值作為第二差值;以及,
[0034]夾角計算單元,用于根據(jù)所述第一差值與所述第二差值的比值,計算所述夾角。 [0035]根據(jù)本發(fā)明的第三方面,提供了一種機器人,包括存儲器和處理器,所述存儲器用 于存儲指令,所述指令用于控制所述處理器進行操作以執(zhí)行根據(jù)本發(fā)明第一方面所述的方 法。
[0036] 根據(jù)本發(fā)明的第四方面,提供了一種機器人,其控制系統(tǒng)采用根據(jù)本發(fā)明第一方 面所述的方法確定的坐標轉(zhuǎn)換關(guān)系進行視覺坐標系下的位置坐標至機器人坐標系的轉(zhuǎn)換, 并根據(jù)轉(zhuǎn)換結(jié)果進行機器人的運動輸出端的控制。
[0037] 本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有的用于確定機器人坐標系和視覺坐標系之間轉(zhuǎn)換關(guān)系 的標定方法存在操作控制繁瑣及計算復雜的問題,進而無法實現(xiàn)快速標定。因此,本發(fā)明所 要實現(xiàn)的技術(shù)任務或者所要解決的技術(shù)問題是本領(lǐng)域技術(shù)人員從未想到的或者沒有預期 到的,故本發(fā)明是一種新的技術(shù)方案。
[0038] 本發(fā)明的一個有益效果在于,本發(fā)明視覺定位標定方法、裝置及機器人只需控制 機器人的一運動輸出端從選定的第一標定位置運動至第二標定位置即可確定機器人坐標 系與視覺坐標系之間的坐標轉(zhuǎn)換關(guān)系,因此,本發(fā)明方法、裝置及機器人簡化了進行標定的 操作控制,并因此減少了標定計算量,提高了標定效率。
[0039] 通過以下參照附圖對本發(fā)明的示例性實施例的詳細描述,本發(fā)明的其它特征及其 優(yōu)點將會變得清楚。
【附圖說明】
[0040] 被結(jié)合在說明書中并構(gòu)成說明書的一部分的附圖示出了本發(fā)明的實施例,并且連 同其說明一起用于解釋本發(fā)明的原理。
[0041 ]圖1為根據(jù)本發(fā)明視覺定位標定方法的一種實施方式的流程圖;
[0042]圖2為對應圖1所示方法的機器人坐標系和視覺坐標系;
[0043]圖3為根據(jù)本發(fā)明視覺定位標定裝置的一種實施結(jié)構(gòu)的方框原理圖;
[0044] 圖4為根據(jù)本發(fā)明機器人的一種實施結(jié)構(gòu)的方框原理圖。
【具體實施方式】
[0045] 現(xiàn)在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應注意到:除非另外具 體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本 發(fā)明的范圍。
[0046] 以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明 及其應用或使用的任何限制。
[0047] 對于相關(guān)領(lǐng)域普通技術(shù)人員已知的技術(shù)、方法和設(shè)備可能不作詳細討論,但在適 當情況下,所述技術(shù)、方法和設(shè)備應當被視為說明書的一部分。
[0048] 在這里示出和討論的所有例子中,任何具體值應被解釋為僅僅是示例性的,而不 是作為限制。因此,示例性實施例的其它例子可以具有不同的值。
[0049] 應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一 個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0050] 本發(fā)明為了解決現(xiàn)有標定方法存在的操作控制繁瑣和計算復雜的問題,提供了一 種在進行視覺定位標定時有利于簡化操作控制的新的技術(shù)方案。
[0051] 圖1為根據(jù)本發(fā)明視覺定位標定方法的一種實施方式的流程圖。
[0052]圖2示出了對應圖1所示方法的機器人坐標系和視覺坐標系,其中,圖2中的實線代 表機器人坐標系(x,y),點畫線代表視覺坐標系(v,r )。
[0053]根據(jù)圖1和圖2所示,本發(fā)明方法包括如下步驟:
[0054]步驟S101,選擇第一標定位置A和第二標定位置B,其中,該選擇要求使得第一標定 位置A和第二標定位置B的、對應機器人坐標系(X,Y)的選定坐標軸的位置坐標相同。
[0055] 根據(jù)圖2所示,第一標定位置A在機器人坐標系(X,Y)下的位置坐標為A(Xa,Ya),在 視覺坐標系(f)下的位置坐標為第二標定位置B在機器人坐標系(X,Y)下的 位置坐標為B(Xb,Yb),在視覺坐標系(X 7 A')下的位置坐標為BU'Jb')。
[0056] 在圖2所示的實施例中,上述選定坐標軸為機器人坐標系(X,Y)的X軸,即第一標定 位置A的位置坐標Xa與第二標定位置B的位置坐標Xb相同,以下以選定坐標軸為X軸為例說明 本發(fā)明方法的實施,本領(lǐng)域技術(shù)人員應當理解的是,該選定坐標軸也可以是機器人坐標系 的Y軸。
[0057] 該步驟中選擇第一標定位置A和第二標定位置B可進一步包括如下步驟:
[0058]步驟S1011,在機器人坐標系(X,Y)下隨機選擇一位置坐標(Xa,Ya)作為第一標定位 置A〇
[0059]步驟S1021,確定第二目標位置B的對應機器人坐標系(X,Y)的選定坐標軸,即X軸, 的位置坐標Xb與第一目標位置A的對應機器人坐標系(X,Y)的X軸的位置坐標Xa相同。
[0060] 步驟S1023,在機器人坐標系(X,Y)下隨機確定第二目標位置B的對應機器人坐標 系的另一坐標軸,即Y軸,的位置坐標Yb。
[0061] 在此,也可以設(shè)置固定坐標的第一標定位置A和第二標定位置B,用于進行視覺定 位標定。
[0062] 步驟S102,控制機器人的一運動輸出端從第一標定位置A運動至第二標定位置B, 進行圖像攝取。
[0063]為了實施該步驟S102,機器人的視覺系統(tǒng)應處于開啟狀態(tài)。
[0064] 該運動輸出端可以是運動控制程序中用于實現(xiàn)目標動作的任一被控輸出端,該被 控輸出端通常為機器人的各關(guān)節(jié)位置,也可以是機器人的輸出運動的末端。
[0065] 由于對于工業(yè)機器人而言,目標動作通常依靠控制輸出運動的末端到達對應的位 置坐標實現(xiàn),因此,在本發(fā)明的一個具體實施例中,可將輸出運動的末端選定為是進行視覺 定位標定的運動輸出端。
[0066] 在該步驟中,為了進一步簡化控制邏輯,該控制機器人的一運動輸出端從第一標 定位置A運動至第二標定位置B可具體為控制機器人的一運動輸出端沿機器人坐標系的選 定坐標軸的方向,即X軸的方向,從第一標定位置A運動至第二坐標位置B,運動軌跡對應圖2 中的從第一標定位置A至第二標定位置B的直線段。
[0067]步驟S103,根據(jù)攝取的圖像,確定第一標定位置A和第二標定位置B在視覺坐標系 (X^V)下的位置坐標。
[0068] 該步驟可進一步包括:
[0069]步驟S1031,獲取機器人的運動輸出端位于第一標定位置A時的第一圖像、及機器 人的運動輸出端位于第二標定位置B時的第二圖像。
[0070]步驟S1032,通過識別運動輸出端在第一圖像上的位置確定第一標定位置A在視覺 坐標系(X人r)下的位置坐標A(X%,Y、)。
[0071]步驟S1033,通過識別運動輸出端在第二圖像上的位置確定第二標定位置B在視覺 坐標系(x人r)下的位置坐標B(Vb,YV)。
[0072]步驟S104,根據(jù)第一標定位置A和第二標定位置B在視覺坐標系(f)下的相對 位置關(guān)系,計算機器人坐標系(X,Y)的選定坐標軸,即X軸,與視覺坐標系(X')的對應坐 標軸,g卩V軸,之間的夾角0。
[0073] 在此,由于連接第一標定位置A和第二標定位置B之間的直線段平行于機器人坐標 系(X,Y)的X軸,因此,上述夾角0將與該直線段與f軸之間的夾角相等,這樣,便可根據(jù)第一 標定位置A和第二標定位置B在視覺坐標系(V)下的相對位置關(guān)系計算得到夾角0。
[0074] 上述計算夾角0可以簡單地通過如下步驟實施:
[0075]步驟S1041,計算第一標定位置A與第二標定位置B在視覺坐標系(f)下的一位 置坐標的差值作為第一差值。
[0076]步驟S1042,計算第一標定位置A與第二標定位置B在視覺坐標系(f)下的另一 位置坐標的差值作為第二差值。
[0077]步驟S1043,根據(jù)第一差值與第二差值的比值,計算夾角0,具體請參見以下公式 ⑴。
[0079]步驟S105,根據(jù)第一標定位置A分別在機器人坐標系(X,Y)和視覺坐標系(f,疒) 下的位置坐標、及第二標定位置B分別在機器人坐標系(X,Y)和視覺坐標系(f,疒)下的位 置坐標,計算視覺坐標系(f,疒)下的像素距離與對應至機器人坐標系(X,Y)下的實際距離 之間的比值A(chǔ),具體請見以下公式(2)。
[0081] 步驟S106,根據(jù)夾角0和比值A(chǔ),計算得到視覺坐標系(X',Y')與機器人坐標系(X, Y)之間的坐標轉(zhuǎn)換關(guān)系。
[0082] 即對于任一點C,其在視覺坐標系(f,r)下的位置坐標)與在機器人坐標 系(X,Y)下的位置坐標(XC,Y C)之間的坐標轉(zhuǎn)換關(guān)系為:
[0084] 這樣,通過根據(jù)本發(fā)明方法確定的坐標轉(zhuǎn)換關(guān)系,即可確定視覺系統(tǒng)攝取的圖像 上的任意一點在機器人坐標系下的位置坐標,進而能夠?qū)崿F(xiàn)通過機器視覺引導機器人動 作,例如抓拾零件,的目的。
[0085] 圖3為根據(jù)本發(fā)明另一方面的視覺定位標定裝置的一種實施結(jié)構(gòu)的方框原理圖。 [0086]根據(jù)圖3所示,本發(fā)明視覺定位標定裝置300包括標定位置選擇模塊301、運動控制 模塊302、視覺坐標確定模塊303、夾角計算模塊304、距離映射模塊305和坐標轉(zhuǎn)換模塊306。
[0087]上述位置選擇模塊301用于選擇第一標定位置A和第二標定位置B,該選擇使得第 一標定位置A和第二標定位置B的、對應機器人坐標系(X,Y)的選定坐標軸的位置坐標相同。
[0088] 上述運動控制模塊302用于控制機器人的運動輸出端從第一標定位置A運動至第 二標定位置B,以進行圖像攝取。例如具體用于控制機器人的運動輸出端沿平行于該選定坐 標軸的方向,從第一標定位置A運動至第二標定位置B。該運動輸出端例如可以為機器人的 輸出運動的末端。
[0089]上述視覺坐標確定模塊303用于根據(jù)攝取的圖像,確定第一標定位置A和第二標定 位置B在視覺坐標系(V)下的位置坐標。
[0090] 上述夾角計算模塊304用于根據(jù)第一標定位置A和第二標定位置B在視覺坐標系 (X')下的相對位置關(guān)系,計算機器人坐標系(X,Y)的選定坐標軸與視覺坐標系(f,疒) 的對應坐標軸之間的夾角。
[0091] 上述距離映射模塊305用于根據(jù)第一標定位置A分別在機器人坐標系(X,Y)和視覺 坐標系(f)下的位置坐標、及第二標定位置B分別在機器人坐標系(X,Y)和視覺坐標系 (X 7)下的位置坐標,計算視覺坐標系(X7,疒)下的像素距離與對應至機器人坐標系(X, Y)下的實際距離之間的比值。
[0092]上述坐標轉(zhuǎn)換模塊306用于根據(jù)上述夾角和比值,計算得到視覺坐標系(f,疒)與 機器人坐標系(X,Y)之間的坐標轉(zhuǎn)換關(guān)系。
[0093]上述夾角計算模塊304可進一步包括第一差值計算單元、第二差值計算單元和夾 角計算單元(圖中未示出),該第一差值計算單元用于計算第一標定位置與第二標定位置在 視覺坐標系下的一位置坐標的差值作為第一差值;該第二差值計算單元用于計算第一標定 位置與第二標定位置在視覺坐標系下的另一位置坐標的差值作為第二差值;該夾角計算單 元用于根據(jù)第一差值與第二差值的比值,計算夾角。
[0094]圖4為根據(jù)本發(fā)明第三方面的機器人的一種實施結(jié)構(gòu)的方框原理圖。
[0095] 根據(jù)圖4所示,該機器人400包括存儲器401和處理器402,該存儲器401用于存儲指 令,該指令用于控制處理器402進行操作以執(zhí)行根據(jù)本發(fā)明所述的視覺定位標定方法。 [0096]除此之外,根據(jù)圖4所示,該機器人400還包括接口裝置403、輸入裝置404、顯示裝 置405、通信裝置406等等。盡管在圖4中示出了多個裝置,但是,本發(fā)明電子設(shè)備可以僅涉及 其中的部分裝置,例如,處理器401、存儲器402等。
[0097]上述通信裝置406例如能夠進行有有線或無線通信。
[0098] 上述接口裝置403例如包括USB接口、RS232串口、RS485串口、并行接口等。
[0099]上述輸入裝置404例如可以包括觸摸屏、按鍵等。
[0100] 上述顯示裝置405例如是液晶顯示屏、觸摸顯示屏等。
[0101] 根據(jù)本發(fā)明的第四方面,提供了一種機器人,其控制系統(tǒng)將采用根據(jù)本發(fā)明的視 覺定位標定方法確定的坐標轉(zhuǎn)換關(guān)系進行視覺坐標系下的位置坐標至機器人坐標系的轉(zhuǎn) 換,并根據(jù)轉(zhuǎn)換結(jié)果進行機器人的運動輸出端的控制。
[0102] 上述各實施例主要重點描述與其他實施例的不同之處,但本領(lǐng)域技術(shù)人員應當清 楚的是,上述各實施例可以根據(jù)需要單獨使用或者相互結(jié)合使用。
[0103] 本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部 分相互參見即可,每個實施例重點說明的都是與其他實施例的不同之處,但本領(lǐng)域技術(shù)人 員應當清楚的是,上述各實施例可以根據(jù)需要單獨使用或者相互結(jié)合使用。另外,對于裝置 實施例而言,由于其是與方法實施例相對應,所以描述得比較簡單,相關(guān)之處參見方法實施 例的對應部分的說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中作為分離部件 說明的模塊可以是或者也可以不是物理上分開的。
[0104] 本發(fā)明可以是裝置、方法和/或計算機程序產(chǎn)品。計算機程序產(chǎn)品可以包括計算機 可讀存儲介質(zhì),其上載有用于使處理器實現(xiàn)本發(fā)明的各個方面的計算機可讀程序指令。
[0105] 計算機可讀存儲介質(zhì)可以是可以保持和存儲由指令執(zhí)行設(shè)備使用的指令的有形 設(shè)備。計算機可讀存儲介質(zhì)例如可以是一一但不限于一一電存儲設(shè)備、磁存儲設(shè)備、光存儲 設(shè)備、電磁存儲設(shè)備、半導體存儲設(shè)備或者上述的任意合適的組合。計算機可讀存儲介質(zhì)的 更具體的例子(非窮舉的列表)包括:便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存 儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、靜態(tài)隨機存取存儲器(SRAM)、便攜式 壓縮盤只讀存儲器(CD-ROM)、數(shù)字多功能盤(DVD)、記憶棒、軟盤、機械編碼設(shè)備、例如其上 存儲有指令的打孔卡或凹槽內(nèi)凸起結(jié)構(gòu)、以及上述的任意合適的組合。這里所使用的計算 機可讀存儲介質(zhì)不被解釋為瞬時信號本身,諸如無線電波或者其他自由傳播的電磁波、通 過波導或其他傳輸媒介傳播的電磁波(例如,通過光纖電纜的光脈沖)、或者通過電線傳輸 的電信號。
[0106] 這里所描述的計算機可讀程序指令可以從計算機可讀存儲介質(zhì)下載到各個計算/ 處理設(shè)備,或者通過網(wǎng)絡、例如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)和/或無線網(wǎng)下載到外部計算機或外 部存儲設(shè)備。網(wǎng)絡可以包括銅傳輸電纜、光纖傳輸、無線傳輸、路由器、防火墻、交換機、網(wǎng)關(guān) 計算機和/或邊緣服務器。每個計算/處理設(shè)備中的網(wǎng)絡適配卡或者網(wǎng)絡接口從網(wǎng)絡接收計 算機可讀程序指令,并轉(zhuǎn)發(fā)該計算機可讀程序指令,以供存儲在各個計算/處理設(shè)備中的計 算機可讀存儲介質(zhì)中。
[0107] 用于執(zhí)行本發(fā)明操作的計算機程序指令可以是匯編指令、指令集架構(gòu)(ISA)指令、 機器指令、機器相關(guān)指令、微代碼、固件指令、狀態(tài)設(shè)置數(shù)據(jù)、或者以一種或多種編程語言的 任意組合編寫的源代碼或目標代碼,所述編程語言包括面向?qū)ο蟮木幊陶Z言一諸如 Smalltalk、C++等,以及常規(guī)的過程式編程語言一諸如"C"語言或類似的編程語言。計算機 可讀程序指令可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨 立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機 或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡一包 括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如利 用因特網(wǎng)服務提供商來通過因特網(wǎng)連接)。在一些實施例中,通過利用計算機可讀程序指令 的狀態(tài)信息來個性化定制電子電路,例如可編程邏輯電路、現(xiàn)場可編程門陣列(FPGA)或可 編程邏輯陣列(PLA),該電子電路可以執(zhí)行計算機可讀程序指令,從而實現(xiàn)本發(fā)明的各個方 面。
[0108] 這里參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖和/ 或框圖描述了本發(fā)明的各個方面。應當理解,流程圖和/或框圖的每個方框以及流程圖和/ 或框圖中各方框的組合,都可以由計算機可讀程序指令實現(xiàn)。
[0109] 這些計算機可讀程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù) 處理裝置的處理器,從而生產(chǎn)出一種機器,使得這些指令在通過計算機或其它可編程數(shù)據(jù) 處理裝置的處理器執(zhí)行時,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功 能/動作的裝置。也可以把這些計算機可讀程序指令存儲在計算機可讀存儲介質(zhì)中,這些指 令使得計算機、可編程數(shù)據(jù)處理裝置和/或其他設(shè)備以特定方式工作,從而,存儲有指令的 計算機可讀介質(zhì)則包括一個制造品,其包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中 規(guī)定的功能/動作的各個方面的指令。
[0110] 也可以把計算機可讀程序指令加載到計算機、其它可編程數(shù)據(jù)處理裝置、或其它 設(shè)備上,使得在計算機、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn) 生計算機實現(xiàn)的過程,從而使得在計算機、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上執(zhí)行的 指令實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作。
[0111] 附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個實施例的系統(tǒng)、方法和計算機程 序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代 表一個模塊、程序段或指令的一部分,所述模塊、程序段或指令的一部分包含一個或多個用 于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。在有些作為替換的實現(xiàn)中,方框中所標注的功能也 可以以不同于附圖中所標注的順序發(fā)生。例如,兩個連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí) 行,它們有時也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或 流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動 作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。對 于本領(lǐng)域技術(shù)人員來說公知的是,通過硬件方式實現(xiàn)、通過軟件方式實現(xiàn)以及通過軟件和 硬件結(jié)合的方式實現(xiàn)都是等價的。
[0112] 以上已經(jīng)描述了本發(fā)明的各實施例,上述說明是示例性的,并非窮盡性的,并且也 不限于所披露的各實施例。在不偏離所說明的各實施例的范圍和精神的情況下,對于本技 術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨 在最好地解釋各實施例的原理、實際應用或?qū)κ袌鲋械募夹g(shù)的技術(shù)改進,或者使本技術(shù)領(lǐng) 域的其它普通技術(shù)人員能理解本文披露的各實施例。本發(fā)明的范圍由所附權(quán)利要求來限 定。
【主權(quán)項】
1. 一種視覺定位標定方法,其特征在于,包括: 選擇第一標定位置和第二標定位置,其中,所述選擇使得第一標定位置和第二標定位 置的、對應機器人坐標系的選定坐標軸的位置坐標相同; 控制機器人的一運動輸出端從所述第一標定位置運動至所述第二標定位置,進行圖像 攝取; 根據(jù)攝取的圖像,確定所述第一標定位置和所述第二標定位置在視覺坐標系下的位置 坐標; 根據(jù)所述第一標定位置和所述第二標定位置在視覺坐標系下的相對位置關(guān)系,計算所 述機器人坐標系的選定坐標軸與視覺坐標系的對應坐標軸之間的夾角; 根據(jù)所述第一標定位置分別在機器人坐標系和視覺坐標系下的位置坐標、及所述第二 標定位置分別在機器人坐標系和視覺坐標系下的位置坐標,計算視覺坐標系下的像素距離 與對應至機器人坐標系下的實際距離之間的比值; 根據(jù)所述夾角和所述比值,計算得到所述視覺坐標系與所述機器人坐標系之間的坐標 轉(zhuǎn)換關(guān)系。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述運動輸出端為所述機器人的輸出運動 的末端。3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述選擇第一標定位置和第二目標位置包 括: 在機器人坐標系下隨機選擇一位置坐標作為所述第一標定位置; 確定第二目標位置的對應機器人坐標系的選定坐標軸的位置坐標與所述第一目標位 置的對應機器人坐標系的選定坐標軸的位置坐標相同; 在機器人坐標系下隨機確定第二目標位置的對應機器人坐標系的另一坐標軸的位置 坐標。4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述第一標定位置和所述第二標 定位置在視覺坐標系下的相對位置關(guān)系,計算所述機器人坐標系的選定坐標軸與視覺坐標 系的對應坐標軸之間的夾角包括: 計算所述第一標定位置與所述第二標定位置在視覺坐標系下的一位置坐標的差值作 為第一差值; 計算所述第一標定位置與所述第二標定位置在視覺坐標系下的另一位置坐標的差值 作為第二差值; 根據(jù)所述第一差值與所述第二差值的比值,計算所述夾角。5. 根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述控制機器人的一運動輸 出端從所述第一標定位置運動至所述第二標定位置具體為: 控制機器人的一運動輸出端沿平行于機器人坐標系下的選定坐標軸的方向,從所述第 一標定位置運動至所述第二標定位置。6. -種視覺定位標定裝置,其特征在于,包括: 標定位置選擇模塊,用于選擇第一標定位置和第二標定位置,所述選擇使得第一標定 位置和第二標定位置的、對應機器人坐標系的選定坐標軸的位置坐標相同; 運動控制模塊,用于控制機器人的運動輸出端從所述第一標定位置運動至所述第二標 定位置,進行圖像攝??; 視覺坐標確定模塊,用于根據(jù)攝取的圖像,確定所述第一標定位置和所述第二標定位 置在視覺坐標系下的位置坐標; 夾角計算模塊,用于根據(jù)所述第一標定位置和所述第二標定位置在視覺坐標系下的相 對位置關(guān)系,計算所述機器人坐標系的選定坐標軸與視覺坐標系的對應坐標軸之間的夾 角; 距離映射模塊,用于根據(jù)所述第一標定位置分別在機器人坐標系和視覺坐標系下的位 置坐標、及所述第二標定位置分別在機器人坐標系和視覺坐標系下的位置坐標,計算視覺 坐標系下的像素距離與對應至機器人坐標系下的實際距離之間的比值;以及, 坐標轉(zhuǎn)換模塊,用于根據(jù)所述夾角和所述比值,計算得到所述視覺坐標系與所述機器 人坐標系之間的坐標轉(zhuǎn)換關(guān)系。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述運動輸出端為所述機器人的輸出運動 的末端。8. 根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述夾角計算模塊包括: 第一差值計算單元,用于計算所述第一標定位置與所述第二標定位置在視覺坐標系下 的一位置坐標的差值作為第一差值; 第二差值計算單元,用于計算所述第一標定位置與所述第二標定位置在視覺坐標系下 的另一位置坐標的差值作為第二差值;以及, 夾角計算單元,用于根據(jù)所述第一差值與所述第二差值的比值,計算所述夾角。9. 一種機器人,包括存儲器和處理器,其特征在于,所述存儲器用于存儲指令,所述指 令用于控制所述處理器進行操作以執(zhí)行根據(jù)權(quán)利要求1至5中任一項所述的方法。10. -種機器人,其特征在于,所述機器人的控制系統(tǒng)采用根據(jù)權(quán)利要求1至5中任一項 所述的方法確定的坐標轉(zhuǎn)換關(guān)系進行視覺坐標系下的位置坐標至機器人坐標系的轉(zhuǎn)換,并 根據(jù)轉(zhuǎn)換結(jié)果進行機器人的運動輸出端的控制。
【文檔編號】G05D1/02GK106054874SQ201610334827
【公開日】2016年10月26日
【申請日】2016年5月19日
【發(fā)明人】譚德波, 胥潔浩, 楊雷, 劉輝, 司書哲
【申請人】歌爾股份有限公司