Rosanswers logo

I know that similar question were already asked here but there is no solution to my problem. I run navigation on several turtlebots using one shareable map. However, I have encountered a problem setting up different namespaces and tf_prefixes for each robot. I always get a warning that there is no transformation between robot_0/base_footprint and map. However, when I try to set the static transformation between robot_0/odom and map frames (these 2 frames are fixed; therefore I though that static transformation should work), I get the following 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." As a result I am not able to send any goal (e.g. going from point A to point B) even though the tree is right (map->robot_0/odom->robot_0/base_footprint->robot_0/base_link->...). I am pretty sure that someone already had similar problems. Could someone please help me, I have been working on this problem for a week but still couldn't find a solution. Here is my launch file:

<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" />

 <!-- Map server -->
 <arg name="map_file" default="/home/turtlebot/map/task1.yaml"/>
 <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)">
    <param name="frame_id" value="/map" />
    <remap from="map_metadata" to="/map_metadata"/>
    <remap from="map" to="/map"/>

 <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)"/>

<!--Static transformation included because I get warning about transformation-->
<node pkg="tf" type="static_transform_publisher" name="map_to_odom" args="0 0 0 0 0 0 /map /pinky/odom 100" />

 <include file="$(find turtlebot_navigation)/launch/includes/pinky_move_base.launch.xml"/>

I think that error is either in DG_amcl_demo.launch.xml or in pinky_move_base.launch.xml. That is why here is the code for both of these files:

<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 -->
   <param name="odom_model_type"           value="diff"/>
   <param name="odom_alpha5"               value="0.1"/>
   <param name="gui_publish_rate"          value="10.0"/>
   <param name="laser_max_beams"             value="60"/>
   <param name="laser_max_range"           value="12.0"/>
   <param name="min_particles"             value="500"/>
   <param name="max_particles"             value="2000"/>
   <param name="kld_err"                   value="0.05"/>
   <param name="kld_z"                     value="0.99"/>
   <param name="odom_alpha1"               value="0.2"/>
   <param name="odom_alpha2"               value="0.2"/>
   <!-- translation std dev, m -->
   <param name="odom_alpha3"               value="0.2"/>
   <param name="odom_alpha4"               value="0.2"/>
   <param name="laser_z_hit"               value="0.5"/>
   <param name="laser_z_short"             value="0.05"/>
   <param name="laser_z_max"               value="0.05"/>
   <param name="laser_z_rand"              value="0.5"/>
   <param name="laser_sigma_hit"           value="0.2"/>
   <param name="laser_lambda_short"        value="0.1"/>
   <param name="laser_model_type"          value="likelihood_field"/>
   <!-- <param name="laser_model_type" value="beam"/> -->
   <param name="laser_likelihood_max_dist" value="2.0"/>
   <param name="update_min_d"              value="0.25"/>
   <param name="update_min_a"              value="0.2"/>
   <param name="odom_frame_id"             value="odom"/>
   <param name="base_frame_id"             value="base_footprint"/>
   <param name="global_frame_id"           value="/map"/>
   <param name="resample_interval"         value="1"/>
   <!-- Increase tolerance because the computer can get quite busy -->
   <param name="transform_tolerance"       value="1.0"/>
   <param name="recovery_alpha_slow"       value="0.0"/>
   <param name="recovery_alpha_fast"       value="0.0"/>
   <param name="initial_pose_x"            value="$(arg initial_pose_x)"/>
   <param name="initial_pose_y"            value="$(arg initial_pose_y)"/>
   <param name="initial_pose_a"            value="$(arg initial_pose_a)"/>
   <remap from="scan"                      to="$(arg scan_topic)"/>

And pinky_move_base.launch.xml

 <include file="$(find turtlebot_navigation)/launch/includes/velocity_smoother.launch.xml"/>
 <include file="$(find turtlebot_navigation)/launch/includes/safety_controller.launch.xml"/>

 <arg name="odom_topic" default="odom" />

 <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
 <rosparam file="$(find turtlebot_navigation)/param/costmap_common_params.yaml" command="load" ns="global_costmap" />
   <rosparam file="$(find turtlebot_navigation)/param/costmap_common_params.yaml" command="load" ns="local_costmap" />
   <rosparam file="$(find turtlebot_navigation)/param/local_costmap_params.yaml" command="load" />
   <rosparam file="$(find turtlebot_navigation)/param/global_costmap_params.yaml" command="load" />
   <rosparam file="$(find turtlebot_navigation)/param/base_local_planner_params.yaml" command="load" />
   <rosparam file="$(find turtlebot_navigation)/param/move_base_params.yaml" command="load" />

   <remap from="cmd_vel" to="navigation_velocity_smoother/raw_cmd_vel"/>
   <!--Modification for each robot-->
   <!--<remap from="mobile_base/sensors/bumper_pointcloud" to="pinky/mobile_base/sensors/bumper_pointcloud"/>-->
   <remap from="odom" to="$(arg odom_topic)"/>
   <remap from="map" to="/map"/>


global_frame: /map
robot_base_frame: base_footprint
update_frequency: 5.0
publish_frequency: 2.0
static_map: false
rolling_window: true
width: 4.0
height: 4.0
resolution: 0.05
transform_tolerance: 0.5


global_frame: /map
robot_base_frame: base_footprint
update_frequency: 1.0
publish_frequency: 0.5
static_map: true
transform_tolerance: 0.5

I have inspected all the files but still could find an error.

Originally posted by David_Zizu on ROS Answers with karma: 46 on 2016-07-19

Post score: 1

Original comments

Comment by raultron on 2016-07-27:
+1 I am having the same problem trying to configure two robotinos to share a map, both of them connected to a common master in another computer. If you find a solution please let me know, thanks!.

Comment by LucYang on 2018-07-28:
I wonder if you have done this?Let me know,please.

Comment by zero2hero on 2018-08-28:
Hello, i'm trying to launch navigation of 3 turtlebot3s, and i got the same warning as yours: "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." I wonder if you have found a solution?


1 Answer 1


Rosanswers logo

I had a similar problem and found this solution:


Hopefully it will work for you too.

Originally posted by raultron with karma: 61 on 2016-08-01

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.