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/vehicle_calibration:

  • Collect data.

  • Process data.

  • Plot results.

  • Convert results to protobuf.

Collect Data

  1. Run python data_collector.py for 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.

  2. Adjust the command script based on the vehicle response.

  3. Run python plot_data.py to 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.