基于单片机的避障智能车研究

2020-09-10 07:22王世明王壮壮胡祥宇贺鑫源杜晓翌
交通科技与管理 2020年2期
关键词:避障单片机

王世明 王壮壮 胡祥宇 贺鑫源 杜晓翌

摘 要:随着微处理器技术、多传感器融合技术以及先进控制算法的发展,具备自动驾驶功能的智能车受到越来越广泛的关注。本文基于STM32单片机,设计了具有避障功能的智能车,助力当下的智能车产业发展。本文设计的智能车利用红外传感器追踪行驶路线,利用超声波传感器检测周边环境数据,经模糊算法控制单元处理完成障碍物的辨识,并控制智能车的舵机和驱动电机实现智能车的避障。

关键词:单片机;智能车;避障;红外传感器;超声波传感器

中图分类号:TP273 文献标识码:A

0 引言

无人驾驶作为汽车行业未来的发展方向,对现有汽车领域的智能化提出了更高的要求,其对交通运输业有着深远的影响。随着先进控制算法、传感检测技术等核心技术的突破和推进,拥有无人驾驶技术的智能车将能处理更复杂的路况及突发状况,能更好地保障交通秩序以及行人、乘员的人身安全,同时也能极大地推进无人驾驶汽车的产业化进程。无人驾驶技术实现的一个重要基础是智能车的避障技术,这是保证车辆、行人安全的首要方式。本文设计制作的智能避障车的采集部分使用超声波传感器和红外传感器,处理和控制部分使用STM32单片机,执行部分使用电机和舵机;为调试方便,增加了显示部分,包括0.96寸OLED显示屏以及与系统运行状态相对应的多个指示灯。

1 智能车的避障原理

为了实现智能车的避障功能,常用的避障算法包括模糊逻辑算法、环境地图法、神经网络法、机器学习法等[1]。其中,模糊逻辑算法将传感器采集到的信息传至控制器,经过数据分析,输入给模糊逻辑控制单元,依据当前的运行状态,输出智能车电机、舵机的控制信号;环境地图法是将已知的地图信息输入到智能车的存储系统中,这样在智能车行驶的过程中,不断将采集到的外界信息和已存储的环境信息进行比对,原有环境信息中没有存储的信息将被排查出来,比如出现新的障碍物,这时候就需要分析并控制智能车避障,这种方法的应用受限严重,适应性较差,更适用于一成不变的情况,例如公园或景区游览车等;神经网络法采取神经网络的方式融合传感器信息,综合多个传感器的信息得到合理的避障方式,但是该算法的稳定性较差,难以确保智能车系统的安全性;机器学习法可以适应复杂的环境,能够通过不断地学习外界环境条件来逐渐优化控制算法,本质上是通过不断尝试将错误的方法筛除从而实现优化控制,但是该算法结构过于庞大,难以直接用于智能车系统的实时控制。综合来看,当前的避障算法各有特点,仍有待完善。

对于智能车的避障功能来说,常用避障算法实现的基础是传感器信息的采集,从采用的传感器角度,可以将避障方式分为激光测距避障、雷达测距避障、超声波测距避障、红外传感器避障等。

激光测距基于光学三角原理:半导体激光器发射激光到达障碍物体,反射后被线性CCD阵列接收器接收,信号处理器通过三角函数计算CCD阵列上的光点位置得到障碍物的间隔[2]。

雷达测距的原理为:发射器将强电磁能量经发射天线发送到空中,如果有物体进入到探测地区,该物体本身会散射一部分电磁波,这些电磁波中的一部分返回接收天线,此时接收器将接收的微弱信号放大后,再经处理器计算,就能获得物体的间隔、方向等信息。

超声波测距是模仿蝙蝠的定位系统:向某一标定目的地发射超声波,并由单片机计时,超声波遇到障碍物原路返回,当超声波返回到接收器时单片机停止计时,单片机处理这一段时间对应超声波的传输距离就可以推算出距离,该测距方式的方向性、穿透力强,精度高[3]。要完成超声波测距,需要超声波发射模块、超声波接收模块。其中,超声波发生器通常分为两大类:一类是利用特定形式的电路或电子器件产生超声波,另一类是通过机械方式产生超声波;两种超声波发生器的用途有所差异。综合来看,现在常用的是压电式超声波发生器,它是通过压电晶体的谐振产生超声波。

红外传感器利用物体的反射特性检测障碍物:红外线发射管发射红外线,以直线向前传播,如果沒有障碍物,信号将一直向前传播最后越来越弱直至消失;如果前方有障碍物,物体将反射红外线并被红外线接收管接收,这样就能检测到前方有障碍物。但是,由于光线的传播速度过快,红外传感器难以跟超声波测距一样利用返回信号的时间间隔计算障碍物距离;因此,红外传感器只能检测到前方有无障碍物,并不能检测障碍物的间隔,只能辅助避障。

上述不同的测距、避障方法,各有特点和适用场合。相比较而言,激光测距的精度很高,但是测量范围较小,通常只针对某一特定点进行测距,并且难以识别不在激光平面上的障碍物,因此不适用于智能车的避障处理;而雷达主要适用于军事领域,并且实现比较复杂,难以满足避障智能车对于器件经济性、简单化的要求。因此,本文选用超声波测距方法完成智能车的避障功能,如图1所示,并利用红外传感器辅助避障。

2 智能车的辅助功能

为了控制智能车的行驶方向,本文设计了智能车的循迹功能。循迹过程为:控制光电对管向路面发射红外信号,由于不同颜色的物体对光线的反射系数不同,智能车在接收到反射信号后,经比较器处理,根据反射信号的强弱判断智能车是否沿着既定的轨迹线行驶,并进行相应的控制。本文设计所采用的传感器是反射型光电探测器RPR220,如图2所示,其发射器是一个砷化镓红外发光二极管,接收器是一个高灵敏度硅平面光电三极管;该传感器有以下特点:采用塑料透镜,可以提高传感器的灵敏度;内置可见光过滤器,可以减弱离散光的影响;该传感器体积小、结构紧凑。

除了循迹功能,为了确保超声波传感器、红外传感器故障的情况下,智能车仍可控,本文设计了智能车的遥控功能。遥控设备的连接方式有很多种,例如红外、蓝牙、WIFI等;其中红外遥控方式使用普遍、成本较低。因此,本文设计所采用的是红外遥控器HS-021,其接收管是HS0038B。

3 避障智能车的控制

本文设计的避障智能车的基本运动控制方式主要有两个备选方案:方案一是一个舵机搭配一个电动机,舵机用来控制智能车转向,电动机提供前进或后退的动力;方案二是用两个电动机来完成行驶及转向,前进时两个电动机同时正转,后退时两个电动机同时反转,转弯时操纵两个电动机差速转动。

方案一控制方式的優点是指向精确、转弯的角度确定;同时,其缺点也在于转弯需要一定的转弯半径,当距离障碍物较近的时候转向,由于转弯半径的存在,可能会撞击到障碍物;因此这种情况下转弯通常需要后退一定距离再转弯。相比之下,采用方案二时智能车行驶更加灵活,可以在狭窄环境、遇到障碍物或与前车距离太近时原地转向,因此本文选用该方案。本文在制作智能车时采用了四个电机,每个车轮连接一个电机,每一侧的两个车轮的电机由一个信号控制,在这种运动方式下设计了前进、后退、向左转、向右转、停车、原地左转圈和原地右转圈七个运动状态。

智能车的避障系统包含信息采集、信息处理和运动控制三部分。其中,信息采集负责为整个系统获取有效信息;信息处理部分是避障系统的控制核心,这一部分完成对信息的处理和分析,如滤波、判断等;运动控制部分是对控制系统的执行机构进行控制。如果将避障系统看作一个人,信息采集部分是人的眼睛,信息处理部分是大脑,而运动控制部分则是四肢,三部分相辅相成,各有功能和分工。

信息采集部分的主要功能是获取有效的信息,主要包括通讯、ADC采集、信号前端处理等功能。对于信息采集部分,本文设计的智能车利用定时器中断函数来读取超声波传感器接收模块的高电平的时间,通过计算得到障碍物的距离。另外,红外传感器作为辅助避障功能器件,没有测距的功能,但是可以检测到前方是否有障碍,检测固定距离之内的障碍,这个距离阈值可以通过电位器的调节来变化。

信息处理部分是在采集到传感器数据之后,通过滤波等处理,判断智能车的周围环境,并对运动控制部分给出控制信号,完成智能车的避障行驶控制。在智能车的行驶过程中,超声波传感器用于检测前方的障碍物距离,当障碍物的距离达到警戒值时,智能车进一步比较左前方和右前方的障碍物距离远近,向障碍较远的一边运动。此外,对于超声波传感器的检测盲区,利用辅助避障的红外传感器进行障碍物检测、智能车转向控制,辅助完成避障功能。

除此之外,为了便于进行系统调试、观测测试数据更直观,增加了系统的显示功能:利用一块OLED显示屏,用于实时显示系统运行过程中的数据、状态等信息。

4 总结

本文基于STM32单片机,设计了具有避障功能的智能车系统,该系统包含循迹行驶、智能避障、遥控控制等功能和特色,本文的研究有助于具有自动行驶功能的智能车产业的发展。

参考文献:

[1]王崇.汽车智能避障方法仿真研究[J].计算机仿真,2014,31(06):183-186+413.

[2]胡扬坡.轻武器动态参量测试系统设计及试验研究[D].南京理工大学,2014.

[3]孙艳玲.简易高精度超声波测距仪的设计[J].机械管理开发,2008,23(06):102-103.

猜你喜欢
避障单片机
单片机在智能控制中的应用
基于LabVIEW的自主巡航与遥控双功能智能小车研发
基于HC—SR04超声波传感器的智能避障小车设计
基于STM32芯片的移动机器人的避障研究
基于“STC80C51单片机”的智能小车系统的设计
自行小车避障的设计与实现
C8051F020与80C51单片机的异同点
单片机I/O口模拟串行通讯的C51实现方法
单片机调试方法的探讨
用PIC单片机制作的时间继电器