《控制系统仿真与计算机辅助设计-课件-薛定宇》由会员分享,可在线阅读,更多相关《控制系统仿真与计算机辅助设计-课件-薛定宇(65页珍藏版)》请在金锄头文库上搜索。
1、第第 8 8 章章智能控制系统计算机智能控制系统计算机辅助设计辅助设计n薛定宇薛定宇 著著控制系统计算机辅助设计控制系统计算机辅助设计MATLAB 语言与应用语言与应用第二版,清华大学出版社第二版,清华大学出版社 2006nCAI课件开发:鄂大志课件开发:鄂大志 、薛定宇、薛定宇2024/8/311控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院主要内容主要内容n自适应控制系统设计自适应控制系统设计n模糊控制及模糊控制器设计模糊控制及模糊控制器设计n神经网络及神经网络控制器设计神经网络及神经网络控制器设计n基于遗传算法的最优控制器设计基于遗传算法的最优控制器设计2024/8/312
2、控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.1 8.1 自适应控制系统设计自适应控制系统设计 自校正调节自校正调节 (self tuning regulator,STR) 模型参考自适应控制系统模型参考自适应控制系统 (model reference adaptive system,MRAS)两大类常用的自适应控制两大类常用的自适应控制2024/8/313控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 控制原理图控制原理图 自校正调节器自校正调节器2024/8/314控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 模型参考自适应系统模型参考自适应
3、系统2024/8/315控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.1.18.1.1 模型参考自适应系统的模型参考自适应系统的 设计与仿真设计与仿真假设假设 2 阶连续线性系统的数学模型为阶连续线性系统的数学模型为 模型参考自适应系统的框图模型参考自适应系统的框图2024/8/316控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院建立模型参考自适应系统的建立模型参考自适应系统的 Simulink 模型模型2024/8/317控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院将对象模型的一阶环节模型由原来的将对象模型的一阶环节模型由原来的 改改写成写成
4、, 系统参数选择系统参数选择 控制器参数控制器参数 ,取,取 输入信号为方波信号且其幅值为输入信号为方波信号且其幅值为 10 , 频率为频率为 1 ,并将仿真范围设置为,并将仿真范围设置为 015 秒,进一步调秒,进一步调整系统模型的参数整系统模型的参数 ,使之在,使之在 0.02 , 0.1 , 1 , 2 , 5 , 10 的范围内变化,进行仿真的范围内变化,进行仿真 :2024/8/318控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院2024/8/319控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院当当时时2024/8/3110控制系统计算机辅助设计MATLA
5、B语言与应用东北大学信息学院8.1.2 8.1.2 自校正控制器设计与仿真自校正控制器设计与仿真 Diophantine 方程及其求解方程及其求解Diophantine 方程方程2024/8/3111控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院该方程的矩阵形式该方程的矩阵形式2024/8/3112控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院用用 MATLAB 语言编写的求解通用函数语言编写的求解通用函数2024/8/3113控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-18-1】已知某已知某 Diophantine Diophantine
6、 方程中方程中试求解该方程。试求解该方程。2024/8/3114控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院n提前提前 d 步预测步预测其中其中 使得预测误差的方差使得预测误差的方差 为最为最小的提前小的提前 d 步预测信号满足下面的方程步预测信号满足下面的方程 假设在第假设在第 t 时刻所有可以测出的输入输出数据为时刻所有可以测出的输入输出数据为 则由这些数据对则由这些数据对 t+d 时时刻的输出进行预测,称提前刻的输出进行预测,称提前 d 步预测,记步预测,记 2024/8/3115控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-28-2】已知某系统的
7、离散模型为已知某系统的离散模型为 试求出提前两步的预测模型。试求出提前两步的预测模型。2024/8/3116控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 提前两步预报的仿真模型提前两步预报的仿真模型 设信号发生器给出的是幅值为设信号发生器给出的是幅值为 4 的方波信号,采的方波信号,采样周期样周期 T=0.01 秒,随机白噪声均值为秒,随机白噪声均值为 0,方差为,方差为 12024/8/3117控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院n 最小方差控制器设计最小方差控制器设计最小方差控制律为最小方差控制律为若若 ,则最小方差控制问题退化成最小方差则最小方差控
8、制问题退化成最小方差的调节问题,调节器的自适应律可以简化成的调节问题,调节器的自适应律可以简化成 该控制律适用于最小相位系统的自校正调节该控制律适用于最小相位系统的自校正调节2024/8/3118控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院自适应控制律自适应控制律其中其中2024/8/3119控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-38-3】假设假设 ,遗忘因子选择为,遗忘因子选择为 ,设定值选择为设定值选择为 ,对自校正系统对自校正系统 进行仿真。进行仿真。2024/8/3120控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.1.
9、3 8.1.3 广义预测控制系统与仿真广义预测控制系统与仿真广义预测控制广义预测控制 (general predictive control,GPC)广义预测控制研究的受控对象模型为广义预测控制研究的受控对象模型为广义预测控制的性能指标为广义预测控制的性能指标为2024/8/3121控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-48-4】假设受控对象模型为假设受控对象模型为用广义预测控制的方式进行控制。用广义预测控制的方式进行控制。2024/8/3122控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.2 8.2 模糊控制及模糊控制器模糊控制及模糊控制器设
10、计设计n样条插值的样条插值的 MATLAB MATLAB 表示表示n基于样条插值的数值微积分运算基于样条插值的数值微积分运算2024/8/3123控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.2.1 8.2.1 模糊逻辑与模糊推理模糊逻辑与模糊推理 构建模糊推理系统的数据结构构建模糊推理系统的数据结构 添加系统的输入和输出变量添加系统的输入和输出变量2024/8/3124控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 把新生成的规则矩阵把新生成的规则矩阵 R ,补加到模糊推理系统补加到模糊推理系统 f i s 原有规则后原有规则后 模糊推理问题求解模糊推理问题求
11、解 解模糊化解模糊化2024/8/3125控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.2.2 8.2.2 模糊模糊 PD 控制器设计控制器设计 模糊模糊 PD 控制器控制框图控制器控制框图2024/8/3126控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 8 段模糊子集示意图段模糊子集示意图 PD 控制器模糊逻辑控制器模糊逻辑2024/8/3127控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院建立模糊推理系统模型的步骤:建立模糊推理系统模型的步骤:n n启动界面启动界面启动界面启动界面 在命令窗口中输入在命令窗口中输入 fuzzy fuzzy
12、启动系统界面。启动系统界面。n n信号设定信号设定信号设定信号设定 由菜单项由菜单项 Edit Add Variable Input Edit Add Variable Input 添加添加一路输入信号,建立本模糊推理模型需要的双路输一路输入信号,建立本模糊推理模型需要的双路输入。修改信号的变量名为入。修改信号的变量名为 e , ed e , ed 和和 u u 。n n隶属函数设置隶属函数设置隶属函数设置隶属函数设置 双击界面上的输入段双击界面上的输入段 e e 图标,显示默图标,显示默认的三段模糊子集及隶属度函数曲线。单击认的三段模糊子集及隶属度函数曲线。单击 Edit Edit 菜菜单,
13、单, 选择选择 Remove All Remove All MFsMFs 菜单删除默认的所有隶属菜单删除默认的所有隶属度函数。度函数。2024/8/3128控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院n n编辑模糊推理系统编辑模糊推理系统编辑模糊推理系统编辑模糊推理系统 选择选择 Edit Rules Edit Rules 菜单项,由菜单项,由 Add rule Add rule 添加规则,用添加规则,用 Change rule Change rule 修改规则。建修改规则。建立起模糊推理规则后,由立起模糊推理规则后,由 View Rules View Rules 和和 Vie
14、w View Surface Surface 菜单项得出规则显示图形。菜单项得出规则显示图形。n n模糊推理系统的存储模糊推理系统的存储模糊推理系统的存储模糊推理系统的存储 选择选择 File -Export File -Export 菜单项将菜单项将 建立起来的模糊推理系统存成建立起来的模糊推理系统存成 * . * . f i s f i s 文件或存成文件或存成 MATLAB MATLAB 工作空间中的变量。工作空间中的变量。2024/8/3129控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例8-5】2024/8/3130控制系统计算机辅助设计MATLAB语言与应用东北大
15、学信息学院8.2.3 8.2.3 模糊模糊 PID 控制器设计控制器设计模糊逻辑整定模糊逻辑整定 PID 控制器的表达式为控制器的表达式为其中,其中, 为校正速度量为校正速度量2024/8/3131控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院计算控制量计算控制量2024/8/3132控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 模糊模糊 PID 控制器控制框图控制器控制框图2024/8/3133控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 模糊模糊 PID 控制器结构控制器结构2024/8/3134控制系统计算机辅助设计MATLAB语言与应用东北
16、大学信息学院【例8-6】对系统进行仿真对系统进行仿真2024/8/3135控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.3 8.3 神经网络及神经网络神经网络及神经网络控制器设计控制器设计n n神经网络简介神经网络简介n n基于单个神经元的基于单个神经元的 PID PID 控制器设计控制器设计n n基于反向传播神经网络的基于反向传播神经网络的 PID PID 控制器控制器n n基于径向基函数的神经网络的基于径向基函数的神经网络的 PID PID 控制器控制器2024/8/3136控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.3.1 8.3.1 神经网络简介神
17、经网络简介 神经元的基本结构神经元的基本结构2024/8/3137控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 神经元的基本结构神经元的基本结构2024/8/3138控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.3.2 8.3.2 基于单个神经元的基于单个神经元的 PID 控制器设计控制器设计 基于单个神经元的基于单个神经元的 PID PID 控制器框图控制器框图2024/8/3139控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院, ,归一化权值归一化权值微积分模块计算量:微积分模块计算量:三个权值的更新规则三个权值的更新规则:控制率为控制率为2
18、024/8/3140控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 基于单个神经元的基于单个神经元的 PID PID 控制器模块框图控制器模块框图2024/8/3141控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例8-7】对受控对象 利用单神经元单神经元 PID PID 控制器模块进行仿真计算控制器模块进行仿真计算2024/8/3142控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.3.3 8.3.3 基于反向传播神经网络的基于反向传播神经网络的 PID 控制器控制器 BP BP 网网 PID PID 控制器仿真结构控制器仿真结构2024/8/3
19、143控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-88-8】受控对象受控对象采样周期采样周期 T = 0.001 T = 0.001 秒秒 非线性受控对象非线性受控对象2024/8/3144控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 系统仿真框图系统仿真框图2024/8/3145控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.3.4 8.3.4 基于径向基函数的神经网络基于径向基函数的神经网络 的的 PID PID 控制器控制器 径向基函数径向基函数 PID PID 控制器仿真结构控制器仿真结构2024/8/3146控制系统计算机辅助
20、设计MATLAB语言与应用东北大学信息学院【例例8-98-9】 非线性受控对象非线性受控对象2024/8/3147控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 系统仿真框图系统仿真框图2024/8/3148控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.4 8.4 基于遗传算法的最优基于遗传算法的最优控制器设计控制器设计n遗传算法简介遗传算法简介n基于遗传算法的最优化问题求解基于遗传算法的最优化问题求解n基于遗传算法的最优控制问题求解基于遗传算法的最优控制问题求解2024/8/3149控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.4.1 8.4
21、.1 遗传算法简介遗传算法简介简单遗传算法的一般步骤为:简单遗传算法的一般步骤为: 选择选择 N N 个个体构成初始种群个个体构成初始种群 ,并求出种群内各并求出种群内各个个体的函数值。染色体可以用二进制数组表示,也个个体的函数值。染色体可以用二进制数组表示,也可以用实数数组来表示,种群可以由随机数生成函数可以用实数数组来表示,种群可以由随机数生成函数建立。其实使用遗传算法求解函数建立。其实使用遗传算法求解函数 gaoptgaopt( ) ( ) ,则会则会自动生成所需的初始种群自动生成所需的初始种群 。 设置代数为设置代数为 i=1 i=1 ,即设置其为第即设置其为第 1 1 代。代。202
22、4/8/3150控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 计算选择函数的值,所谓选择即通过概率的形式从计算选择函数的值,所谓选择即通过概率的形式从种群中选择若干个体的方式。遗传算法最优化工具箱种群中选择若干个体的方式。遗传算法最优化工具箱提供了提供了 3 3 个选择函数,其中个选择函数,其中 roulette( )roulette( )实现了轮实现了轮盘选择算法,盘选择算法,normGeomSelectnormGeomSelect( )( )函数实现了归一化函数实现了归一化几何选择方法,几何选择方法,tournSelecttournSelect( )( )实现了锦标赛形式的
23、实现了锦标赛形式的选择方式,选择方式,normGeomSelectnormGeomSelect( )( )函数为默认选择函数。函数为默认选择函数。2024/8/3151控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院n通过染色体个体基因的复制、交叉、变异等创造通过染色体个体基因的复制、交叉、变异等创造新的个体,构成新的种群新的个体,构成新的种群 ,其中复制、交叉其中复制、交叉和变异都有相应的和变异都有相应的 MATLAB 函数,函数,gaopt( ) 函数函数选择其中默认的方法进行这样的处理,构成新的选择其中默认的方法进行这样的处理,构成新的种群。种群。n i= i+1 ,若终止条
24、件不满足,则转移到步骤若终止条件不满足,则转移到步骤继继续进化处理。续进化处理。2024/8/3152控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院和传统最优化算法比较,遗传算法的主要不同点和传统最优化算法比较,遗传算法的主要不同点和传统最优化算法比较,遗传算法的主要不同点和传统最优化算法比较,遗传算法的主要不同点:n n 不同于从一个点开始搜索最优解的传统的最优化不同于从一个点开始搜索最优解的传统的最优化算法。遗传算法从一个种群开始对问题的最优解进算法。遗传算法从一个种群开始对问题的最优解进行并行搜索,所以更利于全局最优化解的搜索,但行并行搜索,所以更利于全局最优化解的搜索,但
25、遗传算法需要指定各个自变量的范围,而不像最优遗传算法需要指定各个自变量的范围,而不像最优化工具箱中可以使用无穷区间的概念。化工具箱中可以使用无穷区间的概念。2024/8/3153控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院n n遗传算法并不依赖于导数信息或其他辅助信息来遗传算法并不依赖于导数信息或其他辅助信息来进行最优解搜索,而只由目标函数和对应于目标进行最优解搜索,而只由目标函数和对应于目标函数的适应度水平来确定搜索的方向。函数的适应度水平来确定搜索的方向。n n遗传算法采用的是概率性规则而不是确定性规则,遗传算法采用的是概率性规则而不是确定性规则,所以每次得出的结果不一定完
26、全相同,有时甚至所以每次得出的结果不一定完全相同,有时甚至会有较大的差异。会有较大的差异。2024/8/3154控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.4.2 8.4.2 基于遗传算法的最优化基于遗传算法的最优化 问题求解问题求解2024/8/3155控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-108-10】2024/8/3156控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院编写一个描述目标函数的文件:编写一个描述目标函数的文件:2024/8/3157控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-118-1
27、1】试用遗传算法求解下面的线性规划问题试用遗传算法求解下面的线性规划问题用用 MATLAB MATLAB 函数描述目标函数函数描述目标函数2024/8/3158控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院2024/8/3159控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.4.3 8.4.3 基于遗传算法的最优基于遗传算法的最优 控制问题求解控制问题求解【例例8-128-12】2024/8/3160控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院用用 MATLAB MATLAB 函数来描述此最优化问题的目标函数函数来描述此最优化问题的目标函数2024
28、/8/3161控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院【例例8-138-13】 模糊模糊 PD PD 控制的寻优控制的寻优2024/8/3162控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院 常规常规 PD PD 控制的寻优控制的寻优2024/8/3163控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院8.5 8.5 本章要点简介本章要点简介n模型参考自适应控制系统与自校正调节器系统,一模型参考自适应控制系统与自校正调节器系统,一 种常用的模型参考自适应控制系统的仿真方法,以种常用的模型参考自适应控制系统的仿真方法,以及最小方差自校正调节器的设计与
29、仿真、广义预测及最小方差自校正调节器的设计与仿真、广义预测自适应控制器的设计与仿真等方面的内容,并给出自适应控制器的设计与仿真等方面的内容,并给出了仿真程序。了仿真程序。n模糊逻辑的基本概念,模糊逻辑控制器的详细建模模糊逻辑的基本概念,模糊逻辑控制器的详细建模方法及仿真分析,及一种基于模糊逻辑的方法及仿真分析,及一种基于模糊逻辑的 PID PID 控制控制器的仿真方法。器的仿真方法。2024/8/3164控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院n提供了一些基于神经网络的控制器模型,并对其中提供了一些基于神经网络的控制器模型,并对其中大部分算法代码进行了改写,封装成控制器模型
30、,大部分算法代码进行了改写,封装成控制器模型,可以在仿真中直接使用。客观地说,由于其中的一可以在仿真中直接使用。客观地说,由于其中的一些算法选择的不是很理想,故它们只适用于提供例些算法选择的不是很理想,故它们只适用于提供例子的控制,若采用其他受控对象则可能效果不佳,子的控制,若采用其他受控对象则可能效果不佳,所以在实际系统设计中可以考虑采用更好的基于神所以在实际系统设计中可以考虑采用更好的基于神经网络的控制器算法,得到更好的控制效果。经网络的控制器算法,得到更好的控制效果。n基于遗传算法的最优化问题求解方法,并基于此方基于遗传算法的最优化问题求解方法,并基于此方法介绍了最优控制器的设计问题。法介绍了最优控制器的设计问题。2024/8/3165控制系统计算机辅助设计MATLAB语言与应用东北大学信息学院