APP下载

基于路径特征学习的智能车PID控制策略

2018-02-28凌峻

电子技术与软件工程 2018年13期

凌峻

摘要 在智能车控制系统设计中,针对传统PID控制器单一反馈控制拟合度的问题,设计基于路径特征学习的PID控制方法,机器学习路径特征、速度控制等参数,在舵机和电机调速控制算法中加以应用,改进系统控制效果。

【关键词】特征学习 PID控制器 智能车

在基于摄像头路径识别的智能车控制系统中,通过舵机和电机联合控制小车以一定速度沿特定跑道自动行驶。控制方式常用各种形式的PID控制器。为了获取最大速度,本文改进神经网络PID控制方式,对路径特征信息识别与记忆,将路径特征、速度与方向偏差等作为PID控制器的输入参数。

1 智能車硬件结构设计

控制系统以飞思卡尔公司16位单片机MK60为核心控制器,通过驱动电路控制电机的转速,编码器将电机的转速转换为PWM波,统计脉冲上升沿数作为速度,MCU处理摄像头图像,得到路径信息,由PID算法给出相应信号控制电机与舵机。

系统主要由电源管理、图像采集模块、电机及其控制器、转向舵机及其控制器等功能模块组成,其中PWM模块主要用来控制舵机和电机的运转ECT模块主要是测速和数据采集,捕捉中断并计算瞬时速度;I/O模块主要是用来分配给按键与调试。

2 路径特征学习的控制策略

在开机时完成之后,MCU接收摄像头一帧图像并且提取跑道中线、识别路径特征、检测有无停车线特征,再综合中线的斜率、当前位置偏差和预先采集的路径特征参数实时计算预期速度和预期转向角度,然后通过PWM模块给出速度和转角信号。

在速度检测的控制部分,由编码器采集的脉冲数字经MCU处理,将其转换为与后轮圈数相对应的参数值,得出实时状态的电机转速,从而可以换算出当前时刻的速度。

在PID控制算法中,由于摄像头图像传输延迟、负载的非线性、场地摩擦力、速度、重心等因素,普通PID控制方式对于这种高速、时变、非线性系统在精度、拟合程度上均不理想,造成实际偏差超过预期偏差。针对这种问题,系统采用机器学习阶段和实际应用阶段,分别用于采集不同跑道的最高速度、最大偏差、倾角等路径特征数据和应用学习信息快速稳定的在跑道上运行。

在机器学习阶段,将完整跑道切分成不同特征的路径,如直道段、弯道段等,针对跑道中的大弯道、小弯道、直道等不同路径信息Li(1≤i≤n),在跑道中循环运行,反复学习,试验路径中线跟踪与路径边缘跟踪等方式,系统记录每次实际偏差与预期偏差的差值及不同时期速度的实时值,获取高可用性的调整参数Di(1≤i≤n)。需要记录路径特征有起始(中间和最终)速度闽值、最佳起始入口位置、路径中较中线的最大偏差阈值等。表1简单表示三类路径的特征参数。

在应用阶段,对于采集到的特征明显的路径Lx,计算实测路径Lx和Li之间的权值为pi(O≤p≤1),作为微调PID入口参数的加权调整参数。对于给定目标速度S和转角A,需要根据所学习参数综合计算当前路径的PID参数,其加权调整的方式为:

(Sl,A1)=(S,A)*∑f(Li,Di,pi)

3 PID控制器设计

系统使用路径参数,自适应调整PID调节器参数。和传统PID控制器相比,在输入实时速度偏差和角度偏差参数之前,需要综合计算路径特征数据,调整速度偏差和角度偏差。PID控制流程如图2所示。

控制效果体现在实际速度和稳定性上。

图3为传统PID控制的智能车速度随时间的响应曲线,采用边缘跟踪、提出中线、寻迹中线的原则,对速度的控制采取定值,可见弯道速度有较大的突变。

图4为本方法PID控制的智能车速度随时间的响应曲线,选择特定的寻迹方式和起始速度,弯道速度改变平滑,有利于速度控制。通过对比可以发现,采用路径特征机器学习PID控制较之传统PID控制,转速响应快、改变平稳、超调小、转速波动小,具有良好的可控特性。

4 实验结果

利用智能车作对比实验,记录普通PID控制方式和基于路径特征识别的PID控制方式,结果说明,后者经过学习实地采集参数,在速度和方向控制上比较灵活,速度没有出现较大幅度的突变,在不同跑道上运行的鲁棒性较传统的控制方式有所提升。

5 结束语

介绍了一种基于机器学习的智能车PID控制方法,充分利用路径的已有信息,综合实时采集数据,加权计算PID控制器的输入参数。实测表明,智能车具有良好的路径识别能力,响应速度快,稳定性好。

参考文献

[1]郑怡等,改进的单神经元自适应PID控制算法在智能车速度控制系统中的研究与应用[J].自动化表,2015,185 (03): 98-99.

[2]张桐铭等,基于PID神经网络的智能车追逐控制系统研究[J].科技与创新,2016,15:13-14.

[3]程宇等.基于模糊控制的智能车调速系统的设计[J].武汉科技大学学报(自然科学版),2007,30 (04): 388-391.

[4]赵国柱等,用于智能车速度控制的PID程序设计[J].中国西部科技,2015,308(03):28-29.