Flaws in MRAC Implementation

1 Ansicht (letzte 30 Tage)
Yingao Zhang
Yingao Zhang am 30 Jun. 2023
Kommentiert: Harald am 3 Jul. 2023
So far, I've noticed two probable flaws in the Indirect MRAC implementation of Compute control actions to make controlled system track reference model - Simulink (mathworks.com).
  • The disturbance model outputs an adaptation vector with the same size as the state x, but it's added to the control output u directly without multiplying any B matrix (should be Bhat according to literature). This leads to matrix size inconsistency.
Reproductions steps:
  1. open example Indirect MRAC Control of Mass-Spring-Damper System - MATLAB & Simulink (mathworks.com)
  2. enable disturbance adaptation:
  3. update the model to see the error message:
  • Learning modification methods leads to estimation divergence under all circumstances since "position" instead of the commonly used "momentum" was added to gradient descent. See the unstable positive feedback loop inside the Sigma Modification implementation: It leads to estimation divergence unconditionally! A potential correct implementation of adding momentum to gradient descent should be for example adding a Moving average - Simulink (mathworks.com) filter with Exponential weighting before integrator input.
  1 Kommentar
Harald
Harald am 3 Jul. 2023
Hi Yingao,
it seems that you have suggestions on improving an example. My recommendation would be to contact the Technical Support team of MathWorks (https://www.mathworks.com/support/servicerequests/create.html). They can discuss the suggestions with you and if they agree with you, pass them on to the developers who can then incorporate your suggestions.
Best wishes,
Harald

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Adaptive Control finden Sie in Help Center und File Exchange

Produkte


Version

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by