MPC¶
-
class
do_mpc.controller.
MPC
(model)[source]¶ Model predictive controller.
For general information on model predictive control, please read our background article.
The MPC controller extends the
do_mpc.optimizer.Optimizer
base class (which is also used for thedo_mpc.estimator.MHE
estimator).Use this class to configure and run the MPC controller based on a previously configured
do_mpc.model.Model
instance.Configuration and setup:
Configuring and setting up the MPC controller involves the following steps:
- Use
set_param()
to configure theMPC
instance. - Set the objective of the control problem with
set_objective()
andset_rterm()
- Set upper and lower bounds with
bounds
(optional). - Set further (non-linear) constraints with
set_nl_cons()
(optional). - Use the low-level API (
get_p_template()
andset_p_fun()
) or high level API (set_uncertainty_values()
) to create scenarios for robust MPC (optional). - Finally, call
setup()
.
Warning
Before running the controller, make sure to supply a valid initial guess for all optimized variables (states, algebraic states and inputs). Simply set the initial values of
x0
,z0
andu0
and then callset_initial_guess()
.To take full control over the initial guess, modify the values of
opt_x_num
.During runtime call
make_step()
with the current state \(x\) to obtain the optimal control input \(u\).Attributes
MPC.bounds
Query and set bounds of the optimization variables. MPC.opt_p_num
Full MPC parameter vector. MPC.opt_x_num
Full MPC solution and initial guess. MPC.scaling
Query and set scaling of the optimization variables. MPC.t0
Current time marker of the class. MPC.terminal_bounds
Query and set the terminal bounds for the states. MPC.u0
Initial input and current iterate. MPC.x0
Initial state and current iterate. MPC.z0
Initial algebraic state and current iterate. Methods
MPC.get_p_template
Obtain output template for set_p_fun()
.MPC.get_tvp_template
Obtain output template for set_tvp_fun()
.MPC.make_step
Main method of the class during runtime. MPC.reset_history
Reset the history of the optimizer. MPC.set_initial_guess
Initial guess for optimization variables. MPC.set_nl_cons
Introduce new constraint to the class. MPC.set_objective
Sets the objective of the optimal control problem (OCP). MPC.set_p_fun
Set function which returns parameters. MPC.set_param
Set the parameters of the MPC
class.MPC.set_rterm
Set the penality factor for the inputs. MPC.set_tvp_fun
Set function which returns time-varying parameters. MPC.set_uncertainty_values
Define scenarios for the uncertain parameters. MPC.setup
Setup the MPC class. MPC.solve
Solves the optmization problem. - Use
This page is auto-generated. Page source is not available on Github.