车辆在线标定
车辆在线标定
车辆标定系统会自动生成用于不同车型的标定表。它包括三个部分:前端数据采集监视系统,一个数据上传/下载工具用于上传采集的数据和下载生成的标定表以及用于性能评估的可视化工具。
一. 前端
在DreamView中,提供了一个数据采集监视器,用于监视数据标定过程。在车辆标定模式下,收集的数据帧在数据标定监视器中是可视化的。数据帧根据其底盘信息划分为不同的行驶条件。收集的数据帧的量显示为进度条。
在车载DreamView环境中:
- 选择--setup mode--下的vehicle calibration;
- 在Others面板上选择Data Collection Monitor。
数据采集监视器显示在DreamView中。
二.数据采集
在驱动时,通过从机箱通道消息中识别其驱动状态来自动处理数据帧。当单个数据帧满足速度标准(速度等于或大于0.2 mps)时,单个数据帧将根据其转向,速度和油门/制动信息进行分类。数据收集过程在数据收集监视器的进度栏中显示。
数据收集监视器中总共有21个进度条。整个过程由顶部进度条指示。其余20个进度条指示20个驾驶条件,包括:
- 六种制动条件在不同的速度水
○ 低速(<10mps)制动脉冲
○ 中速(10mps〜20mps)制动脉冲
○ 高速(≥20mps)制动脉冲
○ 低速(<10mps)制动阀门
○ 中速(10mps〜20mps)制动阀门
○ 高速(≥20mps)制动阀门
- 六种油门条件下不同的速度水平
○ 低速(<10mps)小油门
○ 中速(10mps~20mps)小油门
○ 高速(≥20mps)小油门
○ 低速(<10mps)大油门
○ 中速(10mps~20mps)大油门
○ 高速(≥20mps)大油门
- 八种转向角情况
○ 左0%~20%
○ 左20%~40%
○ 左40%~60%
○ 左60%~100%
○ 0%~20%
○ 右20%~40%
○ 右40%~60%
○ 右60%~100%
对于每个条形图,都有一条蓝丝带指示收集的数据帧。当蓝丝带填充整个条形图时,收集的帧数达到目标数。每个条的右端还有一个数字,指示完成百分比。对于动态建模数据收集,当所有进度条都达到100%时,数据收集过程被视为“已完成”。
所有数据都保存在nvme drive或data/record/。
三.车辆配置
刹车和油门规格在不同的车型上是不同的。因此,制动脉冲/轻拍和散列/节流的标准取决于车辆模型。默认设置基于林肯 MKZ模型。对于不同车型,可以在以下位置配置这些参数:
/apollo/modules/dreamview/conf/mkz7_data_collection_table.pb.txt
文件结构
上传数据前,请注意 :
1. 文件夹维护的结构如下:
2. 如上所示,要维护的文件夹结构为:
Origin Folder -> Task Folder ->Vehicle Folder -> Records + Configuration files
3. 需要动态建模作业创建一个任务文件夹,例如task001,task002 ...
4. 需要车辆创建一个车辆文件夹。文件夹中的名称应该与在DreamView中看到的相同。
5. 在文件夹中,创建一个records文件夹来保存数据。
6. 将所有配置文件与records文件夹一起存储在Vehicle文件夹内。
7. 自Apollo 5.0及更高版本以来,车辆配置文件(vehicle_param.pb.txt)已更新,应该检查。
8. 一个任务文件夹可以包含多个车辆文件夹,换句话说,可以在一项训练工作中为多辆车辆训练模型。
使用bosfs将bucket挂载到本地,例如:
1BUCKET=
2AK=
3SK=
4MOUNT=/mnt/bos
5# It's required to provide correct BOS region. Please read the document
6# https://cloud.baidu.com/doc/BOS/S3.html#.E6.9C.8D.E5.8A.A1.E5.9F.9F.E5.90.8D
7REGION=bj
8
9mkdir -p "${MOUNT}"
10bosfs "${BUCKET}" "${MOUNT}" -o allow_other,logfile=/tmp/bos-${BUCKET}.log,endpoint=http://${REGION}.bcebos.com,ak=${AK},sk=${SK}
然后,可以将准备好的数据文件夹复制到/mnt/bos下的某一位置。
四.结果可视化
无需下载,结果将发送到BOS存储桶关联的电子邮件中。
docker环境不支持Matplotlib。因此,结果在docker环境外部可视化。