陶 林,李凯格,王 淼
TAO Lin1 , LI Kai-ge2 , WANG Miao1
(1.广东工业大学 自动化学院,广州 510006;2.广东省自动化研究所 广东省现代控制技术重点实验室广东省现代控制与光机电技术公共实验室,广州 510070)
随着机器人控制技术的快速发展,各种机器人已广泛应用于工业、农业、科研、教育以及人们的生活等诸多领域[1]。但目前机器人的操控方式却较单调,现有的控制方式基本上是通过人机界面、示教器、遥控器来实现的。这些控制方式需要依靠计算机来完成,人机交互通常都是依靠鼠标、键盘、触摸屏。因此,通常要求操作者掌握一些计算机输入设备操作方法,并且操作程序复杂繁琐,人与机器人交互方式不够直接。基于这点提出了一种新的机器人控制方式——体感控制,即操作者可以通过手势对机器人进行控制,让人直接用自己的手来指挥机器人进行动作,完成需要人机协作才能完成的任务。本文将Leap Motion体感技术与机器人控制技术相结合,实现了机器人控制方式上的创新和更加自然的人机交互[2]。
机器人控制系统通过Leap Motion体感控制器获取手掌的空间位运动信息,数据经过滤波削抖处理,识别出手势,结合机器人控制技术,实现了手势对机器人的控制,使机器人更加智能化。
1)设计两种可切换的控制模式:手势控制和示教器控制;
2)手势控制下,机器人运行在安全区域内[3];
3)手势控制下,监控机器人的运动。
本控制系统主要由上位机系统和下位机系统组成,系统总体结构图如图1所示。上位机系统由Leap Motion体感控制器、PC机、USB继电器模块组成。上位机完成对手部数据采集,对数据进行去处理,识别出手势,并负责把手势信息通过串口和IO口传给下位机。
图1 系统总体结构图
下位机是一个SCARA机器人,接受手势触发信号,根据不同的触发信号和手掌位置坐标,RCX142控制机械臂各关节的旋转角度,从而完成预期的动作。
Leap Motion是当下较为成熟的,以手运动捕获为主的体感设备,利用红外成像的原理,获取手的运动图像,检测并跟踪手、手指和类似手指的工具,可以实时获取它们的位置、手势和动作并将这些静态与动态信息提供给开发者[4]。其主要特点是精度高,达到0.01mm,远超大部分的体感设备。Leap Motion包括两个立体摄像机和三个红外LED,检测的范围大体在设备上方25mm到600mm之间,检测的空间大体是一个倒四棱锥体。它通过USB接口和其他设备通讯。
如图2所示,Leap Motion采用了右手笛卡尔坐标系,坐标的原点是设备的中心,坐标的x轴平行于设备,y轴指向上方,z轴指向背离屏幕的方向,单位为真实世界的毫米。
在PC机上,通过Leap MotionSDK开发包的函数,对获得的手部数据进行处理,提取手部的运动特征[5]。本系统识别两类手势,一种是手指在平面内画圈:顺时针画圈和逆时针画圈;另一种是手掌在空间移动:上下移动(平行于Y轴)和左右移动(平行于X轴),并获取手掌位置坐标。
图2 Leap Motion的右手坐标系统
本文使用的SCARA机器人由YAMAHA的YK500 SCARA机械臂、RCX142控制器和示教器组成。
1)机械手动作控制
YK500机械臂有四个关节,三个旋转关节轴线相互平行,实现平面内定位和定向,一个移动关节实现末端升降[5]。机械臂在空间移动,需要事先示教一些轨迹点即确定这些点的位置坐标,然后根据机器人编程语言进行编程实现控制。要实现机械臂末端和手掌上下左右一起移动,就需要把手掌在Leap Motion坐标系中的位置坐标,经过矩阵运算,转化为在SCARA机器人世界坐标系的位置坐标[6],将掌心的位置和机器人末端的位置对应起来。然后通过串口或以太网通讯,将手掌心的坐标传给机器人控制器,控制器将坐标数据发给下位机程序,使机器人末端移动。
已知Leap Motion坐标系中的掌心坐标P,那么该点在SCARA世界坐标系中的坐标P0通过以下齐次矩阵变换求得:
2)机械手末端控制
一般SCARA机器人末端装有吸盘或夹具,以实现特定的工业用途[7]。末端装置的动作一般都需要单独外力进行驱动,如吸盘吸放动作需要真空发生装置提供的真空吸附力或电磁装置提供的电磁吸附力。本操作系统通过手势控制机器人末端工具的动作。当Leap Motion识别出手指的顺时针和逆时针画圈就会发出一个触发信号,PC机通过USB智能控制开关将触发信号发给下位机的控制器的IO口,下位机程序根据IO端的电平变化来控制机器人末端发生装置的动作。
3)计算机与机器人之间的通讯
一般的机器人控制器都有COM串口、以太网端口和IO口,PC机通过这些接口向控制器发送和接收数据命令。本系统是通过COM串口和IO口通讯的。机器人控制器上的IO口是控制器连接外部控制信号的输入输出接口,本系统IO口和USB继电器连接。当手势识别成功,计算机通过串行端口向USB继电器发送触发字码,根据触发字码继电器开关跳转,IO口电平发生变化,控制器根据IO值的变化对机器人末端发生装置进行控制,IO口输入信号电路如图3所示。控制器上的com串口和计算机通讯需要知道通讯协议,即计算机发送什么样格式的字码控制器才能识别。本系统中的机器人在On-Line模式下,可以接受如下格式的命令:
例如机器人末端从P点移到P1点,计算机端发送的命令和机器人回复的形式如下:
图3 IO口输入信号电路图
基于Leap Motion手势识别的机器人控制系统软件设计分为两部分:上位机控制系统软件设计和下位机控制系统软件设计。系统流程如图4所示。
图4 系统程序流程图
上位机控制系统主要完成对手部信息的采集,数据处理,手势识别,数据发送,机器人运动监控;下位机系统完成数据接收和分析,机器人各关节的运动,以及末端工具的控制。
上位机程序在Windows系统下,Microsoft Visual Studio 2010平台上,结合Leap SDK开发包和OpenGl开源库,编写系统界面和3D仿真程序;下位机程序是根据YAMAHA开发的YAMAHA机器人编程语言以及控制卡的二次开发包来编写机器人控制程序。
由于Leap Motion硬件仅采用两只分辨率为640×240的高帧率摄像头,在实际使用时会产生识别不稳定的现象。器件分辨率、人手抖动、视觉遮挡等都可能引入噪声信号。为解决滤波问题采用自适应截止频率低通滤波方法[8],通过手掌心点的速度实时改变低通滤波器的截止频率。式(3)给出自适应滤波的参数表达式:
其中Hi由Leap Motion返回的坐标和向量值组成的高维向量,是经过自适应滤波后的向量,αi是[0,1]之间的平滑因子,截止频率由fci式(5)确定,式中的导数,代表手掌运动的线速度,fcmin和β取经验值:fcmin=1Hz,β=0.5。
在对实际机器人控制之前,根据实际的SCARA机器人型号利用OpenGL对SCARA机器人进行3D建模,然后根据Leap Motion已有的手掌3D模型,将模型手掌心位置坐标以及画圈手势和SCARA机器人3D模型进行映射绑定,仿真手势控制机器人的3D模型各关节运动,系统3D仿真如图5所示。仿真可以检测控制验证系统的有效性以及机器人的机械臂运动范围。有了仿真基础,再通过手势控制机器人实物会更加安全[9]。
图5 系统3D仿真图
Leap Motion体感控制器将手部信息发给计算机,计算机经过数据处理识别出手势和手掌的运动轨迹,并将处理后的结果输出给下位机,下位机机器人接收命令和数据,然后做出相应的动作。现场操作如图6所示。
图6 现场操作图
运用最新的体感控制器Leap Motion识别手势和获取手部运动数据,实现了用人手就可以实时控制机器人运动。这种控制方式,使机器人的控制方式更加灵活多样,使人机交互更加自然,可以运用于机器人示教、排爆、医疗等领域,具有广阔的应用前景。在此基础上可以根据工业生产等需要,研发出更自动化的机器人,通过人和机器人的交互,让人可以辅助机器人无法单独完成或效率低的事情。
[1]陈敬德,赵文丽,梁洪涛,王梓霖,张驰,毛晓波.基于Kinect的机器人控制系统[J].电子设计工程,2014,10:81-84.
[2]杜钊君.基于体感传感器的手势识别及人机交互系统研究[D].武汉科技大学,2013.
[3]李国阳,刘志明,韦巍.基于手势跟踪的人-机器人协作研究[J].制造业自动化,2008,04:50-53,69.
[4]胡弘,晁建刚,林万洪,杨进,熊颖.Leap Motion虚拟手构建方法及其在航天训练中的应用[J].载人航天,2015,03:257-262.
[5]Guna J,Jakus J,Pogac nik M,et al.An analysis of the precision and reliability of the Leap Motion sensor and its suitability for static anddyna-mic tracking[J].Sensors 2014,14(2):3702-3720.
[6]麦健桦.基于自然手势的机器人控制[D].华南理工大学,2013.
[7]胡杰,张铁.SCARA机器人控制系统的设计与研究[J].机械设计与制造,2012,05:162-164.
[8]Casiez G,Roussel N,and Vogel D.1€ filter:a simple speedbased low-pass filter for noisy input in interactive systems[A].Proceedings of the 2012 ACM Annual Conference on Human Factors in Computing Systems[C],Austin,TX,USA,2012:2527-2530.
[9]康波.增强现实中的跟踪技术[J].计算机测量与控制,2006,11:1431-1434,1455.