问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PID 伴侣:Matlab 系统辨识工具箱使用

创作时间:
作者:
@小白创作中心

PID 伴侣:Matlab 系统辨识工具箱使用

引用
CSDN
1.
https://blog.csdn.net/joker520522/article/details/142140942

本文通过一个直流电机PID控制系统的实验案例,详细介绍了如何使用Matlab系统辨识工具箱进行系统辨识。从实验环境搭建、数据采集、数据导入到系统辨识的全过程,都配有详细的步骤说明和截图,对于学习Matlab系统辨识工具箱的使用具有较高的参考价值。

PID 伴侣:Matlab 系统辨识工具箱使用

1. 简介

采用一个直流电机PID控制系统的例子来记录Matlab系统辨识工具箱

1.1. 实验环境

  • 主控单元:Arduino UNO,负责接收命令、处理数据以及控制电机。
  • 电机驱动模块:L298N,用于驱动直流减速电机,并接受 Arduino UNO 的指令。
  • 电源供应:采用 12V 直流电源,为整个系统提供稳定电力。
  • 电机组件:配备有编码器的直流减速电机,用于实时反馈电机速度信息。

1.2. 流程图

1.3. 系统辨识工具箱界面

来源:MATLAB如何进行系统辨识(传递函数)- 云墨小站 - CSDN

2. VOFA+ 采集数据

2.1. 电机控制程序

  • 采用斜坡信号作为输入激励,将目标速度设置为 30-90 区间变化
  • 需要记录 2 条数据曲线:电机控制引脚的PWM输出值,电机编码器返回的实际转速值

2.2. FireWater数据格式

  • 使用 VOFA+ 的FireWater格式获取数据
  • 具体的格式要求与 Arduino IDE 中串口示波器的通信格式是一致的。在处理串口数据流时,换行符被视为一个完整数据记录的终止标志,表明随后的数据将对应一个新的时间戳。在同一记录内,各项数据利用逗号(’,’)作为分隔符,以此来区分同一时刻下需要分别显示的不同数据类型。

2.3. 波形图控件

  • 在软件中需要添加波形图控件,从左侧栏拖到右侧的空白界面
  • 鼠标移动到波形图控件的边缘,当鼠标形状变成拉伸界面的双向箭头形式时,双击使其占满窗口

2.4. 数据保存为csv文件

  • 文件 -> 保存数据,即可将数据保存成csv格式

3. 数据导入

3.1. 数据导入Matlab

  • 选择输出类型为数值矩阵
  • 点击“导入所选内容”将数据导入到工作区

3.2 数据导入系统辨识工具箱

  • Import data
  • Data Format for Signals-信号数据格式:选择Time Domain Signals,时域数据
  • Workspace Variable-工作空间变量:Input、Output中分别填写工作区中存储的数据变量的名称
  • Data Information-数据信息:
  • data name:辨识数据名称
  • Starting name:辨识的起始时间 ,设置为0
  • Sample time:采样时间间隔,按照实际情况进行设定,单位是s

4. 数据预处理

4.1. 去偏移

  • 选择Remove means
  • 会出现一个新的数据集,即当前数据去偏移后的结果

4.2. 划分估计模型和验证模型

  • 将去偏移后的数据集拖到Working Data区域,在Operations中选择Select range
  • 跳出新窗口,修改Time span,下方的Samples是会随之变化
  • 下图是在构建估计模型,裁剪了被处理数据集的前19901条数据。验证模型将保存从200直到末尾的其他数据
  • Data name可以设置该数据集的名称
  • 点击Insert,会产生新的数据集
  • 将估计模型拖入到Working Data,将验证模型拖入到Vaildation Data

5. 系统辨识

5.1. 选择辨识模型

  • 将刚才划分的估计模型拖入Working Data区域
  • 我选择传递函数模型进行系统辨识,所以Estimate -> Transfer Function Models
  • 选择极点为2,选择零点为1
  • 选择Continuous-time(连续)
  • 点击Estimate开始辨识

5.2. 查看辨识结果

  • 系统辨识完成后,右侧会出现辨识后的结果
  • 双击tf1,跳出窗口查看辨识结果
  • Export将辨识结果保存到工作区
  • 选中tf1,选中Model output,将跳出验证模型与辨识出的传递函数的拟合程度

参考链接

  1. MATLAB系统辨识工具箱介绍(完结)- wendy_ya - CSDN
  2. MATLAB系统辨识工具箱(ARMAX模型)- 夏目贵志 - 知乎

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号