熱線電話(hua):0755-23712116
郵箱:contact@legoupos.cn
地址:深圳市寶安區沙井街道后亭茅洲山工業園工業大(da)廈全至科技創新園科創大(da)廈2層2A
一:線掃激(ji)光算(suan)法(fa)原理(li)
激光(guang)器發出的(de)激光(guang)束經準直(zhi)聚焦后垂直(zhi)入(ru)射到物體表(biao)面上,表(biao)面的(de)散(san)射光(guang)由接(jie)收透鏡成像于(yu)探測器的(de)陣(zhen)列上。光(guang)敏(min)面于(yu)接(jie)收透鏡的(de)光(guang)軸垂直(zhi)。如圖:
當被測物體(ti)表面移動x,反應(ying)到光敏面上像(xiang)點(dian)位移為(wei)x’。a為(wei)接(jie)收透(tou)鏡(jing)(jing)到物體(ti)的(de)(de)距離(物距),b為(wei)接(jie)收后主面到成像(xiang)面中心的(de)(de)距離(一般取焦(jiao)距f),θ為(wei)激光束光軸與接(jie)收透(tou)鏡(jing)(jing)之間的(de)(de)夾角。D為(wei)激光光束軸到透(tou)鏡(jing)(jing)中心的(de)(de)距離。接(jie)收透(tou)鏡(jing)(jing)的(de)(de)焦(jiao)距為(wei)f,其(qi)余的(de)(de)參數如下圖:
在△ABC中,由正弦定理的(de):
將上式整理得:
在直角(jiao)三角(jiao)形△CDE (∠CDE=90°)中,
將其帶入到上式,得:
(遠離透鏡)。
上式為遠離透鏡的公式,靠近基準面的公式剛好相反:(靠近透鏡)。
二:參數計算和選取
通過上面的(de)算法推(tui)導,我們可以(yi)看出在整(zheng)個(ge)公(gong)式中(zhong),我們需要(yao)得到(dao)的(de)參(can)數有兩個(ge),a(接收透鏡(jing)到(dao)物(wu)體的(de)距離(物(wu)距))和θ(激光(guang)束(shu)光(guang)軸與接收透鏡(jing)之間的(de)夾角)。
2.1參數的計算
(1)參數計算的原理
因為(wei)公(gong)式中有(you)兩(liang)個(ge)未知的參數a和θ,那么(me)想要求得這兩(liang)個(ge)未知參數,我們(men)可以通(tong)過得到兩(liang)組(zu)已知的(x,x’)來列出兩(liang)個(ge)二元一次方程組(zu)來求解(jie)。
假設兩組已知的參數(shu)為(wei)(X1,X1’)(X2,X2’),通過推導過程的公式如下(xia)(以靠近透鏡為(wei)例(li)):
通過計算得出:
將求(qiu)出(chu)的θ帶(dai)去上(shang)式可(ke)以得出(chu)a.
(2)參數計算結果
在計算參數(shu)(shu)的樣(yang)本選(xuan)取(qu)中(zhong)(zhong)(zhong),為了盡可能的提高精度(du),我(wo)們(men)在靠近基準面的樣(yang)本中(zhong)(zhong)(zhong)選(xuan)取(qu)的計算組合分別為(1mm,2mm),(1mm,3mm),(1mm,4mm),(1mm,5mm),(1mm,6mm),(1mm,7mm),(1mm,8mm),(1mm,9mm),(1mm,10mm),總共9組數(shu)(shu)據。那么我(wo)們(men)在一次采樣(yang)中(zhong)(zhong)(zhong)可以得出9 組數(shu)(shu)據。
2.2參數的選取
在整個的實驗(yan)過(guo)程中,后期計(ji)算參數(shu)(shu)a和θ時,我們總(zong)共(gong)采樣(yang)(yang)了五(wu)次(ci)(ci)數(shu)(shu)據(ju),每次(ci)(ci)數(shu)(shu)據(ju)得(de)到的9組(zu)參數(shu)(shu),通過(guo)45組(zu)數(shu)(shu)據(ju)來計(ji)算整個樣(yang)(yang)本的位移。觀(guan)察誤差(cha)值得(de)大小(xiao)(xiao),我們總(zong)共(gong)選取了三組(zu)參數(shu)(shu),綜合比對發現當比值a/(f*sinθ)為(wei)31.5~31.7且a>200時,計(ji)算出的誤差(cha)偏小(xiao)(xiao)且在測量的范圍內(nei)保持一定趨(qu)勢(shi)。(這為(wei)我們后面(mian)的非線(xian)性擬合的誤差(cha)補(bu)償提(ti)供(gong)了基(ji)礎(chu))
三:相機的標定
3.1單目相(xiang)機標定的目的
獲取(qu)攝像(xiang)機(ji)的(de)內(nei)外(wai)參數(shu)矩(ju)陣(zhen),同時(shi)也會(hui)獲得(de)每一幅(fu)標(biao)定圖像(xiang)的(de)選擇(ze)和平移矩(ju)陣(zhen),內(nei)參數(shu)矩(ju)陣(zhen)和畸(ji)變(bian)向量(liang)可以對(dui)之后相機(ji)拍攝的(de)圖像(xiang)進行矯正,得(de)到畸(ji)變(bian)相對(dui)很(hen)小的(de)圖像(xiang)。
3.2相機(ji)標定的(de)輸(shu)入和輸(shu)出(chu)
相機標定的(de)輸入為(wei)22*22單位(wei)長度為(wei)1mm/格的(de)棋盤格圖像(xiang)。總共12張。
相(xiang)機(ji)標定的輸出為:內參數矩陣(fx,fy,Cx, Cy)和(he)畸變向量(k1,k2,p1,p2,p3)
ps(注意,這里有兩個(ge)不(bu)同(tong)的(de)焦距(ju)(ju)fx,fy。因(yin)為(wei)單個(ge)像(xiang)(xiang)素點在低(di)價成像(xiang)(xiang)儀(yi)上(shang)是矩形(xing)而不(bu)是正方形(xing)。實(shi)際上(shang)焦距(ju)(ju)fx=f*Sx. f為(wei)實(shi)際的(de)物(wu)理焦距(ju)(ju)長(chang)度(du),Sx為(wei)x方向的(de)像(xiang)(xiang)元尺寸。同(tong)理fy=f*Sy)
3.3用到的工具
硬件:巴士勒相機,攝像(xiang)頭(f=25mm)、棋盤格(ge)標定板
軟件(jian):VS+OPENCV
3.4標定的結果
四:樣本采集
樣本(ben)采(cai)(cai)(cai)集(ji)我(wo)們(men)有兩種(zhong)方式(shi),第(di)一(yi)種(zhong)方式(shi)為(wei)用(yong)標準塊來(lai)采(cai)(cai)(cai)集(ji)。第(di)二種(zhong)方式(shi)是通過(guo)(guo)千分尺來(lai)采(cai)(cai)(cai)集(ji)。我(wo)們(men)采(cai)(cai)(cai)用(yong)第(di)二種(zhong)方式(shi)進行(xing)采(cai)(cai)(cai)集(ji)樣本(ben)。采(cai)(cai)(cai)集(ji)的過(guo)(guo)程為(wei)以整個圖(tu)像的中心為(wei)起(qi)點(作為(wei)基準面),每隔0.1mm取一(yi)次(ci)圖(tu)像,取到(dao)圖(tu)像的邊界。通過(guo)(guo)上述取樣本(ben),我(wo)們(men)得(de)出位移(yi)的取值范圍為(wei)-30.0mm到(dao)+30.0mm。
五:計算結果
通過上述的(de)(de)(de)參數計算,相機標定以(yi)及樣本(ben)采集之后,我們開始計算結果,在選曲(qu)的(de)(de)(de)三組參數,來計算結果得到的(de)(de)(de)誤(wu)差,在附件1中。
六:誤差補償
在(zai)得出誤(wu)(wu)差(cha)之后(hou),我(wo)們(men)發現誤(wu)(wu)差(cha)的(de)(de)(de)變化(hua)是具有(you)趨勢的(de)(de)(de)。隨(sui)著位移的(de)(de)(de)增(zeng)大誤(wu)(wu)差(cha)是逐漸(jian)增(zeng)大的(de)(de)(de)。從計算(suan)(suan)結(jie)果(guo)偏(pian)小(xiao)逐步到計算(suan)(suan)結(jie)果(guo)偏(pian)大。在(zai)這里我(wo)們(men)取得誤(wu)(wu)差(cha)補償算(suan)(suan)法(fa)為基(ji)于最小(xiao)二乘法(fa)的(de)(de)(de)非(fei)線性擬合(he)。擬合(he)的(de)(de)(de)方程(cheng)如下(xia):
Y=a0+a1x+a2x^2+a3x^3
方(fang)(fang)程中x代表(biao)的(de)是(shi)(shi)像素位移,Y代表(biao)的(de)是(shi)(shi)誤差(cha)。通(tong)過擬合(he)之后的(de)誤差(cha)方(fang)(fang)程和整個算法(fa)進行融合(he)及擬合(he)后的(de)求取誤差(cha)為
位移=原算(suan)法-誤差方程
最后通過(guo)誤(wu)差(cha)補償的(de)結(jie)果得到的(de)誤(wu)差(cha),在(zai)附件2中。
七:實驗中遇(yu)到的問題
(1)算法上的改進
第一(yi):在位移算法(fa)上遇到的(de)(de)(de)(de)問題(ti)剛開(kai)始在推(tui)算的(de)(de)(de)(de)過程(cheng)中(zhong),忽略(lve)了一(yi)個(ge)多項式(shi)導致后面(mian)在計算的(de)(de)(de)(de)過程(cheng)中(zhong)誤差偏大,后面(mian)采用了三角函數的(de)(de)(de)(de)算法(fa),整個(ge)精度的(de)(de)(de)(de)提升很明(ming)顯。
第二:在參數計算(suan)的算(suan)法(fa)(fa)推(tui)導過程中(zhong),出現(xian)(xian)了(le)一(yi)(yi)個(ge)錯(cuo)誤靠近基準面(mian)和遠離基準面(mian)的算(suan)法(fa)(fa)是不一(yi)(yi)樣的。這里出現(xian)(xian)了(le)一(yi)(yi)個(ge)推(tui)導錯(cuo)誤。后來(lai)重新推(tui)導之后改正了(le)過來(lai)。
第三:在(zai)參數的(de)(de)(de)選(xuan)取上,剛開(kai)始的(de)(de)(de)理解是(shi)在(zai)參數計(ji)算(suan)之后(hou)(hou)參數如果(guo)越接近實(shi)際的(de)(de)(de)a和θ,計(ji)算(suan)出(chu)來的(de)(de)(de)結(jie)果(guo)越真(zhen)實(shi)。后(hou)(hou)來經過試(shi)驗(yan)發現這樣(yang)的(de)(de)(de)選(xuan)取準則(ze)是(shi)不正確的(de)(de)(de)。而(er)且不同組的(de)(de)(de)樣(yang)本計(ji)算(suan)出(chu)的(de)(de)(de)a和θ是(shi)不一樣(yang)的(de)(de)(de)。最后(hou)(hou)通過分析得出(chu),雖然(ran)計(ji)算(suan)出(chu)的(de)(de)(de)a和θ是(shi)不一樣(yang)的(de)(de)(de),但是(shi)a/(f*sinθ)的(de)(de)(de)比值幾乎是(shi)一致的(de)(de)(de)。后(hou)(hou)面選(xuan)取參數是(shi)選(xuan)擇誤差小的(de)(de)(de)。
第四:后(hou)面在觀察(cha)誤差的(de)時(shi)候發(fa)現在0.1mm的(de)位移(yi)時(shi),同一組參(can)數(shu)不同樣本的(de)計算結果都是(shi)一樣偏(pian)大的(de)。在實際的(de)測(ce)量過(guo)程中(zhong)我(wo)們觀測(ce)到0.1mm的(de)位移(yi),通常對(dui)應的(de)是(shi)0.6左右(you)個像素(su)。通過(guo)觀察(cha)程序發(fa)現了把像素(su)float型轉換成(cheng)int型導致這個誤差結果。后(hou)面改過(guo)來(lai)之后(hou),誤差明顯變(bian)小了。
(2)結構上的改變
在中(zhong)期(qi)的試(shi)(shi)驗(yan)(yan)中(zhong),我們(men)改(gai)(gai)進鏡頭和(he)相機的結(jie)構,來(lai)改(gai)(gai)善(shan)景深,但是后來(lai)我們(men)通(tong)過(guo)試(shi)(shi)驗(yan)(yan)發現原有的結(jie)構景深也是足(zu)夠(gou)用(yong)的,所(suo)以(yi)后面(mian)的試(shi)(shi)驗(yan)(yan)還是按照原來(lai)的結(jie)構來(lai)。
(3)線(xian)激光的中(zhong)心點提取原(yuan)則
在整(zheng)個(ge)計(ji)算(suan)(suan)過(guo)程中,每(mei)次計(ji)算(suan)(suan)位(wei)移的(de)(de)結果,我們要提(ti)取(qu)每(mei)行的(de)(de)線激(ji)光的(de)(de)中心(xin)坐標(biao),剛開始(shi)計(ji)算(suan)(suan)的(de)(de)算(suan)(suan)法(fa)(fa)為邊(bian)緣二(er)分(fen)法(fa)(fa),取(qu)中點(dian)坐標(biao)。這種(zhong)算(suan)(suan)法(fa)(fa)偏差較大。在后(hou)(hou)面(mian)通過(guo)閱(yue)讀文獻,采(cai)用了灰度質心(xin)算(suan)(suan)法(fa)(fa)。在后(hou)(hou)面(mian)的(de)(de)計(ji)算(suan)(suan)中,都是采(cai)用這個(ge)算(suan)(suan)法(fa)(fa)。在0.01mm的(de)(de)位(wei)移下,發現(xian)這個(ge)算(suan)(suan)法(fa)(fa)是有效的(de)(de),檢測到(dao)像(xiang)素的(de)(de)位(wei)移在0.07個(ge)像(xiang)素左右。
八:總結
通(tong)過以上的(de)一系(xi)列實驗(yan)(yan),我們可以達(da)到的(de)誤差(cha)精度(du)是(shi)(shi)0.01mm左右(you),現(xian)在取得的(de)樣(yang)本在±10mm的(de)范(fan)圍內。但是(shi)(shi)整個容許的(de)測量范(fan)圍是(shi)(shi)±30mm。接下來可以實驗(yan)(yan)的(de)內容:
第一:可以以0.01mm為頻率采樣(這(zhe)樣在(zai)補償后結果(guo)更精確)。
第二:樣本計(ji)算擴(kuo)大到整個測量范圍。
第三:采用(yong)千分尺采樣時,人為(wei)讀(du)書(shu)的(de)誤差是無(wu)法避免(mian)的(de),后期測(ce)量的(de)時候需進行改進。
版(ban)權(quan)聲明:本文(wen)(wen)為(wei)博主原創文(wen)(wen)章(zhang),遵循 CC 4.0 BY-SA版權(quan)協議,轉載請附上(shang)原(yuan)文(wen)出處(chu)鏈(lian)接和(he)本聲(sheng)明(ming)。本文(wen)鏈接://blog.csdn.net/wangjie36/article/details/104809465