微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 光电式自动寻迹车的设计

光电式自动寻迹车的设计

时间:04-16 来源:互联网 点击:

当前路径和车速信息,控制舵机和直流驱动电机动作,从而调整智能车的行驶方向和速度。控制算法相当于人的思维,是其最核心的部分,负责按预定的流程处理传感器所采集的数据。软件流程图如图3所示。其中,FOR循环包含了检测黑线位置,更新舵机输出等子程序,如图4所示。

图3控制主程序

图4FOR循环子程序

路径识别算法

小车自主寻迹过程中,光电传感器会受外界光线、车体抖动、交叉线、上下坡、路径黑斑等环境因素的干扰,会使传感器检测路径信息存在偏差而影响小车寻迹的稳定性。为此,我们采用连续检测滤波处理的方式消除干扰:即传感器对路径连续检测5次并将采集到的信息存于数组Line[5][8],检测到黑线存值1,否则存值0。若

,则Line[5][8]的第n列检测到黑线,Line[n]=1;否则为干扰,Line[n]=0,将数组Line[5][8]转为数组Line[8]。由于传感器间距略小于黑线线宽,Line[8]一般有16种状态:多余两个为1(检测到路径交叉线),一个或两个为1(检测到黑线),全为0(没有检测到黑线)。

如图2所示,赛车的偏距大小为e,当检测到黑线点数0<Point≤2时,如式1所示:

式1

智能车的方向控制

智能车的前进方向主要取决于赛道与赛车的偏距大小e,由图2可知,

为前轮转角;y为传感器距赛车前轴间距。则赛车的前进方向转角应为

。舵机安装在前轴中心上方,通过转向连杆带动前轮转向。由于舵机采用位置伺服电动机,其输出转角与给定的PWM脉宽成线性关系,PWM控制信号高电平的宽度决定舵机输出舵盘的角度。

由于舵机是一个大的延迟环节,不需要加控制算法。为了提高响应速度,采用直接查表法控制转角,即对应不同偏距e按比例关系设定一个舵机转向表,行驶中直接查表得到需要的转角值,尽量消除了舵机执行延迟造成的影响。当Point>2时(路径交叉线),保持原有转角值。

速度控制

智能车的速度控制比较复杂,在行驶中,不仅要求驱动车轮有合理的瞬时速度,还要求速度变化细致平滑,“出弯立刻加速,入弯立刻减速”。即赛车位于直道时设置较高的车速,保证赛车有充足的加速空间;赛车在弯道时,应该随着赛道曲率半径的不同改变车速,避免冲出赛道。车速控制一般采用PID闭环控制,输出量u(t)和偏差e(t)如式2所示:

式2

其中kp,ki,kd分别称为比例系数、积分系数、微分系数。kp的作用是对偏差做出的影响,使系统向减少偏差的方向变化。ki的作用是消除系统静差,但ki增加太大不利于减少超调、减少震荡,使系统不稳定,系统静差的消除反而减慢。kd的作用是加快系统的响应,但是对扰动的抑制能力减弱。

运用PID控制的关键是调整三个比例系数,即参数整定。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法,它主要是依据系统的数学模型,经过理论计算确定控制器参数。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

为使问题简化,根据齐格勒—尼柯尔斯经验公式,可将PID控制算法简化为关于kp的归一参数公式。所以赛车车速计算公式设计如式3所示:

Sst_speed=high_speed-e×kp

式3

式3中:Set_speed——赛车车速,high_speed——直道设定最高车速,kp——比例系数。考虑到赛场环境的不同,在单片机中预存一组实验数据kp,通过拨码开关进行选择。

结束语

本文提出了一种基于红外线光电传感器寻迹的智能车系统设计方法,系统采用MC9S12XSl28单片机做主控制器,直流电机作执行元件,对智能车进行了关键设计与分析,提出了连续检测滤波处理的消除干扰方式。通过编写程序先对所用到的模块进行初始化,并通过对相应数据寄存器或状态寄存器的读写,实现期望的功能。

完成后在中间粘贴黑色引导线的白色KT板制成的车道上对智能车进行了测试,表明智能车在直道上可以达到很高的速度和稳定性,在弯道上控制好车速,智能车也能平稳地运行。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top