Simple Inverted Pendulum with LQR,PID SimMechanics

This sample this sample show the simple Inverted Pendulum control with lqr
8.5K Downloads
Updated Wed, 26 Aug 2009 19:24:30 +0000

View License

Hi guys this is my Simple Pendulum model and control using SimMechanics and Control toolbox, later I will include also the SolidWorks files to show how to use SolidWorks link.

Anyone who finds that I should do things in another way please fell free to post any comment and help me :)

This sample was modelled with SimMechanics and control was made with lqr command.

First I've imported the pendulum from solidworks with
mech_import;

>> mgrPend = MECH_STATEVECTORMGR;
>> mgrPend.StateNames

ans =

'InvertedPendulumModel/Pendulo_Invertido/Revolute:R1:Position'
'InvertedPendulumModel/Pendulo_Invertido/Prismatic:P1:Position'
'InvertedPendulumModel/Pendulo_Invertido/Revolute:R1:Velocity'
'InvertedPendulumModel/Pendulo_Invertido/Prismatic:P1:Velocity'

>> [A,B,C,D] = linmod('InvertedPendulumModel');

>> eig(A)

ans =

0
0
2.3132
-2.3132

>> open_plant = ss(A,B,C,D);
>> impulse(open_plant);

>> Q = diag([ 0 100 0 100]);
>> K = lqr(A,B,Q,R)

K =

284.3487 -10.0000 126.1560 -23.6582

>> Ac = [(A-B*K)];
>> Bc = [B];
>> Cc = [C];
>> Dc = [D];
>> sys_cl=ss(Ac,Bc,Cc,Dc);
>> T=0:0.01:50;
>> U=0.2*ones(size(T));
>> [Y,T,X]=lsim(sys_cl,U,T);
>> plot(T,Y)

Cite As

Leonardo Araujo (2024). Simple Inverted Pendulum with LQR,PID SimMechanics (https://www.mathworks.com/matlabcentral/fileexchange/25139-simple-inverted-pendulum-with-lqr-pid-simmechanics), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2008b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Communities

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.2.0.0

Added the SolidWorks files and re-modeled things with the imported plant (Inverted Pendulum) model from SolidWorks

1.0.0.0