APP下载

基于CMOS图像传感器的智能寻迹广播直播车软件设计研究*

2021-11-22

菏泽学院学报 2021年5期
关键词:舵机时钟整车

王 粤

(枣庄广播电视台,山东 枣庄 277000)

引言

智能寻迹车在广播电台、厂房、图书馆、餐厅、实验室等场所的智能巡检或智能交互等场景中有广泛的应用.车辆集成了机器视觉、传感技术、自动控制技术、人工智能技术等多学科领域为一体,有良好的应用前景[1-5].但是传统智能寻迹广播直播车系统对道路要求较高,不能对道路模糊处理,在寻迹有较大的提升空间.并且车辆在转向中电机没有控制,车辆运行稳定性较差[6-8].

为解决这些问题,本文对智能寻迹广播直播车软件设计部分进行优化改进.整车采用OV7725数字摄像头实现路面信息的采集,采用编码器等实现对整车车速的采集,采用PID控制、模糊PID等算法,在优化整车PID参数的基础上提高车辆在转向的稳定性[9-10].

1 系统软件设计

软件是智能寻迹广播直播车系统的核心.该控制系统主要由人机交互部分、图像获取与处理部分、整车控制三大部分组成.其中,图像获取与处理部分主要完成图像采集与处理、偏差提取;整车控制主要完成整车的速度和方向的控制.软件系统结构如图1所示.

1.1 初始化模块设计

初始化模块是整车控制程序的基础,下面对时钟、串口以及PWM的初始化进行介绍.

1.1.1 时钟初始化

单片机在时钟初始化后可以通过锁相环(PLL)将系统的时钟系统提高,寄存器中某些位、倍频公式如下:

MCG_CLK_MHZ=

(1)

(2)

(3)

(4)

(5)

其中,系统的外部晶振为50 MHz.CORE_DIV为系统时钟分频系数,它的初始值为0.BUS_DIV为总线时钟分频系数,它的初始值为1.FLEX_DIV-flex为时钟分频系数,它的初始值为9.FLASH_DIV为flash时钟分频系数,它的初始值为8.

1.1.2 串口初始化

为了便于调试,该设计利用UART串口通讯实现数据的传输.串口初始化函数:uart_init(UARTn_e uratn,uint32 baud),它有两个输入变量,其中UARTn_e uratn是模块号(UART0-UART5),uint32 baud为波特率,可以选择不同的波特率.通过此函数可直接设置串口号、波特率.

1.1.3 PWM初始化

PWM即脉宽调制,脉冲宽度调制是一种可以由程序控制的波形,用来控制工作周期、相位等.

初始化FTM的PWM功能程序主要是初始化PWM通道、周期、占空比等.PWM初始化函数:ftm_pwm_init(FTMn_e ftmn,FTM_CHn_e ch,uint32 freq,uint32 duty),uint32 duty为占空比的分子,占空比计算方法为:占空比=duty*FTMn_PRECISON,其中FTMn_PRECISON为占空比精度.

1.2 车行驶信号获取与处理

1)道路图像处理

传感器采集的图像存储在数组里,接下来的一些程序设计就变成了对该数组的处理.首先得到道路的中线,采用了从中间往两边扫描的方法.图像像素点由白色变成黑色的时候,记录此坐标,左右边界相加除二,就是道路的中间线.为了使智能寻迹广播直播车能够在道路中间行驶,采用计算道路中心线的方法,如图2所示.

2)弯道的补线

在实际调试中发现图像只会丢失一边,需根据边界变化的趋势来补线.例如当右边界第11行丢线,然后计算左边界的第11行与第10行的坐标偏移量,因赛道平行,所以左右边界偏移量是一样的,将右边界第10行坐标加上偏移量就是右边界第11行坐标,并以此类推.

3)车行驶偏差获取与处理

智能寻迹广播直播车在拐弯处靠近道路内侧行驶时,可以缩短行驶时间.首先选取某一行对应于中间线的偏差,调试智能寻迹广播直播车沿着中间线行走.这一步完成以后,把中线偏差加上这一段中线上两点间的斜率,偏差和斜率都乘以一个权重,就是实际偏差了.

4)障碍的识别

由于道路上存在障碍,首先要根据图像判断出障碍.判断是否为障碍需要满足两个条件:一是当前智能寻迹广播直播车所处位置为直道,二是根据搜线算法判断出中线出现的跳变.检测到障碍后,只需要控制舵机打一定的角度并保持一段时间,可实现障碍的越过,如图3所示.

图3 道路上存在障碍图像

1.3 整车行驶状态控制

1)整车速度控制

为了让智能寻迹广播直播车速度更快,根据道路的曲率判断直、弯道,使用变速行驶的方法.本设计简化了数学上的曲率计算方法,采用中线某点相对于上一点的偏移量来计算曲率.

由于智能寻迹广播直播车目标速度是连续改变的,为了控制精准,首先要保证的是跟随能力,所以静差的影响可以忽略,从而采用PID控制.

PID控制器数学公式为:

(6)

式(6)中:u(t)为控制量;e(t)为偏差;KP为比例放大系数;TI为积分时间常数;TD为微分时间常数.

2)整车转向控制

智能寻迹广播直播车转向控制是根据处理得到车相对于道路中间位置的偏差.得到的偏差经过PID算法计算,最终输出到舵机,控制舵机转向.

智能寻迹广播直播车的转向控制采用了PID控制算法.由于智能寻迹广播直播车的转向是个不断变化的过程,是个动态的过程,要保证控制的跟随性.

系统对电机采用了增量式PID控制:

KD(e(k)-e(k-1))

(7)

式(7)中:KI为积分系数;KD为微分系数;T为采样周期;e(k)、e(k-1)分别为第k、k-1采样时刻输入的偏差值.

为了提高智能寻迹广播直播车舵机转角的精度,本设计使用前四次偏差量的平均值和当前偏差量的差作为微分项.因为道路情况非常复杂,同一组参数并不一定能够完全适应不同的道路形式,比如KP过大,智能寻迹广播直播车会出现抖动的现象,过小的话拐弯力度不够.所以本设计引入了模糊PID算法的概念,就是根据道路的弯曲程度给定不同的KP值,在直道上以小一点的KP系数运行,提高稳定性,弯道上以较大的KP运行,增大拐弯力度.具体的分段方式是根据偏差大小来分的,偏差变大说明智能寻迹广播直播车正在进入弯道,变小说明进入直道.

2 软件部分的在线调试

智能循迹广播车的底盘是实现路径循迹的核心,这里采用MK60DN512ZVLQ10单片机为核心控制器,采用540电机、S-D5数字舵机、24 V 2 Ah 锂离子电池等,设计出能够自主识别路径的智能车.所设计的智能循迹广播车的整车效果图如图4所示.

图4 智能循迹广播车的整车底盘

为了便于整车PID参数的在线调试,这里选用蓝牙模块进行通信进而实现整车参数的上位机观测,同时使用串口助手如图5、上位机辅助如图6、虚拟示波器如图7等软件,可以有效的帮助调试的时候观察参数变化.

图6 上位机界面图

图7 虚拟示波器界面图

本设计主要调试PID里面的参数量,通过调参数来调试整车的行驶状态,由于采用了PID算法,所以整车的速度、方向控制只需多次实验更改相应的参数值就可达到优化路径、节能充电与行驶的目的.PID调试实验数据如表所示1.

表1 PID调试实验数据表

在相同的运行路径下,在线调试共进行了五组实验研究,为了提高整车的期望速度,通过降低速度P和I的值可提高智能寻迹广播直播车的运动速度,最终整车运动速度从1 500 mm/s提高到了2 100 mm/s.但较高的速度会造成整车运动的不稳定,甚至丢失轨迹线进而导致整车停机,可通过调节舵机P和D值,提高舵机的响应速度,保证整车的稳定性,在相同路径下,整车运行时间从35 s缩短至27 s.为了最大程度上发挥智能寻迹广播直播车的性能,需要不断调试电机和舵机的参数进而使整车更加稳定,因此开发的采用蓝牙通信的整车PID参数的在线调试系统可大幅提高调试速度.

3 结论

本文主要对智能寻迹广播直播车的软件部分进行了分析,软件程序的控制在硬件完好的基础上才能更好地发挥作用,阐述了处理图像的一些方法,以及一些道路特殊元素的识别.在控制算法上使用了PID控制算法提高了车辆运行稳定性,开发的在线调试系统可大幅提高整车参数的调试速度.

猜你喜欢

舵机时钟整车
基于六自由度解耦分析的整车悬置设计
别样的“时钟”
古代的时钟
整车、动力电池产业结构将调整
基于dsPIC单片机的飞艇舵机控制实现
有趣的时钟
超音速舵机保护器
时钟会开“花”
菜鸟看模型
基于云模型的舵机同步控制