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

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



### 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 2History 3 Support 4Navigating the Documentation 

## What is Mission Planner ArduPilot> Mission Planner> Mission Planner Overview 

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

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



### 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.8/14/15, 2:37 PM Mission Planner Overview | Mission Planner

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



## 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 ‐8/14/15, 2:37 PM Mission Planner Overview | Mission Planner

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



### 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.8/14/15, 2:38 PM common-Mission Planner Ground Control Station | Mission Planner

Page 1 of 4 http://planner.ardupilot.com/wiki/common-mission-planner-ground-control-station/ 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 Planner8/14/15, 2:38 PM common-Mission Planner Ground Control Station | Mission Planner

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



### 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. When8/14/15, 2:38 PM common-Mission Planner Ground Control Station | Mission Planner

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

### 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 on8/14/15, 2:38 PM common-Mission Planner Ground Control Station | Mission Planner

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



### 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.8/14/15, 2:38 PM common-Connect Mission Planner to AutoPilot | Mission Planner

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

### 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 2Troubleshooting 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 Planner8/14/15, 2:38 PM common-Connect Mission Planner to AutoPilot | Mission Planner

Page 2 of 3 http://planner.ardupilot.com/wiki/common-connect-mission-planner-autopilot/ 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 Connectbutton to connect to the autopi ‐ lot. After connecting Mission Plannerwill download parameters from the autopilot and the button will change to Disconnectas shown:8/14/15, 2:38 PM common-Connect Mission Planner to AutoPilot | Mission Planner

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

### 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 LEDsand Soundswhich 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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.2Frames of reference 1.3 How accurate is the information? 1.4How to interpret the commands parameters 1.5Using this information with a GCS 2Commands supported by Copter 3 Commands supported by Plane 4Commands supported by Rover 5 Special Commands ArduPilot> Mission Planner> common-MAVLink Mission Command Messages (MAV_CMD) 

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

Page 2 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 5.1 MAV_CMD_MISSION_START 5.1.1 Copter 5.2MAV_CMD_COMPONENT_ARM_DISARM 5.2.1 Copter 6Navigation commands 6.1 MAV_CMD_NAV_WAYPOINT 6.1.1 Copter 6.1.2Plane 6.1.3 Rover 6.2MAV_CMD_NAV_TAKEOFF 6.2.1 Copter 6.2.2Plane 6.3 MAV_CMD_NAV_LOITER_UNLIM 6.3.1 Copter 6.3.2Plane 6.4MAV_CMD_NAV_LOITER_TURNS 6.4.1 Copter 6.4.2Plane 6.5MAV_CMD_NAV_LOITER_TIME 6.5.1 Copter 6.5.2Plane 6.6MAV_CMD_NAV_RETURN_TO_LAUNCH 6.6.1 Copter 6.6.2Plane 6.6.3 Rover 6.7MAV_CMD_NAV_LAND 6.7.1 Copter 6.7.2Plane 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.10MAV_CMD_NAV_GUIDED_ENABLE 6.10.1 Copter 6.11 MAV_CMD_DO_JUMP 7Conditional commands 7.1 MAV_CMD_CONDITION_DELAY 7.2MAV_CMD_CONDITION_CHANGE_ALT8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 3 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 7.3 MAV_CMD_CONDITION_DISTANCE 7.4MAV_CMD_CONDITION_YAW 7.4.1 Copter 8 DO commands 8.1 MAV_CMD_DO_SET_MODE 8.2MAV_CMD_DO_CHANGE_SPEED 8.2.1 Copter 8.2.2Plane 8.2.3 Rover 8.3 MAV_CMD_DO_SET_HOME 8.4MAV_CMD_DO_SET_RELAY 8.5MAV_CMD_DO_REPEAT_RELAY 8.6MAV_CMD_DO_SET_SERVO 8.7MAV_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.2Plane 8.9.3 Rover 8.10MAV_CMD_DO_DIGICAM_CONFIGURE 8.11 MAV_CMD_DO_DIGICAM_CONTROL 8.12MAV_CMD_DO_MOUNT_CONTROL 8.12.1 Copter 8.13 MAV_CMD_DO_SET_CAM_TRIGG_DIST 8.14MAV_CMD_DO_FENCE_ENABLE 8.14.1 Plane 8.15MAV_CMD_DO_PARACHUTE 8.15.1 Copter 8.16MAV_CMD_DO_INVERTED_FLIGHT 8.16.1 Plane 8.17MAV_CMD_DO_GRIPPER 8.17.1 Copter 8.18 MAV_CMD_DO_GUIDED_LIMITS 8.18.1 Copter 

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

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

### 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 (for8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### Note:

Note: example MAV_CMD_DO_SET_CAM_TRIGG_DISTto 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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_CONTROL8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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_START8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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: Copter8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 param68/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

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

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

### 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 param78/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



# 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 14 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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_YAWcommand. Mission Planner screenshots8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

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 to8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 16 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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_TAKEOFF8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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 screenshots8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

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 notusing an airspeed sensor. Command parameters

COMMAND FIELD MISSION PLANNER FIELD DESCRIPTION param1 Pitch Angle Pitch/climb angle in degrees (Plane only). param2 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 19 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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-clockwise8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 20 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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 loiter8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 21 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 22 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 23 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



# 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 Pointif 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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### Mission planner screenshots

Copter: Mission Planner Settings for RETURN_TO_LAUNCH command 

## Plane Return to the home location (or the nearest Rally Pointif 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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



## 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,8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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 parameters8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 29 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 goal8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 31 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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 command8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### #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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 34 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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 ).8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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).8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 DESCRIPTION8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 37 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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 screenshots8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 screenshots8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### Warning: This command should not be used in AC3.2 due to this issue . Instead Rally Pointscan 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 Relaypin’s voltage high (on) or low (off).8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### #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 Relaypin’s voltage/state a specified number of times with a given period. Toggling the Relay will turn an off relay on and vice versa8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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 parameters8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 46 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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 servoPWM 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..8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 as8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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 ROI8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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)8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 52 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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 CutOff Main 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 shutteronce. This command takes no additional ar ‐8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



### 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_CONTROL8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 command8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### Note: 

# MAV_CMD_DO_SET_CAM_TRIGG_DIST Supported by: Copter, Plane, Rover. Trigger the camera shutterat 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 command8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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).8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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



## 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: inverted8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

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

### 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 Empty8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 60 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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.8/14/15, 2:39 PM common-MAVLink Mission Command Messages (MAV_CMD) | Mission Planner

Page 61 of 61 http://planner.ardupilot.com/wiki/common-mavlink-mission-command-messages-mav_cmd/ 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.8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

### 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 2Video: Produce and save a Multi-waypoint Mission 3 Video: Load an already saved Multi-waypoint Mission 4Instructions 5 Tips 6Auto grid 7Mission commands 8 How to prefetch a stored Mission Map 9 Occasionally You will see some really big Numbers 

# Setting the Home Position For Copterthe 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 Planner8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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



### 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 Planethe 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 Mission8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

### 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.8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

Copter: Mission Planning Example 

### You can enter waypoints and other commands (see the Mission commandssection 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 Altis 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 ALTchecked; if you don’t have that checked, your aircraft will try to maintain the altitude it was at when you switched on RTL. Verify heightmeans 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 is8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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



### 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 Writeand 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 Fileor read in files with Load WP Filein 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 Altto draw a box to download the selected imagery of a loca ‐8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

### 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 Distanceagain. 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:8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

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 ‐8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

### 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 Map8/14/15, 2:38 PM common-Planning a Mission with Waypoints and Events | Mission Planner

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

### Mission Planner prefetch map functionality



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

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

### 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.8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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



### 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.2Camera gimbal commands 1.3 Servo and relay commands 2Auto-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 Planner8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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



### 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).8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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

### 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 CHDKand Stratosnappertutorials. 

# 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 clickon the map, and select Draw Polygon | Add PolyGon Point . Create points sur
‐ rounding the area to be photographed. Right clickon the map and select Auto WP | Survey(Grid) :8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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

### 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!8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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



### 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:8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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



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

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



### er. A thumbnail of the composite image is shown below (because the full size image is too large at about 107 MBytes).8/14/15, 2:41 PM common-Camera Control and Auto Missions in Mission Planner | Mission Planner

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

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

### 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.8/14/15, 2:39 PM common-Other Mission Planner Features | Mission Planner

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



### 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 Planner8/14/15, 2:39 PM common-Other Mission Planner Features | Mission Planner

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

### 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.8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 1 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



### 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 Planner8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 2 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ 1 Overview 1.1 CAM Messages 1.2Time offset (picture time log time) 2Interface 2.1 Files selection 2.2Geotag Mode 2.3 Time offset Estimation and Shutter Lag 2.4Item offsets in log 2.5FOV and Altitude reference 2.6Action Buttons 2.7Process Messages 3 Processing Instructions 3.1 Common Pre-steps 3.2CAM Messages 3.3 Time Offset 3.4Common 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.8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 3 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



### 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 below8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 4 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



## 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 the8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 5 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



### 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 reference8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 6 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



### 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.8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 7 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ 

### 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 Messages8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 8 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



### 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 Messagemethod 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 Doneat 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)8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 9 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/



## Time Offset Select the Time Offsetmethod if it is not selected in the Geotag Mode section. Click on Estimate Offsetbutton 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:8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 10 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ 

### 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 order8/14/15, 2:40 PM common-Geotagging Images with Mission Planner | Mission Planner

Page 11 of 11 http://planner.ardupilot.com/wiki/common-geotagging-images-with-mission-planner/ 

### 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 Imagesbutton 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.8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 1 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ 

### 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 logscollect similar information to tlogs (see Diagnosing problems using Logsfor more information).
Contents [ hide ] 1 When and where tlogs are created 2Setting the datarate 3 Playing back missions 4Creating 3d images of the flight path 5 Extracting parameters and Waypoints 6Graphing data from a flight 7Video 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 Planner8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 2 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



### 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.8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 3 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



# 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.8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 4 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



# 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 tlog8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 5 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



### 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.8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 6 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



### 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”8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 7 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



# 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 tlog8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 8 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/ 

### 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”8/14/15, 2:40 PM common-Mission Planner Telemetry Logs | Mission Planner

Page 9 of 9 http://planner.ardupilot.com/wiki/common-mission-planner-telemetry-logs/



# 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.