APM/Ardupilot Autopilot Tutorial
Introduction
The ArduPilot code base is quite large (about 700k lines for the core ardupilot git tree) and can be quite intimidating to a new user. This page is meant to give some suggestions on how to come up to speed on the code quickly. It assumes you already are familiar with the key concepts of C++ and the many of the examples currently assume you will be exploring the code on a Linux system.
This page and the pages linked below are designed to be used as a tutorial. You should work through each page step by step, trying things for yourself as you go. We will also be adding more pages over time. If you think some important information is missing or could be improved then please write in Erle Robotics forum.
Tutorial steps
- Introduction and code structure
- The Example Sketches
- ArduPilot threading
- UARTs and the console
- RCInput and RCOutput
- Storage and EEPROM management
- The vehicle code
Upcoming Tutorials
We will be adding more tutorial sections in the future. Check back occasionally to see the new sections.
- MAVLink telemetry handling
- The Dataflash library for onboard logging
- Analog input
- GPIOs
- Timing and profiling
- PX4 device drivers
- I2C Drivers
- SPI Drivers
- CANBUS drivers and uavcan
- memory management
- Maths functions
- Inside the AP_AHRS attitude and position estimator
- Porting ArduPilot to a new board
- AP_HAL Utility functions
- PIDs and other control libraries
- Inside the SITL simulator
- Inside the AP_Param parameter system
- AP_Notify for buzzers and LEDs
- The ArduPilot autotest system
- How autobuilds work, and developer autobuilds
- How ardupilot boot process works on PX4
Note : This tutorials have been taken from Ardupilot developer site