Data-Driven Control: Eigensystem Realization Algorithm Procedure

Поделиться
HTML-код
  • Опубликовано: 18 янв 2025

Комментарии • 24

  • @markghali7623
    @markghali7623 4 года назад +7

    Why only impulse inputs, rather than step inputs ?
    Would several consecutive Impulses give better approximations ?

    • @Eigensteve
      @Eigensteve  4 года назад +9

      Great question. In some systems you will need to do a step input instead of an impulse. Actually, this was the case in my thesis, where I was building unsteady aerodynamic models past small pitching airfoils. It made more sense to "step" the airfoil angle of attack, say from 0 degrees to 5 degrees, and model the step response. But a step response in the angle is an impulse response in the angular rate. So I appended the angle to the state of my system and made the angular rate the input, so that it was an impulse response problem again. This is usually possible.

    • @theBlaxicindasian
      @theBlaxicindasian 4 года назад +1

      @@Eigensteve Very clever to change the variable so that a step input becomes an impulse input. But what about the case where actuator saturation cannot create a sufficiently large impulse, for example if your angle of attack actuator is too slow to impulsively change from 0 degrees to 5 degrees? Is this an inherent flaw in the system design, or is there still a way to apply ERA? I understand that one could perform the experiment anyway and carry out the procedure you've described in the video, but I worry that with a small magnitude impulse the system dynamics would be buried in noise and the system realization would vary highly between experiments.

    • @Eigensteve
      @Eigensteve  4 года назад +2

      @@theBlaxicindasian in this case, you would use ERA in conjunction with OKID (a few videos later). Then, from a non-impulsive input, you can back out what the impulse response would have been and use ERA.

  • @isabelscherl173
    @isabelscherl173 4 года назад +4

    How do you build the Henkel matrix for a system if it has multiple measurements? Would each y_1, y_2, ..y_m be a vector within the Henkel matrix for each measurement at the specified time step?

    • @Eigensteve
      @Eigensteve  4 года назад +6

      Great question. At 6:41, I hint at how to do this. For a linear system, you can replace y_1 with CB, y_2 with CAB, y_3 with CA^2B, etc. For a system with multiple inputs (q) and multiple outputs (p), then each of these matrices is size p x q. So basically, you would stack all of these p x q matrices the same way as you stack the y's. The real trick is how to rearrange your input data to get these matrices and rearrange the SVD at the end to get a model. To start, you would perform q impulse response experiments, one for each input, and you would measure each of the outputs for each impulse response. Then, you would need to organize these into the matrices CB, CAB, CA^2B, .... Then, at the end of this procedure, when you compute the SVD of your Hankel matrix, you would need to be careful about how to use those matrices to compute the reduced model with q inputs and p outputs. I believe this last part is in the book in chapter 9.

    • @elise8619
      @elise8619 Год назад

      @@Eigensteve Thank you for these clarifications! But how does this work with HAVOK? In the supplementary of your 2017 HAVOK paper you write: "In the following, we will present the theory for a single scalar measurement, although this framework generalizes to multiple input, multiple output (MIMO) problems." But I could not find any further clarification on how this generalizes.
      Since the above (CB,CAB,...) only works for linear systems, how would one stack multiple variable measurements for HAVOK?

  • @niveyoga3242
    @niveyoga3242 4 года назад +4

    Does it matter what the amplitude of the impulse is at t=0? I'm doing some simulations using non-linear/linearized systems, and there the results (mostly scaling I think) are quite amplitude-dependent (i.e. I check them by simulating both systems for another input).

    • @Eigensteve
      @Eigensteve  4 года назад +4

      For a linear system, the results shouldn't depend on the amplitude of the impulse. If I double the impulsive input, then the output will double. But for nonlinear systems, the output can be highly dependent on the size of the input. ERA/OKID are specifically designed for linear systems where superposition holds. We have some extensions for nonlinear systems, but this is still being developed. (www.nature.com/articles/s41467-017-00030-8)

    • @niveyoga3242
      @niveyoga3242 4 года назад +1

      @@Eigensteve Thank you! :)

  • @jackkaplan1471
    @jackkaplan1471 4 года назад +2

    What is the dimension of the H matrix? If it is some finite (K x K) matrix, then what are the entries where if you follow the pattern, you get some y_m where m > k?

    • @Eigensteve
      @Eigensteve  4 года назад +2

      H is a finite matrix, but not necessarily square. In fact, there is a lot of modern research on what the dimensions of H should be to get a good model. Not at all obvious. We have a paper related to this question for nonlinear systems: www.nature.com/articles/s41467-017-00030-8

  • @eengpriyasingh706
    @eengpriyasingh706 Год назад

    great explanation sir

  • @AleeEnt863
    @AleeEnt863 Год назад

    Hi Steve,
    That was awesome as always!
    Keep up the good work.
    I was wondering to know how you guarantee the full-row rank of the Hankel matrix to identify the system correctly.
    Thanks,
    Ali

  • @evanparshall1323
    @evanparshall1323 7 месяцев назад

    Great Video! This derivation hinges on the fact that H=OC and the SVD of H=USV*. You make the assumption that O = US^.5 and C = S^.5V* in order to estimate A, B, and C. This assumption does not seem trivial to me. Why do you assume this? Thank you Steve!

  • @masoudsakha9331
    @masoudsakha9331 2 года назад +1

    Does it works for MIMO systems? The hankel matrix will be so large in high input output system. Is there any solution for that?

    • @Eigensteve
      @Eigensteve  2 года назад

      It does work for MIMO. The dimension does get very large, but we have powerful tools for computing large matrix SVDs. In fact, sometimes this approach is still more efficient than other MIMO identification techniques.

    • @masoudsakha9331
      @masoudsakha9331 2 года назад +1

      @@Eigensteve could you please introduce the source (book , paper etc) or any clip maybe you have address this issue. ERA for MIMO systems. Do we need three dimension hankel matrix?

    • @Eigensteve
      @Eigensteve  2 года назад +1

      @@masoudsakha9331 This is the paper I was thinking about: link.springer.com/article/10.1007/s00162-010-0184-8 (arxiv paper arxiv.org/pdf/0907.1907.pdf )

  • @dh98262
    @dh98262 Год назад

    Regarding the note that enough data should be used such that y approaches 0, is this a requirement? Or does the algorithm still work for unstable systems?

  • @lucasalexpitzeralexlau7920
    @lucasalexpitzeralexlau7920 Год назад

    How do we know splitting H like this using the svd yields O and C, and not just any two matrices which multiply to H?

  • @ggh4627
    @ggh4627 3 года назад

    i have some question, i read already paper that unknown variable x from ERA can be used from full state feedback. how can this happen? just black box?
    i think if i want to feedback velocity, acc, position, it is nessesary to know x vector component. although i didn't watch last videos, there is no problem in control system using state-space equation deriven from ERa?

  • @sayyedmudassirali3293
    @sayyedmudassirali3293 2 года назад

    I think the generated A matrix is sensitive to phase shift, can we build similar algo. using fft