基于STM32的循迹避障智能小车的设计*
2017-03-31金巳婷
吕 闪 金巳婷 沈 巍
(大连交通大学电气信息学院 大连 116028)
基于STM32的循迹避障智能小车的设计*
吕 闪 金巳婷 沈 巍
(大连交通大学电气信息学院 大连 116028)
介绍了基于模糊控制的智能小车循迹避障系统设计,该系统采用改进型超声波测距传感器和红外光电传感器采集外部障碍信息,然后将障碍信息数据经MCU计算处理并传送至模糊控制器,经过模糊算法的计算,输出相对应的行动信号,控制智能小车的前进、转向等。论文采用双输入单输出结构的模糊控制器,输入量分别取为避障小车车体各个传感器采集的障碍物距离信息,智能车相对路径中心线的方向偏差,输出量变为舵机期望转角。通过程序仿真及实际验证表明,小车能够在不同环境中实现自主循迹避障。
智能小车; 模糊控制; 循迹; 避障
Class Number TP302
1 引言
智能小车作为智能车辆的载体,是集传感器技术、人工智能技术、自动控制技术、车辆工程控制于一体的综合技术,是未来智能汽车发展的趋势。近年来,科学技术取得了较大的进步,智能小车的系统设计也不再仅仅依赖于数学理论模型,摆脱了非线性的束缚,为小车的智能控制提供了新的手段,具有广阔的应用前景。模糊控制通过建立数学模型,并整合人为专家控制经验来解决系统中动态特性的非线性和不确定因素,具有较强的鲁棒性[1~5]。
本文设计了基于STM32的循迹避障小车,利用路面循迹检测模块、避障模块等外围器件,组成了一个比较完整的控制系统,小车能够在预先设定的跑道上完成循迹、避障、转向、停车等各种功能,并且可以智能记录行驶距离和避障次数,同时当遇到障碍物时,小车会驱动蜂鸣器报警。实践证明,该系统电路结构简单、低功耗、高性价比、安全性和稳定性高,具有广泛的实际应用价值。
2 总体设计
智能小车控制系统具备自主循迹、智能障碍物检测、自主避障、外部无线通信等功能。能够快速避障,准确循迹,本系统主要包括:MCU主控模块、改进型超声波避障模块、循迹模块、测速模块、外部通信模块等模块组成[6~9]。
2.1 MCU主控模块设计
本设计采用STM32F103作为智能小车控制模块的核心,通过STM32F103利用程序来控制小车的运动,对于控制方面,STM32F103具有高性能、低成本、低功耗的优点。系统时钟源采用有源晶振,大大提高了系统程序运行的准确性和安全性,避免了控制系统因为复杂的电磁环境影响了时钟的准确性,保证了系统高效准确无误的运行。图1为自主设计的最小系统原理图。
图1 MCU原理图
2.2 改进型超声波传感器模块设计
本文采用自主设计的改进型超声波传感器模块,结合了气体压强传感器和温湿度传感器,MCU采集避障信息的同时也采集了空气的温湿度和大气压强,并将温湿度和气体压强作为障碍物距离的因子,使的系统不仅能够准确的探测到障碍物,而且能够精确地计算出小车与障碍物的距离。图2为改进型超声波传感器模块的部分电路图。
图2 改进型超声波传感器模块的部分电路图
3 系统软件设计与流程设计
目前,常采用的控制器主要有模糊控制器、最优化控制器以及位置式PID控制器和增量式PID控制器等。其中传统的控制器包括位置式PID控制器和增量式PID控制器和最优化控制器,它们大部分应用于控制对象都可以用一个精确的数学模型来描述的情况,由于循迹避障小车受路面粗糙度、电机特性、机械的特性等因素的影响,导致整个系统的被控制对象难以用一个精确的数学模型来描述,整个系统表现为高度的非线性和未知性。若用传统的控制算法必须建立在精确的数学模型上,而若采用某个固定的控制算法就会降低系统的灵活度和应急能力,难以达到理想的控制效果,甚至会使整个系统出现崩溃的极端状况。
模糊控制器不需要被控制对象拥有精确的数学模型,并且其控制算法具有灵活性强,鲁棒性好,且在系统呈现非线性、滞后性等复杂的控制系统中具有明显的优势。因此,本文采用模糊逻辑控制策略实现智能小车的循迹避障功能[10~13]。小车控制系统结构图如图3所示。
图3 控制系统结构图
3.1 智能小车模糊控制器的软件设计
为寻找上述问题的答案,专家在小鼠身上进行了测试。他们将长春新碱(一种抗肿瘤药)用于治疗患有白血病的肥胖和非肥胖小鼠,并对小鼠的饮食进行了调整。结果发现,如果在开始化疗前将肥胖小鼠的饮食从高脂改为低脂饮食,小鼠的预后会显著改善,其存活率也显著提高。低脂饮食组的小鼠存活率是高脂饮食组小鼠的5倍。
智能循迹避障小车控制的目的是协调好小车的前进速度和行驶方向,在规定的循迹引导线上能有效、快速地避开障碍物并以最优化的速度达到目的地,因此本文主要是对智能小车行驶方向和循迹避障的控制策略研究。
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代表的意思有所不同。
D>0表示智能小车行驶方向相右方距离障碍物的距离,D=0表示智能小车行驶方向相前方距离障碍物的距离,D<0表示智能小车行驶方向相左方距离障碍物的距离。
B>O表示舵机右拐,B<0表示舵机左拐,B=0表示舵机打正不改变小车行驶方向。
在避障小车运行过程中,考虑到系统偏差的产生是随机的,同时为简化计算,降低编程难度,输入输出变量的模糊子集的隶属度函数均采用三角函数的,模糊变量根据人的驾驶经验进行赋值,得到模糊集论域中各元素从属于各模糊子集的隶属度,如图5所示。
图5 各模糊子集的隶属度
3.1.3 确定模糊控制规则
当小车自动行驶时,通过改进型超声波传感器和红外循迹传感器不停地对当前车体周围情况和与循迹引导线的相对位置情况做出判断,当障碍物距离信息和偏差出现时通过调整小车的舵机的转角使小车体尽快避开障碍物并快速地回到正常的循迹引导线上行驶,小车在做出变向调整时,实际上是先在前方循迹引导线上选择某个期望点,并使智能小车按照一定的行驶轨迹到达期望点。在到达期望点处的同时使车体恢复到完全沿循迹引导线运行的状态,期望点的选取与当前车体周围障碍物的距离D和相对循迹引导线的偏差A有关,当车体距离障碍物越近也就是D越小或者和循迹引导线之间的距离偏差A大时,期望点选得远,故舵机转向角越大。根据上述并结合人在平常生活中的驾驶经验确定如表1的模糊控制规则表。
表1 模糊控制规则表
本文归纳出49条模糊控制规则。全部模糊控制规则采用:If((D=Di)&&(A=Ai)) Then (Bi=Bj)的形式,其中i,j,m,的取值为{1,2,3,4,5,6,7}。模糊控制规则表的内容如表1所示。
4 系统测试与误差分析
在智能小车设计实现过程中,对实验小车进行了多次现场测试,以提高小车的实用性及对障碍物的感知能力。在模拟实验中,试验了小车可能遇到的各种障碍物情况,同时对智能小车的障碍物感知能力、环境探测能力、运动能力等关键模块进行了测试验证。
智能小车避障误差分析如下:
1) 避障测距实验:本文设计的改进型超声波传感器的测量范围是0.02m~1.50m,测量精度设置为1cm,测量距离时保证传感器与障碍物无直接接触,数据显示在TFT彩屏上。测量结果如图6所示,可以得出在测量范围内测量的误差基本满足要求。
图6 测量结果
2) 避障路径:小车避障路径实验结果如图7所示,设置两个如图位置的障碍物,小车默认直线前进,起始点为A(0,0),目标点为B(-100,1300)。从实验结果可以看出,小车具有自动避障功能。
图7 小车避障路径图
5 结语
本文主要对智能小车的避障系统进行了设计,小车利用改进型超声波传感器对周围环境信息进行采集分析,同时利用模糊控制器的处理,实现了小车的自动避障,保证小车能够在各种不同情况下实现避障,通过程序仿真及实际验证表明,小车能够在不同环境中实现自主避障,从而大大提高了小车的实用价值,可以应用于现代物流、无人驾驶汽车、无人工厂、服务型机器人等诸多领域。
[1] 刘德华,张丹慧.新型智能小车的设计研究[J].科技视界,2016,02:135. LIU Dehua, ZHANG Danhui. new smart car design study[J]. Science Horizon.2016,02:135.
[2] 杨东,胡春华,水存洋,等.基于模糊控制的智能循迹小车的设计[J].山西电子技术,2015,06:20-22. YANG Dong, HU Chunhua, SHUI Cunyang, et al. The design of intelligent tracking car based on fuzzy control[J]. Journal of Shanxi Electronic Technology.2015,06:20-22.
[3] 尤天鹏,陈玉玲,苗佳兴,等.基于单片机智能循迹小车的设计与实现[J].品牌,2015,01:199. YOU Tianpeng, CHEN Yuling, MIAO Jiaxing. The design and realization of intelligent tracking car based on single chip microcomputer[J]. Brand.2015,01:199.
[4] 董雷刚,崔晓微,张丹.复杂路况下的智能循迹小车方案设计[J].电脑知识与技术,2014,07:1532-1536. DONG Leigang, CUI Xiaowei, ZHANG Dan. The design of intelligent tracking car in complex road conditions[J]. Computer knowledge and technology,2014,07:1532-1536.
[5] 徐锦钢,杨克,沈緐.大学生电子设计竞赛智能小车的制作研究[J].江西电力职业技术学院学报,2013,04:62-64,73. XU Jingang, YANG Ke, SHEN Yu. The design contest of the intelligent car production research[J]. Journal of Jiangxi electric power vocational technology college,2013,04:62-64,73.
[6] 卢威.智能小车避障系统的设计与实现[D].南昌:南昌大学,2012. LU Wei. The design and implementation of intelligent vehicle obstacle avoidance system[D]. Nanchang: Nanchang University,2012.
[7] 刘远明,李道霖,韩绪鹏.感应式循迹小车的设计与实现[J].电子设计工程,2011,10:70-73. LIU Yuanming, LI Daolin, HAN Xupeng. The design and implementation of induction tracking car[J]. Electronic Design Engineering,2011,10: 70-73.
[8] 李磊,曹生炜.智能小车避障技术的实现[J].微电机,2011,06:109-111. LI Lei, CAO Shengwei. The realization of the intelligent car obstacle avoidance technology[J]. Journal of micromotor,2011,06:109-111.
[9] 李恒.基于PCS7的模糊-PID控制在水泥过程控制系统中的应用研究[D].武汉:武汉理工大学,2010. LI Heng. the application research of cement control system Based on fuzzy-PID control[D]. Wuhan: Wuhan University of Technology,2010.
[10] 宁慧慧,余红英.基于红外光电传感器的智能车两轮差速转向模糊控制[J].工业控制计算机,2010,01:94-95. NING Huihui, YU Hongying. The two rounds smart car with differential steering fuzzy control based on infrared electric sensor[J]. Industrial control computer,2010,01:94-95.
[11] 黄杰,秦补枝.基于模糊控制的智能循迹小车的设计[J].中国科技信息,2010,20:148-149. HUANG Jie, QIN Buzhi. The design of the intelligent tracking car based on fuzzy control[J]. Journal of information science and technology of China,2010,20:148-149.
[12] 王祥好.模糊PID控制算法在智能小车中的研究与应用[D].合肥:合肥工业大学,2009. WANG Xianghao. Fuzzy PID control algorithm in the research and application of the smart car[D]. Hefei: Hefei university of technology,2009.
[13] 黄炳强,曹广益,费燕琼.基于模糊控制器的机器人路径规划研究[J].测控技术,2007,01:30-32. HUANG Bingqiang, CAO Guangyi, FEI Yanqiong. Robot path planning based on fuzzy controller research[J]. Journal of measurement and control technology,2007,01:30-32.
Design of Intelligent Tracking and Obstacle Avoidance Car Based on STM32
LV Shan JIN Siting SHEN Wei
(School of Electronics and Information Engineering, Dalian Jiaotong University, Dalian 116028)
This paper introduces the system of the tracking obstacle avoidance car based on fuzzy control, the system adopts the advanced ultrasonic sensors and infrared electric sensor collecting external information, then it will process obstacle information data by the MCU and transfer to the fuzzy controller, output corresponding signal of action through the fuzzy algorithm, control the intelligent car forward, turn and so on. This paper adopts the structure of the double input and single output fuzzy controller, uses the distance of obstacle and direction deviation of the intelligent car relative path center for input, uses the steering expected angle for output. Through process simulation and actual verification show that the car can achieve autonomous tracking obstacle avoidance in different environments.
intelligent car, fuzzy control, tracking, obstacle avoidance
2016年9月8日,
2016年10月29日
辽宁省博士科研启动基金项目(编号:20141108)资助。
吕闪,女,硕士,研究方向:信号与信息处理、通信及关键技术。金巳婷,女,硕士,研究方向:嵌入式技术、通信及关键技术。沈巍,男,硕士,研究方向:信号与信息处理、通信及关键技术。
TP302
10.3969/j.issn.1672-9722.2017.03.030