模糊控制

基于一阶倒立摆系统的模糊神经网络PID控制

*爱你&永不变心* 提交于 2020-01-26 03:05:03
基于一阶倒立摆系统的模糊神经网络PID控制 1.1 研究背景 模糊系统、神经网络和遗传算法被认为是21世纪人工智能最具发展前途的三个重要领域。它们构成了所谓的“智能计算”。随着科学技术的飞速发展,现代工业控制系统变得越来月复杂,基于精确数学模型的传统控制已经达不到理想的控制效果。智能控制是一种模拟人类智能的高级控制系统,它是基于知识的控制,是将控制者和专家经验与知识作为被控对象的模型。 倒立摆系统是一种典型的高阶、非线性、强耦合、多变量、不稳定的装置,通常被用来检验控制策略的有效性。因为倒立摆系统的竖直稳定状态与机器人直立行走的形态相似,同时又与火箭和飞控很相似,所以对倒立摆系统的学习和研究具有广泛、深远的事件意义。关于倒立摆的学习和研究对其它工程控制问题具有指导意义。 1.2 模糊神经网络概述 模糊控制是一门发展迅速、具有广阔应用前景的技术,它不受数学模型的束缚,而是利用人类专家的经验形成模糊语言,生成模糊控制列表,并在实际应用中经过人们反复修正,然后通过计算机采用查表的方法在控制列表中找出相应的模糊控制量,最后经过一定的比例运算得到实际控制量加到被控对象上。模糊控制的规则是由人类专家的经验知识写出的,所以模糊控制能够容易被理解。模糊控制的原理如图1.1所示。 图1.1 模糊控制原理框图 人工神经网络是指从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型

基于自适应最优多评价神经模糊控制的MIMO人体肌肉骨骼臂模型

左心房为你撑大大i 提交于 2020-01-11 23:01:52
Adaptive optimal multi-critic based neuro-fuzzy control of MIMO human musculoskeletal arm model 摘要: 人体利用电流使肌肉运动。由于脊髓损伤,大脑和肌肉之间的电信号断开,导致损伤程度以下的瘫痪。功能性电刺激(FES)是用来刺激肢体功能障碍的周围神经。应该选择这些电信号的电平,以便成功地完成所需的任务。用适当的控制器可以实现人的行为并完成所期望的任务已成为一个重要的研究领域。这篇文章研究了具有六块肌肉的手臂的多输入多输出(MIMO)肌肉骨骼模型,提出了一种基于自适应最优临界神经模糊控制器来控制手臂模型的终点。通过计算机仿真验证了神经模糊控制结构的有效性。自适应和肌肉力优化是神经模糊控制器的重要特征。结果表明,该方法具有良好的性能。 1.简介 脊髓的损伤阻止了大脑和肌肉之间的电信号,并导致损伤水平以下的瘫痪。功能性电刺激(FES)是一种利用电流激活残肢周围神经的技术。通过智能地选择电流的大小,患者可以成功地完成预期的任务。因此,需要合适的控制器来完成复杂和目标导向的运动,比如达到[1]。但是人体的四肢是非常灵活的,因为有大量的关节,而且在一个关节上活动的肌肉的数量通常超过了那个关节的自由度。人体的这两个重要特性分别称为运动学和动力学冗余,这引起了许多研究者对冗余系统控制的研究

4.2.1 模糊理论

眉间皱痕 提交于 2020-01-11 02:45:39
模糊理论 ······首先,人们在认识模糊性时,是允许有主观性的,也就是说每个人对模糊事物的界限不完全一样,承认一定的主观性是认识模糊性的一个特点。例如,我们让100个人说出“年轻人”的年龄范围,那么我们将得到100个不同的答案。尽管如此,当我们用模糊统计的方法进行分析时,年轻人的年龄界限分布又具有一定的规律性。 ······其次,模糊性是精确性的对立面,但不能消极地理解模糊性代表的是落后的生产力,恰恰相反,我们在处理客观事物时,经常借助于模糊性。例如,在一个有许多人的房间里,找一位“年老的高个子男人”,这是不难办到的。这里所说的“年老”、“高个子”都是模糊概念,然而我们只要将这些模糊概念经过头脑的分析判断,很快就可以在人群中找到此人。如果我们要求用计算机查询,那么就要把所有人的年龄,身高的具体数据输入计算机,然后我们才可以从人群中找这样的人。 ······最后,人们对模糊性的认识往往同随机性混淆起来,其实它们之间有着根本的区别。 随机性是其本身具有明确的含义,只是由于发生的条件不充分,而使得在条件与事件之间不能出现确定的因果关系,从而事件的出现与否表现出一种不确定性 。而事物的 模糊性是指我们要处理的事物的概念本身就是模糊的 ,即一个对象是否符合这个概念难以确定,也就是由于概念外延模糊而带来的不确定性。 模糊控制 模糊控制的基本思想 把人类 专家 对特定的

模糊控制实验

流过昼夜 提交于 2019-12-01 23:21:20
模糊控制 ·该模糊控制器共有两个输入e、ec,一个输出u  e的范围为[15,+15],ec的范围为[15,+15],u的范围为[-7.5,+7.5] ·为两个输入变量e和ec添加三个模糊语言变量的隶属度函数(z型,三角型,s型) ·创建输出变量为u ·为输出变量u添加三个模糊语言变量的隶属度函数(z型,三角型,s型) ·添加规则库rulelist,根据e和ec的值影响u的输出值 ·初始化全零矩阵,完成模糊推理计算,将运算结果存入Ulist %规则库 rulelist=[ 1 1 1 1 1; %编辑模糊规则,后俩个数分别是规则权重和AND OR选项 1 2 1 1 1; 1 3 1 1 1; 1 4 2 1 1; 1 5 2 1 1; 1 6 3 1 1; 2 1 1 1 1; 2 2 2 1 1; 2 3 2 1 1; 2 4 2 1 1; 2 5 3 1 1; 2 6 4 1 1; 3 1 1 1 1; 3 2 2 1 1; 3 3 2 1 1; 3 4 2 1 1; 3 5 3 1 1; 3 6 4 1 1; 4 1 1 1 1; 4 2 2 1 1; 4 3 2 1 1; 4 4 2 1 1; 4 5 3 1 1; 4 6 4 1 1; 5 1 1 1 1; 5 2 2 1 1; 5 3 2 1 1; 5 4 2 1 1; 5 5 3 1 1; 5 6 4 1 1; 6

模糊控制

风格不统一 提交于 2019-12-01 23:11:07
模糊控制 一、代码实现 二、结果展示 三、总结 一、代码实现 a=newfis('fuzzf'); f1=2; a=addvar(a,'input','e',[-2*f1,3*f1]); a=addmf(a,'input',1,'NB','zmf',[-2*f1,2*f1]); a=addmf(a,'input',1,'NM','trimf',[-2*f1,-2*f1,0]); a=addmf(a,'input',1,'NS','trimf',[-2*f1,-1*f1,1*f1]); a=addmf(a,'input',1,'Z','trimf',[-3*f1,0,2*f1]); a=addmf(a,'input',1,'PS','trimf',[-1*f1,1*f1,3*f1]); a=addmf(a,'input',1,'PM','trimf',[0,2*f1,3*f1]); a=addmf(a,'input',1,'PB','smf',[1*f1,3*f1]); f2=2; a=addvar(a,'input','ec',[-3*f2,4*f2]); a=addmf(a,'input',2,'NB','zmf',[-3*f2,-1*f2]); a=addmf(a,'input',2,'NM','trimf',[-2*f2,-1*f2,0]); a=addmf(a,'input

模糊控制

ⅰ亾dé卋堺 提交于 2019-12-01 22:59:46
%模糊控制器设计 a=newfis('fuzzf'); %创建新的模糊推理系统 %输入1 f1=1; a=addvar(a,'input','e',[-5*f1,5*f1]); %添加 e 的模糊语言变量 a=addmf(a,'input',1,'NB','zmf',[-4*f1,-1*f1]); %添加 e 的模糊语言变量的隶属度函数(z型) a=addmf(a,'input',1,'NM','trimf',[-5*f1,-1*f1,0]); %隶属度函数为三角形 a=addmf(a,'input',1,'NS','trimf',[-4*f1,-1*f1,2*f1]); a=addmf(a,'input',1,'Z','trimf',[-3*f1,0,3*f1]); a=addmf(a,'input',1,'PS','trimf',[-2*f1,1*f1,3*f1]); a=addmf(a,'input',1,'PM','trimf',[0,2*f1,3*f1]); a=addmf(a,'input',1,'PB','smf',[2*f1,3*f1]); %输入2 f2=1; a=addvar(a,'input','ec',[-4*f2,4*f2]); %添加 ec 的模糊语言变量 a=addmf(a,'input',2,'NB','zmf',[-4*f2,-2*f2]); a

模糊控制笔记

怎甘沉沦 提交于 2019-11-30 01:56:48
---恢复内容开始--- 标题二 a = addrule(a,ruleList) 其中 ruleList 是一个矩阵,每一行为一条规则,他们之间是 ALSO 的关系。 假定该 FIS 有 N 个输入和 M 个输出,则每行有 N+M+2 个元素,前 N 个数分别表示 N 个输入变量的某一个语言名称的 index,没有的话用 0 表示,后面的 M 个数也类似,最后两个分别表示该条规则的权重和各个条件的关系,1 表示 AND,2 表示 OR。 例如,当“输入1” 为“名称1” 和 “输入2” 为“名称3” 时,输出为 “ 输出1” 的“状态2”,则写为: [1 3 2 1 1] https://blog.csdn.net/ouyang_linux007/article/details/7586100 ---恢复内容结束--- 来源: https://www.cnblogs.com/jtailong/p/11544638.html