Files
autopilot/README.md
T
Oleksandr Bezdieniezhnykh 220e70dda6 add install ardupilot section
2024-05-21 22:30:43 +03:00

80 lines
3.0 KiB
Markdown

# Azaion Autopilot
A preliminary example of autonomous drone flight. This example is based on the MAVSDK framework and ArduPilot flight controller software. Running the example requires installing MAVSDK debian package and compiling ArduPilot. Example has been tested in Ubuntu 20.04 environment.
## Install necessary dependencies
sudo apt update
sudo apt install ccache git build-essential qt5-qmake qtbase5-dev
## Speed up the compilations
echo "export MAKEFLAGS=\"-j$(($(nproc)))\"" >> ~/.bashrc
echo "export PATH=/usr/lib/ccache:\$PATH" >> ~/.bashrc
## Clone source codes. You must add your SSH key before the cloning!
git clone git@github.com:azaion/autopilot.git
git clone --recursive git@github.com:azaion/autopilot.git
git submodule update --init --recursive
## Install MAVSDK for Ubuntu 20.04
wget https://github.com/mavlink/MAVSDK/releases/download/v2.9.1/libmavsdk-dev_2.9.1_ubuntu20.04_amd64.deb
sudo dpkg -i libmavsdk-dev_2.9.1_ubuntu20.04_amd64.deb
## Install MAVSDK for Ubuntu 22.04
wget https://github.com/mavlink/MAVSDK/releases/download/v2.9.1/libmavsdk-dev_2.9.1_ubuntu22.04_amd64.deb
sudo dpkg -i libmavsdk-dev_2.9.1_ubuntu22.04_amd64.deb
## Install MAVSDK for embedded platforms
### Update cmake (need to build mavsdk)
wget https://github.com/Kitware/CMake/releases/download/v3.29.3/cmake-3.29.3-linux-aarch64.sh
sudo cp cmake-3.29.3-linux-aarch64.sh /opt
sudo chmod +x /opt/cmake-3.29.3-linux-aarch64.sh
cd /opt
sudo bash cmake-3.29.3-linux-aarch64.sh
sudo rm cmake ccmake cpack ctest cmake-gui
sudo ln -s /opt/cmake-3.29.3-linux-aarch64/bin/* /usr/bin
### Make sure gcc9 installed and is default (Need to build mavsdk. gcc -v to check)
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9 g++-9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-9
### Build & Install from sources
sudo apt-get update
sudo apt-get install build-essential cmake git
git clone https://github.com/mavlink/MAVSDK.git
cd MAVSDK
git checkout tags/v2.9.1
git submodule update --init --recursive
cmake -Bbuild/default -DCMAKE_BUILD_TYPE=Release -H.
cmake --build build/default -j8
sudo cmake --build build/default --target install
### Resolving python problems
In case of an error "The python version is too old, expecting 3, 6, 9" during Ardupilot run,
install 3.6 python (most probably under alias python3) and
just change 1 line in ardupilot/modules/waf/waf-light from ... python -> python3
##Ardupilot
git clone --recursive https://github.com/ArduPilot/ardupilot.git
cd ardupilot
./Tools/environment_install/install-prereqs-ubuntu.sh -y
. ~/.profile
./waf configure --board=sitl
./waf build
## Build autopilot application
cd src && cmake . && make
## Launch similator in the ArduPilot directory
./Tools/autotest/sim_vehicle.py --map --console -v ArduCopter
## Launch example application in the new terminal window after waiting simulator (around 1 min) to be ready
cmake . && make && ./autopilot mission.json