• Stars
    star
    161
  • Rank 233,470 (Top 5 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created about 3 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Controlling a Rigidbody Quadcopter using Control Theory and Reinforcement Learning

Quadcopter AI

Controlling a 2D Quadcopter with Rigidbody Physics using Control Theory and Reinforcement Learning

Main Game

The main environment consists of controlling the drone to hit as many balloons within a time limit against AI drones.

The currently implemented algorithms are:

  • Human: Control of the propellers with the arrow keys
  • PID: Controller in control theory that uses the error between the drone position and the target position to output propellers thrusts
  • SAC: Reinforcement Learning agent that trained itself on multiple episodes of the game, by testing different actions and learning from the rewards it gets.

An explanation of the environment and its agent is explained in this paper.

I also made a devlog about this project here:

Youtube Devlog

I added another game where the drone follows the mouse to move snow around a snowglobe.

Snowglobe

Usage

The games are available to try as a Python package.

Make sure you have Python installed on your computer. Then, in a terminal, run the following commands:

1. Force Downgrade pip

python -m pip install pip==21

2. Install the package with pip in your terminal:

pip install git+https://github.com/AlexandreSajus/Quadcopter-AI.git

3. Run the game:

If you want to run the balloon game:

python -m quadai
  • Control your drone by tapping the arrow keys
  • Reach as many balloons as you can within the time limit

If you want to run the snowglobe game:

python -m quadai snowglobe
  • Control the drone using your mouse
  • The drone's airflow will move the snow around

More Repositories

1

JARVIS

Your own personal voice assistant: Voice to Text to LLM to Speech, displayed in a web interface
Python
446
star
2

Python-Fluid-Simulation

A 2D Python Implementation of Smoothed Particle Hydrodynamics
Python
51
star
3

Unity-Fluid-Simulation

An Implementation of Smoothed Particle Hydrodynamics in Unity
C#
31
star
4

Python-Ecosystem

A simple discrete ecosystem model in Python illustrating prey-predator systems and natural selection
Python
9
star
5

Unity-Ecosystem

A Simple Ecosystem with Lions, Chickens and Grass in Unity
Jupyter Notebook
6
star
6

Weather-Classification

Classifying street-level images according to weather to help the training of autonomous vehicles
Python
5
star
7

Coding-with-Codex

Solving various coding problems with the help of OpenAI's Codex
Jupyter Notebook
5
star
8

Coders-Strike-Back

Our Top 2% (out of 120,000 participants) submission to the Pod Racing AI Competition from CodinGame: Coders Strike Back
Python
4
star
9

Intent-Classification

A benchmark of different approaches on the task of Intent Classification
Jupyter Notebook
4
star
10

TaipyCopilot

Manipulate and visualize data with only natural language prompts
Python
3
star
11

Taipy-GPT4-Demo

GPT-4 Chat Web App created in 80 lines of Python using Taipy
Python
2
star
12

Taipy-Dask-Demo

Querying Big Data using Taipy and Dask
Python
2
star
13

Taipy-Dask-ML-Demo

Scaling ML models with Taipy and Dask
Python
2
star
14

Airbnb-Price-Prediction

Predicting prices of Airbnb rentals for an ML course at CentraleSupélec
Jupyter Notebook
2
star
15

Moa-Accuracy-Sim

Python
1
star
16

Carl-demo

A demo for the Carl repository
Python
1
star
17

Carl

Winning Carl: a Car Racing Reinforcement Learning Competition hosted at CentraleSupélec
Python
1
star
18

Coding-Tools-Tutorials

Concise and efficient tutorials about coding tools
1
star
19

Conversations-with-GPT-3

Some interesting conversations I had with GPT-3
1
star
20

Twitter-Sentiment-Analysis-FR

Relève le ressenti positif ou négatif de tweets récents associé à un mot clé
Python
1
star
21

Understanding-AlphaGo

Understanding AlphaGo: An Introduction to Supervised and Reinforcement Learning. A presentation I made for an English class at CentraleSupélec.
1
star
22

Trickle-Algorithm

A model and visualization of the Trickle algorithm in Python
Python
1
star
23

Experiment-Tracking-Benchmark

A benchmark of multiple experiment tracking tools (Tensorboard, Weights and Biases, Neptune and Comet)
Python
1
star
24

FuseCensor

A web extension that censors sensible textual content using NLP
JavaScript
1
star
25

EYDataChallenge2021

Our Top 12%, France finalist submission to the fire mapping AI competition organized by EY
Python
1
star
26

Line-Following-Robot

Winning an autonomous line following robot competition at CentraleSupélec. The robot is capable of navigating lines, intersections and roundabouts
Python
1
star
27

Shot-Cards

A Taipy app to analyze shooting performance
Python
1
star
28

Multi-Agent-Debate

Multi Agent Simulation of a Simple Firearm Debate using Mesa
Python
1
star