智能车制作

标题: 官方的方案中角度控制极性问题 [打印本页]

作者: Tぬ_mi-C-Korey    时间: 2013-3-29 13:50
标题: 官方的方案中角度控制极性问题
void AngleControl(void) {
     float fValue;
     fValue=(CAR_ANGLE_SET-g_fCarAngle)*ANGLE_CONTROL_P+
            (CAR_ANGLE_SPEED_SET-g_fGyroscopeAngleSpeed)*ANGLE_CONTROL_D;      
     if(fValue>ANGLE_CONTROL_OUT_MAX)
         fValue=ANGLE_CONTROL_OUT_MAX;
     else if(fValue<ANGLE_CONTROL_OUT_MIN)
         fValue=ANGLE_CONTROL_OUT_MIN;
    g_fAngleControlOut = fValue;
}

在这个程序中,我的小车陀螺仪和加速度是用的一个运放的方案,融合过后的角度和加速度方向相反,那么fValue=(CAR_ANGLE_SET-g_fCarAngle)*ANGLE_CONTROL_P+(CAR_ANGLE_SPEED_SET-g_fGyroscopeAngleSpeed)*ANGLE_CONTROL_D;       这里该取加号还是减号啊。我试过使用减号时平稳些,但是会像一边慢慢偏过去,感觉就像零点偏向一边了一样,使用加号时也会有这样的现象,我测过陀螺仪等的输出,并没有偏移啊。问什么啊?各位大神!!



作者: lead_your_life    时间: 2013-3-29 14:50
同求
作者: jianpeng    时间: 2013-5-9 15:52
哥们   解决没???   我的PD控制和P控制差别不大。而且感觉对它的理解牵涉到微分的作用弄清楚了对以后PD控制D的参数的设定有很大帮助。    我们现在调方向控制是又出现这种情况   速度一加大就很难控制,感觉像是PD参数不敏感了
交流下呗    关于PID的理解

作者: lyb    时间: 2013-5-9 16:26
相反应该是减吧,慢慢向一边偏是因为陀螺仪有温漂




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