top of page

What Does a Modern Self Driving Car Look Like?

The modern autonomous car is a compilation of cutting edge sensors and software work. In this section we describe the most common sensors present in almost all of the major self-driving cars.

Cogs
Current Technology: About
Current Technology: About

Sensors

A very wide array of sensors are used in the current edition of most self-driving cars. The key ones that allow the car to see are below[4]:

​

  • Cameras: Very good for image processing, poor in low-visibility, high data overheads

  • Radar: Very good at telling distances, poor object classification ability, can be thrown off by random metal objects

  • Lidar: Function very well in most conditions, very expensive (thousands of dollars), larger than cameras and radar

​

Each company developing these cars will generally use a different mix of these, and will be different.

In the image to the right, you can see an example of the output from a Lidar sensor. 

​

In addition to these vision sensors, there are a number of secondary sensors necessary:

​​

  • Ultrasonic, good for low distance/parking, not useful for classification/detection[4]

  • Inertial Measure Unit (IMU): Gives details on specific force, angular rate, and orientation of car [3]

  • GPS

  • V2X: Allows car to communicate with other cars, traffic lights (where available)[1], and even bikes and pedestrians (still in developmental phase) [5]

Software

The software used in a self-driving car highly varies from company to company, but there are a few common factors between many of them:

​​

  • Robot Operating System (ROS): Prototyping system, building with C++ and/or Python [2]

  • Matlab: Numerical processing language, slowly being phased for Python for math[2]

  • SimuLink: Graphical program for creating models and simulations, which can export code in C++, or language for FPGA/ASIC controllers.[2]

​

Beyond prototypes, the more common languages used are C and C++, because much of the work of processing can be done on embedded microelectronics in the car. Beyond that, Java is used in some systems, and engineers at Udacity are working on a Python-based system.[6] It, however, is still in development, and is not commonly used yet. 

bottom of page