top of page
Search

MACHINE LEARNING BASED TOOL FOR PID CONTROLLER TUNING STATUS

  • Writer: Amar Haiqal Che Hussin
    Amar Haiqal Che Hussin
  • Oct 23, 2021
  • 2 min read

Overview

This is my final year project which aimed to investigate whether is it possible to use machine learning to predict and identify the PID controller tuning status. Based on literature review, the PID tuning status is categorized into Sluggish, Aggressive and Optimised. Next, we also would like to see which machine learning model is the most suitable to be applied in this application.


Methodology

To start, I listed out the machine learning model that can be used for classifying the tuning status, The software I used were MATLAB Classification Learner and Python IDE. These are the model that were developed:

  • Decision Tree (Coarse Tree, Medium Tree, Fine Tree)

  • Naïve Bayes (Gaussian, Kernel)

  • Support Vector Machine (Linear, Quadratic, Cubic, Fine, Medium, Coarse Gaussian)

  • Nearest Neighbour (Fine, Medium, Coarse, Cosine, Cubic Weighted)

  • Ensemble (Boosted, Bagged, Subspace Discriminant, Subspace KNN, RUSBoosted Tree)

  • Neural Network (Narrow, Medium, Wide, Bilayered, Trilayered)

  • XGBoost

Next, we need the data to train and test the models. To do so, I need to generate my own data using Simulink



Simulink PID

The data generated were exported to Excel as seen below

ree

Then from the literature review, we define the term Aggressive, Optimsed and Sluggish based on IAE, ISE, Overshoot and the behaviour. The illustration below is a sample of countour of IAE at different P and I value. The green coloration is where the IAE below 20 and that is where most of the optimised region resides


ree

The illustration of Aggressive, Sluggish and Optimised region is illustrated below


ree



Once we have the training data ready, we can proceed to develop the Machine Learning models. As mentioned before, I used two different medium which was MATLAB and Python. Python was used to develop XGBoost model while the rest of it in MATLAB Classification Learner



ree


Discussion

In summary, we concludes that Machine Learning model can identify how the PID controller tuning status at different values of P and I. Plus, XGBoost was seen as the best model for this application


ree

ree

Link to The Project




 
 
 

Comments


Post: Blog2_Post
  • Facebook
  • LinkedIn

©2021 by Amar Haiqal

bottom of page