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

5 views (last 30 days)
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

Answers (0)

Categories

Find more on Programming 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!