ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Odometry/Filtered of robot_localization is not computing anything

asked 2019-10-17 09:20:18 -0600

enthusiast.australia gravatar image

I am using robot_localization for fusing two input sources. one is a sensor which gives me only x and y positioning information and other is odometry. I have translated both in nav_msgs/oodmetry format with two different topic names. When i use robot_localization with them, it only publishes the exact values, not computing anything. Also if i use positioning information from both of my inputs, it only publishes the exact value of one, completely ignoring the other. Below i have both my msg outputs, Odometry/filtered output and my ekf_template.yaml file. Where i am doing wrong and why is extended kalman filter not computing anything? Ekf file:

frequency: 30
sensor_timeout: 10
two_d_mode: false
transform_time_offset: 0.0
transform_timeout: 0.0
print_diagnostics: true
debug: false
debug_out_file: /home/shairi/catkin_ws/src/debug.txt
publish_tf: true
publish_acceleration: false



#map_frame: map             
odom_frame: odom            
base_link_frame: base_footprint  
world_frame: odom           
base_link_output_frame: base_link
odom0: /odom

odom0_config: [true, true,  false,
               false, false, true,
               false, false, false,
               false, false, false,
               false, false, false]

odom0_queue_size: 5

odom0_nodelay: false

odom0_differential: false

odom0_relative: false
odom1: /odom1
odom1_config: [true, true, false,
               false, false, false,
               false, false, false,
               false, false, false,
               false, false, false]
odom1_differential: false
odom1_relative: false
odom1_queue_size: 2

odom1_nodelay: false


use_control: false
stamped_control: false
control_timeout: 0.2
control_config: [true, false, false, false, false, false]
acceleration_limits: [0, 0.0, 0.0, 0.0, 0.0, 0]
deceleration_limits: [0, 0.0, 0.0, 0.0, 0.0, 0]
acceleration_gains: [0.5, 0.0, 0.0, 0.0, 0.0, 0.5]
deceleration_gains: [0.5, 0.0, 0.0, 0.0, 0.0, 0.5]

process_noise_covariance: [0.05, 0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0.05, 0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0.06, 0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0.03, 0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0.03, 0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0.06, 0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0.025, 0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0.025, 0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0.04, 0,    0,    0,    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,     0,    0,    0.01, 0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0.02, 0,    0,    0,
                           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,    0,    0,    0.01, 0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0.015 ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2020-01-02 04:14:59 -0600

Tom Moore gravatar image

A couple things:

  • Are the time stamps on your inputs correct? Is one very old?
  • Even if the filter was respecting both, you are fusing two sources of absolute pose data. One is coming from odometry, so over time, they won't agree with each other, so the filter will start jumping back and forth between them.

You need to fuse X and Y position from your XY positioning data sensor, and X, Y, and yaw _velocity_ from your odometry. Even then, you'll eventually run into trouble, because your yaw will drift, and your true heading (as determined by using atan on your XY positioning data) won't match the robot's odometry heading. Can you compute a heading for the odom1 data source?

edit flag offensive delete link more

Question Tools

1 follower

Stats

Asked: 2019-10-17 09:20:18 -0600

Seen: 284 times

Last updated: Jan 02 '20