模型预测专题:强鲁棒性DPCC

0

1 前言

在进行DPCC的学习过程中,于下面链接看到了一篇强鲁棒性算法;感觉挺有意思的,学习一下。

永磁同步电机高性能控制算法(12)——基于预测电流误差补偿的强鲁棒预测控制/参数辨识&有限集预测控制与连续集预测控制的对比_连续集模型预测控制-CSDN博客

2 文章的阅读

这里先看看原文具体讲了什么问题,论文的重点章节是第四节:

所提出的控制算法框图如下所示:

文章的控制基础有一个前提,电阻影响被有条件的忽略,从下面公式可以看出,当控制模式为id =0且载波频率相对较高时,(例如开关频率为10kHz,此时载波周期为100us=0.0001s),此时Ud中电阻参数相关项 T/L*Rs*id中 T在分子上,即使电感在分母上。若电感为mH级别,电感值通常>=1mH = 0.001,T/L项<=0.1。另外若考虑id的波动大小,约为 -0.5 - 0.5为1A波动,以我经常用到的一款电机参数中Rs = 0.958,Ls = 5.25mH计算,此时Rs*id 项约为0.48,将其以上项乘起来  0.0001/0.00525*0.958*0.5 = 0.091。这个数量级对系统的控制相对影响较小。

相对的是Uq中电阻项,此项 T/L*R*iq,这一项则会出现变数;如果按照上述公式中推导的,将 T/L*we提到括号外面,整体评价的就是磁链参数变化与电阻参数变化对这一项的影响。还是以一个典型的电机参数为例,Phif = 0.1827,Rs = 0.958,iq最大值为25.7A,we最大值为628rad/s。

工况1:电机空载运行于额定转速,此时 Phif = 0.1827, iq约为0.5A,此时 Rs*iq/we = 0.958*0.5/628 = 7.6274e-04,这一项基本可以被忽略;

工况2:电机额定载运行于额定转速,iq = 25.7A,此时 Rs*iq/we = 0.958*0.5/628 = 0.0392,这一项还是可以被忽略;

工况3:电机运行于低频区5rpm,空载;此时iq波动幅值为0.5A,有效值接近于0;此时 Rs*iq/we = 0.958*0.5/628 = 0.2395 该项此时无法被忽略(磁链项为0.1827),两者处于一个数量级;

工况4:电机运行于低频区5rpm(we = 2.09rad/s),额定载;iq = 25.7A,此时 Rs*iq/we = 0.958*25.7/2 = 12.31,此时该项占据主导地位;

总的来说,文章忽略的定子电阻在id预测过程中的影响,仍然讨论定子电阻在iq预测过程中的影响。整合公式为:

其中:

这两项很关键,是文章关键处理的内容。

首先针对d轴的控制,设计一个代价函数如下图所示,

文章的关键思想:

原文:Meanwhile, it can be found from (15) that when term1 tends to 0, it indicates that the predictive current is very close to the actual current. When term2 tends to 0, it indicates that Mes is very close to the actual motor parameters. When the above conditions are satisfied at the same time, the most suitable Mes can be obtained.

当 term1 收敛至0时,预测电流接近真实值;当term2 趋近于0时,设计的参数Mes趋近于真实值;当两个都满足,最为合适的 Mes 值则被找到;
 

文章该原理的设计框图如下所示,其输入为 id 实际值 与 预测值之间的差值、ud(k-1)、量化因子Hm。其输出值是最后的 Mes,这个过程中前级都是误差量的计算,也就是校准值的计算。

对其进行计算偏导数,得到数据的梯度:

当梯度为0时,G1收敛到最小值;进一步推导可得:

这本质上是一个辨识过程,将其引入到前一拍;

此时预测电流的表达式为:

进一步的将其替换为所提出的方法:

q轴与此同理,并没有具体的区别;

3 关键原理总结

其关键的原理就在于这个公式以及其偏导数得出的递推方程:

这个方程给出了一种预测误差的补偿方案,这个是怎么想到的呢?作者确实奇思妙想的。这个其实有些像磁链观测器的误差方程,对其求偏导得到了一个梯度方程。求得梯度为0的点得到递推方程,从而计算观测的反电动势从而得到观测角度。观测器辨识的是角度,而这里是对电感参数进行辨识,场景和原理虽然不同,但是思想是一样的。

偏导方程如下所示,偏导方程中包括了观测值本身,包括了观测值的上一拍的值,也包括了电机状态输入,这实际上就是一个高级的状态观测器。只是展开的形状不一样。

4 仿真复现

搭建仿真验证后,结果如下图所示,只是看电感的辨识结果的话,可以看到基本是符合估计值的;目前Hm的设置值为100;

把参数改大后,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89508.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89508.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

修复opensuse 风滚草rabbitmq的Error: :plugins_dir_does_not_exist问题

https://wiki.archlinux.org/title/Talk:RabbitMQ 报错 yqh192 /u/l/r/l/r/plugins> sudo rabbitmq-plugins enable rabbitmq_management Error: :plugins_dir_does_not_exist Arguments given:enable rabbitmq_managementUsagerabbitmq-plugins [--node <node>] [--…

前端做gis地图有哪些库

以下是前端开发GIS地图常用的库&#xff1a; Leaflet&#xff1a;轻量级、易于使用的开源JavaScript库&#xff0c;具有丰富的地图功能和插件生态系统&#xff0c;支持多种地图数据源&#xff0c;适合初学者和专业开发者。其优势在于简洁性和易用性&#xff0c;代码结构清晰&am…

赋能城市安全韧性|众智鸿图总裁扈震受邀出席智慧城市大会发表主题报告

——“众智鸿图作为城市基础设施智能化综合服务提供商&#xff0c;以地理信息科学、时空大数据、人工智能为核心能力&#xff0c;长期深耕于燃气、供水、排水等城市基础设施生命线领域及港口、园区等工业领域&#xff0c;致力于为城市稳定运行与高效发展提供坚实保障。” 2025年…

【大语言模型入门】—— 浅析LLM基座—Transformer原理

【大语言模型入门】—— 浅析LLM基座—Transformer原理 解密GPT核心技术&#xff1a;Transformer架构深度解析被反复强调的核心概念意味着什么&#xff1f; GPT预测机制解析&#xff1a;从Next Token Prediction到任务推理核心机制的本质案例驱动的机制解析解构策略&#xff1a…

Django打造智能Web机器人控制平台

Django 实现 Web 机器人控制 以下是关于 Django 实现 Web 机器人控制管理的实例思路和关键代码片段,涵盖多个常见场景。由于篇幅限制,剩余的可通过类似模式扩展。 基础机器人模型定义 # models.py from django.db import modelsclass Robot(models.Model):name = models.C…

周赛98补题

题目意思&#xff1a; 给定一个数字判断加上自身任意因子数&#xff0c;是否能成为一个奇数。 思路&#xff1a; 我们想一个最简单的判断方法&#xff0c; 任意的数字的因子数都有1&#xff0c;故&#xff0c;最简单的方法就是判断奇偶。 奇数1成偶数&#xff0c;偶数1成奇…

【STM32】 STM32低功耗模式详解:睡眠模式与唤醒机制【待测试】

本篇知识点基于F0讲解 一、STM32三种低功耗模式参考表格 模式功耗唤醒时间保持状态典型应用场景睡眠模式中等 (mA级)最短 (μs级)CPU停止&#xff0c;外设保持短暂待机&#xff0c;快速响应停止模式低 (μA级)中等 (ms级)RAM保持&#xff0c;时钟停止长时间待机&#xff0c;电…

【Vue入门学习笔记】Vue核心语法

目录 准备工作删除不需要的代码 模版语法文本插值使用JavaScript表达式无效写法原始HTML 属性绑定简写布尔型Attribute动态绑定多个值 准备工作 删除不需要的代码 删除components下的文件 进入App.vue 删掉代码&#xff0c;只保留如下内容 <template></template&g…

ClickHouse 窗口分析 argMax() / argMin()

argMin() 是 ClickHouse 中一个非常有用的聚合函数&#xff0c;它可以找出某个列的最小值&#xff0c;并返回该最小值对应的另一个列的值 函数语法 argMin(arg, val) arg&#xff1a;要返回的列&#xff08;当找到最小值时返回该列的值&#xff09; val&#xff1a;用于比较的…

k8s client 通过KubeConfig和证书方式连接api server

一、背景 本文以kubePi这样一个k8s客户端为示例,使用证书方式,怎么连接k8s集群。 然后告诉你证书是如何生成的, 最后通过一个Python编程示例,在程序里如何使用。 api server地址:比如https://110.206.56.308:6443 Certificate:证书内容 Certificate Key:证书的私钥 先…

(2025.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁

前面一些碎碎念&#xff1a; 电脑装的双系统&#xff0c;之前都还好着&#xff0c;今天突然ubuntu开机的时候黑屏了&#xff0c;左上角有光标在闪烁&#xff0c;也查了一些资料&#xff0c;基本上大家的都是驱动有问题&#xff0c;还有内存问题。&#xff08;个人建议&#xff…

一文讲清libmodbus在STM32上基于FreeRTOS的移植

libmodbus 开发库概述 libmodbus是一个免费的跨平台支持RTU和TCP的Modbus库&#xff0c;遵循LGPL V2.1协议。libmodbus支持Linux、 Mac Os X、 FreeBSD、 QNX和Windows等操作系统。 libmodbus可以向符合Modbus协议的设备发送和接收数据&#xff0c;并支持通过串口或者TCP网络进…

go语言安装达梦数据完整教程

一、安装 go-dm 驱动 1. 使用 go get 命令安装 # 打开PowerShell或命令提示符 go get github.com/dmdbms/go-dm# 若网络问题&#xff0c;配置代理 go env -w GOPROXYhttps://goproxy.cn,direct2. 验证驱动安装 go list -m github.com/dmdbms/go-dm# 预期输出类似 github.com…

华为云Flexus+DeepSeek征文|基于Dify构建音视频内容转录工作流

华为云FlexusDeepSeek征文&#xff5c;基于Dify构建音视频内容转录工作流 一、构建音视频内容转录工作流前言二、构建音视频内容转录工作流环境2.1 基于FlexusX实例的Dify平台2.2 基于MaaS的模型API商用服务 三、构建音视频内容转录工作流实战3.1 配置Dify环境3.2 配置Dify工具…

Pandas6(数据清洗2)——置换和随机采样、get_dummies、扩展数据类型、字符串处理函数

数据清洗2 一、置换和随机采样&#xff08;permutation,sample&#xff09; 随机置换&#xff08;打乱排序&#xff08;洗牌&#xff09;&#xff09;函数&#xff1a;numpy.random.permutation &#xff0c;可以对一个序列进行随机排序&#xff0c;常用于数据集随机划分等场景…

按月设置索引名的完整指南:Elasticsearch日期索引实践

按月设置索引名的完整指南:Elasticsearch日期索引实践 在时序数据场景中,按月设置索引名(如logs-2024-01)是优化查询效率、降低管理成本的关键策略。以下是三种实现方案及详细步骤: 方案一:索引模板 + 日期数学表达式(推荐) 原理:利用ES内置的日期数学表达式动态生成…

西南交通大学【机器学习实验7】

实验目的 理解和掌握朴素贝叶斯基本原理和方法&#xff0c;理解极大似然估计方法&#xff0c;理解先验概率分布和后验概率分布等概念&#xff0c;掌握朴素贝叶斯分类器训练方法。 实验要求 给定数据集&#xff0c;编程实现朴素贝叶斯分类算法&#xff0c;计算相应先验概率&a…

java生成pdf文件

1.依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>8.0.4</version><type>pom</type></dependency> 2.代码 package org.example;import com.itextpdf.io.image…

macOS挂载iOS应用沙盒文件夹

背景 工具 libimobiledevice: linux&#xff0c;macOS等与ios设备通信是的工具 macFUSE 是 macOS 文件系统扩展的“引擎”&#xff0c;支持开发者创建各类虚拟文件系统。 iFUSE 是专为 iOS 设备设计的“连接器”&#xff0c;需依赖 macFUSE 实现功能。 若需访问 iPhone/iP…

嵌入式软件面经(四)Q:请说明在 ILP32、LP64 与 LLP64 三种数据模型下,常见基本类型及指针的 sizeof 值差异,并简要解释其原因

从事嵌入式开发深入理解 ILP32、LP64、LLP64 三种主流数据模型及其在平台上的实际表现&#xff0c;可以帮助我们避免诸如类型越界、结构错位、指针截断等致命错误。 一、何为数据模型&#xff1f;为何重要&#xff1f; 数据模型&#xff08;Data Model&#xff09;是指在某一编…