Autonomous driving will have a significant impact on future transportation systems. The data collected in the process of enabling autonomous vehicles will provide a valuable set of information for future research and simulated autonomous driving scenarios. The wide range of data and sheer volume of which can be collected can also have further use in improving autonomous driving algorithms for mapping, localization, computer vision and vehicle control.
In this project, we used our Lincoln MKZ, which had been retrofitted with a computer, and sensors that are used in the autonomous vehicle industry including Lidar, GPS, camera and CAN based vehicle control. We setup Tier IV’s Autoware, an open source self-driving software platform and ROS which is the backbone that Autoware runs on. We then configured the vehicles main sensors to work with the platform, and each one had its own unique challenges in order to enable its use. The end goal was to create a basic HD map to enable the autonomous drive mode. The HD map consists of two main parts: a point cloud map and a vector map which both provide the vehicle with needed information.
We started working with the Lidar sensor first as that is what can generate a point cloud. We configured it to work with ROS/Autoware, built a basic point cloud map using the NDT mapping/matching algorithm, and iterated on this process to create a higher fidelity map. To also help us generate a better point cloud map we wanted to include GPS in hopes that we could match point cloud in a better way. This required us to improve our GPS accuracy so we had to setup our GPS receiver to use NTRIP corrections from a local base station network. With the improved accuracy we were able to better use the lidar data and improve our point cloud map. Afterwards, the last step in creating the HD map was to build an initial vector map which includes the information of roadsides, stop signs, traffic lights and cross walks. For our initial vector map build, we turned to the help of Autoware’s online vector map tools which allowed us to manually build a vector map based on an uploaded point cloud.