ekf_localization_node : Filterd odometry yaw depend on IMU too much and Laser scan drift when robot rotate with filtered odometry.
I have a odometry/filtered
fuse by wheel odometry odom
and IMU imu_data
with ekf_localization. I let my robot facing a wall and do some test with the odometry/filtered
. I have two problem right now:
Problem 1
- My
odometry/filtered
when I move the robot forward and backward, rotate the robot on the spot, theodometry/filtered
output seem to be like good in rviz. - https://gph.is/g/4wg9DPD The rviz output, green arrow >
odometry/filtered
, blue arrow >odom
, the axis in front the base link axis is my laser axis. -
But when I lift the robot up to make the wheel loss contact with the ground and move the robot forward and backward, both the
odometry/filtered
andodom
output in rviz will move forward and backward too. When I rotate robot on the spot without wheel and ground contact, only the wheelodom
move, theodometry/filtered
is not moving, this make sense to me because the robot is not rotating only the wheel itself is running. - When I leave the robot not moving and rotate only the IMU, for sure the
odom
won't move, but theodometry/filtered
will be move exactly same with how I rotate my IMU manually. - Rviz output: When the robot lift up, first: Rotate the robot , Second: Move robot forward and backward, Third: Rotate only the IMU. https://gph.is/g/EvdnpAY
- Is my
odometry/filtered
depend too much on the IMU? And is it related to covariance? How to make a better configuration on this?
Problem 2
- When I rotate the robot with the
odometry/filtered
, my laser scan will drift when the robot rotate and the laser will back on right position when the robot stop. - This is the rviz output when the robot is facing a wall and not rotating. The green arrow is
odometry/filtered
and the blue arrow is pureodom
from wheel encoder. https://ibb.co/Y33m99M - This is the rviz output when I set the laser scan decay time to 20s and rotate the robot. The laser scan will rotate when the robot rotate. https://ibb.co/TB3ZpmB
- Rviz video https://gph.is/g/ZnM9XNJ
ODOM topic
header:
seq: 42461
stamp:
secs: 1560329405
nsecs: 936365909
frame_id: "odom"
child_frame_id: "base_link"
pose:
pose:
position:
x: -0.210383832846
y: -0.0374875475312
z: 0.0
orientation:
x: 0.0
y: 0.0
z: 0.145501269807
w: 0.98935806485
covariance: [0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.01]
twist:
twist:
linear:
x: 0.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0
covariance ...