Practical Design and Application of Model Predictive Control
eBook - ePub

Practical Design and Application of Model Predictive Control

MPC for MATLAB® and Simulink® Users

  1. 262 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Practical Design and Application of Model Predictive Control

MPC for MATLAB® and Simulink® Users

Book details
Book preview
Table of contents
Citations

About This Book

Practical Design and Application of Model Predictive Control is a self-learning resource on how to design, tune and deploy an MPC using MATLAB® and Simulink®. This reference is one of the most detailed publications on how to design and tune MPC controllers. Examples presented range from double-Mass spring system, ship heading and speed control, robustness analysis through Monte-Carlo simulations, photovoltaic optimal control, and energy management of power-split and air-handling control. Readers will also learn how to embed the designed MPC controller in a real-time platform such as Arduino®.

The selected problems are nonlinear and challenging, and thus serve as an excellent experimental, dynamic system to show the reader the capability of MPC. The step-by-step solutions of the problems are thoroughly documented to allow the reader to easily replicate the results. Furthermore, the MATLAB® and Simulink® codes for the solutions are available for free download. Readers can connect with the authors through the dedicated website which includes additional free resources at www.practicalmpc.com.

  • Illustrates how to design, tune and deploy MPC for projects in a quick manner
  • Demonstrates a variety of applications that are solved using MATLAB® and Simulink®
  • Bridges the gap in providing a number of realistic problems with very hands-on training
  • Provides MATLAB® and Simulink® code solutions. This includes nonlinear plant models that the reader can use for other projects and research work
  • Presents application problems with solutions to help reinforce the information learned

Frequently asked questions

Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes, you can access Practical Design and Application of Model Predictive Control by Nassim Khaled,Bibin Pattel in PDF and/or ePUB format, as well as other popular books in Tecnología e ingeniería & Ingeniería mecánica. We have over one million books available in our catalogue for you to explore.

Information

Chapter 1

Introducing the Book

Abstract

This chapter introduces the authors briefly. Both the authors are academic and industrial experts who learned Model Predictive Control (MPC) on their own and implemented it in industrial applications. They have gone through the pain of failed designs and tunings in their industrial experiences. They have learned coding tricks, automated multiple MPC design techniques as well as robustness best practices that they wanted to share with the industrial and academic world. The chapter also describes the organization of the book and hardware and software requirements to implement the examples in the book, in addition to the free resources available for the reader.

Keywords

MPC; Model Predictive Control; practical MPC; industrial MPC; matlab; simulink

1.1 Introducing the Authors

One of the unique features of this book is the fact that neither one of the authors learned Model Predictive Control (MPC) in a classroom setting. They both had to self-learn the theory, design, and implementation of MPC in an application-oriented fashion. They have gone through the pain of failed designs and tunings in their industrial experiences. They have learned coding tricks, automated multiple MPC design techniques as well as robustness best practices that they wanted to share with the industrial and academic world. This important fact allows the reader to understand the how this book came about and what benefits he/she will reap from reading this publication.
Both authors are academic and industrial controls experts. In addition to MPC, they have studied, designed, and implemented several controller and observer strategies such as sliding mode, fuzzy logic, adaptive techniques, linear and nonlinear PID. Many of their designs were implemented and integrated into industrial products such as diesel engine control, onboard diagnostics, automated testing stands, retail, and industrial refrigeration.
The authors have created a webpage that has additional resources related to the book. The reader can contact the authors with questions, feedback, seminars, or consultancy inquiries. As the authors receive a lot of similar requests, please expect some delay in response. The objective of the authors is to connect with readers, maximize the benefit to readers, as well as improve the quality of the material related to this book.
www.practicalmpc.com

1.2 Practical Approach to MPC

Since the eighties, a significant body of books have described theory in addition to examples of Model Predictive Control (MPC). Academics were drawn to MPC since it provides a streamlined solution for solving Multi-Input Multi-Output control problems that are subject to constraints in the system. Furthermore, MPC provides the designer with the ability to handle the instantaneous as well as future performance of dynamic systems. In the case of industrial process control, the Honeywell industrial MPC controller [1] was designed to handle complex industrial process control that can’t be handled with the traditional and popular PID. Yet, it seems that the popularity of MPC hasn’t gained much traction in many industries, such as the automotive world. It is rarely cited that MPC solutions made their way into production electronic modules for vehicles. The authors believe that this is primarily due to the significant resources which are required to change existing procedures in software development by switching to MPC, limited capability of automotive electronic control units (ECUs) in terms of throughput and memory, as well as the lack of automotive control engineers who are well versed in MPC. Moreover vehicle manufacturers are still finding ways to design their closed loop controllers without using MPC. Nontechnical budget holders in the automotive world continuously pose questions such as: Why should we change the controller if it works? Why do we need to invest in new procedures to adopt MPC? Do customers care about having an MPC controller in their vehicles instead of nested PID loops? These are all valid questions and the challenge that technical leaders face is how to quantify control robustness as cost savings. The authors believe that until the complexity level of designing and tuning control software for automotive applications in particular, and other industries in general, reaches unmanageable levels through traditional control techniques, there will not be wide adoption of MPC in the industry.
In an attempt to understand the academic interest in MPC compared to other traditional control techniques, the authors used books.google.com/ngrams which scans a serious volume of books written in English. The authors searched for the frequency of usage of the following case-insensitive keywords: Model Predictive Control, PID Control, Sliding Mode Control, State Feedback Control. Fig. 1.1 shows the search results from 1970 till 2008 no data was available after 2008. At the beginning of the millennia, the frequency of usage of MPC surpassed PID as well as other control techniques. Fig. 1.1 is a good indication that there is an increasing academic interest in MPC, especially with the increased interest in the internet of things (IoT) and smart devices.
image

Figure 1.1 ngrams search for various control techniques.
The theme of this book is streamlining the design, tuning, and deployment process of linear MPC. This will allow a wider spread of a very capable control strategy that the authors believe will be an essential part of the technology revolution of IoT, smart devices, and digital twins. The methodology the authors use to educate readers is through solving real world applications. The control problems discussed in this book are challenging and nonlinear. The authors spent a significant amount of time modeling the dynamics of the presented problems as well as designing and tuning the MPC controllers. Where possible, all the challenges the authors encountered were documented so that readers can benefit from the lessons learned. The challenges ranged from the system identification of the plant, design of MPC in MATLAB and Simulink, the untold tuning art of MPC as well as simulating the MPC with the nonlinear plant in Simulink. Except for Chapter 10, all the plant models and the designed MPCs can be downloaded from the book’s website. The authors believe in open-sources sharing to advance science and promote model-based control approaches.
To enrich the expertise pool that contributed to the book, the authors reached out to Dr. Sharif Aljoaba to leverage his experience in modeling and control of photovoltaic cells.
All the examples provided in this book have been developed using MATLAB R2017a. The toolboxes used are: Model Predictive Control and System Identification. The operating system used is Windows 10, 64 bit. If the reader doesn’t have MATLAB, he/she can contact Mathworks for a trial version.

1.3 Organization of the Book

To the extent possible, the authors made the chapters independent from one another. However, the book was written with an increasing level of complexity. The process of designing, tuning, and implementing MPC is re-iterated in all the chapters. Chapter 2 briefly discusses the theoretical foundation of MPC which will set the stage for the subsequent implementation of MPC. The chapter suggests a hypothetical PID controller that resembles MPC which is used to familiarize the reader with the concept of MPC. The second half of the chapter introduces MPC. Chapter 3 covers a streamlined approach for system identification and MPC design. The approach is applied on a double mass-spring system. In Chapter 4, a nonlinear model of long ship navigating at sea is introduced. The model is used as a testbed for linear system identification. The same ship model is used to implement and test MPC in Chapter 5. In Chapter 6, the concept of multiple MPC will be introduced. The controller is applied to the ship model of Chapter 5, but the space of operation is expanded which necessitates the use of multiple linear MPC controllers. Parallel Computing Toolbox is demonstrated to design MPC. Additionally, the challenges with frequent switching among the modes is tackled. A hysteresis logic is implemented to mitigate actuators’ chattering.
In Chapter 7, the robustness of the multiple MPC designed in the previous chapter is challenged through Monte-Carlo simulations. In Chapter 8, the novel model for photovoltaic cells developed by Dr. Sharif Aljoaba is introduced and used as a testbed for the design of MPC. Chapter 9 describes the process of embedding MPC in a real-time target application. Arduino Mega is used to test the developed MPC controller. The book is concluded with Chapter 10 which demonstrates a real application of MPC for the control of a complex air-handling diesel engine. Simulation as well as experimental results are shown.

1.4 Software and Hardware Requirements

The MATLAB version that was used to develop the codes is R2017a.
MATLAB Toolboxes that were used are: MATLAB, Simulink, Model Predictive Control Toolbox, System Identification Toolbox. In addition to these toolboxes, MATLAB Parallel Computing Toolbox was used in Chapter 6, and in Chapter 9 we used Embedded Coder, MATLAB Coder, and Simulink Coder.
The operating system is Microsoft Windows 10 Home Version 10.0 (64-bit).

1.5 Downloading the Source Codes

The authors are big advocates of open-source as means to share and spread scientific practices. All the codes are available on Mathworks’ website for free download. Please reference the book in case you use the codes in your publications.
To download the codes, follow the below link (file exchange) and search for the ISBN or title of the book.
https://www.mathworks.com/matlabcentral/fileexchange/
Additionally, the hardware setup for Chapter 9 and other application problems can be purchased with the MPC controller loaded on Arduino Mega from the book’s website:
https://www.practicalmpc.com/mpc-store

Reference

1. http://www.automationworld.com/process-control-software/pulppaper-and-power-gen-industries-embrace-advanced-control.

Further Reading

1. http://discover.rockwellautomation.com/Media/Files/Chlorine-DioxideAppProfile.pdf.
Chapter 2

Theoretical Foundation of MPC

Abstract

This cha...

Table of contents

  1. Cover image
  2. Title page
  3. Table of Contents
  4. Copyright
  5. Dedication
  6. Preface
  7. Acknowledgments
  8. Chapter 1. Introducing the Book
  9. Chapter 2. Theoretical Foundation of MPC
  10. Chapter 3. MPC Design of a Double-Mass Spring System
  11. Chapter 4. System Identification for a Ship
  12. Chapter 5. Single MPC Design for a Ship
  13. Chapter 6. Multiple MPC Design for a Ship
  14. Chapter 7. Monte-Carlo Simulations and Robustness Analysis for a Multiple MPC of a Ship
  15. Chapter 8. MPC Design for Photovoltaic Cells
  16. Chapter 9. Real Time Embedded Target Application of MPC
  17. Chapter 10. MPC Design for Air-Handling Control of a Diesel Engine
  18. Index