robot_localization setup [closed]
Hi,
I have some visual odometry, wheel odometry and an IMU, and I want to fuse all three.
Currently I am only looking at the visual odometry and the IMU, but I am having a hard time to understand the setup.
I have an odom frame and a base_link frame which is updated by the visual odometry node. Then when i add the robot_localization, i define the following:
<param name="odom_frame" value="odom"/>
<param name="base_link_frame" value="base_link"/>
<param name="world_frame" value="odom"/>
When I then run the localization node, the base_link starts to twitch around, and get much less stable. What I do not really understand is which frame the localization node is supposed to update. I assumed that I would make a separate frame which would then have the fused localization.
Anyone recommend a step by step tutorial or a working example that I could look at?
A separate frame would not follow rep 105. When using robot_localization to update the tf odom->base_link make sure you have no other node that publishes this transformation.
Also see state_estimation_nodes#published-transforms for what frame is published.
thank you, I disabled everything that was publishing any tf. Now the localisation node does its job, but it is still very noisy. From what I understand, the robot_localisation node does already apply kalman filtering, so its a matter of configuration?
Probably, mainly your covariances
Since none of my sensors produce covarience matrices, I had to add them myself. I guess, i need to set them to lower values. Is it worth using: initial_estimate_covariance?
Please publish your entire EKF configuration, and a sample message for every sensor input.