Unable to generate map with live data in Autoware.Auto

asked 2021-01-21 03:43:07 -0500

Mackou gravatar image

updated 2021-01-21 09:03:43 -0500

Hello, I am trying to use a Velodyne lidar to perform ndt mapping using autoware auto. I have created launchfiles inspired by the ms3 demo launchfiles as well as the ndt mapper launchfile. You can find my launchfile that I am trying to use for mapping here.

You can see that the launchfile is very similar, except the configuration file lidar_center_filter_transform.yaml for the filter_transform_center node.

When I try to run it I get the following error :

[ndt_mapper_node_exe-4] [INFO] [mapper.ndt_mapper_node]: Waiting for odom to base_link transform to be available.

Which make no sense because I am using the odom hack. (I publish a 000,000 TF between odom and base_link)

I have tried to put this 000,000 TF between odom and base_link in my urdf file but it doesn't work better, this time it tries to find a tf between map and base_link and of course there is not because I'm not localized.

Here is the node graph when I try to generate the map : node_graph

Also here is the launchfile I use to start the lidar as well as the robot_transform_publisher and other platform nodes : here

Your help would be greatly appreciated, because I am really stuck on this problem. Thank you!

edit retag flag offensive close merge delete

Comments

Did you solve this issue, or build pcd map in other way ?

Aleksandr Savel'ev gravatar image Aleksandr Savel'ev  ( 2021-04-29 03:57:13 -0500 )edit

@Aleksandr Savel'ev Unfortunately not. I didn't get any support here. You can have a look at these : https://github.com/gogojjh/M-LOAM, https://github.com/RobustFieldAutonom...

Mackou gravatar image Mackou  ( 2021-04-29 04:12:35 -0500 )edit

Actually it's third party projects, and it's not so interesting in context of our topic. For the last year i create pcd maps in "old fashion" way, with Autoware.AI's builtin ndt_mapper, and it works fine in .AI. But when i try to put this pcd map in Autoware.Auto and start ndt_localization i got an error like this.

[localization.p2d_ndt_localizer_node]: NDTVoxelMap: Pointcloud representing the ndt map does not have a matching grid configuration with the map representation it is being inserted to. The cell IDs do not match.

and as result next error

[localization.p2d_ndt_localizer_node]: Received observation without a valid map, ignoring the observation.

I thought that is because pcd map for Autoware.Auto must have some new specific information that is not present in map created with Autoware.AI ndt_mapper. But i'm not sure, it's only my guess.

Aleksandr Savel'ev gravatar image Aleksandr Savel'ev  ( 2021-04-29 07:14:09 -0500 )edit

Are you sure you load the map correctly ? (example). Have you created the config file for the ndt map publisher ? (example). You can have a look at my students' workspace here, maybe it can help you. Also you can open the .pcd file with a text editor and the columns are listed in the header.

Mackou gravatar image Mackou  ( 2021-04-29 07:50:06 -0500 )edit

Yes i create map_publisher config, and i can see my map in rviz. Here is my way to do it. link text And i can see my map points by echo corresponding topic in terminal. (/localization/ndt_map)

Aleksandr Savel'ev gravatar image Aleksandr Savel'ev  ( 2021-04-29 08:43:09 -0500 )edit

For the moment, i "successfully" start ndt_mapping with live data from vlp-16, but there's no published ndt_map topic. ndt_mapper_node only subscribes on /lidar/points_filtered_downsampled and /mapper/ndt_map but do not publish resulting map. My ros_graph

Aleksandr Savel'ev gravatar image Aleksandr Savel'ev  ( 2021-04-30 10:09:02 -0500 )edit

@Mackou Having that tf error while having a static transform published does not make much sense to me either. Why don't you move this issue to https://gitlab.com/autowarefoundation... (maybe with a more minimal example), so that me and others can inspect any possible issues.

@Aleksandr Savel'ev Mapper in Autoware.Auto does not periodically publish the full map but only the increments. By default, it is configured to save the full map on exit. So the full pcd map should be present on your working directory with a timestamped filename after exiting the mapper.

yunuscaliskan gravatar image yunuscaliskan  ( 2021-04-30 12:16:23 -0500 )edit

@yunuscaliskan Yeah, i realized it on last friday. I took this map and binarized with

pcl_convert_pcd_ascii_binary map.pcd map_bin.pcd 1

And i put it in map loader, but now i have such error on running ms3 avp_demo

[p2d_ndt_localizer_exe-9] [WARN] [1620213696.968653305] [localization.p2d_ndt_localizer_node]: Received observation without a valid map, ignoring the observation.

[rviz2-25] [INFO] [1620213697.024738886] [rviz2]: Message Filter dropping message: frame '' at time 0.000 for reason 'EmptyFrameID'

And no point cloud map vizualization in rviz.

Aleksandr Savel'ev gravatar image Aleksandr Savel'ev  ( 2021-05-05 06:28:09 -0500 )edit