加速自主汽车的发展
在高性能,安全关键环境中管理多种数据流
管理高性能,安全关键环境中的各种数据流
介绍
RTIConnext®DDS为许多行业的自主应用提供核心连接,包括自动驾驶汽车。 Connext DDS的根源在于自动化机器人技术,并广泛应用于交通, 航空 和医疗行业的任务关键和 安全关键 系统。 它具有解决实时系统基本要求的先天能力,如可靠性, 安全 和性能。
自动驾驶车辆是自主性最苛刻的应用之一。 他们依赖于多种服务质量(QoS)要求的数据源。 它们还集成了许多具有不同安全关键级别的应用程序。这就是Connext DDS Databus可以大大简化系统架构,集成和软件开发的地方。 它包括对实时QoS的全面控制,内容过滤器以及可针对每个数据流和应用程序进行调整的弹性。
这个用例适用于开发 应用 用于自动驾驶汽车和高级驾驶辅助系统(ADAS),包括:
- 光检测和测距(LiDAR)点云
- 视觉处理
- 传感器融合
- 容错
- 路径规划
- 车辆控制
- 警告系统
- 记录系统
下面的编码示例显示了自动车辆开发人员如何使用Connext DDS来充分利用RTI在自动机器人,安全关键 系统 以及最先进的架构来简化开发,设计和集成。 下图显示了一个自治汽车系统架构的示例。
RTI Connext DDS在汽车应用中的应用
这个例子做了什么
这个例子涉及一个由一个简单的防撞系统组成的系统,该系统有不同传感器的输入。 警告显示在HMI(人机界面)应用程序中并发送到车辆控制平台。 该示例显示传感器以不同的速率和大小发布数据。 不同的应用程序通过RTI Connext Databus连接,如下图所示。
显示了六个模块 包括 3级自治系统,将传感器输入组合到传感器融合模块,碰撞避免和检测系统,人机界面以及与模拟CAN总线车辆平台的接口。 数据来源包括视力, 激光雷达 和CAN总线。
视觉传感器(VisionSensor)
- 发布视觉传感器数据
- 以比LiDAR更低的速率发送少量数据(几百字节)
- 传感器数据是从CSV文件读取的,可以修改以发布不同的数据; 文件名是在视觉传感器的属性配置中指定的
- 通用传感器的一个例子; 视觉传感器的多个实例可以运行并且每个传感器具有其自己的唯一标识符
车辆平台(vehiclePlatform)
- 向碰撞避免系统发布有关车辆平台的信息
- 订 控制命令
- 示例实施将控制数据复制到状态数据中
- 无法从控制主题派生的其他元素从CSV文件读取; 文件名是在车辆平台的属性配置中指定的
传感器融合模块(sensorFusion)
- 订 到LiDAR和视觉传感器数据
- 将聚合的视觉传感器信息发布到防撞系统,以识别潜在的碰撞
- 显示收到的时间戳 激光雷达 数据,但不以其他方式处理
- 可以接收来自一个或多个视觉传感器的数据; 连接越多,传感器对象列表就会越大(最多128个对象,大小超过5k)
避碰系统(collisionAvoidance)
- 订 到平台状态和传感器数据
- 如果检测到碰撞,则发布警报
简约来演示数据流; 没有实现实际的避免碰撞算法 - 将第一个对象的一些元素复制到平台状态中,以便平台状态具有更改值
- 如果传感器对象字段的大小的值大于2,则生成警报; 预先封装的数据将每200个样本触发一次警报
- 忽略平台状态信息
HMI( HMI )
- 订 来自防撞系统的警报
- 弹出 如果设置了警报标志之一,则显示警告框
数据模型注意事项
在DDS中对数据进行建模时,最大的考虑因素之一是“什么表示我的数据流中的单个元素或现实世界对象?” 在传感器数据的情况下,您通常可以假设每个传感器应该被表示为一个独特的对象。 在这个例子中,我们正在为每个主题分别建模我们的数据类型。 该 IDL 目录有每个主题的IDL文件以及具有通用定义的通用文件。 RTI Connext DDS使用IDL - 接口定义 语言已定义 由OMG来定义语言无关的 数据类型 。
在DDS中,这些独特的真实世界对象被建模为 实例 。 实例由称为的一组唯一标识符来描述 ,由// @键符号表示。
所以,在我们的例子中,我们使用sensorId作为关键字段:
long sensorId; //@键
传感器融合和冲突避免发布的数据类型没有键值,因为每个应用程序只有一个实例。
QoS注意事项
LiDAR样本很大,因此发布者已被配置为异步发布者。 有关异步发布程序的更多信息,请参见RTI Connext Core Libraries用户手册。
预计传感器数据将定期到达。 因此,QoS设置有一个设定的最后期限。 唯一的例外是驱动程序警报没有设置截止日期,因为警报不会定期发生。 作者的最后期限需要设置得高于或等于读者。 在QoS中 文件 作者的截止日期设置为11秒,读者的截止日期设置为10秒。 这比你在现实生活中期待的要高得多。 但是,您可能希望以较慢的速度运行该示例以查看输出。 因此,截止日期设置得较低,以避免在运行速度较慢时错过最后期限的消息。 您可以在RTI Connext Core Libraries用户手册中了解关于截止日期的更多信息。
警报主题具有瞬态本地属性集。 这意味着,当HMI或其他用户启动时,它将获得上次发布的警报状态。 该 历史 属性设置为1,这意味着用户在启动时将获得单个警报状态。 活力属性已配置为1分钟。 这样,如果作者消失,HMI或任何用户都将收到通知。 否则,如果没有定期ping,读者不知道作者是否还活着。 您可以在RTI Connext Core Libraries用户手册中了解更多有关生动的内容。