Git Product home page Git Product logo

flight_stack's Introduction

CNS Flight Stack

Release ROS License Paper Youtube

A ROS1 workspace to use the CNS Flight Stack: a UAV flight stack to autonomously perform reproducible and customizable missions.

System Overview

Maintainers: Christian Brommer, Alessandro Fornasier, and Martin Scheiber

Credit

This code was written by the Control of Networked System (CNS), University of Klagenfurt, Klagenfurt, Austria.

License

This software is made available to the public to use (source-available), licensed under the terms of the BSD-2-Clause-License with no commercial use allowed, the full terms of which are made available in the LICENSE file. No license in patents is granted.

Usage for academic purposes

If you use this software in an academic research setting, please cite the corresponding academic paper and consult the LICENSE file for a detailed explanation.

@article{cns_flightstack22,
    title        = {CNS Flight Stack for Reproducible, Customizable, and Fully Autonomous Applications},
    author       = {Scheiber, Martin and Fornasier, Alessandro and Jung, Roland and Böhm, Christoph and Dhakate, Rohit and Stewart, Christian and Steinbrener, Jan and Weiss, Stephan and Brommer, Christian},
    journal      = {IEEE Robotics and Automation Letters},
    volume       = {7},
    number       = {4},
    year         = {2022},
    doi          = {10.1109/LRA.2022.3196117},
    url          = {https://ieeexplore.ieee.org/document/9849131},
    pages        = {11283--11290}
}

Watch the video

Tutorial

Please consult the Wiki for a detailed tutorial on installation, configuration, and usage.

Setup and compile the project

# Get the ros package
git clone https://github.com/aau-cns/flight_stack.git cns_flightstack
cd cns_flightstack
git submodule update --init --recursive

# Build the project
catkin init
catkin build

After building you can install the launch scripts with

sudo ./scripts/install_scripts.sh

Then, launching the flight stack is possible via

  • fs_remote <USER>@<IP> to launch the flight stack remotely with user ID at the device with IP IP
  • fs_dev<1|2> to launch the flight stack on device 1 or 2
  • fs_op to launch the operator window, i.e., autonomy engine only

Please consult fs_<SCRIPT> -h for further information.

Isolated Build with Docker

cd cns_flightstack # enter flight stack directory
docker build --network=host -t cns_flight_stack_test_env:latest docker/ # Build the Docker image

# The following runs the container, maps the source code (read only)
# and executes the script in 'docker/docker_application_test.sh'
docker run -it --rm \
  --network=host \
  -v "$(pwd)/src":/source:ro \
  cns_flight_stack_test_env:latest

Please do not forget to build your workspace inside the docker test container, as the source is just linked to your host.

Deployment Details

Type Status
Release noetic_release_badge melodic_release_badge
Debug noetic_debug_badge melodic_debug_badge

flight_stack's People

Contributors

mascheiber avatar chris-bee avatar alessandrofornasier avatar jungr-ait avatar

flight_stack's Issues

[Feature]: namespace support within ROS framework

Problem to solve

Allow the usage of namespaces in the default launch files, such that all nodes and topics are remapped with respect to a namespace <NS_UAV>.

Desired Solution/Behavior

All topics and nodes should have the namespace <NS_UAV> prefix if provided.

Otherwise, they should be global as it is right now.

Additional Information

This issue is for WIP documentation only, will be providing a separate feature branch soon!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.