摄像头南京师范大学先驱者技术报告.docx
《摄像头南京师范大学先驱者技术报告.docx》由会员分享,可在线阅读,更多相关《摄像头南京师范大学先驱者技术报告.docx(60页珍藏版)》请在冰豆网上搜索。
摄像头南京师范大学先驱者技术报告
第五届“飞思卡尔”杯全国大学生
智能汽车竞赛
技术报告
附件B基于摇头摄像头的图像处理算法研究
学校:
南京师范大学
队伍名称:
先驱者
参赛队员:
刘逸然
张程
李昊燃
带队教师:
沈世斌
关于技术报告和研究论文使用授权的说明
本人完全了解第四届“飞思卡尔”杯全国大学生智能汽车邀请赛关保留、使用技术报告和研究论文的规定,即:
参赛作品著作权归参赛者本人,比赛组委会和飞思卡尔半导体公司可以在相关主页上收录并公开参赛作品的设计方案、技术报告以及参赛模型车的视频、图像资料,并将相关内容编纂收录在组委会出版论文集中。
参赛队员签名:
刘逸然
张程
李昊燃
带队教师签名:
沈世斌
日期:
2010-08-14
摘要
本文以第五届全国大学生智能车竞赛为背景,利用Freescale半导体公司生产的16位单片机HCS12和摄像头的配合来实现自动识别道路,让赛车可以在特定的跑道上行驶。
通过摄像头的成像原理,把它采集的数据通过电子线路传送到单片机,在单片机内计算出赛车面对的道路,选择最优行进路线,并采用优化后的模糊控制策略使赛车能够快速安全的行驶。
此系统是一个软硬件与机械相结合的复杂整体,其中硬件主要包括电源管理模块、电机驱动模块,速度测量模块、辅助调试模块、图像采集处理模块、舵机控制模块和单片机模块等;软件需要解决单片机初始化程序、速度测量程序、速度设定程序、速度控制程序、舵机控制程序、图像识别程序等方面的内容,另外,本届比赛对机械的改进和创新也成为提高速度必不可少的组成部分。
关键词:
Freescale、单片机、摄像头、机械设计
Abstract
Inthebackgroundofthe5thNationalIntelligentCarContestforCollegeStudents,usingthe16-bitMCUHCS12producedbyFreescaleSemiconductorCompanyandthecameratoidentifytheroadautomatically,sothatcarscanrunfastsafelyonthespecificrunway.Throughthecamera'simagingprinciple,wehavethecollecteddatatransmittedtothesingle-chipthroughtheelectroniccircuit.Inthesingle-chip,thecarcanknowtheroadinfrontofitthroughtheprogramthatwedesign.Andthenitcanchooseitsownpath,decidethespeedandensuresafedriving.Thesystemisacomplicatedcombinationofhardware,softwareandthemechanismstructureadjustment,Thehardwarecircuitincludetheproblemaboutthepowermanagementmodule,motordrivermodule,thespeedofmeasurementmodule,auxiliarydebuggingmodule,imageacquisitionandprocessingmodule,steeringcontrolmodulesandsingle-chipmodule.AndAboutthesoftwareside,weneedtoaddressthesingle-chipinitializationprograms,thespeedofmeasurementprograms,thespeedset-upprograms,speedcontrolprograms,steeringcontrolprograms,recognitionofimageandsoon,besidesimprovingandinnovatingofthemechanismstructureadjustmentwillbeoneofthemostimportantthingtoimprovespeedinthiscontest.
Keywords:
Freescale,Single-chip,Camera,Machinedesign
第一章引言······················································································1
1.1背景介绍··················································································1
1.2赛车总体介绍···········································································1
1.2.1智能车技术参数······································································1
1.2.2智能车硬件电路······································································2
1.2.3智能车软件控制······································································3
1.3本章小结·················································································5
第二章赛车机械结构介绍和改进···················································6
2.1驱动选择·················································································6
2.2前轮调整·················································································7
2.2.1前轮调整··············································································7
2.2.2舵机安装··············································································9
2.3后轮调整·················································································9
2.4其他调整·················································································10
2.4.1前轮调整··············································································10
2.4.2其他调整··············································································10
2.5本章小结·················································································10
第三章硬件设计·············································································12
3.1电源模块················································································12
3.2摄像头与高速AD模块·······························································13
3.2.1摄像头模块···········································································13
3.2.2高速AD模块········································································17
3.3电机驱动模块··········································································21
3.4通信与调参模块·······································································23
3.4.1通信模块··············································································23
3.4.2调参模块··············································································24
3.5速度测量模块··········································································25
3.6本章小结················································································26
第四章软件设计············································································27
4.1单片机简介············································································27
4.2系统软件方框图·······································································28
4.3系统初始化·············································································29
4.3.1总线时钟初始化····································································29
4.3.2摄像头初始化·······································································29
4.3.3PWM模块初始化··································································30
4.3.4I/O模块初始化·····································································31
4.3.5SCI模块初始化····································································32
4.3.6ECT模块初始化···································································33
4.3.7高速AD模块初始化······························································33
4.3.8串口初始化·········································································34
4.3.9参数设置模块始化·································································34
4.4视频采集与黑线提取································································35
4.4.1视频采集············································································35
4.4.2黑线提取············································································36
4.5舵机控制················································································37
4.6测速和速度控制······································································40
4.7速度的PID控制······································································41
4.8本章小结················································································44
第五章总结与展望·········································································45
参考文献·······················································································
附录A:
程序源代码······································································
附录B:
基于摇头摄像头的图像处理算法研究··························
第一章引言
1.1背景介绍
现在半导体在汽车中的应用原来越普及,汽车的电子化已成为行业发展的必然趋势。
受教育部高等教育司委托(教高司函[2005]201号文),高等学校自动化专业教学指导分委员会主办“飞思卡尔”杯全国大学生智能汽车竞赛,他以迅猛发展的汽车电子为背景,涵盖了控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科交叉的科技创意性比赛。
参赛选手须使用竞赛秘书处统一指定并负责采购竞赛车模,自行采用16位微控制器作为核心控制单元,自主构思控制方案及系统设计,包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等,完成智能汽车工程制作及调试,于指定日期与地点参加场地比赛。
参赛队伍之名次(成绩)由赛车现场成功完成赛道比赛时间为主,技术方案及制作工程质量评分为辅来决定。
我们学校已经参加了两届“飞思卡尔”杯智能汽车比赛,也取得了一定的成绩。
在总结了往届的经验和不足后,我们在此基础上重新备战第五届大赛。
往界的经验是以‘稳’为主,我们在此基础上,大胆尝试,稳中求快,在电路设计上务求稳定,问题早发现早解决。
在已经成熟的技术上做的更加完善和稳定,并对车模的机械结构做出相应的改进与创新,使赛车在稳定的前提下能够更快的完成比赛。
1.2赛车总体介绍
1.2.1智能车技术参数
此次比赛选用的B型赛车车模采用1/16的仿真越野车模。
赛车本身是四轮驱动,而机械结构也比A型车模更加复杂,四驱车优点明显,对于跑到的适应性高,而且稳定易于控制,但前后差速的调整较为繁琐复杂,一旦调整不平衡,就会出现滑尺、打尺等现象,使车子性能下降,无法正常运动,因此,我们的赛车选用后轮驱动方案,前轮只用于转向控制,这样只需要将后轮差速调整好就可以了,具体车模数据如表1.1:
表1.1赛车主要技术参数
项目
参数
路径检测方法(赛题组)
摄像头组
车模几何尺寸(长、宽、高)(毫米)
310mm/160mm/190mm
车模轴距/轮距(毫米)
179mm/159mm
车模平均电流(匀速行驶)(毫安)
2100mA
电路电容总量(微法)
1600μF
传感器种类及个数
摄像头/1速度传感器/1
新增加伺服电机个数
1
赛道信息检测空间精度(毫米)
3mm(近端)、120mm(远端)
赛道信息检测频率(次/秒)
30
主要集成电路种类/数量
LM1117/3ov7620/1
LM2576LM393
MAX232/1tlc5510
车模重量(带有电池)(千克)
1.2
1.2.2智能车硬件电路
我们团队采用摄像头进行道路识别,赛车的硬件电路主要有七个部分组成:
MC9S12XS80最小系统板,图像采样处理模块,速度检测电路,电机驱动电路,舵机驱动模块,电源管理模块,辅助调试模块。
(1)MC9S12XS80最小系统板是系统的核心部分,负责接收赛道图像数据,赛车速度等反馈信息,并对这些信息进行恰当的处理,形成合适的控制量来对舵机与驱动电机进行控制。
(2)图像采样处理模块由高速AD及摄像头组成,是智能小车的“视觉系统”,用于获得前方道路情况以供单片机处理。
(3)速度检测电路旋转编码器,高速比较器以及S12的ECT脉冲捕捉功能构成,实现道路的闭环控制。
(4)电机驱动电路使用专用MOS管搭建的全桥驱动,可以实现电机的正反转。
(5)舵机驱动模块控制舵机的转向。
(6)电源管理模块给整个系统供电,保障系统安全稳定运行。
(7)辅助调试模块有BDM、串行通信、SDcard等,主要用于赛车系统的程序烧写,功能调试和测试,赛车状态监控,赛车系统参数和运行策略设置等方面。
本赛车系统的结构示意图1.2
图像采集处理
舵机驱动模块
辅助调试模块
速度检测电路
电机驱动电路
MCU
图1.2系统的结构示意图
1.2.1智能车软件控制
系统硬件对于赛车来说是最基础的部分,软件算法则是赛车的核心部分。
如果把一辆车和一个人做个类比的话,我们可以说,赛车的硬件结构相当于人的身体;赛车的软件算法相当于人的思想。
只有“身体健康,思想进步”,才会取得好成绩。
所以软件系统对于赛车来说至关重要。
首先,赛车系统通过图像采样处理模块获取前方赛道的图像数据,同时通过速度传感器模块实时获取赛车的速度。
然后S12利用边缘检测方法从图像数据中提取赛道黑线,求得赛车于黑线位置的偏差,接着采用PID方法对舵机进行反馈控制,并在PID算法的基础上,整合加入模糊控制算法,有利于对小车系统的非线性特性因素的控制。
最终赛车根据检测到的速度,结合我们的速度控制策略,对赛车速度不断进行恰当的控制调整,使赛车在符合比赛规则情况下沿赛道快速前进。
设计赛车系统的软件结构如图1.3所示。
单片机初始化
摄像头场中断
摄像头行中断
图像采集(get_single_line_AD)
测速(get_speed)
速度PID控制(speed_ctrl)
图像处理(image_process)
黑线处理(wire_process)
传送图像(transmit_image)
设定速度(speed_set)
跟随线设定(follow_line)
舵机控制(steer_ctrl)
传送图像?
N
Y
图1.3系统的软件方框图
1.3本章小结
本章主要介绍了大赛的想换背景和赛车整体结构设计的概述,硬件,软件和机械部分的有效融合是赛车能否跑出好成绩的关键因素。
赛车采用组委会统一提供的车模,由控制处理芯片MC9S12XS80,图像采样模块,速度传感模块,舵机驱动模块,电机驱动模块和辅助调试模块组成,通过图像采集、黑线提取、速度控制等环节使赛车在规则下沿赛道快速前进。
第二章赛车机械结构介绍和改进
本届比赛使用的B型车模是一款仿真四轮驱动车模,因此在原有车模基本调整(如前后轮调整,重心调整,传动调整等)的基础上,要想使车能够更快的行驶就必须对其本身的各种结构进行必要的改进和优化,尤其是各部分的差速的调整,更成为车模机械好坏的重要部分。
2.1驱动选择
四驱车运行稳定,加减速明显,易于控制,而且适应性很强,是开始我们的首选。
(如图2.1)
图2.1原装车模整体图
可是随着车子的正常调试,发现车模的前后差速阻力不同,一旦出现明显的加减速就会剧烈的噪音,如果再跑的话就会发现车模根本很难加减速了,把差速器打开后发现,齿轮已经磨秃了,根本无法传动。
(如图2.2)
图2.2右边尺部分已经打光
在得知可以改成两轮驱动后,我们便尝试开始使用两轮驱动,因为此车模的前轮保护很到位,因此,最开始我们选用的是前轮驱动,刚开始明显好了很多,转弯也更流畅了,可后来中间差速中与电机连接的部分又开始打尺,因前轮结构较为复杂,电机调整困难,故又改成后轮驱动,打尺现象有了明显的好转,故最终选择后轮驱动。
2.2前轮调整
2.2.1前轮调整
轮定位包括主销后倾角、主销内倾角、前轮外倾角和前轮前束四个内容。
车轮定位的作用是使汽车保持稳定的直线行驶和转向轻便,并减少汽车在行驶中轮胎和转向机件的磨损。
如图2.3
图2.3前轮定位原理图
(1)从车前后方向看轮胎时,主销轴向车身内侧倾斜,该角度称为主销内倾角。
当车轮以主销为中心回转时,车轮的最低点将陷入路面以下,但实际上车轮下边缘不可能陷入路面以下,而是将转向车轮连同整个汽车前部向上抬起一个相应的高度,这样汽车本身的重力有使转向车轮回复到原来中间位置的因而舵机复位容易。
此外,主销内倾角还使得主销轴线与路面交点到车轮中心平面与地面交线的距离减小,从而减小转向时舵机的拉力,使转向操纵轻便,同时也可减少从转向轮传到舵机上的冲击力。
但主销内倾角也不宜过大,否则加速了轮胎的磨损。
(2)从侧面看车轮,转向主销(车轮转向时的旋转中心)向后倾倒,称为主销后倾角。
设置主销后倾角后,主销中心线的接地点与车轮中心的地面投影点之间产生距离(称作主销纵倾移距,与自