@DzikuVx DzikuVx released this Sep 22, 2018

Assets 18

This is a test release for the INAV Multirotor Braking mode. This is highly experimental stuff that was tested so far only on one machine but with quite good results. Requirements:

Requirements and setup

  1. Multirotor has to be capable or running 3D Position Hold: GPS, Compass and Baro are required
  2. MC BRAKING flight mode has to be enabled
  3. UAV has to be put into User Control Mode CRUISE



No, there is no firmware for Omnibus F3 because it lacks flash memory. Firmware only for most popular flight controllers was built. If you want it for any specific, please make a ticket in https://github.com/DzikuVx/inav/issues


  • nav_mc_braking_speed_threshold - min speed in cm/s above which braking can happen
  • nav_mc_braking_disengage_speed - braking is disabled when speed goes below this value
  • nav_mc_braking_timeout - timeout in ms for braking
  • nav_mc_braking_boost_factor - acceleration factor for BOOST phase
  • nav_mc_braking_boost_timeout - how long in ms BOOST phase can happen
  • nav_mc_braking_boost_speed_threshold - BOOST can be enabled when speed is above this value
  • nav_mc_braking_boost_disengage_speed - BOOST will be disabled when speed goes below this value
  • nav_mc_braking_bank_angle - max angle that MR is allowed to bank in BOOST mode

How it works:

  1. There are two phases BRAKE and BOOST
  2. BRAKE can be started then MC BRAKING mode is enabled, MR is in CRUISE mode, 3D PosHold is enabled, MR is traveling above nav_mc_braking_speed_threshold and pilot releases sticks
  3. INAV will store new PosHold position only when copter will stop, not when stricks are released
  4. On top of that, BOOST phase can be enabled if MR is traveling above nav_mc_braking_boost_speed_threshold
  5. in BOOST phase, MR is allowed to use higher acceleration and banking angle than normally.
  6. Because BOOSTS is limited in time, banking angle much higher than default should be fine


Default values should be pretty safe to use. My 6" machine using following values:

set nav_mc_braking_speed_threshold = 100
set nav_mc_braking_disengage_speed = 50
set nav_mc_braking_timeout = 2000
set nav_mc_braking_boost_factor = 150
set nav_mc_braking_boost_timeout = 1000
set nav_mc_braking_boost_speed_threshold = 120
set nav_mc_braking_boost_disengage_speed = 75
set nav_mc_braking_bank_angle = 40

Bug Reporting

  1. Please report all BRAKING mode issues and suggestion in this repository in https://github.com/DzikuVx/inav/issues
  2. This code will be merged into INAV 2.1 is, and only if, testing will show it's safe to use.
  3. As long as possible attach a Blackbox log
  4. Do not report issues that are not directly related to Braking mode