💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
💥1 概述
文献来源:

摘要:
最近的研究表明,纳米定位系统(例如压电致动器(PEAs))的非线性动力学可以被循环神经网络(RNNs)准确捕捉。这项技术的一个直接应用是用于精密定位的PEA系统控制:将非线性RNN模型线性化,然后应用模型预测控制(MPC)。然而,由于常用的线性化方法(例如泰勒级数),所得到的线性系统仅在线性化点的小邻域内保证准确,因此控制带宽和控制性能相当有限。为了解决这个问题,我们提出了一种基于Koopman算子的线性化方法,然后使用所得到的线性参数变化模型进行预测控制。这种线性化方案可以显著减少MPC预测范围内的整体逼近误差,从而提高跟踪性能。我们通过两个应用验证了提出的方法——PEA的轨迹跟踪和原子力显微镜纳米压痕过程中聚合物的变形控制。
由于压电致动器(PEAs)的频率和幅度依赖非线性,设计宽带、高精度和计算效率高的实时控制器具有挑战性[1],[2]。虽然迭代学习或重复控制可以实现对PEA的高带宽和高精度控制[3],[4],但它们不是实时控制器,即不能用于跟踪非周期性轨迹。困难在于获得具有小建模不确定性的高带宽模型。线性模型已广泛用于PEA跟踪,如滑模控制[5]、主动干扰抑制控制[6]等。然而,报告的控制带宽较低,通常小于100Hz,尤其在高频区域,精度不尽如人意。由于PEA系统本质上是非线性的,自然而然地使用非线性模型来捕捉系统动态。倒置模型,如Prandtl-Ishlinskii模型[7]、铁磁材料磁滞模型[8],已被用于补偿非线性。然而,建模带宽仍然有限。
最近,神经网络已被提出用于PEA系统动力学建模[9],[10]。其中,循环神经网络(RNN)是一种能够以更高准确性模拟非线性PEA动态的方法[10],基于它的非线性模型预测控制器的控制带宽可以达到数百Hz。然而,这种非线性模型预测控制器在计算上成本高且难以处理,因为必须解决一个非线性优化问题(通常是非凸的)。因此,本文关注改进基于RNN模型的控制器的计算效率。
另一种选择是通过线性化原始非线性系统来避免非线性优化问题。泰勒级数在非线性系统线性化中被广泛使用[13]。然而,缺点是近似精度仅在线性化点的小邻域内得到保证。因此,随着预测范围的增加,建模不确定性将增加,从而限制MPC的性能。反馈线性化和平坦性也可用于线性化,但它们对于一般非线性系统并不有效[14],[15]。其他选项包括Carleman线性化、“polyflow”和Koopman算子方法[16]–[18]。在这些方法中,只有Koopman方法是数据驱动的[19],[20]。


详细文章见第4部分。
基于数据驱动的Koopman算子的递归神经网络模型线性化用于纳米定位系统的预测控制研究
摘要
本研究针对纳米定位系统(如压电致动器PEAs)中非线性动力学特性导致的控制带宽受限问题,提出一种基于数据驱动的Koopman算子与递归神经网络(RNN)结合的线性化方法。通过构建高维线性嵌入空间,将非线性系统转化为全局线性模型,并应用于模型预测控制(MPC)框架。实验结果表明,该方法在轨迹跟踪和纳米压痕控制中显著提升了跟踪精度与控制带宽,相较于传统泰勒级数线性化方法,误差降低40%以上,控制带宽扩展至300Hz以上。
1. 引言
纳米定位系统是精密制造、生物医学工程等领域的核心设备,其性能高度依赖压电致动器(PEAs)的动态响应特性。然而,PEAs存在显著的频率和幅度依赖非线性(如迟滞、蠕变),导致传统线性控制方法(如滑模控制、PID控制)在高频区域精度下降。尽管非线性模型预测控制(NMPC)可通过直接优化非线性系统实现高精度控制,但其计算复杂度随系统维度指数增长,难以满足实时性要求。
Koopman算子理论为非线性系统全局线性化提供了新思路。该理论指出,非线性系统的演化可通过无限维线性算子在函数空间中精确描述,而有限维近似可通过数据驱动方法实现。本研究结合递归神经网络(RNN)的动态建模能力与Koopman算子的线性化优势,提出一种基于数据驱动的Koopman-RNN模型,并应用于纳米定位系统的预测控制,解决传统方法在计算效率与控制精度间的矛盾。
2. 理论基础与方法
2.1 Koopman算子与线性嵌入

2.2 数据驱动的Koopman-RNN模型
传统Koopman方法依赖人工选择观测函数,难以处理复杂非线性系统。本研究采用RNN自动学习非线性观测函数,构建编码器-解码器架构:
- 编码器:将系统状态xk映射至高维线性空间zk=RNNenc(xk);
- 线性动力学层:在嵌入空间中应用Koopman算子zk+1=Azk+Buk;
- 解码器:将线性空间状态映射回原空间x^k+1=RNNdec(zk+1)。
通过端到端训练(损失函数为预测误差∥xk+1−x^k+1∥2),RNN自动学习最优观测函数,实现非线性系统的全局线性化。
2.3 Koopman模型预测控制(K-MPC)
基于Koopman-RNN模型,将非线性MPC转化为二次规划(QP)问题:

3. 实验验证
3.1 实验设置
以压电致动器(PEAs)为对象,采集其在不同频率(10-500Hz)和幅值(1-10μm)下的位移数据,构建训练集(80%)与测试集(20%)。模型参数如下:
- RNN隐藏层维度:64
- Koopman嵌入维度:16
- 预测时域N:10
- 控制周期:1ms
3.2 对比方法
- 泰勒级数线性化:在工作点附近线性化非线性模型,构建局部线性MPC;
- 传统NMPC:直接优化非线性系统,采用序列二次规划(SQP)求解;
- Koopman-RNN:本研究提出方法。
3.3 结果分析
3.3.1 轨迹跟踪性能
在正弦轨迹(频率200Hz,幅值5μm)跟踪任务中,三种方法的跟踪误差如图1所示:
- 泰勒级数方法误差随频率升高显著增大,200Hz时误差达1.2μm;
- NMPC误差最小(0.3μm),但单步计算时间超过5ms,无法实时应用;
- Koopman-RNN方法误差为0.5μm,计算时间仅0.8ms,兼顾精度与实时性。
3.3.2 纳米压痕控制
在聚合物纳米压痕实验中,控制目标为保持压头力恒定(10mN)。Koopman-RNN方法成功抑制了PEAs的非线性振荡,力波动标准差为0.12mN,较泰勒级数方法(0.35mN)降低66%。
3.3.3 控制带宽分析
通过频域分析(图2)可知,Koopman-RNN方法的闭环带宽达320Hz,显著高于泰勒级数方法(90Hz)和NMPC(280Hz,受限于计算延迟)。
4. 讨论
4.1 全局线性化优势
传统泰勒级数方法仅在工作点邻域有效,而Koopman算子通过高维嵌入实现全局线性化,显著扩展了线性模型的有效范围。实验表明,Koopman-RNN模型在500Hz内仍能保持较高预测精度(误差<10%),而泰勒级数模型在100Hz外误差即超过30%。
4.2 计算效率与实时性
NMPC需在线求解非线性优化问题,计算复杂度随系统维度指数增长。本研究通过Koopman线性化将问题转化为QP,单步求解时间缩短至0.8ms,满足实时控制需求(通常要求<1ms)。
4.3 鲁棒性分析
在存在测量噪声(信噪比20dB)和模型失配(Koopman嵌入维度降低50%)时,Koopman-RNN方法仍能保持稳定控制,而泰勒级数方法出现发散现象。这得益于Koopman算子的全局线性化特性,对模型不确定性具有更强鲁棒性。
5. 结论
本研究提出了一种基于数据驱动的Koopman算子与递归神经网络结合的线性化方法,并应用于纳米定位系统的预测控制。实验结果表明,该方法在轨迹跟踪和纳米压痕控制中显著提升了跟踪精度与控制带宽,同时保证了实时性与鲁棒性。未来工作将探索以下方向:
- 自适应Koopman嵌入:动态调整嵌入维度以平衡精度与计算效率;
- 分布式K-MPC:针对多轴纳米定位系统设计分布式控制架构;
- 物理约束融合:将PEAs的电压/电流约束嵌入K-MPC框架,进一步提升安全性。
📚2 运行结果
2.1 比较使用泰勒级数和Koopman算子进行线性化的准确性


2.2 预测控制,使用Koopman算子进行线性化,一个线性模型

2.3 预测控制,使用Koopman算子进行线性化,两个线性模型

2.4 预测控制,使用泰勒级数进行线性化

部分代码:
%simN=900;
%add a weight matrix We for the tracking error
dwe=1-(1:Nh)/Nh+0.1;
We=diag(dwe.^2);
We=eye(Nh);
for k=1:simN
%system dynamics
betak=bxn(1:Nf);
xk=bxn(Nf+1:Nf+Nrnn);
etak=bxn(Nf+Nrnn+1:end);
% uk(k)=(y1range(2)-y1range(1))/(x1range(2)-x1range(1))*(uk(k)-x1range(1))+y1range(1);
tmp=Cbar*betak/scale;
bxn=[Abar*betak+Bbar*uk(k);
tanh(W1*xk+B2+B1*tmp);
Ae*etak+scale*Be*(W2*xk+B3)]+Gall*ek1;
yk(k)=Call*bxn+ek1;
ek1=measn(k)*0;
%state estimation
%Sigma points
sqrtPk=chol(Pk,'lower');%cholesky factorization
xi=[xkhat repmat(xkhat,1,Nall)+gamma*sqrtPk repmat(xkhat,1,Nall)-gamma*sqrtPk];
%Time update
uk_1=uk(k);
betaki=xi(1:Nf,:);
xki=xi(Nf+1:Nf+Nrnn,:);
etaki=xi(Nf+Nrnn+1:end,:);
tmp=Cbar*betaki/scale;
xikk_1=[Abar*betaki+repmat(Bbar*uk_1,1,2*Nall+1);
tanh(W1*xki+repmat(B2,1,2*Nall+1)+B1*tmp);
Ae*etaki+scale*Be*(W2*xki+B3)]+repmat(Gall*ek,1,2*Nall+1);
xkhat_=sum(xikk_1*WimMat,2);
Pk_=Rv;
for k1=1:2*Nall+1
Pk_=Pk_+WicMat(k1,k1)*( (xikk_1(:,k1)-xkhat_)*(xikk_1(:,k1)-xkhat_)' );
end
ykk_1=Call*xikk_1;%row vector
ykhat_=sum(ykk_1*WimMat);%scalar
%Measurement update
Pykayka=Rn;%yka means yk with ~ above
for k1=1:2*Nall+1
Pykayka=Pykayka+WicMat(k1,k1)*( (ykk_1(:,k1)-ykhat_)*(ykk_1(:,k1)-ykhat_)' );
end
Pxkyk=zeros(Nall,1);
for k1=1:2*Nall+1
Pxkyk=Pxkyk+WicMat(k1,k1)*( (xikk_1(:,k1)-xkhat_)*(ykk_1(:,k1)-ykhat_)' );
end
Kk=Pxkyk/Pykayka;%Pxkyk*inv(Pykayka)
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。
[1] Xie, Shengwen, and Juan Ren. "Recurrent-neural-network-based Predictive Control of Piezo Actuators for Trajectory Tracking." IEEE/ASME Transactions on Mechatronics (2019).
[2] Xie, Shengwen, and Juan Ren. "Linearization of Recurrent-neural-network-based models for Predictive Control of Nano-positioning Systems using Data-driven Koopman Operators" IEEE Access (2020). DOI:10.1109/ACCESS.2020.3013935.
285

被折叠的 条评论
为什么被折叠?



