基于STM32的自动分拣式仓储物流机器人设计
2023-12-22李兴龙朱罗通马勋兰
李兴龙,王 佩,朱罗通,李 江,马勋兰
(贵州师范学院 数学与大数据学院,贵州 贵阳 550018)
0 引言
近年来,随着科学的快速发展和技术的不断革新,被称为“信息产业的第三次革命”的物联网技术迅速兴起,得到了广泛的推广与应用,如智慧交通、智慧物流、智慧医疗、智能安全以及智能家庭等。在互联网浪潮的推动下,电子商务在全球范围内蓬勃兴起,物流行业也随之得到迅速发展,仓储物流成了现代供应链管理中的重要环节。然而,随着人们的物资需求越来越大,订单数量也不断增大,许多储物仓库的工作量与日俱增。传统的人工分拣方式存在很多的不足之处,人力资源浪费、成本高昂、工作效率低下和错误率高等问题,都严重制约了物流行业的发展。在物流运输过程中,部分地区的物流运输存在大量的资源浪费,给企业带来了巨大的损失。合理控制配送成本、降低运营风险是企业改革的重中之重。
为了应对日益增长的物流需求,利用机器人技术进行自动化分拣,成本较低并且具有较强的灵活性,更加适应小型企业的发展需求,在物流行业中有着巨大的发展潜力和重要意义。因此,自动化物流系统的研究与应用作为一种高效、智能的解决方案,正逐渐成为现代物流领域的热门研究方向之一。具有自动分拣功能的仓储物流机器人作为其中的重要组成部分,通过结合机器人技术和自动化设备,引入先进的感知、识别和控制技术,能够实现对仓库内物品快速准确地自动识别、定位和分拣,补齐了人工分拣的短板,极大地提高了分拣速度和准确性,同时降低了人力成本和错误率。该机器人为仓库管理者提供了高效且自动化的仓储物流解决方案,可以广泛应用于各大储物仓库进行无人化的物流管理,在一定程度上降低了配送过程中的损失。
目前,我国各地遍布着大量的储物仓库,但是由于对仓储物流方面投入的研究成本较少,并没有形成一套完整的无人化自动分拣体系,因此仓储物流的工作仍然存在着很多不足之处。本文旨在研究和设计一种具有自动分拣功能的仓储物流机器人,以应对现代物流环境中的挑战。本文通过对机器人的硬件和软件系统进行优化和改进,实现对仓库内物品的自动化分拣,帮助提升物流分拣工作的效率和准确性,并为进一步推动物流自动化发展提供有力支持。具有自动分拣功能的仓储物流机器人将成为未来物流供应链的重要组成部分,为降低物流成本、实现物流行业的高效运作作出积极贡献。
1 总体设计
本文中的仓储物流机器人以STM32单片机为核心控制器,选用STM32F103C8T6芯片为主控芯片。如图1所示,机器人通过RFID技术读取不同货物上的电子标签从而获得货物信息以及需要存储的货架位置信息。主控芯片根据读取电子标签得到的信息使机器运行到指定位置;机器人进行A*启发式搜索算法,自动规划最短路径,传至主控芯片,主控芯片根据反馈的路径信息实现机器人的智能寻路功能;红外传感器将机器人运行时的路况信息反馈到主控芯片,主控芯片根据反馈信息控制机体上下台阶;称重传感器会称量载物托盘上的货物质量;核心控制器根据货物的质量大小将它们分区域存储在货架的不同位置。
图1 仓储物流机器人总体设计
2 系统设计
该系统主要是由核心控制芯片、射频识别模块、智能循迹模块、称重及减震模块、升降及上下台阶模块等几个部分组成。
2.1 核心控制芯片
集成电路将电路中许多元器件集中制作在一块半导体晶片上,大大压缩了电子线路的体积,在各行各业中都有着极其重要的作用。本文所用到的STM32系列的单片机本质上也是一个集成电路,在人们的日常生活中被广泛应用,该系列单片机功能强大,稳定性好,而且还能调用自身官方提供的具有强大功能的库文件,简化了程序的编写,相对于其他单片机而言价格较低,十分适合入门学习。本文采用STM32F103C8T6作为仓储物流机器人的核心控制芯片。该芯片是一款由STMicroelectronics公司生产的32位ARM Cortex-M3内核的微控制器芯片,具有丰富的外设和强大的处理能力,适用于各种嵌入式应用。运行频率高达72 MHz,具有高性能和低功耗的特点,能够满足复杂的应用需求。此外,该款芯片还内置了多个外设,包括多个通用定时器、串口、SPI、I2C、ADC等,可以满足各种应用的需求。在本文的研究中,STM32F103C8T6作为核心控制芯片,可以通过I/O口与其他模块进行通信,将各个模块及其传感器反馈的信息与主控制程序完成交互,进行数据的传输与处理,从而操控所有模块进行工作,实现本文所述的各项功能。
2.2 RFID模块
识别技术作为信息采集的重要技术已经被广泛应用于各行各业,比较常见的有饭卡、门禁卡、公交卡、身份证等的识别,商场里零售数据的实时统计以及快递物流中货物的自动定位等。识别技术的出现帮助人们快速完成信息交互,使人们的生活更加便捷。
本文设计的物流机器人就是利用RFID技术来实现货物信息识别功能的。本文选用的RFID-RC522模块采用MFRC522芯片,可以通过无线射频的方式进行非接触式的双向数据通信。此外,它还可以利用无线射频对货物上的电子标签进行读写,从而识别货物信息并进行数据交换。射频识别速度极快,并且可以同时对多个目标进行识别,极大地提高了工作效率。
物流机器人通过RFID读取器自动识别电子标签后获取货物信息,并随货物状态的改变对标签信息进行更改[1]。设备通过射频终端读取货架上的标签信息,能自动选取空货架。在货物上架后,实时更新并记录货物的物流信息,通过Wi-Fi模块传到计算机系统,便于打印入库、出库清单和储物仓库的后续管理[2]。
2.3 智能寻路模块
2.3.1 GPS定位
目前,卫星信号覆盖面积十分广阔,使用GPS定位速度快,也相对比较稳定,因此本项目采用GPS模块进行定位。GPS模块采用NMEA协议,可以接收、解析卫星的广播C/A码信号,通过运算与每个卫星的伪距离,采用距离交会法求出经度、纬度、高度和时间修正量这4个参数,并通过串口通信将它接收到的信号反馈给主控芯片进行处理。
GPS模块接收到卫星信号后,通过STM32单片机的通信串口完成交互,主控芯片计算并记录机器人此时的位置情况,对机器人进行下一步的跟踪和定位,实现实时位置信息共享,以便于确定机器人的位置状态,并进一步根据GPS定位技术进行物流机器人的导航[3]。
2.3.2 A*搜索算法
机器人动态路径规划可以通过许多种算法来实现,正确地选择一种算法可以大大提高机器人的寻路效率,本文采用A*算法(A-star algorithm)进行线路规划。A*算法是一种基于启发式搜索的寻路算法,是一种静态路网中求解最短路径最有效的直接搜索方法,被广泛使用,例如路线规划、游戏AI等。A*算法通过估计从起点到目标的最短路径长度,不断地选择当前状态下最优的节点进行扩展,直到找到目标节点或者无法继续扩展为止。该算法综合了广度优先搜索和最佳优先搜索的特点,能够在保证找到最优解的同时,尽可能减少搜索的时间和空间复杂度。
A*算法的核心思想是通过定义一个启发函数,评估每个节点的优先级。启发函数通常是一个估计值,用来估计从当前节点到目标节点的代价,然后综合考虑节点的代价和启发函数的估计值,选择最有希望的节点进行扩展。A*算法维护一个优先队列,每次从队列中选择代价加启发函数估计值最小的节点进行扩展。
整个过程中,A*算法需要维护两个列表:开放列表和关闭列表。开放列表存储待探索的节点,关闭列表存储已经探索过的节点。算法通过计算每个节点的启发式函数值(估计到目标节点的距离)和代价函数值(从起始节点到当前节点的实际代价),选择代价函数值最小的节点进行探索。具体计算公式如下所示:
f*(n)=g*(n)+h*(n)
其中,f*(n):从初始状态经由状态n到目标状态的最小代价估计;g*(n):从初始状态到状态n的最小代价;h*(n):从状态n到目标状态的路径的最小估计代价。
可行性分析:若h(n)
本文将A*算法运用于分拣机器人,它会从起点开始,根据计算最小代价估计,动态地选择下一个代价最低的节点进行搜索,从而在较短时间内以尽可能快地找到最短路径,到达指定的货架,具有高效性。
2.3.3 超声波避障
超声波避障是一种常用的电子模块,可以帮助设备实现自动避障功能,常用于机器人、智能车辆、安防系统等领域,以提高安全性和可靠性。超声波避障技术是利用超声波在遇到障碍物时会被反射,结合信号发射及接收之间的时间差、发射器和接收器之间的距离,测算出信号发射器和障碍物之间的距离,从而及时对障碍物进行躲避达到避障效果。超声波测距传播距离远、范围广、速度快、计算处理简单,能对各种不同的介质进行反射,因此被广泛使用在各种测距装置中。
本文采用超声波避障传感器实现自动避障功能。超声波避障传感器体积小、功耗低、抗噪声干扰能力强,且相比红外避障,不易被周围环境干扰。将超声波避障模块(包括超声波发射器和接收器)连接到物流机器人的控制电路上,利用程序设置机器人通过发射器周期性地发射一个超声波信号,信号会在储物仓库里扩散,遇到障碍物时便反射回来。在接收器接收到经储物仓库里物体反射回来的超声波信号时,会将信息反馈给主控芯片。主控芯片根据超声波信号的强度及传播速度对反射回来的信号进行处理,可以计算出障碍物的位置和距离[4]。根据机器人和障碍物两者之间的距离,电机驱动器会驱动步进电机转动带动车轮采取相应的措施,例如停止前进、转向或改变路径[5],实现自动避障,避免了物流机器人的碰撞和损坏。
2.4 称重及减震模块
2.4.1 称重模块
生活中有各种各样的称重装置,例如家用的起重称、超市里的食品称以及称量大型车辆的地磅等,它们的称重原理类似,都是基于一种将质量信号转换为可测量的电信号的称重传感器。其中,转换方式为电阻应变式的称重传感器使用最为广泛,它基于应变反应,将应力变化转换为电阻变化。
本文采用HX711芯片实现称重功能。HX711芯片是一款专为精度要求高的称重传感器而设计的24位模数转换器芯片,最大可精确到1 g。该芯片的时钟输入引脚(PD_SCK)及数据输出引脚(DOUT)组成串口通信线,与主控芯片进行通信。根据仓库的实际情况设置多个质量阈值,当机器上货物的质量处于一定范围时,会优先将质量较大的货物放置在下层。
2.4.2 减震模块
对于物流仓库内一些不平坦的路面,本文采用弹簧连接减震器的机械结构实现减震功能。通过活塞运动产生阻尼力来对弹簧被压缩后的拉伸起到阻尼作用[6]。这种减震方式能尽量减少车身与弹簧和减震器之间的相对运动,减震速度快、效果好,能有效地保证货物的完整性,并延长机器人的使用寿命。
2.5 升降及上下台阶模块
2.5.1 升降
生活中的升降结构随处可见,工地上的起重机、小区里的电梯都用到了升降,为人或物带来高度上的变化,极大地方便了人们的生活和工作。
本文中的升降采用直流电机组件。直流电机组件是一种可以将电能经过一系列复杂的变换之后转换成机械能用来做功的装置,是机械传动结构系统中的一个十分重要的组成和控制部分,因其结构简单、价格低廉、可靠性高、抗电磁干扰影响强等优点,被广泛地应用在人们生活中的各个地方,例如电动车、无人机、人工智能机器人等。此外,直流电机还拥有良好的调速特性,这使得它在工业化进程中也承担了一个极其重要的角色,包括汽车、建筑、航空航天在内的许多领域的调速系统都需要用到直流电机。直流电机效率及可靠性高,工作寿命长,维护简便且成本低,应用广泛,是电力拖动的良好驱动。
本文采用的直流减速电机能将直流电源的输入与输出转换为模拟量,通过主控芯片进行控制,为升降模块减速传动结构提供驱动力。将减速电机连接一对竖直导轨,减速电机通过把电动机的动力通过齿轮(或者蜗轮蜗杆)减速机,大大降低转速,增加减速电机的输出扭矩,从而驱动货物托盘在竖直导轨上自由移动,完成上升或下降。
2.5.2 上下台阶
在原本升降系统的基础上添加红外传感器和电机组件,便可以实现上下台阶功能。红外传感器是一种非常常见且有用的传感器,根据红外光可反射的物理性质,利用物体发出的红外辐射与传感器接收到的红外辐射之间的差异来进行检测和测量,优点是灵敏度高,反应快,能快速感知物体,可以在许多应用中发挥作用,常用来避障、距离测量、温度测量等。
本文在物流机器人上搭载了足够的传感器,用来检测前方是否具有阶梯式障碍物,并通过感知台阶的高度和位置,使物流机器人做出相应的动作。正常行驶状态下,电动马达会驱动轮子在水平地面上前进或后退。当物流机器人上的红外传感器检测到前方具有阶梯式的障碍之后,减速电机开始运转,依次将机体的各个部分进行抬升或下降,然后通过以上步骤的循环迭代,完成整个上下台阶的动作[7]。
3 结语
仓储物流机器人结合了多种模块,与一些具有一定局限性的机械设备相比更加灵活,能够在各大储物仓库自动完成分拣并存储货物的整个流程。RFID技术识别货物的相关信息让数据信息更加准确,称重减震功能分区域存储货物,便于统计管理,并且使货物在运输过程中不易损坏,保障了货物的质量。该机器人还有抬升机构帮助升降和上下台阶以适应不同环境。机器人正在以肉眼可见的速度渗透到人们日常生活的方方面面,不仅是物流行业,以后许多行业都会呈现机器化趋势。本文设计的仓储物流机器人具有性能好、工作效率高等特点,能帮助分拣人员从一些危险的工作环境中解放出来,降低了安全事故的发生率及安全事故发生时造成的损失,在自动化生产的进程中具有良好的发展前景。