南京理工大学南理工光电1队技术报告_第1页
南京理工大学南理工光电1队技术报告_第2页
南京理工大学南理工光电1队技术报告_第3页
南京理工大学南理工光电1队技术报告_第4页
南京理工大学南理工光电1队技术报告_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、第五届全国大学生智能汽车邀请赛技术报告第一章 引言 II XXV第五届“飞思卡尔”杯全国大学生智能汽车竞赛技 术 报 告学 校:南京理工大学队伍名称:南理工光电1队参赛队员:周琪、李蒙、周帆带队教师:吴益飞、郭建 I关于技术报告和研究论文使用授权的说明 本人完全了解第五届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名:周琪 李蒙 周帆 带队教师签名:吴益飞 郭建 日

2、 期:2010.8.10 I目 录 TOC o 1-3 h z u HYPERLINK l _Toc269471944 第一章 引言 PAGEREF _Toc269471944 h 1 HYPERLINK l _Toc269471945 1.1 课题研究背景及意义 PAGEREF _Toc269471945 h 1 HYPERLINK l _Toc269471946 1.2 智能车发展概况 PAGEREF _Toc269471946 h 1 HYPERLINK l _Toc269471947 1.3 大学生智能汽车竞赛简介 PAGEREF _Toc269471947 h 3 HYPERLINK

3、 l _Toc269471948 第二章 光电导引智能汽车控制系统总体设计 PAGEREF _Toc269471948 h 5 HYPERLINK l _Toc269471949 2.1 系统总体分析 PAGEREF _Toc269471949 h 5 HYPERLINK l _Toc269471950 2.2智能车系统组成结构 PAGEREF _Toc269471950 h 6 HYPERLINK l _Toc269471952 2.3智能车系统工作流程 PAGEREF _Toc269471952 h 7 HYPERLINK l _Toc269471953 2.4本章小结 PAGEREF _

4、Toc269471953 h 8 HYPERLINK l _Toc269471954 第三章 光电导引智能汽车机械系统调整与改造 PAGEREF _Toc269471954 h 9 HYPERLINK l _Toc269471955 3.1 模型车基本结构参数介绍 PAGEREF _Toc269471955 h 9 HYPERLINK l _Toc269471970 3.2 机械结构调整与改造 PAGEREF _Toc269471970 h 10 HYPERLINK l _Toc269471973 3.3 本章小结 PAGEREF _Toc269471973 h 11 HYPERLINK l

5、_Toc269471974 第四章 光电导引智能汽车控制系统硬件电路设计 PAGEREF _Toc269471974 h 12 HYPERLINK l _Toc269471975 4.1 激光传感器电路 PAGEREF _Toc269471975 h 12 HYPERLINK l _Toc269471978 4.2 电机驱动模块 PAGEREF _Toc269471978 h 16 HYPERLINK l _Toc269471981 4.4 测速模块 PAGEREF _Toc269471981 h 20 HYPERLINK l _Toc269471985 4.5 电源模块 PAGEREF _T

6、oc269471985 h 23 HYPERLINK l _Toc269471990 4.6 本章小结 PAGEREF _Toc269471990 h 27 HYPERLINK l _Toc269471991 第五章 光电导引智能车系统控制算法及软件设计 PAGEREF _Toc269471991 h 28 HYPERLINK l _Toc269471992 5.1 光电导引路况判断算法 PAGEREF _Toc269471992 h 28 HYPERLINK l _Toc269471994 5.2 车体转向舵机控制算法 PAGEREF _Toc269471994 h 29 HYPERLINK

7、 l _Toc269471995 5.3 电机闭环控制算法 PAGEREF _Toc269471995 h 31 HYPERLINK l _Toc269471996 5.4 系统模块化程序设计 PAGEREF _Toc269471996 h 32 HYPERLINK l _Toc269472001 5.5 本章小结 PAGEREF _Toc269472001 h 41 HYPERLINK l _Toc269472002 第六章 光电导引智能车控制系统联调 PAGEREF _Toc269472002 h 42 HYPERLINK l _Toc269472003 6.1 开发环境简介 PAGERE

8、F _Toc269472003 h 42 HYPERLINK l _Toc269472004 6.2 开发环境调试使用 PAGEREF _Toc269472004 h 42 HYPERLINK l _Toc269472005 6.3 本章小结 PAGEREF _Toc269472005 h 44 HYPERLINK l _Toc269472006 结 论 PAGEREF _Toc269472006 h 45附录A:控制程序代码I附录B:模型车技术参数统计XXVI摘 要本文以第五届“飞思卡尔”杯全国大学生智能汽车竞赛为背景,在遵守竞赛规则的前提下,提出了智能汽车系统总体设计方案。通过深入学习汽车

9、技术相关理论,对车体机械结构进行了详细分析和优化改造。采用模块化设计思想,完成了系统硬件电路的设计,其主要包括核心控制模块、电源管理模块、传感器模块、电机驱动模块、存储器模块、人机接口模块、无线通信模块、放电器模块等。为了提高系统运行性能,对转向控制策略、行驶速度控制策略及后轮驱动闭环PID 控制算法等进行了详细分析与设计。在此基础上,完成了系统软件的具体设计和实现。最后,通过对实际系统的调试,智能车系统已能在测试赛道上快速运行,性能指标达到了预期效果。关键词:智能汽车 路径检测 光电传感器 MC9S12XS128 PID第一章 引言1.1 课题研究背景及意义智能车辆也叫无人车辆,是一个集环境

10、感知、数据处理、决策控制和多等级辅助驾驶等功能于一体的综合系统,集中运用了计算机、传感技术、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体19。智能车辆最主要特点是自动驾驶,即依靠汽车控制系统驾驶汽车,自动分析和处理汽车运行过程中遇到的各种情况,并根据系统自动获取的道路信息,实现从一个地点向另一个地点的移动。因此,智能车辆在原车辆系统基础上主要由计算机处理系统、道路信息获取系统和其它一些传感器组成。道路信息获取系统用来获得道路的各种信息,车速传感器用来获得车速,障碍物传感器用来获得前方、侧方、后方障碍物位置等,然后由计算机处理系统来完成对所获图像、信息的预处理、增强与分析识别

11、工作,并对车辆的行驶状况做出判断与控制15,19,36。1.2 智能车发展概况智能汽车的研究设计开发,可以从根本上改变现行汽车的信息采集处理、信息交换、行车导航与定位、车辆控制、汽车安全保证等技术方案与体系结构20,35。伴随着传感器技术、信息融合技术、微电子技术、计算机与网络技术、自动控制技术、人工智能技术和无线通信技术等的快速发展,国内外对于智能车及其相关技术的研究成为热门,更多的国际公司、研究单位、科研院所投入到开发研究智能车的队伍中24,37。 从20世纪70年代,美欧等发达国家开始进行无人驾驶汽车的研究,大致可以分为三个阶段:军事用途、高速公路环境和城市环境16。在军事用途方面,早在

12、80年代初期,美国国防部就资助自主陆地车辆ALV(AutonomousLandVehicle)的研究37,如图1.1。进入21世纪,为促进无人驾驶作战车辆的研发,减少在战役中的伤亡人数,从2004年起,美国国防部连续举办大挑战(Grand Challenge)比赛活动,对促进智能车辆技术交流与创新起到很大激励作用14。随着现实需要,智能车辆的研究逐渐转向了民用领域,最早出现在高速公路应用领域。高速公路无人驾驶研究的典型代表有美国CMU大学的NavLab-5系统,意大利帕尔玛大学的ARGO系统和德国联邦国防大学的VaMP系统14,如图1.2。这些针对高速公路的系统大多采用视觉导航,并获得了很大成

13、功19。由于环视境光照的复杂性,觉系统的可靠性和鲁棒性有待进一步提高,此类研究的离产品化还有一定的距离。在城市交通方面,欧洲Yamaha公司推出了旅游接待智能车辆CyberCab,该车在收回了75%投资,实现了真正的商业运营,并且人车交互更方便,技术上更加成熟。日本在无人驾驶研究方面与欧洲联系比较密切,起步较早。在2005年日本爱知世博会上,丰田公司成功演示了ITMS无人驾驶公交系统19。美国在城市环境智能车辆研发方面,起步较晚,目前与欧洲和日本存在一些差距。 图1.1 美国国防部自主陆地车辆ALV 图1.2 意大利帕尔玛大学的ARGO系统由于起步较晚,国内智能车研究水平总体上与发达国家相比存

14、在不小的距离。但经过各高校和研究单位的不懈努力,仍取得了阶段性的成果。国内清华大学、国防科技大学、上海交通大学、西安交通大学、吉林大学、同济大学和南京理工大学等都有过无人驾驶汽车的研究项目27,34。我国的智能车发展也主要运用在军事用途、高速公路和城市交通三个领域。“八五”、“九五”期间由包括我校在内的国内六所重点大学联合研制成功了我国第一辆智能车ALVLAB1和第二代智能车ALVLAB2,第二代智能车ALVLAB2在道路环境下自主行驶最高速度、正常行驶速度、越野环境白天行驶最高速度以及夜间行驶最高速度都较第一代有很大提高,同时支持临场感遥控驾驶及侦察等功能目前,我国正在组织研究第三代的陆地自

15、主车ALVLAB36,25。THMRV(TsingHua Mobile Robot V)清华V型智能车是一个比较成功的范例。它由清华大学计算机系智能技术与系统国家重点实验室在中国科学院院士张钹主持下研制的新一代智能移动机器人,兼有面向高速公路和一般道路的功能。车体装备有彩色摄像机和激光测距仪组成的道路与障碍物检测系统;由差分GPS、磁罗盘和光码盘组成的组合定位导航系统等。两套计算机系统分别进行视觉住处处理,完成信息融合、路径规划、行为与决策控制等功能。四台IPC工控机分别完成激光测距信息处理、定位信息处理、通讯管理和驾驶控制等功能7,13。 图1.3 清华大学V型无人驾驶车 图1.4 上海交大

16、Cycber C3除了清华大学汽车研究所展开智能车技术研究外,越来越多的研究机构、学者也加入到这一新兴学科中来。比如上海交通大学设计的自动驾驶汽车,能根据道路弯曲程度的变化,实时计算出车辆的转向盘角度输入,控制车辆按预设道路行驶;吉林工业大学设计制造的一辆通过识别地面铺设的条状路标进行导航的智能车辆,可以稳定跟踪直线、弧线、型线等轨迹自动行驶19。1.3 大学生智能汽车竞赛简介“飞思卡尔杯”智能车大赛起源于韩国,是韩国汉阳大学汽车控制实验室在飞思卡尔半导体公司资助下举办的以HCSl2单片机为核心的大学生课外科技竞赛。组委会提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自

17、主识别路径的智能车,在专门设计的跑道上自动识别道路行驶,谁最快跑完全程而没有冲出跑道并且技术报告评分较高,谁就是获胜者。其设计内容涵盖了控制、模式识别、传感技术、汽车电子、电气、计算机、机械、能源等多个学科的知识,对学生的知识融合和实践动手能力的培养,具有良好的推动作用。全国大学生“飞思卡尔”杯智能汽车竞赛是在规定的模型汽车平台上,使用飞思卡尔半导体公司的8位、16位微控制器或者数字处理控制器作为核心控制模块,通过增加道路传感器、电机驱动电路以及编写相应软件,制作一个能够自主识别道路的模型汽车,按照规定路线行进,以完成时间最短者为优胜。因而该竞赛是涵盖了控制、模式识别、传感技术、电子、电气、计

18、算机和机械等多个学科的比赛。该竞赛以飞思卡尔半导体公司为协办方,自2006年首届举办以来,成功举办了四届,得到了教育部、飞思卡尔公司与各高校师生的高度评价,已发展成全国30个省市自治区500余所高校广泛参与的全国大学生智能汽车竞赛。图1.5为第四届全国大学生智能汽车竞赛的决赛场景。图1.5 第四届“飞思卡尔杯”智能汽车竞赛现场第二章 光电导引智能汽车控制系统总体设计第二章 光电导引智能汽车控制系统总体设计2.1 系统总体分析具体设计之前,对系统进行总体的设计可以大大减少设计出错与返工的可能性。通过对系统任务与目标的分析,选择合适的软硬件设计方案。设计之初将功能需求描述后对功能进行模块化,并对各

19、功能模块的必要性与可行性做出分析论证。本次设计的目标仍然与往届相同,即在保证不出赛道的基础上以最短的时间完成比赛。但需要注意的是赛道的宽度由原来的60cm减小到50cm,智能车出界的界定由两个轮子变为一个轮子,这也意味着竞赛对智能车的稳定性有了更高的要求。因此在追求速度之前必须首先保证智能车的稳定性。同时为了适应更加复杂多变的赛道和不同的光线环境需要进一步提高智能车的灵敏性与适应性。无论是智能车的稳定性、快速性、灵敏性还是适应性,都与智能车的机械结构、硬件电路和软件算法有着紧密的联系。其中稳定性与车体机械的强度、结构的合理性、重心的位置和车轮参数密切联系;快速性取决于传感器的前瞻、检测精度速度

20、以及电池供电能力和驱动电路驱动能力;灵敏性与适应性则由舵机的响应性能和扭矩、传感器的检测范围、机械结构以及软件算法等决定。以往对智能车系统的分类中往往将机械结构部分与硬件电路归类为硬件系统部分,将软件算法归类为软件系统部分,这种分类形式往往侧重于将智能车的性能归结于硬件电路的设计和软件算法的实现,机械结构虽然也有提及,但仍没有得到足够的重视。从往届比赛来看,特别是第四届比赛,机械结构的调整对于影响赛车速度起到了至关重要的作用,一颗螺丝固定的松紧度、一块电路板的安放位置都将对整个智能车的速度起到很大影响,而机械结构的创新则将大大提高智能车车速。从上面的分析能得出,智能车的性能不是仅仅由某一因素影

21、响,而是各因素综合影响下的结果,各系统模块之间必须协调、合理的工作才能保证车体各方面性能。因此,将智能车系统分为三个子系统,即机械系统、电路系统和软件系统,而三者之间则是从机械系统、电路系统、软件系统形成由下而上,由底层到上层的关系。软件系统是控制机构,电路系统是检测、驱动机构,机械系统则是执行机构,其关系和基本组成结构如图2.1。图2.1 智能车系统组成图智能车系统组成结构系统框架如图2.2所示:图2.2 智能车系统总体设计框图如图2.2所示,智能车主要由如六个部分组成:(1)单片机最小系统。这部分的作用是对信息采集模块的数据信息进行分析处理,并以此相应做出控制决策,是智能车的“大脑”。本次

22、智能车的单片机选用的是Freescale的16位单片机MC9S12XS128B,它负责各种传感器信息的数据采集、决策算法的实现以及驱动电机和前轮转向舵机控制信号的产生。(2)数据采集模块。对智能车前方赛道情况及车身行驶速度、加速度等信息进行检测并送往单片机最小系统,是智能车的“眼睛”。(3)执行模块。执行模块就是舵机和电机,跟据单片机最小系统决策形成的前轮舵机转向转角控制信号,通过PWM信号传送给舵机IPS017伺服器,实现智能车转向控制;跟据决策形成的电机速度控制信号,单片机PWM信号给BTS7960以控制H桥上下桥臂的导通与关断,从而控制后轮电机的电枢电压和转速。(4)人机接口模块。人机接

23、口模块是用来设定不同的模式,或者是在舵机中值调试的过称中,设定不同的舵机转角,方便操作。数码管是用于显示用的,可以显示设定的模式或者速度、转角的值,也可以显示运行过称的中间值,方便调试过程。(5)无线通讯模块。通过无线模块,可以将智能车行驶过程中的数据实时传送到电脑,是一种实用高效的调试手段。(6)SD卡。SD卡也是一种有效的调试工具。SD卡可以记录智能车在运行过程中,存储智能车的参数。在上位机中,用专门的软件读取SD卡中的数值,可以整体分析智能车的行走路线、速度等关键参数,如果运用得当的话,还可以恢复赛道,更好的仿真算法的优劣。智能车系统工作流程智能车系统的工作过程大致可以分为七块:(1)初

24、始化。初始化包括加速度传感器信息采集的AD口初始化;道路信息传感器信息采集的外部中断初始化;实现电机闭环控制的捕捉口PT0及累加器A的初始化;控制智能车后轮驱动电机及前轮转向舵机的PWM信号初始化;无线通讯装置的异步串口初始化;人机接口的初始化。(2)模式选择。单片机中存储了多套控制方案,通过按键输入,选择适当的控制方案让系统运行。(3)读取传感器数据。通过AD口读入激光传感器的值;另外,通过AD口读取加速度传感器信息。(4)数据处理。对于读入的传感器数据进行简单的处理,得到预瞄点黑线的中心位置,为控制策略提供原始信息。(5)舵机控制策略。采用预瞄距离可变的预瞄算法计算出智能车舵机转角控制量。

25、(6)电机控制策略。采用PID控制算法计算出智能车电机速度控制量。(7)执行。智能车舵机转角控制量及电机速度控制量分别给舵机和电机,一个周期结束后,继续采集下一个周期的传感器数据。本章小结本章中,首先介绍了一下“飞思卡尔”智能车的比赛规则和设计的总体要求。然后,讲了智能车的总体设计,把每个模块都做了介绍。最后,简单说了一下智能车工作的整个流程。第三章 光电导引智能汽车机械系统调整与改造第三章 光电导引智能汽车机械系统调整与改造作为智能车系统的最终执行机构,模型车自身机械机构的性能直接决定了整个智能车系统的性能。通过对前四届比赛的总结,发现车模结构参数的优化和硬件设备的可靠性在智能车系统中所占比

26、重越来越大。在规则允许范围内,适当优化机械结构可以带来事半功倍的效果。其中,前轮定位参数优化、转向舵机力臂增大和底盘重心位置调整对于车模的机械性能有着较大影响。3.1 模型车基本结构参数介绍系统所用智能车模型为1/16仿真越野车模型,四轮驱动。该车模机械结构基本参数表3.1。图3.1为车模实物图。表3.1 车模参数表车模参数尺寸前轮轮距180mm后轮轮距180mm前后轴距180mm车身长度246mm车轮直径66mm车轮宽度28mm图3.1 越野车模实物图3.2 机械结构调整与改造3.2.1 前轮定位参数调整现代汽车在正常行驶的过程中,为了使汽车直线行驶稳定,转向轻便,转向后能自动回正,并减小轮

27、胎和转向零件的磨损等,在转向轮、转向节和前轴之间形成一定的安装位置,叫做车轮定位。其主要定位参数包括:主销后倾、主销内倾、车轮外倾和车轮前束。此模型车可以调整车轮外倾和车轮前束。 前轮外倾角:通过车轮中心的汽车横向平面与车轮平面的交线与地面垂线之间的夹角称为“前轮外倾角”,如图3.2所示。 图3.2 前轮外倾示意图 前轮外倾主要起着防止轮胎变形的作用。因为车体本身的重量,车体将因承载而变形,从而导致车轮内倾,这将加速轮胎的偏磨损。为了使车轮接近垂直路面而滚动,使轮胎磨损均匀,安装轮胎时应使其具有一定的外倾角。另一方面,适当的外倾也会延长车轮连接件的使用寿命。前轮前束:前轮前束是指两轮之间的后距

28、离数值与前驱离数值之差,也指前轮中心线与纵向中心线的夹角,如图3.3所示。图3.3 前轮前束示意图前轮前束是为了减轻或者抵消前轮外倾而造成的不良后果,两者间需要协调。车轮有了外倾角之后,就会导致两侧车轮向外滚开,车轮在路面上会出现边滚边滑的现象,从而加速轮胎的磨损。为了缓解这种情况,在安装车轮时使两轮前边缘距离小于后边缘距离,这样可使车轮的滚动方向接近于正前方。3.2.2 车体重心调整车体的重心是指车体重力的作用点,其位置的改变会影响汽车的动力性、制动性、操纵稳定性和通过性等性能。本车模在轮子支架和车模底板之间有四颗用于调整底盘高度的螺丝,如图3.4所示。通常通过降低车模底盘高度,将智能车整体

29、重心下移,可以有效防止智能车在运行过程中的侧滑,保证稳定性能。底盘高度调整螺母图3.4 用于调节车身底盘高度的螺母3.3 本章小结本章对模型车的前轮定位、重心位置进行了优化调整,经过调试,并取得了良好的效果。第四章 光电导引智能汽车控制系统硬件电路设计第四章 光电导引智能汽车控制系统硬件电路设计硬件是实现软件算法的基础,优化的硬件结构设计会大大减轻软件负担,在软硬件都能解决的时候往往选择硬件解决,这同时也对硬件设计者提出了较高的要求。本控制系统硬件在总结往年经验、借鉴其他成功方案、保证可靠性基础之上,对硬件电路接口简化、优化,并在传感器电路、驱动电路等方面作了创新。4.1 激光传感器电路系统是

30、基于光电传感器的智能车设计,智能车系统路况信息的采集能力完全依赖于光电传感器的性能,智能车只有看得越远才能跑得越快,看得越清晰才能跑得越稳,因此选择合适的光电传感器对于本文所设计的智能车系统至关重要,设计合适的光电传感器电路也是本文的重中之重。通过对前四届光电组比赛情况的研究发现,红外光电传感器基本占有主流位置。但是其在前瞻、抗干扰性、电流等方面的缺点迟迟得不到改善。最多20cm的前瞻大大制约了智能车的预判能力;红外发射管发出的红外光线不便于人的肉眼观测,给传感器排布与调试带来了诸多不便;接受管接收信号微弱需要二级放大,信号为模拟信号需要AD转换则增大了控制周期;红外传感器的工作电流较大增大了

31、系统的负载。相比红外光电传感器,激光传感器在光强、抗干扰、耗能和检测范围等方面优势明显,因此在第四届竞赛的决赛中少数队伍使用的激光管大放异彩,光电组前三名队伍均使用了激光传感器方案,其性能甚至可以和摄像头组相当。因此,本文着重研究了激光传感器方案。4.1.1 激光发射与接收原理所谓“激光”,是由字头L(Light,光)、A(Amplification,放大)、S(Stimulated,受激)、E(Emission of,发射)、R(Radiation,电磁波)构成的LASER,即“辐射受激发射光量子放大”的简称。是一种亮度极高,方向性和单色性很好的相干光辐射。现在,不仅在通信、信号处理,就连医

32、学、能源等可以说所有领域都在广泛使用激光技术38。除了常见的固体激光器(例如红宝石激光器)和气体激光器(例如He-Ne激光器)以外,还有半导体激光器。从激光技术的整体来看,半导体激光的发展历史尚浅,不过,近年来,随着在可见光领域蓝光和红光激光器的实用化,以及激光器自身性能的进步和使用寿命的延长,半导体激光器已经逐渐成为激光器的重要组成部分41。激光的原理是电子在不同能级跃迁中产生的自发辐射与受激辐射,而半导体激光器是以半导体材料作为工作物质的激光器。如-V族化合物(如GaAs),-VI族化合物半导体(CdS)和IV-VI族化合物半导体(PbSnTe)等。p-n结为激活物质,如图4.12为砷化镓

33、同质结二极管激光器的结构,两个与结平面垂直的集体解理面构成了谐振腔。p-n通常用扩散法或者液相外延法制成。外界激发源的激发方式有p-n结正向注入、电子束激发、光激发及粒子碰撞电离激发等,当激励足够强和利用半导体材料的街里面作为激光器谐振腔的反射面,可产生半导体激光,根据材料与结构的不同,半导体激光器的输出激光波长范围为0.33m-34m41。图4.1 激光产生原理图一般来说,半导体激光器具有以下显著的特点:体积小,重量轻。驱动功率消耗低。能够直接进行调制。长寿命。激光接收器是基于受光器件制作而成,受光器件主要有PN结光敏二极管、NPN结光敏三极管和含有光敏二极管双极IC的OPIC(Optica

34、l IC的简称),从广义上包括光生电动势器件(太阳电池、硒光电池)、光电导器件(CdS器件)在内。受光器件通过与发光二极管的组合可以对目的物体进行检知,也可以用于接收数据等用途。4.1.2 激光传感器电路设计(1)激光检测原理激光传感器检测道路的工作原理如图4.2所示。激光管处于黑线上方时,经调制后的激光点打到黑色线上,黑色对光吸收强,接收管接收到的激光少,接收管输出低电平,检测二极管发亮表示检测到黑线;当激光管处于白色地面上方时,根据漫反射原理,一部分激光被反射回接收管,反射回的光强到达一定要求时,接收管输出高电平。从而可以实现对道路情况的检测,进而引导智能车。 图4.2(a) 激光照射到白

35、色地面上 图4.2(b) 激光照射到黑线上图4.2 光电传感器工作原理示意图(2)激光传感器排布对于光电传感器的布局来说,“一”字型布局是理论最为成熟,效果最显著的方案,激光传感器使用了“一”字布局。“一”字布局中传感器之间的间距设置也是比较讲究的,首先需要分析赛道基本参数,该参数有竞赛主委会提供,如图4.3所示,赛道总宽度为500mm,中间黑线宽度为25mm,起始标志靠近黑线的边缘距离黑线中心为45mm,起始标志线长度为100mm,宽度为25mm。图4.3 赛道基本参数为了使检测更加精确,本文首先在基本确定接收管安装高度和检测距离的情况下,测试了安装透镜的接收管的接受范围,如图4.4所示,在

36、接收管安装高度为180mm和检测距离为450mm的情况下,其检测范围大约为一个长轴为88mm、短轴为38mm的椭圆。根据以上信息,根据几何原理,通过式(4.1)可以计算出接收管的扩散角: (4.1)其中a为椭圆的短轴,d为透镜直径,OA为椭圆中心到透镜的水平距离,OB为椭圆中心到透镜的垂直距离。将实测数据代入上式得到接收管的扩散角为:得到图4.4 透镜发散角测试以及激光管间距的确定方法根据在上述条件下测得到的数据,本文将大前瞻激光传感器激光发射管之间的距离定位12mm。这样,相邻三个传感器之间的距离为36mm“New”,选择HCS12XS Family, MC9S12XS128;在“Proje

37、ct name”中填入工程名字,在“Location”中选择存储位置,同时编程语言选择c;其余选择默认的,最后单击完成即可。当完成了工程的建立之后就可以,在工程中添加源代码,实现系统所需的功能。(2)编译链接在工程代码完成了之后,通过单击“Make”按钮就可以完成编译和链接的工作。编译的过程可能会产生很多的警告信息和错误,错误是必须要消除的。消除之后重新“Make”就可以完成编译链接工作。图6.1 开发环境(3)下载与在线调试下载与在线调试的工具选用的是P&E Micro公司研制的下载器,型号为USB-ML-12。它支持背景调试模式(Background Debug Mode,BDM),从而实

38、现了单片机的在线调试功能。在编译完成了之后,选择P&E Multilink调试模式,单击“Debug”即可进入在线调试的界面(如图6.2)。图6.2 调试界面调试窗口包含了菜单栏和工具栏,还包含了8个子窗口,左边的4个从上到下依次为程序代码源文件窗口、函数过程窗口、数据窗口一和数据窗口二。右边4个从上到下依次为汇编语句窗口、寄存器窗口、内存窗口和命令行窗口。基本的调试方法是,选择Start/Continue进行全速运行程序或者选择Single Step进行单步调试,同时还可以在“Source”窗口中的某个语句处,右击“Set Breakpoint”,然后运行到断点处,观察变量情况。数据变量的观

39、察可以在Data1和Data2窗口中观察,在这里可以选择变量的显示方式是十六进制或者十进制,同时还可以设置自动刷新数据和自动刷新的频率。6.3 本章小结在本章中,主要对系统的联调进行了说明。首先对系统的开发环境进行了介绍,对系统的程序编写和调试软件的基本使用情况进行了说明。结 论本次设计以第五届全国大学生智能汽车竞赛为背景,在前四届大赛的基础上,开发了以16位单片机MC9S12XS128为核心的智能汽车系统。在硬件方面,在对以往方案进行仔细研究的基础上,通过广泛查阅相关资料与大量测试,重新设计了核心控制模块、电源管理模块;在激光传感器方案、电机驱动方案、激光传感器固定与控制方案和人机接口模块方

40、案上较前四届均有了突破,新增了存储器和无线通信模块。实践证明,本套硬件系统有助于智能汽车跑出较好的成绩。在软件方面,在智能车竞赛组委会提供的车模和一些基础部件的基础上,进行了多方面的设计改造,主要对车模的软件设计,同时对智能车的算法进行了优化,并通过实际的测试,发现对于提高智能车的运行速度、运行的稳定性以及智能特性等多方面都有了很大的提高。由于技术经验的不足,系统尚不够完善。另外,有限的时间也导致一些新技术、新方案没能得到充分的实验。但是,相信经今后过不懈努力,这些问题在不久的将来终能得到解决。参 考 文 献1 邵贝贝.单片机嵌入式应用的在线开发方法M.北京:清华大学出版社,2007.2 熊万

41、龙.基于Kalman滤波器的自主车辆定位方法研究D.北京:国防科学技术大学,2005.3 卓晴,黄开胜,邵贝贝等.学做智能车M.北京:北京航空航天大学出版社,2007.4 张雪梅.车辆的智能化与道路交通安全J.山西交通科技,2004,167(5):8284.5 韩俊淑,韩佳文,高翔,赵玉凡,常明.智能车辆的研究及发展J.世界汽车,2003,9(35):79806 郭烈.高速智能车电器与控制系统设计开发D.长春:吉林大学,2003.7 苏鑫.小型智能车自动驾驶系统设计与实现D.西安:西安理工大学,2008.8 田海波.一种微型智能车的结构设计与性能分析D.西安:西北工业大学,2006.9 何奇文

42、,彭建盛,周东.基于红外反射式传感器智能车系统的设计J.高师理科学刊,2008,28(3):4548.10 江思敏,唐广芝.PCB和电磁兼容性设计M.北京:机械工业出版社,2008.11 赵玲.基于视觉和超声传感器融合的移动机器人导航系统研究D.武汉:武汉理工大学自动化学院,2007.12 胡杰.基于16位单片机MC9S12DG128智能模型车系统开发研究D.武汉:武汉理工大学汽车工程学院,2008.13 王朝盛.基于16位单片机MC9S12DG128B智能车系统的设计D.天津:天津工业大学,2007.14 伍舜喜.基于激光雷达的智能车定位技术研究D.上海:上海交通大学,2008.15 邬昌茂

43、.基于HCS12单片机的智能车底层控制系统研究D.上海:上海交通大学, 2008.16 李果.汽车自动控制系统设计与研究D.长沙:国防科技大学,1994.17 王洋.基于视觉导航的智能车系统研究D.南昌:南昌大学,2008.18 黄文卿.基于DSP 的智能汽车赛道检测和控制算法的实现D.北京理工大学,2008.19 王铭明.智能模型汽车控制系统硬件设计D.南京:南京理工大学,2009.20 江泽鑫.飞思卡尔智能汽车系统建模与控制算法设计D.南京:南京理工大学,2008.21 姜培安.印制电路板的可制造性设计M.北京:中国电力出版社,2007.22 杨宗德.Protel DXP电路设计制板100

44、例M.北京:人民邮电出版社,2005.23 陈伯时.电力拖动自动控制系统运动控制系统M.北京:机械工业出版社,2008.24 郭烈.高速智能车电器与控制系统设计开发D.长春:吉林大学,2003.25 熊有伦.机器人技术基础M.武汉:华中理工大学出版社,1997.26 杜刚.电路设计与制板:Protel应用教程M.北京:清华大学出版社,2006.27 聂荣等.实例解析PCB设计技巧M.北京:机械工业出版社,2006.28 王志良.竞赛机器人制作技术M.北京:机械工业出版社,2007.29 薛定宇.控制系统仿真与计算机辅助设计M.北京:机械工业出版社,2005.30 张晓华.控制系统数字仿真与CA

45、DM.北京:机械工业出版社,2005.31 李果.汽车自动控制系统设计与研究D.长沙:国防科技大学,1994.32 李峰.智能交通系统在国外的发展趋势J.国外公路,1999,19(1):15.33 徐国华,谭民.移动机器人的发展现状及其趋势J.机器人技术与应用,2001.34 徐友春,王荣本.世界智能车辆近况综述J.车辆工程,2001.35 彭军.光电器件基础与应用M.北京:科学技术出版社,2009.36 郝晓剑,李仰军.光电探测技术与应用M.北京:国防工业出版社,2009.37 汪贵华.光电子器件M.北京:国防工业出版社M,2008.38 魏彪,盛新志.激光原理及应用M.重庆:重庆大学出版社

46、M,2007.39 王晓明.电动机的单片机控制M.北京:北京航空航天大学出版社.2007.40 Myung Wook Park,Young-Jin Son,Jung-Ha Kim.Design of the Real Time Control System for Controlling Unmanned Vehicle.International Conference on Control,Automation and Systems,Oct 2007,pp.1234-1237.41 Hark.Inueo.Maeyama.Navigation Using One Laser Source f

47、or Mobile Robot with Optical Sensor Array Installed in Pan and Tilt Mechanism IEEE/ASME International Conference on Advanced Intelligent Mechatronics.AIM 2008.p 257-62,2008.42 Yanfei Liu, Zhaohui Wu. A smart car control model for drivers comfort of car followingJ.Intelligent Vehicle Symposium,2005.P

48、roceedings.IEEE,2005:833-839.第五届全国大学生智能汽车邀请赛技术报告控制程序代码 PAGE XXIV PAGE XXVI附录A:控制程序代码主程序#include PLL.h#include AD.h#include Threshold.h#include DetectBlackLine.h#include SPEED_STEER.h#define HIGH_SPEED1 300#define MID_SPEED1 250#define LOW_SPEED1 225#define HIGH_SPEED2 320#define MID_SPEED2 260#defin

49、e LOW_SPEED2 240#define HIGH_SPEED3 240#define MID_SPEED3 215#define LOW_SPEED3 190#define HIGH_SPEED4 330#define MID_SPEED4 280#define LOW_SPEED4 275#define LOWEST_SPEED 50#define INIT_SPEED1 200#define INIT_SPEED2 205#define INIT_SPEED3 195#define INIT_SPEED4 210int high_speed;int mid_speed;int lo

50、w_speed;/闭环控制参数/ int Kp=2,Ki=0,Kd=0;int get_speed;int speed_error_0=0,speed_error_1=0,speed_error_2=0;int speed_control_0=0,speed_control_1=0;int set_speed=0;int AllWhite=0;/#define LASTN 5int lastnum=0;int lastposLASTN;int SteerValue=0; /记录舵机当前转向对应的数值-1111;int LatestBlack=5;int curpos;int FrontAD12

51、; int tmpRecordFront12;int IsBlackF12;int range_max_value12;int range_min_value12;int Threshold12;int STEER_VALUE23;int NumBlackF=0;int NumF;int Flag=0;int StartFlag=0;int ThreshFlag=0;int ResetFlag =0;int a312; /中值吕滤波暂存数组#define RoadNum 10int RoadStateRoadNum12;unsigned char waste=0;int brake_cnt=0

52、;int speed_ctrl=0;int spflag=0; /0:直道,1:little right,2:big right,-1:little left,-2:big leftint spcnt=0;/判断路况变量int BigSLeft=0,BigSRight=0,SmallSLeft=0,SmallSRight=0,ShortLine=0;unsigned char StartLine=0;/PIT初始化/void modulo_init(void) PITCFLMT_PITE=0; /关PIT PITINTE=0 x01; /开中断0 PITMTLD0=0 x0f; /预分频系数1

53、6 计数时钟(BusCLK/16)M PITLD0=10000; /2.124ms AD周期约为0.2ms/ PITFLT=0 x01; /load the corresponding 16-bit timer load register into the 16-bit timer down-counter PITCFLMT=0 x81; / PITCE=0 x01; /使能通道0/*路况判断函数,决策变量RoadState数组/*返回判断结果起始线void RoadStateJudge(void) char x,y,xflag2=0,0; int m=0,n=0,i,mflag=0,nfla

54、g=-1; int temp12; for(i=9;i6;i-) y=0; x=0; m=0; n=0; mflag=0; nflag=-1; for(x=0,y=0;x0) y+; if(y=4) /连续4个黑点pass return; m=1; if(mflag0 | nflag0) nflag+; if(nflag0) mflag = -20; if(nflag=3) return; else nflag=0; y=0; if(m) mflag+; n+; m=0; if(n=4) /有四个变化pass return; else if(n=3 & RoadStatei110) retur

55、n; for(x=0;x6;y-) /最大RoadNum for(x=0;x12;x+) tempx+=RoadStateyx; y=0; x=0; for(x=0;x=2 | temp11-x=2)y+; if(y=3) x=0; y=0; while(x=3&tempx(tempx+1+1) xflagy=x; y+; x+=3; if(y=2) break; else x+; if(y=2 & xflag1-xflag0=3) PORTB_PB3 = 0; /检测到起始线 StartFlag = 2; /void Speed_Control(void) if(ShortLine150)

56、if(spflag!=0) spflag = 0; spcnt = speed_ctrl; set_speed=high_speed; else if(BigSLeft2) if(get_speed=low_speed+20) set_speed=0; else if(get_speed=LOWEST_SPEED & spflag=0 & speed_ctrl-spcnt250) set_speed=0; else set_speed=low_speed; spflag = -2; spcnt = speed_ctrl; else if(BigSRight2) if(get_speed=low

57、_speed+20) set_speed=0; else if(get_speed=LOWEST_SPEED & spflag=0 & speed_ctrl-spcnt250) set_speed=0; else set_speed=low_speed; spflag = 2; spcnt = speed_ctrl; else if(SmallSLeft100) if(spflag=1 & speed_ctrl-spcnt500) set_speed=mid_speed; else set_speed=mid_speed; spflag = -1; spcnt = speed_ctrl; el

58、se if(SmallSRight100) if(spflag=-1 & speed_ctrl-spcnt500) set_speed=mid_speed; else set_speed=mid_speed; spflag = 1; spcnt = speed_ctrl; motorspeed(set_speed);void init_speed(int high, int mid, int low) high_speed = high; mid_speed = mid; low_speed = low; BigSLeft=0; BigSRight=0; SmallSLeft=0; Small

59、SRight=0; ShortLine=0;/主程序/ void normal(void) FindPosFront(); Steer_Control(curpos); /控制舵机 if(speed_ctrl%5=0) /电机控制,5个中断周期 Speed_Control(); void delay1ms(int time) /time=1为2ms while(time-) int tmpp_dela=10000; while(tmpp_dela-); /中断服务程序/#pragma CODE_SEG NON_BANKED void interrupt ModuloOverflow(void)

60、 DisableInterrupts; PITTF_PTF0=1; if(waste20000) /中断周期计数、提供时间等参数 speed_ctrl = 0; else speed_ctrl+; /开关1 中速 /开关2 高速 /开关3 低速 /开关4 超高速 /开关5 起始线检测 /开关6 采阈值 if(PORTA_PA2=0 & ThreshFlag=0) /开始采阈值 Get_range_value(); Get_Threshold(); PORTB_PB0=0; /点亮PB0,如果单片机复位,PB0灯会熄灭 StartFlag = -1; ThreshFlag = 0; if(Sta

温馨提示

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

评论

0/150

提交评论