本發(fā)明涉及計(jì)算機(jī)視覺,特別是涉及一種動(dòng)態(tài)位姿標(biāo)定方法、裝置、介質(zhì)及設(shè)備。
背景技術(shù):
1、在現(xiàn)代工業(yè)制造領(lǐng)域,對大型工件進(jìn)行精確的尺寸測量是一項(xiàng)關(guān)鍵任務(wù)。傳統(tǒng)的視覺測量方法在面對大型工件時(shí),常常受限于相機(jī)視野范圍的限制,導(dǎo)致無法一次性獲取工件的全部尺寸信息。為了解決這一問題,通常利用運(yùn)動(dòng)模組帶動(dòng)相機(jī)在不同位置進(jìn)行拍攝,實(shí)現(xiàn)對工件表面的完整掃描成像,但是在使用運(yùn)動(dòng)模組帶動(dòng)相機(jī)進(jìn)行掃描時(shí),由于模組和相機(jī)各自擁有獨(dú)立的坐標(biāo)系,如何實(shí)現(xiàn)這兩個(gè)坐標(biāo)系之間的統(tǒng)一成為了一個(gè)技術(shù)難題。目前,一種通用的方法是通過獲取標(biāo)定板上的多組點(diǎn)位在相機(jī)坐標(biāo)系和模組坐標(biāo)系下的坐標(biāo),然后通過求解icp(迭代最近點(diǎn))問題或pnp(perspective-n-point)問題來確定相機(jī)和模組之間的外參,從而實(shí)現(xiàn)坐標(biāo)系的統(tǒng)一。
2、然而,這種方法在實(shí)際操作中存在局限性。機(jī)器人在完成手眼標(biāo)定后,可以通過手眼標(biāo)定矩陣和內(nèi)部姿態(tài)解算來完成相機(jī)坐標(biāo)系到機(jī)器人坐標(biāo)系的轉(zhuǎn)換。但對于模組來說,由于其各關(guān)節(jié)通常沒有標(biāo)定好的位姿關(guān)系,當(dāng)掃描姿態(tài)發(fā)生變化時(shí),相機(jī)坐標(biāo)系與模組坐標(biāo)系的相對姿態(tài)也會(huì)隨之變化,導(dǎo)致外參變化。在需要對多種不同姿態(tài)進(jìn)行掃描的情況下,傳統(tǒng)標(biāo)定方法需要對每一種姿態(tài)單獨(dú)進(jìn)行標(biāo)定,這在實(shí)際操作中是不切實(shí)際的,尤其是當(dāng)存在大量姿態(tài)變化時(shí)(例如幾百個(gè)姿態(tài)),幾乎無法實(shí)現(xiàn)這種標(biāo)定。
3、因此,如何改善現(xiàn)有技術(shù)對大型工件尺寸測量時(shí)靈活性和準(zhǔn)確性不足,成本過高且效率較低等問題,是該領(lǐng)域亟待解決的技術(shù)問題。
技術(shù)實(shí)現(xiàn)思路
1、基于此,本技術(shù)目的在于提供一種動(dòng)態(tài)位姿標(biāo)定方法、裝置、介質(zhì)及設(shè)備,來解決上述背景技術(shù)中提及的至少一個(gè)技術(shù)問題。
2、第一方面,本技術(shù)提供了一種動(dòng)態(tài)位姿標(biāo)定方法,包括:
3、s1:獲取世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下各標(biāo)定特征點(diǎn)的坐標(biāo),得到世界坐標(biāo)集和第一設(shè)備坐標(biāo)集;
4、s2:獲取第一設(shè)備坐標(biāo)集中若干特征點(diǎn),并根據(jù)世界坐標(biāo)集中對應(yīng)特征點(diǎn)構(gòu)建得到若干特征點(diǎn)對,以根據(jù)特征點(diǎn)對得到第一設(shè)備坐標(biāo)系與世界坐標(biāo)系之間的第一轉(zhuǎn)換矩陣,為標(biāo)定轉(zhuǎn)換矩陣;
5、s3:判斷采集設(shè)備姿態(tài)是否發(fā)生變化,若否,則完成標(biāo)定,若是,則得到當(dāng)前姿態(tài)對應(yīng)的第n設(shè)備坐標(biāo)系;n初始值為2;
6、s4:獲取第n設(shè)備坐標(biāo)系下各標(biāo)定特征點(diǎn)的坐標(biāo),并任選若干特征點(diǎn)擬合得到若干圓心,以根據(jù)圓心得到第n設(shè)備坐標(biāo)系在世界坐標(biāo)系下的轉(zhuǎn)軸方程;
7、s5:根據(jù)轉(zhuǎn)軸方程和先驗(yàn)歐拉角,得到第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣,并根據(jù)各設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣以及標(biāo)定轉(zhuǎn)換矩陣,得到第n設(shè)備坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)換矩陣,使n自加1,返回步驟s3。
8、進(jìn)一步的,獲取標(biāo)定轉(zhuǎn)換矩陣的步驟,包括:
9、獲取第一方向上任一特征點(diǎn)對中各特征點(diǎn)在世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下的坐標(biāo),得到第一世界特征點(diǎn)和第一設(shè)備特征點(diǎn),以根據(jù)二者之間的投影關(guān)系,得到世界坐標(biāo)系和第一設(shè)備坐標(biāo)系之間的偏航角和俯仰角;
10、獲取第二方向上任一特征點(diǎn)對中各特征點(diǎn)在世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下的坐標(biāo),得到第二世界特征點(diǎn)和第二設(shè)備特征點(diǎn),以根據(jù)二者之間的投影關(guān)系,得到世界坐標(biāo)系和第一設(shè)備坐標(biāo)系之間的滾轉(zhuǎn)角;
11、根據(jù)偏航角、俯仰角和滾轉(zhuǎn)角得到世界坐標(biāo)系和第一設(shè)備坐標(biāo)系之間的旋轉(zhuǎn)矩陣;
12、根據(jù)旋轉(zhuǎn)矩陣將任一特征點(diǎn)對轉(zhuǎn)換至同一坐標(biāo)系下,并獲取轉(zhuǎn)換后特征點(diǎn)對之間的距離,得到世界坐標(biāo)系和第一設(shè)備坐標(biāo)系之間的平移向量,以根據(jù)二者之間的旋轉(zhuǎn)矩陣和平移向量,得到二者之間的第一轉(zhuǎn)換矩陣,為標(biāo)定轉(zhuǎn)換矩陣。
13、進(jìn)一步的,獲取偏航角和俯仰角的步驟,包括:
14、獲取第一方向上任一特征點(diǎn)對中各特征點(diǎn)在世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下的坐標(biāo),得到第一世界特征點(diǎn)和第一設(shè)備特征點(diǎn);
15、將第一設(shè)備特征點(diǎn)的三維坐標(biāo)投影至世界坐標(biāo)系,得到第一設(shè)備特征點(diǎn)在世界坐標(biāo)系下的坐標(biāo);
16、從第一世界特征點(diǎn)/第一設(shè)備特征點(diǎn)中任選兩點(diǎn),并獲取第一設(shè)備特征點(diǎn)/第一世界特征點(diǎn)中對應(yīng)的兩點(diǎn),代入角度計(jì)算公式,得到世界坐標(biāo)系和第一設(shè)備坐標(biāo)系之間的偏航角和俯仰角;
17、獲取滾轉(zhuǎn)角的步驟,包括:
18、獲取第二方向上任一特征點(diǎn)對中各特征點(diǎn)在世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下的坐標(biāo),得到第二世界特征點(diǎn)和第二設(shè)備特征點(diǎn);
19、將第二設(shè)備特征點(diǎn)的三維坐標(biāo)投影至世界坐標(biāo)系,得到第二設(shè)備特征點(diǎn)在世界坐標(biāo)系下的坐標(biāo);
20、從第二世界特征點(diǎn)/第二設(shè)備特征點(diǎn)中任選兩點(diǎn),并獲取第二設(shè)備特征點(diǎn)/第二世界特征點(diǎn)中對應(yīng)的兩點(diǎn),代入角度計(jì)算公式,得到世界坐標(biāo)系和第一設(shè)備坐標(biāo)系之間的滾轉(zhuǎn)角。
21、進(jìn)一步的,角度計(jì)算公式,包括:
22、
23、其中,β為俯仰角,γ為偏航角α為滾轉(zhuǎn)角,pc1和pc2為選定的第一設(shè)備特征點(diǎn),選定的pw1和pw2為第一世界特征點(diǎn),pc3和pc4為選定的第二設(shè)備特征點(diǎn),pw3和pw4為選定的第二世界特征點(diǎn)。
24、進(jìn)一步的,獲取轉(zhuǎn)軸方程的步驟,包括:
25、獲取第n設(shè)備坐標(biāo)系下第三方向上的若干特征點(diǎn),并投影至世界坐標(biāo)系,得到第一圓心特征點(diǎn);
26、根據(jù)第一圓心特征點(diǎn)的坐標(biāo),分類得到若干高度上的特征點(diǎn),并對各高度上的特征點(diǎn)擬合圓心,得到第一組圓心;
27、獲取第n設(shè)備坐標(biāo)系下第四方向上的若干特征點(diǎn),并投影至世界坐標(biāo)系,得到第二圓心特征點(diǎn);
28、根據(jù)第二圓心特征點(diǎn)的坐標(biāo),分類得到若干高度上的特征點(diǎn),并對各高度上的特征點(diǎn)擬合圓心,得到第二組圓心;
29、獲取第一組圓心和第二組圓心中,位于同一高度上的各圓心的中心點(diǎn),以根據(jù)若干中心點(diǎn)擬合得到第n設(shè)備坐標(biāo)系的轉(zhuǎn)軸方程。
30、進(jìn)一步的,根據(jù)轉(zhuǎn)軸方程和先驗(yàn)歐拉角,得到第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣的步驟,包括:
31、分別判斷先驗(yàn)歐拉角中偏航角、俯仰角和滾轉(zhuǎn)角的角度是否為0;
32、若偏航角的角度不為0,則將偏航角代入轉(zhuǎn)換矩陣計(jì)算公式,得到偏航角轉(zhuǎn)換矩陣;
33、若俯仰角的角度不為0,則將俯仰角代入轉(zhuǎn)換矩陣計(jì)算公式,得到俯仰轉(zhuǎn)換矩陣;
34、若滾轉(zhuǎn)角的角度不為0,則將滾轉(zhuǎn)角代入轉(zhuǎn)換矩陣計(jì)算公式,得到滾轉(zhuǎn)角轉(zhuǎn)換矩陣;
35、綜合偏航角轉(zhuǎn)換矩陣、俯仰轉(zhuǎn)換矩陣和滾轉(zhuǎn)角轉(zhuǎn)換矩陣,得到第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣。
36、進(jìn)一步的,轉(zhuǎn)換矩陣計(jì)算公式為:
37、r=i+(1-cosθ)uut+[sinθ][u]×??5-1
38、
39、其中,r為第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換方程,i是3x3的單位矩陣,[u]×是由轉(zhuǎn)軸方程u構(gòu)造的反對稱矩陣(也稱為叉積矩陣),θ為先驗(yàn)偏航角,h為第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣。
40、第二方面,本技術(shù)提供了一種動(dòng)態(tài)位姿標(biāo)定裝置,應(yīng)用于第一方面所述的動(dòng)態(tài)位姿標(biāo)定方法,包括:
41、特征點(diǎn)獲取模塊,用于獲取世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下各標(biāo)定特征點(diǎn)的坐標(biāo),得到世界坐標(biāo)集和第一設(shè)備坐標(biāo)集;
42、標(biāo)定轉(zhuǎn)換矩陣計(jì)算模塊,用于獲取第一設(shè)備坐標(biāo)集中若干特征點(diǎn),并根據(jù)世界坐標(biāo)集中對應(yīng)特征點(diǎn)構(gòu)建得到若干特征點(diǎn)對,以根據(jù)特征點(diǎn)對得到第一設(shè)備坐標(biāo)系與世界坐標(biāo)系之間的第一轉(zhuǎn)換矩陣,為標(biāo)定轉(zhuǎn)換矩陣;
43、設(shè)備坐標(biāo)系設(shè)定模塊,用于判斷采集設(shè)備位姿是否發(fā)生變化,若否,則完成標(biāo)定,若是,則得到當(dāng)前位姿對應(yīng)的第n設(shè)備坐標(biāo)系;n初始值為2;
44、轉(zhuǎn)軸方程計(jì)算模塊,用于獲取第n設(shè)備坐標(biāo)系下各標(biāo)定特征點(diǎn)的坐標(biāo),并任選若干特征點(diǎn)擬合得到若干圓心,以根據(jù)圓心得到第n設(shè)備坐標(biāo)系在世界坐標(biāo)系下的轉(zhuǎn)軸方程;
45、轉(zhuǎn)換矩陣計(jì)算模塊,用于根據(jù)轉(zhuǎn)軸方程和先驗(yàn)歐拉角,得到第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣,使n自加1,返回調(diào)用設(shè)備坐標(biāo)系設(shè)定模塊。
46、第三方面,本技術(shù)還提供了一種計(jì)算機(jī)存儲介質(zhì),存儲有可執(zhí)行程序代碼;所述可執(zhí)行程序代碼,用于執(zhí)行第一方面任意一項(xiàng)所述的動(dòng)態(tài)位姿標(biāo)定方法。
47、第四方面,本技術(shù)還提供了一種終端設(shè)備,包括存儲器和處理器;所述存儲器存儲有可被處理器執(zhí)行的程序代碼;所述程序代碼用于執(zhí)行第一方面任意一項(xiàng)所述的動(dòng)態(tài)位姿標(biāo)定方法。
48、本發(fā)明提供的一種動(dòng)態(tài)位姿標(biāo)定方法、裝置、介質(zhì)及設(shè)備,通過獲取世界坐標(biāo)系和第一設(shè)備坐標(biāo)系下各標(biāo)定特征點(diǎn)的坐標(biāo),得到世界坐標(biāo)集和第一設(shè)備坐標(biāo)集,再獲取第一設(shè)備坐標(biāo)集中若干特征點(diǎn),并根據(jù)世界坐標(biāo)集中對應(yīng)特征點(diǎn)構(gòu)建得到若干特征點(diǎn)對,以根據(jù)特征點(diǎn)對得到第一設(shè)備坐標(biāo)系與世界坐標(biāo)系之間的第一轉(zhuǎn)換矩陣,為標(biāo)定轉(zhuǎn)換矩陣,然后判斷采集設(shè)備姿態(tài)是否發(fā)生變化,若否,則完成標(biāo)定,若是,則得到當(dāng)前姿態(tài)對應(yīng)的第n設(shè)備坐標(biāo)系;n初始值為2,再獲取第n設(shè)備坐標(biāo)系下各標(biāo)定特征點(diǎn)的坐標(biāo),并任選若干特征點(diǎn)擬合得到若干圓心,以根據(jù)圓心得到第n設(shè)備坐標(biāo)系在世界坐標(biāo)系下的轉(zhuǎn)軸方程,最后,根據(jù)轉(zhuǎn)軸方程和先驗(yàn)歐拉角,得到第n設(shè)備坐標(biāo)系與第n-1設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣,并根據(jù)各設(shè)備坐標(biāo)系之間的轉(zhuǎn)換矩陣以及標(biāo)定轉(zhuǎn)換矩陣,得到第n設(shè)備坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)換矩陣,使n自加1,返回判斷采集設(shè)備姿態(tài)是否發(fā)生變化,從而不斷判斷是否出現(xiàn)新的采集設(shè)備坐標(biāo)系,并對其進(jìn)行標(biāo)定,通過計(jì)算采集設(shè)備姿態(tài)變化時(shí)所產(chǎn)生的轉(zhuǎn)軸方程和旋轉(zhuǎn)角度,以計(jì)算采集設(shè)備各姿態(tài)對應(yīng)的采集設(shè)備坐標(biāo)系兩兩之間的轉(zhuǎn)換矩陣,從而得到每個(gè)采集設(shè)備坐標(biāo)系與世界坐標(biāo)系之間的轉(zhuǎn)換矩陣,從而只需要計(jì)算轉(zhuǎn)軸方程就能完成標(biāo)定,避免對采集設(shè)備不同掃描姿態(tài)對應(yīng)的采集設(shè)備坐標(biāo)系單獨(dú)進(jìn)行標(biāo)定,大大減少了標(biāo)定工作量,提高了標(biāo)定效率。解決了現(xiàn)有技術(shù)由于采集設(shè)備坐標(biāo)系與世界坐標(biāo)系的相對姿態(tài)發(fā)生變化,需要對采集設(shè)備不同掃描姿態(tài)單獨(dú)進(jìn)行標(biāo)定,導(dǎo)致標(biāo)定效率過低甚至無法完成標(biāo)定等問題。