声明:
- 本文章为作者学习时所作笔记,很大程度上引用了CSDN上已有文章,以此为基础进行整理、补充。所引文章皆在文末标出,若有不当之处恳请指正。
- 本节内容并不系统,仅是作者本人在学习过程中遇到的难点总结;若需要系统讲解,可参考文末引用处的链接。
算法直观理解
基本算式:
(离散写法)
(连续写法)
- 【比例调节】部分最容易理解,将期望值和目前所在的状态值作差得error(k)即e(k),其系数即根据差值得调节速度大小
- 【积分调节】是为了解决比例调节一常见软肋,即稳态误差。(稳态误差:用水池灌水的比方可以很好理解,比如放入90%水时,出水速度大小恰好等于比例调节项,使得系统稳定地保持在了90%的状态。)通过某时刻前几次采样的误差作和,乘相应的系数(可调节),从而实现稳态误差的消除。但实际操作中,积分调节存在问题,比如稳定性降低、调节速度慢等问题。
- 【微分调节】需要求出当前变化的导数,故不能单独使用,要在比例和积分调节的基础上使用;这样比较好理解,从稳定点偏离,使得e(t)-e(t-1)逐渐变大,使得使得微分调节逐渐变大,从而抑制了进一步的偏离,实现了稳定调节。
下面是百度百科的解释,也助于理解:
增量式 和 位置式的PID算法区别
【公式采自文末引用文章2,感谢原作者】
- 增量式和位置式本质完全相同;
- 增量式即用t时刻和t-1时刻的PID方程作差,消去了两次采样中重复的数据部分,简化了计算。
- 增量式告诉我们:只需要最近三次采样的数据即可获得当下状态的的PID输出。
PID相关参数的调节方法
待补
相关引用文章:
- https://blog.csdn.net/qq_25352981/article/details/81007075?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161061355016780266289322%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161061355016780266289322&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-81007075.pc_search_result_cache&utm_term=pid
- https://blog.csdn.net/Uncle_GUO/article/details/51367764?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161061355016780266289322%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161061355016780266289322&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-8-51367764.pc_search_result_cache&utm_term=pid
- https://www.arduino.cn/thread-12813-1-1.html
- https://www.arduino.cn/thread-15176-1-2.html
- https://baike.baidu.com/item/%E6%AF%94%E4%BE%8B%E7%A7%AF%E5%88%86%E5%BE%AE%E5%88%86%E6%8E%A7%E5%88%B6/22010564?fromtitle=PID%E6%8E%A7%E5%88%B6&fromid=4748784