rl_drone
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: L-ED
- License: mit
- Language: Jupyter Notebook
- Default Branch: main
- Size: 127 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
RL_DRONE
Diploma work based on PyBullet physics simulator. Target of this work is to develop position control system using only following input data: - linear and angular velocity in drone local coordinates - projected gravity [orientation analog] - position displacement
This means drone can be operated from integrated imu data without additional velocity postprocessing from local to global coordinates
Also this work contains absolute position controllers from https://github.com/utiasDSL/gym-pybullet-drones.git

Main contributions
- IMU Sensor model gympybulletdrones/devices/sensors/imu.py
- Physical drone model gympybulletdrones/assets/custom.urdf
- Environment for system learning gympybulletdrones/envs/singleagentrl/hover
- Sensor asynchronous clocking Added model of physical drone
Drone Model
- Calculated inertia from physical analog using Autodesk Inventor
- Estimated Lift and Torque coefficients from open database, duplicated in gympybulletdrones/thrusttorqueestimation

Environment
Target displacement clipped by absolute max value equal 1, so system has direction information when displacement greater than 1 and has exact measure when displacement less than 1
Sigmoid function with out scaling used to convert prediction values to range of motor speed [0, maxspeed]
Reward function motivates agent fly to center and angular rate reward penalizes keeps policy from extra rotation
math
reward = closeness*angles \\
```math
closeness = \frac{||displacement||}{radius{max}} \
math
angles = exp(||\omega||*0.1)
```
During training drone initialized with random position from uniform distribution in sphere with radius 1.5 meters
IMU sensor
measurement simulation based on two-component noise model
math
measurement(t) = estimation(t) + bias(t) + noise \\
math
bias(t) =bias(t-1)+N(1,\sigma_{r}*\sqrt{dt})\\
math
noise = N(1,\frac{\sigma_{d}}{\sqrt{dt}})
Installation
```sh git clone https://github.com/L-ED/RL_Drone.git cd gym-pybullet-drones/
conda create -n drones python=3.10 conda activate drones
pip3 install --upgrade pip
pip3 install -e . # if needed, sudo apt install build-essentials to install gcc and build pybullet
```
Use
RL Position Control from local coordinates
sh
cd gym_pybullet_drones/examples/
python hover/hover_learn_multienv.py
PID position control example
sh
cd gym_pybullet_drones/examples/
python3 pid.py
Stable-baselines3 PPO RL example
sh
cd gym_pybullet_drones/examples/
python3 learn.py
Owner
- Name: LED
- Login: L-ED
- Kind: user
- Repositories: 1
- Profile: https://github.com/L-ED
Citation (CITATION.cff)
cff-version: 1.2.0
preferred-citation:
type: article
authors:
- family-names: "Panerati"
given-names: "Jacopo"
orcid: "https://orcid.org/0000-0003-2994-5422"
- family-names: "Zheng"
given-names: "Hehui"
orcid: "https://orcid.org/0000-0002-4977-0220"
- family-names: "Zhou"
given-names: "SiQi"
- family-names: "Xu"
given-names: "James"
- family-names: "Prorok"
given-names: "Amanda"
orcid: "https://orcid.org/0000-0001-7313-5983"
- family-names: "Schoellig"
given-names: "Angela P."
orcid: "https://orcid.org/0000-0003-4012-4668"
doi: "10.0000/00000"
journal: "2021 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)"
month: 1
start: 1 # First page number
end: 8 # Last page number
title: "Learning to Fly---a Gym Environment with PyBullet Physics for Reinforcement Learning of Multi-agent Quadcopter Control"
issue: 1
volume: 1
year: 2021
GitHub Events
Total
Last Year
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish master composite
- gymnasium ^0.28
- matplotlib ^3.7
- numpy ^1.24
- pybullet ^3.2.5
- pytest ^7.3
- python ^3.10
- scipy ^1.10
- stable-baselines3 ^2.0.0
- transforms3d ^0.4.1