Skip to main content

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)

Source distribution for bhuvanesh-aerospace-controls 0.6.0
File Size Uploaded
bhuvanesh_aerospace_controls-0.6.0.tar.gz 8.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bhuvanesh-aerospace-controls 0.6.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 release files

0.5.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page