ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

iRobot Create + Hokuyo LIDAR + YAML map + AMCL

asked 2013-04-30 13:32:23 -0500

SaiHV gravatar image

updated 2013-04-30 13:33:02 -0500


I have a PGM/YAML map generated from hector SLAM from a Hokuyo LIDAR driven around by an iRobot Create. I was trying to use AMCL for localization and simple 2d nav goals, but it seems to be very problematic for some reason.

The brown pkg provides the /odom and /tf, and I use map_server to publish the /map topic. I ran the hokuyo_node (laser scans published on /scan) and then rosrun amcl amcl.

  1. AMCL outputs:

No laser scan received (and thus no pose updates have been published) for 1367364115.808416 seconds. Verify that data is being published on the /scan topic. MessageFilter [target=/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.

  1. The /map subscription in rviz shows: No transform from [map] to [/base_link]

If I go through hector_slam, it looks like it's estimating the /odom topic from the laser scan itself, but there's no localization feature. Any suggestions as to what might need to be changed to make AMCL work with the Create's odom/tf on a known map?

Thank you Sai

edit retag flag offensive close merge delete


What tf frame is the laser in? If 'laser', is there something publishing a link between the /base_link and /laser?

If there's nothing publishing it already, try adding a static transform publisher as described here: edit: added link to pub

Gav gravatar image Gav  ( 2013-04-30 17:15:45 -0500 )edit

I think it's on /scan. I even tried moving the hokuyo_node to /base_scan and running amcl on base_scan.

SaiHV gravatar image SaiHV  ( 2013-04-30 17:18:32 -0500 )edit

Thanks, I will try putting a transform between base_link and laser. (rosrun tf view_frames doesn't work for me). Any inputs about the odom?

SaiHV gravatar image SaiHV  ( 2013-04-30 17:20:01 -0500 )edit

Run 'rostopic echo /scan | more', and you'll see the header saying which frame it's in. My one is 'laser'. You can then specify the relationship saying the height/etc of your laser related to your base.

Gav gravatar image Gav  ( 2013-04-30 17:22:30 -0500 )edit

e.g. <node pkg="tf" type="static_transform_publisher" name="link1_broadcaster" args="0 0 0.5 0 0 0 base_link laser 100" /> would indicate the laser is directly above the base link by 0.5m

Gav gravatar image Gav  ( 2013-04-30 17:23:13 -0500 )edit

Got it. Thanks a lot.

SaiHV gravatar image SaiHV  ( 2013-04-30 17:25:36 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2013-11-07 19:36:18 -0500

FuerteNewbie gravatar image

I guess you might need laser_scan_matcher to provide 'fake' odometry for amcl to work.

edit flag offensive delete link more

Question Tools


Asked: 2013-04-30 13:32:23 -0500

Seen: 1,189 times

Last updated: Apr 30 '13