lqr控制matlab,Matlab实现简单的倒立摆控制LQR,PID SimMechanics

Simple Inverted Pendulum with LQR,PID SimMechanics

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)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值