2016-03-06 36 views
0

我的目標是在我的Android手錶(Sony Smartwatch)上顯示簡單的行程速率檢測器,爲此我需要檢測手錶何時從向前移動到向後移動。如何使用Android Wear上的加速度計記錄划船行程

我有代碼工作,將獲得在onSensorChanged事件中檢測到的事件值(x,y,z)(並將它們顯示在手錶上),但我很難理解這些。

我理解給定軸上的值報告加速度,我知道z報告重力。但是,如果這些數值只是報道加速度,我不清楚如何知道何時發生方向變化。我認爲一個正數表示加速度,0表示一個恆定速度,一個負數表示減速度......這是否正確?如果是這樣,我怎麼能檢測手錶何時從前進到後退改變方向?

在此先感謝。

回答

0

Android Wear在檢測動作方面與「傳統」Android沒有區別。基本上,您需要考慮加速度計正在錄製的內容:原始加速度(噪聲的批號)。要確定動作,您需要查看一段時間的趨勢,並可能整合平滑的加速度計數據。這不是微不足道的。

您可能會想要使用TYPE_LINEAR_ACCELERATIONsensor,因爲它濾除了重力(這與您的用例無關)。而且由於手錶可能會在划船過程中出現一些旋轉(需要分解),因此您可能需要將TYPE_ROTATION_VECTOR與加速度矢量組合起來以精確確定方向變化。

幾個其他的做題可以幫助你指明正確的方向:

我還沒有嘗試,當然這個具體問題,但我已經做了足夠的其他與Android運動傳感器相關的工作,以瞭解您面前的編程挑戰。好好享受!

+1

感謝您的輸入和指針,哇集成我將不得不撣掉我非常老的數學書籍。 –