基于fpga的嵌入式机器人视觉识别系统模块

上传人:j****9 文档编号:46343550 上传时间:2018-06-25 格式:DOC 页数:13 大小:753KB
返回 下载 相关 举报
基于fpga的嵌入式机器人视觉识别系统模块_第1页
第1页 / 共13页
基于fpga的嵌入式机器人视觉识别系统模块_第2页
第2页 / 共13页
基于fpga的嵌入式机器人视觉识别系统模块_第3页
第3页 / 共13页
基于fpga的嵌入式机器人视觉识别系统模块_第4页
第4页 / 共13页
基于fpga的嵌入式机器人视觉识别系统模块_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《基于fpga的嵌入式机器人视觉识别系统模块》由会员分享,可在线阅读,更多相关《基于fpga的嵌入式机器人视觉识别系统模块(13页珍藏版)》请在金锄头文库上搜索。

1、基于 FPGA 的嵌入式机器人视觉识别系统模块 http:/ 来源:机器人天空原创 时间:2008-03-10 评论 2 条(访问论坛) RobotSky 恭候您的投稿美国西雅图机器人俱乐部 Kenneth Maxon 开发了这款强大的视觉识别模块,它 能够对目标物体进行非常准确的识别和简单测距。作者公开了硬件和软件的所 有源文件与大家分享。作者邮箱:作者网站:http:/ http:/www.seattlerobotics.org/encoder/200601/article3/index.php所有源代码本站打包下载(注意,源代码均在网页文件中): http:/ 彩色视觉系统的设计概述在图

2、一中,箭头代表互连。粗线描绘的是视频数据的通道,包括模拟和数字。 这些数据在图中不同功能块中以不同形式呈现。最简单的数据通道是摄像机到 处理器(从右到左)的数据获取。在功能块 Video Camera 和 VIP 之间,录像 是模拟 NTSC 格式并通过电阻与 75ohm 同轴电缆进行匹配;在功能块 VIP 和 FPGA 之间,数据以一个多线路的时间同步数字传输格式呈现;在功能块 FPGA 和 SRAM 之间,视频数据仅仅是实际的数据;最后,在功能块 U-Processor 和 FPGA 之间,视频数据是通过处理器地址和数据总线随机存储的。图二:电路板 PCB 焊点图彩色视觉系统的设计利用了六

3、个基本功能模块U 型处理器,FPGA(现场可 编程门阵列),视频输入处理器,NTSC 系统彩色摄像机,SRAM 数据缓冲区和彩 色液晶显示器。在图一上可以看到这六个功能模块和它们之间的相互联系,其 中粗线箭头代表视频路径。 第一个功能模块是 U 型处理系统。由于这是一个通用的视觉系统,这里就不重 点介绍 U 型处理器。 第二个功能模块 FPGA 是整个视觉系统的核心部分。可编程逻辑是用来实施一些 状态机,记忆体映射寄存器和其他功能,进而剥离处理器的图像采集功能。彩 色视觉系统实施全部功能所需要的逻辑元件数量远远超过了以往项目中 CPLD(复杂可编程逻辑元件)的使用数量。在选择 FPGA 的时候

4、,最重要的是找 到一个与处理器兼容的电压等级。需要电压等级转换芯片是因为驱动电路板的 尺寸和调试的复杂性。最适合彩色视觉系统的 FPGA 是 Xilinx Spartan II-E 系列的 XC2SE-300。 第三个功能模块是模拟前端。在某种意义上,它代表一个模拟向数字转换的功 能。因为输入这个系统的是 NTSC 视频,而输出是原始数字视频,所以它比标准 的高速模拟数位转换器需要更多的电路元件。如果目标是黑白的图像,简单的 A/D 转换就足够了,但是在彩色视频中捕捉相位关系就需要更多的能量。这种 能量来源于视频输入处理器 VIP(Video Input Processor)。 第四个功能模块

5、在某些情况下是可选的。该功能块是一个静态的 RAM 池。它直 接连接到 FPGA。数据的输入和输出由 FPGA 内部的状态机完成。在这种情况下,数据就是即将被采集的视频图像。这个模块可选是基于一部分设计上的限制的。 现在,FPGA 中都含有大量的 RAM。而所包含 RAM 的具体数量取决于系统要采集 的图像的尺寸(X-Y+色彩深度)。 第五个功能模块是彩色视频摄像机。过去主要是围绕物理尺寸等参数来选择摄 像机以满足机器人所需空间。只要光学和 CCD 都是合理的,NTSC-CCIR/ITU601 就能保证多数摄像机正常工作。 第六个功能模块是彩色液晶显示器。这个跟我们平时所认识的液晶显示器作用

6、相同,这里也不作详细介绍了。图三:摄像机应用一:有色的 Blob 跟踪图四: Blob 颜色检测该视觉系统应用之一就是简单的 Blob 颜色检测。如图三所示,彩色 LCD 显示屏 的右边的影像是一个数码快照曝光点。在这张图像上,系统正在识别绿心。在 这个系统中颜色边界定义如下: red_bounds 8:2 green_bounds 31:10 blue_bounds 24:10 这些限界是针对该系统的。在顶层文件系统中分别称为 red_upper,red_lower,green_upper,green lower,blue_upper 和 blue_lower。这六个 5 位的寄存器从 U

7、型处理器总线接口被写入(内存映射), 它们的内容反过来被输出到 blob 检测模块与原始视频信号做比较。 在每一个 R,G,B 中系统的色彩深度都是 5 位。这就导致了一个颜色跨度 031,并且31,31,31代表白色。为了存储和加工,一开始这些都会被处理为 一个单独的 MSB 格式的 16 位字即 0, R4, R3, R2, R1, R0, G4, G3, G2, G1, G0, B4, B3, B2, B1, B0图五:彩色滤光示例(蓝色)图四显示了系统中一个被过滤只剩下蓝色的图像。在图中,FPGA 已经去掉了所 有未通过六个过滤标准的其它颜色信息。在这张图片上,读者可以看到对象往 往包

8、含有少量的颜色问题,这是我们不希望看到的。这可以在观察圆形的对象 时体现出来,实际上是在逻辑分析仪显示屏上灯光对外部的反映。结合这一图 像,并注意到在蓝色过滤值中含有大量绿色物质,使用下面的过滤值: red_bounds 16:5 green_bounds 30:16 blue_bounds 31:12 文本或字体,光标和定位线重叠时,将图像从 U 型处理器实时发送给 FPGA。整 段包含即将采集的视频图像的 SRAM 将被内存映射到 U 型处理器的内存空间。在 视频帧转换完成后,内存映射寄存器提供给 U 型处理器,X Y 数据点就可以从 FPGA 直接读出。所有这些都是 U 型处理器系统所必

9、须的,来叠加文字和图形, 然后写入相应的内存位置。图六:采集的图像上面这四幅图是从视觉系统直接采集来的。前面两幅图显示的是雷达光追踪人 的手指,距离分别是 2 和 4。后面两幅图显示距离为 4 和 6,并且有一个横向偏 移时,追踪的差别。图形重叠发生在 FPGA 影像下载之前。激光场发生器和摄像机之间的垂直位移很小,从而导致影像间视差位移较低。在这一点上,读者可 能会想知道在这些影像上色彩的内容。事实上,它看起来有点模糊。这些影像 被抓获之前,在通过 4lsb 绿色位时偏差就出现了。应用二:结构光的提取图七:激光测距形象广场图八:激光测距形象球面图九:激光测距的物理格局图十:采集到的图像这幅图

10、显示了由 FPGA 实时提取的跟踪结构光输出的一个重叠,同时提供采集到 的图像给处理器系统。不同于图五直接采集而来,这幅图是通过使用一个软件 采集到的。应用三:FPGA 处理器影像传输图十一:采集到的图像上图,又是一个通过系统直接数字捕获的例子,并且可以直接传输到 PC 上。在 这幅图中,摄像机和激光场发生器之间的垂直间隔小于 2 英寸。 最终的设计结果:图十二:制作完成的视觉系统平台图十三:VIP 测试电路板的原型图十四:VIP 的测试安装图十五:固定装置图图十六:机器人-“Dohn Joe“图十七:机器人的 CAD 模型(RobotSky 编辑:Chen Jing)(RobotSky 主编:Liu Weichao)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号