Files
AutoControlCourse/GUIDANCE.md
T
2026-04-07 19:33:49 +08:00

27 KiB
Raw Blame History

自动控制理论AI+数智平台 — 学生使用指南

本指南面向使用本平台进行自动控制理论课程学习的本科生,详细介绍平台功能、使用方法、学习建议与常见问题解决方案。


一、平台概述

1.1 平台简介

自动控制理论AI+数智平台是西北工业大学2025年校级本科生建设项目的核心成果,旨在为自动控制理论课程提供交互式、数智化的学习环境。平台集成了系统分析工具、完整混动模型算例演示与AI智能问答功能,覆盖从经典控制理论到现代控制工程的多个核心知识点。

1.2 访问方式

在线访问(本校学生优先):

http://182.148.54.29:7860/

本地运行(需配置Python环境):

# 克隆项目后
pip install -r requirements.txt
python app.py
# 访问 http://localhost:7860

1.3 支持浏览器

浏览器 推荐版本 备注
Google Chrome 90+ 首选,推荐使用
Microsoft Edge 90+ 完全支持
Mozilla Firefox 88+ 完全支持
Apple Safari 14+ 基本支持

1.4 界面布局

平台主界面分为以下区域:

┌─────────────────────────────────────────────────────────────┐
│  🌐 在线人数:12  👥 总人数:348     (顶部状态栏)         │
├─────────────────────────────────────────────────────────────┤
│  🖥️ CPU 45%  💾 RAM 8.2/16 GB   🎮 GPU N/A             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   ⏱️ 时域分析  │  📊 频域分析  │  🎯 根轨迹  │  🧪 算例演示  │  🤖 智能问答  │
│   (Tab 0)      │   (Tab 1)    │   (Tab 2)   │   (Tab 3)    │   (Tab 4)    │
│                                                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   [左侧控制面板]              [中间图表区域]               │
│   - 参数输入框                - 时域响应曲线                │
│   - 增益滑块                  - Bode图/Nyquist图            │
│   - 性能指标显示              - 根轨迹图                    │
│                              - 混动仿真结果                  │
│                                                             │
│   [右侧知识卡片]                                          │
│   - 理论知识点                                           │
│   - 公式与推导                                           │
│   - 使用技巧                                               │
│                                                             │
└─────────────────────────────────────────────────────────────┘

二、功能模块详解

2.1 时域分析

2.1.1 功能说明

时域分析模块用于研究控制系统对时间域输入信号的响应特性。通过输入系统的传递函数,可以观察单位阶跃响应和单位脉冲响应,并自动计算上升时间、峰值时间、超调量、调节时间、稳态值等性能指标。

2.1.2 传递函数输入格式

传递函数的标准形式为:

G(s) = \frac{b_0 s^m + b_1 s^{m-1} + \cdots + b_m}{a_0 s^n + a_1 s^{n-1} + \cdots + a_n}

输入方法:

  1. 在「分子系数」输入框中填写分子多项式系数(从最高次幂到常数项)
  2. 在「分母系数」输入框中填写分母多项式系数(从最高次幂到常数项)
  3. 系数之间用英文逗号分隔

示例:

系统类型 示例 分子输入 分母输入
一阶系统 G(s) = \frac{1}{s+1} 1 1,1
二阶系统 G(s) = \frac{4}{s^2+2s+4} 4 1,2,4
二阶系统(重根) G(s) = \frac{1}{s^2+2s+1} 1 1,2,1
三阶系统 G(s) = \frac{1}{s^3+6s^2+11s+6} 1 1,6,11,6
有零点系统 G(s) = \frac{s+2}{s^2+3s+2} 1,2 1,3,2

2.1.3 操作步骤

  1. 切换到「⏱️ 时域分析」标签页
  2. 输入传递函数系数
    • 点击「✓ 显示传递函数」按钮预览传递函数公式
    • 确认公式显示正确后再继续
  3. 点击「🚀 开始分析」按钮
  4. 查看分析结果
    • 左图:单位阶跃响应曲线
    • 右图:单位脉冲响应曲线
    • 下方:性能指标数值

2.1.4 性能指标解读

指标名称 含义 合格标准(典型值)
上升时间 (Rise Time) 响应从10%上升到90%稳态值的时间 越小越快
峰值时间 (Peak Time) 响应达到第一个峰值的时间 越小越快
超调量 (Overshoot) 峰值超出稳态值的百分比 < 20% 为宜
调节时间 (Settling Time) 响应进入±2%误差带并保持的时间 越小越好
稳态值 (Steady State) 时间趋于无穷时的系统输出 应等于1(单位阶跃)

2.1.5 学习建议

练习方向:

  1. 对比不同阻尼比下二阶系统的响应特性
  2. 观察零点位置对系统响应的影响
  3. 分析系统增益变化对稳态误差的影响

推荐传递函数参数:

阻尼比 分子 分母 响应特点
无阻尼 4 1,0,4 等幅振荡
欠阻尼 1 1,0.6,1 振荡衰减
临界阻尼 1 1,2,1 最快无振荡
过阻尼 1 1,3,1 无振荡,较慢

2.2 频域分析

2.2.1 功能说明

频域分析模块通过绘制Bode图和Nyquist图来分析系统的频率响应特性,并计算增益裕度和相位裕度这两个重要的稳定性指标。

2.2.2 操作步骤

  1. 切换到「📊 频域分析」标签页
  2. 输入传递函数系数(与时域分析相同)
  3. 调整增益
    • 拖动「对数增益 log₁₀(K)」滑块
    • 或在数字框中直接输入K值
  4. 观察实时更新的图表

2.2.3 图表解读

Bode图(左上+左下):

  • 上半图:幅频特性,Y轴为增益(dB),X轴为频率(rad/s)
  • 下半图:相频特性,Y轴为相位(度),X轴为频率(rad/s)
  • 红色虚线-180° 相位线(用于判断相位裕度)

Nyquist图(右侧):

  • 极坐标形式显示频率响应
  • 曲线上的标记点代表不同频率
  • 原点为 $(0, j0)$,实轴正方向为

2.2.4 稳定裕度

指标 定义 稳定条件 经验要求
增益裕度 (GM) 相角为 -180° 时增益还能增大的倍数 GM_{dB} > 0 > 6 dB
相位裕度 (PM) 增益为0dB时相位还能滞后的度数 PM > 0° > 45°

稳定性判断:

  • GM > 0 dBPM > 0°🟢 系统稳定
  • GM < 0 dBPM < 0°🔴 系统不稳定

2.2.5 频域与时域的关系

频域指标 时域对应 经验公式
带宽 \omega_b 上升时间 t_r t_r \approx 1.8/\omega_b
相位裕度 PM 超调量 \sigma\% \sigma \approx 100 \times e^{-\pi PM/(90-PM)}

2.2.6 学习建议

练习方向:

  1. 找出系统的增益交越频率和相位交越频率
  2. 观察增益K变化对稳定裕度的影响
  3. 理解Bode图与Nyquist图的对应关系

2.3 根轨迹分析

2.3.1 功能说明

根轨迹法是一种图解方法,通过观察闭环极点(系统稳定性由极点位置决定)随增益K变化的轨迹来分析系统特性。

核心原理:

  • 极点位置决定系统响应特性
  • 左半平面极点 → 稳定响应(衰减)
  • 虚轴上极点 → 临界稳定(等幅振荡)
  • 右半平面极点 → 不稳定响应(发散)

2.3.2 操作步骤

  1. 切换到「🎯 根轨迹」标签页
  2. 输入开环传递函数系数
  3. 调整增益
    • 拖动滑块从 K = 10^{-4}K = 10^{4}
    • 观察红色×标记的极点移动轨迹
  4. 分析极点位置

2.3.3 图表解读

元素 含义
蓝色曲线 根轨迹(K从0到∞时闭环极点的轨迹)
红色× 当前增益K下的闭环极点位置
虚线 阻尼比等值线(\zeta = 0.707 对应 $\cos^{-1}(0.707) \approx 45°$

2.3.4 稳定性判断

极点位置 系统状态 响应特征
左半平面 稳定 响应最终衰减
虚轴上 临界稳定 持续等幅振荡
右半平面 不稳定 响应发散

2.3.5 根轨迹的基本性质

性质 描述
起点 K=0时,极点位于开环传递函数的极点
终点 K→∞时,极点趋向开环传递函数的零点
分支数 等于系统阶数(分母阶数)
渐近线 趋向无穷远处的分支沿渐近线分布
分离点 根轨迹在实轴上分离/会合的点

2.3.6 学习建议

练习方向:

  1. 绘制并验证根轨迹的起点、终点、渐近线
  2. 找出根轨迹的分离点位置
  3. 确定系统稳定的增益K的范围

2.4 算例演示

2.4.1 模块概述

算例演示模块是本平台的特色功能,通过完整的串联式混合动力系统模型,展示控制系统设计在实际工程中的应用。该模块采用四阶段设计,从模型训练到控制器设计再到能量管理,完整覆盖了控制系统设计的核心流程。

四阶段架构:

┌─────────────────────────────────────────────────────────────┐
│  阶段零:模型训练                                           │
│  ├── A. GPR模型训练/加载(数据驱动建模)                    │
│  └── B. NN模型训练(知识蒸馏,实时仿真加速)                 │
├─────────────────────────────────────────────────────────────┤
│  阶段一:发动机控制器设计                                   │
│  ├── PID控制器(经典三参数控制)                            │
│  └── MPC控制器(模型预测控制)                              │
├─────────────────────────────────────────────────────────────┤
│  阶段二:电机控制器设计                                     │
│  ├── PID控制器                                             │
│  └── MPC控制器                                             │
├─────────────────────────────────────────────────────────────┤
│  阶段三:能量管理策略设计                                    │
│  └── 规则型EMS + 滞环控制 + 完整混动系统仿真               │
└─────────────────────────────────────────────────────────────┘

2.4.2 阶段零:模型训练

目的: 建立发动机稳态代理模型,用于后续实时控制仿真。

A. GPR模型训练/加载:

GPR(高斯过程回归)是一种数据驱动的建模方法,适合小样本、高维插值。

模式 说明 适用场景
load(推荐) 加载已有模型权重 快速开始,无需等待
train 从CSV数据从头训练 修改了训练数据后

B. NN模型训练(知识蒸馏):

将GPR模型的知识蒸馏到轻量级神经网络中,牺牲少量精度换取推理速度的大幅提升。

参数 说明 推荐值
训练轮数 越多越精确,但耗时更长 3000
学习率 控制收敛速度 3e-3
隐藏层宽度 MLP每层神经元数 64

2.4.3 阶段一:发动机控制器设计

目的: 设计涡轴发动机燃油控制器,使发动机功率快速、准确地跟踪目标指令。

被控对象模型:

输入: [高度H, 马赫数Ma, 转速N]
      ↓
  NN/GPR代理模型
      ↓
输出: [燃油流量Wf, 功率P]

动态特性方程:

\tau_f \frac{dW_f}{dt} + W_f = W_{f,cmd} \quad \text{(燃油执行机构)} T \frac{dN}{dt} = K(W_f - W_{f,eq}(N)) \quad \text{(转子动力学)}

PID控制器参数:

参数 作用 调节建议
Kp(比例增益) 加快响应速度 过大导致振荡
Ki(积分增益) 消除稳态误差 过大致超调
Kd(微分增益) 抑制振荡 过小响应迟缓

MPC控制器参数:

参数 作用 调节建议
预测时域 前看步数,越长越激进 15步左右
W_power 功率跟踪权重 越大跟踪越紧
W_dcost 控制增量权重 越大控制越平缓
超调限制 功率超调硬约束 5%

2.4.4 阶段二:电机控制器设计

目的: 设计驱动电机转速控制器,使电机转速跟踪目标指令,并具备抗负载扰动能力。

被控对象: 永磁同步电机(PMSM

关键方程:

T_e = 1.5n_p[\psi_f + (L_d - L_q)i_d]i_q \quad \text{(电磁转矩)} J\frac{d\omega}{dt} = T_e - T_L - B\omega \quad \text{(机械方程)}

负载扰动测试:

  • 在仿真60%时刻自动施加150%额定负载
  • 用于检验控制器的抗扰动能力

2.4.5 阶段三:能量管理策略设计

目的: 设计混合动力系统的能量管理策略(EMS),协调发动机、电机和电池的功率分配。

系统架构:

                    ┌──────────────┐
                    │   发动机     │
                    │  (发电机组)   │
                    └──────┬───────┘
                           │ 发电功率 P_gen
                           ▼
┌────────────┐    ┌──────────────┐    ┌──────────────┐
│   电池组   │◄──►│   直流母线   │◄──►│   驱动电机   │
│  (储能)    │    │  (功率枢纽)   │    │   (推进)     │
└────────────┘    └──────────────┘    └──────────────┘

SOC滞环控制策略:

SOC区间 工作模式 发动机行为
< SOC_{low} 充电模式 固定输出 P_{charge}
> SOC_{high} 功率跟随 输出 = 电机需求 + 储备 + 补偿
滞环区间内 保持 维持前一模式

输出图表解读:

图表 内容 关注点
推进轴转速 目标转速 vs 实际转速 跟踪误差
功率分配 电机需求/发动机输出/电池功率 功率流向
电气状态 母线电压与SOC 电池状态
燃油消耗 燃油流量时间曲线 经济性

关键时刻数据表:

系统自动选取8个关键时刻点,展示完整的状态数据,便于分析关键时刻的系统行为。


2.5 AI智能问答

2.5.1 功能说明

AI智能问答模块集成了DeepSeek API,提供24小时在线的自动控制理论学习助手,支持LaTeX公式渲染和多轮对话上下文记忆。

2.5.2 操作步骤

  1. 切换到「🤖 智能问答」标签页
  2. 在底部输入框中输入问题
  3. 点击「📤 发送」按钮或按Enter键
  4. 等待AI回复(支持流式输出,逐字显示)

2.5.3 推荐问题类型

概念解释类:

  • "请解释传递函数的定义和物理意义"
  • "什么是系统的稳态误差?"
  • "Bode图中的增益裕度和相位裕度是什么?"

公式推导类:

  • "如何推导二阶系统的超调量公式?"
  • "根轨迹的渐近线如何计算?"
  • "请推导PID控制器的离散化公式"

例题分析类:

  • "如何用劳斯判据判断这个系统的稳定性?"
  • "请分析这个传递函数的阶跃响应特性"
  • "帮我求这个系统的稳态误差"

参数分析类:

  • "PID控制器中三个参数分别如何影响系统响应?"
  • "阻尼比大于1和小于1有什么区别?"
  • "MPC的预测时域对控制效果有什么影响?"

2.5.4 提问技巧

推荐的提问方式:

  • 问题描述清晰,包含具体参数
  • 指出自己已经理解的方面
  • 说明学习的上下文(如"正在学习根轨迹法")

应避免的提问方式:

  • 过于笼统("帮我做题")
  • 缺乏上下文("这个对吗?"而不给出具体内容)
  • 语法不通(影响AI理解)

2.5.5 公式显示

AI回复中的数学公式会自动渲染,支持以下格式:

格式类型 写法 显示效果
行内公式 $公式$ 行内显示
独立公式 $$公式$$ 居中显示
上标 s^{2} s^{2}
下标 a_1 a_1
分数 \frac{a}{b} \frac{a}{b}
根号 \sqrt{x} \sqrt{x}

三、传递函数示例库

3.1 一阶系统

标准形式: G(s) = \frac{K}{\tau s + 1}

示例: G(s) = \frac{1}{s + 1}

分子系数: 1
分母系数: 1,1

特性: 无超调,响应单调上升,上升时间 \approx 2.2\tau


3.2 二阶欠阻尼系统

标准形式: $G(s) = \frac{\omega_n^2}{s^2 + 2\zeta\omega_n s + \omega_n^2}$,其中 0 < \zeta < 1

示例($\zeta = 0.3, \omega_n = 1$): G(s) = \frac{1}{s^2 + 0.6s + 1}

分子系数: 1
分母系数: 1,0.6,1

特性: 有超调,振荡衰减,响应快速


3.3 二阶临界阻尼系统

标准形式: G(s) = \frac{\omega_n^2}{(s + \omega_n)^2}

示例: G(s) = \frac{1}{s^2 + 2s + 1}

分子系数: 1
分母系数: 1,2,1

特性: 最快无振荡响应,无超调


3.4 二阶过阻尼系统

标准形式: $G(s) = \frac{\omega_n^2}{(s + \omega_n)(s + \zeta\omega_n)}$,其中 \zeta > 1

示例: G(s) = \frac{1}{s^2 + 3s + 2}

分子系数: 1
分母系数: 1,3,2

特性: 无超调,响应较慢,无振荡


3.5 二阶无阻尼系统

标准形式: G(s) = \frac{\omega_n^2}{s^2 + \omega_n^2}

示例: G(s) = \frac{4}{s^2 + 4}

分子系数: 4
分母系数: 1,0,4

特性: 等幅振荡,周期 T = \frac{2\pi}{\omega_n}


3.6 三阶系统

示例: G(s) = \frac{1}{s^3 + 6s^2 + 11s + 6}

分子系数: 1
分母系数: 1,6,11,6

特性: 可分解为三个一阶环节的串联,响应由最慢的极点主导


3.7 带零点二阶系统

示例: G(s) = \frac{s + 2}{s^2 + 3s + 2}

分子系数: 1,2
分母系数: 1,3,2

特性: 零点会加快系统响应,增加超调量


3.8 延迟环节系统

示例: G(s) = \frac{e^{-0.5s}}{s + 1}

近似方法: 帕德近似

e^{-\tau s} \approx \frac{1 - \frac{\tau}{2}s}{1 + \frac{\tau}{2}s}

输入:

分子系数: 1,-2
分母系数: 1,2,2

四、学习路径建议

4.1 初学者路径(第1-2周)

目标: 理解基本概念,会使用时域分析工具

建议步骤:

  1. 阅读「时域分析」模块的知识卡片
  2. 尝试输入不同阻尼比的二阶系统,观察响应差异
  3. 理解上升时间、峰值时间、超调量、调节时间的物理意义
  4. 向AI助手提问,澄清疑惑

推荐练习:

  • 绘制 \zeta = 0.1, 0.3, 0.5, 0.7, 1.0 的二阶系统响应
  • 观察阻尼比对超调量的影响
  • 记录数据,绘制 \zeta vs \sigma\% 曲线

4.2 进阶学习路径(第3-4周)

目标: 掌握频域分析方法,理解稳定性裕度

建议步骤:

  1. 学习Bode图的基本绘制规则
  2. 使用频域分析工具绘制不同系统的Bode图
  3. 理解增益裕度和相位裕度的物理意义
  4. 分析增益K变化对稳定裕度的影响

推荐练习:

  • 找出典型二阶系统的增益交越频率和相位交越频率
  • 计算并验证稳定裕度
  • 理解 "相位裕度越大,系统越稳定" 的直观含义

4.3 根轨迹专项路径(第5周)

目标: 掌握根轨迹法,能设计简单控制器

建议步骤:

  1. 理解根轨迹的基本规则(起点、终点、渐近线等)
  2. 使用根轨迹分析工具观察极点移动规律
  3. 找出使系统稳定的增益范围
  4. 理解主导极点的概念

推荐练习:

  • 对比开环极点位置与闭环极点位置的关系
  • 找出根轨迹的分离点
  • 确定临界增益(系统临界稳定时的K值)

4.4 算例演示专项路径(第6-7周)

目标: 通过混动系统算例,理解控制系统设计的完整流程

建议步骤:

  1. 按顺序完成四个阶段的学习
  2. 理解GPR和NN模型的作用
  3. 对比PID和MPC控制器的效果差异
  4. 分析能量管理策略对SOC的影响

推荐练习:

  • 调节PID参数,观察发动机功率跟踪效果
  • 对比不同预测时域下MPC的控制效果
  • 分析SOC滞环参数对充放电频率的影响

五、常见问题与解决方案

5.1 输入与格式问题

问题1:输入后没有反应

可能原因:

  • 分子或分母输入为空
  • 系数格式错误(使用了中文逗号)
  • 分母阶数低于分子阶数(物理不可实现)

解决方法:

  1. 检查输入格式,确保使用英文逗号分隔
  2. 确认分子和分母都已填写
  3. 确保分母阶数 ≥ 分子阶数
  4. 刷新页面后重试

问题2:图表显示异常

可能原因:

  • 传递函数系数导致数值不稳定
  • 系统不稳定导致响应发散

解决方法:

  1. 尝试简化传递函数系数
  2. 检查系统是否稳定(不稳定系统的响应会发散)
  3. 刷新页面重试

5.2 算例演示问题

问题3:提示 "engine_nn_proxy.pth not found"

原因: 尚未完成阶段零的NN模型训练

解决方法:

  1. 切换到「阶段零:模型训练」
  2. 在「NN模型训练」子标签页中
  3. 设置参数后点击「🚀 开始 NN 训练」
  4. 等待训练完成(约2-5分钟)

问题4GPR训练失败

原因: 缺少 botorch/gpytorch 依赖

解决方法(选择一种):

  1. 安装依赖:

    pip install botorch gpytorch scikit-learn
    
  2. 使用load模式(推荐):

    • 在GPR子标签页中选择「load」模式
    • 加载已有的模型权重文件

问题5:仿真运行缓慢

可能原因:

  • 仿真步长设置过小
  • 仿真时长设置过长
  • CPU性能不足

解决方法:

  1. 增大仿真步长(如从0.02改为0.05或0.1
  2. 缩短仿真时长
  3. 减少预测时域(MPC控制器)

5.3 AI问答问题

问题6AI回答不准确

可能原因:

  • 问题描述不够具体
  • 缺少必要的上下文信息

解决方法:

  1. 提供具体的传递函数参数
  2. 说明自己已经理解的方面
  3. 明确指出困惑的具体点

示例对比:

不好的问题:

"这个系统怎么分析?"

好的问题:

"对于传递函数 G(s) = 1/(s^2+0.6s+1)
我知道这是一个欠阻尼二阶系统,
但我不理解为什么阻尼比 ζ=0.3 时超调量会达到约 37%,
请帮我推导超调量的计算公式。"

问题7:公式不渲染

原因: Chatbot组件未正确配置LaTeX

解决方法: 这是已知的配置问题,不影响AI回复内容的正确性。可以尝试:

  1. 刷新页面
  2. 简化公式写法

5.4 系统问题

问题8:页面加载缓慢

可能原因:

  • 网络连接不稳定
  • 浏览器缓存过多

解决方法:

  1. 尝试刷新页面
  2. 清除浏览器缓存
  3. 更换浏览器

问题9:在线人数显示为0或异常

说明:

  • 首次访问会创建新的会话ID
  • 在线统计基于浏览器会话,非登录用户
  • 每10秒自动刷新一次

解决方法:

  1. 确认页面已加载超过10秒
  2. 刷新页面重置会话

六、参考资料

6.1 教材与参考书

书名 作者 出版社 适合阶段
自动控制原理(第七版) 胡寿松 科学出版社 教材,入门必读
Modern Control Engineering Katsuhiko Ogata Prentice Hall 经典英文教材
Modern Control Systems Richard C. Dorf Pearson 全面覆盖
Feedback Control Theory John Doyle et al. Macmillan 理论深入

6.2 在线资源

资源 链接 说明
python-control文档 https://python-control.readthedocs.io/ 库函数参考
DeepSeek API https://platform.deepseek.com/docs API配置参考
Gradio文档 https://gradio.app/docs 界面框架参考

七、技术支持

7.1 联系方式

项目 信息
项目负责人 魏鹏飞
电子邮件 pengfeiwei@nwpu.edu.cn
机构 西北工业大学
课程相关问题 请联系任课教师或助教

7.2 问题反馈

反馈时请包含以下信息:

  1. 问题描述:具体描述遇到的问题
  2. 操作步骤:您进行了哪些操作
  3. 错误信息:截图或完整的错误提示
  4. 环境信息:浏览器版本、操作系统

八、附录

8.1 快捷操作汇总

操作 方法
发送问题 点击「📤 发送」按钮 或 按 Enter 键
清空对话 点击「🗑️ 清空」按钮
快速输入 点击示例问题自动填入
调整增益 拖动滑块 或 直接输入数字
显示传递函数 点击「✓ 显示传递函数」按钮

8.2 版本信息

项目 信息
当前版本 v1.2.0
更新日期 2026年4月7日
主要更新 新增算例演示模块与完整混动模型联动

使用过程中如有疑问,欢迎通过上述联系方式反馈!

祝学习顺利!