NVIDIA DRIVE Core
The DRIVE Core library of the NVIDIA DriveWorks SDK is the foundation for all autonomous vehicle (AV) software development. It provides an extensive set of fundamental AV capabilities, including processing modules, tools, and frameworks that are required for the development of advanced AV functionalities.
With DRIVE Core, developers can begin innovating their own AV solution instead of spending time on developing basic low-level functionality. DRIVE Core is modular, open and readily customizable. Developers can use a single DRIVE Core module within their own software stack to achieve a specific function or use multiple modules to accomplish a higher-level objective.
DRIVE Core is suited for the following objectives:
- Bring up automotive sensors.
- Use tools to capture data from sensors.
- Accelerate image and lidar data processing for AV algorithms.
- Accelerate neural network inference for AV perception.
- Interface with a vehicle’s ECUs.
Details
Sensor Abstraction Layer
The Sensor Abstraction Layer (SAL) provides:
- a unified interface to the vehicle’s sensors
- sensor lifecycle management
- synchronized timestamping of sensor data
- ability to serialize the sensor data for recording
- ability to replay recorded data
- acceleration through Xavier SoC ISP hardware engine
All DriveWorks modules are compatible with the SAL, reducing the need for specialized sensor data processing. The SAL supports a diverse set of automotive sensors out of the box. Additional support can be added with the robust sensor plugin architecture.
List of supported sensorsSensor Plugins
DriveWorks provides flexible options for interfacing new AV sensors with the SAL so that features such as sensor lifecycle management, timestamp synchronization, and sensor data replay can be realized with minimal development effort.
- Lidar & Radar Decoder Plugins: Developers can add support for their own LIDAR and radar sensors that are compliant with the existing DriveWorks-supported sensor interfaces. DriveWorks makes it easy by managing the sensor interfaces. Developers just need to write the decoding plugin that parses and interprets the raw sensor data into the expected SAL data structure.
- Comprehensive Sensor Plugin Framework: This enables developers to bring new sensors into the DriveWorks SAL that are not natively supported by DriveWorks. In addition to decoding plugins, the framework supports the ability to implement the transport and protocol layers necessary to communicate with the sensor. LIDAR and IMU plugins available in DRIVE Software 9.0; GPS, Radar, CAN Plugins will be available in DRIVE Software 10.0.
- Custom Camera Feature: This is available in DRIVE Software 9.0. DriveWorks enables external developers to add DriveWorks support for any image sensor using the GMSL1 interface on DRIVE AGX Developer Kit.
Image and Point Cloud Processing
DriveWorks provides a wide array of optimized low-level image and point cloud processing modules for incoming sensor data to use in higher level perception, mapping, and planning algorithms. Selected modules can be seamlessly run and accelerated on different DRIVE AGX hardware engines (such as PVA or GPU), giving the developer options and control over their application. Image processing capabilities include feature detection and tracking, structure from motion, and rectification. Point cloud processing capabilities include lidar packet accumulation, registration and planar segmentation (and more). New and improved modules are delivered with each release.
VehicleIO module
The VehicleIO module supports multiple production drive-by-wire backends to send commands to, and receive status from the vehicle. In the event your drive-by-wire device is not supported out of the box, the VehicleIO Plugin framework enables easy integration with custom interfaces.
DNN Framework
The DriveWorks Deep Neural Network (DNN) Framework can be used for loading and inferring TensorRT models that have either been provided in the DRIVE Networks library or have been independently trained. The DNN Plugins module enables DNN models that are composed of layers that are not supported by TensorRT to benefit from the efficiency of TensorRT. The DNN Framework enables inference acceleration using integrated GPU (in Xavier SoC), discrete GPU (in DRIVE AGX Pegasus), or integrated DLA (Deep Learning Accelerator in Xavier SoC).
DriveWorks Tools and Samples
In order to improve developer productivity, DriveWorks provides an extensive set of tools, reference applications, and documentation including:
- Sensor Data Recording and Post-Recording Tools: A suite of tools to record, synchronize and playback the data captured from multiple sensors interfaced to the NVIDIA DRIVE™ AGX platform. Recorded data can be used as a high quality synchronized source for training and other development purposes.
- DriveWorks Samples: The DriveWorks Samples are demonstrations of core DriveWorks capabilities and are intended to be used as a starting point for developing and optimizing code.
Developing with DRIVE Core
How to set up
You will need:
- DRIVE AGX Developer Kit
- DRIVE Software available through our NVIDIA DRIVE™ Early Access Developer Program
- Optional: DRIVE Hyperion Kit
Steps:
- Install DRIVE Core via the SDK Manager.
- Try out the DriveWorks "Hello World" getting started tutorial.
- Experiment with DriveWorks samples.
- Download DRIVE Software Documentation
- For the executables: /usr/local/driveworks/bin/
- For source code: /usr/local/driveworks/samples/sr
- To cross-compile and experiment with samples on a DRIVE AGX System instead of the host PC, try the Cross compilation tutorial.
How to develop
| Development Tasks | Getting Started |
|---|---|
| Integrate your sensors into the DRIVE Core SAL (if not already completed in DRIVE AGX Dev Kit setup) |
There are several samples included in the “samples” folder of DriveWorks SDK Reference guide contained in the DRIVE Software Documentation. To ensure that your sensors are fully integrated with the SAL and/or for more detail and examples of how to perform the SAL integration, please refer to the following DRIVE Core sensor samples:
|
| Record and playback supported sensors using DRIVE Core Tools |
|
| Accelerate image processing using DRIVE Core image processing modules |
There are several samples included in the “samples” folder of DriveWorks SDK Reference guide contained in the DRIVE Software Documentation. For more detail and examples on how to use the DRIVE Core image processing modules, please refer to the following samples:
|
| Accelerate lidar processing algorithms using DRIVE Core point cloud processing modules |
There are several samples included in the “samples” folder of DriveWorks SDK Reference guide contained in the DRIVE Software Documentation. For more detail and examples on how to use the DRIVE Core point cloud processing modules, please refer to the following sample:
|
| Use the DRIVE Core DNN Framework to load and infer neural networks |
There are several samples included in the “samples” folder of DriveWorks SDK Reference guide contained in the DRIVE Software Documentation. For more detail and examples on how to use the DRIVE Core point cloud processing modules, please refer to the following samples:
|
| Interface your software solution with the vehicle using the DRIVE Core VehicleIO module |
There are several samples included in the “samples” folder of DriveWorks SDK Reference guide contained in the DRIVE Software Documentation. For more detail and examples on how to use the DRIVE Core point cloud processing modules, please refer to the following samples:
|
Additional Development Resources:
Documentation
- All NVIDIA DRIVE documentation can be found here: https://developer.nvidia.com/drive/documentation

