智能循迹避障小车的设计与实现

2019-11-03 13:11徐静李欣欣
电脑知识与技术 2019年24期
关键词:超声波传感器

徐静 李欣欣

摘要:智能循迹避障小车以STM32为核心控制器,可以在行驶过程中调节小车的速度和方向。小车前方安装的两个灰度传感器用于检测路面上的黑色轨迹,超声波模块用来实时检测行驶道路前方障碍物,从而实现小车的循迹和避障功能。经过实际测试,各组成部分协同工作可以实现小车的避障和循迹的功能,且小车运行安全稳定。

关键词:循迹避障;STM32;传感器;超声波

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

文章编号:1009-3044(2019)24-0191-03

开放科学(资源服务)标识码(OSID):

Design and Implementation of Intelligent Tracking Obstacle Avoidance Vehicle

XU Jing, LI Xin-xin

(College of Computer and Information Engineering, Xinjiang Agricultural University, Urumqi 830052, China)

Abstract: The intelligent tracking and obstacle avoidance trolley is controlled by the STM32, which can adjust the speed and direction of the trolley during driving. Two grayscale sensors installed in front of the trolley are used to detect the black trajectory on the road surface, and the ultrasonic module is used to detect obstacles in front of the road in real time, thereby realizing the tracking and obstacle avoidance functions of the trolley. After the actual test, the components work together to realize the obstacle avoidance and tracking function of the trolley, and the trolley runs safely and stably.

Keywords: The sensor; Ultrasound; Single chip microcomputer; Automatic control

1 绪论

1.1 研究的背景及意义

近年来,科学技术的快速发展,极大地提高了中国社会的经济发展水平。为了大力发展中国制造产业,中国发布了《中国制造2025》重大政策战略。在此基础上,中国汽车工业协会发布了汽车工业发展“十三五”規划,它强调了大力发展智能汽车产业的重要性[1]。智能小车,是一种以汽车电子为研究背景的多种学科相互渗透的科技创意性设计。本设计主要由检测部分、动力输出部分以及核心控制部分三部分组成,小车通过传感器可以实时检测黑线轨迹和前方障碍物,以此实现小车的智能循迹和避障的功能[2]。

1.2 发展趋势

随着当前科学技术的快速发展,智能车辆已经迎来一个新的发展时代。近年来有以下发展趋势:

(1)智能车辆的性价比逐步提高。在速度、精准性、可靠性、操作性和可维护性等方面也在不断提高,价格却不断降低。

(2)越来越依赖传感器。除了传统的加速度传感器、位置传感器、速度传感器以外,各种高级传感器,如视觉、声音、压力和触摸,已被用于环境建模和决策控制。

(3)系统控制权限不再完全交付机器,更加注重人机交互控制,即通过人工干预加上本地控制构成一个完整的控制系统。

2智能循迹避障小车的设计方案

2.1 系统的总体设计

本设计控制核心为STM32,通过I/O口可以直接控制电机驱动模块,进一步控制电机,通过调节I/O口占空比改变直流电机的转速实现小车平台的转向和移动。为了实现小车的避障功能,在小车车头安装超声波模块用来实时检测小车行驶道路前方障碍物。为了实现小车循迹功能,在小车车头安装两个灰度传感器,用来检测小车行驶路线。在本设计中蓝牙模块用于小车和手机端实时通讯,追踪数据,方便调试。电源模块的作用是为芯片提供稳定工作的电压。总体框图如图1所示。

2.2 设计方案选择及硬件设计

针对现有智能小车存在的不足,结合实际工作环境中的需求,本设计在智能小车道路识别方面做了一些改进,提高了识别准确度。本设计主要由以下模块构成,包括灰度识别模块、超声波模块、主控芯片、电源模块等。

2.2.1 单片机的选用

本设计单片机的选型从以下几个方面考虑:一是要有定时器功能,因为控制小车轮子转速需要PWM(脉冲宽度调制),用于实现避障功能超声波模块的驱动也需要用到定时器。二是要有A/D转换功能,因为灰度传感器输出的事模拟信号,需要通过A/D转换变成数字信号才能被单片机所使用。

综上所述,结合本次设计的实际情况选择STM32,自带A/D转换器且定时器功能比较强大,外设接口丰富,性价比非常高。

2.2.2 超声波模块的选用及设计

为了降低开发成本,本设计使用超声波模块来测量距离。市面上超声波测距模块类型很多,其中HC-SR04超声波模块测量范围相对较广,测量精度相对较高,属于非接触式测量传感器[3]。该模块各项性能指标满足本设计的需求且价格合理。因此本设计采用HC-SR04作为测距模块。该模块使用也比较简单,通过trig引脚触发来启动测距,若有信号返回,则echo引脚输出一定时间高电平,通过测量高电平持续时间可以计算出小车和障碍物之间的距离[4]。

2.2.3 循迹模块的选用及设计

本设计采用的灰度传感器为亚博智能灰度传感器,用来实时检测路线。该模块输出信号为模拟信号,使道路识别功能更加灵敏、精确。本设计采用灰度传感器为循迹功能提供一种新的思路。由于光在不同颜色的物体表面反射程度不同,所以传感器接收到的光强度也有所不同,灰度传感器上面的光敏电阻阻值不断变化,输出电压也就有所变化。当环境光干扰不严重时,非常适合用于区分黑色和白色。该传感器正常工作电压较广,适应性强,对电源要求较低。它输出的信号是模拟信号,因此需要ADC模块来做模数转换变成数字信号后供单片机使用进行不同颜色的判别。

2.2.4 蓝牙模块的选用及设计

本设计采用HC-05主从一体蓝牙模块,实现小车和手机端通信。因其价格比较合理,使用方便,在近距离无线通信方案中有较多的应用,通过简单的配置就可以使用[5]。通过蓝牙模块的无线传输功能把数据发送到手机端,可以实现数据实时监测,方便调试。后期也可以用它实现无线遥控,进行数据的监测。

3 数据处理

3.1 传感器数据处理

在本设计中用于道路识别的是灰度传感器,输出的信号为模拟信号,需要经过A/D转换,转换为数字信号为单片机所用[6]。本设计所采用单片机为STM32,自带12位分辨率ADC,通过CubeMX软件配置ADC模块为连续转换扫描模式,ADC转换通道数量为8个,ADC时钟周期为12MHz,采样周期为71.5个时钟周期,通过公式(1),STM32的采样时间转换公式:

其中t为采样时间,T为ADC采样频率,为ADC时钟周期,通过公式(1)计算得出转换时间为6μs。两个灰度传感器各用4个通道,最后对4个通道输出值取平均值,这样配置可连续输出数据并且输出数据稳定,抗干扰性强,并且转换速度完全满足本设计要求。

经过上述配置就可以分别获取到两个灰度传感器的值,但是这样并不能通过传感器的值获取当前小车相对于道路的左右偏离情况。所以,在本设计中对传感器值做以下处理,该灰度传感器从纯白到纯黑输出的值大概是1到2的连续数值,将该数值放大50倍,得到50到100范围内连续的信号。由于两个传感器在相同位置输出值存在偏差,且处理数据时放大倍数较高,实际右边传感器测量到的输出值比左边传感器测量到的输出值小10,所以最终单片机使用到的传感器的值如公式(2)所示:

其中,为最终处理结果,为左边灰度传感器输出值,为右边灰度传感器输出值。数值经过公式(1)的处理相当于在道路上构建了一个范围大概是-40到40的一维坐标系。

3.2 PID算法在本设计中的应用

在本设计中执行机构是电机,用于控制小车运动,测量元件是灰度傳感器,用于实时检测小车位置偏差,因此在本设计中可以运用PID控制器来对小车进行控制。

通过增量式PID运算可以得到一个输出值用来纠正小车偏移方向,但是小车的轮子分为左右两边。通过蓝牙模块和手机通信可以在手机端实时追踪小车数据,通过分析发现,当小车向左偏离时增量式PID计算结果全部为正数,当小车向右偏离时增量式PID计算结果全部为负数。给小车一个初始速度让小车向前行驶,当小车行驶方向向左偏离时它应该向右转,所以增大左边车轮速度,减小右边车轮速度,反之亦然。通过如下处理可以满足左转和右转两种情况,首先获取增量PID计算结果,限制计算结果上下限,然后将结果作用到车轮转速控制。

4 软件设计

4.1避障功能设计

小车在行驶的过程中需要实时获取道路前方障碍物信息,并做出相应的决策。小车每隔1ms发送一次Trig信号,用于启动超声波模块测距,检测小车前方障碍物。如果小车和障碍物之间的距离小于20厘米,则小车暂停等待,否则小车继续向前行驶。智能小车避障流程图如图5所示。

4.2 循迹功能设计

循迹功能为本设计核心功能, STM32读取并处理灰度传感器输出值,获取当前小车相对于道路的位置信息,每隔10μs通过PID控制器调节小车左右车轮转速,调节小车到期望的位置。智能小车循迹流程图如图6所示。

5 结论

本设计是以STM32为控制核心的智能循迹避障小车,小车在行驶的过程中不断调节自身行驶速度方向,使小车按照规定的路线正常行驶,并且在行驶同时检测小车前方是否有障碍物,当小车发现前方有障碍物时就停止避免发生碰撞。智能汽车的研究在当前非常受重视,并且各个国家这方面的投入也越来越多。智能车辆将伴随着人工智能技术、计算机技术、自动控制技术的不断进步进入一个快速发展的新时期。

参考文献:

[1] 周生远,王浩,于汇鑫. 基于单片机的智能小车避障循迹系统设计[J]. 科技传播,2017(07).

[2] 南春岩. 基于单片机的机械小车自动技术实训[J]. 科技资讯,2017(27).

[3] 胡志.基于PID控制的两轮自平衡小车设计[J].电子质量,2017(12).

[4] 李伟中.模糊PID控制算法在智能小车中的研究与应用[J].工业设计,2016(03).

[5] 杨前明,张君,阮益. AGV轨迹规划及其纠偏控制机理研究[D]. 浙江大学. 2018(11).

[6] 沈维佳. 多传感器小车的控制系统设计与研究[D].南京理工大学,2015.

【通联编辑:梁书】

猜你喜欢
超声波传感器
康奈尔大学制造出可拉伸传感器
简述传感器在物联网中的应用
“传感器新闻”会带来什么
跟踪导练(三)2
基于Niosll高精度超声波流量计的研究
蝙蝠的超声波
超声波流量计的研究
超声波流量计在兰干渠上的应用