PID、模糊控制 C++ Demo


avatar
GuoYulong 2024-07-16 444

模糊控制这部分没什么好写的,就是根据经验通过比较target和purpose的值,大的话就减,小的话就加,基本比较固定,主要是pid部分,其变种较多,代码固定但参数需要多次调节,常见的有增量式和位置式

<---------补充--------->
今天在做项目用模糊控制控制电机转速,由于整个电机模组是供应商的,所以其控制速度不确定,例如由0转到10000转大约需要8s左右,但是我的控制算法对速度的控制是300ms的周期,所以出现了速度还没到就开始控制,使得在降档时出现还没降到就继续减pwm导致出发电机死区,最终导致转速无法稳定;这个现象理论上可以通过修改控制周期来改变,但是事实上主要还是算法中没有对死区做控制,理论上要写这个算法的时候应该先限幅,对最高和最低进行限制,然后再去控制,但是可能先前使用的供应商的电机没有出现这个问题,所以就还按照这样写;最终在修改diff的最小值后电机在低档位可以保持稳定。
<---------------------->

增量式PID

增量式PID代码  后续补充

位置式PID

位置式PID代码  后续补充

相关阅读

注意!!!

站点域名更新!!!部分文章图片等由于域名问题无法显示!!!

通知!!!

站点域名更新!!!部分文章图片等由于域名问题无法显示!!!