Ask Your Question
0

robot_localization ignores pose data input

asked 2018-04-13 09:28:26 -0500

Karthikeya Parunandi gravatar image

updated 2018-04-13 10:10:07 -0500

Hi, My system description is as follows: Turtlebot - ros-kinetic - Ubuntu 16.04

I am running two instances of robot_localization, odometry in the first instance and 'odometry and global pose' in the second.

1) odom--> base_footprint (this is my equivalent of base_link). I'm adding a high noise (std_dev = 1) to the /odom and publishing it as /odom_noisy : frequency: 100 two_d_mode: true

map_frame: map              # Defaults to "map" if unspecified

odom_frame: odom            # Defaults to "odom" if unspecified

 base_link_frame: base_footprint  # Defaults to "base_link" if unspecified

 world_frame: odom           # Defaults to the value of odom_frame if unspecified

odom0: /odom_noisy

odom0_config: [false, false,  false,
               false, false, false,
               true, true, false,
               false, false, true,
               false, false, false]
odom0_queue_size: 5
odom0_nodelay: false
odom0_differential: false
odom0_relative: false

use_control: true
# Whether the input (assumed to be cmd_vel) is a geometry_msgs/Twist or geometry_msgs/TwistStamped message. Defaults to
# false.
stamped_control: false
# The last issued control command will be used in prediction for this period. Defaults to 0.2.
control_timeout: 0.1
# Which velocities are being controlled. Order is vx, vy, vz, vroll, vpitch, vyaw.
control_config: [true, false, false, false, false, true]
# Places limits on how large the acceleration term will be. Should match your robot's kinematics.
acceleration_limits: [1.3, 0.0, 0.0, 0.0, 0.0, 3.4]
# Acceleration and deceleration limits are not always the same for robots.
deceleration_limits: [1.3, 0.0, 0.0, 0.0, 0.0, 4.5]
# If your robot cannot instantaneously reach its acceleration limit, the permitted change can be controlled with these
# gains
acceleration_gains: [0.8, 0.0, 0.0, 0.0, 0.0, 0.9]
# If your robot cannot instantaneously reach its deceleration limit, the permitted change can be controlled with these
# gains
deceleration_gains: [1.0, 0.0, 0.0, 0.0, 0.0, 1.0]
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.5, 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.05, 0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0.005, 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.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.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.04, 0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0 ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2018-04-13 10:02:41 -0500

Tom Moore gravatar image

updated 2018-04-13 10:06:19 -0500

Your abs_orientation message has a frame_id of world. Are you providing a static transform to convert that to map? If the EKF can't transform the input data to map, odom, or base_footprint, it can't use it.

Also, you should turn on two_d_mode. I'd also turn off control as an input until you get the rest working.

EDIT: your time stamps in abs_orientation are also not filled out. Time stamps matter to the state estimation nodes.

edit flag offensive delete link more

Comments

Yes, I have a static transform from map to world. The two_d_mode is also on (Sorry, forgot to copy that in the question). Updated now. Switching off the control doesn't make any difference too. Is there anything more that I could do? Thanks!

Karthikeya Parunandi gravatar image Karthikeya Parunandi  ( 2018-04-13 10:04:24 -0500 )edit

Edited my response.

Tom Moore gravatar image Tom Moore  ( 2018-04-13 10:06:29 -0500 )edit

Filling the time stamps did the trick. Thanks a lot!

Karthikeya Parunandi gravatar image Karthikeya Parunandi  ( 2018-04-13 17:59:34 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2018-04-13 09:28:26 -0500

Seen: 136 times

Last updated: Apr 13 '18