How omritz/drl-crazyflie works
DRL-Crazyflie trains a DQN goal-seeking policy in an AirSim Gym environment, then can run a trained policy on a physical Crazyflie. Training turns simulator observations and rewards into replayed transitions and network updates; deployment instead loads a saved model and uses Crazyflie telemetry and motion commands. The map also retains the documented fixed-target-network and replay capabilities. Source excerpts support the core calls; checkpoint and model persistence are shown, but the saved artifacts are not inspected.
Main entry points: main_DRL.py Training runner · DQN_agent.py DQN agent · main_crazyflie.py Policy runner · AirGym.py Goal environment
Components 15
Training workflow
- Training runner
main_DRL.py - Training metrics
main_DRL.py - Saved policy
models - Weight checkpoints
checkpoints
AirSim environment
- Gym registration
gym_airsim/__init__.py - Goal environment
gym_airsim/envs/AirGym.py - AirSim controls
gym_airsim/envs/myAirSimClient.py
DQN learning
- DQN agent
DQN_agent.py - Experience replay
DQN_agent.py - Q networks
DQN_agent.py
Crazyflie deployment
- Policy runner
main_crazyflie.py - Crazyflie controls
myCrazyFlieClient.py
Other components
- Project user
- AirSim simulator
- Crazyflie drone
Connections 19
- Project user → Training runner: starts training
README.md - Project user → Policy runner: runs policy
README.md - Training runner → Gym registration: creates environment
main_DRL.py - Gym registration → Goal environment: registers environment
gym_airsim/__init__.py - Training runner → DQN agent: trains
main_DRL.py - Training runner → Training metrics: records metrics
main_DRL.py - Training runner → Saved policy: saves model
- Training runner → Weight checkpoints: saves weights
- Goal environment → AirSim controls: controls and observes
gym_airsim/envs/AirGym.py - AirSim controls → AirSim simulator: sends commands
gym_airsim/envs/myAirSimClient.py - AirSim simulator → AirSim controls: returns telemetry
gym_airsim/envs/myAirSimClient.py - Training runner → Goal environment: steps environment
main_DRL.py - DQN agent → Experience replay: stores and samples
DQN_agent.py - DQN agent → Q networks: predicts and updates
DQN_agent.py - DQN agent → Experience replay: samples transitions
DQN_agent.py - Policy runner → Saved policy: loads model
main_crazyflie.py - Policy runner → Crazyflie controls: requests observations and actions
main_crazyflie.py - Crazyflie controls → Crazyflie drone: commands flight
myCrazyFlieClient.py - Crazyflie drone → Crazyflie controls: provides telemetry
myCrazyFlieClient.py