智能小车的寻迹系统设计
- 格式:doc
- 大小:374.50 KB
- 文档页数:12
智能循迹小车___设计报告设计报告:智能循迹小车一、设计背景智能循迹小车是一种能够通过感知地面上的线条进行导航的小型机器人。
循迹小车可以应用于许多领域,如仓库管理、物流配送、家庭服务等。
本设计旨在开发一款功能强大、性能稳定的智能循迹小车,以满足不同领域的需求。
二、设计目标1.实现循迹功能:小车能够准确地识别地面上的线条,并按照线条进行导航。
2.提供远程控制功能:用户可以通过无线遥控器对小车进行控制,包括前进、后退、转向等操作。
3.具备避障功能:小车能够识别和避开遇到的障碍物,确保行驶安全。
4.具备环境感知功能:小车能够感知周围环境,包括温度、湿度、光照等参数,并将数据传输给用户端。
5.高稳定性和可靠性:设计小车的硬件和软件应具备较高的稳定性和可靠性,以保证长时间的工作和使用。
三、设计方案1.硬件设计:(1) 采用Arduino控制器作为主控制单元,与传感器、驱动器等硬件模块进行连接和交互。
(2)使用红外传感器作为循迹传感器,通过检测地面上的线条来实现循迹功能。
(3)使用超声波传感器来检测小车前方的障碍物,以实现避障功能。
(4)添加温湿度传感器和光照传感器,以提供环境感知功能。
(5)将无线模块与控制器连接,以实现远程控制功能。
2.软件设计:(1) 使用Arduino编程语言进行程序设计,编写循迹、避障和远程控制的算法。
(2)设计用户界面,通过无线模块将控制信号发送给小车,实现远程控制。
(3)编写数据传输和处理的程序,将环境感知数据发送到用户端进行显示和分析。
四、实施计划1.硬件搭建:按照设计方案中的硬件模块需求,选购所需元件并进行搭建。
2.软件开发:根据设计方案中的软件设计需求,编写相应的程序并进行测试。
3.功能调试:对小车的循迹、避障、远程控制和环境感知功能进行调试和优化。
4.性能测试:使用不同场景和材料的线条进行测试,验证小车的循迹性能。
5.用户界面开发:设计用户端的界面,并完成与小车的远程控制功能的对接。
《自循迹智能小车控制系统的设计与实现》篇一一、引言随着人工智能与自动控制技术的快速发展,智能小车已经广泛应用于各种领域,如物流配送、环境监测、智能家居等。
本文将详细介绍一种自循迹智能小车控制系统的设计与实现过程,该系统能够根据预设路径实现自主循迹、避障及精确控制。
二、系统设计(一)系统概述自循迹智能小车控制系统主要由控制系统硬件、传感器模块、电机驱动模块等组成。
其中,控制系统硬件采用高性能单片机或微处理器作为主控芯片,实现对小车的控制。
传感器模块包括超声波测距传感器、红外线测距传感器等,用于感知周围环境并实时传输数据给主控芯片。
电机驱动模块负责驱动小车行驶。
(二)硬件设计1. 主控芯片:采用高性能单片机或微处理器,具备高精度计算能力、实时响应和良好的可扩展性。
2. 传感器模块:包括超声波测距传感器和红外线测距传感器。
超声波测距传感器用于测量小车与障碍物之间的距离,红外线测距传感器用于检测小车行驶路径上的标志线。
3. 电机驱动模块:采用直流电机和电机驱动器,实现对小车的精确控制。
4. 电源模块:为整个系统提供稳定的电源供应。
(三)软件设计1. 控制系统软件采用模块化设计,包括主控程序、传感器数据处理程序、电机控制程序等。
2. 主控程序负责整个系统的协调与控制,根据传感器数据实时调整小车的行驶状态。
3. 传感器数据处理程序负责对传感器数据进行处理和分析,包括距离测量、方向判断等。
4. 电机控制程序根据主控程序的指令,控制电机的运转,实现小车的精确控制。
(四)系统实现根据设计需求,通过电路设计与焊接、传感器模块的安装与调试、电机驱动模块的安装与调试等步骤,完成自循迹智能小车控制系统的硬件实现。
在软件方面,编写各模块的程序代码,并进行调试与优化,确保系统能够正常运行并实现预期功能。
三、系统功能实现及测试(一)自循迹功能实现自循迹功能通过红外线测距传感器实现。
当小车行驶时,红外线测距传感器不断检测地面上的标志线,并根据检测结果调整小车的行驶方向,使小车始终沿着预设路径行驶。
《自循迹智能小车控制系统的设计与实现》篇一一、引言随着科技的不断发展,智能小车作为智能交通系统的重要组成部分,在日常生活和工业生产中得到了广泛的应用。
自循迹智能小车控制系统作为小车的核心部分,其设计与实现对于提高小车的自主导航能力和运行效率具有重要意义。
本文将详细介绍自循迹智能小车控制系统的设计与实现过程。
二、系统需求分析在系统设计之前,首先需要对自循迹智能小车控制系统的需求进行分析。
该系统需要具备以下功能:能够自主循迹、避障、路径规划以及实时反馈信息等功能。
此外,还需要考虑系统的实时性、稳定性和可靠性。
在明确了需求之后,我们才能有针对性地进行系统设计。
三、硬件设计自循迹智能小车的硬件设计主要包括传感器模块、控制模块、驱动模块和电源模块等部分。
传感器模块包括红外传感器、摄像头等,用于检测道路信息和障碍物信息;控制模块采用高性能的微控制器,负责处理传感器信息并发出控制指令;驱动模块根据控制指令驱动小车前进、后退、左转或右转;电源模块为整个系统提供稳定的电源。
四、软件设计软件设计是自循迹智能小车控制系统的核心部分,主要包括算法设计和程序编写。
算法设计包括循迹算法、避障算法和路径规划算法等。
循迹算法通过分析道路信息,使小车沿着预定路线行驶;避障算法通过分析障碍物信息,使小车能够及时避开障碍物;路径规划算法根据实时道路信息和障碍物信息,为小车规划出最优路径。
程序编写采用C语言或Python等编程语言,实现算法的逻辑控制和数据交互。
五、系统实现在硬件和软件设计完成后,开始进行系统的实现。
首先,将传感器模块与微控制器连接,实现传感器信息的采集与传输;其次,编写程序实现算法的逻辑控制和数据交互;最后,对驱动模块进行控制,使小车按照预定路线行驶。
在实现过程中,需要注意系统的实时性、稳定性和可靠性。
六、实验与测试为了验证自循迹智能小车控制系统的性能,我们进行了实验与测试。
首先,在室内和室外环境下进行循迹实验,测试小车是否能够准确沿着预定路线行驶;其次,进行避障实验,测试小车是否能够及时避开障碍物;最后,进行路径规划实验,测试小车是否能够根据实时道路信息和障碍物信息规划出最优路径。
循迹避障智能小车设计一、硬件设计1、车体结构智能小车的车体结构通常采用四轮驱动或两轮驱动的方式。
四轮驱动能够提供更好的稳定性和动力,但结构相对复杂;两轮驱动则较为简单,但在稳定性方面可能稍逊一筹。
在选择车体结构时,需要根据实际应用场景和需求进行权衡。
为了保证小车的灵活性和适应性,车架材料一般选择轻质且坚固的铝合金或塑料。
同时,合理设计车轮的布局和尺寸,以确保小车能够在不同的地形上顺利行驶。
2、传感器模块(1)循迹传感器循迹传感器是实现小车循迹功能的关键部件。
常见的循迹传感器有光电传感器和红外传感器。
光电传感器通过检测反射光的强度来判断黑线的位置;红外传感器则利用红外线的反射特性来实现循迹。
在实际应用中,可以根据小车的运行速度和精度要求选择合适的传感器。
为了提高循迹的准确性,通常会在小车的底部安装多个传感器,形成传感器阵列。
通过对传感器信号的综合处理,可以更加精确地判断小车的位置和行驶方向。
(2)避障传感器避障传感器主要用于检测小车前方的障碍物。
常用的避障传感器有超声波传感器、激光传感器和红外测距传感器。
超声波传感器通过发射和接收超声波来测量距离;激光传感器则利用激光的反射来计算距离;红外测距传感器则是根据红外线的传播时间来确定距离。
在选择避障传感器时,需要考虑其测量范围、精度、响应速度等因素。
一般来说,超声波传感器测量范围较大,但精度相对较低;激光传感器精度高,但成本较高;红外测距传感器则介于两者之间。
3、控制模块控制模块是智能小车的核心部分,负责处理传感器数据、控制电机驱动和实现各种逻辑功能。
常见的控制模块有单片机(如 Arduino、STM32 等)和微控制器(如 PIC、AVR 等)。
单片机具有开发简单、资源丰富等优点,适合初学者使用;微控制器则在性能和稳定性方面表现更优,适用于对系统要求较高的场合。
在实际设计中,可以根据需求和个人技术水平选择合适的控制模块。
4、电机驱动模块电机驱动模块用于控制小车的电机运转,实现前进、后退、转弯等动作。
智能循迹小车设计方案一、设计目标:1.实现智能循迹功能,能够沿着预定轨迹自动行驶。
2.具备避障功能,能够识别前方的障碍物并及时避开。
3.具备远程遥控功能,方便用户进行操作和控制。
4.具备数据上报功能,能够实时反馈运行状态和数据。
二、硬件设计:1.主控模块:使用单片机或者开发板作为主控模块,负责控制整个小车的运行和数据处理。
2.传感器模块:-光电循迹传感器:用于检测小车当前位置,根据光线的反射情况确定移动方向。
-超声波传感器:用于检测前方是否有障碍物,通过测量障碍物距离来判断是否需要避开。
3.驱动模块:-电机和轮子:用于实现小车的运动,可选用直流电机或者步进电机,轮子要具备良好的抓地力和摩擦力。
-舵机:用于实现小车的转向,根据循迹传感器的信号来控制舵机的角度。
4.通信模块:-Wi-Fi模块:用于实现远程遥控功能,将小车与遥控设备连接在同一个无线网络中,通过网络通信进行控制。
-数据传输模块:用于实现数据上报功能,将小车的运行状态和数据通过无线通信传输到指定的接收端。
三、软件设计:1.循迹算法:根据光电循迹传感器的反馈信号,确定小车的行进方向。
为了提高循迹的精度和稳定性,可以采用PID控制算法进行修正。
2.避障算法:通过超声波传感器检测前方障碍物的距离,当距离过近时,触发避障算法,通过调整小车的行进方向来避开障碍物。
3.遥控功能:通过Wi-Fi模块与遥控设备建立连接,接收遥控指令并解析,根据指令调整小车的运动状态。
4.数据上报功能:定时采集小车的各项运行数据,并通过数据传输模块将数据发送到指定的接收端,供用户进行实时监测和分析。
四、系统实现:1.硬件组装:根据设计要求进行硬件的组装和连接,确保各个模块之间的正常通信。
2.软件编程:根据功能要求,进行主控模块的编程,实现循迹、避障、遥控和数据上报等功能。
3.调试测试:对整个系统进行调试和测试,确保各项功能正常运行,并进行性能和稳定性的优化。
4.用户界面设计:设计一个用户友好的界面,实现对小车的远程控制和数据监测,提供良好的用户体验。
单片机应用——智能循迹小车设计智能循迹小车是一种基于单片机技术的智能机器人,它可以自动跟随线路进行行驶,具有很高的应用价值,被广泛地应用在工业控制和家庭娱乐等领域。
本次智能循迹小车的设计采用的是AT89C51单片机,通过巧妙的编程和外接传感器的配合来实现小车的自动识别和跟踪线路的功能。
下面我们来具体阐述一下智能循迹小车的设计过程。
一、硬件设计智能循迹小车的硬件系统包括电机驱动电路、传感器电路、控制板电路、电源电路等几个部分。
其中,电机驱动电路是实现小车行驶的关键,它通过外接减速电机来带动小车的轮子,从而实现前进、后退、转弯等基本动作。
传感器电路则用来检测小车当前所处的位置和前方的路况,从而将这些信息传递给单片机进行处理。
控制板电路是整个硬件系统的核心部分,它包括AT89C51单片机、EEPROM存储器、逻辑电路等。
其中,AT89C51单片机是控制整个系统的“大脑”,它通过编写相应的程序来实现小车的跟踪功能。
EEPROM存储器则用来保存程序和数据,以便实现数据的长期存储。
逻辑电路则用来实现各个硬件组件之间的协调工作,从而保证整个系统的正常运转。
二、软件设计软件设计是智能循迹小车系统中最为关键的一环,它直接决定了小车的行驶效果。
为了实现小车的自动跟踪功能,我们采用了双路反馈控制系统,并在此基础上进行了进一步优化和改进。
具体来说,我们先使用PID算法对传感器采集到的数据进行处理,得到当前位置和偏差值。
然后再通过控制电机的转速和方向,使小车能够自动跟随线路前进。
三、应用价值智能循迹小车是一种非常实用的机器人,它具有很高的应用价值。
例如,在农业生产中,可以利用智能循迹小车来进行田间作业,大大提高工作效率和质量;在家庭娱乐方面,智能循迹小车可以作为一种智能玩具,为人们带来更加丰富的娱乐体验。
四、总结通过本次智能循迹小车的设计,我们不仅深入了解了单片机及传感器的原理和应用,而且具备了一定的硬件和软件开发能力。
自循迹智能小车控制系统的设计与实现自循迹智能小车控制系统的设计与实现1. 引言智能小车是一种可以自动导航及执行任务的设备,具有广泛的应用领域,如物流、仓储、医疗等。
自循迹智能小车可以通过感知环境并判断合适的路径,实现自主导航。
本文将详细介绍自循迹智能小车控制系统的设计与实现过程。
2. 控制系统的硬件设计2.1 控制芯片选型在设计自循迹智能小车控制系统之前,首先需要选取合适的控制芯片。
常用的选择包括Arduino、Raspberry Pi等。
本文选择使用Arduino控制芯片,理由如下:1) Arduino具有开源、易学易用的特点,适合初学者学习和使用。
2) Arduino具有丰富的扩展接口,可以方便地与其他硬件设备进行连接。
2.2 传感器选型传感器是自循迹智能小车控制系统的关键部分,常用的传感器包括光电传感器、红外传感器等。
本文选择使用红外传感器,理由如下:1) 红外传感器可以检测到地面上的黑线,用于实现自循迹功能。
2) 红外传感器价格相对较低,适合在自循迹智能小车中应用。
3. 控制系统的软件设计3.1 控制算法设计在自循迹智能小车中,控制算法是实现自主导航的关键。
常用的控制算法包括PID控制算法、模糊控制算法等。
本文选择使用PID控制算法,理由如下:1) PID控制算法简单易懂,容易实现。
2) PID控制算法可以根据当前误差来调整小车的行驶方向和速度,实现自动校正。
3.2 软件实现在控制系统的软件实现中,需要编程实现传感器数据的读取、算法的计算以及控制命令的输出。
本文使用Arduino开发环境进行编程,具体步骤如下:1) 编写传感器读取模块的代码,在指定频率下读取红外传感器数据。
2) 编写PID控制算法模块的代码,在读取到的传感器数据基础上进行计算,得到控制命令。
3) 编写控制命令输出模块的代码,将控制命令通过引导电路传输到小车电机控制模块。
4) 调试代码,通过串口监视器观察系统的运行情况,并根据需要进行调整。
循迹避障智能小车设计一、设计背景随着自动化技术和人工智能的不断发展,智能小车在工业生产、物流运输、家庭服务等领域的应用越来越广泛。
循迹避障智能小车作为其中的一种,能够在预设的轨道上自主行驶,并避开途中的障碍物,具有很高的实用价值。
例如,在工厂的自动化生产线中,它可以完成物料的搬运工作;在家庭中,它可以作为智能清洁机器人,自动清扫房间。
二、硬件设计1、控制器控制器是智能小车的核心部件,负责整个系统的运算和控制。
我们选用了 STM32 系列单片机,它具有高性能、低功耗、丰富的外设接口等优点,能够满足智能小车的控制需求。
2、传感器(1)循迹传感器为了实现小车的循迹功能,我们选用了红外对管传感器。
将多个红外对管传感器安装在小车底部,通过检测地面反射的红外线强度来判断小车是否偏离轨道。
(2)避障传感器超声波传感器是实现避障功能的常用选择。
它通过发射和接收超声波来测量与障碍物之间的距离,当距离小于设定的阈值时,小车会采取相应的避障措施。
3、电机驱动模块电机驱动模块用于控制小车的电机运转。
我们选用了 L298N 电机驱动芯片,它能够提供较大的电流驱动能力,保证小车的动力充足。
4、电源模块电源模块为整个系统提供稳定的电源。
考虑到小车的工作环境和功耗要求,我们选用了可充电锂电池作为电源,并通过降压模块将电压转换为各个模块所需的工作电压。
三、电路设计1、控制器电路STM32 单片机的最小系统电路包括时钟电路、复位电路、电源电路等。
此外,还需要连接外部的下载调试接口,以便对程序进行烧写和调试。
2、传感器电路红外对管传感器和超声波传感器的电路设计相对简单,主要包括信号调理电路和接口电路。
信号调理电路用于将传感器输出的模拟信号转换为数字信号,以便单片机进行处理。
3、电机驱动电路L298N 电机驱动芯片的电路连接需要注意电机的正反转控制和电流限制。
同时,为了提高电路的稳定性,还需要添加滤波电容和续流二极管等元件。
四、软件编程1、编程语言我们使用 C 语言进行编程,它具有语法简洁、可移植性强等优点,适合于单片机的开发。
智能循迹避障小车设计感知系统是智能循迹避障小车的眼睛和耳朵,主要由距离传感器、红外线传感器、摄像头等组成。
距离传感器用于测量小车与障碍物之间的距离,红外线传感器可以用来检测地面的黑线,摄像头用于识别环境中的障碍物和黑线。
控制系统是智能循迹避障小车的大脑,主要由微控制器、电机驱动器、导航算法等组成。
微控制器是小车的核心控制单元,负责接收传感器的信号并根据预设的导航算法来控制电机驱动器的动作。
电机驱动器用于控制小车的运动,包括前进、后退、左转和右转等动作。
导航算法是核心的控制逻辑,根据传感器的信号来判断小车的位置和周围环境,并制定合适的控制策略。
执行系统是智能循迹避障小车的四个轮子,它们通过电机驱动器的控制来实现小车的运动。
当控制系统判断小车需要前进时,电机驱动器会给两个前轮施加相同的向前旋转力,使得小车向前运动。
当控制系统判断小车需要左转时,电机驱动器会给一个前轮施加向前旋转力,给另一个前轮施加向后旋转力,使得小车向左转动。
智能循迹避障小车的关键技术包括障碍物检测、循迹和路径规划。
障碍物检测主要依靠距离传感器、红外线传感器和摄像头来实现。
循迹技术主要依靠红外线传感器来检测地面的黑线,并根据黑线的位置来调整小车的运动。
路径规划技术主要依靠导航算法,根据传感器信号来判断小车的位置和周围环境,并选择合适的路径来避开障碍物。
除了以上的基本功能,智能循迹避障小车还可以加入其他附加功能,如声音播放、灯光控制等。
例如,小车可以播放音乐或给出声音提示来与用户进行交互,也可以通过灯光来显示其运动状态。
总的来说,智能循迹避障小车是一种具备自主导航和障碍物避让能力的小型机器人车辆。
通过感知系统、控制系统和执行系统的协同工作,它能够准确地感知环境中的障碍物并做出合适的运动决策。
在未来的发展中,智能循迹避障小车有望应用于家庭、商业和工业领域,为人们的生活和工作带来更多的便利和效率。
上海大学2014~2015学年秋季学期研究生课程考试课程名称:模式识别技术及其应用课程编号:09Z117009论文题目:基于CMOS摄像头的智能车路径识别方法研究生姓名:徐威学号: 14721532论文评语:成绩:任课教师:评阅日期:基于CMOS摄像头的智能车路径识别方法徐威(上海大学机电工程与自动化学院,上海200072)摘要:介绍了一种基于摄像头图像的智能车寻迹方法。
以MC9S12XS128为核心控制器,利用CMOS图像传感器作为路径信息采集装置,通过对采集图像进行二值化处理、去噪操作、边缘检测和断点修补后提取出路径中心信息。
利用最小二乘法对路径中心信息进行直线拟合,根据拟合直线的参数计算舵机控制量。
对舵机采用PD控制算法,根据舵机转向角设定小车的速度,并对小车实行转角和速度的实时控制。
实验结果证明,该智能车系统能够沿着赛道快速稳定地自动行驶,实现了路径识别与跟踪。
关键字:智能小车;MC9S12XS128;图像;CMOS摄像头;寻迹;路径跟踪Smart Car Path Identification Method Based on CMOS CameraXUWei(School of electrical and mechanical engineering and automation, Shanghai University, Shanghai 200072,China)Abstract: A method of smart car tracing based on camera image is introduced. MC9S12XS128 as a core controller, and CMOS camera as an acquisition device for route information. The route information is extracted by binarization, denoising, edge detection and breakpoint interpolation on the image collected. The system uses the minimum square fitting method to fit a straight line with the tracking information and calculate the value of direction control according to the parameters of the fitted line.The PD algorithm is adopted for the steering control. The velocity of intelligent vehicle is set on the basis of steering angle. The real-time control of angle and speed is implemented on the smart vehicle.Experiment results shows that the smart car system is able to automatically run fast and stably along the black track. And the path recognization and tracking is achieved.Key word: smart car; MC9S12XS128; image; COMS camera; tracing; route tracing1. 智能小车的总体结构智能车系统是以迅猛发展的汽车电子为背景,集中的运用到自动控制、模式识别、传感器技术、汽车电子、电气、计算机、机械等多个学科,是典型的高新技术综合体,具有重要的军用及民用价值。
本文主要介绍智能小车识别路径的方法,该设计的系统主要由HCS12控制核心模块、电源模块、直流电机驱动模块、图像采集模块、舵机驱动模块、速度采集模块和调试接口模块组成,其结构框图如图1所示:MCU(MC9S12XS128)图像采集模块调试接口电源管理模块速度检测模块舵机驱动直流电机驱动图1 系统总体框图Fig.1 The overall block diagram of system2. 路径信息的获取2.1 识别方案选择目前市面上常见的摄像头主要有CMOS 和CCD 两种,模拟摄像头多为CCD 摄像头,CMOS 摄像头大多是数字的。
两者优缺点比较如表1,其中CMOS 型摄像头工艺简单,价格便宜,对于识别智能车赛道这样的黑白二值图像能力足够,因此,本文主要以CMOS 型摄像头为例,介绍基于摄像头方案的智能车自主寻迹设计。
表1 CCD 和CMOS 对比表Tab.1 The CCD and CMOS contrast tableCCD CMOS灵敏度 同样面积下高感光开口小,灵敏度低 成本 成本高CMOS 整合集成,成本低解析度 连接复杂度低,解析度高 低,新技术高 功耗比 单一放大,噪点低 百万放大,噪点高 噪点比需外加电压,功耗高直接放大,功耗低2.2 硬件设计2.2.1 S12控制核心智能车的控制核心是MC9S12XS128,是飞思卡尔公司生产的一款16位单片机,标称总线频率40 MHz,片内资源包括8 KB RAM、128 KB FLASH、2 KB E2PROM;SCI、SPI、CAN通信接口模块,脉宽调制(PWM)模块,A/D转换器,周期中断定时器(PIT)模块,增强型捕捉定时器。
其中用于路径识别的I/O口的分配如下:PAD1用于摄像头视频信号的输入口;IRQ(PE1引脚)用于摄像头行同步信号的输入捕捉;PM0用于摄像头奇-偶场同步信号的输入口。
2.2.2 电源管理单元根据系统各部分正常工作的需要,各模块的电压值可分为2.5 V、5 V、 6.5 V、 7.2 V、 12 V五个挡,具体电源分配图如图2所示:图2 电源分配图Fig.2 The power distribution diagram2.2.3 路径识别单元路径识别单元是智能车控制系统的输入采集单元,其优劣直接影响智能车的快速性和稳定性。
在摄像头方案中,其前瞻距离及检测到的赛道信息是红外线光电管方案远不能比拟的,但其软、硬件设计也较红外线光电管方案难。
要能有效地采样摄像头视频信号,首先要处理好的技术问题就是能提取出摄像头信号中的行同步脉冲、消隐脉冲和场同步脉冲。
否则,单片机将无法识别所接收到的视频信号处在哪一场,也无法识别是在该场中的场消隐区还是视频信号区,更无法识别是在视频信号区的第几行。
图3 摄像头视频信号Fig.3 Camera video signal摄像头的主要工作原理是按一定的分辨率,以隔行扫描的方式采样图像上的点,当扫描到某点时就通过图像传感芯片将该点处图像的灰度转换成与灰度成一一对应关系的电压值,然后将此电压值通过视频信号端输出,具体参见图3。
当摄像头扫描完一行,视频信号端就输出有一个电压“凹槽”,并保持一段时间,此“凹槽”叫做行同步脉冲,它是扫描换行的标志。
然后,跳过一行后,开始扫描新的一行,如此下去直到扫描完该场的视频信号,接着就会出现一段场消隐区。
在这若干个消隐脉冲中,有个脉冲远宽于其他的消隐脉冲,该消隐脉冲即称为场同步脉冲,它是扫描换场的标志。
摄像头每秒扫描25幅图像,每幅又分奇、偶2场,先奇场后偶场,故每秒扫描50场图像,即扫描周期为20 ms。
图4 摄像头采样电路图Fig.4 Camera sampling circuit diagram要能进行图像采集识别路径,首先要处理好的技术问题就是能有效地从摄像头信号中提取出行同步脉冲、消隐脉冲及场同步脉冲。
考虑到硬件提取简单易行,可靠性高,因此选用LM1881视频同步信号分离芯片进行提取,其硬件电路图设计如图4所示。
2.3 软件设计通过外部中断采集程序对摄像头的视频信号进行采集,主程序在两次外部中断的间隙中完成对数据进行处理及计算并给出控制量,采样周期为20 ms。
其中,主程序主要完成的任务是:单片机初始化和黑线提取算法;图像滤波算法;其他算法。
具体主程序流程图如图5 所示:图5 主程序流程图Fig.5 The main program flow chart2.3.1 图像采集考虑到实际赛道只是在白色KT板上布置黑色引导线,路径识别只需大致提取出黑色引导线即可,不必每行采集。
因此,我们可以采用隔行采集思想来压缩图像的数据。
实践证明,智能车控制系统的图像传感系统在单一方向上只要有40像素的分辨能力就足够用了。
所以我们只需对288行视频信号中的某些行进行采样就可以了。
实际测得所用摄像头(1/3 OmniVision CMOS)时序参数表如表2所示:表2 CMOS时序参数表Tab.2 CMOS timing parameter list信号属性行序数行持续时间行同步脉冲持续时间消隐脉冲持续时间场消隐区1-4 23us 3.5us5 27.3us 8us6 37.3us 3.5us 7-10 29.8us 3.5us 11-22 64us 4.7us视频信号区23-310 64us 4.7us场消隐区(场同步脉冲)311-314 64us 4.7us 315 64us 3.5us 316-319 29.8us 3.5us 320 53.4us 28us假设每场采样40行图像数据,为了方便软件程序的编写,可以均匀地采样288行视频信号中的40行,即每隔7个有效行采集一行。
例如采样其中的第7行、第14行、第21行、…、第273行、第280行,即采样该场信号的第29行、第36行、第43行、…、第295行、302行(每场开始的前22行视频为场消隐信号)。
此外,为了进一步解决图像数据大与S12单片机数据处理速度有限的矛盾,还可以通过适当地将S12的CPU超频运行,以及降低A/D转换器的转换精度,以提高A/D转换器的速度,具体实现流程图(以采集一幅16行×40列的图像为例)如图6所示。
图6 图像采集程序流程图Fig.6 Image acquisition program flow chart2.3.2 黑线提取将常用的黑线提取算法划分为二值化算法、直接边缘检测算法和跟踪边缘检测算法。
直接边缘检测算法较二值化方法而言,抗环境光强变化干扰的能力更强,同时还能削弱或消除垂直交叉黑色引导线的干扰。
从算法的简洁性和实用性综合考虑,直接边缘检测算法是一个较好的选择。
采用逐行搜索的算法,首先找到从白色像素到黑色像素的下降沿和从黑色像素到白色像素的上升沿,然后计算上升沿和下降沿的位置差,如果大于一定的标准值,即认为找到了黑线,并可求平均值算出黑线的中心点。