北太真元系统辨识与PID/模糊控制器设计——从数据到模型、从模型到控制

2026-11-12

引言:从数据到模型、从模型到控制的研发流程

1.1 研发流程概述

在现代控制工程研发中,一个完整的控制系统设计通常遵循"数据 → 模型 → 控制"的三阶段流程:

  1. 从数据到模型(系统辨识):被控对象的真实动态特性往往难以通过纯理论推导获得。工程实践中,通常先采集对象的输入输出实验数据(如阶跃响应、频率响应或运行工况数据),再利用系统辨识方法拟合出数学模型(传递函数、状态空间方程等),使模型能够准确复现实际系统的动态行为。

  2. 从模型到控制(控制器设计):在获得可信的对象模型后,工程师据此设计控制算法。最常用的方案是 PID 控制——结构简单、物理意义明确、工程应用广泛;当被控对象具有强非线性、时变或难以精确建模的特性时,模糊控制等智能控制方法则展现出独特优势。

  3. 闭环验证与对比(仿真验证):将设计好的控制器与对象模型构成闭环系统,在仿真环境中验证控制性能(超调量、调节时间、稳态误差、抗扰能力等),并对比不同控制策略的优劣,为实际部署提供依据。

1.2 三个 App 及其在流程中的位置

为支撑上述流程,北太真元提供了三个配套的应用(App),分别对应三个关键环节:

研发环节对应 App核心作用
从数据到模型系统辨识设计器(systemIdentification)基于实测输入输出数据辨识对象数学模型
从模型到控制PID 调节器(pidTuner)针对对象模型自动/交互式整定 PID 参数
从模型到控制模糊逻辑设计器(fuzzyLogicDesigner)设计模糊推理系统,构建模糊控制器

三个 App 各司其职又相互衔接,其协同关系:

  • 使用顺序:先用系统辨识设计器完成"数据 → 模型";再以辨识模型为共同对象,分别用 PID 调节器和模糊逻辑设计器完成两条并行的"模型 → 控制"路线;最后回到北太真元仿真环境完成闭环对比。

  • 数据流转:辨识产出的模型可直接送入两个控制器设计 App;设计结果(PID 参数 / 模糊推理系统)再导出至仿真模型中,形成一条完整、可追溯的研发链路。

  1. 三个 App 功能介绍

2.1 系统辨识设计器(systemIdentification)

系统辨识设计器用于从实测输入输出数据中"提炼"被控对象的数学模型,是连接物理世界与控制器设计的桥梁。其界面概览如下:其主要功能包括:(1)数据导入与管理

  • 支持从工作区或数据文件导入时域数据(输入输出时间序列)和频域数据(频率响应/频谱数据);

  • 支持时序数据(无输入信号的输出序列)用于时间序列建模;

  • 提供数据曲线绘制功能,便于在建模前直观检查数据质量。

(2)数据预处理

  • 去趋势/去均值:消除输入输出信号中的恒定偏移或线性趋势;

  • 滤波:对数据做低通/高通滤波,抑制噪声干扰;

  • 数据分段:从原始数据中截取感兴趣的工作区间;

  • 数据集划分:指定估计数据集与验证数据集,验证数据不参与参数估计,专门用于检验模型的泛化能力。

(3)模型结构选择与参数估计

  • 线性模型:传递函数模型(可指定极点数、零点数、是否含纯延迟/积分环节)、多项式模型(ARX、ARMAX等)、状态空间模型(可指定阶次,连续或离散时间);

  • 估计配置:可设置最大迭代次数、收敛容差、参数初值(自动或手动)、参数上下界、正则化系数等高级选项。

(4)模型验证

  • 模型输出对比:将模型仿真输出叠加在验证数据上,给出拟合度百分比,直观评价模型复现实际响应的能力;

  • 残差分析:通过残差自相关检验(白性检验)和残差与输入的互相关检验(独立性检验)判断模型是否充分提取了数据中的动态信息;

  • 频率响应对比、零极点图、阶跃响应等多种视图辅助分析。

(5)模型导出

  • 辨识结果可导出为北太真元工作区中的模型对象(如传递函数),供 PID 调节器、模糊逻辑设计器及仿真环境直接调用。

典型操作流程:

2.2 PID 调节器(pidTuner)

PID 调节器是面向工程应用的交互式 PID 参数整定工具,能够在性能(响应速度)与鲁棒性(稳定裕度)之间自动取得平衡。其界面概览如下:其主要功能包括:(1)对象模型接入

  • 支持以传递函数、状态空间、零极点增益等 LTI 模型形式指定被控对象;

  • 可接入系统辨识设计器辨识得到的模型,实现"辨识 → 整定"的无缝衔接;

(2)控制器结构选择

  • 支持 P、PI、PD、PID 及带微分滤波环节的 PID 等多种结构;

  • 支持一自由度(1-DOF)和二自由度(2-DOF)PID 控制器:2-DOF 结构通过设定值加权,可在保持抗扰能力的同时显著减小跟踪超调;

  • 支持连续时间与离散时间控制器。

(3)自动整定

  • 打开 PID调节器 后自动计算一组 PID 参数,默认以约 60° 相位裕度为目标,在响应速度与鲁棒性之间取得平衡,免去手工试凑。

(4)交互式调参

  • 时域模式:通过"响应时间"滑块调节闭环快慢,通过"瞬态特性"滑块调节控制器在抗扰激进程度与鲁棒性之间的取舍;

  • 频域模式:通过"带宽"和"相位裕度"滑块进行调节;

  • 调节过程中闭环响应曲线实时更新,可一键恢复初始设计。

(5)性能分析与验证

  • 分析曲线:支持阶跃图或者波特图类型,并可以绘制被控对象、开环、参考跟踪、输入/输出扰动抑制响应、控制器代价等图像,可多图并排显示;

  • 性能指标:实时显示上升时间、调节时间、超调量、峰值、增益裕度、相位裕度、闭环带宽等;

  • 基线对比:可将当前设计保存为基线,与后续调整或其他结构(如 1-DOF 与 2-DOF)的设计进行同图对比。

(6)参数导出

  • 整定结果可导出为工作区中的控制器对象,无缝进入闭环仿真。

2.3 模糊逻辑设计器(fuzzyLogicDesigner)

模糊逻辑设计器用于设计、测试和调试基于模糊推理的控制器,适用于非线性、强耦合或难以精确建模的被控对象。其界面概览如下:其主要功能包括:

(1)模糊推理系统(FIS)构建

  • 支持 Mamdani 型和 Sugeno 型两类推理系统;

  • 支持一型(type-1)和二型(type-2,区间型)模糊系统;

  • 可灵活定义多输入多输出的控制器结构,典型的模糊 PID 结构以"误差 e"和"误差变化率 ec"为输入、控制量 u 为输出;

  • 支持从模板创建、从工作区/文件导入已有 FIS,或基于输入输出数据自动创建初始 FIS。

(2)隶属度函数编辑

  • 图形化编辑输入/输出变量的隶属度函数,支持三角形、梯形、高斯型、钟形、S 形/Z 形等常用类型;

  • 可通过在属性编辑器中精确设置名称、类型与参数;

  • 通过语言变量划分将控制经验转化为可计算的模糊集合。

(3)模糊规则编辑

  • 以规则列表/表格形式编辑 "If-Then" 模糊规则库(如"If e 为 NB 且 ec 为 NS,then u 为 PB");

  • 支持规则连接词(and/or)、规则权重、取非(not)等配置;

  • 规则库规模与完备性直接影响控制器的控制曲面形状与控制效果。

(4)推理机制配置

  • 可配置与/或运算、蕴含、聚合等推理算子;

  • 支持多种解模糊化方法:重心法、二分法、最大隶属度法、加权平均法(Sugeno)等。

(5)推理过程分析与可视化

  • 规则推理视图:给定具体输入值,逐条展示规则的触发强度与推理合成过程,便于调试规则库;

  • 输出曲面视图:绘制输入—输出控制曲面,从整体把握控制器的非线性映射特性;

  • 支持将 FIS 输出与测试数据对比,查看误差分布,评估设计质量。

(6)导出与集成

  • 设计完成的模糊控制器(FIS)可导出到工作区或接入北太真元仿真模型,与传统 PID 控制器进行闭环对比验证。

  1. 综合案例:二阶位置伺服系统的 PID 与模糊 PID 控制对比

3.1 案例概述

本案例以一个二阶位置伺服系统(电机角位置控制对象)为被控对象,完整演示"数据 → 模型 → 控制 → 对比"的研发链路,各小节与三个 App 的对应关系为:

小节内容对应 App / 工具
3.3基于输入输出数据的系统辨识systemIdentification
3.4被控对象模型与系统特性分析—
3.5PID 控制器设计pidTuner
3.6模糊控制器设计fuzzyLogicDesigner
3.7双回路对比仿真模型北太真元仿真环境
3.8仿真结果与对比分析北太天元

案例基本情况:

  • 被控对象:某二阶位置伺服系统,其数学模型事先未知,只能通过实验采集输入输出数据,再经系统辨识获得(见 3.3 节)。

  • 控制任务:在 t=0.1t=0.1 s 时刻施加幅值为 1 的阶跃给定,使系统输出快速、平稳地跟踪给定。

  • 对比方案:针对辨识得到的同一对象模型,分别采用常规 PID 控制与参数自整定模糊 PID 控制(模糊推理在线修正 kpkp、kiki、kdkd),在统一仿真模型中对比两种策略的响应曲线。

3.2 所需工具

工具 / 工具箱作用
北太真元搭建常规 PID 与模糊 PID 双回路对比仿真结构,完成闭环仿真验证与结果绘图
系统辨识设计器(systemIdentification)基于对象的输入输出数据辨识传递函数模型(见 3.3 节)
PID 调节器(pidTuner)针对辨识模型自动整定并交互微调 PID 参数(见 3.5 节)
模糊逻辑设计器(fuzzyLogicDesigner)定义参数自整定模糊 PID 的隶属度函数与 模糊规则(见 3.6 节)

3.3 基于输入输出数据的系统辨识

被控对象的数学模型事先未知,只能通过实验手段获得:先采集对象在激励信号下的输入输出数据,再用系统辨识方法估计出数学模型。本案例包含了被控对象的输入 u(PRBS 激励信号)与输出 y,采样周期 0.01 s、共 501 个采样点。整个"数据 → 模型"环节在系统辨识设计器(systemIdentification)中以图形化操作完成,步骤如下:(1)导入数据:在 App 的"导入数据"下拉菜单中选择"时域数据",在导入对话框中指定输入 u、输出 y、数据名称 mydata 与采样时间 0.01 s。导入完成后,主界面左侧出现数据对象 mydata,右侧时间图窗口同时显示输入 u 与输出 y 的波形,便于建模前检查数据质量。(2)选择模型结构并估计:在"模型辨识"下拉菜单中选择"传递函数模型",在弹出的对话框中设置极点数为 2、零点数为 0、连续时间,模型名默认为 tf1。(3)查看辨识结果:估计完成后,模型输出视图中 tf1 对估计数据的拟合度达 99.35%,右栏模型信息区给出完整的参数与质量指标,命令行日记区同步生成等效脚本命令(tfest(mydata, 2, 0, Options))。(4)导出模型:通过"导出模型"功能将 tf1 导出到工作区,供后续 PID 调节器与仿真环境直接调用。辨识完成后,模型信息与质量指标如下:

tf1 =
 
  从输入 "u" 到输出 "y":
           95.04
  -----------------------
  s^2 + 0.08247 s + 95.04
 
名称: tf1
连续时间传递函数。
 参数化:
    极点数量: 2   零点数量: 0
    自由参数数量:3
    使用 tfdata、getpvec、getcov 来获取参数及其不确定性。

状态:
使用 TFEST 对 时域数据 "mydata" 进行估计。   
对估计数据的拟合度:99.35% (stability enforced)
FPE: 8.655e-05, MSE: 8.484e-05

辨识结果分析:

  • 拟合度:辨识模型输出对估计数据的拟合度达 99.35%——这是衡量辨识质量的核心指标,说明模型几乎完全复现了采集数据中的动态行为;

  • 误差指标:最终预测误差 FPE = 8.655×10⁻⁵、均方误差 MSE = 8.484×10⁻⁵,均在10⁻⁵ 量级,表明辨识精度良好;

  • 图形验证:模型输出视图中,辨识模型输出与实测数据两条曲线几乎完全重合,进一步确认模型可信。

关于辨识结果的复现性:辨识所用数据来自固定的数据文件,但参数估计采用迭代优化算法,计算过程中涉及随机数生成(如初始参数的随机化处理),因此每次辨识得到的模型参数会有略微差异(例如分子增益在 95.0 附近小幅波动),属于正常现象。只要拟合度保持在较高水平(如 95% 以上),即可认为辨识结果可信。

3.4 被控对象模型与系统特性分析

经 3.3 节辨识,获得被控对象的传递函数模型:$$G(s)=\frac{95.04}{s^2+0.08247s+95.04}$$系统特性分析:对该传递函数作进一步分析,可以明确被控对象的性质:

分析维度结论
输入输出结构SISO(单输入单输出):输入为驱动电压 u(t)u(t),输出为角位置 y(t)y(t)
系统类型连续时间、线性时不变(LTI)、集总参数系统
阶数与结构二阶系统,2 个极点、无零点、无纯延迟环节
稳定性极点 s1,2=−0.0412±j 9.75s1,2=−0.0412±j9.75,实部为负,开环稳定
动态特性固有频率 ωn=95.04≈9.75ωn=95.04≈9.75 rad/s,阻尼比 ζ≈0.004ζ≈0.004,弱阻尼、强振荡
稳态特性直流增益 G(0)=1G(0)=1,阶跃输入下无稳态静差
开环阶跃响应超调量约 98.7%,调节时间(±2% 带)超过 100 s,振荡剧烈

被控对象示意图如下:

正是由于其阻尼比极低、开环振荡剧烈,该对象非常适合用来检验控制器对动态品质的改善能力——这也是本案例同时引入 PID 与模糊 PID 两种策略进行对比的原因。后续章节中的仿真模型与脚本,其被控对象参数均已统一采用本辨识结果(95.04 / [1 0.08247 95.04])。

3.5 PID 控制器设计

辨识得到对象模型后,第一条控制路线是使用 PID 调节器(pidTuner)对辨识模型进行 PID 参数整定。为了便于辨识,将tf1重新命名为sys_id,将辨识模型作为被控对象使用。使用PID调节器进行操作过程如下:(1)导入辨识模型:在 PID调节器 中选择 3.3 节辨识得到并导出到工作区的 sys_id(95.04/(s²+0.08247s+95.04))作为被控对象导入,即 pidTuner(sys_id) 或在 PID调节器 的 导入线性系统 菜单中指定工作区模型。导入后主界面即显示被控对象预览与初始控制器的参考跟踪响应。(2)选择控制器结构:在类型下拉框中选择 PIDF ,与仿真模型中 PID Controller 模块的结构保持一致。(3)自动整定:PID调节器 基于对象模型自动计算一组在响应速度与鲁棒性之间平衡的初始参数(默认目标相位裕度约 60°)。(4)交互微调:通过"响应时间"和"瞬态特性"滑块调节闭环带宽与阻尼取向,实时观察阶跃跟踪响应与性能指标,直至满足设计要求。(5)导出参数:将整定结果写入仿真模型中的 PID Controller 模块,或导出为工作区控制器对象。经滑块微调后的最终整定参数为 Kp=13.9,Ki=60.44,Kd=0.6998,微分滤波时间常数 Tf=0.001348。整定效果:将上述参数与被控对象构成单位负反馈闭环,其阶跃响应如下图所示。对比开环对象(弱阻尼、超调约 98.7%、调节时间超过 100 s),PID 闭环的动态品质得到根本改善:

指标开环对象PID 闭环
超调量≈ 98.7%≈ 14.5%
上升时间(10%–90%)≈ 0.19 s≈ 0.02 s
调节时间(±2% 带)> 100 s≈ 0.39 s
稳态误差0(直流增益 1)0

注:常规 PID 闭环的超调已降至约 14.5%,但仍有进一步压缩空间;这正是后续引入模糊 PID(参数随误差在线自整定)试图进一步改善的切入点。

3.6 模糊控制器设计

fuzzpid.fis 定义了一个 Mamdani 型模糊推理系统,用于在线整定 PID 三个参数的修正量,其整体结构为两输入三输出:

项目内容
推理类型Mamdani
输入e(误差)、ec(误差变化率),范围均为 [-3, 3]
输出Δkp(范围 [-0.3, 0.3])、Δki(范围 [-0.06, 0.06])、Δkd(范围 [-3, 3])
隶属度函数分级7 级:NB、NM、NS、Z、PS、PM、PB
隶属度函数边界采用 Z 形(zmf)/S 形(smf),中间采用三角形(trimf)
推理与解模糊与=min,或=max,蕴含=min,聚合=max,解模糊=最大隶属度平均值法(mom)
规则数49 条(7×7 全组合),连接词为 and,权重均为 1

在模糊逻辑设计器中导入 fuzzpid.fis 后,可查看与编辑该 FIS 的完整结构:以输入 e 为例,7 个隶属度函数定义为:

语言值类型参数
NBzmf[-3, -1]
NMtrimf[-3, -2, 0]
NStrimf[-3, -1, 1]
Ztrimf[-2, 0, 2]
PStrimf[-1, 1, 3]
PMtrimf[0, 2, 3]
PBsmf[1, 3]

规则库以"e × ec"的 49 种组合分别给出 Δkp、Δki、Δkd 的语言值,在模糊逻辑设计器的"模糊规则编辑器"选项卡中可逐条查看与编辑:三张规则表如下(行 = e,列 = ec):Δkp 规则表:

e \ ecNBNMNSZPSPMPB
NBPBPBPMPMPSZZ
NMPBPBPMPSPSZNS
NSPMPMPMPSZNSNS
ZPMPMPSZNSNMNM
PSPSPSZNSNSNMNM
PMPSZNSNMNMNMNB
PBZZNMNMNMNBNB

Δki 规则表:

e \ ecNBNMNSZPSPMPB
NBNBNBNMNMNSZZ
NMNBNBNMNSNSZZ
NSNBNMNSNSZPSPS
ZNMNMNSZPSPMPM
PSNMNSZPSPSPMPB
PMZZPSPSPMPBPB
PBZZPSPMPMPBPB

Δkd 规则表:

e \ ecNBNMNSZPSPMPB
NBPSNSNBNBNBNMPS
NMPSNSNBNMNMNSZ
NSZNSNMNMNSNSZ
ZZNSNSNSNSNSZ
PSZZZZZZZ
PMPBPSPSPSPSPSPB
PBPBPMPMPMPSPSPB

规则整定原则体现了典型的工程经验:误差较大时(|e| 大)取较大的 Δkp、较小的 Δkd 以加快响应;误差接近稳态时增大 Δki 以消除静差、减小 Δkp 以避免超调。

3.7 仿真模型

根据控制设计搭建了双回路对比仿真结构,顶层框图如下(Step 阶跃给定同时送入两条回路:上方为模糊 PID 回路,下方为常规 PID 回路,三路信号经 Mux 输出观测):

其中 FuzzyControl 子系统是参数自整定模糊 PID 的核心,内部结构为:对应的控制律为:$$k_p=6.3+\Delta k_p,\quad k_i=20+2\,\Delta k_i,\quad k_d=0.4+0.1\,\Delta k_d$$$$u(t)=k_p\,e(t)+k_i\int_0^t e(\tau)\,d\tau+k_d\,\dot{e}(t)$$即模糊推理输出的修正量经量化因子(1、2、0.1)缩放后叠加在基准参数(Kp0=6.3、Ki0=20、Kd0=0.4)上,实现 PID 参数的在线自整定。模型中两条回路的对比要点:

对比项常规 PID 回路模糊 PID 回路
控制器PID Controller 模块(1-DOF)Fuzzy Logic Controller(fuzzpid.fis)+ 参数自整定结构
参数固定 Kp=13.9、Ki=60.44、Kd=0.6998、Tf=0.001348kp、ki、kd 随 e、ec 在线变化
被控对象Transfer Fcn2:95.04/(s²+0.08247s+95.04)Transfer Fcn1:95.04/(s²+0.08247s+95.04)(同一模型)

3.8 仿真结果与对比分析

在北太真元中运行仿真模型后,两种控制策略的响应曲线对比如下:

量化性能指标对比(以阶跃施加时刻 t=0.1 s 为起点计算):

性能指标常规 PID模糊 PID
超调量≈ 14.5%≈ 3.1%
峰值时间≈ 0.05 s≈ 0.19 s
上升时间(10%–90%)≈ 0.018 s≈ 0.094 s
调节时间(±2% 带)≈ 0.39 s≈ 0.23 s

对比分析:

  • 响应速度:常规 PID 上升时间仅约 0.018 s,远快于模糊 PID(约 0.094 s)——pidTuner 整定时响应时间滑块设置较小,闭环带宽高,快速性占优;

  • 动态品质:常规 PID 的快速性以超调为代价(约 14.5%);模糊 PID 凭借参数在线自整定(误差大时增大 kpkp 加快响应,接近稳态时减小 kpkp 并增强积分以消除静差),超调量压至约 3.1%,振荡明显更小;

  • 稳态性能:仿真末端模糊 PID 输出 0.997,已基本进入稳态;常规 PID 输出 0.981,仍在缓慢收敛,其调节时间(约 0.39 s)明显长于模糊 PID(约 0.23 s);

  • 综合结论:对本案例这类弱阻尼、强振荡的二阶对象,模糊 PID 以略慢的上升速度换取了大幅改善的动态品质与更快的整体调节,综合性能优于固定参数 PID;而常规 PID 结构简单、参数整定方便,在对上升速度敏感且允许一定超调的场合仍是可靠选择。

下载与试用

北太天元 2026 版本已正式发布,PID 调节器、模糊控制设计器 随版本同步上线。系统辨识 预计于 2027 年初发布上线。下载试用链接:https://www.baltamatica.com/download(点击底部"阅读原文"即可进入)

*系统辨识(属于系统辨识工具箱)、PID 调节器(属于控制系统工具箱)、模糊控制设计器(属于模糊逻辑工具箱)需在所属工具箱已激活的许可下使用,三个工具箱均需要开通非社区版许可