• 沒有找到結果。

支援多人異地姿態感測與沉浸式應用的穿戴式即時互動平台研究 - 政大學術集成

N/A
N/A
Protected

Academic year: 2021

Share "支援多人異地姿態感測與沉浸式應用的穿戴式即時互動平台研究 - 政大學術集成"

Copied!
48
0
0

加載中.... (立即查看全文)

全文

(1)國立政治大學資訊科學系 Department of Computer Science National Chengchi University 碩士論文 Master’s Thesis. 立. 政 治 大. ‧. ‧ 國. 學. 支援多人異地姿態感測與 沉浸式應用的穿戴式即時互動平台研究 A Real-time Interactive Wearable Platform for Skeleton Detection of Multi-Regional Users and Immersive Experiences al v i n Ch engchi U. n. er. io. sit. y. Nat. 研 究 生:李建誼 指導教授:蔡子傑. 中華民國一零五年十月 October 2016.

(2) 支援多人異地姿態感測與 沉浸式應用的穿戴式即時互動平台研究 A Real-time Interactive Wearable Platform for Skeleton Detection of Multi-Regional Users and Immersive Experiences. 研 究 生:李建誼 指導教授:蔡子傑. 政 治 Advisor:Tzu-Chieh Tsai 大 國立政治大學. 學. ‧ 國. 立. Student:Chien-Yi Lee. ‧. 資訊科學系. al. A Thesis. er. io. sit. y. Nat. 碩士論文. n. v i n Ch submitted to Department Computer Science e n g c of hi U National Chengchi University. in partial fulfillment of the Requirements for the degree of Master in Computer Science 中華民國一零五年十月 October 2016.

(3) 支援多人異地姿態感測與 沉浸式應用的穿戴式即時互動平台研究 摘要 近年來倍受矚目的穿戴式科技透過貼近使用者來感測末端的各式資 訊,收集整理資訊後可以開發出更多創意性的應用。不過資料本身的特性. 政 治 大. 過於零碎而無法直接使用,必頇仰賴著軟體平台進行規範、篩選和整合才. 立. 會成為有用的資料,近期廣為人知的物聯網 (Internet of Things, IoT )便是. ‧ 國. 學. 平台之一。但以裝置為主的物聯網應用,容易讓使用者間過於獨立而產生. ‧. 冷漠感,無法有效發揮穿戴式科技可以形成的互動性,因此本論文希望設. y. Nat. er. io. sit. 計適合穿戴式科技的即時互動平台,並優先應用於藝術互動展演上。 本論文承襲感測人體姿態的穿戴式裝置,透用彈性的軟體架構效法物. n. al. i n U. C. v. hengchi 聯網精神將多種技術、裝置、異地的使用者聯結在一起,強化了各端資料 流的互動,透過低延遲網路交換不同區域的資料從而實現多人異地的即時 互動,有效整合穿戴式裝置和沉浸式應用後發揮於藝術展演方面。本論文 設計出的裝置與平台透過公開展覽-電子肌膚,示範勾勒出在科技、藝術 領域的優良表現。也期許此平台在未來結合社群網路,透過人群互動改變 生活習慣,讓穿戴式科技更加普及至生活之中。 關鍵字:即時互動、穿戴式平台、姿態感測 i.

(4) A Real-time Interactive Wearable Platform for Skeleton Detection of Multi-Regional Users and Immersive Experiences Abstract Wearable technology becomes a trend. It is beneficial to develop creative applications from collecting data closer to user. However, the data is too fragmented to use directly. It needs a software platform to filter and integrate. 政 治 大. them so as to extract the specific meaningful information. IoT (Internet of. 立. Things) is one of such well-known platforms. Currently, IoT platforms focus. ‧ 國. 學. on device applications more than interactive applications and lacks the interaction with human sensation. Therefore, this thesis aims to design a. ‧. real-time interactive wearable platform which is first applied to wireless. Nat. sit. y. interactive art performance.. er. io. We use the wearable devices to real-time capture body skeleton, develop. n. a lfollow the spirits of IoT toi vstrengthen interaction of software architecture and. n U e n g cdata h ibetween users from multi-regions data flow. In this way, we can exchange. Ch. with low latency to facilitate real-time interactive art performance. We also design an immersive application with VR (virtual reality), which is exhibited in public, called "Electronic Skin". The participators experience our developed wearable devices and platform, and are satisfied with the innovative art work and technology integration. In the future, this platform can be combined with social networks, and may make wearable technology more popular in influencing people life style. Keywords: real-time interactive, wearable platform, body skeleton detection ii.

(5) 致謝辭 首先要感謝我的指導教授,蔡子傑教授。教授在研究所除了教導我專業的學科外, 更把發掘問題、收集資料、提出解法、深入研究整套紮紮實實的做學問基礎傾囊相授。 這些基礎後來也在進行尋找方向、論文選讀、創意發想、研究主題、專注實作和論文 寫作時,發揮了十足的功效。當整個研究過程中多次遇到瓶頸時,也和蔡老師在討論 之下,尋出更多的可行性與研究空間,在一步步克服問題後達成了目標,最終完成這 份研究。. 立. 政 治 大. 感謝周承復教授、吳曉光教授和陳伶志教授能撥空前來擔任口試委員,給予寶貴. ‧ 國. 學. 的建議與指導,使得論文更加完整。也感謝實驗室每一位同學,在學業的路上一起努. ‧. 力,激勵彼此堅持下去。尤其感謝研究夥伴蔡育銓同學以及吳珮菁、翁子原兩位助教, 因為本身是在職生的關係,平日時間無法出現在學校,所以讓他們常撥出晚上的時間. y. Nat. io. sit. 配合我進行研究,花費相當多時間一起努力,一同測試、籌備展演及排練。還要感謝. n. al. er. 廖峻鋒教授、陶亞倫教授,提供了許多展演上的建議和主題方向,以及各個前來支援. Ch. i n U. v. 的同學,感謝多位教授及同學們讓研究、測試及展演都能順利的完成。. engchi. 再來要感謝我的家人,在我進入政大資科研究所的這段期間,讓我沒有後顧之憂 的進行學業和研究之路。尤其是一開始苦口婆心地建議,才會於工作之餘仍繼續在學 問之路上精進,此外也持續發揮家庭方面的勉勵和鼓舞,讓我最終完成了研究。. 最後再次感謝大家對我的支持,讓我順利完成這份論文,謝謝大家。. iii.

(6) 目錄 第一章 簡介 ............................................................. 1 1.1 背景 ............................................................. 1 1.2 動機 ............................................................. 2 1.3 目的 ............................................................. 2 第二章 相關研究 ......................................................... 4 2.1 原有硬體 ......................................................... 4. 治 政 2.1.1 Arduino .................................................... 4 大 立 2.1.2 Raspberry Pi 樹莓派開發板 ................................... 5 ‧ 國. 學. 2.1.3 低功耗藍牙 BLE 4.0 傳輸器 ................................... 6. ‧. 2.1.4 姿態感測器 ................................................. 7 2.1.5 電池 ....................................................... 7. y. Nat. io. sit. 2.2 物聯網架構 ....................................................... 8. n. al. er. 2.3 資料交換格式 ..................................................... 8. Ch. i n U. v. 第三章 硬體擴充 ......................................................... 9. engchi. 3.1 評估反應裝置 ...................................................... 9 3.2 評估擴充彈性與體積大小 .......................................... 10 3.3 耗電量 .......................................................... 11 第四章 系統架構 ......................................................... 12 4.1 WISE Item ....................................................... 12 4.1.1 讀取資料 .................................................. 13 4.1.2 接收命令 .................................................. 14 4.2 WISE Middleware ................................................. 15. iv.

(7) 4.2.1 連線速度問題 .............................................. 17 4.2.2 連線中斷問題 .............................................. 17 4.2.3 Protobuf 和傳輸協定 ........................................ 18 4.2.4 數據累計偏差問題 .......................................... 19 4.2.5 姿態歪斜問題 .............................................. 21 4.3 WISE Platform ................................................... 22 4.3.1 WISE.local.coordinator .................................... 22. 政 治 大. 4.3.2 WISE.cloud.exchanger ...................................... 24. 立. 4.3.3 WISE.local.broker ......................................... 28. ‧ 國. 學. 4.3.4 WISE.local.monitor ........................................ 28 4.4 WISE Display .................................................... 29. ‧. 第五章 公開展演 - 電子肌膚 .............................................. 31. Nat. sit. y. 5.1 穩固性 Reliability .............................................. 33. n. al. er. io. 5.2 擴展彈性 Scalability ............................................ 33. i n U. v. 第六章 結論與未來展望 .................................................. 35. Ch. engchi. 6.1 結論 ............................................................ 35 6.2 未來展望 ........................................................ 35 參考資料 ................................................................ 37. v.

(8) 表目錄 表 1 : Arduino Nano 規格 ................................................. 5 表 2 : USB 型式藍牙接收器 ................................................. 6 表 3 : 藍牙感測器模組 .................................................... 6 表 4 : 姿態感測器 ........................................................ 7 表 5 : 交換格式比較 ...................................................... 9 表 6 : 震動器規格 ........................................................ 9. 治 政 表 7 : Arduino NANO 的腳位規範 .......................................... 10 大 立 表 8 : 三軸資料傳輸格式 ................................................. 13 ‧ 國. 學. 表 9 : 協定結構 ......................................................... 19. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. vi. i n U. v.

(9) 圖目錄 圖 1 : Arduino NANO ...................................................... 5 圖 2 : Raspberry Pi Model B+ ............................................. 5 圖 3 : MBTV4 ............................................................. 6 圖 4 : MPU6050 ........................................................... 6 圖 5 : 3.7V 鋰電池 ........................................................ 7 圖 6 : 震動器 ............................................................ 9. 治 政 圖 7 : 全陽 RGB LED 腳位 ................................................. 9 大 立 圖 8 : WISEItem 電路圖與實體照 .......................................... 11 ‧ 國. 學. 圖 9 : 3.7V 600 mah 電池 ................................................ 11. ‧. 圖 10 : 架構圖 .......................................................... 12 圖 11 : 兩種資料量的 PPS 比較 ............................................ 13. y. Nat. io. sit. 圖 12 : 各距離的 PPS 比較 ................................................ 14. n. al. er. 圖 13 : 模型關節部位名稱圖 .............................................. 16. Ch. i n U. v. 圖 14 : 單一 BLE Dongle 所能連接 WISE Item 數量 .......................... 16. engchi. 圖 15 : Json 格式 ........................................................ 18 圖 16 : 姿體模型四種分組 ................................................ 22 圖 17 : WISEItem 設定檔案 ................................................ 23 圖 18 : 校正姿態設定檔案 ................................................ 24 圖 19 : 分開的各區域 .................................................... 25 圖 20 : Fully connected mesh topology ................................... 25 圖 21 : 基於區域的 Star topology ......................................... 26 圖 22 : 基於雲端服務的 Startopology ...................................... 26. vii.

(10) 圖 23 : 傳輸 RTT 的變化 .................................................. 28 圖 24 : WISE.local.monitor 的圖形介面 ................................... 29 圖 25 : 電子肌膚展演中的不同模組 ........................................ 30 圖 26 : 角色接觸後產生的資料流所引發的震動效果 .......................... 30 圖 27 : 電子肌膚宣傳海報 ................................................ 31 圖 28 : 實際展出情形和 VR 畫面 ........................................... 32 圖 29 : 實際展演中七個節點的平均 PPS ..................................... 33. 政 治 大. 圖 30 : 單人模式 ........................................................ 34. 立. 圖 31 : 多人模式 ........................................................ 34. ‧ 國. 學. 圖 32 : 多人異地模式 .................................................... 34. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. viii. i n U. v.

(11) 第一章 簡介. 1.1 背景. 政 治 大 歌公司的 Google Glasses、美國蘋果公司的 Apple Watch 等等。穿戴式裝置有別於普 立. 近年來穿戴式議題非常熱門,許多知名企業都推出自家的穿戴式裝置,如美國谷. ‧ 國. 學. 通裝置,特色在於透過貼身穿戴可以準確取得穿戴者身上各種資料,後續透過蒐集與 資料處理後便能提供更加精確的服務,讓使用者產生有別於以往的貼心體驗。不過現. ‧. 階段單獨透過穿戴式裝置無法提供過於複雜的功能,所以大多數裝置侷限在身體狀況. sit. y. Nat. 感測上,被當成手機的延伸功能。但其實只要稍微增加穿戴式裝置的數量再配合軟體. io. er. 平台進行密切結合便可以有更多元的應用,像物聯網便是支援穿戴式的軟體平台之. al. 一,透過這類平台可以將穿戴式的應用面更加充份發揮。. n. v i n C h MVN[1]動態補捉系統,使用放置在身上關節處 像目前市面上的 Xsens 公司製作的 engchi U. 的小型穿戴裝置,能在不妨礙動作的情形下取得人體姿態資料,透過無線傳輸到後端 後產生出姿態畫面,不同於傳統的光學捕捉系統需要各式線路和光學追蹤儀器以及特 定空間,讓場地更加無限制以及達成簡易輕便的裝置。這類型感測裝置相當方便搭配 擴增實境或虛擬實境應用在像遊戲、特效電影的拍攝甚至到大型展演活動或演唱會中 產生虛實穿插的表演效果。. 1.

(12) 1.2 動機 各家廠商在穿戴式裝置方面都有相當的成果,形成了各家爭鳴的戰國時代,在各 自的封閉系統上,不同系統的裝置互不相容,選擇某牌產品後就會侷限於該廠商所提 供的支援,難以兼容其他裝置。也造成使用者方面難以透過不同裝置進行互動,容易 造成孤獨一人面對電腦上活動的情境,缺乏社群互動的應用也開始讓穿戴式科技的推 廣速度停滯下來。在未來,勢必得形成多人異地即時互動才能普及至大眾生活之中。. 政 治 大. 此外,市面上產品大多是由單向資料流集中資料至後端進行運算,較缺少反應與. 立. 回饋這樣的雙向資料流設計,因此鮮少裝置具備反應器來產生互動的感覺回饋,像震. ‧ 國. 學. 動、閃光等,也減少了配戴者使用時所能獲得的沉浸感。綜合以上,我們希望設計出 一套開放式平台,突破單人應用,能滿足多人異地即時互動的目標,能方便讓開發者. ‧. 自由發揮創意並進行實驗,也能產生雙工資料流即時回饋互動感覺。. er. io. sit. y. Nat 1.3 研究目的. al. n. v i n Ch 綜觀整體而言,可以效法物聯網[2]『萬物聯結』的概念,通過各種無線或有線 engchi U 的長距離/短距離通訊網路實現互聯互通把各種信息感測設備連接起來,透過中介平台 實現智能化識別、轉化與管理,且著重於人與人間的互動來進行穿戴式平台的研究。 所以本篇論文的目的,希望滿足下列要求,進而達成豐富的互動應用: 1. 多人異地即時互動,支援兩個以上穿戴者在不同地方互動。 2. 穿戴方便,不需複雜的線路連接和硬體設置。 3. 成本不會過於昂貴,可以在有限的經費下開發。 4. 視需求任意加入不同額外硬體,像震動器、LED 等反應器。 5. 成像端有 30 FPS (Frame Per Second)以上的高更新率,讓姿態模型動作流暢自然。. 2.

(13) 6. 長時間穩定的系統,以表演來說要能夠在預演到演出結束的數小時間都正常運作。 本次研究中,設定目標至少為 6 小時。 7. 突破物聯網多數的裝置應用,加強以人的互動為主軸的應用。 8. 方便應用於沉浸式體驗。 9. 可透過軟體設定來兼容不同硬體。. 接著第二章開始會對相關研究進行介紹。. 政 治 大. 再來,第三章以硬體為主軸,提出硬體的改良。. 立. 第四章則是軟體平台的架構介紹,提出如何在物聯網的精神下劃分出各個模組。. ‧ 國. 學. 第五章講述電子肌膚的公演概念以及證實成果。 最後第六章做出總結並期許未來發展。. ‧. n. er. io. sit. y. Nat. al. Ch. engchi. 3. i n U. v.

(14) 第二章 相關研究 軟硬體上參考了許多文獻研究,主要從下列兩主題中獲益最深 - 硬體方面承襲 『穿戴式互動展演創新應用與姿態感測技術研究』[3],此研究中訂定了穿戴式裝置感 測人體姿態的實體;軟體研究部分效法物聯網中的概念試著讓人與裝置、裝置與裝置 連結在一起,透過軟體平台上的各種協議進行互相溝通,可忽略彼此間連接的物理方 式。. 立. ‧ 國. ‧. 2.1.1 Arduino. 學. 2.1 原有硬體. 政 治 大. sit. y. Nat. io. er. Arduino[4]是近幾年興起的開放原始碼的單晶片微控制器,採用了開放原始碼的. al. 軟硬體平台,建構出簡易輸出/輸入(simple I/O)介面板,大幅簡化了硬體線路和程. n. v i n Ch 式庫的開發難度,讓許多軟硬體技術方便相互配合發揮,在設計上,Arduino 有許多 engchi U. 腳位,藉由這些腳位,能加入其他的硬體來擴充功能。這樣的開發板,符合我們對於 公開、方便擴充的需求。 其中 Arduino NANO (圖 1) 的尺寸和電耗相當符合穿戴式裝置的精小省電,其 Atmel ATmega328 微處理器,具有 14 組數位輸出/入腳位,以及 8 組類比腳位,運作 電壓為 1.8V 至 5.5V,相當適合在穿戴式方面配合質輕體積小的電池來使用,因此選 擇 Arduino NANO 來做為裝置的運算核心。. 4.

(15) 表 1 : Arduino Nano 規格 Arduino 型號. 體積尺寸. 輸入電壓. CPU 時. 快閃記. (公分). (V). 脈(MHz) 憶體容. 供電方式. (新台. 量(KB) Nano. 4.5 x 1.8. 立. 1.8 - 5.5. 16. 幣) 腳位供電. 16. 零售價. 70. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. 圖 1 : Arduino NANO. Ch. i n U. v. 圖 2 : Raspberry Pi Model B+. engchi. 2.1.2 Raspberry Pi 樹莓派開發板 Raspberry Pi[5]中文名稱為樹莓派,能夠安裝簡易版本的 linux,其中 Model B+ (圖 2)支援數個 USB 介面可供 dongle 擴充之用,而尺寸面積僅和一張信用卡相當,相 當適合讓 Raspberry Pi 當做數據轉接中心,放在身上負責收集使用者各節點 Arduino 從藍牙傳送出來的姿態資料,初步整合人體姿態資料後傳送到後端平台供其他模組存 取使用。. 5.

(16) 2.1.3 低功耗藍牙 BLE 傳輸器 BLE [6]即是所謂低功耗藍牙,其所耗用的電力相當的低,透過 BLE 連線時不需 像 2.0 版本的藍牙要配對後才能取得資料。且 BLE 在連線方面相當快速,官方宣稱僅 需 3ms 以內即可完成連線,因此若實際遇到連線中斷時,可以在極短的時間內偵測並 重新建立連線。藍牙 USB DONGLE 會因各廠商所採用的晶片不同,使用效果、特性也不 相同,這邊依效果來決定所要採用的款式,並以 Packet Per Second (簡稱 PPS) 做為. 政 治 大 立表 2 : USB 型藍牙接收器. 重要評估。以下為所選用款式的表格。. 動畫流暢度. PPS 結果. 零售單價(台幣). Broadcom. 佳. 50 ~ 60. 300. ‧. ‧ 國. WED-210V4. 晶片商. 學. 商品名稱. 再來是 Arduino 使用的藍牙模組,系統需要的模組需能支援 Central Role,又要. sit. y. Nat. 內建 AT-指令以進行設定。因為該需求,我們在市面上多款低功耗藍牙模組中,選擇. io. n. al. 廠商名稱. 型號. 移摩通訊技術 MBTV4. er. 了上海移摩通 MBTV4 (圖 3)。 下表列出 MPTV4 模組特性。 表 3 : 藍牙感測器模組. Ch. 晶片. AT-指令. engchi. TI-CC2540. 有. 圖 3 : MBTV4. v iCentral n role U 有. 圖 4 : MPU6050. 6. 零售單價(台幣) 150.

(17) 2.1.4 姿態感測器 人體動作是由身上關節的轉動達成,要得知人體姿態的變化便是透過身上的感測 器來取得資料,目前市面上普遍以陀螺儀配合加速度計來取得資料,其中 MPU6050[11] (圖 4)內建加速計及陀螺儀,更是 Open-source 能自由定義姿態資料格式,不僅功能 符合要求,市售價格也相當的低廉,在需要在各關節點穿戴感測器之下,成本是相當 決定性的關鍵的要素,因此決定採用這款姿態感測器。下表列出 MPU6050 模組特性。. 政 治 大 立加速計 陀螺儀 指南針 表 4 : 姿態感測器. InvenSense. MPU6050. 有. 有. 無. 程式函式庫. 售價(台幣). 豐富. 50. ‧. 2.1.5 電池. ‧ 國. 型號. 學. 廠商. sit. y. Nat. 穿戴式裝置中,電池作為動力來源,極為重要。盡可能要選擇體積夠小、電壓足. io. er. 夠、電容量夠支撐 4 小時以上的款式,此外要避免透過串聯提高電壓,也不適合透過. al. v i n C 300mAh 電壓為 3.7V 有多種款式可以選擇,決定使用 h e n g c h i U 的鋰電池(圖 5)。此款長寬高分 n. 升壓電路來提升電壓。衡量下,3.7V 的鋰電池不僅電壓足夠使用,在容量及款式上更. 別為 35mm X 20mm X 5mm。. 圖 5 : 3.7V 鋰電池. 7.

(18) 2.2 物聯網架構 物聯網的主軸以簡單的話來說明,就像這段英文敘述: The Internet of Things (IoT) is a system of physical objects that can be discovered, monitored, controlled or interacted with by electronic devices which communicate over various networking interfaces, and eventually can be connected to the wider Internet.[7]. 政 治 大. 這段話裡帶出了許多核心,基本的物聯網在於滿足 :. 立. 1. 整合由各種硬體設備所形成的獨立網路集合。. ‧ 國. 學. 2. 要透過單一的協定來接軌各個系統是很難達成的,所以設計上要能兼容多種協定。 3. 有眾多通訊介面待整合,需要 Middleware 的存在來作為溝通的橋梁。. ‧. 因此在本論文設計的軟體平台中,依照網路集合實現 BLE、Wifi 等短距離通訊網. Nat. sit. y. 路的區域內感測信息互聯互通,透過 middleware 兼容不同裝置並和長距離通訊網路連. al. n. 台。. er. io. 接,透過不同模組以及定義不同模組間的協定來達成實現互聯、識別和管理的核心平. Ch. engchi. i n U. v. 2.3 資料交換格式 不同平台之間的交流通信,牽涉到交流通信便要做到跟平台無關,讓不論是 C、 C++、java 等程式語言,都盡可能表達夠準確的意思,才容易進行資料交流,這代表 資料交換的格式定義相當重要。高效能,更少的傳輸數據量,更快的生成速度對資源 的節省十分可觀,由此各公司紛紛推出,也因此存在了多種數據格式。一般傳統的 xml,json 都是這類應用的翹楚格式,此外還有較新的 Protocol Buffers(簡稱 protobuf) 。 Protobuf[8]是谷歌的一項新技術,也用於將結構化的數據序列化、反序 8.

(19) 列化,常用於網絡傳輸。 在本論文穿戴式的設計中,涉及到資料即時性、更新速率和低延遲需求,所以在 資料處理上,需要往減少資料量、縮短資料處理時間的方向走,protobuf 其設計特性 剛好著重在資料更小、處理更快,更重要的是兼容性好,不必擔心因為未來的改變而 造成大規模的代碼重構,所以在資料傳輸以 protobuf 作為傳輸時的資料結構。. 表 5 : 交換格式比較 傳輸量 治 性能 政 大 很大 低. 協議. 跨語言. Xml. 大量支援. Json. 大量支援. 一般. 一般. 佳. 大量支援. 低. 高. 較差. ‧. ‧ 國. 佳. 學. io. sit. y. Nat. n. al. er. protobuf. 立. 可讀性. Ch. engchi. 9. i n U. v.

(20) 第三章 硬體擴充 第二章中介紹了原本使用的硬體,而在這次研究中將有許多更動,除了各種不同 感測器和反應器,像震動器和 LED 的加入外,還要根據應用的需求能自由裝載反應裝. 政 治 大. 置。這樣的變動將從體積、成本、耗電量、功能性和擴充彈性作為調整目標。. 立. 3.1 評估反應裝置. ‧ 國. 學. 互動時的各種感覺回饋需要靠反應器來作用,像觸覺的震動器、視覺的 LED,需. ‧. 要在原有硬體上擴充這些裝置來達成。這次評估了相當多的零件,畢竟市面上的震動. sit. y. Nat. 器零零總總加起來就達數十種之多,各種大小厚薄、不同耗電量、類型的裝置一堆,. io. er. 經過多元測試後,在零件海裡選擇了鈕扣式震動器(圖 6)和全陽三色 LED(圖 7)。同時. al. 透過 Arduino 程式對腳位數位或類比寫出( digitalWrite / analogWrite )來控制裝. n. v i n C h Width Modulation) 置,除了通電外,透過 PWM (Pulse e n g c h i U 讓數位訊號高頻率的切換, 以調整開關的比例,可以模擬出震動和需要的燈光顏色。 表 6 : 震動器規格 型號. 直徑. 厚度. 工作電壓. 電流. 售價(台幣). MT01. 10mm. 4mm. 3.7V. 0.06a - 0.10a. 40. 圖 6 : 震動器. 圖 7 : 全陽 RGB LED 腳位. 9.

(21) 3.2 評估擴充彈性與體積大小 視需求來自由裝載裝置,得對電路板增加插排設計,需要對 Arduino NANO 各腳位 進行認識 (表 6),在電路板上保留可插拔的 pin 腳對應 Arduino D4~D12 腳位以及多 增加 3 組 VCC-GND 維持供電,軟體方面則透過配合 Arduino 程式對不同針腳進行不同 操作,就達成擴充裝置的多功能性,也保留高彈性來針對不同目的搭配周邊裝置。最 後設計好的硬體命名為「WISE Item」 (圖 9)。. 學. 晶片組. Atmel ATmega168 or ATmega328. Digital I/O. D0 ~ D12 數位輸出/輸入端. ‧. ‧ 國. 政 治 大 表 立7 : Arduino NANO 的腳位規範. D13 作為 LED 指示用. y. Nat. 因為常作 Serial Port 傳輸使用. n. al. er. io. sit. D0、D1 通常不建議使用. Ch. i n U. v. D3, 5, 6, 9, 10, 11 亦是 PWM 腳位. e n g c h i A0 ~ A7 類比輸出/輸入端. Analog I/O. 當 Digital I/O 不夠時可充當使用, 宣告為 Pin 14 ~ 21 支援 TX / RX 訊號輸出輸入. TX / RX. D0 亦可為 RX 接收端 D1 亦可為 TX 傳送端 輸入電壓. 1.8V - 5.5V. 輸出電壓. 3.3V 5V 和 Vin 三種. 10.

(22) 圖 8 : WISE Item 電路圖與實體照. 治 政 此外,擴充的腳位不僅能支援反應器,同時也擴增了 大 BLE 傳輸器的連接數量,BLE 立 需要 4 個連接腳位 : 傳輸腳位 TX、接收腳位 RX、VCC 電源位、GND 接地位,在容納多 ‧ 國. 學. 組 BLE 後可以開始利用多組 BLE 進行 RSSI 等資料的計算,進一步提升裝置的應用性。. ‧. io. sit. y. Nat. 3.3 耗電量. n. al. er. 因應裝置的增加,耗電量也是調整重點。在接滿並持續開啟反應器和 BLE 的狀態. Ch. i n U. v. 下,原有的 3.7V , 300 mah 的電池僅能支撐 3~4 小時左右,已不敷使用,所以將電. engchi. 池更換為 3.7V , 600 mah,電池大小放大為 30mm X 60mm X 3.5mm,雖然增加了些體 積,但在可接受範圍內,換上新型電池後,裝置能持續運作 6~8 小時。. 圖 9 : 3.7V 600 mah 電池. 11.

(23) 第四章 系統架構 硬體的發展一代淘汰一代,現在的硬體在未來某天也會被取代,因此本論文多著 墨於軟體方面。軟體架構依照功能分類為數個模組,負責從終端穿戴式裝置、中介平 台、後端平台到顯示模組中的資料蒐集、解析、控制、交換和呈現等功能,並透過不 同模組的組合來完成異地間的資料交換(圖 10)。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 10 : 架構圖. 4.1 WISE Item 作為穿戴式的核心,每個 WISE Item 都是獨立的節點,Item 和 Item 間互不影響, 主要功能負責讀取資料和接收命令 :. 12.

(24) 4.1.1 讀取資料 讀取 MPU6050 的資料透過 BLE 傳輸到 WISE Middleware。每個節點會主動從 MPU6050 讀取 Yaw、Pitch、Roll 三軸姿態資料,這些數值原始數值範圍介於正負 180 之間,透過 Arduino 將資料加上 360,使得產生的數值皆為正整數,這樣傳送資料時 每個軸度都能以 int_16 (2 Bytes) 來表示,達到充分節省資料量,三個軸的姿態共 6 Bytes,不過在實測後發現高速傳速狀態下會高機率讓兩筆資料的頭尾混雜在一起,造. 政 治 大. 成感測資料擷取錯誤,使模型出現錯誤姿態,所以需要在資料尾端加上結尾字元( 0x7E,. 立. 0x7D) 來防止,實驗證明當傳輸數據量到達 8 Bytes 後,每秒仍可維持 60 PPS 左右。. ‧ 國. 學 ROLL. 2 Bytes. 2 Bytes. 2 Bytes. sit. al. n. 60. Tail wording. er. io. 61. y. PITCH. Nat. 2 Bytes. ‧. YAW. 表 8 : 三軸資料傳輸格式. Ch. engchi. i n U. v. 59 6 Bytes. 58. 8 Bytes. 57. 56. 55 5mins. 10mins. 15mins. 20mins. 25mins. 圖 11 : 兩種資料量的 PPS 比較. 13. 30mins.

(25) 此外,實際運作中 BLE 資料傳輸的速度會因為和 dongle 的距離而有影響,為此進 行了實驗,以期透過測試發現裝置的限制,再透過數據進行軟體整合上的調整。實驗 中僅透過改變傳輸距離變數來評估變化,可以看出當距離越長時 PPS 越低,3 公尺內 時能有最佳的傳輸速度,而超過 3 公尺後有明顯下降。. 62 60 58 56. 立. 54. 10mins. 15mins. 20mins. io. 圖 12 : 各距離的 PPS 比較. al. n 4.1.2 接收命令. 25mins. y. Nat. 5mins. 30mins. sit. 44. >7M. ‧. 46. 5M. er. 48. 1~3 M 3M. ‧ 國. 50. < 1M. 學. 52. 政 治 大. Ch. engchi. i n U. v. 接收 WISE Middleware 傳送來的指令並控制反應器。本論文在 Arduino 程式中開 始實作 BLE 接收資料的程式,而實驗中遇到了亂碼的情形,當傳送數據的間距小於 200 ms 時,位於接收端的 Arduino 會隨機出現亂碼,這使得控制指令失去準確的控制,開 始出現無法開啟/關閉反應器的情形。因此我們改良了控制指令,首先讓每個指令長度 相同,再來精簡化為 5 個相同的字元,像: 00000, 11111......等,然後收到的訊息 會先確認,當有超過 3 個字元是相同的,才會連接到相關的控制程式去作動反應器。 此外,因為有些反應器像震動器會產生熱能,其產生的溫度在貼身穿戴時會燙到穿戴. 14.

(26) 者,所以程式中有防呆機制,透過 Arduino 函式庫內的 TimerOne ,定時讓反應器停 止或定時進行監測功能。讓這些反應器被限制為每作動一段時間後將休息一段時間, 避免裝置不斷產熱。. 4.2 WISE Middleware 從距離實驗中 BLE 的連線容易因為使用者遠離的情形而呈現不穩定狀態,而且基. 政 治 大. 於物聯網的 WISE.Item 是非 IP 網路,所以需要一個方便能放在身上充當 BLE 和無線. 立. /有線網路多方轉傳功能的中介服務器,我們稱之為 WISE Middleware,其由軟硬體共. ‧ 國. 學. 同構成。作為中介裝置的硬體要能同時支援 BLE 和多種連線方式,現成設備選擇為樹 莓派 Raspberry Pi,Pi 不僅有良好的穩定性外,也擁有 4 個 USB 介面,很容易透過. ‧. BLE USE Dongle 擴充來支援更多的節點 (圖 13 )。. Nat. sit. y. 在進行了硬體實驗後,實驗結果呈現單一 BLE Dongle WED-210V4 最高支援 9 個. n. al. er. io. 連接數,超過後會造成第 10 個以後的 WISE Item PPS 過低( 圖 14 )而無法使用。此 時需要透過增加 BLE Dongle 來增加更多的節點。. Ch. engchi. i n U. v. 從實驗數據中歸納出以下限制 1. 當裝置數少於 9 個時,使用單一 Ble Dongle 連接能有最佳狀態。 2. 距離對連線穩定度的影響最大,距離越遠 PPS 越低,斷線次數越高。 3. 透過 multi-dongle 可以連接 10 個以上的裝置,但最高裝置數連線到 15 個 後,PPS 也會明顯降低,斷線次數更容易升高,從 Pi 的系統資訊來看跟記憶體耗用量 有關,記憶體已趨近 512MB 上限。 4.. Raspberry pi 和 WISE Item 同時綁身上後,能有效將距離的影響降低,此. 時改為視活動空間決定互動的人數數量。 15.

(27) 立. 政 治 大. ‧. ‧ 國. 學. n. al. er. io. sit. y. Nat. 圖 13 : 模型關節部位名稱圖. Ch. engchi. i n U. v. 圖 14 : 單一 BLE Dongle 所能連接 WISE Item 數量. 16.

(28) WISE Middleware 的核心功能在軟體部分的處理資料和節點監控,要能收集各個 WISE Item 經過 BLE 傳送來的資料轉化成規範好的格式,透過無線或有線網路傳送至 WISE Platform;或是透過紀錄各個節點的 MAC Address 反過來傳送反應指令至特定的 WISE Item。傳輸資料方面,樹莓派上的藍牙接收器會在不同的時間點,分別收到各個 WISE Item 所傳來的資料,其中並沒有固定的順序與頻率,在收集彙整好資料後會轉 好格式,再將整理好的資料傳輸出去。. 政 治 大. 4.2.1 連線速度問題. 立. BLE Dongle 的特性一次僅容許一個 BLE 進行連線,也就是說連線時是 singleton. ‧ 國. 學. 模式,其他 BLE 需要等正在連線的裝置連線完成後才能搶著唯一權利來連線,而從連 線完成到開始取得資料將耗用了相當多時間,如果每次的連線都是等到取得資料才算. ‧. 結束的話,在多節點的情形下,全部連線完成的時間將花費相當長。所以為了儘量縮. Nat. sit. y. 小獨佔的時間,重新設計連線的步驟為兩個階段:. n. al. er. io. Step 1. 連線確認,只要連線回傳成功即釋放資源給其他 BLE 連線,讓原本的 BLE 能進入步驟 2 開始等待資料。. Ch. engchi. i n U. v. Step 2. 獲取資料,開始從 BLE 中讀取 8 Bytes 的資料,去除節尾字元並解析為 Yaw, pitch, Roll,進到步驟二後會開始進行連線判斷。 4.2.2 連線中斷問題 無線訊號容易受外在因素的干擾而導致連線中斷,每次的中斷將使得呈現出來的 動畫不流暢,甚至出現姿態扭曲。因此需要在最短時間內即時恢復連線,所幸藍牙 4.0 不需要配點,能快速建立連線,在 WISE Middleware 程式中實作了自動重新連線的機 制。接收程式在 loop 迴圈中不斷執行,當發現 300 ms 內沒有接收到新資料時,就判 斷連線已中斷,然後重新連線。 17.

(29) 4.2.3 Protobuf 和傳輸協定 原有的資料以 Json 格式傳輸,但格式上多餘的 ", {, }, : 等字元增加了相當多 overhead,以公式來計算每秒資料傳輸量(Bytes) 每秒傳輸量 Bytes = 資料大小 ( header ( createTime, id 等資訊佔用的 Bytes ) + wiseItem 組數 x 每筆 json 資料大小(Bytes) ) X 每秒資料數 18 組 WISE Items 每秒 60 筆資料來計算 ( 68 Bytes. + 18. *. 政 治 大. 36 Bytes ) x 60 = 42.96 KBps. 立. 在 1M ( 128 KB/sec ) 網路頻寬會造成約 330 ms 的 delay,加上 json String 的. ‧ 國. 學. 處理時間約為 10~20 ms ,故單筆資料即產生了 340~350 ms 的延遲,遠高於資料產生 的速度(16 ms),雖然因應網路頻寬的提升可以降低影響,但整體計算並不適合用來異. ‧. 地傳輸。. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 15 : Json 格式. 相同的資料用 protobuf 序列化後的大小大約是 json 格式的十多分之一,xml 格 式的二十多分之一,不過序列化後可讀性很差。以公式來計算. 18.

(30) 每秒傳輸量 Bytes = 序列化資料大小 X 每秒資料數。 同樣 18 組 WISE Items 每秒 60 筆資料來計算便是 39 Bytes X 60 = 2.34 KBps 1M 網路頻寬則剩 18 ms 左右的 delay。而對序列化資料的處理時間約為 3 ~ 5 ms , 故單筆資料僅產生了 21~23 ms 的延遲,雖然略高於 60 PPS 資料產生的速度(13.33 ms),但透過網路頻寬的提升可以有較高的容延遲能力。在省下來的頻寬上,更可以實 現制定出新的協定 spec 用於 WISE Middleware 和 WISE Platform 的結構化溝通。. 政 治 大. 參考 HTTP 的封包格式來設計協定,並以物件導向中封裝的概念來實現所有動作,. 立. 只有兩種動作 GET 和 SET ,但搭配不同的行為設定可達成各種動作,像傳輸 WISE. ‧ 國. 學. Item 資料,獲得 WISE Item PPS、連線狀態甚至是進行校正,反應回饋這樣較複雜的 行為,也進一步達成發現、監查、控制和互動這些在物聯網常見的行為。. ‧. Header. wear/1.0. y. 描述 代表穿戴式協定. n. al. seq=${序列號}. Ch. er. 內容值. io. 標頭欄位. sit. Nat. 表 9 : 協定結構. v ni. 必頇欄位 YES. e透過序列號防止錯亂 ngchi U. Target. target=${目標裝置}. 傳遞目標. YES. Action. set/${行為}. Set 用於設定行為. YES. get/${行為}. Get 用於取得行為資料. 資料本身. 用於存放要傳輸的資料. Data. NO. 4.2.4 數據累計偏差問題 裝置雖然一開始偵測到的數值是精確的,但在時間累計運作下,數據會慢慢產生. 19.

(31) 誤差,使數據與真實姿態出現偏差,呈現的骨架姿態也和真實姿態產生不一致的狀況, 於是實作了數值修正來解決此問題,同時因為多人異地的設計,為了讓各處皆可進行 校正誤差的動作,設計了『校正指令』和『校正姿態』。 讓修正時,只要穿戴者擺出 校正姿態,維持姿態不動幾秒鐘,後台人員不論在何處都能發出『校正指令』 ,系統便 會進行修正,等到監控畫面上的骨架姿態與實際姿態相符,就能得知修正完畢。此外 還簡化了校正運算,當收到校正姿態後透過以下兩步驟便可獲得正確的體態資料。. 說明:. 立. 政 治 大. Y : Yaw 資料,P : Pitch 資料,R: Roll 資料. ‧ 國. 學. base : 校正資料值 current : 目前的資料值. ‧. deviation : 和校正資料的差值. Nat. sit. y. calibration : 校正後的資料. n. er. io. Y deviation  Y base   Y current al P   iPv    P C h運算  deviation U n base   current 當收到校正指令, e ngR cdeviation h i   R base   R current. Step 1 :.    ,計算  . 出和校正資料的差值。 Step 2 : 之後每次收到資料時會加上差值,並保持數據在 0 ~ 360 之間. Y calibration  Y current  Y deviation   )%360 P   ( P   P calibratio n current deviation       ,即得出校正後的姿態。  R calibration   R current   R deviation. 20.

(32) 4.2.5 姿態歪斜問題 每組 WISE Item 都是獨立的,所產生的資料只代表每個節點的轉動情形,所以需 要透過影像模型將這些節點連接起來才能產生出全身的動畫,這種行為我們稱為『連 動』 。透過連動將各組關節點連接起來,才能讓真實反應使用者各種姿態動作,像舉手 時,從上手臂、前手臂到手腕的提升便是連動功能產生出來。 但這樣的連動造成一個問題,如果連動組合中有某一節點突然斷線,其他節點仍. 政 治 大. 然正常產出資料時,連動效果的運算便會出現錯誤,這會造成整個姿態模型呈現歪斜. 立. 甚至擺出反轉 180 度這種不可能的人體姿態。當出現姿態歪斜現像時只能透過校正來. ‧ 國. 學. 強制矯正,但卻讓表演中擺出校正姿勢的機率增加,也增添了中段表演的可能。 所以針對姿太歪斜進行了設計改進,將原來構成全身的獨立節點也跟著連動設計. ‧. 進行分組,根據表現分為左上半身、右上半身、左下半身、右上半身四大組,身體中. Nat. sit. y. 線幾個重要的點則可以重複出現在不同分組中。當各個節點開始連線時,便會將這些. n. al. er. io. 節點加入到連動組合中,WISE Middleware 傳輸資料時是向連動組合索取資料,當組. i n U. v. 合判斷資料齊全時便正常傳出資料,反之則阻塞資料,這樣當節點斷線或無法取得資. Ch. engchi. 料時,畫面會突然停住後再恢復正常,有效避免了姿態歪斜,讓使用者在表演中不必 擔心姿太歪斜而加入多餘的校正動作,而可以順利的進行演出。. 21.

(33) 政 治 大. 立. ‧. ‧ 國. 學. n. er. io 4.3 WISE Platform. sit. y. Nat. al. 圖 16 : 姿體模型四種分組. Ch. engchi. i n U. v. WISE Middleware 負責管理和 WISE Item 的連接,然後和 WISE Platform 透過協 定進行管理溝通和數據傳輸。WISE Platform 分成四大模組: 分別是管理區域內裝置 的 WISE.local.coordinator, 不同區域間資料交換的 WISE.cloud.exchanger, 區域 內資料儲存管理的 WISE.local.broker 以及監控用的 WISE.local.monitor. 4.3.1 WISE.local.coordinator 為了統合所有區域內的穿戴式裝置,需要建立管理模組,透過管理模組可以輕易 設定、集中原本離散的裝置群。首先由 WISE Middleware 以基於 IP 網路的方式建立連 22.

(34) 線,和 WISE.local.coordinator 進行協定的交握。以約定好的協定開始資料溝通, 完成獲得設定檔、和 WISE Item 連線到傳輸姿態資料這完整的動作。 透過 WISE.local.coordinator 負責管理區域內所有的 WISE Middleware,透過人 眼可讀的 Json 設定檔(圖 17),來設定增減底層的 WISE Item,設定檔中最外層以陣列 來進行多組設定,並透過預先定好的各個頻道 : "localTopic", "localAction", "localPosition" 將姿態資料、感覺回饋資料、位置資料區分開來,讓各自的資料有 專屬的頻道來完成高性能即時傳輸。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 17 : WISE Item 設定檔案 除了管理各組 WISE Item 外,校正姿態也是重要的設定資料,可以視校正動 作來進行調整。. 23.

(35) 立. 政 治 大. 圖 18 : 校正姿態設定檔案. ‧ 國. 學 ‧. 當然 Json 的配置和 protobuf 全然不同,無法直接傳給 WISE Middleware,因此 WISE.local.coordinator 也權當轉譯器,將 Json 和 protoBuf 雙邊的資料進行轉. y. Nat. io. sit. 換。Json 轉譯後的 protobuf 資料會透過協定通知 WISE Middleware 進行感覺回饋的. n. al. er. 分發,而從 protobuf 轉譯成的 json 則放入 WISE.local.broker 發佈。. Ch. engchi. i n U. v. 4.3.2 WISE.cloud.exchanger 當兩組以上的穿戴式裝置在不同區域執行時,會先透過 WISE.local.coordinator 將區域內的資料收集起來,在讓資料開始交換前會形成互不相連的獨立網路拓撲(圖 19),要讓彼此間互動就必頇進行區域間資料交換,也開始牽涉到網路配置:. 24.

(36) 政 治 大 圖 19 : 分開的各區域 圖 20 : Fully connected mesh topology 立. ‧ 國. 學. 1. Public IP 間直接溝通 : 每組穿戴式的網路環境都配置一組 Public IP,直. ‧. 接和其他區域進行連線與資料交換,當人數增加後會形成複雜 Fully connected mesh topology (圖 20)。從整體傳輸量評估,將每個區域視為一個網路節點,假設 N 個區. y. Nat. io. sit. 域即有 N 個節點,每個節點資料量都是 M Bytes ,交換資料時每個節點傳送 N-1 次資. n. al. er. 料給其餘節點,這樣 N 個節點每次交換資料就有 N * ( N - 1) * M Bytes 的資料在. Ch. i n U. v. 網路間傳輸,以整個網路環境管控、傳輸成本和向網路連線服務公司(Internet. engchi. Service Provider)申請 public IP 的難度來說太高,所以忽略此方法。 2. 指定一個區域為公開的主節點,透過其進行交換資料 : 網路拓樸會因此形成 Star Topology(圖 21),比起全節點設置 public IP,只配置主節點一個 public IP 相對來說容易。而整體傳輸量同樣假設 N 個區域 N 個節點,每個節點資料量都是 M Bytes。交換資料時每個節點傳送一份資料到中央節點,由中央節點統整資料後傳送 N - 1 次至中央節點外的節點,這樣 N 個節點每次交換資料時將有 ( N-1 ) * ( M + ( N-1 ) * M ) Bytes 的資料在網路間傳輸,可以感覺得出雖然傳輸量不變,但只需 N-1 條連 線數大大減少連線數。不過中央節點的負擔較重,易形成瓶頸;可用性(High. 25.

(37) Availability, 簡稱 HA)較差,一旦發生故障或主節點結束活動,將讓整個網絡都受 到影響。. 立. 政 治 大. ‧ 國. 學. 圖 21 : 基於區域的 Star topology. 圖 22 : 基於雲端服務的 Startopology. ‧. 3. 建立公開的雲端服務,透過此服務進行區域間交換資料 : 現實環境中為了保. y. Nat. io. sit. 持高可用性,大多會在可信賴的雲端配置 Public IP 的服務節點,然後各區域透過此. n. al. er. 節點交換資料,可以避免因為節點斷線或掛掉而造成服務失靈,同時可以視需求增加. Ch. i n U. v. 雲端節點來佈建更具彈性的服務。比照前述假設,這種模式會讓資料傳輸量多出 M. engchi. Bytes,形成 N * M + N * (( N-1 ) M ) 。. 我們將此雲端服務稱為 WISE.cloud.exchanger,除了負責各區域的資料交換外, 同時還兼具連線品質的偵測、回饋。連線品質以封包來回時間(Round Trip Time,簡 稱 RTT) 作為偵測的依據,越低者代表連線品質越好,透過網路傳輸所帶來的延遲越 少,越高則反之。 此外為了避免因單一雲端服務網路阻塞造成所有節點的影像即時性下降,我們在 雲端佈建多處 WISE.cloud.exchange,然後 WISE.local.coordinator 根據 RTT 選擇 最低延遲的 WISE.cloud.exchange 進行資料傳輸,每次只會傳送一份資料至服務上。. 26.

(38) WISE.cloud.exchange 收到資料後再轉傳給其餘區域,如此確保每次連線都能保持最 低延遲。而 RTT 的計算由各區域的 WISE.local.coordinator 會根據設定檔跟各個 WISE.cloud.exchanger 先行連線,當穩定連線後會定期由 WISE.local.exchanger 發 出偵測 RTT 值的協定,此格式依照 4.2.3 定義的格式,以 get/RTT 的行為,得到所有 區域的 RTT 值後,然後對各區域進行運算,運算分為兩步驟. Step 1. 先計算總值. RTTtotal = RTT 1 + RTT 2 + ... + RTT N. 政 治 大. Step 2. 各區域分別進行計算. 立. RTT 2 = (RTTtotal - RTT 2) / N-1. + RTT 1. 學. ‧ 國. RTT 1 = (RTTtotal - RTT 1) / N-1. + RTT 2. .. ‧. .. Nat. n. al. Ch. engchi. + RTT N. er. io. RTT N = (RTTtotal - RTT N) / N-1. sit. y. .. i n U. v. 如此不需太複雜的計算就能讓每個區域獲得屬於該區域對其他區域的傳輸 RTT 值,再 以 set/RTT 的行為回饋到各區域的 WISE.local.coordinator,這樣便完成了連線品質 的偵測與回饋。再來便是各區域選擇最佳 WISE.cloud.exchanger 來傳輸。 接著設計實驗,架設兩台 WISE.cloud.exchanger,每 10 秒紀錄一次 RTT。第一台 RTT 值長時保持在 10 上下,第二台約在 30 上下,讓 WISE.local.coordinator 進行連 線一段時間後,透過 NetLimit 控制和第一台 WISE.cloud.exchanger 間的傳輸狀態, 將 RTT 調整至 60 上下維持一分鐘後解除限制,觀察傳輸路徑所選擇的 RTT 值,產生 如圖 23 的結果,代表根據 RTT 值可以動態選擇最低延遲來進行傳輸,如此保持了最佳 連現狀態。 27.

(39) 70 60 50 第一台的RTT. 40. 第二台的RTT 選擇的RTT. 30 20 10 0 1. 2. 3. 4. 5. 6. 7. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 學. ‧ 國. 立. 政 治 大 圖 23 : 傳輸 RTT 的變化 8. 4.3.3 WISE.local.broker. ‧. 每個區域內配置一個 WISE.local.broker,負責暫存、過濾與傳遞區域內各個裝. sit. y. Nat. 置的即時訊息,實作上以 RabbitMQ 構成,並由另一組團隊完成[9]。透過訂閱. io. er. (subscribe)與發佈(publisher) 減少的延遲時間以及訂閱方重複收到訊息的問題。. al. RabbitMQ 是一種訊息仲介(message broker),所做的就是接收訊息,然後再把訊息. n. v i n Ch 轉送出去。透過 RabbitMQ 這類的訊息佇列系統,可以很容易將分散的資料整合起來 engchi U 再協同系統一起運作。 這樣的特性讓我們可以向 RabbitMQ 訂閱感測資料與發佈回饋訊號,完成雙向的 資料流。即時的取得感測資料讓動畫流暢不停頓,回饋訊號讓感測器可以進行感覺回 饋給使用者,而節目設計人員即可根據表演者身上的裝置訊號,設計出配合表演者肢 體動作之動畫,完成異地互動藝術表演。 4.3.4 WISE.local.monitor wise.local.coordinator 定時發佈區域內裝置的所有資訊,透過訂閱資訊後可以. 28.

(40) 依據資料格式來實作 UI (圖 24)以協助現場人員進行監控,資料中會呈現 WISE.local.coordinator 底下所有的 WISE Item,介面中可以清楚看出各個 WISE Item 現在的情形,當 PPS 降低太多便可即時進行障礙排除。. 立. 政 治 大. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 24 : WISE.local.monitor 的圖形介面. 4.4 WISE Display WISE Display 透過 Unity 開發來佈建虛擬場景和虛擬角色,由 Unity 團隊完成並 已在多處應用[10]。顯示系統會主動向 WISE Platform 訂閱頻道,取得資料,統一進. 29.

(41) 行即時的影像運算後呈現在 Unity 的角色模組上。還可以套用在不同顏色、身高、體 型的模組上,來代表不同使用者(圖 25)。除了影像呈現外,亦會對角色的動作進行偵 測。當模組接觸了虛擬環境中的物體或其他角色時,便會產生反饋的感覺資料,透過 WISE Platform 傳遞到特定的 WISEItem 上,產生出諸如震動、閃燈的反應。此外, 也負責產生沉浸式應用時的畫面,透過 HDMI 輸出到 VR 螢幕上。. 學 圖 25 : 電子肌膚展演中的不同模組. ‧. ‧ 國. 立. 政 治 大. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 26 : 角色接觸後產生的資料流所引發的震動效果. 30.

(42) 第五章 公開展演 - 電子肌膚 持續不斷地測試與整合後,2016 年 5 月 8 日至 5 月 15 日在台北當代藝術館進行 名為『電子肌膚』[11]的展出。由蔡子傑老師策畫主持、協同陶亞倫老師一起進行團 隊的共同創作,透過沉浸式的虛擬實境與論文中論述的穿戴式系統,讓參與者在虛擬 空間進行互動,並且發揮實質的感覺回饋。體驗中,兩個參與者分別處於兩地、透過. 政 治 大 進行互動。一切在虛擬空間中的碰觸,也會產生視覺、觸覺、聽覺從而產生感覺的回 立 VR(虛擬實境)眼鏡以及 WISE Item,立即將實體身體化為虛擬的身體,投身虛擬空間. ‧. ‧ 國. 學. 饋,使體驗更加真實。. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. 圖 27 : 電子肌膚宣傳海報. 31. v.

(43) 陶亞倫老師的作品概念以「這是一個光的時代,資訊光形成肌膚表層的光膜,身 體的表層細胞如同像素(pixels)一般,形成有機的發光屏幕。當實體身體得以進入 虛擬的光屏之中,形成了模擬真實體感的虛擬身體,這種快速流動的新型態身體,與 網路空間融合成為一種訊息場域,如同資訊的光與電子,從我們肌膚的最外層,滲透 到身體的神經末梢。穿上電子肌膚,進入以光對談的超現實體驗。」透過以身體作為 聲音及視覺效果的產生器,結合 VR(Virtual Reality 虛擬實境)、肢體偵測器及觸覺 感應器等,將實體的身體轉化為虛擬的身體。藉由網路將不同地點的身體,傳輸到雲. 政 治 大. 端上,形成一個虛擬身體的虛擬社交場域。彼此可以觸摸對方虛擬身體而引發聲音,. 立. 實體身體亦會有真實觸覺的感應。以全新的身體直覺出發,開創全新的科技媒體。. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 28 : 實際展出情形和 VR 畫面. 32.

(44) 通過對體驗者的問券調查,獲得體驗大眾的感想,其中大多數享受了身臨其境的 體驗,尤其是加上了震動的回饋後有覺得現實世界與虛擬世界結合在一起。實際展出 的同時我們也收集了許多數據資料來分析系統實際應用時的穩固性和擴展彈性,從結 果來看有相當不錯的成績: 5.1 穩固性 Reliability 因應實際展出中 VR 顯示器必頇和主機以 HDMI 線連接,這樣的物理情形限制了移. 政 治 大. 動範圍,而為了避免用戶過於沉浸於體驗中而被線絆倒發生意外的可能,我們將下半. 立. 身移除,只使用了上半身的 7 個 WISE Item:右手腕、右前臂、右上臂、左手腕、左. ‧ 國. 學. 前臂、左上臂和腰部。其體驗結果是虛擬世界中的姿勢忠實地反映出來,並保持流暢 的動畫效果,平均 PPS 基本都超過 55 PPS,回饋的感覺也相當即時的由 WISE Item 進. ‧. 行反應,結果可以說是相當符合穿戴式互動展演的高即時需求。. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. v. 圖 29 : 實際展演中七個節點的平均 PPS 5.2 擴展彈性 Scalability 實際展出的體驗類型可以分類為三種情形 - 單人模式、多人模式、多人異地模 式,透過調整 WISE Middlware 和 WISE Platform 中 WISE.local.coordinator 和. 33.

(45) WISE.cloud.exchanger 的組合,可以方便快速的調整出最適合的架構,也表現了系統 的高擴展彈性。. 立. 政 治 大 圖 30 : 單人模式. ‧. ‧ 國. 學. n. er. io. sit. y. Nat. al. Ch. engchi. i n U. 圖 31 : 多人模式. 圖 32 : 多人異地模式. 34. v.

(46) 第六章 結論與未來展望 6.1 結論 經於一段時間的努力,穿戴式即時互動平台的品質、穩定度、可靠度、擴展彈性, 都有非常高的完成度。在硬體方面,穩固且高流暢的取得姿態資料外,還能夠彈性的. 政 治 大 軟體架構方面,制定了分層次具不同功能的模組,透過簡單且泛用性高的協定構成平 立. 加入反應器,達成不同的回饋感覺,並且剛好的體積大小穿戴在身上也不會妨礙動作。. ‧ 國. 學. 台,突破了連線速度、斷線、數據累計偏差、姿態歪斜等問題後,完成偵測、監視、 控制這些物聯網常見的行為,更可預見即使未來硬體替換後仍然能維持運作,甚至兼. ‧. 容不同的硬體的使用。可調整模組的設定,針對不同情境進行快速的調整,單人模式、. sit. y. Nat. 多人模式、多人異地模式,尤其在多人模式和多人異地中,形成以使用者為主的資料. io. al. 在其他豐富內容上,像鬼屋、實境遊戲等。. er. 流互動,讓原本孤單的科技增添了優良的多人互動性,讓互動性增加後,更容易應用. n. v i n Ch 而沉浸式應用則呈現在顯示系統上,將現實世界的使用者投影到虛擬數位世界之 engchi U. 中,其中不同普通 VR 僅具備的視覺,對於觸覺、視覺、聽覺等多感官都提供了更深 的沉浸式體驗。使用這套系統的即時互動展演 - "電子肌膚",透過問卷的回收得到體 驗者一致的稱讚,也都相當期待未來的沉浸式應用。. 6.2 未來展望 現階段 Raspberry pi 作為 BLE 和網路的中介平台 WISE Middleware 的角色,是為 了能連結儘可能多的 WISE Item,不過如果節點數不多(少於 9 個)的時候,可以考慮 改為較為普及的智慧型手機。智慧型手機不僅能連接藍牙、無線網路,近年來更有許. 35.

(47) 多手機已可支援 VR 顯示,如果能透過串流技術將顯示內容傳遞也可以達成無線化並 取代 VR 眼鏡,在透過無線網路取代有長度限制且礙腳的 HDMI 線,讓線材的限制消失 後就能完整享受全身的沉浸式應用,讓使用者從頭到腳完整投影到虛擬世界之中。 而其餘方面也預期每年都有新的硬體出現,會一代代慢慢的汰舊換新,像 Raspberry Pi 目前已出到第三代,藍牙第五代技術亦準備萌芽。其餘感測晶片也有越 來越多的功能,越來越小的體積。在未來視需求將新增的功能擴充進此平台,經過不 斷地改版加強功能,讓本平台越來越完整,有機會吸引更多人使用。. 政 治 大. 最後希望能夠結合社群網路,透過社交圈間的吸引力讓穿戴式科技能夠普及,並. 立. 再次改變科技生活,尤其當用戶數量多了後便可能出現協議好的標準規範,讓世界上. ‧ 國. 學. 現存的異質系統更容易透過有力的軟體平台整合,實現萬物聯網、萬眾互動的互動時 代,甚至配合機器人工學,完成遠端遙控機器人的夢想並將之應用在救災方面,相信. ‧. 在未來,我們的感測技術能夠成為更多科技的基石,發揮更大的影響力,助長科技社. n. al. er. io. sit. y. Nat. 會的發展。. Ch. engchi. 36. i n U. v.

(48) 參考資料 [1] Daniel Roetenberg, Henk Luinge, and Per Slycke, "Xsens MVN: Full 6DOF Human Motion Tracking Using Miniature Inertial Sensors. XSENS Technologies," version Apr 3, 2013. [2] "Internet of Things Global Standards Initiative". ITU. Retrieved 1 June 2016. [3] 蘇冠榮, 穿戴式互動展演創新應用與姿態感測技術研究. Jan 2016. [4] Arduino, https://www.arduino.cc/. Bluetooth Special Interest Group: Kirkland, WA, USA, 2010.. 學. ‧ 國. 治 政 [5] Raspberry Pi, https://www.raspberrypi.org/ 大 立 [6] Specification of the Bluetooth System, Covered Core Package, Version: 4.0; The ‧. [7] Internet of Things (IoT), http://webofthings.org/2016/01/23/wot-vs-iot-12/ [8] Protobuf, https://developers.google.com/protocol-buffers/. y. Nat. er. io. sit. [9] CF. Liao, WC. Lu, K. Chen, Zack Grannan; Chang, WC Chang, YK. Hsiao: WISE: A Wearable Platform for Performer-Guided Mixed-Reality Interactive Performance Art : 2016. n. al. Ch. i n U. v. International Conference on Platform Technology and Service, pp.1-6. IEEE Publisher (2016). engchi. [10] Ya-Lun Tao, Chun-Feng Liao, Hsuan Huang, Ya-Wen Su, Yo-Ja Lin, Pin-Hsin Chen, Tzu-Chieh Tsai, “Step In and Out of the Dreams: Toward an Immersive and Interactive Virtual Experience of Dreams, ” in Adjunct Proc. International Symposium on Wearable Computers (ISWC), Design Exhibition track, Heidelberg, Germany, 2016. [11] 電子肌膚─未來媒體藝術, http://www.mocataipei.org.tw/index.php/2012-01-12-03-46-26/2012-01-12-03-47-26/new-e vents/1936-2016-04-11-08-44-13. 37.

(49)

參考文獻

相關文件

資源和支援 學與教資源 社區資源 學校設施 和支援 研究與 發展計劃 學校領導與

回應電子平台問題 自主探索 考察點額外講解 支援學生.

經過小學四年級輔助課程四十多小時密集式的活動,組員有不同程度及層面的學習和參

Harrington (1994) 認為倫理規範的目的在闡明責任,其研究透過責任的否 認 (Denial of Responsibility, RD) 這項人格特質與倫理規範的互動來進行測 量,並以資訊系統相關的軟體盜拷

並以較淺易的方式進行評估,為學生建立學習成就感。整體而言,大多數政治演變的課題,會以概覽式課題的方法處理,即教師

Windows/ Linux/ Mac 各種平台的開發套件,使我們能夠透過各種平台來開發 Android 軟體,所有的 Android 應用程式都是使用 Java

利用 Web Survey 來蒐集資料有許多的好處。許多研究者利用 Web Survey 進行研究的主要原因在於可以降低成本、即時的回覆。然而,Web Survey

在軟體的使用方面,使用 Simulink 來進行。Simulink 是一種分析與模擬動態