# 哨兵电控学习调试历程 **Repository Path**: zijinyang/shaobing ## Basic Information - **Project Name**: 哨兵电控学习调试历程 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-10-21 - **Last Updated**: 2024-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 哨兵电控学习调试历程 ##本仓库记录在调试哨兵过程中发现的问题以及解决方案,和对于电控的学习历程 /* 2024 10.21 */ 在查看华中科大2022年的步兵电控开源时发现,对于云台的调试,仅仅pid+前馈的精准度不足以达到更高精度的要求,且自适应能力不高,而模糊pid可以弥补这一点 ###模糊pid ![输入图片说明](Readme.mdimage.png) 1.模糊化 对上一次的目标值和当前值的error进行记录,输入de/dt,对这个值进行模糊化(也就是划分领域)到论域上,对de/dt进行划分,输出 kp, ki, kd 的范围各不相同,把输入映射到论域上更好统一处理。确定论域的范围后,需要对论域进行模糊分类,模糊分类即对论域进行划分。 假设论域的范围为 [-3,3],把论域平均分为 5 等份,即 [-3, -2], [-2, -1], [-1, 0], [0, 1], [1, 2], [2, 3]。接着把每个端点进行等级划分,依次为: -3—>NB(负大), -2—>NM(负中), -1---->NS(负小), 0—>ZO(零), 1---->PS(正小), 2---->PM(正中), 3---->PB(正大)。假设输入e的范围为 [-10, 10],此刻 e 的值为 8,通过映射后的值为 2.4,2.4 在 [2, 3] 区间,则该点在正中与正大之间。 2.隶属度确定 常见的隶属度函数有三角形隶属度函数,梯形隶属度函数,抛物线型隶属度函数。以最简单的三角性隶属度函数为例,形状如下图所示: ![输入图片说明](Readme.mdimage.png) 由上图可知,隶属度函数的值域为 [0, 1]。若输入e经过映射后的值为 2.4,那么对应下图红线与绿线的值分别为 0.6,0.4, 这两个就是隶属度,表示该输入属于 PM 的概率为0.6,而属于 PB 的概率为0.4。所以隶属度也为概率。 ![输入图片说明](Readme.mdimage.png) ![输入图片说明](Readme.mdimage.png) 3.模糊推理 一般对这样计算出的隶属度会先行建立一个论域划分的表,根据e和de/dt的论域划分来直接进行归属 ![输入图片说明](Readme.mdimage.png) ![输入图片说明](Readme.mdimage.png) ![输入图片说明](Readme.mdimage.png) 之后举个例子: 假设此刻的输入 e 为8,de/dt 为-12,而e的范围为[-10,10],de/dt 的范围为[-20,20]。则通过模糊化得到 e 的隶属度为0.6(PM)与0.4(PB),de/dt 的隶属度为0.8(NM)与0.2(NS),然后,对 e 与 de/dt 的隶属度进行两两组合,并进行查表,得到下表的关系: ![输入图片说明](Readme.mdimage.png) 计算出kp ki kd 各自的隶属度 4.去模糊 最后进行个输出的隶属度进行整合,例如 Kp, 由上面计算可知,Kp 的隶属度为 0.8(ZO),0.12(NS),0.08(NM)。 之后再进行查表计算出Kp todo: 遗传算法再次优化模糊pid