Robotics StackExchange | Archived questions

Slam gmapping and hector

Hello!

I'm currently trying to implement a slam using gazebo.

I already have the laser tf publish, as well and the tf between the wheels and the base_link and gazebo publishes the odometry and I think it publishes the tf too.

So i'll put up the questions in order:

1- Why is the map so horrible using gmapping and it's fairly good using hector-slam?

2- My current tf tree using hector is this : image description Do I need the transforme between odom->basefootprint->baselink for slam-gmapping to work and why would I need it either way?

3-I don't really understand how the odom tf is published. I used the robotstatepublisher node and I know it publishes the wheels tf but does it also publish the odom tf or is it gazebo who does it?

Thanks in advance!

Asked by sirsomething on 2017-04-22 09:37:22 UTC

Comments

Answers

1 - How bad is it? Mind posting a map from each?

2 - gmapping use "base_link" as the base frame by default. Gmapping would only need a transform to a "base_footprint" frame if you've changed gmapping's "~base_frame" ROS param to "base_footprint".

3 - The tf tree says the trasform is being broadcast by a node called "gazebo". The transform is probably being published by a gazebo plugin from here. Post the world and model SDF files and I can tell you which one.

Asked by sloretz on 2017-04-24 09:41:01 UTC

Comments

@sloretz 1- gmapping: http://imgur.com/si8GW3d hector: http://imgur.com/LsNXr8S

2- Well, I guess my tf_tree is fine then

3-I'm using a URDF file: http://textuploader.com/drhmb It's probably gazebo_ros_control the one broadcastign the odom TF

My problem stills persists and I'm not sure if the odom data is correct but according to Rviz it looks fine. Maybe it's the map->odom tf that's not correct or something. I've no idea where to grab to make gmapping and/or hector look fine

Asked by sirsomething on 2017-04-25 05:57:19 UTC