主要内容

基于机器学习的压电作动器模型识别

这个例子展示了使用基于机器学习的技术识别压电驱动器,包括支持向量机和高斯过程函数。

实验装置

本例中使用的数据由Micky Rakotondrabe教授(法国图卢兹大学)提供,他在法国Franche-Comté大学(Besançon)的实验室进行了实验。

实验装置由用于精确定位应用的悬臂式压电驱动器组成。该驱动器有两层,即由锆钛酸铅制成的压电层和由镍制成的被动层。压电作动器被应用于高精度定位和喷墨打印等多个领域。

压电作动器的识别

压电作动器存在滞后、蠕变和振动等问题。基于物理原理的模型必须考虑到这些特征。压电作动器模型的识别过程通常涉及估计一个数学模型,该模型将表征迟滞行为的非线性组件与表征作动器线性动力学的线性模型相结合。本例使用两种基于机器学习的方法来识别压电驱动器的黑盒模型。该例子假设没有关于执行器动力学或滞后非线性的先验知识。

输入输出数据

输入v是施加在执行器上的电压[v],输出d是执行器的位移[ μ m]。该数据集包含10000个输入输出样本,对应的采样率为0.0002 s。此数据将用于本示例中执行的所有估计和验证任务。

负载百分比数据负载idPiezoElectricData.mat

估计和验证数据

在这个数据集中,应用于压电驱动器的输入电压是不同频率的正弦信号的和。数据集被分成两部分,而且zv,其中前5000个样本用于估计(),剩下的5000个样本用于验证(zv

ze = id压电数据(1:5000);%估计数据zv = idPiezoElectricData(5001:end);%验证数据

将两个数据集绘制在一起,以直观地验证它们的时间范围

图;情节(泽zv);传奇(“泽”“zv”);

图中包含2个轴对象。标题为d的坐标轴对象1包含2个类型为line的对象。这些物体代表ze zv。标题为v的坐标轴对象2包含2个line类型的对象。这些物体代表ze zv。

基于支持向量机输出函数的非线性ARX模型辨识

配置支持向量机(SVM)函数来表示系统模型中的非线性。

创建回归集解释变量在模板中使用idnlarx模型。

Vars = {' d '“v”};滞后= {1:20,0:20};回归量=线性回归量(Vars,滞后);

配置idSupportVectorMachine非线性对象

NL = idSupportVectorMachine;问。EpsilonMargin = 1e-3;问。KernelScale = 30;

创建模板idnlarx模型initialModel包含解释变量而且.然后使用initialModel估计NLARX模型mdlSVM从数据来看

initialModel = idnlarx(ze。OutputName,泽。InputName, Regressors, NL);mdlvm = nlarx(ze, initialModel);

可视化估计模型与验证数据的比较情况。

比较(zv mdlSVM);

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示验证数据(d), mdlvm: 96.74%。

图中的图例显示了该模型的高拟合精度。

带高斯过程输出函数的非线性ARX模型辨识

配置高斯过程(GP)函数来表示系统模型中的非线性。

创建回归集解释变量在模板中使用idnlarx模型。

%创建回归量Vars = {' d '“v”};滞后= {1:5,0:5};回归量=线性回归量(Vars,滞后);

配置idGaussianProcess非线性对象

NL = idGaussianProcess;

创建模板idnlarx模型initialModel包含解释变量而且.然后使用initialModel估计NLARX模型mdlGP从数据来看

initialModel = idnlarx(ze。OutputName,泽。InputName, Regressors, NL);mdlGP = nlarx(ze, initialModel);

可视化估计模型与验证数据的比较情况。

比较(zv mdlGP);

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示验证数据(d), mdlGP: 98.37%。

图中的图例显示了该模型的高拟合精度。

比较非线性模型和线性模型的结果

将使用支持向量机和高斯过程输出函数的非线性ARX得到的识别模型与使用支持向量机和高斯过程输出函数得到的识别线性模型进行比较党卫军命令。

第一套选项党卫军使用选项集ssestOptions.然后估计一个线性模型mdlLinear使用党卫军

opt = ssestOptions;opt.EnforceStability = true;opt.Focus =“模拟”;mdlLinear = sest(ze,6,opt);

将三个估计模型与验证数据进行比较。

图比较(zv mdlSVM、mdlGP mdlLinear);

图中包含一个轴对象。axis对象包含4个line类型的对象。这些对象表示验证数据(d), mdlvm: 96.74%, mdlGP: 98.37%, mdlLinear: 16.65%。

图中图例显示,使用线性模型获得的拟合精度明显低于基于机器学习的输出函数的两种非线性ARX模型的拟合精度。

另请参阅

|||

Baidu
map