From: Ahmad on
Hi,

I want to control the two wheel nxt inverted pendulum robot using state-space controller.

The state-space model of the robot has

6 states (YawAngle, YawAngluarVel, PitchAngle, PitchAngluarVel, WheelAngle, WheelAngluarVel),
2 inputs (LeftMotrorVoltage, RightMotroVoltage),
3 outputs (WheelAngle, PitchAngluarVel, YawAngle).

I have calculated the full state feedback gains which is a 2x6 matrix.

Since I have 2 control inputs, 3 measured outputs (3 out of 6 states), I need to create an estimator(Kalman).

Could any one can explain me the followings:

1-What would be the size of the kalman G,Q,R matrix?
2-When can I use the elements of G matrix as unity?


Regards,
From: Ahmad on
Hi, Bruno,
Thanks for the prompt reply.Could you please explain how we select the dimensions for the kalman estimator's G,Q,R matrix?

> G : 6 x 2
> Q: 6 x 6
> R : 3 x 3
> H: 3 x 6

Another thing which i want to know that, If I dont know the matrix G, H and for the sake of design iteration I assume G = B, which means the the process disturbances are entering into the system through the inputs!!, but I want to add the disturbances individualy to each states how do then I select the G matrix?
Regards.
From: Bruno Luong on
"Ahmad " <ahmadkamal4u(a)gmail.com> wrote in message <hqnmhs$oka$1(a)fred.mathworks.com>...
> Could you please explain how we select the dimensions for the kalman estimator's G,Q,R matrix?

From you (first post) and from Kalman, of course.

> Another thing which i want to know that, If I dont know the matrix G, H and for the sake of design iteration [snip]...

Then just drop what you are trying to achieve. It's like a blind man who drives the car without the steering wheel.

Bruno
From: jackleg Bryxi on
Hello,

I am also trying to solve this problem. But with a little different starting point. I am using an reduced observer, to guess the missing states. So far in simulation everything works perfect, but on the NXT it just won't work (it is just stalbe for a very short time). I guess, that the NXT-CPU is just to slow. I already tried the luenberger observer solving the riccatti-dgl (kalman-filter), but this also won't work out, it is even worse than the reduced observer.

Honestly, I dont know where my mistake lies, but i think that this control strategy will not work. I am open for all suggesstions or a working simulink file :-)!

regards,

philipp
From: jackleg Bryxi on
"Bruno Luong" <b.luong(a)fogale.findmycountry> wrote in message <hqp9le$nhk$1(a)fred.mathworks.com>...
> "Ahmad "
> > Isn't the dimensions of the kalman Estimator are:
>
> > Q(Process covariance):2x2
>
> No.
>
> Bruno

Hi,

i am also working on this problem. I already have finished the part of constructing the kalman-filter, but i won't work. I already tried a reduced observer and so on - i think the problem lies within the cpu speed - but i can't proof it. Controller works fine with integrators/derivatives - but not with the observer.

Is yours working now? I am positiv that my modeling is correct, thus simulation works great, but on the real system - no chance so far. It is stable for a few seconds, shattering around the zero point.

I am open for suggestions? Thanks,

regards philipp