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

Autoware.Auto best way to create a PCD map

asked 2021-05-19 23:11:08 -0500

sisaha9 gravatar image

Separating this from the question here:

What is the best way to create a PCD map? In the other link I mentioned using the to create a PCD map. But are there any other better ways? We will be getting a .bag file of PointCloud2 messages for an environment we wanted to test in. Is there any additional sensory information we should collect (for building the map or in general for using with Autoware.Auto)? Looking for something as in depth as the Lanelet2 tutorial here but for building pointcloud maps in Autoware.Auto

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2021-05-30 16:43:52 -0500

Josh Whitley gravatar image

During development of the Autonomous Valet Parking ODD, we added the package ndt_mapping_nodes. Unfortunately, since it was just a proof-of-concept at the time, it isn't (yet) well-documented. The launch file example in that package assumes you are running at least a single lidar which is publishing to /lidar_front/points_raw. Once that is true and you start the ndt_mapping_nodes launch file, the mapper node will start gathering the point data. Once you stop the launch file, the PCD file will be created in the folder from which you ran the launch file. The amount of downsampling done to the point cloud can be controlled from the map parameters in the parameters file (the default one is in param/ndt_mapper.param.yaml but you should create your own and pass it to the launch file). The origin of the PCD will be the location at which you started mapping so be sure to take some good lat/lon/altitude/heading measurements before you do which can be used in the YAML file that gets fed to the map publisher.

edit flag offensive delete link more


Sorry for tagging along this question - I had similar needs and was trying the ndt_mapping_node default launch file. I got a tf2 error saying that the "map" frame did not exist (sorry the exact error was on another computer), when I started playing the ROS2 bag with the Lidar points. Any tips on how to solve this? Thank you!

robot_fan gravatar image robot_fan  ( 2021-05-31 01:04:21 -0500 )edit

answered 2021-08-16 13:19:57 -0500

RDaneelOlivaw gravatar image

Ok I'll try to show how I got it to work and what issues I've encountered that need tome looking into:

pcl map test

So to have it working, you first start and get inside the ade:

cd ~/adehome/AutowareAuto source .aderc-amd64-foxy-lgsvl-nvidia ade start ade enter /opt/lgsvl/simulator &

Then start the visualization to see at least the frames and lasers.

Then you have to execute this launch ( which is a modification of the existing one that was missing the node of adapter_launch which is the one that makes accessible the raw front lidar, otherwise, this doesn't work, because the mapper doesn't receive any data, and does nothing ( no error either). I also commented on the odom o baselink static transform becuase as far as I see, serves NO purose, because mapper already does map to baselink.

GIST to we launch it with the command:

> ade enter 
> cd ~/AutowareAuto 
> colcon build --packages-select ndt_mapping_nodes 
> source install/setup.bash 
> ros2 launch ndt_mapping_nodes

You should now move the car in the simulation and when you finish you should end up with a PCD file once you CTRL+C.

Here you have a video demo of the process:


So issues I've seen:

  1. As far as I see, there is nothing that allows you to see live the ma generation nor if your car gets lost, and therefore makes a complete mess in the map creation.

image description

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2021-05-19 23:11:08 -0500

Seen: 1,851 times

Last updated: Aug 16 '21