您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于STM32的循迹避障智能小车的设计
总第329期2017年第3期计算机与数字工程Computer&•DigitalEngineeringVol.45No.3549基于STM32的循迹避障智能小车的设计$吕闪金已婷沈巍(大连交通大学电气信息学院大连116028)摘要介绍了基于模糊控制的智能小车循迹避障系统设计,该系统采用改进型超声波测距传感器和红外光电传感器采集外部障碍信息,然后将障碍信息数据经MCU计算处理并传送至模糊控制器,经过模糊算法的计算,输出相对应的行动信号,控制智能小车的前进、转向等。论文采用双输人单输出结构的模糊控制器,输人量分别取为避障小车车体各个传感器采集的障碍物距离信息,智能车相对路径中心线的方向偏差,输出量变为舵机期望转角。通过程序仿真及实际验证表明,小车能够在不同环境中实现自主循迹避障。关键词智能小车;模糊控制;循迹;避障中图分类号TP302DOI:10.3969/j.issa1672-9722.2017.03.030DesignofIntelligentTrackingandObstacleAvoidanceCarBasedonSTM32LVShanJINSitingSHENWei(SchoolofElectronicsandInformationEngineering,DalianJiaotongUniversity,Dalian116028)AbstractThispaperintroducesthesystemofthetrackingobstacleavoidancecarbasedonfuzzycontrol,thesystemadoptstheadvancedultrasonicsensorsandinfraredelectricsensorcollectingexternalinformation,thenitwillprocessobstacleinformationdatabytheMCUandtransfertothefuzzycontroller,outputcorrespondingsignalofactionthroughthefuzzyalgorithm,controltheintelligentcarforward,turnandsoonThispaperadoptsthestructureofthedoubleinputandsingleoutputfuzzycontroller,usesthedistanceofobstacleanddirectiondeviationoftheintelligentcarrelativepathcenterforinput,usesthesteeringexpectedangleforoutput.Throughprocesssimulationandactualverificationshowthatthecarcanachieveautonomoustrackingobstacleavoidanceindifferentenvironments.KeyWordsintelligentcar,fuzzycontrol,tracking,obstacleavoidanceClassNumberTP302i引言智能小车作为智能车辆的载体,是集传感器技术、人工智能技术、自动控制技术、车辆工程控制于一体的综合技术,是未来智能汽车发展的趋势。近年来,科学技术取得了较大的进步,智能小车的系统设计也不再仅仅依赖于数学理论模型,摆脱了非线性的束缚,为小车的智能控制提供了新的手段,具有广阔的应用前景。模糊控制通过建立数学模型,并整合人为专家控制经验来解决系统中动态特性的非线性和不确定因素,具有较强的鲁棒性[卜5]。本文设计了基于STM32的循迹避障小车,利用路面循迹检测模块、避障模块等外围器件,组成了一个比较完整的控制系统,小车能够在预先设定的跑道上完成循迹、避障、转向、停车等各种功能,并且可以智能记录行驶距离和避障次数,同时当遇到障碍物时,小车会驱动蜂鸣器报警。实践证明,*收稿日期=2016年9月8日,修回日期:2016年10月29日基金项目:辽宁省博士科研启动基金项目(编号=20141108)资助。作者简介:吕闪,女,硕士,研究方向:信号与信息处理、通信及关键技术。金已婷,女,硕士,研究方向:嵌人式技术、通信及关键技术。沈巍,男,硕士,研究方向:信号与信息处理、通信及关键技术。550吕闪等I基于STM32的循迹避障智能小车的设计第45卷该系统电路结构简单、低功耗、高性价比、安全性和稳定性高,具有广泛的实际应用价值。2总体设计智能小车控制系统具备自主循迹、智能障碍物检测、自主避障、外部无线通信等功能。能够快速避障,准确循迹,本系统主要包括:MCU主控模块、改进型超声波避障模块、循迹模块、测速模块、外部通信模块等模块组成[—9]。2.1MCU主控模块设计本设计采用STM32F103作为智能小车控制模块的核心,通过STM32F103利用程序来控制小车的运动,对于控制方面,STM32F103具有高性能、低成本、低功耗的优点。系统时钟源采用有源晶振,大大提高了系统程序运行的准确性和安全性,避免了控制系统因为复杂的电磁环境影响了时钟的准确性,保证了系统高效准确无误的运行。图1为自主设计的最小系统原理图。U63V33V3[]?07k\R9IXTALI:奠XTALOUT6NRST-C15104V|NRST7DGND.IPA0^8910PA111PA212PA3LED13SHINSS14SHISCK15SHIMSO16SHIMSI17PBO18PB119------R12BOOT120------1mio21PBll22體—丨丨233V3VBATPC13-A]SITI_TAMPPC14-OiSC32_INPC15-OSC32_OUTXTAL-INXTAL-OUTNRSTVSSAVDDAPAO-WKUPPA1PAi;USART2_TXPA3/USART2_RXPA4/SHl_NSfPA5/SH1_SCKPA6/SHl_MSOPA7/SH1_MDSIPB0/ADCJN8PB1/ADCJN9PB2B00T1PB10/I2C2_SCL/USART3_TXPB11/I2C2_SDA/TFSART3_RXVSS_1VDD1VDD_3VSS_3PB9/TIM4JCH4PB8/TIM4JCH3bootoPB7/I2Cl_SDAyTIM4_CH2PB6/I2Cl_SCL/TIM4jCmffi5/I2Cl_SMBAIPB^JTRSTPB3/^DOPA15/JTDIPA14JTCK-SWCLKVDD_2VSS_2PA13/JTMS-SWD;TtPA12/TJSBDPPA11/USBDMPA10/USART1_RXPA9/USART1_TXPA8/USARTljCLKroi5/SH2_MDSIPB13/SM2_SCKPB12/SPI2NSS46PB945PBS44BOOT。43PB740PB439PB338PA1537SwClk33PA1232PA1131UART1RXPA1030UART1TXPA927PB1426PB1325PB12图1MCU原理图2.2改进型超声波传感器模块设计本文采用自主设计的改进型超声波传感器模块,结合了气体压强传感器和温湿度传感器,MCU采集避障信息的同时也采集了空气的温湿度和大气压强,并将温湿度和气体压强作为障碍物距离的因子,使的系统不仅能够准确的探测到障碍物,而且能够精确地计算出小车与障碍物的距离。图2为改进型超声波传感器模块的部分电路图。图2改进型超声波传感器模块的部分电路图2017年第3期计算机与数字工程5513系统软件设计与流程设计目前,常采用的控制器主要有模糊控制器、最优化控制器以及位置式PID控制器和增量式PID控制器等。其中传统的控制器包括位置式PID控制器和增量式PID控制器和最优化控制器,它们大部分应用于控制对象都可以用一个精确的数学模型来描述的情况,由于循迹避障小车受路面粗糙度、电机特性、机械的特性等因素的影响,导致整个系统的被控制对象难以用一个精确的数学模型来描述,整个系统表现为高度的非线性和未知性。若用传统的控制算法必须建立在精确的数学模型上,而若采用某个固定的控制算法就会降低系统的灵活度和应急能力,难以达到理想的控制效果,甚至会使整个系统出现崩溃的极端状况。模糊控制器不需要被控制对象拥有精确的数学模型,并且其控制算法具有灵活性强,鲁棒性好,且在系统呈现非线性、滞后性等复杂的控制系统中具有明显的优势。因此,本文采用模糊逻辑控制策略实现智能小车的循迹避障功能[1°~13]。小车控制系统结构图如图3所示。图3控制系统结构图3.1智能小车模糊控制器的软件设计智能循迹避障小车控制的目的是协调好小车的前进速度和行驶方向,在规定的循迹引导线上能有效、快速地避开障碍物并以最优化的速度达到目的地,因此本文主要是对智能小车行驶方向和循迹避障的控制策略研究。3.1.1智能小车转向模糊控制器的设计由于循迹避障小车的运动数学模型难以建立,因此在对小车的转向控制算法上采用了模糊控制器。小车采用的是双输入单输出结构的模糊控制器,输入量分别取为小车车体各个超声波传感器采集的车体距离障碍物距离信息D,智能车相对路径中心线的方向偏差角度A,输出量变为舵机期望转角B,智能小车转向控制模糊控制器的设计,严格按照模糊控制器的设计步骤进行设计。模糊控制器设计流程图如图4所示。清晰化输出图4模糊控制器设计流程图3.1.2输入输出变量的模糊化模糊控制的精度与变量的量化等级有关,等级越高,精度就越高,但是整体的运算量也会增加,因将三个语言变量的量化等级取为7级。并将D、A、B模糊集论域都取为7个模糊子集:{一6,一4,—2,0,2,4,6},即NB(负大)、NM(负中)、NS(负小)、ZE(零)、PS(正小)、PM(正中)、PB(正大)。对D、A、B代表的意思有所不同。D0表示智能小车行驶方向相右方距离障碍物的距离,D=0表示智能小车行驶方向相前方距离障碍物的距离,D0表示智能小车行驶方向相左方距离障碍物的距离。A0表示智能小车相对循迹引导线的右偏,表示智能小车在循迹引导线上,A0表示智能小车相对循迹引导线的左偏。表7K航机右拐,表tK航机左拐,B=〇表示舵机打正不改变小车行驶方向。在避障小车运行过程中,考虑到系统偏差的产生是随机的,同时为简化计算,降低编程难度,输入输出变量的模糊子集的隶属度函数均采用三角函数的,模糊变量根据人的驾驶经验进行赋值,得到模糊集论域中各元素从属于各模糊子集的隶属度,如图5所示。图5各模糊子集的隶属度3.1.3确定模糊控制规则当小车自动行驶时,通过改进型超声波传感器和红外循迹传感器不停地对当前车体周围情况和与循迹引导线的相对位置情况做出判断,当障碍物距离信息和偏差出现时通过调整小车的舵机的转角使小车体尽快避开障碍物并快速地回到正常的循迹引导线上行驶,小车在做出变向调整时,实际上是先在前方循迹引导线上选择某个期望点,并使智能小车按照一定的行驶轨迹到达期望点。在到达期望点处的同时使车体恢复到完全沿循迹引导线运行的状态,期望点的选取与当前车体周围障碍物的距离D和相对循迹引导线的偏差A有关,当车体距离障碍物越近也就是D越小或者和循迹引552吕闪等I基于STM32的循迹避障智能小车的设计第45卷导线之间的距离偏差A大时,期望点选得远,故舵机转向角越大。根据上述并结合人在平常生活中的驾驶经验确定如表1的模糊控制规则表。表1模糊控制规则表PBPMPSZENSNMNBPBNBNBNBNBNBNMZOPMNBNBNMNMNMZOPMPSNBNMNSNSZEPMPBZENBNMNSZEPSPMPBNSNBNMZEPSPSPMPBNMNMZEPSPMPMPBPBNBZEPMPBPBPBPBPB本文归纳出49条模糊控制规则。全部模糊控制规则采用:If((D=A:)&&(A=Ar))Then(灶=马)的形式,其中z,7,m,的取值为{1,2,3,4,5,6,7}&模糊控制规则表的
本文标题:基于STM32的循迹避障智能小车的设计
链接地址:https://www.777doc.com/doc-5206313 .html