先進電機拓撲及控制算法介紹(3)——以“數據”驅動電機實現真正的無模型

1. 背景介紹

之前已經介紹過“無模型預測控制(Model-Free Predictive Control/MFPC)”中的“無模型預測電流控制(Model-Free Predictive Current Control/MFPCC)”,可參考下面知乎。

https://zhuanlan.zhihu.com/p/660705382https://zhuanlan.zhihu.com/p/660705382

但是后來也有說過,這個MFPCC,其實是利用擴張狀態觀測器(Extended State Observer/ESO)消除了磁鏈和電阻的影響。電感則是影響了MFPCC的增益,如果增益設置的不恰當,MFPCC依舊會性能不佳,甚至失去穩定。

今年在預測控制大會上聽了汪老師的報告,其報告內容就屬于下面這篇參考文獻。

[1] F. Wang, Y. Wei, J. Rodriguez and C. Garcia, "State-of-Art, Development, and Challenges of Model-Free Predictive Control on Motor Drives," in IEEE Transactions on Power Electronics, vol. 40, no. 8, pp. 10846-10864, Aug. 2025, doi: 10.1109/TPEL.2025.3559514.

論文中有下面一張圖,我覺得畫的很形象。圖中的MBPC為model-based predictive control,即“基于模型的預測控制”。圖中的Data-driven就是“adj. 數據驅動的”,關于“數據驅動”,官方化的解釋為:數據驅動的概念由全國科學技術名詞審定委員會于2008年審定發布,其核心內涵是以數據為核心驅動力,通過數據采集、清洗、建模和分析提取價值信息,支撐高效決策與操作的技術范式。

我個人的拙見:“數據驅動”放在電機控制系統而言,相當于根據電機運行得到的電流(包括電流變化量)以及參考電壓數據(包括電壓變化量),并利用一些算法得到這些之間內在聯系,進而擬合出一個“虛構的電機模型”,并根據這個“虛構的電機模型”對電機實行控制

根據汪老師的報告,我找到了其在24年發表的TIE,以這篇文獻為基礎來學習一下Data-driven Model in MFPC。

論文鏈接:https://ieeexplore.ieee.org/document/10505794

[2] Y. Wei, H. Young, D. Ke, F. Wang, H. Qi and J. Rodríguez, "Model-Free Predictive Control Using Sinusoidal Generalized Universal Model for PMSM Drives," in IEEE Transactions on Industrial Electronics, vol. 71, no. 11, pp. 13720-13731, Nov. 2024, doi: 10.1109/TIE.2024.3379667.

文章的摘要:“為了解決模型預測控制(MPC)中參數失配導致的魯棒性較差的問題,無模型預測控制在電機驅動系統中得到了廣泛的應用。該方法用數據驅動模型代替先驗模型,消除了物理參數的影響。然而,旋轉坐標系對模型精度的影響是多方面的,特別是位置信號不準確和控制器不對稱會造成誤差。本文提出了一種無模型預測控制策略,利用正弦廣義通用模型直接控制正弦信號,并結合歷史數據提高了模型精度,反映了被控對象的運動特性。該模型是根據被控對象的信號變化設計的,并使用遞推最小二乘(RLS)算法在線估計系數以確保模型的精度。為了在連續控制集(CCS)控制器中實現控制,利用時移和拉格朗日算法設計了預測信號,并根據極點/零點位置和微分方程組分析了預測信號的基本性能和穩定性。將該控制策略作為預測電流控制策略應用于永磁同步電機(PMSM)驅動系統,給出了不同運行條件下的實驗結果,驗證了該方法的有效性和優越性。”

2. 算法的簡單介紹

所提算法的控制框圖如下。其采用雙閉環控制,外環采用傳統的PI控制,速度外環產生的參考電流經過坐標變換后得到阿爾法α,貝塔β電流的參考值。然后內環采用所提的基于“數據驅動”的無模型預測電流控制

其電流環的算法框圖如下:

下面我們來詳細看看相關公式。首先是式子(9)-(11)。

式子(9)的意思是,電機系統的k+1時刻的電壓增量,可以通過往期的n+1組電流增量數據以及m+1組電壓增量數據得到(在文中,這個nm2或者3即可)

那接下來的問題就是,這n+1組電流增量數據以及m+1組電壓增量數據與k+1時刻的電壓增量的關系,到底從何而來?這時候就需要看到式子(12)到式子(18)。

文中中是用“最小二乘法”去擬合n+1組電流增量數據以及m+1組電壓增量數據與k+1時刻的電壓增量的關系。當然你換別的方法也可以。

這里值得注意的一些問題是,k+1時刻的參考電流到底從何而來?文章說采用拉格朗日算法,但文章沒給具體的公式。我是在汪老師的另一篇論文找到了相關公式。公式如下:

[3] F. Wang, Y. Wei, H. Young, D. Ke, D. Huang and J. Rodríguez, "Continuous-Control-Set Model-Free Predictive Control Using Time-Series Subspace for PMSM Drives," in IEEE Transactions on Industrial Electronics, vol. 71, no. 7, pp. 6656-6666, July 2024, doi: 10.1109/TIE.2023.3310017.

我自己在仿真中的話,是利用dq電流的參考電流,經過坐標變換得到k+1時刻的參考電流。

值得注意的是,論文中的(14)-(17)所寫出的最小二乘法表達式略有所錯誤(個別字母/符號標錯),需要自己重新推導且去了解其這樣設計的含義。這點小差錯不影響文章的思路。

該算法是在線運行的,并不是離線驅動。需要電機先跑起來一下,便可以切換到該基于“數據驅動”的無模型預測電流控制。

下面先進行仿真驗證,在本文的第三節驗證模型數據的數量選擇的影響以及反饋系數的影響。第四節進行算法對比。

3.參數影響

仿真參數設置:

仿真工況設置:

0.4s前,電流環采用傳統的電流環控制方式,電機給定轉速為2000r/min,負載為8Nm;前0.4s相當于為數據驅動無模型預測電流控制提供必要的“數據”信息。0.4s之后切入數據驅動無模型預測電流控制,并且在0.6s處讓電機減速1000r/min,在0.8s減載至5Nm,以驗證電機的動態性能。

3.1 數據量選擇的影響

文中說需要n+1組電流增量數據以及m+1組電壓增量數據去計算k+1時刻的電壓增量。文中說,n和m取2或者3即可。

在汪老師的另一篇文獻中做了自適應的階數選擇,其實驗結果也是在2、3之間波動。

[4] Y. Wei, H. Young, D. Ke, D. Huang, F. Wang and J. Rodríguez, "Adaptive Ultralocalized Time-Series for Improved Model-Free Predictive Current Control on PMSM Drives," in IEEE Transactions on Power Electronics, vol. 39, no. 5, pp. 5155-5165, May 2024, doi: 10.1109/TPEL.2024.3357854.

3.1.1 n = m = 2的仿真波形

n = m = 2,即采用3組電流增量數據以及3組電壓增量數據去擬合k+1時刻的電壓,仿真的整體波形如下。

下面是傳統電流環和數據驅動無模型預測電流控制產生的阿爾法貝塔參考電壓的對比。從下面的波形可以看到,兩種算法產生的參考電壓差不多,有一定偏差。兩種算法產生的參考電壓差不多說明二者性能也將差不多。

下面放大dq電流波形,可以看到,其實在0.4s切換到數據驅動無模型預測電流控制,是會出現更大的電流波動。但是考慮到該算法畢竟不需要任何的電機參數,其還是有明顯的價值的。

3.1.2 n = m = 3的仿真波形

n = m = 3,即采用4組電流增量數據以及4組電壓增量數據去擬合k+1時刻的電壓,仿真的整體波形如下。

下面是傳統電流環和數據驅動無模型預測電流控制產生的阿爾法貝塔參考電壓的對比。從下面的波形可以看到,兩種算法產生的參考電壓基本一致,這說明:

1)對該仿真條件而言,相比于3組電流增量數據以及3組電壓增量數據(n = m = 2),采用4組電流增量數據以及4組電壓增量數據(n = m = 3)能夠實現更好的擬合擬合效果。

2)該數據驅動無模型預測電流控制可以在不需要任何電機參數的條件下就可以實現與傳統算法基本一致的性能

下面放大dq電流波形,可以看到,其實在0.4s切換到數據驅動無模型預測電流控制,是會出現更大的電流波動。但是考慮到該算法畢竟不需要任何的電機參數,其還是有明顯的價值的。

3.2 反饋增益的影響

論文中的控制律涉及到一個反饋系數。

從圖12的實驗結果可以看到,當反饋系數在0.90到1之間時,總的來說,電流THD會隨著反饋系數的提高而增加。

下面就進行了不同反饋系數的仿真對比,反饋系數分別取0.9和1.0。從下面仿真可以看到,反饋系數為0.9時的相電流THD(1.16%)確實會略低于反饋系數為1時的相電流THD(1.32%),這與實驗的情況基本一致。

反饋系數為0.9的整體波形

反饋系數為1的整體波形

反饋系數為0.9的dq電流波形

反饋系數為1的dq電流波形

反饋系數為0.9的相電流FFT分析

反饋系數為1的相電流FFT分析

4. 仿真對比

下面進行三組仿真的對比:

1. 基于LESO的MFPCC(LESO的帶寬取為4000,控制器中的電感參數設置為實際電感參數)

2. 基于數據驅動的MFPCC(n=m=3,反饋系數取0.9)

3. 基于LESO的MFPCC(LESO的帶寬取為4000,控制器中的電感參數設置為實際電感參數的2倍,以模擬參數失配)

PS:對于基于數據驅動的MFPCC,在0.3s前,由基于LESOMFPCC驅動電機,以其數據作為基于數據驅動的MFPCC的支撐。0.3s后切入基于數據驅動的MFPCC

4.1 整體波形的對比

下面是整體波形的對比。從下面仿真可以得到以下結論。

(1)對于基于LESO的MFPCC,在控制器中的電感參數設置為實際電感參數時,其控制效果極佳;

(2)但當控制器中的電感參數設置為實際電感參數的2倍時,系統開始引入大量高頻噪聲;

(3)相對基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數),基于數據驅動的MFPCC的轉矩脈動有所增加。

基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數)

基于數據驅動的MFPCC

基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數的2倍)

4.2 相電流FFT的對比

(1)基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數)的電流THD為0.55%;

(2)基于數據驅動的MFPCC的電流THD為1.13%

(3)基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數的2倍)的電流THD為4.19%。

基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數)

基于數據驅動的MFPCC

基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數的2倍)

4.3 變速條件下電流的跟蹤情況

在0.6s的時候設置了電機減速,所以q軸電流的參考值會直接達到負的最大值(-20A)。從大體上來看,基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數)和基于數據驅動的MFPCC的電流跟蹤情況非常接近。

基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數)

基于數據驅動的MFPCC

基于LESO的MFPCC(控制器中的電感參數設置為實際電感參數的2倍)

5.總結與思考

總結

本篇文章學習并復現了一篇基于數據驅動的MFPCC,該方法僅需要極短時間的數據即可構建出電機模型,并且以此模型進行閉環控制。該算法不需要任何電機參數即可實現較為優異的控制性能(THD略高于無參數失配條件下的LESO-MPFCC且動態性能基本一致),個人認為這樣性能還是比較優異的。

思考

在電機控制領域,相關算法感覺才處于剛起步的階段。這篇文章,我認為在個方面說的都比較詳細了,其實仔細看文章內容并去思考,會發現還有許多可以完善的地方。

雖然在仿真中,這基于數據驅動的MFPCC略微弱于無參數失配條件下的LESO-MPFCC,但是如果換個角度去看,比如說遇到一個多相的、磁場較為復雜的電機,其數學模型是較為復雜。如果人為的去建模,很可能無法構建精確的模型,也就無法人為的設計出性能較為優異的控制算法。這時候的基于數據驅動的MFPCC是否會更好呢?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/96798.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/96798.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/96798.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C primer plus (第六版)第十一章 編程練習第5,6題

題目:5.設計并測試?個函數,搜索第1個函數形參指定的字符串,在其中查找第2個函數形參指定的字符?次出現的位置。如果成功,該函數返指向該字符的指針,如果在字符串中未找到指定字符,則返回空指針…

Altium Designer(AD)PCB絲印批量修改

目錄 1 Altium Designer(AD)PCB絲印的字體批量修改 1.1選中所有絲印 1.1.1選中一個絲印:鼠標左鍵點擊 1.1.2查找相似對象:鼠標右鍵或快捷鍵N 1.1.3如下圖所示絲印被全部選中 1.2絲印字體信息修改 1.2.1打開屬性面板——>位置/屬性/字體修改 1.2.2絲印字體修改 1.2.…

AI+華為HarmonyOS開發工具DevEco Studio詳細安裝指南

作者:長江支流 日期:2025-09-13 第一部分:AI工具使用 一、如何使用DeepSeek幫助自己的工作? (一)提示詞 為了與時俱進,充分利用最新技術、提高效率,采用AI生成部分材料&#xf…

【Ambari監控】— API請求邏輯梳理

附錄:完整內容和源代碼下載請參照 https://doc.janettr.com/ 一、前序章節回憶 我們在前面章節拆解了 Collector 的啟動過程,并定位了控制器 TimelineWebServices。 本節聚焦 Collector 對外暴露的 REST 服務,搭建「接口全景圖」。 二、接口…

論文閱讀 2025-9-13 論文閱讀隨心記

隨便記錄一下最近閱讀的幾篇論文 1. Does DINOv3 Set a New Medical Vision Standard? 第一章 動機 (Motivation) 自然圖像領域的成功范式:大型語言模型(LLMs)和視覺基礎模型(如 DINO 系列)證明,通過自監督…

Avalonia 基礎導航實現:從頁面切換到響應式交互全指南

在 Avalonia 開發中,導航功能是構建多頁面應用的核心需求。Avalonia 無需依賴第三方庫,僅通過內置控件與 MVVM 模式即可實現靈活的頁面切換。本文將以 “基礎導航” 為核心,從 ViewModel 與 View 設計、導航邏輯實現,到樣式美化與…

UniApp 分包異步化配置及組件引用解決方案

具體參考微信小程序文檔基礎能力 / 分包加載 / 分包異步化 一、分包頁面組件配置 在 UniApp 的pages.json中,為分包頁面(或主包如 tabbar 頁面)配置異步組件時,需同時設置usingComponents和componentPlaceholder: {&…

系統核心解析:深入操作系統內部機制——進程管理與控制指南(一)【進程/PCB】

???~~~~~~歡迎光臨知星小度博客空間~~~~~~??? ???零星地變得優秀~也能拼湊出星河~??? ???我們一起努力成為更好的自己~??? ???如果這一篇博客對你有幫助~別忘了點贊分享哦~??? ???如果有什么問題可以評論區留言或者私信我哦~??? ??????個人…

微論-神經網絡特征空間的動態聚集,對抗災難性遺忘的新范式

這是一個非常有趣且富有想象力的理論構想。受陀螺儀啟發,我將陀螺儀的“定軸性”與“進動性”原理引入神經網絡的特征空間,探討一種對抗災難性遺忘的新范式。---### **基于陀螺儀原理的神經網絡記憶鞏固理論探討**#### **引言:記憶的流失與穩…

鴻蒙審核問題——折疊屏展開態切換時,輸入框內容丟失

文章目錄背景解決歷程1、無意中發現了眉目2、確定問題原因3、解決辦法4、官方文檔5、總結背景 奇葩的事情年年有啊,今年特別多。這不今天又遇到了一個奇葩的問題。鴻蒙NextAPP上架AppGallery市場,審核拒了,說是折疊屏手機展開態切換時&#…

前后端分離架構中,Node.js的底層實現原理與線程池饑餓問題解析

在VueJava/.NET的前后端分離架構中,Node.js的底層實現原理與線程池饑餓問題解析 一、架構概述:Node.js的定位與角色 在現代Web開發中,Vue.js作為前端框架與Java/.NET后端結合的架構非常流行。在這種架構中,Node.js通常扮演著兩個關…

Django ModelForm:快速構建數據庫表單

Django 中的 forms.ModelForm —— 它是 Django 表單系統和 ORM 的一個“橋梁”,能幫助你快速基于 數據庫模型(Model) 自動生成表單,極大減少重復代碼。1. 什么是 ModelForm 普通 Form (forms.Form):完全手寫字段&…

補 json的作用

:“我開車直接擰鑰匙就能走,為什么還要看儀表盤和用中控臺?”直接點擊“運行”,就像是汽車的自動駕駛模式。它能幫你開起來,但你不知道它走的是哪條路,油門踩多深。使用 launch.json 配置,就像是…

apache詳細講解(apache介紹+apache配置實驗+apache實現https網站)

1.apache HTTP server介紹httpd項目地址:https://httpd.apache.org/ 在Apache2中有三種工作模式,使用者可以根據不同的業務場景來進行選擇(1)prefork模式prefork模式是一種老而穩的模式:一個主進程管理者多個子進程,每個子進程單獨處理用戶請求&#xf…

jajajajajajajava

線程1 線程概念進程:進程指正在內存中運行的程序。進程具有一定的獨立性。線程:線程是進程中的一個執行單元。負責當前進程中程序的執行。一個進程中至少有一個線程。如果一個進程中有多個線程,稱之為多線程程序。java中的線程采用的是搶占式調度,如果線…

虛擬機CentOS里JDK的安裝與環境配置

---本文以JDK17為例---步驟 1:進入/tmp臨時目錄# 進入臨時目錄 cd /tmp步驟 2:下載 Java 17 安裝包wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz步驟 3&am…

mybatis-plus多租戶兼容多字段租戶標識

默認租戶插件處理器的缺陷 在springboot工程中引入mybatis-plus的租戶插件TenantLineInnerInterceptor,能簡化我們的數據隔離操作,例如各類含租戶用戶登錄權限的rest接口中,不需要再根據登錄用戶-set租戶條件-觸發查詢,租戶插件能…

HBase高級特性(布隆過濾器和協處理器)、列族設計、rowkey設計以及熱點問題處理

在闡述HBase高級特性和熱點問題處理前,首先回顧一下HBase的特點:分布式、列存儲、支持實時讀寫、存儲的數據類型都是字節數組byte[],主要用來處理結構化和半結構化數據,底層數據存儲基于hdfs。 同時,HBase和傳統數據庫…

redis sentinel 與 clauster 的區別

Redis Sentinel(哨兵)和Redis Cluster(集群)是Redis提供的兩種不同的高可用和擴展性解決方案,它們的設計目標和適用場景有顯著區別: 1. 核心功能與目標 Redis Sentinel 主要解決主從架構的高可用問題,實現自動故障轉移 監控主從節點狀態,當主節點故障時自動將從節點提…

MySQL數據庫中快速導入大數據sql

1.PwerShell命令頁面導入全表數據庫 -P3310 指定數據庫端口號Get-Content "本地sql文件目錄" | .\mysql -u root -p -P 33102.PwerShell命令頁面導入單表到數據庫 -P3310 指定數據庫端口號Get-Content "本地sql文件目錄" | .\mysql -u root -p -P 3310 數…