Skip to main content

Bhuvanesh Aerospace Controls

bhuvanesh is a small, dependency-free Python library for learning and prototyping drone flight-control loops. The first release provides a bounded PID controller and an X-frame quadrotor attitude mixer. Every demo identifies the project as Bhuvanesh Aerospace Controls.

This project is for simulation and bench testing. Do not connect it to a flying aircraft without adding sensor validation, arming and disarming logic, watchdogs, failsafes, calibrated units, and hardware-in-the-loop testing.

Install on Ubuntu

# Run these commands from the folder containing pyproject.toml.
cd /path/to/bhuvanesh-aerospace-controls
sudo apt update
sudo apt install -y python3 python3-venv python3-pip
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e '.[dev]'
python -m pytest

If Ubuntu reports that ensurepip is unavailable, install the venv package matching your Python minor version, then retry the venv command:

sudo apt install -y "python$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')-venv"
python3 -m venv .venv

Quick start

from bhuvanesh import Attitude, QuadrotorPID

controller = QuadrotorPID()
result = controller.update(
    target=Attitude(roll=5.0),
    measured=Attitude(roll=2.0),
    throttle=0.50,
    dt=0.01,
)
print(result.motors.as_tuple())

Run the included smoke demo:

python -m bhuvanesh.cli --roll 5 --throttle 0.5
# or, after installation:
bhuvanesh-demo --roll 5 --throttle 0.5

The PID output is bounded, integral windup is limited, and derivative action is based on measured motion to avoid a setpoint kick. Motor commands are normalized from 0 to 1.

Metadata

Release files for bhuvanesh-aerospace-controls 0.2.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.2.0
File Size Uploaded
bhuvanesh_aerospace_controls-0.2.0.tar.gz 6.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bhuvanesh-aerospace-controls 0.2.0
File Interpreter ABI Platform
bhuvanesh_aerospace_controls-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.3 kB

Release files / bhuvanesh_aerospace_controls-0.2.0.tar.gz

Download URL bhuvanesh_aerospace_controls-0.2.0.tar.gz
Size 6.0 kB
Tags Source
SHA-256 checksum
How to use checksums
9247c51d9e24f093277ac0cd25aa6712efc482661706f534e57522135a19b40c
BLAKE2b-256 checksum
How to use checksums
38312f5dd087865b9a685e7a22180dba6dc19fc2b1eb1ac847ff1975db63175b
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.2.0-py3-none-any.whl

Download URL bhuvanesh_aerospace_controls-0.2.0-py3-none-any.whl
Size 7.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ea571922c484e1786792bb61051c1eedc2a5d046088de7c1588dac4088829fc
BLAKE2b-256 checksum
How to use checksums
0f10a620222328a949672f6a42f69962607f19ca2b94d46a9b06d2f1a3c5acfa
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

0.6.0

2 release files

0.5.0

2 release files

0.3.0

2 release files

0.2.1

2 release files

This release

0.2.0 This release

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