论文部分内容阅读
本文根据863项目“机器人模块化体系结构设计”,研究了一种基于FPGA的智能服务机器人双目视觉模块。目的在于减少图像处理对机器人上位机的资源占用,提高处理速度。模块化结构可重复配置性高、通用性好,升级成本低,可以减少研发中大量低水平的重复工作。论文主要工作如下,双目视觉模块系统设计、基于FPGA的图像预处理算法研究,以及在此基础上进行的双目测距研究和相关实验。在双目视觉模块系统设计方面,在Altera公司DE2-70 FPGA开发平台的基础上,设计了一块SRAM缓存扩展板;使用原理图设计文件及Verilog HDL语言编写了I2C总线配置模块,图像采集、存储、预处理模块,图像显示模块,NiosⅡ片上系统模块,以及相应的时序控制模块;此外,系统还采用了标准的VGA和RS232接口设计,方便了双目视觉模块与上位机之间的通讯。在基于FPGA的图像预处理算法研究方面,分析并在FPGA内实现了几种典型的图像预处理算法;结合FPGA的并行及流水线处理等特点,提出了一种新的基于FPGA的自适应均值滤波算法,增强了滤波效果;结合视觉模块图像采集、处理为一体的特点,提出了一种实时对比度增强方法,提高了处理速度;改进了Kirsch边缘检测算法在FPGA内部的实现形式,减少了资源占用。在图像预处理基础上的双目测距研究方面,建立了相机模型,进行了相机标定,分析了双目测距的原理;使用C语言编程,在视觉模块的NiosⅡ片上系统中实现了双目测距以及串口通讯的功能;利用VC++编程,设计了上位机通讯控制界面。在实验方面,验证了双目视觉模块能够实时采集并显示图像,对图像进行快速滤波、对比度增强、边缘检测等预处理,可对不同形状的目标进行双目测距,并且测量误差较小,可以通过RS232、VGA等接口实现人机交互。本文初步达到了模块化设计的要求,为智能服务机器人视觉模块的深入研究奠定了基础。