基于摄像头的最佳道路识别及赛车控制算法 飞思卡尔

合集下载

飞思卡尔智能车大赛杭州电子科技大学杭电二队智能车技术报告

飞思卡尔智能车大赛杭州电子科技大学杭电二队智能车技术报告

本设计采用单片机(MC9S12DG128)作为智能小车的检测和控制核心。

路径识别采用CMOS 摄像头,车速检测采用红外对管和编码盘,由MOS管组成H桥来控制驱动电机正反转的快速切换,利用PWM技术控制小车的运动速度及运动方向。

基于这些完备而可靠的硬件设计,还设计了一套PID优化算法,编写了全闭环运动控制程序,经反复测试,取得了较好的效果。

第一章引言.1 智能车系统研究内容智能车系统要求以MC9S12DG128为核心,能够自主识别路线,在专门设计的跑道上自动识别道路行驶,以最快的速度跑完全程。

其主要研究内容包括以下几个部分:电源、路径识别、直流电动机驱动及运动控制等。

1.1.1 电源根据智能车系统各部件正常工作的需要,对配发的标准车模用7.2V 1800mAh Ni-cd电池进行电压调节。

其中,单片机系统、车速传感器电路需要5V电压,摄像头的12V工作电压由DC-DC升压回路提供,伺服电机工作电压范围4.8V到6V,直流电机经过H桥路由7.2V 1800mAh Ni-cd蓄电池直接供电。

1.1.2 路径识别路径识别模块是智能车系统的关键模块之一,路径识别方案的好坏,直接关系到最终性能的优劣。

在高速度和预先判断算法的前提下,摄像头可能是寻找路径规迹的最好选择。

因为MC9S12DG128的运算处理和AD采样速度有限,因此确定合理的采样次数和合理的处理摄像头的数据是十分重要的。

舍弃非关键数据进行数据简化和制定高效率的路径规划也是一个难题。

1.1.3 直流电动机驱动直流电机的控制一般由单片机产生的PWM信号配以H桥路来完成。

为了得到更大的驱动电流和较好的刹车效果,选用低内阻的MOS管和适当的反向驱动也是必需的。

MOS管我们选取了IRF4905和IRFZ48N,在MOS管子的驱动方面我们直接使用IR公司的IR4427双道驱动芯片。

具体的H桥电路见图1.1 。

1.2 智能车制作情况整个智能车控制系统分为4部分电路板,分别为路径识别模块,单片机模块,直流电机驱动模块和速度检测模块,还有串口通讯及调试接口。

飞思卡尔智能车摄像头组新手指南(5)--让车跑起来篇

飞思卡尔智能车摄像头组新手指南(5)--让车跑起来篇

飞思卡尔智能车摄像头组新⼿指南(5)--让车跑起来篇舵机、电机控制策略让车跑起来彭岸辉控制器设置了快速的控制周期,在每个运算周期内,控制器即时地得到智能车车速以及传感器采样来的道路信号,经过控制算法的计算后,控制单元输出相应的前轮控制转⾓以及电机占空⽐的值,其输出值再经过函数映射关系转换为 PWM 脉宽信号传⾄前轮舵机以及驱动电机,从⽽实现⼀个周期的控制。

由于摄像头的信号是具有周期性的,可以直接采⽤摄像头采集⼀幅图像的周期作为控制周期。

舵机控制采⽤ PD 控制,控制跟随性较好,P可以及时对赛道的变化作出反应,当然舵机的 P 项值也是跟随赛道情况变化的,直道和较⼩的弯道时控制较弱,90 度弯道或 270 度⼤弯道控制量较强,D有预测道路类型的作⽤,也就是能使舵机提前打⾓。

电机控制采⽤ PID 控制,可以减⼩动态误差并且跟随性能较好。

当然也可以使⽤其他控制,很多⼈舵机采⽤P控制,电机采⽤PD或PI控制。

对⽐他们的优缺点⾃⼰选择适合⾃⼰⼩车的PID。

这⾥不进⾏深⼊讲解。

前⾯的⼯作完成后懂得基本的图像处理算法就差不多可以使⼩车跑起来了!要使⼩车跑起来其实不难的,很多初学者最希望的就是看⾃⼰的车跑起来,因为当初我也是这样的,很理解师弟师妹们此刻的想法!最基本的图像处理算法就是:图像中间往两边搜索⿊线注意:初学者在初学时不知道偏差是怎样计算的。

这⾥就提⼀下:偏差就是计算出的中线即图中赛道中的⿊线与摄像头所看到的中线即图中赛道中的竖直红线(例如采集到的图像是100列的,那么摄像头看到的中线就是50)做差得到的值就是偏差。

它表⽰车当前位置与期望位置的偏离程度。

再看个图吧:⽤两⾏来说明,其他的⼀样。

第⼀⾏左边坐标(0,1)右边坐标(0,99),得出的中线就是(0,50),那么50所在的那⼀列就是摄像头所看到的中线(就是图中竖直的红线)。

这⾥再提⼀下,很多⼈提出中线后发现上位机上或LCD上没显⽰出中线,其实显⽰出中线很简单的:根据RGB,⼀个像素点的像素值为255时显⽰出来的是⽩⾊,像素值为0时显⽰出来的是⿊⾊。

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

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

基于飞思卡尔和摄像头的智能小车寻迹系统设计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) 奇偶场同步信号图1 摄像头信号时序图摄像头前瞻距离大,有利于提高速度。

同时跑道色内外色差只有黑白两色,只需提取探测画面的灰度信息就能识别黑线信息,因而图像采集选用黑白摄像头。

摄像头输出的是pal 制式的复合全电视信号,每秒输出25 帧,每帧分为偶场和奇场。

黑白视频图像信号由图像信号、消隐信号及同步信号共同组成。

场同步脉冲标志着新的一场到来。

场消隐区恰好跨在一场的结尾部分和下场的开始部分,得等到场消隐区过去,下场的视频信号才真正到来。

pal 制式的摄像头每秒扫描25 幅图像,每幅又分奇偶两场,故每秒扫描50 场图像[2]。

为此要有效地采集摄像头的视频信号,需要把摄像信号进行分离。

lm1881 视频同步信。

飞思卡尔智能车摄像头组技术报告 (2)

飞思卡尔智能车摄像头组技术报告 (2)

第十届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告摘要本文设计的智能车系统以K60微控制器为核心控制单元,基于CCD摄像头的图像采样获取赛道图像信息,提取赛道中心线,计算出小车与黑线间的位置偏差,采用PD方式对舵机转向进行反馈控制。

使用PID控制算法调节驱动电机的转速,结合特定算法分析出前方赛道信息实现对模型车运动速度的闭环控制。

为了提高模型车的速度和稳定性,我们用C++开发了仿真平台、蓝牙串口模块、SD卡模块、键盘液晶模块等调试工具,通过一系列的调试,证明该系统设计方案是确实可行的。

关键词:K60,CCD摄像头,二值化,PID控制,C++仿真,SD卡AbstractIn this paper, we will design a intelligent vehicle system based on MC56F8366 as the micro-controller unit. using the CCD image sensor sampling to the track image information to extract the track line center, to calculate the positional deviation between the car with the black line, the use of PD on the rudder. The machine turned to the feedback control. We use PID control algorithm to adjust the speed of the drive motor, combined with specific algorithms to achieve closed-loop control of the movement speed of the model car in front of the track. In order to improve the speed and stability of the model car, we use the C++ to develop a simulation platform, Bluetooth serial module, SD card module, keyboard, LCD modules, debugging tools. Through a series of debugging, the system design is feasible.Key words: K60,CCD_camera, binaryzation, PID control, C++ simulation, SD card目录第1章引言................................................................................... - 1 - 第2章系统总体设计................................................................ - 2 - 2.1 系统分析..................................................................................... - 2 - 2.2 车模整体布局............................................................................. - 3 - 2.3 本章小结....................................................................................... - 4 - 第3章系统机械设计及实现................................................... - 5 - 3.1 前轮定位的调整......................................................................... - 5 -3.1.1主销内倾..............................................................................- 6 -3.1.2 后倾角.................................................................................- 6 -3.1.3 内倾角.................................................................................- 7 - 3.2 舵机安装....................................................................................... - 8 -3.2.1 左右不对称问题的发现与解决........................................- 10 - 3.3 编码器的安装............................................................................ - 10 - 3.4 摄像头安装.................................................................................- 11 -3.4.1 偏振镜的使用......................................................................- 12 -3.4.2 摄像头的标定......................................................................- 12 - 3.5 摄像头的选用.............................................................................- 13 - 3.6 红外接收装置.............................................................................- 14 -3.7 防止静电复位.............................................................................- 15 - 3.8 本章小结.......................................................................................- 15 - 第4章硬件电路系统设计及实现 ...................................... - 16 -4.1 硬件设计方案............................................................................- 16 - 4.2 电源稳压......................................................................................- 17 - 4.3 电机驱动......................................................................................- 18 - 4.4 图像处理部分............................................................................- 19 -4.4.1 摄像头升压电路.............................................................- 19 -4.4.2 视频分离电路.................................................................- 19 -4.4.3 硬件二值化.....................................................................- 19 - 4.5 灯塔电路......................................................................................- 21 - 4.6 本章小结......................................................................................- 21 -第5章系统软件设计.............................................................. - 22 -5.1 软件流程图...............................................................................- 22 - 5.2 算法新思路...............................................................................- 23 -5.2.1中心线提取.......................................................................- 23 -5.2.2 直角检测........................................................................... - 24 -5.2.3 单线检测......................................................................... - 24 - 5.3 舵机控制.....................................................................................- 25 - 5.4 速度控制.....................................................................................- 26 - 5.5 PID算法....................................................................................- 26 - 5.6 路径优化.....................................................................................- 31 -第6章系统联调...................................................................... - 33 - 6.1 开发工具.................................................................................... - 33 - 6.2 无线调试蓝牙模块及蓝牙上位机..........................................- 33 - 6.3 键盘加液晶调试......................................................................- 34 - 6.4 TF卡调试模块.........................................................................- 34 -6.4.1 TF卡.............................................................................- 34-6.4.2 SDCH卡 .........................................................................- 35 -6.4.3 软件实现.......................................................................- 36 - 6.5 C++上位机设计........................................................................- 36 - 6.6 电源放电模块...........................................................................- 38-6.6.1 镍镉电池记忆效应…………………………………….. - 39-6.6.2 放电及电池性能检测设备…………………………….. - 39- 6.7 本章小结....................................................................................- 40 - 第7章模型车技术参数........................................................ - 41 - 第8章总结............................................................................... - 42 - 参考文献...................................................................................... - 44 -第1章引言在半导体技术日渐发展的今天,电子技术在汽车中的应用越来广泛,汽车智能化已成为行业发展的必然趋势。

(毕业设计)飞思卡尔智能车及机器视觉

(毕业设计)飞思卡尔智能车及机器视觉

图像处理在智能车路径识别中的应用摘要机器视觉技术在智能车中得到了广泛的应用,这项技术在智能车的路径识别、障碍物判断中起着重要作用。

基于此,依据飞思卡尔小车的硬件架构,研究机器视觉技术应用于飞思卡尔小车。

飞思卡尔智能车处理器采用了MC9S12XS128芯片,路况采集使用的是数字摄像头OV7620。

由于飞思卡尔智能车是是一款竞速小车,因此图像采集和处理要协调准确性和快速性,需要找到其中的最优控制。

因此本设计主要需要完成的任务是:怎样用摄像头准确的采集每一场的图像,然后怎样进行二值化处理;以及怎样对图像进行去噪处理;最后也就是本设计的难点也是设计的核心,怎样对小车的轨迹进行补线。

本设计的先进性,在众多的图像处理技术中找到了适合飞思卡尔智能车的图像处理方法。

充分发挥了摄像头的有点。

经过小车的实际测试以及相关的MATLAB 仿真,最终相关设计内容都基本满足要求。

小车的稳定性和快速性得到显著提高。

关键词:OV7620,视频采集,图像处理,二值化The Application of Image Processing in the Recognition ofIntelligent Vehicle PathABSTRACTCamera Machine vision technology in the smart car in a wide range of applications, the technology identified in the path of the smart car, and plays an important role in the obstacles to judge. Based on this, based on the architecture of the Freescale car, machine vision technology used in the Freescale car. Freescale smart car the processor MC9S12XS128 chip traffic collected using a digital camera OV7620. Freescale's Smart car is a racing car, so the image acquisition and processing to coordinate the accuracy and fast, you need to find the optimal control. This design need to complete the task: how to use the camera to accurately capture every image, and then how to binarization processing; and how to image denoising; last is the difficulty of this design is the design of the core, how to fill line on the trajectory of the car.The advanced nature of the design found in many image processing techniques of image processing methods for Freescale Smart Car. Give full play to the camera a bit. The actual testing of the car and MATLAB simulation, the final design content can basically meet the requirements. The car's stability and fast to get improved significantly.KEY WORDS: OV7620,Video Capture,Picture Processing,Binarization目录前言 (1)第1章飞思卡尔赛车及机器视觉的概述 (2)1.1 智能车的研究背景 (2)1.1.1 智能车的发展历史 (2)1.1.2 应用前景 (2)1.2 智能车设计要求介绍 (3)1.3 机器视觉介绍 (4)1.4 小结 (4)第2章主要思路及技术方案概要 (5)2.1 总体设计主要方法步骤 (5)2.2 摄像头的对比与选择 (5)2.2.1 摄像头的选取 (5)2.2.2 模拟摄像头 (6)2.2.3 数字摄像头 (6)2.2.4 摄像头的选定 (7)2.3 二值化方案的选取 (7)2.3.1 双峰值法 (7)2.3.2 迭代法 (8)2.3.3 大津法 (8)2.3.4 灰度拉伸-一种改进的大津法 (9)2.3.5 二值化方案的最终选定 (9)2.4对图像进行去噪 (9)2.4.1 传统的去噪法 (9)2.4.2 小波去噪 (11)2.4.3 去噪方法的最终确定 (13)2.5小结 (13)第3章硬件设计 (14)3.1 硬件总体方案设计 (14)3.2 核心控制板 (15)3.3 摄像头的安装 (15)3.4 小结 (16)第4章软件设计 (17)4.1 系统软件总体设计方案 (17)4.2 图像二值化软件设计 (17)4.3 去噪设计 (19)4.3.1 实验信号的产生 (19)4.3.2各参数下去噪效果对比 (20)4.4 二值化后补线 (24)4.5 小结 (32)第5 章结果分析 (33)5.1 采集到的灰度值去噪前的MATLAB仿真 (33)5.1.1 去噪前MATLAB函数和仿真结果 (33)5.1.2 去噪后MATLAB仿真结果 (34)5.2 边界扣取 (35)5.2.1 边界扣取函数 (35)5.2.2 边界扣取仿真结果 (36)5.3 补线后效果 (37)5.4 小结 (38)结论 (39)谢辞 (40)参考文献 (41)附录 (42)外文资料翻译 (45)前言机器视觉技术近几十年来已经得到广泛的应用,并且已经取得了巨大的成功,大大改善了人们的日常生活。

飞思卡尔智能车电磁组分区算法介绍

飞思卡尔智能车电磁组分区算法介绍

飞思卡尔智能车电磁组分区算法介绍写在之前的话:1、⽬前我是⼀名在校学⽣,这也是我第⼀次写博客,不周之处,请多谅解;2、此算法并⾮原创,借鉴⾃⼭东德州学院第⼋届⽩杨队(PS:个⼈看法,对于⼀些⼈把别⼈的开源东西改头换⾯⼀下就说是⾃⼰的原创⾏为⼗分鄙视);3、对于此算法的理解和说明并⾮纸上谈兵,算法已经被我运⽤到了⼩车⽐赛中并取得好的成绩(具体就不多说了,⽐赛时车莫名其妙坏了,⽐赛前调试的速度绝对能进国赛,⽐较遗憾),总之这算法是我尝试过的最好的算法;4、这⼀次所介绍的只是路径算法和⼀些知识普及,后⾯有时间会介绍其余部分算法及许多好的思路(舵机电机控制思路(不只是简单的PID),双车策略);5、希望对于这⽅⾯有涉及的⼈能与我联系并交流或指出不⾜之处。

---------------------------------------------------------------分割线-----------------------------------------------------------------------------⼀、没有这⽅⾯了解的可以看看 飞思卡尔智能车分为三组:摄像头、光电、电磁,我做的是电磁车,三种车队区别在于传感器的不同,所以获得路径信息的⽅法也不⼀样,摄像头和光电识别的是赛道上的⿊线(⽩底赛道),⽽电磁车则是检测埋在赛道下的通⼊100mh电流的漆包线,摄像头和光电采⽤的是摄像头和ccd作为传感器,电磁则是⽤电感放在漆包线周围,则电感上就会产⽣感应电动势,且感应电动势的⼤⼩于通过线圈回路的磁通量成正⽐,⼜因为漆包线周围的磁感应强度不同,因此不同位置的电感的感应电动势就不同,因此就可以去确定电感位置;因此在车⼦前⾯设置了50cm的前瞻,电感布局如下(怎么发不了图⽚):分为两排,前排3个,编号0,1,2(前期还加了两个竖直电感⽤来帮助过直⾓弯,后来改为了⼋字电感);后排2个,编号3,4;现在车⼦获得了不同位置的感应电动势的⼤⼩了,但这些值是不能处理的:1、感应电动势太微弱;2、是模拟信号,信号太微弱就放⼤它;这就涉及到模拟电路的知识了,就不多说了(因为要把这讲完到PCB绘制的篇幅就⾜够写另开⼀号专门写这些⽅⾯来(PS:题外话(我的题外话⽐较多)):放⼤部分外围你设计的再好也抵不过⼀个更好的芯⽚,有两个例⼦,⼀个是我⾃⼰的:之前⽤的是NE5532,但是效果不理想,加了好多什么滤波,补偿,都⽤上,没⽤,软件⾥处理后⾯再说,后来⼀狠⼼换了AD620,感觉像是春天来了,因为它是仪⽤放⼤器,还有就是贵。

飞思卡尔智能车原理

飞思卡尔智能车原理

飞思卡尔智能车原理飞思卡尔智能车是一种基于嵌入式系统和人工智能技术的智能交通工具。

它通过搭载各种传感器、控制器和算法,在无人驾驶、自动泊车等场景下发挥重要作用。

本文将介绍飞思卡尔智能车的原理,并分析其在实际应用中的优势和挑战。

一、飞思卡尔智能车的硬件组成飞思卡尔智能车的硬件组成主要包括以下几个方面:1. 主控单元:主控单元是飞思卡尔智能车的核心组件,通常采用高性能的嵌入式处理器。

它负责接收来自各种传感器的信息,并根据预设的算法进行数据处理和决策。

2. 传感器:飞思卡尔智能车搭载多种传感器,如摄像头、激光雷达、超声波传感器等。

这些传感器可以实时感知周围环境的信息,包括道路状况、障碍物位置等,为智能车提供必要的数据支持。

3. 电机与驱动系统:飞思卡尔智能车搭载电机和对应的驱动系统,用于控制车辆的行驶和转向。

这些系统通常采用先进的电子控制技术,能够实现精确的转向和速度控制。

4. 通信模块:飞思卡尔智能车通过通信模块与其他车辆、交通基础设施等进行信息交互。

这种通信方式可以实现车辆之间的协同工作,提高交通系统的整体效率。

二、飞思卡尔智能车的工作原理飞思卡尔智能车的工作原理可以归结为以下几个关键步骤:1. 环境感知:飞思卡尔智能车通过搭载的传感器对周围环境进行感知。

摄像头可以捕捉到道路状况、交通标志和其他车辆的信息;激光雷达可以检测到障碍物的位置和距离;超声波传感器可以测量车辆与前方障碍物的距离等。

通过这些传感器获取到的数据,智能车可以对周围环境做出准确判断。

2. 数据处理与决策:主控单元接收传感器传来的数据,并根据预设的算法进行数据处理和决策。

它会将传感器的信息与事先建立的模型进行比对,进而判断车辆应该采取何种动作,如加速、刹车、转向等。

3. 控制指令生成:基于数据处理与决策的结果,主控单元生成相应的控制指令,通过驱动系统控制车辆的行驶和转向。

这些控制指令可以通过电机和驱动系统精确地控制车辆的运动。

4. 数据通信与协同:飞思卡尔智能车通过通信模块与其他车辆以及交通基础设施进行信息交互。

基于CMOS图像传感器的智能车路径识别与转向控制

基于CMOS图像传感器的智能车路径识别与转向控制
KEY WORDS:Smartcar, MC9S12DG128 siglechip, Image sensor, PID algorithm.
摘要:本文基于第二届“飞思卡尔”杯全国大学生智能车竞 赛,在组委会提供 MC9S12DG128 单片机最小系统和竞赛 车模的基础上,采用 CMOS 图像传感器作为智能车的路径 检测传感器,扩大了智能车的检测范围,有利于智能车在快 速行进时对前方路况进行预判;在路径识别算法中,通过与 黑色灰度值比较来确定单行黑线位置;在转向控制方面,采 用了 PID 算法中的 PD 算法作为舵机的转向控制算法。经过 多次调试,赛车可以在规定的跑道上以较快的速度稳定行 进。
xaver = (xold 57) × D
(2)
yaver = ( yold 95) × L1 + L2
(3)
式(2)中的 57 和(3)中的 95 分别代表摄像
头一帧图像的列数和行数。当计算得到(xcent, ycent) 和(xaver, yaver)两点的坐标之后,很容易就可以计 算舵机应该偏转的角度α。
短的参赛队将获得最终的胜利。在比赛过程中,能 够准确识别赛道是赛车稳定行进的前提,常用的路 径检测传感器有红外二极管和 CCD/CMOS 图像传 感器[2]。由于红外二极管的检测范围有限,而且组 委会对传感器的数量有严格限制(传感器数量不超 过 16 个,红外传感器的每对发射与接受单元计为 1 个传感器,CCD/CMOS 传感器记为 1 个传感器); 另外,多个红外二极管或者单个 CCD 图像传感器 的功耗都比单个 CMOS 图像传感器的功耗要大。所 以本文选用了 CMOS 图像传感器作为智能车的路 径检测传感器,在降低智能车系统整体功耗的同 时,还扩大了赛车的检测范围,有利于赛车在快速 行进时对前方路况进行预判。本文主要针对如何利 用 CMOS 图像传感器识别赛道和赛车的转向控制 进行了探讨。

上海交大的飞思卡尔寻线算法

上海交大的飞思卡尔寻线算法

基于光电传感阵列和摄像头的寻线控制算法关军(上海交通大学机器人研究所上海200240)文摘本文,研究分析了分别基于光电传感器阵列和摄像头的寻线控制方案,通过评估比较两种方案各自具有的优势与不足,设计了一种基于两种传感器融合使用的寻线控制算法。

摄像头和光电传感阵列的混和使用,充分发挥了摄像头探测距离远,光电管信号可靠的特点,有效解决了摄像头在弯道行驶中丢失黑线的问题。

实践表明,该控制算法改善了赛车弯道行驶性能,提高了赛车寻线的可靠性。

关键词:摄像头;光电传感器;寻线控制;弯道识别A line-tracking control algorithm based on photoelectric sensor array and cameraGuan Jun(Research Institute of Robotics, Shanghai Jiao Tong University,Shanghai 200240, China)Abstract: In paper, we make a study on line-tracking control schemes based respectively on photoelectric sensor array and camera. Realizing that both schemes have their own advantages and disadvantages, we have designed a line-tracking control method which combines these two kinds of sensors. The use of camera and photoelectric sensor array together is able to make full advantage of the feature that camera could detect comparatively more distant and that photoelectric signal is more reliable, thus effectively solve the problem that the camera will miss the black line when turning. Experiments show that such method can improve the1performance of the vehicle when turning as well as the reliability of tracking.Key Word: Camera; Photoelectric sensor; Line-tracking control; Curve detecting寻线传感器的选择,是此次智能车竞赛需要首先考虑的问题。

飞思卡尔智能车路径算法

飞思卡尔智能车路径算法
码器反馈回来的速度没有达到目标速度,那么正转占空比自加,反之则自减。只要调节自
加和自减的步进就能很好的对速度进行控制。
北科定位算法:
某一时刻,采五个“一”字排布的电感的
感应电动势,找出一个感应电动势最大的电感(计为M),导线必然会离这个电
感最近。然后读出该电感相邻左右两个电感的值(分别计为L和R)。会有以下
三种情况:
当L值大于R值,说明导线在L和M之间;
当L值小于R值,说明导线在R和M之间;
当L值约等于R值,说明导线在M正上。
对于特殊情况,如M在最左或最后,缺相邻的L或R,可直接将导线位置
定位于M,且由M值大小得出远离程度。该情况说明传感器偏离赛道很严重。
北科弯Байду номын сангаас算法:
入弯时急减速,以得到足够的调整时间,获得正确的转向角度;在弯道内适当
提速,并保持角度不变,为出弯时的加速节约时间;出弯时,先准确判断标志,
然后加速,虽然会耗费一些时间,但是面对连续变向弯道可以减少判断出错的
概率,保证行驶状态的稳定性,而且弯道内的有限加速对后面的提速也有很大
的帮助。综合考虑用可以接收的额外时间换回行驶稳定性还是值得的。
很多学校两个就上2m了,这是真的
回想调车的点点滴滴,如果你对他好,他跑的就会特别好,绝对不会让你失望。
计算出PWMDTY—PRE之后并不是直接将数值赋值给舵机的占空比寄存器,而是保存起来,并进行PD 控制
速度控制:
一个好的速度控制就是能十分准确的给出目标速度,电机对目标速度响应迅速,系统在干扰
到底什么方法可以提前预判弯道以及算出弯道半径?
曲率用交叉45度的两个电感可以求的,但是要做一些误差修正。

基于CMOS摄像头的智能车路径识别与方向控制毕业论文外文翻译

基于CMOS摄像头的智能车路径识别与方向控制毕业论文外文翻译

英文原文Route Identification and Direction Control of Smart Car Basedon CMOS Image SensorAbstractThis paper is designed for the 2nd Freescale Cup National Undergraduate Smart Car Competition. With MC9S12DG128 single chip and smart car model supplied by the committee, a CMOS image sensor is applied to detect the black track on white raceway, which extends the detection range and is helpful to predict the forward path. In this paper, ten-line pixels in an image are analyzed to locate the black track, and the PD algorithm based on PID is employed to control the direction and angle of the steering gear respectively. By repeated testing, the smart car can run stably on the given raceway at a high speed.Keywords: route identification, direction control, smart car, MC9S12DG128 single chip, image sensor, PIDalgorithm.1. IntroductionThe rules of 2nd Freescale Cup National Undergraduate Smart Car Competition [1] may be summarized as follows: the raceway consists of a lot of white boards on which a black track is attached; the smart car designed by participants runsalong the black track;every car runs two circles in this game and the best times of two circles will be the final score of this car, and apparently the team whose car takes the best times will bear the palm. According to the rules, we should ensure that the car can distinguish the black track from white board in order to make the smart car run stably. There are two common methods for route identification: one is using infrared diode as the sensor, and another is using CCD/CMOS image sensor [2]. This paper using CMOS image sensor as route identification sensor, the reasons for which are as follows: (1) The range which is covered by a infrared diode sensor is much smaller than a CMOS image sensor covers, and only we can do is to use several diode sensors, but the maximum number of diode sensors used in the smart car is 16; (2) The working voltage of a CMOS image sensor(3.3V) is less than a CCD(12V) or 16 infrared diodes. Apparently, using CMOS image sensor can not only reduce the power consumption but also extend the visible range of the smart car, and also enable the car to predict the forward path. This paper presents a systemic solution for identifying the raceway and controlling the direction of smart car.2. CMOS cameraThere are several kinds of CMOS image sensors in themarket. In comparison with other CMOS image sensors, the OV6130 CMOS image sensor [3] made by OmniVision Technologies Inc. is the best choice for us to design a CMOS camera for smart car whether from the viewpoint of cost and performance or power consumption. The OV6130 is a black and white sensor which has a 1/4 inch CMOS imaging devicecontaining approximately 101,376 pixels (352×288). This sensor includes a 356×292 resolution image array, an analog signal processor, dual 8-bit A/D converters, analog video multiplexer, digital data formatter, video port, SCCB interface, registers, and digital controls that include timing block, exposure control, black level control, and white balance.By assembling the experimental circuit we test the OV6130 output ports timing (VSYNC, FODD, HERF). Figure 1 shows theexperimental timing diagrams.(a) VSYNC-FODD timing(b) FODD-HERF timingFigure 1 OV6130 experimental timing diagramsFigure 2 Structure of the image capturing and displayingsystemReferring to the OV6130 datasheet, these timing diagrams match well with those given in datasheet, thus we produce the OV6130 CMOS camera based on the experimental circuit. In order to check whether the images captured by camera have clear definition and sharp contrast or not, and also to confirm the visible range of the camera, we design a VB program for capturing the images and displaying them on computer screen. This program bases on three hardware devices: CMOS camera, MCU or single chip, PC. Figure 2 presents how these three devices work together.Figure 3 compares the original image of a snake line of raceway with the image captured by CMOS camera and then displayed on screen by VB program. It can be seen that the captured image has clear definition and sharp contrast, and this lays a foundation for route identification to be discussedlater.(a) Smart car ready to scan the raceway(b) Captured image by CMOS cameraFigure 3 Comparison between original image and capturedimage3. Route identificationRoute identification aims at helping the smart car to recognize the forward track by a method which picks up the black line from the image captured by CMOS camera,and in fact, this method works well in the following cases:straight line, curving line and snake line. By repeated testing, we decide to analyze 10 lines of a whole image to predict the forward condition of smart car. Figure 4 illustrates how we analyze the 10-line pixels of an image.Figure 4 Route identification diagramThe detailed algorithm is introduced as follows:Step 1: Calculate coordinates of the black pixel for each line ready to be analyzed. As is illustrated in figure 4, the lines (L0, L1, …, L8, L9) are to be analyzed, and the white points (P0, P1, …, P8, P9) are black pixels for each line. The origin O is superposed by P9, which means there is no black pixel in line L9. Assumed that P(x) and P(y) indicate x-coordinate and y-coordinate of point P,respectively, here both P9(x) and P9(y) equal 0.The key of this step is to find the black pixel of each line. Here, by taking the following datum which shows the gray values of all pixels in a line as example, we introducea new approach:195 210 207 215 208 228 236 243 238 234 238 235 231 233 230 235 230 222 196 207 204 208 209 129 160 65 17 15 19 18 79 151 172 153 173 150 147 159 141 153 147 154 137 139 156 136 141 9 141 133 138 4 127 110 141 112 104(1) Assumed that P is the black pixel of this line, G(i)denotes a pixel and i indi cates it’s position in this line, V(i) is the grayvalue of G(i), j is the position of the first black pixel appearing in the line from left to right. Here both P(x) and P(y) are initiated to 0, and j is 0 from the start.(2) As for each pixel in this line from left to right,comparing its gray value with the black value B, here we set B as 30, G(i) is a black pixel on condition that V(i) is less than B. In the line above, the pixels underlined in bold, whose gray values are 17,15,16,18, are component points of the black track, and the pixels underlined both in bold and italic, whose gray values are 9,4, are invalid or interferential pixels. If V(i) is less than B, set j as i. Then compare V(j+1) and V(j+2) with B respectively, results go to two sides: ①If both V(j+1) and V(j+2) are less than B, check the gray value for each pixel from G(j+3) to the end pixel of this line. If the total number of white pixels whose gray values are greater than B surpasses or equals to 3, then set P as G(j+1). Otherwise, go to (3); ②If not, repeat this way from the point G(j+3) on.(3) If there is no black pixel in this line, set both P(x) and P(y) as 0.Step 2: Calculate the average coordinates of 10 black pixels.As is showed in Figure 4, M is the average point, M(x) and M(y)are expressed as follows:Step 3: According to the position of M in the image,we can decide in which direction (ahead, left, or right) the smart car should turn. In Figure 4, the smart car should turn right obviously.Step 4: Calculate how many angles the car should turn.Further descriptions is illustrated in Figure 5, where α is the very angle by which the car should turn right, F is the central point of two front wheels, M is the average point mentioned previously (see Figure 4), D and L1 indicate the width and height of the visible range of CMOS camera respectively, L2 is the distance between visible range and front wheels, L3 is a half of front wheel’s diameter, L2+L3 means the distance between visible range and the axis of front wheels. Referring to Figure 5, it is very easy to calculate the angle α.Figure 5 Calculating the angle for turning4. Direction controlThe central unit for direction control of smart car is steeringgear, its input signal is PWM (Pulse-Width Modulation) pulse, and it outputs corresponding angle in radian. This paper uses the PWM output port of MC9S12DG128 single chip [4] as the input signal of steering gear. By inputting the given discrete width of pulse, we test the relationship between the input and the output. The formula below expresses it:where X is tangential value of the output angle, Y is width of the input pulse, y0 is the corresponding value when the output angel equals 0 and k is slope. Using this linear relationship we can operate the smart car simply just by inputting the target angel, thus the width of pulse which is the input signal of steering gear can be computed easily,this method, however, doesn’t work well in the following cases: curving line andsnake track. Therefore we apply the PID [5] (Proportional, Integral, and Differential) controller which is very popular in fields of automation and control technology. The kernel theory of PID is to do proportional, integral and differential operations on the input difference respectively, then join the three results as the final output value. In practice, it is very flexible for us to use according to features and demands of the object to becontrolled. We may choose one or two or all of PID modules, for example, we can use proportional and integral modules to make up of PI controller.As for the smart car, it is no necessary to consider the tracks which have been gone across, so we only use proportional and differential modules as PD adjuster, and P adjuster has been described previously (see Formula(2)), and the following formula shows the D adjuster:where enew , eold define the differences of this time and last time when the angle is computed (here difference means the angel by which the steering gear should turn), t is scanning period of CMOS camera, kd is differential coefficient which runs from 0.5 to 1.5, D_out is the output of D adjuster.5. ConclusionsThe challenge of this work is a systemic solution for identifying the black route and controlling the direction of smart car. The performance of CMOS camera is apparently superior to infrared diode whether in scanning range or whether in power consumption, and the clear definition and sharp contrast of image are also important for the further recognition and control. By repeated testing, it is proved that the PD adjuster works well whenthe car runs whether on curving line or on snake track at a high speed, and the stability of smart car is also promoted.中文译文基于CMOS摄像头的智能车路径识别与标的目的控制摘要本文是为第二届飞思卡尔杯全国大学生智能车大赛而设计的。

基于摄像头的自动寻迹智能车控制系统设计

基于摄像头的自动寻迹智能车控制系统设计

基于摄像头的自动寻迹智能车控制系统设计雷钧,李峰波(湖北汽车工业学院电气与信息工程学院,湖北十堰 442002)摘要:本文介绍了基于飞思卡尔MC9S12DG128单片机控制的智能车系统,该系统以摄像头传感器作为路径识别装置,通过图像识别提取路径信息。

文章对智能车寻线控制系统的软、硬件设计思路和控制算法等进行了论述。

测试结果表明智能车能准确稳定地跟踪引导线。

关键词:智能车;自动寻迹;MC9S12单片机;图像识别中图分类号:TP273;TP242.6 文献标识码:A0 概述自动寻迹智能车涉及到当前高技术领域内的许多先进技术,其中最主要的是传感技术、路径规划和运动控制。

本课题是以智能车竞赛为背景,以单片机作为核心控制单元,摄像头作为路径识别传感器,以直流电机作为小车的驱动装置,舵机控制小车转向。

车模竞赛的赛道是一个具有特定几何尺寸约束、磨擦系数及光学特性的KT板,其中心贴有对可见光及不可见光均有较强吸收特性的黑色条带作为引导线,宽度为2.5cm。

在行驶过程中,单片机系统通过摄像头获取前方赛道的图像数据,同时通过测速传感器实时获取智能车的速度,采用路径搜索算法进行寻线判断和速度分析,然后做出控制决策,控制转向舵机和直流驱动电机的工作[1-4]。

智能车通过实时对自身运动速度及方向等进行调整来“沿”赛道快速行驶。

1 智能车系统方案作为能够自动识别路径的智能车,自动控制器是设计智能车的核心环节。

自动控制器是以飞思卡尔16位单片机MC9S12DG128(简称S12)为核心,配有传感器、电机、舵机、电池及相应的驱动电路,在保证智能车可靠运行前提下,电路设计应当尽量简洁紧凑,以减轻系统负载,提高智能车的灵活性。

信息处理与控制算法由运行在单片机中的控制软件完成。

因此自动控制器设计可以分为硬件电路设计和控制软件两部分,系统基本控制过程如图1所示。

图1 系统基本控制流程2系统硬件结构本设计中系统的硬件结构大致可以分为以下几个模块,如图2所示。

飞思卡尔杯全国大学生智能汽车竞赛技术报告_摄像头组

飞思卡尔杯全国大学生智能汽车竞赛技术报告_摄像头组

第十届"飞思卡尔"杯全国大学生智能汽车竞赛技术报告第十届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告学校:电子科技大学摘要本文设计的智能车系统以MK60DN512ZVLQ10微控制器为核心控制单元,通过CMOS摄像头检测赛道信息,使用模拟比较器对图像进行硬件二值化,提取黑色引导线,用于赛道识别;通过编码器检测模型车的实时速度,使用PID控制算法调节驱动电机的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制。

关键字:MK60DN512ZVLQ10,CMOS,PIDAbstractIn this paper we will design a smart car system based on MK60DN512ZVLQ10as the micro-controller unit. We use a CMOS image sensor to obtain lane image information. Then convert the original image into the binary image by the analog comparator circuit in order to extract black guide line for track identification. An inferred sensor is used to measure the car`s moving speed. We use PID control method to adjust the rotate speed of driving electromotor and direction of steering electromotor, to achieve the closed-loop control for the speed and direction.Keywords: MK60DN512ZVLQ10,CMOS,PID目录摘要 (II)Abstract (III)目录............................................................................................................................ I V 引言.. (1)第一章系统总体设计 (2)1.1系统概述 (2)1.2整车布局 (3)第二章机械系统设计及实现 (4)2.1智能车机械参数调节 (4)2.1.1 前轮调整 (4)2.1.2其他部分调整 (6)2.2底盘高度的调整 (7)2.3编码器的安装 (7)2.4舵机转向结构的调整 (8)2.5摄像头的安装 (9)第三章硬件系统设计及实现 (11)3.1 MK60DN512ZVLL10主控模块 (12)3.2电源管理模块 (12)3.3 摄像头模块 (14)3.4电机驱动模块 (15)3.5测速模块 (16)3.6陀螺仪模块 (16)3.7灯塔检测模块 (16)3.8辅助调试模块 (17)第四章软件系统设计及实现 (19)4.1赛道中心线提取及优化处理 (19)4.1.1原始图像的特点 (19)4.1.2赛道边沿提取 (20)4.1.3推算中心 (21)4.1.4路径选择 (23)4.2 PID 控制算法介绍 (23)4.2.1位置式PID (24)4.2.2增量式PID (25)4.2.3 PID参数整定 (25)4.3转向舵机的PID控制算法 (25)4.4驱动电机的PID控制算法 (26)第五章系统开发及调试工具 (27)5.1开发工具 (27)5.2上位机图像调试 (27)5.3SD卡模块 (27)5.3.1SD卡介绍 (27)5.3.2 SPI总线介绍 (28)5.3.3软件实现 (28)第六章模型车的主要技术参数 (30)结论 (31)参考文献 (I)附录A:电原理图 (II)附录B:程序源代码................................................................................................... I V引言随着科学技术的不断发展进步,智能控制的应用越来越广泛,几乎渗透到所有领域。

飞思卡尔竞赛摄像头组-睿思二队 精品

飞思卡尔竞赛摄像头组-睿思二队 精品

第一章引言第八届“飞思卡尔”杯全国大学生智能汽车竞赛技术报告关于技术报告和研究论文使用授权的说明本人完全了解第八届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。

参赛队员签名:方根在钟旭辉李峰带队教师签名:黎福海日期:2013-08-3摘要本文以第八届全国大学生智能车竞赛为背景,利用Freescale半导体公司生产的32位单片机MK60DN512ZVLQ10和摄像头的配合来实现自动识别道路,让赛车可以在特定的跑道上行驶。

通过摄像头的成像原理,把它采集的数据通过电子线路传送到单片机,在单片机内计算出赛车面对的道路,选择最优行进路线,并采用优化后的模糊控制策略使赛车能够快速安全的行驶。

此系统是一个软硬件与机械相结合的复杂整体,其中硬件主要包括电源管理模块、电机驱动模块,速度测量模块、辅助调试模块、图像采集处理模块、舵机控制模块和单片机模块等;软件需要解决单片机初始化程序、速度测量程序、速度设定程序、速度控制程序、舵机控制程序、图像识别程序等方面的内容,另外,本届比赛对机械的改进和创新也成为提高速度必不可少的组成部分。

关键词:Freescale、单片机、摄像头、机械设计AbstractIn the background of the 8th National Intelligent Car Contest for College Students, using the 32-bit MCU MK60DN512ZVLQ10 produced by Freescale Semiconductor Company and the camera to identify the road automatically, so that cars can run fast safely on the specific runway Through the camera's imaging principle, we have the collected data transmitted to the MCU through the electronic circuit In the MCU, the car can know the road in front of it through the program that we design. And then it can choose its own path, decide the speed and ensure safe driving The system is a complicated combination of hardware, software and the mechanism structure adjustment, The hardware circuit include the problem about the power management module, motor driver module, the speed of measurement module, auxiliary debugging module, image acquisition and processing module, steering control modules and single-chip module And About the software side, we need to address the single-chip initialization programs, the speed of measurement programs, the speed set-up programs, speed control programs, steering control programs, recognition of image and so on, besides improving and innovating of the mechanism structure adjustment will be one of the most important thing to improve speed in this contest.Key words:MK60DN512ZVLQ10, Freescale, MCU, Camera,Machine design目录第一章引言 (1)1.1背景介绍 (1)1.2赛车总体介绍 (1)1.2.1智能车技术参数 (1)1.2.2智能车硬件电路 (2)1.2.3智能车软件设计 (3)1.3本章小结 (5)第二章赛车机械结构介绍和改进 (6)2.1驱动选择 (6)2.2转向轮调整 (7)2.2.1转向轮调整 (7)2.2.2舵机安装 (9)2.3驱动轮调整 (9)2.4其他调整 (10)2.4.1重心调整 (10)2.4.2其他调整 (10)2.5本章小结 (10)第三章硬件设计 (11)3.1电源设计 (11)3.2传感器选型 (12)3.2.1传感器的供电电路 (12)3.2.2电机驱动电路 (13)3.3电路设计 (14)3.3.1电源电路 (14)3.3.2传感器的信号处理 (15)3.4系统电路板的固定 (16)3.5速度测量模块 (17)3.6本章小结 (17)第四章软件设计 (18)4.1图像信号处理 (18)4.1.1图像信号采集 (18)4.1.2图像信号处理 (19)4.2转向控制策略 (23)4.3速度控制策略 (23)4.4软件流程图 (24)4.4.1主函数流程图 (24)4.4.2行中断流程图 (25)4.4.3场中断流程图 (26)4.5本章小结 (26)第五章开发与调试 (27)5.1软件开发平台 (27)5.2手动设置单元 (28)5.3状态指示单元 (28)第六章总结与展望 (29)参考文献 (30)附录一:电路原理图 (31)1核心控制电路 (31)2电机驱动电路 (33)附录二:程序源代码 (34)第一章引言第一章引言1.1背景介绍现在半导体在汽车中的应用原来越普及,汽车的电子化已成为行业发展的必然趋势。

基于摄像头的最佳道路识别及赛车控制算法 飞思卡尔

基于摄像头的最佳道路识别及赛车控制算法  飞思卡尔

基于摄像头的道路识别及赛车控制算法杨运海周祺吕梁摘要:本文探讨了摄像头在智能车道路识别中的应用,并提出了一种通用的控制算法。

在准确采集图像的基础上,利用临近搜索法对有效道路信息进行快速提取,通过分析赛道信息,计算出赛道黑线的走向趋势及赛车当前位置。

在充分考虑当前和过去的赛道信息的基础上,对赛道类型进行判断及分类。

在综合考虑赛道类型,黑线走向及车当前位置,对舵机的转向和电机的速度进行精确控制。

关键词:图像采集;临近搜索;转向控制,速度控制1.概述在飞思卡尔智能车汽车比赛中,路径识别方法主要有两大类,一类是基于红外光电传感器,令一类是基于摄像头。

通常,红外光电传感器安装灵活,原理简单,可靠性好,不易受环境光干扰,因而得到了广泛应用,但其对前方道路的预判距离非常有限,不适宜赛车高速行驶。

另一类是基于摄像头,与光电传感器相比,其优点非常明显,能提前获取大量前方道路信息,有利于实现赛车的最优控制。

但其缺点是图像采集要求有高的AD转换频率,图像处理算法复杂度高,且容易受环境光的干扰。

考虑到摄像头的优点远大于其缺点,因此选择了摄像头。

以下是摄像头的工作流程图:图B-1 摄像头工作流程摄像头控制赛车行驶方案有三大模块:图像采集、赛道信息提取、转向和速度控制。

2.图像采集考虑到S12的运算能力,我们采用了黑白制式、320*240的CMOS单板摄像头。

摄像头出来的是模拟信号,每秒有50场图像,场之间有场消隐信号,行之间有行消隐信号,经过lm1881分离后,可得到场同步信号和行同步信号,作为行中断信号。

由于行中断中要采集该行的信号,对时间要求很严格,其中断优先级应比普通中断的优先级高,因此我们选择IRQ作为行同步信号输入口,PT0作为场信号输入口。

此外,为保证图像不丢失,我们仅对场信号的下降沿进行捕捉。

图B-2 摄像头视频信号按照目前车的刹车时的加速度,我们选定图像拍摄最远处为前方1米就足以对速度做出了控制。

考虑到前轮到前方20cm为摄像头的盲区,故有效拍摄范围为0.8m,为了保证不丢失起跑线,每2.5cm至少拍摄一行,故一幅图像至少采集32行。

飞思卡尔智能车竞赛摄像头组——技术报告

飞思卡尔智能车竞赛摄像头组——技术报告

"飞思卡尔"杯全国大学生智能汽车竞赛技术报告关于技术报告和研究论文使用授权的说明本人完全了解第八届"飞思卡尔"杯全国大学生智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。

参赛队员签名:孟泽民章志诚徐晋鸿带队教师签名:陈朋朱威日期:2013.8.15摘要本文设计的智能车系统以MK60N512ZVLQ10微控制器为核心控制单元,通过Ov7620数字摄像头检测赛道信息,使用K60的DMA模块采集图像,采用动态阈值算法对图像进行二值化,提取黑色引导线,用于赛道识别;通过编码器检测模型车的实时速度,使用PID 控制算法调节驱动电机的转速和转向舵机的角度,实现了对模型车运动速度和运动方向的闭环控制。

为了提高模型车的速度并让其更稳定,我们使用自主编写的Labview上位机、SD卡模块、无线模块等调试工具,进行了大量硬件与软件测试。

实验结果表明,该系统设计方案可行。

关键词:MK60N512VMD100,Ov7620,DMA,PID,Labview,SD卡AbstractIn this paper we will design a smart car system based on MK60N512ZVLQ10 as the micro-controller unit. We use a Ov7620 digital image camera to obtain lane image information. The MCU gets the image by its DMA module. Then convert the original image into the binary image by using dynamic threshold algorithm in order to extract black guide line for track identification. An inferred sensor is used to measure the car`s moving speed. We use PID control method to adjust the rotate speed of driving electromotor and direction of steering electromotor,to achieve the closed-loop control for the speed and direction. To increase the speed of the car and make it more reliable,a great number of the hardware and software tests are carried on and the advantages and disadvantages of the different schemes are compared by using the Labview simulation platform designed by ourselves,the SD card module and the wireless module. The results indicate that our design scheme of the smart car system is feasible.Keywords: MK60N512VMD100,DMA,Ov7620,PID,Labview,SD card目录摘要 (I)Abstract (II)引言 (1)第一章系统总体设计 (2)1.1系统概述 (2)1.2整车布局 (2)第二章机械系统设计及实现 (4)2.1车体机械建模 (4)2.2车模转向轮的定位与调整 (5)2.3底盘高度及其调整 (6)2.4编码器的安装 (7)2.5舵机安装位置及结构调整 (7)2.6舵机转角分析 (8)2.7摄像头的安装 (8)第三章硬件系统设计及实现 (10)3.1硬件设计方案 (10)3.2电路设计方案 (10)3.2.1单片机最小系统板 (10)3.2.2电源稳压电路及检测电路 (11)3.2.3图像处理电路 (12)3.2.4电机驱动电路 (13)3.2.5舵机接口电路 (14)3.2.6拨码开关电路 (14)第四章软件系统设计及实现 (16)4.1赛道双边线提取及优化处理 (16)4.1.1原始图像的特点 (16)4.1.2普通赛道提线 (17)4.1.3特殊赛道提线 (19)4.1.4偏差量的计算 (21)4.1.5路径选择 (21)4.2 PID 控制算法介绍 (22)4.2.1位置式PID (23)4.2.2增量式PID (23)4.2.3各种改进型PID (24)4.2.4PID参数整定 (25)4.3转向舵机的PID控制算法 (25)4.4驱动电机的PID控制算法 (26)4.5速度决策算法 (26)4.6路径识别算法 (28)第五章系统开发及调试 (29)5.1开发工具 (29)5.2上位机图像显示 (29)5.2.1Labview 上位机 (29)5.3 SD卡模块 (30)5.3.1SD卡介绍 (30)5.3.2SPI总线介绍 (31)5.3.3硬件电路实现 (31)第六章模型的主要技术参数 (32)结论 (33)参考文献 (34)附录:程序源代码 (35)引言引言“飞思卡尔”杯智能汽车竞赛是受教育部高等教育司委托,高等学校自动化专业教学指导委员会负责主办全国大学生智能车竞赛。

摄像头黑线识别算法和赛车行驶控制策略

摄像头黑线识别算法和赛车行驶控制策略

摄像头黑线识别算法和赛车行驶控制策略引言按照首届全国大学生“飞思卡尔”智能车大赛规则要求,根据赛道特点,主要有两种寻线设计方案:光电传感器方案和摄像头方案。

这两种方案各有特点:光电传感器构成“线型检测阵列”的方案简单易行,但由于受规则限制(传感器数量不超过16 个),光电管的数量不可能太多,从而单个线型检测阵列所能确定的指引线信息较少。

所以采用此方案寻线精度不够高,在舵机转向控制时会产生直道蛇行或弯道舵机回摆,并且判断距离有限。

因此我们选择采用摄像头作为寻线传感器,一方面摄像头探测的赛道信息和距离更出色;另一方面,规定使用的MC9S12DG128 运算速度和自身AD 口的采样速度能够适应对黑白低线数摄像头的有效视频采样和对大量图像数据的处理。

图像数据信息特点摄像头的主要工作原理具体而言(参见图1),摄像头连续地扫描图像上的一行,则输出就是一段连续的电压视频信号,该电压信号的高低起伏正反映了该行图像的灰度变化情况。

当扫描完一行,视频信号端就输出低于最低视频信号电压的电平(如0.3V),并保持一段时间。

这样相当于,紧接着每行图像对应的电压信号之后会有一个电压“凹槽”,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。

然后,跳过一行后(因为摄像头是隔行扫描的方式),开始扫描新的一行,如此下去,直到扫描完该场的视频信号,接着就会出现一段场消隐区。

此区中有若干个复合消隐脉冲,其中有个脉冲远宽于(即持续时间长于)其他的消隐脉冲,该消隐脉冲又称为场同步脉冲,它是扫描换场的标志。

场同步脉冲标志着新的一场的到来,不过,场消隐区恰好跨在上一场的结尾部分和下一场的开始部分,得等场消隐区过去,下一场的视频信号才真正到来。

摄像头每秒扫描25 幅图像,每幅又分奇、偶两场,先奇场后偶场,故每秒扫描50 场图像。

奇场时只扫描图像中的奇数行,偶场时则只扫描偶数行。

飞思卡尔推辅助驾驶的SCP2200系列影像识别处理器方案

飞思卡尔推辅助驾驶的SCP2200系列影像识别处理器方案

飞思卡尔推辅助驾驶的SCP2200系列影像识别处理
器方案
飞思卡尔半导体推出了专供辅助驾驶市场使用的新系列影像识别处理器(ICP)。

SCP2200系列具备CogniVue的APEX IP技术,十分适于汽车的智慧型摄影机应用。

该系列产品加上随附的程式库、硬体及软体研发套件,让汽车製造商得以透过完备的工具,设计出智慧摄影机应用,进而迅速在市场上推出解决方案。

近年来许多购车者都希望拥有资讯更丰富、更有趣、而且安全充足的功能,包括可观看前后方及四周的摄影机。

此外,美国国立高速公路交通安全管理局(NHTSA)建议要强制规定美国所有通行车辆都要在未来内安装后方摄影机技术。

该项法规係针对车后的致命盲点所制订,根据NHTSA估计,每年至少都有292起死亡车祸及18,000个受伤案例。

欧盟新车安全评鉴协会(Euro NCAP)的标準也越来越注重主动防範行人安全。

当汽车製造商试图透过各种应用(例如以车体摄影机侦测行人)改进汽车安全性时,他们遇到了若干问题。

如果使用立法者预测型的车体摄影机及萤幕,汽车业界必须花费高达27亿元、或是平均每部车要耗费大约美金。

摄像头黑线识别算法和赛车行驶控制策略

摄像头黑线识别算法和赛车行驶控制策略

摄像头黑线识别算法和赛车行驶控制策略贾秀江1,李颢21. 上海交大机械设计及自动化研究所上海 2002402. 上海交大自动化系上海 200240文摘:本文在图像采集系统已经获取比赛赛道的实时图像的基础之上,研究和分析了赛道中黑线的实时检测算法;并根据识别的黑线信息,来对赛车的转向舵机和行驶速度进行控制,使之达到较为完美的转弯特性和速度控制。

首先简单的介绍了整个图像采集系统的所获取的图像信息和比赛赛道信息的特点。

然后针对性的提出赛道黑线的边沿检测算法,通过实验确定黑白色之间的阀值和其他主要参数值。

最后根据前面识别的黑线信息来预判前方路况信息,从而控制转向舵机的转向角度和赛车的行驶速度。

关键词:图像采集;实时图像处理;边沿检测;转向舵机;驾驶速度 中图分类号: TP1Distinguish Black Line by Camera and Drive the Smart CarJia Xiujiang1,Li Hao21. School of Mechanical Engineering , Shanghai Jiaotong University,Shanghai 200240, China;2. Department of Automation, Shanghai Jiaotong University, Shanghai200240, ChinaAbstract:In this paper we make a study on the tracking method of the guideline on a lane, on the base that the real time images of the lane have already been obtained by the image-samplingsystem. We also make use of the information of the tracked guideline to control the steer and speed of the vehicle so as to achieve comparatively perfect turing performance and speed control. First we briefly introduce the characteristics of the image and lane information obtained by the image-sampling system, then demonstrates the edge-detecting method of the guideline intended for those characteristics. We get the threshold difference value between white pixels and black pixels and other major parameters by experiments. In the last we use the guideline information obtained to figure out the lane information in front of the vehicle by which we could exert proper control on the turning angle of the steer and the speed of the vehicle.Key words: image acquire, real time image process, edge detective, steer control, speed control背景简介:按照第一届全国大学生“飞思卡尔”智能车大赛比赛规则要求:使用大赛组委会统一提供的竞赛车模,采用飞思卡尔16位微控制器MC9S12DG128作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等,以比赛完成时间短者为优胜者。

飞思卡尔 北京科技大学 摄像头组一队

飞思卡尔 北京科技大学 摄像头组一队

系统概述 .......................................................................................................................... 7 整车布局 .......................................................................................................................... 8
第二章 机械结构设计与优化 ..........................................................................................................9
2.1 自平衡车机械结构布局分析 ..................................................................................... 9 2.2 传感器的设计安装 ..................................................................................................... 9 2.2.1 摄像头的安装 .................................................................................................... 10 2.2.2 速度传感器的安装 ............................................................................................ 10 2.2.3 车模角度传感器 ................................................................................................ 11 2.3 系统电路板的固定及连接 ....................................................................................... 11 2.3.1 电路板的安装 .................................................................................................... 11 2.3.2 电池安放 ............................................................................................................ 11 2.4 其他机械结构的调整 ............................................................................................. 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于摄像头的道路识别及赛车控制算法杨运海周祺吕梁摘要:本文探讨了摄像头在智能车道路识别中的应用,并提出了一种通用的控制算法。

在准确采集图像的基础上,利用临近搜索法对有效道路信息进行快速提取,通过分析赛道信息,计算出赛道黑线的走向趋势及赛车当前位置。

在充分考虑当前和过去的赛道信息的基础上,对赛道类型进行判断及分类。

在综合考虑赛道类型,黑线走向及车当前位置,对舵机的转向和电机的速度进行精确控制。

关键词:图像采集;临近搜索;转向控制,速度控制1.概述在飞思卡尔智能车汽车比赛中,路径识别方法主要有两大类,一类是基于红外光电传感器,令一类是基于摄像头。

通常,红外光电传感器安装灵活,原理简单,可靠性好,不易受环境光干扰,因而得到了广泛应用,但其对前方道路的预判距离非常有限,不适宜赛车高速行驶。

另一类是基于摄像头,与光电传感器相比,其优点非常明显,能提前获取大量前方道路信息,有利于实现赛车的最优控制。

但其缺点是图像采集要求有高的AD转换频率,图像处理算法复杂度高,且容易受环境光的干扰。

考虑到摄像头的优点远大于其缺点,因此选择了摄像头。

以下是摄像头的工作流程图:图B-1 摄像头工作流程摄像头控制赛车行驶方案有三大模块:图像采集、赛道信息提取、转向和速度控制。

2.图像采集考虑到S12的运算能力,我们采用了黑白制式、320*240的CMOS单板摄像头。

摄像头出来的是模拟信号,每秒有50场图像,场之间有场消隐信号,行之间有行消隐信号,经过lm1881分离后,可得到场同步信号和行同步信号,作为行中断信号。

由于行中断中要采集该行的信号,对时间要求很严格,其中断优先级应比普通中断的优先级高,因此我们选择IRQ作为行同步信号输入口,PT0作为场信号输入口。

此外,为保证图像不丢失,我们仅对场信号的下降沿进行捕捉。

图B-2 摄像头视频信号按照目前车的刹车时的加速度,我们选定图像拍摄最远处为前方1米就足以对速度做出了控制。

考虑到前轮到前方20cm为摄像头的盲区,故有效拍摄范围为0.8m,为了保证不丢失起跑线,每2.5cm至少拍摄一行,故一幅图像至少采集32行。

为了稳妥起见,我们选择了ROW=45行。

摄像头最前方拍摄的宽度为80cm,而黑线宽度为2.5cm,故一行至少采集32,为了稳妥起见,一行采集的点数定为COL=45个点。

正常情况下,S12的AD频率不能超过2M,转化一个点需要14个周期,如果不超频,一行将只能采集8个点(24M主频时)。

将分频系数设为0,此时AD 频率为12M。

在行采集过程中,我们通过查询方式来判断AD是否转换完成,并对AD转换时间进行了记录,发现记录到的时间恰是期间指令执行一次的时间,这表明,影响一行采集的点数已不是AD的频率,而是执行指令的时间,因此采集过程中不需要查询A TDSTA T0的标志位,只需要通过执行一定数量的NOP空操作指令延时即可。

例如采集47个点需要时,每个点的时间间隔是53us/47=1.125us,对应的指令周期数为1.125*24=27。

通过反编译知读写等指令本身有13个指令周期,故令加14个NOP指令即可实现。

由于摄像头的角度关系,拍摄是不均匀的,而是前方疏,近处密。

为了保证采集的均匀,采集的行之间间隔的行数就不能相同。

摄像头的有效行数为285行左右,具体关系如下表:行采集计数器line 摄像头行计数器row 备注0 0 每3行采集一行1 32 63 94 125 156 18 每4行采集一行7 228 269 3010 3411 3812 42 每5行采集一行………… ……n i*(3*i+15)+(i+3)*(n%6) 其中i=n/6每i+3行采集一行 图像采样基本思路是行中断服务程序开启行中断,在行中断中对每行的采集作计数,当达到预定的行数时表示一幅图像采集完,此时关闭行中断,置位图像缓冲区已满标志,并对各个技术器进行清零,以准备下一幅图像的采集。

具体流程如下图 图B-3 场中断流程图当黑线位于中心时,将采集到的数据通过串口发送至PC 并利用MA TLAB 还原,对应部分波形如下图,其中,星号表示一行的结束。

与示波器的波形对比,采集效果非常好。

图B-4 行中断服务程序流程图图B-5 采集到的数据(*号与*号之间表示一行)当车位于起跑线时,拍摄效果如图4所示。

图B-6 46行*47列时起跑线拍摄效果3.黑线提取考虑到赛道黑线是连续的一条线,我们采用邻近搜索法将有效黑线段搜索出来,以便对速度和转向进行控制。

该算法的最大优点是不易受干扰,只要黑线是连续的就能正确的提取出来。

此外其算法复杂度非常低,因为只对有效黑线及其附近的点进行识别,提取一幅图像黑线最大时间(全部有效时)为1.7ms,而采集一幅图像需20ms,除了1/6时间用来采集数据之外,还剩16ms 的时间,足以用来提取黑线及控制舵机和电机了。

本算法搜索方向是从底部到前方(即由近及远),其关键之处在底部第一个黑线中心的提取。

考虑到稳定性,底部第一个黑点的搜索以相邻3行作为考察对象,并从第二列开始,到倒数第二列,通过比较,找出其最小值,若最小值满足黑线对应的AD值,则第一个黑线的中心搜索完毕,否则重复上述步骤,直到搜索到黑线或图像的第一行。

找到底部第一个黑线中心后,接下来就是在该点的左右共7个点的范围内进行搜索,找出其中的最小值,并一该点作为新的黑线中心,然后重复搜索下去,直到发现所得最小值大于某个值(如50,这意味着最黑的点已不是黑点,即黑线结束),或者黑线的中心已到图像边沿(此也意味着黑线将要结束)。

在此过程中,将所得到的黑线中心坐标保存到path数组中,至此图像有效信息已全部提取出来了,详细提取流程图如图5.8所示:图B-7 黑线提取流程图原先没有采用三行每列相加,搜索示意图5.9所示,那么如果图像采集出现小问题,连续的黑线在某处断开,那么黑线搜索在该处就停止了,导致有上段黑线信息丢失。

为了防止这种情况,我们想到了,在黑线提取之前对图像进行滤波处理,三行每列相加求平均,思想等同于中值滤波。

但是如果这样,也就意味着要对图像处理两遍,效率太低了。

这样我们想到,不妨在对图像滤波处理的同时也对黑线进行提取,那么就有了现在的提取算法,示意图如图5.10。

图B-8 一行一行搜索的弊端图B-9 三行每列相加搜索的优点实践表明,该算法适应性强,不受外界干扰,做到了人眼能识别出来的黑线都能被它识别出来。

外界干扰主要有环境光,赛道污点,赛道交叉(包括非十字交叉),阴影,附近有其它赛道,接缝等等。

最糟糕的是,赛道背景也是黑的,但只要黑线比背景黑依然可以识别出来。

4.视觉调整摄像头由于视觉的缘故,所能拍摄的区域不是长方形,而是一个等腰梯形。

最前方拍摄的范围较宽(75cm ),最后方拍摄的范围则较窄(37cm ),其关系近似为2倍的现行比例关系。

如果拍出来的图像没有进行调整放大,则会造成图像失真,以致可能对弯道误判为直线。

故进行放大调整非常有必要,放大比例关系具体为第一行放大2倍,最后一行放大1倍,其余根据线性关系确定放大系数。

假设path[0..ROW]是各行黑线与图像中心的偏差,则第i 行的偏差应调整为][_2][i buffer path ROWi ROW i path −= ……公式B-1 调整后,path [0..ROW]真实体现出了道路的变化及趋势,为接下来对赛道类型的判断及转向、速度的控制奠定了基础。

对于0.8m 圆弧,调整前后对比效果如下图:图B-10 调整前和调整后的图图B-11 真实的图5.赛车转向控制5.1 赛车方向偏差计算(delta)赛车方向偏差可定义为delta=k1*(path[head]-path [tail]),其中k1为像素与长度单位的转换系数。

当赛车进入弯道,如图6.1所示,那么delta很好的反映了弯道的曲率,即弯道越急,delta就越大。

图B-12 方向偏差delta5.2 赛车位置偏差计算(offset)前面提到的方向偏差,反映了道路情况,反映道路的方向。

另外我们采用CCD图像最底部tail的黑线位置距离中心位置的大小,来反映当前赛车的位置偏差,如图6.2所示。

图B-13 位置偏差offset5.3 转弯半径计算(R )正常情况下,车是沿着黑线前进的,这也就是说,车的前进方向是与黑线相切的。

故任意时刻,车与黑线切点对应的转弯半径与车前进方向垂直。

如图5.10所示,由直角三角形的比例关系可得转弯半径近似为:deltah delta R 222+= ……公式B-2图B-14 转弯半径计算示意图其中delta 为有效黑线水平偏差,即上一节所提到的赛车偏差;h 为纵向偏差,即h=k2*(tail-head)。

这里k2为像素与长度单位的转换系数。

5.4 角度计算得到R 后,便可求得该点的曲率2221h delta delta R curve +==。

经验表明,直接用斜率hdelta k =也能很好地表征出赛道的弯曲程度,效果与用参数Curve 几乎一致,而对于S12单片机来说,计算斜率k 要比计算Curve 容易多。

下表是智能车在不同赛道类型时对应的斜率k 的值:图B-15 弯道类型 位置序列 ① ② ③ ④ ⑤ ⑥ 斜率k 0.2 0.9 1.5 2.0 1.0 0.2从上表可知,直线部分或小S 弯部分,斜率k 绝对值不超过0.2,进入转弯时,k 大小在0.2到1.0,处于转弯时,k 大小在1.0到2.0之间。

由于计算斜率k 时,考虑的是整幅图像,故斜率k 直接反映了当前转弯的整体紧急程度,在转向控制中可作为控制的输入量,而角度angle 则作为控制的输出量。

采用P 控制时,具体关系可如下定义:hdelta Kp angle *= ……公式B-3 考虑到斜率k 或方向偏差delta 仅仅反映了道路的趋势,却忽略了车与黑线的当前偏差offset ,我们重新对角度控制进行矫正,加上最近一行tail 的位置偏差offset ,那么公式就变成了:offset K hdelta K angle *2*1+= ……公式B-4 这里k1,k2为待定参数,k1越大,提前转弯量越大,走内线越明显。

而k2越大,则对当前量的看得越重,车沿着黑线跑越明显,走内线程度则相应被削减。

综合考虑了CCD 的拍摄范围及采集的行列数,我们取k1=20,k2=2/3。

这样实现了直线不抖,转弯走内线,S 弯与直线一样直接过。

赛车经过直线,delta=0或非常小,那么offset将发挥作用,控制赛车贴着黑线行驶,如图图B-16 直线段控制赛车经过弯道,delta和offset共同发挥作用,关键在于参数k1和k2的大小,这两个参数只能通过不断的调试获得,前面已经提到了,k1决定转弯大小,k2抑制或促进转弯,为的是将赛车尽量拉回黑线。

相关文档
最新文档