摘 要: 该智能小车设计采用双轮差速的机械结构,利用红外反射式光电传感器采集地面引导黑线信息。针对车体机械结构和巡线算法的设计与改进做出了详细的分析与论证。分析了车体的前瞻和车轮间距对转弯速度的影响,其控制算法采用加权扫描探寻黑线信息并辅以PID算法反馈控制小车的行进方向,使小车按照既定的路线前进。
关键词: 智能小车;机械结构;加权扫描;PID
0 引言
智能机器人技术涉及电子、机械、传感器、计算机、自动化、信息处理等多门学科[1]。智能小车在仓库智能管理、高压线路除冰等领域有着广阔的应用前景[2]。机械结构作为小车的基础,在行走的稳定度、灵敏度等指标上起到了举足轻重的作用。本文将机械结构、加权扫描算法与PID算法相结合,使小车能够更快速、更稳定地按照既定的路线行驶,并且根据路况信息实时控制行进的速度与方向。
1 车体结构设计
1.1 车体结构简介
车体基本结构如图1所示。小车前端为8路单排红外对管巡线电路板,可以利用它获取地面引导黑线的信息;中间为一对直流减速电机和车轮,这是整个小车的动力来源,可以通过控制这两个车轮的转动方向和速度控制小车的前进、后退、转向等;车尾为两个可自由转动的万向轮,它们的主要作用是支撑小车,使车体稳定,由于万向轮拥有多个自由度[3],它们不会对小车的运动造成明显影响。
1.2 影响小车行进的因素
在设计小车基本结构时,很多人往往只注重功能的实现和外型的美观,其实车体各部分结构分布对小车运行效果的影响是相当大的。如果车体各部分布局进入误区,即使后面使用再好的控制方案也很难取得理想的效果;反之,如果车体各部分布局合理,在软件调试的过程中将达到事半功倍的效果。
1.2.1 前瞻D1
如图1所示,红外巡线电路板与动力车轮的轮轴之间的距离为D1,这个距离通常被称为前瞻,它表示小车提前感知引导黑线的距离长度。在控制小车时控制电路和执行设备都需要相应的反应处理时间,适当的前瞻能使CPU提前获取导航黑线信息并及时地做出运动反应,从而达到减小甚至消除反应延迟的作用。
假设车体前瞻D1,电机最大转速wmax,车轮直径d。小车全速前进时,前瞻留给车体的反应时间T为:
T=D1+[wmax×(d÷2)](1)
由式(1)可见,选择一个合适的前瞻D1可以为小车争取一定的反应时间,使小车循迹效果更好。但是D1值也不能过大,如果D1值过大,小车在转弯时,由于单片机检测到路况信息变化过早,小车可能提前转弯从而影响小车的正确行使。
1.2.2 车轮间距D2
在设计车体结构时,两个驱动车轮的间距也是一个必须考虑的参数,它将关系到小车转弯角度的大小。实验小车采用差速转弯方式实现小车转弯功能,其具体转动的角度可由以下算法得到。
小车差速转弯模型如图2所示。小车的左轮角速度为w1,右轮角速度为w2,且w1
当Δt→0时,有:
由式(8)可以看出,当w1=0时,θ达到最大,即:
很明显由式(8)可以得出,在车轮角速度w1、w2和车轮直径d确定的情况下,小车转弯角度大小由车轮间距D2唯一确定。所以在设计车体时,要使小车能够达到较好的工作效果,车轮间距是必须考虑的参量。
2 控制算法设计
2.1 巡线方式
小车采用8路红外对管(ST188反射式红外对管)采集路况信息。8路红外对管采用最常用的一字型布局,此布局方式简单,可以很容易地检测到路面的信息,其布局如图3所示。
小车通过设定传感器阈值来分辨黑、白。设Ci=0和1分别代表第i个红外对管检测到白色和黑色。单片机通过各个传感器反馈回来的信息判断小车的具体位置,并通过PID算法及时调整小车的行进方向,避免小车偏离黑线过多,超出传感器检测的范围而脱离轨道。具体巡线算法如下:
将8个传感器依次加权Ai(i=1,2…8),表达式如下:
各权值大小可根据控制算法和调试效果适当修改,不一定要为等差分布。设定小车在既定的正确路线时的目标值goal=0,小车行驶的当前值为now,小车当前行驶的位置与既定目标的偏移量为offset。则小车的当前值由以下公式可以算出:
偏移量offset为:
offset=now-goal=now(12)
例如当3号和4号传感器检测到黑线时,由式(11)、(12)可知:
offset=now=3
将计算出来的偏移量送入PID算法,反馈控制小车的行进方向、速度,从而使小车顺利地沿着黑线行走。
采用加权扫描法增强了巡线小车抗环境干扰的能力。在采用传统扫描判断方式时,需要将实际过程中的各种情况都罗列出来才能保证小车持续平稳运行。但是采用这种方式通过简短的程序就可以读出所有状态;同时,采用本方法获取引导黑线信息时可以明显减小干扰信号的影响,从而增强小车的抗干扰能力。此外,这种方式巡线可以在一定程度上忽略导航黑线的宽度对小车巡线的影响,使巡线方式更加可靠。
2.2 PID算法简介
采用加权扫描法虽然可以增强小车的抗干扰能力,但是如果控制系统中没有反馈系统时,小车将不知道当前行进的具体情况。为此,提出了在加权扫描的基础上辅以PID算法,根据传感器反馈给单片机的信息及时地做出相应的处理。PID是控制中最经典的一种控制算法,又称为比例-积分-微分控制。PID控制是一个负反馈闭环控制系统,也称为误差调节器。其系统框图如图4所示。
数字式PID控制算法可以分为位置式PID和增量式PID控制算法[4]。采用增量式算法时,计算机输出的控制量Δuk对应的是本次执行机构位置的增量,而不是对应执行机构的实际位置,因此要求执行机构必须具有对控制量增量的累积功能,才能完成对被控对象的控制操作,所以操作相对复杂。考虑到小车实际情况以及操作的简便性,本文采用位置式PID控制算法,其算法如下:
其中:k为采样序号,k=0,1,2,…;uk为第k次采样时刻的计算机输出;ek为第k次采样时刻输入的偏差值;ek-1为第k-1次采样时刻输入的偏差;Ti为控制器的积分时间,也称积分系数;Td为控制器的微分时间,也称微分系数;Kp为控制器的比例系数;Ki为积分系数,Ki=Kp×T/Ti;Kd为微分系数,Kd=Kp×Td/T。
2.3 PID算法在循线小车系统中的应用
本文采用PWM脉宽调制方式控制电机转速,PID算法实现公式如下:
其中,PWML为控制左电机的PWM波脉宽,PWMR为控制右电机的PWM波脉宽,Xnow为小车当前偏移量,Xold为小车上一读取周期偏移量,X0为目标值。P、I、D依次为调节的比例、积分、微分系数。按上述公式可以同时调节左右两个电机的转速,并根据实际调试进行微调,可以使小车平稳且快速地按照既定的路线行驶。
3 结束语
本文完成了对智能小车在机械结构以及巡线算法两方面的优化设计。提出了合适的前瞻以及车轮间距,能提高小车的巡线速度以及稳定性,并建立数学模型对其进行了理论推导,证明其有效性。提出了加权扫描算法与PID算法相结合的方式完成小车的巡线功能。经实验证明利用以上机械结构和算法能使小车平稳并迅速地按照既定路线行驶。
参考文献
[1] 孙丽飞,王法能,王宽仁,等.基于模糊PID控制的智能巡线机器人的设计与研究[J].仪器仪表用户,2008,15(6):29-30.
[2] 张锴,李世光,朱晓莉,等.基于STM32的智能巡线小车[J].电子测量技术,2012,35(2):105-107.
[3] 余主正,张力.基于S3C2440+ATmega16的双核探路小车设计[J].制造业自动化,2012,34(8):59-61.
[4] 刘彬,谭建平,黄长征.一种改进PID控制算法的研究与应用[J].微计算机信息,2007,23(16):15-17.