how to tune PID controller for a vehicle model in Simscape?

25 views (last 30 days)
Sajad  A.Anbaran
Sajad A.Anbaran on 30 Mar 2018
Answered: Sajad A.Anbaran on 23 Oct 2019
Hello,Would you please tell me how to tune PID controller for a vehicle model built in Simscape?
I watched several of MATLAB webinars hosted by Dr.Christoph Hahn and colleagues; including "Vehicle Modeling, Race Lounge, part 1-4" where in part 3, the presenter set PI coefficients by simply saying 'I know this numbers will work and "Principles of Control Design - MATLAB and Simulink Racing Lounge" where they model is built in simulink NOT IN SIMSCAPE.
this conventional methods of tuning PID are good in simulink but doesn't work with my simscape model. My model is a simple vehicle model and it runs fine in open-loop. the model is based on this video published by MATLAB [].
I want to add driver model by introducing a closed-loop.I used "tune" button inside PID block and I got this picture (no.2). I tried to linearize the model and find the p and i values. that was unsuccessful too. Kindly teach me how to tune a PI for this simple model in simscape.Thank you.
Regards, S.A.A.
Sajad  A.Anbaran
Sajad A.Anbaran on 27 Apr 2018
Hello Birdman, Sorry for the late reply.
Kindly find the model as attached to my response to Veer.
Thank you,

Sign in to comment.

Answers (2)

Veer Alakshendra
Veer Alakshendra on 31 Mar 2018
Hi Sajad,
Thanks for the query. The reason of your model not getting linearized can be inappropriate selection of the initial conditions. Although it is difficult to point you to the exact solution without seeing the model, I am forwarding you two links which might help you to linearize the model.
Thanks, Veer
  1 Comment
Sajad  A.Anbaran
Sajad A.Anbaran on 27 Apr 2018
Hello Veer, I apologize for the late reply.
What I essentially try to do is to control ICE speed with a PI controller. the model is attached to this message.
Below is the workflow that I follow:
  1. find model steady-state operating point
  2. linearize at operating point.
  3. validate linearization with Frequency Response Estimation
  4. everything good? then continue with PI tuning using Control system Toolbox.
for step 1 and 2 I use Linear Analaysis "trim model" from operating point drop-down. then specify states/known/constrains. once, trimming is done, I get Bode plot from Linear Analysis Tool.
In the trim window, there are several variables that I don't know what to do with them. They are highlighted in picture below
Question 1) What do highlighted variables represent?
Question 2) What should be the variables specifications as state/known/constrains?
To my understanding, I selected engine speed and vehicle speeds as state variables since I want to design Engine speed controller. Correct me if I am wrong.
Question 3) How to handle linearization and operating point search for a Simscape model? MATLAB help recommends "projection-based trim optimizers" to produce better ttrimming results for simscape models.
There are few optimization methods. I don't know which to select and what should be the "optimization option" setting.
Thank you, Sajad

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by