Skip to main content
Version: 9.1.0

Waypoint Missions

One of the biggest autonomous navigation features offered in INAV is Waypoint Missions. Waypoint missions are pre-planned routes defined by points on a map with various important navigation parameters such as:

  • GPS coordinates
  • Altitude
  • Waypoint type

This page explains how to create waypoint plans and all the pertinent features of waypoint navigation.

Create Waypoint Missions​

Waypoint creation and configuration all takes place in the Mission Control Tab in INAV Configurator. Navigate to the Mission Control tab and you'll be greeted by a column of empty space to the left and a map to the right. The smaller column of empty space contains the Action Menu, Total Information, General Waypoint Settings, MultiMissions, Safehomes, and Waypoint point editors.

Create Waypoint

  1. To start, click any space on the map to create a waypoint. Clicking subsequent points on the map will create the next waypoints and will be labeled in the order they are created.
    • Click the line connecting two waypoints to add a waypoint between them.
  2. Next, edit each waypoint to suit your flight plan. Click on each waypoint to open the Edit Point window on the left hand column. The following options can be set:
    • Type: Choose the kind of waypoint you want it to function as. For more information, please see Waypoint Types. Note that certain waypoint types will change the behavior of the flight path, so configure carefully.

View Waypoint Elevation Map​

Waypoint elevation

Once the waypoints have been created, you can view the elevation profile of the route for better planning to ensure there is no risk of hitting land masses and terrain. To see the elevation profile, click the mountain icon in the menu column in the top left of the map.

This will prompt you to choose a home location (typically the first waypoint) as a reference point to create the graph. Once set, a graph will appear showing the mission elevation profile:

WP elevation graph

Waypoint Specific Default Settings​

Waypoint settings

Click the gear icon in the top and a window in the left column with the default settings will open. They can be modified to make it easier to suit your mission profile.

Waypoint Navigation Settings​

wp nav settings

The general waypoint navigation settings can be found in the Advanced Tuning Tab in configurator. These settings are the global settings for both fixed wings and multicopters, though not all will apply to both.

Setting NameCLI NameDescription
Waypoint radiusnav_wp_radiusWaypoint radius [cm]. Waypoint would be considered reached if machine is within this radius.
Waypoint safe distancenav_wp_max_safe_distanceThe first waypoint in the mission should be closer than this value [m]. A value of 0 disables this check.
Load Waypoints on Bootnav_wp_load_on_bootIf set to ON, waypoints will be automatically loaded from EEPROM to the FC during startup.
Enforce Altitude at Waypointnav_wp_enforce_altitudeForces craft to achieve the set WP altitude as well as position before moving to next WP. Position is held and altitude adjusted as required before moving on. 0 = disabled, otherwise setting defines altitude capture tolerance [cm], e.g. 100 means required altitude is achieved when within 100cm of waypoint altitude setting.
Waypoint Tracking Accuracynav_fw_wp_tracking_accuracyWaypoint tracking accuracy forces the craft to quickly head toward and track along the waypoint course line as closely as possible. Setting adjusts tracking deadband distance fom waypoint courseline [m]. Tracking isn't actively controlled within the deadband providing smoother flight adjustments but less accurate tracking. A 2m deadband should work OK in most cases. Setting to 0 disables waypoint tracking accuracy.
Waypoint Tracking Anglenav_fw_wp_tracking_max_angleSets the maximum allowed alignment convergence angle to the waypoint course line when nav_fw_wp_tracking_accuracy is active [degrees]. Lower values result in smoother alignment with the course line but will take more distance until this is achieved.
Waypoint Turn Smoothingnav_fw_wp_turn_smoothingSmooths turns during WP missions by switching to a loiter turn at waypoints. When set to ON the craft will reach the waypoint during the turn. When set to ON-CUT the craft will turn inside the waypoint without actually reaching it (cuts the corner).
Restart Waypoint Missionnav_wp_mission_restartSets restart behaviour for a WP mission when interrupted mid mission. START from first WP, RESUME from last active WP or SWITCH between START and RESUME each time WP Mode is reselected ON. SWITCH effectively allows resuming once only from a previous mid mission waypoint after which the mission will restart from the first waypoint.

Waypoint Types​

INAV offers serveral different waypoint types that each have unique functions. This section describes each of the waypoint types.

Waypoint​

Application: Fixed wing and multicopter

The default waypoint is the simple waypoint. It functions as a point on the map that the aircraft will go to at the specified speed and altitude set in the point. If no waypoint specific speed and altitude are set, the navigation default settings for speed is used and the default waypoint altitude setting is used. The following parameters can be changed:

  • Lat: The GPS latitude
  • Long: The GPS longitude
  • Alt (cm): The altitude the waypoint is set to that the aircraft will attempt to reach relative to ground level (AGL). If Enforce Altitude at Waypoint (nav_wp_enforce_altitude) is enabled, it will climb by loitering around the waypoint or rising (if MC) until it reaches the waypoint's altitude within the set range defined by nav_wp_enforce_altitude.
  • Sea level Ref: is a switch that enables the Alt (cm) field to show the MSL altitude instead of AGL.
  • Elevation (m): displays the elevation of the ground in MSL. This is useful to prevent setting the WP altitude to be below the ground when using MSL.
  • Speed (cm/s) - (MC only): overrides the Default navigation speed (nav_auto_speed) parameter and will attempt to reach the specified speed to the waypoint.
  • User Actions: enables four custom user actions created in the Programming Framework (IPF) to be activated when the waypoint is reached.

PH_TIME​

Application: Fixed wing and multicopter

This waypoint is short for Position Hold Time. It's a normal waypoint with the added parameter of wait time that enables the aircraft to hold its position at the waypoint for a specified time. A multirotor will hold a steady position, a fixed wing will fly in a circle as defined by the CLI parameter nav_fw_loiter_radius. All the same parameters for regular waypoints apply to PH_TIME.

POI​

Application: Multicopter

poi

The POI waypoint is the point of interest waypoint that applies only to multicopters. A POI waypoint tells the multicopter to point its head (its front) to the POI until the mission ends or the next waypoint has a SET_HEAD modifier reset by setting it to -1. Multiple POI waypoints can be used in a single mission.

The POI will be active on the n-1 to n+i where i is an arbitrary number of waypoints after the POI waypoint. If the POI waypoint is the first waypint, it will be active on the n to n+i waypoints until a SET_HEAD is reset on waypoint n+i or the mission ends.

Example:

In the example mission above, waypoint 1 is set as the POI and waypoint 7 has a SET_HEAD reset by setting it to a value of -1. The multicopter will point towards waypoint 1 the moment it starts the mission until waypoint 7. After waypoint 7, it will fly normally with its head point in the direction of travel. At waypoint 9, there is another POI waypoint defined at waypoint 10, which the craft will point towards until the last waypoint at waypoint 13.

LAND​

Application: Fixed wing and multicopter

The LAND waypoint will tell the aircraft to unconditionally carry out a landing sequence regardless of (nav_rth_allow_landing) at the given location. The CLI setting nav_disarm_on_landing is honoured.

For fixed wings there are additional parameters given to specifiy the landing behavior. These parameters are:

land wp

  • Latitude: the latitude value
  • Longitude: the longitude value
  • Sea level reference: a switch to use MSL altitude instead of AGL
  • Land alt: the altitude at which the flare procedure will be used during autoland. For more information, please see Autoland
  • Elevation: a non-configurable value that shows the MSL elevation of the safehome POI
  • Approach direction: change the direction the airplane turns during the base leg and the final approach. Left will make the airplane turn left (counterclockwise) and right will make it turn clockwise.
  • Heading 1 and 2 (deg): is essentially a runway heading that tells the airplane how to approach the safehome point for autoland. By default, both values are 0, which defaults to an arbitrary landing pattern based off the autoland procedure. Change the heading to a value that's not 0 to define a direction the aircraft should land. This essentially creates a runway heading with two approaches, the second being 180 deg of the defined heading that is used as an alternative approach to fly into a headwind. Toggling the Exlc. switch will remove the opposite landing heading and force the airplane to land only at that specified heading.

Modifier Actions​

JUMP​

JUMP facilitates adding loops to missions. The first parameter is the WP to jump to, and the second parameter is the number of times the JUMP is executed. A parameter 2 value of -1 means JUMP indefinitely (i.e. the pilot must eventually manually abort the mission and take control). Forward and backward jumps are permitted. In general, forward jumps are less useful and will usually need a backward jump to be useful.

INAV validates JUMP WPs prior to arming; the following conditions will cause a "Navigation Unsafe" arming blocker:

  • First item can't be JUMP (can't calculate 1st WP distance, impossible for backward jumps)
  • Can't jump to immediately adjacent WPs (pointless)
  • Can't jump beyond WP list (undefined behaviour)
  • Can only jump to geo-referenced WPs (WAYPOINT, POSHOLD_TIME, LAND) (otherwise, undefined behaviour)

WP jump

In the example above, WP 3 is modified as a JUMP WP that jumps to WP 1 and does it only once.

SET_HEAD​

The SET_HEAD type sets the craft's heading (where it 'looks', not the direction of travel). This may be useful for useful for aerial photography. A value of -1 causing the heading to be 'straight ahead', i.e. the direction of travel. Thus, SET_HEAD -1 may used to cancel a previous valid SET_HEAD or SET_POI. A SET_HEAD remains in force until cancelled by SET_HEAD with p1 of -1, or modified by a subsequent SET_HEAD or SET_POI.

RTH​

The craft returns to the home location.

Multi Missions​

wp multi mission

INAV allows the creation and saving of multiple missions. To access the multi-missions window, click the icon with the branches coming out. To add a new mission, press the + icon besides Add New Mission. Once completed, click update all to save.