王 雷,康與云
空間三維輸入裝置的系統(tǒng)開發(fā)研究
*王 雷1,2,3,康與云4
(1.省部共建現(xiàn)代顯示技術(shù)國家重點實驗室(培育基地),安徽,蕪湖 241002;2.特種顯示技術(shù)國家工程實驗室,安徽,蕪湖 241002;3.安徽工程大學(xué)機械與汽車工程學(xué)院,安徽,蕪湖 241000;4.臨沂大學(xué)機械工程學(xué)院,山東,臨沂 276005)
本文提出了一種新型空間三維輸入裝置,給出了三維輸入設(shè)備控制系統(tǒng)整體架構(gòu),在分析其工作原理的基礎(chǔ)上,基于VC++OpenGL技術(shù)對實現(xiàn)三維輸入設(shè)備的軟件系統(tǒng)開發(fā),進(jìn)行三維輸入的動態(tài)演示。實驗結(jié)果表明所開發(fā)的三維輸入裝置具有極高的穩(wěn)定性和模擬效果的真實性,這對于立體顯示技術(shù)的發(fā)展及其在仿真中的應(yīng)用具有較大的意義。
空間三維輸入裝置;軟件設(shè)計;STM32處理器;OpenGL
立體顯示技術(shù)是顯示技術(shù)發(fā)展的一個重要發(fā)展方向,隨著各種立體顯示技術(shù)的逐漸成熟,立體顯示的方式正日益得到更多人的理解和認(rèn)同。顯示信息的三維化,帶來輸入設(shè)備亦要提供三維數(shù)據(jù)信息,三維人機交互技術(shù)正在創(chuàng)造自己的時代。只能輸入二維參數(shù)的鼠標(biāo)作為重要的輸入手段,已經(jīng)難以適應(yīng)三維顯示的需求,因此研究具有三維參數(shù)輸入的新型輸入設(shè)備和輸入手段成為支撐立體顯示技術(shù)發(fā)展的一個重要部分。所以國內(nèi)外學(xué)者對空間三維輸入也展開了研究,文獻(xiàn)[1]對三維環(huán)境下的不同輸入裝置進(jìn)行了對比研究;文獻(xiàn)[2]對在虛擬環(huán)境下的6自由度的三維輸入搖桿裝置進(jìn)行研究;文獻(xiàn)[3]對手持式的二維輸入和三維輸入裝置進(jìn)行了一定深度的研究;彭剛等人[4]對遙操作機器人系統(tǒng)中自由度輸入設(shè)備的設(shè)計進(jìn)行研究;朱景偉等人[5]介紹了空間三維坐標(biāo)動態(tài)輸入裝置的測量原理及系統(tǒng)結(jié)構(gòu)圖,詳細(xì)討論了超聲波發(fā)射、接收、比較整形電路和單片機接口電路的原理和特點;徐彤等人[6]對用于虛擬現(xiàn)實的直流式六自由度電磁跟蹤系統(tǒng)進(jìn)行了研究和開發(fā);董光波等人[7]在VC++-Vega-Creator一體化建模仿真開發(fā)環(huán)境中,基于3D 輸入設(shè)備實現(xiàn)了虛擬場景中三維模型對象和視點的 6自由度精確控制,提供了應(yīng)用三維輸入設(shè)備控制虛擬場景的一種方法;文獻(xiàn)[8]研究了應(yīng)用二維鼠標(biāo)和三維輸入設(shè)備拾取三維對象模型、移動對象模型和在虛擬場景中漫游的方法,提出了一種用二維鼠標(biāo)拾取三維模型的方法;趙升等人[9]對基于光電傳感器ADNS-2030無線鼠標(biāo)的設(shè)計與實現(xiàn)進(jìn)行了研究??偟膩碚f,對空間三維輸入的研究還不夠深入,國外相對起步較早,仍需進(jìn)一步的研究?;诖耍疚难芯靠臻g三維參數(shù)的輸入方式,不僅能夠?qū)崿F(xiàn)平面信息輸入,而且能在深度方面輸入第三維度的信息,也就是說能夠控制鼠標(biāo)指針不僅能夠在上下左右方向移動,而且能夠進(jìn)行前后移動,為計算機能夠呈現(xiàn)三維提供技術(shù)支撐。
本文所設(shè)計的三維輸入的控制系統(tǒng)整體方案如圖1所示。3D_Controller控制板電路主要完成的功能如下:首先采集三路A/D轉(zhuǎn)換電壓值V_X、V_Y、V_Z,它們分別代表X、Y、Z三個方向的位移量,這三個模擬量經(jīng)STM32微控制器進(jìn)行D/A轉(zhuǎn)換后,結(jié)果通過藍(lán)牙或者RS232串口將數(shù)據(jù)傳輸?shù)絇C機,PC機上的軟件采用VC++ OpenGL編寫的三維輸入演示界面,進(jìn)行設(shè)備相關(guān)參數(shù)的直接顯示。
圖1 三維輸入設(shè)備控制系統(tǒng)整體架構(gòu)
硬件設(shè)計包括STM32最小系統(tǒng)晶振電路外接8MHZ、藍(lán)牙數(shù)據(jù)傳輸電路、電源電路等,具體的電路圖見圖2~圖4。
圖2 晶振電路
圖3 系統(tǒng)電源電路
圖4 藍(lán)牙模塊接口
軟件設(shè)計主要包括以下兩個模塊:基于STM32的控制器數(shù)據(jù)采集及通訊程序設(shè)計和基于VC++平臺的OpenGL三維圖形演示系統(tǒng)程序設(shè)計。以上兩個程序模塊,一個運行于STM32控制器(即底層三維輸入硬件設(shè)備)上,一個運行于PC機VC++環(huán)境下;兩者之間的數(shù)據(jù)傳遞采用無線藍(lán)牙模塊,并加入了一些自定義的通信協(xié)議以便保證數(shù)據(jù)通訊的正確性。
圖5 基于STM32的控制器數(shù)據(jù)采集及通訊程序設(shè)計
F.g.5 Data acquisition based on STM32 controller and design of communication procedure
3.2.1 基于STM32的控制器數(shù)據(jù)采集及通訊程序設(shè)計
該模塊程序嵌入了COSII實時操作系統(tǒng)以及CGUI圖形界面系統(tǒng),程序主要分成三個任務(wù)模塊,一個任務(wù)模塊控制LCD液晶顯示操作界面實現(xiàn)人機對話;第二個任務(wù)用于四線電阻式觸摸屏的觸摸輸入掃描;第三個任務(wù)用于實時監(jiān)測(每隔50ms)三個坐標(biāo)軸方向的平移(V_X、V_Y 、V_Z)和旋轉(zhuǎn)(R_X、R_Y)數(shù)據(jù)采集,并按照既定的通信協(xié)議通過無線藍(lán)牙模塊傳輸?shù)絇C機,以供程序的三維動態(tài)演示。其主要流程如圖5所示。
3.2.2 基于VC++平臺的OpenGL三維圖形演示系統(tǒng)程序設(shè)計
三維圖形演示系統(tǒng)基于Visual C++平臺,采用串行通信控件,完成底層設(shè)備的數(shù)據(jù)接收;采用OpenGL完成上層程序的三維鼠標(biāo)動態(tài)追蹤。程序首先初始化OpenGL運行環(huán)境,然后通過串口控件實時中斷接收底層設(shè)備傳回來的數(shù)據(jù),在界面中實時動態(tài)演示三維對象的三維平移、旋轉(zhuǎn)操作?;赩C++平臺的OpenGL三維圖形演示系統(tǒng)程序設(shè)計流程以及上位機演示界面分別如圖6和圖7所示。在圖7中,通過兩維搖桿來控制X及Y方向的位移;通過直滑電位器來控制Z方向的位移。在上位機上可實時顯示X、Y及Z方向的坐標(biāo)值。通過手指在觸摸屏上任何方向的滑動方可實現(xiàn)三維方向旋轉(zhuǎn)運動,從而實現(xiàn)空間三維的輸入。經(jīng)過多次實驗結(jié)果表明:本文所開發(fā)的空間三維輸入系統(tǒng)具有裝置簡單、運行直觀、穩(wěn)定性強等特點。
圖6 基于VC++平臺的OpenGL三維圖形演示系統(tǒng)程序設(shè)計
圖7 上位機演示界面及實驗
本文首先給出了三維輸入設(shè)備控制系統(tǒng)整體架構(gòu),對實現(xiàn)三維輸入功能的硬件電路部分進(jìn)行了設(shè)計,重點研究了基于VC++的OpenGL編程技術(shù)對空間三位輸入裝置的系統(tǒng)開發(fā),進(jìn)行三維設(shè)備相關(guān)參數(shù)的直接和動態(tài)顯示,以驗證三維輸入的效果。實驗結(jié)果表明本文所開發(fā)的三維輸入裝置具有極高的穩(wěn)定性和模擬效果的真實性,這對于立體顯示技術(shù)的發(fā)展及其在仿真中的應(yīng)用具有較大的意義。
[1] Dang N T, Tavanti M, Rankin I, et al. A comparison of different input devices for a 3D environment [J]. International Journal of Industrial Ergonomics, 2009, 39(3):554-563.
[2] Bowman D A, North C, Chen J, et al. Information-rich virtual environments: theory, tools and research agenda [C]. Proceedings of the ACM Symposium on Virtual Reality Software and Technology, 2003:81-90.
[3] Baumgartner S, Ebert A, Deller M, et al. Dimensional congruence for interactive visual data mining and knowledge discovery [C]. Proceedings of Eurographics Symposium on Visualization, 2007: 99-106.
[4] 彭剛,黃心漢, 熊春山,等.遙操作機器人系統(tǒng)中六自由度輸入設(shè)備的設(shè)計[J].電子技術(shù)應(yīng)用,2000(10):11-14.
[5] 朱景偉,樊印海.間三維坐標(biāo)動態(tài)輸入裝置的研究[J].儀器儀表學(xué)報,2001,22(4):404-405.
[6] 徐彤,王涌天,閻達(dá)遠(yuǎn).用于虛擬現(xiàn)實的六自由度電磁跟蹤系統(tǒng)[J].北京理工大學(xué)學(xué)報,2000(1):544-549.
[7] 董光波,張錫恩,徐亞卿,等.基于三維輸入設(shè)備的虛擬場景控制方法[J].計算機工程,2004,30(9):189-191.
[8] 馬立元,楊孝平.一種虛擬場景控制方法的研究與實現(xiàn)[J].計算機應(yīng)用研究,2004(6):237-239.
[9] 趙升,陳慶來,解瑞杰.基于光電傳感器ADNS-2030無線鼠標(biāo)的設(shè)計與實現(xiàn)[J].國外電子測量技術(shù),2006, 25(9):59-62.
RESEARCH ON SYSTEM DEVELOPMENT OF INPUT EQUIPMENT FOR 3D SPACE
*WANG Lei1,2,3, KANG Yu-yun4
(1. Province of State Key Laboratory for Modern Display Technology Construction (Cultivation Base), Wuhu, Anhui 241002, China;2. State Engineering Laboratory of Special Display Technology, Wuhu, Anhui 241002, China;3. School of Mechanical and Automotive Engineering, Anhui Polytechnic University, Wuhu, Anhui 241000, China;4. College of mechanical engineering, Linyi University, Linyi, Shandong 276005 , China)
A new input device for three-dimensional space is proposed and the overall architecture of the control system of three-dimensional input device is given. On the basis of analyzing its working principle, the software system of three-dimensional graphics presentation system is developed based on VC++ and OpenGL to demonstrate the dynamic effect of the three-dimensional input. The experimental results show that our 3D input device has higher stability and truth of simulation result and it has greater significance for the three-dimensional display technology and its application in simulation.
3D space input equipment; software design; STM32 processor; OpenGL
TP39
A
10.3969/j.issn.1674-8085.2013.04.015
1674-8085(2013)04-0070-04
2012-05-27;
2012-12-18
*王 雷(1982-),男,安徽亳州人,講師,博士,主要從事先進(jìn)制造系統(tǒng)研究(E-mail:wangdalei2000@126.com);
康與云(1978-),男,山東萊蕪人,講師,博士,主要從事數(shù)字化設(shè)計與制造技術(shù)研究(E-mail:kyygood@163.com).