王兴伟,钱 钧
(合肥工业大学 机械工程学院,合肥 230009)
基于Kinect的临场机器人设计与实验研究
王兴伟,钱 钧
(合肥工业大学 机械工程学院,合肥 230009)
针对临场机器人成本过高、不能识别追踪特定人员的问题,搭建了一款基于Kinect的低成本临场机器人,可识别追踪特定人员。基于ROS搭建了机器人控制系统,首先利用Kinect和编码器实现2D-SLAM;然后利用Kinect通过人脸识别出特定人员并确定人体位置;最后进行路径规划追踪特定人员。通过实验,该款机器人可有效追踪特定人员。
临场机器人;Kinect;SLAM;人员识别与追踪
目前临场机器人的需求越来越大[1],但成本较高,难以推广。机器人主要通过激光、声呐、视觉等外部传感器获取环境信息[2]。文献[3~5]主要通过激光雷达或者激光雷达配合视觉等其他传感器实现机器人对周围环境的感知,得到的数据精确,但成本高昂;且仅依靠激光雷达难以完成人员识别等任务。视觉传感器成本低、数据丰富,基于视觉传感器的机器人环境感知技术已日趋成熟。文献[6~9]主要使用视觉传感器实现了机器人的环境信息获取。
综上,机器人利用视觉传感器可以更低成本的获取更丰富的外界信息。本文设计的临场机器人使用分布广泛的无线网络、低成本开源控制器、Kinect视觉传感器、Ubuntu操作系统和ROS(机器人操作系统),构造简单、经济性强、易于功能拓展。机器人平台实现了SLAM(同时定位与制图)、人脸识别与人员追踪,可应用于远程临场任务。
本文所设计的机器人实体如图1所示。
机器人为双轮驱动,电机经过谐波减速器后再通过同步带将动力传递给驱动轮。机器人主要传感器为Kinect视觉传感器和编码器。下位机是安装有Debian操作系统的BeagleboneBlack开源控制器。上位机为安装有Ubuntu和ROS的笔记本电脑。远程控制平台可为任意一台接入网络的计算机。控制平台可通过远程控制机器人上位机,进而控制机器人。
图1 机器人实体
Kinect的RGB摄像头和红外摄像头标定使用MATLAB的Toolbox_calib工具箱完成。标定完成可得到两个摄像头的内参分别为Hrgb和Hir,然后进行配准。
设空间某点P在深度摄像头坐标系和RGB摄像头坐标系下的坐标分别为Pir和Prgb,则有:
设R、T分别为红外摄像头坐标系到RGB摄像头坐标系的旋转矩阵和平移向量。则有:
根据式(1)~式(3)可求得:
2.1 机器人控制系统总体设计
机器人使用人员识别与定位程序得到的位置数据和2D-SLAM程序得到的地图,通过ROS导航功能包完成实时路径规划。上位机通过网络通信将运动指令传递给下位机控制机器人动作。机器人控制系统的各程序使用ROS完成整合,总的程序流程为:
1)利用2D-SLAM程序构建环境地图。
2)人员识别与定位程序识别出特定人员后,实时追踪该人员并确定其与机器人的相对位置。
3)坐标转换确定要追踪的人体在环境地图中的位置。
4)使用ROS导航功能包规划出机器人运动路径。
5)上位机将运动指令传给下位机控制机器人运动。
2.2 机器人运动学分析
本文所设计的机器人可以实现原地转向、直行和圆弧转弯等运动。在此仅分析圆弧转弯模式,则直线运动转弯半径为无穷大,原地转向转弯半径为零。
其中,V和R分别为机器人的运动速度与转弯半径,ω1和ω2为两驱动轮的角速度,r为驱动轮半径,d为两驱动轮间距。
2.3 2D-SLAM程序设计
本文主要使用Kinect和编码器的数据完成临场机器人2D-SLAM。使用扩展卡尔曼滤波算法(EKF)对基于编码器的里程计数据和视觉里程计数据进行融合提高机器人定位精度。机器人圆弧转弯运动模型如图2所示。
图2 机器人圆弧转弯运动模型
利用Kinect传感器,根据特征提取与匹配算法提取相邻两帧图像的特征点并结合深度图像得到特征点三维坐标。根据特征点的三维坐标变换得到刚体的旋转矩阵和平移向量,进而得到机器人的位姿变化。机器人基于视觉里程计的位姿测量模型为:
2D-SLAM程序流程图如图3所示。
图3 2D-SLAM程序流程图
2.4 人员识别与定位程序设计
本文设计的人员识别与跟踪程序,首先进行人脸识别以此选定跟踪区域,并不断判断跟踪区域周围是否可检测出人体,如果检测出人体,即将人体更新为跟踪目标。然后使用Camshift算法结合卡尔曼滤波算法对目标进行跟踪,并实时计算出目标中心与机器人的相对位置。其中Camshift算法是对每一帧图像进行Meanshift算法处理,把前一帧的结果当作后一帧Meanshift算法的初始值,依次迭代[10]。程序流程图如图4所示。
在Kinect配准完成以后,两个摄像头采集图像的像素点有对应关系。设RGB图像中离跟踪区域中心点最近的深度值不为零的点为C,点C相对于机器人的位置为(X,Y,Z),则有:
图4 人员识别与定位程序流程图
其中,(m,n)代表C在深度图像对应点的像素坐标。z表示(m,n)点的深度值,(Cx,Cy)表示深度摄像头的主点,fx、fy表示深度摄像头的焦距。
根据以上分析将实验分为三部分。首先进行Kinect联合标定实验,配准深度图像和RGB图像;其次进行2D-SLAM实验生成环境地图;最后进行人员识别与追踪实验,验证整个方案的可行性。
3.1 Kinect联合标定实验
本文采用MATLAB Toolbox_calib工具箱完成对Kinect的标定,得到红外摄像头和RGB摄像头的内参矩阵Hir和Hrgb。两个摄像头分别对同一位姿的标定板求外参数得到Rir、Tir和Rrgb和Trgb。
根据标定结果和式(4)、式(5)得:
根据R和T对同时获取的RGB图像与深度图像进行处理生成一帧点云数据,显示如图5所示。
图5 生成的点云图
点云图证明两个摄像头图像的配准比较精确。
3.2 2D-SLAM实验
选择环境较为复杂的实验室作为实验场景。实验室中间放置桌子和宣传板等物品,围绕实验室中间的物品划定长方形作为参考运动轨迹。控制机器人沿参考轨迹运动一周得到图6,图中红色方块表示机器人。根据参考运动轨迹与SLAM得到的定位数据得到图7。
图6 2D-SLAM结果图
图7 机器人运动轨迹
分析图7,考虑到机器人的中心很难完全沿参考运动轨迹运动,比较两条轨迹各取值点间的Δx和Δy近乎相等。因此,机器人的定位是比较精确的。
3.3 人员识别与追踪实验
以Kinect的RGB摄像头中心位置为坐标原点,实测Kinect对人体的检测范围得到图8。Kinect可检测到人体的范围是图8中以三角形为节点的折线所夹的区域,可精确检测人体位置的范围为以圆圈为节点的折线所围成的扇形区域。
图8 Kinect可检测人体位置的范围
根据Kinect参数和实验数据,本文设定机器人有效检测区域为图8灰色扇形区域。该区域是在Y大于零时由以下四个方程所围成。
在机器人追踪特定人员过程中要保证人体处于机器人的有效检测区域内。使用人员识别与定位程序识别出需要追踪的人员,并且得到人体与机器人的相对位置,如图9所示。
图9 人员识别与位置检测图
在得到要追踪的人员相对于机器人的位置后,通过坐标系转换,确定该人员在地图中的位置,使用ROS导航功能包完成机器人导航,结果如图10所示。
图10 机器人导航结果
本文设计了一款双轮临场机器人,采用Kinect视觉传感器、开源控制器等低成本设备和开源的操作系统,成本低廉,扩展性好。机器人可以实现2D-SLAM和对特定人员的识别与追踪。通过实验证明了本文方案的可行性。
Kinect传感器对光线变化敏感,因此本文设计的机器人仅可在室内使用。以后考虑结合其他传感器扩展其可用范围。单个Kinect探测范围较窄,以后考虑使用多个Kinect传感器扩大机器人探测范围。
[1] 杜广龙.面向多自由度机器人的非受限智能人机交互的研究[D].华南理工大学,2013.
[2] 卜范骞,田国会,李晓磊.家庭服务机器人SLAM[A].中国自动化学会华东六省一市学术年会[C],2007.
[3] 周波,戴先中,韩建达.基于激光扫描的移动机器人3D室外环境实时建模[J].机器人,2012,34(3):321-328,336.
[4] 苑晶,刘钢墩,孙沁璇.激光与单目视觉融合的移动机器人运动目标跟踪[J].控制理论与应用,2016,33(2):196-204.
[5] 庄严,卢希彬,李云辉,等.移动机器人基于三维激光测距的室内场景认知[J].Acta Automatica Sinica,2011,37(10):1232-1240.
[6] 王兴伟,钱钧.基于ROS的全方位移动机器人SLAM实验研究[J/ OL].中国科技论文在线,2016-5-25.
[7] Raúl Mur-Artal. ORB-SLAM: A Versatile and Accurate Monocular SLAM System[J].IEEE Transactions on Robotics, 2015,31(5):1147-1163.
[8] Engel J,Stückler J,Cremers D. Large-scale direct SLAM with stereo cameras[C].IEEE/RSJ International Conference on Intelligent Robots and Systems.IEEE,2015:1935-1942.
[9] 王晓华,傅卫平.零件的双目视觉识别定位与抓取系统研究[J].制造业自动化,2010,32(11):129-132.
[10] 张润泽.基于OpenCV的视觉跟踪平台设计与实现[D].吉林:吉林大学,2015.
Design and experimental research of telepresence robot based on kinect
WANG Xing-wei, QIAN Jun
TP242
A
1009-0134(2017)04-0004-04
2017-01-16
国家自然科学基金(51205104);中央高校基本科研业务费专项资金(2014HGCH0015)
王兴伟(1988 -),男,山东潍坊人,硕士研究生,研究方向为轮式移动机器人定位与导航。