CN111142519A - 基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法 - Google Patents
基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法 Download PDFInfo
- Publication number
- CN111142519A CN111142519A CN201911302196.9A CN201911302196A CN111142519A CN 111142519 A CN111142519 A CN 111142519A CN 201911302196 A CN201911302196 A CN 201911302196A CN 111142519 A CN111142519 A CN 111142519A
- Authority
- CN
- China
- Prior art keywords
- data
- information
- upper computer
- trolley
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000012549 training Methods 0.000 claims abstract description 37
- 238000013528 artificial neural network Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 41
- 238000007781 pre-processing Methods 0.000 claims description 17
- 240000007651 Rubus glaucus Species 0.000 claims description 16
- 235000011034 Rubus glaucus Nutrition 0.000 claims description 16
- 235000009122 Rubus idaeus Nutrition 0.000 claims description 16
- 238000003062 neural network model Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000033001 locomotion Effects 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 4
- 230000004888 barrier function Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000004148 unit process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0055—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
- G05D1/0077—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements using redundant signals or controls
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0255—Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明涉及一种基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法,该系统使用树莓派搭载Arduino,摄像头等硬件模块,并使用MLP神经网络做出行为决策进行路径识别的自动驾驶小车,用Arduino、树莓派和摄像头等模块为主的硬件环境搭建小车,小车将摄像头采集到的数据发送到上位机,上位机保存图像作为神经网络训练集,调用OpenCV,numpy等工具进行处理。上位机搭建神经网络并训练模型。上位机接收图像数据,加载训练模型,解算图像得出控制参数发送给小车。经过测试,验证了小车可以使用摄像头进行图像采集并由上位机处理保存,上位机可以训练MLP神经网络得到模型,通过调用网络模型小车可以在特定路径下做出沿当前路径行驶、转弯或停止等决策。
Description
技术领域
本发明属于自动驾驶技术领域,具体涉及一种基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法。
背景技术
目前,自动驾驶主要依靠两方面的技术:一是通过计算机视觉提供的图像处理技术来识别道路状况以判断汽车的驾驶方向;另一种是通过激光雷达和提前环境建模来实现汽车在道路上的行驶。但不管是采用计算机视觉还是采用激光雷达的设计都会存在对突发路径状况无法识别的问题。传统的计算机视觉在对障碍物细分的检测上能力强,但对环境要求高,运用范围比较窄,参数多,无法准确判断物体的运动状态。用激光雷达等设备其优点在于探测距离远,稳定性好,对于障碍物的大类的识别效果好,但存在无法识别车牌,限速牌,红绿灯等问题。
因此,一种可以两者兼顾的自动驾驶系统方案显得尤为重要。
发明内容
本发明提供一种基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法,解决上述现有技术的不足。
为了达到上述目的,本发明的技术方案如下:
基于计算机视觉和超声波雷达冗余的自动驾驶系统,包括数据采集单元、数据处理单元、MLP神经网络和底层控制单元;
数据采集单元包括路况图片信息采集模块和障碍超声波信息采集模块,数据采集单元将采集信息发送到数据处理单元;
数据处理单元为PC机,包括图片数据处理模块和超声波数据处理模块;图片数据处理模块依次包括解码图像、灰度处理、选取ROI区域、二值化和归一化;超声波数据处理模块依次包括触发信号、距离计算;
MLP神经网络内设置训练模型,训练模型得出控制参数并通过蓝牙传输通信模块发送给所述底层控制单元,所述底层控制单元完成对小车的控制。
基于计算机视觉和超声波雷达冗余的自动驾驶控制方法,包括以下步骤:
(1)、数据的预处理:预处理包括对采集到的图片数据的预处理以及对障碍物触发信息的预处理;预处理包括,灰度处理图片信息,选取感兴趣区域,并对超声波雷达回传时间信息解算出位置信息;
(2)、数据传输:数据流通过局域网从模型车客户端传播到上位机服务器端,上位机调用神经网络模型后把控制参数通过蓝牙传播到模型车;
(3)、收集训练数据;采用上位机端捕获按键输入值的方式,上位机通过电脑键盘按键,控制小车的移动;每当按键按下,电脑端捕获键值与视频帧等信息,并做为训练数据保存;
(4)、神经网络模型搭建与训练;在上位机端搭建多层感知器的神经网络模型,将步骤(1)采集到的数据通过步骤(2)传输到上位机,训练得到成熟的多层感知器:通过输入的训练集数据,多层感知器输出对模型车的控制信息,模型车的控制信息包括前进、后退以及方向的控制。
通过步骤(2)在上位机处理数据集,调用训练好的多层感知器模型,得到控制信息,使模型小车自动在特定的跑道上完成前进转向等驾驶功能。
与现有技术相比,本发明的有益效果如下:
经过测试,验证了本发明小车可以使用摄像头进行图像采集并由上位机处理保存,上位机可以训练MLP神经网络得到模型,通过调用网络模型小车可以在特定路径下做出沿当前路径行驶、转弯或停止等决策。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他实施例的附图。
图1为本发明系统功能结构图;
图2为本发明系统功能设计图;
图3为本发明整体功能结构框图;
图4为本发明小车底层驱动总体结构图;
图5为本发明上位机软件程序设计结构图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。
参见图1-图5所示的一种基于树莓派和Arduino的单目摄像头和超声波雷达的自动驾驶系统,通过OpenCV运用和使用相关库函数实现计算机视觉相关图像处理以及使用神经网络模块搭建神经网络框架,系统结构依次分为数据采集单元、数据处理单元、MLP神经网络和底层控制单元。
所述数据采集单元主要用来采集小车运行过程中的信息,包括:路况信息和障碍信息;路况信息是指路况图片数据,障碍信息是指超声波回传数据,并将获取的数据发送到数据处理模块。
所述数据处理单元对获得的数据进行处理,图片数据的处理依次包括解码图像、灰度处理、选取ROI区域、二值化和归一化,超声波回传数据的处理依次包括触发信号、距离计算;摄像头主要采集路况中的信息,超声波雷达主要采集道路附近障碍物与小车之间的距离信息。数据处理单元在上位机利用OpenCV工具集对图像进行处理并保存相关信息。
所述神经网络单元采用OpenCV中的机器学习算法,该算法设计一个多层感知机,采用误差回传的方式进行调整。计算机视觉结合神经网络以解决在小车运行途中对路径的识别问题,也可以有效保证对车牌、红绿灯等标志物的识别。同时用超声波雷达来弥补车辆在运行途中视觉处理对路径中经常出现或偶发性的大类障碍物的识别,可以检测到偶发性的超车、岔路口或者图像识别无法判断的道路堵塞等突发状况。所述底层控制单元由控制小车电机运转方式的Arduino程序以及通过树莓派摄像头采集数据并发送给上位机的数据采集及发送程序构成。电机驱动程序接收由上位机蓝牙发送的控制信号,Arduino从串口循环读取,如果有命令就执行命令,用获取到相应的串口参数控制驱动模块TB6612FNG,没有命令就reset继续等待。
根据本发明优选的,所述数据采集单元是指由摄像头模块和超声波雷达模块,以及Arduino模块组成的外部环境数据采集系统,摄像头由于采集路况的图片信息,超声波雷达用于采集路况的障碍物的触发信息。
根据本发明优选的,获取的路况信息通过摄像头与超声雷达两个模块采集,用OpenCV,numpy等工具处理信息,并通过socket通信将路况信息(摄像头图片信息与超声波的触发信息)以数据流的行驶传递到处理单元。
根据本发明优选的,本发明的模型车提供了两个硬件方面的模型车接口,通过Python编写的树莓派接口,将模型车在运动过程中的路况信息传递处理单元的硬件接口;通过C语言编写的Arduino硬件接口,将控制信息通过处理单元传递给模型车的硬件接口。
基于计算机视觉和超声波雷达冗余的自动驾驶控制方法,用于实现模型车在存在障碍物的特定车道上的自动驾驶,步骤如下:
(1)数据的预处理;预处理包括对采集到的图片数据的预处理以及对障碍物触发信息的预处理;预处理包括,灰度处理图片信息,选取感兴趣区域,并对超声波雷达回传时间信息解算出位置信息。
(2)数据传输;数据流通过局域网从模型车客户端传播到上位机服务器端,上位机调用神经网络模型后把控制参数通过蓝牙传播到模型车。
(3)收集训练数据;采用上位机端捕获按键输入值的方式,上位机通过电脑键盘按键,控制小车的移动。每当按键按下,电脑端捕获键值与视频帧等信息,并做为训练数据保存。
(4)神经网络模型搭建与训练;在上位机端搭建多层感知器的神经网络模型,将步骤(1)采集到的数据通过步骤(2)传输到上位机,训练得到成熟的多层感知器:通过输入的训练集数据,多层感知器输出对模型车的控制信息,模型车的控制信息包括前进、后退以及方向的控制。
通过步骤(2)在上位机处理数据集,调用训练好的多层感知器模型,得到控制信息,使模型小车自动在特定的跑道上完成前进转向等驾驶功能。
根据本发明优选的,所述步骤(1),数据的预处理包括:
A、使用树莓派摄像头采集视频流获取大量的视频帧数据;使用超声波传感器实时获取传感器信息的障碍信息;
B、对图像数据做人工提取特征,使用OpenCV,numpy等数学工具处理图像,包括灰度化,归一化,选取ROI区域,向量化图像数据;对超声波雷达数据进行结算,实时处理时间的返回数据,检测小车周围障碍排查并定位。
根据本发明优选的,所述步骤(2),数据传输包括:
C、小车端通过树莓派与上位机通过局域网相连,摄像头采集数据将从树莓派采集到的数据发送到上位机;
D、上位机端与小车树莓派外扩的Arduino通过蓝牙模块相连,上位机将调用神经网络模型解算图片数据所取得的控制信息发送到小车的Arduino底板,控制小车前方向。
步骤(3),采集训练数据。其方式为按键捕获方式,调用pygame库获取电脑按键每次操作后的键值。
步骤(4),神经网络模型搭建与训练。使用OpenCV中的机器学习算法搭建多层感知器,此感知器包括,一个输入层,一个隐含层与一个输出层,采用反向传播调整训练神经网络。
该多层感知器神经网络为3层全连接结构,设定采集图片大小为320x240,经过步骤(1)人工提取特征值后,转化为38400个特征点输入神经网络模型。隐含层64个,输出层6个,输出小车控制信息,前,后,左,右,左前,右前,左后,右后。
本发明系统软件的实现如下:
底层驱动软件程序的实现是树莓派与Arduino之间通过建立串行协议通信,由后者使用PWM向电机发送指令(方向和速度)。由于Arduino没有提供串口写入的有效方式,为了使两块板卡之间可以进行通信,采用一种自制的串行协议,基于单字节写入Arduino方法Serial.write()完成两板之间的通信连接。
采集数据与发送模块主要实现的方法为:
(1)在小车的树莓派上传输数据的时候首先初始化一个socket客户端;
(2)绑定的到相应的IP地址;
(3)对picamera的摄像头设定;
(4)设置传输流;
(5)树莓派客户端把摄像头的数据作为jpeg图像传给主机。
收集训练数据程序模块的主要的实现步骤为下:
(1)初始化一个socket服务器,绑定IP地址和套接字,作为接受树莓派小车传递图像数据到上位机的服务器端。在这一步,我们需要在主机上初始化一个socket服务器,用于接收来自小车上客户端发送的请求。设置绑定的PC地址需要与树莓派客户端地址一致。之后我们就开始监听,并返回套接字对象。通过socket编程,实现返回套接字对象,接受客户端的一个连接,实现网络通信客户端与服务器端的连接。同时,打开串口,设置串口参数,为实现蓝牙通信做准备。
(2)创建并设置相关变量,初始化按键识别功能模块相关功能。设置每个图像的大小是1*38400,图像标签的大小是1*4,调用numpy库函数,初始化图像变量和图像标签为0,为进一步从摄像头收集图像,逐帧获取图像做好准备。收集图像,从摄像头收集图像,这里设置每个图像的数组大小是1*38400,图像标签的大小是1*4。设置两个变量saved_frame和total_frame其中,saved_frame表示已经保存的帧,total_frame表示所有的帧。
(3)建立socket连接后,检测流的连通性。接着从视频流里里读取传输图像数据包的包头以及包尾,也就图片的数据长度,如果长度为0则退出循环,如果读出图片的长度,则使用OpenCV的Imdecode()函数获取图像。其中imdecode函数的作用为从内存中读取图片,如果内存中的数据存在异常或者不是合法的数据就返回一个空的矩阵。
(4)每次先读取1024长度的数据,测试socket是否能连接成功。之后通过两个标签查找视频帧的开始和结束的位置,如果开始和结束的位置都找到了,解码图片,将其做灰度处理,选取ROI区域等操作。
(5)在图像中选择感兴趣的区域(ROI区域),因为考虑到在小车运行,摄像头采集的画面包含很多无关因素,而摄像头采集的路况信息在图像中显示的主要的路径因素部分也基本上集中在图像的下半部分,图片的上半部分主要是一些环境因素。为去除图像中无关信息的干扰,我们选择图像的下半部分作为ROI。
(6)调用OpenCV的imwrite()函数把每一帧的视频图像读取出来并保存,使用imshow()函数解码并显示图像。同时,将设置好ROI区域的图像数据由矩阵转换为一维numpy数组。我们调用OpenCV的imwrite来保存获取的图片数据,用imshow函数来在上位机窗口显示我们获取到的图片数据,并使用roi.reshape把下半部分的图片转换成一维数组
(7)如果输入是四个操作(前后左右)之一,那么这个frame就保存起来,saved_frame+=1,而不管输入的操作是什么,total_frame+=1。把获取的训练图片和标签数据转换为numpy,保存,其中保存数组及标签使用numpy.savez函数。
神经网络模型与训练模块程序实现步骤如下:
(1)记录训练数据加载的开始时间;
(2)载入训练数据;
(3)对每张图片,空白图像和训练图像上下合并;
(4)输出载入图片的时间;
(5)将数据以7:3的比例作为训练和测试数据;
(6)创建一个多层感知机;
(7)指定停止条件;
(8)设置一些参数;
(9)进行训练;
(10)记录训练停止时间,输出训练持续时间;
(11)在训练集中的预测准确率;
(12)在测试数据的预测准确率;
初始化多线程服务器具体操作如下:
(1)树莓派通过socket通信将图像信息发送到上位机端;
(2)上位机选择ThreadingTCPserver作为服务器类型(ThreadingTCPserver就是指面向TCP连接的多线程服务器);
(3)上位机通过调用定义请求处理handle类;
(4)绑定套接字地址并实例化服务器后;
(5)调用serve_forever()方法,处理来自客户端的请求.
小车总体测试:
在搭建并调试好小车的硬件环境,设置好小车的蓝牙,socket通信方式后,并在完成了小车的训练数据的采集,并得到训练好的MLP模型前提下,我们将小车和PC机连接在同一网段下,开启小车上搭载的客户端和PC上的服务器端,在预先的铺设好的路径下进行小车自动驾驶的测试。小车在直线路径下行驶,测试结果显示小车在直线路径下行驶可以很好的沿路径行驶并保持在车道线内。小车在弯道路径下的测试,测试结果显示,小车可以在弯道内沿路径行驶。小车在行驶途中摄像头采集图像对应的小车决策结果。经过测试可知,训练神经网络效果良好,小车可以很好的沿预先设定好的路径行驶并保持在车道线内。
本发明使用Arduino、树莓派和摄像头等模块为主的硬件环境搭建小车。小车将摄像头采集到的数据发送到上位机。上位机保存图像作为神经网络训练集,调用OpenCV,numpy等工具进行处理。上位机搭建神经网络并训练模型。上位机接收图像数据,加载训练模型,解算图像得出控制参数发送给小车,实现对小车的控制。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (5)
1.基于计算机视觉和超声波雷达冗余的自动驾驶系统,其特征在于,包括数据采集单元、数据处理单元、MLP神经网络和底层控制单元;
所述数据采集单元包括路况图片信息采集模块和障碍超声波信息采集模块,数据采集单元将采集信息发送到数据处理单元;
所述数据处理单元为PC机,包括图片数据处理模块和超声波数据处理模块;图片数据处理模块依次包括解码图像、灰度处理、选取ROI区域、二值化和归一化;超声波数据处理模块依次包括触发信号、距离计算;
所述MLP神经网络内设置训练模型,训练模型得出控制参数并通过蓝牙传输通信模块发送给所述底层控制单元,所述底层控制单元完成对小车的控制。
2.基于计算机视觉和超声波雷达冗余的自动驾驶控制方法,其特征在于,包括以下步骤:
(1)、数据的预处理:预处理包括对采集到的图片数据的预处理以及对障碍物触发信息的预处理;预处理包括,灰度处理图片信息,选取感兴趣区域,并对超声波雷达回传时间信息解算出位置信息;
(2)、数据传输:数据流通过局域网从模型车客户端传播到上位机服务器端,上位机调用神经网络模型后把控制参数通过蓝牙传播到模型车;
(3)、收集训练数据;采用上位机端捕获按键输入值的方式,上位机通过电脑键盘按键,控制小车的移动;每当按键按下,电脑端捕获键值与视频帧等信息,并做为训练数据保存;
(4)、神经网络模型搭建与训练;在上位机端搭建多层感知器的神经网络模型,将步骤(1)采集到的数据通过步骤(2)传输到上位机,训练得到成熟的多层感知器:通过输入的训练集数据,多层感知器输出对模型车的控制信息,模型车的控制信息包括前进、后退以及方向的控制;
通过步骤(2)在上位机处理数据集,调用训练好的多层感知器模型,得到控制信息,使模型小车自动在特定的跑道上完成前进转向等驾驶功能。
3.根据权利要求2所述的控制方法,其特征在于,所述步骤(1)中数据的预处理具体包括:
A、使用树莓派摄像头采集视频流获取大量的视频帧数据;使用超声波传感器实时获取传感器信息的障碍信息;
B、对图像数据做人工提取特征,使用OpenCV,numpy工具处理图像,包括灰度化,归一化,选取ROI区域,向量化图像数据;对超声波雷达数据进行结算,实时处理时间的返回数据,检测小车周围障碍排查并定位。
4.根据权利要求3所述的控制方法,其特征在于,所述步骤(2)中数据传输具体包括:
C、小车端通过树莓派与上位机通过局域网相连,摄像头采集数据将从树莓派采集到的数据发送到上位机;
D、上位机端与小车树莓派外扩的Arduino通过蓝牙模块相连,上位机将调用神经网络模型解算图片数据所取得的控制信息发送到小车的Arduino底板,控制小车前方向。
5.根据权利要求4所述的控制方法,其特征在于,所述步骤(4)中多层感知器神经网络为3层全连接结构,设定采集图片大小为320x240,经过步骤(1)人工提取特征值后,转化为38400个特征点输入神经网络模型。隐含层64个,输出层6个,输出小车控制信息,前,后,左,右,左前,右前,左后,右后。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302196.9A CN111142519A (zh) | 2019-12-17 | 2019-12-17 | 基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911302196.9A CN111142519A (zh) | 2019-12-17 | 2019-12-17 | 基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111142519A true CN111142519A (zh) | 2020-05-12 |
Family
ID=70518577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911302196.9A Pending CN111142519A (zh) | 2019-12-17 | 2019-12-17 | 基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111142519A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813129A (zh) * | 2020-07-30 | 2020-10-23 | 南京工程学院 | 一种基于立体视觉的狭小空间远程搜救机器人的避障方法 |
CN112572418A (zh) * | 2020-12-15 | 2021-03-30 | 北京百度网讯科技有限公司 | 一种无人驾驶车辆的控制方法、装置及电子设备 |
CN117692832A (zh) * | 2023-05-29 | 2024-03-12 | 荣耀终端有限公司 | 超声波通路与耳机通路的冲突解决方法及相关装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049634A (zh) * | 2014-07-02 | 2014-09-17 | 燕山大学 | 基于Camshift算法的智能体模糊动态避障方法 |
CN106873566A (zh) * | 2017-03-14 | 2017-06-20 | 东北大学 | 一种基于深度学习的无人驾驶物流车 |
CN108196546A (zh) * | 2018-01-03 | 2018-06-22 | 驭势(上海)汽车科技有限公司 | 智能驾驶车辆的安全性监控系统及方法 |
CN108270963A (zh) * | 2017-01-04 | 2018-07-10 | 广西师范大学 | 智能控制移动摄像监控系统及其控制方法 |
CN108664028A (zh) * | 2018-05-21 | 2018-10-16 | 南昌航空大学 | 便于二次开发的全向视觉智能小车 |
CN109446919A (zh) * | 2018-09-30 | 2019-03-08 | 贵州大学 | 一种基于端到端学习的视觉车道保持方法 |
CN109901595A (zh) * | 2019-04-16 | 2019-06-18 | 山东大学 | 一种基于单目摄像头和树莓派的自动驾驶系统及方法 |
CN110347043A (zh) * | 2019-07-15 | 2019-10-18 | 武汉天喻信息产业股份有限公司 | 一种智能驾驶控制方法及装置 |
-
2019
- 2019-12-17 CN CN201911302196.9A patent/CN111142519A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104049634A (zh) * | 2014-07-02 | 2014-09-17 | 燕山大学 | 基于Camshift算法的智能体模糊动态避障方法 |
CN108270963A (zh) * | 2017-01-04 | 2018-07-10 | 广西师范大学 | 智能控制移动摄像监控系统及其控制方法 |
CN106873566A (zh) * | 2017-03-14 | 2017-06-20 | 东北大学 | 一种基于深度学习的无人驾驶物流车 |
CN108196546A (zh) * | 2018-01-03 | 2018-06-22 | 驭势(上海)汽车科技有限公司 | 智能驾驶车辆的安全性监控系统及方法 |
CN108664028A (zh) * | 2018-05-21 | 2018-10-16 | 南昌航空大学 | 便于二次开发的全向视觉智能小车 |
CN109446919A (zh) * | 2018-09-30 | 2019-03-08 | 贵州大学 | 一种基于端到端学习的视觉车道保持方法 |
CN109901595A (zh) * | 2019-04-16 | 2019-06-18 | 山东大学 | 一种基于单目摄像头和树莓派的自动驾驶系统及方法 |
CN110347043A (zh) * | 2019-07-15 | 2019-10-18 | 武汉天喻信息产业股份有限公司 | 一种智能驾驶控制方法及装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111813129A (zh) * | 2020-07-30 | 2020-10-23 | 南京工程学院 | 一种基于立体视觉的狭小空间远程搜救机器人的避障方法 |
CN112572418A (zh) * | 2020-12-15 | 2021-03-30 | 北京百度网讯科技有限公司 | 一种无人驾驶车辆的控制方法、装置及电子设备 |
US11891085B2 (en) | 2020-12-15 | 2024-02-06 | Apollo Intelligent Connectivity (Beijing) Technology Co., Ltd. | Method and apparatus of controlling driverless vehicle and electronic device |
CN117692832A (zh) * | 2023-05-29 | 2024-03-12 | 荣耀终端有限公司 | 超声波通路与耳机通路的冲突解决方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020001223A1 (zh) | 交通信号灯检测及智能驾驶方法和装置、车辆、电子设备 | |
CN111142519A (zh) | 基于计算机视觉和超声波雷达冗余的自动驾驶系统及其控制方法 | |
US11120280B2 (en) | Geometry-aware instance segmentation in stereo image capture processes | |
WO2018103023A1 (zh) | 人机混合决策方法和装置 | |
CN114676844A (zh) | 用于自动驾驶的方法、装置、设备、计算机可读存储介质 | |
CN113348122A (zh) | 从传感器视场排除车辆的模型 | |
KR20210034097A (ko) | 자율주행 차량들을 위한 카메라 평가 기술들 | |
US11250279B2 (en) | Generative adversarial network models for small roadway object detection | |
CN107408304A (zh) | 挂车追踪装置和方法 | |
CN112784814B (zh) | 车辆倒车入库的姿态识别方法及输送车倒车入库引导系统 | |
CN111796287A (zh) | 一种自动驾驶汽车道路数据采集分析装置 | |
CN113788051A (zh) | 列车在站运行状态监测分析系统 | |
Ismail et al. | Vision-based system for line following mobile robot | |
CN116634638A (zh) | 灯光控制策略的生成方法、灯光控制方法以及相关装置 | |
Wang et al. | End-to-end driving simulation via angle branched network | |
Mygapula et al. | Cnn based end to end learning steering angle prediction for autonomous electric vehicle | |
CN118385157A (zh) | 一种基于深度学习和自适应抓取的视觉分类垃圾自动分拣系统 | |
CN117292352B (zh) | 面向开放世界目标检测的障碍识别与避障方法及小车系统 | |
CN117953578A (zh) | 基于深度视觉技术的电梯乘员行为检测方法 | |
CN117373285A (zh) | 风险预警模型训练方法、风险预警方法及自动驾驶车辆 | |
CN113298044B (zh) | 基于定位补偿的障碍物检测方法、系统、设备及存储介质 | |
CN111160224B (zh) | 一种基于fpga和地平线分割的高铁接触网异物检测系统及方法 | |
CN110347043B (zh) | 一种智能驾驶控制方法及装置 | |
CN113469994A (zh) | 受电弓检测方法、装置、电子设备和存储介质 | |
CN113734194B (zh) | 智能车、控制系统、控制方法、计算机设备、智能终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200512 |
|
RJ01 | Rejection of invention patent application after publication |