iRobot Create + Hokuyo LIDAR + YAML map + AMCL
Hello,
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.
- 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.
- 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
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: http://www.ros.org/wiki/tf#static_transform_publisher edit: added link to pub
I think it's on /scan. I even tried moving the hokuyo_node to /base_scan and running amcl on base_scan.
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?
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.
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
Got it. Thanks a lot.