Quantcast
Channel: ROS Answers: Open Source Q&A Forum - RSS feed
Viewing all articles
Browse latest Browse all 120

Fusing absolute position information and IMU-data using the ekf_localization_node

$
0
0
Hello, I have a robot car with a laser-scanner and an imu and would like to fuse the position information of the two sensors. For laser based localization I am using the hector_mapping node which produces a /poseupdate topic. Additionally I am using an imu producing the /imu/data topic. Those two shall be fused to provide a more accurate position estimate at a higher rate. After incorporating the suggestions from Tom Moore my launch files look like this: **Edit 1** I am getting better behaviour now. What I did is based on the following thoughts: The odom->baselink transformation according to Rep105 should only be computed by odometry sources (by def. relativ/differential information). However before I was using differential set to false in the /imu0 data of the odom->baselink ekf, so the odometry got the absolute heading information from the imu. Could this have caused the orientation errors? As I understood Rep105 the map->odom transform is computed indirectly by using absolute sensory information. So I thought it needs the absolute information from all source. That is why I set, differential to false for the imu topic of the map->odom ekf. Here are my updated launchfiles (the mess with hector frames reverted): **The odom-baselink ekf-instance:** [true, true, false, false, false, true, false, false, false, false, false, false, false, false, false] [false, false, false, false, false, true, false, false, false, false, false, true, true, true, false] **The map-odom ekf:** [true, true, false, false, false, true, false, false, false, false, false, false, false, false, false] [false, false, false, false, false, true, false, false, false, false, false, true, true, true, false] Is there any way to check whether the ekfs are really fusing the information (and *not* throwing away the imu data)? For testing that I set the usage of all poseupdate values for both ekfs to false so as to only use the imu. Then of course everything was drifting wildly but I could see rotations and accelerations of the vehicle. Although the baselink frame is now stable and the odom frame is only driftnig very little (10-20cm) I sometimes get jerks in the baselink position of a couple of centimetres. I read the ekf does this because of improper covariances? Setting the differential option to true in the map->odom ekf did not change anything though.

Viewing all articles
Browse latest Browse all 120

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>