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

move_base strange behaviour when using earth referenced heading

$
0
0
Hey guys, I am performing gps waypoint navigation using `move_base` for the navigation side of things. My localization setup uses `robot_localization` i run two instances of this in order to fuse the gps, so first instance has wheel odom + IMU and second instance has wheel odom + IMU + GPS. My IMU does not provide an earth referenced heading so i have a gnss heading receiver setup and i pipe the heading into a Pose message of the following format: ![image description](https://i.imgur.com/HlCEr42.gif) I have two pose messages setup, one for the odom frame and one for the map frame **both** are the exact same but with different `frame_id`. I fuse the earth reference heading into both `robot_localization` nodes in the following way: ekf_se_odom: frequency: 20 two_d_mode: true sensor_timeout: 0.15 transform_time_offset: 0.0 transform_timeout: 0.0 print_diagnostics: true debug: false map_frame: map odom_frame: odom base_link_frame: base_link world_frame: odom odom0: /warthog_velocity_controller/odom odom0_config: [false, false, false, false, false, false, true, true, false, false, false, true, false, false, false] odom0_queue_size: 10 odom0_nodelay: true odom0_differential: false odom0_relative: false # GNSS HEADING POSE MESSAGE (ODOM) pose0: /gps/odometry_odom pose0_config: [false, false, false, false, false, true, false, false, false, false, false, false, false, false, false] pose0_queue_size: 10 pose0_nodelay: true pose0_differential: false pose0_relative: false imu0: /mcu_imu/data imu0_config: [false, false, false, false, false, false, false, false, false, false, false, true, true, true, false] imu0_differential: false imu0_nodelay: false imu0_relative: false imu0_queue_size: 10 use_control: false ekf_se_map: frequency: 20 sensor_timeout: 0.15 two_d_mode: true transform_time_offset: 0.0 transform_timeout: 0.0 print_diagnostics: true debug: false debug_out_file: "/home/alec/debug_ekf.txt" map_frame: map odom_frame: odom base_link_frame: base_link world_frame: map odom0: /warthog_velocity_controller/odom odom0_config: [false, false, false, false, false, false, true, true, false, false, false, true, false, false, false] odom0_queue_size: 10 odom0_nodelay: true odom0_differential: false odom0_relative: false # GNSS HEADING POSE MESSAGE (MAP) pose0: /gps/odometry_map pose0_config: [false, false, false, false, false, true, false, false, false, false, false, false, false, false, false] pose0_queue_size: 10 pose0_nodelay: true pose0_differential: false pose0_relative: false odom2: /bunkbot_localization/odometry/gps odom2_config: [true, true, false, false, false, false, false, false, false, false, false, false, false, false, false] odom2_queue_size: 10 odom2_nodelay: true odom2_differential: false odom2_relative: false imu0: /mcu_imu/data imu0_config: [false, false, false, false, false, false, false, false, false, false, false, true, true, true, false] imu0_differential: false imu0_nodelay: true imu0_relative: false imu0_queue_size: 10 use_control: false **The Problem** Whenever i fuse in the earth referenced heading, record some GPS waypoints and attempt to navigate i get a very strange behaviour! see below: ![image description](https://i.imgur.com/IKjPFeK.gif) **BUT:** When i **do not** fuse the earth reference heading. the navigation works fine????? see below: ![image description](https://i.imgur.com/Gl2zucY.gif) Does anyone know why this would be happening? I remap the `move_base` odom topic to my ekf filtered output: And i have checked this topic's output with both fused gnss heading and without and they seem to be fine?

Viewing all articles
Browse latest Browse all 667

Trending Articles



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