Skip to content

Commit

Permalink
Add GitHub actions and badges
Browse files Browse the repository at this point in the history
  • Loading branch information
amacati committed Oct 18, 2024
1 parent 77dbddb commit 8e8b095
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 4 deletions.
8 changes: 8 additions & 0 deletions .github/workflows/ruff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Ruff
on: [ push, pull_request ]
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: astral-sh/ruff-action@v1
21 changes: 21 additions & 0 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Testing

on: [push]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.8'
cache: 'pip'
architecture: 'x64'
- name: Install dependencies
run: pip install .
- name: Test with pytest
run: |
pip install pytest pytest-cov
pytest tests.py --doctest-modules --junitxml=junit/test-results.xml --cov=com --cov-report=xml --cov-report=html
8 changes: 7 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
# Autonomous Drone Racing Project Course
![ADR Banner](docs/img/banner.jpeg)
<p align="center">
<img width="460" height="300" src="docs/img/banner.jpeg">
</p>
<sub><sup>AI generated image</sup></sub>
[![Ruff Check](https://github.com/utiasDSL/lsy_drone_racing/actions/workflows/ruff.yml/badge.svg?style=flat-square)](https://github.com/utiasDSL/lsy_drone_racing/actions/workflows/ruff.yml) [![Documentation Status](https://readthedocs.org/projects/lsy-drone-racing/badge/?version=latest&style=flat-square)](https://lsy-drone-racing.readthedocs.io/en/latest/?badge=latest)

## Table of Contents
- [Autonomous Drone Racing Project Course](#autonomous-drone-racing-project-course)
- [Table of Contents](#table-of-contents)
- [Documentation](#documentation)
- [Installation](#installation)
- [Fork lsy\_drone\_racing](#fork-lsy_drone_racing)
- [Using conda/mamba](#using-condamamba)
Expand All @@ -28,6 +32,8 @@
- [Launch](#launch)


## Documentation
To get you started with the drone racing project, you can head over to our [documentation page](https://lsy-drone-racing.readthedocs.io/en/latest/getting_started/general.html).

## Installation

Expand Down
6 changes: 3 additions & 3 deletions docs/getting_started/general.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ Welcome to the LSY Drone Racing Project! This is a platform developed by the LSY

Implementing Your Own Algorithms
--------------------------------
To implement your own controller, you need to implement a ``Controller`` class in the :mod:`lsy_drone_racing.control` module. The only restriction we place on controllers is that they have to implement the interface defined by the :class:` BaseController <lsy_drone_racing.control.controller.BaseController>` class. Apart from that, you are encouraged to use the full spectrum of control algorithms, e.g., MPC, trajectory optimization, reinforcement learning, etc., to compete in the challenge. Please make sure to put your controller implementation in the :mod:`lsy_drone_racing.control` module to make sure that it is correctly recognized by our scripts.
To implement your own controller, you need to implement a ``Controller`` class in the :mod:`lsy_drone_racing.control` module. The only restriction we place on controllers is that they have to implement the interface defined by the :class:`BaseController <lsy_drone_racing.control.controller.BaseController>` class. Apart from that, you are encouraged to use the full spectrum of control algorithms, e.g., MPC, trajectory optimization, reinforcement learning, etc., to compete in the challenge. Please make sure to put your controller implementation in the :mod:`lsy_drone_racing.control` module to make sure that it is correctly recognized by our scripts.

.. note::
Make sure to inherit from the base class for your controller implementation. This ensures that your controller is compatible with our scripts. Also make sure to only create one controller class per file. Otherwise, we do not know which controller to load from the file.

.. warning::
You are not allowed to modify the interface of the :class:` BaseController <lsy_drone_racing.control.controller.BaseController>` class. Doing so will make your controller incompatible with the deployment environment and we won't be able to run your controller on our setup.
You are not allowed to modify the interface of the :class:`BaseController <lsy_drone_racing.control.controller.BaseController>` class. Doing so will make your controller incompatible with the deployment environment and we won't be able to run your controller on our setup.

.. warning::
Many students are enthusiastic about deep reinforcement learning and try to use it to solve the challenge. While you are completely free in choosing your control algorithm, we know from experience that training good agents is non-trivial, requires significant compute, and can be difficult to transfer into the real world setup. Students taking this approach should make sure they already have some experience with RL, and take their policies to the real world setup early to address potential sim2real issues.
Expand Down Expand Up @@ -39,7 +39,7 @@ Project Structure
-----------------
The project is organized as follows:

The `lsy_drone_racing` package contains all the code for the project. The :mod:`lsy_drone_racing.control` module contains the interface for the controllers, and the :mod:`lsy_drone_racing.envs` module contains the environments for the project.
The ``lsy_drone_racing`` package contains all the code for the project. The :mod:`lsy_drone_racing.control` module contains the interface for the controllers, and the :mod:`lsy_drone_racing.envs` module contains the environments for the project.

The levels are defined in the config files contained in the `config` folder. You can have a look at the configuration options to understand how exactly they differ from each other.

Expand Down

0 comments on commit 8e8b095

Please sign in to comment.