Optimal Load Management System for Aircraft Electric Power Distribution
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
figures
project
README.md
runAirplane.m
startup.m

README.md

This aircraft EPS controller implementation accompanies the following paper:
Mehdi Maasoumy, Pierluigi Nuzzo, Forrest Iandola, Maryam Kamgarpour, 
Alberto Sangiovanni-Vincentelli and Claire Tomlin.
"Optimal Load Management System for Aircraft Electric Power Distribution."
IEEE Conference on Decision and Control (CDC), 2013.

Huy Vo also contributed to our controller and its implementation.

Getting Started

To run an aircraft power simulation using our controller, experiment with the following on the Matlab prompt:
  runAirplane(1) %use hierarchical controller 
  runAirplane(0) %use simple low-level controller
  runAirplane %default to hierarchical controller

Setup

...install cplex and yalmip... (TODO: give a list of dependencies)

Graphs

By default, runAirplane.m uses plotGraphs.m to produce several graphs, which summarize workloads, power provided by each generator/APU, and battery usage.

Aircraft Power Workloads

To change workload data, use load1, load2, load3, or load4 near the beginning of runAirplane.m. Ideally, these workloads are similar to what you'd find in a commercial aircraft. As you can see, the workload varies throughout the flight -- avionics systems, cabin lights, and coffee makers may or may not be at their peak power draw at any given time in the flight.

Generator Failures

To introduce generator failures, modify getGeneratorStatus.m. The function takes an input time and returns a 3 element binary vector representing the generator's status at that moment in time. The format is as follows: [LeftGenerator RightGenerator APU]. A 1 indicates healthy while a 0 indicates failure.