智能车制作

标题: 大家帮我看看这个模糊PID有没有逻辑错误 [打印本页]

作者: 慎独    时间: 2014-1-20 16:09
标题: 大家帮我看看这个模糊PID有没有逻辑错误
float pid()
{
        lasterror = error;
        lastderror = derror;
        error = value_set - value_ADC;
        derror = error - lasterror;
        if (error>EMAX)
        {
                error = EMAX;
        }
        else if (error<EMIN)
        {
                error = EMIN;
        }
        if (derror>ECMAX)
        {
                derror = ECMAX;
        }
        else if (derror<ECMIN)
        {
                derror = ECMIN;
        }
        if (error < error_gate[0])
                error_fuzzy_value = -3;
        else if (error < error_gate[1])
                error_fuzzy_value = -2;
        else if (error < error_gate[2])
                error_fuzzy_value = -1;
        else if (error < error_gate[3])
                error_fuzzy_value = 0;
        else if (error < error_gate[4])
                error_fuzzy_value = 1;
        else if (error < error_gate[5])
                error_fuzzy_value = 2;
        else
                error_fuzzy_value = 3;
        if (derror < derror_gate[0])
                derror_fuzzy_value = -3;
        else if (derror < derror_gate[1])
                derror_fuzzy_value = -2;
        else if (derror < derror_gate[2])
                derror_fuzzy_value = -1;
        else if (derror < derror_gate[3])
                derror_fuzzy_value = 0;
        else if (derror < derror_gate[4])
                derror_fuzzy_value = 1;
        else if (derror < derror_gate[5])
                derror_fuzzy_value = 2;
        else
                derror_fuzzy_value = 3;
        dKp = rule_dkd[error_fuzzy_value][derror_fuzzy_value];
        dKi = rule_dki[error_fuzzy_value][derror_fuzzy_value];
        dKd = rule_dkd[error_fuzzy_value][derror_fuzzy_value];
        Kp += dKp;
        Ki += dKi;
        Kd += dKd;
        dPk = Kp*derror + Ki*error + Kd*(derror - lastderror);
        Pk += dPk;
        if (Pk > OUTMAX)
                Pk = OUTMAX;
        return Pk;
}


作者: huang91    时间: 2014-1-20 18:18
理解了自己写,看别人程序神马的最讨厌了
作者: 慎独    时间: 2014-1-20 18:20
huang91 发表于 2014-1-20 18:18
理解了自己写,看别人程序神马的最讨厌了

这是我自己写的

作者: 晟昱阳光    时间: 2014-1-21 19:44
你没理解版主的意思。。。




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2