Setup Process Noise Covariance of robot_localization with enabled ~use_control parameter
Hi, I am unsure how to set the Process Noise Covariance when I enable the ~use_control parameter.
I have IMU & Odometry as measurements. I only receive absolute X,Y,Yaw from Odometry and Yaw and angular_velocity from the IMU. Therefore I use the differential parameter for odom so that the yaw measurements from the IMU actually have an impact on the ekf position.
two_d_mode: true
odom0_config: [true, true, false,
false, false, true,
false, false, false,
false, false, false,
false, false, false]
odom0_differential: true
imu0_config: [false, false, false,
false, false, true,
false, false, false,
false, false, true,
false, false, false]
imu0_differential:false
use_control: true
control_config: [true, false, false, false, false, true]
For the prediction I enabled the ~use_control parameter, because I want the prediction based on the /cmd_vel topic (and not IMU linear acceleration).
I have done some experiments myself and calculated the X-Variance,Y-Variance and Yaw-Variance for the process noise. Those values are in the order of 10^-4.
My question is, if it is sufficient to put those three values into the process noise covariance matrix for X,Y - and yaw-variance, and leave the rest of the values unchanged.
The prediction step is based on the vx and vyaw (setup in ~control_config) and integrates that over time to get absolute position. So I would like to know if I need to setup the vx-variance and vyaw-variance in process noise covariance too, or if the variances are only used after the integration to fuse with measurement data.
Thanks in advance, Lascho
Asked by Laschoking on 2022-08-17 03:23:20 UTC
Answers
I did some digging and I guess I can try to answer my question myself. In fact I think it is wrong that I used the differential parameter for odometry data, I will create another question about this topic probably. In the prediction step a new Position (and Orientation) is calculated based on the received velocity commands, by integrating velocity and acceleration. The process noise matrix comes into play when fusing the predicted data with the sensor data. Since I only fuse absolute data later my guess is that the vx,vy,vyaw variances don't matter so much because I don't have another source for velocity data anyway.
Asked by Laschoking on 2022-08-18 14:51:27 UTC
Comments