|
算法早已写完,连续两个星期都没有时间去外场实际验证效果, kp ,ki ,kd 在家基本没法整定。
今天虽然有些小雨,也去了华农体育场,带了手提电脑和无线串口,直接用无线来修正单片机上的参数,大概调整了10来组,就已经很好飞了。我的控是美国手,四轴是x450,最后我的左手完全解放了,只用右手控制四轴前后左右就行了。帮我一起调整参数的朋友cn,从来没有飞过航模,开启锁定航向+超声波定高,让他飞了十来分钟下来说:太没挑战了,太无聊了。话没说完就倾盆暴雨,只好收工回家,改日再战。
经过实际外场测试,整定出PID 参数如下, 震荡已经很小了。
#define IMU_SAMPLE_RATE 1.0/16 // 16k Hz
Kalman kalman_ym(IMU_SAMPLE_RATE, 0.002 , 0.003 , 0.001 ); //油门卡尔曼
Kalman kalman_dt(IMU_SAMPLE_RATE, 0.002 , 0.003 , 0.001 ); //高度卡尔曼
int pinCSBin = 10;
int pinCSBout = 11;
//Define Variables we'll be connecting to
double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint, 2 , 0.5 , 1 , DIRECT); // 最后整定出来的kp,ki,kd
这是运行在电脑上,用无线进行调整pid参数,这样就不用重新编译和上传程序到单片机了。
绿色线是目标高度
红色线是当前高度
蓝色是经过pid运算后修正的油门值
[ 本帖最后由 auuuux2011 于 2011-5-8 00:25 编辑 ] |
|