
智能网联汽车云控系统第3部分:路云数据交互规范 (上)
1 范围
本文件规定了智能网联汽车云控系统路侧与云端数据交互的总体架构、数据类型、传输规则以及路侧与RSU、路侧与RCU之间的数据交互协议。
本文件适用于云端与路侧RSU、云端与路侧RCU之间的应用层数据交互。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB 5768.2-2009 道路交通标志和标线 第2部分道路交通标志
GB/T 29100-2012 道路交通信息服务 交通事件分类与编码
3 术语和定义
下列术语和定义适用于本文件。
3.1 云控基础平台 cloud control basic platform
云控基础平台由边缘云、区域云与中心云三级云组成,形成逻辑协同、物理分散的云计算中心。云控基础平台以车辆、道路、环境等实时动态数据为核心,结合支撑云控应用的已有交通相关系统与设施的数据,为智能网联汽车与产业相关部门和企业提供标准化共性基础服务。
3.2 客户端 client
进行数据交互时,作为路侧数据发送方的一端。
3.3 服务端 server
进行数据交互时,作为路侧数据接收方的一端。
3.4 上行 upstream
路侧到云端的数据传输方向。
3.5 下行 downstream
云端到路侧的数据传输方向。
3.6 心跳 heartbeat
客户端到服务端发送的用于维护连接不被断开的通信数据。
3.7 心跳回应 heartbeat response
服务端对心跳数据的回应数据。
3.8 路侧感知目标 road side sensor objective
路侧基础设施基于传感器(摄像头、雷达等)原始数据或结构化数据,结过融合、分析计算得到的道路使用者目标感知结果数据。
3.9 路侧感知事件 road side sensor event
路侧基础设施结合传感器(摄像头、雷达等)输出数据或路侧感知结果,经过识别或分析得到影响其他车辆行驶相关的交通事件数据。
3.10 路侧设备状态 road side unit status
路侧各传感器(摄像头、雷达等)设备的状态数据。
3.11 边缘云 edge cloud
车路云一体化融合控制系统中云控基础平台的边缘云,主要面向网联汽车提供增强行车安全的实时性与弱实时性云控应用基础服务。
3.12 路侧计算单元 road side computing unit
部署在道路、公路沿线或者场端,配合其他设施或系统完成交通信息汇聚、处理的计算模块、设备或设施。
4 缩略语
下列缩略语适用于本文件。
BSM 基本安全消息 Basic Safety Message
CFG 配置信息 Configuration
CLOUD2RCU 云端发送至路侧计算单元 Cloud to RCU
CLOUD2RSU 云端下发至路侧单元 Cloud to RSU
MQTT 消息队列遥测传输协议 Message Queuing Telemetry Transport
OBU 车载单元 Onboard Unit
RCU 路侧计算单元 Road Side Computing Unit
RCU2CLOUD 路侧计算单元上报至云端 RCU to Cloud
RSI 路侧单元信息 Road Side Information
RSM 路侧安全消息 Road Safety Message
RSU 路侧单元 Road Side Unit
RSU2CLOUD 路侧单元上报至云端 RSU to Cloud
SPAT 信号灯相位与配时消息 Signal Phase and Timing Message
UTC 协调世界时 Coordinated Universal Time
5 总体架构
总体架构见T/CSAE XXXX(第一部分),路云交互的架构范围见图1。
6 数据类型
6.1 字符串数据类型
根据消息集定义,采用JSON,protobuf,ASN.1等传输格式,宜采用JSON格式。JSON字符串数据类型见表1。
6.2 二进制数据类型
对于采用二进制格式传输的消息集,二进制数据类型见表 2。
7 传输规则
7.1 整体规则
传输应符合下列要求。
——本文件中经纬度等坐标信息采用GCJ-02坐标系;
——本文件中所有字符串采用UTF-8编码格式;
——本文件中所有时间戳为东八区UTC时间。
7.2 云端与路侧 RSU 传输规则
7.2.1 概述
可根据应用选择MQTT、HTTPS等传输协议,建议采用MQTT传输的数据协议。对于采用MQTT传输协议的,宜使用JSON格式,也可以根据消息集定义,采用protobuf,ASN.1等格式。当云端向路侧RSU下发数据时,路侧RSU应先向MQTT服务器订阅与指定RSU相关的TOPIC,并保持等待数据状态。云端根据心跳数据中的版本值向MQTT服务器发布对应TOPIC数据。当路侧RSU向云端上传BSM、心跳数据时,云端应先向MQTT服务器订阅与RSU相关的TOPIC(全局的),并保持等待数据状态。路侧RSU向MQTT服务器发布对应TOPIC数据。云端与路侧RSU数据交互见图2。
7.2.2 MQTT 规则
单个数据包格式的异常不能说明问题,统计其数据异常的频率可以分析出数据来源或者应用程序中的BUG。
7.2.3 与 RSU 相关的 TOPIC
边缘云向路侧RSU下发时,应发送给指定RSU,故TOPIC名称中应带有RSU的编号,RSU只订阅与自身编号相关的TOPIC。路侧RSU向云端上传数据时,云端统计汇总所有RSU上传的数据,应发布统一格式的TOPIC名称,由云端订阅。TOPIC规则建议如下:
RSU2CLOUD_HEARTBEAT:vpub/rsu/heartbeat/<rsu_id>
CLOUD2RSU_CFG:cpub/rsu/cfg/<rsu_id>
RSU2CLOUD_BSM:vpub/rsu/bsm/<rsu_id>
CLOUD2RSU_SPAT:cpub/rsuspat/<rsu_id>
CLOUD2RSU_RSI:cpub/rsu/rsi/<rsu_id>
CLOUD2RSU_MAP:cpub/rsu/map/<rsu_id>
CLOUD2RSU_RSM:cpub/rsu/rsm/<rsu_id>
RSU2CLOUD_RSM:vpub/rsu/rsm/<rsu_id>
RSU2CLOUD_RSI:vpub/rsu/rsi/<rsu_id>
7.2.4 与 RSU 间通信链路要求
7.2.4.1 基于 MQTT 协议 3.1.1 版本,采用用户名密码及开启 ACL 的方式进行授权认证。
7.2.4.2 传输层支持 TLS1.2 版本协议,采用双向认证,证书格式 X.509,秘钥长度 2048,通过 PKCS10格式证书申请文件申请。
7.3 云端与路侧 RCU 传输规则
7.3.1 概述
7.3.1.1 可根据应用选择 TCP、UDP 等传输协议,宜采用 TCP 协议。
7.3.1.2 TCP 协议采用大端模式的网络字节序来传递字和双字以及有符号整数、无符号整数、有符号长整数、无符号长整数、单精度浮点数、双精度浮点数、时间戳、有符号短整数。RCU 系统和软件启动后,作为客户端请求与云端建立 TCP 连接,云端为服务端。每个 RCU 都有固定 IP 地址。
7.3.1.3 每个 TCP 连接上报的数据表示一个 RCU 节点的感知目标、感知事件、设备状态等数据。
7.3.1.4 消息集中的“字段名称”仅作为数据定义时的参考描述使用,实际数据传输时不需要传该值,只需要按数据类型、长度、字段值要求规则进行赋值。
7.3.1.5 路侧 RCU-云端数据交互见图 3。
7.3.2 TCP 传输时序
7.3.2.1 建立 TCP 连接后,RCU 每 1 分钟向云端发送心跳数据,云端收到后,向 RCU 返回心跳回应数据。如果 RCU 发送心跳数据后,超时 1 秒未收到数据心跳回应数据,则重发。如果连续重发三次认为连接异常,RCU 断开本连接后进行重连。
7.3.2.2 RCU 每 10 秒向云端发送路侧设备状态数据,云端收到后,向 RCU 返回路侧设备状态回应数据。
如果 RCU 发送路侧设备状态数据后,超时 1 秒未收到路侧设备状态回应数据,则重发。如果连续重发三次认为连接异常,RCU 断开本连接后进行重连。
7.3.2.3 RCU 以不低于 10Hz 的固定频率向云端上报路侧感知目标数据。
7.3.2.4 RCU 识别到交通事件时,向云端发送路侧感知事件数据,云端收到后,向 RCU 返回路侧感知事件回应数据。如果 RCU 发送路侧感知事件数据后,超时 1 秒未收到路侧感知事件回应数据,则重发。
如果连续重发三次认为连接异常,RCU 断开本连接后进行重连。
7.3.2.5 当交通事件结束时,RCU 向云端发送路侧感知事件取消数据,云端收到后,向 RCU 返回路侧感知事件取消回应数据。如果 RCU 发送路侧感知事件取消数据后,超时 1 秒未收到回应数据,则记录异常日志并重发。如果连续重发三次未收到回应数据,RCU 记录异常日志并断开本连接后进行重连。
7.3.2.6 RCU 因未能从云端接收到对应数据的回应数据,且达到重发上限(三次)时,应主动断开与云端的连接,在间隔一定时间(单位:分钟)后进行重连。重连间隔时间计算公式如下。
T(n)=(n*3)
式中:
T——间隔时间;
n——重连次数。
注:重连成功后,清零积累的重发次数。
7.3.3 数据包结构
一个完整的数据包应由起始符、数据报头(数据单元长度、数据类别、版本号、时间戳-毫秒、时间戳-分钟)、数据单元组成,数据包结构和定义见表3。
7.3.4 命令单元
7.3.4.1 数据类别分类
采用TCP协议传输的数据类别分段定义见表4。
7.3.4.2 数据类别
路侧感知设备与云端通信涉及到的数据类别定义见表5。
表 5 数据类别定义
注:定频:固定频率上报;触发:触发式上报(有就上报,没有就不上报);回应:对某类数据的回应数据。
7.3.5 与 RCU 通信链路要求
传输层支持TLS1.2版本协议,采用双向认证,证书格式X.509,秘钥长度2048,通过PKCS10格式证书申请文件申请。
8 云端与 RSU 的数据交互
8.1 RSI 数据下发(CLOUD2RSU_RSI)
8.1.1 概述
云端向RSU下发的RSI数据消息,格式为JSON字符串。消息集用于云端静态RSI事件的下发、取消、更新,动态RSI事件的下发。
8.1.2 消息集
RSI数据下发消息集见表6。
表 6 RSI 数据下发消息集
8.1.3 应用场景分类
静、动态RSI事件的下发与更新中,“status"字段值为0,静态事件"type"字段为1,动态事件"type” 字段为0,静态RSI事件的取消。
静 态 RSI 事 件 的 取 消 中 , “status” 字 段 值 为 1 , 仅 保 留 “msgType”,“uuid”,“status”,“alertType”,“strategy"描述指定事件。在静态RSI取消消息中,仅"msgType”,“uuid”,“status”,“alertType”,"strategy"为必填字段,其余为可选字段。
注:动态RSI事件没有取消功能。
8.1.4 异常处理
静态RSI事件下发时,"beginTime"字段值应小于"endTime"字段值,否则该数据失效,应当丢弃,并保存日志。
8.2 RSM 数据下发(CLOUD2RSU_RSM)
8.2.1 概述
云端下发至RSU,用于转换为RSM信息的数据内容,格式为JSON字符串。消息集用于云端将在云上汇聚或融合的交通参与者数据按需下发给路侧RSU。
8.2.2 消息集
RSM数据下发消息集见表7。
8.3 MAP 数据下发(CLOUD2RSU_MAP)
8.3.1 概述
云端下发至RSU,用于下发转换为MAP信息集的地图数据,格式为JSON字符串。RSU广播频率为1 Hz。
注:根据系统总体结构,MAP数据由云控平台从地图获取。
8.3.2 消息集
MAP数据下发消息集见表8。
8.4 SPAT 数据下发(CLOUD2RSU_SPAT)
8.4.1 概述
云端下发至RSU,用于转换为SPAT信息的数据内容,格式为JSON字符串。
注:根据系统总体结构,SAPT数据由云控平台从路侧信号机获取。
8.4.2 消息集
SPAT数据下发消息集见表9。
8.5 BSM 数据上报(RSU2CLOUD_BSM)
8.5.1 概述
RSU发送至云端RSU接收到的信号范围内车辆BSM数据,RSU每收到一个BSM数据,发送一次RSU2CLOUD_BSM数据。协议支持RSU同时上传多个BSM数据,在无特殊说明情况下,RSU2CLOUD_BSM数据内容默认只包含一个BSM数据,格式为JSON字符串。
8.5.2 消息集
BSM数据上报消息集见表10。
8.6 RSU 心跳数据上报(RSU2CLOUD_HEARTBEAT)
8.6.1 概述
RSU上报给云端,当RSU未收到BSM数据时,按照固定时间间隔1分钟,上传RSU2CLOUD_HEARTBEAT数据,格式为JSON字符串。
8.6.2 消息集
心跳数据上报消息集见表11。
8.7 CFG 数据下发(CLOUD2RSU_CFG)
8.7.1 概述
云端主动触发,下发CLOUD2RSU_CFG数据,用以控制RSU上传下发策略,格式为JSON字符串。RSU默认传递"rsm",“rsi”,“spat”,“map”,“heartbeat”,"bsm"所有数据。
8.7.2 消息集
CFG数据下发消息集见表12。
表 12 CFG 数据下发消息集
8.8 RSI 数据上报(RSU2CLOUD_RSI)
8.8.1 概述
RSU上报至云端,用于记录路侧触发RSI触发状态,格式为JSON字符串。消息集记录路侧静态RSI事件的广播、取消、更新等情况。
8.8.2 消息集
RSI数据上报消息集见表6。
8.8.3 应用场景分类
静、动态RSI事件的广播执行,“status"字段值为0,静态事件"type"字段为1,动态事件"type"字段为0,静态RSI事件的取消静态RSI事件的取消中 , “status” 字段值为1 , 仅保留"msgType”,“uuid”,“status”,“alertType”,“strategy"描述指定事件。在静态RSI取消消息中,仅"msgType”,“uuid”,“status”,“alertType”,"strategy"为必填字段,其余为可选字段。
注:动态RSI事件没有取消功能。
8.8.4 异常处理
静态RSI事件上报时,"beginTime"字段值应小于"endTime"字段值,否则该数据失效,应当丢弃,并保存日志。
8.9 RSM 数据上报(RSU2CLOUD_RSM)
8.9.1 概述
RSU上报至云端,作为路侧广播RSM消息的记录及供云端生成更广范围的交通决策及其他场景的触发数据源。
8.9.2 消息集
RSM数据上报消息集见表7。
8.10 RSU 数据确认(RSU2CLOUD_ACK)
8.10.1 概述
RSU每接收到一条静态RSI、MAP、CFG数据,都向云端发送ACK,以确认接收到数据。云端对于未接收到ACK的数据,执行暂存、上线重传。
8.10.2 异常处理
每隔1秒检查一次是否有ACK数据,共计执行3分钟。在检查时间范围内如果一直没有接收到ACK,则对数据缓存,在RSU上线后进行补发。
8.10.3 dW消息集
RSU数据确认的消息集见表13。
原文作者:爱是与世界平行
原文链接:https://blog.51cto.com/lovebetterworld/5816231
