Control¶
All control occurs within the ControlledAircraft
and is broken
down into low-level loop-closure based PID controllers and high-level control. Each allowing for increasing level of
abstraction in the action space. –>
Low-level control¶
Low-level controllers are used to hold and maintain the Kinematic aircraft in a fixed attitude and speed. Each follow a PID type controller.
stateDiagram-v2
direction LR
[*] --> ErrorSum: r(t)
ErrorSum --> Proportional: e(t)
ErrorSum --> Integral: e(t)
ErrorSum --> Derivative: e(t)
Proportional --> ControlSum
Integral --> ControlSum
Derivative --> ControlSum
ControlSum --> Aircraft: u(t)
Aircraft --> [*]: y(t)
Controllers include:
Pitch
pitch_controller
Roll
roll_controller
Speed
speed_controller
High-level control¶
High-level controllers are used to control higher order functions allowing offloading the problem of decision-making to be a higher-order task. These build on the low level controllers to include:
Altitude
alt_controller
Heading
heading_controller
Pursuit
pursuit_controller