范偉輝+黃秋東+張力方+解乃軍+侯軍明
摘要:文章研究了基于Sardauscan軟件的3D掃描儀。使用Sardauscan軟件,研究3D掃描儀通過(guò)對(duì)被測(cè)物體進(jìn)行非接觸多角度測(cè)量,得到被測(cè)物體的關(guān)鍵尺寸數(shù)據(jù),通過(guò)數(shù)據(jù)傳遞,被送至CAD/CAM軟件平臺(tái)上處理、調(diào)整、修補(bǔ),從而得到該物體軟件設(shè)計(jì)圖紙,之后就可以根據(jù)圖紙對(duì)該物體進(jìn)行再加工和制造。
關(guān)鍵詞:Sardauscan軟件;3D掃描儀;旋轉(zhuǎn)工作臺(tái);非接觸測(cè)量;CAD/CAM軟件平臺(tái) 文獻(xiàn)標(biāo)識(shí)碼:A
中圖分類號(hào):TP37 文章編號(hào):1009-2374(2016)33-0011-02 DOI:10.13535/j.cnki.11-4406/n.2016.33.006
1 概述
非接觸式掃描方法由于其高效性和廣泛的適應(yīng)性,得到了廣泛的研究,這種新型的掃描方法在一定程度上緩解了傳統(tǒng)掃描方法的問(wèn)題,已經(jīng)被廣泛應(yīng)用在逆向工程行業(yè)中。新型的掃描設(shè)備工作原理是通過(guò)物體表面的仿生作用收集準(zhǔn)確的坐標(biāo)數(shù)據(jù),比如一些光現(xiàn)象、聲現(xiàn)象等。最常見(jiàn)的是通過(guò)光學(xué)掃描,從而得到產(chǎn)品掃描點(diǎn)數(shù)據(jù)的方法。非接觸式掃描方式在采集數(shù)據(jù)時(shí),掃描頭通常不與被掃描物體產(chǎn)生接觸,從而不會(huì)對(duì)零件產(chǎn)生變形影響,常見(jiàn)的光學(xué)掃描方法的工作原理通常有結(jié)構(gòu)光測(cè)距法、激光三角法、激光干涉掃描法等。
2 整體方案設(shè)計(jì)
圖1掃描儀激光測(cè)距方案圖掃描儀激光測(cè)距原理是基于結(jié)構(gòu)光法,由高清的攝像頭、線狀激光發(fā)射器、旋轉(zhuǎn)平臺(tái)組成。下文闡述一種針對(duì)物體上點(diǎn)的計(jì)算方法,能夠有效提升3D掃描線光源的精確度。我們可以充分發(fā)揮激光的作用測(cè)量三角間距,除了這種方法以外還有兩種距離測(cè)量方法,即相位差測(cè)量法和時(shí)間差測(cè)量法。三種方法之間進(jìn)行比較可以發(fā)現(xiàn),三角測(cè)距法的成本較低,并且在合適的范圍內(nèi),這種方法的精準(zhǔn)度不輸于其他兩種方法。
圖1中展現(xiàn)了測(cè)量對(duì)象物體點(diǎn)P距離激光器距離x的方案圖。焦距和攝像頭成像板的一種抽象表達(dá),線光源的位置在半徑為z的圓弧上,標(biāo)有z的線段實(shí)際是一個(gè)固定攝像頭和旋轉(zhuǎn)平臺(tái)的中心距離。攝像頭成像平面與圓弧的切線平行,每一個(gè)線光源都在此弧線上且都與z所在線有一定的角度關(guān)系,從上到下分別是“-”到“+”。
以線光源0為例,要想準(zhǔn)確測(cè)量出物體與線光源之間的距離,第一,需要確保線光源照射到物體上面;第二,需要讓反射光成功在攝像頭上成像。如果距離大小不同,就會(huì)造成攝像頭上的成像光點(diǎn)上的x′值發(fā)生改變。在這一過(guò)程中主要可以用到下面參數(shù):-α線光源0與z所在線的夾角;-β線光源1與z所在線的夾角;α線光源2與z所在線的夾角;β線光源3與z所在線的夾角;z:攝像頭和旋轉(zhuǎn)平臺(tái)的中心距離;Z′:測(cè)量物體到攝像頭距離;b:接收光線與成像板的夾角;P:測(cè)量物體位置;P′:測(cè)量物體的成像位置;X:測(cè)量物體相對(duì)于參考點(diǎn)的距離;X′:測(cè)量物體在成像板的距離;f:攝像頭的焦距;O:旋轉(zhuǎn)平臺(tái)的中心。
如果這些參數(shù)在測(cè)距設(shè)備安裝后不再改變(固定)且數(shù)值已知,則物體距離激光器距離可由以下公式求得:
α角度在設(shè)計(jì)時(shí)可得出,z可以測(cè)出:
在上述測(cè)量過(guò)程中,只有一個(gè)不斷變化的數(shù)據(jù),即x′。實(shí)際上,這個(gè)數(shù)值是指測(cè)量對(duì)象上的激光光點(diǎn)在攝像頭上的成像與邊緣之間的距離。我們可以利用攝像頭來(lái)準(zhǔn)確計(jì)算出激光點(diǎn)的具體位置坐標(biāo)。通過(guò)上述的式子計(jì)算出二者之間的垂直距離,跟實(shí)際距離之間的誤差
較小。
數(shù)據(jù)采集原理:通過(guò)三維激光掃描系統(tǒng)落實(shí)各項(xiàng)掃描工作,掃描過(guò)程中需要在第一時(shí)間收集水平方向上和垂直方向上的數(shù)據(jù),然后計(jì)算得出激光光束的具體發(fā)射角度。激光光束是通過(guò)專門(mén)的激光發(fā)射儀器得來(lái)的,當(dāng)光束與快速旋轉(zhuǎn)的光學(xué)裝置相遇時(shí),光束就會(huì)自動(dòng)改變角度,然后以一個(gè)全新的角度完成發(fā)射,光束到達(dá)測(cè)量對(duì)象的表面上時(shí)被反射回來(lái),反射回來(lái)的信息由專門(mén)的接受裝置完成接受。這樣就完成了一項(xiàng)完整的掃描工作,完成掃描點(diǎn)的測(cè)量工作之后,我們需要讓其內(nèi)部的伺服部件以兩個(gè)軸之中的任何一個(gè)進(jìn)行小范圍的轉(zhuǎn)動(dòng),為下一個(gè)掃描點(diǎn)的測(cè)量做準(zhǔn)備。以此類推,隨著掃描工作的繼續(xù)進(jìn)行會(huì)出現(xiàn)許多個(gè)不同的掃描點(diǎn),這些點(diǎn)之間就形成了一條斷斷續(xù)續(xù)的線,許多不同的掃描線之間就形成了科學(xué)的掃描面,最后再增加一些測(cè)量到的距離數(shù)據(jù)就形成了一幅三維立體掃描圖像。
數(shù)據(jù)擬合原理:通過(guò)選擇多個(gè)控制點(diǎn)的測(cè)量,得到三維旋轉(zhuǎn)激光掃描系統(tǒng)掃描中的三維笛卡爾坐標(biāo),這樣就能獲取較為立體、準(zhǔn)確的三維信息,為了更好地合并不同的掃描塊,我們需要在各自不同的掃描塊之間進(jìn)行合理的交接區(qū)域覆蓋操作,經(jīng)過(guò)覆蓋后的區(qū)域需要利用最近點(diǎn)迭代算法,然后把所有的點(diǎn)云進(jìn)行科學(xué)的拼接。在所有的數(shù)據(jù)收集過(guò)程中,可以運(yùn)用激光傳感器進(jìn)行物體的掃描,然后得到準(zhǔn)確的測(cè)量數(shù)據(jù),專業(yè)的角度傳感器收集到準(zhǔn)確的角度信息之后,利用串口儲(chǔ)存與處理PC機(jī)數(shù)據(jù)。
3 技術(shù)路線設(shè)計(jì)
根據(jù)本項(xiàng)目團(tuán)隊(duì)的研究方向和特點(diǎn),制定出下面的技術(shù)路線:(1)將樣件放置于旋轉(zhuǎn)工作臺(tái)上;(2)工作臺(tái)旋轉(zhuǎn)同時(shí)光學(xué)測(cè)頭進(jìn)行點(diǎn)云數(shù)據(jù)采集;(3)將采集數(shù)據(jù)傳輸?shù)綌?shù)據(jù)處理軟件;(4)以處理后的數(shù)據(jù)為基礎(chǔ)進(jìn)行三維建模;(5)將模型與樣件進(jìn)行比對(duì)并保存。
4 電氣原理圖設(shè)計(jì)
通過(guò)USB把a(bǔ)rduino nano控制板與PC上位機(jī)通信,控制步進(jìn)電機(jī)的旋轉(zhuǎn),帶USB接口的攝像頭對(duì)數(shù)據(jù)的采集、線狀激光器一次對(duì)一條線而非單點(diǎn)的目標(biāo)物體進(jìn)行掃描測(cè)距。步進(jìn)電機(jī)帶動(dòng)轉(zhuǎn)盤(pán)旋轉(zhuǎn),從而可以實(shí)現(xiàn)3D掃描,獲得物體的結(jié)構(gòu)信息。
5 軟件安裝與調(diào)試
5.1 Sardauscan軟件
本軟件是一種低成本開(kāi)源3D激光掃描系統(tǒng)軟件(Sardauscan),該系統(tǒng)基于結(jié)構(gòu)光法原理,由高清的攝像頭、線狀激光發(fā)射器、標(biāo)定板搭建而成。系統(tǒng)分為背景設(shè)置、相機(jī)標(biāo)定及數(shù)據(jù)采集等部分。實(shí)驗(yàn)結(jié)果表明,此系統(tǒng)能夠完成對(duì)物體的三維掃描過(guò)程,具有成本低、性價(jià)比高的優(yōu)點(diǎn)。
5.2 Arduino IDE軟件
Arduino IDE是Arduino的開(kāi)放源代碼的集成開(kāi)發(fā)環(huán)境,它的界面簡(jiǎn)單明了,操作比較方便,這些都推動(dòng)了Arduino的程序開(kāi)發(fā)。作為一款開(kāi)放源代碼的軟件,Arduino IDE也是由Java、Processing、avr-gcc等開(kāi)放源碼的軟件寫(xiě)成,其另一個(gè)最大特點(diǎn)是跨平臺(tái)的兼容性,適用于Windows、Max OS X以及Linux。
5.3 調(diào)試
5.3.1 打開(kāi)軟件操作面板。
5.3.2 攝像頭調(diào)試。連接并選擇攝像頭USB串口以及像素選擇,測(cè)量出轉(zhuǎn)盤(pán)中心到攝像頭的高度距離,轉(zhuǎn)盤(pán)中心到攝像頭的水平距離,每個(gè)激光器相對(duì)于攝像頭的角度。
5.3.3 電機(jī)調(diào)試及線光源調(diào)試。連接線路,連接并選擇USB串口,調(diào)試電機(jī)是否轉(zhuǎn)動(dòng),使用速度測(cè)試儀對(duì)轉(zhuǎn)盤(pán)進(jìn)行測(cè)試。
調(diào)節(jié)線光源的激光線的直徑,檢查線光源是否運(yùn)行正常,調(diào)整每個(gè)線光源相對(duì)于電機(jī)旋轉(zhuǎn)中心的位置。
5.3.4 調(diào)試過(guò)程中的錯(cuò)誤及解決方法。
第一,編譯失敗。解決方法:(1)檢查語(yǔ)法是否錯(cuò)誤;(2)檢查相關(guān)庫(kù)文件是否完全。
經(jīng)排查缺少庫(kù)文件庫(kù)文件下載網(wǎng)址https://github.com/adafruit/AccelStepper,下載庫(kù)文件.(zip),在arduino項(xiàng)目中找到加載庫(kù)添加.zip,重新驗(yàn)證上傳。
第二,電機(jī)串口連接沒(méi)有顯示。解決方法:軟件與串口連接反應(yīng)慢,等待幾分鐘即可。
5.3.5 掃描步驟。(1)將樣件放置于旋轉(zhuǎn)工作臺(tái)上,注意物件的中心與轉(zhuǎn)盤(pán)的中心重合;(2)打開(kāi)軟件操作面板;(3)點(diǎn)擊掃描平臺(tái)圖標(biāo),完成串口設(shè)置;(4)點(diǎn)擊攝像頭圖標(biāo),完成對(duì)軟件串口的設(shè)置;(5)完成各項(xiàng)調(diào)試,快速掃描物體形成圖像,調(diào)整對(duì)其每個(gè)激光器掃描出的圖像;(6)點(diǎn)擊掃描圖標(biāo),獲得參數(shù)并保存文件。
5.3.6 文件后處理。(1)將采集數(shù)據(jù)傳輸?shù)絞eomagic軟件中進(jìn)行數(shù)據(jù)預(yù)處理;(2)將geomagic處理后的數(shù)據(jù)導(dǎo)入U(xiǎn)G進(jìn)行參數(shù)化設(shè)計(jì),導(dǎo)出轉(zhuǎn)換格式進(jìn)行加工;(3)將模型與樣件進(jìn)行比對(duì)并保存。
6 結(jié)語(yǔ)
本文的設(shè)計(jì)理念是我們所有工作人員的努力成果,經(jīng)過(guò)導(dǎo)師的認(rèn)真引導(dǎo)成功完成了實(shí)物模型?;诖?,我們還認(rèn)真驗(yàn)證了自己的設(shè)計(jì)方案,制作出一套成品以及完成上位機(jī)軟件的編寫(xiě)。本設(shè)計(jì)體現(xiàn)出了團(tuán)隊(duì)的重要性,同時(shí)體現(xiàn)了學(xué)生的創(chuàng)新能力,團(tuán)隊(duì)的所有成員都得到了一次鍛煉。
參考文獻(xiàn)
[1] 吳俁.三維旋轉(zhuǎn)激光掃描系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].首都師 范大學(xué),2009.
[2] 楊必勝.數(shù)字城市的三維建模與可視化技術(shù)研究[D]. 武漢大學(xué),2002.
[3] 蔡嶺.基于立體視覺(jué)的目標(biāo)檢測(cè)與跟蹤[D].上海交通 大學(xué),2011.
作者簡(jiǎn)介:范偉輝(1995-),江蘇鹽城人,南京工程學(xué)院學(xué)生,研究方向:機(jī)械設(shè)計(jì)制造及自動(dòng)化。
(責(zé)任編輯:黃銀芳)