DriveWorks SDK Reference
2.2.3137 Release
For Test and Development only

DriveWorks SDK Reference Documentation

Welcome to the NVIDIA® DriveWorks SDK Reference.

The NVIDIA® DriveWorks Software Development Kit (SDK) enables developers to implement autonomous vehicle (AV) solutions by providing a comprehensive library of modules, developer tools, and reference applications that take advantage of the computing power of the NVIDIA DRIVE platform.

Note
This DriveWorks SDK release may only be used for test and development.

The following diagram describes the DriveWorks SDK. Click on different points to jump to specific sections.

DriveWorks SDK Overview

Modules Modules Samples Samples Tools Tools Tutorials Tutorials

DriveWorks is designed to achieve the full throughput limits of the computer, enabling real-time self-driving applications. This requires careful architecture of the end-to-end software pipeline to do the following:

  • Efficiently utilize the many processors inside the NVIDIA DRIVE® platform.
  • Optimize data communication formats between hardware engines.
  • Minimize data copies (zero copy exchange of buffers).
  • Implement and utilize the most efficient algorithms.

The DriveWorks design philosophy is modular, optimized, and flexible. You can use it out of the box, or enhance it with your own code to create your own AV solution.

The DriveWorks SDK comprises six functional areas wherein each of them includes software modules, samples, and tools for AV development. The six areas are as follows:

  • DRIVE Core : Acquire and process sensor data, interface with the vehicle, and perform other low level functions.
  • DRIVE Calibration : Measure and correct sensor calibration parameters as well as model and estimate the vehicle's motion.
  • DRIVE Networks : Use Deep Neural Networks (DNNs) to detect obstacles, drivable paths, and wait conditions (conditions that require the vehicle to stop or slow down).
  • DRIVE Perception : Perceive and track obstacles, paths, and wait conditions via an extensive set of modules that work synergistically with DRIVE Networks.
  • DRIVE Mapping : Create and update HD Maps and localize the vehicle to a map.
  • DRIVE Planning : Plan and control the vehicle's motion, including path, lane, and behavioral planning.

The following figure illustrates the DriveWorks SDK in the context of the NVIDIA DRIVE Software stack.

The nominal delineations between DRIVE AV as DRIVE Perception, Mapping, and Planning and DriveWorks as DRIVE Core, Calibration and Networks seek to highlight the capabilities of the software. Functionally, the software is released as one library that has been designed with a cohesive approach.

DRIVE_SW_Stack.png
DRIVE Software Stack

DriveWorks runs on NVIDIA DRIVE OS, a foundational software stack for autonomous vehicles. Significant NVIDIA DRIVE OS components are:

  • NVIDIA® CUDA®: parallel computing platform and programming model for general computing on graphical processing units (GPUs).
  • NVIDIA TensorRT: platform for high-performance deep learning inference.
  • NvMedia: technology that enables hardware acceleration of image and video processing across NVIDIA Tegra® devices. NvMedia supplies processed OpenGL ES and CUDA content to DriveWorks.

Several NVIDIA DRIVE Software applications build on top of the DriveWorks SDK, including:

For more details see: