注册 登录
查看: 504|回复: 2

[平衡组] 车子站是能站,但是抖动加来回震荡老是去不掉,能帮我分析分析是哪些参数没调好吗

[复制链接]
发表于 2014-3-14 00:50:35 | 显示全部楼层 |阅读模式
本帖最后由 灰太狼 于 2014-3-14 02:27 编辑

先介绍下我车子情况吧,电机驱动7971使能直接接5v,其余四个控制引脚接四路pwm,占空比给48时电机有点转,47基本不转,所以死区给的47/1000,p给的64.68左右,d给的0.583左右,通过电位器调pd,状态最佳时的pd值我也不太清楚了。
我的车子有时会突然死掉,好像程序跑飞了一样,电机突然猛地往一个方向跑,有时断开单片机的电源重启几次才正常过来,我怀疑是不是7805和asm1117不给力,单片机复位了。

将正题吧,我的车子能站起来了,但是抖得厉害,频率有点高,而且还来回震荡,范围越来越大。上视频吧,各位大神给点意见吧?帮我分析分析吧。

http://v.youku.com/v_show/id_XNjg0ODQ4NDIw.html


对了,我用的卡尔曼滤波,但是不懂,就知道改个dt,改成了采样周期5ms,谁能和我讲讲怎么调卡尔曼参数啊?
//**************************************************************************
//   Kalman滤波
//**************************************************************************

float angle, angle_dot;         //外部需要引用的变量
//-------------------------------------------------------
// 0.00015     //0.0001
const float Q_angle=0.001, Q_gyro=0.003, R_angle=0.5, dt=0.005;
//0.0001         //0.00015        //1.2
//注意:dt的取值为kalman滤波器采样时间;         //0.8
static float P[2][2] = {
    { 1, 0 },
    { 0, 1 }
};

static float Pdot[4] ={0,0,0,0};

static const char C_0 = 1;

static float q_bias, angle_err, PCt_0, PCt_1, E, K_0, K_1, t_0, t_1;
//-------------------------------------------------------
void Kalman_Filter(float angle_m,float gyro_m)          //gyro_m:gyro_measure
{
    angle+=(gyro_m-q_bias) * dt;

    Pdot[0]=Q_angle - P[0][1] - P[1][0];
    Pdot[1]=- P[1][1];
    Pdot[2]=- P[1][1];
    Pdot[3]=Q_gyro;

    P[0][0] += Pdot[0] * dt;
    P[0][1] += Pdot[1] * dt;
    P[1][0] += Pdot[2] * dt;
    P[1][1] += Pdot[3] * dt;


    angle_err = angle_m - angle;



    PCt_0 = C_0 * P[0][0];
    PCt_1 = C_0 * P[1][0];

    E = R_angle + C_0 * PCt_0;

    K_0 = PCt_0 / E;
    K_1 = PCt_1 / E;

    t_0 = PCt_0;
    t_1 = C_0 * P[0][1];

    P[0][0] -= K_0 * t_0;
    P[0][1] -= K_0 * t_1;
    P[1][0] -= K_1 * t_0;
    P[1][1] -= K_1 * t_1;


    angle   += K_0 * angle_err;
    q_bias  += K_1 * angle_err;
    angle_dot = gyro_m-q_bias;
}

我们可以看到,当车模角度小于60度时跟踪有些缓慢,同样的陀螺仪比例,当车模角度大于60度时就有些过冲了,我该相信那个啊?这些图片的陀螺仪比例和视频里面的是一样的。是不是滤波还没处理好导致直立不稳定啊?
















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

 楼主| 发表于 2014-3-14 13:04:12 | 显示全部楼层
怎么没人帮帮我啊?
回复 支持 反对

使用道具 举报

发表于 2014-4-10 14:48:46 | 显示全部楼层
用清华滤波站得挺稳的,就是速度没加速度环的时候有一点容易失控,没搞过卡尔曼滤波
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部