APP下载

基于ATMEGA8 和CCD 机器人视觉系统设计实现

2014-03-13梁卫鸽郝卫东

电子科技 2014年5期
关键词:赛道分辨率摄像头

梁卫鸽,郝卫东,李 静

(桂林电子科技大学 机电工程学院,广西 桂林 541004)

自动机器人要在跑道上自动识别路线行驶,那么检测路面信息是实现机器人巡线功能的前提。只有准确收集路面信息,快速做出判断,才能更加稳定快速地在路径上前进。因此机器人视觉系统是整个控制系统中的关键,其主要功能是对机器人寻线的准确性进行控制,通过判断机器人距离路径中心的距离,调整机器人位置,保证机器人按照中心线行走。

路径识别方案的好坏,直接关系到机器人系统性能的优劣。常用技术有:采用CCD 传感器[1]循线、光电管阵列[1-3]、可见光、红外传感器循线技术等。各种检测方法都有相应的优缺点。光电传感器受外界光线影响大,难以达到较高的精度;红外线精度较高,但不具备提前预知赛道的能力;CCD 传感器循迹虽然信号处理比较复杂,但可以更远且更早地感知赛道的变化,采集图像分辨率较高,路线跟踪精度高,不易受环境干扰,因此选择CCD 摄像头识别路线。

1 视觉系统原理分析

由位于机器人上方的CCD 摄像头检测白色路线的当前位置,并把数据传送给AVR 单片机ATMEGA8,用8 个发光二极管显示采集到的信息,然后将采集到的数据传送给主单片机ATMEGA32,根据程序判断机器人是否行走在路径中间,若已偏离路径,则通过电机驱动器控制电机,改变左右轮的速度,从而调节机器人的运动方向[4]。系统的基本原理框图如图1 所示。

图1 机器人视觉系统的基本原理框图

单片机ATMEGA8 把CCD 采集到的图像进行处理,包括A/D 转化和二值化等,然后把处理后的信息交给主控单片机ATMEGA32 进行电机控制。

1.1 CCD 图像传感器采集的技术难点分析

普通CCD 图像传感器通过行扫描方式,将图像信息转换为一维的视频模拟信号输出。CCD 输出的信号变化较快,比如PAL 制式的视频信号,每秒输出50帧图像信息,每帧图像312.5 行,每行图像信号时间为64 μs,其中有效的图像信号约为56 μs。相比之下,ATMEGA8 的 A/D 转换器采集速度较低:根据ATMEGA8器件手册[3],进行10 位A/D 转换所需的时间为7 μs。这样,采集的图像每行只能有8 个像素,水平分辨率较低。另一方面,每场图像可采集约300 行的图像信息,所以图像垂直分辨率相对较高[5]。从这种水平分辨率低、垂直分辨率高的图像中,无法获取具有足够精度的路径信息。

为此,针对大赛采用跑道的形状特点:跑道都是由宽30 cm 的白色直线组成,检测机器人前方一段路线参数,只需得到中心线上3 ~5 个点的位置信息就可以估算出路径参数。这些点的位置,通过图像中若干行信息就可以检出,如图2 所示。因此,所需检测图像应该是水平分辨率高、垂直分辨率低[6]。

图2 赛道形状和赛道中心线检测位置

将ATMEGA8 单片机采集的图像分辨率特点,与赛道检测对图像分辨率的要求进行对比,可以发现,在安装CCD 摄像头时,只要将其旋转90°,输出的图像信息也相应旋转90°。这样,ATMEGA8 中A/D 转换器采集的图像信息,水平分辨率与垂直分辨率就会互换,原水平分辨率低、垂直分辨率高的图像,就会变成水平分辨率高、垂直分辨率低的实际图像,以满足道路参数检测要求[7]。路线图像以及摄像头旋转90°后的赛道图像如图3 所示。

图3 路线图像以及摄像头旋转90°后的赛道图像

2 视觉系统硬件电路设计

为采集图像信息,CPU 需要根据行、场同步信号启动A/D 转换器,采集稳定的图像。由于视频信号的变化快,所以需要另外设计同步分离电路。使用LM1881视频同步分离集成块,获取视频同步信号,将此同步信号连到单片机的中断输入端口。除此之外,一般CCD输出视频信号的峰峰值约在1 V,可以不经过放大直接连接到单片机的A/D 输入端口进行采集,也可以把视频信号适当放大后将信号的峰峰值提高到34 V 输入到单片机。CCD 器件工作电压12 V,为此,需要在系统电路设计中,增加独立12 V 电源模块[8-9]。或也可采用斩波升压的方式获得12 V 电压,硬件原理如图4所示。

图4 单片机采集图像系统原理框图

图中包括有ATMEGA8 单片机最小系统、同步分离电路、5 V 稳压电路、12 V 斩波升压电路等。其中ATMEGA8 单片机端口资源配置为:(1)A/D 输入端口PAD02。输入视频模拟信号。(2)外部中断口IRQ。输入视频行同步信号。(3)数字IO 口PM1。输入奇偶场信号。(4)PWM 输出端口。PWM2 12 V 斩波升压控制信号。(5)二极管显示输出端口。

3 软件设计

图像采集采用中断方式进行,采用72×24 分辨率的图像,由于采集到的图像由绿色背景和白色中心线组成,所以检测每一行路径中心线位置可以通过阈值比较计算出来[10]。软件设计主要包括图像采集模块和图像处理模块,其中图像采集模块的主要包括:(1)系统初始化。A/D 转换器初始化、外部中断初始化。(2)外部中断响应模块。判断是否帧图像开始、判断是否采集该行图像、启动A/D 转换、标示图像采集完毕。(3)A/D 转换中断响应模块。采集固定数目的图像数据。上位机处理图像流程如图5 所示。

图5 上位机处理图像流程图

4 系统设计与实验结果

调试过程中,为更好地观察路线是否偏移,将采集到的图像分为8 组,每组用1 个发光二极管亮灭显示采集的图像是否为白色路线。若最左边的二极管亮,说明白线在最左边,则机器人的位置偏右,需要调整左右轮的转速。在行驶过程中要保证中间的二极管亮,即机器人一直行走在路线中间。CCD 摄像头和制作的视觉系统控制板如图6 所示。

ATMEGA8 单片机采集到并通过串口传送到微机显示的前方直线路径中心线的图像部分数据,如表1所示。

图6 CCD 摄像头和视觉系统控制板

表1 采集到的图像部分数据

从表1 中可以观察出,中间5 列数据值较大,两边数据较小。数据值较大的位置即为识别到的白线,数据值较小的位置为绿色背景。因白色的线反光度大,所以数值也较大。从上表也可看出,设计的视觉系统可以可靠地识别出场地里的白线。同时,通过阈值比较方式,即可以将每行中心线位置计算出来,处理时间约为8 μs 左右。上述CCD 检测方法可以有效的获取路径图像信息,并计算出其中的参数。

5 结束语

设计通过合理放置CCD 摄像头,并且充分利用ATMEGA8 单片机内部的硬件资源,可获取满足路径参数检测需要的图形数据,进而可通过图像处理算法,得到路径参数。当然,利用CCD 检测路径参数也存在一些缺点:比如占用RAM 资源比较多、道路信息检测速率受到限制、检测有延时等,需要进一步改进。

[1] 丛爽,李泽湘.实用运动控制技术[M].北京:电子工业出版社,2006.

[2] 高国富,谢少荣,罗均.机器人传感器及其应用[M].北京:化学工业出版社,2005.

[3] 黄开胜,金华民,蒋狄南.韩国智能模型车技术方案分析[J].电子产品世界,2006(3):150-152.

[4] 张运楚,梁自泽,谭民.架空电力线路巡线机器人的研究综述[J].机器人,2004,26(5):467-473.

[5] 王庆有.图像传感器应用技术[M].2 版.北京:电子工业出版社,2013.

[6] 李强,张钹.一种基于图像灰度的快速匹配算法[J].软件学报,2006,17(2):216-222.

[7] 许松清,吴海彬,林宜,等.基于DSP 的半自主移动机器人远程控制系统[J].单片机与嵌入式系统应用,2005,56(8):58-60,70.

[8] 王世一.数字信号处理[M].北京:北京理工大学出版社,1997.

[9] 庄健.基于视觉伺服智能移动机器人的研究[D].西安:西安交通大学,2002.

[10]刘溯奇,郝卫东,林添成,等.基于嵌入式的视觉巡线机器人系统设计[J].工程设计学报,2008,15(2):94-96,108.

猜你喜欢

赛道分辨率摄像头
浙江首试公路非现场执法新型摄像头
自制冰墩墩不能滑出“法律赛道”
科创引领,抢跑新赛道
摄像头连接器可提供360°视角图像
征服蒙特卡洛赛道
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
无人驾驶,先上赛道如何?
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法