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.
Windows and macOS
The package is pure Python and uses the same commands on Windows and macOS.
Windows PowerShell:
py -m venv .venv
.venv\Scripts\Activate.ps1
py -m pip install bhuvanesh-aerospace-controls
py -m bhuvanesh --roll 5 --throttle 0.5
macOS Terminal:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install bhuvanesh-aerospace-controls
python3 -m bhuvanesh --roll 5 --throttle 0.5
Metadata
Release files for bhuvanesh-aerospace-controls 0.2.1
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.1.tar.gz | 6.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bhuvanesh_aerospace_controls-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.6 kB
Release files / bhuvanesh_aerospace_controls-0.2.1.tar.gz
| Download URL | bhuvanesh_aerospace_controls-0.2.1.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3d41c708db0586a2b40fda9e784ac694ce90ab3dcc8fddac2f7b9c99ef7af5fd
|
|
BLAKE2b-256 checksum How to use checksums |
91ecaf94e05018a5106ec8c32994b577cfeadb5cc0633b691cbfd89367a47ff9
|
| 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.1-py3-none-any.whl
| Download URL | bhuvanesh_aerospace_controls-0.2.1-py3-none-any.whl |
|---|---|
| Size | 7.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e7d8addf296db4a18c0c90e2a88bb10283209bd521a5838393023b1f357eaaec
|
|
BLAKE2b-256 checksum How to use checksums |
16804c312717a2cd2bb8b7de098d0d34b48c162d3cd27be0aca40f76df4b4864
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.4
|