0
$\begingroup$

Rosanswers logo

Hello,

I am trying to use amcl for localization of my robot from a pre-saved map. I am using a Hokuyo laser range finder. My command to start amcl is as below:

rosrun hokuyo_node hokuyo_node
rosrun map_server map_server test.yaml
rosrun robot_setup_tf tf_broadcaster
rosrun amcl amcl

However, what I got is the warning code as below:

[ WARN] [1392274402.961608347]: Message from [/hokuyo_node] has a non-fully-qualified frame_id [laser]. Resolved locally to [/laser].  This is will likely not work in multi-robot systems.  This message will only print once.
[ WARN] [1392274417.844748520]: No laser scan received (and thus no pose updates have been published) for 1392274417.844651 seconds.  Verify that data is being published on the /scan topic.
[ WARN] [1392274417.845193549]: Message Filter [target=/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] ros console logger to DEBUG for more information.

I have tried to run the amcl with both scan:=/scan and scan:=/base_scan before and the tf broadcaster transform the laser frame to base frame. I don't seems to see anything when I echoed amcl_pose. May I know what do I lack in running amcl? Thank you.


Originally posted by zero1985 on ROS Answers with karma: 100 on 2014-02-12

Post score: 2

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

The key error message here is:

[ WARN] [1392274417.845193549]: Message Filter [target=/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] ros console logger to DEBUG for more information.

What this means is that AMCL is trying to transform laser scans from their incoming frame into the /odom frame and failing because a transform from the laser frame to the odom frame doesn't exist.

You should probably be either running a driver for your robot that publishes odometry as a trasform from the /odom frame to the /base_link frame, or you can try lowering AMCL's reliance on odometry and publishing a static transform from the /odom frame directly to your laser frame.


Originally posted by ahendrix with karma: 47576 on 2014-02-12

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by zero1985 on 2014-02-17:
Thank you for your answer. I think I got it, but the amcl_pose only update when I input a initial pose for it. After that the pose is not updated when I move my robot. Is it correct?

Comment by ahendrix on 2014-02-17:
AMCL only updates when it thinks your robot has moved. You may want to try setting the update_min_d and update_min_a parameters to 0, or providing fake odometry via the laser_scan_matcher node.

$\endgroup$

Your Answer

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