自动驾驶汽车和高级驾驶辅助系统(ADAS)的开发和验证是极其苛刻的过程,包括现实道路测试和详尽的实验室模拟。虽然真实世界的道路测试是发布汽车产品之前的最终步骤,但许多公司倾向于尽可能用现实的模拟或者记录的真实世界数据来代替它,可控性更强,并普遍提高测试质量和验证覆盖率。
作为ADAS系统的主传感器,相机应用的测试过程除了要验证可用性和安全性外,在开发早期还要面临大量的训练过程来改进算法。这个过程需要用构建好的道路场景库,即录制好的大量视频文件作为激励,在实验室环境回放视频流给被测设备(DUT),通常是ADAS域控制器或者中央计算自动驾驶平台。
视频回灌功能极大地简化了实验室环境中的研发和测试。例如,计算机视觉系统可以在实验室调试,根据特定的驾驶情况循环,无需额外的试驾。
1
技术要求
在回灌视频时,ECU和相机断开连接,需要一个特定的板卡来回放原始视频数据,并且保证回放的准确度和精度。
VX1161是专为高带宽数据采集和传输设计的可配置的多通道接口设备,其中面向Streaming应用的VX1161.5x系列板卡具有下述特点:
图1 VX1161实物
1.
支持广泛的标准的摄像头接口
通常ECU和相机之间是通过串行解串技术来传输视频流,常见的串行解串协议有FPD-LINK III和GMSL2等。VX1161.5x系列具有多种型号的板卡可以接收、发送和路由不同协议的数据流,例如:
VX1161.51A 2xTAP TI954/TI953支持两路FPD-LINK III协议的视频流记录和回放;
VX1161.51C 2xTAP MX9296A/MX9295A支持两路GMSL2协议的视频流记录和回放。
2.
实时性和高带宽
在有效地复现完整的测试车辆多摄像头视频系统和车载数据总线时,通常数据量可能高达几个G,需要保证从读取文件到传输数据的高带宽,从而保证回放的时间准确度。
VX1161的10G以太网接口可以高效接收来自回灌工作站(Replay Station)的视频流。
3.
同步性
VX1161板卡支持PTP同步功能,可以实现多通道的时间同步,同时其他支持PTP的总线设备也可以在一个时间域内同步回放,确保同步传感器和总线数据回放,且抖动最小。
4.
模块化
VX1161板卡均为模块化设计,可根据使用需求灵活组合。同时VX1161板卡的回放API可以被CANoe的CAPL脚本调用,从而便于集成其它的系统测试过程。
2
视频回灌原理
图2 视频回灌原理
通过VX1161视频回灌的基本过程如下:
1)
CANoe作为系统的主控软件
负责控制CAPL脚本的编辑和执行;
2)
CAPL脚本调用Stream Provider动态链接库中的API函数
负责加载视频文件(MF4);
连接VX1161板卡;
控制VX1161板卡开始和停止回灌;
3)
VP75xx回灌工作站(Replay Station)
负责存储和读取视频文件的视频流;
通过10G以太网将视频流输出到视频硬件板卡;
4)
VX1161作为视频回灌硬件
负责接收来自VP75xx回灌工作站的视频流;
接收来自CANoe的控制命令;
通过各个板卡的GMSL2或FPDLINKIII串行器传输视频流到ECU接收端。
视频回灌中的时间同步机制
在视频回灌中,如果涉及以下场景通常需要设计同步机制:
1)
多通道的视频同步回灌,例如自动泊车(APA)环视摄像头;
2)
在回灌视频的同时,回灌其他传感器或者ECU系统记录的数据,例如CAN总线数据等等。
VX1161在回灌时通常使用PTP同步机制(亦支持其它同步机制,如GPIO),VTSS(Vector Time Synchronization Service)同步服务确保连接在VP75xx上的多个设备可以同步到一个时间域,板卡的视频流按照PTP时间进行回放,每帧的播放时间需要在Stream Provider中计算并发送给板卡。具体过程如下:
图3 视频回灌系统的同步连接
1)
PTP主时钟提供整个仿真系统的时间。
所有设备作为PTP从节点(Slave)被同步,包括VX1161的所有板卡,VN56xx等支持PTP功能的以太网接口卡;
其他不支持PTP的板卡可通过同步线连接到VN56xx来实现硬线同步。
2)
在开始回灌时,CANoe通过CAPL脚本从支持PTP的接口卡(如VN56xx,VX1161.41A/B)获取PTP时钟。
3)
CANoe调用并初始化Stream Provider。
4)
Stream Provider打开本地的视频回灌文件并读取图像的时间戳,通过相对时间换算每一帧图像的播放时间。
5)
VX1161.51板卡接收缓存图像和播放时间,比较PTP时间和预设的播放时间,当到达播放时间时,图像会按照CSI包送到串行器;ECU通过解串器接收视频流。
以四路回放为例,CANoe在获取当前的PTP时间后并没有控制板卡立即回放,而是缓存图像等待第一帧图像时间对齐后同时回放。
在回放后的每一帧都是对齐的,因为:
所有图像帧的第一帧启动时间是相同的;
所有通道的文件里每帧时间是对齐的;
每一个板卡的通道都同步在一个PTP时间域,板卡是按照PTP绝对时间进行回放。
每一帧的实际回放时间就是由三部分累加产生的:
Presentation time = CANoe PTP time (start replay) + delay time + MDF frame time stamp
图4 视频回灌系统的同步时间
3
实例解析
图5 回灌系统的实例
本实例通过另外一组VX1161板卡来接收回灌数据,从而模拟ECU接收视频流的过程,同时验证回灌视频的同步性。
在回灌系统中,设置VX1161.51板卡通道2和通道4为发送模式(TX only),并将其IP地址分别设为192.168.10.12和192.168.10.13,这样可以回放4路视频。这些通道都已集成CSI串行器,并配置相应的寄存器。
与之对应的,设置VX1161.51板卡通道1和通道3为接收模式(RX only),并将其IP地址分别设为192.168.20.12和192.168.20.14的,这样可以同时接收4路视频。这些通道上都已集成CSI解串器,并配置相应的寄存器。
图6 VX1161板卡的模式配置
图7 CANoe的视频回灌4路发送界面
在CANoe中通过Panel面板可以设置管理回灌板卡的IP和通道,并关联回灌的视频MF4文件。在点击Group control Start/Stop时,CANoe会触发相应的CAPL脚本控制板卡开始或停止回灌。
图8 CANape接收4路回灌的视频界面
与此同时,CANape可以同时接收4路视频并预览图像,每个接收通道之间也是PTP同步的,这样可以判断每路视频的帧同步的情况。