基于PID的一阶倒立摆控制算法 matlab2018b SimMechanics工具箱

版权声明: https://blog.csdn.net/qq_29860971/article/details/88585257

基于PID的倒立摆控制算法

一阶倒立摆建模:https://blog.csdn.net/qq_29860971/article/details/88582152

源码:https://download.csdn.net/download/qq_29860971/11020126

1.PID算法概述

  PID是按偏差的比例(P)、积分(I)和微分(D)的控制器进行控制,是应用最为广泛的一种自动控制器,因其结构简单,容易调节,且不需要对系统建立精确的模型,在实际控制中应用较广。
PID调节器各校正环节的作用是:

比例环节:即时成比例的反映控制系统偏差信号;偏差一旦产生,调节器立即产生控制作用以减小偏差,产生过调;

积分环节:主要用于消除静差,提高系统的无差度,当积分环节过大时会产生振荡;

微分环节:能反映偏差信号的变化趋势,并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
在这里插入图片描述
  此次实验只考虑控制摆杆的角度,小车的位置是不受控的,即摆杆角度的单闭环控制,立起摆杆后,会发现小车向一个方向运动直到碰到限位信号。那么要使倒立摆稳定在固定位置,还需要增加对电机位置的闭环控制,这就形成了摆杆角度和电机位置的双闭环控制。立摆后表现为电机在固定位置左右移动控制摆杆不倒。

  一阶倒立摆建模在之前已经建立好了。下面我们在对小车的推力作为输入量,摆杆的角度作为反馈量,建立一个一阶闭环控制模型。如下图:
在这里插入图片描述
  新版本的matlab里有PID的集成模块,直接在工具箱搜索便可调用。

2.采用P数字控制器校正系统

  取KP=10,将Ki、KD置为0,即可获得P数字控制器,控制效果如下图所示。从图中可以看出,闭环控制系统持续振荡,周期约为0.2s。
在这里插入图片描述

3.采用PD数字控制器校正系统

  为消除系统的振荡,增加微分控制参数KD。令KP=10,Ki=0,KD=1,得到如下仿真图。图上可以看出,系统在大概1.8秒后到达稳定,但存在一定的稳态误差。
在这里插入图片描述

4.采用PID数字控制器校正系统

  为消除稳态误差,我们增加积分参数Ki。令KP=10,Ki=2,KD=1,得到如下仿真图所示。从图中我们可以看出,系统可以较好的稳定摆杆角度在初始角度,但由于积分因素的影响,稳定的时间明显增加了。
在这里插入图片描述

总结

  采用P控制器时,系统响应较快,可以在短时间内达到稳定状态。但是纯P控制器超调量较大,且存在稳态误差。单纯比例控制只适用于扰动不大、滞后较小、负荷变化小、要求不高、允许有一定余差的场合。

  采用PD控制器可以有效调节偏差,在快速变化时使调节量在最短的时间内得到强化调节,但是还是存在调节稳态误差,适用于大滞后环节。

  采用PI控制器可以有效的消除稳态误差,但是I值过大容易使系统不稳定,对有较大惯性滞后环节的控制系统,要尽量避免使用。PI控制器的响应速度比P控制器慢。

  采用PID控制器没有稳态误差,系统响应速度介于P控制器和PI控制器之间,超调量比P控制器小。只要合理选择三个作用的控制参数,可以得到较为理想的控制效果。

  在建模中,还有许多非线性因素未考虑进去,例如传动轴的阻力、摆杆的惯性等。在控制算法中,由于系统设计的是单输入单输出系统,所以只能控制摆杆的角度,并不能控制小车的位置,所以小车只会往一个方向运动,如下图所示。若需控制倒立摆系统在固定位置附近,还需设计位置PID闭环控制,由于本人时间有限,本次还无法实现。
在这里插入图片描述
一阶倒立摆建模:https://blog.csdn.net/qq_29860971/article/details/88582152

源码:https://download.csdn.net/download/qq_29860971/11020126

猜你喜欢

转载自blog.csdn.net/qq_29860971/article/details/88585257