Re: [問題] 如何用accelerometer計算移動距離
※ 引述《kewang (617公車)》之銘言:
: 我查了很多資料,大約有下列幾種算法
:
: 1. Inertial navigation system:看了wikipedia後,還是找不到相關的計算公式
:
: 2. d = ∫∫a dt:看起來是一個很合理的公式,可是我要如何去定義這兩次積分的上下
: 限呢,因為a會一直變,所以t要怎麼定義會比較好?
:
: 3. d = V0*t + 0.5*a*t^2:跟上面第2點差不多的問題
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 118.167.141.66
: → iidkasr:如果可以精確的定義兩個時間點 在這段時間內的d都能求吧 05/07 22:58
: 推 ckaha:如果加速度器夠準 兩次積分是沒問題 但MEMS的精準度... 05/08 10:33
: → ckaha:其實一次積分就已經讓速度會有一個定量的偏移了 05/08 10:34
我今天把程式實作出來了,但是數據一直不正確
distance = 0
startTime = Time.Now()
while
startTime = endTime
endTime = Time.Now()
distance += 0.5 * x * (endTime / 10E9 - startTime / 10E9)^2 * 100
loop
我猜主要是t的這個算法,還有startTime跟endTime的取值方式好像有問題,所以算出來
非常奇怪。(Time的單位為ns)
不知道有板友可以幫忙看一下我的公式是否有誤,感恩
另外,上面說的積分公式,我還是不清楚要怎麼取值,有板友也可以幫忙一下嗎??
--
雜七雜八的kewang部落格 http://kewang.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.141.66
推
05/08 22:02, , 1F
05/08 22:02, 1F
討論串 (同標題文章)