Autopilot
Platform
Ease of development dictated the choice to run the control loop on existing hard- and software. which was chosen to be Ardupilot running on a Beaglebone blue.
Setup
for the beagle bone setup follow this tutorial. The version of Debian and Ardupilot used in this tutorial are old. The Debian image used on the beaglebone is the [https://rcn-ee.net/rootfs/bb.org/testing/2022-11-01/buster-console-armhf/am57xx-eMMC-flasher-debian-10.13-console-armhf-2022-11-01-1gb.img.xz 10.13 eMMC flasher]. The procedure to flash Debian to the onboard eMMC can be found [https://beagleboard.org/static/librobotcontrol/flashing.html here]. Also make sure to use version 4.3.1 of ardupilot by using the command bellow during the Ardupilot tutorial.
sudo wget -O /usr/bin/ardupilot/arduplane https://firmware.ardupilot.org/Plane/stable-4.3.1/blue/arduplane
Relevant links for configuring Ardupilot
https://ardupilot.org/copter/docs/common-gcs-only-operation.html
https://ardupilot.org/copter/docs/common-rangefinder-landingpage.html
https://ardupilot.org/copter/docs/setting-up-for-tuning.html
https://ardupilot.org/copter/docs/terrain-following-manual-modes.html
https://ardupilot.org/copter/docs/common-sensor-offset-compensation.html
https://ardupilot.org/copter/docs/crash_check.html
https://ardupilot.org/copter/docs/flight-modes.html --Stabalize mode seems best fit