1.1. 概述
全国大学生智能汽车竞赛是教育部为了加强大学生实践、创新能力和团队精神的培养而设立的。该竞赛与己举办的全国数学建模、电子设计、机械设计、结构设计等4大专业竞赛不同,是以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创意性比赛。
在本次比赛中,本组使用大赛组委会统一提供的竞赛车模,采用飞思卡尔16 位微控制器MC9S12DG128作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等,最终实现一套能够自主识别路线,并且可以实时输出车体状态的智能车控制硬件系统。
1.2. 本文结构
本文采用先总后分的结构,对系统设计和调试的各部分进行了介绍,突出强调了系统机械结构、硬件电路和软件程序的统一。全文共由7 个章节组成,第一章为引言,二至六章为主体部分,第七章为总结。首先,基于比赛规则和控制器性能,在第二章里引出了我们的总体方案,确定了系统的硬件框架。然后,第三章介绍了车模各模块的硬件电路实现。第四章介绍了对车模机械性能的一些探索和改进,同时对电路板与传感器的安装进行了描述。接下来的第五章里详细描述了系统设计中用到的各个S12功能模块、黑线提取算法和车体控制算法。第六章介绍我们在设计过程中对小车的软硬件调试过程。最后,第七章对系统综合性能进行了评价,并指出了今后的改进方向。
1.3. 文献综述
由于该项比赛是多个学科交叉的科技创意性比赛,涉及的知识面较广,因此仅凭我们自己专业方面所学的知识是远远不够的。要很好地完成该智能车的设计制作,还必须广泛查阅各方面的参考文献。以下就对我们在实际设计制作过程中所阅读的文献进行一下分类总结。
S12 单片机开发资料
从Freescale公司官方网站,下载得到s12 单片机开发技术手册(参考文献[2])。仔细阅读各个功能模块文件,了解所有寄存器功能。配合比赛组委会发送的《单片机嵌入式应用的在线开发方法》(参考文献[1]),熟悉codewarrior的使用方法。之后,通过浏览网上关于s12单片机的论坛,Freescale 公司论坛,了解所需的s12 开发知识。
视频处理
根据上届比赛情况,摄像头方案能取得更好的寻线效果,因此,我们需要参考相关视频处理文章。参考张晓飞的一篇基于DSP 芯片的视频采集方法(参考文献[3]),我们了解了基于单片机的视频采集方法。之后,为了提取赛道黑线,我们检索了大量关于边缘提取的视频处理方法,其中重点参考了吉林大学王荣本的一篇采用二值化加hough 变换的方法,实现边缘检测文章(参考文献[4])。由于s12 计算能力有限以及赛道视野相对简单清晰,最简单的二值化算法可能是最佳方案。
寻线控制算法
目前关于寻线控制算法的文章的研究主题大多都是基于汽车的自动控制理论,实现精确入弯,提前预判。而对于此次比赛,重点在于速度的提高,不求精确入弯。因此关于这些文献的阅读,重点参考提前预判和控制算法简易实现方面的内容。这方面我们主要参考的是大赛主委会配送的《学做智能车—挑战“飞思卡尔”杯》一书(参考文献[5])。该书既包含了大赛相关专家的论著以及指导性文章,又包含了上一届部分优胜队伍的技术报告与研究性论文,每篇文章都各具特色,给我们提供了很大的帮助。同时还参考了其它很多文章,基于视频采集的功能,实现切弧算法过弯,引发了车体弯道控制的一些想法。
机械调整与改装
当小车的速度达到一定程度后,要想小车跑得更快,小车的机械调整与改装不容小视。这方面我们也是主要参考《学做智能车—挑战“飞思卡尔”杯》一书(参考文献[5])。另外,我们也浏览了很多关于玩具车模的论坛,从中也学得了很多关于车模机械结构调整的知识。
一些简单参考的文献在最后列出,在这里就不一一陈述了。


