APP下载

基于STM32 单片机的寝室自动配送服务机器人

2021-05-28张煊赫

科学技术创新 2021年14期
关键词:货箱循迹陀螺仪

陈 涛 张煊赫 余 春

(重庆交通大学 信息科学与工程学院,重庆400074)

1 系统硬件结构设计

本设计的服务机器人由10 个硬件功能模块构成,分别是电机驱动模块,用以实现机器人的正常行进;陀螺仪模块,结合PID 算法用以实现机器人的稳定行进;RFID 射频模块,用以识别指定轨迹上的定位卡,实现机器人在配送终点的精确停靠;循迹模块,用以机器人对轨迹的边缘检测,实现机器人轨迹行进的稳定性,不脱轨、不偏轨;GSM 模块,用以实现机器人在到达目的寝室后,向下单人发送短信验证码,确定取货人身份;键盘输入和LCD显示屏,用于取货人输入4 位短信验证码和显示输入;无线通信模块,用于机器人与管理终端和客户终端的实时通信,实现管理人员和客户对机器人实时位置的查看;电磁锁和继电器模块,用于打开和关闭货箱,实现开箱关箱的电控过程,系统硬件结构图如图1 所示。

2 系统主要模块

2.1 RFID 射频模块

本设计中对于目的寝室和机器人实时定位采用了室内普遍使用的RFID 技术,定位方案为机器人车载RFID RC522 射频模块,轨道铺设RFIDIC 卡电路,在机器人行进的过程中能够高效地读取当前位置并根据IC 卡编号判断是否为终点寝室位置,从而控制机器人继续前进或者在当前位置停止。RC522 是一种非接触式的读写卡芯片,数据传输速率非常高,适合应用于机器人快速行驶中进行识别。

2.2 循迹模块

本设计循迹模块采用TCRT5000 传感器,利用红外光探测,具有高灵敏度、高抗干扰、性能稳定等特性。轨迹使用6cm 宽白线,所以采用5 路TCRT5000 传感器进行轨迹边缘检测,当发生脱轨、偏轨等情况时,进行检测纠正。

2.3 无线通信模块

本设计机器人与管理员终端的无线通信采用NRF24L01 无线收发模块,此模块使用2.4G 通信技术,拥有全双工、透明传输方式、高速率迟延小、不限包长、大数据传输、性能优异等特点。能够实现机器人将实时位置信息快速传回管理员终端的功能,并且能够将管理员终端的控制信息同时高速传输至机器人端,实现机器人的实时位置监控与配送流程反馈。

图1 系统硬件系统图

2.4 陀螺仪模块

在机器人行驶过程中,最为重要的姿态判断分析传感器即为陀螺仪传感器,通过陀螺仪机器人可以分析出当前行驶的偏航角度,并结合PID 算法及时作出调整,保证机器人行驶的稳定。在机器人行驶,三维空间中通过判断Z 轴角度,即机器人车体的航偏角,即可判断机器人是否行驶为直线,而Z 轴在运动情况下有累积误差。因为Z 轴角度是通过对角速度积分计算出来的,没有观测量滤波,所以漂移是不可避免的。X,Y 轴是有重力场滤波,所以不会有漂移,Z 轴只能用短时间内的相对测量量。所以相对于MPU-6050 裸电路,我们选用基于MPU-6050 芯片的HWT101 陀螺仪模块,此陀螺仪模块相对于裸电路,此模块输出高精度的单轴石英晶体(水晶)陀螺仪,采用高性能的微处理器和先进的动力学解算与卡尔曼动态滤波算法,能够快速求解出产品当前的实时运动姿态;且采用数学积分及运动估算,解算出高精度旋转角度,避免出现大幅度误差;使用了先进的数字滤波技术,能有效降低测量噪声,提高测量精度。模块内部集成了姿态解算器,能够在动态环境下精准输出产品的当前姿态,姿态测量静态精度0.1 度,稳定性极高。通过后期的测试,完成30 分钟的机器人配送任务陀螺仪Z 轴角度累计误差<1°,不影响机器人的正常配送过程。

3 系统机械结构设计

配送机器人采用了车型机器人的结构,机械结构主要包括了车体底盘部件、顶部货箱部件以及矩阵按键与LCD 显示屏。机器人车体底盘车轮按照同边同接进行控制安装,即同一边的车轮转速采取同一PWM 波进行调制,保持大致相同转速,方便控制。车体底盘选用金属材质,保证其强度和载货稳定度,在调试过程中,进行碰撞测试时,保证其刚度和碰撞强度。车体轮胎选用内填泡沫型,能够对车体进行缓冲,保证其行驶过程中过障的稳定性,以增强其对地形的适应性。

机器人整体架构采用了三层结构,上层搭建配送货箱,并嵌入键盘矩阵和LCD 显示屏,实现一体化,将货箱置于顶层有利于用户进行输入取货码、取货等操作;中层放置机器人电路模块、续航电池并搭建整体电路,保证了电路运行的稳定性和隐秘性,减少外界对电路的破坏,并且作为中层,有利于对顶层和底层模块进行供电和控制;底层放置了RFID 射频模块和循迹模块,主要是基于这些模块的识别和检测距离,有利于循迹模块对行驶轨迹的边缘检测,RFID 射频模块对轨道IC 卡的识别。

4 算法系统设计

机器人配送主要过程如图2 所示,首先等待管理员终端的配送信号,客户下单之后,管理员对订单进行查看,将货物装入机器人货箱中,发送开始配送信号。机器人接收到开始信号后,开始循迹前进,并同时识别轨道IC 卡,判断当前寝室是否为送货终点,若为终点,则停止前进,向用户预留手机号码发送验证码短信,等待用户取货。用户通过键盘输入验证码,若错误则重新发送短信,若正确则打开货箱。在货箱关闭之后,则自动返程,返回发货起点,完成一单货物配送,如图2。

4.1 通信协议制定

机器人与管理员终端使用无线通信模块进行通信,该模块的特点是全双工透传模式,本设计通信过程也采用这种模式。但在通信过程中,双方采取的接收和发送方式不同,且开发环境不同,所以采用的传输数据格式、解析方式、传输速率也十分重要。本设计在传输中采取9600bps 速率的串口透传,根据电脑终端通过串口发送时,需要将帧头设置为0x00 数据的特点,同时,电脑终端需要向机器人传输1 位寝室号信息、11 位预留电话号码信息、4 位取货码信息,需要信息包括16 字节数据,所以制定电脑终端向机器人数据传输一帧为19 字节,其中包括2 字节帧头,作为数据信息开始标志,16 字节数据信息,以及1 字节帧尾,作为每帧数据结束标志,以此规定数据传输协议,如表1所示。

表1 通信协议数据格式

4.2 机器人运动算法——PWM 调制

对于机器人运动采用的主要控制策略为通过控制电机的电压,即可控制电机达到指定的转速。本设计中的机器人采用了4个电机,即4 个电机转速相同时,即可使机器人前进、后退;右行走轮系转速大于左行走轮系时,即可使机器人右转;左转同理。本设计采用PWM 调制的方法来控制电机的转速。对于机器人的主控芯片STM32 而言,可以采用STM32 自带的定时器做为脉宽控制定时方式,以此产生的脉冲宽度非常精确,误差范围仅在微秒级别采用的L298N 电机驱动模块,控制单个电机使用3 个引脚,分别为2 个电平输出引脚和1 个电机使能引脚,所以只需将使能引脚接入STM32 的一个定时器控制引脚,采用PWM 调制,控制STM32 输出信号的占空比,控制电机驱动模块的使能性,即可在电机端输出不同的电压,完成对不同电机的调速。

4.3 行驶稳定性——PID 算法

由于机器人运行的环境不同,同时电机安装的硬件稳定性也不同,所以仅仅采用PWM调制方式对机器人的行走进行控制远远不够,即使电机转速相同,机器人行驶过程中可能会偏离指定方向。为了使机器人更加稳定地行驶,本设计采用陀螺仪测量结合PID 算法控制的方式。相较于常用的增量式和位置式PID 控制算法,增量式PID 算法得出的控制量对应的是近几次与目标误差的增量,而不是位置式PID 控制算法得出的实际位置和预期位置的偏差,采用增量式PID 算法能够在本设计获得比较好的控制效果,同时,当系统突发问题时,增量式不会严重影响系统的工作。本设计采用以机器人动力系统作为类比,陀螺仪模块为测量器,增量式PID 算法根据陀螺仪测量偏离角度数据和初始化三大系数输出调整的PWM 调制波控制车轮转速,减小偏角,再测量偏角,构成闭环反馈系统,完成对机器人行驶过程中方向的控制,使机器人以直线行驶,提高其行驶稳定性。

结束语

本自动配送服务机器人通过STM32 主控芯片控制其行进与通信,经过陀螺仪和PID 算法控制机器人稳定行进,依靠RFID射频和循迹模块准确定位,进行指定路线配送与返程。经测试,目前机器人能够胜任对单个用户下单的精准配送,完成自主配送、自动返回,整个系统能够完成用户网上下单、管理员接单、机器人自动配送并返回的整体过程。对后续也将对机器人的结构和算法进行升级,使本自动配送服务机器人能够同时完成多任务的配送,提升整体效率,以便更好地服务于人类。

图2 硬件系统图

猜你喜欢

货箱循迹陀螺仪
KD514:陀螺仪船桨空间姿态捕捉方法
微卡基础货箱结构设计
基于Allan方差分析的陀螺仪漂移误差辨识与仿真复现
基于DFT算法的电力巡检无人机循迹检测系统设计
浅析N1类轻型货车货箱护栏通用设计
基于EMD的MEMS陀螺仪随机漂移分析方法
基于离散傅里叶变换的多旋翼无人机循迹检测系统设计
浅谈基于机器视觉和姿态检测的循迹智能车
高效倒运货箱及其相关专利检索和申请
微机械陀螺仪概述和发展