|
1 | | -# WEC-Sim Controls Examples |
| 1 | +# Model Predictive Controller (MPC) |
2 | 2 |
|
3 | | -**Author:** Jeff Grasberger (Sandia) |
| 3 | +**Author:** Ratanak So and Jeff Grasberger |
4 | 4 |
|
5 | | -**WEC-Sim Version:** v5.0 (or newer) |
| 5 | +**Geometry:** Sphere |
6 | 6 |
|
7 | | -**Matlab Version:** 2020b (or newer) |
| 7 | +**Original Version:** v5.0 |
8 | 8 |
|
9 | 9 | **Dependencies:** |
10 | 10 |
|
11 | | - Optimization Toolbox --> for quadprog command |
12 | | - System Identification Toolbox --> for ssdata, tfest, tfdata commands |
13 | | - Statistics and Machine Learning Toolbox --> for regress command |
14 | | - Control System Toolbox --> for frd command |
15 | | - Symbolic Math Toolbox --> for subs command |
16 | | - |
17 | | -**Description:** |
18 | | -Numerical model for a semi-submerged sphere (diameter = 10 m) with a model predictive controller (MPC). |
19 | | -"wecSim" can be typed into the command window to run the example with the default setup. |
20 | | -"plotFreqDep.m" solves for and plots the frequency dependent coefficients, |
21 | | -which are stored in "coeff.mat". "setupMPC.m" sets the controller up using "makePlantModel.m" |
22 | | -and "makePredictiveModel.m" and is called by the input file when "wecSim" |
23 | | -is run from the command window. "fexcPrediction.m" and "mpcFcn.m" predict the excitation forces |
24 | | -and solve the quadratic programming problem, respectively, and are both called by "sphereMPC.slx" |
25 | | -during the simulation. The model predictive controller parameters can be changed in the input file. |
26 | | - |
27 | | -**Questions?** |
28 | | -* Post all WEC-Sim modeling questions to the [WEC-Sim online forum](https://github.com/WEC-Sim/WEC-Sim/issues). |
| 11 | +* Control System Toolbox |
| 12 | +* Optimization Toolbox |
| 13 | +* Statistics and Machine Learning Toolbox |
| 14 | + |
| 15 | +**Description** |
| 16 | + |
| 17 | +Numerical model for a semi-submerged sphere (diameter = 10 m) with a model predictive controller (MPC). `wecSim` can be typed into the command window to run the example with the default setup. `plotFreqDep.m` solves for and plots the frequency dependent coefficients, which are stored in `coeff.mat`. `setupMPC.m` sets the controller up using `makePlantModel.m` and `makePredictiveModel.m` and is called by the input file when `wecSim` is run from the command window. `fexcPrediction.m` and `mpcFcn.m` predict the excitation forces and solve the quadratic programming problem, respectively, and are both called by `sphereMPC.slx` during the simulation. The model predictive controller parameters can be changed in the input file. |
| 18 | + |
| 19 | +**Relevant Citation(s)** |
| 20 | + |
| 21 | +Leon, J.; Grasberger, J.; Forbush, D.; Sirigu, M.; Ancellin, M.; Tom, N.; Keester, A.; Ruehl, K.; Ogden, D.; Husain, S. (2024). Advanced Features and Recent Developments in the WEC-Sim Open-Source Design Tool . Paper presented at Pan American Marine Energy Conference (PAMEC 2024), Barranquilla, Colombia. |
| 22 | + |
| 23 | +R. So, M. Starrett, K. Ruehl and T. K. A. Brekken, "Development of control-Sim: Control strategies for power take-off integrated wave energy converter," 2017 IEEE Power & Energy Society General Meeting, Chicago, IL, USA, 2017, pp. 1-5, doi: 10.1109/PESGM.2017.8274314. keywords: {Force;Damping;Cost function;Springs;Sea state;Laboratories;wave energy;optimization;power take off;model predictive control}, |
| 24 | + |
0 commit comments