arduino两轮平衡车(二)-- 原理讲解

                 

一、模型建立

 根据单摆模型,建立以下模型,如下图:

    

  忽略空气阻力的情况下,当物体离开平衡位置后,物体会受到竖直向下的重力和沿着悬挂线向上方向的拉力的合力作用,使得物体在平衡位置做往返运动。该合力又称为恢复力,如下:

                                                                           

其中,悬线与竖直方向夹角为θ,与物体运动方向夹角为 π- θ,F方向与物体运动方向相切,指向平衡位置。

        又由极限,可知,当θ较小时,有

                                                                       

        实际中,物体除了受到回复力F的作用外,还受到空气阻力F阻的作用,从而最终会静止在平衡位置。而运动中空气阻力的大小与物体运动速度大小成正比,该比例由阻尼系数k表示,而阻力方向与运动速度方向相反。此时物体在运动方向上所受合力如下:

                                                                         

      因此,对于单摆模型,其保持平衡需耀具备以下条件:

  •      受到与偏移方向相反的回复力的作用
  •      受到与物体运动方向相反的阻尼力的作用

对于两轮平衡车,可以简化为倒立摆模型,如下:


而对于倒立摆模型,其受力如下:

                                                                                                                                

如单摆模型,可知物体受到回复力为:

                                                                                                                               

但由于此时回复力方向与物体平衡位置方向相反,因此物体反而会加速离开平衡位置。

      为了让物体回到平衡位置,即保持与竖直方向平行,可以让倒立摆向与物体偏离方向相反的方向做加速运动,加速度为a。此时倒立摆受力如图:

                                                                                                             

        倒立摆将受到惯性力:

                                                                                        

       不计空气阻力时,倒立摆运动方向上所受合力为:

                                                                                       

        当偏移角较小时,有

                                                                                       

其中,取近似 

          当k1>g时,物体在运动方向上受到与回复力方向相反的力。此时,在空气阻力作用下,物体将在平衡位置往返,最终回到平衡位置。而为了让物体尽快回到平衡位置,可以通过外加阻尼力,其大小与物体偏离平衡位置的速度成正比,比例系数为k2,方向相反,则有:

                                                                                    

          因此,可以通过外力,来使小车保持平衡。而外力的来源即是通过控制小车车轮的加速度,使得小车获得相应的惯性力。其中k1会使得小车向物体倾倒的相反方向做加速运动,k1过大过小将导致小车直接偏离品平衡位置的方向而倾倒;k2使得小车能够尽快回到平衡位置,k2过大过小时,都会影响小车回到平衡位置的调节时间。

二、系统分析

第一部分从建立物理模型的角度出发,通过物理定律推导得到物理等式。
但光有理论,没有结合实际也会觉得难以下手,因此第二部分结合实践,从系统的角度出发,结合物理等式对系统的控制做进一步分析。
首先,还是从物理定律出发,得到物理等式。如图,考虑一个可移动小车上的倒立摆模型,其中杆的长度为L,不计杆的质量,杆的末端有一个质量为m的小球,θ(t)该摆偏离垂直位置的角度,g是重力加速度,s(t)是小车相对于某个参考点的位置,a(t)是小车的加速度,x(t)代表由任何扰引起的角加速度。

                                                                                        
对杆上小球受力分析,有 

                                                               
此时,Fθ(t)方向为垂直于杆,沿着倾倒方向。
根据运动学知识,有
                                                                        (12)
注意,角速度要转为线速度


反馈就是利用一个系统的输出去控制或改变系统的输入。反馈除了能提供一个误差校正的机理而减小系统对扰动以及系统数学模型误差的灵敏度以外,反馈的另一个重要特性在于使一个固有的不稳定系统稳定的能力上。考虑以上倒立摆模型,如果小车保持静止不动的话,倒立摆一定会倒下来。但通过移动小车,让小车根据倒立摆偏离竖直方向的角度来回移动,最终可也让倒立摆达到动态平衡,即与竖直方向角度为0。显然,稳定倒立摆问题也就是设计一个反馈系统。该反馈系统使小车移动以保持倒立摆成垂直状态。
                                                                       
对于连续时间LTI反馈系统的一般结构可以通过上图表示,此时系统函数为
                                                       13
而通过对式(12),假定θ(t)很小,即对于该模型,考虑该模型是在接近垂直位置的时候的动态特性,此时可以做如下近似
                                        sin⁡[ θ(t)  ]≈θ(t)  ,cos⁡[ θ(t)  ]≈1            (14)
当小车静止时,即a(t)=0。结合式(12)和(14),求拉普拉斯变换,可得系统函数为
                                                           (14)
由上式可知,有极点s=g/l 或s=-g/l ,即系统在右半平面有一个极点,意味着该系统是不稳定的。(稳定:系统的单位冲激相应绝对可和。)因此,在不进行反馈控制时,该系统为一个LTI因果不稳定系统。也就是说,在小车静止不动时,任何由x(t)所造成的微小角扰动都将导致偏离垂直方向的角度进一步增大。


为了让小车以适当的方式移动,以摆在垂直位置,设想采用比例反馈,即    a(t) = Kθ(t)   (15)
同样假定θ(t)很小,使得该系统可以近似满足LTI的特性。
                                                           (16)
观察发现,此时对于系统函数H(s),其在s平面的右半平面至少存在一个极点,因此系统依旧不稳定。考虑加入比例加微分反馈 ,此时该系统函数变为二阶函数,如下
                                                              (17)
       可得系统的两个极点 。根据奈奎斯特稳定判断依据,要使得系统稳定,则两个极点都必须位于s平面的左半平面,此时有k1>g,k2>0。

综上所述,平衡车控制核心是一个角度PD控制器,有
                                                                18

三、改进

实际上,由于结构设计或组装上的不合理,小车物理重心总与竖直方向总存在一个夹角(或者说与地面不是保持垂直关系),小车在这一倾角作用下,在水平方向上受到一重力分量而会进行加速运动,最终倾倒而无法保持平衡。因此,需要在原先角度PD控制的基础上,加入速度PI控制,控制小车的速度。至于为什么是速度PI控制?阅读资料,仍然无法完全理解,其中讲到速度计算中存在着噪声影响,如果对该速度信号做微分计算时,会放大噪声的影响。(或者讲到小车为非最小相位系统,速度调节的时间常数要选取比较大??不是很理解,如果有更好的见解,也请多多指教哈)
速度PI控制如下:
                                                                         (19)    

总而言之,小车的控制可以归结为两个PID控制,一个为角度PD控制,一个为速度PI控制,为了保证系统的实时显示,两个PID控制必须放在中断程序中执行,而角度PD控制的频率要比速度PI控制的频率高。(具体还不是很清楚??)
      
注:以上部分参考论文和部分网上博客,同时参考《信号系统》第二版(作者:奥本海姆),如有雷同或不当之处,还请指出!!

         

猜你喜欢

转载自blog.csdn.net/kachuan/article/details/79957100