Home > mpt > extras > control > mpt_optInfControl.m

mpt_optInfControl

PURPOSE ^

MPT_OPTINFCONTROL Solves the infinite-time constrained optimal control problem for LTI systems

SYNOPSIS ^

function ctrlStruct=mpt_optInfControl(sysStruct,probStruct,Options)

DESCRIPTION ^

MPT_OPTINFCONTROL Solves the infinite-time constrained optimal control problem for LTI systems

 ctrlStruct=mpt_optInfControl(sysStruct,probStruct,Options)

 ---------------------------------------------------------------------------
 DESCRIPTION
 ---------------------------------------------------------------------------
 Explicitly solves the problem...
         
 min_{u(0),...} [sum_{i=0}^infty   x(i)'Qx(i) + u(i)'Ru(i)]
 subject to  u(i)  \in U   for i=0,1,....
             x(i)  \in X   for i=1,2,....
   
 The resulting input sequence is still of finite dimension. As soon as the 
 state enters a region of the state space where the Riccati LQR feedback law
 satisfies the system constraints for all time, no further inputs are computed.
 This script combines multiparametric-programming techniques with reachability 
 analysis.
  
 ---------------------------------------------------------------------------
 INPUT
 ---------------------------------------------------------------------------
 sysStruct            - System structure in the sysStruct format
 probStruct           - Problem structure in the probStruct format

    See the MPT Manual for additional details on the structure format or   
       consult one of the example systems (e.g. Double_Integator) which were  
    provided with this package.                                            

 Options.verbose      - level of verbosity
 Options.lpsolver     - which LP solver to use (help mpt_solveLP)
 Options.qpsolver     - which QP solver to use (help mpt_solveQP)
 Options.step_size    - length of step over a facet
 Options.maxHorizon   - The maximum horizon which is used for computations;
                        Leave empty to obtain the whole set.
 Options.debug_level  
         Due to numerical problems tiny regions are sometimes difficult to
         calculate, i.e. are not identified at all. This may create "gaps"
         in the computed control law. For the exploration, these will be
         jumped over and the exploration in the state space will continue.
         "debug_level" can have three values:
      
         0: No debug done
         1: A tolerance is given to find gap in the region partition,
            small empty regions inside the region partition will be discarded.
            Note that this is generally not a problem, since the feedback law 
            is continuous and can therefore be interpolated easily.
            Correction to the calculation of the outer hull.
         2: Zero tolerance to find gap in the region partition, empty regions
            if they exist, will be detected, i.e. the user will be notified.
            Correction to the calculation of the outer hull.

 Note: If Options is missing or some of the fields are not defined, the default
       values from mptOptions will be used

 ---------------------------------------------------------------------------
 OUTPUT
 ---------------------------------------------------------------------------
 ctrlStruct    - controller structure with the following fields:
   Pn,Fi,Gi    - for region Pn(i).H*x <= Pn.K(i) computed input is U=Fi{i}*x+Gi{i}   
   Ai,Bi,Ci    - cost associated to each region (x'Aix + x'Bi + Ci)
   Pfinal      - Defines the feasible state space partition (i.e. union of
                 all regions) as Phard.H*x<=Phard.K
   dynamics    - dynamics active in region Pn(i)
   details     - contains additional information:
      regionHorizon      - Vector containing the number of steps required for each
                           region to reach the control invariant set. 
                            (i.e. dimension of the associated input sequence)
      activeConstraints  - Cell Array which stores the active constraints 
                           of the optimizer in each region.

 ---------------------------------------------------------------------------
 LITERATURE
 ---------------------------------------------------------------------------

 "Computation of the Constrained Infinite Time Linear Quadratic Regulator",
 P. Grieder, F. Borrelli, F. Torrisi, M. Morari; In the proceedings of the
 American Control Conference (ACC) 2003, Denver, Colorado

 see also MPT_CONTROL, MPT_OPTCONTROL, MPT_ITERATIVE, MPT_ITERATIVEPWA

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:
Generated on Thu 30-Mar-2006 10:26:47 by m2html © 2003