INTRODUCTION

硬體架構

實驗中使用兩組九軸動作感測器,分別緊貼在標準籃球的對面,如圖2-3所示。之所以用兩組感測器而不是用一組,是為了去除籃球轉動時所產生的向心加速度。理論上,收集的資料是要顯示球體中心的運動狀態,而球心是不受向心加速度的影響,因此為了模擬球心的正確運動情況,使用正對面的兩組感測器,將其所得到的加速度加起來再除以二,以此來達到目的。

向心加速度的去除

如何去除向心加速度是一個十分重要的問題。當球體在旋轉時,位於球表面的感測器將受到向心加速度影響,而加速度計會將其記錄下來。因此感測器中記錄的加速度的資料中除了有球所受到的加速度之外,還會加上向心加速度,而這是我們所不希望的。舉例來說,若球做自由落體運動時,理論上推測球體只受加速度影響,因此z軸絕對加速度將為-1G。然而若球有旋轉,受到向心加速度的影響,加速度的資料中將觀察到三軸會有不同振幅不同相位但同頻率的正弦波,這是因為向心加速度被分到三軸上,而這會影響我們判斷球是否正在做自由落體。

為了去除向心加速度,使用分別貼在球體正對面的兩組感測器,將其所得到的加速度加起來再除以二,來抵銷感測器測到的向心加速度。這是因為理論上兩組感測器測到的向心加速度將會是大小相同但方向相反的加速度。

運球演算法設計

要辨認出每一次的運球動作,我們可以設一個門檻值(threshold)幫助判斷,若有一個z軸絕對加速度的峰值超過門檻值,就可以假設這是一次撞擊地面的特徵,因此可以判斷為一個運球動作。門檻值的設定,必須讓每次撞擊地面的峰值都滿足,才能使演算法的正確率提升,因此我們從實驗中觀察所有的運球落地的峰值,並取其中的最小值,決定將這門檻值設為0.5G。

接下來為了防止誤判其他波形,例如:用手接球所造成z軸加速度震盪。如圖2-10所示,在圖形前後有一些極值十分逼近門檻值,但這些卻不是球撞擊地面所造成的,而是用手接球的情形。要過濾掉這些狀況,我們可以觀察到球撞擊地面所造成的峰值是非常尖銳的,其在峰值前後的值通常會掉落的非常迅速。所以我們可以藉由判斷峰值前一定時間內的值是否和峰值相差一定的值,來過濾掉其他情形。

要從決定峰值前多久的值與其相比,也是使用和峰值的門檻值一樣的方法,藉由觀察我們實驗的數據,將其定為0.1秒。而決定與峰值相差多少也是一樣方法,我們將其定為1G。也就是說,即使一峰值過了訂定的門檻值,但若判斷峰值發生前0.1秒內的值和其相差不到1G,將被視為我們不要的情況而被演算法過濾掉,而不算一次運球動作。演算法的辨認結果,

投籃特徵辨認

根據上述投籃動作的特徵,要辨認是否有投籃動作,我們可以找資料中z軸加速度開始大於0到小於0的所有區間,並對它們訂出峰值的門檻值、持續時間的門檻值和對於時間積分的門檻範圍。設置對時間積分這個門檻值的原因,是因為我們必須判斷這個區間所獲的向上速度總變化必須大於一個門檻,是一個重要判斷。若這個區間同時過了三個訂定的門檻值,就可以將之視為一個投籃動作。而根據觀察蒐集到的資料,我們將峰值的門檻值設為1.5G,對於時間積分的門檻範圍設為0.735m/s到9.8m/s,對於持續時間的門檻值設為0.075秒。

投籃命中特徵辨認

根據命中籃框的特徵,我們設計演算法來判斷資料中從投球的時間點開始算起一定時間內,z軸加速度開始大於-1G到小於-1G的所有區間,因為命中籃框前球體是做自由落體運動,所以從-1G開始判斷。接著也是設置峰值的門檻值和持續時間的門檻值,值得一提的是持續時間的門檻值十分重要,是區分撞擊籃板與命中籃框的情況。若這個區間同時過了兩個個訂定的門檻值,就可以將之視為有命中籃框。而根據觀察蒐集到的資料,我們將峰值的門檻值設為0.5G,對於持續時間間距的門檻值設為0.065秒,而從投球的時間點開始算起一定的時間內做命中判斷,這個時間定為1秒。

投籃出手角度計算

計算出手角度的方法主要是對投球特徵做三軸對時間的積分。當作完投球辨認的演算法時,就可以得到一個時間上的區間。藉由對三軸做時間上的積分可分別得到三軸的速度,並對於x、y方向的速度做向量的加法即可得到水平速度,接著藉由對水平速度與垂直速度取反正切(tan-1)即可得到投球的仰角。要注意的是,對加速度做時間上的積分會將誤差累積,也就是積分越久時間得到的速度會與實際的速度相差越多。我們的實驗投球動作皆在1秒內,實際情況和計算的誤差值仍在可接受的範圍,在3.2.3節會說明投球角度的誤差結果。

投籃距離計算

計算投球距離是運用上述得到的水平速度,與投球之後到撞到籃板或籃框的時間相乘,可以算出投球時人與籃板的距離,如圖2-16所示。在演算法上,投球動作後到第一個峰值的時間點為撞到籃板或籃框的時間差,所得到的時間差再與水平速度相乘即為投球距離。搜尋投球動作後第一個峰值的最小值門檻值設為0.25G。

結論

此專題的目的是提供一套系統來幫助運動員可以記錄與分析運球與投球的各項資訊。而整套系統對於偵測運球次數、投籃動作、偵測是否有命中籃框、投球出手角度與投球距離皆有平均80%以上的正確率,甚至在命中與出手角度的判斷能夠接近90%。因此我們認為這個系統有達到一開始設立的目標。但在這些偵測項目中,我們認為偵測是否有命中與計算投球距離還有改善空間,若能再更深入分析並改善其失敗的原因,將能有效提升正確率並縮小正確率的標準差,達到每一筆資料結果都能十分準確的描述真實的運動情況。

此專題還能有很多更多深入研究的空間。除了上述須著手改善其正確率之外,尚須研究系統在各種不同投球姿勢與投球距離的情況下,是否能依舊達到高正確率,以及系統是否能應付多次且快速投球的情況。最後,我們還可以改善此系統並將其實現在行動裝置平台上,達到方便攜帶且高效率地幫助運動員收集並分析運動資料的目的。


Fig. 1


Fig. 2


Fig. 3


Fig. 4


Fig. 5

心得感想

心得感想

在專題的一開始,其實沒有料到我們能夠做出這樣的成果。第一學期做專題時,老師只是讓我們熟悉感測器並各自做出一點小成果;到了第二學期初,老師提出了有廠商想研發運動感測方面的技術,而我們也認為在做專題的同時還能結合運動的樂趣十分新奇,至此才確定了我們的專題方向。

我們每個禮拜與老師meeting一次,每次都會準備簡報做為紀錄並報告研究進度。而老師總是在meeting時提點我們做實驗時該注意的細節、研究演算法時可能遇到的問題、整理實驗結果時不該忽略的誤差、甚至是跟我們一起解決棘手的難題,在各方面都給予了我們適當的建議與幫助。因此雖然我們做的題目是沒有前人經驗可以參考的,仍舊順利地達到了一開始的目標。

在這次的專題中,從發現問題到自己想辦法解決,就算沒有學長姐可以詢問或相關資料可以參考,我們也用自己的力量完成了專題。在這過程中除了精進自己的專業能力,更重要的是學習與組員間的溝通和研究應有的精神與態度,相信這些經驗能夠對未來的挑戰有很大的幫助。

最後,我們感謝老師用心地指導且不吝於提供建議與想法,感謝組員們彼此能願意互相溝通,願意付出勞力參與專題研究,也感謝捷羅科技的幫忙與協助,我們才能如此順利的完成專題研究。