- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于bangbang算法的倒立摆
Bang-bang起摆控制系统设计
1、bang-bang控制原理
bang-bang控制最早由庞特里亚金提出。
对调速范围宽、静态误差小和动态响应快的随动系统来说,单闭环控制是不能满足要求的,所以随动系统采用电流环、速度环和位置环来完成控制。在随动系统控制中,pid控制具有结构简单且在对象模型不确知的情况下也可达到有效控制的特点,但对模型参数变化及干扰的适应能力较差。bang-bang控制在系统偏差大,可加大系统的控制力度,提高系统的快速性,因此,bang-bang控制是随动系统中不可缺少的控制方式。
2.基于Bang-Bang反馈的起摆算法
我们可将起摆分为以下四个阶段(定义摆杆自然下垂位置,以逆时针方向为正,箭头代表摆杆运动方向)。
图3-59 倒立摆能量起摆过程
在初始时刻,小车位于导轨中心,摆杆自然下垂。当进行起摆实验时,先向负方向给小车一个较大的力(小车有加速度),使摆杆运动,随后紧接着令小车停止,摆杆会在惯性的作用下,继续沿着与小车连接处的转轴向上运动(Ⅰ),达到最高点后,摆杆速度为零,在重力的作用下沿摆杆的轴心自动下落(Ⅱ),这时给小车施加一个相反的作用力,小车反向运动的同时通过连接轴给摆杆一个反向的力。当再次到达初始点()时,令小车制动,摆杆此时的速度不为零,在惯性的作用下继续运动,此时(Ⅲ)。当时,即摆杆达到负方向的最高点,在重力的的作用下,摆杆回落,继续给小车施加负方向的力,直到下车制动(Ⅳ)。
反复以上动作,摆杆在小车驱动力的作用下,抛起的高度会不断增加,直到进入稳摆区域,切换到稳摆控制算法。
对以上的四种情况进行分析,可转化成控制算法:
(1),控制量,初始时刻
(2)
(3)
3、系统工作原理
便携式直线一级倒立摆工作原理图
便携式直线一级倒立摆的工作原理是:数据采集卡采集到旋转编码器数据和电机尾部编码器数据,旋转编码器与摆杆同轴,电机与小车通过皮带连接,所以通过计算就可以得到摆杆的角位移以及小车位移,角位移差分得角速度,位移差分可得速度,然后根据自动控制中的各种理论转化的算法计算出控制量。控制量由计算机通过USB数据线下发给伺服驱动器,由驱动器实现对电机控制,电机尾部编码器连接到驱动器形成闭环,从而可以实现摆杆直立不倒以及自摆起。
物理模型
直线一级倒立摆模型
4.系统设计
倒立摆系统自摆起控制目标:通过控制小车运动,将摆杆从自由下垂状态摆到倒置平衡位置,并使系统能保持摆杆倒置状态,具有一定的抗干扰能力,同时还要控制小车回到初始零位附近,使整个系统处于动态平衡状态。该过程分为两个阶段:摆起控制与稳摆控制。两者模型的差异性决定了两个过程中控制方法的不同,要使倒立摆的整体性能好,两者之间的切换控制尤为重要。
4.1、模块的搭建
1、从中拉出两个S-Function模块,双击该模块,将S-function name分别改为Initpend和MUL_timer。
2、从中拉出一个Enabled Subsystem模块,并将MUL_timer模块与它连接。
3、 双击Enabled Subsystem模块,进入之后搭建如下图所示的模块组成
4.2、参数设置
按Ctrl+E出现如下图所示的对话框,进行参数设置。将Stop time 设置为inf,将Solver options中的Type选择为Fixed-step,右侧选项为ode1(Euler),将Fixed step size设置为0.01,Mode选择Single Tasking.,设置完成之后点击OK.
说明: 实验模块所在的文件夹一定要包含该实验所用到的库函数模块所生成的动态链接库,即(.dll)文件。例如在实验七模块所在的文件夹中必须要有Initpend.dll,MUL_timer.dll ,ReadTwoChannelPulse.dll,SetMotorAcc.dll, bangbangswingup.dll。
5.Simulink仿真
直线一级倒立摆Bang-Bang自摆起仿真模型
其中“Bang-Bang控制器”为封装(Mask)后的Bang-Bang起摆控制器,如下图:
Bang-Bang起摆控制器
“LQR Controller”为封装后的LQR控制器,双击该模块可以进行LQR参数设置:
LQR稳摆控制器
设置好各项参数后,点击“”运行仿真,得到仿真结果:
Bang-Bang自摆起仿真结果
根据仿真结果我们可以看出,系统在2秒内起摆成功,2秒后由稳摆算法接管控制,系统可以很好的稳定,
文档评论(0)