Firstly I would like to thank Mirko Denecke (vielen Dank Mirko!) for his work doing ardupilot compatible with beaglebone Blue. This post is based on his instructions.
Preparing the Beaglebone Blue
Before running ardupilot on our board it’s necessary, among other steps, to install some utilities, to set clock to 1 GHz and to install RT Kernel. Let’s start with.
- Check for updates and install them:
sudo apt update && sudo apt upgrade -y
- Install utilities and Ardupilot:
sudo apt install -y bb-cape-overlays cpufrequtils ardupilot-copter-blue
- Now we are going to add BLUE DTB, set clock to 1 GHz and update scripts, which are necessary for RT Kernel installation:
sudo sed -i 's/#dtb=$/dtb=am335x-boneblue-ArduPilot.dtb/' /boot/uEnv.txt sudo sed -i 's/GOVERNOR="ondemand"/GOVERNOR="performance"/g' /etc/init.d/cpufrequtils cd /opt/scripts && sudo git pull
- Finally install RT Kernel 4.4 and reboot
sudo /opt/scripts/tools/update_kernel.sh --ti-rt-channel --lts-4_4 sudo reboot
Now we are ready to run Ardupilot! and all we have to do is:
You will note that a red LED starts to blinking.
If you wish arducopter to start automatically after boot click here.
Connecting with a ground station
There are a lot of ground station software, some for PC (Linux, Mac OS X and Windows) and other ones for phones. All these possibilities use MAVLink to connect to an UAV. You can choose the better one for you reading this article of Ardupilot website. I found the app Tower for android interesting.
On your phone side, you have to configure which Server IP and Server Port are used and on beaglebone you can run arducopter like below:
sudo /usr/bin/ardupilot/blue-arducopter -A tcp:###.###.###.###:9761:wait
Please replace ###.###.###.### for your board’s IP.
For more information about connectivity you can use the option –help: