System Identification with Matlab - Control System Design 3/6 - Phil's Lab #9
Vložit
- čas přidán 24. 07. 2024
- How to gather and use real-world, open-loop step response data to estimate system parameters and transfer functions. Comparison with previously derived mathematical model, as well as model verification.
System identification in Matlab using the 'PID Tuner' app, which is part of the 'Control System Toolbox'.
If you're enjoying my content, please consider becoming a patron: / phils94
Tutorial repository: github.com/pms67/ControlSyste...
[TIMESTAMPS]
00:00 Introduction
00:05 Overview
00:45 Mathematical System Model
01:44 Complications
02:27 Lengths and Masses
02:46 Moment of Inertia
03:33 Motor Conversion Gain
05:19 Real-World Test Set-Up
07:25 C# USB Communication GUI
07:59 Matlab System Identification (Data Preparation)
09:50 Matlab System Identification (Plant Identification)
13:59 Model Comparison, Verification, and Parameter Estimation ID: QIBvbJtYjWuHiTG0uCoK - Věda a technologie
By gosh Phil, you somehow brilliantly condensed my graduate research of motor control theory into 20 minutes.. Well done and spot on.
Thank you very much Tanner, I'm very glad to hear that!
dunno if anyone gives a shit but if you guys are stoned like me atm then you can watch pretty much all the new movies on InstaFlixxer. I've been streaming with my girlfriend for the last weeks xD
@Rory Waylon yea, I've been watching on instaflixxer for months myself :)
Great content. It would be awesome to see 4,5, and 6 videos!
Thank you for the well organized and instructive video, I was searching for this type of content for a long time on youtube. I’m looking foward to the next videos of this series and would love to see more about the implementation and the pcb design.
Thank you Gabriel! Yes, the 5th video will cover the implementation + a bit of PCB design. Next video will be on designing the controller!
Thanks for giving new life to the contol system lectures I received in university never felt interested that time now it feels so cool
That's great to hear, thank you, Pramit!
Amazing content, Phil! Looking forward to the remaining parts of the tutorial. Keep up the good work.
I NEED the continuation! :D Brilliant series.
Haha thank you, hopefully at some point in the next few months!
We are 2 waiting for XD
Please continue the series!
I appreciate your sharing on the control system, can't wait to learn more in-depth. Thank you
Thank you very much, hope to continue this series soon!
That was amazing Phil, good job! Was waiting for this video to come up and it was worth the wait! Keep up the good work, it's really interesting what you're doing here. Thanks! Also congrats on the exact 10.000 subscribers (as I am writing this comment).
Thank you very much! I'm very glad you liked the video. Thanks - yeah I'm surprised I'm at the 10,000 mark now as well haha! :)
you are one of the best that I have seen for teaching control system design, I really want to say THANK YOU FOR MAKING LIFE EASIER FOR LEARNERS, KEEP IT UP
Thank you so much! Really glad to hear that.
Thanks for the time and effort your putting in this.
My pleasure, thank you for watching!
You are a god in the explanation, we need more please=)
That was wonderful, looking forward to watch the future videos
I hope you continue this series. Thank you very much
Thank you, Mikael - yes, definitely planning on continuing the series. The whole KiCAD/PCB design stuff seems to be much more popular though.
@@PhilsLab I love both. Thank You!
This is a really great series Phil, I was wondering if you were still planning on completing it?
Thank you for all the valuable information. I'm following both project's, this and the PCB/ KiCad. I have a feeling that you might introduce a quadcopter application and thus a MIMO system. Really eager to see 4 5 6 videos
Very engaging and informative video ,plz upload the rest of the parts . Please
Thank you, Joel!
Where is the next video? I just stumbled into your channel and I have watched many of your videos already. Very impressed, subscribed already! I graduated as an electronics engineer but have forgotten much of the math and theory, so I really enjoyed what you do. Both control theory and the digital filtering stuff. Please keep it coming.
Hi Torgeir, Thank you for your kind words! I'm afraid the next video is going to have to wait a little bit longer but I hope to finish the series in the next couple months.
Thanks a lot. I have a question. Can we use the same method to identify a MIMO system? For example for a 2by 2 system, make one input (x2) equal to zero and gain a plot between the other input (x1) and one output (y1). Can we then estimate the G11 transfer function? and do the same to estimate other transfer functions?
Thank you in advance.
Nice explanation. What about include system identification process into the final product? I mean, as you put the hardware together, run the measurements there, calculate the actual values and use them. They will be very actual, plus you can adopt the controller to different hardware's (eg. motors, propellers, bearings etc.).
This is actually done in many real world control systems. Imagine you would have to do all the math including the piece you are milling on a 3D machine, this would be very cumbersome and costly!
Thank you! Yes, some systems do incorporate this. In typical control system design, the system identification is done 'offline'. So basically, gather system response data in the real-world and then use Matlab/etc to get a model for simulation. However, I've actually made an 'online' gradient-descent-based system identification tool, that will update the plant model estimate in real-time. Might make a video on that sometime in the future!
I've seen all Control System Design videos 1/6, 2/6 and 3/6. They all are very good videos. I tried to find next video 4/6, 5/6 and 6/6 but didn't find in your channel. What's the keyword I can used to find them in your channel?
Thanks a lot Phil. Just loved it. I unable to find out next video. can you please share the link.
Thanks
P
Hello! Phil, where are the rest of the series 4,5 and 6?
Hi Phil
I'm currently taking the challenge on learning system identification, so I really enjoyed your methodology throughout the series!
I am a little confused on how, you can conclude that T = I/c at 18:13 , because algebraically, I can't come up to the same conclusion. Would it be possible for an elaboration? :)
Time constant of a pole is the negative reciprocal of the pole location :) Pole location: s=-c/I. Time constant: t=-1/(-c/I)=I/c
Nice video quality and explanation. After the estimation of the plant’s parameters, isn’t it necessary to perform a validation step by collecting new data from the real system (different input signal than the one used for the identification) and compare the real output data with the output data produced by the estimated mathematical model ? For example, step input amplitude of 10, collect output data, simulate the system using the estimated model with step input amplitude of 10, compare real output with simulated output.
Thank you! Yes, I did most of that work off-camera and just wanted to show how a simple example of how to do it for one set of measurements. As you say, many different inputs need to be applied and responses measured, across different operating regimes to get the full, true system model.
For this system, I ran several tests and they all hinted towards the system as shown in the video.
So nicely presented, great job! The motor time constant sounds very fast. I read this as the motor reaches 63% of its final value 1us after the step input is applied. Assuming it has inertia itself, including the prop, that would be a very small motor. What am I missing here? Could this be measured separately rather than as one part of the combined function?
Thank you! Yes, the motor time constant does appear rather fast. It'll probably be slower but the general point is that it is significantly faster than the time constant of the pendulum system and thus can be 'safely' ignored when designing the controller, since the ID-ed system is pretty much dominated by a single time constant + integrator.
Ideally, and as you said, the motor could be measured on its own on some sort of test jig, to not only measure the static response but also the dynamic response and thus retrieve the time constant. But then again I believe for this system the motor time constant will not significantly influence stability in any case.
@@PhilsLab Can't believe it's not just a math artifact. How can you extract a time constant on the order of one microsecond by sampling at 20 Hz...?
The motor time constant is generally broken into two parts. The first part is the electrical time constant. This is related to the motor inductance and how fast the current can ramp up at a given supply voltage.
The second time constant is related to the moment of inertia of the rotating part of the motor. Normally the electrical part is so fast it can be ignored when compared to the mechanical inertia.
Great lecture!!! BTW,what software do you use to make notes?
Thank you! For the handwritten stuff I use Notability running on an iPad.
Where are the other videos, please upload
Hello Phil!
Where can I find the missing videos (4-6) of the Control System Design Playlist?
What classes in college are actually devoted to learning things like this? What degree would all of this fall under? Thank you for doing these by the way. I am absolutely blown away!!!
There are several different majors that are focused on Control Theory subject. Electrical engineering, mechatronics, mechanical engineering, industrial automation. Each of them has slightly different approach to the same topic. I did a mechanical eng where emphasis was on the system stability and controllability, what considerations to take while designing a system. I suppose EE would be more focused on control aspects.
Thank you very much , Brian! Normally, control theory will be part of a few different engineering degrees (specifically, EE) but there are actually (advanced) courses that will only focus on control systems. I did one of those for my master's. That covered non-linear control, H-infinity control, optimal control, etc etc. Truth be told, it is very rare for that kinda stuff to be used in industry unfortunately and pure control engineering jobs are rare. PID is still the most commonly used controller and pretty much anyone without a degree can learn how to tune them!
Phil S, my experience is the same. Unless you are in academia or some startup, you are mostly stuck with motor control toolbox of some kind and tuning the PID’s. Which of course shouldn’t discourage anyone proceeding with Control theory study. Btw, very good and clear explanation of the topic Phil.
Hi Phil, it's been a year I am waiting for your 4th, 5th and 6th videos. When you'll make those videos? :-)
2:15 how about propellers? (:
Thanks for the video.
But I am wondering, what was the need of Mathematical Modeling, if at last we used System Identification with the help of Matlab..
Because with without System Identification the mathematical modeling was useless due to I and C.. if system identification was supposed to be done, then wasn't mathematical modeling approach redundant? ...
Moreover mathematical modeling results were dependent on System Identification values and hence comparison of both methods was useless, comparison can be done only when the methods were independent of each other...
can you please provide me information about the type of motor you used?
It's something similar to this type of motor: www.pollin.de/p/gleichstrommotor-johnson-20543-310490
What happened to the remaining tutorials?
Good work Phil, I would love to know how you did the graph code in C#, I am doing a logger using SkiaSharp with C# for one of my projects...
Where's part 4?