How to Update Vehicle Calibration for Throttle and Brakes
Introduction
The purpose of vehicle calibration is to find the throttle and brake commands that accurately produce the amount of acceleration requested from the control module.
Preparation
Preparation consists of the following task sequence:
- Gain access to the relevant code.
- Change the driving mode.
- Select the testing site.
Gain Access to the Relevant Code
- Canbus, which includes modules for:
- GPS Driver
- Localization
Change the Driving Mode
Set the driving mode in modules/canbus/conf/canbus_conf.pb.txt to AUTO_SPEED_ONLY.
Select the Testing Site
The preferred testing site is a long flat road.
Update the Vehicle Calibration
After preparation, complete the following task sequence from modules/tools/calibration:
- Collect data.
- Process data.
- Plot results.
- Convert results to
protobuf.
Collect Data
- Run
python data_collector.pyfor different commands, commands like x y z, where x is acceleration command, y is speed limit(mps), z is decceleration command,Positive number for throttle and negative number for brake.Run each command multiple times. - Adjust the command script based on the vehicle response.
- Run
python plot_data.pyto open recorded data and visualize collected data.
like 15 5.2 -10, will create and record a file named t15b-10r0.csv.
Process Data
Run process_data.sh on each recorded log individually. data log is processed to t15b-10r0.csv.result.
Plot Results
Run python plot_results.py t15b-10r0.csv.result to visualize final results. Check for any abnormality.
Convert Results to Protobuf
If everything looks good, run result2pb.sh to move calibration results to protobuf defined for the control module.