APP下载

基于树莓派的智能预警避障小车设计

2021-01-27李全彬

物联网技术 2020年12期
关键词:树莓障碍物小车

江 颖,李全彬

(江苏师范大学 物理与电子工程学院,江苏 徐州 221100)

0 引 言

在车辆行驶过程中,驾驶员疲劳驾驶、判断失误等将大概率造成交通事故。为避免交通事故的发生,智能汽车应运而生[1]。为有效降低交通事故发生率,本文从智能辅助驾驶技术出发,对智能汽车的预警避障技术进行研究,设计了基于树莓派的智能预警避障小车。

在此方面,已有研究人员针对障碍物检测和避障路线规划提出了一些方案。车雨红[2]将STM32芯片作为主控芯片,建立模糊控制规则,使小车能够精准躲避不同方向的障碍物。岳俊峰等[3]利用STM32单片机协同机器视觉模块OpenCV组成智能小车系统,实现了在静态障碍物环境下小车对障碍物的有效识别与规避障碍路径规划,但该系统并未对小车在动态障碍物环境下的预警避障问题进行研究。吴波涛等[4]以Arduino为核心控制器,实现了对小车的驱动控制、遥控和避障等功能;以树莓派为视频流服务器,实现了实时视频图像传输功能。穆元杰等[5]利用树莓派设计实现了果园智能喷药车遥控器,该设计验证了利用树莓派可实现智能车前方实时图像的采集和无线网络传输。

上述研究对象一般是针对障碍物和小车本身。由于技术和价格问题,目前无人驾驶尚未普及[6],因而在驾驶辅助系统设计中应当将驾驶员考虑在内。本设计以树莓派为核心处理器,通过人脸识别功能提取驾驶员年龄和性别,并根据提取的相关信息划分驾驶者类别,然后基于模糊逻辑确定不同的安全预警距离[7]。当车辆与障碍物之间的距离小于安全距离时,则根据不同场景选择相对合理的预警避障方案。

1 总体设计

本系统以树莓派3B+为核心控制器。首先,通过摄像头拍摄驾驶员脸部照片,识别获取驾驶员年龄和性别;其次,利用红外避障模块和超声波测距模块实时检测小车周围的障碍物距离;最后,树莓派通过分析实际采集的驾驶者信息和动态环境数据判断安全距离,构建具有针对性的预警避障方案。驾驶员如果未在预警条件下及时做出反应,或者无法达到安全驾驶要求,则系统将紧急制动。系统流程设计如图1所示。

图1 系统流程设计

2 系统硬件电路设计

2.1 树莓派核心控制模块

树莓派3B+板卡配备1.4 GHz、64位四核Cortex-A53处理器,1 GB RAM,全尺寸HDMI,4个标准USB端口,CSI摄像头连接器,DSI显示连接器,40针GPIO接头等。系统可通过软件编程的方法实现人脸识别、预警避障等功能。

2.2 超声波测距模块

超声波测距传感器具有频率高、波长短、绕射小、方向性好、定向传播等特点。超声波对液体、固体的穿透性好,尤其适用于光线穿透性差的固体[8]。本系统采用带有舵机云台的超声波测距传感器,可以实现180°障碍物测距[9]。

2.3 红外避障模块

红外避障模块具有一对红外线发射与接收管,发射管发射一定频率的红外线,当检测方向遇到障碍物时,红外线反射回来后被接收管接收,经过比较器电路处理之后,绿色指示灯亮起,并输出数字信号。正常工作情况下,模块电压约为5 V,红外避障模块上的红外接收器遇到障碍物而折回时,电压下降[10]约0.1 V。红外避障传感器原理如图2所示。

图2 红外避障传感器原理

2.4 声光预警模块

声光预警模块利用红外避障传感器的指示灯及BST-4WD拓展板上的蜂鸣器实现预警模式下的声光报警。当探测到有障碍物时,红外避障探测器的指示灯亮起;当车辆与障碍物的距离小于安全距离时,蜂鸣器发出警报,提醒驾驶员采取相应避障措施。若超过预警时间,驾驶员仍未采取行动,系统将紧急制动。蜂鸣器电路如图3所示。

图3 蜂鸣器电路

3 系统软件设计

完善的软件控制系统是智能车稳定运行的核心。本系统在Linux环境下采用Python脚本语言编写代码。Python是常用的解释型脚本语言,而C语言是常用的编译语言,相比而言,Python编程更加快捷。软件设计流程如图4所示。

3.1 人脸识别功能设计

本系统通过摄像头对驾驶员面部拍照,然后将图片保存至设置的文件夹中。树莓派采用OpenCV DNN模块和Dlib库实现人员性别、年龄及图片中人脸框位置的检测,最后将检测结果可视化。人脸识别效果如图5所示。

图4 软件设计流程

图5 人脸识别效果

3.2 静态和动态环境下的避障功能设计

当驾驶员未能在预警条件下及时作出反应时,本系统将自主避障,或在达到危险距离时紧急制动。在静态障碍物环境下,如小车遇到墙体且在安全距离内则自主避障;当小车被多种障碍物围绕时,则会迅速规划出避障路线并及时避障。在动态障碍物环境下,如小车检测到有行驶车辆和行人时,则会在安全距离内主动避障。避障流程如图6所示。

图6 避障流程

4 实验过程

现场测试时,测试对象为一名45岁中年男士。小车启动后,对测试对象进行人脸识别,认为驾驶者是一名48岁男士(检测数据与实际数据存在一定偏差,但偏差在系统设置范围内,对系统影响较小)。当小车检测到障碍物时,红外传感器指示灯亮起;障碍物距离小于安全反应距离时,蜂鸣器报警,进入预警模式。测试小车遇到4种不同状态障碍物时的结果如图7、图8、图9、图10所示。当小车遇到墙体时,可以在安全距离内成功避障;当小车被多种障碍物包围时,能够规划出避障路线并成功避障;当小车遇到正在行驶的车辆和行走的路人时,可以完成自主避障;当小车即将撞上障碍物时,小车将紧急制动。

图7 小车遇到墙体

图8 小车被多种障碍物包围

图9 小车遇到正在行驶的车辆

图10 小车遇到行走的路人

测试结果表明,本系统能够通过分析实际采集的驾驶者信息和动态环境数据判断安全距离,构建具有针对性的预警、避障方案,且在驾驶员未及时做出反应,或无法达到安全驾驶要求时能自主避障和紧急制动。

5 结 语

智能预警避障小车的研究,不仅要考虑外界障碍物和小车自身因素,还要考虑驾驶员。本文通过识别驾驶员年龄和性别,根据安全距离对驾驶员进行类别划分,结合环境检测数据为不同类型的驾驶者提供了相对合理的预警避障方案,并且能够在驾驶员未及时做出反应时紧急制动。本系统选用树莓派作为核心控制器,不仅能识别驾驶员的年龄和性别,利用5G的高速率、低延时、大容量优势构建系统云端数据库,还能添加驾驶员驾照信息读取等功能,对智能辅助驾驶技术的研究而言意义重大。

本文采用红外传感器和超声波传感器检测障碍物的状态时,由于红外传感器对黑色物体灵敏度不高,导致障碍物状态检测时发生错误,影响了小车预警避障结果。未来,我们将用激光雷达测距传感器检测障碍物,以提升小车在车速较快情况下的预警避障功能。

猜你喜欢

树莓障碍物小车
大车拉小车
自制小车来比赛
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于树莓派的骑行智能头盔设计
刘老师想开小车
两轮自平衡小车的设计与实现
基于树莓派的远程家居控制系统的设计
响应面法优化红树莓酒发酵工艺
土钉墙在近障碍物的地下车行通道工程中的应用