Transform from [robot_name]/base_footprint to map
I have a problem configuring and running navigation stack on a turtlebot 2 kobuki base. In general, I try to make a system of multiple turtlebots which navigate using one map. That is why I have one map frame and multiple turtlebots' frames which have a map as common parent. When I run my launch file for each turtlebot I get the following error:
Waiting on transform from pinky/base_footprint to map to become available before running costmap, tf error:
As I understood there is no transform between pinky/base_footprint and map. However, it works when don't specify tf_prefix and group name. Therefore, I am not sure where is the problem. I checked all the launch files and changed global paths (e.g. /base_footprint to /pinky/base_footprint). Does it mean that I have to specify the transformation manually? (e.g. static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 1.0 /map /pinky/odom 100). When I specify the transformation between pinky/odom and map frames using this command rosrun tf static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 1.0 /map /pinky/odom 100
It says everything is ok and the tree looks normal but when I try to send goal to my turtlebot "pinky" I get warning: MessageFilter [target=map ]: Dropped 100.00% of messages so far. Please turn the [ros.costmap_2d.message_notifier] rosconsole logger to DEBUG for more information.
Here is the code for my launch file:
<launch>
<group ns="pinky">
<param name="tf_prefix" value="pinky" />
<include file="$(find turtlebot_bringup)/launch/3dsensor.launch">
<arg name="rgb_processing" value="false" />
<arg name="depth_registration" value="false" />
<arg name="depth_processing" value="false" />
<!-- We must specify an absolute topic name because if not it will be prefixed by "$(arg camera)".
Probably is a bug in the nodelet manager: https://github.com/ros/nodelet_core/issues/7 -->
<arg name="scan_topic" value="/pinky/scan" />
</include>
<arg name="initial_pose_x" default="0.0"/> <!-- Use 17.0 for willow's map in simulation -->
<arg name="initial_pose_y" default="0.0"/> <!-- Use 17.0 for willow's map in simulation -->
<arg name="initial_pose_a" default="0.0"/>
<include file="$(find turtlebot_navigation)/launch/includes/DG_amcl.launch.xml">
<arg name="initial_pose_x" value="$(arg initial_pose_x)"/>
<arg name="initial_pose_y" value="$(arg initial_pose_y)"/>
<arg name="initial_pose_a" value="$(arg initial_pose_a)"/>
</include>
<include file="$(find turtlebot_navigation)/launch/includes/move_base.launch.xml"/>
</group>
</launch>
In the move_base.launch.xml file I also remapped topic map to /map (because I want to make map shareable between all the turtlebots). In addition I have changed robot_base_frame global and local cotmap params.
It looks to me that the problem in the DG_amcl.launch.xml file. Here is this file:
<launch>
<arg name="use_map_topic" default="false"/>
<arg name="scan_topic" default="scan"/>
<arg name="initial_pose_x" default="0.0"/>
<arg name="initial_pose_y" default="0.0"/>
<arg name="initial_pose_a" default="0.0"/>
<node pkg="amcl" type="amcl" name="amcl">
<param name="use_map_topic" value="$(arg use_map_topic)"/>
<!-- Publish scans from best pose at a max of 10 Hz ...