第五章 软件系统设计
图5-4 倒立摆受力分析
假设负反馈控制是车F?mgsin??macos?,当?很小时F?mg??mk1?,
轮加速度与偏角θ成正比,比例为k1。如果比例k1>g,那么回复力的方向便于位移方向相反了,这样就可以产生回复力,来保持车模的直立。当然回复力越大,对于保持直立越好,但是太大也会导致系统振荡,当系统发生振荡时,可以加入一定的阻尼力来消除振荡,这就可以通过车模的角速度分量来控制车模平衡。 5.1.2 小车直立控制器的设计与调试
根据所学的知识以及通过对直立系统的进行分析,我们最终采用了现在工业上用得比较多的PID控制器,PID控制器的实现比较简单,而且效果比较好。要想车模直立,必须控制车模的倾角稳定在平衡位置,在直立控制这部分,对基于平衡位置的角度偏差值进行控制,角速度为角度的微分值,属于微分量,所以最终我们采用PD控制。
为了准确地进行控制,关键的部分在于车模的角度和角速度的精确测量。比赛规定了我们用基于微机械MEMS原理的陀螺仪和加速度计。这两种传感器各有各的特点,陀螺仪的特点是动态特性好,能比较精确的测得转动的角速度,但是静态特性不好,有温漂和积分漂移存在。加速度计的特点正好与陀螺仪互补,它的特点是静态特性好,能在静态时比较精确的测得角度,但在动态时不能很好地反应车模的倾斜角度。所以我们把两者进行互补,融合后可以得到相对较准确的车模角度和角速度。
25
第八届全国大学生智能汽车邀请赛技术报告
加速度计测量重力场方向的原理是通过测量微小形变来实现,当加速度计静止放在水平台面上时,它受到台面给它的支持力而产生在Z轴即重力方向上的形变,这时Z轴的输出值最大,当它和水平台面的倾角逐渐变大时,在Z轴上的形变会渐渐变小,而在Y轴上的形变会变大,实际上Z轴和Y轴上的分量就是重力在这两个方向上的分量,用这两个量就可以测得重力方向了。
从以上分析得知这种方式非常适合静态测量角度,而一旦有水平方向上的加速度时,这就会干扰我们的测量,所以这时就得用到陀螺仪了,陀螺仪能直接很精确的得到角速度的值,它的积分就可以得到角度。两者融合就可以得到精确的角度和角速度了。
在得到车模的角度和角速度后,就可以通过PD控制器来控制车模的平衡,只需调节PID的参数就可以让车模直立起来,而且效果很好。控制器这里还有一个重要的思想是我们采用了分段控制,对车模相对平衡位置-6度到+6度的偏差进行控制,不同的偏差应用不同的PD控制参数,融合后控制的框图如下:其中加速度计所占的比重很小,也是为了消除它带来的噪声的影响。
图5-5直立控制的算法框图
直立控制的调试首先是调节角度和角速度计算公式前面的系数,车模在小角度范围内晃动时,使加速度计采样值转换为对应的角度,使陀螺仪采样值得到对应的角速度,其次调节由加速度计测得的角度所占的比重Tg,即加速度计的补偿力度,PD控制中的比例系数K1,微分系数K2。通过实验分析,加速度计的补偿力度可以很小,陀螺仪的积分误差也不会太大。若补偿力度太大反而会使系统振荡,因为加速度计的噪声是很大的。对于比例和微分这两个参数,先调节比例参数,可以逐渐加大K1,直到系统出现大幅度振荡,这时再增加微分
26
第五章 软件系统设计
参数K2,因为微分参数是起阻尼作用的,它可以在一定程度上消除由于比例系数较大而引起的振荡,但是微分系数太大会使系统出现高频振荡,所以适中即可。
5.2速度控制设计
5.2.1速度控制理论
速度控制部分是由光电编码器把轮子的速度反馈回来,然后通过负反馈机制做一个PID控制器就可以控制速度,但是在直立小车系统里的速度控制就不是那么简单了,它是一个正反馈的机制。
当需要车模加速时,并不是加大给电机的电压让轮子加速,速度控制反而是通过让电机减速,这样车模就会往前倾,角度控制与速度控制如此会达到一个平衡,这时车模会持续向前加速,因为车模往前有一个倾角就会有往前倒的角加速度,为了保持角度轮子也必须有一个向前的加速度,这样车模就可实现加速了。要实现减速则要让车模向后仰就可以了。
图5.6 速度控制的框图
27
第八届全国大学生智能汽车邀请赛技术报告
5.2.2 速度控制器设计
速度控制器选用PID控制器,车模的速度用左右轮子速度的平均值来表示,因为转向时左右两个轮子速度不同,如果单轮测速测到的速度不准确,由于速度控制会对直立控制产生干扰,通过理论分析得出,角度控制是让车不倒而速度控制是让车倒,为了车模稳定高速的运行,把速度控制的周期设定为25ms,直立控制周期为2ms,以此来保证直立控制不受到直立控制的影响。
速度控制器的调试主要是PID三个参数,参数的调试主要借助MATLAB和蓝牙两个调试工具完成。在速度控制中,车模速度要从零加速到设定的速度值,如果直接把速度设定值减去零作为偏差进行PID控制,会使车模很不稳定,所以我们采用了分阶段设定速度设定值,使设定值呈阶梯状稳定上升,这样速度偏差值较小,速度控制比较稳定。
在速度控制参数的调试上,我们花费了很多时间,主要是控制容易出现较大的超调,当第一次达到设定值时,紧接着后面会出现较大的超调,我们把达到设定值作为分界点,前后使用不同的控制参数,后来达到了比较好的效果,减小了超调量。
5.3方向控制设计
小车采用采用了两个TSL1401CL系列线阵CCD,方向控制思想可以参考摄像头组的循迹思想。
5.3.1 CCD的采样
TSL1401CL线阵CCD包含128个光电二极管的线性阵列。与面阵CCD相比,线性CCD最明显的特点就是其只能采集一行的可视像素,并且输出的是模拟量,所以需要进行AD采样。
28
第五章 软件系统设计
它的时序波形与操作波形如下如所示:
图5-7 CCD时序波形
图5-8 CCD操作波形
128个像素的采集与输出用到了SI和CLK信号,在这128个像素之外,还有一个开关逻辑控制和移位寄存器电路。SI通过该电路,控制每一个像素的积分和复位操作;CLK通过该电路控制每一个像素电压的依次输出。
在软件中,我们需要按照上图所述的CCD时序对CCD进行曝光与采集的控制。图中,第19个CLK到下一个SI开始的这段时间,就是CCD的积分时间,及曝光时间,之前的18个CLK的时间为积分器的复位时间。在每一个SI信号之后采集到的像素均是这个SI信号之前曝光得到的图像。具体的方法是:在SI持
29