
Implementing MRAC for Robotic arm of unknown link lengths
10 views (last 30 days)
Show older comments
Hi! I am currently trying to implement MRAC in Simulink for a 3DOF robotic arm, but I'm a bit confused on the block connections and deriving the reference model.
For the reference model im using a 2nd order equation because the system in non linear, but if link length is unknown how do I implement the adaptive control because to use transfer functions the values should be known? The reference model im trying to implement is : b /s^2 +2s + b
This is my model with PID, but if I want to replace PID with MARC where should I connect the block?

0 Comments
Accepted Answer
Sam Chak
on 17 Mar 2025
Hi @Sandy
Based on your image, the MRAC block should replace the Sum and PID controller blocks. If the link length is unknown, do you really need to estimate the link length in order to compute the MRAC output u? If so, you should design for Indirect MRAC, as mentioned in the documentation.
However, in a real scenario, it is very unlikely that measuring the link length of the robotic arm would be impossible, as all dimensions must be indicated in the technical blueprints for approval by the Project Manager and the Professional Engineer.
In my opinion, the best way to learn the adaptive control is through understanding the equations in the adaptive control books, or learn from the professor who teach the adaptive control course in that particular semester. No one ever truly learns adaptive control just by interconnecting the signals from ports to ports in Simulink and click the Run
button.

0 Comments
More Answers (0)
See Also
Categories
Find more on Gain Scheduling in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!