README: Drone
Purpose
Defines the KNAT surface for a Drone — a modular aerial system with distributed propulsion, fly-by-wire control, and optional autonomous behavior.
Enables clients to:
- observe propulsion, attitude, and motion state
- inject control inputs (manual or autonomous)
- bind pilot or operate autonomously
- control camera framing (cinemabot integration)
- subscribe to signals (collision, battery, instability)
Conceptual Model
A drone is a force-distributed system, not a drivetrain.
Vehicle → mechanical transmission
Drone → thrust + control distribution
It may be:
- pilot-controlled
- assisted
- autonomous
Root Graph
/drone::<entity_id>/
/spec
/engine
/location
/propulsion
/attitude
/physics
/control
/pilot
/camera
/signals
Spec Surface
/drone::<id>/spec/ref
/drone::<id>/spec/genome
/drone::<id>/spec/architecture
Same semantics as vehicle.
Propulsion Surface
/drone::<id>/propulsion/motor_<id>/rpm
/drone::<id>/propulsion/motor_<id>/thrust
/drone::<id>/propulsion/total_thrust
Represents distributed thrust generation.
Attitude Surface
/drone::<id>/attitude/pitch
/drone::<id>/attitude/roll
/drone::<id>/attitude/yaw
/drone::<id>/attitude/angular_velocity
Orientation and rotational dynamics.
Physics Surface
Shared with other entities:
/world/physics/velocity
/world/physics/altitude
Control Surface
/drone/control/pitch
/drone/control/roll
/drone/control/yaw
/drone/control/throttle
/drone/control/mode
Supports scalar or structured values:
- direct
- assist
- override
Same arbitration model as vehicle
Pilot Surface
/drone::<id>/pilot/bound
/drone::<id>/pilot/entity_id
/drone::<id>/pilot/mode
Modes:
- manual
- assist
- autonomous
Camera Surface
/drone::<id>/camera/target
/drone::<id>/camera/gimbal_pitch
/drone::<id>/camera/gimbal_yaw
/drone::<id>/camera/mode
This is the cinemabot integration surface.
Signals Surface
/drone::<id>/signals/<signal_id>/
kind
intensity
frame
Examples:
- collision
- battery_low
- instability
- gps_loss
Responsibilities Boundary
DroneOwned — propulsion + attitude state
PhysicsOwned — motion integration
PilotOwned — control input
CinemabotOwned — camera framing
MVP Presence
Minimum snapshot:
- spec
- propulsion
- attitude
- physics
- pilot
- signals
- frame