当前位置:
文档之家› 基于CMOS摄像头的智能车路径跟踪系统设计
基于CMOS摄像头的智能车路径跟踪系统设计
Design of Tracing System for Intelligent Vehicle Based CMOS Camera
LI Guo - zhu
( Depa rt ment o f M echanical and Electronic Eng ineering, Xi an U niv ersity o f Art s and Science, Xi an 710065, China)
图 1 智能车总体结构图
收稿日期 : 2011 -04 -09
第 18 期
李国柱: 基于 CM OS 摄像头的智能车路径跟踪系统设计
13
2 路径信息的获取 2. 1 图像采集 采用摄像头作为路径信 息的获取手段 , 探测距离 远, 获得的信息丰富 , 能够尽早地感知前方的路径信息 以进行预 判断。摄 像头 主要有 CCD 和 CM OS 两种 , CCD 摄像头的分辨率较高, 图像质量好, 但是在使用时 需要 视频 同 步分 离 芯 片 LM 1881 以 及 A/ D 转 换器 件 , 增加了系统设计的 成本和复杂性。 CMOS 图像 传感器通过 CMOS 技 术将像素阵 列与外围 支持电路 ( 如图像传感器核心、 单一时钟、 所有的时序逻辑、 可编 程功能和 A/ D 转换器 ) 集成在同一芯片上, 与 CCD 图 像传感器相比, 具有体积小, 重量轻, 功耗低, 编程方便 等优点[ 6] 。该系统采 用了 OmniVisipn 公司 的数字式 CM OS 摄像 头 OV6620 。 OV6620 采用 5 V 电源供 电, 能够同时提供数字和模拟两路信号, 便于接线和调 试。 OV6620 与 MC9S12XS128 的 接 线 方 式 如 图 2 所示。
2011 年 9 月 15 日 第 34 卷第 18 期
现代电子技术
M odern Electro nics T echnique
Sep. 2011 V ol. 34 N o. 18
基于 CMOS 摄像头的智能车路径跟踪系统设计
李国柱
( 西安文理学院 机电系 , 陕西 西安 摘 710065) 要 : 设计了一种能自动识别 和跟踪 路径的智 能车系 统 。 用以 M C9S12XS128 作为核 心控制 器 , 利 用 CO M S 图 像传
智能车是自动控制、 环境感知、 模式识别、 计算机、 机械多个学科领域交叉的综合体现 , 具有重要的应用价 值。飞思卡尔智能汽车竞赛要求参赛车辆能够自主识 别行驶路径, 控制小车的转角和速度, 使小车沿着给定 的黑线以最快的速度跑完全程。本文介绍的智能车系 统是 以 MC9S12XS128 为 核 心 , 采 用 CMOS 摄 像 头 OV6620 获取赛道信息 , 利用合理的算法控制智能车运 动, 从而实现快速稳定的自动行驶。 1 系统硬件结构 系统总体框图如图 1 所示。智能车的控制核心是 MC9S12XS128。 M C9S12XS128 是飞思卡尔公司生产 的一款 16 位单片机 , 标称总线频率 40 MH z, 片内资源 包括 8 KB RAM, 128 KB F LASH , 2 KB E 2 PROM , SCI, SP I, CAN 通信接口模块、 脉宽调制 ( P WM ) 模块、 A/ D 转换器、 周期中断定时器 ( PIT ) 模块、 增强型捕捉 [1 - 2] 定时器等 。道路信息采集模块通过 CMOS 摄像头
Abstract: A smar t vehicle that can automatically r eco gnize and tr ace its route is desig ned. It t akes M C9S12XS128 as a co re contr oller, and CM OS camera O V 6620 as an acquisition device fo r r oute info rmation. T he ro ut e info rmation is ex tr acted by binar ization, denoising , edg e detectio n and br eakpoint inter po lation on the image collected. T he sy stem uses t he minimum squa re fitting method to fit a straight line with the tr acking info rmation and calculate the value of directio n contro l acco rding to the par amet ers o f the fitted line. T he P D alg or ithm is adopted for the steer ing contro l. T he velocity o f intelligent v ehicle is set on the basis o f steering ang le. T he real time contro l of angle and speed is implemented on the smart vehicle. Experiments sho w that the intellig ent vehicle system is able to automat ically run fast and stably along the black track. A nd the path r ecog nizatio n and tracking is achieved. Keywords: CM OS camera; M C9S12XS128; intellig ent v ehicle; r oute recog nitio n; ro ute tr acing
提取赛道中心部分是小车路径识别系统中最为重 要的一个环节 , 关系到智能小车运行质量的好坏。从去 噪后的图像可以看出, 除了赛道中心线是黑色以外 , 铺 设赛道的场地也可能呈现黑色 , 如果算法设计不合理 , 可能会将比赛场地误认为是赛道而冲出跑道。本系统 采用赛道边缘检测的方法来获取赛道中心线。 首先给出在指定列范围 [ lef t _limit , right _lim t ] 内 搜索第 i 行图 像信息的 中心点坐 标 ( center _ i , i ) 的 方 法, 其中 lef t _limit , r ig ht _limt 表示指定范围的左右极 限, cent er_ i 为第 i 行中心点的 列值。从左极 限 left _ limit 开始向右搜索, 当像素值由白变黑时认为到达赛 道的左边界, 此时的列号记为 Lelt B; 再从右极限 right _ limit 开始向左搜索, 当像素值由白变黑时认为到达赛 道的右边界, 此时的列号记为 Rig ht B。由此可得 赛道 的宽 度 Widt h= RightB- Lelt B。 若 Widt h 的 值满足 赛 道宽度范围, 认为成功搜索到第 i 行赛道 , 若不满足宽 度范围, 认为第 i 行赛道搜索失败, 这里的赛道宽度范 围通过实验获得。若搜索成功 , 则第 i 行赛道的中心点 列值 cent er_i = ( RightB+ Lelt B) / 2。 在提取整场图像的赛道信息时, 先对第 1 行进行整 行范围的搜索 , 若搜索失败, 从下一行开始继续搜索, 直 到成功搜索到一个赛道中心点 ( cent er_ j , j ) , 则该点为 第 1 个 有 效中 心 点。考 虑 到赛 道 的连 续 性, 在 搜 索 第 j + 1行中心点时, 搜索范围可以不再是全部列 而缩 小成为[ cent er_j - L , cent er _ j + L ] , 这里 L 是预 期赛 道出现的半径 , 缩小搜索范围可以减少计算量, 同时可 以有效地将比赛场地同赛道区分开来。若成功得到下
[ 7] [ 5]
式中 : t 为阈值 ; f ( x , y ) , g ( x , y ) 分别为处理前、 处理后 图像中处于( x , y ) 位置上的某个像素点的像素值, x 为 列号 , y 为行号。 图 4 为赛道信息二值化后的效果。
图 3 赛道原始图像 图像 仍 有干 扰存 在 , 该 系 统采 用 文 献[ 9] 使用的 1 3 窗口中值滤波法对噪点进行去除, 即 将某个像素点和相邻两个像素点的像素值进行比较, 若 不相同则取反。该方法能够有效抑制脉冲干扰和椒盐 噪声 , 能有效保护图像边缘, 并且计算量相比去噪常用 的3 2. 3 3 模板要小得多。 赛道中心线的提取
OV6620 获取赛道 信息。系统采用欧 姆龙 E6A2 旋 转 编码器检测小车的行驶速度。电机驱动模块采用 2 片 M C33886 芯片并联的工作方式驱动直流电机正反转 , 实 现 小 车 的 加 减 速[ 3] 。 舵 机 转 向 模 块 通 过 M C9S12XS128 的 PWM 模块 联合 产 生一 个 16 位 的 PWM 信号。改变 PWM 信号的占空比即可改变 舵机 的转动角度, 从而实现智能车的实时转向[ 2] 。系统供电 电池的电压为 7. 2 V, 电源模块利用 LM 2940 作为 5 V 稳压芯片 , 为单片机、 摄像头、 编码器和电机驱动模块供 电, 采用 LM 1117 稳压芯片为舵机提供 6 V 电源 [ 4] 。单 片机处理所采集的信息后 , 形成相应的实时控制策略 , 调节智能车的速度和转向实现路径跟踪。
图2
OV 6620 与 M C9S12XS128 的接线
图 2 中 Y[ 7: 0] 为 OV6620 的灰度信号输出 , 直接 与单片机的 PA 口相连, 其灰度数据可以由单片机直接 读取。H REF 为行中断信号 , 与单片机的 P T 1 引脚相 连, 用来判断新的一行数据到来。 VSYNC 为场中断信 号, 与单片机的 P T 2 引脚相连, 用来判断新的一场数据 的开始。 OV6620 内部集成了 356 292 的彩色图像阵 列, 每秒 25 帧, 一帧包括奇偶两场数据, 因此单片机每 20 ms 可读取一场数据。考虑到单片机的处理速度 , 本 智能车系统只保留 39 行 80 列作为一场 的路径信息。 通过试验证明, 39 80 分辨率的图像可以完整地反映 出道路状况, 采集效果如图 3 所示。 图像二值化处理和去噪 采集的原始数据包含了黑线的位置信息 , 为了稳定 可靠地提取这些信息 , 给单片机提供一幅更易判断的赛 2. 2 道图像, 还必须对原始图像进行二值化处理和去噪。 二值化处理就是对于输入图像的各个像素, 先确定 某个灰度值为阈值, 当像素的灰度值超过该阈值时 , 则 将对应输出图像的像素值设为 1, 代表白点; 否则为 0, 代表黑点。原理公式如下 [ 8] : 1, f ( x, y) t g( x , y ) = 0, f ( x, y) < t