Robotics StackExchange | Archived questions

While building tf map for gmapping, how to set tf tree?

While building tf map for gmapping, how to set tf tree?

Following document, http://wiki.ros.org/gmapping


Subscribed Topics tf (tf/tfMessage)Transforms necessary to relate frames for laser, base, and odometry (see below) scan (sensor_msgs/LaserScan)Laser scans to create the map from


I understood like as follow.

subscribe topie as tf made it from laser , base, odom topic,  and publish map topic. to transform tf using [ laser , base, odom ]

And in the document say like below to for making tf tree


Required tf Transforms → baselinkusually a fixed value, broadcast periodically by a robotstatepublisher, or a tf statictransformpublisher. baselink → odomusually provided by the odometry system (e.g., the driver for the mobile base)

Provided tf Transforms map → odomthe current estimate of the robot's pose within the map frame


Document say, [ map → odom ] [ base_link → odom ]

but, the project I run gmapping & built map show the tf tree like below [ map -> odom -> basefootprint -> baselink -> base_scan ]

I can not understand what does document saying. As I guess,

[ → base_link ] this could be changed as

[  base link -> base scan  ] [  odom -> base link ] like that.

please understand me.

Thankyou.

Asked by Mingdyong on 2018-03-29 21:37:01 UTC

Comments

Answers

It should be map>odom>base_footprint>base_link>laser

from bottom to top

Asked by bfdmetu on 2020-07-01 09:34:17 UTC

Comments

How can we modify the tf tree? I'm just starting to read about gmapping and SLAM so I have no idea

Asked by mgrallos on 2022-03-20 10:27:16 UTC

Maybe you mean from TOP to BOTTOM not the opposite.. right ? Because the opposite means laser->base_link->odom->map , while the gmapping is giving a tf from map->odom .Can you explain ?

Asked by Kostas Tzias on 2022-10-12 07:22:11 UTC