基于OpenCV与激光雷达的智能跟随购物车系统设计与实现
来源:用户上传
作者:
摘 要:本文是基于OpenCV与激光雷达的智能跟随购物车系统设计与实现,该系统以树莓派为主控系统,并搭载多种传感器和驱动电路,通过人体特征识别技术、面部识别技术、障碍物识别技术以及动态路径规划、空间定位等优化算法,使购物车具有自主导航、主动跟随以及自动泊位的功能。
关键词:智能购物车 树莓派 自动识别 主动跟随 自动泊位
中图分类号:TN958 文献标识码:A 文章编号:1674-098X(2019)09(c)-0141-04
随着中国“智慧城市3.0”[1]时代的到来,以人工智能为主要技术核心,以互联、高效、便捷为特征,以绿色发展和数字惠民为指引的智慧城市建设正成为我国城市可持续发展、创新驱动和转型发展的新方向和新实践。与此同时,随着中国经济的飞速发展与智慧城市理念渐渐深入人心,人们开始追求更加智能、便捷的生活。在很多情况下,人们需要一种能够自动行走、跟踪用户的购物车来帮助他们在超市购物过程中搬运物品,使他们能够免于运输物品而带来的体力劳动。
对于国内,如今大多数的智能新型购车多以人脸刷付,实现移动支付、自助结账为主要功能,并且购物车使用方式仍为传统的手推式,尚未出现既可主动跟随顾客购物又能自主导航、自动泊位返回停车区域的智能购物车,在运输物品较多或较重时会严重降低顾客的超市购物体验,增加体力支出,对于行动不便人群存在一定的使用缺陷;对于国外,与之相类似的购物车仅有沃尔玛所提出的智能购物车装置,目前仍处于研发阶段,该智能购物车装置是在传统购物车的基础之上,在购物车车体的下部安装该装置,因此在识别方面具有一定的局限性,由于该装置安装在车体下部且较为庞大在简易适用性方面具有一定的弊端,并且在顾客结束购物时无法实现自主导航、自动泊位返回购物车指定停放区域,必须在顾客或是超市相关工作人员的推行下返回至停车区域,在便捷以及超市人员成本上存在较大的弊端。
1 系统构成
本系统框图如图1所示,该系统主要由驱动控制单元、障碍物检测单元、人体识别单元、空间路径规划单元和微处理器五部分构成。
2 相关基础知识与硬件开发平台介绍
2.1 树莓派
树莓派3B+[2]是一个基于ARM Cortex-A53的64位微型计算机主板,配备四颗1.4GHz处理器、1GB RAM、以太网接口、双频无线局域网。SD/MicroSD卡用作内存硬盘,在主板的一端有4个USB接口,可以外接鼠标、键盘,并具有HDMI高清视频信号输出接口和视频模拟信号输出接口,具备个人电脑的基本功能。
树莓派3B+具有完整的计算机数据和图像处理功能。在编程工具方面,Python是一种面向对象和解释性的开源跨平台编程语言。树莓派开发平台预装了Python2和Python3版本,本文使用Python3作为开发语言。
2.2 OpenCV
OpenCV(開源计算机视觉库)[3]是一个跨平台的计算机视觉库,可在Linux,Windows,Android和Mac OS操作系统上运行。OpenCV拥有丰富的C++接口,同时也保留了大量的C语言接口,而且OpenCV也拥有大量的Python、Java、Matlab和Ruby接口,可以通过在线文档访问这些语言的API接口函数。
OpenCV为图像处理提供了丰富的基础库,并且可以调用开源的人脸信息数据库以及行为特征数据库,为本系统的开发提供了软件上的支持。本文将OpenCV与Python相结合对图像进行处理,通过机器学习技术训练图像视频流中的数据信息,建立样本数据库,实现对顾客的特异性识别,并将识别到的像信息传输至驱动控制单元实现购物车对顾客的主动跟随功能。
2.3 激光雷达
本文所使用的激光雷达是思岚科技(SLAMTEC)公司所生产的二维激光雷达,型号为RPLIDAR A1。它的测量范围为12m,角度范围为360°,测量频率为8000次/s,具有较精准的空间定位和测距能力。
对于购物车来说,可靠的定位性能是自主导航系统的关键要素。当地图和购物车的位置都事先未知时,定位就变得更加复杂。在这种情况下,购物车需要从未知位置开始,逐步建立空间导航地图,同时使用建立的地图更新自身的位置。这种技术称为即时定位与地图构建(SLAM)[4]。
本文将SLAM技术与动态路径规划算法相结合,计算购物车当前的位姿和坐标,并不断更新实现购物车的自主导航和自动泊位的功能。
2.4 主系统板
主系统板具有微处理器模块、驱动控制模块、超声波测距模块、红外避障模块、按键、电源,原理框图如图3所示。
(1)驱动控制模块。
驱动控制模块采用TB6612FNG芯片,与传统的L298N芯片相比,效率更高,体积上也大大降低,在额定范围内,芯片基本不发热。
微处理器中的定时器 PWM 输出,首先设置 T/C 中断屏蔽寄存器TIMSKx,设置为定时器溢出中断;其次,分别设置 T/C 控制寄存器TCCRxA和TCCRxB,分别选择PWM模式和PWM预分频器;最后,将控制信号引脚I/0置为输出。程序运行时,只要定时计数器溢出时,CPU 就会响应中断,定时器重新启动并重新开始计数。 (2)超声波测距模块。
超声波测距模块,其探头内部有两个压电晶片和一个共振板。本文所采用的超声波测距方法为回声探测法[5]。超声波测距模块的发射端发射超声波信号,在发射的同时开始计时,超声波信号在空气中传播,当在传播过程中碰到障碍物面的阻挡时就会立即反射,当超声波测距模块的接收端收到反射来的超声波信号时会立即停止计时。由于超声波信号在空气中的传播速度为v=340m/s,因此根据计时的时间t,就可以计算出发射点距障碍物面的距离s,即:s=v*t/2。通过测量购物车与顾客之间的距离,使购物车始终与顾客保持在安全距离范围内。
(3)电源设计。
为了方便使用,本系统采用18650锂电池供电设计,它的大容量、长寿命、较高的安全性能和无记忆效应使得购物车在通电运行时更加稳定、安全、可靠。图4显示的是电源电路图。
3 处理流程
当顾客进入超市,并开启购物车开关时,购物车便可自动开启图像识别和跟随功能。购物车的图像传感器将瞄准顾客。当顾客移动时,购物车的图像传感器将始终跟随并锁定顾客以防止跟随目标错乱的现象发生。在顾客行进过程中,购物车将与顾客保持大约1m的安全距离,便于顾客移动,并且还可以防止购物车跟丢顾客。在跟随的过程中,购物车会通过超声波测距传感器传送的距离信息及时调整自身的速度直道与顾客保持1m的安全距离为止。当购物车在跟随的过程中通过激光雷达和红外避障传感器检测到行进的路上有障碍物时,会自动启动规避方案,调整前行的方向,绕开障碍物,并及时的重新搜索跟随目标,重新加速跟上顾客。当购物车检测到顾客有大幅度的拐弯时,购物车便会及时加速,缩短与顾客的距离,并保持在0.5m左右以防止跟丢目标。
当顾客购买完商品并付款后,按下购物车上的“返程”按键时,购物车便进入自主导航和自动泊位模式。激光雷达扫描,并传输购物车坐标位置信息,通过建立空间地图,利用动态路径规划算法和SLAM技术实现自主导航,通过不更跟新购物车所在空间的位置信息实现购物车的自主行驶实现自动泊位功能(智能购物车实物图如图5所示)。
4 基于OpenCV的图像识别技术
为了防止购物车发生跟随目标混乱的现象,购物车通过捕获图像传感器中实时视频流信息中的顾客脸部和体征信息[6]进行锁定。基于OpenCV和激光雷达的智能跟随购物车使用OpenCV计算机视觉库来识别顾客的面部和体征信息。利用机器学习[7]将第三方人脸特征数据库作为训练样本,采用Haar分类器对不同人的脸部信息和体征信息数据进行级联,实现特异性识别。图像识别流程图如图6所示。
图7是购物车经图像识别处理后所检测到的人体数据信息。当购物车特异性识别到顾客时会将其框选,并对框选部分的图像作为样本进行训练,建立该顾客的样本数据库。
5 空间定位与路径规划
购物车通过激光雷达获取空间信息,并利用基于粒子滤波的蒙特卡洛定位算法[8]获取超市空间的全局定位信息。在未知的环境中,购物车利用SLAM技术进行定位和构建环境地图,如图8所示。
在已知的环境中,购物车通过A*(A-Star)寻路算法[9]在静态地图中进行全局路径规划,并利用轨迹展开法和动态窗口法实现局部动态路径规划[10],继而使购物车自主導航同时具备躲避障碍的功能,并可根据设定的目标自动行进并抵达购物车指定停车区域。
6 结语
本文通过对基于OpenCV与激光雷达的智能跟随购物车系统设计与实现进行介绍,介绍了电路设计、软件设计、硬件平台搭建以及相关传感器模块的应用,较完整地阐述了系统从模块到成品地整个过程,并通过对相关功能的测试,表现系统整体的性能较为优良,达到了预期的设计目的。今后还需进一步完善本系统,使其运行较长时间时具有更强更稳定的性能,并不断改进购物车的功能。
参考文献
[1] 梅宏.智慧城市与信息化3.0[J].中国建设信息,2015(9):6-7.
[2] 俞文静,莫健彬,黄嘉锵.基于树莓派与 OpenCV 的智能监控跟踪机器人系统设计与实现[J].现代计算机, 2017(6).
[3] 王晓,踪琳.基于OpenCV视觉库的嵌入式视频处理系统[J].电子质量, 2017(3):54-59.
[4] 危双丰,庞帆,刘振彬,等.基于激光雷达的同时定位与地图构建方法综述[J/OL].计算机应用研究:1-8[2019-01-03].http://kns.cnki.net/kcms/detail/51.1196.TP.20181219.1936.001.html.
[5] 杨志江,郑昆,耿春明,等.基于RS-485总线的多路超声波传感器测距系统设计[J].传感器与微系统,2018,37(12):79-82.
[6] 杜慧,赵晓东.人体行走特征识别研究[J].科技风,2018(28):195-196.
[7] 高浩宇.基于机器学习的图像识别研究与应用[D].华中师范大学,2018.
[8] 吴敬阳.基于激光雷达定位导航的多自主移动机器人系统研制[D].哈尔滨工业大学,2017.
[9] 徐唐剑.A~*寻路算法的并行化设计及改进[J].现代计算机:专业版,2018(21):44-49.
[10]王灿,孔斌,韦虎.基于激光雷达机器人的目标人跟踪方法研究[J].计算机应用与软件,2014,31(7).
转载注明来源:https://www.xzbu.com/1/view-15118039.htm