# Ardupilot

## Ardupilot

> The most advanced open source autopilot for use by both professionals and hobbyist. Supports multi-copters, planes, rovers, boats, helicopters, antenna trackers and even submarines. [Homepage](http://ardupilot.org/)
>
> > **Hardware** *The embedded systems and peripheral sensors that act as the vehicle’s brain, eyes, ears, etc. Almost any mobile machine can be transformed into a robot, by simply integrating a small hardware package into it.* **Firmware** *The “skill set” code running on the hardware, which configures it for the kind of vehicle you’ve put it in. You choose the firmware and vehicle that match your mission: Plane, Copter, Rover... The choice is yours – one autopilot for any mission. An easy firmware update is all it takes to repurpose your hardware into a different role.* **Software** *Your interface to the hardware. Initial set-up, configuration, and testing. Mission-planning/operation, and post-mission analysis. Point-and-click intuitive interaction with your hardware, or advanced custom scripting for niche mission profiles. Options are everything with ArduPilot.* *Farming industries is starting adapt on autonomous vehicles and ArduPilot is leading platform when creating small or big autonomous vehicles.* [Autonomous Harvesting Tractor](http://ardupilot.org/casestudies/case-automatic-tractor)

## Architecture

* [Ardupilot Overview by Andrew Tridgell](https://wiki.dronecode.org/_media/d02.ardupilot_overview_-_andrew_tridgell.pdf)

## Community

> *Community is what really sets ArduPilot apart from the closed-source offerings in the market. An area for open discourse on the ArduPilot projects direction between developers and its customers. Here are some of the places you can find ardupilot users and developers.*
>
> **Commercial Support** *We are proud to provide the following list of individuals and companies who can provide commercial support for ArduPilot. We hope this will help you get the most out of the ArduPilot project.* [Ardupilot](http://ardupilot.org/planner/docs/common-commercial-support.html)

## Source Code

```bash
user@workstation:~$ cd src/ardupilot
user@workstation:~/src/ardupilot$
```

```bash
user@workstation:~/src/ardupilot$ ls
AntennaTracker  BUILD.md          Makefile      Tools
APMrover2       COPYING.txt       Makefile.waf  uncrustify_cpp.cfg
ArduCopter      docs              mk            uncrustify_headers.cfg
ArduPlane       Doxyfile.in       modules       Vagrantfile
ArduSub         eclipse.cproject  README.md     waf
benchmarks      eclipse.project   reformat.sh   wscript
build           libraries         tests
user@workstation:~/src/ardupilot$
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://theiotlearninginitiative.gitbook.io/bitol/virtual-drone-solution/flight-code/ardupilot.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
