智能车控制算法的研究与应用外文翻译资料

 2022-12-02 19:38:47

英语原文共 10 页,剩余内容已隐藏,支付完成后下载完整资料


英文翻译

题目 智能车控制算法的研究与应用

智能车控制算法的研究与应用

聂章龙

常州信息职业技术学院,江苏常州 213164

ZhanglongNie@126.com

摘要:自主设计的智能车的速度和方向控制是智能车控制系统的核心。为了在不同道路上快速、稳定、可靠地运行,系统采用光电传感器阵列采集离散道路信息,在驱动电机和舵机上采用数字PID算法和间接PID算法。因此,该系统避免了智能车在方向和速度上的突然变化,消除了过度控制和振荡,并且获得了近乎连续的控制效果。研究表明,该控制算法在黑白(或大色差)赛道上具有良好的自跟踪效果。

关键词:智能车,跟踪算法,光电传感器,PID算法

1、引言

飞思卡尔智能汽车大赛是由飞思卡尔公司和清华大学联合举办的全国性科技类大赛。组委会将会提供标准的汽车模型,直流电机和充电电池,参赛队伍必须自主设计智能车以识别特定的赛道,最终以谁最快完成一圈赛道的运行以及提供更好的技术报告为标准来确定优胜者。参赛队伍需要学习和使用Codewarrior IDE并懂得在线开发方法,设计用于自动识别赛道的方案、电机驱动电路、速度传感电路、转向伺服电机驱动模型并对MC68S912DG128微控制器进行软件编程。该项竞赛涉及控制、模式识别、传感器技术、电子、计算机、机械等专业知识领域,学生们通过实践动手和知识整合进行锻炼,因此该竞赛不仅有助于学生提高自主创新能力,同时也提升了相关学科的学术水平。

2、核心控制算法设计

智能车控制系统是一种典型的闭环系统,控制系统主要实现对前轮的方向控制和后轮的速度控制。因此,MCU需要接收路径识别电路的信号、速度传感器信号并采用路径搜索算法得到路径,然后控制转向伺服电机和直流驱动电机。智能车的控制策略可分为速度优先和稳定优先,即前者的控制目标是使小车的速度尽可能快,后者更侧重于小车运行时的稳定性。总之,设计目标不同,控制方法将是不同的,并且控制设计的种类也将是是各种各样的[1]

智能车路径跟踪算法是智能汽车设计的关键部分,智能车的主要设计工作都围绕其进行。

路径跟踪方法:使用7个传感器来识别边界线,每个传感器都是线性次序和2厘米间距摆放。其中,传感器的白色反射率被设置为最大值,并且黑色反射率被设置为最小值。 四个指标(0,1,2,3)的值均介于最大值和最小值之间,智能汽车的位置基本上由各种指标的组合来确定。

2.1速度控制算法设计

2.1.1 速度采集设计

闭环控制的关键是获取控制对象的当前值,所以这里采用一种方法来测量后轮的实际速度。测速方式包括两种类型:光电编码器和霍尔传感器。 高精度是光电编码器的优点,但其安装不便,并且对环境的要求比较高。 霍尔传感器的优点是安装简单,测试精度高,缺点是测量速度与实际速度之间存在一定的延迟。其中,本设计采用后者。在本设计中,因为小车后轮的周长为17cm,将六个磁钢加在后轮上,车轮转动一圈可产生六个脉冲,所以一个输入捕捉中断可产生约2.83cm, 汽车的速度由两个输入脉冲的上升沿的时间间隔计算[2]

但是,捕获的实现与上述原理之间存在差异,因为单片机的总线频率为32M,定时器频率因子高达127,最大定时器溢出时间如下所示:

t = 65535 / ((32 * 1000000) / 128) = 262ms (1)

输入捕捉时间间隔可以分为3种类型。首先,两个输入捕捉在相同的定时器周期内产生,即两个输入捕捉之间不会发生溢出中断。所以当前速度值是第二个速度值和第一个速度值之间的差值。其次,可以在两个输入捕捉之间产生一个定时器溢出中断,而第二个值小于第一次,所以通过将两个值之间的差值加上前一个周期的剩余值来获得当前速度值。第三,可以在两个输入捕捉中产生更多的定时器溢出中断,但是这种情况比较困难,因为可能存在混淆。 在实践中,当溢出中断发生时,全局变量被计为1,我们可以知道全局变量值发生了多少输入捕捉中断,因此可以来获取实际速度。速度计算公式如下所示:

s = 2.83 / ((262/65535) * T) = 2.83 / (0.004 * T) = 707.5 / T (2)

其中,T是两次输入捕捉之间的脉冲数。

测得实际速度仅仅只是第一步,而速度控制则更为重要,理想的实际速度应该是目标速度附近的小范围内的波动。 我们采用PID算法控制小车的速度,下面介绍PID算法的设计。

2.1.2 PID算法设计

PID控制器中的P是比例因子,I是积分因子,D是微分因子。 控制器由三个因子的线性组合形成。 因为PID控制器操作简单,调整参数容易,不需要精确的数学模型,所以它应用于工业的各个领域。 它首先应用于模拟控制系统中,传统的模拟PID控制器的功能是通过硬件平台来实现的。随着计算机的出现,它被转移到计算机控制系统中,使用软件代替实现原来的PID函数,所以称为数字PID控制器,这样的一套算法称为PID算法[3]

在模拟控制系统中,控制器的通常采用的控制规律是PID控制。 为了说明控制器的工作原理,我们看一个图1所示的例子。

图1 小功率直流电机调速系统

其中,n0(t)为给定速度,n(t)为实际速度,它们的差值e(t)=n0(t)-n(t),误差信号e(t)通过PID控制器调节输出电压控制信号u(t),u(t)通过电源放大可驱动直流电机改变小车速度。

图2 模拟PID控制系统原理图

经典模拟PID控制系统的原理如图2所示。该系统由模拟PID控制器和被控对象组成。 其中,r(t)是系统的给定值,y(t)是系统的实际输出值,e(t)是它们之间的差值,即:

e(t)=r(t)-y(t) (3)

其中,e(t)是PID控制器的输入,u(t)是PID控制器的输出,同时也是被控对象的输入。所以模拟PID控制器的控制规律是:

(4)

其中,为比例常数,为积分常数,为微分常数,为控制常量。

计算机控制作为采集控制,只能根据采集到的偏差值计算出控制量,不能连续输出控制量来实现连续控制,而模拟控制则可以实现[4]。 因此,式(4)中的积分项和微分项并不能直接使用,必须对其离散化。 离散处理方法为:T为采样周期,k为采样序号,离散采样时间为t,以和的形式代替积分,增量形式代替微分,形成下式:

(5)

其中,k为采样序列号,k=0,1,2,hellip;hellip;;为单片机在第k次信号采集后的输出值,为第k次信号采集后的输入偏差值,为第k-1次信号采集后的输入偏差值。

根据公式(5),增量式数字PID算法如下:

(6)

该系统使用增量式数字PID算法来实现速度控制。 也就是说,根据采集的速度和目标速度,系统可以不断调整输出以接近目标速度。于是我们在设计的速度控制程序中使用了如下公式:

get = ((es1-es0) (int) (es1-aim_speed)) * K (7)

其中,es1是当前采集到的速度,es0是上次采集到的速度,aim_speed是期望速度,K是一个常系数。

速度控制输出设定为60级,前30级为前进档,后30级为倒档。级数越高意味着速度越快。 该方法可以通过实际测试以更好地控制速度,测试速度值往往位于实际速度值附近,所以一般来说,波动范围可以控制在500个刻度以内。

2.2跟踪算法设计

2.2.1 跟踪算法策略和控制过程

在比赛时,赛道以白色作为背景,在赛道中央存在一条黑色引导线。显然,汽车可以自动跟随黑色引导线前进,因此我们必须有效识别黑白灰度级信息。为了更好地识别黑白,系统的跟踪工具选择能够灵敏地区分黑白颜色的灰度传感器。根据不同的黑白等级,灰度传感器的输出电压值会有所不同,输出电压值可以通过MCU的A / D转换模块转换成相应的数字值。 A / D转换模块使用时应注意以下几点:首先,A / D的采样时间应符合实时系统的要求,其次,黑白的采样精度要高一些,因为这样的系统可以提供准确的数据以满足软件处理要求。软件方面可以通过使用特定的算法来区分小车的位置是位于赛道左侧、右侧还是偏离赛道。这里给出了小车的过程控制算法。

根据赛道引导线的轨迹,小车前部的7个灰度传感器的黑白采集值通过7个通道的10位A / D转换模块转换成相应的数字值,控制软件可以判断黑色引导线是在哪个传感器下,控制系统确定小车加速或减速,左转或右转。相应的控制算法流程如图3所示。

图3 控制算法流程图

该控制算法的思想是:首先确定中间传感器是否位于黑色引导线上,如果位于中间,则汽车快速前进; 否则,判断当前的小车是位于赛道的左侧或者右侧,还是偏离赛道,然后再进一步处理。

如果当前小车左侧传感器位于黑色引导线上,则该过程如图4所示。首先,确定左侧三个传感器中的某个传感器是否位于黑色引导线上,如果左1的传感器位于黑色引导线上,则以15挡的速度向左转8度;如果左2的传感器位于黑色引导线上,则以12挡的速度向左转动25度;如果左3的传感器位于黑色引导线上 ,则用10档的速度向左转动40度,小车左侧传感器位于黑色引导线上的情况处理结束。如果是右侧传感器,其处理方法与左侧非常相似。

图4 左处理流程图

如果当前所有传感器均位于白色背景之上,则处理过程如图5所示。如果当前所有传感器均位于白色背景之上,则说明当前小车已经完全偏离黑色引导线,所以需要根据之前小车的状态来确定小车的下一处理过程。如果之前小车左侧的传感器更接近黑色引导线,则以10挡的速度向左转42度;如果之前小车右侧的传感器更接近黑色引导线,则以10挡的速度向右转42度。

图5 偏离赛道处理流程图

2.2.2改进的跟踪算法策略

智能小车模型的设计会在路径检测和跟踪策略设计上遇到困难,根据小车的生产过程及其自身特点,以下是提高小车运行速度和运行稳定性的研究。

安装在小车前方的10个红外传感器由间隔20mm的线性光电传感器阵列组成,这些传感器可以垂直检测赛道信息,并获取赛道的灰度值,其值为0-1023,值越大意味着光线越强。

在实际测试中,红外传感器是由手工焊接而成的,即使黑色或白色的灰度等级相同,但不同传感器的采样值也会不同。 如图6所示,这些值由中值滤波和5次平均滤波获得。 在该图中,纯白色,纯黑色和中间色分别用相应的红色,黄色和蓝色线标记,不难发现,对于相同灰度级别的黑色或白色,不同传感器的采样值是不同的,但对于相同的传感器 ,不同灰度级别的黑色和白色采样值有明显的差异,不同传感器的相同灰度采样值也有其相关性。

图6 十个传感器的数据比较1

图7 十个传感器的数据比较2

纯白色采样值与中间色采样值之间的差异以及中间色采样值与纯黑色采样值之间的差异已经在图7中的图片上标出,红线表示纯白色和中间色之间的采样值,黄线是中间色和纯黑色之间的采样值,很显然这两个差值是线性的。因此,我们可以将10个传感器的采样值线性地映射到相同地向量空间,其映射值的范围是0-1000。显然,经过映射之后,10个传感器的数据将会十分类似,然后将有许多可用的数学方法来找到传感器线阵列中心和赛道中心的偏差。在这里,首先,系统通过筛选方法选择靠近黑色引导线的5个传感器,然后进行二次曲线拟合,通过寻找最小点的横坐标值来确定小车的偏移。标准化的实时采样数据需要进行亮度补偿,亮度偏差主要是由于赛道周围光线不均匀的影响,赛道上可能存在强烈的侧光。因此,为了简化处理,我们假设这种效应是线性的,在拟合数据和筛选之前,系统具有线性亮度补偿,以下是获得可靠偏差的数学公式的推导[5]

假设所有传感器的实时采样数据为:x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,测试跟踪前需要对参数进行校准,这些参数需要通过大量经过大量的数据分析与计算,在这里可以使用聚类分析方法,在对大量的样本数据进行手工聚类分析之后,我们发现最多的两个聚类是传感器所采的对应于纯白色和纯黑色的采样值。因此,我们可以在小车运行前实时提取出赛场纯白色和纯黑色的参考值,这两种参考值称为HI和LI,其中I是传感器的编号。根据上述分析我

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[21716],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。