Simscape Multibody PID Controller Tuning fails after different attempts.
3 次查看(过去 30 天)
显示 更早的评论
I created a Ball on Plate system using Simskape Multibody.
It was imported as a CAD model. Now I want to control the position of the ball on the plate. For this I want to use a PID controller. I have already built the control loop. Since I don't have a mathematical model of the system I want to use the autotune function of the PID controller. But this fails.
I have tried this in two ways:
The autotune function of the PID block gives me the following error message:
Here I read in another article (https://de.mathworks.com/matlabcentral/answers/135228-pid-tune-plant-cannot-be-linearized-why) that the linearization of the controlled system can also take place at another position than the zero point. But also this approach failed.
My second approach was to parameterize the PID controller using this guide:
Again, no useful parameters come out.
(https://de.mathworks.com/help/slcontrol/ug/pid-autotuning-for-a-plant-modeled-in-simulink.html)
Now I wonder if I have a basic problem with the PID controller blocks or Simulink or Simscape Multibody. Am I doing something wrong?
Simulink model is attached. "bop_komplett.slx"
0 个评论
回答(1 个)
Juan Sagarduy
2020-11-6
Hello Florian
Looking at the snapshot, it looked strange that you have a closed loop control but the motor joints are in kinematic mode (fed with angle q).
I would try the autotuner, but set the joints in dynamic mode (actuation torque from the controller). This is the conventional approach.
If that does not work, then there can be a challenge in linearizing the plant.
Good luck / Juan
2 个评论
Juan Sagarduy
2020-11-8
Hi Florian
If the kinematic mode is to be used and plant can’t be linearized, then the alternative is to use Design Optimization for tuning.
Your PID parameters are iteratively refined until the response (ball position) is within the accepted range.
Regards Juan
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simscape Multibody 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!