2

我正在使用加速度计和陀螺仪构建四轴飞行器。表格如下所示:

图像

我的音高由前后电机控制。我的滚动由左右电机控制。

我使用了 PID和伺服库。

这是我的音高稳定性代码:

double Kp=3.15, Ki=4.3, Kd=0.6;
int throttle = 1000;

PID PitchPID(&PitchInput, &PitchOutput, &PitchSetpoint, Kp, Ki, Kd, DIRECT);

 PitchPID.SetMode(AUTOMATIC);

  backESC.attach(3);
  frontESC.attach(5);

 // arme the motors
  backESC.writeMicroseconds(2000);
  frontESC.writeMicroseconds(2000);
  delay(5000);

  backESC.writeMicroseconds(700);
  frontESC.writeMicroseconds(700);
  delay(2000);

void loop{
 // i have the angle and pitch
  int xAngle = GetX();
  int Pitch = GetPitch();



PitchInput = (Pitch) ;
PitchSetpoint = 0;
PitchPID.SetOutputLimits(-150,150);
PitchPID.Compute();


backPower =  PitchOutput;

frontPower = (PitchOutput*-1);


frontESC.writeMicroseconds(backPower + throttle);
  backESC.writeMicroseconds(frontPower + throttle);
}

如您所见,我还没有真正的算法来稳定四边形。我将不胜感激。我已经尝试了一些样品。它并不顺利。即使不使用我的PID库的帮助也将不胜感激。

4

0 回答 0