控制算法
记系统状态为X=(x1,x2,x3,x4)=(x,dx/dt,phi,dphi/dt),则摆杆自然下垂位置为(0.5,0,3.1416,0).
要通过控制输入u(t)使得摆杆稳定在(a,0,0,0)或(a,0,6.2832,0)处,其中a为(-0.5,0.5)区间内任一点.
u(t) 为控制输入,在摆起阶段,当摆杆加速度大于零时,取u=+6;当摆杆加速度小于零时,取u=-6.这是仿真图中的Sign切换.
这里需要加入一个限制小车左右运动幅度过大而"撞墙"的控制,但是不知道应该怎么加,还请赐教.
小车来回运动几次后,当摆杆运动到倒立平衡点左右0.2弧度范围内,即摆角大于6.0832或小于0.2000时,控制输入切换为变结构控制输入:
u(t)=KX-k0*sat(S)=-96.7900x1-47.8962x2-150.2499x3-22.2593x4 - 0.3*sat(S),其中k0=0.3,sat(S)为饱和函数,
S=-7.1042x1+400.3580x2+2.0254x3-751.7869x4为滑模切换函数.这是仿真图中的Switch切换.
该控制方法来源于姚丽娜等<<倒立摆系统的变结构控制方案>>(控制理论与应用,2004/10,vol.21 No.5),但是该文只研究了稳定控制的方法,没有摆起阶段.
而且在倒立平衡点附近进行了线性化,简化了系统模型.我应用该文方法将极点配置在[-20,-16,-3+4j,-3-4j]处,然后得到了相应的反馈矩阵K和切换函数S.
另外,还有一个脉冲输入-pulse generator,它用于在初始稳定状态下触发摆起,一旦摆杆摆起即将该脉冲输入切断.
倒立摆系统的动态过程微分方程为:
[J0*d^2(phi)/dt^2]+mLcos(phi)*d^2x/dt^2=-C*d(phi)/dt+mLgsin(phi) 摆杆方程
M0*d^2x/dt^2+mLcos(phi)*d^2(phi)/dt^2=-(KT^2*Kg^2/Rar^2)*dx/dt+mLsin(phi)(d(phi)/dt)^2+(KT*Kg/Rar)*u(t) 小车方程
pend.rar_simulink 倒立摆_倒立摆matlab_倒立摆simulink_单级倒立摆_级倒立摆仿真
版权申诉
70 浏览量
2022-07-15
15:32:33
上传
评论
收藏 9KB RAR 举报
寒泊
- 粉丝: 74
- 资源: 1万+
最新资源
- 第12章spring-mvc自定义类型转换器
- 基于PHP图书管理系统实验报告.docx
- Python爬取淘宝热卖商品并可视化分析
- 5152单片机proteus仿真和源码将按键次数写入AT24C02再读出并用1602LCD显示
- SE-SSD复现过程(Det3D的安装教程)
- 基于Python的在线学习与推荐系统设计与实现(论文+源码)-kaic
- 串口通过 YMODEM 协议进行文件传输
- 蓝桥杯2024年第十五届省赛真题-前缀总分
- com.qihoo.appstore_300101305-1.apk
- tensorflow-gpu-2.7.1-cp37-cp37m-manylinux2010-x86-64.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈