APP下载

基于STM32 的送餐机器人设计

2023-07-13秦艳

电子制作 2023年11期
关键词:循迹障碍物超声波

秦艳

(江苏联合职业技术学院 淮安生物工程分院,江苏淮安,223200)

0 引言

随着社会技术和经济的发展,机器人的应用越来越广泛。在极大地提升工作效率的同时,也为人们的生活提供了较多的便利。

对于送餐机器人领域而言,目前国内众多机构开展了研究。例如:文献[1]以ROS 平台为基础,设计了具有六个自由度的机械手臂,在食物抓取方面取得了良好的效果;文献[2]为送餐机器人规划了路径并设置了避障功能,该机器人能够比较准确地将食物运输至指定地点;文献[3]在ROS平台进行仿真,并展开了实验验证,实现了送餐机器人在复杂环境下的准确避障功能。上述研究均是针对送餐机器人的实际应用场景进行功能设计,达到了预期的目标。因此,对于送餐机器人的设计而言,关键在于应用场景和功能的确定。在该前提下,才能够设计出应用性较高的机器人。综上所述,本文以酒店为应用场景,拟定机器人的功能,实现机器人的结构设计,达到功能完善、使用便捷的目的。

1 送餐机器人功能设定及系统的布局

对于本课题而言,送餐机器人的工作场景为酒店,即送餐的地点主要包括酒店大厅、客房、酒店办公场所等地。因此,首要的步骤是通过对场景的分析,拟定机器人的基本功能。通常情况下,酒店各层的地面都较为平坦和光滑,且照明、电梯以及主要的用电设备均是二十四小时运行。故要使送餐机器人正常工作,可以不用考虑复杂的地形和环境,仅需要设计比较常规的功能即可。根据上述分析,送餐机器人的具体功能包括:循迹、避障、移动、定位、通信等。根据上述具体的功能,系统的基本布局,如图1 所示。

图1 系统基本布局

2 系统设计思路

根据图1 所示的系统基本布局可知,对于该送餐机器人的设计中,主要围绕这几个模块来进行。本文的具体设计思路为:送餐机器人以主控模块为中心,以蓝牙模块来实现信号传递、人机交互等通信功能。在蓝牙通信模块的媒介下,主控模块可以对循迹模块、避障模块、驱动模块等发送指令,让机器人根据指令按照规划好的路径进行动作。与此同时,机器人的运行情况,也同时以信号的形式反馈至主控模块,以判断机器人的运行状态,并适时进行调整。当机器人达到指定地点时,通过灰度识别功能指示其停止,从而完成送餐的整个过程。送餐的具体流程,如图2 所示。

图2 机器人送餐流程

3 系统硬件的设计

■3.1 主控模块设计

主控模块是硬件设计中的关键步骤,合理的主控芯片选择,对于提升系统的控制精度和控制效果具有举足轻重的作用。对于本文而言,在主控芯片的选择中,由于送餐机器人在酒店工作时,经常会因为送餐时间要求、酒店里面的人具有不确定的行走轨迹等因素,需要经常进行速度的变换或停止。因此,结合文献[4-5]的研究结论,STM32F103ZET6处理器对于控制机器人速度、加速度以及定位等方面具有良好的效果,与机器人运行的需求相适应。同时,也能够达到较好的系统稳定性。因此,本课题拟选择STM32F103ZET6作为系统的主控芯片。芯片的基本参数如表1 所示。

表1 STM32F103ZET6主要参数

■3.2 循迹模块设计

送餐机器人的循迹模块,考虑到应用场景为酒店,仅需要要求机器人按照既定路线进行运行和避障。通常而言,酒店每一层的面积并不是很大。且在酒店里面通常灯光都比较明亮。因此在循迹模块的设计中,需要考虑灯光对于传感器的影响因素。鉴于此,由于红外线的波长大于可见光波长,所以受到灯光的影响很小。在一定程度上来说,也确保了导航的准确性。因此,对于实现路径规划和导航而言,在既定的场景中,红外循迹是一种行之有效的方式[6]。故在循迹模块的类型选择中,也确定为红外循迹方式,其模块的基本电路如图3 所示。

图3 红外循迹模块

■3.3 避障模块设计

在酒店里面,由于人流量比较大,且每个人的行走路线比较随机。故送餐机器人在运行过程中,难免会遇到前方存在阻碍的情况。若不设置避障模块,则很容易与人相撞从而发生事故。因此,避障模块的设计是非常必要的。对于送餐机器人而言,由于本身的质量,在移动过程中存在一定的惯性,所以若当障碍

物距离很近的时候才判断出来,即使识别出了障碍物,由于惯性问题也有可能无法及时停止,继而导致与障碍物相撞。故在避障模块的选择中,主要考虑能够在障碍物较远的时候便识别出来,为即时停止提供缓冲距离。而超声波传感器则具有检测的距离较远、高精度以及抗干扰性良好等特点[7]。因此,选择超声波传感器作为避障模块的感应元件。超声波避障模块的传感电路如图4 所示。

图4 超声波避障模块传感电路

■3.4 定位模块设计

送餐机器人在运行和送餐的过程中,都需要随时进行定位。否则,送餐的动作无法完成。因此,机器人的设计中,定位模块也是不可缺少的一部分。在本课题中,考虑到机器人的结构特点以及运行到停止过程中的距离,拟选择体积较小、识别率较高的灰度传感器实现便捷的定位功能[8]。

■3.5 驱动模块设计

在机器人的行走机构设计中,常用的行走机构包括足式和轮式[9]。本文考虑到送餐机器人的工作场景,酒店的地面通常比较平坦和光滑。因此,在机器人的行走机构的类型选择中,要实现比较快速的行进,采用轮式的结构比较适合。因此,在确定了轮式结构为机器人行进的方案后,如何驱动是一个比较重要的问题。因为驱动模块就是确保其稳定和快速运行的关键。在驱动模块的设计中,考虑到直流电机对电磁转矩的变化控制性能较好,能够快速实现正转、反转以及各级调速、且调速类型属于无级调速、电机本身的启停性能较优等因素,能够比较好地实现机器人的运动控制,遇见障碍物或到达目的地能够及时停止。故在驱动模块的设计中,选择直流电机驱动,其驱动电路如图5 所示。

图5 驱动模块

■3.6 通信模块设计

通信模块的设计中,由于酒店的整体空间不大,采用蓝牙模块即可满足使用要求。故本文主要选择HC-06 蓝牙模块。原因在于其具有功耗低、在工作范围内的数据丢包率低以及灵敏度较高等特点[10]。HC-06 蓝牙模块的部分参数如表2 所示。

表2 HC-06基本参数

4 系统软件的设计

系统的软件设计主要包括驱动模块、循迹模块、避障模块、定位模块、蓝牙通信模块的程序设计。其中,驱动模块主要根据机器人的运动,通过PWM 占空比对其进行驱动来完成。而循迹、避障以及定位模块是工作的重点。其软件设计的具体步骤为:(1)在循迹模块中,先完成红外传感器的光电对管初始化操作,对GPIO 端口的速度进行配置,并对三个光电对管控制机器人的动态进行判断;(2)根据舵机控制避障模块的方向,让该模块能够在最大的范围内识别障碍物,并做出对应的动作;(3)灰度传感器将获得的参数与程序中设定的阈值进行对比,判断送餐机器人是否抵达了预期的位置,并进行信号反馈,让系统开展对应的动作指令。

在蓝牙模块的软件设计中,主要包括两个部分:(1)对送餐机器人主控芯片的程序进行初始化串口通信,系统需要对接收到的信号进行对应的逻辑处理,由此控制送餐机器人的动作;(2)上位机程序采用App Inventor 2 平台进行开发,实现人机交互界面和逻辑设计。

5 系统性能测试及优化改进

完成送餐机器人的软件和硬件系统设计后,需要测试系统的性能,以验证设计是否合理。因此,本文采用几何相似原理,建立了送餐机器人的模型,并在一个50m×40m 的空间进行系统的测试。测试内容主要包括机器人循迹的精度、避障效果、定位精度、系统的响应以及稳定性等,将各测试指标按照:最佳、良好、一般、较差以及极差五个等级进行评定[11]。测试的基本结果如表3 所示。

表3 系统性能测试基本结果

从表3 所示的系统性能测试基本结果来看,系统的循迹精度、定位精度、响应速度以及稳定性都处于良好的等级,说明这些基本的指标都能够满足使用要求。但是,从避障效果来看,仅为一般的等级,说明系统在避障方面存在一定的问题。通过分析,基本原因在于,避障模块的设计中,虽然超声波传感器比较适合于远处存在障碍物的识别,但是面对障碍物较近或是面对突如其来的近处障碍物时,其识别效果不甚理想。很容易导致机器人与障碍物相撞的情况。因此,根据测试的结果,需要对该模块进行改进,即在原超声波传感器模块的基础上,再添加红外传感器。将原先单一的超声波避障替换为超声波+红外传感器联合避障的系统[12~14],如此一来可以有效解决单一传感器的弊端,达到良好的避障效果。

6 结论

对应用于酒店场景的送餐机器人设计中,在确定功能的基础上,拟定了系统的各模块。并完成了该系统的硬件和软件的设计。通过性能测试发现,由于系统的避障效果不佳,故将原超声波传感器避障的设计方案改进成了超声波和红外传感器联合避障的结构,为后续该送餐机器人投入实际的使用,提供了依据。

猜你喜欢

循迹障碍物超声波
基于DFT算法的电力巡检无人机循迹检测系统设计
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
基于Niosll高精度超声波流量计的研究
基于单片机的智能循迹小车的设计
智能差分循迹小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究
蝙蝠的超声波
超声波流量计的研究
超声波流量计在兰干渠上的应用