2
$\begingroup$

I am trying to understand the PID controller of an inverted pendulum on cart system through this MATLAB article: https://ctms.engin.umich.edu/CTMS/index.php?example=InvertedPendulum&section=ControlPID. With the tuned PID constants, the pendulum angle does indeed stabilize as expected, however towards the end of the article when measuring the cart's position as affected by the controller, it produces the following graph.

In other words, the cart continuously moves in the negative direction with constant velocity and thus isn't feasibly to implement on an actual system. Does this mean there exists another set of PID constants which stabilizes angle while keeping cart position reasonable, or is there simply no implementable SISO PID controller for the system described? Is there a way to design the controller around this and ensure that it is actually feasible?

$\endgroup$
7
  • $\begingroup$ If the centre of gravity of the pendulum is above the pivot I would expect it to stop. To maintain a non-perpendicular angle I would expect constant acceleration. I can't think just now what constant velocity implies. $\endgroup$
    – Transistor
    Commented Sep 21, 2023 at 8:03
  • $\begingroup$ Please edit the question to include the block diagram / connection diagram of the system. What are the sensed variables ? Which of them are used for feedback ? If multiple variables are sensed, how is it merged into a single control variable? While it is good that you have linked the source, please include all relevant information in the question to increase chances of getting an answer. $\endgroup$
    – AJN
    Commented Sep 21, 2023 at 13:41
  • 1
    $\begingroup$ @Transistor The pendulum responds to acceleration. Hence the cart (and the pendulum on it) moving with constant velocity is a feasible solution to the pendulum stabilization problem. To have zero cart velocity along with pendulum stabilization, the cart velocity (or position) also needs to be one of the feedback variables. I didn't visit the link, but probably they don't feedback cart velocity (or position). $\endgroup$
    – AJN
    Commented Sep 21, 2023 at 13:43
  • $\begingroup$ @AJN IMO you hit the nail on its head. You could turn that into a great answer. $\endgroup$
    – Chris_abc
    Commented Sep 21, 2023 at 16:40
  • 2
    $\begingroup$ @Rena W because your system is SISO, the cart position is not considered important by controller. I invite you to set different initial conditions and review the response of both the pendulum and the cart. The resulting cart velocity should be different for each initial condition, and may even switch direction. $\endgroup$
    – Chris_abc
    Commented Sep 21, 2023 at 16:42

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.