IMU and Odometry fusing for Localisation
Hi Everyone , I am very new to ROS , I am trying to fuse odometry and IMU data using robot localisation package , I am having errors in frames I think so follwoing is my yaml file parameters
map_frame: map # Defaults to "map" if unspecified
odom_frame: calculated_odom # Defaults to "odom" if unspecified
base_link_frame: base_link # Defaults to "base_link" if unspecified
world_frame: calculated_odom # Defaults to the value of odom_frame if unspecified
odom0_config: [true, true, false,
false, false, false,
true, true , false,
false, false, true,
false, false, false]
imu0_config: [false, false, false,
false , false, false,
false , false , false,
false , false , true,
false , false , false ]
I have tested both odometry (encoder ) and fused odometry filtered ( IMU + encoder) data using square test and but there was only +-5 % error , which is acceptable
Problem : When skidding is happening filtering is not done with proper trust on correct data , is there any frame problem covariance problem ??
The covariances would be interessting. I would use the imu vx, vy and yaw from odometry instead of vyaw, vx, vy. What kind of skidding are we talking about here. Like a car going sideways or just little slips, of single wheels now and then?
@ihassnain FYI do not have two different devices measure the same value. You have both your odom and IMU measuring the z rotation velocity. This is not suggested because when your filter receives conflicting measurements the filter will jitter. For any single state you should have only one measurement source.