Mission Planner Overview | Mission Planner 8/14/15, 2:37 PM

http://planner.ardupilot.com/wiki/mission-planner-overview/ Page 1 of 4

Mission Planner is a full-featured ground station application for the ArduPilot open source autopilot

project. This page contains information on the background of Mission Planner and the organization

of this site.

Contents [hide]

1 What is Mission Planner

2 History

3 Support

4 Navigating the Documentation

What is Mission Planner

ArduPilot > Mission Planner > Mission Planner Overview

Mission Planner Overview

Mission Planner
Mission Planner Overview | Mission Planner 8/14/15, 2:37 PM

http://planner.ardupilot.com/wiki/mission-planner-overview/ Page 2 of 4

Mission Planner is a ground control station for Plane, Copter and Rover. It is compatible with Win‐

dows only. Mission Planner can be used as a configuration utility or as a dynamic control supple‐

ment for your autonomous vehicle. Here are just a few things you can do with Mission Planner:

Load the firmware (the software) into the autopilot (APM, PX4...) that controls your vehicle.

Setup, configure, and tune your vehicle for optimum performance.

Plan, save and load autonomous missions into you autopilot with simple point-and-click waypoint entry on Google or other maps.

Download and analyze mission logs created by your autopilot.

Interface with a PC flight simulator to create a full hardware-in-the-loop UAV simulator.

With appropriate telemetry hardware you can:

Monitor your vehicle’s status while in operation.

Record telemetry logs which contain much more information the the on-board autopilot logs.

View and analyze the telemetry logs.

Operate your vehicle in FPV (first person view)

All of these and many more features are covered in this section of Planner.ardupilot.com: the com‐

munity documentation project for Mission Planner.
Mission Planner Overview | Mission Planner 8/14/15, 2:37 PM

http://planner.ardupilot.com/wiki/mission-planner-overview/ Page 3 of 4

History

Mission Planner is a free, open-source, community-supported application developed by Michael

Oborne for the open-source APM autopilot project. If you would like to donate to the ongoing de‐

velopment of Mission Planner, please select the Donate button on the Mission Planner interface.

Support

The Help Screen:

Clicking the Help icon at the top of the Mission Planner interface will open a screen with general

information about help with Mission Planner. The “Check for Updates” button will check for avail‐

able updates to Mission Planner manually. Mission Planner automatically checks for updates upon

start up and notifies you if an update is available. Please always run the most current version of

Mission Planner, although it is not necessary to check for updates more often than upon start up.

The check box “Show Console Window (restart)” enables the console window during Mission Plan‐

ner operation. That window shows Mission Planner activity and is primarily for diagnostic purpos‐

es. It sometimes shows some interesting information. A restart of Mission Planner is required for

the option to take effect. (TBD need a link to console page TBD)

Getting Help:

The support for Mission Planner comes from the community of users like you. All of the documen‐

tation is created by users who volunteer their time. If you have questions, first look through the ta‐

ble of contents (upper left of every page) for a topic that may address your question. Next, try a

search of the website. If you still need help, then the community forums are the place to go. There

you will find may friendly users, developers and often, even Michael will chime in. There are two

primary forums. The diydrones.com forum here and the APM forum here. The diydrones forum

has existed for years and has a very large community and numerous general topics. The APM fo‐
Mission Planner Overview | Mission Planner 8/14/15, 2:37 PM

http://planner.ardupilot.com/wiki/mission-planner-overview/ Page 4 of 4

rum is new and is more specific to the ardupilot and ardu-vehicles.

Reporting Issues:

Usually, you can either resolve a question on a forum. Sometimes you will discover a bug and can

confirm the problem on a forum. If you have discovered a bug, use the forums to request it be

logged as an official issue. One of the developers will normally be glad to do so.

If you see a need to change or enhance the documentation, please let us know – again using the

forums. We welcome your suggestions and there are dozens of qualified editors who can imple‐

ment your suggestions.

Navigating the Documentation

Use the table of contents at the top of each page to navigate the Mission Planner Manual – and

the contents of the vehicle specific areas.

This section of our website contains information on how to use Mission Planner as a “general” ap‐

plication. However, some of the pages will also have some vehicle specific information. Those

pages will also be contained in the specific vehicle’s section of the website. Information that is pri‐

marily specific to a particular vehicle will only be located in that vehicles section so, if you cannot

find information here, try the section of the website for the vehicle you are using.

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Mission Planner Ground Control Station | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-mission-planner-ground-control-station/ Page 1 of 4

Contents [hide]

0.1 The GCS Flight Data Screen

1 Guided Mode

The GCS Flight Data Screen

ArduPilot > Mission Planner > common-Mission Planner Ground Control Station

Mission Planner Ground Control

Station

Mission Planner
common-Mission Planner Ground Control Station | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-mission-planner-ground-control-station/ Page 2 of 4

The above is the main Ground Station view of the Mission Planner, showing the Heads-up Display

(HUD). Once you have connected via MAVLink over USB or wireless telemetry the dials and posi‐

tion on this screen will display the telemetry sent by APM.

A few tips:

The map will only show current position when you have GPS lock or are using a flight simulator

Remember how artificial horizons work: when the aircraft tilts to the right, the horizon tilts to the

left. (Just tilt your head and you’ll see what I mean). This is normal! Please don’t tell us it’s re‐

versed !

For Plane status, the output meaning is as follows:

“WPDist” : Distance to next waypoint in meters

“Bearing ERR”: How far your UAV is from the perfect line to the next waypoint

“Alt ERR”: How far your UAV is from the target altitude

“WP”: Next waypoint to hit

“Mode”: Current autopilot mode.

“Plane output” means the autopilot’s outputs on the first four channels

You can issues mode changes and other action commands in the air with the Mission Planner

and other GCSs, but note that you must be under autopilot control for them to take effect. When
common-Mission Planner Ground Control Station | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-mission-planner-ground-control-station/ Page 3 of 4

your RC toggle switch is in the Manual position, you are no longer under autopilot control and

no commands will take effect. You must be in one of the other positions (Stabilize, Fly-by-Wire,

Auto or any other autopilot-controlled mode) for MAVlink commands to take effect.

You can change the voice used in the speech synthesis in the Ease of Access center in Win‐

dows Control Panel. Go to the “Text to Speech” options.

If you double-click the HUD it will popout, allowing you to run the hud full screen on a second

screen.

If you double-click on the Speed Guage you can modify the max scale you want to display.

If you enable the Tuning checkbox and double-click tuning you can graph any data that is avail‐

able in the status tab. This means you can have alt, attitude, or many other options in real time.

You can use custom imagery instead of Google Maps. Press control-F. This allows you to up‐

load your own orthophotos. Use will require Globalmapper, as this is currently one of the key

steps in exporting in the required format for use in the planner.

Guided Mode

One of the most commonly-used features in pro UAVs is point-and-click mission control in real

time. Rather than just pre-planned missions or manually flying the UAV, operators can just click on
common-Mission Planner Ground Control Station | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-mission-planner-ground-control-station/ Page 4 of 4

a map and say “go here now”.

That’s now implemented in the Mission Planner. On the GCS map, you can right-click on the map

and just select “Fly To Here”. The UAV will fly there and loiter until you give it another command.

We call this “Guided Mode”. There are more commands coming in this mode soon, but the func‐

tionality is now built-in.

Note: Guided is a separate flight mode. If you enter it you will remain in it until you do something to

change modes. So if you tell it to “go here now”, once it arrives there it will loiter at the Guided

waypoint till you tell it to do something else. Something else could either be going to another Guid‐

ed waypoint (staying in Guided mode) or changing to some other flight mode. If you change to

Auto your mission will resume where it left off.

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Connect Mission Planner to AutoPilot | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-connect-mission-planner-autopilot/ Page 1 of 3

Note:

Note:

This article explains how to connect Mission Planner to an autopilot in order to receive telemetry

and control the vehicle.

There are separate instructions for connecting in order to Load Firmware.

Contents [hide]

1 Setting up the connection

2 Troubleshooting

3 Related topics

Setting up the connection

To establish a connection you must first choose the communication method/channel you want to

use, and then set up the physical hardware and Windows device drivers. You can connect the PC

and autopilot using USB cables, Telemetry Radios, Bluetooth, IP connections etc.

The driver for your connection hardware must be present on Windows as this makes your con‐

nection’s COM port and default data rate available to Mission Planner.

ArduPilot > Mission Planner > common-Connect Mission Planner to AutoPilot

Connect Mission Planner to AutoPilot

Mission Planner
common-Connect Mission Planner to AutoPilot | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-connect-mission-planner-autopilot/ Page 2 of 3

Pixhawk USB Connection Connection using 3DR Radio

On Mission Planner, the connection and data rate are set up using the drop down boxes in the up‐

per right portion of the screen. 

Once you’ve attached the USB or Telemetry Radio, Windows will automatically assign your autopi‐

lot a COM port number, and that will show in the drop-down menu (the actual number does not

matter). The appropriate data rate for the connection is also set (typically the USB connection data

rate is 11520 and the 3DR radio connection rate is 57600).

Select the desired port and data rate and then press the Connect button to connect to the autopi‐

lot. After connecting Mission Planner will download parameters from the autopilot and the button

will change to Disconnect as shown:
common-Connect Mission Planner to AutoPilot | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-connect-mission-planner-autopilot/ Page 3 of 3

Tip:

The “select port” dropdown also contains TCP or UDP port options that can be used to connect

to an autopilot over a network.

Troubleshooting

If Mission planner is unable to connect:

Check that the correct baud rate is used for the selected method (115200 on USB or 57600 on

Radio/Telemetry)

Check that the connection’s COM port exists in the Windows Device Manager’s list of serial

ports.

If using a USB port, try a different physical USB port

You should also ensure that the autopilot controller board has appropriate ArduPilot firwmare in‐

stalled and has booted correctly (on Pixhawk/PX4 there are useful LEDs and Sounds which can

tell you the state of the autopilot).

Related topics

Mission Planner Bluetooth Connectivity

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 1 of 61

Warning:

This article describes the specific set of mission commands and parameters that are supported by

Copter, Plane and Rover.

This is a WORK IN PROGRESS. It has not been reviewed, and is full of questions/actions (usu‐

ally preceded by “#HW” or “TODO”. The list of what commands are supported in each platform

are likely to be correct. The copter-specific documentation is more likely to be correct as it is

based on existing copter mission docs.

Contents [hide]

1 Overview

1.1 Types of commands

1.2 Frames of reference

1.3 How accurate is the information?

1.4 How to interpret the commands parameters

1.5 Using this information with a GCS

2 Commands supported by Copter

3 Commands supported by Plane

4 Commands supported by Rover

5 Special Commands

ArduPilot > Mission Planner > common-MAVLink Mission Command Messages (MAV_CMD)

MAVLink Mission Command Messages

(MAV_CMD)

Mission Planner
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 2 of 61

5.1 MAV_CMD_MISSION_START

5.1.1 Copter

5.2 MAV_CMD_COMPONENT_ARM_DISARM

5.2.1 Copter

6 Navigation commands

6.1 MAV_CMD_NAV_WAYPOINT

6.1.1 Copter

6.1.2 Plane

6.1.3 Rover

6.2 MAV_CMD_NAV_TAKEOFF

6.2.1 Copter

6.2.2 Plane

6.3 MAV_CMD_NAV_LOITER_UNLIM

6.3.1 Copter

6.3.2 Plane

6.4 MAV_CMD_NAV_LOITER_TURNS

6.4.1 Copter

6.4.2 Plane

6.5 MAV_CMD_NAV_LOITER_TIME

6.5.1 Copter

6.5.2 Plane

6.6 MAV_CMD_NAV_RETURN_TO_LAUNCH

6.6.1 Copter

6.6.2 Plane

6.6.3 Rover

6.7 MAV_CMD_NAV_LAND

6.7.1 Copter

6.7.2 Plane

6.8 MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT

6.8.1 Plane

6.9 MAV_CMD_NAV_SPLINE_WAYPOINT

6.9.1 Copter

6.10 MAV_CMD_NAV_GUIDED_ENABLE

6.10.1 Copter

6.11 MAV_CMD_DO_JUMP

7 Conditional commands

7.1 MAV_CMD_CONDITION_DELAY

7.2 MAV_CMD_CONDITION_CHANGE_ALT
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 3 of 61

7.3 MAV_CMD_CONDITION_DISTANCE

7.4 MAV_CMD_CONDITION_YAW

7.4.1 Copter

8 DO commands

8.1 MAV_CMD_DO_SET_MODE

8.2 MAV_CMD_DO_CHANGE_SPEED

8.2.1 Copter

8.2.2 Plane

8.2.3 Rover

8.3 MAV_CMD_DO_SET_HOME

8.4 MAV_CMD_DO_SET_RELAY

8.5 MAV_CMD_DO_REPEAT_RELAY

8.6 MAV_CMD_DO_SET_SERVO

8.7 MAV_CMD_DO_REPEAT_SERVO

8.8 MAV_CMD_DO_LAND_START

8.8.1 Plane

8.9 MAV_CMD_DO_SET_ROI

8.9.1 Copter

8.9.2 Plane

8.9.3 Rover

8.10 MAV_CMD_DO_DIGICAM_CONFIGURE

8.11 MAV_CMD_DO_DIGICAM_CONTROL

8.12 MAV_CMD_DO_MOUNT_CONTROL

8.12.1 Copter

8.13 MAV_CMD_DO_SET_CAM_TRIGG_DIST

8.14 MAV_CMD_DO_FENCE_ENABLE

8.14.1 Plane

8.15 MAV_CMD_DO_PARACHUTE

8.15.1 Copter

8.16 MAV_CMD_DO_INVERTED_FLIGHT

8.16.1 Plane

8.17 MAV_CMD_DO_GRIPPER

8.17.1 Copter

8.18 MAV_CMD_DO_GUIDED_LIMITS

8.18.1 Copter

Overview
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 4 of 61

Note:

The MAVLink protocol defines a large number of MAV_CMD waypoint command types (sent in a

MAVLink_mission_item_message). ArduPilot implements handling for the subset of these com‐

mands and command-parameters that are most relevant and meaningful for each of the vehicles.

Unsupported commands that are sent to a particular autopilot will simply be dropped.

This article lists and describes the commands and command-parameters that are supported on

each of the vehicle types. Any parameter that is “grey” is not supported by the autopilot and will be

ignored (they are still documented to make it clear which properties that are supported by the

MAV_CMD protocol are not implemented by the vehicle.

Some commands and command-parameters are not implemented because they are not relevant

for particular vehicle types (for example “MAV_CMD_NAV_TAKEOFF” command makes sense for

Plane and Copter but not Rover, and the pitch parameter only makes sense for Plane). There are

also some potentially useful command-parameters that are not handled because there is a limit to

the message size, and a decision has been made to prioritise some parameters over others.

There is additional information about the supported commands on Copter (from a Mission Plan‐

ner perspective) in the Copter Mission Command List .

Types of commands

There are several different types of commands that can be used within missions:

Navigation commands are used to control the movement of the vehicle, including takeoff, mov‐

ing to and around waypoints, changing altitude, and landing.

DO commands are for auxiliary functions and do not affect the vehicle’s position (for example,

setting the camera trigger distance, or setting a servo value).

Condition commands are used to delay DO commands until some condition is met, for example

the UAV reaches a certain altitude or distance from the waypoint.

During a mission at most one “Navigation” command and one “Do” or “Condition” command can be

running at one time. A typical mission might set a waypoint (NAV command), add a CONDITION

command that doesn’t complete until a certain distance from the destination (MAV_CMD_CONDI‐

TION_DISTANCE), and then add a number of DO commands that are executed sequentially (for
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 5 of 61

Note:

Note:

example MAV_CMD_DO_SET_CAM_TRIGG_DIST to take pictures at regular intervals) when the

condition completes.

CONDITION and DO commands are associated with the preceding NAV command: if the UAV

reaches the waypoint before these commands are executed, the next NAV command is loaded

and they will be skipped.

Frames of reference

Many of the commands (in particular the NAV_ commands) include position/location information.

The information is provided relative to a particular “frame of reference”, which is specified in the

message’s frame field.

Copter and Rover Mission use MAV_CMD_DO_SET_HOME command to set the “home position”

in the global coordinate frame (MAV_FRAME_GLOBAL), WGS84 coordinate system , where alti‐

tude is relative to mean sea level. All other commands use the MAV_FRAME_GLOBAL_RELA‐

TIVE_ALT frame, which uses the same latitude and longitude, but sets altitude as relative to the

home position (home altitude = 0).

Plane commands can additionally use MAV_FRAME_GLOBAL_TERRAIN_ALT frame of reference.

This again has the same WGS84 frame of reference for latitude/Longitude, but specifies altitude

relative to ground height (as defined in a terrain database).

The other frame types defined in the MAVLink protocol (see MAV_FRAME ) are not supported

for mission commands.

How accurate is the information?

If a command or parameter is marked as supported then it is likely (but not guaranteed) that it will

behave as indicated. If a command or parameter is not listed (or marked as not supported) then it

is extremely likely that it is not supported on ArduPilot.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 6 of 61

The reason for this is that the information was predominantly inferred by inspecting the command

handlers for messages:

The switch statement in AP_Mission::mavlink_to_mission_cmd was inspected to deter‐

mine which commands are handled by all vehicle platforms, and which parameters from the

message are stored.

The command handler switch for each vehicle type (Plane , Copter , Rover ) tells us which

commands are likely to be supported in each vehicle and which parameters are passed to the

handler.

The above checks give a very accurate picture of what commands and parameters are not sup‐

ported. They gives a fairly accurate picture of what commands/parameters are likely to be support‐

ed. However this indication is not guaranteed to be accurate because a command handler could

just throw away all the information (and we have not fully checked all of these).

In addition to the above checks, we have also merged information from the Copter Mission Com‐

mand List .

How to interpret the commands parameters

The parameters for each command are listed in a table. The parameters that are “greyed out” are

not supported. The command field column (param name) uses “bold” text to indicate those para‐

meters that are defined in the protocol (normal text is used for “empty” parameters).

This allows users/developers to see both what is supported, and what protocol fields are not sup‐

ported in ArduPilot.

Using this information with a GCS

Mission Planner (MP) exposes the full subset of commands and parameters supported by ArduPi‐

lot, filtered to display just those relevant to the currently connected vehicle. Mapping the MP com‐

mands to this documentation is easy, because it simply names commands using a cut-down ver‐

sion of the full command name (e.g. DO_SET_SERVO rather than the full command name:

MAV_CMD_DO_SET_SERVO). In addition, this document conveniently lists the column label used by

Mission Planner alongside each of the parameters.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 7 of 61

Other GCSs (APM Planner 2, Tower etc.) may support some other subset of commands/parame‐

ters and use alternative names/labels for them. In most cases the mapping should be obvious.

Commands supported by Copter

This list of commands was inferred from the command handler in /ArduCopter/commands_log‐

ic.cpp .

MAV_CMD_MISSION_START

MAV_CMD_COMPONENT_ARM_DISARM

MAV_CMD_NAV_WAYPOINT

MAV_CMD_NAV_RETURN_TO_LAUNCH

MAV_CMD_CONDITION_DELAY

MAV_CMD_CONDITION_DISTANCE

MAV_CMD_DO_CHANGE_SPEED

MAV_CMD_DO_SET_HOME

MAV_CMD_DO_SET_SERVO

MAV_CMD_DO_SET_RELAY

MAV_CMD_DO_REPEAT_SERVO

MAV_CMD_DO_REPEAT_RELAY

MAV_CMD_DO_DIGICAM_CONFIGURE (Camera enabled only)

MAV_CMD_DO_DIGICAM_CONTROL (Camera enabled only)

MAV_CMD_DO_SET_CAM_TRIGG_DIST (Camera enabled only)

MAV_CMD_DO_SET_ROI

MAV_CMD_DO_SET_MODE

MAV_CMD_DO_JUMP

MAV_CMD_NAV_TAKEOFF

MAV_CMD_NAV_LAND

MAV_CMD_NAV_LOITER_UNLIM

MAV_CMD_NAV_LOITER_TURNS

MAV_CMD_NAV_LOITER_TIME

MAV_CMD_CONDITION_CHANGE_ALT

MAV_CMD_NAV_SPLINE_WAYPOINT

MAV_CMD_CONDITION_YAW

MAV_CMD_DO_MOUNT_CONTROL
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 8 of 61

MAV_CMD_DO_PARACHUTE (Parachute enabled only)

MAV_CMD_DO_GRIPPER (EPM enabled only)

MAV_CMD_DO_GUIDED_LIMITS (NAV_GUIDED only)

MAV_CMD_NAV_GUIDED_ENABLE (NAV_GUIDED only)

Commands supported by Plane

This list of commands was inferred from the command handler in /ArduPlane/commands_log‐

ic.cpp .

MAV_CMD_NAV_WAYPOINT

MAV_CMD_NAV_RETURN_TO_LAUNCH

MAV_CMD_CONDITION_DELAY

MAV_CMD_CONDITION_DISTANCE

MAV_CMD_DO_CHANGE_SPEED

MAV_CMD_DO_SET_HOME

MAV_CMD_DO_SET_SERVO

MAV_CMD_DO_SET_RELAY

MAV_CMD_DO_REPEAT_SERVO

MAV_CMD_DO_REPEAT_RELAY

MAV_CMD_DO_DIGICAM_CONFIGURE (Camera enabled only)

MAV_CMD_DO_DIGICAM_CONTROL (Camera enabled only)

MAV_CMD_DO_SET_CAM_TRIGG_DIST (Camera enabled only)

MAV_CMD_DO_SET_ROI (Gimbal/mount enabled only)

MAV_CMD_DO_SET_MODE

MAV_CMD_DO_JUMP

MAV_CMD_NAV_TAKEOFF

MAV_CMD_NAV_LAND

MAV_CMD_NAV_LOITER_UNLIM

MAV_CMD_NAV_LOITER_TURNS

MAV_CMD_NAV_LOITER_TIME

MAV_CMD_CONDITION_CHANGE_ALT

MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT

MAV_CMD_DO_INVERTED_FLIGHT

MAV_CMD_DO_LAND_START
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 9 of 61

MAV_CMD_DO_FENCE_ENABLE

Commands supported by Rover

This list of commands was inferred from the command handler in /APMrover2/commands_log‐

ic.cpp .

MAV_CMD_NAV_WAYPOINT

MAV_CMD_NAV_RETURN_TO_LAUNCH

MAV_CMD_CONDITION_DELAY

MAV_CMD_CONDITION_DISTANCE

MAV_CMD_DO_CHANGE_SPEED

MAV_CMD_DO_SET_HOME

MAV_CMD_DO_SET_SERVO

MAV_CMD_DO_SET_RELAY

MAV_CMD_DO_REPEAT_SERVO

MAV_CMD_DO_REPEAT_RELAY

MAV_CMD_DO_DIGICAM_CONFIGURE (Camera enabled only)

MAV_CMD_DO_DIGICAM_CONTROL (Camera enabled only)

MAV_CMD_DO_SET_CAM_TRIGG_DIST (Camera enabled only)

MAV_CMD_DO_SET_ROI (Gimbal/mount enabled only)

MAV_CMD_DO_SET_MODE

MAV_CMD_DO_JUMP

Special Commands

This section is for commands that may be relevant to missions, but but which are not mission com‐

mands (part of the mission).

MAV_CMD_MISSION_START

Supported by: Copter
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 10 of 61

Note:

Note:

Start running the current mission. This allows a GCS/companion computer to start a mission in

AUTO without raising the throttle.

This was introduced in AC3.3.

Copter

This command can be used to start a mission when the Copter is on the ground in AUTO mode. If

the vehicle is already in the air then the mission will start as soon as you switch into AUTO mode

(so this command is not needed/ignored).

Previously a mission would only start after the pilot engaged the throttle. This command makes

it possible to start missions without directly controlling the throttle (though that approach is still

available).

This is not a “mission command” (it can’t be used as a type of mission waypoint). It is run from the

Action menu (see the screenshot below).

Command parameters

The parameters are all ignored.

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 The first mission item to run.

param2 The last mission item to run (after this item is run, the mission

ends).

param3

param4

param5

param6
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 11 of 61

param7

Mission Planner screenshots
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 12 of 61

Note:

Note:

Mission Planner: MISSION_START command

MAV_CMD_COMPONENT_ARM_DISARM

Supported by: Copter

Disarm the motors.

This was introduced in AC3.3.

Copter

Disarm the motors.

The command supports disarming on the ground and in flight.

The motors will disarm automatically after landing.

This is not a “mission command” (it can’t be used as a type of mission waypoint).

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 1 to arm, 0 to disarm. This only works when the vehicle is on

the ground.

param2 A value of 21196 will disarm the vehicle in flight.

param3

param4

param5

param6

param7
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 13 of 61

Navigation commands

Navigation commands are used to control the movement of the vehicle, including takeoff, moving

to and around waypoints, and landing.

NAV commands have the highest priority. Any DO_ and CONDITION_ commands that have not

executed when a NAV command is loaded are skipped (for example, if a waypoint completes and

the NAV command for another waypoint is loaded, and unexecuted DO/CONDITION commands

associated with the first waypoint are dropped.

MAV_CMD_NAV_WAYPOINT

Supported by: Copter, Plane, Rover.

Navigate to the specified position.

Copter

The Copter will fly a straight line to the specified latitude, longitude and altitude. It will then wait at

the point for a specified delay time and then proceed to the next waypoint.

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Delay Hold time at mission waypoint in decimal seconds – MAX 65535 seconds.

(Copter/Rover only)

param2 Acceptance radius in meters (when plain inside the sphere of this radius, the way‐

point is considered reached) (Plane only).

param3 0 to pass through the WP, if > 0 radius in meters to pass by WP. Positive value for

clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory con‐

trol.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 14 of 61

param4 Desired yaw angle at waypoint target.(rotary wing)

param5 Lat Target latitude. If zero, the Copter will hold at the current latitude.

param6 Lon Target longitude. If zero, the Copter will hold at the current longitude.

param7 Alt Target altitude. If zero, the Copter will hold at the current altitude.

Parameters 2-4 are not supported on Copter:

Hit Rad – is supposed to hold the distance (in meters) from the target point that will qualify the

waypoint as complete. This command is not supported. Instead the WPNAV_RADIUS para‐

meter should be used (see “WP Radius” field in screen shot or adjust through the Standard Pa‐

rameters List). Even the WPNAV_RADIUS is only used when the waypoint has a Delay. With

no delay specified the waypoint will be considered complete when the virtual point that the vehi‐

cle is chasing reaches the waypoint. This can be 10m (or more) ahead of the vehicle meaning

that the vehicle will turn towards the following waypoint long before it actually reaches the cur‐

rent waypoint

Yaw Ang – is supposed to hold the resulting yaw angle in degrees (0=north, 90 = east). Instead

use a MAV_CMD_CONDITION_YAW command.

Mission Planner screenshots
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 15 of 61

Copter: Mission Planner Settings for WAYPOINT command

Plane

The vehicle will fly to the specified latitude, longitude and altitude. The waypoint is considered

“complete” when Plane is within the specified radius of the target location, at which point Plane

processes the next command.

The protocol additionally provides for the plane to circle the waypoint with a specified radius and

direction for a specified time (Delay). These parameters are not support by Copter.

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Hold time at mission waypoint in decimal seconds (Copter/Rover only).

param2 Acceptance radius in meters (waypoint is complete when the plane is this close to
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 16 of 61

the waypoint location (Plane only).

param3 0 to pass through the WP, if > 0 radius in meters to pass by WP. Positive value for

clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory con‐

trol.

param4 Desired yaw angle at waypoint target (rotary wing).

param5 Lat Target latitude

param6 Lon Target longitude

param7 Alt Target altitude

Rover

Change the target horizontal speed and/or the vehicle’s throttle.

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Delay Hold time at mission waypoint in decimal seconds – MAX 65535 seconds.

(Copter/Rover only)

param2 Acceptance radius in meters (when plain inside the sphere of this radius, the way‐

point is considered reached) (Plane only).

param3 0 to pass through the WP, if > 0 radius in meters to pass by WP. Positive value for

clockwise orbit, negative value for counter-clockwise orbit. Allows trajectory con‐

trol.

param4 Desired yaw angle at waypoint target.(rotary wing)

param5 Lat Target latitude. If zero, the Copter will hold at the current latitude.

param6 Lon Target longitude. If zero, the Copter will hold at the current longitude.

param7 Alt Target altitude. If zero, the Copter will hold at the current altitude.

MAV_CMD_NAV_TAKEOFF
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 17 of 61

Supported by: Copter, Plane (not Rover).

Takeoff (either from ground or by hand-launch). It should be the first command of nearly all Plane

and Copter missions.

Copter

The vehicle will climb straight up from it’s current location to the specified altitude. If the mission is

begun while the copter is already flying, the vehicle will climb straight up to the specified altitude, if

the vehicle is already above the altitude the command will be ignored and the mission will move

onto the next command immediately.

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Grade % Pitch/climb angle (Plane only).

param2 Empty

param3 Empty

param4 Yaw angle (if magnetometer present), ignored without magne‐

tometer

param5 Lat Latitude

param6 Lon Longitude

param7 Alt Altitude

Mission planner screenshots
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 18 of 61

Copter: Mission Planner Settings for TAKEOFF command

Plane

The plane climbs to the specified altitude (at the specified pitch/climb angle) before proceeding to

the next waypoint.

The plane is only attempting to climb at this point and can be pushed off its heading by wind. The

pitch value is the minimum climb angle the when using an airspeed sensor, and maximum angle

when not using an airspeed sensor.

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Pitch Angle Pitch/climb angle in degrees (Plane only).

param2 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 19 of 61

param3 Empty

param4 Yaw angle (if magnetometer present), ignored without magne‐

tometer

param5 Lat Latitude

param6 Lon Longitude

param7 Alt Altitude

MAV_CMD_NAV_LOITER_UNLIM

Supported by: Copter, Plane (not Rover).

Loiter at the specified location for an unlimited amount of time.

Copter

Fly to the specified location and then loiter there indefinitely — where loiter means “wait in place”

(rather than “circle”). If zero is specified for a latitude/longitude/altitude parameter then the current

location value for the parameter will be used.

The mission will not proceed past this command while in AUTO mode. In order to break out of this

command you need to change the mode (i.e. to MANUAL). If there are subsequent commands

then you can continue the mission at the next command, if the Copter MIS_RESTART parameter is

set to resume, by switching back to AUTO mode (otherwise the mission will restart).

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Empty

param2 Empty

param3 Radius around MISSION, in meters. If positive loiter clockwise, else

counter-clockwise
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 20 of 61

param4 Desired yaw angle.

param5 Lat Target latitude. If zero, the vehicle will loiter at the current latitude.

param6 Lon Target longitude. If zero, the vehicle will loiter at the current longi‐

tude.

param7 Alt Target altitude. If zero, the vehicle will loiter at the current altitude.

Mission planner screenshots

Copter: Mission Planner Settings for LOITER_UNLIM command

Plane

Fly to the specified location and then loiter there indefinitely — where loiter means “circle the way‐

point”. If zero is specified for a latitude/longitude/altitude parameter then the current location value

for the parameter will be used. YOu can also specify the radius and direction for the loiter.

The mission will not proceed past this command while in AUTO mode. In order to break out of this

command you need to change the mode (i.e. to MANUAL). If there are subsequent commands

then you can continue the mission at the next command, if the Copter MIS_RESTART parameter is

set to resume, by switching back to AUTO mode (otherwise the mission will restart).

Command parameters

COM‐

MAND

FIELD

MISSION PLAN‐

NER FIELD

DESCRIPTION

param1 Empty

param2 Empty

param3 Dir 1=CW Radius around waypoint, in meters. Specify as a positive value to loiter
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 21 of 61

clockwise, negative to move counter-clockwise.

param4 Desired yaw angle.

param5 Lat Target latitude. If zero, the vehicle will loiter at the current latitude.

param6 Lon Target longitude. If zero, the vehicle will loiter at the current longitude.

param7 Alt Target altitude. If zero, the vehicle will loiter at the current altitude.

MAV_CMD_NAV_LOITER_TURNS

Supported by: Copter, Plane (not Rover).

Loiter (circle) the specified location for a specified number of turns.

Copter

Loiter (circle) the specified location for a specified number of turns, and then proceed to the next

command. If zero is specified for a latitude/longitude/altitude parameter then the current location

value for the parameter will be used.

The radius of the circle is controlled by the CIRCLE_RADIUS parameter (i.e. cannot be set as

part of the command).

This is the command equivalent of the Circle flight mode .

#HW TODO / QUESTION : Randy: Is radius and direction controlled by the message or by the

CIRCLE parameters – like CIRCLE_RATE

Command parameters

COM‐

MAND

FIELD

MISSION PLAN‐

NER FIELD

DESCRIPTION

param1 Turns Number of turns (N x 360°)

param2 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 22 of 61

param3 Radius Radius around waypoint, in meters. Specify as a positive value to loiter

clockwise, negative to move counter-clockwise.

param4 Desired yaw angle.

param5 Lat Target latitude. If zero, the vehicle will loiter at the current latitude.

param6 Lon Target longitude. If zero, the vehicle will loiter at the current longitude.

param7 Alt Target altitude. If zero, the vehicle will loiter at the current altitude.

Mission planner screenshots

Copter: Mission Planner Settings for LOITER_TURNS command

Plane

Loiter (circle) the specified location for a specified number of turns at the given radius, and then

proceed to the next command. If zero is specified for a latitude/longitude/altitude parameter then

the current location value for the parameter will be used.

Command parameters

COM‐

MAND

FIELD

MISSION PLAN‐

NER FIELD

DESCRIPTION

param1 Turns Number of turns (N x 360°)

param2 Empty

param3 Radius Radius around waypoint, in meters. Specify as a positive value to loiter

clockwise, negative to move counter-clockwise.

param4 Desired yaw angle.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 23 of 61

param5 Lat Target latitude. If zero, the vehicle will loiter at the current latitude.

param6 Lon Target longitude. If zero, the vehicle will loiter at the current longitude.

param7 Alt Target altitude. If zero, the vehicle will loiter at the current altitude.

MAV_CMD_NAV_LOITER_TIME

Supported by: Copter, Plane (not Rover).

Loiter at the specified location for a set time (in seconds).

Copter

Fly to the specified location and then loiter there for the specified number of seconds — where loi‐

ter means “wait in place” (rather than “circle”). The timer starts when the waypoint is reached;

when it expires the waypoint is complete. If zero is specified for a latitude/longitude/altitude para‐

meter then the current location value for the parameter will be used.

This is the mission equivalent of the Loiter flight mode .

Command parameters

COM‐

MAND

FIELD

MISSION PLAN‐

NER FIELD

DESCRIPTION

param1 Time s Time to loiter at waypoint (seconds – decimal)

param2 Empty

param3 Dir 1=CW Radius around waypoint, in meters. Specify as a positive value to loiter

clockwise, negative to move counter-clockwise.

param4 Desired yaw angle.

param5 Lat Target latitude. If zero, the vehicle will loiter at the current latitude.

param6 Lon Target longitude. If zero, the vehicle will loiter at the current longitude.

param7 Alt Target altitude. If zero, the vehicle will loiter at the current altitude.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 24 of 61

Mission planner screenshots

Copter: Mission Planner Settings for LOITER_TIME command

Plane

Fly to the specified location and then loiter there for the specified number of seconds — where loi‐

ter means “circle the waypoint”. The timer starts when the waypoint is reached; when it expires the

waypoint is complete. If zero is specified for a latitude/longitude/altitude parameter then the current

location value for the parameter will be used. You can also specify the radius and direction for the

loiter.

The radius of loiter is set in the WP_LOITER_RAD parameter.

Command parameters

COM‐

MAND

FIELD

MISSION PLAN‐

NER FIELD

DESCRIPTION

param1 Time (s) Time to loiter at waypoint (seconds – decimal)

param2 Empty

param3 Dir 1=CW Radius around waypoint, in meters. Specify as a positive value to loiter

clockwise, negative to move counter-clockwise.

param4 Desired yaw angle.

param5 Lat Target latitude. If zero, the vehicle will loiter at the current latitude.

param6 Lon Target longitude. If zero, the vehicle will loiter at the current longitude.

param7 Alt Target altitude. If zero, the vehicle will loiter at the current altitude.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 25 of 61

MAV_CMD_NAV_RETURN_TO_LAUNCH

Supported by: Copter, Plane, Rover.

Return to the home location or the nearest Rally Point, if closer. The home location is where the

vehicle was last armed (or when it first gets GPS lock after arming if the vehicle configuration al‐

lows this).

#HW TODO / Questions – Randy: Check that copter still uses RTL_ALT parameter and doesn’t try

to send information about height in the package.

Copter

Return to the home location (or the nearest Rally Point if closer) and then land. The home location

is where the vehicle was last armed (or when it first gets GPS lock after arming if the vehicle con‐

figuration allows this).

This is the mission equivalent of the RTL flight mode . The vehicle will first climb to the

RTL_ALT parameter’s specified altitude (default is 15m) before returning home.

This command takes no parameters and generally should be the last command in the mission.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 26 of 61

Mission planner screenshots

Copter: Mission Planner Settings for RETURN_TO_LAUNCH command

Plane

Return to the home location (or the nearest Rally Point if closer) and then “Loiter” (circle the point).

The home location is where the vehicle was last armed (or when it first gets GPS lock after arming

if the vehicle configuration allows this).

If the return is to a rally point, the plane will loiter at the position and altitude set in the rally point. If

the return is to the home location, then the parameter ALT_HOLD_RTL is used for the loiter

height (default 100m). The radius of the loiter is defined in the parameter WP_LOITER_RAD .

This command takes no parameters and generally should be the last command in the mission.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 27 of 61

Rover

Return to the home location (Rally Points are not supported on Rover).

This command takes no parameters and generally should be the last command in the mission.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_NAV_LAND

Supported by: Copter, Plane (not Rover).

Land the vehicle at the current or a specified location.

Copter

The copter will land at it’s current location or at the lat/lon coordinates provided (if non-zero). This

is the mission equivalent of the LAND flight mode .

The motors will not stop on their own: you must exit AUTO mode to cut the engines.

#HW TODO / Questions – LAND in the “Creating a mission with waypoints doc” states : “If you

have Sonar, the craft will stop holding position at 3 meters and drop straight down.” Is that true,
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 28 of 61

and what does it mean?

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Desired yaw angle.

param5 Lat Target latitude. If zero, the Copter will land at the current lati‐

tude.

param6 Lon Longitude

param7 Alt Altitude

Mission planner screenshots

Copter: Mission Planner Settings for LAND command

Plane

The plane will land at it’s current location or at the (non-zero) lat/lon coordinates provided. Infor‐

mation on the parameters used to control the landing are provided in LAND flight mode .

#HW TODO – Please confirm Plane does fly to lat/lon as indicated and that the link above is cor‐

rect description. Should we integrate that description here?.

Command parameters
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 29 of 61

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Desired yaw angle.

param5 Lat Latitude

param6 Long Longitude

param7 Alt Altitude

MAV_CMD_NAV_CONTINUE_AND_CHANGE_ALT

Supported by: Plane (not Copter, Rover).

Continue on the current course and climb/descend to specified altitude. Move to the next com‐

mand when the desired altitude is reached.

Plane

Continue on the current course and climb/descend to specified altitude. Move to the next com‐

mand when the desired altitude is reached.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Empty

param5 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 30 of 61

Note:

param6 Empty

param7 Alt Target altitude

MAV_CMD_NAV_SPLINE_WAYPOINT

Supported by: Copter (not Plane or Rover).

Navigate to the target location using a spline path.

Copter

Fly to the target location using a Spline path , then wait (hover) for specified time before proceed‐

ing to the next command.

The Spline commands take all the same arguments are regular waypoints (lat, lon, alt, delay) but

when executed the vehicle will fly smooth paths (both vertically and horizontally) instead of straight

lines. Spline waypoints can be mixed with regular straight line waypoints as shown in the screen‐

shot below.

Spline waypoints were introduced in AC3.2. As of AC3.2-rc4, there is a slight twitch as the vehi‐

cle passes through each spline waypoint. This is a technical issue that we hope to resolve in

an upcoming release.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Delay Hold time at target, in decimal seconds.

param2 Empty

param3 Empty

param4 Empty

param5 Lat Latitude/X of goal
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 31 of 61

param6 Long Longitude/Y of goal

param7 Alt Altitude/Z of goal

Mission planner screenshots

Copter: Mission Planner Settings for SPLINE_WAYPOINT command

The Mission Planner screenshot shows the path the vehicle will take.

The 1 second delay at the end of Waypoint #1 causes the vehicle to stop so Spline command
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 32 of 61

#2 begins by taking a sharp 90degree turn

The direction of travel as the vehicle passes through Spline Waypoint #3 is parallel to an imagi‐

nary line drawn between waypoints #2 and #4

Waypoint #5 is a straight line so the vehicle lines itself up to point towards waypoint #5 even be‐

fore reaching waypoint #4.

MAV_CMD_NAV_GUIDED_ENABLE

Supported by: Copter (not Plane or Rover).

Enable GUIDED mode to hand over control to an external controller.

See also MAV_CMD_DO_GUIDED_LIMITS for information on how to apply time, altitude and dis‐

tance limits on the external control.

Copter

Enable GUIDED mode to hand over control to an external controller. See Guided Mode for more

information.

#HW TODO: Questions – Randy – How is this command actually “used” ? Ie when you’ve turned

on guided mode, does this mean you can then just send up individual mission commands ? ie from

a DroneKit point of view, how do you use this.

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 on=1/off=0 A value of > 0.5 enables GUIDED mode. Any value <= 0.5f

turns it off.

param2 Empty

param3 Empty

param4 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 33 of 61

Tip:

Note:

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_JUMP

Supported by: Copter, Plane, Rover.

Jump to the specified command in the mission list. The jump command can be repeated either a

specified number of times before continuing the mission, or it can be repeated indefinitely.

Despite the name, this command is really a “NAV_” command rather than a “DO_” command.

Conditional commands like CONDITION_DELAY don’t affect DO_JUMP (it will always perform

the jump as soon as it reaches the command).

This command can be called a maximum number of 15 times in a mission, after which new

DO_JUMP commands are ignored. The maximum number changed from 3 to 15 in AC 3.3.

The command was introduced in/works reliably from AC3.2

Command parameters

COM‐

MAND

FIELD

MIS‐

SION

PLANN

ER

FIELD

DESCRIPTION

param1 WP# The command index/sequence number of the command to jump to.

param2 Repeat# Number of times that the DO_JUMP command will execute before moving to the next

sequential command. If the value is zero the next command will execute immediately. A

value of -1 will cause the command to repeat indefinitely.

param3 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 34 of 61

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_JUMP command

In the example above the vehicle would fly back-and-forth between waypoints #1 and #2 a total of

3 times before flying on to waypoint #4.

Conditional commands

Conditional commands control the execution of _DO_ commands. For example, a conditional com‐

mand can prevent DO commands executing based on a time delay, until the vehicle is at a certain

altitude, or at a specified distance from the next target position.

A conditional command may not complete before reaching the next waypoint. In this case, any un‐

executed _DO_ commands associated with the last waypoint will be skipped.

MAV_CMD_CONDITION_DELAY

Supported by: Copter, Plane, Rover.

After reaching a waypoint, delay the execution of the next conditional “_DO_” command for the

specified number of seconds (e.g. MAV_CMD_DO_SET_ROI).
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 35 of 61

Note:

This command does not stop the vehicle. If the vehicle reaches the next waypoint before the

delay timer completes, the delayed “_DO_” commands will never trigger.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Time (sec) Delay in seconds (decimal).

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for CONDITION_DELAY command

In the example above, Command #4 (DO_SET_ROI) is delayed so that it starts 5 seconds after the

vehicle has passed Waypoint #2.

MAV_CMD_CONDITION_CHANGE_ALT

Supported by: Copter, Plane (not Rover).
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 36 of 61

Note:

Ascend/descend at a specified rate to a given altitude (will override the value used in the following

Waypoint). Any “_DO_” commands associated with the waypoint will be delayed until the desired

altitude is reached.

#HW TODO / Questions: Is this the same for plane and copter (confirm). What is the MP value for

param 1 (ascent/descent rate)

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Rate (cm/sec) Descent / Ascend rate (m/s).

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Alt Target altitude

MAV_CMD_CONDITION_DISTANCE

Supported by: Copter, Plane, Rover.

Delays the start of the next “_DO_” command until the vehicle is within the specified number of me‐

ters of the next waypoint.

This command does not stop the vehicle: it only affects DO commands.

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 37 of 61

param1 Dist (m) Distance from the next waypoint before DO commands are exe‐

cuted (meters).

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for CONDITION_DISTANCE command

In the example above, Command #4 (DO_SET_ROI) is delayed so that it only starts once the vehi‐

cle is within 50m of waypoint #5.

MAV_CMD_CONDITION_YAW

Supported by: Copter (not Plane or Rover).

Point (yaw) the nose of the vehicle towards a specified heading.

Copter

Point (yaw) the nose of the vehicle towards a specified heading.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 38 of 61

The parameters allow you to specify whether the target direction is absolute or relative to the cur‐

rent yaw direction. If the direction is relative you can also (separately) specify whether the value is

added or subtracted from the current heading (note that the vehicle will always turn in direction that

most quickly gets it to the new target heading regardless of the param3 value).

We don’t support controlling the yaw rate, so the param2 value (Sec) is ignored.

Command parameters

COM‐

MAND

FIELD

MISSION

PLAN‐

NER

FIELD

DESCRIPTION

param1 Deg If param4=0 (absolute): Target heading in degrees [0-360] (0 is North).

If param4=1 (relative): The change in heading (in degrees).

param2 Sec Speed during yaw change:[deg per second].

param3 Dir 1=CW If param4=1 (relative) only: [-1 = CCW, +1 = CW]. This denotes whether the flight

controller should add (CW) or subtract (CCW) the degrees (param1) from the current

heading to calculate the target heading.

param4 rel/abs Specify if param1 (“Deg” field) is an absolute direction (0) or a relative to the current

yaw direction (1).

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 39 of 61

Copter: Mission Planner Settings for CONDITION_YAW command

DO commands

The “DO” or “Now” commands are executed once to perform some action. All the DO commands

associated with a waypoint are executed immediately.

MAV_CMD_DO_SET_MODE

Supported by: Copter, Plane, Rover.

Set system mode (preflight, armed, disarmed etc.)

#HW TODO / Question – I this implemented (NOT in MP for copter, is in MP for Plane).

Command parameters

COMMAND

FIELD

MISSION PLAN‐

NER FIELD

DESCRIPTION

param1 Mode, as defined by MAV_MODE

param2 Custom mode – this is system specific, please refer to the individual au‐

topilot specifications for details.

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_CHANGE_SPEED

Supported by: Copter, Plane, Rover.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 40 of 61

Note:

Change the target horizontal speed and/or throttle of the vehicle. The changes will be used until

they are explicitly changed again or the device is rebooted.

Copter

Sets the desired maximum speed in meters/second (only). Both the speed-type and throttle set‐

tings are ignored.

In AC3.1.5 (and earlier) versions the speed change will only take effect after the current naviga‐

tion command (i.e. waypoint command) completes. From AC3.2 onwards the vehicle speed will

change immediately.

Command parameters

speed m/s Speed type (0=Airspeed, 1=Ground Speed).

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1

param2 speed m/s Target speed (m/s).

param3 Throttle as a percentage (0-100%). A value of -1 indicates no

change.

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 41 of 61

Note:

Copter: Mission Planner Settings for DO_CHANGE_SPEED command

From AC3.2 the speed parameter will be in the SECOND COLUMN, not the first column as in

previous releases and shown above (this is to match the official MAVLINK protocol)

Plane

Change the target horizontal speed (airspeed or groundspeed) and/or the vehicle’s throttle.

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Type (0=as 1=gs) Speed type (0=Airspeed, 1=Ground Speed).

param2 Speed (m/s) Target speed (m/s). A value of -1 indicates no change.

param3 Throttle(%) Throttle as a percentage (0-100%). A value of -1 indicates no

change.

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Rover

Change the target horizontal speed and/or the vehicle’s throttle.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 42 of 61

Note:

The value of param1 is ignored from v2.50 (earlier versions should set to 0).

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Type (0=as 1=gs) Speed type (0=Airspeed, 1=Ground Speed). Set to 0 before v2.50,

otherwise ignored.

param2 Speed (m/s) Target speed (m/s). A value of -1 indicates no change.

param3 Throttle(%) Throttle as a percentage (0-100%). A value of -1 indicates no

change.

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_SET_HOME

Supported by: Copter, Plane, Rover.

Sets the home location either as the current location or at the location specified in the command.

For Plane and Rover, if a good GPS fix cannot be obtained the location specified in the com‐

mand is used.

For Copter, the command will also try to use the current position if all the location parameters

are set to 0. The location information in the command is only used if it is close to the EKF ori‐

gin.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 43 of 61

Warning:

This command should not be used in AC3.2 due to this issue . Instead Rally Points can be

used to control the position used for RETURN_TO_LAUNCH (“Home” is also used internally as

the “origin” for all navigation calculations). The command is fixed in AC3.3.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Current Set home location:

1=Set home as current location.

2=Use location specified in message parameters.

param2 Empty

param3 Empty

param4 Empty

param5 Lat Target home latitude (if param1=2)

param6 Lon Target home longitude (if param1=2)

param7 Alt Target home altitude (if param1=2)

Mission planner screenshots

Copter: Mission Planner Settings for DO_SET_HOME command

MAV_CMD_DO_SET_RELAY

Supported by: Copter, Plane, Rover.

Set a Relay pin’s voltage high (on) or low (off).
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 44 of 61

#HW TODO / Question – is “toggling supported” using -1 in the setting? Some docs indicate this,

but no information. “Toggling the Relay will turn an off relay on and vice versa”

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Relay No Relay number.

param2 off(0)/on(1) Set relay state:

1: Set relay high/on (3.3V on Pixhawk, 5V on APM).

0: Set relay low/off (0v)

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_SET_RELAY command

MAV_CMD_DO_REPEAT_RELAY

Supported by: Copter, Plane, Rover.

Toggle the Relay pin’s voltage/state a specified number of times with a given period. Toggling the

Relay will turn an off relay on and vice versa
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 45 of 61

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Relay No Relay number.

param2 Repeat # Cycle count – the number of times the relay should be tog‐

gled

param3 Delay(s) Cycle time (seconds, decimal) – time between each toggle.

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_RELAY_REPEAT command

In the example above, assuming the relay was off to begin with, it would be set high and then after

3 seconds it would be toggled low again.

MAV_CMD_DO_SET_SERVO

Supported by: Copter, Plane, Rover.

Set a given servo pin output to a specific PWM value.

Command parameters
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 46 of 61

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Ser No Servo number – target servo output pin/channel number.

param2 PWM PWM value to output, in microseconds (typically 1000 to

2000).

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_SET_SERVO command

In the example above, the servo attached to output channel 8 would be moved to PWM 1700 (ser‐

vos generally accept PWM values between 1000 and 2000).

MAV_CMD_DO_REPEAT_SERVO

Supported by: Copter, Plane, Rover.

Cycle a servo PWM output pin between its mid-position value and a specified PWM value, for a

given number of cycles and with a set period.

The mid-position value is specified in the RCn_TRIM parameter for the channel (RC8_TRIM in the

screenshot below). The default value is 1500..
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 47 of 61

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Ser No Servo number – target servo output pin/channel.

param2 PWM PWM value to output, in microseconds (typically 1000 to 2000).

param3 Repeat # Cycle count – number of times to move the servo to the specified

PWM value

param4 Delay (s) Cycle time (seconds) – the delay in seconds between each servo

movement.

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_REPEAT_SERVO command

In the example above, the servo attached to output channel 8 would be moved to PWM 1700, then

after 4 second, back to mid, after another 4 seconds it would be moved to 1700 again, then finally

after 4 more seconds it would be moved back to mid.

MAV_CMD_DO_LAND_START

Supported by: Plane (not Copter, Rover).

Mission command to prepare for a landing.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 48 of 61

Note:

Plane

Mission command to prepare for a landing.

This is used as a marker in a mission to tell the autopilot where a sequence of mission items that

represents a landing starts. It may also be sent via a COMMAND_LONG to trigger a landing, in which

case the nearest (geographically) landing sequence in the mission will be used.

The latitude/longitude are not used.

General information on landing a plane is provided in the topic Automatic Landing .

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Empty

param2 Empty

param3 Empty

param4 Empty

param5 Lat Latitude used to help find the closest landing sequence, or zero if

not needed.

param6 Long Longitude used to help find the closest landing sequence, or zero

if not needed.

param7 Empty

MAV_CMD_DO_SET_ROI

Supported by: Copter, Plane, Rover.

Sets the region of interest (ROI) for a sensor set or the vehicle itself. This can then be used by the

vehicles control system to control the vehicle attitude and the attitude of various sensors such as
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 49 of 61

cameras.

#HW TODO / Questions – What is the frame – altitude above home or above terrain or relative to

vehicle?

#HW TODO / Questions – Is behaviour on all vehicles the same (except for Yaw). If so, merge 3

sections below.

Copter

Points the camera gimbal at the “region of interest”, and possibly also rotates the nose of the vehi‐

cle if the mount type does not support a yaw feature.

After setting the ROI, the camera/vehicle will continue to follow it until the end of the mission, un‐

less it is changed or cleared by setting another ROI. Clearing the ROI is achieved by setting a later

DO_SET_ROI command with all zero for param5–param7 (Lat, Lon and Alt).

The above behaviour was implemented in AC3.2. In AC3.1.5 the camera/vehicle only tracks the

ROI in the waypoint it is declared. A new ROI therefore needs to be set at every waypoint where

tracking is required.

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Region of interest mode. (see MAV_ROI enum) // 0 = no roi, 1 = next waypoint, 2

= waypoint number, 3 = fixed location, 4 = given target (not supported)

param2 MISSION index/ target ID. (see MAV_ROI enum)

param3 ROI index (allows a vehicle to manage multiple ROI’s)

param4 Empty

param5 Lat Latitude (x) of the fixed ROI

param6 Long Longitude (y) of the fixed ROI

param7 Alt Altitude of the fixed ROI
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 50 of 61

Mission planner screenshots/video

Copter: Mission Planner Settings for DO_SET_ROI command

In the example above the nose and camera would be pointed at the red marker.

If using AC3.1.5: The nose would point at the marker for only the period that the vehicle is flying

from Waypoint #1 to Waypoint #3. If you wanted the nose/camera to continue to point at the red

marker as it flies from #3 to #4, a second DO_SET_ROI command would need to be entered after

Waypoint #3.

If using AC3.2: The nose would continue to point at the red marker until the end of the mission. To

“clear” the do-set-roi and cause the vehicle to return to it’s default behaviour (i.e. pointing at the

next waypoint) a second DO_SET_ROI command should be placed later in the mission with all

zero for Lat, Lon and Alt.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 51 of 61

Do-Set-ROI simulated

Plane

Points the camera gimbal at the “region of interest”.

After setting the ROI, the camera will continue to follow it until the end of the mission, unless it is

changed or cleared by setting another ROI. Clearing the ROI is achieved by setting a later

DO_SET_ROI command with all zero for param5–param7 (Lat, Lon and Alt).

#HW TODO / QUESTION – confirm behaviour is as above for plane and rover. The code looks like

this only works with a camera mount, and it doesn’t try to align using the vehicle itself. Does it con‐

tinue to point at the target across waypoints as for copter? If so, then probably can just have one

section for this.

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Region of interest mode. (see MAV_ROI enum) // 0 = no roi, 1 = next waypoint, 2

= waypoint number, 3 = fixed location, 4 = given target (not supported)

param2 MISSION index/ target ID. (see MAV_ROI enum)

param3 ROI index (allows a vehicle to manage multiple ROI’s)
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 52 of 61

param4 Empty

param5 Lat Latitude (x) of the fixed ROI

param6 Long Longitude (y) of the fixed ROI

param7 Alt Altitude of the fixed ROI

Rover

Points the camera gimbal at the “region of interest”.

After setting the ROI, the camera will continue to follow it until the end of the mission, unless it is

changed or cleared by setting another ROI. Clearing the ROI is achieved by setting a later

DO_SET_ROI command with all zero for param5–param7 (Lat, Lon and Alt).

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Region of interest mode. (see MAV_ROI enum) // 0 = no roi, 1 = next waypoint, 2

= waypoint number, 3 = fixed location, 4 = given target (not supported)

param2 MISSION index/ target ID. (see MAV_ROI enum)

param3 ROI index (allows a vehicle to manage multiple ROI’s)

param4 Empty

param5 Lat Latitude (x) of the fixed ROI

param6 Long Longitude (y) of the fixed ROI

param7 Alt Altitude of the fixed ROI

MAV_CMD_DO_DIGICAM_CONFIGURE

Supported by: Copter, Plane, Rover.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 53 of 61

Configure an on-board camera controller system.

The parameters are forwarded to an on-board camera controller system (like the 3DR Camera

Control Board), if one is present.

Command parameters

COM‐

MAND

FIELD

MISSION

PLANNER

FIELD

DESCRIPTION

param1 Mode Set camera mode:

1: ProgramAuto

2: Aperture Priority

3: Shutter Priority

4: Manual

5: IntelligentAuto

6: SuperiorAuto

param2 Shutter Speed Shutter speed (seconds divisor). So if the speed is 1/60 seconds, the value en‐

tered would be 60. Slowest shutter trigger supported is 1 second.

param3 Aperture Aperture: F stop number

param4 ISO ISO number e.g. 80, 100, 200, etc.

param5 Exposure‐

Mode

Exposure type enumerator

param6 CommandID Command Identity

param7 Engine CutOffMain engine cut-off time before camera trigger in seconds/10 (0 means no cutoff).

MAV_CMD_DO_DIGICAM_CONTROL

Supported by: Copter, Plane, Rover.

AC3.3: Control an on-board camera controller system (like the 3DR Camera Control Board).

Currently/BEFORE AC3.3: Trigger the camera shutter once. This command takes no additional ar‐
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 54 of 61

guments.

Command parameters

The parameters below reflect the supported fields in AC3.3. In general if a command field is sent

as 0 it is ignored. All parameters are ignored prior to AC3.3.

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 On/Off Session control (on/off or show/hide lens):

0: Turn off the camera / hide the lens

1: Turn on the camera /Show the lens

param2 Zoom Position Zoom’s absolute position. 2x, 3x, 10x, etc.

param3 Zoom Step Zooming step value to offset zoom from the current posi‐

tion

param4 Focus Lock Focus Locking, Unlocking or Re-locking:

0: Ignore

1: Unlock

2: Lock

param5 Shutter Cmd Shooting Command. Any non-zero value triggers the cam‐

era.

param6 CommandID Command Identity

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_DIGICAM_CONTROL command.

MAV_CMD_DO_MOUNT_CONTROL
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 55 of 61

Note:

Supported by: Copter (not Plane or Rover).

Mission command to control a camera or antenna mount.

Copter

This command allows you to specify a roll, pitch and yaw angle which will be sent to the camera

gimbal. This can be used to point the camera in specific directions at various times in the mission.

Supported from AC3.3

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Pitch, in degrees.

param2 Roll, in degrees.

param3 Yaw, in degrees.

param4 reserved

param5 reserved

param6 reserved

param7 MAV_MOUNT_MODE enum value.

Mission planner screenshots

Copter: Mission Planner Settings for DO_MOUNT_CONTROL command
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 56 of 61

Note:

MAV_CMD_DO_SET_CAM_TRIGG_DIST

Supported by: Copter, Plane, Rover.

Trigger the camera shutter at regular distance intervals. This command is useful in camera survey

missions.

In AC3.1.5 (and earlier) versions this command cannot be shut-off. The camera will continue to

be triggered repeatedly even after the mission has been ended. In AC3.2 (and higher) providing

a distance of zero will stop the camera shutter from being triggered.

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Dist (m) Camera trigger distance interval (meters). Zero to turn off dis‐

tance triggering.

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

Mission planner screenshots

Copter: Mission Planner Settings for DO_SET_CAM_TRIGG_DIST command
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 57 of 61

Note:

The above configuration above will cause the camera shutter to trigger after every 5m that the ve‐

hicle travels.

MAV_CMD_DO_FENCE_ENABLE

Supported by: Plane (not Copter or Rover).

Mission command to enable the GeoFence.

Plane

Mission command to enable the GeoFence .

At time of writing (May 2015) this command is not available in Mission Planner.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 Set GeoFence enable state (0=disable, 1=enable).

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_PARACHUTE

Supported by: Copter (not Plane or Rover).

Mission command to trigger a parachute (if enabled).
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 58 of 61

Copter

Mission command to trigger a parachute.

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 ???? Parachute action (0=disable, 1=enable, 2=release).

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_INVERTED_FLIGHT

Supported by: Plane (not Copter or Rover).

Change to/from inverted flight.

Plane

Change between normal and inverted flight .

Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION

param1 0=normal, 1=inverted Set flight type:

0: normal

1: inverted
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 59 of 61

Note:

param2 Empty

param3 Empty

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_GRIPPER

Supported by: Copter (not Plane or Rover).

Mission command to operate EPM gripper.

Copter

Mission command to operate EPM gripper.

This is supported from AC3.3. The instructions for integrating Copter with gripper are out of

date and use DO_SET_SERVO to activate the gripper (April 2015).

Command parameters

COMMAND

FIELD

MISSION PLANNER

FIELD

DESCRIPTION

param1 Gripper No Gripper number (from 1 to maximum number of grippers on the

vehicle).

param2 drop(0)/grab(1) Gripper action:

0:Release

1:Grab

param3 Empty
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 60 of 61

param4 Empty

param5 Empty

param6 Empty

param7 Empty

MAV_CMD_DO_GUIDED_LIMITS

Supported by: Copter (not Plane or Rover).

Set limits for external control.

Copter

This command sets time, altitude, and distance limits for external control (GUIDED mode). When

these limits are exceeded, control will return from GUIDED mode to the mission. Setting any of

these parameters to zero will remove the associated limit.

Command parameters

COM‐

MAND

FIELD

MIS‐

SION

PLANN

ER

FIELD

DESCRIPTION

param1 timeout

S

Maximum time (in seconds) that the external controller is allowed to control vehicle. Use

0 to remove time limits (unlimited time allowed).

param2 min alt Minimum allowed absolute altitude (in meters, AMSL), below which the command will

be aborted and the mission will continue. Use 0 to indicate that there is no minimum alti‐

tude limit.

param3 max alt Maximum allowed absolute altitude (in meters, AMSL), above which the command will

be aborted and the mission will continue. Use 0 to indicate that there is no maximum al‐

titude limit.

param4 max

dist

Horizontal move limit (in meters, AMSL). If vehicle moves more than this distance from

its location at the moment the command was executed, the command will be aborted

and the mission will continue. Use 0 to indicate that there is no horizontal limit.
common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ Page 61 of 61

param5 Empty

param6 Empty

param7 Empty

<!– #HW TODO – Waypoint option bitmask – what to say about this? Note, hidden as a comment

in source for this page Waypoint option bitmask – not yet available in the Mission Planner

bit 0 Altitude is stored 0: Absolute 1: Relative

bit 1 Change Alt between WP 0: Gradually 1: ASAP

bit 2

bit 3 Req.to hit WP.alt to continue 0: No 1: Yes

bit 4 Relative to Home 0: No 1: Yes

bit 5

bit 6

bit 7 Move to next Command 0: YES 1: Loiter until commanded

–>

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 1 of 10

Note:

This page describes generic waypoint setup for all types of vehicles.

Rover users: For a simpler Rover specific guide to setting up waypoints please see this page .

Contents [hide]

1 Setting the Home Position

2 Video: Produce and save a Multi-waypoint Mission

3 Video: Load an already saved Multi-waypoint Mission

4 Instructions

5 Tips

6 Auto grid

7 Mission commands

8 How to prefetch a stored Mission Map

9 Occasionally You will see some really big Numbers

Setting the Home Position

For Copter the home position is set as the location where the copter was armed. This means if

ArduPilot > Mission Planner > common-Planning a Mission with Waypoints and Events

Planning a Mission with Waypoints and

Events

Mission Planner
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 2 of 10

you execute an RTL in Copter, it will return to the location where it was armed, so arm your copter

in the location you want it to return to.

For Plane the home position is the location of the plane where the GPS was locked. This means if

you execute an RTL in Plane, it will return to the location where it first acquired the GPS lock, so

only power up your plane in the location you intend it to return to when performing an RTL.

Video: Produce and save a Multi-waypoint Mission

Don't Fly Like My Brother II - APM Mission Planner Making a Mission

Video: Load an already saved Multi-waypoint Mission
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 3 of 10

Don't Fly Like My Brother III - APM Mission Planner

Instructions

In the screenshot below, a Copter mission starts with an auto takeoff to 20 meters attitude; then

goes to WP 2 rising to 100 meters altitude on the way, then waits 10 seconds; then the craft will

proceed to WP 3 (descending to 50 meters altitude on the way), then returns to launch. Since the

default altitude is 100 meters, the return to launch will be at 100 meters. After reaching the launch

position, the craft will land. The mission assumes that the launch position is set at the home posi‐

tion.
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 4 of 10

Copter: Mission Planning Example

You can enter waypoints and other commands (see the Mission commands section below for more

information). In the dropdown menus on each row, select the command you want. The column

heading will change to show you what data that command requires. Lat and Lon can be entered by

clicking on the map. Altitude is relative to your launch altitude/home position, so if you set 100m,

for example, it will fly 100m above you.

Default Alt is the default altitude when entering new waypoints. It’s also the altitude RTL (return to

launch) mode will fly at if you have Hold Default ALT checked; if you don’t have that checked,

your aircraft will try to maintain the altitude it was at when you switched on RTL.

Verify height means that the Mission Planner will use Google Earth topology data to adjust your

desired altitude at each waypoint to reflect the height of the ground beneath. So if your waypoint is
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 5 of 10

on a hill, if this option is selected the Mission Planner will increase your ALT setting by the height of

the hill. This is a good way to make sure you don’t crash into mountains!

Once you are done with your mission, select Write and it will be sent to APM and saved in EEP‐

ROM. You can confirm that it’s as you wanted by selecting Read.

You can save multiple mission files to your local hard drive by selecting Save WP File or read in

files with Load WP File in the right-click menu:

Tips

Prefetch: You can cache map data so you don’t need Internet access at the field. Click the

Prefetch button, and hold down Alt to draw a box to download the selected imagery of a loca‐
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 6 of 10

tion.

Grid: This allows you to draw a polygon (right click) and automatically create waypoints over the

selected area. Note that it does not do “island detection”, which means if you have a big poly‐

gon and a little one inside of that, the little one will not be excluded from the big one

(see this for more). Also, in the case of any polygon that partialy doubles backs on itself (like

the letter U), the open area in the center will be included as part of the flyover.

Setting your home location to the current location is easy, just click Home Location above

where you enter your home location, and it will set your home location to the current coordi‐

nates.

You can measure the distance between waypoints by right-clicking at one end and selecting

Measure Distance. Then right-click on the other end and select Measure Distance again. A dia‐

log box will open with the distance between the two points.

Auto grid

You can also have the Mission Planner create a mission for you, which is useful for function like

mapping missions, where the aircraft should just go back and forth in a “lawnmower” pattern over

an area to collect photographs.

To do this, in the right-click menu select Polygon and draw a box around the area you want to map.

Then select Auto WP, Grid. Follow the dialog box process to select altitude and spacing. The Mis‐

sion Planner will then generate a mission that looks something like this:
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 7 of 10

Mission Planner auto-generated grid

Mission commands

Mission Planner provides a filtered list of the commands appropriate for the current vehicle type,

and adds column headings for the parameters that need user-supplied values. These include navi‐

gation commands to travel to waypoints and loiter in the vicinity, DO commands to execute specific

actions (for example taking pictures), and condition commands that can control when DO com‐

mands are able to run.

Example: LOITER_TURNS command with headings for number of turns, direction, and location to loiter around.

The full set of mission commands supported by all ArduPilot platforms are listed in MAVLink Mis‐
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 8 of 10

Note:

sion Command Messages (MAV_CMD). This includes the full name of each command (as defined

in the protocol definition), information about which parameters are supported, and also the corre‐

sponding Mission Planner column headings.

Mission Planner uses a cut-down version of the full command name. For example, commands

like MAV_CMD_NAV_WAYPOINT, MAV_CMD_CONDITION_DISTANCE, MAV_CMD_‐

DO_SET_SERVO are listed in MP as WAYPOINT, CONDITION_DISTANCE and

DO_SET_SERVO respectively.

There is also a Copter-specific Copter Mission Command List .

How to prefetch a stored Mission Map
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 9 of 10

Mission Planner prefetch map functionality

Occasionally You will see some really big Numbers
common-Planning a Mission with Waypoints and Events | Mission Planner 8/14/15, 2:38 PM

http://planner.ardupilot.com/wiki/common-planning-a-mission-with-waypoints-and-events/ Page 10 of 10

Mission Planner displays big numbers

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 1 of 9

This article describes ArduPilot’s camera and gimbal commands, and explains how these can be

used in Mission Planner to define camera survey missions.

The instructions assume that the camera shutter/gimbal have already been connected and config‐

ured.

Contents [hide]

1 Overview

1.1 Camera commands

1.2 Camera gimbal commands

1.3 Servo and relay commands

2 Auto-mission types

2.1 Survey (Grid) Example

3 Creating composite images

Overview

Planning a camera mission is almost exactly the same as planning any other mission with way‐

points and events. The only difference is that in a camera mission you specify commands to trigger

the camera shutter at waypoints or at regular intervals as the vehicle moves. If the camera is

mounted on a gimbal, you can also set the gimbal orientation, or make it track a particular point of

ArduPilot > Mission Planner > common-Camera Control and Auto Missions in Mission Planner

Camera Control and Auto Missions in

Mission Planner

Mission Planner
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 2 of 9

interest.

For simple missions you can manually specify the required waypoints and camera commands. For

more complex paths and grid surveys Mission Planner makes things easy by providing tools to au‐

tomatically generating the required mission for arbitrary regions.

This article explains the available camera and gimbal commands. It also describes the auto-mis‐

sions provided by Mission Planner and shows how these can be used to generate composite sur‐

vey images of arbitrary regions.

Camera commands

DO_SET_CAM_TRIGG_DIST — Trigger the camera shutter at regular intervals. This is most

commonly used for supporting area surveys.

DO_DIGICAM_CONTROL — Trigger the camera shutter once every time this command is called.

Camera gimbal commands

If a camera gimbal is used, you can set the camera position (yaw, tilt, roll) or aim it at a specific re‐

gion of interest (ROI):

DO_SET_ROI — Target the camera towards a specified region of interest (position, including

altitude).

DO_MOUNT_CONTROL — Position the gimbal with the specified roll, pitch and yaw.

Servo and relay commands

Servos and relay outputs can be connected to hardware and activated during missions using the

DO_SET_SERVO or DO_SET_RELAY commands, respectively.

One possible use for these outputs is to control camera features other than the shutter (for exam‐

ple, to set the zoom level or switch capture from still to video).
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 3 of 9

Note:

The method used to connect your servo or relay to the camera, and what features are accessi‐

ble, will depend the camera and its supported remote-control mechanism(s). Depending on the

camera manufacturer, you may find hints at how this can be done in these CHDK and

Stratosnapper tutorials.

Auto-mission types

Mission Planner supports the following Auto Waypoint options. To access these open the Flight

Plan screen, right-click on the map and select the option from under the Auto WP menu:

Create WP Circle — Create a circle of waypoints.

Area — Displays the area of the current polygon (if defined).

Create Spline Circle — A circle where the altitude of waypoints follows a rising spline (relevant

to flying vehicles).

Survey (Grid) — Automatically create waypoints and camera control commands to survey a

specified polygon.

Survey (Gridv2) — Under construction! This is a simpler grid control for creating a rectangular

survey area.

SimpleGrid — A simple auto-created survey grid. No camera control is defined, so this must be

added separately.

The following sections include community-provided examples of automatic survey missions.

Survey (Grid) Example

Mission Planner’s Survey (Grid) option automatically defines the waypoints required to cover an

arbitrary polygon, and sets DO_SET_CAM_TRIGG_DIST on relevant waypoints to ensure that pic‐

tures are captured at regular intervals in the vehicle’s path.

Open the Flight Plan tab

Right click on the map, and select Draw Polygon | Add PolyGon Point. Create points sur‐

rounding the area to be photographed.

Right click on the map and select Auto WP | Survey(Grid):
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 4 of 9

Mission Planner will then display a configuration screen where you can define the camera

make/model and other parameters including teh overlap you want between pictures, lens size,

etc. DO_SET_CAM_TRIGG_DIST is automatically calculated based on this information!
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 5 of 9

After clicking on Accept, Mission Planner will generate a list of waypoints covering the specified

area, and including take-off and landing waypoints. The DO_SET_CAM_TRIGG_DIST command is

called to set the distance in meters between two camera triggers during your mission. At the end of

the mission DO_SET_CAM_TRIGG_DIST is called again to set the parameter back to zero (stops

capturing images).

The final mission with waypoints and camera triggers looks like this:
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 6 of 9

The test mission shown above was run. It generated 15 images, which have been stitched togeth‐
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 7 of 9

er. A thumbnail of the composite image is shown below (because the full size image is too large at

about 107 MBytes).
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 8 of 9
common-Camera Control and Auto Missions in Mission Planner | Mission Planner 8/14/15, 2:41 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/common-camera-control-and-auto-missions-in-mission-planner/ Page 9 of 9

Note:

This section was originally part of the article Camera Shutter Tutorial using Stratosnapper (by

Hugues)

Creating composite images

There are a number of good free and paid tools for creating composite images:

Pix4Dmapper – The free “discovery” version supports image merging.

Microsoft Image Composite Editor (ICE)

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Other Mission Planner Features | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/ Page 1 of 2

Other features that aren’t specific to the modes already described in the menu:

The Mission Planner Console: When you first open Mission Planner you will see a small win‐

dow with a black background with a lot of text scrolling by. When Mission Planner finally opens,

the window may disappear. That window is called the console. You can keep it alive by checking

a box at the bottom of the Mission Planner help screen.

Shortcut Keys:

F12 – disconnect or connect from/to USB or Telemetry

F5 – Refresh parameters

F2 – change to Flight Data tab

F3 – change to Flight Planner tab

F4 – change to Configuration tab

F5 – Refresh parameter list

CTL-G Nmea Output

CTL-W Wizard config interface

You can display video from your aircraft on the Mission Planner’s HUD if you are digitizing it

with the same laptop (with a video capture card or USB device). Just select the device in the

Configuration/Planner screen, chose video format and press “Start” to begin recording. If you

select the HUD checkbox, the video display will replace the artificial horizon in the HUD.

You can also record the video that you’re displaying to an AVI file. Just right-click in the HUD

and choose from the menu that will pop up.

You can send NMEA (GPS) output to the serial port. Press control-g and you will get a box ask‐

ing for a comport and baud rate to output standard nmea data at 2 hz, to any serial port. One

application would be to use com2com to emulate a serial port to use with third party applica‐

ArduPilot > Mission Planner > common-Other Mission Planner Features

Other Mission Planner Features

Mission Planner
common-Other Mission Planner Features | Mission Planner 8/14/15, 2:39 PM

http://planner.ardupilot.com/wiki/common-other-mission-planner-features/ Page 2 of 2

tions.

You can have the Mission Planner load non-standard firmware (any .hex files that you’ve made

or got elsewhere) to APM by pressing Control-C on the firmware loading screen.

Mission Planner can give you audio speech alerts for events that you choose, such as hitting

waypoints or low battery. Just go to Configuration | Planner | Speech | Enable Speech

Mission Planner source code can be downloaded and compiled (built) by those with program‐

ming skills in C# and who are familiar with Microsoft Visual Studio – see Building Mission Plan‐

ner with Visual Studio (Dev Wiki).

Mission Planner can be scripted – see Using Python Scripts in Mission Planner (planner wiki)

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 1 of 11

Geo-tagged aerial pictures are very useful for mosaic mapping as well as the creation of accurate

3D models from a terrain.

The Mission Planner has a handy feature that will inject GPS data into your photos’ EXIF tags by

using APM’s telemetry log from a flight.

This tutorial was created to show you how does it work. (Original work from Sandro Benigno and

Guto Santaella updated by Jesus Alvarez)

Contents [hide]

ArduPilot > Mission Planner > common-Geotagging Images with Mission Planner

Geotagging Images with Mission

Planner

Mission Planner
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 2 of 11

1 Overview

1.1 CAM Messages

1.2 Time offset (picture time log time)

2 Interface

2.1 Files selection

2.2 Geotag Mode

2.3 Time offset Estimation and Shutter Lag

2.4 Item offsets in log

2.5 FOV and Altitude reference

2.6 Action Buttons

2.7 Process Messages

3 Processing Instructions

3.1 Common Pre-steps

3.2 CAM Messages

3.3 Time Offset

3.4 Common Post-steps

Overview

One of the most important application of UAVs is photogrammetry, orthophoto generation, 3D ter‐

rain modeling etc.

In all cases, having pictures with geographical information about the camera position at the trigger

instant, is crucial.

If your camera has a built-in GPS you may or may not add autopilot GPS location from its log. If

you are using CAM method it may be more accurate to use it instead of the built-in GPS.

Mission Planner provides two methods for geotagging your photos from a mission log

1. CAM messages from dataflash log

2. Time offset (picture time log time)

CAM Messages

APM/Pixhawk can trigger a camera by using a relay output or a PWM output during prepro‐

grammed missions or by RC activation.
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 3 of 11

CAM messages are generated (and stored in dataflash log) every time the autopilot triggers the

camera. This can happen by either DO_DIGICAM_CONTROL, by a DO_SET_CAM_TRIGG_DIST

or any future command.

When using this geotag method, Mission Planner will use the exact information recorded in the

CAM Message (at the time of the trigger) to geotag a picture.

This is the most precise geotag method.

Time offset (picture time log time)

This method tries to figure out the time offset between the camera internal clock time and log time.

By doing this, every picture can be geotagged with GPS information stored in the telemetry or

dataflash logs.

User must tune the offset value until it finds a coherent result.

This method is mainly used when there is no connection between camera and autopilot

Interface

Geotag tool interface is shown below
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 4 of 11

Files selection

This is where the user has to select the log location and camera pictures folder

Geotag Mode

As explained above, there are two options. CAM Messages and Time offset.

Time offset Estimation and Shutter Lag

Time offset estimation part is only allowed if Time Offset mode has been selected.

Time offset needs to be estimated by comparing the first picture time and the first GPS time in the
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 5 of 11

log.

Once the user click the “Estimate Offset” button, the tool will calculate time offset as said above

and will print the result in the Process Messages section at the bottom of the window.

Offset Estimation = 1st_Picture_Time – 1st_GPS_Time_Logged

If CAM Message is selected, the Shutter Lag option is available. Note that GPS positions are

stored at 5Hz by default (if using 3DR GPS) so they are recorded every 200ms.

If Shutter Lag is less than 100ms, then GPS position is taken from current CAM Message.

If Shutter Lag is bigger than 100ms, the GPS position is taken from 200ms ahead in log.

Item offsets in log

This section allows the user to tell the tool where specific information can be found in the log.

Item offsets are preset to the last stable APM release.

There are three messages whose offsets need to be defined

CAM

GPS

ATT

Example of how to find out item offset in a message line within a log

Lets take a look at the GPS Line Format definition at the beginning of a log:

FMT, 130, 45, GPS, BIHBcLLeeEefI, Sta‐

tus,TimeMS,Week,NSats,HDop,La6t,Lng,RelAlt,Alt,Spd,GCrs,VZ,T

The field with the number 1 is the one after the Units-definition-word.

In our case, the Units-definition-word is BIHBcLLeeEefI. So the field with number 1 is Status

Counting from it, we should have:

TimeMS = 2

Week = 3

Lat = 6

...

FOV and Altitude reference
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 6 of 11

In this part of the UI, the user can define the Field of View related information and Camera orienta‐

tion. This information is incorporated into the result files but it is not used or stored in the picture

EXIF data.

AMSL Alt checkbox allows to select either AGL Altitude (Above Ground Level) or AMSL Altitude

(Above Mean Sea Level).

Action Buttons

Pre-process

When this button is clicked, Geotag tool will try to extract and calculate pictures positions

Location Kml

When this button is clicked, Geotag tool will open Google Earth and show pictures position

on a map so the user can check their correct positioning.

GeoTag Images

If everything was correct in previous steps and pictures are well positioned in the map, this

button will write the position information in the EXIF data of every picture

Process Messages

This is the place where the tool will output information

Processing Instructions

Common Pre-steps

Very first step: Open the Mission Planner and press “Ctrl+F”. It will open a hidden screen like

the one shown below.
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 7 of 11

Click the button “Geo ref images”. It will give you access to the Geo Tagging tool

Click the button “Browse Log” and select the log (.tlog or .log) of the flight related to the shooting

session.

Click the button “Browse Directory” and select the folder where your aerial pictures were down‐

loaded from your camera.

Notice that the camera picture folder can contain other files apart from the pictures. However in

terms of pictures, it must contain just the ones belonging to the flight.

From now, it depends on the type of processing.

CAM Messages
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 8 of 11

In order to process CAM messages, the mission file had to be defined to use remote camera trig‐

ger by means of any of the available mission commands (CAM_TRIGG_DISTANCE, DO_DIGI‐

CAM_CONTROL, etc).

Select the CAM Message method if it is not selected in the Geotag Mode section.

Enter Shutter Lag value (in milliseconds) if you know it. If not leave it with 0

Check that Log offsets are correct according to your log version. Most of the times they should

be ok

Enter FOV information if needed

Select Use AMSL Alt checkbox if you want absolute altitude. Otherwise, uncheck it

Click Pre-process!

If everything goes right, you will see Done at the end of the Process Messages Area

The most common problem in this processing mode is having a discrepancy between the number

of CAM messages in log and the number of pictures in the folder. If the tool finds that they are dif‐

ferent, it will output an error message and abort.

Check the pictures proposed location by means of Location Kml button (See Common Poststeps section)
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 9 of 11

Time Offset

Select the Time Offset method if it is not selected in the Geotag Mode section.

Click on Estimate Offset button

The tool will calculate (as explained in previous section) the time difference between the first

picture and the first GPS time in the log.

Copy the calculated offset printed in the Process Messages Area and paste it into the field Sec‐

onds offset

Take a look at the following picture:

Click Pre-process!

Check that there is no warning or error message in the Process Messages Area

Introducing a erroneous Time Offset is the most common problem when using this method.

If this is the case, Geotag tool will output a warning as there might be some picture times that

(once corrected with the given offset) are not found in the autopilot log. See picture below:
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 10 of 11

Note: It must be taken into account that the estimated time offset is just a starting point.

Check the pictures proposed location by means of Location Kml button (See Common Poststeps section)

If proposed location is not correct, add or substract some seconds to the Offset Time and repeat

Common Post-steps

Two things left to do, check that proposed picture locations are ok and write location information to

the pictures EXIF data.

Click on the Location Kml button. Google Earth will open and show the proposed picture loca‐

tions. See following image:

Check that they are ok.

If you were using CAM Message Mode, there shouldn’t be any problem. If there is, just order
common-Geotagging Images with Mission Planner | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ Page 11 of 11

pictures alphabetically and check that the first picture is the list is also the oldest one.

If you were using Time Offset, just try adding or substracting seconds to time offset.

If everything is OK, Click on GeoTag Images button and wait to see:

Geotagged files can be found in geotagged folder inside the original pictures folder

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 1 of 9

Note:

Telemetry logs (also known as “tlogs”) are recorded by the Mission Planner (or other ground sta‐

tion) when you connect ArduPilot to your computer via a telemetry link. This topic explains how to

configure and access tlogs.

Dataflash logs collect similar information to tlogs (see Diagnosing problems using Logs for more

information).

Contents [hide]

1 When and where tlogs are created

2 Setting the datarate

3 Playing back missions

4 Creating 3d images of the flight path

5 Extracting parameters and Waypoints

6 Graphing data from a flight

7 Video overview of tlogs

When and where tlogs are created

Tlogs are recordings of the MAVLink telemetry messages sent between the APM/PX and the

groundstation and are automatically created the moment you press the connect button on the mis‐

sion planner. Files of the format YYYY-MM-DD hh-mm-ss.tlog appear in the “logs” subfolder in

your Mission Planner installation folder or to the location you select in the Planner options [Con‐

ArduPilot > Mission Planner > common-Mission Planner Telemetry Logs

Mission Planner Telemetry Logs

Mission Planner
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 2 of 9

fig/Tuning] [Planner].

Besides the “.tlog” files, “.rlog” files are also created. These contain all the .tlog data plus addition‐

al debug output from the mission planner. but cannot be parsed or played back so they should be

ignored.

Setting the datarate

The desired rate at which data is sent from the APM/PX to the ground station can be controlled

through the mission planner’s Software > Planner screen’s Telemetry drop-downs. Because all

data sent over the telemetry link is also recorded in the tlog, this also controls the rate of data

saved to the tlogs.

Note that especially on Copter, due to CPU resource limitations, the actual rate of the data sent

and saved may be lower than the rate requested.
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 3 of 9

Playing back missions

If you are using wireless telemetry and have connected to to APM via the Mission Planner, your

flight data will automatically recorded. You can play back these logs by doing the following:

Open the mission planner’s Flight Data screen

click on the Telemetry Logs tab

Press “Load Log” and find the flight’s tlog file

Press “Play”

You can also jump to the point of interest in the log using the slider and control the speed of the

playback with the predefined Speed buttons.

While the log is replaying, the HUD will move and the vehicles location on the map will update as it

did during the flight. Individual data values can be seen through the Status tab and you can even

display them in a graph by clicking on the “Tuning” checkbox under the map and then double click‐

ing on the data legend to bring up a box from which you can choose exactly which data fields are

graphed as shown below. This will show the recorded data changing as the flight progresses.
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 4 of 9

Creating 3d images of the flight path

You can create KMZ files by doing this:

Open the mission planner’s Flight Data screen

Click on the Telemetry Logs tab

Press the “Tlog > Kml or Graph” button

Press the “Create KML + GPX” button

select the flight tlog
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 5 of 9

A .kmz and .kml file will be created along side the original .tlog and this can be opened in google

earth to interactively view the 3d flight path. You can open the kmz file in Google Earth to view the

flight or path. Just double click the file or drag it and drop into Google Earth.
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 6 of 9

The different flight modes used during the flight will appear as different colored tracks. You can

change some details about how the flight paths are displayed including their color and whether the

paths extend to the ground by doing this:

Find the log file’s name in the “Places” pane on the left. It should appear in a “Temporary

Places” folder.

Right click on an individual path and select “Properties” to open the Edit Path window.

The color can be changed on the “Style, Color” tab

The area below the path can be removed (added) on the “Altitude” tab by un-checking (check‐

ing) “Extend path to ground”
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 7 of 9

Extracting parameters and Waypoints

You can extract the parameters and waypoints from the tlog by following the same steps as for cre‐

ating the KML file except that at the last step select “Extract Params” or “Extract WPs”.

Extract Params will cause a .param file to be created along side the tlog. This file is tab separated

and contains a full list of parameters (in the same order as they appear in the eeprom) along with

their values during the flight. This can be opened in excel or a text editor.

Extract WPs will create one or more .txt files containing any missions uploaded to the APM/PX4. 

These files can be opened in the Mission Planner by switching to the Flight Plan screen, rightmouse-button clicking on the map and selecting “File Load/Save”, “Load WP File”.

Graphing data from a flight

Data from the flight can be graphed by doing the following:

Open the mission planner’s Flight Data screen

Click on the Telemetry Logs tab

Press the “Tlog > Kml or Graph” button

Press the “Graph Log” button

select the flight tlog
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 8 of 9

When the “Graph This” screen appears, use the left or right mouse button to click on the check‐

boxes beside the items you wish to graph. Note that the items are grouped into categories like

“RC_CHANNELS” and “RAW_IMU” although it’s still often difficult to find exactly the item you

wish to graph

If you use the left mouse button the scale for the item will appear on the left of the graph. If you

use the right mouse button it will appear on the right

Click the checkbox multiple times to cycle through all the possible colours

Change the zoom of the graph with your mouse’s middle wheel, by select an area of the graph

with the left mouse button held down or by right-mouse-button clicking on the graph and select‐

ing “Set Scale To Default”
common-Mission Planner Telemetry Logs | Mission Planner 8/14/15, 2:40 PM

http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ Page 9 of 9

Video overview of tlogs

ArduCopter TLog Overview

Questions about this page? Comments? Suggestions? Post to APM Forum! Use the platform spe‐

cific to your query, and make sure to include the name of the page you are referring to.