华南理工大学Drift队技术报告修改最终版.docx
《华南理工大学Drift队技术报告修改最终版.docx》由会员分享,可在线阅读,更多相关《华南理工大学Drift队技术报告修改最终版.docx(20页珍藏版)》请在冰豆网上搜索。
华南理工大学Drift队技术报告修改最终版
华南理工大学Drift队技术报告
陈安1,何俏君1,候鸿斌1,陈沃明1,何绪昊1,
(1.华南理工大学自动化学院,广州五山510640)
文摘:
我们对参赛用车建立了简化的模型,通过对模型的分析提高了控制效果。
该车使用了远距离和近距离两层红外传感器探测体系对轨迹进行探测,同时,使用模糊控制算法和PID算法根据不同的路况切换控制。
模糊控制算法通过机器视觉的方法进行了训练,通过matlab7.0上的模糊逻辑工具包进行了仿真,我们使用智能化的模糊控制算法在PID算法的配合下对智能汽车进行控制,取得了很好的效果设计了车辆的机械结构减轻了重量,提高了行驶性能。
我们使用了飞思卡尔的S12单片机MC9S12DG128完成了整个控制,稳定可靠。
关键词:
智能汽车模糊控制PID控制红外探测S12单片机
Abstract:
Wedesignedasimplemodeloftheracecar.Byusingthismodel,weimprovedeffectofthecarrunning.Oursmartcarusebothlong-distanceandshort-distanceinfraredsensorstogetthetrack.WeuseFuzzyLogiccontrolarithmeticandclassicalPIDcontrolarithmetictocontrolthesmartcar.TheFuzzyLogiccontrolarithmeticwastrainedbyusingthemethodofmachinevision.WealsosimulatetheFuzzyLogiccontrolarithmeticbyusingFuzzyLogicToolboxforusewithMATLAB7.0.Weimprovedthespeedofourcarbychangethemachineframework.Weusefreescales12singlechipMC9S12DG128finishingallthejob,perfectly.
Keywords:
smartcar,FuzzyLogiccontrol,PID,infraredsensor,
s12singlechip
正文:
智能汽车的行驶控制一直以来是自动化、汽车等学科研究的目标,首届“飞思卡尔”杯全国大学生智能车大赛使更多的学校和同学有了探索研究处理这个问题的机会。
大学生智能模型车竞赛是在飞思卡尔半导体公司资助下举办的以HCS12单片机为核心的大学生课外科技竞赛。
组委会将提供一个标准的汽车模型、直流电机和可充电式电池,参赛队伍要制作一个能够自主识别路线的智能车,在专门设计的跑道上自动识别道路行驶,谁最快跑完全程而没有冲出跑道并且技术报告评分较高,谁就是获胜者。
[1]
为了追求获胜的目标,人们对人工智能与机器人技术,汽车技术,自动化控制技术能在更广泛、更深入的层面展开研究,这样无疑对学术研究和生产应用都有很强的实际意义。
比赛的专业知识涉及控制、模式识别、传感技术、汽车电子、电气、计算机、机械等多个学科,对学生的知识融合和实践动手能力的培养,对高等学校控制及汽车电子学科学术水平的提高,具有良好的长期的推动作用。
1.车辆模型的建立
2.1车辆建模的意义
要想精确的控制车辆,车辆模型的建立尤其是运动模型的建立是十分重要的。
在系统分析上,我们比赛的智能车建模应该归于汽车型非完整机器人建模。
对于这样一个模型,如果完全建立它的模型,包括悬挂,路面摩擦,滑动等的影响是一件复杂而又作用有限的事,基于简化模型,提高效率的原理,我们对车辆在无车轮打滑的情况下的运动学模型进行了建立和分析。
在模型中我们先对单一车轮的运动学模型进行建立和分析,然后扩展到整个车辆。
2.2单一车轮模型。
设想一个车轮垂直的在一个水平面上滚动,如图2.1所示。
图2.1对于独轮系统的统一化的坐标显示
这个系统的状态可以由3个变量组成的一个矢量q表示,其中x,y表示对于运动平面的相对位置,θ角表示车轮相对于y轴的方向角度。
这个矢量q不能认为是独立变量,实际上,它是符合以下规律的[2]
我们设v1为车轮的行驶方向的线速度,v2为相对于垂直轴的角速度。
这就是对于单一车轮运动学的模型。
2.3轿车型模型的建立
我们将单一车轮运动学的模型推广到一个完整的轿车型车辆模型。
如图2.2所示
图2.2对于轿车型模型统一坐标表示
根据图中所示,我们可以列出以下方程:
其中xf、yf与x、y是相关联的变量
对于后轮驱动的车辆,如我们现在所要控制的目标车辆,我们可以列出如下的车辆方程:
这是一个多变量的微分方程组,简单有效的对后轮驱动的轿车型非完整机器人做了阐释。
我们在对车辆的控制算法的研究中,以这个模型为基础,取得了良好的效果。
以此模型为基础,我们只要取得车辆的速度和转向角度,然后再对车辆速度和转向角度进行控制就能对车辆的轨迹进行精确控制。
同时我们如果测出车辆轴向的加速度和垂直轴向的加速度也可以判断出车辆状态。
[2]
3.车辆的总体设计
3.1车辆设计思路
车辆对路况的判断距离越远,越能提前得到路况信息,对车辆行驶速度越有帮助。
我们提出的算法就是基于远距离探测配合近距离探测控制的算法。
所以,我们使用双层红外探测设备,组成两层探测体系,两层探测体系再结合先进的控制算法进行控制。
整车设计简图:
3.2车辆机械部分的设计
参赛车辆是由组委会统一下发的,车辆运动部分是禁止改动的,这样,我们主要从提高车辆对路况的判别,同时,更好的控制车辆方面进行了总体设计。
设计步骤:
1.首先利用购买的另外一种较便宜,容易改装,同时机械运动结构和我们现在使用的赛车较为一致的模型车初步设计方案,结合控制算法进行调试。
2.在经过调试确定最佳方案后,对实际比赛车提出方案。
并利用简易支架进行固定。
通过试车进行调整。
3.确定最终方案。
利用轻质塑料板材进行机械加工。
尽可能将重量压缩到最小,同时保证安装质量。
4.在机械加工中为了确保精度和安装要求,我们使用了机床和数控铣床进行加工,取得了很好的效果。
根据车辆的行驶特性,我们调整了车辆的重心和车轮的内束角,取得了很好的效果。
若重心前移,重心到后轴水平距离增大,易发生后轴侧滑,对高速汽车危险性大;若重心后移,重心到后轴水平距离减小,前轮易丧失转向能力。
实践证明前轮压力大一点对车辆的转向很有好处,因为车的自身功率较小,不易加到很高的速度,所有,刹车性能的好坏对车辆影响有限,但转向性能的提高,过弯速度的提高对比赛成绩有决定性的影响。
所以,我们将车的重心通过机械安装的调整,调整到靠近前轮的位置[3]。
3.3车辆电气部分的设计
我们使用了原配的112脚的MC9S12DG128大开发板进行开发设计,软件开发环境就是标准开发环境。
3.3.1电气部分控制方案
我们的控制方案简单的说就是利用远距离传感器对远方路况进行一个判断,然后控制车辆速度,同时,根据前方路况切换不同的控制算法,近距离传感器则是对车辆行驶起直接控制作用,不同的控制算法都是通过近距离传感器的信息,控制车辆巡线行驶。
同时,加速度传感器配合简易光电码盘对车辆的行驶状态进行采集,测量车速,轴向和侧向加速度,判断车辆的位置,是否打滑等。
3.3.2路径测量
智能车巡线的精确度和检测速度成为智能车大赛的关键技术,可以说是“得巡线者得冠军”。
想要让车辆能又准又快的循跑道黑线驶完全部赛道,怎样巡线成为关键。
让智能车巡线前进有很多解决途径,并有多种光电器件可供选择,如光敏器件、红外器件、光纤器件、颜色传感器等.由于光敏器件受可见光影响较大,光纤器件、颜色传感器成本相对较高使用较复杂,故选用了反射式红外器件,它具有效率高、受可见光影响较小、造价低廉、易于使用等优点[4]。
所以我们在对路况的判断上,选用的传感器都是红外传感器。
1.远距离红外传感器:
我们使用日本基恩士kenyence公司的红外光电传感器作为远距离传感器,这种传
感器性能优异,使用红外调制光,可以对前方50cm的斜面进行路况探测或物体探测。
工作稳定可靠,抗干扰能力强。
我们使用它作为远距离判断,也就是通过它进行算法切换。
2.近距离红外传感器:
我们使用普通的红外对管,设计成单排垂直照地的模式。
根据调试经验,选择了相对窄一
点但传感器分布密一点。
电路图如图3.1所示。
[5]
图3.1近距离红外传感器电路示意图。
3.3.3导航测量
我们使用加速度传感器和光电码盘配合进行惯性导航,通过对加速度的积分得到当前车辆轴向和侧向的速度,再次积分,就可以得到车辆的位置信息。
而光电码盘则通过对速度的修正,修正加速度传感器的测量误差。
加速度传感器我们选用ADXL202。
ADXL202是一种低成本、低功耗、功能完善的双轴加速度传感器,其测量范围为±2g。
ADXL202既能测量动态加速度(如振动加速度),又能测量静态加速度(如重力加速度)。
ADXL202可输出数字信号,其脉宽占空比与两根传感轴各自所感受到的加速度成正比。
这些信号可直接传输给微处理器,而不需A/D转换或附加其它电路。
输出信号周期在0.5ms~10ms范围内,可用外接电阻RSET调节。
如果需要与加速度成正比的模拟电压输出,则可从XFILT和YFILT管脚输出信号,或者使用对脉宽占空比输出信号滤波后的信号[6]。
电路图如图3.2所示
图3.2加速度传感器及AD转换电路
3.3.4驱动电机
我们使用标准的33886芯片进行电机驱动。
电路图如图3.3所示
图3.333886驱动电机电路图
4.车辆控制算法
4.1算法总体设计:
我们设计的算法主要是分两层算法,因为车辆在弯道减速行驶和在直道加速行驶有不同的控制特性,所以我们将这两种情况分成两种算法来进行处理,而远距离红外传感器对弯道的判断就成为两种算法切换的触发点。
在直道加速行驶时,我们使用精度的PID算法进行控制,让车辆能够准确稳定的巡线前进,在弯道减速行驶中,我们发现如果用PID算法继续准确巡线的话车辆会因为转向过度或转向不足,产生较大的偏差,而这种比较大的偏差会激励PID算法产生一个很大的控制量,从而使舵机转向角度变大,舵机的剧烈运动通过车辆的行驶特性导致车辆速度大幅降低。
所以我们认为弯道使用PID算法并不是一个很好的选择。
在弯道行驶中,我们根据模糊控制的原理设计了一种基于训练样本的模糊控制算法。
这种算法首先通过训练制订出根据不同曲率半径圆弧赛道的行驶策略,包括车速和舵机偏转角,通过对各种方式策略的训练从而得到最优化的行驶策略。
过弯时,车辆根据红外传感器测量出来的曲率,查表得最优化的行驶策略,在PID算法的配合下,用最优化策略通过弯道
程序分层情况:
图4.1程序分层情况
如图所示,程序采用分层结构。
不同层的分工不同,执行的频率也不同。
最底层为“传感器数据的采集和处理”,例如对远、近红外传感器的数据采集和记录,对加速度传感器的采集和累加。
执行周期大约在1~5ms。
“底层速度闭环控制”根据高层速度决策给出的参考值将速度控制在一个相对稳定的值。
采用PID或者开环的控制算法,执行周期大约在10~30ms。
“路况判断及算法切换”对底层数据采集的数据进行分析,判断当前路况的情形,并根据不同路况进行算法的切换。
具体控制策略见下边“不同路况控制策略”。
执行周期40~100ms。
“高层路况历史记录”记录整个赛道的路况历史情况,视情况采取自主策略。
“高层速度决策”接收“高层路况历史记录”和“路况判断及算法切换”中对速度的要求,并具体设定一个参考值。
4.2PID算法
基础的PID调节:
在近距离红外传感器控制车辆走在直路或者曲率不大的弯道的时候,我们使用的是经典的
离散数字PID算法。
[7]
式中
为积分时间常数;
为微分时间常数;
为比例系数。
e(t)为误差项,u(t)为控制量。
令
为采样时间
得到离散控制算法
其中
以此算法为基础,很容易在CodeWarrior上,用C语言编写出控制算法[8]。
PID算法在控制的同时,结合加速度传感器传回去的加速度,速度,位置信息,通过已经建立起来的简单车辆模型对车辆位置状态进行预测,将误差项也放到PID算法中进行消除[9]。
4.3.模糊训练算法:
4.3.1算法简介
这是我们根据智能车模的控制特性结合我们现在所拥有的测量手段和控制手段所设计的一种算法。
这种算法是首先测出车辆在各种半径的弯道下所能达到的最大转向速度。
通过训练样本集测出最优数据,把最优数据制作成表。
车辆在行驶中,如果远距离传感器判断在前方30cm的范围内是直道,则车辆全力加速前进,舵机控制算法为PID调节。
如果判断是弯道则根据车辆当前速度,把车辆控制到弯道前保证速度,并把算法切换到自适应训练算法。
进入弯道,车辆的近距离红外传感器出现偏差,这个偏差值的大小,变化速率和弯道的曲率是有直接关系的,查表,得出弯道的曲率,同时也得到了弯道的过弯速度和舵机的偏转角度。
以这个速度和角度对车辆进行控制,在过弯的时候,如果出现误差error,则进行模糊判断,根据车速,写出不同的隶属度函数,当车速高的时候同时PID算法也辅助修正误差[10]。
经过测试,我们发现这样的算法比纯粹用PID算法调节,无论是控制精度还是过弯速度都有了较大提高。
4.3.2制作训练样本集
利用机器视觉和单片机片内存储器制作训练样本集。
状态和特征通过两种方法探测:
1)通过工业相机,垂直从空中俯照。
工业CCD从车辆正后方拍摄车辆以不同速度过弯时
的过弯状况。
相机使用固定频率采样,车辆使用固定控制速度过弯。
训练达到最佳效果点。
图4.2所示的就是一次非常好的过弯情况。
同时在上位机通过机器视觉的图像算法,通过图像计算出车辆当时实际速度和位置变化。
图4.2机器视觉过弯探测训练
2)将车辆行驶中近距离红外传感器探测到的信息和当时车辆对舵机和电机的控制信息存放在s12单片机的片内存储器里,然后再通过串口读到电脑中来。
从而对数据进行采集和分析。
3)将机器视觉得到的过弯过程中各采样点的速度、位置与过弯过程中的s12片内存储器里的探测信息和控制信息相比较,根据车辆模型所确定的车辆行驶特性确定最佳控制量。
4.3.3模糊算法仿真
我们在介绍模糊算法的时候首先定出一些定义
1、近距离红外传感器测得赛道偏离中心程度为error,有正负;
2、error在两次间隔的采样时间点的偏差为derror,有正负;
3、远距离红外传感器测到赛道中的黑线为distanton,没有测到为distantoff;
4、远距离红外传感器采用居中的安装方式;
路况共有6种
1、出发点――记录,作为标志点;
2、十字交叉路――记录,作为标志点;
3、直道――采用PID消除error算法;
4、弯道――采用修正转弯角消除derror算法;
5、小角度蛇行――采用直过法或者第一圈测绘,第二圈直过法;
6、大角度蛇行――视作弯道处理;
路况判断规则:
1、error小,derror稳,distantoff――弯道的开始
2、error小,derror稳,distanton――直道
3、error小,derror不稳,distantoff――小蛇行
4、error小,derror不稳,distanton――蛇行
5、error大,derror稳,distantoff――弯道中(转弯半径较小)
6、error大,derror稳,distanton――弯道中(转弯半径较大)
7、error大,derror不稳,distantoff――蛇行
8、error大,derror不稳,distanton――蛇行
说明:
“传感器数据的采集和处理”采集并记录约8~20组数据后,“路况判断及算法切换”才对这些数据应用以上规则进行判断。
例如“error小”这样的结论也是在分析了8~20个数据后得出的,而得出结论的方法值得讨论。
而distant数据的使用要结合error情况进行修正。
具体来说,就是直道时,为了避免车体振动造成的误判,应该只在error为0时进行distant的判断。
仿真设定为6组近距离红外传感器在车前方成直线布置,如图4.2所示.[11]
图4.2近距离红外传感器布置示意图
传感器布置密度保证同时只有两个传感器检测的赛道。
传感器检测与误差大小如表4.1所示。
传感器
Error
A
B
C
D
E
F
-3
1
0
0
0
0
0
-2
1
1
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
1
1
0
2
0
0
0
0
1
1
3
0
0
0
0
0
1
表4.1传感器检测与误差对照
Error的隶属度函数如图4.3所示
图4.3error的隶属度函数
Derror的隶属度函数如图4.4所示
图4.4derror的隶属度函数
输出信号out的隶属度函数如图4.5所示
图4.5输出信号out的隶属度函数
模糊控制程序结构如图4.6所示
图4.6模糊控制程序结构
模糊控制规则表rulelist如表4.2所示
error
derror
LB
LM
LS
M
RS
RM
RB
LB
RB
RB
RB
RM
RS
RS
RS
LM
RB
RB
RM
RM
RS
M
LS
LS
RM
RM
RS
RS
M
LS
LS
M
RM
RS
RS
M
LS
LS
LM
RS
RS
RS
M
LS
LS
LM
LM
RM
RS
M
LS
LM
LM
LB
LB
RB
M
LS
LS
LM
LB
LB
LB
表4.2模糊控制规则表rulelist
通过matlab的仿真,我们对模糊控制规则表rulelist很好的调节,然后经过实际车辆行驶训练取得了很好的rulelist参数值。
经过调试,最终取得了在最优状态下通过弯道的算法[12]。
5.总结与展望
在学校领导和学院领导的支持下,我们参赛队员竭尽全力,废寝忘食,在车辆控制上取得
了阶段性的成果。
车辆的总体性能如下:
改造后的车模总体重量,长、宽、高尺寸等基本参数:
重:
0.9kg;长:
37cm;高:
25cm;宽:
185cm。
电路功耗:
约1.5W
所有电容总容量:
291.7uF
传感器种类以及个数:
光电14个;加速度传感器1个;
除了车模原有的驱动电机、舵机之外伺服电机个数:
0
赛道信息检测精度、频率:
98%、1KHZ
在我们的努力下车辆现在的直道时速大于2.2m/s,弯道时速平均也有1.6m/s。
但还有增大的余地,我们下一步的工作主要是增强算法的稳定性与精确性,同时在机械方面尽可能的减轻车辆重量,提高车辆加速与行驶特性。
展望下一届比赛,我们希望能提供功率更大的车辆,同时在车辆结构和控制方面尽可能的放宽要求。
我们对于下一届比赛,我们将在现有模型的基础上,尝试对车辆进行全方面的仿真,建立3d模型及动力学模型,通过精确的仿真,更好的取得比赛成果,同时,车辆对路径的探测方面我们将尝试使用CCD传感器,结合模糊控制,使得车辆行驶能够更加智能化,尤其是对蛇行弯的行驶控制。
参考文献:
[1]黄开胜金华民蒋狄南清华大学汽车安全与节能国家重点实验室韩国智能模型车技术方案分析电子产品世界2006.3p150-152
[2]AlessandroDeLuca,GiuseppeOriolo,ClaudeSamsonFEEDBACKCONTROLOFANONHOLONOMICCAR-LIKEROBOTChapter4ofPlanningRobotMotion,J.-P.LaumondEd.,
Springer-Verlag,1997.
[3]宗光华张慧慧译:
《机器人设计与控制》科学出版社北京2004
[4]张 华,李祖枢,吴 健,胡天链,陈胡明竞赛机器人中的巡线技术及其实现 2005年10月重庆大学学报(自然科学版)第28卷第10期p75-78
[5]陈永甫《红外探测与控制电路》。
北京人民邮电出版社2004
[6]屈翠香,李刚具有数字信号输出的双轴加速度传感器ADXL202《国外电子元器件》1999年第8期p8-11
[7]温钢云,黄道平计算机控制技术华南理工大学出版社广州2001
[8]邵贝贝单片机嵌入式应用的在线开发方法北京清华大学出版社2004
[9]彭康拥陈来好等主编:
自动控制原理华南理工出版社广州2005
[10]BenjaminC.Kuo,FaridGolnaraghi:
AutomaticControlSystems(汪小帆李翔翻译,《自动控制系统》高等教育出版社北京2004
[11]谢海鸿,冯心海,王磊自动车方向控制的模糊技术佛山科学技术学院学报(自然科学版)1999年3月第17卷第1期p1-6
[12]苏金明阮沈勇:
MATLAB实用教程电子工业出版社北京2005