MinTimeController

Purpose

Implicit minimum-time MPC controller

Syntax

ctrl = MinTimeController(model)

Description

Constructs an object representing an implicit solution to the minimum-time MPC problem:

../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller8.png

where ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller1.png represents the prediction model's state-update equation, ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller2.png is a given terminal set, and ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller3.png and ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller4.png denote, respectively, the state and input constraints.

LTI, PWA, and MLD models are accepted for predictions. State and input constraint sets ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller5.png, ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller6.png are automatically created using the model's state and input constraints (model.x.min, model.x.max, model.u.min, model.u.max). The terminal set ../../../../../fig/mpt/modules/ui/@MinTimeController/mintimecontroller7.png is either taken from model.x.terminalSet or, if the field is empty, by calling model.stabizilingController() (for LTI systems only).

Once computed, minimum-time controllers inherit the behavior of the MPCController class in terms of evaluation and post-processing.

Input Arguments

model

Any MPT3 system (LTISystem, PWASystem, MLDSystem)

Class: AbstractSystem

Output Arguments

ctrl

Instance of the MinTimeController class.

Example(s)

Example 1

Create a 1D LTI system
sys = LTISystem('A', 1, 'B', 1, 'C', 1, 'D', 0)
LTISystem with 1 state, 1 input, 1 output
Define constraints
sys.x.min = -1; sys.x.max = 1;

sys.u.min = -1; sys.u.max = 1;
Define penalties (we use squared two-norm with unity
    weights here)
sys.x.penalty = QuadFunction(1);

sys.u.penalty = QuadFunction(1);
Construct the minimum-time controller
ctrl = MinTimeController(sys)
Minimum-time controller (horizon: 1)
Convert the controller to its explicit form
expctrl = ctrl.toExplicit()
Computing stabilizing terminal controller...
Iteration 1...
Iterating...
New horizon: 1
mpt_plcp: 1 regions
Explicit minimum-time controller (horizon: 1, regions: 2, partitions: 2)

See Also

emintimecontrollerr, mpccontroller


© 2003-2013 Michal Kvasnica: STU Bratislava, michal.kvasnica@stuba.sk