四轴项目总结之三--pid

本篇主要介绍pid基本原理、实现和参数调试。其中主要有这几个部分的pid要进行实现:姿态的pid实现自稳. 高度pid实现定高. 循迹pid实现寻黑线而行。
一、pid的基本原理
参考:
【1】http://blog.csdn.net/nemol1990/article/details/45131603
【2】http://blog.csdn.net/super_mice/article/details/38436723
(注:将时间常数一并加入Kp,Kd,Ki中了)
1. 比例(P)控制规律:具有P控制的系统,其稳态误差可通过P控制器的增益Kp来调整:Kp越大,稳态误差越小;反之,稳态误差越大。但是Kp越大,其系统的稳定性会降低。m(t) = Kp*e(t);
由上式可知,控制器的输出m(t)与输入误差信号e(t)成比例关系,偏差减小的速度取决于比例系数Kp:Kp越大,偏差减小的越快,但是很容易引起振荡(尤其是在前向通道中存在较大的时滞环节时);Kp减小,发生振荡的可能性小,但是调节速度变慢。单纯的P控制无法消除稳态误差,所以必须要引入积分I控制。
2. 积分(I)控制规律:由于采用了积分环节,若当前误差e(t)为0,则其输出信号m(t)有可能是一个不为0的常量。需要注意的是,引入积分环节,可以提到系统型别,使得系统可以跟踪更高阶次的输入信号,以消除稳态误差。
m(t) = Ki * | e(t)*d(t) .
3. 微分(D)控制规律:可以反应输入信号的变化趋势,具有某种预见性,可为系统引进一个有效的早期修正信号,以增加系统的阻尼程度,而从提高系统的稳定性。(tao为微分时间常数)
m(t) = Kd*d[e(t)]/dt;
4.P控制对系统性能的影响:
开环增益越大,稳态误差减小(无法消除,属于有差调节)
过渡时间缩短
稳定程度变差
5.I控制对系统性能的影响:
消除系统稳态误差(能够消除静态误差,属于无差调节)
稳定程度变差
6.D控制对系统性能的影响:
减小超调量
减小调节时间(与P控制相比较而言)
增强系统稳定性
增加系统阻尼程度

二、不同部分的pid实现
参考:
http://forum.eepw.com.cn/thread/268670/1
1、姿态部分PID
采用串级PID,外环是角度环,内环是角速度环。
角度环通过角度误差pid计算,得到角速度的期望值,送到角速度环;角速度环再做一次pid得到电机输出。
这样做的目的是,通过两级pid串联,增大了四轴的阻尼(角度误差(角速度)阻尼、角速度误差(角加速度)阻尼)。参数调节好,四轴在飞行跟随手感会很好,机动性强,指哪打哪,也能很好的做到悬停。

    #define angle_max           10.0f     
    #define angle_integral_max  1000.0f   
    /******************************************************* 
    函数原型:   void Control_Angle(struct _out_angle *angle,struct _Rc *rc) 
    功    能: PID控制器(外环) 
    *******************************************************/  
    void Control_Angle(struct _out_angle *angle,struct _Rc *rc)  
    {  
        static struct _out_angle control_angle;  
        static struct _out_angle last_angle;  
    //////////////////////////////////////////////////////////////////  
    //          以下为角度环  
    //////////////////////////////////////////////////////////////////  
        if(rc->ROLL>1490 && rc->ROLL<1510)    
            rc->ROLL=1500;  
        if(rc->PITCH>1490 && rc->PITCH<1510)      
            rc->PITCH=1500;  
    ////////////////////////////////////////////////////////////
  • 5
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值