基于单片机的轮式机器人视觉系统设计.docx
《基于单片机的轮式机器人视觉系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的轮式机器人视觉系统设计.docx(14页珍藏版)》请在冰豆网上搜索。
基于单片机的轮式机器人视觉系统设计
第10卷第6期
2008年”月
军事交通学院学报
JounrnalofAcademyofMilitaryTransportation
V01.10No.6
November2008
●基础理论与应用BasicTheoryandItsApplication
基于单片机的轮式机器人视觉系统设计
朱云江,徐友春,刘亚豪,彭永胜,赵玉皤
(军事交通学院汽车工程系,天津300161)
摘要:
提出一种应用于轮式机器入的视觉系统方案。
该方案设计了基于16位单片机和数字图像芯片
OV9650的硬件系统和相应的底层软件,给出了硬件系统和软件系统的设计原理,对系统各个组成模块间的接口进行了详细的分析,并给出了系统的应用实例。
关键字:
CMOS摄像头;图像采集;轮式机器人中图分类号:
THl22
文献标志码:
A
文章编号:
1674—2192(2008)06—0086—04
Designofthe
Mobile
RobotVisualSystemBasedOnSingleChipComputer
ZHU
Yun—jiang,XUYou—chun,LIUYa—hao,PENGYong—sheng,ZHAOYu—fan
(AutomobileEngineeringDepartment,AcademyofMilitaryTransportation,Tianjin300161,China)
Abstract:
Amethodofthevisionsystemappliedinmobilerobotisproposedinthispaper.Thehardwaresystemandrelevantsoftware
are
designedbased
on
16monolithicmicrochipanddigitalimage
sensor
OV9650.Thispaperpresentsthedesignprincipleofthe
hard-
ware
andsoftwaresystem,analyzestheinterfacebetweenthemodules,andshowstheappliedexamplesofthesystem.
Keywords:
CMOScamerahead;imagegathering;mobilerobot
轮式机器人,特别是微型轮式机器人,在消防、军事等领域具有广泛的用途。
轮式机器人由机械、视觉、通信、控制、电源等系统组成。
视觉系
统是轮式机器人最重要的系统之一。
轮式机器人
要求其视觉系统能够采集并传输图像,并且体积要尽可能小。
视觉系统实现方法多种多样,有的基于PC机的PCI总线采集卡或嵌入式工控机(如PCI04),有的基于CPLD/FPGA,有的基于专用或通用数字信号处理器(如TMl300或TM¥320VC5416/5402),有的基于单片机(如
AT89C52/51)等[¨。
嵌入式工控机有商品化的操作系统及有关软
件可以利用,开发容易,但成本较高,体积较大。
CPLD方式用硬件实现图像采集和处理,并行处理程度高,可实现高速处理,但算法复杂时,开发难度大。
采用通用DSP实现方式,灵活性强,具有很
好的可扩展性,但成本相对较高。
单片机系统由于速度低,很难满足图像处理系统的速度要求,但
其成本在各种方案中最低,对于速度要求低、分辨率低、算法简单的系统仍有实用价值。
收稿日期:
2008-03—15;修回日期:
2008—06—09.
基金项目:
天津自然科学基金资助项目(05YFJMJcll9900).
作者简介:
朱云江(1984一),男(汉族),河北承德人,硕士研究生,zyj一333@126.COHl;
赵玉瑶(1944一),男,教授,博士,硕士生导师.
86
万方数据
2008年11冀
寒云江等:
基于荤筹枧的轮式机器人视觉系统设计
第10卷第6期
摄像镜头把图像信息成像在图像传感器的面阵感应单元上,适用于轮式移动机器人的传感器主要有覆阵CCD和蟊阵CMOS两静拉j。
CMOS图像传感器是近年发展超来的一种新型国体阕像传感器,由于采用了相同的CMOS工艺,冈此可以将像素阵列与驱动电路和信号处理电路集成在同一块芯片上。
耐怠,瑗在越来越多的CMOS湖像传感器芯片将A/D集成进去,医此还可直接输出数字视频信号和同步信号。
本设计为寻线运行的轮式机器人提供视觉,不需要很高的图像分辨率,算法也相对简单,同时
考虑裁律成本,最终选用基于单片视的悉像采集
系统。
本文先介绍图像传感器和单片机,然后给出整个系统的硬件和软件实现方法。
.1
硬件设计
本系统的硬件框图如图l所示,CMOS图像传
感器将道路信息转换为电信号,同时输出场同步信号、彳亏同步信号和像素时钟信号。
单片机输入捕捉端鏊捕挺3耪同步信号,并按照一定规则采集CMOS图像传感器数据输出端口的数字信号,即得到道路图像。
!
:
懋◆
苎竺!
矍◆
电源—■恕.。
◆oV9650
嗣步信号燕
—点貔..-
——————●
IIC接口
片
模块
●・———寸
机
3.3V
k
豳’
系统礤体框篷
1.1
图像传感器
本设计采用的是OmniVision公司推出的
CMOS彩色图像传感器0V9650。
该芯片将CMOS传感器技术与数字接口组合,用于视频图像应用。
0V9650芯片的基本参数为”1
1)单片1/4in视频图像传感器,28pin,逐行_l鼍撼也可隔行扫描,连置10位A/D。
2)图像尺寸4.13
mm×3。
28
mm,像素尺寸
3.18Ixm
X
3.18
txm,像素数l300
X
1028。
3)内核1.8V供电,A/D模块2.5V供电,L/O接t33。
3V供电。
4)信嗓毙40dB,灵敏度0.9
v/Lux—sec。
5)输出图像格式可为SXGA、VGA、CIF、QCIF、QQCIF等,输出数据格式可为YUV4:
2:
2、GRB4
:
2:
2、原始RGB等。
OV9650在D9一DO引脚输出数字图像视频流。
在输出数字褫菝滚的同曝,还提供像素时锋PCLK,水平参考信号HREF,垂直同步信号VSYNC,便于外部电路同步读取图像。
OV9650具有丰富的编程控制功能,其图像帧频、曝光时间、增益控制、Gamma校正以及图像开窗等均可邋过对芯片内部寄存器的渎写送行设置。
1.2
单片机
本设计选用的单片机既要采集图像信息又要
控制整个轮式机器人,这样可使整个机器人系统设计篱纯,避免了大量酶垂豫数挺的传输,同时也增强了系统的可靠性。
MC9S12DGl28(以下简称DGl28)是Freescale公司推出的S12系列单片机中的一款增强型16位单片机,其谯汽车电子应用领域具有广泛的用途。
DGl28单抟巍采用增强型16位HCSl2CPU,总线时钟最高可这25MHz;片内资源包括8K
RAM、128KDash、2KEEPROM、IIC、2
个SCI端口、3个SPI端口、8路8位或者4路16位PWM、2个8路lo位精度A/D转换器、4个控制器局域网模块(CAN),增强型攘键定时器(ECT)并支持背景调试模式(BDM)等|4】。
本设计采用
80
pin封装的DGl28单片机。
1.3
系统接口电路及其实现
系统接曩电路如图2所示,英工终原理如下:
电源模块输出3.3
V、2.5V、1.8V
3种电压,分别
给0V9650的I/O、A/D和内核供电,同时,3.3V电源也给单片机供电。
单片机IIC模块的SCL和SDA脚分别与OV9650的SIO—C秘SIO—D楣连,通过IIC总线实现对图像传感器的参数设定。
0V9650的数据输出接口D9~D2与单片机的并口PORTA相连,作数据输入,采集网像信息。
单片机
ECT模块中的PT0、胛l、P睨日设置戏输入捕捉,分别与垂壹露步信号VSYNC、水平参考信号
HREF和像素时钟PCLK输出引脚相连,通过捕捉相应的同步信号蜜现图像的同步读取。
应注意的是,SCL和SDA线上一定要接上拉电阻;单片机和OV9650一定要簇弱一个晶振援供酣锌,缳证蕊者之间的时钟同步。
2软件设计
本视觉系统没计墨标为麓以60fos(frame
per
second)以上的速率采集QQCIF(88×72)格式的黑内图像。
因此,将通过IIC总线将0V9650设置
87
万方数据
第10卷
第6期军事交通学院学报2008年11月
成输出QQCIF格式的图像,输出帧频为60Hz,数据输出格式为YUV4:
2:
2,只取Y量即得到黑白图像。
可知,每个像素点占1个字节,采集到的图像需占用6336字节的RAM空间。
DGl28有8K
的RAM,能够保存下完整的一幅图像后再进行相
关处理。
图2系统搔121电蹯
2.1
摄像机参数的设定
OV9650通过IIC总线设置内部寄存器。
单片
机工作在主机模式,OV9650工作在从机模式,写OV9650内部寄存器的地址为0x60,读OV9650内部寄存器的地址为0x61。
将单片机IIC的波特率设置为100Kbps,其写OV9650内部寄存器的过程如下:
将OV9650中地址为0x02的寄存器设置为
0x55,应先向单片机IIC模块的数据寄存器写0x60
寻址OV9650,待发送完后再写0x02指明要修改
的寄存器地址,然后再写要设置的值0x55"J。
按
照以上方法,参考OV9650数据手册,将OV9650中0x0D寄存器设置为0xC0,使其输出QQCIF图像;将Ox04寄存器设置为0x24,使其隔行采集图
像;将Oxll寄存器设置为0x81,使其输出图像帧
频为60Hz;将0x12寄存器设置为0x08,使其数据输出格式为YUV4:
2:
2。
当然,还可以根据需要设置图像曝光时间、增益控制、Gamma校正、边缘
增强、亮度、对比度等。
各个寄存器设置完毕后,
在输出10帧图像的时间之后,OV9650即会输出所需格式的图像。
2.2
图像采集程序设计
将OV9650设置成功后其输出的同步信号如图3所示”J。
用示波器测量VSYNC的频率为60
Hz,HREF
的频率为5.78KHz,PCLK的频率为3MHz,证明OV9650设置成功。
DGl28的PT0口设置为下降
88
Vs■!
门
.。
r]
HRE!
厂]厂]
。
厂]
YUV:
:
:
:
:
正丑:
旺丑:
:
:
旺Ⅲ:
茧甄甄:
RowO
ROWl
Row7l
图3同步信号时序
沿触发中断,检测VSYNC信号;PTl口设置为上升
沿触发中断,检测HREF信号;PT2口判断PCLK
的电平,当PCLK由低电平变高电平时读取POR—
TA的值,得到图像信息。
可知当HREF为高电平
时单片机进人中断并采集图像,当HREF为低电平时单片机可进行其他的计算,使得整个图像采集时间占用约30%的CPU时间,其他时间单片机可处理数据并对移动机器人进行控制,满足设计要求。
图像采集的具体过程如下:
1)允许输人捕捉中断,等待VSYNC信号下降
沿的到来。
当PT0捕捉到VSYNC的下降沿时,将行数计数变量row清零,并等待HREF信号的到来。
2)当盯1口捕捉到HREF的上升沿时,将列
数计数变量column清零,并等待PCI。
K的上升沿的到来。
3)当PCLK的信号到来时,读取PORTA的值,并将其存人数组buffer[row][column]中,同时col-umn加1。
4)重复步骤3,判断column的值是否等于88。
当column=88时,row值加1,并判断row值是否等于72。
当row不等于72时,跳至步骤2。
5)当row=72时,整幅图像采集完毕。
禁止输入捕捉中断,程序跳至图像处理及相关控制程序。
图像采集过程的流程如图4所示。
2.3
图像的存储与显示
本系统采集的图像占用6336字节的RAM,
其能够完整地保存在DGl28的RAM中后再进行
处理。
为了便于移动机器人的调试,采集的图像
或经处理过的图像也可以通过DGl28的SCI接口传输到PC机上显示并保存。
PC机上的图像接收
软件是用VisualC++6.0开发的,用PC机的串口接收数据,接收到的图像如图5所示。
2.4
图像处理与道路识别
当一帧图像采集完成后,要对获得的道路图
像进行预处理,主要包括滤波、边缘增强和二值化等。
本文采用中值滤波器对图像进行滤波,对经
万方数据
2008年11月朱云江等:
基于单片机的轮式机器人视觉系统设计
第10卷第6期
图5采集的道路图像
过滤波的图像采用Sobel算子进行边缘增强。
为了便于图像的处理和道路的识别还需对图像进行二值化。
在二值化图像过程中,阈值的选取是关键,阈值选取的是否合适直接影响道路的识别。
本文采用的方法是抽取图像一些行i(i=0,1,…,m),求得这些行的象素点的灰度值g(i,歹)(_『=0,1,…,n)的平均值,并对这些行象素点进行相邻象素点的灰度值的差分,求得差分后的绝对值的和进行平均后乘2,最后求取二者之和,即为阈值t。
1
m
n
,'mn一1
t
2磊磊i磊邑g(i,J)+磊靠i毛,邑[g(i,J+1)
一g(i,,)]
(1)
式1)可减少计算量,同时在实验中证明是有效的。
图6经预处理后如图7所示。
本文采用启发式搜索算法对道路进行识别。
该算法的核心思想是通过上下文信息来搜索下一个最有可能的边界点,其过程主要包括起始点的选择、边界点的搜索以及终止点的确定。
通过确定引导黑线在图像中的位置,推算出移动机器人当前所处的位置,进而完成对其的控制。
3
结论
图7经过预处理后的图像
本系统体积小、成本低、工作可靠、图像采集
速度快,使得整个移动机器人的电路设计大大简化。
本设计尝试了用低端单片机采集图像的方案(该方案完全可以在8位单片机上实现),在对分辨率要求不高,对成本较敏感的系统上具有实用价值。
该系统还可以应用在智能玩具和远程监控等领域。
参考文献:
[1]李绍民.嵌入式图像采集及自主足球机器人视觉系统[J].
吉林大学学报:
信息科学版,2004,22(6):
579—582.
[2]
孙
挺,李众立,黄玉清,等.基于CMOS图像传感器
0V5017的计算机并口图像采集系统[J].现代电子技术,
2004,8:
24—27.
[3]0V9650Color
CMOS
SXGAVarioPixelCameraChip.Sunnyvale
USA.OmnivisionTechnologies
Inc,2004.
[4]MC9S12CPUV2Reference
Manual.Denver
USA.MotorolaLtd,
2003.[5]
Serial
CameraControlBus
Application
Note
Doc.Sunnyvale
USA.OmniVisionTechnologies
lnc,2002.
(责任编校:
闰晓枫)
89
万方数据