The Sandbox: the AVSandbox knowledge hub

The Sandbox knowledge hub discusses many of the crucial issues affecting the development, engineering, use and regulation of Autonomous Vehicles.

AVSandbox | Autonomous Vehicle Simulation

Scroll to explore

The Sandbox | Knowledge Hub | AVSandbox

Generating an rFpro Point Cloud Data Known as PCD for Autoware Usage

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 [1].

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 [2] describes its process.
  • Set up rFpro using our simulation manager tool which is used to configure and control rFpro simulator [3]. 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.

The Sandbox | Knowledge Hub | AVSandbox

Figure 1. Simulation Manager Set up

  • Read the Velodyne UDP stream and move the Velodyne packets to ROS [4]: rosrun velodyne_driver velodyne_node _model:=32C 

The Sandbox | Knowledge Hub | AVSandbox

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 

The Sandbox | Knowledge Hub | AVSandbox

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 

The Sandbox | Knowledge Hub | AVSandbox

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

The Sandbox | Knowledge Hub | AVSandbox

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

References:

[1] Point cloud – Wikipedia

[2] https://www.claytex.com/tech-blog/integrated-development-framework-for-ros-based-autonomous-vehicles-using-autoware-part-ii/

[3] https://www.claytex.com/tech-blog/architecture-development-to-virtual-validation-of-adas-systems-using-digital-twin-technologies/

[4] velodyne – ROS Wiki

The AVSandbox Knowledge Hub

Discover more about what makes AVSandbox unique. Explore our AVSandbox knowledge hub and find out about the issues, challenges and exciting developments that are behind the growth of the market for autonomous vehicles and advanced driver assistance systems.

Go to Top