树莓派飞控PID调节之XJB调

     最近代码已经整理差不多,开始了漫长的调试,试图在电机转动的时候调节到平衡状态。遇到了飞机震动造成的姿态也随之起伏的问题。
     看了下前辈的说法,是飞机共振。需要减震,需要滤波,关于滤波,用的是卡尔漫滤波,目前还没什么好方法解决。而且也不太懂原理。

float pidUpdate(PidObject* pid, const float error)
{
float output;

pid->error = error;   

pid->integ += pid->error * pid->dt;

//»ý·ÖÏÞ·ù
if (pid->integ > pid->iLimit)
{
	pid->integ = pid->iLimit;
}
else if (pid->integ < -pid->iLimit)
{
	pid->integ = -pid->iLimit;
}

pid->deriv = (pid->error - pid->prevError) / pid->dt;

pid->outP = pid->kp * pid->error;
pid->outI = pid->ki * pid->integ;
pid->outD = pid->kd * pid->deriv;

output = pid->outP + pid->outI + pid->outD;

//Êä³öÏÞ·ù
if (pid->outputLimit != 0)
{
	if (output > pid->outputLimit)
		output = pid->outputLimit;
	else if (output < -
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值