智能 循迹小车详细制作过程.docx
《智能 循迹小车详细制作过程.docx》由会员分享,可在线阅读,更多相关《智能 循迹小车详细制作过程.docx(42页珍藏版)》请在冰豆网上搜索。
![智能 循迹小车详细制作过程.docx](https://file1.bdocx.com/fileroot1/2023-1/28/ab6ed336-93ef-4014-bb1b-2f9e7678cc6e/ab6ed336-93ef-4014-bb1b-2f9e7678cc6e1.gif)
智能循迹小车详细制作过程
第二届“飞思卡尔”杯全国大学生智能汽车邀请赛
技术报告
第一章引言..............................................................................................1
1.1智能车制作概述........................................................................1
1.2参考文献综述............................................................................1
1.3技术报告内容与结构................................................................1
第二章设计方案概述............................................................................3
2.1总体设计....................................................................................3
2.2具体方案....................................................................................3
2.2.1道路识别模块..................................................................3
2.2.2速度检测模块..................................................................4
第三章模型车整体设计........................................................................5
3.1机械部分的调整........................................................................5
3.2传感器设计与安装....................................................................5
3.2.1光电管安装:
..................................................................5
3.2.2摄像头安装:
..................................................................6
3.2.3测速装置..........................................................................7
第四章硬件电路设计............................................................................9
4.1整体介绍....................................................................................9
4.2各模块电路介绍.....................................................................10
第五章控制算法实现.........................................................................15
5.1总体软件设计.........................................................................15
5.2路径识别算法.........................................................................16
5.2.2基于光电管的模糊控制算法.......................................16
5.2.2基于CMOS的算法...........................................................18
5.2.3两者的结合...................................................................20
5.3速度控制算法.........................................................................20
第六章调试及主要问题解决.............................................................23
6.1调试工具.................................................................................23
6.2调试过程.................................................................................24
6.3主要技术参数说明.................................................................25第七章结论..........................................................................................27附录A参考书目.......................................................................................I
附录B部分程序......................................................................................II
第一章引言
1.1智能车制作概述
本队在小车制作过程中,先对比赛内容,要求与规则进行了详细分析,然后按照要求制订了几种设计方案,并对几种方案进行比较敲定最后方案。
根据方案完成小车的总体设计和详细设计(包括底层硬件设计和总体软件设计),在完成了车模组装和改造后,完成了各个模块的硬件电路设计与安装,并进行了控制算法的设计和软件实现,最后进行了整车的调试和优化。
1.2参考文献综述
方案设计过程中参考了一些相关文献,如参考文献所列。
例如文献1与2单片机嵌入式系统在线开发方法。
文献3与4是计算机控制技术,参考了其中PID控制策略。
文献5到8是介绍了微处理器MC9S12DG128芯片。
文献9到
11介绍了CCD图像传感器的应用和一些数据处理方法,等等。
1.3技术报告内容与结构
本文的主要内容框架如下:
第一章:
引言。
大概介绍了智能车的制作过程,参考文献说明和内容框架。
第二章:
设计方案概述。
介绍了各种方案,以及选择该方案的原因。
第三章:
模型车机械调整。
介绍了小车机械结构的调整和传感器的安装步
骤。
第四章:
硬件电路设计。
这部分是小车的硬件实现,主要给出了小车的总体结构与各个模块的硬件电路设计。
第五章:
控制算法实现。
本章详细介绍了各个方案采用的算法。
第六章:
调试及模型车技术参数。
介绍了调试使用的工具与具体调试过程,最后给出了整车的技术参数。
第七章:
总结。
对整个模型车制作过程的总结,指出试验中发现的问题和进一步改进的方向。
第二章设计方案概述
2.1总体设计
由于赛道整体布局未知,因此先保证小车在各种不同环境下能够稳定运行,再进行速度的提升。
故稳定性是设计中首要解决的问题。
常用的寻线方法主要有光电寻线和摄像头寻线,共有三种路径识别策略。
一、光电寻线:
由多对红外收发管组成,通过检测接收到的反射光强判断赛道
中心黑道位置。
优点:
电路设计简单,信息处理方便。
缺点:
一对收发管只能检测一个点的信息,精度有限,前瞻距离远小。
过
弯减速剧烈,难以提高整体的运行速度。
二、摄像头寻线:
图像采集,动态拾取路径信息。
优点:
信息量大,前瞻,能耗低的优点,能提前判弯减速。
缺点:
受到的干扰较多,转弯时数据易丢失,处理相对复杂。
三、光电管与摄像头结合寻线:
兼顾了光电寻线的抗干扰能力强和摄像头寻线前瞻性远、信息量大的特点。
难点:
光电管与摄像头之间的配合,两者切换的条件。
2.2具体方案
2.2.1道路识别模块
使用了CMOS摄像头和单排七对红外发射接受二极管。
根据比赛环境的不同
可灵活选择各个方案。
在光电管与摄像头结合寻线模式里,使用光电管检测的信息作为整幅图像处理的第一行,在采集的图像干扰过多或信息量过少时切换到光电管循线的模式。
2.2.2速度检测模块
速度传感器由一对光电管和贴在驱动电机齿轮上的纸质圆盘组成,即采用的是反射式光电传感器。
反射式光电传感器的光源有多种,我们选择的是较为经济的红外发光二极管。
第三章模型车整体设计
3.1机械部分的调整
硬件部分的合理安装是模型车能良好发挥的前提条件,这里主要介绍实际中的几点经验。
首先是舵机的安装,要想使前轮及时地反映舵机的控制,应尽量避免舵机不动、轮子能转动的情况,具体做法是使舵机输出连接件之间配合紧密,减少缝隙。
前轮外倾角和前轮前束之间有一定的配合,前轮前束大,转向不利,电机的负荷也变大。
3.2传感器设计与安装
3.2.1光电管安装:
基于时间上和调试的考虑,设计使用了7对红外发射和接收光电管采取“一”字形排列的方式,相邻两光电管间隔20mm。
为便于接收管接收路面反射回的红外光,安装时使发射管和接收管互相有一个倾角。
通过给接收管加上一定长度的黑色套管减少相邻红外光的干扰,制作的光电管如图示:
图4.1光电管
为提高光电管的前瞻性,安装时将其抬高置于小车前方并给30度的前倾角,综合抗干扰的因素,确定使发光管距地最大不超7cm。
当采用光电管与摄像头结合策略时光电管采集的信息作为图像的第一条线,此时光电管应出现在摄像头的视野中,经试验最终确定安装离地高度6.5cm。
调试时观察不同接收管在黑线由远及近时的电压变化情况,确定各管的比较电压的值,配合调整黑管长度,使得检测的数据能灵活反映黑线位置变化。
最后使光电管同处于一片白色的赛道上,将小车水平抬起到一定高度时,看到所有接收管几乎在同一时刻检测到“黑”的状态,放下时又几乎在同一时刻检测到全“白”的状态,此时大致调试完成,可以放到赛道上试跑。
3.2.2摄像头安装:
摄像头有两种,CCD摄像头和CMOS摄像头。
CMOS摄像头采集的图像信息虽没有CCD摄像头优越,但使用电压低,功耗少,故本设计采用CMOS摄像头的方式。
摄像头的安装较为复杂,要调整好各个方面。
CMOS摄像头的安装主要包括高度调整,倾角调整。
A)高度调整提高摄像头的高度,可以在不改变倾角的条件下增大摄像头可视范围,但
是,随着摄像头高度的提升,小车的重心会不断上移,不利于保持车身的稳定
性。
在小车高速过弯时,过高的重心可能产生明显的侧滑现象,甚至翻车。
因
此,在保证车身稳定性的前提下,尽可能的增加摄像头的可视范围是摄像头高度调整的目标。
B)倾角调整倾角的大小主要关系到摄像头对前方路径的前探量。
倾角越大,摄像头的
前瞻性也就越强,这对于高速行驶的小车有利。
但是倾角过大造成外界强光射入摄像头,增加了摄像头“失明”的风险,这就对抗干扰的算法提出了更高的要求。
所以,在保证摄像头正常工作的前提下,适当增加倾角,对提高小车的行驶效果有利。
综合以上分析,并通过不断的试验调整,最终我们的摄像头安装调试如下:
摄像头高度:
36cm
摄像头倾角:
40度
40度
37cm
36cm
图4.2实际制作的小车
3.2.3测速装置
主要有两种简易的测速方案:
透射光栅式和光电管对管反射式。
反射式传感器制作简单,只需手工用圆规和直尺画一个反射板,焊接简单的电压比较电
路即可,且效果也能很好的满足要求,因此选用光电管反射传感器。
传感器
反射板
图4.3传感器
第四章硬件电路设计
4.1整体介绍
智能赛车控制系统采用模块化设计,系统主要由电源模块、电机及其驱动模块、舵机模块、测速模块、道路识别模块、调试模块和MC9S12单片机模块几
大部分构成。
智能赛车整体装置结构设计框图如下:
电源模块
道路识
舵机控制信号
别模块舵机
MC9S12单片机
(信号处理和控制算法实现)
调试模块
车速信号
速度检测
PWM驱动信号
后轮转动
电机驱动模块
电机
图4.1智能车整体结构图
智能车控制系统根据各部件的正常工作的需要,对配发的标准车模用7.2V、
1.8A/h的可充电Ni-Cd电源。
其中单片机系统,路径识别的光电传感器和速度检测电路需要5V电源供电,舵机使用6V,直流电机直接由电池供电。
考虑到启动和运行时产生的电压下降的现象,我们选用低压差稳压芯片
LM2940,它可以在500mA时稳压,最小压差仅为0.6V。
舵机电源使用可调变压器NPC565。
系统整个供电如图4.2所示:
驱动电机
NCP565舵机
7.2v镍镉电池
单片机
LM2940
摄像头或
光电管
图4.2智能车电源分配图
4.2各模块电路介绍
速度检测电路
系统提供6V和5V两个直流电源,分别采用低压差稳压芯片LM2940和
NCP565提供,电路图如下所示:
图4.3直流电源6V和5V的稳压电路
直流电机的控制一般由单片机的PWM信号来完成,驱动芯片我们采用飞思卡尔半导体公司的H桥驱动芯片MC33887。
图4.4电机驱动电路
图4.5同步信号分离电路
统一提供的MCU板的引脚分配如下:
调试模块的拨码开关电路:
图4.6插座电路
图4.7速度角度控制接口和开关接口
相应光电检测速模块电路图:
图4.8测速电路
第五章控制算法实现
5.1总体软件设计
智能小车的控制是采用模块化的结构,基本思路是:
将方向传感器采集来的道路信息和速度传感器采集来的当前速度值经CPU处理,输出PWM信号到驱动舵机和电机。
方向控制和速度控制系统分别构成两个闭环系统。
在综合控制算法中,两者可相互影响;比如根据路径识别的结果来控制速度,使得在弯道上慢速,而在直道上快速。
方向控制上我们使用了三种方法:
完全基于摄像头的决策,基于摄像头和光电管的共同决策,完全基于光电管的决策。
程序的总体结构流程图如下:
开始
MCU初始化
数据变量初始化
参数设置(工作模式选择)
模式选择(路径识别传感器选择)
方向控制
速度控制
图5.1总程序结构图
5.2路径识别算法
路径识别模块的流程图如下:
参数设置(工作模式选择)
摄像头光电管共同决策模式
光电管决策模式
摄像头决策模式
图像采集与路径识别
光电管对路径的识别
图像有有效效
有无效效
光电管对路径的识别
基于光电管的方向控制
图像采集与路径识别
基于摄像头的方向控制
基于光电管的方向控制
速度控制
基于摄像头的方向控制
速度控制
速度控制
图5.2路径识别算法流程图
5.2.2基于光电管的模糊控制算法
光电传感器获得的路面信息是离散、断续变化的,具有近似性、不完善性并混杂一定的噪声,模糊控制能保证输出的连续性和平滑性并容纳这种不确定的输入信息,产生光滑的输出控制量。
同时小车的动力学模型复杂难以确定,是一个典型的时延、非线性不稳定系统,而模糊控制并不依赖于控制系统精确的数学模型,可以完成输入空间到输出空间的非线性映射。
模糊控制器主要由三部分组成,即模糊化,模糊规则推理及反模糊化。
输入隶属度函数
规则库
输出隶属度函数
模糊输入量模糊输出量精确输
出量
模糊化
模糊推理化
反模糊化
传感器
受控对象
传感器
图5.3模糊控制器工作图
确定两个模糊输入量为e,ec,表示赛道位置与模型车中心位置的偏差和偏
差的变化量,模糊输出量为angle。
e为从-7到+7,ec为从-14到+14,angle为-37至+37。
各变量使用11个语言值{N5,N4,N3,N2,N1,ZE,P1,P2,P3,P4,P5}表示。
相应的模糊规则库如下:
表5.1模糊规则库
e
ec
N5
N4
N3
N2
N1
ZE
P1
P2
P3
P4
P5
N5
P5
P4
P3
P2
P1
ZE
P1
P1
ZE
N1
N2
N4
P5
P4
P3
P2
P1
ZE
P1
P1
ZE
N1
N2
N3
P5
P4
P3
P2
P1
ZE
P1
ZE
N1
N2
N3
N2
P5
P4
P3
P2
P1
ZE
P1
ZE
N1
N2
N3
N1
P4
P3
P2
P1
ZE
ZE
ZE
N1
N2
N3
N4
ZE
P4
P3
P2
P1
ZE
ZE
ZE
N1
N2
N3
N4
P1
P4
P3
P2
P1
ZE
ZE
ZE
N1
N2
N3
N4
P2
P3
P2
P1
ZE
N1
ZE
N1
N2
N3
N4
N5
P3
P3
P2
P1
ZE
N1
ZE
N1
N2
N3
N4
N5
P4
P2
P1
ZE
N1
N1
ZE
N1
N2
N3
N4
N5
P5
P2
P1
ZE
N1
N1
ZE
N1
N2
N3
N4
N5
5.2.2基于CMOS的算法
由于设计中摄像头只用于采集道路的灰度信息,且黑白CMOS摄像头对路面信息的采集已经完全能够达到对道路识别的精度要求,所以设计选用黑白CMOS摄像头,输出制式PAL信号,分辨率为380线。
处理时每隔6行采集1行数据,利用行同步和场同步的间隔时间来完成图像的处理和智能车的控制。
具体为通过查询的方式等待场同步信号,而行同步信号则通过中断方式获得,在每个行同步信号到来时,采集一定数量的点,并利用下一个行同步中断到来之前的间隔时间,完成一定的计算量,这里的计算主要是相对本行的偏差。
CMOS采集图像的为60*60。
通过试验发现,利用摄像头进行路径识别相对光电管有较大的前瞻性,从而能提高车速。
但是摄像头易受环境的干扰,主要是赛道周围黑色物体和光线两类干扰,如果对这些外界干扰处理的不好,将严重影响智能车运行的稳定性,甚至无法完成比赛。
为了抵抗这两种类型的干扰,本设计分别采用了以下抗干扰策略:
1)针对赛道周围黑色物体的干扰,采用了一种基于连续性判断的寻线策略,基本思想是:
除了距离小车最近的一行外,每一行都以它的上一行作为本行找线的基准位置,向两边扫描一定的像素,因为相邻两行黑线的中心位置的偏差一定是小于某个值的,将该值适当放宽一些后,就可以保证快速的找到真正的路径,同时把赛道周围的黑色干扰滤除。
基于以上分析可知,在计算第n行的黑线中心位置时,必须知道第n-1行的黑线中心位置,而通常的摄像头都是从远到近扫描的,为了利用这种寻线策略,实际中必须先获得较近行的图像信息。
这又有两种方案可供选择,一种常见的方案是将面阵CMOS的图像保存到一个二维数组当中,等待最近的行信息获得后再进行处理。
另外一种方案是,将摄像头倒置安装,优先获取近处的行信息。
综合比较两种处理方案不难发现,第一种方案既浪费存储空间,又将所有行的寻线计算量积累在一个时间段计算
(一帧图像的结束),使用的单片机在短暂的时间内可能难以完成。
如果采用第
二种方案,就可以边采集边计算,利用每一个行同步和其他不需采集行的时间
间隙,来完成该行寻线的计算任务。
这样,当所有行采完的同时,也基本完成了图像的处理和路径的识别任务。
通过将复杂的计算任务分布开工作的方式,为单片机的其他控制和运算节约了宝贵的时间。
鉴于此,实际采用了第二种方案(路径识别效果见图5.4)。
图5.4路径识别效果
2)针对赛道反光和周围直射光线的干扰,采用了以下几种抗干扰策略。
(1)由于赛道黑色引导线可能反光(如图5.5)导致黑色引导线部分缺失,可以采用线性拟合来对不完整的图像进行修补。
图5.6是对图5.5进行修补后的效果图。
(2)当图像缺失的比较严重,或者由于外界强光导致摄像头的完全失明(如:
赛场周围闪光灯的影响,正面直射光的通过赛道反射进入等),摄像头只会使采集到全空的白数据。
这种图像就是无法修补的了,此时可以采用两种方案:
一种方案是利用上一帧有效图像对智能车进行控制,另一种方案是将小车的控制权转交给依靠其他辅助路径识别设备的决策模块。
在我们的智能车设计中综合使用了这两种方案。
图5.5道路反光后效果图5.6修补后效果
5.2.3两者的结合
这种方案是将光电管和摄像头结合起来的方法。
具体方法是将光电管作为摄像头的第一排,然后判断前面的道路信息是否有效,若无效的话此时切换到光电管;有效的话继续用摄像头的有效信息。
由于判断摄像头失效的条件还未达到较好的状态,所以这种方法还在进一步探索中。
5.3速度控制算法
在速度控制上,采用的是位置型数字PID算法和PD算法结合的策略。
数字PID控制关键的两个问题是:
其一,速度反馈的精度;其二,PID参数
的配合。
如何解决速度反馈精度的问题,关键在于提高速度检测的脉冲数的精度,减少丢脉冲的个数。
基于以上考虑,在选择处理脉冲的方法上,本设计采用M法。
即在固定周期内测量脉冲数。
之所以采用M法,原因是:
当控制周期较长时,接受到脉冲数较多,