Skip to content

User Guide: Preparing for Navigation

João Paulo Barraca edited this page Jun 10, 2017 · 8 revisions

Navigation is still a feature in development and is not "plug and play". Make sure you know what you are doing, pay attention to the wiki and details in your setup, and be careful. Ask questions about anything you are unsure of.

Background information

Before getting to the steps there are a few points that everyone should know

  • Navigation modes still require you to be in control. If you go into failsafe your motors will stop. This is an intentional safety feature and helps avoid any flyaways in the case of a bad configuration. DO NOT BYPASS THE FAILSAFE VERIFICATION STEP IN THE INPUT WIZARD WHEN USING NAVIGATION.
  • The most important thing for getting a good position hold is a good magnetometer with proper calibration, and a good GPS that is far enough away from other devices (e.g. VTX) to produce a stable position. PDOP is not sufficient and will sometimes lie.
  • The default settings should work but they have a few unexpected defaults.
  • VtolPathFollower.ThrottleControl defaults to False which means in path planning and position hold you have control of throttle. Make sure to test in this mode first and make sure everything else is ok. You can test altitude control with normal AltitudeHold mode.
  • ManualControlSettings.ArmTimeoutAutonomous defaults to ENABLED. That means if you are flying position hold or navigation with a low throttle for the timeout period (default 30s) your craft will disarm. This is an additional safety feature. Once everything is working and tested, you can set this to DISABLED.

It's often helpful to have telemetry set up and record logs while testing.

What GPS should you use? We are having good success with UBlox8 and it is quite an improvement from previous ones (although perhaps more susceptible to noise in a bad configuration). A $20 GPS like this is more that sufficient.



  1. Make sure your frame is flying well to start with. Using Autotune is a great way to do this.
  2. In the attitude page, perform a 6 point calibration and save the results. Then level your quad.
  3. This section must be expanded Performing mag calibration from data while in flight greatly improves the accuracy
  • Acquire a log while flying and yawing a lot in order to calibrate your magnetometer.
  • Run that log through


  1. In the attitude filter pane, set Attitude Filter to Complementary and Navigation Filter to INS
  2. Enable the GPS module and assign a serial port for your particular board to GPS.
  3. Enable the VtolPathFollower under the Modules page in Configuration.
  4. You no longer have to change any settings in INSSettings or VtolPathFollower to tune it - the defaults should work well. Make sure to erase these objects and use fresh values.
  5. Set one of your flight modes to PositionHold (and/or ReturnToHome).


Important checks, preflights, gotchas:

  • Must have solid satellite lock.
  • To get a good altitude hold, make sure your accelerometers are well calibrated. It should be quite close to 9.81 when sitting flat. Using the level and zero button will help with this.
  • It is RTH not RTL so always remember to set HomeLocation where you want to return to. I recommend not saving the HomeLocation for autonomous testing. Then it will grab the value when it gets the first good lock. Depending on balance of baro and GPS altitude home may not be at altitude zero so when it flies home it might hit the ground! This needs work. Use android to see what your home altitude is before taking off - it should be close to 0. Android will also allow resetting just the altitude if desired.

Enabling position hold:

  • Set one of your flight mode position switches to PositionHold
  • Make sure these modules are running: VtolPathFollower, GPS
  • Fly, get the system hovering nicely, and enable PH mode
  • If that works well set VtolPathFollower.ThrottleControl to TRUE and repeat

Enabling RTH

  • Set one of your flight mode positions to_PositionHold_
  • Make sure these modules are running: VtolPathFollower, GPS
  • Fly, get the system hovering nicely, and enable RTH mode. Expect it to slowly climb to 15 m, hold position for a short time, (if below that), and then proceed to fly home. Once over home it will hover for 10 seconds, and then descend at 0.5 m/s.
Clone this wiki locally
You can’t perform that action at this time.