ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Setup Process Noise Covariance of robot_localization with enabled ~use_control parameter

asked 2022-08-17 03:23:20 -0500

Laschoking gravatar image

updated 2022-08-17 03:59:16 -0500

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

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-08-18 14:51:27 -0500

Laschoking gravatar image

updated 2022-08-18 14:53:13 -0500

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.

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2022-08-17 03:23:20 -0500

Seen: 107 times

Last updated: Aug 18 '22