吴若鸿,吴怀宇,钟 锐
(武汉科技大学 信息科学与工程学院,湖北 武汉430081)
基于机器人自主开门技术,可以拓展机器人的工作环境,对于机器人技术的发展具有重要的研究意义[1]。Chung等通过单目摄像机,识别球状门把手的大概位置,然后利用末端执行器对门把手进行重复触碰[2]。Klingbeil等在机器人位于门前位置的前提下,采用学习算法对所有可能的门把手候选对象进行定位[3]。Rusu等将一台激光测距仪安装于同门把手相同高度的位置,对门把手进行室内定位[4]。Ott等给灵巧关节机器人安装了力传感器,用以操作一台机械臂完成开门操作[5]。Petrovskaya等基于力测量基础的贝叶斯后验估计对门把手的位置和方向进行确定[6]。Schmid等在假设把手不需要扭动,并且把手的3D 模型已知的前提下,设计了一种静态的机械臂用来打开柜门和抽屉[7]。Jain等通过预先定位门把手范围 (20cm)后,设置一系列行为模式来保证机械臂能执行开门动作[8]。
上述这些方法一般都是在机器人已位于门前或者不需要对门把手进行操作的情况下完成的,本文主要研究运动中的门把手定位以及开门策略,设计了一种基于移动机械臂平台的开门策略,并将这种策略运用到机器人的开门过程中。
本文所使用的移动机械臂平台为MT-A,如图1所示。MT-A 包括一个可移动平台,在该平台前方下部安装有一台激光传感器、平台上方安装有一个五自由度机械臂,一台Kinect传感器。Kinect是微软产品xbox360 的外设,如图2所示,它具有一个红外线发射器,一个RGB 摄像头,一个红外线接收器,结合SDK (software development kits)可以获得深度图像[9]。
图1 可移动机械臂平台MT-A
图2 Kinect
实验采用标准门的各项尺寸参数如图3 所示,由于MT-A 所配备的五自由度机械臂无法对球形门把手进行操作,因此本文的实验对象采用水平门把手,如图3所示。
图3 安装有水平门把手的标准门
开门策略流程如图4所示。开门策略的具体流程主要包括图像处理和移动机械臂平台运动控制2部分。下面针对这2部分进行具体说明。
图4 开门实验控制策略流程
本文将颜色空间的概念引入到门把手定位中,常用的颜色空间包括RGB,HSI等。它们各自都有不同的特点。RGB颜色空间通过将R (红色)、G (绿色)、B (蓝色)进行不同程度的迭加来产生各种各样的不同颜色,一般应用在计算机图形显示领域,即通过发射出3种不同强度的电子束,使屏幕内侧覆盖的红、绿、蓝磷光材料发光而产生色彩。RGB颜色空间也广泛应用在计算机多媒体技术中。根据三基色原理,任意色光F 均可以通过将R、G、B 分别配以不同的权重a、b、c后再相加而得出。F 值可由式(1)表示
HSI颜色空间是从色调 (H )、饱和度 (S)和强度(I)这3个方面描述图像。其中色调 (H )表示人眼所能获取的不同颜色,如红、黄、蓝等;饱和度 (S)表示颜色的深浅程度,该值越大,则人眼所感受到的颜色越深;强度 (I)表示颜色的明暗程度,该值越大,则人眼所感受到的颜色越明亮。HSI颜色空间如图5所示[9]。
图5 HSI颜色空间模型
如图5所示,H 的取值范围是0°~360°,S 的取值范围是0% (灰色)到100% (完全饱和),I 的取值范围是0%(黑色)到100% (白色)。这种描述HSI色彩空间的圆锥模型较为复杂,但却能把色调、亮度和色饱和度的变化情形表现得很清楚。人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,因此这种描述比较直观而且符合人的视觉特性,并考虑到对RGB空间进行处理会造成色差和颜色失真的情况,故在本文中采用HSI颜色空间对获取图像进行处理。从RGB颜色空间向HSI颜色空间转换的转换公式可由式 (2)表示[10]
式中:如果S =0(对应图5中无色的中心点),则H 无意义,此时定义H =0。
由于本文采用Kinect来获取图像信息,因此将门把手的颜色特征作为主要研究对象。该部分流程如图4中图像处理虚线框中所示。具体步骤说明如下:
步骤1 获取图像
本文采用Kinect来获取图像,通过RGB 摄像头获取RGB图像,通过深度传感器获取深度图像。获取RGB图像后,下一步为将图像由RGB 颜色空间转换到HSI颜色空间。
步骤2 RGB颜色空间到HSI颜色空间的转换
获取RGB原始图像后,R、G、B 这3色的值可由图像数据得出。该图像数据为24位,3种基色各占8位。根据式 (2)可以求出H 、S、I的值。
步骤3 阈值分割
将RGB原始图像转换到HSI颜色空间后,得到了H 、S、I的值。由于这3个变量的范围各不相同,因此H 、S、I的阈值分割需要分别进行。阈值分割步骤由手动设定,通过拖动软件界面上 (如图9所示)H 、S、I所对应的拉条,可以对图像中H 、S、I的阈值范围进行设定,从而将门把手图像从原始图像中分割出来。
步骤4 标记门把手
Kinect可以同时捕获RGB图像和深度图像,为给机械臂后续开门操作提供门把手位置信息,因此在RGB图像中对分割出来的门把手进行标记,同时在深度图像中的相同位置也进行标记。
步骤5 获取门把手的距离信息
通过使用Kinect相配套的SDK (software development kits),可以在深度图上读取到所标记位置的深度信息。因此被标记的门把手的距离信息就可以从深度图数据中获取。
如图4中移动机械臂平台运动控制框架部分所示,通过实时获取门把手的距离信息,判断移动机械臂平台是否进入到门前一定距离范围内。若未达到设定的距离值,则移动机械臂平台继续前进。当检测到移动机械臂平台位于该距离范围内时,移动机械臂平台停止前进,机械臂开始进行开门动作。在本文中,通过设置3个控制状态位 (移动平台到达状态位、开门准备状态位、开门完成状态位)控制开门操作,具体使用方法在实验部分中给出。由于门把手的高度已确定 (0.92m),因此机械臂3个关节的转动角度可根据此高度值进行确定。
开门实验主要包括3个部分:①定位门把手;②获取门把手距离信息;③机械臂进行开门操作。下面分别对3个实验部分进行详细说明。
为了验证本文所提出的开门控制策略的有效性,本团队专门搭建了一个配有标准门的实验环境,如图6 所示。Kinect的水平方向可视角度和垂直方向可视角度分别为57°和43°,d 为Kinect与门把手之间的距离值。Kinect的俯仰角被设定为-25°,从而可以保证Kinect可以在0.4 m~3.5 m 的范围内均可以获取门把手的图像,该范围也是Kinect的有效视距[11]。
图6 开门实验环境
本文所应用的开发环境是Microsoft Visual Studio 2008。门把手图像处理过程如图7所示。原始图像如图9 (a)中所示,H 、S、I的阈值设定位于图像显示区域的下方,门把手上附有黄色标示。由于H 、S、I的变化会引起图像的显著改变,如图7 (b)所示,因此选取H 、S、I范围阈值的2个原则是最大化保存门把手图像数据,最大化去除其余背景图像数据。基于这2个原则,通过依次改变H 、S、I的最大值和最小值,门把手就可以从HSI颜色空间中分割出来,如图7 (c)所示。
图9 (c)所对应的H 、S、I的阈值范围见表1。
图7 门把手图像处理
表1 H、S、I的阈值范围
根据设定的H、S、I的阈值范围,可以同时在原始图像和深度图像中对门把手进行实时定位,并用矩形方框对其进行标记,如图8所示。该矩形方框表示了对门把手的成功定位。
图8 门把手定位
由于门把手与Kinect之间的距离信息是开门实验中重要的参数,本文所采用方法也在MT-A运动过程中进行了测试。图9中显示了MT-A朝向门运动过程中4个不同的时间点的门把手定位结果,MT-A的运动速度设定为0.1m/s。
如图9所示,MT-A 运动过程中,门把手被实时定位并被方框标记,通过读取深度图中同一位置处的深度信息,就可以获取门把手与Kinect之间的距离值。该距离值的测量误差定义为
式中,err——距离值的测量误差,d1——由Kinect获取的距离值,d2——由卷尺 (bouncing rabbit,50 m/165ft)实际测量的距离值。图9中MT-A 运动过程中门把手与Kinect之间的距离值见表2。
测量误差的产生有3个部分:
(1)H 、S、I的范围阈值由人工设定,因此主观因素将会对门把手定位过程产生影响。
(2)本文所采用的算法仍存在待改进之处。
(3)Kinect的感应精度也会不可避免的产生测量误差。由于移动平台驱动系统的响应时间为秒级,而本文中图像处理的时间为毫秒级,因此MT-A 的运动速度不能太快以免发生碰撞。本文中,MT-A 的速度设定为0.1m/s。获取门把手与Kinect的距离值后,移动机械臂平台的运动控制将是开门实验的下一步操作。
图9 MT-A 运动过程中的门把手定位
表2 门把手与Kinect之间的距离值
通过检测门把手与Kinect之间的距离值来判断机械臂移动平台是否到达可操作区域。因机械臂本身末端执行器的夹取力度不足以对门把手进行夹取动作,因此本文实验采用末端执行器下压开门方式。程序初始化中设置3个状态判断位,分别为移动平台到达状态位 (bPosition)、开门准备状态位 (bReady)和开门完成状态位 (bPushdown),初始值均为0。这3个状态必须依次满足并设置为1,当机械臂移动平台到达设定距离后,在程序中设置bPosition=1,同时机械臂进行开门动作,机械臂的开门操作分为3个部分:
(1)机械臂各关节进行转动,末端执行器水平置于门把手上方,此时在程序中设置bReady=1。
(2)检测到bReady=1后,机械臂各关节进行下压动作,下压动作完成后,门被打开,并在程序中设置bPushdown=1。
(3)检测到bPushdown=1 后,移动机械臂平台执行后退动作,并将各关节进行复位,3个状态位均置为0。开门实验结束。
实验过程如图10所示。
图10 移动机械臂平台MT-A 开门实验过程
图10 (a)显示了MT-A 的起始状态,此时3个状态位bPosition,bReady,bPushdown均设为0;图10 (b)显示了MT-A 到达门前可操作区域,此时bPositon=1;图10(c)显示了机械臂末端执行器已经水平置于门把手上方,此时bReady=1;图10 (d)显示了机械臂执行下压指令,此时bPushdown=1;图10 (e)显示了MT-A 执行完开门操作后返回,程序结束。
本文分别在5种不同距离内各进行了10次实验,分别从不同的起始距离进行开门,实验结果见表3。
由表3可知,随着初始距离的增加,开门的成功率有所降低,主要是因为随着前向运动距离的增加,MT-A 到达可操作区域后朝向的精准性有所降低。而门把手的可操作部分较短,本文所用的门把手长度为0.12m。经实验得出,门把手上的下压有效区域大约为0.05m,考虑到下压过程中门把手的旋转情况,可以保证开门成功的门把手上的转动有效区域大约为0.03m。因此开门实验中,需要操控机械手对这0.03 m 的部分执行下压动作。本文仅使用Kinect对距离信息d 进行了检测,而没有对移动平台的方位信息进行实时检测,因此初始距离的增加将会降低移动平台的朝向精准性。
本文目前对开门实验的研究仍处于初期阶段,因此所设计实验对于初始位置有一定的要求,如何实现移动机械臂平台在任意初始位置的开门操作将是下一步的研究重点。可考虑将室内激光导航加入到开门实验中,使得机器人可以由激光辅助预先到达一个距离门前较小的范围内,或采用罗盘等方位检测装置将方位信息的获取引入到开门策略中来提高开门的成功率。
表3 开门实验结果
本文设计了一种基于Kinect的移动机械臂平台开门策略,通过Kinect获取外界图像,通过将其从RGB颜色空间转换至HSI颜色空间并进行阈值分割,得到门把手的二值化图像。并在机器人运行过程中实时检测出门把手与Kinect之间的距离d,用以控制机械臂完成开门操作。实验结果验证了本文所提出开门策略的有效性。目前,本文只是重点研究了将图像信息与运动控制相结合的开门策略,通过探索新的图像阈值分割方法,以及引入激光、罗盘传感器到机器人运动控制中,将可以使开门实验的成功率得到进一步提高,这将是下一步的主要研究工作。
[1]Xiong GL,Chen HC,Zhang RH,et al.Control of human-robot interaction flexible joint lightweight manipulator based joint torque sensors[J].Advanced Materials Research,2012:403-408.
[2]Chung W,Rhee C,Shim Y,et al.Door-opening control of a service robot using the multifingered robot hand [J].IEEE Transactions on Industrial Electronics,2009,56 (10):3975-3984.
[3]Klingbeil E,Saxena A,Ng AY.Learning to open new doors[C]//Stanford,USA:Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems,2010:2751-2757.
[4]Rusu RB,Meeussen W,Chitta S,et al.Laser-based perception for door and handle identification [C]//Willow Garage,USA:Proceedings of the International Conference on Advanced Robotics,2009:1-8.
[5]Ott C,Baeuml B,Borst C,et al.Autonomous opening of a door with a mobile manipulator:A case study [C]//Toulouse,France:Proceedings of the IFAC Symposium on Intelligent Autonomous Vehicles,2007:349-354.
[6]Petrovskaya A,Khatib O,Thrun S,et al.Touch based perception for object manipulation [C]//Stanford,USA:Robotics Science and Systems,Robot Manipulation Workshop,2007.
[7]Schmid A,Gorges N,Goger D,et al.Opening a door with a humanoid robot using multi-sensory tactile feedback [C]//Karlsruhe,Germany:Proceedings of the IEEE International Conference on Robotics and Automation,2008:285-291.
[8]Jain A,Kemp CC.Behavior-based door opening with equilibrium point control[C]//Georgia,USA:RSS Workshop on Mobile Manipulation,2009.
[9]ZHANG Zhensheng,ZHU Mingri.Image segmentation method for sucrose-crystallizing based on HSI color space [J].Computer Engineering and Applications,2011,47 (11):190-192 (in Chinese).[张振升,朱名日.基于HSI颜色空间的蔗糖结晶图像分割方法 [J].计算机工程与应用,2011,47(11):190-192.]
[10]GAO Wei,WANG Zhiheng,ZHAO Xunbo,et al.Robust and efficient cotton contamination detection method based on HSI color space[J].Acta Automatic Sinica,2008,34 (7):729-735 (in Chinese). [高伟,王志衡,赵训波,等.基于HSI颜色空间的棉花杂质高速实时检测方法 [J].自动化学报,2008,34 (7):729-735.]
[11]YU Tao.Kinect in action [M].Beijing:China Machine Press,2013:32-36 (in Chinese). [余涛.Kinect应用开发实战 [M].北京:机械工业出版社,2013:32-36.]