基于Zynq-7000的双目视觉浇筑识别定位系统设计
2018-11-14安徽理工大学费雅倩
安徽理工大学 费雅倩
为了解决重载机器人在浇筑过程中对砂箱浇口的准确辨识与定位,设计了一种基于Zynq-7000可扩展平台的双目视觉浇筑识别定位系统。该系统采用了两个OV7620摄像头对不同位置的砂箱进行图像采集,在Zynq-7000的FPGA部分搭建了图像采集系统和预处理系统,并在ARM部分搭建了对砂箱浇口识别定位系统,拟采用了WIFI无线通讯实现数据传输。最终实现在浇筑过程中对砂箱浇口的准确辨识和坐标定位。
引言:目前,随着我国工业的发展,许多铸造行业逐渐开始导入重力铸造机器人系统,浇筑识别定位系统更是铸造机器人系统的重要组成部分。然而很多基于DSP或单FPGA设计的系统很难实现对实时图像采集和处理系统的高速处理。因此,本文提出的识别定位系统采用的是CMOS+FPGA+ARM的图像采集处理和识别定位方案,来实现铸造机器人在浇筑过程中对砂箱浇口的准确辨识和坐标定位。
1 系统的总体框架
基于Zynq-7000可扩展平台的双目视觉浇筑识别定位系统如图1所示,系统主要包括OV7620摄像头、Zynq-7000可扩展处理平台、数据随机存取存储器DDR4和USB WIFI模块等;其中FPGA完成图像采集系统和预处理系统中的运算与控制,利用其并行处理的优势大大的提高了双核Cortex-A9处理器的运算速度。并在Zynq-7000的PS中搭建了嵌入式实时操作系统,通过USB WIFI与上机位交互进行无线调试。本文所设计的系统是通过两个OV7620摄像头从两个不同的位置获取砂箱的两幅图像,利用Zynq-7000芯片的PL部分对获得的图像进行图像采集和预处理,然后将得到的预处理后的图像数据进行图像识别与定位,最后对接收到的图像数据信息加以处理,控制执行器执行相应的动作,完成机器人系统的既定目标。
2 系统的硬件模块设计
2.1 控制模块
控制模块通过芯片内部的AXI4-Stream总线接收PS上运行的软件的控制采集模块的启动或控制预处理模块的工作命令,然后将这些命令发送到图像采集模块或预处理模块,控制这些模块进行相应的操作。启动采集命令使得采集模块跳出了空闲状态,进入了图像采集状态。控制预处理模块工作命令使得预处理模块开始工作,对采集的图像进行中值滤波、边缘提取、图像分割。
图1 系统结构框图
2.2 图像采集系统
OV7620图像数据采集板对OV7620摄像头拍摄的图像进行图像采集与缓存;两个SRAM构成的高速缓存将FPGA图像数据接收缓存板接收到的图像数据暂存起来;FPGA图像数据接收缓存板与系统外部接口连接,完成模块的外部接口。
2.3 预处理系统
AXI4_Stream2总线将接收到的图像采集数据传输到双口RAM中的一端;选择控制模块控制双口RAM将其中的帧数据提供给中值滤波模块,同时控制双口RAM的另一端存入另一帧图像数据;中值滤波模块将接收到的帧数据进行中值滤波,平滑图像消除噪声;边缘提取模块将消除噪声后的图像数据进行边缘提取,锐化图像增强边缘;二值化模块将锐化后图像的进行分割,分割出前景和背景;最后将分割后的图像数据存入BRAM中。
3 系统的软件设计
双目立体视觉系统双目视觉浇筑识别定位系统的软件模块主要功能:(1)对DMA模块初始化;(2)发送控制命令到图像采集模块和预处理模块,控制相应模块执行相应操作;(3)对预处理完的图像进行三维重建和立体匹配;(4)实现砂箱浇口的准确判别与三维坐标定位。
4 实验结果分析
该系统基于Zynq-7000平台的运行测试并对砂箱浇口进行识别定位,砂箱图像通过PL进行图像采集、预处理并存入DDR应用软件通过PS部分实时操作系统进行识别定位。该试验分别使用了ARM+FPGA处理和纯ARM处理,从执行效率对比中可以看出,软硬件协同处理一帧图像只需要3462μs,与纯ARM实现识别速度相比效率提高了15.2倍。
5 结论
本文设计实现了一种基于Zynq-7000可扩展平台的双目视觉浇筑识别定位系统。该系统应用Zynq-7000可扩展平台,实现了软件与硬件的协同工作,相比于传统的基于CPU、GPU和DSP的处理平台,提高了系统功能的灵活性,也降低了系统功耗;同时构建了可视化的实时嵌入式图像处理系统,可以实现不同的图像处理算法,提高了图像处理的实时性和准确性。