ardupilot-software-development
ardupilot-software-development copied to clipboard
Source codes of Software Development for Ardupilot Powered Unmanned Systems course
Software Development for Ardupilot Powered Unmanned Systems
Source codes of Software Development for Ardupilot Powered Unmanned Systems course.
Course documents
Documents and information about this course.
- Disclaimer (read this first!)
Setting up the build and simulation environment
This section includes how to install the build environment and simulation software from Ardupilot source code and running the simulation with different vehicles for software development.
-
Introduction
-
Quickstart (Quickstart for Windows)
-
Setting up the build environment
-
Setting up the simulation software
-
Starting the simulation software individually
-
Creating simulation environment starter shell script
MAVProxy command line ground control station
This section includes use cases of MAVProxy command line ground control station and shell scripting.
-
Introduction
-
Installing instructions
-
Quickstart
-
Startup options
-
Telemetry forwarding
-
Creating MAVProxy shell scripts for automated proxy and forwarding services
-
Arming and disarming the vehicle
-
Mission editing
-
Geofencing
-
Rally point operations
-
Changing the flight mode of the vehicle
-
"command_int" Command
-
System commands
-
Log management
-
Graphing live data from the vehicle
-
Horizon module
-
Link management
-
"long" command
-
Map module
-
"position" command
-
Polygon fence
-
Set servo
-
Set relay
-
Sensor reporting
-
Text-to-speech module
-
Time sync
-
Terrain data handling
Software development with Python using Dronekit library
This section includes how to control and monitor the vehicle states in Python programming language using Dronekit library.
-
Introduction
-
Installing instructions
-
Connecting to the vehicle
-
Getting the vehicle states
-
Setting the vehicle states
-
Creating vehicle state observers
-
Getting and setting vehicle parameters
-
Taking off and landing the vehicle
-
Flying the vehicle to a location
-
Dealing with the autonomous missions
-
Calibrating the vehicle
Software development with Python using PyMAVLink library
This section includes how to control and monitor the vehicle states in Python programming language using PyMAVLink library.
-
MAVLink messaging protocol basics
-
Introduction
-
Installing instructions
-
Connecting to the vehicle
-
Receiving messages from vehicle
-
Sending messages to vehicle
-
Sending message stream requests to vehicle
-
Getting and setting vehicle parameters
-
Sending message requests to vehicle
-
Arming and disarming the vehicle
-
Changing the flight mode of the vehicle
-
Taking off and landing the vehicle
-
Flying the vehicle to a location
-
Change current mission in auto flight mode
-
Set servo
-
Set relay
-
Request and receive auto mode flight plan from vehicle
-
Create and send auto mode flight plan to vehicle
-
Sending partial mission item list to vehicle
-
Clear mission item list on vehicle
-
Request and receive fence from vehicle
-
Create and send fence to vehicle
-
Enable and disable fence
-
Request and receive rally points from vehicle
-
Create and send rally points to vehicle
-
RC override
-
Request default message streams
-
Home distance
-
Set flight speed
-
Set yaw
-
Pause/resume an autonomous flight
-
Reading RC inputs and servo outputs
-
Terrain checking
-
Getting and setting the home location of the vehicle
-
Send message from companion computer to GCS
-
Logging data to on-board data flash logs
-
Interprocess communication with MAVLink
On-board software development with LUA programing language
This section includes how to control and monitor the vehicle states of the vehicle by on-board using LUA programing language.
-
Introduction
-
Sample script
-
Arming and disarming the vehicle
-
Reading attitude of the vehicle
-
Reading location of the vehicle
-
Getting and setting vehicle flight mode
-
Take off and land the vehicle
-
Flying to a location
-
Location object examples
-
Multi location mission
-
Getting and setting vehicle parameters
-
Create and use a parameter
-
File read/write operations
-
Logging system
-
Read auxiliary channel switch
-
Multi location mission continued
-
Reading RC inputs
-
Set servo and relay
-
Protected function calls
-
Get and set home location
-
Read battery level
-
Get GPS time (get_time.py)
-
Get firmware version