Ask Your Question
0

robot_localization: unable to use odometry/filtered as input

asked 2018-02-17 07:08:45 -0600

simff gravatar image

updated 2018-02-20 04:26:10 -0600

Hi,

I'm using ROS Kinetic and a Clearpath Husky robot. I have an already running ekf_localization_node on my robot that gives me the base_link -> odom and outputs an odometry/filtered topic. Now, on the top of it, I want to use robot_localization to fuse global absolute data with markers.

I want to use the odometry data for my second ekf_global, hence I want the odometry/filtered topic to be subscribed by this node. Here is my launch file:

<?xml version="1.0"?>
<launch> 
<node pkg="robot_localization" type="ekf_localization_node" name="ekf_se" clear_params="true">
<rosparam command="load" file="$(find robot_localization)/params/my_ekf.yaml" />
<remap from="odometry/filtered" to="finalpose"/>
</launch>

The param file my_ekf.yaml is below:

frequency: 30

sensor_timeout: 1

two_d_mode: true

debug: false

publish_tf: true

publish_acceleration: false

map_frame: map              # Defaults to "map" if unspecified

odom_frame: odom            # Defaults to "odom" if unspecified

base_link_frame: base_link  # Defaults to "base_link" if unspecified

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

dynamic_process_noise_covariance: true

odom0: od
odom0_config: [true,  true,  false,
               false, false, true,
               false, false, false,
              false, false, false,
               false, false, false]      
odom0_differential: false
odom0_relative: false
odom0_queue_size: 40

odom0_nodelay: false

process_noise_covariance: [0.0001, 0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0.0001, 0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0.0001, 0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0.0001, 0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0.0001, 0,    0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0.0001, 0,     0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0.0001, 0,     0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0.0001, 0,    0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0.0001, 0,    0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0.0001, 0,    0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0.0001, 0,    0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0.0001, 0,    0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0.0001, 0,    0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0.0001, 0,
                           0,    0,    0,    0,    0,    0,    0,     0,     0,    0,    0,    0,    0,    0,    0.0001]


initial_estimate_covariance: [1e-2, 0,    0,    0,    0,    0,    0,    0,    0,    0,     0,     0,     0,    0,    0,
                              0,    1e-2, 0,    0,    0,    0,    0,    0,    0,    0,     0,     0,     0,    0,    0,
                              0,    0,    1e-2, 0,    0,    0,    0,    0,    0,    0,     0,     0,     0,    0,    0,
                              0,    0,    0,    1e-2, 0,    0,    0,    0,    0,    0,     0,     0,     0,    0,    0,
                              0,    0,    0,    0,    1e-2, 0,    0,    0,    0,    0,     0 ...
(more)
edit retag flag offensive close merge delete

Comments

@simff: please review the support guidelines. Do not post screenshots/images of text files or consoles. Copy-paste it into your question.

gvdhoorn gravatar imagegvdhoorn ( 2018-02-18 04:48:36 -0600 )edit

Yes sorry, using Windows system I had some issues with that, I could not use Linux not being at my work place. I will correct it tomorrow.

simff gravatar imagesimff ( 2018-02-18 05:29:55 -0600 )edit

2 Answers

Sort by » oldest newest most voted
0

answered 2018-02-23 06:59:38 -0600

stevejp gravatar image

Standard practice would be to fuse your wheel odometry + IMU + absolute pose information in the second EKF instead of feeding the filtered odometry from the first EKF into the second EKF.

edit flag offensive delete link more

Comments

Hi, good point, but for my case I want to have distinct map and odom frames :)

simff gravatar imagesimff ( 2018-02-23 08:43:52 -0600 )edit
0

answered 2018-02-18 03:29:56 -0600

nikfio gravatar image

Are you using the laptop as a master connected through wifi with the robot?

What is the output of

    rosrun tf view_frames

?

edit flag offensive delete link more

Comments

Hi @nikfio, thanks for the reply, I answered you above :)

simff gravatar imagesimff ( 2018-02-19 02:52:36 -0600 )edit

are you generating the /map topic?
what about trying another package different from ekf ? or do you have to use that absolutely?

nikfio gravatar imagenikfio ( 2018-02-19 07:14:43 -0600 )edit

map-->odom is generated as soon as the Ekf gets a valid input, according to my understanding of the wiki. I choose to use that pkg because it is very well explained, and it should pretty much work for my case :) What do you suggest to use then? How would you solve my issue above? Thanks for helping

simff gravatar imagesimff ( 2018-02-20 02:17:49 -0600 )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-02-17 07:08:45 -0600

Seen: 295 times

Last updated: Feb 20 '18