熱線電話:0755-23712116
郵箱:contact@shuangyi-tech.com
地址:深圳市寶安區(qū)沙井街道后亭茅洲山工業(yè)園工業(yè)大廈全至科技創(chuàng)新園科創(chuàng)大廈2層2A
一:線掃激光算法原理
激光器發(fā)出的激光束經(jīng)準(zhǔn)直聚焦后垂直入射到物體表面上,表面的散射光由接收透鏡成像于探測(cè)器的陣列上。光敏面于接收透鏡的光軸垂直。如圖:
當(dāng)被測(cè)物體表面移動(dòng)x,反應(yīng)到光敏面上像點(diǎn)位移為x’。a為接收透鏡到物體的距離(物距),b為接收后主面到成像面中心的距離(一般取焦距f),θ為激光束光軸與接收透鏡之間的夾角。D為激光光束軸到透鏡中心的距離。接收透鏡的焦距為f,其余的參數(shù)如下圖:
在△ABC中,由正弦定理的:
將上式整理得:
在直角三角形△CDE (∠CDE=90°)中,
將其帶入到上式,得:(遠(yuǎn)離透鏡)。
上式為遠(yuǎn)離透鏡的公式,靠近基準(zhǔn)面的公式剛好相反:(靠近透鏡)。
二:參數(shù)計(jì)算和選取
通過(guò)上面的算法推導(dǎo),我們可以看出在整個(gè)公式中,我們需要得到的參數(shù)有兩個(gè),a(接收透鏡到物體的距離(物距))和θ(激光束光軸與接收透鏡之間的夾角)。
2.1參數(shù)的計(jì)算
(1)參數(shù)計(jì)算的原理
因?yàn)楣街杏袃蓚€(gè)未知的參數(shù)a和θ,那么想要求得這兩個(gè)未知參數(shù),我們可以通過(guò)得到兩組已知的(x,x’)來(lái)列出兩個(gè)二元一次方程組來(lái)求解。
假設(shè)兩組已知的參數(shù)為(X1,X1’)(X2,X2’),通過(guò)推導(dǎo)過(guò)程的公式如下(以靠近透鏡為例):
通過(guò)計(jì)算得出:
將求出的θ帶去上式可以得出a.
(2)參數(shù)計(jì)算結(jié)果
在計(jì)算參數(shù)的樣本選取中,為了盡可能的提高精度,我們?cè)诳拷鶞?zhǔn)面的樣本中選取的計(jì)算組合分別為(1mm,2mm),(1mm,3mm),(1mm,4mm),(1mm,5mm),(1mm,6mm),(1mm,7mm),(1mm,8mm),(1mm,9mm),(1mm,10mm),總共9組數(shù)據(jù)。那么我們?cè)谝淮尾蓸又锌梢缘贸? 組數(shù)據(jù)。
2.2參數(shù)的選取
在整個(gè)的實(shí)驗(yàn)過(guò)程中,后期計(jì)算參數(shù)a和θ時(shí),我們總共采樣了五次數(shù)據(jù),每次數(shù)據(jù)得到的9組參數(shù),通過(guò)45組數(shù)據(jù)來(lái)計(jì)算整個(gè)樣本的位移。觀察誤差值得大小,我們總共選取了三組參數(shù),綜合比對(duì)發(fā)現(xiàn)當(dāng)比值a/(f*sinθ)為31.5~31.7且a>200時(shí),計(jì)算出的誤差偏小且在測(cè)量的范圍內(nèi)保持一定趨勢(shì)。(這為我們后面的非線性擬合的誤差補(bǔ)償提供了基礎(chǔ))
三:相機(jī)的標(biāo)定
3.1單目相機(jī)標(biāo)定的目的
獲取攝像機(jī)的內(nèi)外參數(shù)矩陣,同時(shí)也會(huì)獲得每一幅標(biāo)定圖像的選擇和平移矩陣,內(nèi)參數(shù)矩陣和畸變向量可以對(duì)之后相機(jī)拍攝的圖像進(jìn)行矯正,得到畸變相對(duì)很小的圖像。
3.2相機(jī)標(biāo)定的輸入和輸出
相機(jī)標(biāo)定的輸入為22*22單位長(zhǎng)度為1mm/格的棋盤(pán)格圖像??偣?2張。
相機(jī)標(biāo)定的輸出為:內(nèi)參數(shù)矩陣(fx,fy,Cx, Cy)和畸變向量(k1,k2,p1,p2,p3)
ps(注意,這里有兩個(gè)不同的焦距fx,fy。因?yàn)閱蝹€(gè)像素點(diǎn)在低價(jià)成像儀上是矩形而不是正方形。實(shí)際上焦距fx=f*Sx. f為實(shí)際的物理焦距長(zhǎng)度,Sx為x方向的像元尺寸。同理fy=f*Sy)
3.3用到的工具
硬件:巴士勒相機(jī),攝像頭(f=25mm)、棋盤(pán)格標(biāo)定板
軟件:VS+OPENCV
3.4標(biāo)定的結(jié)果
四:樣本采集
樣本采集我們有兩種方式,第一種方式為用標(biāo)準(zhǔn)塊來(lái)采集。第二種方式是通過(guò)千分尺來(lái)采集。我們采用第二種方式進(jìn)行采集樣本。采集的過(guò)程為以整個(gè)圖像的中心為起點(diǎn)(作為基準(zhǔn)面),每隔0.1mm取一次圖像,取到圖像的邊界。通過(guò)上述取樣本,我們得出位移的取值范圍為-30.0mm到+30.0mm。
五:計(jì)算結(jié)果
通過(guò)上述的參數(shù)計(jì)算,相機(jī)標(biāo)定以及樣本采集之后,我們開(kāi)始計(jì)算結(jié)果,在選曲的三組參數(shù),來(lái)計(jì)算結(jié)果得到的誤差,在附件1中。
六:誤差補(bǔ)償
在得出誤差之后,我們發(fā)現(xiàn)誤差的變化是具有趨勢(shì)的。隨著位移的增大誤差是逐漸增大的。從計(jì)算結(jié)果偏小逐步到計(jì)算結(jié)果偏大。在這里我們?nèi)〉谜`差補(bǔ)償算法為基于最小二乘法的非線性擬合。擬合的方程如下:
Y=a0+a1x+a2x^2+a3x^3
方程中x代表的是像素位移,Y代表的是誤差。通過(guò)擬合之后的誤差方程和整個(gè)算法進(jìn)行融合及擬合后的求取誤差為
位移=原算法-誤差方程
最后通過(guò)誤差補(bǔ)償?shù)慕Y(jié)果得到的誤差,在附件2中。
七:實(shí)驗(yàn)中遇到的問(wèn)題
(1)算法上的改進(jìn)
第一:在位移算法上遇到的問(wèn)題剛開(kāi)始在推算的過(guò)程中,忽略了一個(gè)多項(xiàng)式導(dǎo)致后面在計(jì)算的過(guò)程中誤差偏大,后面采用了三角函數(shù)的算法,整個(gè)精度的提升很明顯。
第二:在參數(shù)計(jì)算的算法推導(dǎo)過(guò)程中,出現(xiàn)了一個(gè)錯(cuò)誤靠近基準(zhǔn)面和遠(yuǎn)離基準(zhǔn)面的算法是不一樣的。這里出現(xiàn)了一個(gè)推導(dǎo)錯(cuò)誤。后來(lái)重新推導(dǎo)之后改正了過(guò)來(lái)。
第三:在參數(shù)的選取上,剛開(kāi)始的理解是在參數(shù)計(jì)算之后參數(shù)如果越接近實(shí)際的a和θ,計(jì)算出來(lái)的結(jié)果越真實(shí)。后來(lái)經(jīng)過(guò)試驗(yàn)發(fā)現(xiàn)這樣的選取準(zhǔn)則是不正確的。而且不同組的樣本計(jì)算出的a和θ是不一樣的。最后通過(guò)分析得出,雖然計(jì)算出的a和θ是不一樣的,但是a/(f*sinθ)的比值幾乎是一致的。后面選取參數(shù)是選擇誤差小的。
第四:后面在觀察誤差的時(shí)候發(fā)現(xiàn)在0.1mm的位移時(shí),同一組參數(shù)不同樣本的計(jì)算結(jié)果都是一樣偏大的。在實(shí)際的測(cè)量過(guò)程中我們觀測(cè)到0.1mm的位移,通常對(duì)應(yīng)的是0.6左右個(gè)像素。通過(guò)觀察程序發(fā)現(xiàn)了把像素float型轉(zhuǎn)換成int型導(dǎo)致這個(gè)誤差結(jié)果。后面改過(guò)來(lái)之后,誤差明顯變小了。
(2)結(jié)構(gòu)上的改變
在中期的試驗(yàn)中,我們改進(jìn)鏡頭和相機(jī)的結(jié)構(gòu),來(lái)改善景深,但是后來(lái)我們通過(guò)試驗(yàn)發(fā)現(xiàn)原有的結(jié)構(gòu)景深也是足夠用的,所以后面的試驗(yàn)還是按照原來(lái)的結(jié)構(gòu)來(lái)。
(3)線激光的中心點(diǎn)提取原則
在整個(gè)計(jì)算過(guò)程中,每次計(jì)算位移的結(jié)果,我們要提取每行的線激光的中心坐標(biāo),剛開(kāi)始計(jì)算的算法為邊緣二分法,取中點(diǎn)坐標(biāo)。這種算法偏差較大。在后面通過(guò)閱讀文獻(xiàn),采用了灰度質(zhì)心算法。在后面的計(jì)算中,都是采用這個(gè)算法。在0.01mm的位移下,發(fā)現(xiàn)這個(gè)算法是有效的,檢測(cè)到像素的位移在0.07個(gè)像素左右。
八:總結(jié)
通過(guò)以上的一系列實(shí)驗(yàn),我們可以達(dá)到的誤差精度是0.01mm左右,現(xiàn)在取得的樣本在±10mm的范圍內(nèi)。但是整個(gè)容許的測(cè)量范圍是±30mm。接下來(lái)可以實(shí)驗(yàn)的內(nèi)容:
第一:可以以0.01mm為頻率采樣(這樣在補(bǔ)償后結(jié)果更精確)。
第二:樣本計(jì)算擴(kuò)大到整個(gè)測(cè)量范圍。
第三:采用千分尺采樣時(shí),人為讀書(shū)的誤差是無(wú)法避免的,后期測(cè)量的時(shí)候需進(jìn)行改進(jìn)。
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/wangjie36/article/details/104809465