Skip to content

Vbat Thrust Calibration

Matthias Faessler edited this page Mar 20, 2018 · 1 revision

The SBUS bridge provides the capability to compensate for varying battery voltages. But this compensation first needs to be calibrated by hovering for an entire battery charge as explained here.

Before you start this calibration you need to set the following SBUS bridge parameters:

  • mass: Must be as exact as possible for the calibration flight, so weigh the quadrotor before flying and set this accordingly.
  • perform_thrust_voltage_compensation: Must be set to false for the calibration run.
  • thrust_map_a, thrust_map_b, thrust_map_c: are the second order polynomial coefficients of the identified thrust mapping such that thrust = thrust_map_a * u^2 + thrust_map_b * u + thrust_map_c. Make sure this mapping is identified well before doing the Vbat Thrust calibration (We use a load cell to identify this mapping).

Once everything is set up correctly you first have to bring the quadrotor to a hover state with a full battery and then start the calibration script. Depending on the battery you use, you might want to adapt the parameters in the calibration launch file, but for 3s LiPo batteries we recommend the default settings.

So first get the quadrotor hovering and then launch the following:

roslaunch vbat_thrust_calibration vbat_thrust_calibration.launch quad_name:=<YOUR_QUAD_NAME>

Now you have to wait until the script is done, i.e., the set min_battery_voltage (default = 10.7) is reached. Once this is the case, it will output the identified thrust_ratio_voltage_map_a and thrust_ratio_voltage_map_b parameters. Replace the ones in the SBUS bridge parameter file and also set the perform_thrust_voltage_compensation parameter back to true. Done!

Clone this wiki locally