迭代学习控制方式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
    评论
迭代学习控制器在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、付费专栏及课程。

余额充值