AMCL "No laser scan received" error message even when required data is being published
I am trying to setup Turtlebot simulation and navigation setup for multi-robot system. I have all the individual robot topics in a group so they get their appropriate namespaces. Ex. /turtle01/amcl_pose
, /turtle01/scan
, etc. I have created seperate tf trees for all the robots as well. The robots share a common map.
I am having a problem with the amcl node. AFAIK the amcl node will publish the map->odom
tf link. When I run the amcl node, I get this error
[ WARN] [1513896260.323745414, 2886.280000000]: No laser scan received (and thus no pose updates have been published) for 2886.280000 seconds. Verify that data is being published on the /turtle01/scan topic.
The topics are active and the data is getting published. Here is the output when I echo /turtle01/scan
.
header:
seq: 43096
stamp:
secs: 5676
nsecs: 620000000
frame_id: /turtle01/camera_depth_frame
angle_min: -0.521567881107
angle_max: 0.524276316166
angle_increment: 0.00163668883033
time_increment: 0.0
scan_time: 0.0329999998212
range_min: 0.449999988079
range_max: 10.0
ranges: [nan, nan, nan, nan, nan,...]
intensities: []
This is what I get when I print the output from rostopic info /turtle01/scan
Type: sensor_msgs/LaserScan
Publishers:
* /turtle01/laserscan_nodelet_manager (http://192.168.1.111:38147/)
Subscribers:
* /echo_192.168.1.111/turtle01/scan (http://192.168.1.111:32936/)
* /turtle01/amcl (http://192.168.1.111:34047/)
* /rviz (http://192.168.1.111:41689/)
I have added some changes to the amcl file as follows:
<param name="odom_frame_id" value="turtle01_tf/odom"/>
<param name="base_frame_id" value="turtle01_tf/base_footprint"/>
<param name="global_frame_id" value="/map"/>
<param name="tf_broadcast" value="true"/>
<param name="use_map_topic" value="true"/>
<param name="tf_prefix" value="turtle01_tf"/>
<param name="initial_pose_x" value="0"/>
<param name="initial_pose_y" value="0"/>
<remap from="map" to="/map"/>
This is my output from view_frames.
I have been following this guide for the setup and I am editing the amcl_demo file to make changes to include multiple robots.
I have spent considerable time to debug this silly issue but had no success.
Also, since I wanted the fake laser to publish the scan under the namespace, I made some following changes.
<!-- Fake laser -->
<node pkg="nodelet" type="nodelet" name="laserscan_nodelet_manager" args="manager"/>
<node pkg="nodelet" type="nodelet" name="depthimage_to_laserscan"
args="load depthimage_to_laserscan/DepthImageToLaserScanNodelet laserscan_nodelet_manager">
<param name="scan_height" value="10"/>
<param name="range_min" value="0.45"/>
<param name="output_frame_id" value="/$(arg robot_name)/camera_depth_frame"/>
<remap from="image" to="/$(arg robot_name)/camera/depth/image_raw"/>
</node>
Can you please insert those images into the question instead of linking to them? Also, instead of using screen shots of terminal output it's better to copy and paste the output. Thanks.
Did you set the
use_sim_time
parameter totrue
?Made the changes. Thank you for suggesting this. I'll keep this in mind next time I post a question.
No, can you please explain why that is required? I did not see this requirement on the amcl documentation page. Nevertheless, it is not helping. I still get the same error.
See http://wiki.ros.org/Clock#Using_Simul...
Are you running this from a bag file? https://answers.ros.org/question/1261...
No I'm not making use of rosbag files.
Have you tried roswtf? You can also run rqt and look at the node graph and topics in real time. Something isn't connected correctly, but I can't quite tell from what you've posted so far.