aerial-kit
Control Stack for aerial robots, no ROS & matplotlib dependency.
For firmware, hardware integration, and the full ROS 2 / simulation stack, visit the repo: github.com/RawFish69/aerial-kit.
What's in it
aerial_kit.types-SimState,ControlTarget,Capabilities,Wrench,CommandKind,Waypointaerial_kit.interfaces-Controller,DynamicsBackend,PlannerABCsaerial_kit.registry- a pluggable component registry (register_airframe/register_controller/etc.,create_*factories)aerial_kit.airframes-AirframeABC,MultirotorAirframe(mixer-driven quad/hex/ octo),TwinWingAirframe(elevon + differential-thrust allocation, trim)aerial_kit.dynamics- 6-DOF multirotor dynamics, point-mass dynamics, and a hand-rolled 6-DOF fixed-wing model with a flat-plate-blended lift curve, drag polar, and moment derivativesaerial_kit.controllers- PID/LQR/MPC position controllers, andFixedWingL1TECSController(L1 lateral guidance + TECS-lite longitudinal control + coordinated-turn attitude PID)aerial_kit.guidance-l1_bank_command,tecs_commandas standalone functions
Quick start
from aerial_kit.registry import register_builtin_components, create_airframe, create_controller
register_builtin_components()
airframe = create_airframe("quad")
controller = create_controller("pid")
print(airframe.capabilities)
register_builtin_components() here registers only what lives inside aerial_kit
itself (airframes, controllers) - it has no ROS or matplotlib dependency and does not
know about any host application's own dynamics backends or planners. A host application
(like sim_py in the parent repo) registers its own backends/planners into the same
registry alongside this.
Status
Early and actively developed. Be clear-eyed about what's actually verified:
- Multirotor (quad/hex/octo airframes, PID/LQR/MPC): verified, working. This is the path flying on real hardware in the parent project.
- Twin-motor wing (
TwinWingAirframe,FixedWingL1TECSController, L1/TECS guidance): under development, simulation-only. Not flown on any hardware. Its 6-DOF aero model uses plausible placeholder coefficients, not a fitted model of any specific real airframe, and its guidance gains are validated only in the specific simulated scenarios its own test suite covers - treat it as a research/simulation component, not something to fly as-is.
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aerial_kit-0.1.4.tar.gz.
File metadata
- Download URL: aerial_kit-0.1.4.tar.gz
- Upload date:
- Size: 26.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9d67f39250d4ef80d7d43d98f12505b4e88c7a0056f444c00a724a3be6236c63
|
|
| MD5 |
c8a6fd6f2b55e122e76f88a6942a2c27
|
|
| BLAKE2b-256 |
867408afb6a4aa6692c7f3ecc8e7dd2882fb1da60ab8c958bbef66ec20df1d6a
|
File details
Details for the file aerial_kit-0.1.4-py3-none-any.whl.
File metadata
- Download URL: aerial_kit-0.1.4-py3-none-any.whl
- Upload date:
- Size: 27.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b583a98705612bd62c62e81522e14be77bfbb2aff794f4ef270503192c4297bd
|
|
| MD5 |
7f3bc37993b21eff4bb874f63008be52
|
|
| BLAKE2b-256 |
707196b3e5b2dd97bd6281d6b201a037ee5c00786a8a5f2e0b099416c9dbe355
|