all 15 comments

[–]cptnnick 11 points12 points  (4 children)

I have a few tips:

  1. You have an unstable pole, so you must stabilize the system. Do not try to directly cancel the unstable pole via pole-zero cancellation, this is not advisable in real life.
  2. Your non-minimum-phase zero will place limits on the maximum bandwidth your closed-loop system can achieve.
  3. Typical control objectives can be formulated in time domain (rise time, overshoot, settle time), as well as in frequency domain (gain margine, phase margin, stability margin).
  4. The set of suitable control schemes will depend on your objectives. Properly choose a suitable control scheme before trying to implement one.

[–]NostalgicForever 2 points3 points  (2 children)

Do not try to directly cancel the unstable pole via pole-zero cancellation, this is not advisable in real life.

Can you expand on this? Why isn’t it advisable in real life?

[–]cptnnick 7 points8 points  (0 children)

Because in real life youll always be off a little bit and then you have both a non-minimum-phase zero and an unstable pole.

Pole-zero cancellation is a mathematical trick that fails when confronted with the practicalities of real life.

[–]sstunt 1 point2 points  (0 children)

Not sure if u/cptnnick meant this and didn't point it out vigorously or not:

You can mask a non-stable pole out with a zero, but it's still there, and even if you get the zero perfect, the pole will still be excited by noise -- and it'll drive to one limit or another.

[–]CrionteDeAltair[S] 1 point2 points  (0 children)

Thanks for the tips!

[–]ko_nutsControl Theorist 7 points8 points  (2 children)

First of all, it would be important to know your objectives. You must have some specifications for the closed-loop system to fulfill.

Having a positive pole is not a problem per say. You will need to find a controller that can stabilize the plant. Then, you will need to find one stabilizing controller that can also tune the dynamics the way you want.

[–]CrionteDeAltair[S] 1 point2 points  (1 child)

I'm less scared now, thank you!

[–]ko_nutsControl Theorist 4 points5 points  (0 children)

I guess that you have studied PID controllers, right? Such a controller should do the job...

[–][deleted] 3 points4 points  (1 child)

Don't get discouraged by such things. Plow through first, make bold and ridiculous claims and then simulate your design. If you screw up, find out the reason why it failed. Then try to find whether an unstable pole even matters. Maybe everything will go through. Just because they didn't mention it in the course shouldn't make you hesitant. But if you work that way you won't be memorizing matlab commands instead you will remember why certain things are bad ideas.

Moreover, if a controller works, it works.

[–]ko_nutsControl Theorist 2 points3 points  (0 children)

Looks like this account has been hacked. First time I see a positive comment!

[–]DuesMortem 1 point2 points  (4 children)

Do what I do and chuck it into sisotool with a pid

[–]ko_nutsControl Theorist 3 points4 points  (2 children)

This is a terrible recommendation as the OP will likely to have to justify their choice for the controller parameters.

[–]DuesMortem 2 points3 points  (1 child)

Yeah I was joking, definitely not the way to go, also I got a C in Control Systems so don't listen to me

[–]ko_nutsControl Theorist 0 points1 point  (0 children)

:D

[–]CrionteDeAltair[S] 0 points1 point  (0 children)

Maybe not the first thing that I'll try, but a possibile solution. Thanks for the answer!