-
Notifications
You must be signed in to change notification settings - Fork 2
Installation
The CNS Flight Stack is based on SkiffOS. We provide a fully compiled docker image to run on SkiffOS and a corresponding environment to complement the flight stack's features. A detailed tutorial on this environment and compiling it from source can be found here.
To use the flight stack with SkiffOS, you have to compile the OS for your hardware.
- Clone and setup the SkiffOS workspace
This setup script will checkout the submodules and open the path in
git clone https://github.com/aau-cns/flight_stack_skiffos cd flight_stack_skiffos ./setup.sh
skiffos
- Setup the platform environment
Please replace
export SKIFF_WORKSPACE=<WORKSPACE_NAME> # choose any here export SKIFF_CONFIG=<PLATFORM>,flightstack/full
<PLATFORM>
with your desired platform from this list. E.g. for an OdroidXU4 the command will beexport SKIFF_CONFIG=odroid/xu,flightstack/full
- Compile SkiffOS (note: this might require up to 20GB of free space and can take up to 2h)
make configure compile
- Transfer the image to your device. This is device-dependent, please consult the SkiffOS Readme.
E.g., in case of the OdroidXU4 you would copy the image to a SD card with
sudo bash # all steps are run as sudo export SKIFF_WORKSPACE=<WORKSPACE_NAME> # replace the workspace with the one you defined blkid #check the device for the SD Card e.g. /dev/mmc0xyz export ODROID_SD=/dev/mmc0xyz #!!Replace with the correct device make cmd/odroid/common/format make cmd/odroid/common/install
- Bootup the platform with SkiffOS installed. This step will run the final setup (can take up to 1h) and requires an internet connection on the device.
- You can now login to your platform with
ssh core@<DEVICE_IP>
.
For further details, and compiling or modifiying the Skiff installation please consult this detailed tutorial
In case you want to test the CNS Flight Stack without the complementary Skiff environment, checkout and compile the ROS1 workspace
git clone https://github.com/aau-cns/flight_stack flight_stack_cws
cd flight_stack_cws
# set ROS_VERSION
export ROS_VERSION=noetic # other supported version is 'melodic'
# update submodules and init workspace
git submodule update --init --recursive
catkin init
catkin config --extend /opt/ros/${ROS_VERSION}
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
# install dependencies
sudo docker/install_ros1_noetic_dependencies.sh -v ${ROS_VERSION}
sudo scripts/install_scripts.sh
# build the workspace
catkin build
The full list of dependencies for the workspace can also be found in the above mentioned install script.
Further, we provide a pre-compiled docker image with all dependencies for the ROS1 workspace installed.
# pull docker image
export FS_IMAGE_TAG="gitlab.aau.at:5050/aau-cns-docker/docker_registry/cns_flight_stack_cws_env:latest"
docker pull ${FS_IMAGE_TAG}
# execute image with source linked
cd flight_stack_cws
docker run -it --rm --network=host -v "$(pwd)/src":/source:ro ${FS_IMAGE_TAG}
# you will be in an uncompiled catkin workspace, before usage compile with
(docker-image)$ catkin build