dur*_*uru 8 android sensor accelerometer android-sensors kalman-filter
关于从加速度计数据中去除噪声,其他传感器数据,计算时空状态以及在Android和其他设备中使用卡尔曼滤波器存在很多问题.
显然,最简单的方法是在Android上实现JKalman过滤器,以便为汽车提供稳定的移动设备.
但是看看JKalman代码包中的示例实现,它并没有说太多,它实际上与其他Kalman实现非常不同.
他们像这样实例化一个卡尔曼类:
JKalman kalman = new JKalman(4, 2);
Run Code Online (Sandbox Code Playgroud)
根据定义在哪里
public JKalman(int dynam_params, int measure_params) throws Exception {
this(dynam_params, measure_params, 0);
}
Run Code Online (Sandbox Code Playgroud)
dynam_params是"测量向量维数"和measure_params是"状态向量维数".
如何将Android中读取的传感器数据映射到这些?
下面是加速度计的数据,每500ms采样一次.在其他听众中,有来自陀螺仪和指南针的数据.我该如何将这些数据转换为输入到卡尔曼?
@Override
public void onSensorChanged(SensorEvent event) {
actualTime = System.currentTimeMillis();
if(actualTime - lastUpdateAcc < 500)
return;
else{
lastUpdateAcc = actualTime;
//update myPosition
TextView tv = (TextView)findViewById(R.id.textView3);
tv.setText(String.format("X: %8.4f -- Y: %8.4f -- Z: %8.4f",
event.values[0], event.values[1], event.values[2]));
//draw on the screen
//draw new path, if one exists
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5389 次 |
| 最近记录: |