Bhuvanesh Aerospace Controls
bhuvanesh-aerospace-controls is an aerospace education package for PID control, drone attitude simulation, and simulation plotting. It is designed for students who want to learn how real flight-control ideas behave before they touch real hardware.
python3 -m pip install "bhuvanesh-aerospace-controls[plotting]"
from bhuvanesh import PIDController, DroneAttitudePlant, simulate_attitude_hold
plant = DroneAttitudePlant(axis="roll", inertia=0.021)
result = simulate_attitude_hold(
plant=plant,
controller=PIDController(kp=1.9, ki=0.35, kd=0.12, output_limits=(-0.9, 0.9)),
target_degrees=15,
duration=4.0,
)
print(result.metrics())
What Makes It Useful
- Production-style PID controller with output limits, integrator limits, derivative filtering, anti-windup, reset support, and fixed-step updates.
- Drone attitude plant model with inertia, damping, actuator saturation, actuator rate limits, torque bias, sensor noise, sensor bias, and injected disturbances.
- Simulation result object with rise time, settling time, overshoot, steady-state error, control effort, and saturation percentage.
- Plotting helpers for response curves, control effort, tracking error, and publication-ready comparison plots.
- CLI demo for quick experiments from a terminal.
- Cross-platform pure Python package for Ubuntu, macOS, and Windows.
Safety Scope
This software is not flight-certified and is only a simulation/education package. It is not intended to be connected directly to an operational aircraft. A real flight-control system requires sensor validation, unit calibration, actuator checks, arming and disarming logic, watchdogs, failsafes, fault handling, hardware-in-the-loop testing, and vehicle-specific verification.
Quick Simulation
bhuvanesh-drone-sim --axis roll --target 20 --duration 5 --plot
Without plotting:
bhuvanesh-drone-sim --axis pitch --target -10 --duration 3
Plotting
from bhuvanesh import PIDController, DroneAttitudePlant, simulate_attitude_hold
from bhuvanesh.plotting import plot_attitude_response
result = simulate_attitude_hold(
DroneAttitudePlant(axis="yaw", inertia=0.035),
PIDController(kp=1.4, ki=0.2, kd=0.08, output_limits=(-0.7, 0.7)),
target_degrees=30,
duration=6,
)
plot_attitude_response(result, show=True)
Install For Development
Ubuntu:
sudo apt update
sudo apt install -y python3 python3-venv python3-pip
cd /home/bhuvaneshnallapati/Documents/ChatGPT/LarpDetector
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[all,dev]"
python3 -m pytest
macOS:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install -e ".[all,dev]"
python3 -m pytest
Windows PowerShell:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
py -m pip install --upgrade pip
py -m pip install -e ".[all,dev]"
py -m pytest
Build And Upload
python3 -m pip install --upgrade build twine
rm -rf dist
python3 -m build
python3 -m twine check dist/*
python3 -m twine upload dist/*
Metadata
Release files for bhuvanesh-aerospace-controls 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bhuvanesh_aerospace_controls-0.6.0.tar.gz | 8.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bhuvanesh_aerospace_controls-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 18.1 kB
Release files / bhuvanesh_aerospace_controls-0.6.0.tar.gz
| Download URL | bhuvanesh_aerospace_controls-0.6.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
473066076c56f966482d733ccc7b31df02fa0b1154d91f3a9936ee99fe8f8bf0
|
|
BLAKE2b-256 checksum How to use checksums |
157610252791a24c2ef14b638601fb380e73ab8448a6648ea56405ec4c5d0b2c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|
Release files / bhuvanesh_aerospace_controls-0.6.0-py3-none-any.whl
| Download URL | bhuvanesh_aerospace_controls-0.6.0-py3-none-any.whl |
|---|---|
| Size | 10.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
64705ac65f8e3503d7e8c54a216d27874513f3a116e29200a6e69dac79a2615d
|
|
BLAKE2b-256 checksum How to use checksums |
3f119592d8efb193a8812fdc6151d4f198a62d7cf69bbe79bb08697db36e2d79
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|