Fundamental questions on controllability and state feedback control of a Furuta pendulum model

4 次查看(过去 30 天)
Hello Matlab community,
I´m trying to create a state feedback controller for a Furuta pendulum, but I´m having a few issues and hope someone can help.
In the project file attached to this post there is a model with a simple state feedback controller and one, where I use an observer to observe the states that are not measured.
When I linearize my model and check for controllability, it only returns rank(ctrb(A, B)) = 1, therefore I would assume that the model is not (fully) controllable. However, when I calculate a gain vector K and run the model, it actually manages to balance the pendulum. Obviously I´m glad that it runs, but I actually do not understand why, as I thought that controllability is a requirement for state feedback control.
Also I was surprised, that one of my eigenvalues of the A matrix is 10^4 smaller than all the other eigenvalues. Is that something I should be concerned about (maybe something wrong with the lineariation) or is it reasonable that this model has these eigenvalues.
The second model in the attached project file uses a state observer. This model is not stable, although it should be regarding the negative eigenvalues. I can´t really tell, why my first model without the observer runs, but the second one with an observer doesn´t...
Furthermore I wonder if there´s a way to choose the state variables of the state space model created in the Model Linearizer. For instance I would like to have the arm and pendulum position and velocity as states and not the current.
I´d appretiate if someone could help me clear my mind! Thanks in advance!
Jooo

回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by