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)
| File | Size | Uploaded | |
|---|---|---|---|
| bhuvanesh_aerospace_controls-0.2.0.tar.gz | 6.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|