Abstract
This chapter is devoted to the implementation of model predictive control (MPC) algorithms in active vibration control (AVC) applications. Even though the main area of interest is AVC, the software implementation tasks presented here are valid for any other engineering application of MPC, thus the material may be recommended to anyone interested in practical issues with MPC software deployment. Three different MPC strategies are discussed, each having its own advantages and disadvantages: the well known infinite horizon cost dual-mode quadratic programming based MPC (QPMPC), optimal and suboptimal explicit pre-computed multi-parametric programming based MPC (MPMPC) and the efficient but suboptimal Newton–Raphson MPC (NRMPC). The offline portion of the algorithms is implemented in the Matlab m-file scripting language, while the real-time controllers are realized in Simulink and subsequently transferred to the xPC Target rapid control software prototyping platform. The practical approach utilized here is focused at simplicity. An off-the shelf quadratic solver called qpOASES is used for the online implementation of QPMPC, while the MPMPC algorithm is implemented using the MPT Toolbox. As the implementation of NRMPC to physical systems is unique to this book, the most attention is devoted to the code developed for the use of Newton–Raphson MPC in the vibration damping of lightly damped structures.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Download at http://www.qpoases.org.
- 2.
Van den Broeck et al. used a computer with a Mobile Pentium 2 GHz processor with 2 GB of RAM.
- 3.
See more on the topic of Sect. 9.7.3.
- 4.
The illustration in Fig. 10.4 shows the variable naming conventions familiar from earlier chapters. The code implementation in Appendix B uses the following notation for variables: \({\mathbf{H}={\rm Hqp}}{,}\) \({\mathbf{G}}={\rm F}{,}\) \({\mathbf{B}}_x={\rm BxQP}{,}\) \({\mathbf{b}}_0={\rm b0QP}\) and \({\mathbf{A}}_c={\rm AcQP}{.}\)
- 5.
The particular solver module featured in Fig. 10.4 is qpOAES_QProblem, which is recommended for problem formulations assuming nominal systems and fixed constraints. In case a sequential quadratic programming problem is required by the MPC formulation (e.g. in adaptive systems), the resulting optimization task can be solved more efficiently by using the sequential qpOAES_SQProblem module of qpOASES [16]. The timing analysis featured in Sect. 12.5 utilizes the sequential qpOASES solver, but with constant parameter and constraint matrices.
- 6.
Software package and extended documentation is available at: http://control.ee.ethz.ch/~mpt/.
- 7.
Also known as R2007b.
- 8.
Also known as R2006a.
- 9.
At the time of writing the book manuscript and according to the literature research performed by the authors.
- 10.
See 12.7.2.6 for details.
- 11.
Remember that these are in general vectors, the boldface type is reserved for the vector of predicted inputs \({\mathbf{u}}_k\) to simplify notation.
- 12.
There is an additional tolerance value. \({\mathbf{L}}\) is supposed to be positive definite, although sometimes may contain negative elements too.
- 13.
Matlab is in fact based on BLAS and LAPACK.
References
Anstee R (2006) The Newton–Raphson Method. Lecture notes. Whitepaper, The University of British Columbia, Vancouver. http://www.math.ubc.ca/~anstee/math104/104newtonmethod.pdf
Arnold E, Neupert J, Sawodny O, Schneider K (2007) Trajectory tracking for boom cranes based on nonlinear control and optimal trajectory generation. In: IEEE international conference on control applications CCA, pp 1444–1449. doi:10.1109/CCA.2007.4389439
Bai M, Ou KY (2002) Experimental evaluation of adaptive predictive control for rotor vibration suppression. IEEE Trans Control Syst Technol 10(6):895–901. doi: 10.1109/TCST. 2002.804124
Baocang D (2009) Modern predictive control, 1st edn. Chapman and Hall / CRC, Boca Raton
Basic Linear Algebra Subprograms Technical (BLAST) Forum (2001) Basic Linear Algebra Subprograms Technical (BLAST) Forum Standard. Available: http://www.netlib.org/blas/blast-forum/blas-report.pdf
Boscariol P, Gasparetto A, Zanotto V (2010) Model predictive control of a flexible links mechanism. J Intell Rob Syst 58:125–147. doi: 10.1007/s10846-009-9347-5
Camacho EF, Bordons C (2007) Model predictive control. 2nd edn. Springer, London
Cannon M, Kouvaritakis B (2005) Optimizing prediction dynamics for robust MPC. IEEE Trans Autom Control 50(11):1892–1897. doi:10.1109/TAC.2005.858679
Chapra SC (2004) Applied numerical methods with MATLAB for engineers and scientists. 1st edn. McGraw-Hill Science, New York
Chen H, Allgöver F (1998) A quasi-infinite horizon nonlinear model predictive control scheme with guaranteed stability. Automatica 34(10):1205–1217
Cychowski M, Szabat K (2010) Efficient real-time model predictive control of the drive system with elastic transmission. IET Control Theory Appl 4(1):37–49. doi: 10.1049/iet-cta.2008.0358
Dongarra J (2002) Basic linear algebra subprograms technical forum standard. Int J High Perform Appl Supercomput 16:1–111
Eure KW (1998) Adaptive predictive feedback techniques for vibration control. Doctoral dissertation, Virginia Polytechnic Institute and State University, Blacksburg
Ferreau HJ (2006) An online active set strategy for fast solution of parametric quadratic programs with applications to predictive engine control. Master thesis, University of Heidelberg
Ferreau HJ (2011) qpOASES—online active set strategy. Leuven. Available http://www.qpoases.org
Ferreau HJ (2011) qpOASES User’s Manual. Optimization in engineering center (OPTEC) and department of electrical engineering, K. U. Leuven
Ferreau HJ, Ortner P, Langthaler P, del Re L, Diehl M (2007) Predictive control of a real-world diesel engine using an extended online active set strategy. Annu Rev Control 31(2):293–301. doi:10.1016/j.arcontrol.2007.09.001, http://www.sciencedirect.com/science/article/B6V0H-4R05C2B-2/2/23db757b09f804365ba12dc1844992d9
Ferreau HJ, Bock HG, Diehl M (2008) An online active set strategy to overcome the limitations of explicit MPC. Int J Robust Nonlinear Control 18(8):816–830
Fletcher R (2000) Practical methods of optimization. Wiley, New York
Geyer T, Torrisi FD, Morari M (2008) Optimal complexity reduction of polyhedral piecewise affine systems. Automatica 44(7):1728–1740. doi:10.1016/j.automatica.2007.11.027, http://www.sciencedirect.com/science/article/pii/S00051098070 04906
Hassan M, Dubay R, Li C, Wang R (2007) Active vibration control of a flexible one-link manipulator using a multivariable predictive controller. Mechatronics 17(1):311–323
Huang K, Yu F, Zhang Y (2010) Model predictive controller design for a developed electromagnetic suspension actuator based on experimental data. In: WASE international conference on information engineering (ICIE) 4:152–156. doi:10.1109/ICIE.2010.327
Woo HK, Soo HH (2005) Receding horizon control: model predictive control for state models. 1st edn. Springer, London
Imsland L, Rossiter JA (2005) Time varying terminal control. In: 16th IFAC world congress in Prague, p TP/19
Imsland L, Bar N, Foss BA (2005) More efficient predictive control. Automatica 41(8):1395–1403. doi:10.1016/j.automatica.2005.03.010, http://www.sciencedirect.com/science/article/B6V21-4G7NT35-1/2/52a9590bfe1ccc2a9561165c3fbdf872
Inman DJ (2007) Engineering vibrations, 3rd edn. Prentice Hall, NJ
Kok J, van Heck J, Huisman R, Muijderman J, Veldpaus F (1997) Active and semi-active control of suspension systems for commercial vehicles based on preview. In: Proceedings of the 1997 American control conference 5:2992–2996. doi:10.1109/ACC.1997.612006
Kouvaritakis B, Rossiter J, Schuurmans J (2000) Efficient robust predictive control. IEEE Trans Autom Control 45(8):1545–1549. doi:10.1109/9.871769
Kouvaritakis B, Cannon M, Rossiter J (2002) Who needs QP for linear MPC anyway?. Automatica 38:879–884. doi:10.1016/S0005-1098(01)00263-1, http://www.sciencedirect.com/science/article/pii/S0005109801002631
Kouvaritakis B, Li S, Cannon M (2010) A line search improvement of efficient MPC. Automatica 46(11):1920–1924. doi:10.1016/j.automatica.2010.07.003, http://www.sciencedirect.com/science/article/B6V21-50NH0BX-3/2/0b4491d922a7d04d1b0315edae0e8944
Kvasnica M (2009) Real-time model predictive control via multi-parametric programming: Theory and tools, 1st edn. VDM Verlag, Saarbrücken
Kvasnica M (2011) Selected Topics on constrained and nonlinear control. workbook, STU Bratislava—NTNU Trondheim, Chap Multi-Parametric Toolbox, pp. 101–170
Kvasnica M, Grieder P, Baotić M (2004) Multi-Parametric Toolbox (MPT). Online, Available: http://control.ee.ethz.ch/
Kvasnica M, Grieder P, Baotic M, Morari M. (2004) Multi-parametric toolbox (MPT). In: Alur R, Pappas GJ (eds) Hybrid systems: computation and control, Lecture notes in computer science, Springer Berlin / Heidelberg, 2993:121–124
Kvasnica M, Grieder P, Baotic M, Christophersen FJ (2006) Multi-parametric toolbox (MPT). Extended documentation, Zürich, http://control.ee.ethz.ch/~mpt/docs/
Kvasnica M, Rauová I, Fikar M (2010) Automatic code generation for real-time implementation of model predictive control. In: Proceedings of the 2010 IEEE international symposium on computer-aided control system design, Yokohama pp 993–998
Kvasnica M, Fikar M, Čirka Ľ, Herceg M (2011) Selected Topics on constrained and nonlinear control. Textbook, STU Bratislava—NTNU Trondheim, Chap Complexity reduction in explicit Model predictive control, pp 241–288
Kvasnica M, Rauová I, Fikar M (2011) Real-time implementation of model predictive control using automatic code generation. In: Selected topics on constrained and nonlinear control. Preprints, STU Bratislava—NTNU Trondheim, pp 311–316
Li S, Kouvaritakis B, Cannon M (2010) Improvements in the efficiency of linear MPC. Automatica 46(1):226–229. doi:10.1016/j.automatica.2009.10.010, http://www.sciencedirect.com/science/article/B6V21-4XGCHXB-3/2/20a93fa6dd4fb88469638ac3bc2fe729
Lofberg J (2004) YALMIP: A toolbox for modeling and optimization in MATLAB. In: Proceedings of the CACSD conference, Taipei
Lofberg J (2009) YALMIP wiki. Available: http://control.ee.ethz.ch/~joloef/wiki/pmwiki.php?n=Main.HomePage
Maciejowski JM (2000) Predictive control with constraints, 1st edn. Prentice Hall, New Jersey
Mayne DQ, Rawlings JB, Rao CV, Scokaert POM (2000) Constrained model predictive control: Stability and optimality. Automatica 36(6):789–814
Mehra R, Amin J, Hedrick K, Osorio C, Gopalasamy S (1997) Active suspension using preview information and model predictive control. In: Proceedings of the 1997 IEEE international conference on control applications, pp 860–865, doi:10.1109/CCA.1997.627769
Moon SM, Clark RL, Cole DG (2005) The recursive generalized predictive feedback control: theory and experiments. J Sound Vib 279(1–2):171–199. doi:10.1016/j.jsv.2003.12.034, http://www.sciencedirect.com/science/article/B6WM3-4C005WR-2/2/4580a0865591eaa5ca1bf02e09dedcb7
Moon SM, Cole DG, Clark RL (2006) Real-time implementation of adaptive feedback and feedforward generalized predictive control algorithm. J Sound Vib 294(1–2):82–96. doi:10.1016/j.jsv.2005.10.017, http://www.sciencedirect.com/science/article/B6WM3-4HYMY76-1/2/50d98047187533ebe9d3ea8310446e77
Morger A (2010) Synthesis, design and control of a tendon-driven robot platform for vestibular stimulation during sleep. Master’s thesis, ETH Zurich
Nesterov Y, Nemirovskii A (1994) Interior-point polynomial methods in convex programming, Studies in Applied Mathematics, vol 13. SIAM, Pennsylvania
Niederberger D (2005) Hybrid systems: computation and control, vol 3414, Springer / Heidelberg, Berlin, Design of optimal autonomous switching circuits to suppress mechanical Vibration, pp 511–525
Ping H, Ju Z (2008) Explicit model predictive control system and its application in active vibration control of mechanical system of elevator. In: Control and decision conference, CCDC . Chinese, pp 3738–3742. doi:10.1109/CCDC.2008.4598029
Pistikopoulos EN, Georgiadis MC, Dua V (eds) (2007) Multi-parametric model-based control, vol 2, 1st edn. Wiley
Pistikopoulos EN, Georgiadis MC, Dua V (eds) (2007) Multi-parametric programming, vol 1, 1st edn. Wiley
Pólik I (2005) Addendum to the SeDuMi user guide version 1.1. Technical report, McMaster University, Advanced optimization lab, Hamilton, Ontario. Available: http://sedumi.ie.lehigh.edu/
Polóni T, Takács G, Kvasnica M, Rohal’-Ilkiv B (2009) System identification and explicit control of cantilever lateral vibrations. In: Proceedings of the 17th international conference on process control, Štrbské Pleso
Rauter G, Zitzewitz JV, Duschau-Wicke A, Vallery H, Riener R (2010) A tendon-based parallel robot applied to motor learning in sports. In: Proceedings of the IEEE international conference on biomedical robotics and biomechatronics
Richelot J, Bordeneuve-Guibe J, Pommier-Budinger V (2004) Active control of a clamped beam equipped with piezoelectric actuator and sensor using generalized predictive control. In: 2004 IEEE international symposium on industrial electronics, vol. 1, pp 583–588 vol. 1. doi:10.1109/ISIE.2004.1571872
Rossiter JA (2003) Model-based predictive control: a practical approach, 1st edn. CRC Press, Boca Raton
Shi P, Liu B, Hou D (2008) Torsional vibration suppression of drive system based on DMC method. In: 7th World Congress on intelligent control and automation. WCICA, pp 4789–4792. doi:10.1109/WCICA.2008.4593699
Sturm JF (1999) Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric cones. Optimization methods and software—special issue on interior point methods 11–12:625–653
Sturm JF (2001) SeDuMi 1.05 R5 user’s guide. Technical report, department of economics, Tilburg university, Tilburg, Available: http://sedumi.ie.lehigh.edu/
Takács G (2008) Efficient model predictive control applied on active vibration control. Written report for PhD qualification exam, Slovak Technical University, Faculty of mechanical engineering, Bratislava
Takács G, Rohal’-Ilkiv B (2008) Model predictive control in vibration attenuation. In: Proceedings of the 2nd international conference education research and innovation, Bratislava
Takács G, Rohal’-Ilkiv B (2009) Implementation of the Newton-Raphson MPC algorithm in active vibration control applications. In: Mace BR, Ferguson NS, Rustighi E (eds) Proceedings of the 3rd international conference on noise and vibration: emerging methods, Oxford
Takács G, Rohal’-Ilkiv B (2009) MPC with guaranteed stability and constraint feasibility on flexible vibrating active structures: a comparative study. In: Hu H (ed) Proceedings of the 11th IASTED international conference on control and applications, Cambridge
Takács G, Rohal’-Ilkiv B (2009) Newton-Raphson based efficient model predictive control applied on active vibrating structures. In: Proceedings of the European control conference, Budapest
Takács G, Rohal’-Ilkiv B (2009) Newton–Raphson MPC controlled active vibration attenuation. In: Hangos KM (ed) Proceedings of the 28th IASTED international conference on modeling, identification and control, Innsbruck
The Mathworks (2007) Matlab signal processing blockset v6.6 (R2007b). Software. The MathWorks Inc., Natick
Tøndel P, Johansen TA, Bemporad A (2003) Evaluation of piecewise affine control via binary search tree. Automatica 39(5):945–950. doi:10.1016/S0005-1098(02)00308-4, http://www.sciencedirect.com/science/article/pii/S00051098020 03084
Van den Broeck L, Diehl M, Swevers J (2009) Time optimal MPC for mechatronic applications. In: Proceedings of the 48th IEEE conference on decision and control, Shangai, pp 8040–8045
Van den Broeck L, Swevers J, Diehl M (2009) Performant design of an input shaping prefilter via embedded optimization. In: Proceedings of the 2009 American control conference, St. Louis, pp 166–171
Vandenberghe L, Boyd S (1996) Semidefinite programming. SIAM Review 38(1):49–95
Wang L (2009) Model predictive control system design and implementation using MATLAB, 1st edn. Springer, London
Wills A, Bates D, Fleming A, Ninness B, Moheimani R (2005) Application of MPC to an active structure using sampling rates up to 25 kHz. In: 44th IEEE conference on decision and control, 2005 and 2005 European control conference. CDC-ECC ’05, pp 3176–3181. doi:10.1109/CDC.2005.1582650
Wills AG, Bates D, Fleming AJ, Ninness B, Moheimani SOR (2008) Model predictive control applied to constraint handling in active noise and vibration control. IEEE Trans Control Syst Technol 16(1):3–12
Yan G, Sun B, Lü Y (2007) Semi-active model predictive control for 3rd generation benchmark problem using smart dampers. Earthquake engineering and engineering vibration 6:307–315. doi:10.1007/s11803-007-0645-2
Yim W (1996) Modified nonlinear predictive control of elastic manipulators. In: Proceedings of the 1996 IEEE international conference on robotics and automation, vol. 3, pp 2097–2102. doi:10.1109/ROBOT.1996.506180
Zhang QZ, Gan WS (2004) A model predictive algorithm for active noise control with online secondary path modelling. J Sound Vib 270(4–5):1056–1066. doi:10.1016/S0022-460X(03)00516-9, http://www.sciencedirect.com/science/article/B6WM3-49D6XFX-4/2/805d0549ca0e60339bb5e2c798de7264
Zmeu K, Shipitko E (2005) Predictive controller design with offline model learning for flexible beam control. In: Proceedings of the 2005 international conference on Physics and control, pp 345–350. doi:10.1109/PHYCON.2005.1514005
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London Limited
About this chapter
Cite this chapter
Takács, G., Rohal’-Ilkiv, B. (2012). MPC Implementation for Vibration Control. In: Model Predictive Vibration Control. Springer, London. https://doi.org/10.1007/978-1-4471-2333-0_10
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2333-0_10
Published:
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2332-3
Online ISBN: 978-1-4471-2333-0
eBook Packages: EngineeringEngineering (R0)