基于图像识别的车载智能三角警示牌设计

2022-11-01 02:46孔得志龚元明冯保壮赵宇航
农业装备与车辆工程 2022年9期
关键词:警示牌舵机树莓

孔得志,龚元明,冯保壮,赵宇航

(201620 上海市 上海工程技术大学)

0 引言

随着我国经济的发展,汽车工业以及道路交通取得了快速发展。我国道路交通安全法规定,在道路上车辆发生故障、事故停车后,不按规定使用灯光或指示标志的属于违章行为,将会被扣3 分;白天城市道路警示牌应放置在车后50 m,高速道路则为150 m 左右;晚上或光线昏暗时,放置距离要相应加长,城市道路要把三角警示牌放置在车后100 m,高速道路为250 m 左右。尽管如此,当车辆抛锚或出现其他紧急情况,需停车检修或等待救援时,由于没有明显的应急警示导致后方车辆与之相撞的交通事故屡见不鲜。同时,二次事故也是人们最容易疏忽的隐形危险——司乘人员下车沿来车方向放置三角警示牌的过程中也极易出现危险,还会出现人为估算位置不准确、达不到警示效果的问题[1]。

本设计不仅在造型以及实用性有所考量,既实用可靠又更具个性,满足了现代人对新鲜事物的追求。更重要的是,车用三角警示牌具有自主移动功能,可自动到达指定地点,并可自动展开收回,稳定性较高,最大程度保障车上人员的安全。

1 总体方案设计

车载智能三角警示牌主要由硬件电路、软件程序、机械结构三大部分组成。工作原理如下:

(1)摄像头采集视频数据传输给树莓派3B+主板,树莓派3B+的主控芯片根据程序处理视频数据,识别车道线。

(2)视频数据可通过树莓派自带热点模块,连接手机APP,手机APP 可选择自动循线模式或者遥控模式。

(3)树莓派3B+处理完视频数据后,通过电源主板控制舵机和直流电机,三角臂展开,智能三角警示牌开始运动。

(4)通过SIM7600CE 模块连接云服务器,上报汽车事故或故障位置信息。

(5)如若选择自动循线模式,根据设定的距离到达指定位置后停止。

结合智能三角警示牌的工作原理,从总体的角度考虑要实现的功能,绘制总体工作原理流程图,如图 1 所示。

图1 总体工作原理流程图Fig.1 Flow chart of general working principle

2 智能三角警示牌硬件设计

2.1 树莓派主控模块

综合考虑要实现的功能以及本设计所需的算力、成本以及便携性,选用树莓派3B+作为控制主板。它是一款基于ARM 的微型电脑主板,可安装Linux 系统,配备1.4 GHz、64 位四核Cortex-A53处理器,具备所有PC 的基本功能,配有4 个标准USB 端口以及1 GB 内存,40 针GPIO 接头[2]。其体积仅有信用卡大小,便于安装布置。软硬件资源丰富,可连接显示器、键盘鼠标等设备,可直接在其系统内进行开发,便于程序代码的调试。通过安装Python 和OpenCV 图像处理的依赖库,使用软件编程,通过摄像头数据实现识别车道线并驱动电机等相关功能。

2.2 电源模块

采用带大电流保护板的18650 锂电池组,使用标准5.5 mm×2.1 mm 的圆形接口。经过电源驱动板总开关,可给树莓派 3B+主板和驱动电机供电,同时驱动板上预留了外部电源的接口,可接24 V或更高的电源给驱动电机供电,提高智能三角警示牌的行驶速度。电源网络如图 2 所示。

图2 电源网络Fig.2 Power supply net

电源模块供电模式:(1)经过大电容滤波后,电池电压直接给电机驱动芯片供电,驱动直流电机。(2)经过大电流 DC-DC 降压为 5 V 后,给舵机系统供电。(3)经过 DC-DC 降压为 5 V 后,给主控芯片主板供电,再由树莓派主板给摄像头供电。

2.3 直流电机驱动模块

2.3.1 电机驱动芯片

选用2 个130 减速直流电机作为驱动电机,L298P 作为电机驱动芯片[3]。L298 电机驱动芯片是比较常见的一款电机驱动芯片,一片 L298P 芯片可同时驱动多个直流电机做各种不同的动作,且具有过热保护和检测反馈功能,可以与主控芯片直接相连,操作使用简单方便,稳定性好。

2.3.2 直流电机驱动电路

在确定要使用的电机和电机驱动芯片后,结合树莓派,设计了电机驱动电路。电机驱动电路原理图如图3 所示。

图3 电机驱动电路原理图Fig.3 Schematic diagram of motor drive circuit

图3 中是L298P 电机驱动芯片的电路连接,J10 是电机的电压输出接口,TP6、TP7、TP8、TP9 是4 个输出口 的测试点[4]。INPUT1_1、INPUT1_2、INPUT1_3、INPUT1_4 是4 个电机转动信号输入口,分别与树莓派的IN1,IN2,IN3,IN4 网络相连接,也就是树莓派采用BCM 编码的GPIO19,GPIO26,GPIO16 和GPIO21,达到能够通过树莓派程序控制电机驱动的目的。ENA_1、ENB_1 是两组电机的 PWM 调速端口,分别与树莓派的ENA 和ENB 网络,也就是树莓派采用BCM编码的GPIO13 和GPIO20 引脚,达到能够通过树莓派程序控制电机速度的目的。此外在电机输出端口电源和 GND 之间加上反向二极管可以防止电机物理转动导致产生反向电压击穿电路板。

2.4 舵机驱动模块

2.4.1 舵机的驱动原理

智能三角警示牌的三角臂展开时,需要舵机驱动三角臂转动一定角度,并能够保持一定角度。本文选用了2 个XR SG90 型舵机,分别控制2 个三角臂的展开。该型舵机体型较小,质量轻,便于安装布置。舵机由PWM 控制角度,PWM 的高电平时间0.5~2.5 ms,对应舵机的0~180°。舵机两端有死区,长时间工作在死区,会导致舵机损坏,一般会让舵机工作在20~160°。这种舵机具有防卡死的功能,当力度超过设定值时,结构离合断开,发出咔咔声但不会烧毁电机。

2.4.2 PWM 发生器

该舵机使用电压在3.5~6 V,树莓派3B+结合Python 程序可直接驱动舵机转动,但会出现抖动现象,所以在电源板上集成了一颗PWM 发生器,且将驱动包集成到Smbus 库中,并留出简易的API接口供调用。

选用了二电平的PWM 发生器,是产生的脉冲为采用二电平拓扑并使用脉冲宽度调制(PWM)的转换器。该模块可以控制开关器件的3 种不同转换器类型,本文选用了单相半桥的转换器类型。当树莓派发送的调制信号被采样后没和对称的三角载波进行比较,当基准信号大于载波时,上部开关器件的脉冲为高,下部开关器件的脉冲为低。

2.5 4G/GPS 通信模块

2.5.1 4G/GPS 通信模块的选择

选用SIM7600CE 模块结合物联网卡实现网络功能,当汽车事故或故障发生后,驾乘人拿出智能三角牌开启开关后,根据树莓派中设置的自启动程序,将需要上传数据的信号发送给SIM7600CE 模块,SIM7600CE 模块上传位置信息至云服务器,并通过各软件地图平台故障上报的API,上报位置信息,使用该地图软件的用户,在接近该路段时可获得汽车发生事故或故障的位置,选择更换路线或者继续行进,减少道路拥堵。

SIM7600CE 是一款SMT 封装的模块,支持LTE -TDD/LTE -FDD/HSPA +/TD -SCDMA/EVDO和GSM/GPRS/EDGE 等频段,支持LTECAT4,通过AT 指令控制,其性能稳定,外观小巧,性价比高,可以低功耗实现SMS 和数据信息的传输。其尺寸大小约为30.0 mm×30.0 mm×2.9 mm,满足各种紧凑型产品设计需求。

2.5.2 4G/GPS 通信模块的连接

将SIM7600CE 模块的引脚与树莓派引脚对应相连接,通过树莓派的USB 插口单独给SIM7600CE 模块供电,供电功率500 mA 左右。选用树莓派BCM 编码格式,其中树莓派的TXD 引脚对应BCM 的14,RXD 对应BCM 的15,P22 对应BCM 的P6,P7 对应BCM 的P4,当此引脚拉高时进入飞行模式。SIM7600CE 与树莓派3B+主板引脚连接表见表1。

表1 SIM7600CE 与树莓派3B+主板引脚连接表Tab.1 Connection of SIM7600CE with Raspberry Pi 3B+Pin

3 智能三角警示牌软件设计

3.1 软件功能设计

软件设计可分为树莓派内部程序设计和手机远程控制程序两大部分,两者之间通过树莓派本身自带的WiFi 热点通信,自定义一套数据传输协议,进行相关数据的传输。智能三角警示牌有2 种行进方式,一是遥控模式,通过手机远程遥控其前进、后退等操作;二是自动巡线模式,根据摄像头识别的车道线,自动直线行走50,100,150 m 等距离,自动转向矫正保证偏差最小[5]。移动端操作平台负责解析WiFi 模块传输的视频并实时显示以及发送控制指令。

智能三角警示牌主体功能分成3 部分:WiFi通信功能、驱动功能及图像处理功能,具有摄像头巡线,电机控制前进、后退、左转、右转、警示灯开机自动闪烁。

3.2 WiFi 通信功能

小车与主控端之间的通信方式是半双工的通信方式,通常由Android 设备向自动警示牌发送命令后,小车做出回应。通信协议采用TCP 服务,在开机自启动后监听2001 端口,等待TCP Server的连接。当Android 设备连接到自动警示牌的热点后,打开控制软件,开始连接TCP Client,通过2001 端口,跟TCP Server 握手。TCP 提供一种面向连接的、可靠的字节流服务,具有慢启动、拥塞避免、快速重传、快速恢复等特点,能确保传输数据的正确性,不出现丢失或乱序,并且保证接收端毫无差错地接收到发送端发出的字节流,为应用程序提供可靠的通信服务。

3.3 驱动功能

转向原理是利用两侧车轮的轮速差,当一侧车轮速度小于另一侧的时,智能三角警示牌在前进过程中就会向轮速小的一侧偏转。本文通过控制两个使能引脚电压输出ENA、ENB 控制警示牌的转速及前进方向,当需要原地转向时,只需将一侧车轮转向改为反向即可。小车在循迹过程中前进、左转和右转的程序设计流程如图4 所示。

图4 循迹程序流程图Fig.4 Tracing process flow chart

3.4 图像识别功能

对车道线的检测包括对彩色图像预处理、特征检测、霍夫变换等。图像处理流程如图5 所示。

图5 图像处理流程Fig.5 Image processing flow

带有摄像头的自动警示牌检测路面图像信息,进行图像的预处理,包括图像灰度化和图像滤波。OpenCV 中提供了cvtColor (img,cv2.COLOR _BGR2GRAY) 函数用于对图像进行灰度化处理。图像滤波采用的是高斯滤波,其可分离性质具有把二维高斯运算转换为一维高斯运算的优点。本文运用高斯滤波对图像进行降噪处理,在OpenCV 中可通过函数GaussianBlur 实现。路面图像和二值化处理后的图像如图6 所示。

图6 路面图像与二值化处理图像Fig.6 Pavement image and binarization processing image

将检测到的图像利用函数canny(img,low_threshold,high_threshold)进行Canny 边缘检测,计算水平与竖直方向的梯度大小与方向,再通过极大值抑制去除非边界上的点[6]。

最后,通过霍夫变换[7]分离出具有某种相同特征的几何形状,如车道线一侧的直线,利用霍夫变换提取图像中的直线可以更好地减少噪声干扰,处理效果图如图7 所示。

图7 霍夫变换处理效果图Fig.7 Hough transform processing effect

4 手机端软件设计

4.4.1 Android 移动端主体结构

移动端主体结构如图8 所示,可分成3 部分:连接模块、通信模块及控制模块,在连接部分可以分为WiFi 连接和蓝牙连接。通信部分主要是视频流传输及解码等,控制部分主要实现对智能三角警示牌的控制。

图8 客户端主体结构Fig.8 Client body structure

4.4.2 主界面框架设计

系统主界面中包含连接方式的设置、通信协议的设置、开始测试按键等。图9 中展示了系统主界面、通信参数设置界面、控制界面的样式。

图9 手机APP 样式Fig.9 Mobile APP Style

点击设置,进入通信参数设置界面。点击开始进入控制界面,连接成功后可显示摄像头视频图像。控制界面逻辑流程图如图10 所示。

图10 控制界面逻辑流程图Fig.10 Control interface logic flow chart

5 实际测试

5.1 测试方法

(1)测试在白天、傍晚和夜间不同的光照强度下车道线识别情况,确定智能三角警示牌在不同时间段的可用性。

(2)测试无线控制的有效范围,将智能三角警示牌放在带有车道线的车道上,由手机APP 控制其前进、转向、倒退,测试延迟时间,即从手机端按下按钮到智能警示牌开始行动的时间。

(3)测试智能三角警示牌的警示范围,人员距离多少米能较为清晰地注意到。

5.2 测试结果

剪辑摄像头中录取的中午12:00、傍晚6:30 以及晚上9:00 三个时间段视频,导入程序中进行多次测试。经多次测试,智能三角警示牌在白天、傍晚和有路灯的晚上均能准确识别车道线,车道线识别效果如图11 所示。

图11 车道线识别效果Fig.11 Lane line identification effect

选 择0~20 m,20~50 m,50~80 m,80~100 m 4 段距离,测试手机APP 在控制智能三角警示牌时的延迟时间。在50 m 范围内时,其延迟时间小于1 s,可忽略不计。之后随着距离的增加,延迟时间越来越大,距离达到100 m 时,平均延迟时间达到1.4 s。不同距离下接收指令延迟时间测试数据如表2 所示。

表2 不同距离下接收指令延迟时间Tab.2 Delay time for receiving instructions at different distances

挑选多名驾乘人员进行警示牌识别测试,根据驾乘人员反馈,行驶过程中,在距离200 m 范围内可明显看到前方智能三角警示牌的警示灯闪烁,并且夜间比普通三角架的警示作用更加明显。智能三角警示牌夜间警示效果图如图12 所示。

图12 智能三角警示牌夜间效果图Fig.12 Night effect of intelligent warning triangle

由上述测试可得,本文设计研究的智能三角警示牌可满足实际使用需求,达到了设计目标,未来可进一步完善功能,实现其应有的价值。

6 结论

本文基于树莓派主板设计了一种新型智能三角警示牌,通过运用电机驱动、无线通信及图像识别等成熟技术,实现了对普通三角警示牌的改进。智能三角警示牌可以通过遥控或自动巡线2 种模式行驶至相应位置,使人员无需离车即可对智能三角警示牌进行远程控制,减少二次事故发生的概率,保障了人员安全。还具有发光警示和防水功能,能够自动展开折叠,放置稳固,节省空间。

猜你喜欢
警示牌舵机树莓
剑龙是武士吗
剑龙是武士吗?
弯道胜过说教
黄金水果红树莓
树莓红了 游人醉了
海太克HS—1100WP数字舵机
超音速舵机保护器
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)
菜鸟看模型