ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
OK, so you have two problems here that I can see off the bat, and they are both related.
First, get rid of the static transform from map->base_footprint. Gmapping knows to update the map when that transform changes (either in translation or rotation) by a user specified amount. By using a static transform, that transform will never change and therefore the map will never update.
Second, looking at Screenshot from 2016-06-18 19:51:20.png, you can see that there is no transform between odom->base_footprint. You may have something publishing an nav_msgs/Odometry message, but there is nothing publishing the transform to the tf topic. I don't know what your odometry node looks like, but it seems to be missing the transform publisher. Take a look at lines 43-55 in the sample code of the odom tutorial.
2 | No.2 Revision |
OK, so you have two problems here that I can see off the bat, and they are both related.
First, get rid of the static transform from map->base_footprint. Gmapping knows to update the map when that transform changes (either in translation or rotation) by a user specified amount. By using a static transform, that transform will never change and therefore the map will never update.
Second, looking at Screenshot from 2016-06-18 19:51:20.png, you can see that there is no transform between odom->base_footprint. You may have something publishing an nav_msgs/Odometry message, but there is nothing publishing the transform to the tf topic. I don't know what your odometry node looks like, but it seems to be missing the transform publisher. Take a look at lines 43-55 in the sample code of the odom tutorial.
[EDIT]
Change the t.child_frame_id = base_link;
to t.child_frame_id = base_footprint;
. Frames can have multiple children but only a single parent. The way it is set up now, base_footprint is the child of both base_footprint and odom. As this isn't allowed it will latch onto the first parent to be published, in this case base_footprint.
3 | No.3 Revision |
OK, so you have two problems here that I can see off the bat, and they are both related.
First, get rid of the static transform from map->base_footprint. Gmapping knows to update the map when that transform changes (either in translation or rotation) by a user specified amount. By using a static transform, that transform will never change and therefore the map will never update.
Second, looking at Screenshot from 2016-06-18 19:51:20.png, you can see that there is no transform between odom->base_footprint. You may have something publishing an nav_msgs/Odometry message, but there is nothing publishing the transform to the tf topic. I don't know what your odometry node looks like, but it seems to be missing the transform publisher. Take a look at lines 43-55 in the sample code of the odom tutorial.
[EDIT]
Change the t.child_frame_id = base_link;
to t.child_frame_id = base_footprint;
. Frames can have multiple children but only a single parent. The way it is set up now, base_footprint base_link is the child of both base_footprint and odom. As this isn't allowed it will latch onto the first parent to be published, in this case base_footprint.