在自动控制中, 按照偏差(目标值与反馈值之差) 的比例§ 、 积分(I) 、 微分(D)
的组合进行控制的方法称为PID控制算法, 由于其原理简单、 稳定性好、 可靠性高、 易
于调整等优点, 在自动控制领域应用最为广泛, 已有近70年历史, 现有的很多控制方法
都是基于PID控制算法发展演变而来。 当我们对目标系统和控制对象的模型不够了解,或者不能得到控制系统的参数时, PID控制算法尤为适用。
1) 比例控制部分: 成比例地反应控制系统的偏差信号e(t) , 偏差一旦产生, 调节器
立即产生控制作用以减小偏差, 其控制作用最为明显。
2) 积分控制部分: 积分控制作用的强弱取决于积分时间常数Ti, Ti越大, 积分作用
越弱, 反之则越强。 积分控制主要用于消除静差, 提高系统的无差度。
3)微分控制部分: 微分控制的计算因子是偏差的变化率, 能够抑制偏差的变化, 并偏差的值变得太大之前, 引入一个早期修正量, 达到加快系统响应调节速度的目的。积分控制可以提高系统的动态性能, 提高反应速度, 克服振荡。
PID控制算法的计算结果是偏差信号的比例、 积分、 微分三部分的线性叠加, 偏差值e(t) 即目标值r(t) 与反馈值c(t) 的差, 属于闭环控制系统, 因此需要使用传感器构成反馈回路。
(代码实现)
3.4.2 关键技术 - 倾角估计算法要控制车模平衡, 首先就需要测量车身倾角。 测量倾角主要有两种方法:
1. 利用加速度传感器。 加速度计静止放置的时候, 因为受到重力加速度的影响, 三个轴感应到的加速度跟传感器与地平面之间的倾角有关, 具体关系如下图所示。
加速度传感器的值与地面之间的倾角呈三角函数关系:
然而小车在运动过程中, 会产生极大的噪声, 取加速度传感器瞬时值计算倾角误差太大。 难以获得稳定的倾角数据。
2.利用陀螺仪测量的角速度进行积分。
角速度积分可以得到变化的角度。 但是传感器
都有误差, 陀螺仪也不例外, 而且陀螺仪还存在温漂, 因此长时间的积分过程, 很难保
证得到正确的角度。
因此需要一种算法, 能够结合陀螺仪的动态性能和加速度传感器的静态精确度, 从而得到可靠的倾角数据。
3.4.3 关键技术 - 直立控制算法车模平衡控制需要负反馈, 就需要能够测量车体的倾角, 构成反馈回路。 在能够测量倾角的情况下, 设定目标平衡角度, 使用 PID 算法进行闭环控制。 因为车体只会在一个的方向上运动, 只存在一个维度的倾斜, 因此只需要测量一个维度的倾角, 然后控制轮子转动, 抵消车体在该维度上的倾斜, 就可以完成平衡控制
我们对系统进行简单建模, 首先, 两轮自平衡车可以简化为一个一阶倒立摆模型,假设车体的高度为 L, 质量为 m , 在外力作用下, 车模产生角加速度为 x(t) 。
如下图所示, 沿着垂直于底盘的方向进行受力分析, 可以得到运动加速度 a(t) 以及外力干扰加速度 x(t) 之间的运动方程
控制流程