东北大学秦皇岛分校(摄像头)-东秦二队技术报告

上传人:无*** 文档编号:202075585 上传时间:2023-04-21 格式:PDF 页数:153 大小:9.97MB
收藏 版权申诉 举报 下载
东北大学秦皇岛分校(摄像头)-东秦二队技术报告_第1页
第1页 / 共153页
东北大学秦皇岛分校(摄像头)-东秦二队技术报告_第2页
第2页 / 共153页
东北大学秦皇岛分校(摄像头)-东秦二队技术报告_第3页
第3页 / 共153页
资源描述:

《东北大学秦皇岛分校(摄像头)-东秦二队技术报告》由会员分享,可在线阅读,更多相关《东北大学秦皇岛分校(摄像头)-东秦二队技术报告(153页珍藏版)》请在装配图网上搜索。

1、第六届“飞思卡尔”杯全国大学生智能汽车邀请赛技 术 报 告学 校:东北大学秦皇岛分校队伍名称:东秦2队参赛队员:宫志勇李 强张传胜带队教师:汪 晋 宽 马 淑 华关于技术报告和研究论文使用授权的说明本人完全了解第二届全国大学生“飞思卡尔”杯智能汽车竞赛关保留、使用技术报告和研究论文的规定,即:参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。参赛队员签名:带队教师签名:日 期:目录第 一 章 引 言.11.1 智能控制在交通工具中的应用现状.11.2 飞思卡尔

2、杯智能车竞赛背景及发展.21.3 本文结构安排.4第二章系统设计方案.52.1 智能小车设计基本要求.52.2 控制方案的选择.52.3 小车参数.5第三章 机械结构设计.93.1车底盘高度的调整.93.2舵机安装方式调整.103.3 编码器安装.113.4 摄像头安装.113.5 前轮调整.12第四章 器件选择及硬件电路设计.114.1摄像头的选择.154.2视频分离芯片选择及电路设计.154.3 图像处理电路及电路设计.154.4 电机驱动芯片选择及电路设计.15第五章软件算法设计.105.1各模块初始化.245.2图像采集.105.3 图像处理.105.4 虚线处理.115.5直流电机及

3、伺服电机控制方案.11第六章开发工具及调试说明.116.1开发工具.116.2 串口调试工具.126.3 无线调试设置装置.126.4 拨码开关速度设置.106.5 智能车整体调试.11第七章总结.12第八章鸣谢.43参考文献.I附录.II附录A系统原理图.II附录B源程序.V第 一 章 引 言1.1 智能控制在交通工具中的应用现状2 0世纪8 0年代以来,信息技术、计算技术的快速发展及其他相关学科的发展和相互渗透,推动了控制科学与工程研究的不断深入,控制系统向智能控制系统的发展已成为一种趋势。在交通运输业方面,从十九世纪末,汽车诞生以来,经过一个世界多的发展,在技术、性能等各个方面有了很大的

4、提高,汽车为人类社会发展做出了不可估量地推动作用。然而,我们在享受种种便利的同时关于交通运输的各种问题日益凸现。如随着高速公路发展,汽车速度的提高,各类恶性交通事故的发生呈不断上升趋势,给人们的生命财产造成了巨大的损失。交通拥挤、堵塞严重事故频繁和环境污染等公害也成为要求高效、快速、和谐的社会发展所不能容忍的。在这种大背景下,智能控制理论与技术在交通运输工程中越来越多的被应用,以满足人们对交通运输业日益高的要求。智能交通系统,智能汽车等一系列新概念在世界各国已成为热点话题,其发展程度成为衡量一个国家交通业发达水平的重要指标之一。所谓智能汽车,就是在网络环境下用信息技术和智能控制技术武装的汽车。

5、智能汽车是一种高新技术密集的新型汽车,研究人员从智能汽车的信息系统、控制系统、网络环境及智能结构等儿个方面进行研究。智能汽车由导航信息资料,G PS定位系统,紧急报警系统,无线通信系统,自动驾驶系统、探测雷达、信息处理系统、驾驶控制系统等组成,智能汽车通过G PS实时分析车所在位置、行驶方向、速度等实时信息通过与导航信息资料对比得出车所在道路的状况,并把信息实时传输给指挥中心。由指挥中心综合分析后发出指令信息,根据指挥中心发回的指令信息自动驾驶,高效、快速、安全地完成驾驶任务,实现辆的智能控制。智能车有极为广泛的应用前景。结合传感器技术和自动驾驶技术可以实现汽车的自适应巡航并把车开得乂快又稳、

6、安全可靠;汽车夜间行驶时,如果装上红外摄像头,就能实现夜晚汽车的安全辅助驾驶;它也可以工作在仓库、码头、工厂或危险、有毒、有害的工作环境里,此外它还能担当起无人值守的巡逻监视、物料的运输、消防灭火等任务。在普通家庭轿车消费中,智能车的研发也是很有价值的,比如雾天能见度差,人工驾驶由于人的反应速度及信息获第六届全国大学生智能汽车邀请赛技术报告取受到能见度的影响经常发生碰撞,如果用上这种设备,激光雷达会自动探测前方的障碍物,电脑会控制车辆自动停下来,撞车就不会发生。可见,智能汽车的发展将在很大程度上解决现在交通中遇见的部分问题。1.2 飞思卡尔杯智能车竞赛背景及发展受教育部高等教育司委托,高等学校

7、自动化专业教学指导委员会负责主办全国大学生智能车竞赛。该项比赛已列入教育部主办的全国五大竞赛之一。小车设计过程中涉及的专业知识包括控制、模式识别、传感技术、汽车电子、电气、计算机、机械等诸多学科。对学生的综合知识运用能力、动手能力、团队协作能力等综合能力有很高的要求。图1.1 A型车模2第 一 章 引 言图1.2 B 型车模图1.3 C型车模全国大学生“飞思卡尔”杯智能汽车竞赛是在规定的模型汽车平台上,使用飞思卡尔半导体公司的8位、1 6位微控制器作为核心控制模块,通过增加道路传感器、电机驱动电路以及编写相应软件,制作一个能够自主识别道路的模3第六届全国大学生智能汽车邀请赛技术报告型汽车。第

8、六 届“飞思卡尔”杯智能车竞赛提供A、B、C三种车模。其中电磁组选用B型车模,光电组用A型车模,摄像头组选用C型车模。A、B、C车模都由组委会统一提供。在第六届中首次在跑道上加上虚线,增加寻线的难度性。各参赛队伍在指定的车模基础上通过设计基于单片机的自动控制器控制模型车在封闭的跑道上自主循线运行。在保证模型车运行稳定即不冲出跑道的前提下,跑完一圈的时间越短成绩越好。飞思卡尔杯智能车竞赛于2008年第三届被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一,2009年第四届被邀申请列入国家教学质量与教学改革工程资助项目。1.3本文结构安排论文包括小车整体制作思路及在制作过程中解决

9、的一系列问题。包括模型车的机械结构调整、改进;硬件电路的设计,各种芯片中不同型号的比较、选择;软件算法包括采集、寻线、控制、起跑线停车等在内的一系列算法的选择、研究、改进。其中,第一章为引言,主要介绍了智能控制在交通运输业中的运及“飞思卡尔”杯智能车竞赛的背景和发展;第二章为智能车系统方案的设计要包括智能车设计的基本要求、方案选择和车模参数;第三章为智能车模型的机械结构调整,分别介绍了智能车模型前轮定位、车盘底座的调整及后轮差速机械调整;第四章为智能车的硬件系统设计,介绍了硬件电路设计,包括电源管理块、传感器分布模块、转向舵机控制模块和直流电机驱动模块;第五章为智能车的软件系统设计,包括小车软

10、件设计的整体流程,各个模块初始化,图像采集算法,几种寻线算法的比较,以及舵机控制算法的实现等;第六章介绍了软件调试及调试过程;第七章是总结和鸣谢。4第二章系统设计方案2.1智能小车设计基本要求在给定的车模基础上,自主设计电路,研究控制算法,在不违反大赛组委会给出的规定的前提下设计出一款能在贴有宽2.5 c m 黑色引导线的白底跑道上自主识别引导线并控制模型车沿着赛道运行。其中,白色跑道宽5 0 c m,赛道形状在比赛当天公布。赛道中弯道最小曲率等参数预先规定。设计出小车能够自主识别赛道,在稳定的前提下,即不冲出跑道,快速跑完一圈,时间越短成绩越好。并要求通过算法检测出起跑线,在过起跑线之后三米

11、之内停下来。如果没有正常停车,比赛时间加一秒作为惩罚。2.2控制方案的选择与电磁车、光电车相比,选择摄像头作为路径识别传感器在前瞻方面明显优于前两者。并且硬件相对简单,占用M C U 端口少。基于上述优点,我们最终选择摄像头作为检测赛道信息的主传感器。同时,与“电磁车”和“光电车”相比,摄像头车有控制周期长,赛道信息不精确,算法设计相对要难,以及动态性能不好,易受环境光线特别是直射光的影响等缺点。虽然摄像头有上述缺点,但是我们希望通过不断优化算法的途径弥补其固有的不足,制造出一辆抗干扰强,稳定性高的智能小车。2.3小车参数5第六届全国大学生智能汽车邀请赛技术报告表 2.1 模型车技术参数统计:

12、项目 参数路径检测方法(赛题组)摄像头组车模几何尺寸(长、宽、高)(毫米)245*162*280车模轴距/轮距(毫米)115车模平均电流(匀速行驶)(毫安)800电路电容总量(微法)1550传感器种类及个数CCD摄像头1个,编码器1个新增加伺服电机个数0赛道信息检测空间精度(毫米)15.2赛道信息检测频率(次/秒)25车 模 重 量(带有电池)(千克)0.966第二章系统设计方案图 2.1第一代小车全景7第六届全国大学生智能汽车邀请赛技术报告图 2.2第二代小车全景8第三章机械结构设计本届比赛首次采用了C型车模。当拿到车模之后,我们具体分析了车模的各个部分的结构,并与上届B型车模进行了比较之后

13、,认真讨论了车模结构中需改进的部分,摄像头的安装,舵机控制的改进等问题。在查阅了大量资料的前对车机械结构进行了一系列的设计及优化。同时去掉了大量的配件以减轻车的重量。本章将详细介绍车模硬件结构的调整。3.1车底盘高度的调整车模底盘高度在一定程度上直接决定了车的重心。车的重心越低越利于车快速过弯时的稳定,我们在保证车能够过坡道的前提下尽量降低底盘高度。由于我们小车的重心处于小车后方,所以我们只是把小车前面的重心往下降低了。前方降低底盘高度的方法:加上如图3.1所示的绿色垫片即可达到目的。通过这种方法我们把车底盘高度降低到1 cm0图3.1小车前端底盘9第六届全国大学生智能汽车邀请赛技术报告3.2

14、舵机安装方式调整车模原有的舵机力矩输出后要经过四级连杆后才能传到轮子,这种连接方式,力矩在传输过程中损耗很大。C型车模的舵机与A型车模的舵机相比,力矩输出要小得多。这就要求力矩在传输过程中的损失要尽可能的小,显然原有的连接方式不能满足上述要求。同时,C型车的舵机极易烧掉,原有的连接方式在降低实时性的时候也不可避免的增大了舵机烧掉的可能性(因为阻力太大)。这就要求我们改变舵机的连接方式。另外改变舵机杆的长度可以改变舵机输出到轮子的延迟时间。如果舵机输出转速恒定的话,舵机杆越长延迟时间越短。所以,我们增长了舵机连杆。但是在后来的调试过程中发现并不是连杆越长延迟时间越短。力矩公式:M =F*L,在M

15、不变的前提下,当L变大时,F变小。如果阻力f不变,而当F4工COMP SYNC 0ODD/SVENOVERT SYNC 0BACK PORCH5图4.4视频分离电路18第四章器件选择及硬件电路设计4.3图 像处理电路及电路设计由于片内A/D处理速度太慢,且占单片机内存,增加了单片机的负担,所以我们考虑采用片.外A/D芯片,进行图像处理,经过各种比较,我们最终选择了T LC551 0 芯片。T LC551 0是美国T I公司生产的新型模数转换器件(A DC),它是一种采用CMO S工艺制造的8位高阻抗并行A/D芯片,能提供的最小采样率为2 0 Ms p S。由于T LC551 0采用了半闪速结构

16、及CMO S工艺,因而大大减少了器件中比较器的数量,而且在高速转换的同时能够保持较低的功耗。在推荐工作条件下,T LC551 0的功耗仅为1 3 0 MW。由于T LC551 0不仅具有高速的A/D转换功能,而且还带有内部采样保持电路,从而大大简化了外围电路的设计;同时,由于其内部带有了标准分压电阻,因而可以从+5 V的电源获得2 V满刻度的基准电压。T L C 5 5 1 0可应用于数字T V、医学图像、视频会议、高速数据转换以及Q A M解调器等方面。图4.5 TLC5510电路图4.4 电机驱动芯片选择及电路设计电机的驱动可以使用电机驱动芯片M C 3 3 8 8 6,内部具有过流保护电

17、路,刹车效应好,接口简单易用,虽然能够提供比较大的驱动电流,但对于小车骤然19第六届全国大学生智能汽车邀请赛技术报告加速时所需的电流还是不够的,发热量也比较大,最后我们选择了专门的电机驱动芯片B T S 7 9 6 0,经过实际的使用发现,我们自制的基于B T S 7 9 6 0 的电机驱动模块不存在发热问题,加减速效果显著。如下图,:一片B T S 7 9 6 0 为H桥的半桥,各引脚的功能如下I N:P W M 输入信号。I N H:输入高电平时芯片工作,低电平时芯片处于休眠状态。S R:通常串联一个电阻接地,电阻的阻值大小会影响到内部开关的电压转换率。I S:电流感应输入引脚。V S:芯

18、片的供电引脚。O U T:电压输出引脚。20第四章器件选择及硬件电路设计ININHSRIS图 4.6 B T S 7 9 6 0 内部结构一片B T S 7 9 6 0 便足以驱动电机,但考虑到C 车有两个电机,所以我们采用两片B T S 7 9 6 0 并联分别驱动两个电机。通过给予两个电机的不同脉宽去控制小车差速,从而使小车有更华丽的过弯效果。21第六届全国大学生智能汽车邀请赛技术报告图 4.7采用两片B T S 7 9 6 0 控制两个电机电路图22程序流程图:第五章软件算法设计图 5.1 程序流程图23第六届全国大学生智能汽车邀请赛技术报告程序主要包括各模块初始化、串口通讯、图像采集、

19、图像处理、舵机控制、速度控制、起跑线识别等几个部分。本章将主要介绍各个部分算法的选择及实现。5.1 各模块初始化5.1.1 PLL初始化单片机要正常工作,其中必须要做的事情之一就是要初始化时钟。靠锁相环产生的时钟频率有下面的公式得到:PLLCLK=2*0SCCLK*(SYNR+1)(REFDV+1)。为了增加图像采集采点的数量,我们把总线频率设置到了40M。5.1.2 I/O端口初始化硬件设计时,我们留出PORTE用做拨码开关端口,PORTB用做LE D指示灯端口。在端口初始化时,把PORTE设置为内部上拉,并设置为输入端口。把PORTB设置为输出端口。5.1.3 ATD模块初始化MC9S12

20、XS128单片机内部的ATD模块是8通道、10位精度、多路输入复用、逐次逼近型的模数转换器。我们只用到了其中的一个通道,把它用来测电池电压。5.1.4 PWM模块初始化我们用到了四路PWM,其中通道0,1级联和通道2,3级联控制电机,通道6,7级联控制舵机,通道4控制TLC5510的时钟频率,通过设置相应的寄存器选择时钟源,设置频率、极性等。5.1.5 ECT模块初始化我们用ECT模块的输入捕捉功能检测行中断和奇偶场中断,进行图像采集。通过设置相应的寄存器把通道6、通道7和通道0设置为输入捕捉。并通过设置TCTL4把他们设置为输入捕捉,分别捕捉下降沿和上升沿。在捕捉到中断时进行数据采集。通道1

21、和通道0分别作为摄像头的行场中断,通道2和3是测速的中断24第五章软件算法设计5.1.6 SC I模块初始化利用串口实现单片机与上位机的通讯是在调车过程中用到最重要的调试手段。设置相应的寄存器对SCI进行初始化。初始化程序参考附录I。5.2 图像采集图像采集过程中,我们采用两种采集方法采集。一种是通过每隔固定的行数进行采集;一种是等实际距离采。前者的优点在于近处点采得细、采得密,后者优势在于采集后在图像的远近距离上不再需要做矫正。最后我们采用了后一种采集方式。我 们 选 用ECT模块的通道1和通道0分别作为场和行的中断捕捉引脚。把通道1设置为下降沿输入捕捉,通道0设置为上升沿输入捕捉,当捕捉到

22、上升沿时进入中断。模拟摄像头的模拟视频信号经过LM1881分离出奇偶场中断和行中断,其中场中断频率为25Hz,行中断频率为16kHz。通过ECT模块的输入捕捉,首先检测场中断,当检测到场中断后,在场中断程序内使能行中断。当检测到行中断上升沿后,通过调用延时函数错过消隐区。然后直接读转换结果寄存器,进行数据采集。最终我们每行采到了 110个点,总共采到了57行。5.3 图像处理得到图像后,要对图像进行一系类的处理,包括寻线、滤波等。经过处理后采集到的图像信息才能够用来指挥小车的前进。寻线即在图像的每一行找到黑线所在的位置,存入代表黑线位置的数组location。寻线方法我们采用了“根生法”。所

23、谓“根生法”就是像树一样,数的枝干总是相连的,下一段树干的位置总是可以通过上一段树干找到。在采集到的一帧图像中,黑线应该是连续的,即下一行中黑线的位置在一定程度上应该是与上一行中黑线所在的位置相邻或挨着的。这样我们在找黑线的过程中,就可以根据上一行中黑线的位置在一定范围内找。这样做首先减少了程序的计算量和运行时间,其次,减小了出错的概率,滤掉了一部分蓝底的干扰。我们在寻线的过程中把一幅图像分成了两部分进行处理,前二十行即近处的黑线在图像中总是清晰,最容易得到的,另外黑白分明,且干扰少,阈值也最好计算。所以采 用 了 直 接 计 算 阈 值 的 方 法。阈 值 计 算 公thresholdi=a

24、ve/c_n-4,其中threshold为第i行阈值,a v e为第i行所有点的平均值。计算出阈值后,25第六届全国大学生智能汽车邀请赛技术报告进行二值化。在前二十行内寻找有黑线的第一行。如果发现在一行内的连续黑点数大于6且小于1 5,则认为是找到了第一个黑点。存入l o c a t i o n 。如果在前二十行内没有找到黑线,则认为是无效场置位无效场标志位,进行下一场图像采集。后面3 8 行要根据现场光线情况确定是否采用计算阈值的方法进行寻线。后3 8 行也采用计算阈值的方法,寻线根据根生法,根据上一行找到的黑线位置,在左右各5个点范围内寻找小于阈值的点。如果在连续三行内都没有找到小于阈值的

25、点或已找到边界则认为黑线终止,置位黑线终止标志位。然而当摄像头看得很远的时候阈值并不好就算,这主要是因为摄像头图像畸变,远处的图像黑线能被采到的点很少,并且黑线与白底之间的差不是很大,再加上远处摄像头看得很宽,上述计算阈值的方法在这里不能用了。阈值选择不好的话会有很多的噪点,导致寻线错误,或者找不出黑线。所以有第二种备用方案。根据上一行的黑线位置,在其左右各五个点的范围内找与上一行黑线位置那个点的值最接近的点。并且两者之差应该小于X (X的值也要根据现场光线定其值应该为多大,一般为5)。如果在连续三行内都没有找到满足条件的点或已找到黑线终止位。图 5.2 全场计算阈值寻线26第五章软件算法设计

26、Freeical*.SautCu upper_PC_V-9.vi劝 8 MIC)H as Hl IJI P1*1I7ee/eale/mart car.I:,:瑜理ml l f lll:一与“,XJW”QMEeWl字 ,“1.*.,P L“E k F.Ud.UC u z *%一 电一I,8不 号的敷位必须一致,大小=行数,!I数注目,请先信行程序,后打开电源.如果图像出现水平可通过移动,可通过词市bytes to ra d5,如其_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

27、_ _图5.3直接寻点法通过比较,得出结论前者适用于摄像头看得近的时候,因为当摄像头看得较近的时候图像畸变不是特别严重,并且黑白比较分明,通过计算容易得到合适的阈值。而当摄像头看得比较远时,远处不能计算出一个比较合适的阈值进行二值化。这时要采用第二种方法。但是第二种方法判断黑线的条件太宽松了,可能会出现没有黑线却寻出错误的黑线的情况。因此我们在调试的时候加入了另外一个附加条件:找左右两个跳变沿,所找到的点向左右分别找5 个点,如果在五个点内没有找到上升沿,则认为黑线已经终止,置位黑线终止标志位。5.4虚线处理第六届首次在跑道上加上了虚线,让我们在寻线过程中增加了难度。虚线的规格如下:虚线段实残

28、段 h-H 实线段大仪 10 0m m ,b-H J J 、10 O m ni虚线段可能出现在赛道的直线部分,也可能出现在赛道的转弯部分,如下图所示:27第六届全国大学生智能汽车邀请赛技术报告每段虚线长度不超过1 米。虚线不会出现在十字交叉路口、坡道中。由于今年虚线是个新颖的创新点,我们在图像处理过程中都非常重视,重点是处理实线入虚线或者虚线入实线的情况。图 5.4大 S 实线入虚线28第五章软件算法设计图 5.5 十字交叉虚线入实线解决虚线寻线的思路是把两个断点连接起来,即找到第一个断点的顶行的t o p.r和t o p.c以及下一个断点底行的b o t t o m.r和b o t t o

29、m.C o通过这四个点计算两点之间斜率,通过该斜率,把两点之间的点拟合成一条直线。5.5 直流电机及伺服电机控制方案5.5.1 P I D控制器介绍及其基本调试原则P I D控制是工程实际中应用最为广泛的调节器控制规律之一,自从产生以来因为其结构简单、参数整定方便、易于工业实现、稳定可靠、适用面广等优点成为工业过程控制的主要技术之一。随着计算机技术迅猛发展,由计算机实现的数字P I D控制器正在逐步取代模拟P I D控制器。P I D调节器是按反馈控制系统的偏差的比例、积分和微分规律进行控制的控制器。数字P I D算法又分为位置型控制算法和增量型控制算法。数 字P I D位置型算式如下:产的=

30、K.e/)+,e(k)e伏 一1)公式 1数字P I D增量型算式如下:29第六届全国大学生智能汽车邀请赛技术报告A T)=Kpe-e(k-1)+K声+KDe(k)-2e(k-1)+e(k-2)公式 2(1).PID调试一般原则a.在输出不振荡时,增大比例增益P。b.在输出不振荡时,减小积分时间常数Ti。c.在输出不振荡时,增大微分时间常数Td。(2).一般步骤a.确定比例增益P确定比例增益P 时,首先去掉PID 的积分项和微分项,一般是令Ti=O、Td=O(具体见PID 的参数设定说明),使PID 为纯比例调节。输入设定为系统允许的最大值的6096-70%,由0 逐渐加大比例增益P,直至系统

31、出现振荡;再反过来,从此时的比例增益P 逐渐减小,直至系统振荡消失,记录此时的比例增益P,设定PID 的比例增益P 为当前值的60%-70九比例增益P 调试完成。b.确定积分时间常数Ti比例增益P 确定后,设定一个较大的积分时间常数T i 的初值,然后逐渐减小T i,直至系统出现振荡,之后在反过来,逐渐加大T i,直至系统振荡消失。记录此时的T i,设定PID 的积分时间常数T i 为当前值的150%-180%积分时间常数T i 调试完成。c.确定积分时间常数Td积分时间常数Td 一般不用设定,为0 即可。若要设定,与确定P 和T i 的方法相同,取不振荡时的30%。5.5.2 速度控制方案速

32、度控制我们选用了Bang_bang控制与PID 调节相结合的控制方法。Bang_bang控制的思想是反馈值若比设定值小,就把控制值设置为最大,否则设置为最小,用公式表示为:30第五章软件算法设计小 n if (error Q)公式 3U(K)-0)设定阈值为8 0o 当偏差大于8 0 时,采用棒棒控制,当偏差小于8 0 时采用P I D 控制。而P I D 参数要在实际的调试过程中不断的整定,直至调出较优的参数组合。5.5.3方向控制方向控制即伺服电机的控制,我们采用了变参数的P D 算法和参数加权的P I D 算法相结合的控制算法。主要根据不同的赛道状况调用不同的控制策略。我们选择第3 5

33、行作为主要的控制行,把这一行黑线的位置与图像中心位置的差作为偏差进行P I D 控制。另外用第5 0 行和第3 7 行的差即空间上的偏差变化量作为辅助控制量,目的是充分利用摄像头在前瞻方面的优势,提前判断赛道走势。P D 控制式如公式4:P W M D T Y 4 5 =K P *e r r o r +K D 1 *E c l +K D 2 *E c 2 公式 4其中e r r o r 为控制行黑线位置偏离中心位置的值,1 E c 为时间上的偏差变化量,即e r r o r 的变化量,2 E c 为空间上的偏差变化量。变参数主要体现在当识别出赛道为直道或小S 时,选用较小的P D 参数,让小车

34、舵机输出小转角,基本实现沿直线前进。而当为其它赛道类型是则选用较大的P D 参数,实现及时转弯和内切。另外B型车舵机左右不对称的客观因素在调车过程中也是不容忽视的,为此需先算出P W M 输出,判断小车转向左或是右,然后调用不同的P D 参数。参数加权则是两个控制量之间的权重分配。要配合着P D 参数在调车过程中一一起调。31第六章开发工具及调试说明6.1开发工具程序的开发是在组委会提供的C o d e W a r r i o r I D E 下进行的,包括源程序的编写、编译和链接,并最终生成可执行文件。C o d e W a r r i o r f o r S1 2 是面向以H C 1 和S

35、1 2 为C P U 的单片机嵌入式应用开发软件包。包括集成开发环境I D E、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。F r c e n c a l f i C n d c T a r r i r r -l a a i n.clE Z il l i i t Jter Jxoject P m r Expert Device B u tiftljra tjc ft itdo*JJelp*5 省 看 翘/蚤、国后b (d rric r M*6P七.哈工程 Suru”、r ad c1M719_cowt*aK*IJ f i n c l u

36、d e -f n i d e r h|吩 T B D V LJ t i n c l u d e d e r i v a t i v e h/e a r M e m d e f i n e s a n d r t a e r o a */d e r i v a t i v e-s pe c i f i c d e f i n a t i e o i s 兽能n cn o:_ n u)r _ pv r 1 6 5 ,-n n-r o l _ r o:r t 3 5-e m i t:*305 3i z/3 3 3 4 3 5,口 始 V 0F i k;|Link Order|Tartx|b y t

37、e :3二c r c u u c L u m卜0:b y t e h c n M,I .b y t e 二 g:云 i j c w O,/地 国 过 机b y t e j 10 3.b y t =0:i n t n=0.L;t e ;D j-:k x _ 1工=:LO L-52,c h a i r 1-c:_-n-.r 1 R:m t 1 -r -n 7-D)-L,to L J iv iU c._ 1-r_ L=0;L te Lie_eruG _1 lo*j-U .L,te L is eu_i Lau*-0 .h y te b 1 a-k e n g r u n,。:,/也突行 的 标 志:?

38、t-b a t t o r*J y i t o p.Xn,/川,MQ,/比 本 有 效 的 震 迷 的 区 域 刊 国 只 记 戏 什 的c r督b y t e r o e d _卬p e:b y t e t o r p _ r c d _:图 6.1 C o d e W a r r i o r 编程界面利用B D M 和C o d e W a r r i o r I D E 的调试界面,可以进行一系列的调试工作,如黑白线的数字量,路径采集状态,各个寄存器值,程序调试的变量值,能够很好的观察整幅的图像信息,图像中黑线的位置,黑线断开的位置,小车舵机和电机的当前值等,给调试提供了极大的方便。33

39、第六届全国大学生智能汽车邀请赛技术报告6.2串口调试工具通过串口实现单片机与上位机的通信,实时地发送采集到的图像信.息,寻线程序的寻线结果,调试过程中可以直观地看出在哪里出了错误,以及图像的阈值,中心值为调试提供了极大的便利。文 件Q)立 轨)蜩?熊 助IAQ)口Q)瞒 屏 京 录 保 未 注 聊8口,图酮时啊卜 FroecalcSartCat uppor_PC.V-9,vi.S,如 其图 6.2 用 LA B V I E W 编写的上位机调试程序6.3无线调试设置装置在调试过程中,特别是小车速度过快的时候,小车采集的图像和静态采集的图像偏差很大。这就需要用无线模块发送小车跑动时候的动态图像,

40、通过分析图像,完善寻线程序使寻线达到最佳状态。无线模块发送回来的图像,通过自己编写的LA B V I E W上位机实时显示。34第六章开发工具及调试说明图6.3 自己制作的无线模块图6.4 无线模块上位机图像35第六届全国大学生智能汽车邀请赛技术报告无线通讯部分代码:i f (ch e ck_rxc()LED_f l ash();)f o r(i=0;i 4m s刷新发送缓冲区CC250 0 Co m m an d(CCxxxO_SIDLE);/se n d p kt 2*LED2_0 N;se n df ram e (2,ssss);/改送完后进入i dl eLED2_OFF;36第六章开发

41、工具及调试说明de l ayl m s;de l ayl m s;de l ayl m s;de l ayl m s;CC250 0 _Co m m an d(CCxxxO_SFTX);刷新发送缓冲区CC250 0 _Co m m an d(CCxxxO_SIDLE);CC250 0 _Se t RxMo de();de l ayl Om s;50 i s ri g h tde l ayl Om s;50 i s ri g h t */6.4拨码开关速度设置不知道赛道状况,如果赛道状况过于复杂,不利于小车高速运行的话,就要适当降低小车的速度或者改变小车的一些调试参数,这个时候就需要利用拨码开关

42、,给小车设定几个运行状态,以根据实际情况让小车走出最理想的状态。图6.5为拨码开关电路,图6.6为LED指示灯电路。37第六届全国大学生智能汽车邀请赛技术报告图6.5图6.66.5智能车整体调试智能车整体调整包括:舵机调试、电机调试以及稳定性调试。舵机调试:首先在程序里不断的修改舵机的控制量,确定舵机左转和右转极限的PWM值,记下该值为程序里设定左转和右转的极限值。然后用小段跑道来测试舵机的转向,用不同的跑道段来测试模型车的转向是否符合要求,直道时候要保证模型车基本沿直线走并且有回正的趋势;小“S”道时候,模型车给出的转角应该足够的小,甚至保持直线行驶;大“S”时候转角应该近似为圆弧弦的角度,

43、最好在两个轮胎都不出黑线的情况下切内弯,而在弯道时候舵机转角要转最大。电机调试:在满足稳定性的前提下,根据不同赛道给定不同的PWM值,使电机在直道和小“S”时速度最大,大“S”时适当的降低速度,转弯前能及时刹车,保证不冲出赛38第六章开发工具及调试说明稳定性调试:根据赛道不同的形状进行调试,进 行 PWM及PID参数整定,使小车能在赛道上稳定地运行,并且正确的识别不同的赛道。39第七章总结从报名参加学校举行的智能车选拔考试,到如今成功参赛,不觉已过去八个月了。在这八个月中,从当初只是对智能车感兴趣,到现在成功设计制造出自己的智能小车,我们经历了很多,学会了很多。还记得当初第一次看到车模式时的兴

44、奋,还记得第一次向开发板里面下载程序并正常运行后的喜悦,还记得第一次采集到图像那天晚上的喜悦心情,还记得用万用板搭出基本电路后的满足,还记得我们为智能车的第一次通宵,还记得,青春岁月里我们大家一起走过了这一程,有太多的记忆值得珍惜。经过大家八个月的努力,我们的小车基本上达到了最初的设计目标,能够稳定、快速的实现寻线行进。然而,小车仍然存在很大的提升空间,很多地方需要改进。比如舵机的变参数P ID调节,在赛道特征转变,特别是弯道与小S和直道之间转变时,参数突变容易导致舵机输出突变,使小车不稳定。通过改变控制点有了一点改善,然而还没有彻底解决问题。另外,小S和起跑线识别不是很准确。第八章鸣谢首先要

45、感谢飞思卡尔公司给我们提供的这么好的锻炼机会。另外,在我们在调试过程中经常遇到困难,在遇到困难的时候我们的老师、同学总是会给予最热心、最及时的帮助,在此我们要表达我们最衷心的感谢!同时,要感谢学校提供的实验室场地,以及在人力、物力、财力等方面的大力支持。特别要感谢马淑华、顾德英、吕江涛等老师的正确领导和不懈的技术支持!43参考文献1 王少锋 竞赛用智能汽车的研究与实现【J】兰州理工大学硕士学位论文2 0 0 8.42 吴怀宇程磊章政.大学生智能汽车设计基础与实践【M】北京:电子工业出版社,2 0 0 83 卓晴,黄开胜,邵贝贝.学做智能车【M】.北京:北京航空航天大学出版社,2 0 0 74

46、顾 德 英 罗 云 林 马 淑 华 计 算 机 控 制 技 术【M】北京:北京邮电大学出版社,2 0 0 75 伊永峰,杨勇,张 立 勋 T D 3 4 0 芯片在直流调速系统中的应用【J】.国外电子元器件,2 0 0 4.9【6】孙同景.F r e e s c al e 9 S 1 2 十六位单片机原理及嵌入式开发技术【M】北京:机械工业出版社,2 0 0 87 陈宋李立国黄开胜.智能模型车底盘浅析【J.电子产品世界,2 0 0 6,6:1 5 0-1 5 281石辛民,郝整清.模糊控制及其M AT L AB 仿真.北京:清华大学出版社,北京交通大学出版社,2 0 0 8.9 王耀南,孙炜等

47、.智能控制理论及其应用.【M】北京:机械工业出版社,2 0 0 8.10 姚群,夏清国,高德远.基于反馈控制理论的模糊控制数学模型.【J】1 0 0 9 -3 5 1 6(2 0 0 1)0 6 -0 0 3 0 -0 411 张涛,蒋静坪,薛鹏骞.模糊控制在位置随动系统中的应用研究.【J】1 0 0 7 -1 4 4 X(2 0 0 7)1 0-0 0 2 4 -0 4.12 张国亚,钱新恩,程耕国,李峰波,基于模糊控制的智能车转向控制仿真研究.【J】1 0 0 8-5 4 8 3(2 0 0 8)0 1-0 0 2 6-0 3.13 程志江,李剑波.基于模糊控制的智能小车控制系统开发.【J

48、】1 0 0 1 -9 0 8 1 (20 0 8)S 2-0 35 0 -0 4 14 罗文广,孔峰.基于模糊控制的直流无刷电机调整系统【J】.电子产品世界,20 0 1(1):34236.15 程启明,黄林.船舶操纵的自整定P I D 参数模糊控制器设计【J.船舶工程,1 9 9 7(4):45 247.16 谭浩强.C程序设计【M .北京:清华大学出版社,20 0 5附录附录A系统原理图=j附录B源程序S include /*co mmo n defines and macro s*/S include derivative.h /*derivative-specific definit

49、io ns*/S define ro w 5 8#define co lum 1 0 4#define first_black_num 30#define centre_pwm 1 6 5 5ttdefine centrelo catio n 5 3S define co ntro l_po int 35byte imagero wco lum=0;byte hang_flag=0;byte co llect_hang=0;速度控制byte j=1 0 3;byte i=0;int n=0;byte reco rder lo catio n=5 2;char slo pel_cnt,slo p

50、e2_cnt;int lo catio nro w=0;byte firstblack_flag=l;搜第一行的标志byte invalid_c_first=0;无效场的标志byte lie_end_flag=0;行终止的标志byte lie_end_hang=0;byte black_hang_num=O;HIstruct valid_cbyte bo tto m;byte to p;valid_chang=0,(ro w-l);记录有效的黑线的区域范围只记录行的位置byte ro ad_type;byte temp ro adtype;byte last_ro ad_type=l;int

51、slo pero w-4;int slo pelro w-41;byte cnt_slo pel=0;/*1 为直道2为小s 3 为弯道4 为直入弯5为大斜率直道6为起跑线*/byte flag start=0;起跑线识别byte start_num=0;byte s_flag=0;wo rd data_speedl;wo rd data speed2;int cal_speed;struct e_speedint speed_erro r;int speed_ei;int speed_ed;int e_last;velo city=0,0,0,0;int expect_speed=20 0;

52、IVint expect_zhi=350;/int expect_xiaos=0;int expect_wan=230;struct pidbyte kp;byte ki;char kd;byte kdl;angle,speed=18,1,10,0);byte thresholdrow=0;byte sci_flag=0;/*initializevoid pllinitialize(void)PLLCTL_PLLON=1;SYNR=0XCE;REFDV=3;总线频率为60MHzwhile(!(CRGFLG&0X08);CLKSEL=0 x80;)/*sci initialize*/波特率为57

53、600,接收中断使能void sciinitialize(void)vS C IOC R 1 _M=O;S C I0 C R 2_R E=l;S C I0 C R 2_T E=l;S C IOBD H=O;S C I0 BD L=31 25/48;/6 0 MH Z 5 7 6 0 0/S C I0 BD L=31 25/1 6;/1 9 20 0S C I0 C R 2_R IE=l;)vo id io initializ e(vo id)D D R M=0 X F F;D D R J=0 X F F;P T M=0 X F F;P T J=0 X F F;D D R A=0;P U C R

54、 _P U P AE=1;)vo id adinitializ e()(AT D 0 C T L 0=1 5;AT D OC T L 1=1 5;AT D 0 C T L 2_AF F C =1;转换完成快速清除/AT D 0 C T L 2_AS C IE =1 ;单独转换完成中断开启AT D 0 C T L 3_D J M=1 ;转换结果右对齐AT D 0 C T L 3_S 8 C =0;AT D 0 C T L 3_S 4C =0;AT D 0 C T L 3_S 2C =0;VIAT D OC T L 3_S 1 C =1;转换序列长度为1AT D 0 C T L 4_S MP =0

55、 ;/采样时间为4 个A D 周期AT D 0 C T L 4_P R S =1 ;/AT D clo ck=8 0/(1+1)*2=20 MH ZAT D 0 C T L 5 =0 x27;连续转换,选择0 7 通道AT D 0 D IE N L =0 x0 0 ;引脚数字输入禁止/E nableInterrupts;vo id timinitializ e(vo id)T IOS=0;T S C R 2=3;频率为7.5 MT S C R 1 _T E N=1;T C T L 3=0 x9 0;T C T L 4=0 x0 2;/pt0 捕捉上升沿T F L G 1=OX C 1;T IE

56、 _C 6 I=1;)/*pwm initializ e*/vo id pwminitializ e_rudder(vo id)P W MC T L _C 0 N 45 =1 ;连接成 1 6 位P W MC L K _P C L K 5 =1;/S AP W MP R C L K =1;/A,B 时钟一级分频系数为 2,6 0 M/2=30 MP W MS C L A=1 5;分频之后为3OM/3O=1 MvnP W MP 0 L _P P 0 L 5 =1;高电平P W MC AE _C AE 5 =0;左对齐方式P W MP E R 45 =20 0 0 0;设定P W M 信号频率为(

57、1 M/2OOOO)=5 OH ZP W MD T Y 45 =1 6 5 5;P W ME _P W ME 5 =1 ;)vo id pwminitializ e_engine(vo id)P W ME _P W ME 2=0;P W ME _P W ME 3=0 ;P W MC L K _P C L K 2=l;/2 3P W MC L K _P C L K 3=1;P W MP R C L K=1;P W MS C L B=1 5;P W MP OL _P P OL 2=1;P W MP 0 L _P P 0 L 3=l;P W MC AE _C AE 3=1;P W MC AE _C

58、AE 2=1;P W MP E R 2=1 0 0;P W MP E R 3=1 0 0;P W MD T Y 2=0;P W MD T Y 3=0;P W ME _P W ME 2=1;P W ME _P W ME 3=1;VIII/*vo id pwminitializ e_engine(vo id)P W ME _P W ME 0=0;P W ME _P W ME 1=O;P W MC L K _P C L K 0=l;/2 3P W MC L K _P C L K 1=1;P W MP R C L K=1;P W MS C L B=1 5;P W MP OL _P P OL O=1;P

59、 W MP OL _P P OL 1=1 ;P W MC AE _C AE 1=1;P W MC AE _C AE O=1;P W MP E R 0=1 0 0;P W MP E R l=1 0 0;P W MD T Y 0=0;P W MD T Y 1=O;P W ME _P W ME O=1;P W ME _P W ME 1=1;*/*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*4*/1x*j*y*j*y*j*!*y*j*p*j*T*T*T*T*T*T*T*T*7*T*7*T*T*T*T*T*T*T*T*T*T*P*T*T*T*T*T*T*T*/vo id

60、send image(vo id)IXbyte s_i,s_ j;for(s_i=O;s_irow;s_i+)for(s_j=O;s_jcolum;s_j+)/if(images_is_j=123)images_iEs_j=O;/else images_is_j=255;while(!SCIOSR1_TDRE);SCI0DRH=0;SCIODRL=images is_ j;void send_location(void)byte s_ i;for(s_i=0;s_irow;s_i+)while(!SCIOSR1_TDRE);SCI0DRH=0;SCIODRL=locations_i;)void

61、 send_threshold(void)byte s_ i;xfo r(s_i=O;s_i ro w;s_i+)while(!S C IOS R 1 _T D R E);S C I0 D R H=0;S C IOD R L=thresho lds_i;)/*thresho ldvo id calthresho ld(byte c hang)int min,max;int C-thresho ld=O;byte c_i;min=imagec J iang0;max=imagec_ hang0;fo r(c_i=l;c_i co lum;c_i+)if(max imagec_hangc_i&im

62、agec_hangc_i 7 0)min=imagec_hangc_i;)c_thresho ld=(max+min)/2-(max-min)/30;thresho ldc J iang=(byte)c_thresho ld;XIvoid cal_threshold2(byte c_hang)int ave=0;byte c_n=0,c_i;for(c_i=0;c_i50)ave+=imagec_hangc_i;c_n+;)ave=ave/c_n-4;thresholdc_hang=(byte)ave;void cal_threshold3(byte c_hang)int maxl=80,ma

63、x2=80,minl=255,min2=255;byte c_i;for(c_i=0;c_icolum;c_i+)if(imagec_hangc_i150)continue;if(imagec_hangEc_imaxl)max2=maxl;max1=imagec_hangc_i;else if(imagec_hangc_imax2)XIImax2=imagec_hangc_i;else if(imagec_hangc_iminl)min2=minl;minl=imagec_hangc_i;else if(imagec_hangc_imin2)min2=imagec_hangc_i;)thres

64、holdc_hang=(byte)(max2+min2)/2(byte)(8*(max2-min2)/100);void cal_thresholdl(void)byte c_i;c_i=0;cal_threshold2(0);cal_threshold2(5);cal_threshold2(10);threshold0=(threshold0+threshold5+threshold10)/3;for(c_i=l;c_i15;c_i+)thresholdc_i=threshold0;)cal_threshold2(15);cal_threshold2(20);cal _threshold2(

65、25);xnithresho ld1 5=(thresho ld1 5+thresho ld20+thresho ld25)/3;fo r(c_i=1 6;c_i 35;c_i+)thresho ldc_i=thresho ld1 5;)cal_thresho ld2(c_i);thresho ld35+=1;fo r(c_i=36;c_i 44;c_i+)thresho ldc_i=thresho ld35;)fo r(;c_i ro w;c_i+)if(c_i%2=0)cal_thresho ld2(c_i);thresho ldc_i二thresho ldc_i+2;thresho ld

66、c_i+l=thresho ldc_i;)/*b inaryvo id binary(vo id)byte b_i,b_j;fo r(b_i=0;b_i ro w;b_i+)fo r(b_j=0;b_j co lum;b_j+)XIVif(imageb_ib_j reco rder_lo catio n)f_left=0;else f_left=reco rder_lo catio n-first_black_num;if(first_black_num+reco rder_lo catio n co lum)f_right=co lum;else f_right=reco rder_lo catio n+first_black_num;fo r(;f_left f_right-l;f_left+)if(imagef_hangf_left thresho ldf_hang)|(imagef_hangf_left+1 =thresho ldf_hang&(f_left+l)=1 0 3)if(f_lo cal 4&f_lo cal=2)firstblack_flag=l;)vo id g

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!