北航神舟一队技术报告_第1页
北航神舟一队技术报告_第2页
北航神舟一队技术报告_第3页
北航神舟一队技术报告_第4页
北航神舟一队技术报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三届全国大学生智能汽车邀请赛技术报告第三届全国大学生智能汽车邀请赛技术报告第三届“飞思卡尔”杯全国大学生智能车竞赛技 术 报 告学 校:北京航空航天大学 队伍名称:北航神舟一队 参赛队员:唐振宇 于佳晨 李仕柏带队教师:陈博 何勇灵 关于技术报告和研究论文使用授权的说明 本人完全了解第三届“飞思卡尔”杯全国大学生智能汽车竞赛有关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名: 带队教师签名: 日 期:

2、目录 TOC o 1-3 h z u HYPERLINK l _Toc207004112 第一章 引言 PAGEREF _Toc207004112 h 4 HYPERLINK l _Toc207004113 第二章 智能车硬件设计 PAGEREF _Toc207004113 h 5 HYPERLINK l _Toc207004114 2.1机械设计 PAGEREF _Toc207004114 h 5 HYPERLINK l _Toc207004115 2.1.1 CCD支架和安装 PAGEREF _Toc207004115 h 6 HYPERLINK l _Toc207004116 2.1.2

3、 测速发电机安装 PAGEREF _Toc207004116 h 7 HYPERLINK l _Toc207004117 2.1.3 舵机的安装 PAGEREF _Toc207004117 h 8 HYPERLINK l _Toc207004118 2.1.4 车模参数调节 PAGEREF _Toc207004118 h 9 HYPERLINK l _Toc207004119 2.2硬件电路设计 PAGEREF _Toc207004119 h 10 HYPERLINK l _Toc207004120 2.2.1 电源电路 PAGEREF _Toc207004120 h 11 HYPERLINK

4、 l _Toc207004121 2.2.2 CCD传感器电路 PAGEREF _Toc207004121 h 12 HYPERLINK l _Toc207004122 2.2.3电机控制电路 PAGEREF _Toc207004122 h 14 HYPERLINK l _Toc207004123 2.2.4 DG128最小系统电路 PAGEREF _Toc207004123 h 15 HYPERLINK l _Toc207004124 2.3 创新点 PAGEREF _Toc207004124 h 15 HYPERLINK l _Toc207004125 2.4 小结 PAGEREF _To

5、c207004125 h 16 HYPERLINK l _Toc207004126 第三章 智能车软件设计 PAGEREF _Toc207004126 h 17 HYPERLINK l _Toc207004127 3.1 智能车控制算法监测平台 PAGEREF _Toc207004127 h 17 HYPERLINK l _Toc207004128 3.1.1监测平台的组成 PAGEREF _Toc207004128 h 17 HYPERLINK l _Toc207004129 3.1.2监测平台的功能 PAGEREF _Toc207004129 h 18 HYPERLINK l _Toc20

6、7004130 3.2 软件调试平台介绍 PAGEREF _Toc207004130 h 19 HYPERLINK l _Toc207004131 3.3 创新点 PAGEREF _Toc207004131 h 20 HYPERLINK l _Toc207004132 3.4 小结 PAGEREF _Toc207004132 h 20 HYPERLINK l _Toc207004133 4.1 智能车控制思想 PAGEREF _Toc207004133 h 21 HYPERLINK l _Toc207004134 4.2 图像处理与赛道识别 PAGEREF _Toc207004134 h 21

7、 HYPERLINK l _Toc207004135 4.3 智能车系统软件 PAGEREF _Toc207004135 h 25 HYPERLINK l _Toc207004136 4.3.1 智能车系统软件设计思想 PAGEREF _Toc207004136 h 25 HYPERLINK l _Toc207004137 4.3.2 软件构成 PAGEREF _Toc207004137 h 26 HYPERLINK l _Toc207004138 4.4 创新点 PAGEREF _Toc207004138 h 28 HYPERLINK l _Toc207004139 4.5 小结 PAGER

8、EF _Toc207004139 h 28 HYPERLINK l _Toc207004140 第五章 总结 PAGEREF _Toc207004140 h 29 HYPERLINK l _Toc207004141 5.1 智能汽车技术指标 PAGEREF _Toc207004141 h 29 HYPERLINK l _Toc207004142 5.2 目前尚存在的不足与改进方向 PAGEREF _Toc207004142 h 29第一章 引言在第三届“飞思卡尔”杯全国大学生智能车比赛中,我们采用面阵CCD作为路面检测信息的传感器,以飞思卡尔16位微控制器MC9S12DG128B为核心控制模块

9、,引导改装后的模型汽车按照规定路线行进。整个智能汽车制作过程中,我们在第二届智能汽车比赛参赛车模基础上,进行了多处改进,主要做了以下工作:1、硬件平台的搭建:首先对模型车进行了机械部分的改造和调节,在不违反大赛规则的前提下对舵机进行了机械方面的设计和研究,一定程度上提高了舵机的灵敏度。在硬件电路方面,精心设计了CCD图像采集和电机驱动电路;同时,为了调试方便和根据场地等外界环境需要,设计了人机交互的键盘输入和LCD输出硬件电路。2、软件平台的搭建:在软件设计方面我们搭建了无线调试平台,主要包括无线视频模块和蓝牙无线串口传输模块两部分。前者提供CCD获取的图像信息,可以录制智能车在赛道上的图像信

10、息,便于分析研究控制算法;后者通过无线串口收发器发送的指令,执行转向及车速控制。无线调试平台不仅给程序调试带来了很多方便,还保证了赛车在调试过程中的运动轨迹的可控性。3、控制算法的研究:通过对CCD图像传感器所摄取的路面图像进行处理,从而获得准确的赛道信息。同时,在PC机上搭建了控制算法仿真平台,可以把设计好的图像处理算法和控制算法先在PC机进行模拟,待模拟成功后再移植到MC9S12DG128B单片机中去。我们编写的基于PC机的控制算法监测软件可以直观的监测智能车在不同赛道的运行情况,通过改动相关参数,就可以方便、直观的观察运行效果。第二章 智能车硬件设计硬件是系统的基础,为了给整个系统提供一

11、个稳定、可靠的硬件平台,我们在硬件设计方面做了很多考虑,主要包括机械部分和电路部分。2.1机械设计根据比赛规则,我们对模型车进行了机械设计和改造,主要包括CCD支架和测速电机支架的设计、舵机的安装,以及车模底盘参数的调节。图2.1 赛车整体图2.1.1 CCD支架和安装CCD支架的作用是合理的安装和固定好摄像头的位置,为了保证获得稳定的视频图像信息,支架必须有足够的强度和刚度,同时要求质量较轻。安装的高度和角度在调试过程中可以根据需要方便地做出调整。本文中CCD支架及其安装如图2.1。支架的两个长杆采用碳素纤维材料,质量轻,强度高。图2.2 CCD支架2.1.2 测速发电机我们采用测速发电机实

12、现对驱动电机转速的检测,可以实时地获得准确的运行速度,同时,也需要考虑测速发电机的安装和固定,保证小车机械上的可靠和灵活。通过齿轮传动的方式将测速电机上小齿轮与差速齿轮啮合,并且改变传动比,让测速电机和驱动电机等速。测速发电机安装如图2.2。图2.3 测速发电机支架2.1.3 舵机的舵机响应时间很大程度上决定了小车的灵活性,从而决定着小车在一定赛道条件下的极限速度。为了加快车轮转向响应速度,我们设计并安装了舵机转向机构。在并非改变舵机本身结构的条件下,改变了舵机的安装位置,舵机安装高度的最佳值通过试验获得。舵机支架如图2.3。图2.4 舵机支架2.1.4 车模参数调节根据汽车理论对底盘参数进行

13、了调节,具体包括车模前后轴的高度、差速齿轮的松紧和主销的角度等。2.1.5 PCB板的改进为了使小车的结构更加紧凑,有效地降低整车的重心,必须充分利用车架中间的空间位置,使PCB的形状配合小车的固有结构,我们总结去年的比赛经验,对PCB的形状作了较大的改进。图2.4展示了去年的车模,PCB面积大,安装在后部,重心比较高。图2.5是今年车模所使用的PCB板,从图2.1 赛车整体图可以看到改进的PCB与小车的良好配合。同时,由图2.5也可以看出,不再采用原有较重的MC9S12DG128开发板,而直接将单片机设计在PCB电路中。图2.5 第二届智能车比赛时的参赛赛车图2.6 本届参赛车模改进的PCB

14、电路板形状2.2硬件电路设计硬件电路主要分四部分:CCD传感器部分,MC9S12DG128最小系统,电机驱动部分,电源电路。2.2.1 电源电路硬件电路的电源由7.2V的蓄电池提供,而由于电路中不同模块的工作电压和电流容量各不相同,所以需要将电池电压转换成各个模块所需电压。CCD图像传感器是12V工作电源,由MC34063提供。该芯片转换效率高,升压的范围也比较广,所需的外围器件也较少,最大能够提供1.5A的电流,足够CCD使用。电路原理如图2.7。图2.7 MC34063升压斩波电路S12最小系统板等数字电路需要稳定5V电源,选用了LM2596作为稳压芯片。当输入大于7V时,输出电压稳定在5

15、V上。当输入电压小于7V时,输出电压比输入电压低2V。本系统的电池电压为7.2V,而控制系统要求输入电压范围为50.5V。所以,即使电池电压下降到6.5V,系统依然可以继续工作。而且该芯片最大的优点就是转换效率高,线形度好。电路如图2.8所示。图2.8 LM2596稳压电路2.2.2 CCD传感器电路我们图像采集使用的是模拟输出的CCD传感器,主要采用同步分离芯片LM1881,电路原理图如图2.9所示。将视频信号通过一个电容接至LM1881的2脚,即可得到控制单片机进行A/D采集的控制信号:一行同步BURST与奇偶场同步信号O/E。需要注意的是,CSO信号中的上升沿表示一行视频信号的开始,BU

16、RST信号中的下降沿表示一行视频信号的开始,由于S12的IRQ输入端只支持低电平触发和下降沿触发,因此,应该使用BUSRT信号作为行同步信号。图2.9 LM1881视频同步分离电路于是视频采集的工作就是,将模拟信号转换为数字量,提供给控制程序使用。由于一行视频信息输出的周期只有约60微秒,如果使用S12内部的AD模块,时间是非常紧张的,一行的图像信息中能采集到的像素数会非常有限,因此图像信息的精度会降低,也就会影响最终的识别和控制。为此,我们在这一部分也做了精心的设计:采集高速AD芯片,由外部晶振控制其采集、转换的时间间隔,在约60微秒的行周期内采集两百多个像素点。大大提高了图像的精细度,为软

17、件上的准确识别工作打下了很好的基础。以这样快的速度得到的图像信息,如果采用中断的方式进行读取,CPU会非常频繁的进入中断,必然会影响其控制算法程序的正常运行。最终,我们使用外部扩展内存的方式解决了这个问题。我们扩展了一个线性的存储器,该存储器的数据输出连接到S12的外部扩展数据口,使S12工作在外部扩展模式。线性存储器的读写控制由S12的一个引脚即可完成。经过这样的处理,整个图像采集的工作基本上已由硬件完成,MCU所做的工作只剩下,在需要采集的行即将到来前,控制存储器开始存储,存完这一行之后,控制存储器将数据输出,读出的操作只需申请一个外部变量,连续对其进行读操作即可。2.2.3电机控制电路电

18、机控制从控制方法上可以分为开环控制和闭环控制两种。开环控制在用法上比较简单,只需考虑输出,没有反馈,但是其缺点是速度控制的精度比较低,不能适应不同的赛道环境。另外一种闭环控制,电机的速度控制信号输出由需要的速度和电机的实际转速二者决定,即需要对电机的实际转速进行采集和反馈。这种做法的好处是控制精度比较高,对赛道的适应性会好很多。通常情况下的电机转速的闭环控制,是通过软件的自动控制算法实现的,需要将电机的转速反馈给S12,通过软件上的自动控制算法,由需要的速度同实际的速度的偏差,给出纠正值,达到对速度的稳定控制。但是这样一来将会增加S12的负担。而我们的智能车利用CCD进行识别,使微控制器更多的

19、关注图像的采集及处理是我们设计时一直注意的问题。因此我们在电机驱动电路上下了很大的功夫,最终确定了一种硬件的闭环控制方案。这种方案在电机实际速度的采集上使用了测速发电机。测速发电机输出的电压大小表征了电机的实际转速。这一电压同S12输出的PWM信号的积分值进行比较,由它们的偏差控制电机该加速还是减速。在电机驱动上,我们用MOS管作为分立元件搭建了H桥驱动电路,如图2.10。通过逻辑设计,可以让电机处于多种模式下工作,经过赛道试验,电机的加减速效果好,满足要求。图2.10 H桥电机驱动电路表2.1 电机工作模式模式(nENABLE = 0):HIN1nLIN1HIN2nLIN20, 自由正转模式

20、 1, 自由反转模式2, 带制动的正转模式3, 带制动的反转模式4, 双极驱动的正转模式5, 双极驱动的反转模式6, 全速前进7, 停止(刹车)nENABLE = 1:PWMLPWMnPWM PWMnPWMHLLHnPWMPWMnPWMPWMnPWMHLHLHL HnPWMPWMLLLLHLHnPWMPWM LLH2.2.4 DG128最小系统电路DG128最小系统电路主要包括对单片机的供电电路,基本功能电路等标准电路,这里不再具体叙述。2.3 创新点这部分的创新点主要有以下三部分:将舵机抬高等机械改进,为智能车高效行进提供保证,并在实际运行中也得了证明。CCD图像处理电路,可获得高分辨率图像

21、信息,为控制算法提供有力支撑。使用测速发电机的驱动电机硬件电路,工作稳定且解决了散热问题;双极性驱动模式,大大缩短了智能车加减速的时间。2.4 小结在硬件设计方面,我们尽量做到可靠、高效,这样才能为整个系统提供一个良好的平台。第三章 智能车软件设计3.1 智能车控制算法监测平台智能车的控制系统是一个时时控制系统,人的思维很难想象车在行进过程中所处的状态,因此针对某个控制算法,如果在测试中出现问题,很难确定具体出在哪个环节。这样,一个可以时时反映智能车运行状态的监测平台就显得非常必要了。监测平台的组成监测平台可以将智能车的采集信息,控制算法计算得到的控制信息以及其他调试时的有用信息发送到PC端,

22、用于观察、记录,以便反复分析、改进。监测平台工作流程如下:智能车采集信息、控制信息蓝牙串口PC端数据处理软件图3.1 智能车控制算法监测平台PC端程序界面监测平台的功能利用监测平台,可以很容易找到控制算法中存在的问题,以便更好的改进控制算法。实践表明,监测平台可以在改进控制算法中发挥较大的作用。但由于时间原因,监测平台还十分的简易,只实现了基本功能。希望今后的使用中不断完善。3.2 软件调试平台介绍赛车在调试过程中会经常改变一些参数,为了使整个调试过程灵活、可靠,我们开发了一套基于PC机的调试系统,并实现了在该软件下直接编写控制算法调试的目的。我们用C+ builder开发了PC机的控制界面,

23、如下图3.2所示:图3.2 调试软件可以利用此软件对智能车其进行图象采集和参数设置,并对图象进行等同于智能车上搜索,直观的显示搜索结果和控制结果。如图3.3所示,对图像进行分析和标定。图3.3 图像标定分析3.3 创新点安装无线收发模块在运行过程中,实时地监控状态信息,实现对赛车的控制,并且实现算法的移植。调试平台的PC端软件与单片机程序共用搜索和控制代码,这样其计算的搜索结果和控制结果同智能车上的结果完全相同,因此可以提高算法设计的效率,免去反复下载调试的麻烦。3.4 小结在调试平台的帮助下,我们设计好控制方法之后就可以先利用它进行调试,以发现存在的不足,提出改进方法,大大方便了调试工作。第

24、四章 控制算法的研究4.1 智能车控制思想首先由CCD采集图像信息,然后通过图像处理、模式识别,得出赛道的具体参数,如果为直道,高速行驶;如果为必须转弯的弯路,就提前做好转弯准备,按照计算的舵机偏角和车速运行;如果该弯路存在“捷径”,就按照计算结果,直接从“捷径”运行。4.2 图像处理与赛道识别针对智能车CCD透视变换问题建立了数学模型,能够准确地将图像中的引导线坐标转换为真实位置。并且提出了基于曲率分析的赛道类型识别方法,能够较为准确地判别前方赛道类型。4.2.1 引导线的提取在得到CCD图像之后,我们需要从中获取黑色引导线的位置,从而为之后的控制提供可靠的依据。这一步工作的准确性与可靠性直

25、接决定了智能车的控制效果。图4.1是由CCD拍摄到的典型赛道图像。图4.2是较近处一行图像的灰度值变化曲线。图4.1 赛道图像图4.2 某行图像灰度值黑色引导线有三个主要的特征可以在识别时作为依据:黑线边缘灰度值的跳变特征,宽度特征,和灰度阈值特征。由于在不同的照明条件下,图像的灰度会发生整体的变动,而白色底板与黑色引导线的灰度之差变化不大,因此我们选择边缘的跳变作为主要的识别依据。首先,在一行图像数据从左至右的搜索过程中,黑色引导线的两侧可以分别检测到灰度值的一次负跳变与一次正跳变。由于图像是在智能车运动过程中拍摄的,赛道的边缘可能会有一定的模糊,这种跳变会在1至5个像素内完成。具体的像素数

26、及跳变的大小可由实际图像确定。其次,黑色引导线的宽度是一定的,其在图像中占据的像素数也是基本固定的,而外界景物的干扰一般来说与引导线的宽度相差较大。只有满足边缘跳变条件且宽度符合要求的才认为可能是引导线。另外,十字交叉线与起跑线的宽度较大,也可以通过宽度条件加以区分。由于CCD拍摄到的图像存在透视变换,引导线的宽度在近处较大,远处较小,需要对图像中不同的行分别指定宽度的最大与最小值。另外,当车身与引导线存在较大的夹角时,引导线的宽度会显著增大,因此应当将宽度的上限值适当放宽。一般来说,按照上述条件在大多数情况下能够较可靠地识别黑色引导线,但在特殊情况下,一些外界景物也可能满足边缘跳变条件与宽度

27、条件。在一定的照明条件下,引导线的灰度是一个较为固定的值,为此,再加入对灰度值的判断,就可以在绝大多数情况下可靠地识别引导线了。4.2.2 透视变换CCD拍摄到的图像是真实景物经过透视变换得到的。为了得到真实而准确的赛道信息,我们针对智能车CCD图像这一具体问题建立了透视变换模型,并编写了摄像头自动标定程序与图像坐标到真实坐标的转换程序,大大方便了调试时对CCD不同安装高度与安装角度下图像的标定,坐标计算精度近处达到1mm,远处达到10mm。图4.3为CCD拍摄到的一幅S弯道图像。图4.4为搜索到的图像中引导线上一系列点的坐标,以像素为单位。图4.5为透视变换后的实际点坐标,以毫米为单位。经对

28、比,与实际赛道形状吻合较好。图4.3 S弯道图像图4.4 赛道搜索得到的引导线坐标图4.5 透视变换后的引导线坐标4.3 智能车系统软件4.3.1 智能车系统软件设计思想为了便于软件的编写、修改、调试,在软件设计中,采用了层次化、模块化、结构化和参数化设计技术。(1)层次化采用层次化设计是本系统设计软件的一大特点。我们把程序分为两大层,即物理层和应用层。这样做的好处是为了便于程序调试和移植,同时也增加了程序的可读性和可维护性。有了物理层后,我们就可以将在PC机上模拟的应用层的程序无需改动地直接移植到单片机上。(2)模块化设计采用模块化设计是为了便于系统的移植和维护,避免代码的重复,从而节省数据

29、的存储空间。(3)结构化编程采用结构化的编程方法使得程序结构清晰、逻辑性强、便于设计修改,并符合了自顶向下的程序设计规测。(4)参数化为使软件能适应各种控制单元、硬件配置、运行环境等方面的具体要求,系统采用了参数化设计,注重于数据结构和其上进行的操作,这样有助于增强整个运行 软件的灵活性和适应性。本系统的软件设计采取了自顶而下,逐步细化的设计方法。首先,按程序结构化的设计思想设计主程序结构,其次设计中断服务程序,然后再按功能模块化思想设计各个子程序,并逐步细化各功能模块,同时不断完善中断服务程序和主程序,最后完成所有软件的设计。C语言是一种面向微处理器的结构化程序设计语言。它除了具有程序设计快、可读性好、易于维护和扩充等一般结构化程序设计语言所具有的优点外,还能够直接面向微处理器的内部结构,所以用于应用系统开发可以得到一种不同于传统的用汇编语言编

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论