Flaws in MRAC Implementation
5 ビュー (過去 30 日間)
古いコメントを表示
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:
- open example Indirect MRAC Control of Mass-Spring-Damper System - MATLAB & Simulink (mathworks.com)
- enable disturbance adaptation:
- 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 件のコメント
Harald
2023 年 7 月 3 日
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
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Adaptive Control についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!