/ardupilot-software-development

Source codes of Software Development for Ardupilot Powered Unmanned Systems course

Primary LanguagePython

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.

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

  1. Introduction

  2. Quickstart

  3. Setting up the build environment

  4. Setting up the simulation software

  5. Starting the simulation software individually

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

  1. Introduction

  2. Installing instructions

  3. Quickstart

  4. Startup options

  5. Telemetry forwarding

  6. Creating MAVProxy shell scripts for automated proxy and forwarding services

  7. Arming and disarming the vehicle

  8. Mission editing

  9. Geofencing

  10. Rally point operations

  11. Changing the flight mode of the vehicle

  12. "command_int" Command

  13. System commands

  14. Log management

  15. Graphing live data from the vehicle

  16. Horizon module

  17. Link management

  18. "long" command

  19. Map module

  20. "position" command

  21. Polygon fence

  22. Set servo

  23. Set relay

  24. Sensor reporting

  25. Text-to-speech module

  26. Time sync

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

  1. Introduction

  2. Installing instructions

  3. Connecting to the vehicle

  4. Getting the vehicle states

  5. Setting the vehicle states

  6. Creating vehicle state observers

  7. Getting and setting vehicle parameters

  8. Taking off and landing the vehicle

  9. Flying the vehicle to a location

  10. Dealing with the autonomous missions

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

  1. MAVLink messaging protocol basics

  2. Introduction

  3. Installing instructions

  4. Connecting to the vehicle

  5. Receiving messages from vehicle

  6. Sending messages to vehicle

  7. Sending message stream requests to vehicle

  8. Getting and setting vehicle parameters

  9. Sending message requests to vehicle

  10. Arming and disarming the vehicle

  11. Changing the flight mode of the vehicle

  12. Taking off and landing the vehicle

  13. Flying the vehicle to a location

  14. Change current mission in auto flight mode

  15. Set servo

  16. Set relay

  17. Request and receive auto mode flight plan from vehicle

  18. Create and send auto mode flight plan to vehicle

  19. Sending partial mission item list to vehicle

  20. Clear mission item list on vehicle

  21. Request and receive fence from vehicle

  22. Create and send fence to vehicle

  23. Enable and disable fence

  24. Request and receive rally points from vehicle

  25. Create and send rally points to vehicle

  26. RC override

  27. Request default message streams

  28. Home distance

  29. Set flight speed

  30. Set yaw

  31. Pause/resume an autonomous flight

  32. Reading RC inputs and servo outputs

  33. Terrain checking

  34. Getting and setting the home location of the vehicle

  35. Send message from companion computer to GCS

  36. Logging data to on-board data flash logs

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

  1. Introduction

  2. Sample script

  3. Arming and disarming the vehicle

  4. Reading attitude of the vehicle

  5. Reading location of the vehicle

  6. Getting and setting vehicle flight mode

  7. Take off and land the vehicle

  8. Flying to a location

  9. Location object examples

  10. Multi location mission

  11. Getting and setting vehicle parameters

  12. Create and use a parameter

  13. File read/write operations

  14. Logging system

  15. Read auxiliary channel switch

  16. Multi location mission continued

  17. Reading RC inputs

  18. Set servo and relay

  19. Protected function calls

  20. Get and set home location

  21. Read battery level

  22. Get GPS time (get_time.py)

  23. Get firmware version