当前位置:首页 期刊杂志

基于STM32单片机的智能避障系统的设计

时间:2024-05-04

汪媛

(武昌首义学院,湖北武汉 430064)

0 引言

近几年人工智能技术飞速进步,智能避障技术也得到快速发展,在各领域的避障技术中,人们意识到智能避障技术不仅要满足障碍物的躲避,重点应在于避障后能否实现智能路径规划,而传统的超声波避障和红外避障方案,由于传感器的距离缺陷和软件控制单一,使得二者在实际避障产品开发中应用范围有限[1]。因此,研制能实现智能路径规划的避障控制系统具有重大的现实意义与工程应用价值。

1 智能避障系统建立

SLAM(Simultaneous Localization and Mapping)模型是一种针对全局环境下的自主移动方案,该模型所解决的正是产品从一个位置开始,在运动的过程中利用自身携带的传感器感知周围环境并同时确定自己位姿的过程,而SLAM模型的应用主要是基于ROS(机器人操作系统)来进行搭建的和开发的[2]。

对于避障的需求中,环境模型无需细化描述,可以采用模糊思想将扫描环境数据统一作为障碍物处理。本设计智能避障方案的小车,在小车周围环境中的草木,被激光雷达扫描出距离点,然后在ROS 中编写程序将激光点信息与小车质点信息对比,将环境扫描点统一模糊输出为X、Y坐标值,根据坐标值建立实际环境框架[3]。具体程序描述思想为:边界={扫描点};障碍物={边界,指定路径行驶扫描点}。

在行驶的过程中,通过变换的数据值,写入数组集合中。当然在识别环境和规定目的地后,路径其实是动态的,因为静态的路径会使得移动性障碍无法躲避,扫描环境的误差无法弥补[4]。所以在程序上定义两个集合,一个作为选取量,另一个将选取量的输入再次对应环境路径,扫描建立环境的程序处理框图如图1所示。

图1 扫描环境程序处理流程

2 系统的硬件设计

智能避障控制系统要达到的目标是构建地图、路经规划、自动导航、室内定位及动态避障。智能避障控制系统的硬件中应具备激光扫描模块用于环境构建,摄像头用于辅助路径规划[5]。本系统以玩具小车的机械模型来模拟智能避障控制系统,具体零部件和模型包括:激光雷达、摄像头、树莓派4B、32G SD 卡、电机轮组2套、电池一个、充电器一个、底盘驱动板一块、USB数据线2根、转向舵机一个及金属转向结构一个。由于雷达要测量环境数据,所以置于小车平台上部,并且无遮挡。

2.1 智能避障系统的硬件结构

小车的主要硬件电路包含激光雷达扫描部分、单片机处理部分、电机驱动部分及电压驱动部分,图2是整个智能避障小车的硬件结构图。本设计采用激光雷达扫描模块,同时进行地图构建达到最佳路径规划的目的。激光扫描模块通过对小车周围环境进行描绘,将描绘的数据传输数据到STM32 单片机,经过程序数据记录按照目的回传数据和地图数据计算最佳路径,并传输给电机驱动模块,使得小车按照规划路径行驶。

图2 智能避障系统硬件结构图

2.2 智能避障系统主板选择

利用和搭造SLAM 的模型,需要一个特定的操作环境,这个环境必须或最低要有两个模块,就是测量环境范围,障碍物范围的测量模块,以及行走计数的记程模块[6]。本系统选用HiBot机器人平台。HiBot平台几乎包含所有SLAM框架的实验配置。其次,HiBot具有高精度的定位性能,这个性能重点是判断小车在陌生环境中只依靠自己的行走摸索确定自己位置状态的一种位置确定能力[7]。小车搭载的这一平台性能精度很高,而且还可以利用模糊控制理论对其程序处理优化。

2.3 测距传感器介绍

避障测量集中为三个方式激光、图像深度算法处理及超声波。超声波发展时间相对成熟,但是激光测距近几年比较热门由于其精度准、范围远[8]。本系统设计的智能避障控制系统使用激光测距方法进行距离测量,可以很容易实现较高的测量精度并应用于SLAM 模型中。采用的laser 测距范围为12cm-350cm,测距分辨率1°,测距精度2cm,虽然这款雷达的配置相对较低,但对于室内SLAM 方案的实验已经足够。

3 智能避障系统的软件设计

由于智能避障控制系统不仅要实现避障,重点应实现行进过程中的路径规划,所以本系统的设计思路是先确定主程序,然后根据实际硬件接口控制及功能,编写控制子程序,最后将子程序嵌入主函数,形成完整的智能避障控制系统程序框架,系统总体设计框架如图3所示。

图3 系统总体设计框架

系统分为上位层、控制层、下位层三个大的程序分类。激光雷达的扫描不同于超声波,红外等避障,模块可以直接连接stm32,并在程序中设置I/O检测电平信号,然后控制电机驱动。激光雷达扫描到的环境数据要进行保存,路径规划信息也需要在终端上处理,所以硬件采用树莓派4B 可以很好地解决这一问题。在程序设计上,将树莓派的信息保存处理定为上位层,单片机的控制驱动各个模块定为控制层,编码电机定为下位层,具体控制程序构架如图4所示。

图4 具体程序框架图

4 智能避障系统运行结果及分析

4.1 地图构建实验

选取室内和室外进行环境地图构建,实验结果显示智能避障小车将自身周围环境的物体都模糊为红色扫描点,这个结果符合预期的模糊控制理论下的SLAM避障模型设计。模糊处理后的环境为小车提供了可行性移动范围即红色扫描环境下的灰色区域,这表明将环境变量模糊化处理并建立SLAM智能避障模型的方案是可行的。通过实验也发现了该方案需要改进的地方,扫描的仅为二维空间面,智能避障方案是在二维环境下研究与设计的,在实际中小车在非水平地面上行驶,车下是盲区地带。

4.2 小车自主移动实验

在实际环境构建成功后,最关键的是自主避障的运行。运行试验依然是上述场景,分别观测调试小车是否可以到达目的地,行进过程是否正确及时躲避障碍物并按较佳路径运行,在实验中,可以发现避障小车在接收到目的地方向信息后,开始按目标方向行驶,并且在行驶过程中依然在不断扫描环境,依照自身位置改变和实时环境地图的建立及时改变行走路径,不仅达到躲避障碍物的效果同时也依照最佳路径在行驶。证明了基于模糊控制思想下的SLAM避障模型向目标地运行的过程中,可以准确识别并躲避障碍物,本系统设计方案是可行的。

5 结束语

本系统设计的智能避障控制系统,相比传统的红外避障、超声波避障而言,在避障的要求下更加智能化,从整体运行角度出发进行路径规划,除了能避开障碍物,更突出路径规划的最优化。硬件系统传感器采用激光雷达避障技术,处理器使用STM32 单片机,软件系统程序用C 语言编写,SLAM 程序设计基于模糊控制理论编写构架。借鉴ROS机器人的概念,利用激光雷达模块的全局扫描地图构建与定位移动而达到路径规划的避障效果,在现实生活中,有着非常可观的量产化意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!