A point cloud is a set of data points in space where those points represent a 3D shape or object. Point clouds are used for multiple purposes including the creation and visualization of CAD models .
Given our work on Carla-Autoware and rFpro, this blog will focus on the different processes of generating pcds (Point Clouds) which are fundamental in terms of changing current Autoware maps to work with rFpro maps. This is part of our overall goal to develop an interface between rFpro and AUTOWARE.AI so that we could substitute rFpro for CARLA as the simulation environment and leverage our existing tools and sensor models to support the development of AUTOWARE.AI based autonomous vehicles.
This section will describe the different steps to generate an rFpro pcd map using Autoware environment and our in house built simulator.
- Run Autoware which  describes its process.
- Set up rFpro using our simulation manager tool which is used to configure and control rFpro simulator . This step involves running rFpro including a Velodyne lidar model in our Velodyne 32C but also specifying the telemetry hardware plugin with UDP output selected. This latter will allow the next command to be read in the data stream.
Figure 1. Simulation Manager Set up
- Read the Velodyne UDP stream and move the Velodyne packets to ROS : rosrun velodyne_driver velodyne_node _model:=32C
Figure 2. Velodyne UDP Read/Stream
- Convert from ROS Velodyne packets to ROS Velodyne points: rosrun nodelet nodelet standalone velodyne_pointcloud/CloudNodelet _calibration:=/opt/ros/melodic/share/velodyne_pointcloud/params/VeloView-VLP-32C.yaml
Figure 3. Conversion Velodyne packets to Velodyne Points
- Save the velodyne points as a pcd file: rosrun pcl_ros pointcloud_to_pcd input:=/velodyne_points _prefix:=/tmp/mapname
Figure 4. Velodyne points to PCDs
- Concatenate all pcds into one by installing the pcl-tools then pcl_concatenate_points_pcd ./*.pcd
- Then use the PCL_viewer to view them
Figure 5. Paris Map pcd generation
Figure 5 illustrates the pcd generation of an rFpro map ( Paris Map) from a single pcd to the concatenation of multiple pcds all generated following steps above.
There are many ways in which you can go about the pcd creation and one way of creating these pcds is by reading the rFpro UDP stream into pcap files then convert those pcap into a rosbag, then use the runtime_manager to convert into a pcd and vector map subsequently.
Written by Amina Hamoud – Project Engineer
Please get in touch if you have any questions or have got a topic in mind that you would like us to write about. You can submit your questions / topics via: Tech Blog Questions / Topic Suggestion