Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

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


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


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.


Optimal Load Management System for Aircraft Electric Power Distribution



No releases published
You can’t perform that action at this time.