APP下载

基于树莓派和GPS导航的智能避障小车设计

2023-10-10李承泽

河南科技 2023年17期
关键词:树莓障碍物蓝牙

李承泽

(西北大学信息科学与技术学院,陕西 西安 710119)

0 引言

基于GPS 的树莓派智能小车可通过状态分析系统来自动规划路线和识别交通信号,从而保证车辆的安全运行[1-5]。在无人驾驶领域,通过智能定位和路况分析系统来实现智能规划路线和识别交通信号,可确保无人驾驶车辆的安全运行。此外,智能小车进入危险场所,通过Opencv图像识别模块能及时了解现场情况,为救援提供相应的信息。因此,智能避障设计具有较高的经济价值和广阔的应用前景。

1 设计难点

除了要实现自动驾驶外,在行驶过程中,无人驾驶的智能汽车还要处理大量信息,如当前路况、现有位置等,从而导致应用程序开发困难重重。

1.1 GPS定位和终端显示问题

GPS 定位模块用于对汽车进行准确定位汽车,终端显示可用于显示位置信息。如何将汽车的位置信息上传,并反馈到相应的终端平台显示器上,成为要解决的技术难点。

1.2 障碍物识别和路线行进问题

由于GPS 的定位精度较差,无法实时判断障碍物,导致移动的汽车无法正确读取障碍物位置,并避开障碍物。如何提高汽车对道路和障碍物识别的准确性(如对交通灯和人体的识别),成为一个要攻克的技术难题。

2 系统设计

树莓派将采集到视频和超声波避障信息上传到多功能控制系统,系统对上传的信息进行处理,并自动生成指令,由手机端完成对小车行驶过程的监控和最终控制,由蓝牙模块完成小车和手机端的通信。多功能控制系统是多功能小车的指挥协调中枢,小车在行驶过程中,超声波避障模块、OpenCv图像识别模块和GPS 模块将采集到的数据上传给多功能控制系统进行处理,并将生成的指令交由车体驱动模块执行。

为确保无人驾驶汽车能准确感知、规避障碍物,规定传感器需要每1 s 传输一次数据。为减少由此带来的系统繁忙或网络拥塞,引入轮询机制,可实现均衡负载。相关的硬件用于处理数据,以导航技术选择为参考来分析跟踪路径。

3 硬件设计

智能小车的硬件主要包括树莓派板、蓝牙模块、摄像机、GPS 追踪器、车体、直流电机(2 个)、舵机(2 个)等。其中,树莓派板和GPS 追踪器安装在底盘中间,上、下两个舵机垂直安装在底盘的前方,安装在上舵机上方的摄像头能上下摇摆,安装在下舵机的摄像头能左右摇摆。

对硬件系统按功能划分,可分为核心、车体驱动、信息采集及传输这3个子系统。

3.1 核心子系统

本研究采用树莓派3B+Broadcom BCM2837B0,支持蓝牙、WiFi、等通信方式。智能小车的核心子系统模块如图1所示。

图1 智能小车核心子系统模块

3.2 车体驱动子系统

为实现小车的左右转向、向前行驶、倒车等功能,系统采用L298N 模块,该模块拥有双通道输出(A、B),可实现对两路电机的不同控制与操作[6]。为确保电机有足够的功率来驱动小车,使用两个L298N 模块,剩余的引脚用于连接其他传感器。系统采用可进行PWM调速的单12 V输入模式对电机进行供电,电机驱动模块如图2所示。

图2 电机驱动模块

3.3 信息采集及传输子系统

为确保小车能按正常路线行驶,本研究采用超声波避障技术、GPS 定位技术和摄像机图像技术来采集路况信息和小车定位信息,并通过蓝牙模块来完成小车和手机端之间的信息和控制指令传输[7]。超声波避障模块如图3 所示。选用Trig 和Echo 超声波模块,分别连接GPIO29和GPIO31,Trig模块负责发射超声波,Echo模块负责接受超声波。VCC接树莓派5 V 接口,可实现对模块的供电,GND 接树莓派GND 接口,通过发射和接收的时间差来计算距离。

图3 超声波避障模块

4 软件设计

多功能控制系统是智能多功能小车的核心,系统通过树莓派及轮询方式来快速集成处理超声波避障模块、GPS 定位器和摄像机等采集到的信息,并形成决策指令,小车驱动模块能快速响应[8]。语音模块用于提示小车的运行状态和当前环境,蓝牙模块用来完成小车和手机间的通信。

按照多功能控制系统的整体功能,将多功能控制系统分GPS单元、黑线追踪单元、终端单元。

4.1 GPS单元

GPS 单元是基于百度提供的开发界面研发出的。首先,使用GPS模块来获取小车出发地和目的地的经纬度坐标。其次,调用百度地图的行走查询和出行距离来计算接口API,从而获取路径数据。再次,对所获得的路径数据进行分析,并捕获链路轨迹点的多段路线。最后,规划出整个路径。

为实现对小车的准确跟踪,需要采用基于矢量差的跟踪算法,将多段线集中的每个轨迹点作为一个跟踪周期。在每个跟踪周期内,沿小车前进的矢量方向,分别对小车当前移动方向和下一个目标轨迹点进行校准。

4.2 黑线跟踪单元

黑线跟踪单元是集避障、道路规划等功能为一体的大型综合单元。将通过该单元的超声波避障模块、OpenCv 图像识别模块和GPS 获取的数据上传多功能控制系统进行处理,并自动生成指令。

4.2.1 黑线跟踪。由于轨道为黑色,其余部分为非黑色,本研究采用二值化技术进行处理,通过二值化技术来区分轨道和背景。二值化处理是根据设定的阈值T,将图像数据分为两部分,即大于T的像素群和小于T的像素群,从而提取出目标物体。简单的阈值分割是选择一个全局阈值,将整个图像分割成黑色或白色的二值图像。如果灰度值大于阈值,则指定为255,否则指定为0;如果效果不好,则要调整c 型腐蚀膨胀度。常见的形态学处理法有腐蚀法和膨胀法。本研究采用腐蚀法,以结构单元中的最小值为锚定值[9],可通过腐蚀来去除二进制图像中阈值分割后出现的白噪声。被腐蚀的结构元素越大,目标物体的面积就越小,黑线跟踪单元效果如图4所示。

图4 黑线跟踪单元效果

4.2.2 小车避障。为使小车在识别出障碍物后能做出准确判断,采用障碍物识别法对道路两侧连续使用超声波检测。在识别出障碍物后,用超声波检测小车与障碍物的距离,用配有OpenCV模块的CSI摄像机对障碍物类型进行识别。如果检测到前方的障碍物为交通灯,在识别出交通灯的颜色后,根据交通规则采取行动,红绿灯识别过程如下。首先,初始化亮度设置的视频路径。其次,进行帧处理,调整视频亮度,分解YCrCb 的3 个组件,分解为红化和绿化,并对这两种颜色进行特征提取。再次,进行腐蚀扩展处理,消除其他噪声,提取交通信号信息。最后,给出识别结果。

4.3 终端单元

终端单元对小车行驶过程进行监控和最终控制。小车和手机端间的通信是通过蓝牙模块完成的,即树莓派车和手机端通过蓝牙进行信息交互,手机向小车发送控制命令,同时定义和处理命令数据。

在安装好多功能控制系统后,为按钮控件绑定一个侦听器,当按下按键后,就可通过蓝牙将数据发送到手机端的接收模块中[10]。具体实现步骤如下。首先,在Layout 文件中为控件设置一个ID,Java文件会根据其自动生成一个ID地址。其次,启动多功能控制系统的监控子程序。当按下按键后,根据按键控制的ID 地址,监控程序中的开关结构不断跳转,从而将不同数据发送到手机蓝牙模块。

多功能控制系统的Python子程序用来对蓝牙模块串口输入的信息进行分析,以抓取电机驱动器,从而实现控制汽车的目的。过程要初始化串口,包括设置微控制器每个端口的方向、校准微控制器的振荡频率及初始化每个变量。该程序会定期从蓝牙模块的串口读取数据,并对数据进行分析,自动生成指令。

5 系统调试

为测试多功能控制系统在实际应用中的功效,模拟当小车前面有多个障碍物时,多功能控制系统通过指令来重新规划并展示最优路线。

5.1 障碍物安全距离测试

在小车前方放置不同的障碍物,测试不同情况下的安全躲避距离。小车在捕捉到图像信息后,由于参数设置的问题,可能导致小车无法躲避障碍物。通过多次调试,不断修改参数值,使小车能准确判断出行人或障碍物,从而使多功能控制系统精准计算出安全距离,并发出精准的绕行指令。小车避障效果如图5所示。多功能控制系统计算出的最小安全距离为15 cm,此处小车开始执行躲避指令。

图5 小车避障效果

5.2 规划路径变化测试

使用百度API 来规划初始行驶路径,小车行驶时遇到障碍物,多功能控制系统会对来自OpenCv图像识别模块和超声波测距模块的数据进行分析,并自动生成绕行或改变行驶路径的指令,此时GPS会重新规划路径。经过测试证明,无论如何规划路径,小车都能准确到达目的地。

6 结语

基于树莓派和GPS 导航的智能避障小车设计是以自主开发的多功能控制系统为控制核心,实现了对树莓派的功能扩展。在多功能控制系统控制下,小车基于GPS导航能自动准确地感知和规避障碍物,并按规划路径行驶,能按时到达目的地。试验结果证明,基于树莓派多功能控制系统是一款较成熟的应用软件,具有良好的商业应用前景。

猜你喜欢

树莓障碍物蓝牙
蓝牙音箱的直线之美
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于树莓派的骑行智能头盔设计
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
基于树莓派的远程家居控制系统的设计
紧急:蓝牙指尖陀螺自燃!安全隐患频出
响应面法优化红树莓酒发酵工艺
土钉墙在近障碍物的地下车行通道工程中的应用