I am new to Dronekit. I was wondering if there is place where I can find a list of all the available mission commands.
Is there a MAVLink mission commands list available?
2.7k views Asked by Diego Medina AtThere are 3 answers
For a complete list of mission commands, see the MAV_CMD section in this list at https://pixhawk.ethz.ch.
Not every flight controller that speaks mavlink implements every mission command. You'll need to research your particular flight control software to see what it supports. You'll also need to learn what each command does and how it is used, which isn't always obvious.
This page at the ArduPilot wiki is a good place to start, because it describes the commands implemented by a popular flight controller (ArduCopter), describes what the commands do, and exactly what the command parameters mean: http://copter.ardupilot.com/wiki/mission-planning-and-analysis/mission-command-list/
You will have to do a little translation because that page uses command names as they show up in a ground control station; For example Takeoff -> MAV_CMD_NAV_TAKEOFF
, Condition-Delay -> MAV_CMD_CONDITION_DELAY
.
There are a lot of commands, and some of them are esoteric, but to fly a basic mission where the vehicle takes off, flies through some waypoints, and then lands, you only need a few commands:
MAV_CMD_NAV_TAKEOFF
MAV_CMD_NAV_LAND
MAV_CMD_NAV_WAYPOINT
The best list of mission commands for ArduPilot flight controller is MAVLink Mission Command Messages (MAV_CMD). This lists all the mission commands and parameters that are actually supported on all of the vehicle platforms (which is not quite the same thing as what information is listed in the MAVLink protocol definition.
If you're working on Copter, the Copter Mission Command List is useful for working with Mission Planner. However it is not quite as useful for working with DroneKit as it doesn't map the actual command parameters.
If you're working on any other flight controller then you'll have to work out what set of commands they support.
Just started looking at DroneKit myself, so hopefully others will chime in to better answer your question. The DroneKit API documentation identifies the built in commands here:
http://python.dronekit.io/automodule.html
That said, it looks like the DroneKit function send_mavlink() should allow you to send any mavlink message to your vehicle, in the event that there is a specific mavlink command not available in DroneKit. I think this is where you can find the list of mavlink message types: https://pixhawk.ethz.ch/mavlink/
Good luck