经典PID在智能自寻迹小车中的应用分析

PID调速在对于初学者在学习自动化专业知识时是一个很重要的知识,也是很基础的工程常识。对于大学本科阶段,飞思卡尔杯(原恩智浦杯)智能汽车竞赛是自动化专业含金量相当高的一项赛事。下面楼主将详细讲解在自寻迹小车中PID是如何发挥作用的。

大家都知道自寻迹小车是通过偏差实现对系统的控制的,传统光电组用光电对管实现对当前小车与中线偏差量的采集,电磁组采用LC谐振电路通过检测磁场强度间接测量当前小车与中线的偏差,摄像头组通过摄像头检测赛道边缘补中线的方式测量当前小车与中线的偏差。偏差采集回来之后,经过滤波,会计算出一个绝对的偏差值,这个值与当前状态舵机需要响应的打角值并不是1比1的关系,因此中间需要一个参数将偏差值与打角值映射起来,于是比例增益产生了,也就是所谓的P,其实可以看出P就是一个倍数。多大的倍数合适当前的系统是后面调试时需要解决的工作。

那么这样设计算法之后,理论上小车已经能够满足设计要求了。的确是的,但是只能满足设计要求不高时的需求。偏差控制最显著的特点就是系统有明显的滞后效应,因为系统必须等偏差产生才能进行控制,那么一旦小车速度过快,仅仅采用P控制就不能满足系统需求,可能发生的现象就是转弯处要不转不过来,要不跑出赛道。因此我们需要对小车偏差的变化趋势进行测量,提前做出响应,才能让小车体现良好的性能。在数学上,函数的变化趋势一般用函数的导数来体现,那么在算法设计中,我们一般采用连续两次或者最近某两次采样的偏差值的差值来近似为偏差值变化的导数。从数学上,当x值(本系统实际体现为采样间隔时间)趋近与0时,y值(本系统实际体现为偏差值)的差值即可近似为函数导数。于是微分系数D就这样引用到了系统中,实现了对偏差值变化的提前控制,提高系统响应速度。

但是有时候,PD的控制也不能满足小车在较快速度下顺利通过弯道的需求,于是差速出现了,弯道里面的电机转速慢一点,外面的转速快一点,自然能够让小车快速通过弯道。具体两个电机差速应该相差多少也是一种PID调节控制,思路与舵机相同。

在有些系统中,会要求小车必须与咬紧参考线。于是系统对每次采样的偏差值进行累计,(由于采样间隔很小,数学上体现为函数的积分),将累计偏差值加入到系统的控制之中,以让系统更好的咬合中线,以消除余差(也叫静差)。但是实际在比赛中的小车赛道比小车车身宽,存在一定的裕度,允许小车与中线产生一定的偏差,同时如果要求紧密咬合中线,也会让系统更容易在直道上出现抖动,此时(对于舵机的控制)存在一定的裕度,然而更加有利于系统的稳定。

因此实际控制中,对于舵机控制一般用PD,电机控制依据具体类型、以及实际需求采用符合当前需求的控制方式。

你可能感兴趣的:(嵌入式—小车PID)