初学四旋翼之定高

本项目使用US-100超声波模块测高,与飞控的通讯方式为UART。

       硬件连接应注意:通常飞控的发送管脚连超声波的接收管脚,飞控的接收管脚连超声波的发送管脚(即tx—rx;rx—tx);但有时为了方便连接,开发者在飞控板上直接标注管脚的连接示意(即tx—tx;rx-rx)。

(一)   首先,为什么要做PID?

1.      由于外界原因四旋翼的高度有时不稳定;

2.      有时需要让四旋翼高度稳定在目标值;

3.      高度控制系统是闭环,才能满足整个系统的稳定要求。

(二)PID思路

1.      计算高度误差

2.      累计误差(用于积分),累计误差需要限幅(误差无限累计后会造成溢出,导致积分环节出错。比如有符号数溢出,输出突变)

3.      计算pid  alt.output =alt.p*alt.error+alt.d*(alt.error-alt.error_old)+alt.i*alt.error_sum

4.      输出限幅(防止输出超过pwm的调节范围)

5.      保存当前误差

alt.error_old = alt.error

(三)代码

    /*计算高度误差*/
    alt.error = alt.target-us100_alt;
    
 

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值