A 4-stage interactive Python drone PID control simulation running inside a browser-based container.
10K+
A fully animated Python simulation that builds a PID altitude controller from scratch โ live drone scene, real physics, and real-time telemetry charts.
Run the entire suite in your browser with no Python installation required. The container ships a headless Linux desktop accessible via VNC over HTTP.
| Stage | Controller | Key behaviour to observe |
|---|---|---|
| Stage 1 | P only | Strong launch, overshoot, small residual error |
| Stage 2 | PD | Smooth approach, derivative braking, near-zero error |
| Stage 3 | PD + wind | Permanent 60 m shortfall โ integral is needed |
| Stage 4 | Full PID | Integral "learns" the wind, holds exactly 500 m |
Each stage is a self-contained animated window with a drone scene on the left and time-series charts (altitude, error, integral state, thrust) on the right.
# Pull and run
docker run -d -p 8080:6080 --name drone_sim morshedasif/1d_drone_pid_control_sim:latest
# Get your browser link
docker logs drone_sim
# โ copy the URL, change 6080 โ 8080, open in browser
# Inside the desktop terminal:
python3 stage1_p_control/p_control.py
python3 stage2_pd_control/pd_control.py
python3 stage3_pd_wind/pd_wind_disturbance.py
python3 stage4_pid_control/pid_control.py
Full source code, theory walkthrough, and gain tuning reference: github.com/morshed-asif/1d_drone_pid_control_simโ
Author: Asif Morshed ยท GitHubโ ยท LinkedInโ
Content type
Image
Digest
sha256:e5f778077โฆ
Size
498.4 MB
Last updated
4 months ago
docker pull morshedasif/1d_drone_pid_control_sim