Robotics StackExchange | Archived questions

AMCL & MOVE_BASE: [ WARN] No laser scan received (and thus no pose updates have been published) for ... seconds. Verify that data is being published on the /scan topic.

I am using a ROS Noetic, with the ubuntu 20.0.4. I am trying to configure the navigation stack, with the amcl so that it will has a pose update as well as 2D Nav Goal. with the specification:

  1. Ubiquity Magni Silver Bot (raspberry pi 4.0)
  2. SICK TiM781 LiDAR Sensor

But I am facing this error: [ WARN] [1686727949.800085617]: No laser scan received (and thus no pose updates have been published) for 1686727949.799997 seconds. Verify that data is being published on the /scan topic.

    ~/catkin_ws/src/navigation/launch$ roslaunch move_base.launch
... logging to /home/ubuntu/.ros/log/c187012c-0a6c-11ee-99c3-e45f019c7a48/roslaunch-ezrobotSP-18699.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://ezrobotSP.local:46705/

SUMMARY
========

PARAMETERS
 * /amcl/base_frame_id: base_link
 * /amcl/global_frame_id: map
 * /amcl/gui_publish_rate: 10.0
 * /amcl/initial_cov_aa: 0.05
 * /amcl/initial_cov_xx: 0.5
 * /amcl/initial_cov_yy: 0.5
 * /amcl/initial_pose_a: 0.0
 * /amcl/initial_pose_x: 0.0
 * /amcl/initial_pose_y: 0.0
 * /amcl/kld_err: 0.05
 * /amcl/kld_z: 0.99
 * /amcl/laser_max_beams: 30
 * /amcl/laser_max_range: 12.0
 * /amcl/max_particles: 2000
 * /amcl/min_particles: 500
 * /amcl/min_update_angle: 0.2
 * /amcl/min_update_dist: 0.2
 * /amcl/odom_alpha1: 0.2
 * /amcl/odom_alpha2: 0.2
 * /amcl/odom_alpha3: 0.2
 * /amcl/odom_alpha4: 0.2
 * /amcl/odom_frame_id: odom
 * /amcl/save_pose_rate: 0.5
 * /amcl/scan: scan
 * /amcl/tf_broadcast: True
 * /map_server/frame_id: map
 * /move_base/TrajectoryPlannerROS/acc_lim_theta: 3.2
 * /move_base/TrajectoryPlannerROS/acc_lim_x: 2.5
 * /move_base/TrajectoryPlannerROS/acc_lim_y: 2.5
 * /move_base/TrajectoryPlannerROS/holonomic_robot: False
 * /move_base/TrajectoryPlannerROS/max_vel_theta: 1.0
 * /move_base/TrajectoryPlannerROS/max_vel_x: 0.45
 * /move_base/TrajectoryPlannerROS/meter_scoring: True
 * /move_base/TrajectoryPlannerROS/min_in_place_vel_theta: 0.4
 * /move_base/TrajectoryPlannerROS/min_vel_x: 0.1
 * /move_base/TrajectoryPlannerROS/sim_time: 1.5
 * /move_base/TrajectoryPlannerROS/xy_goal_tolerance: 0.15
 * /move_base/TrajectoryPlannerROS/yaw_goal_tolerance: 0.3
 * /move_base/global_costmap/footprint: [[0.13, 0.24], [0...
 * /move_base/global_costmap/global_frame: map
 * /move_base/global_costmap/inflation_radius: 0.2
 * /move_base/global_costmap/laser_scan_sensor/clearing: True
 * /move_base/global_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base/global_costmap/laser_scan_sensor/marking: True
 * /move_base/global_costmap/laser_scan_sensor/sensor_frame: laser
 * /move_base/global_costmap/laser_scan_sensor/topic: scan
 * /move_base/global_costmap/observation_sources: laser_scan_sensor...
 * /move_base/global_costmap/obstacle_range: 2.5
 * /move_base/global_costmap/point_cloud_sensor/clearing: True
 * /move_base/global_costmap/point_cloud_sensor/data_type: PointCloud2
 * /move_base/global_costmap/point_cloud_sensor/marking: True
 * /move_base/global_costmap/point_cloud_sensor/sensor_frame: cloud
 * /move_base/global_costmap/point_cloud_sensor/topic: cloud
 * /move_base/global_costmap/publish_frequency: 2.0
 * /move_base/global_costmap/raytrace_range: 3.0
 * /move_base/global_costmap/robot_base_frame: base_link
 * /move_base/global_costmap/static_map: True
 * /move_base/global_costmap/transform_tolerance: 0.5
 * /move_base/global_costmap/update_frequency: 5.0
 * /move_base/local_costmap/footprint: [[0.13, 0.24], [0...
 * /move_base/local_costmap/global_frame: odom
 * /move_base/local_costmap/height: 6.0
 * /move_base/local_costmap/inflation_radius: 0.2
 * /move_base/local_costmap/laser_scan_sensor/clearing: True
 * /move_base/local_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base/local_costmap/laser_scan_sensor/marking: True
 * /move_base/local_costmap/laser_scan_sensor/sensor_frame: laser
 * /move_base/local_costmap/laser_scan_sensor/topic: scan
 * /move_base/local_costmap/observation_sources: laser_scan_sensor...
 * /move_base/local_costmap/obstacle_range: 2.5
 * /move_base/local_costmap/point_cloud_sensor/clearing: True
 * /move_base/local_costmap/point_cloud_sensor/data_type: PointCloud2
 * /move_base/local_costmap/point_cloud_sensor/marking: True
 * /move_base/local_costmap/point_cloud_sensor/sensor_frame: cloud
 * /move_base/local_costmap/point_cloud_sensor/topic: cloud
 * /move_base/local_costmap/publish_frequency: 2.0
 * /move_base/local_costmap/raytrace_range: 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: False
 * /move_base/local_costmap/transform_tolerance: 0.5
 * /move_base/local_costmap/update_frequency: 5.0
 * /move_base/local_costmap/width: 6.0
 * /rosdistro: noetic
 * /rosversion: 1.16.0

NODES
  /
    amcl (amcl/amcl)
    base_footprint_to_base_link (tf/static_transform_publisher)
    map_server (map_server/map_server)
    map_to_base_footprint (tf/static_transform_publisher)
    move_base (move_base/move_base)
    odom_to_map (tf/static_transform_publisher)

ROS_MASTER_URI=http://ezrobotSP:11311

process[map_server-1]: started with pid [18904]
process[amcl-2]: started with pid [18916]
process[odom_to_map-3]: started with pid [18917]
process[map_to_base_footprint-4]: started with pid [18919]
process[base_footprint_to_base_link-5]: started with pid [18935]
process[move_base-6]: started with pid [18939]
[ INFO] [1686729511.388747528]: Requesting the map...
[ WARN] [1686729511.429162280]: global_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided
[ INFO] [1686729511.439925943]: global_costmap: Using plugin "static_layer"
[ INFO] [1686729511.509446751]: Requesting the map...
[ INFO] [1686729511.655229789]: Received a 4000 X 4000 map @ 0.050 m/pix

[ INFO] [1686729512.026233306]: Resizing costmap to 4000 X 4000 at 0.050000 m/pix
[ INFO] [1686729512.248593737]: Received a 4000 X 4000 map at 0.050000 m/pix
[ INFO] [1686729512.280400825]: global_costmap: Using plugin "obstacle_layer"
[ INFO] [1686729512.429250317]:     Subscribed to Topics: laser_scan_sensor point_cloud_sensor
[ INFO] [1686729512.628182808]: global_costmap: Using plugin "inflation_layer"
[ WARN] [1686729512.979285873]: local_costmap: Pre-Hydro parameter "static_map" unused since "plugins" is provided
[ INFO] [1686729512.987671150]: local_costmap: Using plugin "obstacle_layer"
[ INFO] [1686729513.028192864]:     Subscribed to Topics: laser_scan_sensor point_cloud_sensor
[ WARN] [1686729513.050033374]: Map update loop missed its desired rate of 5.0000Hz... the loop actually took 0.2767 seconds
[ INFO] [1686729513.183709167]: local_costmap: Using plugin "inflation_layer"
[ INFO] [1686729513.353851284]: Created local_planner base_local_planner/TrajectoryPlannerROS
[ INFO] [1686729513.394112704]: Sim period is set to 0.05
[ INFO] [1686729513.961465421]: Recovery behavior will clear layer 'obstacles'
[ INFO] [1686729514.003200791]: Recovery behavior will clear layer 'obstacles'
[ WARN] [1686729514.187119230]: Map update loop missed its desired rate of 5.0000Hz... the loop actually took 0.2138 seconds
[ INFO] [1686729514.194804217]: odom received!
[ INFO] [1686729515.637225657]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1686729518.942018598]: Done initializing likelihood field model.
[ WARN] [1686729534.162535079]: No laser scan received (and thus no pose updates have been published) for 1686729534.162426 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1686729549.162446557]: No laser scan received (and thus no pose updates have been published) for 1686729549.162351 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1686729564.162496700]: No laser scan received (and thus no pose updates have been published) for 1686729564.162364 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1686729579.164196384]: No laser scan received (and thus no pose updates have been published) for 1686729579.164109 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1686729594.162497988]: No laser scan received (and thus no pose updates have been published) for 1686729594.162395 seconds.  Verify that data is being published on the /scan topic.

But when I do the rostopic echo /scan it gives me the correct data from the LiDAR sensor.

~$ rostopic echo /scan
header: 
  seq: 56586
  stamp: 
    secs: 1686729383
    nsecs: 288463039
  frame_id: "cloud"
angle_min: -2.356194496154785
angle_max: 2.3557233810424805
angle_increment: 0.00581718236207962
time_increment: 6.172839493956417e-05
scan_time: 0.06666667014360428
range_min: 0.05000000074505806
range_max: 100.0
ranges: [1.7790000438690186, 1.7910001277923584, 1.790000081062317, 2.009999990463257, 1.9690001010894775, 1.9850001335144043, 1.9800001382827759, 1.9730000495910645, 4.936000347137451, 6.969000339508057, 6.933000564575195, 6.89300012588501, 6.8580002784729, 6.848000526428223, 6.833000183105469, 0.5070000290870667, 0.6150000095367432, 0.597000002861023, 0.609000027179718, 0.5920000076293945, 0.6200000047683716, 0.6380000114440918, 0.6180000305175781, 0.5700000524520874, 0.593000054359436, 0.6100000143051147, 0.6000000238418579, ...]
intensities: [8574.0, 8444.0, 6075.0, 6827.0, 9121.0, 9969.0, 9279.0, 7667.0, 7381.0, 8741.0, 8576.0, 8964.0, 9018.0, 8800.0, 8837.0, 7933.0, 8547.0, 10426.0, 11499.0, 12850.0, 14070.0, 13861.0, 13982.0, 12905.0, 13962.0, 13974.0, 13595.0, 14035.0, 14332.0, 13409.0, 11363.0, 9386.0, 33573.0, 9514.0, 7964.0, 8936.0, 8614.0, 8709.0, 8894.0, 8785.0, 8785.0, 8687.0, 8990.0, 8844.0, 8791.0, 8768.0, 8684.0, 8637.0, 9130.0, 9070.0, 8679.0, 9065.0, 8902.0, 8688.0, 8915.0, 8934.0, 9260.0, 9036.0, 9128.0, 8895.0, ...]

Here is my amcl.launch code:

    ~/catkin_ws/src/navigation/launch$ cat amcl.launch 

<launch>

  <!-- Publish the map -->
  <node name="map_server" pkg="map_server" type="map_server" args="$(find magni_lidar)/maps/thirdmap-ils.yaml">
    <param name="frame_id" value="map" />
  </node>

  <!-- AMCL Node -->
  <node pkg="amcl" type="amcl" name="amcl" output="screen">
    <!-- Publish scans from base_link to laser for visualization purposes --> 
    <remap from="scan" to="scan"/> 

    <!-- Where amcl gets its map -->
    <remap from="map" to="map"/>

    <!-- remap this if you use a different base frame
    <remap from="base_frame_id" to="base_link"/> -->

    <!-- remap this if you use a different odom frame 
    <remap from="odom_frame_id" to="odom"/> -->

    <param name="odom_frame_id" value="odom" />
    <param name="base_frame_id" value="base_link" />    
    <param name="tf_broadcast" value="true" />
    <param name="scan" value="scan" />
    <param name="global_frame_id" value="map" />

    <!-- initial pose and covariance, these will be loaded onto parameter server -->
    <param name="initial_pose_x" value="0.0"/>
    <param name="initial_pose_y" value="0.0"/>
    <param name="initial_pose_a" value="0.0"/>
    <param name="initial_cov_xx" value="0.5"/>
    <param name="initial_cov_yy" value="0.5"/>
    <param name="initial_cov_aa" value="0.05"/>

    <!-- update/publish rates -->
    <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"/>

    <!-- rotation std dev, rad -->
    <param name="odom_alpha4" value="0.2"/>
    <param name="laser_max_beams" value="30"/>
    <param name="laser_max_range" value="12.0"/>
    <param name="min_update_dist" value="0.2"/>
    <param name="min_update_angle" value="0.2"/>
    <param name="gui_publish_rate" value="10.0"/>
    <param name="save_pose_rate" value="0.5"/>

    <!-- frame to use for publishing submaps, map or odom (note if odom, a running
    instance of slam_gmapping is required to also be using odom frame) 
    <param name="transform_publish_period" value="0.1"/>
    <param name="recovery_alpha_slow" value="0.0"/>
    <param name="recovery_alpha_fast" value="0.0"/>
    <param name="use_map_topic" value="true"/>
    <param name="first_map_only" value="false"/> -->
  </node>
</launch>

Here is my move_base.launch code:

    ~/catkin_ws/src/navigation/launch$ cat move_base.launch
<launch>

<!--<node name="pointcloud_to_scan" pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" output="screen">
    <remap from="cloud" to="/cloud"/>
    <param name="target_frame" value="base_link"/>
    <param name="transform_tolerance" value="0.01"/>
    <param name="min_height" value="-1.0"/>
    <param name="max_height" value="1.0"/>
    <param name="angle_min" value="-3.14159265359"/>
    <param name="angle_max" value="3.14159265359"/>
    <param name="angle_increment" value="0.0174532923847"/>
    <param name="scan_time" value="0.0333333333333"/>
    <param name="range_min" value="0.45"/>
    <param name="range_max" value="10.0"/>
    <param name="use_inf" value="true"/>
    <remap from="scan" to="/sick_tim_7xx/scan"/>
</node>-->


  <!-- Run the map server -->
<!--  <arg name="map_file" default="$(find magni_lidar)/maps/thirdmap-ils.yaml"/>
  <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" />
-->
  <!--- Run AMCL -->
  <include file="$(find magni_navigation1)/launch/amcl.launch" />

  <node pkg="tf" type="static_transform_publisher" name="odom_to_map" args="0 0 0 0 0 0 odom map 100" />
  <node pkg="tf" type="static_transform_publisher" name="map_to_base_footprint" args="0 0 0 0 0 0 map base_footprint 100" />
  <node pkg="tf" type="static_transform_publisher" name="base_footprint_to_base_link" args="0 0 0 0 0 0 base_footprint base_link 100" />
<!--  <node pkg="tf" type="static_transform_publisher" name="base_link_to_cloud" args="0 0 0 0 0 0 base_link cloud 20" />
-->
  <node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
    <rosparam file="/home/ubuntu/catkin_ws/src/magni_navigation1/param/costmap_common_params.yaml" command="load" ns="global_costmap" />
    <rosparam file="/home/ubuntu/catkin_ws/src/magni_navigation1/param/costmap_common_params.yaml" command="load" ns="local_costmap" />
    <rosparam file="/home/ubuntu/catkin_ws/src/magni_navigation1/param/global_costmap_params.yaml" command="load" />
    <rosparam file="/home/ubuntu/catkin_ws/src/magni_navigation1/param/local_costmap_params.yaml" command="load" />
    <rosparam file="/home/ubuntu/catkin_ws/src/magni_navigation1/param/base_local_planner_params.yaml" command="load" />
  </node>
</launch>

here are all my params:

  ~/catkin_ws/src/navigation/param$ cat base_local_planner_params.yaml 
TrajectoryPlannerROS:
  max_vel_x: 0.45
  min_vel_x: 0.1
  max_vel_theta: 1.0
  min_in_place_vel_theta: 0.4
  acc_lim_theta: 3.2
  acc_lim_x: 2.5
  acc_lim_y: 2.5
  holonomic_robot: false
  meter_scoring: true
  yaw_goal_tolerance: 0.3
  xy_goal_tolerance: 0.15
  sim_time: 1.5
#  global_frame_id: odom

    ~/catkin_ws/src/navigation/param$ cat global_costmap_params.yaml 
    global_costmap:
      global_frame: map
      robot_base_frame: base_link
      update_frequency: 5.0
      publish_frequency: 2.0
      static_map: true
      transform_tolerance: 0.5
    ~/catkin_ws/src/navigation/param$ cat costmap_common_params.yaml 

obstacle_range: 2.5
raytrace_range: 3.0
footprint: [[0.13, 0.24], [0.13, -0.24], [-0.37, -0.24], [-0.37, 0.24]]
inflation_radius: 0.2

observation_sources: laser_scan_sensor point_cloud_sensor

laser_scan_sensor: {sensor_frame: laser, data_type: LaserScan, topic: scan , marking: true, clearing: true}

point_cloud_sensor: {sensor_frame: cloud, data_type: PointCloud2, topic: cloud , marking: true, clearing: true}

~/catkin_ws/src/navigation/param$ cat local_costmap_params.yaml 
local_costmap:
  global_frame: odom
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 2.0
  static_map: false
  rolling_window: true
  width: 6.0
  height: 6.0
  resolution: 0.05
  transform_tolerance: 0.5

This is my ROSWTF:

~$ roswtf
Loaded plugin tf.tfwtf
No package or stack in the current directory
================================================================================
Static checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING ROS_HOSTNAME may be incorrect: ROS_HOSTNAME [ezrobotSP.local] resolves to [127.0.1.1], which does not appear to be a local IP address ['127.0.0.1', '192.168.42.125', '192.168.1.114'].

================================================================================
Beginning tests of your ROS graph. These may take a while...
analyzing graph...
... done analyzing graph
running graph rules...
... done running graph rules
running tf checks, this will take a second...
... tf checks complete

Online checks summary:

Found 1 warning(s).
Warnings are things that may be just fine, but are sometimes at fault

WARNING The following node subscriptions are unconnected:
 * /joy_node:
   * /joy/set_feedback
 * /tf2_web_republisher:
   * /tf2_web_republisher/goal
   * /tf2_web_republisher/cancel
 * /oled_display:
   * /display_node
 * /motor_node:
   * /system_control
 * /move_base:
   * /move_base_simple/goal
   * /move_base/cancel
 * /amcl:
   * /initialpose


Found 3 error(s).

ERROR The following nodes should be connected but aren't:
 * /move_base->/move_base (/move_base/local_costmap/footprint)
 * /move_base->/move_base (/move_base/global_costmap/footprint)

ERROR TF re-parenting contention:
 * reparenting of [base_footprint] to [map] by [/map_to_base_footprint]
 * reparenting of [base_footprint] to [odom] by [/motor_node]

ERROR TF multiple authority contention:
 * node [/map_to_base_footprint] publishing transform [base_footprint] with parent [map] already published by node [/motor_node]
 * node [/motor_node] publishing transform [base_footprint] with parent [odom] already published by node [/map_to_base_footprint]

Asked by COJ on 2023-06-14 03:15:12 UTC

Comments

Answers