Setup:
This system has two free moving inverted pendulums of different lengths (0.3 m and 0.08 m). They are mounted on are cart that is driven by a 24 V motor on the end of the track via a pulley and nylon wire. The system has three angle decoders that serve as position sensors, one at the base of each pendulum, and one on the motor. The motor that moves the cart is the sole way to control the pendulum.
The digital controller is a computer running a reduced order observer via a Matlab script. It receives input from the three angle decoders, and an optional user input position controller (joy knob) and outputs a voltage to drive the motor.
In this picture you can only see the longer pendulum, the shorter one is hanging down behind the apparatus.
Design:
The design was straight forward digital control. You get the M, V, and E matrices from mechanical analysis of the system. You can use these to form the state matrices, convert those to a discrete system, derive the control law, and use that to stabilize the system (for more details see the source code here.)
Results
I was able to get it to balance with both of the pendulums (movie), however if I wanted to use the position controller (a knob that you could turn and it would change where the carriage centered itself) it would only work intermittently. The major problems that keep the system from working are a vibration that slowly grows and causes the system to fail and an unbounded limit cycle. Higher angular separation in the system poles and making sure the bottom wheel on the carriage is tight help reduce the vibration. Observer values on the real axis, loosening the bottom wheel on the carriage, and taking out the joy knob control help reduce the limit cycle.
The above two graphs are data that was recorded from an acutal run. The top graph is carriage position. The set position (where it is “supposed” to be) is the line at zero. This graph shows that the carriage rocks back and forth a little keeping the pendulums balanced. The bottom graph is the angles of the pendulums. You can see they are rocking back and forth with the shorter one swinging about 2-3 times further then the long one.
The limit cycle (rocking back and forth) is caused by non-linearities in the system that were approximated with linear equations to make them solveable. You can see it in the movie as the car rocks back and forth to keep the pendulums balanced.
After I finished this design the professor, Dr. Carlton Cross, spent more time perfecting the design. He had started working on designing a controller the same quarter my digital design class did. He finished his about a week before I could get mine to work (it requried a reduced order observer and I was trying a full order). It had the same limitations that mine did, namely it just wasn’t very stable. After spending more time on it he was able to come up with pole placements that were much better. He placed them much further out from the origin for a “stiffer” system. After this the system was rock solid and would balance indefinately.