陳 鑌,黃曉權(quán)
(武夷學(xué)院 機(jī)電工程學(xué)院,福建 武夷山 354300)
?
基于飛思卡爾MK60的激光掃描測(cè)距儀設(shè)計(jì)與實(shí)現(xiàn)
陳 鑌,黃曉權(quán)
(武夷學(xué)院 機(jī)電工程學(xué)院,福建 武夷山 354300)
激光掃描測(cè)距儀以飛思卡爾MK60DN512ZVLQ10微控制器為處理及控制的核心單元,通過(guò)CMOS圖像傳感器對(duì)線狀激光在物體上形成截面反射進(jìn)行實(shí)時(shí)捕捉采集圖像,利用DMA快速儲(chǔ)存方式存儲(chǔ)圖像,并對(duì)圖像進(jìn)行分析處理獲得激光的坐標(biāo),再結(jié)合舵機(jī)旋轉(zhuǎn)掃描獲得多列數(shù)據(jù),最終將數(shù)據(jù)轉(zhuǎn)化為各點(diǎn)的三維坐標(biāo),由此獲得掃描物體或場(chǎng)景的三維點(diǎn)云數(shù)據(jù)并實(shí)現(xiàn)三維模型重建。該設(shè)計(jì)方案可靠,成本低廉,同時(shí)擁有良好的測(cè)量精度。
激光掃描;CMOS圖像傳感器;飛思卡爾MK60;點(diǎn)云數(shù)據(jù);3D模型重建
但3D激光掃描研究更多地被應(yīng)用于大型工程精確測(cè)量中,實(shí)際用于家庭及個(gè)人的民用低成本研究相對(duì)較少,并且成熟的設(shè)計(jì)方案也不多。因此研究低成本并具有良好性能的激光掃描測(cè)距儀有十分重要的現(xiàn)實(shí)意義和市場(chǎng)價(jià)值。
本設(shè)計(jì)基于飛思卡爾公司Kinetis系列的MK60DN512ZVLQ10(K60)ARM Cortex-M4內(nèi)核架構(gòu)的微處理器,其外圍功能豐富,最高主頻可達(dá)100 MHz,具有強(qiáng)大的數(shù)據(jù)處理能力和豐富的功能外設(shè),具備了所需的PWM、DMA、IIC等功能模塊,并且擁有FlexBus存儲(chǔ)接口,支持外部SRAM的擴(kuò)展[2]。具體的系統(tǒng)結(jié)構(gòu)圖如圖1所示。
圖1 激光掃描儀系統(tǒng)結(jié)構(gòu)圖
激光掃描系統(tǒng)不僅需要控制舵機(jī)完成圖像序列掃描,而且需要實(shí)時(shí)采集大量的圖像數(shù)據(jù),并對(duì)這些圖像數(shù)據(jù)進(jìn)行分析處理生成精確的點(diǎn)云數(shù)據(jù)。所以系統(tǒng)對(duì)ARM的控制要求較高,它不僅要負(fù)責(zé)傳感器的控制和數(shù)據(jù)傳輸,還需外擴(kuò)SRAM用于圖像存儲(chǔ),同時(shí)為了提高數(shù)據(jù)傳輸速率還需配置DMA通道,完成采集和執(zhí)行數(shù)據(jù)處理算法,計(jì)算出點(diǎn)云數(shù)據(jù)再通過(guò)UART輸出到計(jì)算機(jī)。該系統(tǒng)結(jié)構(gòu)能夠充分利用控制器的內(nèi)部資源,提高運(yùn)行效率。同時(shí)也讓掃描變得更靈活,控制器可以不依賴(lài)計(jì)算機(jī)單獨(dú)運(yùn)行,最后的數(shù)據(jù)輸出可以通過(guò)藍(lán)牙無(wú)線傳送。
2.1 OV7670圖像傳感器的采集
型號(hào)為OV7670的圖像傳感器是市面上較為常見(jiàn)并且價(jià)格較低的一款可編程傳感器,很適合運(yùn)用于嵌入式的底層設(shè)計(jì)。為了便于調(diào)試觀察可將圖像傳感器配置為輸出固定QVGA的八色的色條測(cè)試圖案。圖像傳感器默認(rèn)的圖案數(shù)據(jù)輸出格式為YUV的YUYV(4 ∶2 ∶2)。為了便于數(shù)據(jù)觀察,將U值和V值的輸出配置成固定值,在上位機(jī)只顯示Y值即灰度值,效果如圖2。
圖2 八色顏色條灰度顯示
測(cè)試圖案的采集涉及到的寄存器配置相對(duì)較少,而拍攝圖像的采集要涉及到上百個(gè)寄存器的配置,其中關(guān)鍵的配置在于時(shí)鐘,時(shí)鐘的配置直接影響到圖像采集是否成功。這涉及到微處理器地址0X11內(nèi)部時(shí)鐘的選擇和0X6B內(nèi)部PLL控制這兩個(gè)關(guān)鍵寄存器的配置。對(duì)0X11使用內(nèi)部時(shí)鐘并二分頻,0X6B中PLL配置為輸入時(shí)鐘×4,即可正常使用OV7670采集圖像數(shù)據(jù),通過(guò)OV7670采集得到的部分灰度圖像如圖3所示。
圖3 OV7670拍攝得到部分灰度圖像
2.2 SRAM的擴(kuò)展和圖像的完整采集與存儲(chǔ)
無(wú)論是從胎兒到成人,從生食到高湯,還是從促進(jìn)消化到潛在地降低鹽、糖攝入所引發(fā)的慢性病……鮮味一直陪伴在你我左右,無(wú)需恐鮮拒鮮。
圖4 完整的QVGA八色顏色條灰度顯示
對(duì)于圖像傳感器采集的大量數(shù)據(jù),一般的微控制器自帶的SRAM根本不夠存儲(chǔ),由計(jì)算可得一幀YUV格式的QVGA至少要占用150 KB的容量,而微控制器自帶的SRAM只有128 KB,不能完整地存儲(chǔ)一幀YUV格式的QVGA圖像。所以圖像的存儲(chǔ)便涉及到SRAM的擴(kuò)展。SRAM的擴(kuò)展可以通過(guò)外部存儲(chǔ)和設(shè)備控制總線接口FlexBus實(shí)現(xiàn)。分配的外部SRAM分別進(jìn)行全范圍的8位、16位和32位的寫(xiě)入讀出操作,通過(guò)判斷數(shù)據(jù)的正確與否來(lái)驗(yàn)證外部SRAM是否正確驅(qū)動(dòng)。對(duì)QVGA圖像的完整采集和存儲(chǔ)就要結(jié)合圖像傳感器的采集和外部SRAM的存儲(chǔ)。實(shí)現(xiàn)兩者之間的連接可以直接將DMA的目標(biāo)地址指向外部SRAM的基地址,從而完整地存儲(chǔ)圖像傳感器采集的數(shù)據(jù),在實(shí)現(xiàn)QVGA八色顏色條的采集和存儲(chǔ)基礎(chǔ)上,對(duì)拍攝圖像同樣進(jìn)行采集和存儲(chǔ),如下圖4、5所示。
圖5 完整的QVGA拍攝圖像
要獲得點(diǎn)云數(shù)據(jù)就需要先進(jìn)行圖像分析,識(shí)別出激光光斑的像素坐標(biāo)并處理輸出,再根據(jù)原理分析公式與實(shí)際校正數(shù)據(jù)擬合的曲線公式計(jì)算獲得實(shí)際距離,并由幾何計(jì)算獲得整列激光各點(diǎn)的實(shí)際距離值,同時(shí)結(jié)合舵機(jī)進(jìn)行轉(zhuǎn)角掃描獲得多列距離數(shù)據(jù),最后由距離數(shù)據(jù)再經(jīng)三維坐標(biāo)的轉(zhuǎn)換獲得點(diǎn)云數(shù)據(jù)。之后,將點(diǎn)云數(shù)據(jù)傳輸?shù)接?jì)算機(jī)并導(dǎo)入第三方模型編輯軟件,實(shí)現(xiàn)3D模型的重建。
3.1 圖像分析和處理
圖像采集和輸出中一直只用Y值即灰度值,所以圖像分析也用Y值進(jìn)行分析。Y值的范圍為0X00~0XFF,0X00為黑色,0XFF為白色,激光光斑的值是每行中最高的,因?yàn)榧す夤獍邔?shí)質(zhì)是反射的光源,而激光正是定向發(fā)光且亮度極高的光源,另外由于圖像傳感器加裝了紅外慮光片,很好地削弱了可見(jiàn)光,保留了紅外激光。但激光光斑并不是僅占一個(gè)像素點(diǎn),所以應(yīng)該以激光光斑像素點(diǎn)中的最高值代表激光光斑中心的位置[3]。圖像分析算法可以逐行求出Y的最高值以確定激光光斑中心的位置,再輸出轉(zhuǎn)換計(jì)算后的坐標(biāo)值。如下圖6所示。
圖6 激光光斑的原始圖像和處理圖像對(duì)比
3.2 曲線擬合
公式中運(yùn)用的參數(shù)在實(shí)際中并不能準(zhǔn)確地由測(cè)量獲得,所以這些參數(shù)應(yīng)以實(shí)際的校正為準(zhǔn)。本設(shè)計(jì)結(jié)合攝像頭的參數(shù),采用指數(shù)函數(shù)曲線進(jìn)行擬合[4]。從擬合結(jié)果中可以看出,擬合公式和采集的數(shù)據(jù)吻合度還是非常高的,如下圖7所示,曲線擬合的公式將可以實(shí)現(xiàn)縱列中點(diǎn)的單點(diǎn)測(cè)距,公式如下:
q=445.5e0.007302px+0.03357e0.05835px
圖7 曲線擬合結(jié)果
3.3 整列激光各點(diǎn)實(shí)際距離的計(jì)算
在求得了單點(diǎn)激光距離的基礎(chǔ)上,再擴(kuò)展到整列激光各點(diǎn)的實(shí)際距離計(jì)算,同時(shí)在求出垂線距離d’后,需再經(jīng)過(guò)幾何計(jì)算轉(zhuǎn)化為實(shí)際的距離D,如圖8所示,進(jìn)行距離計(jì)算分析[5]。
圖8 3D測(cè)距的原理
3.4 整列激光各點(diǎn)實(shí)際距離的計(jì)算
點(diǎn)云數(shù)據(jù)是掃描物體外表面各點(diǎn)三維坐標(biāo)的集合,點(diǎn)云數(shù)據(jù)的計(jì)算實(shí)質(zhì)就是對(duì)各點(diǎn)激光的實(shí)際距離經(jīng)幾何計(jì)算轉(zhuǎn)換為三維坐標(biāo)的過(guò)程[5]。三維坐標(biāo)求解公式如下:
pZ=real_distance×sin(-pitch_angle)
本設(shè)計(jì)中3D模型的重建直接采用第三方模型編輯軟件Meshlab,需要將點(diǎn)云數(shù)據(jù)從系統(tǒng)傳輸至計(jì)算機(jī)并保存成軟件能夠查看的文件格式如:.txt、.ply或.xyz文件。
最終得到的3D重建效果如圖9、10所示。
圖9 掃描的真實(shí)環(huán)境圖像
經(jīng)過(guò)實(shí)驗(yàn)測(cè)試,基于飛思卡爾K60激光掃描測(cè)距儀在0~3 m范圍內(nèi)的掃描精度為0.045 m,并且整個(gè)系統(tǒng)可靠,價(jià)格低廉。該設(shè)計(jì)使用
圖10 3D掃描重建的正視效果
便攜掃描的方案,讓3D掃描儀能方便地運(yùn)用于不同場(chǎng)合,如家用小場(chǎng)景小模型的三維掃描、機(jī)器人的智能導(dǎo)航、室內(nèi)復(fù)雜場(chǎng)景三維建模等。同時(shí)自主研究了一套圖像傳感器底層嵌入式驅(qū)動(dòng)的方法,具有廣泛的應(yīng)用價(jià)值。
[1] 湛金輝.基于激光和CCD的三維重建關(guān)鍵技術(shù)研究[D].南昌:南昌航空大學(xué),2008.
[2] 飛思卡爾技術(shù)部.ARM Cortex-M4高性能MCU:Kinetis K系列[EB/OL].(2015-12-07)http://www.freescale.com/zh-Hans/webapp/sps/site/taxonomy.jsp?code=KINETIS_K_SERIES&cof=0&am=0.
[3] 向勁松,吳金勇,李曉雙,等.高幀頻激光光斑采集系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(1):13-15,19.
[4] 王剛,張超.電渦流傳感器及其最佳特性曲線擬合方程式[J].石油化工自動(dòng)化,2005(3):26-28.
[5] 劉江,汪濤,唐清清,等.激光三角法厚度測(cè)量?jī)x的設(shè)計(jì)與研究[J].微型機(jī)與應(yīng)用,2014,33(10):16-19.
Design and implementation of laser scanning rangefinder based on the Freescale MK60
Chen Bin,Huang Xiaoquan
(School of Mechatronic Engineering, Wuyi University, Wuyishan 354300, China)
Laser scanning rangefinder uses Freescale MK60DN512ZVLQ10 microcontroller as the core unit of processing, the linear laser by CMOS image sensor in real-time capture cross section is formed on the object reflection to collect images. It use DMA fast storage memory to store image, and analyzes the image processing to obtain the coordinates of the laser, coupled with the steering gear rotating scanning multicolumn data obtained. It eventually converts data into three-dimensional coordinates of each point at scanning the object or scene three-dimensional point cloud data, and realizes the 3D model reconstruction. The design is reliable, low cost, and has good measuring precision.
laser scanning; CMOS image sensor; Freescale MK60; point cloud data; 3D model reconstruction
TP39
A
1674-7720(2016)07-0038-03
陳鑌,黃曉權(quán). 基于飛思卡爾MK60的激光掃描測(cè)距儀設(shè)計(jì)與實(shí)現(xiàn)[J].微型機(jī)與應(yīng)用,2016,35(7):38-40.
2015-12-10)
陳鑌(1984-),男,碩士研究生,助教,主要研究方向:嵌入式系統(tǒng)、數(shù)字圖像處理。
黃曉權(quán)(1990-),男,本科,助教,主要研究方向:嵌入式系統(tǒng)。