文件名称:pid控制器代码matlab-PID_Kalman:PID_卡尔曼
文件大小:4KB
文件格式:ZIP
更新时间:2024-06-16 06:13:05
系统开源
pid控制器代码matlab 使用卡尔曼进行参数估计的PID和LQR控制器 该项目是Arduino Uno上PID-LQR控制器sum的实现。 它使用位置测量,并使用卡尔曼滤波器估算速度和电流。 由于这是一个具有3个内部变量且只有一个输出(测量位置)的系统,因此方程式已针对该应用进行了调整,以优化处理时间。 PID增益 PID增益K_P,K_I和K_D以前是在连续时间内计算出来的,并适用于离散时间。 对于100%振幅,其目标到达时间为120ms。 LQR增益 导入系统的状态空间表示后,使用Matlab函数lqr计算每个内部变量的LQR增益。 卡尔曼滤波 卡尔曼滤波器对所有变量均使用0.02的估计误差Q,对位置使用测量误差R = 0.1。 另外,正在考虑3x1参数H = [1 1 1]。 这简化了几个方程,因此隐含在代码中。 它计算(基于先前的值)由X = [current(A); 速度(rad / s); 位置(rad)]和附加变量P,该变量将先前假定的误差相加。 然后,它计算三个变量中每一个的卡尔曼增益K。 最后,脚本估计LQR控制器使用的X的下一个值。
【文件预览】:
PID_Kalman-master
----PID_LQR.ino(4KB)
----PID_solo.ino(2KB)
----README.md(1KB)