基于UWB定位和OpenMV识别的智能跟随行李箱设计

2020-10-14 20:44叶思言张永宁李锦张炼科周玉郑美芳张松
成都工业学院学报 2020年3期

叶思言 张永宁 李锦 张炼科 周玉 郑美芳 张松

摘要:为解决人们日常出行时因行李过多过重而导致行进不方便的问题,提出基于UWB定位和OpenMV识别的智能跟随行李箱设计方案。设计以STM32F429单片机作为控制核心,采用UWB定位模块、OpenMV机器视觉模块、无线通信模块、超声波避障模块等做外设,通过OpenMV摄像头拍摄图像并结合机器视觉算法对图片信息进行处理以此识别行李箱使用者,以PID算法调控行李箱的跟随速度与滚轮的转向助力,使用UWB定位技术实时监测行李箱的位置。样机测试结果表明:系统能实现自动跟随、实时定位与通信以及避障等功能,达到了“释放双手”的目的。

关键词:自动跟随;超宽带技术;嵌入式图像处理;智能行李箱

中图分类号:TP249 文献标志码:A

文章编号:2095-5383(2020)03-0029-05

Abstract:In order to solve the problem of the inconvenience caused by the excessive luggage during daily travel, the design scheme of intelligent following luggage based on UWB positioning and OpenMV recognition was proposed in this paper. It is designed with STM32F429 microcontroller as the control core, and the UWB positioning module, OpenMV machine vision module, wireless communication module, ultrasonic obstacle avoidance module, etc. are used as peripherals. The image is captured by the OpenMV camera and the machine vision algorithm is used to process the picture information to identify the luggage user. The PID algorithm is used to control the following speed of the luggage and the steering power of the roller. The UWB positioning technology is used to monitor the position of the luggage in real-time. The test results show that the system can realize the functions of automatic following, real-time positioning, communication, and obstacle avoidance, and achieves the purpose of “release hands”.

Keywords:automatic following;Ultra Wide Band(UWB);OpenMV;intelligent luggage

行李箱是人们外出、远行时不可或缺的拖载工具。过去,传统拉杆式托运行李箱一直不断强调其“持久耐用”的特性,在外观设计方面也都大同小异,没有特别突出的特性。在使用过程中,会因为长时间的拖拽导致手臂肌肉酸痛甚至可能拉伤肌肉,增加旅人的疲惫感,影响人们的出行质量。而现在,移动互联的“智能”应用模式开始进入到旅行箱包领域,并对箱包发起了功能性变革。

本文基于OpenMV(嵌入式图像处理)库中的视觉算法与超带宽(Ultra Wide Band,UWB)无线电定位技术[1],完成智能跟随行李箱的方案设计,使用OpenMV和UWB技术共同实现行李箱精准跟随。使用超声波测距感知周围环境完成避障功能。同时利用自制手环显示行李箱的方位、电量等数据。此方案实现了行李箱智能跟随、避障和报警等功能,智能跟随行李箱为人们的出行提供了极大的便利。

1 总体系统设计

1.1 总体设计结构

智能跟随行李箱系统总体设计主要包括:行李箱箱体、硬件主控制板、直流步进电机驱动模组、供电模组、手环、UWB定位系统、OpenMV识别模块。总体结构如图1所示。

1.2 电路原理框图

本设计以STM32F429为控制中心,OpenMV模块通过I2C总线协议进行相关信息的获取与传输,UWB定位模块与无线通信模块分别通过2个串口进行通信,通过GPIO口(PA14、PB5、PB0、PB1)分别作为4个超声波的接收信号控制引脚,通过GPIO口(PA3、PA5)输出PWM信号控制电机驱动模块。整个电路采用12 V锂电池组供电,再通过稳压电路转换为5 V、3.3 V分别为单片机和定位系统供电。智能跟随行李箱系统电路原理框图如图2所示。

2 系统设计

2.1 主控板選型

本设计以STM32F429为主控芯片,STM32F103为辅助控制芯片[2]。主控芯片与辅助芯片之间通过WIFI通信。STM32F429主要控制行李箱箱体上所有设备,实现基站与各种设备的通信、OpenMV摄像头对用户的图像信息识别处理、电机控制滚轮转动、人机之间无线通信以及超声波检测避障等。STM32F103负责接收UWB发送的信息,判断用户与智能行李箱之间的距离,当距离超过设定值时,向手环端发送报警提醒。

2.2 UWB定位系統设计

UWB定位系统由3个部分构成:电池供电的UWB定位标签、UWB基站(包含信号发射源和信号回收传感器)以及信号处理软、硬件平台,其原理如图3所示。多组基站对同一标签测距后,将所测数据上传到主控制板确定位置。设计中信号发射源和回收传感器集成一体,模块内置STM32微处理器,控制中心可以通过串口命令进行UWB参数设置、信号的发送和接收,并通过三角定位方式计算出基站与标签之间的距离。

到达时间(Time of Arrival,TOA)、到达时间差(Time Difference of Arrival)、到达角度(Angle of Arrival,AOA)定位技术是UWB定位算法中比较成熟的几种定位算法。本设计采用TOA定位技术,TOA定位技术通过分别测量移动终端与3个或更多基站之间信号的传播时间来定位[4]。

如图4所示,设行李箱的中心位置为坐标原点(0,0,0),在行李箱的两侧及对侧中间分别安装3个UWB基站,其坐标分别记为A(Xa,Ya,Za),B(Xb,Yb,Zb),C(Xc,Yc,Zc)。对象标签为用户所戴手环如图4中的红点,其位置为(X,Y,Z),为方便计算,设定基站AB与AC之间形成的夹角为90°,测量得到A、B、C基站与对象标签之间的电波传播时间分别ta,tb,tc,可得方程组:

2.3 机器视觉处理模块设计

OpenMV通过高级语言Python脚本控制OpenMV以及I/O口引脚。本设计采用OpenMV4系列,基于STM32H743VI ARM Cortex M7处理器为核心集Ov7725感光元件、USB(12 Mb/s)接口、SD卡槽、电池接口、模数变换器和数模转换器等组件于一体的机器视觉模块[5]。模块共有10个I/O引脚,其中3个I/O引脚用于舵机控制。

基于OpenMV的跟随行李箱,要求实时识别用户的状态,就需要快速处理获取的图像信息,模块的SPI总线速度高达54 Mb/s,同时具有I2C总线,CAN总线和异步串口总线,用来连接其他控制器或者传感器,其接口可以叠加。OpenMV4颜色识别每秒可达85帧到90帧左右,像素最高可达到30万。它集成了很多图像处理的算法,能实现颜色追踪、标记跟踪、人脸检测、眼动跟踪等功能[6]。本设计主要使用基于OpenMV库中的图像、光源识别算法,识别用户身后的特定图形、颜色、光源信号,如图5所示。将获取的图像数据传输到主控系统进行处理,从而实现自动跟随的功能。

2.4 电机驱动模块设计

TB6612FNG是双供电H桥电机驱动芯片,可以同时驱动两个电机,每通道输出最高1 A的连续驱动电流,启动峰值电流高达3.2 A,输出电流阈值为2 A。PWM支持频率高达100 kHz[7]。此外TB6612FNG驱动模块系统尺寸小,外围电路简单且无需外加散热。

芯片引脚VM口是直接给电机供12 V工作电压的供电口,VCC口给芯片内部逻辑器件供5V电压,AINI/AIN2、BINI/BIN2以及PWMA/PWMB引脚为控制信号输入端,AO1/AO2、BO1/BO2为2路电机控制输入端。将AO1/AO2、BO1/BO2分别与编码电机引脚相连,通过软件程序对AINI/AIN2、BINI/BIN2以及PWMA/PWMB等控制信号进行控制模式配置以及占空比设置,从而实现跟随行李箱的运动状态。电机控制模式逻辑表如表1所示。

2.5 无线通信模块设计

在行李箱自动跟随过程中,手环要实时显示跟随行李箱与用户的距离、当跟随行李箱与用户距离超过设定的安全值时,手环端会收到报警信息,这类与主控器非连接状态的设备要将信息发送给主控器或者由主控器向这类设备发送命令时,就需要用到无线通信模块。本设计使用ESP8266 WIFI模块,该模块体积小,功耗低,使用3.3 V的直流电源供电,共有2组串口。ESP8266与主控(STM32)的管脚连接方式如表2所示。

2.6 避障模块设计

跟随行李箱在独立行进途中避免不了的功能就是自动避障,本设计采用超声波模块实现避障功能。当行李箱行进途中遇到障碍物,声波会进行反射,利用声波发射与接收之间的时间差,联立方程组即可解出行李箱与障碍物的实际距离。虽然超声波的感应速度和精度稍逊色于红外光,远距离测距处于劣势,但本设计中跟随行李箱只要求近距离避障功能的实现即可。相比而言,超声波避障的性价比更高。本设计在跟随行李箱箱体前面板的上下方位以及两侧面板的中间位置分别固定4个超声波进行全方位障碍检测,实现避障功能。

2.7 系统流程图

各器件功能实现的软件设计程序框图如图6所示。

3 样机及测试结果

根据设计要求,UWB位置放置呈三角状分别安装在行李箱两侧及中间,OpenMV由于视角要求则安装于手拉杆顶部,电机驱动动力轮安装于行李箱底部,外围实物图连接如图7所示。行李箱主控板如图8所示。用户手环电路如图9所示。

针对目标跟随进行功能测试,在跟随过程中,当行李箱与用户之间的距离<50 cm,行李箱自动减速等待在原地,当距离>50 cm,行李箱跟随速度随之增加,直到与用户之间距离保持在50 cm以内。当行李箱与用户距离超过3 m时,则立即进行报警。

针对避障功能进行测试,当行李箱检测到前进的方向有静止障碍物时,向左、向右转动,避开障碍物,且再次检测是否还存在障碍物,如果有则再次避障。在此期间,摄像头实时捕捉用户图像,避障完成后立即跟随用户前进。

通过WiFi无线通信能将智能跟随行李箱与用户的距离实时显示在用户手环的OLED界面上,当检测到行李箱与用户距离超过3 m时,手环端能接收到报警提示信息。

4 结束语

智能跟随行李箱可以实现UWB定位、OpenMV图像识别与处理、行李箱自动跟随、实时全方位避障、数据无线传输和智能跟随行李箱防盗报警等功能,达到预期设计目标。

参考文献:

[1]何世彪,孙宝刚,张力.一种提高无线电测距定位精度的有效方法[J].通信技术,2019,52(2):304-310.

[2]李传明,崔更申,尹鹏,等.基于STM32F4的电机控制系统设计[J].计算机测量与控制,2015,23(10):3370-3372,3376.

[3]PALA S, JAYAN S, KURUP D G. An accurate UWB based localization system using modified leading edge detection algorithm[J]. Ad Hoc Networks, 2019, 97:102017.

[4]丁锐,钱志鸿,王雪.基于TOA和DOA联合估计的UWB定位方法[J].电子与信息学报,2010,32(2):313-317.

[5]赵举,李国斌,姜涛,等.基于OpenMV的单目视觉二维码追踪小车设计与测试[J].电子设计工程,2019,27(19):53-58.

[6]安飒,廉小亲,成开元,等.基于OpenMV的无人驾驶智能小车模拟系统[J].信息技术与信息化,2019(6):16-20.

[7]XU Y, LIU M, LONG L. The algorithmic design of the line-tracking car based on the positional PID[C]// Proceedings of the 2nd International Conference on Mechatronics Engineering and Information Technology (ICME IT2017),2017. https://www.atlantis-press. com/proceedings/icmeit-17/25876667.