起因
PID控制算法应该是包括工业机器人等各种行业和领域中非常常用的一种控制算法了。了解这个算法的起因是在稚晖君开发的自行车项目中见到,后来在北理工组会中了解到PID控制算法属于控制工程专业中非常基础的理论。
初步了解之后就会经常注意到这个算法,发现PID在飞控算法中非常重要,也常出现在b站分享的各种自平衡项目中。前两天又了解到著名“载人航天仿真工程软件”《坎巴拉太空计划》的MOD中也可以通过写入PID算法来对火箭姿态进行控制。可以说此算法是既实用又很酷了。
算法原理
连续系统中的PID算法公式如下
U ( t ) = k P [ e r r ( t ) + 1 T I ∫ e r r ( t ) d t + T D d [ e r r ( t ) ] d t ] = k P e r r ( t ) + k P T I ∫ e r r ( t ) d t + T D k P d [ e r r ( t ) ] d t = k P e r r ( t ) + k I ∫ e r r ( t ) d t + k D d [ e r r ( t ) ] d t U(t)=k_P\left [ err(t)+\frac{1}{T_I}\int err(t)dt+T_D\frac{d[err(t)]}{dt} \right ]\\ =k_P err(t)+\frac{k_P}{T_I}\int err(t)dt+T_D k_P\frac{d[err(t)]}{dt} \\ =k_P err(t)+k_I\int err(t)dt+k_D\frac{d[err(t)]}{dt} U(t)=kP[err(t)+TI1∫err(t)dt+TDdtd[err(t)]]=kP