基于摄像头传感器的智能车控制系统的设计与实现外文翻译资料

 2022-09-15 02:09

英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料


基于摄像头传感器的智能车控制系统的设计与实现

北京科技大学智能汽车实验室

北京科技大学(北京科技大学)

北京,100083,中国

电子邮件:shubra.debdas@gmail.com yangjue@ustb.edu.cn,alvychy@yahoo.com,cindyak86@gmail.com.

摘要-在本文中,我们介绍了一个以MK60N512VMD100芯片作为微控制器单元,并且利用CMOS图像传感器获取图像和轨道信息的智能车辆系统的设计与实现。我们提出了利用比较电路替代一个模拟/数字转换模块来得到二进制图像,这个方法可以使我们获得更大的视野和更高的处理速度。以一个独特的算法提取航迹信息并成功提取黑色导线。我们还设计了一个速度闭环控制系统来调节驱动电动机的转速及电动机转动方向。这个实验的结果表明,我们的设计方案是可行的。我们设计的这个智能车控制系统可以成功地实现高速运行,同时保持良好的稳定性。

关键词:ARM嵌入式处理器;传感器;比较器;巡线;PID

  1. 简介

一个智能车辆是由各种不同的功能模块组成的系统,其包括但不局限于,环境感知与决策和自动驾驶的功能。为了实现智能车辆系统的这些功能,我们需要学习自动控制、模式识别、传感器技术、电子信息、计算机科学和机械工程的基本知识。这个智能车辆设计系统的项目目标有如下几点:(1)设计和开发一个自主识别路线的机器人(2)准确探测到黑色的引导线(3)根据车辆的路径识别信息控制转向角和电机速度。

  1. 整体系统结构

下面是一个智能车辆系统的巡线机制如何工作的简要概述:CMOS图像传感器捕捉轨道的图像并且输出PAL-D信号,PAL-D信号之后被MAX941和LM1881进行处理。LM1881是一个用于提取时间信息的视频同步分离器,其功能包括从信号中提取复合,垂直同步和奇数/偶数字段数据。MAX941芯片主要进行图像的二进制转换。之后MK60N512VMD100芯片接收这两个芯片的输出信号。MK60N512VMD100芯片然后根据上述的信息控制电机和伺服控制系统。智能车辆系统上安装旋转编码器用于测量车辆的速度。利用MK60N512VMD100的输入捕捉功能来读取脉冲,以获取速度和距离信息。分别采用PD控制算法和PID控制算法来控制伺服系统和电机系统。通过PWM脉冲输出模块来驱动和改变电机的速度。系统结构框图如图1所示。

图1.系统的结构框图

三.传感器的选择

  1. 摄像头

CMOS传感器摄像头相比于CCD传感器,可以实现用较少的组件、较少的功率、提供更快的读出数据。为了收集跟踪路线信息,我们选择使用OV5116P单芯片CMOS黑白摄像机实现PAL模拟输出,这是一个完整的黑白CMOS视频摄像头芯片。它的数组大小为352*288,有效感光面积为312*215像素。它的输出信号为PAL-D制式,具有电视标准的625线/每帧,25帧/每秒,50个字段/每秒。

B.车轮速度传感器(旋转编码器)

旋转编码器是一个机电设备,连接到一个旋转的物体(如车轮或马达)测量其转动。我们用NEMICON公司制造的(18mm直径times;18mm长,500ppr)OME增量式旋转编码器。编码器的输出已被用作一个PID反馈控制系统确定转速的一部分。该传感器为74HC74D触发器序列提供车轮转速变化的脉冲,其中74HC74D触发器提供TTL波形给单片机定时器的输入捕捉模块。

四.硬件设计

  1. 主控制单元(微型控制器)

MK60N512VMD100是K60系列单片机,它是一个Cortex-M4系列核心芯片。K60芯片的内存可以从32 KB的闪存和8 KB的RAM扩展为1MB闪存和128 KB的RAM并且带有可选的16 KB缓存,优化总线带宽和提高闪存执行性能。

B.电源调节模块

在整个系统中, 5V电源消耗很小,因此,为了降低电源纹波,我们考虑使用线性电压调节器。TPS7350是微功率、低压、线性的电源稳压器,有良好的电路保护和调节功能,实现电路的过流、过压和反向电压保护。使用该芯片和一些最小的外部组件,我们可以设计一个有效的电压调节器电路,如图2所示。

图2.电源系统

C.视频同步隔离电路

利用LM1881视频同步分离器将视频信号进行分离。为了滤除噪声和进行阻抗匹配,视频信号通过一个滤波电路连接到LM1881的2号引脚。必须增加一个低通滤波器来避免高频信号的干扰。

D.比较电路

因为这里只有两种颜色(黑和白)在轨道上,灰度图像不需要高分辨率。通过调整阈值,灰度图像被转换成一个黑白图像。在二进制图像中,每个像素只有2个可能的值(0或1)。将光学系统检测到对象的图像投射到CMOS感光传感器上,相应的输出电压值直接表示图像的灰度值,由于在白与黑之间发生了改变,在黑色导线处的电压值会有差异。MAX941比较器将模拟视频信号转换为直接被微控制器的增强捕捉定时器模块(ECT)接口直接接收的TTL电平。这个通道可以捕捉到接口的边缘设置(上升或下降沿),如图3所示。在这里,BC、DC字段分别对应于黑线和同步头。通过由AB和CD字段所反映的信息的意义,我们可以得到车辆相对于该黑线的实时位置。此信息是一个汽车高速而稳定行驶的关键。

我们还连接一个电容和电阻的低通滤波器电路来防止MAX941芯片电路对黑线的边界产生干扰“毛刺”。这种方法的最大优势是普通的I/O口操作比A/D转换的速度要快,从而使高分辨率的成为可能。

图3.TTL电平接收到ECT模块

E.电机驱动电路

电机驱动电路的实现采用严谨制造的直流电机可逆双桥。功率元件由四个N沟道MOSFET(IRF540-)构成,额定工作电流可以达到超过100A,大大提高电机的转矩和转速。电机驱动器包括下列组件:脉宽调制输入接口换向电路,死区时间控制电路,电源电路,功率MOSFET门极驱动电路、功率驱动电路、缓冲保护电路。

五.程序设计

我们智能车的软件设计平台系统是IAR Embedded Workbench集成开发环境,在这里我们使用C作为实现的编程语言。代码开发和调试都使用了相同的平台。该系统的软件设计包括以下模块:(1)单片机的初始化(2)实时路径检测(图像处理)(3)伺服控制(4)电机控制(5)中断的速度采集和(6)控制算法。程序的流程图如图4(a)所示。

  1. 原始图像的特征

将原图像转换为二值图像后,我们得到一个二维矩阵,每个元素对应一个像素。线的周期为64us,图像的每一线可以采集220个像素点。为了增加框架的宽度,我们采用了2.8mm广角镜头。使用比较器电路而不是一个A/D转换模块大大提高了处理速度。并且因为这一点,现在的单片机可以处理95条线,288个可见垂直线(每三行中提取一行),它的视图长度达到200厘米。最终,图像数据的数组大小为IMAGE_DATA[95][200]。每行的点被记录并存储在一个二维数组内(分别代表上升沿和下降沿)。通过处理上升沿和下降沿来识别路径。

B.线的提取

路线提取算法的核心思想是要找到图像每行的有效中心点。行的一个周期为64us,而消隐区的每个间隔为12us。在这段时间内,捕获的行可以进行处理,因此不需要为图像分配额外的处理时间。如图4(b)所示,路径的基本黑线检测算法原理如下:

图4.(a)程序的体系结构 (b)路线提取算法

  1. 我们用近远算法使很远处的黑色边线和近处的黑色边线一样稳定。对原始图像直接进行扫描,并根据我们所设定的阈值,提取路径的黑白转换点(图像下降沿和上升沿)。
  2. 路径的黑色线宽度有一个范围。一个黑色的块在这个宽度范围内的值被认为是有效的。可以利用过滤掉超出这个宽度范围的黑色块的方法,排除环境的干扰。
  3. 使用该黑线连续性的特征,我们确定当前行的扫描范围内路径的有效线中心。

因为不需要每行的所有点都被扫描,我们可以因此而节约处理时间。通过以上的方法,我们就可以推断出路径有效的中心近似位置。

六.控制原理

一个框架中的所有有效中心的平均值是用于控制智能车的方向和线路数,最远的有效中心是用来控制汽车的速度。

我们采用了PID闭环智能控制算法,以使智能车在各种各样的环境中能够稳定的行驶,并且消除驱动过程中的各种干扰因素。

  1. 伺服控制程序设计

平均位置可以根据一个加权平均公式进行计算,如公式(1)所示。

(1)

在公式中X是计算加权平均中心,x[row]是对于具体的行计算中心、ROW_MAX(0-94)是有效的行数。X的数值和相应的伺服控制器的参考角值构成一个线性关系。由于伺服电机本身的反应非常慢和PID中的集成参数(I)将减弱旋转性能,因此我们使用一个PD控制器。在控制的过程中,当“黑”线不在智能车的中间的时候,它会产生一个偏差(偏移),它可以按公式(2)计算。比例参数(KP)有降低偏差的直接调节作用,它使得移动机器人遵循黑色的线运动。

(2)

目标位置(Target position)的值是100。

图5.中心位置和动态KP值两者的函数关系曲线

推导调节器(D)反映了系统的变化和调节速率的快慢。我们使用一个动态的KP变化调整的过程,而不是采取不同的形状(如直线,“S”形状和曲线)的不同的局部放电参数方法。偏移量如图5所示。一个微分系数(KD)常量值的设定,减少了伺服控制系统的振动并给出了一个具有动态响应能力的系统。

图6.(a)黑线中心位置与速度的关系曲线

(b)PID电机控制框图

B.电机控制程序设计

为了实现电机控制系统的稳定和快速,我们选择最远的线路数做为计算的有效中心。由于我们设定CMOS摄像头传感器的最远观测视线范围为2米长,所以智能汽车从距离曲线2米远的地方开始进行减速。智能汽车在直线和“S”型弯道的地方一样会加速的非常快。经过反复测试和实验,我们发现智能汽车的最远有效中心和它的控制中心的行数与参考速度值构成二次关系,其关系如图6(a)所示。在这种电机控制系统中,有两种比较敏感的情况存在:(1)当智能汽车从直线路径行驶进弯道路径时,我们需要进行减速处理。(2)当智能汽车从弯道路径行驶进直线路径时,我们需要进行加速处理。为了提高智能汽车的整体平均速度,我们必须使它的系统误差调整能够快速而平滑。在本系统中,速度控制采用的增量式PID算法,如图6所示。

C.路径记忆算法

根据飞思卡尔智能车比赛的新规定,智能车在正式比赛可以运行2圈,以及最好的一圈时间作为最后的竞赛结果。因为这样的比赛规定,赛道的记忆算法可以这样操作:在第一圈记录赛道的基本信息并在第二圈进行运行策略的改进。有整体记忆法(WMM)和部分记忆方法(PMM)两种,可以根据不同的单片机系统的内存限制进行选择。整体记忆算法(WMM)是记录一圈包括直道、转弯、十字和起点的所有信息。但它花费了太多的数据存储空间,因此部分记忆算法(PMM)更有效。利用直道记忆法(SMM,一种局部记忆法),所有直道信息可以存储,以便智能汽车可以加速最大和并且在弯道处提前减速。汽车的转向是由于许多因素决定的,如:摄像机视角,转向电机的性能,悬架系统,重量和重心,轮胎夹持力,跑道摩擦系数、实时速度、制动力等。一般来说,智能车不应该超过一定的最高速度,以免赛车跑到到赛道之外。例如,汽车经常被人在直道上开的太快,然后在进入弯道时速度不能及时的降下来,而使用直道记忆算法(SMM)可以在直道达到甚至超过最大速度,因为它能提前认识到转弯和中断。

在直道记忆算法(SMM)中有一些变量是需要被记录下来的。在第一圈我们用单片机的定时功能来记录直线长度。然后每一次的时间和平均速度被一个接一个的存储在一个数组中,记录了起始点信号,由其起始和终止信号。在第二圈的时候,在单片机系统上读取记忆信息,来认识到直道的开始和结束位置。最终,智能汽车尽可能的在长直道上面加速,并且在进入弯道之前提前减速。

在使用直道记忆算法(SMM)的时候有几个难点需要解决。关键是要找到直道的开始和结束的位置:它可以认定当转弯角度比一个阈值小的时候,并且单片机定时器开始计时为直道,直到一个大的转弯角度出现代表直道结束。不幸的是,这方法太理想了,而在实际情况下,汽车可能围绕着笔直的路径,可能开始和结束的位置判断有误而导致错误的控制命令。因此使用直道记忆算法(SMM)的前提条件是,设置适当的参数,使智能汽车能够平滑和灵敏的转向。

为了提高智能车的速度,在有很多直道的赛道上使用直道记忆算法(SMM)是有效的。尽管这一方法有它的局限性。在有很多弯道和其他类型的路径时,这一算法是不够有效的。弯道记忆算法或整体记忆算法可能会更好。

七.摄像头传感器的智能车控制系统的实验结果

这个摄像头传感器的智能车控制系统实验装置被安装用来实现了移动机器人的自主巡线和速度控制。基于CMOS摄像头传感器和硬件电路设计,实现了采集一个清晰的轨道图像轨道和一个精确的二值化后的图像。我们

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[148827],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。