陈超,周向学,黄睿,龙宇旗,张强群,许建明
(邵阳学院 信息科学与工程学院,湖南邵阳,422000)
随着互联网和电子商务的蓬勃发展,人们对于快速、高效的商品配送需求不断增加。传统的人工配送方式已经无法满足大规模、高频次的配送需求。传统的商品配送通常需依赖人工操作,但随着劳动力成本的上升和劳动力供应的短缺,传统的人工配送方式面临诸多挑战。伴随着计算机视觉技术的飞速进步,特别是深度学习和神经网络的应用,机器在图像识别、目标检测和场景理解等方面取得了显著的突破。这为商品配送机器人提供了更准确、高效地感知和决策能力。
嵌入式微控制器作为一种具有强大数据处理能力的微型计算机系统,可实现高复杂度、实时性要求高的任务。在本设计中,以图像处理模组获取路径信息,以嵌入式微控制器作为主要的逻辑控制单元,实现数据采集、分析、处理。基于机器视觉技术的商品配送机器人可以提升商品配送效率,降低配送成本,提高配送准确性,满足电子商务快速发展的配送需求,解决人力成本上升和劳动力短缺的问题,并利用机器视觉技术的快速发展提供更高效、准确的商品配送方案。
本设计采用STM32F103 芯片作为主控制器,驱动射频感应、超声波模块、电机编码器、触摸屏、数字舵机、语音播报等多个模块,由射频感应模块获取机器人当前位置,超声波测距模块和摄像头完成障碍物检测,电机编码器获取机器人当前速度以便完成速度控制,图像处理模组识别路线,采用触摸屏完成智能交互,使用WiFi 模组作为机器人与手机软件的沟通桥梁,数字舵机控制商品柜门的开关,驱动直流电机完成运动控制,语音播报模组完成语音提示。系统结构框图如图1 所示。
图1 系统结构框图
图2 超声波模块通信时序图
在本次设计中,微控制器需要驱动的模块有射频感应模块、超声波模块、带编码器的直流电机、图像识别模组、显示屏、舵机等,使用到SPI、UART、I2C 等通讯协议,涉及通用输入输出端口、高级定时器、串行通信、外部中断等多种外设。主控芯片需要与各模块完成通信,读取传感器输入的信号,并对数据进行分析处理,再控制执行机构完成输出。
STM32F103 微控制器是意法半导体推出的一款32 位ARM Cortex-M3 内核的微控制器产品系列,广泛应用于各种嵌入式系统和物联网设备中。STM32F103 微控制器采用ARM Cortex-M3 处理器内核,工作频率可高达72MHz,具有较高的计算能力和执行效率。其支持标量乘法、硬件乘加指令,以及支持单周期乘法和32 位除法指令,提供了强大的运算能力。STM32F103 微控制器具有灵活的存储器配置,包括闪存(Flash)和随机存储器(SRAM)。闪存容量可达到64KB 至512KB,其中部分型号还支持双闪存和扩展闪存接口,满足不同应用的存储需求。SRAM 容量一般在20KB 至64KB 之间。该系列微控制器配备了丰富的外设接口,包括通用输入输出端口(GPIO)、串行通信接口(USART、SPI、I2C 等)、模数转换器(ADC)、定时器(TIM)、PWM 输出、高级控制定时器(HRTIM)等。这些外设接口可用于连接和控制各种传感器、执行器和通信设备。总之,STM32F103 系列芯片具有极强的数据处理能力,可轻松应对高复杂应用场景,非常适合作为本项目的主控芯片。
K210 机器视觉模组是一种基于RISC-V 架构的嵌入式人工智能视觉处理模块,其采用双核64 位RISC-V 处理器,主频高达400MHz,具备较高的计算性能和数据处理能力。内置了丰富的硬件加速器,包括图像传感器接口、DMA 控制器、FFT 加速器等,可实现高效的图像采集、数据传输和信号处理。芯片内置了专用的神经网络处理单元KPU,支持快速高效地执行卷积神经网络(CNN)等机器学习算法,实现实时图像识别和分析。模组提供多种常用接口,如UART、SPI、I2C、GPIO 等,方便与其他设备进行通信和连接。还支持主流的深度学习框架和算法,如TensorFlow Lite、Caffe 等,可以进行图像分类、物体检测、语义分割等任务。
超声波模块是一种用于测距和探测障碍物的传感器,利用超声波技术工作。它由发射器和接收器组成,发射器发射通过电子脉冲激励发射器产生的高频声波,接收器接收到由目标物体反射回来的超声波信号。通过测量超声波信号发送和接收之间的时间差,就可以计算出目标物体与传感器之间的距离。在本设计中采用HC-SR04 超声波测距模块,它可提供2 ~400cm 的非接触式距离感测功能,通过一阶卡尔曼滤波器后可以得到更为准确的结果。本项目使用超声波测距模块获取配送机器人与障碍、行人等物体的距离。
电机霍尔编码器是一种用于测量电机转动位置和速度的传感器。它使用霍尔效应原理,通过感应电磁场的变化来确定电机轴的位置和运动状态。电机霍尔编码器通常由两部分组成:一个固定的磁极和一个安装在电机轴上的霍尔传感器。磁极通常固定在电机底座或转子上,而霍尔传感器则位于与磁极相对的位置。当电机转动时,磁极会经过霍尔传感器,改变传感器所感应到的磁场状况。霍尔传感器会根据这些磁场变化产生相应的电压信号,并将其转换为数字脉冲信号。使用编码器可以对电机位置和速度进行准确控制。
L298N 芯片是一种常用的电机驱动芯片,内部集成了双全桥驱动器,可以用于控制直流电机或步进电机的转动。L298N 芯片具有两个全桥驱动通道,每个通道可控制一个直流电机或步进电机。它可以接受来自微控制器或其他控制器的脉冲宽度调制(PWM)信号,并根据输入信号控制电机的转速、方向和制动。芯片能够提供最大2A 的电流输出,并具有较低的输出电压降。通过使用外部散热器,它可以保持较低的工作温度。芯片的控制接口包括使能端口(ENA、ENB)和方向端口(IN1、IN2、IN3、IN4)。通过设置使能端口和方向端口的状态,可以实现对电机的控制和操作。其拥有工作电压高、输出电流大、驱动能力强、发热量低、抗干扰能力强等特点。
触摸屏是一种用于输入和控制的电子显示技术。它可以将用户的触摸动作转换为电信号,以实现与设备、应用程序或系统的交互。在本项目中采用电容式触摸屏,其由玻璃面板和传感电极组成,触摸时会改变电容值,通过测量电容变化来确定触摸的位置。电容式触摸屏具有灵敏度高、透明性好、精度高、耐用性强、抗污染和易清洁等特点。在本项目中使用高清触摸屏可为用户提供直观、便捷、交互性强的使用体验,使用户能够通过简单的触摸操作来进行输入、浏览、导航和控制,大大提高了用户的操作效率和便利性。
系统软件执行流程图如图3 所示。
图3 软件执行流程图
图4 路径识别软件流程图
图5 PID 控制器结构
图6 姿态信息可视化显示
先利用摄像头进行视频采集,转换成静态帧信号,由K210 芯片对拍摄到的图像进行噪声去除、图像增强、边缘检测等预处理操作,提取路径信息判断路径范围,将提取到的特征与已知路径模板特征进行匹配,对有效目标图像进行阈值分隔,设置左右画面感兴趣区域,之后对阈值分割后的有效图像实行快速线性回归算法,将过道路径的特征线段与中线的误差返回,由主控芯片的串级闭环控制算法自动控制机器人的运动。
直流电机在电压、电流、磁场、负载的影响下运行是不稳定的,为了实现对电机的精准控制,就需要对电机完成闭环控制。PID 控制器是一种经典的反馈控制算法,用于调节和控制系统中的过程变量。本设计采用串级PID 闭环控制算法实现对机器人的运动控制,它由两个PID 控制器进行级联实现。内环为速度环,微控制器读取电机编码器数据来获取机器人当前速度,并将其作为速度环的当前值,以当前值与目标值之差作为误差值,在内环PID 控制器的作用下,将自动对速度进行动态调整,使速度误差趋于零;外环为角度环,图像处理模组将识别当前位置与目标路径角度偏差,将偏差值作为外环PID 控制器的输入以实现对机器人的运动路线控制。
九轴加速度陀螺仪是一种集成了加速度计、陀螺仪和磁力计的传感器,加速度计负责测量物体在三个轴向上的线性加速度。陀螺仪则用于测量物体绕着三个轴旋转的角速度,磁力计来确定物体的朝向,它可以感知物体的转动或旋转运动,并提供关于旋转速度和方向的数据。本项目采用MPU9250 九轴加速度陀螺仪,将加速度计、陀螺仪和磁力计的测量结果经过卡尔曼滤波器后再进行姿态融合,可以得到机器人在三维空间中的姿态角,通过获取机器人当前的姿态信息,以检测机器人的运动姿态或跌倒状况的发生。
射频感应模组是一种集成了射频通信功能的硬件设备,用于接收和发送射频信号,在本设计中使用射频识别技术感应标签、卡片等标记物来定位机器人的位置。本设计使用的射频感应模组(RC522),将其安装在机器人底部,感应区朝向地面,距地约3cm,并在地面放置提前写入特定数据的IC 卡,这样当机器人感应到不同的IC 卡时,即可读取数据来确定自己的位置。STM32将该位置数据通过ESP8266芯片发送至物联网云平台,手机软件通过MQTT 协议接收此数据并显示。
采用ESP32 芯片获取OV2640 摄像头数据。使用适当的库函数初始化摄像头模块,并设置摄像头的参数和分辨率。使用JPEG 库函数对摄像头捕获到的图像进行压缩编码。将连续捕获的图像帧打包成视频流。将压缩编码后的图像数据通过WiFi 连接发送到目标设备或服务器。可以使用ESP32 的TCP 或UDP 库函数进行网络传输。将图像数据分割为小的数据包,并逐个发送至物联网云平台,在手机APP 上通过互联网访问该云平台端口,对数据进行相应的解码和处理,以还原图像,即可实现在手机上获得摄像头的实时画面。
该项目配备在线点单软件与后台控制软件,为实现手机软件与机器人之间的通信,本设计采用物联网技术作为二者之间沟通的桥梁。三者之间通过物联网云平台完成数据互通。物联网云平台是一种用于管理、连接和处理物联网设备和数据的云服务平台。它提供了一系列功能和工具,用于实现物联网设备的集中管理、数据处理和应用开发。MQTT 协议是物联网通信的核心协议之一,具有设计简单,低带宽、低功耗和消息推送实时性强等特点,本项目中三者通信均采用MQTT 协议,通信方案图如图7 所示。
图7 物联网通信方案
配送机器人完成初始化后,将自动连接物联网云平台并订阅指定主题,使用手机在在线点单APP 上完成点单后,软件向物联网云平台发送携带商品信息、配送地址等信息的JSON 字符串。图8 测试图显示配送机器人成功连接上物联网云平台,并成功接收到手机端发送的携带订单信息的JSON 字符串。
图8 MQTT 协议测试
机器视觉模组经过一系列处理后可识别路径,并得到机器人与目标路径的角度偏差值,测试结果如图9 所示。
图9 识别路径
本设计结合嵌入式、物联网、机器视觉、人工智能等技术,综合了嵌入式微控制器、传感器、显示屏、视觉处理模组的使用,完成了基于机器视觉技术的商品配送机器人的设计,使用STM32 微控制器驱动各种硬件模块,实现各种传感器数据的读取,和对数据进行处理分析,使用K210 图像识别处理模组完成了路径检测与角度误差获取,完成了手机端软件与商品配送机器人之间的通信与控制。使用串级PID闭环控制算法对配送机器人进行精准的运动控制,通过物联网云平台完成了机器人前方画面的实时图像传输。本设计基于机器视觉技术实现了商品配送机器人的基本功能,可完成室内商品配送任务。