迭代学习控制方式Simulink建模与仿真

1 什么是迭代学习控制

        迭代学习控制(iterative learning control,简称ILC)由Uchiyama于1978年首先提出,不过因为论文由日文撰写,影响不是很大。1984年,Arimoto等人用英文介绍了该方法。它是指不断重复一个同样轨迹的控制尝试,并以此修正控制律,以得到非常好的控制效果的控制方法。

        迭代学习控制的特点是“在重复中学习”,通过反复的迭代修正,达到改善控制效果的目的。迭代学习控制的原理是根据系统前次运行所获得的输出误差信息,在控制过程中不断修正控制输入,随着迭代的进行,逐步改进下一次控制输入,以使控制效果越来越好。迭代学习控制仅需要较少的先验知识,对于处理模型未知且具有重复运动性质的系统,是一种行之有效的控制策略。

         ILC控制适应于运行过程能够不断地重复的系统。 通常用于跟踪某一特定目标,且跟踪目标往往保持不变。(是不是非常类似于重复控制?)。ILC控制方式是一种智能控制方式,它能够通过不断迭代次数的增加不断学习进化,从而适配到最优的控制方式。ILC可以不需要关心系统的精确控制模型,只是以非常简单的控制方式就可以实现精度非常高的控制性能。

        考虑重复运行的动力学系统模型如下:

 迭代学习的控制律用最简单的表述方式就是:

解释一下这几个变量的意义:

  —— 第k+1次控制时的控制器在t时刻的输出

     ——  第k次控制时控制器在t时刻的输出

      —— 第k次控制时参考输出和实际输出的误差

这里L算式可以是任意算法。常用的是P算法、PD算法或PID算法。按照误差更新方式又分为开环迭代和闭环迭代。

开环PD迭代控制律的用数学方程表示为:

闭环PD迭代控制率的数学方程表示为:

2 迭代学习控制实例

        考虑一个二阶系统,其连续传递函数表述为:

         

        当采样周期Ts=0.001时,其离散化传递函数为:

          

        现在假设输入信号为幅值为4的10Hz正弦波,要让系统跟踪这个正弦波,采用开环PD迭代学习控制律。

3  Simulink建模

     建立的Simulink系统模型如图:

     

这里Sine Wave是输入参考信号。Y为保存到工作空间的系统输出。uk为从Matlab的工作空间读取的上次迭代控制量。U为保存到工作空间的本次迭代控制输出量,故有关系式:

Chart为Stateflow模块,里面实现了系统建模与PD迭代控制律。Chart内部流程图如图:

Matlab中建立一个m文件来控制模型的仿真:

clc;
clear all;
T=1;%和SIMULINK中相同
Ts=0.001;
t=0:0.001:1;%采样时间和仿真时间可修改,但是要注意SIMULINK的也要修改
 for k=1:1:1001
   ud(k)=4*sin(2*pi*10*Ts*k);
   uinit(k)=0;
 end  
 uk=[t',uinit'];
for i=1:10        
    sim('ILC_stateflow');
    uk=[t',U];
    figure(i);
    plot(t,ud','r',t,Y,'b');
end

这里设置仿真次数为10次,每一次都画出参考和输出的对照图。

运行M文件查看仿真结果:

第一次迭代

运行:

第3次迭代:

第10次迭代:

可见仿真结果非常不错,基本实现了对输入的无静差跟踪。仿真模型已上传CSDN,在我的资源中有下载。资源下载链接:

https://download.csdn.net/download/liuzhijun301/11561528

 

  • 28
    点赞
  • 235
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
本人资源全部来自互联网,仅供学习参考、交流之用,请及时删除,如果喜欢副本内容请购买正版。 迭代学习控制 孙明轩 第一章 迭代学习控制系统 1、1 迭代学习控制系统概论 1、2 迭代学习控制过程的... 1、3 简单实例 第二章 线性系统的迭代学习控制 2、1 D 型学习律 2、2 PID 型学习律 2、3 正则线性系统的迭代... 2、4 非正则线性系统的迭... 2、5 P 型学习律 2、6 最优学习律 2、7 基于脉冲响应的学习律 第三章 非线性系统的迭代学习控制 3、1 高阶学习律 3、2 滤波器型学习律 3、3 模型算法学习律 3、4 模型参考学习律 3、5 非线性时滞系统的迭... 3、6 非正则非线性系统的... 第四章 鲁棒迭代学习控制 4、1 PID 型遗忘因子学习律 4、2 P 型遗忘因子学习律 4、3 选择学习算法 4、4 鲁棒收敛性 4、5 高增益反馈学习律 4、6 反馈-前馈迭代学习控... 4、7 非正则系统的反馈-前... 第五章 任意固定初态下的迭代学习控制 5、1 D 型学习律的极限轨迹 5、2 PD 型学习律的极限轨... 5、3 带有初始误差修正的... 5、4 其它形式的学习律 5、5 非正则系统的迭代学... 5、6 高阶非正则系统的迭... 第六章 迭代学习控制系统的 2-D 分析 6、1 Roesser 模型 6、2 正则线性离散系统的... 6、3 非正则线性离散系统... 6、4 含初始修正的学习律 6、5 线性时滞系统的迭代... 第七章 迭代学习辨识 7、1 迭代学习辨识的表述 7、2 系统初态已知时的迭... 7、3 鲁棒迭代学习辨识 7、4 系统初态未知时的迭... 7、5 外弹道气动系数辨识 第八章 迭代学习控制的回顾与展望 8、1 研究现状 8、2 研究方向 附录 迭代学习控制理论的数学基础 A、1 Bellman-Gronwall 引... A、2 差分不等式 A、3 向量函数的微分中值... A、4 向量与矩阵的范数 A、5 λ范数 参考文献
迭代学习控制器在Simulink中是一种用于改善控制效果的控制策略。Simulink是一种基于模型的设计和仿真环境,可以用于建立和模拟动态系统的模型。在Simulink中,可以使用迭代学习控制器来实现对系统的控制。 具体而言,在Simulink中使用迭代学习控制器时,需要建立系统的数学模型,并将其表示为Simulink模型。然后,通过使用迭代学习控制器的算法,将模型与实际系统进行比较,并根据误差信息进行修正。通过重复这个过程,逐步改进控制输入,以达到更好的控制效果。 使用Simulink迭代学习控制器,可以在系统模型未知或具有重复运动特性的情况下,实现精确的控制。此外,Simulink还提供了丰富的工具和功能,用于调试和优化控制器的性能。 因此,迭代学习控制器可以在Simulink中作为一种智能控制方式来应用,通过不断迭代学习进化,适应到最优的控制方式,并实现高精度的控制性能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [迭代学习控制方式Simulink建模仿真](https://blog.csdn.net/liuzhijun301/article/details/99640160)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值