可识别跟踪快递分拣员的机器人运输系统

2020-06-10 07:40杨联伟马驰昊朱志东章旭玄玉波
电子技术与软件工程 2020年4期
关键词:建图栅格人脸

杨联伟 马驰昊 朱志东 章旭 玄玉波

(吉林大学 吉林省长春市 130012)

1 引言

物流业快递分拣和运输一直是项生产效率低的工作,分拣员需走遍所有货架,分拣出所配送地区的快递。而快递数量众多,大小质量不一,单独依靠分拣员则需多次搬运才可完成工作。故设计出可识别跟踪快递分拣员的机器人运输系统对提高生产力意义重大。

本系统的研究内容有以下几方面:

(1)扫描建图,借助雷达扫描仓库,生成栅格地图并加载,是后续功能实现的基础。

(2)导航定位,通过读取传感器信息并进行算法处理,得到机器人坐标系到地图坐标系的变换关系。

(3)路径规划,在确定目标位置和自身定位后,规划到达目标点的最优路径。

(4)人脸识别,基于人脸的特征和生成的分类器,对人脸进行检测识别。

(5)目标跟踪,对识别到的人脸进行追踪,并将相关位置信息传递给路径规划。

(6)快递运输,机器人的硬件结构上有存放快递的空间用于快递运输。

2 系统总体方案

硬件平台由电机驱动模块(电机,电调,电调中心板,A型开发板等),电源电路模块,工业相机、激光雷达等传感器,以及MiniPC机组成。软件平台在MiniPC机中安装Ubuntu16.04系统,安装OpenCV视觉库、ROS机器人操作系统,采用C++编程实现功能。系统包括识别recognition,跟踪tracking,定位localization,建图mapping,路径规划planning等模块,配合硬件,完成机器人上述功能。

整个软件系统架构如图1所示。

3 模块设计

3.1 扫描建图

目前定位建图算法中的室内UWB(Ultra Wideband)、二维码引导等,多需要在环境中配置辅助设备或标签,且运动路径常为提前规划,不具有灵活性。而激光SLAM[4](Simultaneous Localization and Mapping 同步定位与建图)具有稳定可靠灵活的特点。考虑到应用在仓库,采用SLAM算法Gmapping进行栅格地图的构建效果最佳。

图1:软件系统架构

图2:Gmapping生成的栅格地图

Gmapping依靠传感器对环境进行感知,根据收集的信息建立栅格地图。Gmapping需要订阅的话题topic有/tf(坐标转换)和/scan(激光雷达扫描提供的数据),其中必需的tf转换有激光雷达坐标系和基坐标系的转换,以及基坐标系和里程计坐标系的转换。

配置好Gmapping参数文件后,运行Gmapping软件包,引导机器人绕场地一周,用激光雷达RPLIDAR-A2扫描场地深度信息。当激光雷达对于场地信息点采集完全,就能够得到栅格地图,如图2所示。得到栅格地图后,通过ROS中map_server节点发布类型为/static_map的topic给定位模块,使定位模块正常工作。

3.2 导航定位

定位模块主要通过读取传感器信息,经过算法处理,得到机器人坐标系到地图坐标系的变换关系,即机器人在地图中的位姿。定位采用ROS中的AMCL(Adaptive Monte Carlo Localization自适应蒙特卡洛定位)包,在生成的地图中使用粒子滤波方法得到位姿。通过更新得到的粒子与栅格地图形成对比, 具有不同概率的粒子均可以生成新粒子, 生成可能性与概率成正相关, 通过粒子的再生推算机器人的位置。

机器人启动时,初始化位置不一定为栅格地图坐标原点。需要手动调整机器人初始位置,确保栅格地图与现实场景重合。AMCL需订阅scan雷达数据,map地图数据,tf坐标转换,输出机器人的位姿信息。将amcl.launch配置好后实现实时定位,发布位姿。

3.3 路径规划

考虑到效果和仓库场景,选用高效的A*(A-Star)算法进行全局路径规划。当传感器识别到目标位置后,在costmap代价地图中,以实际代价和估计代价为衡量指标,进行搜索得到一条由离散坐标点构成的最优路径,其作为输入传递给局部路径规划控制机器人的具体运动。

局部路径规划采用TEB(Timed Elastic Band)算法。根据雷达的扫描信息,结合给出的全局规划路径,在满足动力学特性和规避碰撞的前提下,优化运动轨迹,计算出机器人局部运动的最优速度。同时,MiniPC机将把相关信息传给下位机来控制电调电机驱动,进而控制机器人的运行方向和速度。

3.4 人脸识别

Haar特征是反映图像灰度变化的矩形特征。常规Adaboost算法对复杂环境识别率低,速度慢,用Haar特征对人脸部特征进行描述,漏检率低,识别率高,具有很好的时效性。

结合Haar特征和SVM[4](Support Vector Machine支持向量机)进行训练,训练好的分类器会生成.xml文件,在recognition中加载训练好的.xml文件。鉴于OpenCV提供已经训练好的人脸的特征分类器haarcascade_frontalface_default.xml,经验证识别效果良好,故使用其进行人脸识别。当人脸出现在相机画面中,相机会自动捕捉人脸,在RGB Image Window窗口界面中将人脸用绿色矩形框选出来,并获取矩形ROI(Region Of Interest感兴趣区域)的顶点坐标。借助单目相机测距原理,建立人脸二维坐标与人在三维空间坐标之间的关系,给出转换后的三维坐标系下人的三维信息:偏航角yaw,距离distance和高度height,唯一确定人脸的位置。

3.5 目标跟踪

使用KCF(Kernel Correlation Filter核相关滤波)算法进行分拣员的跟踪。当recognition识别到分拣员的脸部特征后,会将目标人脸的三维信息传给tracking。KCF算法会训练检测器,用于检测下一帧的预测位置是否是分拣员的脸部,使用新的分拣员脸部检测结果更新训练集,进而更新目标检测器。

4 设计实现

对系统分别在仿真Rviz和实际场景下进行功能测试。将路径规划在Rviz中进行测试,在给出目标点时,从起始点规划能得到一条无碰撞最优路径。在仿照快递存储仓库搭建的场地内,测试人员绕“U”字型货架走一圈,在路程中会在几处停留视为挑拣放置快递,发现机器人能够对于人脸进行识别和追踪。当停留放置快递时,机器人也会停住,一旦目标再次被框选,机器人恢复目标跟踪和快递运输。通过多次实验求取均值,得到识别正确率为84.8%,跟踪正确率为82.5%,由此可见,系统相对可靠稳定。

5 结论

随着快递业的快速发展,快递分拣运输的效率低成为难题。本文研究可识别跟踪快递分拣员的机器人运输系统。经实验证明,该机器人系统在环境条件较为理想时,能够实现扫描建图,导航定位,路径规划,人脸识别和目标跟踪的功能。综合看,可以达到跟随分拣员运输快递,提高生产力的效果。系统操作简易,功能稳定,具有广阔前景。

猜你喜欢
建图栅格人脸
视觉同步定位与建图中特征点匹配算法优化
基于邻域栅格筛选的点云边缘点提取方法*
有特点的人脸
基于三轮全向机器人的室内建图与导航
一种基于多传感融合的室内建图和定位算法
三国漫——人脸解锁
机器人室内语义建图中的场所感知方法综述
不同剖面形状的栅格壁对栅格翼气动特性的影响
马面部与人脸相似度惊人
基于CVT排布的非周期栅格密度加权阵设计