As in traditional linear MPC, nonlinear MPC calculates control actions at each control interval, using a combination of model-based prediction and constrained optimization. The key differences are:
The prediction model can be nonlinear and include time-varying parameters
The equality and inequality constraints can be nonlinear
The scalar cost function to be minimized can be a nonquadratic (linear or nonlinear) function of the decision variables.
By default, nonlinear MPC controllers solve a nonlinear programming problem using thefmincon
function, which requires Optimization Toolbox™ software. If you do not have Optimization Toolbox software you can specify your own custom nonlinear solver.
For more information, seeNonlinear MPC.
nlmpc |
Nonlinear model predictive controller |
nlmpcMultistage |
Multistage nonlinear model predictive controller |
nlmpcmove |
Compute optimal control action for nonlinear MPC controller |
nlmpcmoveopt |
Option set fornlmpcmove function |
getSimulationData |
Create data structure to simulate multistage MPC controller withnlmpcmove |
validateFcns |
Examine prediction model and custom functions ofnlmpc ornlmpcMultistage objects for potential problems |
convertToMPC |
Convertnlmpc object into one or morempc objects |
createParameterBus |
Create金宝appbus object and configure Bus Creator block for passing model parameters to Nonlinear MPC Controller block |
Nonlinear MPC Controller | Simulate nonlinear model predictive controllers |
Multistage Nonlinear MPC Controller | Simulate multistage nonlinear model predictive controllers |
Nonlinear model predictive controllers control plants using nonlinear prediction models, cost functions, or constraints.
To define a prediction model for a nonlinear MPC controller, specify the state and output functions.
Specify Cost Function for Nonlinear MPC
Nonlinear MPC controllers support generic cost functions, such as a combination of linear or nonlinear functions of the system states, inputs, and outputs.
Specify Constraints for Nonlinear MPC
You can specify custom linear and nonlinear constraints for your nonlinear MPC controller in addition to standard linear MPC constraints.
Configure Optimization Solver for Nonlinear MPC
By default, nonlinear MPC controllers optimize their control move using thefmincon
function from the Optimization Toolbox. You can also specify your own custom nonlinear solver.
Trajectory Optimization and Control of Flying Robot Using Nonlinear MPC
You can use nonlinear MPC for both optimal trajectory planning and closed-loop control applications.
Land a Rocket Using Multistage Nonlinear MPC
计划最优火箭飞行器轨迹和性能rm closed-loop control of landing process using multistage nonlinear MPC.
Nonlinear Model Predictive Control of an Exothermic Chemical Reactor
Control a nonlinear plant as it transitions between operating points.
Swing-up Control of a Pendulum Using Nonlinear Model Predictive Control
Achieve swing-up and balancing control of an inverted pendulum on a cart using a nonlinear model predictive controller.
Nonlinear and Gain-Scheduled MPC Control of an Ethylene Oxidation Plant
You can generate one or more linear MPC controllers from a nonlinear MPC controller and use these controllers for gain-scheduled control applications.
Optimization and Control of a Fed-Batch Reactor Using Nonlinear MPC
Simulate nonlinear MPC controller as adaptive and time-varying MPC controller, and compare performance.
Optimizing Tuberculosis Treatment Using Nonlinear MPC with a Custom Solver
You can use nonlinear MPC controllers for optimal planning applications that require a nonlinear model with nonlinear costs or constraints.
Generate Code to Plan and Execute Collision-Free Trajectories using KINOVA Gen3 Manipulator
Use nonlinear MPC to plan and execute trajectories for a robot manipulator.
Economic model predictive controllers optimize control actions to satisfy generic economic or performance cost functions.
Economic MPC Control of Ethylene Oxide Production
Maximize production of an ethylene oxide plant for profit using a nonlinear cost function and nonlinear constraints.