Flaws in MRAC Implementation

1 view (last 30 days)
Yingao Zhang
Yingao Zhang on 30 Jun 2023
Commented: Harald on 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 Comment
Harald
Harald on 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

Sign in to comment.

Answers (0)

Categories

Find more on Adaptive Control in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

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

Start Hunting!