1
$\begingroup$

Rosanswers logo

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. image description

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>

Originally posted by VickyD on ROS Answers with karma: 23 on 2017-12-21

Post score: 1


Original comments

Comment by jayess on 2017-12-21:
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.

Comment by jayess on 2017-12-21:
Did you set the use_sim_time parameter to true?

Comment by VickyD on 2017-12-21:
Made the changes. Thank you for suggesting this. I'll keep this in mind next time I post a question.

Comment by VickyD on 2017-12-21:
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.

Comment by jayess on 2017-12-21:
See http://wiki.ros.org/Clock#Using_Simulation_Time_from_the_.2BAC8-clock_Topic

Comment by jayess on 2017-12-21:
Are you running this from a bag file? https://answers.ros.org/question/126111/no-laser-scan-received/?answer=126246#post-id-126246

Comment by VickyD on 2017-12-22:
No I'm not making use of rosbag files.

Comment by clyde on 2017-12-23:
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.

Comment by chung on 2018-01-07:
I think it lacks the transformation from footprint to laser scan. Because I cannot read all of your frame tree from the image you provided, could you show the result of the following command? rosrun tf tf_monitor /turtle01_tf/base_footprint /turtle01/camera_depth_frame

$\endgroup$

1 Answer 1

1
$\begingroup$

Rosanswers logo

Well, if the Output of your scan message really has just nans in the ranges field, there is no scan amcl can work upon. Granted, the message is a bit misleading in that the received scan just contains invalid data, but you should investigate what the Problem is there.


Originally posted by mgruhler with karma: 12390 on 2017-12-22

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by VickyD on 2017-12-22:
When I move the turtlebot near other objects, nan changes to positive values. But the amcl still gives the same error message. Can you kindly verify if my fake_laser node is correct?

$\endgroup$

Your Answer

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