基于手势控制的机器人写字系统及其控制方法

文档序号:10584879阅读:404来源:国知局
基于手势控制的机器人写字系统及其控制方法
【专利摘要】本发明涉及一种机器人控制系统及其控制方法,具体为基于手势控制的机器人写字系统及其控制方法,计算机通过Kinect获取操纵者的人体姿态信息,并通过基于以太网的Modbus协议来与SCARA机器人进行通信,使用摄像头来在线获取SCARA机器人绘制现场的场景。该系统使得操控人员能以非接触式的自然人机交互方式,实时控制SCARA机器人的运动,让其在线跟随操控人员的手掌运动轨迹,从而使其完成写字绘画的功能,在必要的情况下,还能控制机器人自动擦除已绘制的轨迹。
【专利说明】
基于手势控制的机器人写字系统及其控制方法
技术领域
[0001]本发明涉及一种机器人控制系统及其控制方法,具体为基于手势控制的机器人写字系统及其控制方法。
【背景技术】
[0002]随着机器人技术的不断发展,机器人已经广泛应用于工业领域的焊接、装配、搬运、喷绘等方面。机器人写字的功能需要机器臂末端沿指定的轨迹运动,在诸多场合都需要用到此功能。工业机器人的运动控制可通过离线编程和在线编程两种方式来实现。离线编程在机器人作业之前制定好运动的轨迹,然后作业时按照指定的轨迹运动;在线编程则是在操作人员制定运动轨迹的同时,机器人就沿着当前轨迹绘制。
[0003 ]目前,机器人运动轨迹的制定多为手动设置轨迹点的方式。该编程方式费工费时,且轨迹点的数目很有限,从而轨迹相对比较简单。此外,也有通过文字的轨迹来制定机器人写字的轨迹,但该方式只能让机器人沿特定字体的文字轨迹进行绘制,缺少个性化和定制化。

【发明内容】

[0004]针对上述技术问题,本发明提供一种个性化和定制化的机器人写字系统和控制方法。
[0005]具体的技术方案为:
[0006]基于手势控制的机器人写字系统,包括Kinect、SCARA机器人、计算机、摄像头、路由器,Kinect、摄像头分别与计算机连接,计算机与路由器连接,计算机包括显示屏;计算机通过Kinect获取操纵者的人体姿态信息,并通过基于以太网的Modbus协议来与SCARA机器人进行通信,使用摄像头来在线获取SCARA机器人绘制现场的场景。
[0007]还包括显示器,显示器与计算机连接,为操纵者观察自身图像、机器人当前运动情况、手掌绘制轨迹以及机器人绘制轨迹。
[0008]基于手势控制的机器人写字系统的控制方法,当程序启动后,先对Kinect和SCARA机器人进行初始化,打开Kinect彩色信息提取和骨骼信息提取的功能,连接指定IP的SCARA机器人,并对计算机显示界面进行初始化;
[0009]然后,进入程序的整体循环,循环过程中,会判断是否有擦除、鼠标写字、绘制轨迹文件、保存轨迹鼠标事件,若有则执行相应的子过程,否则调用Kinect尝试获取最新的人体姿态;
[0010]从Kinect获取到的信息判断当前是否有用户在尝试手势操控,若有则进行笔画解析、轨迹规划以及界面记录处理;
[0011]在需要对机器人运动进行控制时,程序会调用SCARA机器人控制子模块,从而完成相应的动作。
[0012]Kinect是微软发布的三维体感传感器,它能够获取环境的图像、深度、音频等信息,且具有动作提取、图像识别、语音识别等功能。让用户通过体感、语音等方式进行人机交互,摆脱传统接触式交的束缚。Kinect依靠三只“眼睛”来感知环境的三维图像信息,其中彩色摄像头用来获取环境彩色图像;红外发射镜头以特殊的方式向环境发射无害的红外激光;红外摄像头用来捕捉环境中的红外图像,从而获取环境深度信息。基于深度信息,Kinect能够较准确地获取人体主要关节的空间位置,从而得到人体的姿态信息。
[0013]Kinect是利用深度图像来获取人体骨骼信息的,提取过程大致分4个步骤:人体目标检测及分割、身体部位识别、质心计算、骨骼模型拟合。首先是检测出视野内的人体目标并将其从背景中分割出来,从而得到只包含人体的深度图像,Kinect使用了随机森林的方法来实现。第二步则计算人体深度图中各像素分别属于头、颈、手、等部位的概率,然后对每个像素进行分类,进而识别出人体深度图中的各个身体部位,实现方法和第一步类似。第三步计算各个身体部位的质心,得到各部位的三维坐标。最后一步则对各部位坐标进行平滑输出以及其他特殊处理,并将其与基于关节坐标表示的骨架模型进行匹配,最终得到由关节坐标表示的骨骼信息
[0014]利用彩色图像来获取人体姿态的方法只能获取人体二维位置,且非常容易受光照、背景、衣服颜色的影响,准确性和鲁棒性都较差。由于深度图像能反映镜头视野内各像素的空间位置,故利用深度图像可得到人体以及多个主要关节的三维坐标,且不受环境光照和衣服颜色等因素的影响。
[0015]本发明提供的基于人体手势控制的机器人写字系统,利用微软体感传感器Kinect,以非接触的方式获取人体姿态信息;利用人体两肩的位置构建了人体的手掌绘制区域,使得适应不同体形的操控者;根据人手掌在该区域的相对位置来控制机器人的绘制轨迹;通过手掌张握状态来控制机器人的提笔和落笔动作;并根据设定误差范围来对手掌绘制轨迹进行处理,进而提高机器人的控制效率。该系统使得操控人员能以非接触式的自然人机交互方式,实时控制平面关节型机器人(SCARA)的运动,让其在线跟随操控人员的手掌运动轨迹,从而使其完成写字绘画的功能,在必要的情况下,还能控制机器人自动擦除已绘制的轨迹。
【附图说明】
[0016]图1是本发明的系统结构示意图;
[0017]图2是实施例的SCARA机器人绘制白板安装示意图;
[0018]图3是实施例的系统的布局;
[0019]图4是实施例的手掌绘制区域的示意图;
[0020]图5是实施例的轨迹规划方法示意图;
[0021 ]图6是本发明的控制流程图。
【具体实施方式】
[0022]结合实施例说明本发明的【具体实施方式】。
[0023]本实施例被控对象是SCARA机器人,它是一种圆柱坐标型的工业机器人,具有四个自由度,依靠三个为转动关节和一个平动关节来实现。因为三个转动关节的都平行于Z轴,而平动关节又能实现末端沿Z轴直线移动,故SCARA机器人能够控制末端沿X、Y、Z轴的平动,以及沿Z轴的转动。前两个关节的旋转范围分别为±130°和±140°,两臂长均为250mm,沿Z轴的行程为200mm,最后一个旋转关节的转动范围为土360°。SCARA机器人的工作区间由多个圆弧组成。SCARA机器人使用以PLC为核心的本体控制器。本体控制器完成机器人关节变量的实时控制和反馈,并能检测和预警故障。同时,它可通过以太网与上位机进行通信,从而实现电脑对机器人的管理和控制。
[0024]由于Kinect能够同时获得环境的彩色图像和深度信息,因此利用Kinect可较方便地获得人体姿态信息和手掌状态。
[0025]如图1所示,基于手势控制的机器人写字系统,包括Kinect、SCARA机器人、计算机、摄像头、路由器,Kinect、摄像头分别与计算机连接,计算机与路由器连接,计算机包括显示屏;计算机通过Kinect获取操纵者的人体姿态信息,并通过基于以太网的Modbus协议来与SCARA机器人进行通信,使用摄像头来在线获取SCARA机器人绘制现场的场景。摄像头为USB摄像头。
[0026]还包括显示器,显示器与计算机连接,为操纵者观察自身图像、机器人当前运动情况、手掌绘制轨迹以及机器人绘制轨迹。显示器为液晶电视。
[0027]系统中SCARA机器人绘制平面为白板,绘图工具为白板笔。如图2所示,白板笔安装于SCARA机器人Z轴正下方,和其相邻的是用于实现擦除轨迹装置。擦除使用气压为动力来源,通过气动电磁阀来控制白板擦的升降,从而实现绘制模式和擦除模式的程控切换。
[0028]系统的布局如图3所示,Kinect放置于液晶电视的正上方,操作人员站立位置到Kinect的距离在1.5m_2.1m之间,白板处于SCARA机器人末端的正下方,监视SCARA机器人绘制情况的USB摄像头安装在白板的斜上方。
[0029]根据Kinect人体姿态信息的两肩位置确定了一个手掌有效绘制区域,将人体手掌在绘制区线性映射为机器人的绘制区域,人体手掌的相对位置就对应于SCARA机器人末端画笔在绘制区域中的位置。手掌绘制区域的示意图如图4所示。图中N为颈部位置,Q、S为双肩位置,P为手掌位置,S和P在活动的那只手臂上。手掌绘制区域的原点确定为肩部S处,绘制区域的大小根据肩宽即Q、S两点距离来确定,以适应多种体型的人。
[0030]在控制SCARA机器人写字时,程序将由轨迹点表示的目标位置发送给SCARA机器人,当其达到该轨迹点时,再发送运动到下一个轨迹点的命令。从发送命令到运动完成,每个轨迹点的控制都将耗费一定时间,耗时通常都比Kinect手势产生轨迹点的周期要长。若采用逐个点运动的控制方式,SCARA机器人的运动和人手掌运动之间将产生相当大的延时。因此,本实施例采用了一种轨迹规划方法,使得SCARA机器人和人手掌之间轨迹既相似,又不会出现较大的延时。轨迹规划方法如图5所示,其中所有空心圆点和实心圆点均为原始笔画轨迹,而规划后用来控制SCARA机器人的轨迹点为实心圆点。图中e为设置的最大误差范围,表示原始轨迹点距规划后的轨迹最大距离。在轨迹规划算法中,假设当前已规划出一个点P,则搜索下一个输出点Q,使得P和Q之间的所有原始轨迹点据PQ线段的距离都小于e。从图中可以看出,相比原始轨迹,处理后的轨迹点数目少得多,这样可以大大缩短SCARA机器人运动控制时间,提高模仿运动的速度。通过适当地设置e,SCARA机器人运动控制的效率和精度这一矛盾得以平衡。
[0031]本发明的机器人写字系统要实现的主要功能是让用户通过手势来控制SCARA机器人的动作,使其完成模拟人写字的功能。除手势控制的交互方式外,用户还可用鼠标操控或使用轨迹文件来控制SCARA机器人的写字动作。同时,还需要的功能有擦除轨迹、保存轨迹文件、写字板监视、模板字设置、界面视频记录、记录回放等功能。
[0032]基于手势控制的机器人写字系统的控制方法,如图6所示,当程序启动后,先对Kinect和SCARA机器人进行初始化,打开Kinect彩色信息提取和骨骼信息提取的功能,连接指定IP的SCARA机器人,并对计算机显示界面进行初始化;
[0033]然后,进入程序的整体循环,循环过程中,会判断是否有擦除、鼠标写字、绘制轨迹文件、保存轨迹鼠标事件,若有则执行相应的子过程,否则调用Kinect尝试获取最新的人体姿态;
[0034]从Kinect获取到的信息判断当前是否有用户在尝试手势操控,若有则进行笔画解析、轨迹规划以及界面记录处理;
[0035]在需要对机器人运动进行控制时,程序会调用SCARA机器人控制子模块,从而完成相应的动作。
[0036]SCARA机器人关节自由度控制、位置反馈、气动电磁阀1控制等功能都是由机器人本体控制器实现,而计算机通过建立在以太网之上的Modbus协议来与SCARA机器人本体控制器通信。利用Modbus协议,运行于计算机上的程序可以控制机器人的动作以及管理机器人的状态。本实施例的计算机上软件对SCARA机器人末端位置控制、位置检测、电磁阀1控制等Modbus通信命令进行封装,供各功能模块调用。
【主权项】
1.基于手势控制的机器人写字系统,其特征在于,包括Kinect、、SCARA机器人、计算机、摄像头、路由器,Kinect、摄像头分别与计算机连接,计算机与路由器连接,计算机包括显示屏;计算机通过Kinect获取操纵者的人体姿态信息,并通过基于以太网的Modbus协议来与SCARA机器人进行通信,使用摄像头来在线获取SCARA机器人绘制现场的场景。2.根据权利要求1所述的基于手势控制的机器人写字系统,其特征在于,还包括显示器,显示器与计算机连接,为操纵者观察自身图像、机器人当前运动情况、手掌绘制轨迹以及机器人绘制轨迹。3.根据权利要求1或2所述的基于手势控制的机器人写字系统的控制方法,其特征在于,包括以下过程:当程序启动后,先对Kinect和SCARA机器人进行初始化,打开Kinect彩色信息提取和骨骼信息提取的功能,连接指定IP的SCARA机器人,并对计算机显示界面进行初始化; 然后,进入程序的整体循环,循环过程中,会判断是否有擦除、鼠标写字、绘制轨迹文件、保存轨迹鼠标事件,若有则执行相应的子过程,否则调用Kinect尝试获取最新的人体姿态; 从Kinect获取到的信息判断当前是否有用户在尝试手势操控,若有则进行笔画解析、轨迹规划以及界面记录处理; 在需要对机器人运动进行控制时,程序会调用SCARA机器人控制子模块,从而完成相应的动作。
【文档编号】B25J9/16GK105945947SQ201610340833
【公开日】2016年9月21日
【申请日】2016年5月20日
【发明人】董秀成, 唐勇, 王超, 杨邱滟, 古世甫, 郑海春
【申请人】西华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1