Register to reply 
MATLAB/Simulink  inverted pendulum swingup problem 
Share this thread: 
#1
Apr1511, 07:48 AM

P: 1

I'm trying to implement a pendulum swingup controller to work with my model of a single inverted pendulum on a cart with a motor (the only input is the motor voltage, the outputs are the cart position and the pendulum velocity). The controller has the form
u = umax*sign(thetadot), or u = umax*sign(thetadot*cos(theta)) where theta is the pendulum angle, thetadot is the pendulum angular velocity (derivative of the angle), umax is the maximum voltage and u is the actual input voltage applied to the system. A couple of blocks in Simulink, nothing special, or so it would seem. I've seen this kind of controller implemented in a variety of sources (http://support.dce.felk.cvut.cz/medi...orda_milan.pdf pages 1921) but I'm having a problem with it. To be specific about how the system behaves (see first figure of the attachment):  the pendulum angle (purple) and angular velocity (thetadot, blue) have the normal sinusoid behavior and the pendulum swings increase (this has been normal behavior so far)  at one moment, when the pendulum is quite close to the upper equilibrium and thetadot is crossing the zero, thetadot SUDDENLY goes mad and starts oscillating with approximately an amplitude of 1e4 and period of less than 1e3 seconds. This means that the controller adopts the same oscillating behavior (second figure of the attachment), and if you change the input voltage of a system (yellow) hundreds of times per second, the system behaves as if there was no input at all Could anybody help me please?? I have to put this into my thesis and it is starting to drive me mad. Thanks a lot in advance. 


Register to reply 
Related Discussions  
Inverted pendulum problem  General Physics  3  
Inverted pendulum  Electrical Engineering  0  
Inverted pendulum  Introductory Physics Homework  6  
Inverted pendulum  Introductory Physics Homework  1  
Inverted pendulum  General Physics  1 