• 沒有找到結果。

4.3.1 紅外線感應陣列裝置

Sharp GP2D120 Distance Measuring Sensor 感應器為 Sharp 公司所生產之紅外線近距離 感應裝置,Sharp GP2D120 距離感應器常用作為設計機器人行走時測量距離或防止碰撞 的感應裝置,售價約為 10 美元,價格低廉,有效偵測距離約為 4 ~ 30 cm。Sharp GP2D120 距離感應器為本研究之主要感應裝置,最大可輸出 +7V 之電壓,但實際輸出電壓約為 +0.4V ~ +3.1V 之間,當感測物件距離約為 4 ~ 30 cm 時電壓約呈現+0.4V ~ +3.1V 的反比 曲線,但如果距離不足 4 cm 時電壓會急速下滑 (圖 4-5),最大功能限制如表 4-1。

圖 4-5 Sharp GP2D120 Distance Measuring Sensor 類比輸出電壓與反射物件距離的關係 (摘自 http://www.

Sharp.com)

Using hand movement system to operate 3D design objects in virtual environment

36

表 4-1 Sharp GP2D120 Distance Measuring Sensor 功能限制表

(Ta=25∘C, Vcc =5V) Parameter Symbol Rating Unit

Supply voltage Vcc -0.3 to +7 V Output terminal voltage Vo -0.3 to Vcc +0.3 V Operating temperature T

opr

-10 to +60 ∘C Storage temperature T

stg

-40 to +70 ∘C

本系統之紅外線感應陣列裝置主要由三組 Sharp GP2D120 Distance Measuring Sensor 感應器所組成,分別負責偵測手掌的三個控制點 A、B、C,Sharp GP2D120 Distance Measuring Sensor 感應器有三個電位腳,由左至右分別是白線─訊號輸出 (Out) 、黑線

─接地 (Gnd) 以及紅線─電源輸入(Vcc)。因此,先將電源線及接地線接在萬用電路板 上,再將一端訊號線接在萬用電路板另一端接到 iRX 電路板,再經由 iRX 電路板連接 到 RS 232 以接連到電腦中。(圖 4-6)

圖 4-6 手部動態輸入裝置系統

4.3.2 系統連接裝置

由於 Sharp GP2D12 Distance Measuring Sensor 所產生之訊號為 +0.4V ~ +3.1V 的類

Using hand movement system to operate 3D design objects in virtual environment

37

比式電壓訊號,必須藉由其他的輸入介面與電腦連結,因此本研究採用了較易操作的 RS232 連接控制器為輸入介面,並先將三組 Sharp GP2D12 Distance Measuring Sensor 所 測得的電壓訊號經由 iRX 控制面板整合為數位訊號再傳輸至電腦,以進行編碼作業。

iRX 電路板

iRX 電路板是由美國麻省理工學院媒體實驗室 (MIT Media Lab) 的個人資訊建築 小組(Personal Information Architecture) 所創造的一個簡單的 RS 232 數位連接裝置,iRX 電路板將一些物理性的過程或動作,以一個對應的數字方式表示。它由可見的 LED 、 紅外線 LED 和一個紅外線檢波器所組成。在電路板的核心是由 Microchip Technologies, Inc.公司所製造的 PIC16F84A 或是 PIC 系列可程式化微處理器負責運算。iRX 電路板的 總成本約在 20 美金以下。(圖 4-7)

iRX 電路板可將 GP2D120 IR Distance Sensor 距離感應器所輸出之電壓訊號,以 RS232 作為平行輸出介面透過 DB-9 傳輸線輸出至 PC 中,使 PC 端可接收電壓訊號以轉 換成本裝置所需之數位訊號,但 iRX 電路板本身並無編碼功能,因此必須使用 PIC16F88 可程式化微處理器來作為運算核心。

圖 4-7 iRX 電路板

PIC16F88 可程式化微處理器

本研究採用可將電壓訊號轉為數值輸出的 PIC16F88 可程式化微處理器,PIC16F88 可程式化微處理器由 13 個一般 I/O 連接埠,指令週期時間 200 奈秒以及高效能的 RISC (精簡指令及運算) 指令組,PIC16F88 可程式化微處理器可經由 MPLAB 程式作為編寫 程式,使用者可以使用 C 語言來編寫所需要的指令與動作。iRX 電路板本身會使用到 5 個 I/O 連接埠,剩餘的 8 個連接埠可以為使用者應用 (表 4-2) ,故本研究可同時使用

Using hand movement system to operate 3D design objects in virtual environment

38

RA0、RA1、RA2 三個 I/O 連接埠。 Distance Measuring Sensor 感應器所發出的訊號, 然而,由於 Sharp GP2D120 Distance Measuring Sensor 感應器所發出的訊號是 +0.4V ~ +3.1V 的電壓訊號,無法直接由電腦 判讀利用,必須經由 MPLAB 編輯器編寫至 PIC16F88 可程式化微處理器中 (附錄) 再由 iRX 輸入至電腦中,因此同時將三組 Sharp GP2D120 Distance Measuring Sensor 感應器所 的電壓訊號轉換為 5 ~ 35 的數值,得到一系列的字串 ”a, b, c “ (圖 4-8),將此一系列字 串作為系統輸入的座標系統,其編輯後可將電壓輸出整理為一連續性字串,以方便後續 的編碼動作。

Using hand movement system to operate 3D design objects in virtual environment

39

圖 4-8 經由 MPLAB 編輯器整理輸出電壓為可辨識的字串

4.3.4 3D 設計模型控制

經由 PIC16F88 可程式化微處理器所編擊出的訊號碼,即可套入 Director 8.5 軟體中 作 3D 設計模型輸出,首先在 3ds max 軟體中製作一個 3D 設計物件,並將之存成*.W3D 格式以作為輸入 Director 8.5 軟體的操作格式。

其次,在 Director 8.5 軟體將*.W3D 檔案輸入以後,利用 Director 8.5 軟體中的 3D 旋 轉功能並用 Lingo 程式語言編輯 PIC16F88 可程式化微處理器中輸出的數字訊號碼編為對 應 x、y、z 軸向的程式碼,並將 x 軸設定為旋轉正負 60 度、y 軸設定為旋轉正負 60 度、

z 軸設定為上下位移。(圖 4-9)

最後將設定好的程式碼輸出成 test.exe 檔案,接上手部動態輸入系統開啟連接埠,

並開始依 x、y、z 軸向開始測試訊號。(圖 4-10)

Using hand movement system to operate 3D design objects in virtual environment

40

圖 4-9 利用 Director 8.5 將數字訊號碼編為對應 x、y、z 軸向的程式碼

圖 4-10 利用手部動態輸入系統開啟連接埠,並開始依 x、y、z 軸向開始測試訊號

Using hand movement system to operate 3D design objects in virtual environment

41

4.3.5 系統設定與測試

member("test").model("Box01").translate(2,0,0) "d":--往 x 移動-2 個單位

member("test ").model("Box01").translate(-2,0,0) "x":--往 y 移動 2 個單位

member("test ").model("Box01").translate(0,2,0) "w":--往 y 移動-2 個單位

member("test ").model("Box01").translate(0-,2,0) "q":--往 z 移動 2 個單位

member("test ").model("Box01").translate(0,0,2) "e":--往 z 移動-2 個單位

member("test ").model("Box01").translate(0,0,-2)

"a":--往 x 旋轉 2 度

member("test").model("Box01").rotate(2,0,0) "d":--往 x 旋轉-2 度

member("test ").model("Box01").rotate(-2,0,0) "x":--往 y 旋轉 2 度

member("test ").model("Box01").rotate(0,2,0) "w":--往 y 旋轉-2 度

member("test ").model("Box01").rotate(0-,2,0) "q":--往 z 旋轉 2 度

member("test ").model("Box01").rotate(0,0,2) "e":--往 z 旋轉-2 度

member("test ").model("Box01").rotate(0,0,-2)

當手部動態輸入系統完成測試一的位移動態測,測試者即開始作測試二的旋轉測 試,測試者將利用手部動態旋轉 Director 8.5 軟體所設計出虛擬環境中的 3D 設計物件,

旋轉方式為對空間座標中的 x 軸、y 軸、z 軸作單一軸向 3 個方向度的旋轉動作,虛擬 環境中的 3D 設計物件亦會隨者測試者的手部擺動而產生相對的旋轉動作。(圖 4-12)

圖 4-11 利用手部動態將虛擬環境中的 3D 設計物件作前、後、左、右、上、下六個方向 3 個方向度的位移 動作

Using hand movement system to operate 3D design objects in virtual environment

43

圖 4-12 利用手部動態將虛擬環境中的 3D 設計物件以空間座標中的 x 軸、y 軸、z 軸作單一軸向 3 個方向 度的旋轉動作

Using hand movement system to operate 3D design objects in virtual environment

44

相關文件