|
相信feng_matrix 已经看过kb6mcc老兄贴出来的kalman算法,读后有几个疑问一直没有得到解答。
函数 float kalman_update(float gyroscope_rate, float accelerometer_angle) 中有几点没看懂:
1. gyroscope_rate 是角速度值? accelerometer_angle 是加速度值还是通过3轴角速度计算得到的角度?
2.函数返回值 return xhat[0][0] 是角度?
3. // Update the state estimate by extrapolating estimate with gyroscope input.
// xhat_est = A * xhat + B * u
matrix_multiply((float*) A, (float*) xhat, n, n, 1, (float*) Axhat);
matrix_multiply((float*) B, (float*) u, n, r, 1, (float*) Bu);
matrix_addition((float*) Axhat, (float*) Bu, n, 1, (float*) AxhatBu);
B 的值为[0.019968,0] ,那么 B * u 是否为 角度?
4. 如果 B * u 是角度,那么 accelerometer_angle 和 return xhat[0][0] 也为角度。 |
|