前言
车辆云标定是通过采集车辆底盘油门踏板量、刹车踏板量、车辆速度、加速度作为车辆纵向动力模型的输入,通过机器学习的方式,生成相应车辆的踏板标定表,生成的标定表数据量大,精度高,提高车辆的控制精度。
标定方法
具体可参考Apollo官方文档:
循迹搭建–车辆动力学云标定
Vehicle Calibration Online Service
本文对官方文档进行一些补充。
表定表文件
表定标文件的详细定义可参考modules/dreamview/proto/data_collection_table.proto
,而默认的标定表文件在modules/dreamview/conf/data_collection_table.pb.txt
,在实际标定时,需要在modules/calibration/data
文件夹下具体车辆的文件夹中创建对应的表定标文件。
可以看出,每一个criterion
对应标定时采集的一项数据,可以根据车辆实际进行修改。因此可以参考dev_kit的标定文件,确定车辆前进模型。
速度条件
低速 0 ~ 2.5m/s
高速 >= 2.5m/s
油门条件
小油门 Throttle deadzone ~ 24%
大油门 Throttle >= 24%
刹车条件
缓刹车 Brake deadzone ~ 28%
急刹车 Brake >= 28%
可根据车辆实际来覆盖小车大部分踏板的控制范围,然后可以组合出八种标定条件,以此修改标定表文件中的criterion
。
控制配置文件
最终从云端获取的标定文件的内容要添加到控制配置文件control_conf.pb.txt
当中,该文件的具体定义可参考modules/control/proto/control_conf.proto
目前该配置文件具体作用未知
疑问:
- 从控制配置文件当中可以看到,官方文档是针对纵向动力学进行的标定,除此之外,还有横向动力学,
MPCControllerConf
,这些需要标定吗?如何标定? - 控制文件的作用是什么,对于自己适配的车型,如何生成该文件?
- 根据官方的另一篇文档如何标定车辆油门和制动,最终生成了
control_conf_pb.txt
控制参数文件,但是如何检查最终结果是否存在异常?并且如何确定采集数据时的参数? - 各个配置文件都有什么作用?如何被加载的?
modules/tools/vehicle_calibration
文件夹下还有其他脚本,官方文档中没有提到,它们的作用是什么,如何使用?
思路:
学习了解Apollo的控制模块,Dreamview模块