设计模糊控制器

合集下载

自适应模糊PID控制器的设计与仿真

自适应模糊PID控制器的设计与仿真

自适应模糊PID控制器的设计与仿真自适应模糊PID控制器是一种结合了模糊控制和PID控制的自适应控制器,它能够在系统的不同工况下根据实际需求对PID参数进行自适应调整,从而使得系统具有更好的动态性能和稳定性。

本文将介绍自适应模糊PID控制器的设计思路和仿真过程。

1.设计思路1.1系统建模首先需要对待控制的系统进行建模,得到系统的数学模型。

这可以通过实验数据或者理论分析来完成。

一般情况下,系统的数学模型可以表示为:$G(s)=\frac{Y(s)}{U(s)}=\frac{K}{s(Ts+1)}$其中,K是系统的增益,T是系统的时间常数。

1.2设计模糊控制器接下来需要设计模糊控制器,包括模糊规则、模糊集和模糊运算等。

模糊控制器的输入是系统的误差和误差的变化率,输出是PID参数的调整量。

1.3设计PID控制器在模糊控制器的基础上,设计PID控制器。

PID控制器的输入是模糊控制器的输出,输出是控制信号。

1.4设计自适应机制引入自适应机制,根据系统的性能指标对PID参数进行自适应调整。

一般可以采用Lyapunov函数进行系统性能的分析和优化。

2.仿真过程在仿真中,可以使用常见的控制系统仿真软件,如MATLAB/Simulink 等。

具体的仿真过程如下:2.1设置仿真模型根据系统的数学模型,在仿真软件中设置仿真模型。

包括系统的输入、输出、误差计算、控制信号计算等。

2.2设置模糊控制器根据设计思路中的模糊控制器设计,设置模糊控制器的输入和输出,并设置模糊规则、模糊集和模糊运算等参数。

2.3设置PID控制器在模糊控制器的基础上,设置PID控制器的输入和输出,并设置PID参数的初始值。

2.4设置自适应机制设置自适应机制,根据系统的性能指标进行PID参数的自适应调整。

2.5运行仿真运行仿真,观察系统的响应特性和PID参数的变化情况。

根据仿真结果可以对设计进行调整和优化。

3.结果分析根据仿真结果,可以分析系统的稳定性、动态性能和鲁棒性等指标,并对设计进行调整和改进。

洗衣机模糊控制器设计

洗衣机模糊控制器设计

洗衣机的模糊控制器设计1 洗衣机的模糊控制传统的洗衣机都是人们用肉眼观看后,根据人的经验来调整洗衣时间和用水量,而模糊控制就是以人对被控对象的控制经验为依据而设计的控制器,这样就能实现控制器模拟人的思维方式来控制洗衣机。

以模糊洗衣机的设计为例其控制是一个开环的决策过程,模糊控制按以下步骤进行。

[4]1.1 洗衣机的时间控制1.1.1 确定模糊控制器的结构选用单变量二维模糊控制器。

控制器的输入为衣物的污泥和油脂,输出为洗涤时间。

1.1.2 定义输入、输出模糊集将污泥分为3个模糊集:SD(污泥少),MD (污泥中),LD (污泥多);取值范围为[0,100]。

将油脂分为3个模糊集:NG (油脂少),MG (油脂中),LG (油脂多); 将洗涤时间分为5个模糊集:VS (很短),S(短),M (中等),L(长),VL (很长)。

1.1.3 定义隶属函数选用如下隶属函数:50/5050/10050/50/50x x x x x x x μLDMD SD污泥1005010050500500 x x x x 采用三角形隶属函数可实现污泥的模糊化。

采用Matlab进行仿真,污泥隶属函数设计仿真程序如下: Close all ; N=2; x=0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); endu=trimf(x,[f(1),f(1),f(2)]); figure(1); plot(x,u); for j=2:Nu=trimf(x,[f(j-1),f(j),f(j+1)]); hold on; plot(x,u); endu=trimf(x,[f(N),f(N+1),f(N+1)]); hold on; plot(x,u); xlabel(‘x’);ylabel(‘Degree of membership ’); 污泥程序仿真结果如图1所示:01020304050607080901000.10.20.30.40.50.60.70.80.91xDe g r e e of m e m b e r s h i p图1 污泥隶属函数将油脂分为三个模糊集:NG (无油脂)MG (油脂中)LG(油脂多),取值范围为[0,100]选用如下隶属函数:50/5050/10050/50/50y y y y y y y LGMG NG油脂1005010050500500 y y y y 采用三角形隶属函数实现油脂的模糊化,仿真程序如下: Clear all; N=2; x=0:0.1:100; for i=1:N+1 f(i)=100/N*(i-1); endu=trimf(y,[f(1),f(1),f(2)]); figure (1); plot(y,u); for j=2:Nu=trimf(y,[f(j-1),f(j),f(j+1)]); hold on; plot(y,u); endu=trimf(y,[f(N),f(N+1),f(N+1)]); hold on; plot(y,u); xlabel(‘y’);ylabel(‘Degree of membership ’); 油脂程序仿真结果如图2所示:01020304050607080901000.10.20.30.40.50.60.70.80.91yDe g r e e of m e mb e r s h i p图2 油脂隶属函数将洗涤时间分为五个模糊集:VS(很短)S (短)M (中等)L(很长)取值范围为[0,60] 选用如下隶属函数:20/4020/6015/2515/4015/1015/2510/10/10z z z z z z z z z z z z z VLL M S VS洗涤时间604060404025402525102510100100 z z z z z z z z 采用三角形隶属函数实现洗涤时间的模糊化,其Matlab仿真程序如下: Close all; Z=0:0.1:60;U=trimf(z,[0,0,10]); Figure(1); Plot(z,u);U=trimf(z,[0, 10,25]); hold on; plot(z,u);U=trimf(z,[ 10,25,40]); hold on; plot(z,u);U=trimf(z,[ 25,40,60]); hold on; plot(z,u);U=trimf(z,[ 40,60,60]); hold on; plot(z,u); xlabel(‘z’)ylabel(“Degree of membership ”); 洗涤时间仿真程序结果如图3所示:01020304050600.10.20.30.40.50.60.70.80.91zDe g r e e of m e m b e r s h i p图3 洗涤时间隶属函数1.1.4 建立模糊控制规则根据人的操作经验设计模糊规则,模糊规则设计的标准为:“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时将越短”。

模糊控制器的设计知识讲解

模糊控制器的设计知识讲解

模糊控制器的设计知识讲解模糊控制器的设计⼀、 PID 控制器的设计我们选定的被控对象的开环传递函数为327()(1)(3)G s s s =++,采⽤经典的PID 控制⽅法设计控制器时,由于被控对象为零型系统,因此我们必须加⼊积分环节保证其稳态误差为0。

⾸先,我们搭建simulink 模型,如图1。

图1simulink 仿真模型由于不知道Kp ,Kd ,Ki ,的值的⼤致范围,我们采⽤signal constraints 模块进⾏⾃整定,输⼊要求的指标,找到⼀组Kp,Kd ,Ki 的参数值,然后在其基础上根据经验进⾏调整。

当选定Kp=2,Kd=0.95,Ki=0.8时,可以得到⽐较好的响应曲线。

调节时间较短,同时超调量很⼩。

响应曲线如图2所⽰。

图2 PID 控制响应曲线将数据输出到⼯作空间,调节时间ts =2.04s ,超调量%0σ=。

可以看出,PID 控制器的调节作⽤已经相当好。

⼆、模糊控制器的设计1、模糊控制器的结构为:图3 模糊控制器的结构2、控制参数模糊化控制系统的输⼊为偏差e 和偏差的变化率ec ,输出为控制信号u 。

⾸先对他们进⾏模糊化处理。

量化因⼦的计算max min**max minx x k x x -=- ⽐例因⼦的计算**max minmax minu u k u u -=-其中,*max x ,*min x 为输⼊信号实际变化范围的最⼤最⼩值;max x ,min x 为输⼊信号论域的最⼤最⼩值。

*max u ,*min u 为控制输出信号实际变化范围的最⼤最⼩值,max u ,min u 输出信号论域的最⼤最⼩值。

相应的语⾔值为NB ,NM ,NS ,ZO ,PS ,PM ,PB 。

分别表⽰负⼤、负中、负⼩、零、正⼩、正中、正⼤。

3、确定各模糊变量的⾪属函数类型语⾔值的⾪属度函数就是语⾔值的语义规则,可分为连续式⾪属度函数和离散化的⾪属度函数。

本系统论域进⾏了离散化处理,所以选⽤离散量化的⾪属度函数。

模糊控制器的设计步骤

模糊控制器的设计步骤

模糊控制器的设计步骤引言在控制理论中,模糊控制是一种根据模糊逻辑进行决策和控制的方法。

模糊控制器的设计步骤非常重要,本文将详细探讨模糊控制器设计的各个步骤。

一、确定控制目标控制系统的第一步是明确控制目标。

确定控制目标包括明确系统的输入和输出变量,以及期望的控制效果。

控制目标的明确定义对于后续的模糊控制器设计至关重要。

二、建立模糊化输入输出变量在模糊控制器设计中,需要将实际的输入输出变量进行模糊化。

模糊化是指将实际物理变量的取值映射到一系列模糊集合中。

模糊化过程需要确定模糊集合的数量和形状。

可以使用三角型、梯型等形状表示模糊集合。

2.1 模糊化输入变量模糊化输入变量需要确定输入变量的模糊集合和隶属度函数。

通过隶属度函数,可以将实际输入变量的取值映射到各个模糊集合中。

通常使用高斯函数、三角函数等形式的隶属度函数。

2.2 模糊化输出变量模糊化输出变量的过程类似于模糊化输入变量。

需要确定输出变量的模糊集合和隶属度函数。

同样地,可以使用各种形式的隶属度函数来描述输出变量的模糊集合。

三、制定模糊规则模糊规则是模糊控制器的核心部分,用于将模糊输入变量映射到模糊输出变量上。

模糊规则的制定需要基于专家经验或者系统的训练数据。

通常使用“如果-那么”形式的规则来描述模糊控制器的行为。

3.1 规则库的建立规则库是所有模糊规则的集合。

规则库的建立过程需要根据具体的系统特点和控制要求进行设计。

规则库中的每一条规则都包含一组条件和一个结论。

3.2 规则的模糊化在制定模糊规则时,需要对规则中的条件和结论进行模糊化处理。

模糊化处理的目的是将实际的输入值映射到相应的模糊集合上。

3.3 规则的归结在进行模糊控制运算时,需要将模糊输入和模糊规则进行匹配,并计算出相应的输出结果。

规则的归结是指将输入值和规则进行匹配,并计算出匹配程度。

3.4 规则的去模糊化规则的去模糊化是指将模糊输出结果转换为实际的物理输出值。

去模糊化需要考虑到模糊输出的不确定性和误差。

《基于模糊控制的高精度伺服速度控制器的设计与实现》

《基于模糊控制的高精度伺服速度控制器的设计与实现》

《基于模糊控制的高精度伺服速度控制器的设计与实现》基于模糊控制的高精度伺服速度控制器设计与实现一、引言随着工业自动化和智能制造的不断发展,对高精度伺服系统的速度控制提出了更高要求。

伺服速度控制器的性能直接影响着工业产品的制造质量和效率。

传统速度控制方法往往存在响应速度慢、精度低等问题。

为了解决这些问题,本文提出了一种基于模糊控制的高精度伺服速度控制器设计与实现方案。

二、系统概述本系统主要由伺服电机、编码器、模糊控制器和上位机组成。

其中,伺服电机负责执行速度控制任务,编码器实时反馈电机速度信息,模糊控制器负责处理反馈信息和进行控制决策,上位机负责与模糊控制器进行通信,并监控整个系统的运行状态。

三、模糊控制器的设计1. 模糊化处理模糊化处理是将电机速度的实时反馈值和目标值进行模糊化处理,将精确的数值转化为模糊语言变量。

这一过程包括确定模糊子集、论域和隶属度函数等。

2. 模糊规则库的设计根据系统特性和经验知识,设计合理的模糊规则库。

这些规则根据电机速度的实时反馈和目标值,决定下一时刻的控制策略。

3. 模糊推理机的实现模糊推理机是模糊控制器的核心部分,根据模糊规则库和实时反馈信息,进行模糊推理,得出下一时刻的控制决策。

4. 解模糊化处理解模糊化处理是将模糊推理结果转化为精确的控制量,以驱动伺服电机执行相应的动作。

四、伺服速度控制器的实现1. 硬件实现伺服速度控制器的硬件部分主要包括微处理器、编码器接口、电机驱动器等。

微处理器负责运行模糊控制器程序,编码器接口负责实时获取电机速度信息,电机驱动器根据控制决策驱动伺服电机执行相应的动作。

2. 软件实现软件部分主要包括模糊控制算法的实现、与上位机的通信等。

在微处理器上运行模糊控制算法,实时处理编码器反馈的电机速度信息,并根据模糊推理结果输出相应的控制量。

同时,与上位机进行通信,接收上位机的指令和监控系统的运行状态。

五、实验结果与分析通过实验验证了基于模糊控制的高精度伺服速度控制器的性能。

模糊PID控制原理与设计步骤

模糊PID控制原理与设计步骤

模糊PID控制原理与设计步骤模糊PID控制(Fuzzy PID control)是在PID控制基础上引入了模糊逻辑的一种控制方法。

相比传统的PID控制,模糊PID控制能够更好地适应系统的非线性、时变和不确定性等特点,提高系统的性能和鲁棒性。

设计步骤:1.确定系统的模型和控制目标:首先需要对待控制的系统进行建模,确定系统的数学模型,包括系统的输入、输出和动态特性等。

同时,需要明确控制目标,即系统应达到的期望状态或性能指标。

2.设计模糊控制器的输入和输出变量:根据系统的特性和控制目标,确定模糊控制器的输入和输出变量。

输入变量通常为系统的误差、误差变化率和累积误差,输出变量为控制力。

3.确定模糊集和模糊规则:对于每个输入和输出变量,需要确定其模糊集和模糊规则。

模糊集用于将实际变量映射为模糊集合,如“大、中、小”等;模糊规则用于描述输入变量与输出变量之间的关系,通常采用IF-THEN形式,如“IF误差大AND误差变化率中THEN控制力小”。

4.编写模糊推理和模糊控制算法:根据确定的模糊集和模糊规则,编写模糊推理和模糊控制算法。

模糊推理算法用于根据输入变量和模糊规则进行推理,生成模糊的输出变量;模糊控制算法用于将模糊的输出变量转化为具体的控制力。

5.调试和优化:根据系统的实际情况,调试和优化模糊PID控制器的参数。

可以通过试错法或专家经验等方式对模糊集、模糊规则和模糊函数等进行调整,以达到较好的控制效果。

6.实施和验证:将调试完成的模糊PID控制器应用到实际系统中,并进行验证。

通过监控系统的实际输出和期望输出,对模糊PID控制器的性能进行评估和调整。

总结:模糊PID控制是一种将模糊逻辑引入PID控制的方法,能够有效地提高系统的性能和鲁棒性。

设计模糊PID控制器的步骤主要包括确定系统模型和控制目标、设计模糊控制器的输入输出变量、确定模糊集和模糊规则、编写模糊推理和模糊控制算法、调试和优化以及实施和验证。

通过这些步骤,可以设计出较为优化的模糊PID控制器来实现系统的控制。

模糊控制课程设计报告

模糊控制课程设计报告

模糊控制课程设计报告一、模糊控制器设计1.输入输出变量的隶属度函数图1.1输入偏差量e图1.2输入偏差量变化率ec图1.3输出控制量u2.模糊规则设置1.if(input1 is ss1 ) and (input2 is s2)then (output1is b3)2.if(input1 is ss1 )and (input2 is m2)then (output1 is b3)3.if(input1 is ss1 )and (input2 is b2)then (output1 is mb3)4.if(input1 is s1 ) and (input2 is s2)then (output1 is b3)5.if(input1 is s1 )and (input2 is m2)then (output1 is mb3)6.if(input1 is s1 ) and (input2 is b2)then (output1 is m3)7.if(input1 is sm1) and (input2 is s2)then (output1 is mb3)8.if(input1 is sm1)and (input2 is m2)then (output1 is mb3)9.if(input1 is sm1)and (input2 is b2)then (output1 is m3)10.if(input1 is bb1)and (input2 is b2)then (output1 is s3)11.if(input1 is bb1)and (input2 is m2)then (output1 is s3)12.if(input1 is bb1)and (input2 is s2)then (output1 is sm3)13.if(input1 is b1) and (input2 is b2)then (output1 is s3)14.if(input1 is b1)and (input2 is m2)then (output1 is sm3)15.if(input1 is b1)and (input2 is s2)then (output1 is m3)16.if(input1 is mb1)and (input2 is b2)then (output1 is sm3)17.if(input1 is mb1)and (input2 is m2)then (output1 is sm3)18.if(input1 is mb1)and (input2 is s2)then (output1 is m3)19.if(input1 is m1)and (input2 is m2)then (output1 is m3)20.if(input1 is m1)and (input2 is s2)then (output1 is mb3)21.if(input1 is m1)and (input2 is b2)then (output1 is sm3)二、Simulink回路设计1.设计思路按照书中所示的基本结构将偏差、控制器、被控对象连接成一个回路,通过将偏差和偏差变化率输入模糊控制器,得到输出控制力矩u输入到被控对象中,最终得到理想的控制结果。

无刷直流电机模糊pid控制器的simulink设计

无刷直流电机模糊pid控制器的simulink设计

无刷直流电机模糊pid控制器的simulink设计在控制系统中,PID控制器是最常见且广泛应用的控制器之一,它通过调节比例项、积分项和微分项来实现对系统的控制。

而模糊控制器则是一种基于模糊逻辑的控制器,能够处理系统模型非线性、参数变化较大或难以精确建模的情况。

将PID控制器与模糊控制器相结合,可以充分发挥各自的优势,提高系统的控制性能。

在Simulink中设计无刷直流电机模糊PID控制器,首先需要建立电机模型。

电机模型可以通过数学建模或直接使用Simulink中的电机模型来实现。

接下来,需要设计PID控制器和模糊控制器。

PID控制器的参数可以通过经验法则、试错法或自整定法等方法进行调节,以获得合适的控制效果。

模糊控制器的设计需要确定模糊集合、模糊规则库和模糊推理方法,以实现对系统的模糊控制。

设计无刷直流电机模糊PID控制器的Simulink模型时,可以按照以下步骤进行:1. 建立电机模型:选择合适的直流电机模型,包括电机的电气特性、机械特性和控制接口等。

2. 设计PID控制器:设置PID控制器的比例、积分和微分参数,通过模拟和调节,使得系统的响应速度、稳定性和抗干扰能力达到要求。

3. 设计模糊控制器:确定模糊控制器的模糊集合、模糊规则库和模糊推理方法,设置模糊控制器的输入输出变量和模糊规则。

4. 整合PID控制器和模糊控制器:将PID控制器和模糊控制器串联或并联,根据系统的要求和性能指标来设计控制器的整体结构。

5. 仿真验证:在Simulink中进行仿真验证,通过模拟系统的运行情况和控制效果,来评估控制器的性能和稳定性。

通过以上步骤的设计和仿真验证,可以得到一个合理、有效的无刷直流电机模糊PID控制器的Simulink模型。

在实际应用中,可以根据系统的实际情况和性能要求,进一步优化控制器的参数和结构,以实现更好的控制效果。

同时,不断的实验和调试,能够进一步提高控制器的稳定性和鲁棒性,确保系统的可靠性和性能的提升。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计模糊控制器实验题目:MATLAB中模糊控制器设计课程名称:智能控制概论任课教师:任彦姓名:吕同兴学号:1167106317 班级:自动化11-3班一、实验目的利用MATLAB中模糊工具箱设计一个模糊控制器二、相关知识一般控制系统的架构包含了五个主要部分,即:定义变量、模糊化、知识库、逻辑判断及反模糊化:1、定义变量也就是决定程序被观察的状况及考虑控制的动作,例如在一般控制问题上,输入变量有输出误差E与输出误差变化率EC,而模糊控制还将控制变量作为下一个状态的输入U。

其中E、EC、U统称为模糊变量。

2、模糊化将输入值以适当的比例转换到论域的数值,利用口语化变量来描述测量物理量的过程,根据适合的语言值(linguistic value)求该值相对的隶属度,此口语化变量称为模糊子集合(fuzzy subsets)。

3、知识库包括数据库(data base)与规则库(rule base)两部分,其中数据库提供处理模糊数据的相关定义;而规则库则藉由一群语言控制规则描述控制目标和策略。

4、逻辑判断模仿人类下判断时的模糊概念,运用模糊逻辑和模糊推论法进行推论,得到模糊控制讯号。

该部分是模糊控制器的精髓所在。

5、解模糊化解模糊化(defuzzify):将推论所得到的模糊值转换为明确的控制讯号,做为系统的输入值。

三、控制背景直线一级倒立摆的模糊控制四、参考资料整理1、【名称】基于模糊控制理论的二级倒立摆控制算法【作者】过润秋;洪旭;苏旺旺;【关键词】二级倒立摆;模糊控制;融合函数;量化因子;【期刊名】西安电子科技大学学报【发表时间】2006年01期【简介】采用模糊控制理论研究了二级倒立摆控制问题.运用最优控制方法设计了融合函数以降低模糊控制器的输入变量维数,大大减少模糊控制的规则数,并研究了量化因子对控制效果的影响,通过设置阈值使量化因子可自动调节,进而提高模糊控制器的性能品质.仿真和实验结果都证明这种模糊控制算法规则数少,响应速度快,有良好的稳定性和鲁棒性.2、【名称】直线一级倒立摆控制策略研究及仿真分析【作者】梁春辉;冯雷;张欣;【关键词】直线一级倒立摆;数学模型;经典控制方法;现代控制方法; MATLAB/SIMULINK;【期刊名】长春工程学院学报(自然科学版)【发表时间】2010年01期【简介】应用牛顿力学定律建立了直线一级倒立摆的传递函数、状态空间表达式等数学模型,并分析其稳定性、可控性和可观测性。

在此基础上,分别研究经典控制方法和现代控制方法在一级倒立摆系统中的应用,包括PID控制算法、系统频率响应分析与校正、线性二次最优控制算法和极点配置法,并在MATLAB/SIMULINK仿真平台上对这些控制算法的效果进行仿真,可以取得不同的控制效果。

3、【名称】基于变量分组模糊控制算法的倒立摆系统【作者】魏胜男;【关键词】倒立摆;模糊控制;变量分组;两回路;【期刊名】微计算机信息【发表时间】2012年02期【简介】采用模糊控制理论研究了直线一级倒立摆控制问题。

直线一级倒立摆系统是多变量不稳系统,为了解决模糊规则爆炸问题,本文采用了变量分组的方法完成倒立摆模糊控制器的设计方案。

要使直线一级倒立摆系统稳定,必须对小车位置和摆杆角度同时进行闭环控制,而单一的控制只能控制一个控制量,本文提出了两回路的模糊控制方案。

仿真和实验结果证明了该方案的可行性和良好的控制性能。

4、【名称】基于模糊控制技术的倒立摆控制【作者】陈振锋;张鹏;蔡毓峰;丁莉芬;【关键词】倒立摆;模糊控制;模糊规则; Simulink;仿真;【期刊名】中国民航学院学报 ,【发表时间】2004年06期【简介】简要介绍了模糊控制技术的发展和应用,详细介绍了模糊控制器的设计,着重讨论了单级倒立摆的模糊规则的制定,并通过Simulink仿真,验证了所制定的模糊规则的正确性和可行性。

5、【名称】一种双轮小车的自平衡运动控制系统【作者】齐光景;谢刚;柳英杰;【关键词】双轮小车;模糊控制;运动控制;【期刊名】计算机仿真 ,【发表时间】2014年04期【简介】研究双轮自平衡小车控制的优化问题,由于双轮小车运行不稳定和具有非线性、强耦合等特性,无法准确建立数学模型,传统控制理论已不能很好的满足实际控制要求,为了解决双轮小车高速稳定运行的问题,在考虑了被控对象的特性同时又兼顾了实际工程应用的基础上,建立了系统动力学模型并进行了特性分析,提出一种模糊-PI复合控制方法。

上述方法对双轮小车的倾斜角度和速度分别设计了模糊控制器和Pl控制器,通过小车的速度控制仿真和抗干扰特性仿真,结果表明,所设计的模糊-PI控制器能够保证双轮自平衡小车的高速稳定运行,改进方法不仅抗干扰性强,动态品质好,而且结构简单,易实现,具有很好的工程实用价值。

五、分析模型倒立摆已由原来的直线一级倒立摆扩展到很多类型,最主要的有直线倒立摆,环形倒立摆和复合倒立摆等,在此主要研究简单基础的直线一级倒立摆,采用模糊算法进行倒立摆的模糊控制器设计。

倒立摆具有非线性,不确定性,耦合性,开环不稳定性和约束限制的特性。

直线一级倒立摆的数学模型建立过程如下:那我们在本实验中定义如下变量: M 小车质量 (本实验系统 0.5 Kg ) m 摆杆质量 (本实验系统 0.2 Kg )b 小车摩擦系数 (本实验系统 0.1 N/m/sec ) l 摆杆转动轴心到杆质心的长度(0.3 m ) I 摆杆惯量 (0.006 kg*m*m ) F 加在小车上的力 x 小车位置φ 摆杆与垂直向上方向的夹角θ摆杆与垂直向下方向的夹角(考虑到摆杆初始位置为竖直向下)注意:在实际倒立摆系统中检测和执行装置的正负方向已经完全确定,因而矢量方向定义如图,图示方向为矢量正方向。

应用Newton 方法来建立系统的动力学方程过程如下: 分析小车水平方向所受的合力,可以得到以下方程:N x b F xM --= 由摆杆水平方向的受力进行分析可以得到下面等式:)sin (22θl x dtd mN +=即 θθθθsin cos 2ml ml x m N -+= 把这个等式代入上式中,就得到系统的第一个运动方程:F ml ml x b xm M =-+++θθθθsin cos )(2 (1) 为了推出系统的第二个运动方程,我们对摆杆垂直方向上的合力进行分析,可以得到下面方程:θθθθθcos sin )cos (222ml ml mg P l dtd m mg P --=-=-即:力矩平衡方程如下:θθθ I Nl Pl =--cos sin 注意:此方程中力矩的方向,由于θφθφφπθsin sin ,cos cos ,-=-=+=,故等式前面有负号。

合并这两个方程,约去P 和N ,由231ml I =得到第二个运动方程: θθθcos sin 24xml mgl ml -=+ (2) 设φπθ+=(φ是摆杆与垂直向上方向之间的夹角),假设φ与1(单位是弧度)相比很小,即φ《1,则可以进行近似处理:1cos -=θ,φθ-=sin ,0)(2=dtd θ。

用u 来代表被控对象的输入力F ,线性化后两个运动方程如下:⎪⎩⎪⎨⎧=-++=-u ml x b x m M x g l φφφ)(34 (3) 传递函数对方程组(3)进行拉普拉斯变换,得到⎪⎩⎪⎨⎧=Φ-++=Φ-Φ)()()()()()()()(342222s U s s ml s s bX s s X m M ss X s g s s l (4) 注意:推导传递函数时假设初始条件为0。

由于输出为角度φ,求解方程组(4)的第一个方程,可以得到)(]34[)(2s sgl s X Φ-=把上式代入方程组(4)的第二个方程,得到)()()()()()()(22222s U s s ml s s s g mlml I b s s s g ml ml I m M =Φ-Φ⎥⎦⎤⎢⎣⎡+++Φ⎥⎦⎤⎢⎣⎡-++ 整理后得到传递函数:sqbmgls q mgl m M s qbml s s qml s U s -+-+=Φ2323442)()()(其中 ])())([(22ml ml I m M q -++= 状态空间方程 系统状态空间方程为DuCX y Bu AX X+=+=方程组(3)对φ ,x解代数方程,得到解如下: ⎪⎪⎪⎩⎪⎪⎪⎨⎧++++++-==+++++-==u l m M l m M m M g x l m M b um M m M m g x m M b x x x )4(3)4()(3)4(3)4(4)4(3)4(4φφφφφ整理后得到系统状态空间方程:u l m M m M x x lm M m M g lm M b m M m g m M b x x ⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+++⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+++-++-=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡)4(30)4(400)4()(3)4(3010000)4(3)4(400010φφφφ u x x x y ⎥⎦⎤⎢⎣⎡+⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=0001000001φφφ 系统Matlab 仿真和开环响应实际系统参数如下,求系统的传递函数、状态空间方程,并进行脉冲响应和阶跃响应的Matlab 仿真。

M 小车质量 1.096 Kg m 摆杆质量0.109 Kg b 小车摩擦系数0 .1N/m/secl 摆杆转动轴心到杆质心的长度 0.2 5mI 摆杆惯量0.0034 kg*m*mF 加在小车上的力x 小车位置θ 摆杆与垂直方向的夹角 T 采样频率0.005秒注意:在进行实际系统的Matlab 仿真时,请将采样频率改为实际系统的采样频率。

传递函数:在Matlab 中,拉普拉斯变换后得到的传递函数可以通过计算并输入分子和分母矩阵来实现。

求系统传递函数的m-文件内容如下: M = 1.096; m = 0.109; b = 0.1; I= 0.0034; g = 9.8; l = 0.25;q = (M+m)*(I+m*l^2)-(m*l)^2; %simplifies inputnum = [m*l/q 0]den = [1 b*(I+m*l^2)/q -(M+m)*m*g*l/q -b*m*g*l/q] t = 0 : 0.01 : 5;impulse ( num , den , t ) axis ( [ 0 1.1 0 70 ])执行上面的文件,就可以求出系统传递函数的分子与分母多项式的Matlab 表示: num =2.3566 0 den =1.0000 0.0883 -27.8285 -2.3094可以得到系统开环脉冲响应的曲线如下:I m pulse R esponseTim e (sec)A m p l i t u d e图4 系统开环脉冲响应曲线状态空间法:状态空间法可以进行单输入多输出系统设计,(从实验二开始,我们将尝试同时对摆杆角度和小车位置进行控制)。

相关文档
最新文档