简易PID算法的快速扫盲(超详细+过程推导+C语言程序)
网上关于 PID 算法的文章很多,但是感觉有必要自己再进行一次总结,抽丝剥茧地重新认识了一下 PID ; 文章目录 1 前言 2 开环控制 3 闭环控制 4 PID 4.1 系统架构 4.2 理论基础 4.3 离散化 4.4 伪算法 5 C++实现 6 总结 1 前言 控制系统通常根据有没有反馈会分为开环系统和闭环系统,在闭环系统的控制中, PID 算法非常强大,其三个部分分别为; P :积分环节; I :比例环节; D :微分环节; PID 算法可以自动对控制系统进行准确且迅速的校正,因此被广泛地应用于工业控制系统。 2 开环控制 首先来看开环控制系统,如下图所示,隆哥 蒙着眼 ,需要走到 虚线旗帜 所表示的目标位置,由于缺少反馈(眼睛可以感知当前距离和位置,由于眼睛被蒙上没有 反馈 ,所以这也是一个 开环系统 ),最终隆哥会较大概率偏离预期的目标,可能会运行到途中 实线旗帜 所表示的位置。 开环系统的整体结构如下所示; 这里做一个不是很恰当的比喻; Input :告诉隆哥目标距离的直线位置( 10米 ); Controller :隆哥大脑中计算出到达目标所需要 走多少步 ; Process :双腿作为执行机构,输出了相应的步数,但是最终仍然偏离了目标; 看来没有反馈的存在,很难准确到达目标位置。 3 闭环控制 所以为了准确到达目标位置,这里就需要引入反馈,具体如下图所示;