基于改进Sobel算子的智能车行驶控制系统及方法与流程

文档序号:15345353发布日期:2018-09-04 22:41阅读:303来源:国知局

本发明涉及一种智能小车控制系统,尤其涉及的是一种基于摄像头传感器的嵌入式智能车行驶控制系统。



背景技术:

随着城市交通的日益发展,传统的人工驾驶汽车出现了种种弊端,自动驾驶技术的研究也随之成为热门话题,从2010年10月谷歌公司在官方博客中宣布正在开发自动驾驶汽车,随后便掀起了研发的热潮,自动驾驶技术应用前景广阔,不仅能提高交通系统的运行效率,更能缓解司机长时间驾驶的疲劳,大大降低交通安全事故的发生率,近年来,自动驾驶技术正朝着实用化、生活化、智能化的方向蓬勃发展,以自动驾驶为背景的智能小车,作为自动驾驶汽车的一种尝试,在近几年得到越来越多的发展,但现有技术在智能车应用过程中存在以下缺点:第一,不能有效的判断出“圆环”等复杂赛道类型,导致智能车行驶方向偏离正确路线;第二,在寻找有效赛道边缘时,非常容易因为图像中的噪点及短线条导致赛道边缘寻找失败,或者寻找到的赛道边缘与实际情况有较大偏差。



技术实现要素:

技术问题:为了克服现有智能小车道路识别效果差、处理速度较慢等缺点,本发明提供了一种基于改进sobel算子的智能车行驶控制系统及方法,可以合理的控制后轮电机转速和前轮舵机转向,使其按正确的道路行驶,使智能车行驶过程更加稳定,减小了寻找有效赛道边缘的难度,提高了赛道类型判断的精度。

技术方案:本发明的基于改进sobel算子的智能车行驶控制系统,包括:

图像采集模块,通过摄像头采集并提取包含赛道的灰度图像;

图像处理模块,用以从摄像头采集的灰度图像中提取有效赛道边缘并判断赛道类型,具体为:将所述灰度图像与改进的sobel算子作平面卷积,得到梯度图像,然后对所述梯度图像先后进行池化,二值化,得到二值化图像,对所述二值化图像依次进行噪点及短线条剔除、寻找有效赛道边缘、进行赛道类型的判断;

控制信息转化模块,用以根据寻找到的有效赛道边缘和赛道类型判断结果确定智能车前进方向与正确路线之间的偏移量,根据偏移量的大小和赛道类型,用pd控制器得到舵机对应的pwm值,用pid控制器得到直流电机对应的pwm值;

执行模块,用以根据控制信息转化模块给出的舵机的pwm值和直流电机的pwm值,控制步进电机转动,使小车按正确的方向行驶。

进一步的,本发明系统中,所述改进的sobel算子为:

进一步的,本发明系统中,所述摄像头为黑白摄像头,采集并提取的原始图像即为灰度图像。

进一步的,本发明系统中,所述摄像头为彩色摄像头,采集并提取的原始图像为彩色图像,图像处理模块通过公式y=0.299r+0.587g+0.114b将彩色图像转化为灰度图像,其中r、g、b分别代表彩色图像中红色、绿色、蓝色三个通道的颜色,y为转换后灰度图像。

进一步的,本发明系统中,所述图像采集模块采用dma方式采集包含赛道的灰度图像。

进一步的,本发明系统中,所述图像处理模块通过模板匹配法剔除噪点及短线条,具体为:将二值化后图像中黑色像素点逐个与3*3模板矩阵进行卷积操作,每次操作中,若结果为0,则剔除该黑色像素点,否则继续与5*5模板矩阵进行卷积操作,若结果为0,则剔除5*5模板矩阵邻域内所有黑色像素点,否则继续与7*7模板矩阵进行卷积操作,若结果为0,则剔除7*7模板矩阵邻域内所有黑色像素点,否则保留7*7模板矩阵邻域内所有黑色像素点,所述3*3模板矩阵、5*5模板矩阵、7*7模板矩阵的形式为:矩阵首行、首列及尾行、尾列元素为1,其余元素为0。

进一步的,本发明系统中,所述图像处理模块中池化的区域大小为4*4像素矩阵,采用全连接神经网络进行赛道类型的判断。

本发明的基于改进sobel算子的智能车行驶控制方法,包括以下步骤:

步骤一:通过摄像头以dma方式采集并提取包含赛道的原始图像;

步骤二:将原始图像与改进的sobel算子作平面卷积运算,得到梯度图像;

步骤三:对所述梯度图像先后进行池化,二值化,得到二值化图像;

步骤四:剔除所述二值化图像中的噪点及短线条,寻找有效赛道边缘并运用全连接神经网络进行赛道类型的判断;

步骤五:根据寻找到的有效赛道边缘和赛道类型判断结果确定智能车前进方向与正确路线之间的偏移量,根据偏移量的大小,用pd控制器得到对应pwm值;

步骤六:根据控制信息转化模块给出的pwm值,控制步进电机转动,使小车按正确的方向行驶。

进一步的,本发明方法中,所述步骤四中通过模板匹配法剔除噪点及短线条的具体内容为:将二值化后图像中黑色像素点逐个与3*3模板矩阵进行卷积操作,每次操作中,若结果为0,则剔除该黑色像素点,否则继续与5*5模板矩阵进行卷积操作,若结果为0,则剔除5*5模板矩阵邻域内所有黑色像素点,否则继续与7*7模板矩阵进行卷积操作,若结果为0,则剔除7*7模板矩阵邻域内所有黑色像素点,否则保留7*7模板矩阵邻域内所有黑色像素点,所述3*3模板矩阵、5*5模板矩阵、7*7模板矩阵的形式为:矩阵首行、首列及尾行、尾列元素为1,其余元素为0。

进一步的,本发明方法中,所述步骤一中,当摄像头为彩色摄像头时,采集并提取的原始图像为彩色图像,则按照如下方式将彩色图像转化为灰度图像:通过公式y=0.299r+0.587g+0.114b将彩色图像转化为灰度图像,其中r、g、b分别代表彩色图像中红色、绿色、蓝色三个通道的颜色,y为转换后灰度图像。

本发明控制系统所应用的智能车,包括车身,车身中间位置带有摄像头固定杆、摄像头、单片机、电机驱动模块、直流稳压模块、直流电机、编码器、转向舵机、上位机、蓝牙通信模块,单片机同时与稳压模块、摄像头、电机驱动模块、编码器、舵机、蓝牙相连,蓝牙连接上位机电脑。其中摄像头固定在小车的重心位置,高度约30cm,当小车在快速行驶的时候,能有效减少漂移,减少车辆抖动,使小车行驶的更加安全、稳定。

本发明的一种具体实施方案中,电脑端上位机以mfc为核心编写。信息采集传感器为摄像头,型号为ov7725,分辨率为80*60。用单片机采集摄像头采集到的图像信息所用的方式为dma方式,小车直流电机采用增量式pid控制方式,前轮舵机采用pd控制方式。7.2v可充电锂电池供电,后轮直流电机为7.2v电源供电。所用编码器为欧姆龙500线双相编码器,舵机由稳压模块输出的5.5v电压供电,由单片机进行控制。小车由编程完全控制,可在无人为干预下,在事先铺设好的跑道上自主行使,也可在上位机的控制下改为手动行驶方式,实测直道速度可达2m/s。

有益效果:本发明与现有技术相比,具有以下优点:

(1)与现有技术相比,本发明提出的一种基于全连接神经网络的赛道类型判断方法,通过合理的设定神经网络的层数以及每一层的神经元个数,可以使智能车快速准确的判断出赛道类型,使智能车行驶过程更加稳定。

(2)通过模板匹配法,采用本发明提出的3*3、5*5、7*7矩阵模板,来剔除二值化图像中的噪点和5*5范围大小的短线条,与现有技术相比,减小了寻找有效赛道边缘的难度,提高了赛道类型判断的精度。

附图说明

图1为本发明系统框图。

图2为本发明程序流程图。

具体实施方式

下面结合附图说明对本发明作进一步描述。

本发明系统工作所需的硬件设备如图1所示,包括单片机1、稳压模块2、摄像头3、编码器4、舵机5、上位机模块6、电机驱动模块7,所述的电机驱动模块7还需连接7.2v锂电池,所述的稳压模块2输入端与7.2v锂电池相连,输出端与单片机1、稳压模块2、摄像头3、编码器4、舵机5相连,所述的舵机5与单片机1相连,所述的摄像头3与单片机1相连,所述的编码器4与单片机相连,所述的电机驱动模块7与单片机相连。

所述的舵机5型号为sd-5,所述的摄像头3固定在小车的重心位置的固定杆上,型号为ov7725,所述的编码器4为欧姆龙500线双相编码器。

所述的上位机模块6为以mfc为核心编写的电脑端上位机,可在小车运行时实时查看摄像头采集到的图像信息、行驶速度,可进行小车前进、停车、速度档位的控制,采用蓝牙通信作为小车与上位机模块6之间的通信方法。

如图2所示,本发明所述系统工作流程如下:

s1、微处理器通过dma方式采集图像采集模块中包含赛道的灰度图像,所谓dma,即直接存储器访问方法,使得外围设备可以没有cpu干预下,通过dma控制器直接访问内存,快捷高效;

s2.1、将包含赛道的灰度图像与改进的sobel算子作平面卷积运算,得到梯度图像,某一点的梯度值为:g=2*img[i-1][j]-img[i-1][j+1]-2*img[i][j+1]-img[i+1][j+1]+img[i-1][j-1]+2*img[i][j-1]+img[i+1][j-1]-2*img[i+1][j],其中,img(i,j)为当前像素点,g为当前像素点梯度值;

s2.2、对梯度图像进行池化操作,池化的区域大小为4*4像素矩阵,通过局部自适应阈值法对池化后图像进行二值化操作;

s2.3、通过模板匹配法剔除二值化图像中噪点及短线条,模板匹配法包括3*3模板矩阵、5*5模板矩阵、7*7模板矩阵,可剔除噪点和不大于5*5像素范围内的短线条,模板具体形式为:矩阵首行、首列及尾行、尾列元素为1,其余元素为0;

具体步骤为:将二值化后图像中黑色像素点依次与3*3模板矩阵进行卷积操作,每次操作中,若结果为0,则剔除该黑色像素点,否则继续与5*5模板矩阵进行卷积操作,若结果为0,则剔除5*5模板邻域内所有黑色像素点,否则继续与7*7模板矩阵进行卷积操作,若结果为0,则剔除7*7模板矩阵邻域内所有黑色像素点,否则保留7*7模板矩阵邻域内所有黑色像素点;

s2.4、从最近处第一行开始,从第一行中间像素位置向左右两边搜寻有效赛道边缘,若找到则进行下一行搜索,若本行赛道边缘与上一行赛道边缘相差超过5个像素点,则舍弃改行边缘,将上一行边缘作为本行边缘,最终寻找出有效赛道边缘

s2.5、将有效赛道边缘作为全连接神经网络的输入,赛道原始图像大小为80*60,经过池化后大小为20*15,所以输入层神经元数量设置为300,中间层神经元数量设置为40,输出层神经元数量设为5,分别代表直道、左弯道、右弯道、十字、圆环五种赛道类型。

s3、根据有效赛道边缘和赛道类型,找出赛道中心线,将赛道中心线所在像素点加权平均,与40(中间像素点位置)相比较,得到智能车前进方向与正确路线之间的偏移量,根据偏移量的大小和赛道类型,用pd控制器得到舵机对应pwm值,用pid控制器得到后轮直流电机对应pwm值,其中pwm为脉冲宽度调制,脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;

s4、电机驱动模块根据pwm值控制舵机和直流电机转动。

在智能车行驶过程中,智能车可根据前方赛道类型,自动变化速度,当处于直道时,速度加快,弯道时速度减慢,单片机可将采集到的图像信息、小车实时速度、小车电池电量等通过蓝牙模块发送到电脑端上位机,电脑端上位机以mfc为核心编写,电脑端上位机可发送命令控制小车速度档位、前进和停止。

上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1