基于OpenMV的智能交通装备

2021-04-08 11:28蒋泽鑫侯明陈培锡张治康
传感器世界 2021年2期
关键词:红绿灯舵机障碍物

蒋泽鑫 侯明 陈培锡 张治康

北京信息科技大学,北京 100192

0 引言

随着社会经济的不断发展,每个家庭基本上都具备了拥有一辆汽车的经济实力。随着社会生产、生活的需要,人类社会对于交通的依赖也越来越大。尽管城市交通方式多种多样,但人们对于私家车的需求依然呈指数增长,政府修建道路的速度仍无法满足汽车数量增长的速度。庞大的汽车数量带来了很多问题,比如交通堵塞、交通事故、交通违法等事件都比之前有所增加,人、车与路之间的矛盾日益加剧[1]。为了减少这些事件的发生,国家开始大力发展智能交通系统。我国早期对于智能交通系统的建设只是引进国外的成熟系统,随着我国的经济发展,智能交通系统在国内开始迅速发展起来。国家政策也大力支持智能交通系统的建设,从“十二五”以来,为了支持智能交通的发展,我国已累计投入数千亿的资金,并且于2019年9月发布了《交通强国建设纲要》,为智能交通系统的发展提供了十分便利的条件。同时,在高新技术蓬勃发展的今天,人工智能、车联网、5G网络以及大数据等技术已经十分成熟,在未来的发展中将这些技术与智能交通系统相结合,将使大范围、全方位实时、准确、高效的智能交通系统逐渐成为未来交通的方案。研究智能交通系统可从模型出发,而智能交通系统的模型从3个角度出发可分为学科体系模型、服务功能模型以及网络层次模型。这3种模型对于智能交通系统的开发、研究和标准化有着一定的指导意义[2]。在智能交通系统中,交通监测系统是一个重要的环节,负责采集有关道路的路况信息。近年来,随着图像处理技术的不断发展,基于视觉技术与图像处理的车辆检测器逐渐替代传统的车辆检测器,成为现代智能交通系统的一个重要组成部分[3]。针对智能交通系统研究需要,使用1:24的四轮车模,设计制作了一款基于OpenMV+STM32控制的智能小车,为智能交通系统的研究提供了低成本的实验室级别教学装备。

1 系统构成

1.1 系统硬件构成

系统硬件构成如图1所示,采用长焦OpenMV 1采集障碍物、红绿灯、行人等信息,采用广角OpenMV 2采集交通路线信息,两个视频模块分别通过串口1和串口2与STM32主控制器通信。整个系统采用4节1.5 V的7号电池供电,系统电源输入为6 V,采用LM2596稳压至5 V,为主控制器和OpenMV供电。主控制器通过PWM信号控制舵机,通过PWM信号和配置信息作用电机驱动芯片TB6612以实现电机的控制。

1.1.1 小车模型

为了使该装备占用的空间尽可能小,能容纳在更多地方,小车采用1:24的四轮电动模型车,长宽为12 cm×6.5 cm。小车前方倾斜一定角度安装有一个广角摄像头,用来采集道路信号;正前方装有一个长焦摄像头,用来采集障碍物信号[4]。小车搭载一个舵机用作控制小车方向,迷你电机驱动,前后车轮采用轴传动,传动效率高,运行平稳。小车安装有一个3D打印框架,用作固定两个OpenMV和一个STM32主控板,保证摄像头角度以采集到有效交通信号。小车模型如图2所示。

1.1.2 街景模型

为模拟真实道路以测试小车识别交通信号之后做出的反应,本文搭建了一个尺寸1.2 m×1.2 m的模拟环境,包含城市道路、交通灯、行人及障碍物,如图3所示。街景中央放有建筑物、草坪,交通道路以白线为边界,道路中间的黄线为循迹线条。街景用小乒乓球模拟障碍物,用纸人模拟真实道路中的行人,用红黄绿LED灯作为真实道路中的红绿灯。

1.1.3 系统主控电路构成

一个高精准控制、低干扰的硬件电路是智能算法运行的基础前提条件。小车控制系统采用STM32C8T6芯片作为主控芯片,其具有体积小、功耗低的优点[5],具有最高72 MHz时钟频率,定时器资源丰富,最多可以同时输出30路高精准度的PWM信号,具有3个串口,可与多个外部设备连接,选用STM32既满足了车辆的小型化也满足了控制精度和灵敏度的需求。自主设计的硬件电路主要包括电压转换、执行机构驱动及控制、信号检测的作用几个部分[6]。

1.1.4 电源及电压变换

小车系统的电力变换过程如图4所示。小车采用6 V电池组供电,通过LM2596芯片稳压到5 V为舵机供电,通过电机驱动芯片为电机供电,通过LM1117稳压输出3.3 V为STM32单片机和OpenMV供电。

1.1.5 电机驱动

电机驱动采用TB6612双电机直流驱动芯片,最高连续电流1 A,最大PWM频率100 kHz,具有正反转、停止、制动4个状态,工作温度范围广,动作速度快,功耗满足小车需求。

1.1.6 目标检测

本系统采用双摄像头的设计,利用OpenMV机器视觉模块,通过OV7725摄像头采集路况信息。其中,设计采用广角摄像头搭配OpenMV识别道路路线,实现小车的车道保持功能;采用长焦摄像头搭配OpenMV采集障碍物以及红绿灯信息,实现小车的实时避障和红绿灯识别功能。

1.2 系统软件构成概述

模拟道路采用与真实道路相近的黄白线设计,使用广角摄像头的OpenMV实现黄线循迹。当OpenMV模块上电开启后,首先,读取灰度图像,同时关闭自动增益以及白平衡,并将图像横分成3个矩形作为取样区域,每个矩形区域占有一定的权重,具体权值需根据实际情况进行调整,离小车视野最近的矩形权值最大;然后,依次对视频帧进行处理,并利用颜色识别分别寻找3个设定好的矩形区域内的线段,当在目标区域内识别到直线时,将最大的线段块作为本区域内的目标直线,用这3个矩形框和十字形将视野中的直线框出;最后,分别用3个矩形框的x轴坐标权重相乘,再求其和,将此值与视野中线对应值作比较,即可求出路线在视野中的偏转方向和角度[7]。根据计算得到的偏转角度和方向向主控制器发送对应的控制信息,即可实现小车的视频巡线功能。

模拟道路中设有红绿灯和障碍物,采用长焦摄像头在指定的距离范围内识别跑道上的障碍物以及红绿灯信号。当模块上电开启后,首先,读取彩色RGB图像,并关闭白平衡;接着,利用矫正函数对图像进行畸变矫正,在ROI区域内寻找障碍物,当找到障碍物时将其框出,计算出障碍物像素大小,并根据参考距离的像素量计算出小车与障碍物之间的距离;然后,对红绿灯颜色阈值进行设定,读取视频帧判断图像内是否出现红绿灯,若图像内有红绿灯,则用矩形框将其框出,并根据同样的图像原理计算出小车与红绿灯之间的距离;最后,根据获得的红绿灯与障碍物的信息进行判断,若识别到红灯或障碍物,并且红灯或障碍物与小车之间的距离小于安全距离,则通过串口向主控制器发送控制信号,控制小车停下来,若识别到绿灯,则通过串口向主控制器发送对应的命令,控制小车继续前行。

STM32主控在其中起到收集2个OpenMV识别信号的功能,通过串口通信实现三者之间的通信,再由主控提取接收数据帧中的有效数据。主控通过有效数据的特定字节数据去控制舵机方向角度,控制电机驱动以控制电机转速和转向的功能。

2 系统测试

图6为小车通过广角摄像头循迹模拟街景中的黄线。当检测到小车主视野偏离轨道黄线时,系统会控制舵机转动使轨道黄线回归小车主视野;当轨道黄线偏向小车主视野左侧时,舵机左偏;当轨道黄线偏向小车主视野右侧时,舵机右偏。通过这种舵机方向调整策略,可以使小车对轨迹偏离做出调整,不论是直线行驶还是弯道行驶,始终都能保持在规划的航迹中。

图7为小车通过长焦摄像头识别道路中的红绿灯,目前识别到红灯,返回距离36 cm左右,小车处于停止状态。借助OpenMV的视觉能力,系统赋予小车识别红绿灯交通信号的能力,小车与真实道路汽车一样,当识别到红灯且距离红灯一定距离时,小车停止,进入等待;当小车识别到绿灯时,小车启动,继续前进。

图8为小车通过长焦摄像头识别到障碍球,障碍球距离小车30 cm时,小车处于停止状态。系统选择小球用于模拟真实道路中的障碍物,当识别到该障碍物且距离障碍物较近时,为防止小车与障碍物相撞而损坏小车,系统停止信号触发。

3 结论

交通系统正朝着车辆越来越多、交通网络越来越复杂的方向发展,未来交通一定是智能化、多学科交叉的。本研究选用12 cm×6.5 cm车模,使用OpenMV和STM32设计制作了通过视觉功能识别交通信号并做出准确响应的智能小车,搭建了包括道路、交通信号、尺寸1.2 m×1.2 m的模拟环境,两者组成智能交通装备。小车设计中使用自主设计的、兼具电压变换、电机驱动的主控电路板,使用购入的OpenMV视频模块。其中,OpenMV视频模块用于采集模拟环境中的障碍物及道路信息,利用模块的像素处理能力,将获取的道路信息计算得到控制字节数据;小车主控电路板起到输入输出电压稳压,数据接收的功能,接收OpenMV视频模块发送的控制字节后,作用于电机控制电机转向、转速及电机工作状态,构成智能小车控制闭环,以实现小车在模拟环境中的无人驾驶。本系统将真实道路中的交通信号、障碍物等因素考虑到模拟道路中,设计制作了一套能识别道路信息并作出正确反应的小型、低成本智能小车,为智能交通系统研究的小型化提供了一种思路。

猜你喜欢
红绿灯舵机障碍物
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
含齿隙弹载舵机的全局反步模糊自适应控制
红绿灯前
神奇的红绿灯
会说话的红绿灯
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
基于云模型的舵机同步控制
土钉墙在近障碍物的地下车行通道工程中的应用