慣性室內導航入門到精通(4) 方向獲取

2021-08-29 01:44:01 字數 1467 閱讀 1883

方向的獲得通過加速度感測器和磁力計共同完成。獲得方向和步數後,就可以初步得到慣性導航座標,再根據之前獲得的指紋法座標,兩者進行卡爾曼演算法,即可獲得較精確的座標。

由於博主最近比較忙,就不詳細介紹了。直接放個**。

public

class

mainactivity

extends

implements

sensoreventlistener

@override

public

void

onsensorchanged

(sensorevent event)

if(event.sensor.

gettype()

== sensor.type_magnetic_field)

calculateorientation()

;}@override

public

void

onaccuracychanged

(sensor sensor,

int accuracy)

public

void

getsensormanager()

@override

protected

void

onresume()

}@override

protected

void

onpause()

}private

void

calculateorientation()

else

if(values[0]

>=

5&& values[0]

<85)

else

if(values[0]

>=

85&& values[0]

<=95)

else

if(values[0]

>=

95&& values[0]

<

175)

elseif(

(values[0]

>=

175&& values[0]

<=

180)

||(values[0]

)>=

-180

&& values[0]

<

-175

)else

if(values[0]

>=

-175

&& values[0]

<-95

)else

if(values[0]

>=-95

&& values[0]

<-85

)else

if(values[0]

>=-85

&& values[0]

<-5

)}}

慣性室內導航入門到精通(2) 移動平均法

接上章獲得了三軸的加速度值,但人行走時的隨意性和感測器的精度,導致加速度值並不準確從而不能直接拿來使用。所以在開始對資料進行處理。可採用簡單移動平均法 sma 來進行資料平滑。1,獲取k組資料,相加除以k,得到平滑的資料 2,下次獲取資料時,剔除第乙個資料並將獲取的資料加入 3,再將資料相加處理k,...

JAVA從入門到精通(4)

一 條件語句之if 語法 if 條件 解釋 需要先判斷條件,條件滿足後才執行後續的 注 如果if條件成立時的執行語句只有一條,是可以省略大括號的 但是執行語句有多條,那就不可以省略了。二 條件語句之if.else 語法 if 條件的布林表示式 else 解釋 條件成立時,則執行if部分的 塊 條件不...

MakeFile從入門到精通 4

makefile 變數 變數在makefile中大量使用,使得makefile更加靈活功能更加強大。同時造成了讀makefile更加難讀。所以我們要發點時間學學變數。變數基礎 變數分類 變數追加,條件賦值 目標變數 模式變數 自動變數 系統環境變數 變數傳遞 一般在makefile裡面的變數都是存的...