前言
在学习PID中发现有许许多多的优化,例如抗饱和,变速积分,积分分离等,在实际工程开发中又如何去选取,如何根据问题去选择相关的优化算法。
该文只是记录开发过程中的一些问题和想法,如果有错误的地方请多多指正。
应用场景
硬件:大疆GM6020电机、STM32F4
需求:1. 速度环—实现手动控制;2.位置环—达到指定位置,电机启停自锁。
算法:增量式PID;基于PID的各种优化方法。
PID算法概述
PID控制器即比例、积分、微分控制器,该算法以误差作为输入量,经过比例,积分,微分三项加权求和后得到输出量。PID控制器不需要精确的系统模型就能使用,属于闭环控制的一种,应用十分广泛。
关于PID的介绍网上已有很多,想了解的可看下面几个博客:
之前对PID只有最基本的了解,在实际应用中总会遇到积分饱和、微分冲击等问题,针对这些问题不少前辈对PID提出了的各种优化算法,下面列出的只是我查阅的部分优化,也是实际中比较常见的。
控制算法概述
整个电机控制算法如下图所示,后续将详细介绍速度环,位置环中的优化和实现,其中应用到一部分上面列出的PID优化算法。
- 串级PID(位置环+速度环)
其中位置环与速度环的区别主要是输入的反馈不同,一个是电机的位置,另一个是电机的速度。
位置环:
位置式PID、速度平滑、减速过程
速度环:
增量式PID、变速积分、积分死区
下一篇将介绍开发过程中对速度环的优化过程,将对增量式PID和积分的优化展开介绍。
评论(0)
您还未登录,请登录后发表或查看评论