微波EDA网,见证研发工程师的成长! 2025濠电姷鏁告慨鎾儉婢舵劕绾ч幖瀛樻尭娴滅偓淇婇妶鍕妽闁告瑥绻橀弻锝夊箣閿濆棭妫勭紒鐐劤濞硷繝寮婚悢鍛婄秶闁告挆鍛缂傚倷鑳舵刊顓㈠垂閸洖钃熼柕濞炬櫆閸嬪棝鏌涚仦鍓р槈妞ゅ骏鎷�04闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫆闁芥ê顦純鏇㈡⒒娴h櫣甯涢柛鏃€娲熼獮鏍敃閵堝洣绗夊銈嗙墱閸嬬偤鎮¢妷鈺傜厽闁哄洨鍋涢埀顒€婀遍埀顒佺啲閹凤拷13闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫇闁逞屽墰缁絽螖娴h櫣顔曢梺鐟扮摠閻熴儵鎮橀埡鍐<闁绘瑢鍋撻柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷 闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏犖ч柛灞剧煯婢规洖鈹戦缁撶細闁告鍐f瀺鐎广儱娲犻崑鎾舵喆閸曨剛锛涢梺鍛婎殕婵炲﹪鎮伴鈧畷鍫曨敆婢跺娅屽┑鐘垫暩婵挳骞婃径鎰;闁规崘顕ч柨銈嗕繆閵堝嫯鍏岄柛娆忔濮婅櫣绱掑Ο鑽ゎ槬闂佺ǹ锕ゅ﹢閬嶅焵椤掍胶鍟查柟鍑ゆ嫹闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋為悧鐘汇€侀弴銏℃櫇闁逞屽墰缁絽螖娴h櫣顔曢梺鐟扮摠閻熴儵鎮橀埡鍐<闁绘瑢鍋撻柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷
首页 > 硬件设计 > 嵌入式设计 > 基于飞思卡尔和摄像头的智能小车寻迹系统设计

基于飞思卡尔和摄像头的智能小车寻迹系统设计

时间:05-13 来源:互联网 点击:

1 引言

智能小车寻迹系统是基于摄像头和飞思卡尔16微处理器mc9s12xs128组成,由摄像头采集图像有用信息送入单片机分析道路参数。

智能小车跑道表面为白色,中心有连续黑线作为引导线,黑线宽25mm,铺设跑道地板颜色与背景不一样;跑道宽度为60cm,窄道区的宽度为45cm;跑道最小曲率半径不小于50 厘米; 跑道可以交叉,交叉角为90度。

系统主要包括视频图像采集、图像处理、黑线中心提取、路径判断。

2 视频图像采集

图像采集是基于mc9s12xs128单片机来实现的。mc9s12xs128是飞思卡尔开发的以cpu12内核为核心的单片机,采用5v电源供电,总线速度最高可达40mhz,8kb ram,128kb flash,具有丰富的i/o模块和工业控制专用的通信模块[1]。

(a) 视频信号;(b) 行同步信号;(c) 场同步信号;(d) 奇偶场同步信号

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...
图1 摄像头信号时序图

摄像头前瞻距离大,有利于提高速度。同时跑道色内外色差只有黑白两色,只需提取探测画面的灰度信息就能识别黑线信息,因而图像采集选用黑白摄像头。摄像头输出的是pal制式的复合全电视信号,每秒输出25帧,每帧分为偶场和奇场。黑白视频图像信号由图像信号、消隐信号及同步信号共同组成。场同步脉冲标志着新的一场到来。场消隐区恰好跨在一场的结尾部分和下场的开始部分,得等到场消隐区过去,下场的视频信号才真正到来。pal制式的摄像头每秒扫描25幅图像,每幅又分奇偶两场,故每秒扫描50场图像[2]。为此要有效地采集摄像头的视频信号,需要把摄像信号进行分离。lm1881视频同步信号分离芯片可从摄像信号中分离出行同步脉冲,场同步脉冲和奇偶场脉冲。下图为视频信号lm1881分离后时序图如图1所示,其摄像头采样电路图如图2所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...
图2 摄像头采样电路图

设计采用80引脚mc9s12x128单片机。根据其引脚特点,pt口响应速度不如pj口响应速度好,所以选择pj口作为行中断和场中断输入口,本设计选用pj7和pj6。但是pj口共用一个中断向量,因此在软件设计中用巧妙的方法先开pj6,关闭pj7。当奇偶场上升沿脉冲到来时,产生中断,进入中断服务程序,中断服务程序里延时一段时间,清掉消隐时间,然后开启行中断pj口,当行中断产生时延时一段时间开始采集图像信息,这里所有延时都是为了滤掉采集的非图像信息。本系统采集图像是采集同一场图像(即奇场和偶场)。这样可以减少摄像头因奇偶场硬件上不同而带来偏差。

为获得充足的图像信息,实现对智能车准确控制,图像采集每场为42×47个点 。通过实验证明,42×47的图像能够得到满意图像信息。采集效果如图3所示。图中数值为20-25表示黑线所在位置。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...
图3 图像采集灰值情况

3 图像处理

了防止场地黑线干扰导致控制出错,需要对整幅图像进行滤波处理。因为黑色指引线是一条平滑连续的曲线,因此对于图像中出现的那些跳跃性较大的点即可视为干扰加以去除。

滤波方法有很多,如中值滤波对单片机开销较大,因此本系统采用对整幅图像进行较为简单的插值处理。这样不仅占用cpu时间少,而且也实现了对实时控制的要求。摄像头提取到的近处黑线信息出错的概率非常小,因此利用近处黑线的中心偏差,对前方的黑线中心偏差进行插值滤波。其滤波流程图如图4所示。插值滤波时,同时要注意小车在过急弯时的情况,因此要对插值后的黑线中心进行限幅处理。

闂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕濡ょ姷鍋涢ˇ鐢稿垂妤e啫绠涘ù锝呮贡缁嬩胶绱撻崒姘偓鐑芥倿閿曚焦鎳岄梻浣告啞閻熴儳鎹㈠鈧濠氭偄绾拌鲸鏅梺鎸庣箓濞诧絽效濡ゅ懏鍋℃繝濠傛噹椤eジ鎮介娑樻诞闁诡喗鐟︾换婵嬪炊閵娧冨妇濠电姷鏁搁崐顖炲焵椤掑嫬纾婚柟鍓х帛閻撴盯鎮楅敐搴′簽濠⒀冪仛閹便劍绻濋崨顕呬哗闂佸湱鎳撶€氱増淇婇幖浣肝ㄩ柨鏃€鍎崇紞鎺楁⒒閸屾瑨鍏岄柟铏崌瀹曠敻寮介鐐殿唵闂佽法鍣﹂幏锟�...
图4 插值算法流程图

4 引导线提取

由于黑线和白赛道的灰度值不确定,如果以设定的值作为黑线的灰度值,必然适应新环境的能力不强。但是黑色和白色灰度值之差变化不大,因此可以用灰度值之差作为黑线与白道的标准。根据实验,灰度值之差一般在15-30之间。本系统就是以此范围作为灰度值范围。

在查找黑线的点顺序也有一定方法。如果采用常用的从左到右依次查找黑点,这样不仅容易把周围的颜色误认为黑线,同时在一定程度上比较耗时。本系统采用从图像中央开始向侧查找,当找到黑线就停止该行查找,这样不仅可尽量减少查找到周围的颜色的机会,同时也能减少查找耗时。同时注意,在查找黑点时,应该查找到两个或两个以上的黑点才能作为黑线的位置,这样可以避免因随机产生的干扰的影响。

5 路径判断

5.1 弯直道判断

根据图像采集特点,直道时黑点偏离中心线位置较小,弯道时偏离中心线的位置大,用一个数学公式表征这一特点[3]即

式中:xi为采集到的黑点实际坐标

x为图像中心线的坐标位置

n为采样到黑点的总行数

通过多次实际赛道实验,直道时的curve一般在2以下,小弯道在3-10的范围内,10以上则能判定为大弯道,这就以数值判断赛道的情况,从而实现对舵机的有效控制。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top