System Identification with Matlab - Control System Design 3/6 - Phil's Lab #9

Sdílet
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

Komentáře • 65

  • @IEEEclipse
    @IEEEclipse Před 4 lety +22

    By gosh Phil, you somehow brilliantly condensed my graduate research of motor control theory into 20 minutes.. Well done and spot on.

    • @PhilsLab
      @PhilsLab  Před 4 lety +1

      Thank you very much Tanner, I'm very glad to hear that!

    • @rorywaylon9719
      @rorywaylon9719 Před 3 lety

      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

    • @nikolaisawyer2392
      @nikolaisawyer2392 Před 3 lety

      @Rory Waylon yea, I've been watching on instaflixxer for months myself :)

  • @stefanobarfucci6854
    @stefanobarfucci6854 Před rokem +8

    Great content. It would be awesome to see 4,5, and 6 videos!

  • @Gabriel_CeS
    @Gabriel_CeS Před 4 lety +3

    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.

    • @PhilsLab
      @PhilsLab  Před 4 lety +3

      Thank you Gabriel! Yes, the 5th video will cover the implementation + a bit of PCB design. Next video will be on designing the controller!

  • @pramitchaudhury1821
    @pramitchaudhury1821 Před 3 lety +3

    Thanks for giving new life to the contol system lectures I received in university never felt interested that time now it feels so cool

    • @PhilsLab
      @PhilsLab  Před 3 lety

      That's great to hear, thank you, Pramit!

  • @neerajkumar9583
    @neerajkumar9583 Před 3 lety

    Amazing content, Phil! Looking forward to the remaining parts of the tutorial. Keep up the good work.

  • @vtfanta
    @vtfanta Před 3 lety +6

    I NEED the continuation! :D Brilliant series.

    • @PhilsLab
      @PhilsLab  Před 3 lety +4

      Haha thank you, hopefully at some point in the next few months!

    • @superflanker07
      @superflanker07 Před 3 lety +2

      We are 2 waiting for XD

    • @-maver1ck
      @-maver1ck Před 3 lety +1

      Please continue the series!

  • @opol123456
    @opol123456 Před 3 lety

    I appreciate your sharing on the control system, can't wait to learn more in-depth. Thank you

    • @PhilsLab
      @PhilsLab  Před 3 lety +3

      Thank you very much, hope to continue this series soon!

  • @rasmusg1407
    @rasmusg1407 Před 4 lety

    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).

    • @PhilsLab
      @PhilsLab  Před 4 lety

      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! :)

  • @abdurrahimemin1371
    @abdurrahimemin1371 Před 4 lety

    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

    • @PhilsLab
      @PhilsLab  Před 3 lety

      Thank you so much! Really glad to hear that.

  • @musenzerob2181
    @musenzerob2181 Před 4 lety +2

    Thanks for the time and effort your putting in this.

    • @PhilsLab
      @PhilsLab  Před 4 lety

      My pleasure, thank you for watching!

  • @user-vm1uc9cu5u
    @user-vm1uc9cu5u Před rokem +1

    You are a god in the explanation, we need more please=)

  • @mathmaker6946
    @mathmaker6946 Před 8 měsíci

    That was wonderful, looking forward to watch the future videos

  • @mikael5743
    @mikael5743 Před 3 lety +2

    I hope you continue this series. Thank you very much

    • @PhilsLab
      @PhilsLab  Před 3 lety +1

      Thank you, Mikael - yes, definitely planning on continuing the series. The whole KiCAD/PCB design stuff seems to be much more popular though.

    • @Frankx520
      @Frankx520 Před 3 lety

      @@PhilsLab I love both. Thank You!

  • @DoubleDee364
    @DoubleDee364 Před 2 lety +8

    This is a really great series Phil, I was wondering if you were still planning on completing it?

  • @youssefcherqaoui7793
    @youssefcherqaoui7793 Před 3 lety +1

    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

  • @SuperJoelgeorge
    @SuperJoelgeorge Před 3 lety +1

    Very engaging and informative video ,plz upload the rest of the parts . Please

  • @TorgeirFredriksen
    @TorgeirFredriksen Před 3 lety

    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.

    • @PhilsLab
      @PhilsLab  Před 3 lety +1

      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.

  • @elhammodarresi9707
    @elhammodarresi9707 Před 2 lety

    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.

  • @oraszuletik
    @oraszuletik Před 4 lety +5

    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.).

    • @ebhhon7826
      @ebhhon7826 Před 4 lety

      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!

    • @PhilsLab
      @PhilsLab  Před 4 lety

      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!

  • @willson8246
    @willson8246 Před 2 lety +1

    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?

  • @pratikprajapati8620
    @pratikprajapati8620 Před 2 lety

    Thanks a lot Phil. Just loved it. I unable to find out next video. can you please share the link.
    Thanks
    P

  • @naemamir678
    @naemamir678 Před rokem +1

    Hello! Phil, where are the rest of the series 4,5 and 6?

  • @dominicnalliah3635
    @dominicnalliah3635 Před 2 lety +1

    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? :)

    • @deebo7276
      @deebo7276 Před rokem

      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

  • @teoprotoulis3419
    @teoprotoulis3419 Před 4 lety

    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.

    • @PhilsLab
      @PhilsLab  Před 4 lety +1

      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.

  • @klave8511
    @klave8511 Před 4 lety +1

    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?

    • @PhilsLab
      @PhilsLab  Před 3 lety

      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.

    • @NoahFect
      @NoahFect Před 2 lety

      @@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...?

  • @rogeronslow1498
    @rogeronslow1498 Před 3 lety

    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.

  • @alex-pf8xr
    @alex-pf8xr Před 3 lety +1

    Great lecture!!! BTW,what software do you use to make notes?

    • @PhilsLab
      @PhilsLab  Před 3 lety

      Thank you! For the handwritten stuff I use Notability running on an iPad.

  • @abdulrouflone_5555
    @abdulrouflone_5555 Před 3 lety +1

    Where are the other videos, please upload

  • @silentsniper9531
    @silentsniper9531 Před rokem

    Hello Phil!
    Where can I find the missing videos (4-6) of the Control System Design Playlist?

  • @StreuB1
    @StreuB1 Před 4 lety +2

    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!!!

    • @cbinders
      @cbinders Před 4 lety +2

      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.

    • @PhilsLab
      @PhilsLab  Před 4 lety +2

      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!

    • @cbinders
      @cbinders Před 4 lety

      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.

  • @mzakirbaig
    @mzakirbaig Před 2 lety

    Hi Phil, it's been a year I am waiting for your 4th, 5th and 6th videos. When you'll make those videos? :-)

  • @MikeNugget
    @MikeNugget Před 4 lety

    2:15 how about propellers? (:

  • @muhammadqaisarali
    @muhammadqaisarali Před 2 lety

    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...

  • @abdurrahimemin1371
    @abdurrahimemin1371 Před 3 lety

    can you please provide me information about the type of motor you used?

    • @PhilsLab
      @PhilsLab  Před 3 lety

      It's something similar to this type of motor: www.pollin.de/p/gleichstrommotor-johnson-20543-310490

  • @cosmicazur
    @cosmicazur Před 2 lety

    What happened to the remaining tutorials?

  • @GhostBrew
    @GhostBrew Před 2 lety

    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...

  • @Ryezn5057
    @Ryezn5057 Před 3 lety

    Where's part 4?