NVIDIA DriveWorks SDK
NVIDIA® DriveWorks SDK 是开发自动驾驶汽车 (AV) 软件的基础,为车规级中间件提供加速算法和通用工具。
DriveWorks 简介
使用 DriveWorks SDK,开发者可以专注于开发自身的自动驾驶汽车解决方案,而无需花时间开发基础功能。DriveWorks 是开放式的模块化可定制软件。开发者既可以在自己的软件堆栈中使用单个模块来实现特定功能,也可以使用多个模块来实现更高级的目标。
主要特性
计算图形框架和 STM 调度程序
适用于 DRIVE Orin™ SoC 的 DriveWorks 5 具有重要的新特性。借助计算图形框架 (CGF) 和系统任务管理器 (STM) 调度程序,DriveWorks 可用作多功能汽车中间件。
CGF 支持开发者将其应用以有向无环图 (DAG) 的节点这种形式展示出来。这些节点可以重复使用,而这种图形结构为组织复杂的应用提供了直观的方式。基于此,开发人员可以通过精细的方式明确节点的计算资源消耗:
在调度阶段,该图形框架将移交至 STM 调度程序。STM 是静态的、非抢占式的调度程序,这意味着 STM 的编译器会根据多种约束限制生成一个静态的调度表,在软件运行的时候,每一个模块和任务按照这个调度表执行计划,从而获得最优的执行效率。这是一款非抢占式调度程序,不会中断执行,支持安全至上的应用和高度可靠的确定性行为。
传感器抽象层
传感器抽象层 (SAL) 具备以下功能:
所有 DriveWorks 模块都与 SAL 兼容,减少了处理专用传感器数据的需求。SAL 支持各种开箱即用的 Hyperion 兼容型传感器。通过利用强大的传感器插件架构,可支持其他传感器。
图像/激光点云处理
DriveWorks 为传入的传感器数据提供一系列优化的低级图像和激光点云处理模块,用于支持更高级的感知、地图构建和规划算法。选定的模块可在不同的 DRIVE AGX 硬件引擎(例如可编程视觉加速器或 GPU)上无缝运行和加速,这为开发者提供了多种选择,有助于他们管理应用。图像处理功能包括特征检测和追踪、运动恢复结构以及图像校正。激光点云处理功能包括激光雷达数据包累积、注册和平面分割等。
VehicleIO
VehicleIO 模组支持多个产品级线控后端,可向车辆发送指令、以及接收车辆发出的状态信息。即使没有开箱即用的线控设备,VehicleIO 插件框架也可支持与自定义接口轻松集成。
DNN 框架
DriveWorks 深度神经网络 (DNN) 框架可用来加载和推理经过独立训练的 TensorRT 模型。如果 DNN 由 TensorRT 不支持的层组成,可以利用插件引入自定义层,并利用推理引擎提供的推理加速。此外,DNN 框架还可利用 DRIVE AGX 的集成式 GPU 实现推理加速。
记录仪
传感器数据记录和录后工具是一个工具套件,用来记录、同步和回放连接 NVIDIA DRIVE™ AGX 平台的多个传感器捕获的数据。记录的数据可用作优质的同步数据源,用于训练和其他开发工作。
校正
校正功能为打造自动驾驶解决方案提供符合使用一致性原则、最新的高保真传感器数据奠定了基础。使用该功能,可以调整与 DriveWorks 传感器抽象层兼容的车辆摄像头、激光雷达、普通雷达和惯性测量单元 (IMU) 传感器。
自运动
DriveWorks Egomotion 模组利用运动模型来跟踪和预测车辆姿态 DriveWorks Egomotion 模组提供两种运动模型,分别是基于测距的模型以及基于 IMU 和测距的模型(如果有 IMU)。