State-space controlabillity / observabillity problem

Thread Starter

Kieran Mackay

Joined Nov 11, 2018
2
Good afternoon,

As part of an assignment for a control systems course, I have to design a system - in state-space - that can damp and track the output of a robotic manipulator. The input to the system is a 5Hz triangle wave - which is for positioning the robot arm - and the output (red) should follow this wave (black). As you can see from the image below the open loop system resonates and requires tracking.

upload_2018-11-11_14-40-35.png
I know I have to do the following steps to design a successful control system:

  1. ascertain controllability and observabillity
  2. design estimator with Luenberger observer
  3. implement full state feedback
  4. test performance and reiterate if neccessary
I have problems ascertaining the controllability and observabillity in MATLAB. I can obtain the observabillity matrix using Mo = obsv(A,C) and the controllability matrix using Mc = ctrb(A,B), these are both 6x6 matrices. However, when i test these for full rank using the rank function - rank(Mc) - it returns 4. The determinant of both Mo and Mc is non zero so the rank function should return 6. Does anyone know why this is the case? (my .m file is below).

Thanks : )

upload_2018-11-11_14-41-39.png
 

drc_567

Joined Dec 29, 2008
1,156
... just trying to correctly understand the problem.

The A matrix is essentially a sequential arrangement of the position and velocity state variables for the three mass elements ... Would it be possible to print and post the relevant system matrices, in order to identify any disparity?

You have the Force input going to the first row of the B matrix, is that correct?

... Also, It is not readily apparent as to how the triangle waveform is applied to the system. Could you briefly explain?

... trying to correlate your problem with the example given here ... eqn. 14 ...:
http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction&section=SystemModeling#1
 

Thread Starter

Kieran Mackay

Joined Nov 11, 2018
2
Hi drc_57 thanks for your reply,

This link here explains how I derived the system equations http://www.efunda.com/formulae/vibrations/mdof_eom.cfm. Essentially the A matrix represents the dynamics of the system. The eigen values of the A matrix are the poles of the system, and yes the B matrix is responsible for the input force. X in my case is a column vector of length 6 representing the states of the system (x1dot x2dot x3dot x1 x2 x3)'.

I am simulating the triangle wave input in simulink and the A,B,C and D matrices are arranged as you can see here https://en.wikipedia.org/wiki/State-space_representation.

I think I found out what my problem is. Essentially the test for controllabillity is finding the rank of the controllability matrix Mc, where Mc is:
- Mc = [B AB A^2B A^3B A^4B A^5B] . The rank function in MATLAB has a hard time computing the rank of this matrix because it has such large numbers in it (since A matrix contains elements in magnitude of 1e7). Instead of testing the rank I have used the ctrbf and obsvf functions in MATLAB: https://uk.mathworks.com/help/control/ref/ctrbf.html. They return 6 for sum(K) so I think I can conclude that my system is minimum realization and now I can begin controlling :).
 

drc_567

Joined Dec 29, 2008
1,156
.... seems like the magnitudes are a little extreme ... 10 gram mass elements and 10^4+ spring constants. ... Would have to inquire if there was a numerical input error of some sort.
 

MrAl

Joined Jun 17, 2014
13,702
Hello,

Just as quick note here...
The diagram graphic seems to be cut off in places. For example, it looks like K3 at the top is cut off maybe? Also the left side seems to be missing part of the graphic.
It would be good to be more careful when posting the diagrams, and above all, after posting CHECK them to see that they are right.
Doing that will probably clear up any questions.

It is not too unusual to see a system that appears to be of order N when it is really of order N-1 or even N-2. That's because some of the variables are not as independent of one another as is required for a true order N system. Now i am not saying that this particular system is definitely less, but it could be.

Maybe we can also create the electrical circuit equivalent of this SMD system if time permits.
 
Top