31
崑崑崑崑崑崑 崑崑崑崑崑 崑崑崑崑崑崑 動動動動動動 Action comparison system 動動 4010E077 動動動 4010E024 動動動 4010E028 動動動 4010E097 動動動 動 動 動 動 105 動 04 動

eportfolio.lib.ksu.edu.tweportfolio.lib.ksu.edu.tw/user/4/0/4010E077/repository... · Web view專題期末報告 動作比對系統 Action comparison system 指導教授:張慶寶

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

崑山科技大學

資訊工程系

專題期末報告

動作比對系統

Action comparison system

      指導教授:張慶寶

      專題組員:4010E077李奕辳

           4010E024鄭國成

           4010E028翁世盈

           4010E097吳承軒

中 華 民 國105年04月

授權同意書

動作比對系統

學生:李奕辳 鄭國成 翁世盈 吳承軒  指導老師:張慶寶

崑山科技大學資訊工程系

摘要

  隨著人們對於健康管理的重視,有越來越多人從事休閒活動,其中球類運動

又為使用者選擇的活動,然而對於初學者在正確動作的學習上卻不容易掌握,因

此本研究希望能透過利用行動裝置結合感測器來擷取使用者活動資訊,並找出教

練與學習者動作之間的差異性,我們想藉由三軸加速器來取得運動時動作的值,

再藉由Arduino將值傳送到手機,手機端再利用藍牙去讀取值。而透過使用者活

動資訊的擷取除了可以了解使用者活動的規律,亦可以比對不同活動的差異性,

藉以改善學習效果。

ii

目錄

授權同意書i

摘要ii

目錄1

圖目錄2

第1章緒論3

1.1研究動機3

1.2研究目的3

1.3專題內容概述3

第2章相關研究4

2.1Bluetooth4

2.2Arduino5

2.3Android5

2.4動態時間扭曲6

第3章系統架構7

3.1系統架構簡介7

3.1.1資料整合架構7

3.2硬體電路架構8

3.2.1Arduino ProMini11

3.2.2BC04 藍牙12

3.2.3三軸加速器(MMA8451晶片)13

第4章系統實現14

4.1使用說明,實際操作步驟14

4.2硬體焊接步驟15

4.3藍牙接收三軸的值17

4.4將值儲存至SD卡22

4.5SQLite查詢程式碼24

4.6比對程式26

第5章結論與未來展望28

參考文獻28

個人貢獻29

圖目錄

圖2.1…………………………………………………………………………………06

圖3.1…………………………………………………………………………………07

圖3.2…………………………………………………………………………………08

圖3.3…………………………………………………………………………………09

圖3.4…………………………………………………………………………………09

圖3.5…………………………………………………………………………………09

圖3.6…………………………………………………………………………………10

圖3.7…………………………………………………………………………………10

圖3.8…………………………………………………………………………………10

圖4.1…………………………………………………………………………………15

圖4.2…………………………………………………………………………………15

第1章緒論1.1 研究動機

  隨著電腦使用的普及,使得許多電腦族透過電腦與手機的使用就可以獲得資訊,也因此不常運動,即使想要運動,也會因為無法獲得正確的姿勢,以致無法達到運動效果,即使經由教練的教導,卻也可能因為無法注意到微小的動作細節,而無法達到正確得姿勢,雖然透過錄影的方式可以找出學員不正確的姿勢,但卻需要耗費相當的人力,因此本研究提出透過動作擷取的方式來找出學員不正確的姿勢,以提供教練參考。

1.2 研究目的

  本研究利用多個三軸加速器來進行教學者(instructor)與學習者(leaner)動作資訊的擷取來取得動作的資訊,並由系統對於教練的動作與學習者的動作進行比對,以便找出動作不同的地方,以提供教練與學習者來修正動作,以提升學習效果。本研究利用多個動作資訊點的資料蒐集以期能精準的描述動作,再透過手機上錄影的功能來記錄動作的過程,由本研究所提出的APP來比對教練與學習者的動作不同的地方,此資訊將結合所錄影像的時間點,並直接將動作不同的影像片段呈現給教練與學習者觀看,以面瞭解學習者與教練在動作上的差異性,如此可以快速找出有問題的動作點。

1.3 專題內容概述

  利用三軸加速器來蒐集使用者動作所產生的加速度,此部分由多個三軸加速器所組成,分別貼於使用者的手部的各個部位(包含手腕與手肘部分),這些資訊再透過無線傳輸的方式傳送到資料整合器,資料整合器負責連接多個資料蒐集器,並將所蒐集到的資料傳送到手機,最後再由手機中的APP來進行分析的作業。

第2章相關研究

2

2.1 Bluetooth

  藍牙(Bluetooth),是一種無線個人局域網(Wireless PAN),最初由易利信創製,後來由藍牙技術聯盟訂定技術標準。藍牙可以支援功能更強的長距離通訊,用以構成無線區域網路。每個Bluetooth裝置可同時維護8個連線。可以將每個裝置配置為不斷向附近的裝置宣告其存在以便建立連線。另外也可以對二個裝置之間的連線進行密碼保護,以防止被其他裝置接收。

  藍牙的標準是IEEE 802.15.1,藍牙協定工作在無需許可的ISM(Industrial Scientific Medical)頻段的2.45GHz。最高速度可達723.1kb/s。為了避免干擾可能使用2.45GHz的其它協定,藍牙協定將該頻段劃分成79頻道,(頻寬為1MHZ)每秒的頻道轉換可達1600次。

藍牙協議堆疊依照其功能可分四層:

  核心協議層(HCI、LMP、L2CAP、SDP)

  線纜替換協定層(RFCOMM)

  電話控制協定層(TCS-BIN)

  選用協議層(PPP、TCP、IP、UDP、OBEX、IrMC、WAP、WAE)

藍牙規範(Profile)是指藍牙通訊在那一種用途下應該使用的通訊協定和相關的規範。藍牙1.1定義的profile有13個。藍牙技術聯盟(SIG)認為藍牙裝置有4個最基本的Profile:

  General Access Profile(GAP)

  Service Discovery Application Profile(SDAP)

  Serial Port Profile(SPP)

  General Object Exchange Profile(GOEP)

2.2 Arduino

  Arduino,是一個開放原始碼的單晶片微控制器,它使用了Atmel AVR單片機,採用了基於開放原始碼的軟硬體平台,建構於簡易輸出/輸入(simple I/O)介面板,並且具有使用類似Java、C語言的Processing/Wiring開發環境。

· 基於創用CC(任何人都被允許生產電路板的複製品,還能重新設計,甚至銷售原設計的複製品。你不需要付版稅)開放原始碼的電路圖設計。

· 免費下載,也可依需求自己修改,但需遵照姓名標示。您必須按照作者或授權人所指定的方式,表彰其姓名。

· 依相同方式分享,若您改變或轉變著作,當散布該衍生著作時,您需採用與本著作相同或類似的授權條款。

· Arduino 可使用 ICSP 線上燒入器,將 Bootloader 燒入新的 IC 晶片。

· 可依據Arduino官方網站,取得硬體的設計檔,加以調整電路板及元件,以符合自己實際設計的需求。

· 可簡單地與感測器,各式各樣的電子元件連接,如 紅外線、超音波、熱敏電阻、光敏電阻、伺服馬達…等。

· 支援多樣的互動程式,如 Adobe Flash, Max/MSP, VVVV, Pure Data, C, Processing… 等。

· 使用低價格的微處理控制器 (Atmel AVR) (ATMEGA 8,168,328等)。

· USB 介面,不需外接電源。另外有提供直流(DC)電源輸入。

2.3 Android

  Android,中文俗稱安卓,是一個以Linux為基礎的開放原始碼行動裝置作業系統,主要用於智慧型手機和平板電腦,由Google成立的Open Handset Alliance(OHA,開放手機聯盟)持續領導與開發中。Android已發佈的最新版本為Android 5.0(Lollipop)。

  Android系統是基於Linux核心開發,使用Java作程式語言,使介面到功能,都有層出不窮的變化,其中Activity等同於J2ME的MIDlet,一個Activity類別負責建立視窗,一個活動中的Activity就是在foreground(前景)模式,背景執行的程式叫做Service。兩者之間透過由ServiceConnection和AIDL連結,達到複數程式同時執行的效果。如果執行中的Activity全部畫面被其他Activity取代時,該Activity便被停止,甚至被系統清除。

  View等同於J2ME的Displayable,程式人員可以透過View類別與「XML layout」檔將UI放置在視窗上,並可以利用View打造出所謂的Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout。至於ViewGroup是各種layout的基礎抽象類別,ViewGroup之內還可以有ViewGroup。View的建構函式不需要在Activity中呼叫,但是Displayable的是必須的,在Activity中,要透過findViewById()來從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的。View與事件息息相關,兩者之間透過Listener結合在一起,每一個View都可以註冊event listener,例如:當View要處理使用者觸碰的事件時,就要向Android框架註冊View.OnClickListener。另外還有Image等同於J2ME的BitMap

圖2.1 Android系統架構圖示

2.4 動態時間扭曲

  在時間序列分析,動態時間規整(DTW)是一種算法,用來測量兩個可能會改變時間或速度的序列間的相似性。例如,在行走模式的相似性可以用DTW來檢測,即使一個人走比另一個更快,或者如果一個觀測值的過程中,有加速和減速。DTW已應用於視頻,音頻的時間序列,和圖形數據,事實上,任何線性序列的任何數據都可以使用DTW進行分析。如眾所周知的自動語音識別應用,使用在應付不同說話速度上;其他應用包括人語的識別和簽名識別,可以看出他也能用在實際形狀的匹配上。

在一般情況下,DTW是計算兩個給定的序列(例如,時間序列)有一定的限制之間的最佳匹配的方法,序列在一定的時間裡被非線性的扭曲,以用來測量它們一定時間內的某些非線性變化之間的相似性。

第3章系統架構

3

3.1 系統架構簡介

  本研究的系統架構圖如圖3.1所示,本系統可分成三個部分,資料蒐集器主要用於蒐集使用者動作所產生的資訊,本研究利用三軸加速器來蒐集使用者動作所產生的加速度,此部分由多個三軸加速器所組成,分別貼於使用者的手部的各個部位(包含手腕與手肘部分),這些資訊再透過無線傳輸的方式傳送到資料整合器,資料整合器負責連接多個資料蒐集器,並將所蒐集到的資料傳送到手機,最後再由手機中的APP來進行分析的作業。

圖3.1 系統架構圖

3.1.1 資料整合架構

  我們在資料蒐集器方面使用三軸加速器做成身上的貼片感測,再選用藍牙來傳送資料,三軸加速器的資料匯集到資料整合器,並透過藍牙將資料傳送到手機,在影像擷取方面則利用手機錄影的功能(錄影並擷取資料),APP則利用所獲得的資料來比對動作的差異性,並顯示差異點的影格之動作。如此則桌球教練可於指導學員時,可以捕捉到因為動作速度較快而無法及時補捉到的細微動作,並利用影像播放的功能顯示出錯誤的動作,本研究所提出的系統各部分的結構說明如下。

  資料蒐集器(Data Collector)主要由一個三軸加速器、單晶片(arduino)與無線傳輸設備藍牙(bluetooth)所組成,三軸加速器所蒐集到的資訊由單晶片蒐集並透過無線傳輸的方式傳送到資料整合器。

  資料整合器的基本架構如圖3.2所示,它主要包含三個主要的部分,第一部分為透過藍牙蒐集來自所有資料蒐集器的資料,此部分可以自動搜尋與連接經過設定的資料蒐集器,第二部分則是將所蒐集到的資料再經由藍牙傳送到手機APP來進行分析,第三部分則為單晶片與資料儲存設備,此部分透過區域性的資料儲存裝置來暫時儲存資料。

圖3.2 資料整合器架構圖

3.2 硬體電路架構

  本章節所要介紹的就是 3.1 章節所提到的資料搜集器架構。

  資料蒐集器主要使用Arduino PRO mini的板子,而三軸加速器則將資訊傳送到主板,Arduino再透過藍牙(使用BC-05)將資料傳述到手機APP上面,資料蒐集器包含三軸加速器與藍牙模組,做成可以附著於身上的貼片,三軸加速器的資料匯集到資料整合器,並透過藍牙將資料傳送到手機,在影像擷取方面則利用手機錄影的功能(錄影並擷取資料),單晶片則使用arduino,三軸加速器使用MMA8451晶片,這些所蒐集到的資訊由單晶片匯集並透過藍牙(BC-04)傳輸的方式傳送到APP進行分析,本團隊先針對架構圖製作產品的雛型系統。為了使用動作比對系統,我們必須先得到動作的資訊,首先使用三軸加速器,獲得動作的資訊,再透過三軸加速器的SDA與SCL接腳將資訊傳輸到Arduino的A4與A5接腳,最後再由藍牙傳送資訊,藉以配合手機端的藍牙來接收資料。

  圖4顯示團隊成員於資料蒐集器中增加電壓增壓器,以便與BC H05藍牙結合(在雛型製作過程電壓增壓器,將3.7v升為5.0v),由於我們的三軸加速器需要5.0v的電壓但是我們的電池只有3.7v所以我們必須將3.7v變成5.0v,然後我們將三軸加速器的VCC和GND接到電壓增壓器的正負端才使3.7v變成5.0v(如圖3.3、圖3.4),接著要把開關接上才可以使電池充電和啟動此三軸加速器(如圖3.5)。

圖3.3 將電壓增壓器和BC H05藍牙結合

  接著我們再將藍牙焊上才能使三軸資料可以傳輸到手機裝置,圖5是將電池和BC H05藍牙、電壓增壓器整合於資料蒐集器,圖6則是於接線完成後測試開關運作的情況,最終之成品如圖6所示。由於我們的成品主要是要固定在手腕上,因此我們需要用一個容器裝入資料蒐集器,並利用固定的設備將其固定於手腕上(如圖7與圖8所示),最後成品如圖9所示。

圖3.4 將電池和BC H05藍牙、電壓增壓器做整合

圖3.5 試接開關測試運作情況

圖3.6 產品實體圖(未放入盒子)

圖3.7 將成品放入盒子   圖3.8 蓋上盒子並將邊緣貼齊

3.2.1 Arduino ProMini

  Arduino的ProMini是Arduino的小型的半定制版本,所有外部腳位沒有焊接,與迷你版本管腳兼容.ArduinoProMini的處理器核心是ATmega168,同時具有14個數字輸入/輸出口(其中6個可作為PWM输出),6個模擬輸入,一個晶體諧振,一個復位按鈕。有兩個版本

1、工作在3.3V和8MHz時脈(專題用此版本)

2、工作在5V和16MHz時脈

特色

1、開放程式碼的電路設計,程序開發介面免費下載,也可依需求自己修改。 

   2、使用低價格的微處理控制器(ATMEGA8或ATmega128)。可以採用USB接口供電,不需外接電源。也可以使用外部9VDC輸入

   3、可依據官方提供的Eagle格式PCB和SCH電路圖,簡化Arduino模組,完成獨立運作的微處理控制。可簡單地與感測器,各式各樣的電子元件連接(EX:紅外線,超音波,熱敏電阻,光敏電阻,伺服馬達,三軸加速器,…等) 

   4、應用方面,利用Arduino,突破以往只能使用滑鼠,鍵盤,CCD等輸入的裝置的互動內容,可以更簡單地達成單人或多人遊戲互動。

優點:

1、 體積小 IO多 能應付大多數的中型專案開發

缺點:

1、寫入時需要配合外部 TTL 才能將程式寫入

2、固定 5V 如果需要用到 3V3 的感測元件,那轉換電路是少不了的

3、產品化後無法更新韌體

1

2

3

3.1

3.2

3.2.1

3.2.2 BC04 藍牙

應用:

該模塊主要用於短距離的數據無線傳輸領域。可以方便的和PC機的藍牙設備相連,也可以兩個模塊之間的數據互通。

  ■藍牙列印機

  ■無線數據採集

  ■藍牙無線數據傳輸

  ■自動化數據採集系統

  ■無線數據傳輸;銀行系統

特徵:

  ■空曠地有效距離15米左右,但不對此距離的連接質量做保證

    ■配對以後當全雙工串口使用,無需瞭解任何藍牙協議,但僅支持8位數據位、1位停止位、無奇偶校驗的通信格式,這也是最常用的通信格式,不支持其他格式。

    ■在未建立藍牙連接時支援通過AT指令設置串列傳輸速率、名稱、配對密碼,設置的參數掉電保存。藍牙連接以後自動切換到透傳模式

  ■體積小巧(2.7cm*1.3cm)。

    ■該鏈接為從機,從機能與各種帶藍牙功能的電腦、藍牙主機、大部分帶藍牙的手機、PDA、PSP等智慧終端配對,從機之間不能配對

  優點:

  ■隨時利用無線介面來代替有線電纜連接 Ex:藍牙耳機

  ■相容性高,可應用於各種場合,跨平台 Ex: notebook對手機, 手機對PC

    ■成本低廉,電路應用簡單,實現容易一個chip只要10 U.S.不需使用通訊埠面對面的傳輸方式無須用戶進行任何設置 對人體安全輸出功率1mW to 100mW比微波爐小1000倍

缺點:

  ■傳輸距離過短

  ■速率稍嫌不足

3.2.3 三軸加速器(MMA8451晶片)

  MMA8451 是一款具有14 位分辨率的智能低功耗、三軸、電容式微機械加速度傳感器。這款加速度傳感器具有豐富的嵌入式功能,帶有靈活的用戶可編程選項,可以配置多達兩個中斷引腳。嵌入式中斷功能可以節省整體功耗,解除主處理器不斷輪詢數據的負擔。同時具備訪問低通濾波數據和高通濾波數據的功能,可以將所需的數據分析降至最低程度,從而實現晃動檢測和快速的響應。該器件可被配置成利用任意組合可配置嵌入式的功能生成慣性喚醒中斷信號,在靜止狀態保持低功耗模式。

MMA8451模塊,高精度傾斜傳感器模塊 14BIT位數

模塊型號:GY-45-1

供電電源:3-5v(通信完全兼容5v工作系統)

模塊尺寸 長*寬 =14.5mm * 20.5 mm

安裝孔直徑 3mm ,孔距15mm

特性

1、供電電壓:1.95 V 至 3.6 V

2、接口電壓:1.6 V 至 3.6 V

3、±2g/±4g/±8g 動態量程可選

4、輸出數據速率(ODR) 範圍: 1.56 Hz 至800 Hz

5、噪聲:99μg/√Hz

6、14 位和 8 位數字輸出

7、自動喚醒和自動休眠的ODR可自動更改

8、32段 採樣 FIFO

9、高通濾波器數據可單獨輸出和通過FIFO輸出

10、功耗: 6 μA – 165 μA

第4章系統實現

1

2

3

4

4.1 使用說明,實際操作步驟

本章節主要是將整個專題的操作步驟一一做詳細解說。

●將1號裝置佩戴於手腕、2號裝置佩戴於手肘,並將1、2號裝置開啟。

按下On/Off BlueTooth將藍牙開啟,接著按下搜尋按鈕,上方兩列下拉式選單會出現搜尋到的藍牙裝置,參照盒子側面藍牙編號,分別選擇1、2號裝置由上往下選入,按下連接後即可使用(圖4.1)。

●開關切左邊為充電模式(充電完畢時,充電接頭會亮起紅燈,圖4.2)。

●開關切右邊為啟動狀態(裝置內部紅燈亮起)。

圖4.1配戴裝置

圖4.2開啟裝置

4.2 硬體焊接步驟

步驟一:

將藍牙(BC04)的TX接腳接到Arduino Pro Mini板上的第2腳位;然後RX接腳接到第3腳位,再來將藍牙(BC04)的VCC(3.3V/第12腳位)接到Arduino Pro Mini板上的RAW腳位。

第2腳位

RAW腳位

第3腳位

步驟二:

之後將藍牙(BC04)的GND接到Arduino Pro Mini板的GND,再來將Arduino Pro Mini板的A4腳位接到三軸加速器(MMA7455)的SDA腳位;而A5腳位接到三軸加速器(MMA7455)上的SCL腳位。

A5腳位

A4腳位

SCL腳位

GND

SDA腳位

步驟三:

最後將三軸加速器(MMA7455)上的VCC和GND接到三段開關所對應的VCC/GND接腳,即可大功告成。(附註:三段開關共有上下兩排接腳,任選一排當作VCC/GND,則另一排反之)

VCC

GND

4.3 藍牙接收三軸的值

藍牙APP畫面

 宣告下拉式選單,設置適配器,監聽點選下拉式選單程式碼。

設置適配器,監聽點選下拉式選單程式碼。

用來搜尋藍牙設備,可看到藍牙裝置連線狀態程式碼。

藍牙連接程式碼。

連接程式碼,執行執行緒。

接收值程式碼。

顯示資料程式碼。

4.4  將值儲存至SD卡

顯示出值      文字儲存       讀取文字

    

文字儲存程式碼:

讀取文字程式碼:

顯示程式碼:

4.5  SQLite查詢程式碼

  查詢畫面     無輸入就按查詢    輸入但查無資料

    

查詢2015年度資料 查詢20150402的資料

  

建立表單程式碼:

預設資料查詢程式碼:

資料查詢程式碼:

顯示程式碼:

4.6 比對程式

使用手冊:將比對的資料讀入F S 兩個陣列 陣列大小由動作長短自行決定

0那行必須保留 cal_F 與 cal_S兩個陣列的大小與FS的row長度相同,下方flag陣列內為記錄所有的最佳點,搭配時間後即可自行找出幾秒的影像。

程式碼:

import java.util.Iterator;

import java.util.Scanner;

import java.util.Set;

import java.util.TreeSet;

public class Main{

public static double DTW[][] = new double [10][10];

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner sc = new Scanner(System.in);

//inital DTW

for(int i =1;i<10;i++)

DTW[i][0]=Integer.MAX_VALUE;

for(int j =1;j<10;j++)

DTW[0][j]=Integer.MAX_VALUE;

//inital feature

double F[][]= {{0,0,0,0,0,0,0,0,0},

{0.8,0.9,0.85,0.83,0.74,0.3,0.12,0.45,0.2},

{0.7,0.8,0.83,0.8,0.72,0.89,0.15,0.86,0.46},

{0.42,0.7,0.25,0.53,0.74,0.22,0.87,0.49,0.33}};

double S[][]= {{0,0,0,0,0,0,0,0,0},

{0.23,0.13,0.45,0.83,0.74,0.3,0.1,0.46,0.5},

{0.71,0.79,0.38,0.83,0.74,0.46,0.79,0.86,0.4},

{0.77,0.65,0.7,0.33,0.74,0.20,0.17,0.50,0.3}};

double cal_F[] = new double[9];

double cal_S[] = new double[9];

//歐基里德距離

for(int j=1;j<9;j++){

for(int i =1;i<4;i++){

cal_F[j]+= Math.pow(Math.abs(F[i][j]-F[i][j-1]),2);

cal_S[j]+= Math.pow(Math.abs(S[i][j]-S[i][j-1]),2);

}

cal_F[j] = Math.sqrt(cal_F[j]);

cal_S[j] = Math.sqrt(cal_S[j]);

}

DTW[0][0] = 0;

double dis = 0;

int i,j=1;

double flag[] = new double[9];

for(i=1;i<9;i++)

{

int k =1;

for(j=1;j<9;j++)

{

dis = Math.abs(cal_F[i] - cal_S[j]);

DTW[i][j] = dis + Math.min(Math.min(DTW[i-1][j], DTW[i][j-1]),DTW[i-1][j-1]);

if(DTW[i][j] < DTW[i][k]){

k = j;

flag[i] = DTW[i][k];

}

}

//System.out.println(DTW[i-1][j-1]);

}

//顯示各個時間點最短距離

for(int f = 1;f

System.out.println(flag[f]);

sc.close();

}

}

第5章結論與未來展望

1

2

3

4

5

  本研究利用多個三軸加速器來取得教學者與學習者的動作資訊,本研究並透過對教練與學習者的動作比對來找出不同點,以便標示出動作不同的地方,以提供教練與學習者來修正動作,以提升學習效果。本研究除了利用多個動作資訊點來蒐集資料外,並透過手機上錄影的功能來記錄動作的過程,此資訊結合所錄影像的時間點,並直接將動作不同的影像片段呈現給教練與使用者參考。

  我們團隊在未來會往醫療照護的部分製作醫療照護專用的APP,現在的比對是針對運動的部分,會較強調手腕、手肘的部分,而醫療則是需要更細微的動作,當然病患會不喜歡在身上穿戴一些穿戴式物品,所以這是我們必須想辦法去設計、克服的。

參考文獻

[1]. 彭美麗,羽毛球技巧圖解,大展,2009。

[2]. 江明宏,羽毛球技術入門,大坤書局,1985。

[3]. 舛田圭太,進擊的羽毛球:打好基礎的200種練習法,楓葉社文化,。

[4]. 林昇廣,整合三軸加速度計和藍牙應用於桌球虛擬實境遊戲之研究,大同大學機械工程研究所碩士論文,2008。

[5]. 陳秀惠,技能水準與工作限制對少年桌球正手擊球表現之影響,國立台東大學體育學系碩士論文,2010。

[6]. 顏羽君,視覺式體操動作辨識系統,國立臺灣師範大學資訊工程學系。

[7]. 曾清標、衛祖賞、李與唐、高瑞成,以影像辨識實現仰臥起坐運動之自動鑑測機制,崑山科技大學資訊工程學系,2011。

[8]. Sugizo,T客邦:身體就是控制器,微軟Kinect是怎麼做到的,2010

[9]. 劉建源,ZigBee應用設計:居家照護輔助系統,正修科技大學資訊工程系,2009。

[10]. 林瀚文,ZigBee無線感測網路之混合式路由http://www.pcstore.com.tw/icshopping/M13930264.htm

個人貢獻

李奕辳:

APP設計、LOGO設計、藍牙接收資料學習與實踐、SD卡儲存,讀取學習與實踐、SQLite查詢學習與實踐、SQLite儲存學習。

吳承軒:

K-means分群法與DTW分析 學習與實踐、Android 影格(像)擷取。

鄭國成&翁世盈:

硬體、電路設計、設計外殼、成品測試、維修。

27