文档库 最新最全的文档下载
当前位置:文档库 › 基于Kinect的机械手体感控制系统

基于Kinect的机械手体感控制系统

工 业 技 术

78

科技资讯 SCIENCE & TECHNOLOGY INFORMATION

DOI:10.16661/https://www.wendangku.net/doc/762186966.html,ki.1672-3791.2018.13.078

基于Kinect的机械手体感控制系统

季齐 占瑜毅 黄龙 高文雄(合肥工业大学 安徽合肥 230000)

摘 要:提出一种基于深度信息对手指坐标进行实时跟踪,并可用于机械手同步运动控制的方案。首先利用Kinect的骨骼信息定位手掌位置并进行手部分割和轮廓提取,再提取指尖坐标,经卡尔曼滤波后计算手指与手掌的夹角,并发送至下位机,进而控制机械手与人手同步运动。

关键词:Kinect 手势识别 指尖检测 机械手 人机交互

中图分类号:U292 文献标识码:A 文章编号:1672-3791(2018)05(a)-0078-02

在当今社会中,计算机技术在各种领域中都有广泛应用。现在主流的人机交互手段是键盘、鼠标,但是这种交互手段在直观性、自然性上有一定的限制。手势识别是新兴的人机交互手段,利用计算机视觉技术使得计算机明白人的意图,从而实现相应的控制,这种便捷的控制方式具有广泛的研究价值。

1 Kincet设备获取手部信息

1.1 Kinect简介

2010年11月,微软公司发布了一款体感外设Kinect,它可以检测用户的骨骼信息与运动姿态,使玩家能脱离传统的手柄键盘进行操作。Kinect由3个镜头组成。RGB彩色相机用来采集彩色图像,左右两侧的相机构成一组深度摄像头,可用来采集深度数据[1]。1.2 手掌区域分割

Kinect SDK可以检测人体的骨骼信息并追踪关节点坐标,进而快速获得掌心的大致坐标,利用最近邻法可从深度图像分离手部区域,具体算法步骤如下。

(1)使用Kinect SDK提供的骨骼点检测功能提取右手掌心和手腕的坐标。

(2)以掌心为中心提取160×160像素的特征区域ROI。(3)遍历特征区域ROI,设定阈值T1,T2,将深度在手心深度减T1,

手腕深度加T2范围内点判定为手掌点,其余点为环境点。使用式(1)进行二值化。

(1)

2 指尖检测和手指追踪

2.1 掌心点计算

Kinect SDK虽然提供了掌心点坐标,但该坐标稳定性

较差。为了减小误差,本文利用分割出的手掌区域计算特

征矩进而得到掌心坐标。

(2)

(3)

2.2 优化K-curvature算法计算指尖坐标

首先利用findContours函数提取手部轮廓,再对手掌轮廓上的各点

P i ,计算

与,如果矢量夹角的余弦值大于设定的阈值dot,则判定P i 为指尖点。经实验表明,k取轮廓数目的5%、dot取0.4时效果最好。2.3 手势判定

得到指尖坐标和掌心坐标后,根据手指数量及其坐标关系计算特征值T1-T5即可实现相关手势的判定。T1表示手指数目,T2表示是否存在大拇指,T3表示两侧指尖与掌心夹角的范围,T4表示手指与手掌夹角的范围,T5表示最外侧指尖到掌心的距离。2.4 角度计算

为了消除手指坐标的抖动,本文采用卡尔曼滤波器对每根手指的坐标进行追踪,再使用滤波后的坐标计算指尖-指根-掌心的角度。最终手指与手掌的夹角计算公式如式4所示,其中B,A,0分别为指尖点、指根点、

掌心点B '与A'为指尖点和指根点在ZOY平面内的投影。

(4)

3 机械手控制部分设计

本文的机械手是一个总自由度为5的多关节灵巧手指,

①基金项目:合肥工业大学国家级大学生创新创业训练计划项目(编号:201610359051)。 作者简介:季齐(1996—),男,安徽合肥人,本科,研究方向:嵌入式软件。

相关文档
相关文档 最新文档