在进行编写平衡小车的关键部分【PID】算法之前,通过本篇文章针对位置式PID算法、直立环、速度环等概念进行学习,并最终总结出自己的知识体系
一、PID控制算法
PID控制,即为对偏差进行比例、积分和微分控制。由三个元素构成,分别是比例(P),积分(I),微分(D)。
工程中P必然存在,在P的基础上又有如PI控制(比例积分),PD控制(比例微分),PID控制(比例积分微分)。
- 比例项:提高响应速度,减小静差。
- 积分项:消除稳态误差。
- 微分项:减小震荡以及超调。
二、位置式PID
1.理论分析
位置式PID是根据编码器的脉冲累加测量电机的位置信息,并与目标值进行比较,得到控制偏差,然后通过对偏差的比例、积分、微信进行控制,使偏差趋向于零的过程。
2.公式
PWM_out=Kp×e(k)+Ki×Σe(k)+Kd×[e(k)-e(k-1)]
- e(k):本次偏差
- e(k-1):上一次偏差
- Σe(k):e(k)以及以前的偏差的累积和,其中k为1,2,…
- PWM_out:输出
3.结构框图
三、直立环
1.理论
小车往那边倒,车轮就往哪边开,这样就可以保持车子的平衡。
2.公式
a=b1×θ+b2×θ’;
(比例微分控制【PDout=Kp×Angle+Kd×(Angle- Angle_last)】)
3.结构框图
4.比较
① 纯比例控制:
只存在大小与角度偏差成正比的回复力
a=b1×θ;
(纯比例控制【Pout=Kp×Angle】)
② 比例微分控制:
大小与角度成正比,方向与角速度成正比的回复力;
大小与角速度成正比,方向与回复力成反比的阻尼力。
a=b1×θ+b2×θ’;
(比例微分控制【PDout=Kp×Angle+Kd×(Angle- Angle_last)】)
四、速度环、串级PID
1.理论
通过速度反馈使得小车保持平衡。
2.串级控制系统
- 速度环输入:① 给定速度;② 速度反馈。
- 速度环输出:角度值(直立环的期望角度输入)
- 直立环输入:① 给定角度(速度环输出);② 角度反馈。
- 直立环输出:PWM(直接控制小车)
3.公式
① 【PD控制器】直立环输出=Kp1×角度偏差+Kd×角度偏差微分
(角度偏差=真实角度-期望角度)
② 【PI控制器】速度环输出=Kp2×编码器偏差+Ki×编码器偏差的积分
(编码器偏差=反馈编码器值-期望编码器值)
【Notes:(1)速度环输出=直立环的期望角度;(2)Kp1:直立环Kp;(3)Kp2:速度环Kp】
③ 串级输出out=Kp1×真实角度+Kd×角度偏差的微分-Kp1×(Kp2×编码器偏差+Ki×编码器偏差的积分)
版权声明:本文为CSDN博主「鲁乎乎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。