Not getting the expected result in exercise 3.2

After driving the Husky robot around the room, I was expecting to see the map become better aligned with laser scan. Also, I notice that the laser scan from the husky robot does not “see” the kitchen knee wall or the brown bench. I am puzzled about this and am wondering if I am missing something in the setup. Below are shown two views

  1. gazebo simulator
  2. the Rviz window


I allowed my session to time out and restarted again, to see if I could figure out what is going wrong.
I think the problem is happening with the very first command in chapter 3.

user:~$ roslaunch husky_navigation amcl_demo.launch

On the console, I noticed this warning, which may explain the behavior:

[ WARN] [1630170054.954732051, 124.493000000]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 124.493 timeout was 0.1.

Below is the entire message sent to the console:

... logging to /home/user/.ros/log/5e7c22e6-0821-11ec-8cf9-0242c0a8e008/roslaunch-2_xterm-1203.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://2_xterm:39899/

SUMMARY
========

PARAMETERS
 * /amcl/gui_publish_rate: 10.0
 * /amcl/kld_err: 0.05
 * /amcl/kld_z: 0.99
 * /amcl/laser_lambda_short: 0.1
 * /amcl/laser_likelihood_max_dist: 2.0
 * /amcl/laser_max_beams: 60
 * /amcl/laser_max_range: 12.0
 * /amcl/laser_model_type: likelihood_field
 * /amcl/laser_sigma_hit: 0.2
 * /amcl/laser_z_hit: 0.5
 * /amcl/laser_z_max: 0.05
 * /amcl/laser_z_rand: 0.5
 * /amcl/laser_z_short: 0.05
 * /amcl/max_particles: 2000
 * /amcl/min_particles: 500
 * /amcl/odom_alpha1: 0.2
 * /amcl/odom_alpha2: 0.2
 * /amcl/odom_alpha3: 0.2
 * /amcl/odom_alpha4: 0.2
 * /amcl/odom_alpha5: 0.1
 * /amcl/odom_frame_id: odom
 * /amcl/odom_model_type: diff
 * /amcl/recovery_alpha_fast: 0.0
 * /amcl/recovery_alpha_slow: 0.0
 * /amcl/resample_interval: 1
 * /amcl/transform_tolerance: 1.0
 * /amcl/update_min_a: 0.2
 * /amcl/update_min_d: 0.25
 * /amcl/use_map_topic: True
 * /move_base/DWAPlannerROS/acc_lim_th: 3.2
 * /move_base/DWAPlannerROS/acc_lim_x: 2.5
 * /move_base/DWAPlannerROS/acc_lim_y: 0
 * /move_base/DWAPlannerROS/latch_xy_goal_tolerance: False
 * /move_base/DWAPlannerROS/max_vel_theta: 1.0
 * /move_base/DWAPlannerROS/max_vel_trans: 0.5
 * /move_base/DWAPlannerROS/max_vel_x: 0.5
 * /move_base/DWAPlannerROS/max_vel_y: 0
 * /move_base/DWAPlannerROS/min_vel_theta: 0.2
 * /move_base/DWAPlannerROS/min_vel_trans: 0.1
 * /move_base/DWAPlannerROS/min_vel_x: 0.0
 * /move_base/DWAPlannerROS/min_vel_y: 0
 * /move_base/DWAPlannerROS/xy_goal_tolerance: 0.2
 * /move_base/DWAPlannerROS/yaw_goal_tolerance: 0.1
 * /move_base/NavfnROS/allow_unknown: True
 * /move_base/NavfnROS/default_tolerance: 0.1
 * /move_base/TrajectoryPlannerROS/acc_lim_theta: 3.2
 * /move_base/TrajectoryPlannerROS/acc_lim_x: 2.5
 * /move_base/TrajectoryPlannerROS/angular_sim_granularity: 0.02
 * /move_base/TrajectoryPlannerROS/controller_frequency: 20.0
 * /move_base/TrajectoryPlannerROS/dwa: True
 * /move_base/TrajectoryPlannerROS/escape_reset_dist: 0.1
 * /move_base/TrajectoryPlannerROS/escape_reset_theta: 0.1
 * /move_base/TrajectoryPlannerROS/escape_vel: -0.1
 * /move_base/TrajectoryPlannerROS/gdist_scale: 1.0
 * /move_base/TrajectoryPlannerROS/heading_lookahead: 0.325
 * /move_base/TrajectoryPlannerROS/heading_scoring: False
 * /move_base/TrajectoryPlannerROS/heading_scoring_timestep: 0.8
 * /move_base/TrajectoryPlannerROS/holonomic_robot: False
 * /move_base/TrajectoryPlannerROS/latch_xy_goal_tolerance: False
 * /move_base/TrajectoryPlannerROS/max_vel_theta: 1.0
 * /move_base/TrajectoryPlannerROS/max_vel_x: 1.0
 * /move_base/TrajectoryPlannerROS/meter_scoring: True
 * /move_base/TrajectoryPlannerROS/min_in_place_vel_theta: 0.2
 * /move_base/TrajectoryPlannerROS/min_vel_theta: -1.0
 * /move_base/TrajectoryPlannerROS/min_vel_x: 0.0
 * /move_base/TrajectoryPlannerROS/occdist_scale: 0.1
 * /move_base/TrajectoryPlannerROS/oscillation_reset_dist: 0.25
 * /move_base/TrajectoryPlannerROS/pdist_scale: 0.75
 * /move_base/TrajectoryPlannerROS/publish_cost_grid_pc: True
 * /move_base/TrajectoryPlannerROS/sim_granularity: 0.02
 * /move_base/TrajectoryPlannerROS/sim_time: 2.0
 * /move_base/TrajectoryPlannerROS/simple_attractor: False
 * /move_base/TrajectoryPlannerROS/vtheta_samples: 20
 * /move_base/TrajectoryPlannerROS/vx_samples: 6
 * /move_base/TrajectoryPlannerROS/xy_goal_tolerance: 0.2
 * /move_base/TrajectoryPlannerROS/yaw_goal_tolerance: 0.1
 * /move_base/base_global_planner: navfn/NavfnROS
 * /move_base/base_local_planner: dwa_local_planner...
 * /move_base/controller_frequency: 5.0
 * /move_base/global_costmap/footprint: [[-0.5, -0.33], [...
 * /move_base/global_costmap/footprint_padding: 0.01
 * /move_base/global_costmap/global_frame: map
 * /move_base/global_costmap/inflation/inflation_radius: 1.0
 * /move_base/global_costmap/obstacles_laser/laser/clearing: True
 * /move_base/global_costmap/obstacles_laser/laser/data_type: LaserScan
 * /move_base/global_costmap/obstacles_laser/laser/inf_is_valid: True
 * /move_base/global_costmap/obstacles_laser/laser/marking: True
 * /move_base/global_costmap/obstacles_laser/laser/obstacle_range: 5.5
 * /move_base/global_costmap/obstacles_laser/laser/topic: scan
 * /move_base/global_costmap/obstacles_laser/observation_sources: laser
 * /move_base/global_costmap/plugins: [{'name': 'static...
 * /move_base/global_costmap/publish_frequency: 3.0
 * /move_base/global_costmap/resolution: 0.05
 * /move_base/global_costmap/robot_base_frame: base_link
 * /move_base/global_costmap/rolling_window: False
 * /move_base/global_costmap/static/map_topic: /map
 * /move_base/global_costmap/static/subscribe_to_updates: True
 * /move_base/global_costmap/transform_tolerance: 0.5
 * /move_base/global_costmap/update_frequency: 4.0
 * /move_base/local_costmap/footprint: [[-0.5, -0.33], [...
 * /move_base/local_costmap/footprint_padding: 0.01
 * /move_base/local_costmap/global_frame: odom
 * /move_base/local_costmap/height: 10.0
 * /move_base/local_costmap/inflation/inflation_radius: 1.0
 * /move_base/local_costmap/obstacles_laser/laser/clearing: True
 * /move_base/local_costmap/obstacles_laser/laser/data_type: LaserScan
 * /move_base/local_costmap/obstacles_laser/laser/inf_is_valid: True
 * /move_base/local_costmap/obstacles_laser/laser/marking: True
 * /move_base/local_costmap/obstacles_laser/laser/obstacle_range: 5.5
 * /move_base/local_costmap/obstacles_laser/laser/topic: scan
 * /move_base/local_costmap/obstacles_laser/observation_sources: laser
 * /move_base/local_costmap/plugins: [{'name': 'obstac...
 * /move_base/local_costmap/publish_frequency: 3.0
 * /move_base/local_costmap/resolution: 0.05
 * /move_base/local_costmap/robot_base_frame: base_link
 * /move_base/local_costmap/rolling_window: True
 * /move_base/local_costmap/static/map_topic: /map
 * /move_base/local_costmap/static/subscribe_to_updates: True
 * /move_base/local_costmap/transform_tolerance: 0.5
 * /move_base/local_costmap/update_frequency: 4.0
 * /move_base/local_costmap/width: 10.0
 * /move_base/recovery_behaviour_enabled: True
 * /rosdistro: noetic
 * /rosversion: 1.15.9

NODES
  /
    amcl (amcl/amcl)
    map_server (map_server/map_server)
    move_base (move_base/move_base)

ROS_MASTER_URI=http://2_simulation:11311

process[map_server-1]: started with pid [1211]
process[amcl-2]: started with pid [1212]
process[move_base-3]: started with pid [1213]
[ WARN] [1630170054.935346739, 124.476000000]: No laser scan received (and thus no pose updates have been published) for 124.476000 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1630170054.935480106, 124.476000000]: No laser scan received (and thus no pose updates have been published) for 124.476000 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1630170054.954732051, 124.493000000]: Timed out waiting for transform from base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 124.493 timeout was 0.1.
[ INFO] [1630170056.264213867, 125.800000000]: global_costmap: Using plugin "static"
[ INFO] [1630170056.286942542, 125.822000000]: Requesting the map...
[ INFO] [1630170056.490376941, 126.026000000]: Resizing costmap to 608 X 608 at 0.050000 m/pix
[ INFO] [1630170056.590365628, 126.125000000]: Received a 608 X 608 map at 0.050000 m/pix
[ INFO] [1630170056.590427105, 126.125000000]: Subscribing to updates
[ INFO] [1630170056.597021838, 126.132000000]: global_costmap: Using plugin "inflation"
[ INFO] [1630170056.646919062, 126.181000000]: local_costmap: Using plugin "obstacles_laser"
[ INFO] [1630170056.650445954, 126.185000000]:     Subscribed to Topics: laser
[ INFO] [1630170056.671840850, 126.206000000]: local_costmap: Using plugin "inflation"
[ INFO] [1630170056.720404400, 126.254000000]: Created local_planner dwa_local_planner/DWAPlannerROS
[ INFO] [1630170056.725269627, 126.259000000]: Sim period is set to 0.20
[ INFO] [1630170056.967284342, 126.500000000]: Recovery behavior will clear layer 'obstacles'
[ INFO] [1630170056.977207566, 126.510000000]: Recovery behavior will clear layer 'obstacles'
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 244.960000 according to authority unknown_publisher
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 244.960000 according to authority unknown_publisher
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 382.140000 according to authority unknown_publisherWarning:
         at line TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 382.140000 according to authority unknown_publisher278
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 412.640000 according to authority unknown_publisher
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 412.640000 according to authority unknown_publisher
         at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 490.260000 according to authority unknown_publisher
         at line 278 in Warning: TF_REPEATED_DATA ignoring data with redundant timestamp for frame base_link at time 490.260000 according to authority unknown_publisher
         at line 278/tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp

Hi,

try changing Fixed Frame in RViz to map.

Got that. Thanks for the suggestion, just the same.
As mentioned in my more recent post, things are working mostly OK now except that a couple of obstacles are missing: The brown bench and the obliquely oriented wall that supports the counter peninsula. As can be seen below, the car drives right through the oblique wall under the counter.


I think the messages about Recovery behavior will clear layer 'obstacles' offer a clue about the cause of this. I guess I just happen to be the only one who has noticed it and asked about it. Oh well. Onward and upward.

Hello @dblanding ,

Yes, this is a bug in the simulation. In the Husky simulation (not in the Turtlebot one), the laser doesn’t detect some specific elements. However, this shouldn’t affect your exercises since the costmaps will be generated from the map created with Turtlebot, which does contain the obstacles.

You should be able to keep going while we figure out how to attack this issue, which I agree it’s really confusing.