QCar Sensors - LIDAR

QCar Sensors: LIDAR

by Thomas Zhang

We talk about QCar, the Self-Driving Car Research Studio‘s feature vehicle, as a sensor-rich platform. In this blog series, I want to talk more about the sensors that you can find on QCar. Let’s start with LIDAR.

Why is LIDAR important to autonomous driving?

LIDAR is the acronym for light detection and ranging, a surveying method where the surrounding distance information is collected by illuminating a beam of laser light and measuring the reflected light with a sensor. It is commonly used as a high-resolution mapping tool. The technology is also used in control and navigation for some autonomous cars.

Some people may doubt the importance of LIDAR in autonomous driving as many leading autonomous driving car companies did not include LIDAR in their cars. For example, Tesla focuses heavily on camera visions. However, there are many physical limitations of using cameras only. For instance, cameras can confuse the color of blue cars with blue sky.

There are many other scenarios where cameras just could not apply, like mining. In this case, LIDAR could provide a stable result for the autonomous car, because it does not need outside lighting source and it is physically measuring the distance of the surrounding. The only downside of LIDAR is that it consumes a lot of computational resources.

How LIDAR performs on QCar?

Since QCar is intended to give users a full autonomous driving experience, a LIDAR is essential to our system. We made sure our QCar has enough computational power, and the LIDAR integration with other sensors is smooth.

QCar is using RPLidar, which is a 2D LIDAR that can update the result in 10Hz. We have developed many LIDAR examples across multiple platforms, from Simulink to Python and ROS, to facilitate the research or teaching applications our users have in mind. In this video, I demonstrate how we access the LIDAR and how we can manipulate the data that are coming from it.

The video shows how you can access the LIDAR, read the scan and plot the point cloud data in Python. As I mentioned, we provide LIDAR examples also in Simulink and ROS. We also have a pretty unique function that can transfer any type, any amount of data from one platform to another. For example, from Python to Simulink, or Simulink to ROS, etc. But that will be a topic of one of our future blog posts.

Another cool feature is that you can talk directly to the hardware, regardless of the LIDAR brand. That actually applies not just for the LIDAR class. We did not write code for any specific brand of sensors on-board of QCar. That means that if you want to use other LIDAR, you can just unplug ours, plug in yours, and use exactly the same code to read your own LIDAR, which could save you a tremendous amount of time.