花里胡哨的网站搭建自己的网站
花里胡哨的网站,搭建自己的网站,平台网站建设设计,创意设计图片手绘黑白参考先进控制-模糊控制原理全解析#xff1a;不用建模也能精准控制
1.什么是模糊控制#xff1f;
在控制系统中#xff0c;我们通常需要精确的数学模型#xff0c;才能通过经典方法#xff08;如 PID、LQR#xff09;来设计控制器。然而#xff0c;现实系统往往复杂、…参考先进控制-模糊控制原理全解析不用建模也能精准控制1.什么是模糊控制在控制系统中我们通常需要精确的数学模型才能通过经典方法如 PID、LQR来设计控制器。然而现实系统往往复杂、多变建模困难或者根本没有办法精确描述。 这时模糊控制Fuzzy Control就提供了一种“不依赖精确模型”、完全基于人类经验规则的控制方法。1.1 模糊控制在做什么它的核心思想是“与其告诉系统一个精确的数学规则不如告诉它如果偏差很大且越来越大那就赶紧往回拉一点。”换句话说模糊控制模仿人类工程师或操作者的直觉与语言例如“车偏得有点厉害了要快点拉回去”“温度有点高了慢慢降一点”“机器人跑偏了但趋势在纠正可以不动”这些判断背后隐藏的其实是一种模糊逻辑的推理机制。1.2 模糊控制的优点优点描述不依赖系统精确数学模型即使系统复杂、非线性、带有未知扰动也能构建控制器规则可视化、逻辑直观控制行为基于“如果…那么…”形式便于解释和调试易于融合专家经验可直接嵌入人工制定的调节规则或启发式逻辑可与经典控制互补模糊控制器可与 PID 控制器结合构建更鲁棒的复合控制器2.核心原理2.1输入输入通常有两个误差e和误差变化率Δe。在输入和输出时可以对其进行限幅和缩放。2.2模糊化模糊化就是将输入的具体数值根据定义的隶属函数模糊到隶属度中。首先要确定隶属度即模糊子集个数N一般定义N7假设隶属度定义如下N B N M N S Z O P S P M P B − 3 − 2 − 1 0 1 2 3 负大 负中 负小 零 正小 正中 正大 \begin{matrix} NBNMNSZOPSPMPB\\ -3-2-10123\\ 负大负中负小零正小正中正大 \end{matrix}NB−3负大NM−2负中NS−1负小ZO0零PS1正小PM2正中PB3正大定义隶属函数例如选择三角形隶属函数假设e 0.1 e0.1e0.1Δ e 0.01 \Delta e 0.01Δe0.01e 0.1 → e 1 ( Z O ) 0.9 , e 2 ( P S ) 0.1 e0.1 \rightarrow e_1(ZO)0.9, e_2(PS) 0.1e0.1→e1(ZO)0.9,e2(PS)0.1Δ e 0.01 → Δ e 1 ( Z O ) 0.99 , Δ e 2 ( P S ) 0.01 \Delta e0.01 \rightarrow \Delta e_1(ZO)0.99, \Delta e_2(PS) 0.01Δe0.01→Δe1(ZO)0.99,Δe2(PS)0.012.3规则推理例如定义以下规则表e ee\Δ e \Delta eΔePBPMPSZONSNMNBPBPBPBPMPMPSZOZOPMPBPMPMPSZONSNSPSPMPMPSZONSNMNMZOPMPSZOZOZONSNMNSPSZONSZONSNMNMNMZONSNMNMNMNBNBNBZOZENMNMNBNBNB横轴为误差e ee纵轴为误差变化率Δ e \Delta eΔe表中元素为输出控制量u uu的模糊语言下面根据规则表进行模糊推理e Z O ( 0.9 ) e ZO(0.9)eZO(0.9)且Δ e Z O ( 0.99 ) \Delta e ZO(0.99)ΔeZO(0.99)→ rule[3][3]Z O ZOZOe Z O ( 0.9 ) e ZO(0.9)eZO(0.9)且Δ e P S ( 0.01 ) \Delta e PS(0.01)ΔePS(0.01)→ rule[3][2]Z O ZOZOe P S ( 0.1 ) e PS(0.1)ePS(0.1)且Δ e Z O ( 0.99 ) \Delta e ZO(0.99)ΔeZO(0.99)→ rule[2][3]Z O ZOZOe P S ( 0.1 ) e PS(0.1)ePS(0.1)且Δ e P S ( 0.01 ) \Delta e PS(0.01)ΔePS(0.01)→ rule[2][2]P S PSPS其中推导出的rule[3][3]ZO等称为激活程度μ i \mu_iμi2.4解模糊解模糊是将模糊推理得到的、多个可能具有不同权重的输出结果聚合为一个精确的、可用于实际控制的数值。解模糊有很多种方法这里使用加权平均法u ∑ i 1 N e i Δ e i μ i ∑ i 1 N e i Δ e i u\frac{\sum_{i1}^N e_i \Delta e_i \mu_i}{\sum_{i1}^N e_i \Delta e_i}u∑i1NeiΔei∑i1NeiΔeiμie i e_iei表示根据误差e模糊化出的每一种结果Δ e i \Delta e_iΔei表示根据误差变化率Δ e \Delta eΔe模糊化出的每一种结果μ i \mu_iμi表示变量对应的激活程度n u m 0.9 × 0.99 × Z O 0.9 × 0.01 × Z O 0.1 × 0.99 × Z O 0.1 × 0.01 × P S num 0.9×0.99×ZO0.9×0.01×ZO0.1×0.99×ZO0.1×0.01×PSnum0.9×0.99×ZO0.9×0.01×ZO0.1×0.99×ZO0.1×0.01×PSd e n 0.9 × 0.99 0.9 × 0.01 0.1 × 0.99 0.1 × 0.01 den 0.9×0.990.9×0.010.1×0.990.1×0.01den0.9×0.990.9×0.010.1×0.990.1×0.01u n u m d e n u \frac{num}{den}udennum可以把这个过程想象成一次**“民主投票”**μ i \mu_iμi规则输出值就像是每个“选民”一条模糊规则提出的具体提案例如“加速1m/s”e i Δ e i e_i \Delta e_ieiΔei隶属度的乘积就像是每个选民的“投票权重”。这个权重取决于当前情况与这位选民所代表的条件误差大小和误差变化趋势的匹配程度。匹配度越高他的投票权重就越大。n u m numnum是所有选民的“加权提案总和”每个提案乘以它的权重d e n denden是所有选民的“总权重”最终结果u n u m d e n u \frac{num}{den}udennum就是这次“加权民主投票”的最终决议一个综合考虑了所有相关规则及其影响力的精确输出值2.5输出最后根据上一步结果进行量程缩放和限幅后得到输出。