金小暄 金彦继 李佳龙 张浚哲 赵德金
摘 要:本设计是为了解决在恶劣的天气里发传单困难而研发的一款智能发传单机器人。采用OpenMV机器视觉模块进行人脸识别,能保证机器人处于人流量大的位置。并使用麦克纳母轮,实现机器人全方位移动。本设计实现了OpenMV,树莓派与arduino之间的通讯,使用激光雷达实现避障。机器人的上半部分采用陀螺仪和电动推杆,来保证发传单处始终处于水平状态,以保证取单方便和保证中心位置稳定。并使用语音系统吸引行人,提高发传单的效率。
关键词:OpenMV;创新设计;自动化;智能;效率高
近年来,为了提高知名度,越来越多的商店采用派发传单来吸引顾客。但是,在一些较为严酷的天气中,发传单会影响健康并且效率低。反观传单机器人,它采用OpenMV人脸识别技术,能够自动寻找人群,更可以克服环境的影响,再加上它的新奇,能引起很多人的兴趣,故而能够提高发传单的效率。
一.结构及原理
本次设计是基于OpenMV的设计,可以分为两大部分,分别是移动平台与传单发送装置。
移动平台的控制中心是树莓派,它分别与OpenMV,arduino通讯,利用激光雷达判断周围的状况。OpenMV是視觉中心,用来进行人脸识别,当识别到的人脸较多时就朝这一方向运动,同时作距离检测以便准确走到目标地点。Arduino控制移动平台运动,它接受来自树莓派的信息,进行相应的处理,输出高低电平以及相应的PWM波,再通过PID算法,准确的控制电机的转速,从而控制小车的行驶。
传单发送装置位于移动平台上方,它是由arduino控制的,为了方便行人取传单,发送装置需要一定的高度。如果位于不平的地面或者处于斜坡时易导致重心偏移太多,使得取传单麻烦,甚至会使机器人摔倒。因此需要对装置进行平衡处理,本设计采用陀螺仪MPU6050,该陀螺仪X与Y轴的数据较为稳定,如果X与Y轴的示数与零相差较大时可以自行调整推杆,从而保证发送装置始终保持水平。发送装置中,通过轴的转动将传单一张张送出来。为了控制传单送出速度,需要控制轴与底板的距离,可以保证输出的传单始终单张。在出单的位置安装光感传感器,当接收到光信号时,电机工作,出单后便把光敏传感器遮上,没有取走的话不会出下一张。如图1-1,1-2所示。
二.机器人硬件设计
2.1 移动平台设计
移动平台作为机器人关键的部分之一,它采用麦克纳母轮,在不改变车身方向的前提下可以自由移动,使小车转动时也可以承受较小的摩擦力。但是使用麦克纳母轮时电机转速之间的关系需要较高的要求,需要采用PID算法。电机采用大扭矩直流减速电机(自带编码器),这样可以控制其转速。移动平台的控制核心是树莓派,树莓派是一台功能完整的迷你电脑。选用树莓派作为主控板能够很好地与OpenMV;arduino通讯,从而实现设计的目的。
2.2 OpenMV
OpenMV是一个开源,成本低且功能强大的机器视觉模块,是“带机器视觉功能的Arduino”。它可以控制其他的硬件,包括单片机模块 [6]它也可以被其他单片机模块控制,这个特点使得它可以很灵活的和其他流行的模块配合,实现复杂的产品功能。另外,他拥有人脸识别的算法,还能进行距离检测,从而实现定位让移动平台稳定的运动到目标位置。
2.3 激光雷达、光敏传感器 MPU6050
为了防止机器人被撞坏,本设计使用激光雷达,能够全方位的判断是否有物体靠近进而实现全方位避障。光敏传感器是传单发送装置的核心之一,它位于出单的位置上,当有人拿走传单时,光敏传感器裸露在光线下,与是传递信号给arduino,从而控制出单的主轴转动。
2.4 语音功能
本设计采用的是Respeaker Core AI智能语音模块,它的识别效果十分优秀,在使用前内置一些基本的简单的问答问题,可以实现一些基本功能。最终实现取完传单道谢的功能。
三.机器人软件设计
3.1 OpenMV的角色
OpenMV作为机器人的眼睛,为了提高发传单效率,需要机器人处于人流量较大的场所,为了正确的找到人口集中的地方需要机器人完成人脸识别。OpenMV利用的是Haar算子来实现人脸识别的,其算法要点有四个。
3.2激光雷达——避障
激光雷达的原理是先发射出一束激光,在经过物体的反弹后能够接收,再将发出的信息与接收的信息进行对比处理,就可以得到相应的距离数据,另外YDLIDAR X4是一个不断旋转的激光雷,这样就可以记录下各个方向的情况了。
3.3串口通讯
本设计采用的是URAT通讯方式,已经实现了树莓派与arduino和OpenMV之间的通讯。能够实时接收来自arduino与OpenMV的信息,并能够做出回应,是一种全双工的方式。
四.系统搭建与调试
4.1 移动平台
移动平台需要实现避障,全方位移动,视觉跟随,人脸识别等功能。在机器启动的时候开始原地打转,寻找人脸,当检测到人脸数目超过某一值时,OpenMV开始计算距离并且开始向该方向运动,同时开启激光雷达,如果检测到前方有人的时候,移动平台开始侧移,绕开障碍物,当距离小于某一值时停止,开始发送传单任务。如果长时间没有人取传单时,机器人会再次运行,重新寻找目标。
4.2 传单发送
发送传单时必须单张出来,同时也要保证传单被取走时有新的传单出来。算法,传单发送装置一直处于工作中,传单被取走后,光敏电阻检测到光,此时开始出单,同时,arduino给语音识别模块一个信号,语音识别模块开始播报。
五.结语
本设计是基于OpenMV的一种自动发传单机器人,机器人能够高效的发放传单,吸引行人注意,有效的提高商家的知名度。另外结构上利用陀螺仪与电动推杆,使得取传单容易,也使机器人更加稳定。比起人力发传单,它的工时更长,效率更高,能够大大减小劳动力,还能适应一些严酷的天气。
参考文献:
[1]刘胜金,周海燕,杨溢凡,张雨婕,黄铭志,张怡杰.基于树莓派的智能小车系统[J].电脑知识与技术,2019,15(14):158-160.
[2]吴波涛,孔金平,王湘.基于Arduino和树莓派的智能小车的设计与实现[J].电子设计工程,2017,25(15):58-61.
[3]叶长龙,马可,根回丽.一种全方位移动机器人[J].中国科学:信息科学,2011(2):56-64.
[4]白燕.基于 AdaBoost 的人脸检测算法研究[J].现代计算机(专业版),2019(09):75- 79.
[5]高宇.基于 haar 特征的运动人体检测[D]. 长春:吉林大学,2013.
[6]刘义亭,董梦超,黄家才,范子霄,宗文锦,郭婧.基于OpenMV的目标跟踪系统设计[J].南京工程学院学报(自然科学版),2019,17(01):39-44.
作者简介:
金小暄 (1999-),女,朝鲜族,延边大学工学院农业机械化及其自动化专业,本科生.
通讯作者:
赵德金(1975-),男,汉族,博士,单位:延边大学工学院.