本發(fā)明屬于人機交互技術(shù)領(lǐng)域,特別是涉及一種基于激光相位測距的unity3d建模系統(tǒng)及建模方法。
背景技術(shù):
unity3d是由unitytechnologies開發(fā)的一款3d跨平臺游戲引擎。由于unity3d易上手、原型快速、中間件豐富等特性,使得開發(fā)人員可專注于程序app的設(shè)計而忽略底層的技術(shù)實現(xiàn),從而實現(xiàn)快速在多平臺上進(jìn)行開發(fā)。
unity3d開發(fā)引擎的主要的特色有:
圖形動力:內(nèi)部封裝了directx和opengl圖形渲染庫,并附帶一些常用的渲染組件及著色器腳本。
物理仿真:unity3d不但整合了nvidiaphysx物理引擎,并在其基礎(chǔ)上封裝了游戲中常會用到的物理組件,如碰撞體、連接體等。
跨平臺:可發(fā)布游戲至windows、mac、ios、android、xbox、wii或ps3平臺,也可以利用unitywebplayer或者flash插件發(fā)布網(wǎng)頁游戲。
資源商城:開發(fā)人員可在資源商城中購買其他人開發(fā)的資源(代碼、模型等),進(jìn)行復(fù)用。
性能分析器:引擎中自帶一個profiler分析器,開發(fā)人員可在編輯器或者設(shè)備連線進(jìn)行性能分析cpu和gpu不同階段的效率。
在現(xiàn)有常采用的物體測量建模過程是通過測量裝置進(jìn)行物體各個參數(shù)的測量并記錄,然后通過pc建模軟件根據(jù)記錄的數(shù)據(jù)進(jìn)行建模,該建模過程耗時較長,效率低下。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于針對現(xiàn)有的3d建模的缺陷,提供一種能夠精確測量,并同時快速建模的基于激光相位測距的unity3d建模系統(tǒng)及建模方法。
本發(fā)明為實現(xiàn)上述目的,采用如下技術(shù)方案:
一種基于激光相位測距的unity3d建模系統(tǒng),其特征在于:該系統(tǒng)包括激光相位測距模塊和移動終端;所述移動終端安裝有基于unity3d開發(fā)的快速空間建模軟件;所述激光相位測距模塊用于測量待測物體的三維長度參數(shù),并將測量得到的三維長度參數(shù)賦予對應(yīng)的移動終端快速空間建模軟件建立的三維模型。
其進(jìn)一步特征在于:所述激光相位測距模塊和移動終端通過usb接口連接或無線連接。
進(jìn)一步的:所述激光相位測距模塊包括激光相位測距單元、激光二極管延時軟啟動電路、mcu、usb通訊接口或無線通訊接口、ldo線性穩(wěn)壓電路、串口與swd調(diào)試接口電路;
所述激光相位測距單元用于根據(jù)mcu的指令進(jìn)行激光相位測距,并將測量參數(shù)傳輸給mcu;
所述激光二極管延時軟啟動電路用于對激光相位測距單元的激光二極管延時提供一個穩(wěn)定的啟動電流;
所述ldo線性穩(wěn)壓電路用于將外接電源電壓轉(zhuǎn)換電壓后為所述mcu供電;
所述串口與swd調(diào)試接口電路與所述mcu相連接,用于激光相位測距模塊以串口或swd模式進(jìn)行外接調(diào)試;
所述usb通訊接口或無線通訊接口用于所述激光相位測距模塊與移動終端進(jìn)行數(shù)據(jù)交換;
所述mcu用于控制所述激光相位測距單元進(jìn)行測距,并將測距數(shù)據(jù)通過usb通訊接口傳輸給所述移動終端。
根據(jù)權(quán)利要求3所述的基于激光相位測距的unity3d建模系統(tǒng),其特征在于:所述mcu為stm32f103芯片;所述激光二極管延時軟啟動電路采用rc延遲電路;所述ldo線性穩(wěn)壓電路采用reg1117低壓差線性穩(wěn)壓電源模塊,輸入5v,輸出3.3v。
所述激光相位測距模塊由移動終端進(jìn)行供電。
一種基于上述基于激光相位測距的unity3d建模系統(tǒng)的建模方法,其特征在于包括下述步驟:
(1)移動終端激光相位測距模塊相連接,所述移動終端為激光相位測距模塊供電;
(2)打開移動終端中的基于unity3d開發(fā)的快速空間建模軟件,建立立方體模塊;
(3)選中立方體模塊中待檢測邊沿;
(4)將移動終端放置到檢測位置,移動終端向激光相位測距模塊發(fā)送測距指令;
(5)激光相位測距模塊中的mcu接收測距指令,控制激光相位測距單元對待測物體與立方體模塊選中邊沿對應(yīng)的邊進(jìn)行測距;
(6)激光相位測距單元的測量參數(shù)通過mcu發(fā)送給移動終端,移動終端根據(jù)測量參數(shù)改變選中邊沿的邊長;
(7)判斷是否測量完本立方體全部參數(shù),是轉(zhuǎn)至步驟(8);否轉(zhuǎn)至步驟(3);
(8)完成立方體建模;
(9)判斷完成建模的立方體與待測物體形狀是否相適應(yīng),是轉(zhuǎn)至步驟(10),否轉(zhuǎn)至步驟(2);
(10)完成待測物體的建模。
另一種基于上述基于激光相位測距的unity3d建模系統(tǒng)的建模方法,所述移動終端具有陀螺儀,其特征在于包括下述步驟:
(a)移動終端與激光相位測距模塊相連接;
(b)打開移動終端中的基于unity3d開發(fā)的快速空間建模軟件,建模軟件獲取移動設(shè)備的姿態(tài)數(shù)據(jù);
(c)移動終端向激光相位測距模塊發(fā)送測距指令,激光相位測距模塊測量移動終端當(dāng)前姿態(tài)時與墻壁的距離;
(d)移動終端記錄并保存當(dāng)前手機姿態(tài)數(shù)據(jù)和距離參數(shù);
(e)判斷是否獲得足夠多的建模數(shù)據(jù),是轉(zhuǎn)至步驟(f),否轉(zhuǎn)至步驟(c);
(f)移動終端匯總空間坐標(biāo)數(shù)據(jù),并進(jìn)行三維擬合計算;
(g)建立并輸出當(dāng)前空間的三維模型。
本發(fā)明將激光相位測距模塊和安裝有建模軟件的移動終端相結(jié)合,由建模軟件控制測距模塊進(jìn)行待測物體參數(shù)的測量,并實時地將測量參數(shù)賦予移動終端中預(yù)設(shè)的模型。從而實現(xiàn)快速、精確的物體測量和建模。
附圖說明
圖1為本發(fā)明架構(gòu)示意圖。
圖2為激光相位測距模塊原理框圖。
圖3為激光二極管延時軟啟動電路原理圖。
圖4為usb通訊接口原理圖。
圖5為ldo線性穩(wěn)壓電路原理圖。
圖6為串口與swd調(diào)試接口電路原理圖。
圖7為一種建模方法流程圖。
圖8為另一種建模方法流程圖。
具體實施方式
如圖1所示一種基于激光相位測距的unity3d建模系統(tǒng),包括激光相位測距模塊和移動終端。移動終端安裝有基于unity3d開發(fā)的快速空間建模軟件。激光相位測距模塊用于測量待測物體的三維長度參數(shù),并將測量得到的三維長度參數(shù)賦予對應(yīng)的移動終端快速空間建模軟件建立的三維模型。激光相位測距模塊和移動終端通過usb接口連接,并由移動終端供電。
如圖2所示,激光相位測距模塊包括激光相位測距單元、激光二極管延時軟啟動電路、mcu、usb通訊接口、ldo線性穩(wěn)壓電路、串口與swd調(diào)試接口電路。
激光相位測距單元采用現(xiàn)有的市售激光相位測距儀。
激光二極管延時軟啟動電路如圖3所示。激光相位測距單元的激光二極管往往在上電或者斷電的瞬間而損壞,這是因為在開關(guān)閉合和開啟的瞬間會產(chǎn)生很大的浪涌電流,半導(dǎo)體激光器可能被該電流擊穿而損壞。因此系統(tǒng)中設(shè)計了軟啟動電路。
該電路的工作原理是:圖中輸入端接上經(jīng)過穩(wěn)壓后的直流電壓,右邊是輸入級的輸出端,為半導(dǎo)體激光器的功率穩(wěn)定輸出提供工作電壓,q4、q5、r40、c35和c36做作用是使電壓緩慢上升,系統(tǒng)上電后,向c35和c36充電,直到電容兩端電壓達(dá)到一定值才使q4和q5導(dǎo)通。整個電路的結(jié)構(gòu)可以看作是在發(fā)射級輸出上添加了兩個型濾波網(wǎng)絡(luò),分別由l4、c32、c33和l5、c29、c30組成,目的是為了防止電流的突然變化。軟啟動輸入電壓+5v在上電的瞬間產(chǎn)生了大量的高頻成分,經(jīng)過兩個型濾波網(wǎng)絡(luò)濾除了較多高頻分量,直流及低頻分量則可順利地通過,起到了穩(wěn)定電流的作用。到達(dá)由電阻r和c組成的時間延遲網(wǎng)絡(luò),電容c36與電解電容c35并聯(lián)是為了減少電解電容對高頻分量的電感效應(yīng)。
mcu采用stm32f103芯片。
usb通訊接口電路如圖4所示,stm32f103的usb接口在pa11于pa12上,所以在設(shè)計電路時單獨引出此接口,并將其差分線進(jìn)行等長布線。從而進(jìn)一步保證usb連接的可靠性。
ldo線性穩(wěn)壓電路如圖5所示,本系統(tǒng)中mcu使用3.3v供電,所以需要增加穩(wěn)壓電源模塊將上位機輸出的5v電壓降低至3.3v。本系統(tǒng)使用低壓差線性穩(wěn)壓電源模塊reg1117來進(jìn)行線性穩(wěn)壓。
串口與swd調(diào)試接口電路如圖6所示,本系統(tǒng)通信需要使用串口與激光相位測距單元通訊,所以將系統(tǒng)pa9與pa10與gnd單獨引出,使其能更好的與激光相位測距單元相連接。
一種基于上述基于激光相位測距的unity3d建模系統(tǒng)的建模方法,如圖7所示,包括下述步驟:
(1)移動終端通過usb接口與激光相位測距模塊相連接,所述移動終端為激光相位測距模塊供電;
(2)打開移動終端中的基于unity3d開發(fā)的快速空間建模軟件,建立立方體模塊;
(3)選中立方體模塊中待檢測邊沿;
(4)將移動終端放置到檢測位置,移動終端向激光相位測距模塊發(fā)送測距指令;
(5)激光相位測距模塊中的mcu接收測距指令,控制激光相位測距單元對待測物體與立方體模塊選中邊沿對應(yīng)的變進(jìn)行測距;
(6)激光相位測距單元的測量參數(shù)通過mcu發(fā)送給移動終端,移動終端根據(jù)測量參數(shù)改變選中邊沿的邊長;
(7)判斷是否測量完本立方體全部參數(shù),是轉(zhuǎn)至步驟(8);否轉(zhuǎn)至步驟(3);
(8)完成立方體建模;
(9)判斷完成建模的立方體與待測物體形狀是否相適應(yīng),是轉(zhuǎn)至步驟(10),否轉(zhuǎn)至步驟(2);
(10)完成待測物體的建模。
另一種基于上述基于激光相位測距的unity3d建模系統(tǒng)的建模方法,移動終端具有陀螺儀,如圖8所示包括下述步驟:
(a)移動終端與激光相位測距模塊相連接;
(b)打開移動終端中的基于unity3d開發(fā)的快速空間建模軟件,建模軟件獲取移動設(shè)備的姿態(tài)數(shù)據(jù);
(c)移動終端向激光相位測距模塊發(fā)送測距指令,激光相位測距模塊測量移動終端當(dāng)前姿態(tài)時與墻壁的距離;
(d)移動終端記錄并保存當(dāng)前手機姿態(tài)數(shù)據(jù)和距離參數(shù);
(e)判斷是否獲得足夠多的建模數(shù)據(jù),是轉(zhuǎn)至步驟(f),否轉(zhuǎn)至步驟(c);
(f)移動終端匯總空間坐標(biāo)數(shù)據(jù),并進(jìn)行三維擬合計算;
建立并輸出當(dāng)前空間的三維模型。
本發(fā)明系統(tǒng)和建模方法具有以下優(yōu)勢:
1、可實現(xiàn)跨平臺
跨平臺特性是unity3d最大的特點之一,它是跨平臺的專業(yè)開發(fā)引擎,基于激光相位測距的建模系統(tǒng)研究開發(fā)生成的文件可適用多種平臺,如ios、android、web、windows等,通過開發(fā)者所編寫的平臺識別代碼可在不同平臺進(jìn)行自動編譯,并能在不同文件路徑下進(jìn)行自動識別。同時,基于激光相位測距的unity3d建模系統(tǒng)可發(fā)布到手機的主流安卓平臺上。
2、快速建模
通過本方案,可以快速的進(jìn)行大型空間3d模型的建立。