资源简介
根据偏差与斜率构建模糊规则表,确定P,D参数,用于舵机转向与电机控速。获得智能车国一
代码片段和文件信息
#include “include.h“
/******此处将P改为中线的err ,D改为中线的斜率即可*********/
float Fuzzy(float Pfloat D)
{
/*输入量P语言值特征点*/
float PFF[7]={-15-10-5051015};
/*输入量D语言值特征点*/
float DFF[5]={-13-60613};
/*输出量U语言值特征点(根据赛道类型选择不同的输出值)*/
float UFF[7]={01520355080120};
int rule[7][5]={
// -2 -1 0 1 2 ec e
{ 1 1 1 0 0} // -3
{ 4 2 1 0 0} // -2
{ 6 4 1 1 0} // -1
{ 3 3 0 3 3} // 0
{ 0 1 1 4 6} // 1
{ 0 0 1 2 4} // 2
{ 0 0 1 1 1} // 3
};
float U=0; /*偏差偏差微分以及输出值的精确量*/
float PF[2]={0}DF[2]={0}UF[4]={0};
/*偏差偏差微分以及输出值的隶属度*/
int Pn=0Dn=0Un[4]={0};
float t1=0t2=0t3=0t4=0temp1=0temp2=0;
/*隶属度的确定*/
/*根据PD的指定语言值获得有效隶属度*/
if(P>PFF[0] && P {
if(P<=PFF[1])
{
Pn=-2;
PF[0]=(PFF[1]-P)/(PFF[1]-PFF[0]);
}
else if(P<=PFF[2])
{
Pn=-1;
PF[0]=(PFF[2]-P)/(PFF[2]-PFF[1]);
}
else if(P<=PFF[3])
{
Pn=0;
PF[0]=(PFF[3]-P)/(PFF[3]-PFF[2]);
}
else if(P<=PFF[4])
{
Pn=1;
PF[0]=(PFF[4]-P)/(PFF[4]-PFF[3]);
}
else if(P<=PFF[5])
{
Pn=2;
PF[0]=(PFF[5]-P)/(PFF[5]-PFF[4]);
}
else if(P<=PFF[6])
{
Pn=3;
PF[0]=(PFF[6]-P)/(PFF[6]-PFF[5]);
}
}
else if(P<=PFF[0])
{
Pn=-2;
PF[0]=1;
}
else if(P>=PFF[6])
{
Pn=3;
PF[0]=0;
}
PF[1]=1-PF[0];
//判断D的隶属度
if(D>DFF[0]&&D {
if(D<=DFF[1])
{
Dn=-2;
DF[0]=(DFF[1]-D)/(DFF[1]-DFF[0]);
}
- 上一篇:中国联通光纤分布系统网管技术规范V2.0
- 下一篇:操作系统期末试卷与答案
相关资源
- PID_AutoTune_v0.rar
- FPGA实现PID.v
- DV泵加罗茨泵独立控制系统PID.smart
- 模糊PID控制 c
- 课程设计蔬菜大棚自动控制系统,包
- (温度PID)实验指导书(三菱)
- PLCS7-1200PID参数自整定
- PLCS7-1200PID闭环控制
- RapidIO 2.2 Specification
- RapidIO_Rev_2.2_Specification
- 基于DSP的大功率开关电源的设计方案
- 基于DSP的大功率开关电源设计
- 提高风出力预测精度的储能系统模糊
- BLDC电机PID算法
- 基于运动控制器MCK2407的无刷直流电机
- 基于I-Fuzzy-Smith算法的融合控制策略仿
- 基于双闭环模糊PID控制器的开关电源
- pid 模拟测试软件
- 基于RBF神经网络在线辨识的永磁同步
- 利用改进人工势场法的智能车避障路
- 基于图像处理的智能车寻迹算法设计
- 基于DSC的数字脉冲MIG弧焊逆变电源设
- 基于FPGA的瓦斯浓度模糊控制系统设计
-
Lipase-catalyzed synthesis and the lipid me
- 中微子双β衰变的CUPID-Mo实验:性能
- LabVIEW实现Fuzzy_PID的补充资源
- k66说明,智能车K66
- 四轴飞控源码 PID参考apm 采用了dmp自带
- 平衡小车之家全套资料
- 基于ARM的高精度PID温度控制器_张军
评论
共有 条评论