摄像头式避障小车设计

成绩评定表

课程设计任务书

目录

第一章引言 ............................................................................................................ 5

第二章系统基本原理分析及总体设计 ................................................................. 6

2.1 系统需求分析 ................................................................................................... 6

2.2 基本原理 ........................................................................................................... 6

2.2.1 车模平衡控制 ............................................................................................ 6

2.2.2 车模速度控制 ............................................................................................ 7

2.2.3 车模方向控制 ............................................................................................ 9

2.3 设计思路 .............................................................................................................9

第三章硬件模块的方案与实现 ..............................................................................9

3.1 电源电路设计 ...................................................................................................9

3.2 电机驱动模块 ................................................................................................... 10

3.3 主控模块电路设计 .......................................................................................... 13

3.4 传感器模块 ...................................................................................................... 13

3.4.1 图像采集 ................................................................................................... 13

3.4.2 陀螺仪传感器 ........................................................................................... 14

3.4.3 加速度计传感器 ....................................................................................... 14

3.4.4 速度检测传感器 ....................................................................................... 14

3.5 调试模块 .......................................................................................................... 14

第四章模型车机械结构优化与模块安装 ........................................................... 14

4.1 电池的安装 ..................................................................................................... 15

4.2 编码器的安装 ................................................................................................. 15

4.3 摄像头的安装 .................................................................................... …………..15

4.4 加速度计和陀螺仪的安装 ............................................................................. 16

4.5 主控板的安装 ................................................................................................ 16

4.6 小结 ................................................................................................................ 16

第五章智能车控制软件设计 ............................................................................. 16

5.1 主程序流程图: ............................................................................................ 17

5.2 图像采集与处理 ........................................................................................ 17

5.21 图像的采集 .............................................................................................. 17

5.22 图像的处理 .............................................................................................. 18

5.23 赛道分类 .............................................................................................. ….18

5.3 控制算法与函数 ............................................................................................ 18

5.3.1 直立控制程序设计 ................................................................................. 18

5.3.2 速度控制程序设计 ................................................................................. 18

5.3.3 方向控制程序设计 ................................................................................. 18

第六章调试方案 ...................................................................................................19

6.1 IAR 集成开发环境 ......................................................................................... 19

6.2 上位机 ........................................................................................................... 19

6.21 摄像头上位机 ......................................................................................... 19

6.22 示波器上位机 ......................................................................................... 19

6.2.3 参数修改上位机 .................................................................................... 19

第七章总结 ........................................................................................................ 20

参考文献 ............................................................................................................ 20

第一章 引言

智能车系统由微控制器模块、电源管理模块、路径检测模块、车速检测模块、直流驱动电机控制模块和调试模块组成。本系统以 32 位微处理器 K60 为控制核心,并采用 IAR Embedded Workbench 软件编程、J_LINK、NRF24L01、蓝牙等作为调试工具。运用摄像头进行道路信息采集,并采用 PWM 技术来控制电机转速。各个部分经过微控制器模块的处理控制,能够以较快的速度在指定的轨迹上行驶,在进弯道、十字路口、人字路口等特殊轨迹之前能够提前识别并通过改变两个轮子上的 PWM 的占空比,达到平滑快速通过和减小路程的效果。

第二章系统基本原理分析及总体设计

2.1 系统需求分析

模型车需要在能来回自由移动的车轮上保持车体直立不倒,这就要求车体的重心和车轴的重心需要在同一垂直线上,但是由于模型车在行驶过程中,这一平衡是时刻在变动的,要求电机的正反转是车模加速运动保持直立。要实现这一要求,就必须知道模型车实时的姿态,而这个就可以通过加速度计、陀螺仪等姿态传感器来获取小车的姿态参数。这样就可以通过实时的姿态参数,经过处理来控制电机的正反转,从而保证小车的直立。这就是模型车的平衡控制。模型车需要在规定的赛道上行驶,那么就必须要有识别这个赛道的眼睛——摄像头,要想这个“眼睛”看清楚赛道那就需要选一个好的摄像头。然后就是对眼睛看到的图形进行处理,获得所需的图像,以及对赛道种类的识别,这些都是模型车能否快速运行的基本条件。这就是模型车的转向控制。前面三个任务是模型车控制任务的最核心、最基本的控制任务。最后,在模型车的调试阶段是模型车提速的重要阶段,只要前面的基础打好,剩下的就只是调试提速了,但是在调试的阶段,调试的手段至关重要,所以在调试之前,就应该做好准备,准备好相应的调试工具和调试手段。比如各个模块的上位机以及通讯模块。

2.2 基本原理

前面讲到模型车的三个基本控制任务。这三个任务分解后的任务各自独立进行控制。由于最终都是对同一个控制对象(车模的电机)进行控制,所以它们之间存在着耦合。为了方便分析,在分析其中之一时假设其它控制对象都已经达到稳定。比如在速度控制时,需要车模已经能够保持直立控制;在方向控制的时候,需要车模能够保持平衡和速度恒定;同样,在车模平衡控制时,也需要速度和方向控制也已经达到平稳。这三个任务中保持车模平衡是关键。由于车模同时受到三种控制的影响,从车模平衡控制的角度来看,其它两个控制就成为它的干扰。因此对车模速度、方向的控制应该尽量保持平滑,以减少对于平衡控制的干扰。以速度调节为例,需要通过改变车模平衡控制中车模倾角设定值,从而改变车模实际倾斜角度。为了避免影响车模平衡控制,这个车模倾角的改变需要非常缓慢的进行。这一点将会在后面速度控制中进行详细讨论。

2.2.1 车模平衡控制

世界上还没有任何一个天才杂技演员可以蒙着眼睛使得木棒在自己指尖上直立,因为没有了眼睛观察进行负反馈,当木棒在人的指尖上直立时,眼睛观察到木棒的倾斜角度和倾斜趋势(角速度),相应的通过人脑做出反应,使手掌移动以抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这就形成了反馈机制。其反馈机制如图 2.1

车模平衡控制也是通过负反馈来实现的,与上面保持木棒直立比较则相对简单。因为车模有两个轮子着地,车体只会在轮子滚动的方向上发生倾斜。控制轮子转动,抵消在一个维度上倾斜的趋势便可以保持车体平衡了。如图 2.2 所示。

2.2.2 车模速度控制

对于直立车模速度的控制相对于普通车模的速度控制则比较复杂。

由于在速

度控制过程中需要始终保持车模的平衡,因此车模速度控制不能够直接通过改变电机转速来实现。要实现对车模速度的控制,必须测量车模的实时速度,改变车模的倾角,以及如何根据速度误差控制车模倾角。安装在电机输出轴上的编码器来测量得到车模的车轮速度。通过给定车模直立控制的设定值,在角度控制调节下,车模将会自动维持在一个角度。在车模直立控制下,为了能够有一个往前的倾斜角度,车轮需要往后运动,这样会引起车轮速度下降(因为车轮往负方向运动了)。由于负反馈,使得车模往前倾角需要更大。如此循环,车模很快就会倾倒。原本利用负反馈进行速度控制反而成了“正”反馈。如图 2.3 所示。

车模的速度控制本质上是通过调节车模的倾角实现的,由于车模是一个非最小相位系统,因此该反馈控制如果比例和速度过大,很容易形成正反馈,使得车模失控,造成系统的不稳定性。因此速度的调节过程需要非常缓慢和平滑。

2.2.3 车模方向控制

实现车模方向控制是保证车模沿着竞赛道路比赛的关键。直立车模所在的摄像头组的道路两侧铺设有黑色边缘线。可通过摄像头采集回来的灰度值进行判断,通过给定的阈值对采集回来的图像进行二值化,找出赛道的边缘,再通过边缘线画出赛道中心线。在车模直立控制和速度控制的基础上给电机左右轮差速实现转向的效果,使小车在赛道内行驶。具体控制框图如下 2.5 所示:

通过左右电机速度差驱动车模转向消除车模偏差,这个过程是一个积分过程。因此车模差动控制一般只需要进行简单的比例控制就可以完成车模方向控制。

2.3 设计思路

根据摄像头平衡组的规则、要求及为了方便调试,我们设计的模型车共包括五个模块:主控模块、传感器模块、电机驱动模块、电源管理模块、调试模块。

第三章硬件模块的方案与实现

硬件电路是整个系统中想当重要的一部分,是系统运行的基础,所以在每一个模块中电阻和电容的相关系数,都需要仔细斟酌。硬件电路的设计和制作是一个漫长的过程,更是一个充满乐趣的过程,也是一个不断完善的过程。如果电路刚开始设计考虑的不周全,可能就需要重新设计与绘制电路板,这样的话会浪费很多的时间,所以一定要保证电路的稳定性,在此基础上提高电路板的集成度,这需要耗费很多的时间和精力去完成它。

3.1 电源电路设计

电源模块是智能车动力核心,电源模块是否稳定,这将决定小车是否能够平稳的运行,查阅电源模块的相关资料,我们选择了比较适合的电源。在这几次调试的过程中,我们的电源管理没有出现任何的问题。比赛指定智能车电源只能使用指定型号的 7.2V 2000mAh Ni-Cd 电池供电。我们现在需要 3 种电源,一种是为单片机、摄像头、液晶、LED 、SD 卡等器件供电的 3.3V 电源;一种是为蓝牙、加速度计、陀螺仪、蜂鸣器供电的 5.0V 电源;另一种是为电机供电的 7.2V 电源。前两种电源可供我们选择,一种为开关稳压电源,另一种为线性稳压电源。开关稳压电源功耗小,效率高;线性稳压电源,电路简单,输出纹波小。整体考虑,我们选择线性集成三端稳压电源。电机电源我们就直接取自电池两端。 5.0V 供电我们采用 LM2940,因为 LM2940 是压差小,输出文波小的线性稳压电源,当电源的电压比低时也能为系统提供稳定的电源。另外由于若是直接从电池端电压直接稳压到 3.3V 电源的效率会变得很低,所以我们先将电池电压降为 5V 然后在通过稳压芯片降为 3.3V 。3.3V 电源供电,我们采用 2 片 TPS7333,因为 TPS7333 的压差小,当电源的电压比较低时,也可以为单片机提供稳定的电源,而且 TPS7333 的输出纹波非常小,输出容量也满足核心板的供电要求。另外一片 TPS7333 芯片给其他的 3.3V 的电源供电,这个芯片完全可以满足我们的要求;给电机供电,我们只是对电池经过滤波之后直接接到电机上的。我们的电源模块电路图如图所示

3.2 电机驱动模块

本次摄像头平衡组需要驱动 2 个电机,驱动的设计尤为重要。常用的电机驱动有两种方式:一、采用集成电机驱动芯片;二、采用 N 沟道 MOSFET 和专用栅极驱动芯片设计。市面上常见的集成 H 桥式电机驱动芯片中,BTN7971 型芯片性能较为出色,该芯片具有完善的过流、欠压、过温保护等功能,使用 PWM 调制输入频率最高 25KHz ,内部 MOSFET 导通电阻为 16 毫欧,具有最大 71A 的连续工作电流。使用集成芯片的电路设计简单,可靠性高。由于分立的 N 沟道 MOSFET 具有极低的导通电阻,大大减小了电枢回路总电阻。另外,专门设计的栅极驱动电路可以提高 MOSFET 的开关速度,使 PWM 控制方式的调制频率可以得到提高,从而减少电枢电流脉动。并且专用栅极驱动芯片通常具有防同臂导通、硬件死区、欠电压保护等功能,可以提高电路工作的可靠性。 1. 专用栅极驱动芯片的选择: IR 公司号称功率半导体领袖,所以我们主要在 IR 公司的产品中进行选择。其中 IR2184 型半桥驱动芯片可以驱动高端和低端两个 N 沟道 MOSFET

,能提供较大的栅极驱动电流,并具有硬件死区、硬件防同臂导通

等功

能。使用两片 IR2184 型半桥驱动芯片可以组成完整的直流电机 H 桥式驱动电路。由于其功能完善,价格低廉容易采购,所以我们选择它进行设计,如图 3.2 所示:

2. MOSFET 的选择:

选择 MOSFET 时主要考虑的因素有:耐压、导通内阻和封装。智能汽车电源是额定电压为 7.2V 的电池组,由于电机工作时可能处于再生发电状态,所以驱动部分的元件耐压值最好取两倍电源电压值以上,即耐压在 16V 以上。而导通内阻则越小越好。封装越大功率越大,即同样导通电阻下通过电流更大,但封装越大栅极电荷越大,会影响导通速度。常用的 MOSFET 封装有 TO-220、TO-252、SO-8 等,TO-252 封装功率较大、而栅极电荷较小。于是我们最终选择了 IR 公司 TO-252 封装的 LR7843 型 N 沟道 MOSFET ,VDSS = 55 伏、RDS(on) = 8.0 毫欧、ID= 110 安。 3. 控制逻辑电路设计: IR2104 的控制信号有两个管脚:IN 和 SD 。IR2104 输入输出信号关系图如图 3.3 所示:

图 3.3 IR2104 输入输出关系图

而当两片 IR2104 驱动如图 3.4 所示可逆桥式电路时,其真值表为表 3.1:

我们用两片 IR2104 及四个 MOSFET 组成全桥的电机驱动电路,并且采用单极性的控制模式,PWM 的占空比在 0%之时电机速度为零,0~100%控制转速,H_D 信号控制转向。

3.3 主控模块电路设计

核心控制板负责赛道信息的采集;车模直立数据的采集;运行速度的采集;驱动电机 PWM 波的输出;控制车模直立、速度、转向的控制。我们本次使用的主控芯片是 Freescale 公司生产的 32 位单片机 MK60DN512Z10。该单片机基于 ARM CORTEX M4 的 RISC 内核,外接 50MHz 晶振,通过 PLL 超频至 200MHz 。MK60 内部含有两个 ADC 模块,最高采样精度为 16 位。内置 8 路 16 位 PWM

输出。两路数字正交信号解码模块,可以方便读取双向编码器信息。

此模块为整个系统中最核心的模块,所以它的稳定性直接关系到到整个系统的稳定运行,因此,此模块与其他模块之间需要做好必要的隔离工作,使得其工作时不会受到其他模块的影响,尤其是电源模块。

3.4 传感器模块

3.4.1 图像采集

(1 )CCD 电荷耦合器件 CCD 是一种半导体器件,能够把光学影像转化为数字信号。 CCD 上植入的微小光敏物质称作像素(Pixel )。一块 CCD 上包含的像素数越多,其提供的画面分辨率也就越高。 CCD 的作用就像胶片一样,但它是把图像像素转换成数字信号。CCD 上有许多排列整齐的电容,能感应光线,并将影像转变成数字信号。经由外部电路的控制,每个小电容能将其所带的电荷转给它相邻的电容。构成 CCD 的基本单元是 MOS (金属- 氧化物- 半导体) 结构。CCD 的基本功能是电荷的存储和电荷的转移。工作时, 需要在金属栅极加一定的偏压, 形成势阱以容纳电荷, 电荷的多少基本与光强成线性关系。电荷读出时, 在一定相位关系的移位脉冲作用下, 从一个位置移动到下一个位置, 直到移出 CCD , 经过电荷- 电压变换, 转换为模拟信号。(2 )CMOS 光电传感器 CMOS 是一种高集成度大规模集成电路,仍使用光敏元件为感光器件,光敏元件在排列方式上与 CCD 电荷耦合器件相同,只是在光电转换后信息传送方式不。CMOS 芯片内部提供了一系列控制寄存器, 通过总线编程来对自动增益、自动曝光、白色平衡、γ校正等功能进行控制, 编程简单、控制灵活。直接输出的电视机制式图像信号可以很方便地和后续处理电路接口, 供处理器 AD 模块对其进行采集和处理器处理。

3.4.2 陀螺仪传感器

陀螺仪可以用来测量物体的旋转角速度。在模型车上安装陀螺仪测量车模型车的倾角速度,再将角速度进行积分便可以的到模型车的真实角度。由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小模型车的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。因此车模控制所需要的角度和角速度可以使用陀螺仪所得到的信号。但是陀螺仪在使用的过程中会有较大的温漂,使得所得到的角度值不准确,所以

还需要将陀螺仪与加速度计的信号进行采集处理。从而去掉陀螺仪的过冲、温漂。

3.4.3 加速度计传感器

由于陀螺仪有严重的温度漂移,对陀螺仪的积分并不能得到当前车身的准确的角度。也就无法控制车身的平衡,因此为了得到当前的车身角度,必须使用加速度计。我们使用的是 MMA7361,MMA7361 具有工作电压地(2.2~3.6V),灵敏度高(800mv/g)的特点。MMA7361 是三轴加速度计。其三个输出信号与对应的轴的加速度成比例。陀螺仪的输出不需要接放大电路,唯一的外围器件就是低通滤波电路,由于输出后没有负载,仅作为 ADC 的信号,这里采用官方的 (1K,0.1uF)的无源低通滤波。

3.4.4 速度检测传感器

为了使得模型车能以闭环控制系统运行,就需要测的模型车的运行速度,以使模型车在急弯以及长直到时速度不至于过快而冲出赛道。如果开环控制电机转速,由于直立车的特点,会造成赛车无法运行,通过速度检测,对模型车速度进行闭环反馈控制,就可以消除上述的影响。常见的速度检测传感器有,测速发电机,光电测速传感器,霍尔传感器和光栅编码器等。相比较而言,测速发电机的体积和质量比较大,用测速发电机会对模型车的机械结构产生比较大的影响。经过我们的多次比较最后我们打算使用霍尔传感器。

3.5 调试模块

液晶屏具有显示内容直观,可显示图像和汉字的优点。在车身添加液晶屏模块可以使调试更加方便,因此本次车身上我们添加了液晶屏模块。在调试过程之中,我们需要实时的了解与掌握一些车的运行状态,比如说传感器的状态,模型车的角度,调试时用液晶将这些参数显示出来,让我们实时的监测车的状态,从而做出判断,这样很大程度的方便了对车的调试。有时候需要对参数作修改处理,如果每修改一个数据就下载一次程序的话,就会浪费时间,这时应用键盘,它就起到一个人机交互的作用。而且在比赛前的调试过程中,如果发现模型车不适应赛道,还可以临时对部分的参数进行修改,使得模型车的适应性更强。在对小车的参数进行调整的时候,由于蓝牙的传输速度比较慢,无法再模型车运行的时候修改参数,所以我们就用 NRF24L01 无线模块进行修改,这样可以大大提高修改

参数的效率,从而加快调车的进度。我们给模型车配备了一个蓝牙,虽然蓝牙用来修改参数速度很慢,但是在图像处理的时候还是需要用蓝牙来发图的,把小车看到的图,发到电脑上的上位机,然后再来对着图片进行图片处理,这样一来也可提高对图片处理的速度及精度。蜂鸣器,这个可以用在模型车对赛道的识别上,这样就可以十分直观的看出来模型车是否识别赛道以及识别时间。这样就可以更加方便的调试。电压表头,用于显示电池的电压,防止电池过放从而更好的保护电池,延长电池的使用寿命。

第四章模型车机械结构优化与模块安装

智能车的整体参数,包括车体重心、高度、传感器排布方式等,都对整个智能车系统的稳定运行起着至关重要的作用。因此,对智能车机械系统的调节,有助于模型车更快更稳定的运行。模型车的布局以精简、可靠、稳定为前提, 通过对小车的布局,尽量保证小车左右平衡,以及寻找一个合适的重心,保证模型车既能稳定快速前进,又能在转弯时流畅。智能汽车各个统的控制都是在机械结构的基础上实现的,因此在设计整个软件架构和算法之前一定要对整个模型车的机械结构有一个全面清晰的认识,然后建立相应的数学模型,从而再针对具体的设计方案来调整赛车的机械结构,并在实际的调试过程中不断的改进优化和提高结构的稳定性。本章将主要介绍智能汽模型车型车的机械结构和调整方案。根据竞赛规则,各个竞赛组别所使用的车模均为组委会指定车模,摄像头组所使用的车模为 D 型车模和 E 型车模,基于各方面考虑,我们选择 E 型车模。

4.1 电池的安装

电池是占模型车车重的主要部件,他的安装对重心的影响极大,车模重心太高在高速过弯导致了侧翻,降低重心能增加过弯的稳定性。所有模型车的部件安装都要尽量保证小车的重心足够低,而电池是这么多零件中最重的,所以电池的安装位置对模型车有很大的影响。我们考虑到影响模型车平衡的两个转动惯量,以车轴为轴心的转动惯量和转向的转动惯量,所以我们把电池横着放在轮胎中间。

4.2 编码器的安装

选用可以 5V 工作电压的 512 线 MINI 光电编码器进行速度的测量,保证测量的精度。速度传感器用螺钉通过支架固定在后轮支架上,这样固定好之后,就有

了较高的稳定性。然后调节编码器齿轮,使其与差速齿轮紧密咬合,增大测速的精确性,但是咬合过紧也增大了摩擦,减小了对电机做功的利用率,影响模型车的快速行驶,因此减小摩擦同时增强齿轮间的咬合是我们主要考虑的因素。用齿轮润滑油涂抹齿轮有不错效果。

4.3 摄像头的安装

摄像头为采集赛道边界模块,赛道宽 45cm ,其中两边都有 2.5cm 的黑线,为了更好地采集到赛道两边的黑线,就必须使得摄像头的位置达到一定高度,而且有一定的倾角,这个决定了模型车的视野的大小。若视野过窄会导致模型车调整方向时的死区问题。另外还需要考虑到摄像头对模型车的重心的影响。

4.4 加速度计和陀螺仪的安装

智能车在行进过程中,车体仅绕两轮的轴心线做转动。芯片外观是长方形的,安装时,应注意将长的一边与后轮轴心线平行。因为陀螺仪测得的是角速度,所以水平放置就可以了,与陀螺仪一样,加速度传感器的性能与安放位置也有很大的关系。加速度传感器是根据其 XYZ 轴上的模拟输出电压来确定车身的倾角。由于我们测量的倾角只有一个,所以可以使用其中两个个轴的输出经过正交分解来计算。

4.5 主控板的安装

由于前面的电池的安装尽量放低且靠近轮胎,使得模型车的平衡角度过于靠前,以至于模型车无法顺利通过坡道,所我们把主控板,通过一个支架向前伸以加强模型车前部的重量。

4.6 小结

模型车的性能与机械结构有着非常密切的联系。良好的机械结构是模型车提高速度的关键基础。在同等的控制环境下,机械机构的好坏对其速度的影响十分显著。我们非常重视对智能汽车的机械结构的改进,经过大量的理论研究和实践,我们模型车的大部分质量都集中在两轮前后,达到降低重心的目的,从而提高了模型车整体的稳定性和可靠性。

第五章智能车控制软件设计

5.1 主程序流程图:

5.2 图像采集与处理

5.21 图像的采集

由于我们采用了 k60 芯片和带有硬件二值化的 ov7725 的摄像头,我们可以采用 dma 采集赛道图像,dma 采集效果比一般的读取 io 口效率高,并且 OV7725 没有噪点,效果好。图像采集过程中 dma 独占内存,无法进行图像处理,我们选用的摄像头采集速度可以达到 150

帧,于是我们抛弃了一张图片,

变成每秒钟 100 张,这样我们就有了充足的时间进行赛道信息处理和车体姿态控制。由于 ov7725 可以通过 sccb 配置寄存器,改变采集图像的大小,简化了采集过程,开始我们选用了 80*60 的图像大小经过一段时间发现效果并不理想,白背景下远处的边线无法看清,我们把图像扩大到了 160*120,并去掉图像最左右和最靠近车的部分,由于图像畸变,近处的图像所占的比例很大,但是用处却不大,我们通过下图的赛道标定,等距采集图像,使得每一行像素之间所反映的赛道实际距离相近,再通过数组存下要留下的赛道行号,然后去掉相应的无用行,最后实际使用的图像大小为 128*70。

5.22 图像的处理

在采集出图像信号后需要对其进行处理以提取赛道信息,同时,由于杂点、交叉线、起跑线、光线、赛道连接处、赛道上的杂物,以及赛道以外图像的干扰,得到的图像有很多干扰,软件上需要排除干扰因素,对有效赛道进行识别,并提供尽可能多的信息供决策使用。图像信号处理中提取的赛道信息主要包括:(1)每一行的赛道中心位置(2)每一行的赛道宽度(3)赛道的曲率(4)赛道的变化幅度由于摄像头倾斜放置导致的梯形畸变,这使得同一段赛道位于摄像头视域的不同区域时(近端、远端,边缘、中间) 的表征会有所差别。为了还原出真实的赛道信息,我们根据摄像头的放置位置、角度等参数,对图像进行了梯形失真校正,使得图像的处理更接近真实空间。摄像头组的核心部分为左右边线的提取,从而推算出中心线的位置,引导车子的行进方向。

边线提取,中心线推算思路: 1. 近处图像较远处图像可靠,所以边线由近到远提取 2. 近十行先从中间向两边进行边沿搜索,找到边沿,确保近处图像有效 3. 之后的行采用边沿跟踪,根据上一行的黑线位置动态地确定本行黑线的搜索范围,搜索黑线,节省时间 4. 若连续几行的左右线都找不到,判断为十字弯,进行左右线的延伸,直至再找到有效的边线;若连丢几行的次数较多时,则认为是虚线小 s ,进行垂直方向的延伸后不必特别处理 5. 若左右边线均找到,该行中心线直接为左右边线等权重加权;若某一边线丢失,则根据前面有效行的赛道宽度和另一边线的位置对中心线进行推算 6. 推算完中心线后可对中心线进行一定的修正,更符合实际

5.3 控制算法与函数

5.3.1 直立控制程序设计

平衡控制算法最重要的是滤波算法和控制算法。这里滤波的主要作用是使用加速度计滤除陀螺仪的漂移,也可以说是将加速度计和陀螺仪的数据融合,将车模角度和角速度乘以各自相应的系数就可以得到直立控制输出量。

5.3.2 速度控制程序设计

为了使得速度具有一定的物理意义,对于编码器所取得的脉冲数需要转化成实际的速度,根据定义单位的物理意义,可以确定速度单位转化的比例值。

5.3.3 方向控制程序设计

车模方向控制利用图像计算出来的偏差量进行,并且与中值进行对比,得到的差值来驱动电压。

对于方向来说,我们依然进行了大量限幅,不仅仅实在图像处理上,以及图像的偏差计算中,还是整个电机的输出控制中。

第六章调试方案

前面几章一直是在为系统制定方案以及方案的细化。但整个系统的完善主要还是在系统的现场调试。在细分的每个模块中,大部分都涉及有众多参数,对这些参数的确定就需要软硬件联合调试。而这过程就需要一整套开发调试环境和工具。包括程序源代码的编辑以编译环境,参数调节与设定工具。

6.1 IAR 集成开发环境

IAR Embedded Workbench 是一套完整的集成开发工具集合:包括从代码编辑器、工程建立到 C/C++编译器、连接器和调试器的各类开发工具。它和各种仿真器、调试器紧密结合,使用户在开发和调试过程中,仅仅使用一种开发环境界面,就可以完成多种微控制器的开发工作。

6.2 上位机

我们用到的上位机有三个:摄像头上位机,visual scope ,参数修改神器。其中示波器上位机波特率都为 115200。

6.21 摄像头上位机

由于我们使用的是摄像头,需要实时的查看小车实际看到的赛道信息,方便于我们对图片的分析。我们使用 Visual Studio 开发的摄像头上位机,可以接收蓝牙发来的图片信息,同步执行算法分析图片。在调试的后期,发现仅仅使用这个上位机并不能完全分析到小车在实际运行的过程中看到的图像,我们小组又将 SD 使用在小车上,实时的记录小车在运行过程中的各项参数,进而方便我们的调试。

6.22 示波器上位机

该上位机共有 4 个通道,分别将数据用 4 种不同颜色的曲线表示出来。在调试的过程中,由于我们在调节车身的平衡的各项系数时,需要实时的了解加速度计和陀螺仪采集回来的数据,和滤波算法是否可以有效的滤除噪声干扰。使用串口示波器极大地方便了我们地调试。

6.2.3 参数修改上位机

由于小车的各项参数较多,每次为了改参数而去下载程序,会使得在调车的过程十分不便。因此,我们利用 NRF 将数据发送给小车,可以使得小车在行走的过程中动态地修改参数,而不影响小车的正常运行。

第七章总结

智能车,“能自己跑的车”,非常神奇的事物。正如《银河英雄传说》描述的:“我们的征程是星辰大海”一样。我们的征程是了解智能车,享受学习的乐趣。在智能车这场征程中,我们有过第一次车跑起来的开心,有过车被撞坏的心疼,也有过一直苦恼的问题得以解决的喜悦,甚至有过一个问题得不到解决苦闷一个星期的烦恼。智能车,成为我们人生中难忘的一笔。软件程序的编写学习,加上自身在学校课堂学习到的电子电路知识,以及汽车机械结构原理知识,对车模的安装有自己的独特的见解,对车子的机械,硬件,软件设计结合有了一整套的方案。在制作的过程中我们感受到了模型车第一次跑完赛道的喜悦;感受到了当图像处理遇到问题是的困惑;感受到模型车撞坏的难过。也许也正是因为这些

欢乐、伤心,才使得这次比赛的真正意义。首先,硬件是基础,硬件的搭建就像大楼的根基,没有稳定的基础,谈做车就是无本之木,所以第一步就是把相关的硬件做稳定。在硬件电路及机械方面我们在前期花费了大量时间来分析、测试。然后确定我们的硬件电路。不仅如此,我们在中期的调试中还通过调试发现问题,进而改进硬件电路及机械结构。确保硬件、机械方面为模型车的提速打好最好的基础。在于此同时,我们还在开发用于调试的上位机,以及一些调试手段为下一步调试做好准备。其次,软件是灵魂,有了强壮的体魄,更加需要智慧的灵魂,在硬件支托下,我们通过仔细的分析卓晴老师在第七届比赛时公布的一个培训视频,然后初步搭建我们的程序框架。最后在不断地调试中不断地改进、升级我们的程序。在调试过程中,我们经常在智能车论坛里,找一些车友交流技术,共同提升。从网上找到许多的控制算法的文章,不断研究最后开发属于适合我们小车的控制算法。第三,机械上的调整优化。在速度达到一定数值之后,模型车的速度就会达到机械的极限,无论再怎样调节参数或者调整算法都很难让速度提高一个层次,但同样的算法在另一部机械结构有些不同的车上使用却能够跑出更好的效果,这时我们就要通过调整机械了,例如加润滑剂,车身重心的调整,轮胎加固调。相信我们的未来会更出彩!

参考文献

【1】. 卓晴,黄开胜,邵贝贝.学做智能车.北京:北京航空航天大学出版社.2007

【2】. 邵贝贝. 单片机嵌入式应用的在线开发方法. 北京:清华大学出版社. 2004 年 10 月第 1 版.

【3】. 童诗白,华成英.模拟电子技术基础[M].北京. 高等教育出版社.2000

【4】. 余志生. 汽车理论. 北京:机械工业出版社.2006 年 5 月.

【5】. 胡寿松. 自动控制原理. 北京:科学出版社.2001 年 2 月第 4 版.

【7】.. 谭浩强. 《C 语言程序设计》. 清华大学出版社,2006.01

【8】. 竞赛秘书处: 第七届全国大学生“飞思卡尔”杯智能汽车竞赛电磁组直立行车参考设计方案(版本 2.0). 2012.

【9】. 竞赛秘书处: 第七届全国大学生“飞思卡尔”杯智能汽车竞赛电磁组直立行车参考设计方案(版本 1.0). 2012.

【10】. 智能车竞赛秘书处: 电磁组直立车模参数整定与调试指南. 2012.

成绩评定表

课程设计任务书

目录

第一章引言 ............................................................................................................ 5

第二章系统基本原理分析及总体设计 ................................................................. 6

2.1 系统需求分析 ................................................................................................... 6

2.2 基本原理 ........................................................................................................... 6

2.2.1 车模平衡控制 ............................................................................................ 6

2.2.2 车模速度控制 ............................................................................................ 7

2.2.3 车模方向控制 ............................................................................................ 9

2.3 设计思路 .............................................................................................................9

第三章硬件模块的方案与实现 ..............................................................................9

3.1 电源电路设计 ...................................................................................................9

3.2 电机驱动模块 ................................................................................................... 10

3.3 主控模块电路设计 .......................................................................................... 13

3.4 传感器模块 ...................................................................................................... 13

3.4.1 图像采集 ................................................................................................... 13

3.4.2 陀螺仪传感器 ........................................................................................... 14

3.4.3 加速度计传感器 ....................................................................................... 14

3.4.4 速度检测传感器 ....................................................................................... 14

3.5 调试模块 .......................................................................................................... 14

第四章模型车机械结构优化与模块安装 ........................................................... 14

4.1 电池的安装 ..................................................................................................... 15

4.2 编码器的安装 ................................................................................................. 15

4.3 摄像头的安装 .................................................................................... …………..15

4.4 加速度计和陀螺仪的安装 ............................................................................. 16

4.5 主控板的安装 ................................................................................................ 16

4.6 小结 ................................................................................................................ 16

第五章智能车控制软件设计 ............................................................................. 16

5.1 主程序流程图: ............................................................................................ 17

5.2 图像采集与处理 ........................................................................................ 17

5.21 图像的采集 .............................................................................................. 17

5.22 图像的处理 .............................................................................................. 18

5.23 赛道分类 .............................................................................................. ….18

5.3 控制算法与函数 ............................................................................................ 18

5.3.1 直立控制程序设计 ................................................................................. 18

5.3.2 速度控制程序设计 ................................................................................. 18

5.3.3 方向控制程序设计 ................................................................................. 18

第六章调试方案 ...................................................................................................19

6.1 IAR 集成开发环境 ......................................................................................... 19

6.2 上位机 ........................................................................................................... 19

6.21 摄像头上位机 ......................................................................................... 19

6.22 示波器上位机 ......................................................................................... 19

6.2.3 参数修改上位机 .................................................................................... 19

第七章总结 ........................................................................................................ 20

参考文献 ............................................................................................................ 20

第一章 引言

智能车系统由微控制器模块、电源管理模块、路径检测模块、车速检测模块、直流驱动电机控制模块和调试模块组成。本系统以 32 位微处理器 K60 为控制核心,并采用 IAR Embedded Workbench 软件编程、J_LINK、NRF24L01、蓝牙等作为调试工具。运用摄像头进行道路信息采集,并采用 PWM 技术来控制电机转速。各个部分经过微控制器模块的处理控制,能够以较快的速度在指定的轨迹上行驶,在进弯道、十字路口、人字路口等特殊轨迹之前能够提前识别并通过改变两个轮子上的 PWM 的占空比,达到平滑快速通过和减小路程的效果。

第二章系统基本原理分析及总体设计

2.1 系统需求分析

模型车需要在能来回自由移动的车轮上保持车体直立不倒,这就要求车体的重心和车轴的重心需要在同一垂直线上,但是由于模型车在行驶过程中,这一平衡是时刻在变动的,要求电机的正反转是车模加速运动保持直立。要实现这一要求,就必须知道模型车实时的姿态,而这个就可以通过加速度计、陀螺仪等姿态传感器来获取小车的姿态参数。这样就可以通过实时的姿态参数,经过处理来控制电机的正反转,从而保证小车的直立。这就是模型车的平衡控制。模型车需要在规定的赛道上行驶,那么就必须要有识别这个赛道的眼睛——摄像头,要想这个“眼睛”看清楚赛道那就需要选一个好的摄像头。然后就是对眼睛看到的图形进行处理,获得所需的图像,以及对赛道种类的识别,这些都是模型车能否快速运行的基本条件。这就是模型车的转向控制。前面三个任务是模型车控制任务的最核心、最基本的控制任务。最后,在模型车的调试阶段是模型车提速的重要阶段,只要前面的基础打好,剩下的就只是调试提速了,但是在调试的阶段,调试的手段至关重要,所以在调试之前,就应该做好准备,准备好相应的调试工具和调试手段。比如各个模块的上位机以及通讯模块。

2.2 基本原理

前面讲到模型车的三个基本控制任务。这三个任务分解后的任务各自独立进行控制。由于最终都是对同一个控制对象(车模的电机)进行控制,所以它们之间存在着耦合。为了方便分析,在分析其中之一时假设其它控制对象都已经达到稳定。比如在速度控制时,需要车模已经能够保持直立控制;在方向控制的时候,需要车模能够保持平衡和速度恒定;同样,在车模平衡控制时,也需要速度和方向控制也已经达到平稳。这三个任务中保持车模平衡是关键。由于车模同时受到三种控制的影响,从车模平衡控制的角度来看,其它两个控制就成为它的干扰。因此对车模速度、方向的控制应该尽量保持平滑,以减少对于平衡控制的干扰。以速度调节为例,需要通过改变车模平衡控制中车模倾角设定值,从而改变车模实际倾斜角度。为了避免影响车模平衡控制,这个车模倾角的改变需要非常缓慢的进行。这一点将会在后面速度控制中进行详细讨论。

2.2.1 车模平衡控制

世界上还没有任何一个天才杂技演员可以蒙着眼睛使得木棒在自己指尖上直立,因为没有了眼睛观察进行负反馈,当木棒在人的指尖上直立时,眼睛观察到木棒的倾斜角度和倾斜趋势(角速度),相应的通过人脑做出反应,使手掌移动以抵消木棒的倾斜角度和趋势,从而保持木棒的直立。这就形成了反馈机制。其反馈机制如图 2.1

车模平衡控制也是通过负反馈来实现的,与上面保持木棒直立比较则相对简单。因为车模有两个轮子着地,车体只会在轮子滚动的方向上发生倾斜。控制轮子转动,抵消在一个维度上倾斜的趋势便可以保持车体平衡了。如图 2.2 所示。

2.2.2 车模速度控制

对于直立车模速度的控制相对于普通车模的速度控制则比较复杂。

由于在速

度控制过程中需要始终保持车模的平衡,因此车模速度控制不能够直接通过改变电机转速来实现。要实现对车模速度的控制,必须测量车模的实时速度,改变车模的倾角,以及如何根据速度误差控制车模倾角。安装在电机输出轴上的编码器来测量得到车模的车轮速度。通过给定车模直立控制的设定值,在角度控制调节下,车模将会自动维持在一个角度。在车模直立控制下,为了能够有一个往前的倾斜角度,车轮需要往后运动,这样会引起车轮速度下降(因为车轮往负方向运动了)。由于负反馈,使得车模往前倾角需要更大。如此循环,车模很快就会倾倒。原本利用负反馈进行速度控制反而成了“正”反馈。如图 2.3 所示。

车模的速度控制本质上是通过调节车模的倾角实现的,由于车模是一个非最小相位系统,因此该反馈控制如果比例和速度过大,很容易形成正反馈,使得车模失控,造成系统的不稳定性。因此速度的调节过程需要非常缓慢和平滑。

2.2.3 车模方向控制

实现车模方向控制是保证车模沿着竞赛道路比赛的关键。直立车模所在的摄像头组的道路两侧铺设有黑色边缘线。可通过摄像头采集回来的灰度值进行判断,通过给定的阈值对采集回来的图像进行二值化,找出赛道的边缘,再通过边缘线画出赛道中心线。在车模直立控制和速度控制的基础上给电机左右轮差速实现转向的效果,使小车在赛道内行驶。具体控制框图如下 2.5 所示:

通过左右电机速度差驱动车模转向消除车模偏差,这个过程是一个积分过程。因此车模差动控制一般只需要进行简单的比例控制就可以完成车模方向控制。

2.3 设计思路

根据摄像头平衡组的规则、要求及为了方便调试,我们设计的模型车共包括五个模块:主控模块、传感器模块、电机驱动模块、电源管理模块、调试模块。

第三章硬件模块的方案与实现

硬件电路是整个系统中想当重要的一部分,是系统运行的基础,所以在每一个模块中电阻和电容的相关系数,都需要仔细斟酌。硬件电路的设计和制作是一个漫长的过程,更是一个充满乐趣的过程,也是一个不断完善的过程。如果电路刚开始设计考虑的不周全,可能就需要重新设计与绘制电路板,这样的话会浪费很多的时间,所以一定要保证电路的稳定性,在此基础上提高电路板的集成度,这需要耗费很多的时间和精力去完成它。

3.1 电源电路设计

电源模块是智能车动力核心,电源模块是否稳定,这将决定小车是否能够平稳的运行,查阅电源模块的相关资料,我们选择了比较适合的电源。在这几次调试的过程中,我们的电源管理没有出现任何的问题。比赛指定智能车电源只能使用指定型号的 7.2V 2000mAh Ni-Cd 电池供电。我们现在需要 3 种电源,一种是为单片机、摄像头、液晶、LED 、SD 卡等器件供电的 3.3V 电源;一种是为蓝牙、加速度计、陀螺仪、蜂鸣器供电的 5.0V 电源;另一种是为电机供电的 7.2V 电源。前两种电源可供我们选择,一种为开关稳压电源,另一种为线性稳压电源。开关稳压电源功耗小,效率高;线性稳压电源,电路简单,输出纹波小。整体考虑,我们选择线性集成三端稳压电源。电机电源我们就直接取自电池两端。 5.0V 供电我们采用 LM2940,因为 LM2940 是压差小,输出文波小的线性稳压电源,当电源的电压比低时也能为系统提供稳定的电源。另外由于若是直接从电池端电压直接稳压到 3.3V 电源的效率会变得很低,所以我们先将电池电压降为 5V 然后在通过稳压芯片降为 3.3V 。3.3V 电源供电,我们采用 2 片 TPS7333,因为 TPS7333 的压差小,当电源的电压比较低时,也可以为单片机提供稳定的电源,而且 TPS7333 的输出纹波非常小,输出容量也满足核心板的供电要求。另外一片 TPS7333 芯片给其他的 3.3V 的电源供电,这个芯片完全可以满足我们的要求;给电机供电,我们只是对电池经过滤波之后直接接到电机上的。我们的电源模块电路图如图所示

3.2 电机驱动模块

本次摄像头平衡组需要驱动 2 个电机,驱动的设计尤为重要。常用的电机驱动有两种方式:一、采用集成电机驱动芯片;二、采用 N 沟道 MOSFET 和专用栅极驱动芯片设计。市面上常见的集成 H 桥式电机驱动芯片中,BTN7971 型芯片性能较为出色,该芯片具有完善的过流、欠压、过温保护等功能,使用 PWM 调制输入频率最高 25KHz ,内部 MOSFET 导通电阻为 16 毫欧,具有最大 71A 的连续工作电流。使用集成芯片的电路设计简单,可靠性高。由于分立的 N 沟道 MOSFET 具有极低的导通电阻,大大减小了电枢回路总电阻。另外,专门设计的栅极驱动电路可以提高 MOSFET 的开关速度,使 PWM 控制方式的调制频率可以得到提高,从而减少电枢电流脉动。并且专用栅极驱动芯片通常具有防同臂导通、硬件死区、欠电压保护等功能,可以提高电路工作的可靠性。 1. 专用栅极驱动芯片的选择: IR 公司号称功率半导体领袖,所以我们主要在 IR 公司的产品中进行选择。其中 IR2184 型半桥驱动芯片可以驱动高端和低端两个 N 沟道 MOSFET

,能提供较大的栅极驱动电流,并具有硬件死区、硬件防同臂导通

等功

能。使用两片 IR2184 型半桥驱动芯片可以组成完整的直流电机 H 桥式驱动电路。由于其功能完善,价格低廉容易采购,所以我们选择它进行设计,如图 3.2 所示:

2. MOSFET 的选择:

选择 MOSFET 时主要考虑的因素有:耐压、导通内阻和封装。智能汽车电源是额定电压为 7.2V 的电池组,由于电机工作时可能处于再生发电状态,所以驱动部分的元件耐压值最好取两倍电源电压值以上,即耐压在 16V 以上。而导通内阻则越小越好。封装越大功率越大,即同样导通电阻下通过电流更大,但封装越大栅极电荷越大,会影响导通速度。常用的 MOSFET 封装有 TO-220、TO-252、SO-8 等,TO-252 封装功率较大、而栅极电荷较小。于是我们最终选择了 IR 公司 TO-252 封装的 LR7843 型 N 沟道 MOSFET ,VDSS = 55 伏、RDS(on) = 8.0 毫欧、ID= 110 安。 3. 控制逻辑电路设计: IR2104 的控制信号有两个管脚:IN 和 SD 。IR2104 输入输出信号关系图如图 3.3 所示:

图 3.3 IR2104 输入输出关系图

而当两片 IR2104 驱动如图 3.4 所示可逆桥式电路时,其真值表为表 3.1:

我们用两片 IR2104 及四个 MOSFET 组成全桥的电机驱动电路,并且采用单极性的控制模式,PWM 的占空比在 0%之时电机速度为零,0~100%控制转速,H_D 信号控制转向。

3.3 主控模块电路设计

核心控制板负责赛道信息的采集;车模直立数据的采集;运行速度的采集;驱动电机 PWM 波的输出;控制车模直立、速度、转向的控制。我们本次使用的主控芯片是 Freescale 公司生产的 32 位单片机 MK60DN512Z10。该单片机基于 ARM CORTEX M4 的 RISC 内核,外接 50MHz 晶振,通过 PLL 超频至 200MHz 。MK60 内部含有两个 ADC 模块,最高采样精度为 16 位。内置 8 路 16 位 PWM

输出。两路数字正交信号解码模块,可以方便读取双向编码器信息。

此模块为整个系统中最核心的模块,所以它的稳定性直接关系到到整个系统的稳定运行,因此,此模块与其他模块之间需要做好必要的隔离工作,使得其工作时不会受到其他模块的影响,尤其是电源模块。

3.4 传感器模块

3.4.1 图像采集

(1 )CCD 电荷耦合器件 CCD 是一种半导体器件,能够把光学影像转化为数字信号。 CCD 上植入的微小光敏物质称作像素(Pixel )。一块 CCD 上包含的像素数越多,其提供的画面分辨率也就越高。 CCD 的作用就像胶片一样,但它是把图像像素转换成数字信号。CCD 上有许多排列整齐的电容,能感应光线,并将影像转变成数字信号。经由外部电路的控制,每个小电容能将其所带的电荷转给它相邻的电容。构成 CCD 的基本单元是 MOS (金属- 氧化物- 半导体) 结构。CCD 的基本功能是电荷的存储和电荷的转移。工作时, 需要在金属栅极加一定的偏压, 形成势阱以容纳电荷, 电荷的多少基本与光强成线性关系。电荷读出时, 在一定相位关系的移位脉冲作用下, 从一个位置移动到下一个位置, 直到移出 CCD , 经过电荷- 电压变换, 转换为模拟信号。(2 )CMOS 光电传感器 CMOS 是一种高集成度大规模集成电路,仍使用光敏元件为感光器件,光敏元件在排列方式上与 CCD 电荷耦合器件相同,只是在光电转换后信息传送方式不。CMOS 芯片内部提供了一系列控制寄存器, 通过总线编程来对自动增益、自动曝光、白色平衡、γ校正等功能进行控制, 编程简单、控制灵活。直接输出的电视机制式图像信号可以很方便地和后续处理电路接口, 供处理器 AD 模块对其进行采集和处理器处理。

3.4.2 陀螺仪传感器

陀螺仪可以用来测量物体的旋转角速度。在模型车上安装陀螺仪测量车模型车的倾角速度,再将角速度进行积分便可以的到模型车的真实角度。由于陀螺仪输出的是车模的角速度,不会受到车体运动的影响,因此该信号中噪声很小模型车的角度又是通过对角速度积分而得,这可进一步平滑信号,从而使得角度信号更加稳定。因此车模控制所需要的角度和角速度可以使用陀螺仪所得到的信号。但是陀螺仪在使用的过程中会有较大的温漂,使得所得到的角度值不准确,所以

还需要将陀螺仪与加速度计的信号进行采集处理。从而去掉陀螺仪的过冲、温漂。

3.4.3 加速度计传感器

由于陀螺仪有严重的温度漂移,对陀螺仪的积分并不能得到当前车身的准确的角度。也就无法控制车身的平衡,因此为了得到当前的车身角度,必须使用加速度计。我们使用的是 MMA7361,MMA7361 具有工作电压地(2.2~3.6V),灵敏度高(800mv/g)的特点。MMA7361 是三轴加速度计。其三个输出信号与对应的轴的加速度成比例。陀螺仪的输出不需要接放大电路,唯一的外围器件就是低通滤波电路,由于输出后没有负载,仅作为 ADC 的信号,这里采用官方的 (1K,0.1uF)的无源低通滤波。

3.4.4 速度检测传感器

为了使得模型车能以闭环控制系统运行,就需要测的模型车的运行速度,以使模型车在急弯以及长直到时速度不至于过快而冲出赛道。如果开环控制电机转速,由于直立车的特点,会造成赛车无法运行,通过速度检测,对模型车速度进行闭环反馈控制,就可以消除上述的影响。常见的速度检测传感器有,测速发电机,光电测速传感器,霍尔传感器和光栅编码器等。相比较而言,测速发电机的体积和质量比较大,用测速发电机会对模型车的机械结构产生比较大的影响。经过我们的多次比较最后我们打算使用霍尔传感器。

3.5 调试模块

液晶屏具有显示内容直观,可显示图像和汉字的优点。在车身添加液晶屏模块可以使调试更加方便,因此本次车身上我们添加了液晶屏模块。在调试过程之中,我们需要实时的了解与掌握一些车的运行状态,比如说传感器的状态,模型车的角度,调试时用液晶将这些参数显示出来,让我们实时的监测车的状态,从而做出判断,这样很大程度的方便了对车的调试。有时候需要对参数作修改处理,如果每修改一个数据就下载一次程序的话,就会浪费时间,这时应用键盘,它就起到一个人机交互的作用。而且在比赛前的调试过程中,如果发现模型车不适应赛道,还可以临时对部分的参数进行修改,使得模型车的适应性更强。在对小车的参数进行调整的时候,由于蓝牙的传输速度比较慢,无法再模型车运行的时候修改参数,所以我们就用 NRF24L01 无线模块进行修改,这样可以大大提高修改

参数的效率,从而加快调车的进度。我们给模型车配备了一个蓝牙,虽然蓝牙用来修改参数速度很慢,但是在图像处理的时候还是需要用蓝牙来发图的,把小车看到的图,发到电脑上的上位机,然后再来对着图片进行图片处理,这样一来也可提高对图片处理的速度及精度。蜂鸣器,这个可以用在模型车对赛道的识别上,这样就可以十分直观的看出来模型车是否识别赛道以及识别时间。这样就可以更加方便的调试。电压表头,用于显示电池的电压,防止电池过放从而更好的保护电池,延长电池的使用寿命。

第四章模型车机械结构优化与模块安装

智能车的整体参数,包括车体重心、高度、传感器排布方式等,都对整个智能车系统的稳定运行起着至关重要的作用。因此,对智能车机械系统的调节,有助于模型车更快更稳定的运行。模型车的布局以精简、可靠、稳定为前提, 通过对小车的布局,尽量保证小车左右平衡,以及寻找一个合适的重心,保证模型车既能稳定快速前进,又能在转弯时流畅。智能汽车各个统的控制都是在机械结构的基础上实现的,因此在设计整个软件架构和算法之前一定要对整个模型车的机械结构有一个全面清晰的认识,然后建立相应的数学模型,从而再针对具体的设计方案来调整赛车的机械结构,并在实际的调试过程中不断的改进优化和提高结构的稳定性。本章将主要介绍智能汽模型车型车的机械结构和调整方案。根据竞赛规则,各个竞赛组别所使用的车模均为组委会指定车模,摄像头组所使用的车模为 D 型车模和 E 型车模,基于各方面考虑,我们选择 E 型车模。

4.1 电池的安装

电池是占模型车车重的主要部件,他的安装对重心的影响极大,车模重心太高在高速过弯导致了侧翻,降低重心能增加过弯的稳定性。所有模型车的部件安装都要尽量保证小车的重心足够低,而电池是这么多零件中最重的,所以电池的安装位置对模型车有很大的影响。我们考虑到影响模型车平衡的两个转动惯量,以车轴为轴心的转动惯量和转向的转动惯量,所以我们把电池横着放在轮胎中间。

4.2 编码器的安装

选用可以 5V 工作电压的 512 线 MINI 光电编码器进行速度的测量,保证测量的精度。速度传感器用螺钉通过支架固定在后轮支架上,这样固定好之后,就有

了较高的稳定性。然后调节编码器齿轮,使其与差速齿轮紧密咬合,增大测速的精确性,但是咬合过紧也增大了摩擦,减小了对电机做功的利用率,影响模型车的快速行驶,因此减小摩擦同时增强齿轮间的咬合是我们主要考虑的因素。用齿轮润滑油涂抹齿轮有不错效果。

4.3 摄像头的安装

摄像头为采集赛道边界模块,赛道宽 45cm ,其中两边都有 2.5cm 的黑线,为了更好地采集到赛道两边的黑线,就必须使得摄像头的位置达到一定高度,而且有一定的倾角,这个决定了模型车的视野的大小。若视野过窄会导致模型车调整方向时的死区问题。另外还需要考虑到摄像头对模型车的重心的影响。

4.4 加速度计和陀螺仪的安装

智能车在行进过程中,车体仅绕两轮的轴心线做转动。芯片外观是长方形的,安装时,应注意将长的一边与后轮轴心线平行。因为陀螺仪测得的是角速度,所以水平放置就可以了,与陀螺仪一样,加速度传感器的性能与安放位置也有很大的关系。加速度传感器是根据其 XYZ 轴上的模拟输出电压来确定车身的倾角。由于我们测量的倾角只有一个,所以可以使用其中两个个轴的输出经过正交分解来计算。

4.5 主控板的安装

由于前面的电池的安装尽量放低且靠近轮胎,使得模型车的平衡角度过于靠前,以至于模型车无法顺利通过坡道,所我们把主控板,通过一个支架向前伸以加强模型车前部的重量。

4.6 小结

模型车的性能与机械结构有着非常密切的联系。良好的机械结构是模型车提高速度的关键基础。在同等的控制环境下,机械机构的好坏对其速度的影响十分显著。我们非常重视对智能汽车的机械结构的改进,经过大量的理论研究和实践,我们模型车的大部分质量都集中在两轮前后,达到降低重心的目的,从而提高了模型车整体的稳定性和可靠性。

第五章智能车控制软件设计

5.1 主程序流程图:

5.2 图像采集与处理

5.21 图像的采集

由于我们采用了 k60 芯片和带有硬件二值化的 ov7725 的摄像头,我们可以采用 dma 采集赛道图像,dma 采集效果比一般的读取 io 口效率高,并且 OV7725 没有噪点,效果好。图像采集过程中 dma 独占内存,无法进行图像处理,我们选用的摄像头采集速度可以达到 150

帧,于是我们抛弃了一张图片,

变成每秒钟 100 张,这样我们就有了充足的时间进行赛道信息处理和车体姿态控制。由于 ov7725 可以通过 sccb 配置寄存器,改变采集图像的大小,简化了采集过程,开始我们选用了 80*60 的图像大小经过一段时间发现效果并不理想,白背景下远处的边线无法看清,我们把图像扩大到了 160*120,并去掉图像最左右和最靠近车的部分,由于图像畸变,近处的图像所占的比例很大,但是用处却不大,我们通过下图的赛道标定,等距采集图像,使得每一行像素之间所反映的赛道实际距离相近,再通过数组存下要留下的赛道行号,然后去掉相应的无用行,最后实际使用的图像大小为 128*70。

5.22 图像的处理

在采集出图像信号后需要对其进行处理以提取赛道信息,同时,由于杂点、交叉线、起跑线、光线、赛道连接处、赛道上的杂物,以及赛道以外图像的干扰,得到的图像有很多干扰,软件上需要排除干扰因素,对有效赛道进行识别,并提供尽可能多的信息供决策使用。图像信号处理中提取的赛道信息主要包括:(1)每一行的赛道中心位置(2)每一行的赛道宽度(3)赛道的曲率(4)赛道的变化幅度由于摄像头倾斜放置导致的梯形畸变,这使得同一段赛道位于摄像头视域的不同区域时(近端、远端,边缘、中间) 的表征会有所差别。为了还原出真实的赛道信息,我们根据摄像头的放置位置、角度等参数,对图像进行了梯形失真校正,使得图像的处理更接近真实空间。摄像头组的核心部分为左右边线的提取,从而推算出中心线的位置,引导车子的行进方向。

边线提取,中心线推算思路: 1. 近处图像较远处图像可靠,所以边线由近到远提取 2. 近十行先从中间向两边进行边沿搜索,找到边沿,确保近处图像有效 3. 之后的行采用边沿跟踪,根据上一行的黑线位置动态地确定本行黑线的搜索范围,搜索黑线,节省时间 4. 若连续几行的左右线都找不到,判断为十字弯,进行左右线的延伸,直至再找到有效的边线;若连丢几行的次数较多时,则认为是虚线小 s ,进行垂直方向的延伸后不必特别处理 5. 若左右边线均找到,该行中心线直接为左右边线等权重加权;若某一边线丢失,则根据前面有效行的赛道宽度和另一边线的位置对中心线进行推算 6. 推算完中心线后可对中心线进行一定的修正,更符合实际

5.3 控制算法与函数

5.3.1 直立控制程序设计

平衡控制算法最重要的是滤波算法和控制算法。这里滤波的主要作用是使用加速度计滤除陀螺仪的漂移,也可以说是将加速度计和陀螺仪的数据融合,将车模角度和角速度乘以各自相应的系数就可以得到直立控制输出量。

5.3.2 速度控制程序设计

为了使得速度具有一定的物理意义,对于编码器所取得的脉冲数需要转化成实际的速度,根据定义单位的物理意义,可以确定速度单位转化的比例值。

5.3.3 方向控制程序设计

车模方向控制利用图像计算出来的偏差量进行,并且与中值进行对比,得到的差值来驱动电压。

对于方向来说,我们依然进行了大量限幅,不仅仅实在图像处理上,以及图像的偏差计算中,还是整个电机的输出控制中。

第六章调试方案

前面几章一直是在为系统制定方案以及方案的细化。但整个系统的完善主要还是在系统的现场调试。在细分的每个模块中,大部分都涉及有众多参数,对这些参数的确定就需要软硬件联合调试。而这过程就需要一整套开发调试环境和工具。包括程序源代码的编辑以编译环境,参数调节与设定工具。

6.1 IAR 集成开发环境

IAR Embedded Workbench 是一套完整的集成开发工具集合:包括从代码编辑器、工程建立到 C/C++编译器、连接器和调试器的各类开发工具。它和各种仿真器、调试器紧密结合,使用户在开发和调试过程中,仅仅使用一种开发环境界面,就可以完成多种微控制器的开发工作。

6.2 上位机

我们用到的上位机有三个:摄像头上位机,visual scope ,参数修改神器。其中示波器上位机波特率都为 115200。

6.21 摄像头上位机

由于我们使用的是摄像头,需要实时的查看小车实际看到的赛道信息,方便于我们对图片的分析。我们使用 Visual Studio 开发的摄像头上位机,可以接收蓝牙发来的图片信息,同步执行算法分析图片。在调试的后期,发现仅仅使用这个上位机并不能完全分析到小车在实际运行的过程中看到的图像,我们小组又将 SD 使用在小车上,实时的记录小车在运行过程中的各项参数,进而方便我们的调试。

6.22 示波器上位机

该上位机共有 4 个通道,分别将数据用 4 种不同颜色的曲线表示出来。在调试的过程中,由于我们在调节车身的平衡的各项系数时,需要实时的了解加速度计和陀螺仪采集回来的数据,和滤波算法是否可以有效的滤除噪声干扰。使用串口示波器极大地方便了我们地调试。

6.2.3 参数修改上位机

由于小车的各项参数较多,每次为了改参数而去下载程序,会使得在调车的过程十分不便。因此,我们利用 NRF 将数据发送给小车,可以使得小车在行走的过程中动态地修改参数,而不影响小车的正常运行。

第七章总结

智能车,“能自己跑的车”,非常神奇的事物。正如《银河英雄传说》描述的:“我们的征程是星辰大海”一样。我们的征程是了解智能车,享受学习的乐趣。在智能车这场征程中,我们有过第一次车跑起来的开心,有过车被撞坏的心疼,也有过一直苦恼的问题得以解决的喜悦,甚至有过一个问题得不到解决苦闷一个星期的烦恼。智能车,成为我们人生中难忘的一笔。软件程序的编写学习,加上自身在学校课堂学习到的电子电路知识,以及汽车机械结构原理知识,对车模的安装有自己的独特的见解,对车子的机械,硬件,软件设计结合有了一整套的方案。在制作的过程中我们感受到了模型车第一次跑完赛道的喜悦;感受到了当图像处理遇到问题是的困惑;感受到模型车撞坏的难过。也许也正是因为这些

欢乐、伤心,才使得这次比赛的真正意义。首先,硬件是基础,硬件的搭建就像大楼的根基,没有稳定的基础,谈做车就是无本之木,所以第一步就是把相关的硬件做稳定。在硬件电路及机械方面我们在前期花费了大量时间来分析、测试。然后确定我们的硬件电路。不仅如此,我们在中期的调试中还通过调试发现问题,进而改进硬件电路及机械结构。确保硬件、机械方面为模型车的提速打好最好的基础。在于此同时,我们还在开发用于调试的上位机,以及一些调试手段为下一步调试做好准备。其次,软件是灵魂,有了强壮的体魄,更加需要智慧的灵魂,在硬件支托下,我们通过仔细的分析卓晴老师在第七届比赛时公布的一个培训视频,然后初步搭建我们的程序框架。最后在不断地调试中不断地改进、升级我们的程序。在调试过程中,我们经常在智能车论坛里,找一些车友交流技术,共同提升。从网上找到许多的控制算法的文章,不断研究最后开发属于适合我们小车的控制算法。第三,机械上的调整优化。在速度达到一定数值之后,模型车的速度就会达到机械的极限,无论再怎样调节参数或者调整算法都很难让速度提高一个层次,但同样的算法在另一部机械结构有些不同的车上使用却能够跑出更好的效果,这时我们就要通过调整机械了,例如加润滑剂,车身重心的调整,轮胎加固调。相信我们的未来会更出彩!

参考文献

【1】. 卓晴,黄开胜,邵贝贝.学做智能车.北京:北京航空航天大学出版社.2007

【2】. 邵贝贝. 单片机嵌入式应用的在线开发方法. 北京:清华大学出版社. 2004 年 10 月第 1 版.

【3】. 童诗白,华成英.模拟电子技术基础[M].北京. 高等教育出版社.2000

【4】. 余志生. 汽车理论. 北京:机械工业出版社.2006 年 5 月.

【5】. 胡寿松. 自动控制原理. 北京:科学出版社.2001 年 2 月第 4 版.

【7】.. 谭浩强. 《C 语言程序设计》. 清华大学出版社,2006.01

【8】. 竞赛秘书处: 第七届全国大学生“飞思卡尔”杯智能汽车竞赛电磁组直立行车参考设计方案(版本 2.0). 2012.

【9】. 竞赛秘书处: 第七届全国大学生“飞思卡尔”杯智能汽车竞赛电磁组直立行车参考设计方案(版本 1.0). 2012.

【10】. 智能车竞赛秘书处: 电磁组直立车模参数整定与调试指南. 2012.


相关文章

  • 基于STM32的智能小车摄像头循迹系统
  • 分类号 编号 烟 台 大 学 毕 业 论 文(设 计) 基于STM32的智能小车 摄像头循迹系统 Intelligent Car Tracking System Based on STM 32 Camera 申请学位: 工学学士 院 系:光 ...查看


  • 机械智能小车毕业论文doc
  • 智能循迹小汽车控制系统设计 摘要: 关键词:智能车控制系统 目录: 总述: 第一部分:智能车控制系统概述 设计方案模块组成:控制器模块 速度检测模块 电源电压检测模块 路径识别模块 数据显示模块 电动机驱动模块 每个模块都由硬件,软件两部分 ...查看


  • 飞思卡尔-智能车入门
  • 从外观上看,智能车系统主要表现为由一系列的硬件组成,包括组成车体的底盘.轮胎.舵机装置.马达装置.道路检测装置.测速装置和控制电路板等.硬件是智能车系统的基础,没有一个好的硬件平台,智能车就无法运行.而软件部分则是整个智能车系统的灵魂,软件 ...查看


  • 蓝宙电子智能创新实验室
  • 智能创新实验室建设方案 芜湖蓝宙电子科技有限公司 -飞思卡尔大学计划官方合作伙伴 版 本:Version 2.0 所 有 者:蓝宙电子 日 期:2014.03.12 目录 一. 二. 实验室介绍 . .................... ...查看


  • 智能机器人实验报告
  • 智能机器人实验报告 实验目的: 1.了解广茂达智能小车的工作原理: 2.通过实际操作理解小车各项功能的实现方法: 3.掌握对小车功能的编程及调试方法: 4:通过实验促进对理论课学习到的知识的理解. 实验原理: 实验一:遥操作实验 本实验利用 ...查看


  • 基于图像传感器的小车循迹控制
  • 基于图像传感器的小车循迹控制 常州工学院 制作学生:杨义鹏,杨锟,高星宇 指导老师:肖闽进,蔡纪鹤,马金祥 一.设计方案工作原理 1.摄像头图像识别的循迹小车设计背景 当前,实用的图像处理系统都要求高速处理.目前广泛采用软件进行处理,但软件 ...查看


  • 浙江大学RoboCup小型组足球机器人介绍
  • 小型组比赛概况  场地大小:长6550mm,宽4550mm  地毯规格:绿色.平坦的圈绒地毯  场地上标志:中线.中圈.门区.点球点等  比赛用球:高43mm,重46g的橙色高尔夫球  队标:蓝队.黄队  比赛队员:每队5辆机器 ...查看


  • 富源县大槐树煤矿施工方案书
  • 富源县大槐树煤矿 信息化建设工程实施 方案书 天大天科科技有限公司 目 录 前言 ............................................................................... ...查看


  • 基于51单片机循迹小车的设计
  • 基于51单片机寻迹小车的设计 摘要:本寻迹小车采用铝合金为车架,STC89C52单片机为控制核心,加以直流电机.光电传感器和电源电路以及其他电路的设计思路.系统由STC89C52通过I/O口控制小车的前进后退以及转向.寻迹由ST188型光电 ...查看


热门内容