Problems with Linearization of Simscape Model
12 views (last 30 days)
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,
Vasco Lenzi on 24 Aug 2020
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.
More Answers (1)
Vasco Lenzi on 21 Aug 2020
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.