基于Kinect骨骼信息提取的机械臂远程体感控制系统设计

(整期优先)网络出版时间:2021-06-01
/ 2

基于 Kinect骨骼信息提取的机械臂远程体感控制系统设计

王静娴 蒋皓宇

江苏大学 江苏镇江 212013

作者简介:

王静娴,女,生于1999年11月,回族,河北唐山人,江苏大学本科在读,测控技术与仪器专业

基金项目:江苏大学第18批大学生科研课题立项资助项目,项目编号:18B089


摘要:基于Kinect进行人体骨骼信息提取,进而实现对机械臂的远程体感控制。主要研究内容为通过Kinect获取人体手势图像信息并进行处理,进而检测到人体的骨骼关节坐标,经无线传输方式传输给上位机,上位机采用LabVIEW平台,由程序处理进行坐标转化,从而控制机械臂的运动,建立机械臂的远程体感控制系统。经过实验表明,设计的系统可以通过人机交互体感技术对机械臂进行远距离控制,实现机械臂末端执行部件对物体的准确抓取动作。

关键词:Dobot机械臂;人机交互;Kinect;体感控制



由于在高压、辐射等恶劣环境下工作会威胁人体健康,因此控制机器人完成在这些特定环境下的工作成为科研人员的关注热点。传统机器人存在灵活性差、缺乏智能性等缺点,体感机器人应运而生。而人机交互是体感机器人最重要的技术之一,目前此技术主要分为接触式和非接触式交互。接触式人机交互常用可接触式传感器,采用可穿戴设备进行控制,然而此类设备会阻碍操作人员的行动,同时成本过高,因此诞生了非接触式交互技术。

将非接触式人机交互技术引入机械臂控制上,通过模仿人体动作来操控机器人,这种体感控制技术具有较大的实用价值,并在一定程度上实现了机器人控制方式的创新,使机器人的控制更加多样灵活。

  1. Kinect骨骼信息提取技术

    1. Kinect简介

Kinect是2010年由Microsoft公司推出的一款姿态传感输入设备,不同于传统输入设备,该设备可以实现使用者直接控制终端,实现自然人机交互。

本文采用Kinect V1.0设备,其传感器组具有可编辑性强、成本低等优点。该组传感器中间镜头是RGB彩色摄像头,左右两镜头分别为红外线发射器和红外线CMOS摄像机所构成的3D深度感应器[1]。基于以上功能,Kinect设备不需要使用任何额外的控制器,仅依靠捕捉操作者的动作进行人体关节图像识别,即可达到输入的功能。

    1. Kinect深度成像原理

Kinect通过发射近红外光线的光源来获得深度图,该设备会追踪大字形的物体。其深度成像原理为光编码技术(Light Coding)[2]。Kinect深度成像系统结构如图1所示。

图片 7

图 1 深度成像系统结构图

该方法中的光源被为“激光散斑”,是将激光打到粗糙物体或者穿透毛玻璃后形成的衍射斑点。此类斑点具有高度随机性,并且会随着距离的不同而变换图案,因此空间中任意两处的斑点图案均不同[3]

  1. 首先进行光源标定。即在空间内距光源不同距离的位置,如图2中标记为Z1、Z2、Z3…的置信位置处,分别用CMOS感光元件采集散斑,以连续的平面上捕捉到的斑纹图案作为参考图像。

  2. 在离原点不同的距离处的物体上捕捉斑纹图案的测试图像,如图2中物体A和B表面形成的散斑位置ZA和ZB

  3. 在每个测试图像和每个基准图像之间计算交叉相关,选取相关系数最大的参考图像,此时物体在该参考图像所在位置的可能性最大。由此判断出各个物体之间的距离,进而构建三维图像。

  4. 对距离数据归一化,转换成图像灰度值,完成对场景某一时刻的深度图像拍摄,最后将生成的深度图像传输给外部设备。然后返回执行第2步,得到连续不断的深度图像视频流[4]

    1. Kinect骨骼信息提取

Kinect设备在使用红外摄像头观测到三维图像后就可以分辨出其中可能是人体的移动物体,由此就可以将深度图像转换为骨骼关节图像,提取骨骼信息。

得到骨骼关节图像,首先需要在深度图像中将人体从背景环境中区分出来,此过程相当于在噪声中提取出所需解调信号。Kinect设备会逐点扫描其可识别到的空间内各个区域的深度图像,通过特征值判断人体的各个部位,最终将人体识别出来。

最后对所区分出的人体进行骨骼关节的识别。系统会根据“骨骼跟踪”的20个关节点来生成一幅骨架系统,此方法能使Kinect准确地评估人体的实际位置。

  1. 机械臂远程体感控制系统硬件设计

    1. 控制系统整体设计方案

机械臂远程体感控制系统为基于Kinect和LabVIEW设计的体感机器人。采用Kinect实现了人体骨骼关节坐标信息的提取,利用无线传输方式将坐标传送给基于LabVIEW平台进行信息处理的上位机,转换为机械臂的运动坐标,进而实现一种人手对机械臂的运动进行直接控制的自然人机交互系统。免除了控制传统机器人时复杂的操作过程及由程序控制的固定动作模式和狭窄的可操作范围,增加机器人控制的有效性和使用价值。

机械臂远程体感控制系统整体设计方案如图2所示。

60b5999fbf913_html_62678cf654b7c59d.png

图 2控制系统整体设计方案

该控制系统的工作过程是:首先通过Kinect V1.0感器获得人体左右手坐标以及手臂动作,并将捕获到的左手在三维空间中的坐标,转化为指令后发送给Dobot机械臂,将参数传递到PC端,然后根据Kinect坐标系与Dobot机械臂坐标系的比例对应,从而达到机械臂跟随人体手臂的移动而运动。同时根据人体右手的高度控制机械臂末端执行部件的开闭,实现对物品抓取。

    1. 系统的实现

  1. 传感器捕获人体手臂关节坐标:在将Kinect连接到PC端后,当传感器的检测范围内存在人体时,可捕获到人左右手在空间中的运动坐标。

  2. 坐标变换:分别建立Kinect坐标系与Dobot坐标系。通过Kinect所捕获的人体骨骼关节坐标(X0,Y0,Z0),经过坐标的转换得到机械臂所需对应移动的坐标(X,Y,Z),转换公式如下:

X=430-X0*200 (1)

Y=Y0*400 (2)Z=Z0*400 (3)

在程序中设置骨骼关节坐标(X0,Y0,Z0)的实时更新后,经由坐标转换可以实现机械臂随着人左手手臂运动而运动。

  1. 机械臂运动及抓取功能实现:将控制机械臂运动的语句均封装到一个函数中,将坐标参数(X,Y,Z)赋值给机械臂,然后调用函数来控制机械臂的关节点运动。要实现抓取功能,首先要在Z轴方向设定阈值,通过调用人体右手坐标,判断右手坐标是否高于阈值,若是则机械臂的末端气泵开启,反之则关闭。

  1. 机械臂远程体感控制系统软件设计

60b5999fbf913_html_a9d273bcf508ae61.png

图 3机械臂远程体感控制系统软件整体设计流程图

控制系统软件整体设计流程如图3所示。首先对Kinect的参数进行初始化,调用Kinect所测RGB图像与深度图像显示在前面板上,随后对其关节坐标进行转换,经转换后的坐标可实现对机械臂的运动控制。

该控制系统软件前面板设计如图4所示,左侧显示的为实时的彩色RGB图像,右侧显示人体的骨骼关节图像。中间的输出参数显示左右手坐标,其中右手的Z坐标控制末端执行部件的开关,开启时右侧的布尔灯会亮起,反之则暗下。

60b5999fbf913_html_84a59fa9b1a7ae86.jpg

图 4 机械臂远程体感控制系统软件前面板图

  1. 机械臂远程体感控制系统实验演示

控制系统实验演示过程如图5所示。

60b5999fbf913_html_dacd8c5aa7bfa51e.png

图 5 机械臂远程体感控制系统实验演示图

  1. 可精准模仿传感器中人的手臂动作:可以在人与机械臂不接触的情况下,远程将信息传到机械臂平台,完成不接触的信息传递。

  2. 可根据图像采集与分析而抓取不同物品:既能够抓取脆弱的物品且不用担心会遭到损坏,又能控制许多质量较重的物体的稳定抓取。

  3. 可根据对抓取物体的识别更换抓取方式:通过对所抓取物体的形状识别,机械臂的末端执行部件可更不同样式,做到更平稳、更省力的抓取物品。

  1. 结语

本文通过Kinect与LabVIEW设计制作了机械臂远程体感控制系统,实现了机械臂对人体动作的非接触式模仿,完成了对于物品的精准抓取。其能根据图像采集与分析而实现抓取功能,在控制机械手基础动作的同时,及时开启气泵,控制抓取。其中实现的非穿戴操纵技术还可以用于革新游戏的操作方法,或应用于智能家居中,服务人们的生活。


参考文献

[1]李红波,丁林建,冉光勇.基于Kinect深度图像的人体识别分析[J].数字通信,2012,39(04):21-26.

[2]GARCIA JAVIER (ES),ZALEVSKY ZEEV (IL). Range mapping using speckle decorrelation[P].:US2007216894,2007-9-20.

[3]石曼银.Kinect技术与工作原理的研究[J].哈尔滨师范大学自然科学学报,2013,29(03):83-86.

[4]李红波,丁林建,冉光勇.基于Kinect深度图像的人体识别分析[J].数字通信,2012,39(04):21-26.

[5]邵天培,蒋刚,留沧海.基于Kinect的动态手势识别研究[J].计算机测量与控制,2021,29(02):161-165.

[6]陈燕军.基于Kinect的人体骨骼信息提取与手势识别[J].机械工程与自动化,2020(04):173-175.


3