Problems with Linearization of Simscape Model

8 次查看(过去 30 天)
Dear community,
I am trying to build a model of a Furuta pendulum in Simulink/Simscape. Unfortunately, when I try to linearize my model with the Model Linearizer, I get an unexpected result. The evaluation of the linearized system shows, that it is only poorly controllable, although a classic Furuta pendulum should be fully controllable according to literature. Therefore I assume, that there must be something wrong with my model or the way I linearized it but I can´t figure out what it is....
I´d highly appreciate any help on that, as this is bothing me for quite some time now. The model is attached to this post.
Thank you an d best regards,
Jooo

采纳的回答

Vasco Lenzi
Vasco Lenzi 2020-8-24
HI Jooo
My guess is that the Furuta Pendulum is fully controllable when the input is the torque, and not the underlying DC motor characteristics.
If you replace the entire motor with a direct torque input, the system is controllable and the controllability matrix has rank 4:
At the same time if you use the simplified DC motor model current is linearly related to torque, so if you feed a current sources to the motor (instead of voltage) you get as well a fully controllable system:
I may be wrong, but I don't think you can get a proper controllability matrix if you include two cascading system (external loop: arm position, internal loop: DC motor torque) as both open loop, like you were doing. You need to examine both system independently, the position loop assuming a perfect dc motor (eg torque (or current) fully controllable)
Hope this sparks some thoughts - it has been many years since my control system lectures so take everything with a grain of salt.
Thanks
Vasco
  3 个评论
Vasco Lenzi
Vasco Lenzi 2020-9-8
hi Jooo
reach out to me through the community message page and share an email. I will then send the files of the video - since this an old demo we prefer not to have the files lying around.
Thank you for your understanding
Vasco

请先登录,再进行评论。

更多回答(1 个)

Vasco Lenzi
Vasco Lenzi 2020-8-21
Dear Jooo
Thank you for reaching out! I took a look at your model. The first thing I noticed is that there is no true kinematic connection between 1D and 3D modeling. Basically you are feeding torque to a rotational joint, but you are not feeding back the dynamics to the 1D model. This is not done automatically since you are going over a 1D connection which goes only in one direction:
We have a dedicate free blockset that specifically deals with 1D to 3D connection, called
you can find various example and ready to use DC motor that connects Simscape 1d to 3d Simscape Multibody world:
in that case the kinematic relationship between the joint and the motor is "bidirectional" using simscape lines and an internal loop construct:
in which basically you force a torque on the joint, measure rotational speed and feed the simscape 1d rotational world at that speed.
I believe fixing properly the 1D to 3D connection should fix your linearization problems. I suggest to use the DC motor block included in the Multiphysics Library.
  1 个评论
Jooo
Jooo 2020-8-21
Hi Vasco,
thanks for your reply. You are right, the DC Motor model from the Simscape Multibody Multiphysics Library is probably more accurate. I have actually already tried this before. (see attached project) Unfortunately, the result is not much different in regards of the Linearization. When I use your recommended DC Motor Model and linearize the whole Subsystem including the DC Motor and the pendulum mechanics I get the following Linear System.
My controllability matrix ctrb(A,B) then looks like this with rank = 1, which I believe can´t be right...
Controllability =
1.0e+26 *
0 0.0000 0.0000 -0.0000 0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0007
0 0.0000 0.0000 -0.0000 0.0000
0.0000 0.0000 -0.0000 0.0000 -0.0015
0.0000 -0.0000 0.0000 -0.0000 9.2972
Is there anything else you´ve noticed, that could be wrong with the model?
Thank you and best regards,
Jooo

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Simscape Multibody 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by