计算机科学与人工智能
河南科技
Henan Science and Technology
总第811期第17期
2023年9月收稿日期:2023-04-12
作者简介:李承泽(2002—),男,本科生,研究方向:电子信息科学与技术。
基于树莓派和GPS 导航的智能避障小车设计
李承泽
(西北大学信息科学与技术学院,陕西
西安
710119)
要:【目的】实现无人驾驶智能多功能小车的自动感知、规避障碍物功能,并使其按GPS 导航的
路径行驶。【方法】基于树莓派和GPS 导航对智能避障小车进行设计,以自主开发的多功能控制系统为小车的指挥协调中枢,从而实现小车高速行驶时的黑线循迹单元功能。同时,系统通过轮询机制来实现均衡负载,可确保小车的操作能准确感知规避障碍物,并减少由每1s 进行一次数据传输造成的系统繁忙或网络拥塞。【结果】研究结果表明,智能避障小车可自动准确地感知和规避障碍物,并按规划路径行驶。【结论】基于树莓派和GPS 导航的智能避障小车设计具有良好的商业应用前景。
关键词:树莓派;GPS 导航;多功能控制系统;自动驾驶中图分类号:TP368.1
文献标志码:A
文章编号:1003-5168(2023)17-0031-04
DOI :10.19968/jki.hnkj.1003-5168.2023.17.006
Design of Intelligent Obstacle Avoidance Vehicle Based on Raspberry
Pi and GPS Navigation
LI Chengze
(School of Information Science and Technology,Northwestern University,Xi'an 710119,China)
Abstract:[Purposes ]This paper aims to realize the automatic perception and obstacle avoidance function
of the unmanned intelligent multi-functional vehicle,and make it travel according to the path of GPS navigation.[Methods ]Based on Raspberry Pi and GPS navigation,the intelligent obstacle avoidance car
was designed.The self-developed multi-functional control system was used as the command and coordi⁃nation center of the car,so as to realize the black line tracking unit function when the car was running at
high speed.At the same time,the system realizes balanced load through the polling mechanism,which can ensure that the operation of the car can accurately perceive and avoid obstacles,and reduce the sys⁃tem busyness or network congestion caused by data transmission every 1s.[Findings ]The results show that the intelligent obstacle avoidance vehicle can automatically and accurately perceive and avo
id ob⁃stacles,and drive according to the planned path.[Conclusions ]The design of intelligent obstacle avoid⁃
ance vehicle based on Raspberry Pi and GPS navigation has a good commercial application prospect.Keywords:Raspberry Pi;GPS navigation;multifunctional control system;autonomous driving
0引言
基于GPS 的树莓派智能小车可通过状态分析系统来自动规划路线和识别交通信号,从而保证车
辆的安全运行[1-5]。在无人驾驶领域,通过智能定位和路况分析系统来实现智能规划路线和识别交通信号,可确保无人驾驶车辆的安全运行。此外,智能小车进入危险场所,通过Opencv 图像识别模块能及时
了解现场情况,为救援提供相应的信息。因此,智能避障设计具有较高的经济价值和广阔的应用前景。
1
设计难点
除了要实现自动驾驶外,在行驶过程中,无人驾驶的智能汽车还要处理大量信息,如当前路况、现有位置等,从而导致应用程序开发困难重重。
1.1
GPS 定位和终端显示问题
GPS 定位模块用于对汽车进行准确定位汽车,
终端显示可用于显示位置信息。如何将汽车的位置信息上传,并反馈到相应的终端平台显示器上,
成为要解决的技术难点。
1.2
障碍物识别和路线行进问题
由于GPS 的定位精度较差,无法实时判断障碍物,导致移动的汽车无法正确读取障碍物位置,并避开障碍物。如何提高汽车对道路和障碍物识别的准确性(如对交通灯和人体的识别),成为一个要攻克的技术难题。
2
系统设计
树莓派将采集到视频和超声波避障信息上传到多功能控制系统,系统对上传的信息进行处理,并自动生成指令,由手机端完成对小车行驶过程的监控和最终控制,由蓝牙模块完成小车和手机端的通信。多功能控制系统是多功能小车的指挥协调中枢,小车在行驶过程中,超声波避障模块、OpenCv 图像识别模块和GPS 模块将采集到的数据上传给多功能控制系统进行处理,并将生成的指令交由车
体驱动模块执行。
为确保无人驾驶汽车能准确感知、规避障碍物,规定传感器需要每1s 传输一次数据。为减少由此带来的系统繁忙或网络拥塞,引入轮询机制,可实现均衡负载。相关的硬件用于处理数据,以导航技术选择为参考来分析跟踪路径。
3
硬件设计
智能小车的硬件主要包括树莓派板、蓝牙模块、摄像机、GPS 追踪器、车体、直流电机(2个)、舵机
(2个)等。其中,树莓派板和GPS 追踪器安装在底盘中间,上、下两个舵机垂直安装在底盘的前方,安装在上舵机上方的摄像头能上下摇摆,安装在下舵机的摄像头能左右摇摆。
对硬件系统按功能划分,可分为核心、车体驱动、信息采集及传输这3个子系统。
3.1
核心子系统
本研究采用树莓派3B+Broadcom BCM2837B0,支持蓝牙、WiFi 、等通信方式。智能小车的核心子系统模块如图1所示。
3.2
车体驱动子系统
为实现小车的左右转向、向前行驶、倒车等功能,系统采用L298N 模块,该模块拥有双通道输出(A 、B ),可实现对两路电机的不同控制与操作[6]。为确保电机有足够的功率来驱动小车,使用两个L298N 模块,剩余的引脚用于连接其他传感器。系统采用可进行PWM 调速的单12V 输入模式对电机
进行供电,电机驱动模块如图2所示。
汽车gps导航图1智能小车核心子系统模块
3V3power
GPIO 2(SDA)GPIO 3(SCL)GPIO 4(GPCLKO)
Ground GPIO 17GPIO 27GPIO 223V3power GPIO 10(MOSI)GPIO 9(MISO)GPIO 11(SCLK)
Ground
GPIO 0(ID_SD)
GPIO 5GPIO 6
GPIO 13(PWM1)GPIO 19(PCM_FS)
GPIO 26Ground
5V power 5V power Ground GPIO 14(TXD )GPIO 15(RXD )GPIO 18(PCM _CLK )Ground GPIO 23GPIO 24Ground GPIO 25GPIO 8(CE0)GPIO 7(CE1)GPIO 1(ID_SC )Ground GPIO 12(PWMO )Ground GPIO 16GPIO 20(PCM_DIN )GPIO 21(PCM_DOUT )
12345678
910111213141516171819202122232425262728293031323334353637383940
图2电机驱动模块
3.3
信息采集及传输子系统
为确保小车能按正常路线行驶,本研究采用超声波避障技术、GPS 定位技术和摄像机图像技术来采集路况信息和小车定位信息,并通过蓝牙模块来完成小车和手机端之间的信息和控制指令传输[7]
超声波避障模块如图3所示。选用Trig 和Echo 超声波模块,分别连接GPIO29和GPIO31,Trig 模块负责发射超声波,Echo 模块负责接受超声波。VCC 接树莓派5V 接口,可实现对模块的供电,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 摄像机对障碍物类型进行识别。如果检测到前方的障碍物为交通灯,在识别出交通灯的颜后,根据交通规则采取行动,红绿灯识别过程如下。首先,初始化
超声波模块
VCC
Trig
Echo GND
GND
Pin31Pin295V
接树莓派
出A
出B
通道使能高电平输出A 、B
板载5V 使能
A
G
B
A 通道逻辑输入
B 通道逻辑输入通道使能
亮度设置的视频路径。其次,进行帧处理,调整视频亮度,分解YCrCb的3个组件,分解为红化和绿化,并对这两种颜进行特征提取。再次,进行腐蚀扩展处理,消除其他噪声,提取交通信号信息。最后,给出识别结果。
4.3终端单元
终端单元对小车行驶过程进行监控和最终控制。小车和手机端间的通信是通过蓝牙模块完成的,即树莓派车和手机端通过蓝牙进行信息交互,手机向小车发送控制命令,同时定义和处理命令数据。
在安装好多功能控制系统后,为按钮控件绑定一个侦听器,当按下按键后,就可通过蓝牙将数据发送到
手机端的接收模块中[10]。具体实现步骤如下。首先,在Layout文件中为控件设置一个ID,Java文件会根据其自动生成一个ID地址。其次,启动多功能控制系统的监控子程序。当按下按键后,根据按键控制的ID地址,监控程序中的开关结构不断跳转,从而将不同数据发送到手机蓝牙模块。
多功能控制系统的Python子程序用来对蓝牙模块串口输入的信息进行分析,以抓取电机驱动器,从而实现控制汽车的目的。过程要初始化串口,包括设置微控制器每个端口的方向、校准微控制器的振荡频率及初始化每个变量。该程序会定期从蓝牙模块的串口读取数据,并对数据进行分析,自动生成指令。5系统调试
为测试多功能控制系统在实际应用中的功效,模拟当小车前面有多个障碍物时,多功能控制系统通过指令来重新规划并展示最优路线。
5.1障碍物安全距离测试
在小车前方放置不同的障碍物,测试不同情况下的安全躲避距离。小车在捕捉到图像信息后,由于参数设置的问题,可能导致小车无法躲避障碍物。通过多次调试,不断修改参数值,使小车能准确判断出行人或障碍物,从而使多功能控制系统精准计算出安全距离,并发出精准的绕行指令。小车避障效果如图5所示。多功能控制系统计算出的最小安全距离为15cm,此处小车开始执行躲避指令。5.2规划路径变化测试
使用百度API来规划初始行驶路径,小车行驶时遇到障碍物,多功能控制系统会对来自
OpenCv
图5小车避障效果
图像识别模块和超声波测距模块的数据进行分析,并自动生成绕行或改变行驶路径的指令,此时GPS 会重新规划路径。经过测试证明,无论如何规划路径,小车都能准确到达目的地。
6结语
基于树莓派和GPS导航的智能避障小车设计是以自主开发的多功能控制系统为控制核心,实现了对树莓派的功能扩展。在多功能控制系统控制下,小车基于GPS导航能自动准确地感知和规避障碍物,并按规划路径行驶,能按时到达目的地。试验结果证明,基于树莓派多功能控制系统是一款较成熟的应用软件,具有良好的商业应用前景。
参考文献:
[1]万苗,任杰,马苗,等.多任务学习在中国方言分类中的应用研究[J].计算机技术与发展,2022(4):109-115.
[2]李炳荣,龙诺春,林春景.基于蓝牙的快递柜系统设计与实现[J].自动化应用,2023(1):1-3,7.
[3]马特·理查德森,肖恩·华莱士.爱上RaspberryPi[M].李凡希,译.北京:科学出版社,2013.
[4]付根平,朱立学,张世昂.基于ROS和激光雷达SLAM的实训机器人[J].信息技术与信息化,2021(11):32-35,42.
[5]刘丽伟,朱绪康,李秀华,等.低成本移动机器人2DSLAM算法地图评估研究[J].计算机仿真,2021(4):291-295,320.
[6]鲍锡桉,孙巧妍,张德军,等.基于ROS和SLAM的全向移动语音机器人设计[J].单片机与嵌入式系统应用,2021(10):59-62,67.
[7]张春香.基于阿里云的智慧消防系统的开发与设计[J].电脑知识与技术,2020(36):84-86.
[8]李喜鹏,陈嘉威,赵长安.基于树莓派的车载无线视频传输系统[J].科技创新与应用,2017(7):87-89.
[9]刘强强,翟宝蓉,任凯.基于DHT11的温湿度监测系统[J].华北科技学院学报,2017(5):59-63.
[10]刘灿华,吴丽丽,谢月霞.电动按摩椅电机的选择与驱动电路设计[J].家电科技,2021(S1):537-540.