基于FPGA的目标颜色识别系统

2019-08-01 01:52戴翊斌陈悦蒋源
数字技术与应用 2019年4期

戴翊斌 陈悦 蒋源

摘要:针对AGV全自动视觉引导小车设计了一种基于FPGA的颜色识别系统。该系统使用OV7670对于路面数据进行采集,FPGA颜色识别系统将对BRAM进行操作,读取BRAM的数值到SRAM中,使用阈值判定法对于识别的物体进行颜色识别。该系统能适应AGV运输小车的高时序性要求的特性,提升了小车在运行时的精度与速度,具有广泛的应用前景。

关键词:FPGA;颜色识别;SRAM;阈值判定法;AGV

中图分类号:TP391.41 文献标识码:A 文章编号:1007-9416(2019)04-0097-02

0 引言

为适应现阶段现代化生产高度的集成化、柔性化和协同化,适用于生产的自动引导小车(AGV Automated Guided Vehicle)在柔性生产线中得到了广泛的应用[1],随着现代工业信息化、自动化, 生产过程中[2],颜色识别在生产应用上有着良好的发展优势。颜色是一个模糊的概念,采用量化和传统的传感器是不够的[3]。颜色识别也不断的向智能化的方向发展着,有着极大的开发潜力与前景。为了更好的适应生产需求人们在视觉引导[4]上试图寻找一个更加方便的方式,本文针对AGV全自动视觉引导小车设计出一套基于FPGA的颜色识别系统。

1 系统整体实现流程

基于FPGA的目标颜色识别系统,系统整体流程图如图1所示。

使用摄像头对要识别的颜色进行数据采集,将采集到的信息保存在FIFO中,通过数据传输,将采集到的信号保存在FPGA的RAM中,通过调用RAM数据,使用阈值判定法,进行颜色识别,驱动VGA接口,将摄像头采集到的图像实时的显示在显示屏上。

2 图像采集原理与实现

使用LCD显示屏通过VGA转换接口显示摄像头采集到的目标颜色数据,图像采集流程如图2所示。

主控芯片使用Xilinx Artix-7 FPGA控制器,主频100Mhz,对100Mhz的主时钟进行分频,得到适应于VGA模块正常工作的时钟频率。VGA扫描显示其实就是两条线,一个是行扫描,一个是场扫描,在行有效和场有效的时候把数据发送给VGA得到图像。显示标准是行分辨率×列分辨率,本系统行像素是320个像素点,列像素是480个像素点,一秒钟刷新40次。FPGA将摄像头上传到BRAM中的图像像素的数值上传到SRAM中,BRAM连续的读取摄像头上传的数值,FPGA对SRAM中的数据进行实时的更新,最终在显示屏上实时更新摄像头图像。

3 颜色识别实现

3.1 颜色组成原理

RGB的色彩空间以R(Red:红)、G(Green:绿)、B(Blue:蓝)三种基本原色为基础,进行不同原色比例的组合,产生了丰富的颜色种类。

RGB的原色组成种類繁多,根据每一个分量在组合时占用的字节位数的不同,现阶段RGB在计算机中存在的数据格式类是RGB555、RGB565、RGB24、RGB32。

其中RGB565是一种16位的RGB数据格式,在计算机中存在的情况是(R+G+B=5+6+5=16),本系统使用的就是RGB565的组合形式,在系统进行数据处理时,高位使用RGB565的数据,剩下的低位进行补零操作,形成一个完整的8位数据,最后进行数据合成。

在本系统中使用的是RGB565数据组合格式,vga_color对应的分别是R,G,B中的三原色的数值,frame_pixel是一个长度是16位的寄存器,存放R,G,B的值,数据存储形式如下式(1)所示。

3.2 实验结果与分析

摄像头采集数据与显示如图3所示。

将最终采集到的数据进行颜色识别,并通过采集到的结果在串口上传到PC进行验证,对于每一个目标颜色进行分别进行了200次的测试。识别测试结果如表1所示。

4 结语

基于FPGA的目标颜色识别系统,能适应现阶段工业化生产结合颜色识别与物流运输,实现视觉引导的AGV小车在指定地点精准投放。实验结果表明,该系统对目标颜色识别的精准度大于99%,适用于现阶段物流运输的生产作业。

参考文献

[1] 李铭.小型重载AGV的设计与实验研究[D].西安:西安理工大学,2009.

[2] 袁锋伟,邓骞,王玉林,张国辉.基于PC的颜色识别与匹配系统的设计[J].南华大学学报(自然科学版),2014(02):49-53.

[3] 黄智辉,李榕.基于FPGA的颜色识别触摸屏系统设计与实现[J].现代电子技术,2015(10):61-64.

[4] 朱军,叶庆泰.基于DSP的AGV视觉导向系统研究[J].计算机测量与控制,2003(03):236-237+240.