基于HT66F70A的跟随购物车设计*

2020-02-11 05:50蔡镕泽陈章鑫陈银树江永鑫
福建轻纺 2020年1期
关键词:循迹购物车灰度

蔡镕泽,陈章鑫,陈银树,江永鑫

(厦门理工学院 电气工程与自动化学院,福建 厦门 361024)

随着新零售商业模式的快速形成与发展,智能化购物体验思想对传统零售以及制造业造成极大冲击[1]。超市的诞生给人们的日常生活带来极大的便利,但我国普遍存在的超市购物车目前只满足装载商品的功能[2]。如今随着智能跟随技术广泛的应用,凸显出传统购物车存在着很多弊端,如在收费时排队过长、找不到所需商品等。超市购物作为顾客主要的线下消费方式之一,购物模式的改变迫在眉睫[3],因此跟随购物车应运而生。

本研究旨在设计一款自动跟随购物车,能通过识别消费者身上的二维码实现自动跟随,并根据消费者行走路径和速度来控制自身的方向和速度;在跟随过程中,车上显示屏能够实时显示购物车位置信息;最后,在消费者结完账时,购物车能循迹回到初始存放位置,在此过程中购物车能够自动避障。对此,本次设计采用HT66F70A单片机作为控制核心,实现购物车的启动、速度和方向控制;通过UWB室内定位系统实时获取购物车的位置信息以便于消费者确定目标方向,并通过OpenMV机器视觉模块、超声波传感器、灰度传感器获取购物车具体状态,进而采用脉冲宽度调制(PWM)技术[4]控制购物车。

该设计不仅可以解决传统购物车人力托运的不便,实现自动化购物,提升消费者的购物体验,还可以降低超市人力成本,提高工作效率。

1 系统整体方案设计

本设计使用HT66F70A单片机作为控制核心,通过接收摄像头和超声波模块的数据,输出PWM值控制电机转速,当购物车与前方障碍物小于安全距离时,单片机对购物车发出停止信号,使购物车停止;当购物车方向需发生偏移时,单片机通过控制各个电机的转速矫正购物车的方向,以此实现购物车前进、左转、右转、停止功能。同时,结合UWB室内定位系统实现购物车室内定位功能,以实时显示购物车的位置信息。此外,单片机还可以根据灰度传感器所返回的数据控制购物车,使购物车沿轨迹返回至初始位置,并通过超声波模块实现其在返回途中遇障停止的功能。该购物车的整体系统结构框图如图1所示。

整体的技术路线具体如下:

⑴ 摄像头实时捕捉二维码的位置信息传递给单片机;

⑵ 合泰单片机通过控制购物车启动自动跟随模式;

⑶ 消费者可以通过显示屏实时获取当前所在的购物区域;

⑷ 合泰单片机通过接收灰度传感器的信号控制购物车实现自动返回功能;

⑸ 超声波模块和灰度传感器实时传递数据给单片机以调整购物车的位置。

2 硬件设计

2.1 购物车的硬件模块清单

跟随购物车主要由合泰单片机、继电器、STM32单片机、超声波传感器、灰度传感器、UWB室内定位、OpenMV机器视觉模块、电机驱动模块等硬件组成,相关型号和参数具体见表1。

表1 跟随购物车各硬件模块及其参数表

2.2 硬件设计

该跟随购物车的硬件电路主要包括5部分:HT66F70A芯片、电机驱动电路、OpenMV机器视觉模块、传感器模块、UWB室内定位模块。硬件设计如图2所示。

本设计使用HT66F70A单片机作为跟随购物车的控制核心,通过PD0、PD1、PD2、PD3四个引脚来连接第一个电机驱动模块L298N,驱动购物车的4个轮子;P2连接STM32最小系统板,接收超声波模块通过STM32引脚E0、E1传回的信号,实现单片机的数据采集;通过PC0、PC1分别控制购物车左右2个灰度传感器,识别用黑胶带铺设而成的循迹轨迹,实现购物车的循迹回归功能。OpenMV通过摄像头识别二维码,并通过P0、P1、P2、P3、P7、P8控制第二个L298N实现购物车自动跟随消费者功能。继电器连接2个L298N实现购物车的功能切换。UWB定位标签通过T、R引脚将位置相关数据传递给STM32单片机,经三边测距算法[5]测出购物车的位置信息并在显示屏上显示。

模拟超市设计出超市平面图,如图3所示。本设计在超市模型图的3个相邻直角处放置了3个UWB Mini 3基站,用于接收购物车上定位标签传来的信号数据,通过三边测距算法完成对定位标签与基站之间的测距,最后将数据返回给标签,经STM32单片机处理完毕后在显示屏上实时显示出购物车的位置信息。

3 软件设计

软件设计采用模块化程序设计思路,整体程序主要包括4部分,分别为主程序、循迹子程序、自动跟随子程序和室内定位子程序。各个程序的流程图及相应功能具体如下。

3.1 主程序

购物车上电后,程序开始运行。首先进行摄像头、传感器、GPIO等的初始化,接着进入主循环判断定时器二是否开启,如果是则执行空语句,反之则显示地图。主程序流程图如图4所示。

3.2 循迹子程序

如图5所示,开启定时器中断,每到定时时间就进入此中断,根据超声波传感器判断前方是否有障碍物,如果有就向单片机发送停止信号,反之则根据灰度传感器传回的信号是否偏移来判断,再通过电机的差速来矫正购物车的方向,并判断是否到达终点,如果是则停止寻迹,否则重新进入定时器中断。

3.3 自动跟随子程序

如图6所示,进入定时器中断2后,首先清除定时器中断2标志位,将摄像头和传感器传回的数据进行处理和判断。根据S的值调整购物车的状态,最后退出定时器中断2。

3.4 室内定位子程序

如图7所示,启动室内定位功能后,将数据传给单片机,经过3遍测距算法确定购物车位置信息并在显示屏上显示,之后进入判断程序,直至购物车位置不变或检测到黑线,退出室内定位功能。

4 系统测试和结果验证

将程序写入单片机后完成该跟随购物车的组装,作品如图8所示。

对该跟随购物车的功能进行测试:首先,模拟超市搭载购物车运行环境,打开UWB室内定位系统并给跟随购物车上电。其次,在购物车正前方移动二维码引导购物车在模拟环境内随意走动,检测其定位功能和自动跟随功能,如图9和图10所示。通过二维码将购物车引导至收银台后的黑胶带区,打开循迹开关观察其循迹情况,如图11所示。

经测试,所设计的购物车可以跟随二维码移动,左右转弯较为平滑。其在铺有黑胶带的地面上能循迹前进,且在循迹过程中遇到障碍物时会停止运行。购物车移动过程中定位较为准确,能定位出其当前所在超市分区的位置,并在显示屏上显示。整体运行稳定,功耗低,使用方便。

5 结语

本文设计了一种基于HT66F70A的跟随购物车。该购物车具有自动跟随、循迹、自动避障、室内定位等功能。该购物车运用PWM技术以及OpenMV模块实现购物车自动跟随消费者的功能,通过直流电机L298N来控制购物车停止、前进、左转和右转的功能。购物车通过识别消费者身后的二维码,跟随在其身后并与之保持一定距离。工作时购物车通过UWB室内定位系统在显示屏上实时显示其当前所在的区域。在消费者结账完毕后,购物车通过灰度传感器检测黑胶带,循迹回归初始存放位置,并在循迹过程中启动超声波传感器检测障碍物,遇障停止。

与传统的购物车相比,本设计消除了传统购物车人力托运的不便,降低了超市的人力成本,实现了自动化的购物方式,为消费者带来更舒适的购物体验。

猜你喜欢
循迹购物车灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于离散傅里叶变换的多旋翼无人机循迹检测系统设计
天津港智慧工作平台灰度发布系统和流程设计
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
被疫情改变的购物车
Arduino小车巡线程序的灰度阈值优化方案
浅谈基于机器视觉和姿态检测的循迹智能车
购物车
购物车里的“时间线”
基于单片机的自动循迹小车的设计与制作