一种虚拟机械臂交互的抖动消除方法技术

技术编号:12253886 阅读:244 留言:0更新日期:2015-10-28 17:00
本发明专利技术涉及一种虚拟机械臂交互的抖动消除方法,利用卡尔曼滤波器和时间空间上的限制条件对交互用到的数据进行降噪处理,减弱或消除交互中抖动现象。并提出一个用于验证的交互系统,该系统由3D传感器提取用户的骨骼信息,进一步计算出右手及右手臂的若干关节角度,利用本抖动消除方法对得到的关节角度数据进行处理,之后通过一种新的映射方法将其转化为交互数据,再通过通信传递给虚拟机械臂更新状态以实现交互目的。

【技术实现步骤摘要】

本专利技术属于人机交互领域,特别是。 技术背景 Kinect是微软公司2010年推出一种新的3D传感器设备,其导入了即时动态捕获、 影像辨识、麦克风输入、语音辨识、社群互动等功能。通过影像辨识,可以识别人体及动作。 利用微软的SDK开发工具,可以获取人体骨骼数据,许多研究者正致力于利用骨骼数据进 行基于Kinect人机交互研究。 对于Kinect提供的骨骼关节数据,微软SDK开发工具本身提供了平滑函数进行处 理,但该平滑处理还是属于一种初级的不具特定性的处理方式,对交互过程中的许多特定 噪声效果不大。对于交互过程中的抖动问题,有的人将阻尼振动模型施加到交互对象上,利 用模型的限制来消除抖动,该抖动消除效果依赖于阻尼振动模型的参数设置及模型的复杂 程度,有的人则利用双指数平滑算法对关节坐标进行平滑。由于视觉的局限性,并不是所有 的实际交互动作都能由传感器得到的数据真实反映,而交互过程中,通常传感器数据计算 得到数据直接传递给交互对象,这样可能导致交互对象的部分交互范围成为了交互死角。
技术实现思路
本专利技术的目的是提供了,以便能够消除交互 过程中大部分的抖动、交互动作不连贯等问题。 本专利技术的目的是这样实现的,,其特征是,至 少包括如下步骤: 步骤1 :初始化系统参数和设备,然后选择是否进行映射参数校正,若否,进入步 骤2;若是,进入步骤9; 步骤2 :通过3D传感器获取人体的7个关节的3维坐标,这7个关节的3维坐标 包括左肩关节坐标、右肩关节坐标、肩膀中央关节坐标、臀部中央关节坐标、右肘关节坐标、 右腕关节坐标和右手关节坐标,同时还求取这7个关节的跟踪状态; 关节的跟踪状态的值有3种:0、1、2,对应着"跟踪"、"推断""未跟踪" 3种情况。 步骤3 :确定用户坐标系,利用步骤2获取的7个关节的3维坐标,确定用户坐标 系,并基于用户坐标系求4个角度的值,记为角度的测算值,这4个角度包括右臂的右倾角、 前后倾角、手肘弯曲角和手腕弯曲角,同时根据关节的跟踪状态确定每个测算值的有效状 态; 测算值的有效状态取值有2种:1、0,分别表示有效、无效。 步骤4 :对角度的测算值进行抖动消除处理; 步骤5 :抖动消除处理的结果,记为角度的平滑值,通过映射过程转化为用于交互 的角度值,记为角度的交互值,传递给通信模块; 步骤6 :通信模块将交互值进行封装,并发送给远程端的交互端; 步骤7 :交互端根据接收的数据,更新虚拟机械臂的状态; 步骤8 :返回到步骤2 ; 步骤9 :进行映射参数校正处理,完成后进入步骤2。 所述的步骤4抖动消除处理包括如下步骤: 步骤201:求4个角度的测算值Ag和有效状态M;进行卡尔曼滤波器的预 测,获取4个角度的预测值Ap;此处i表示角度i的数据;令i= 1,转到步骤202 ; 步骤202:若角度i的测算值Ag的有效状态M等于1,转到步骤203;否则, 跳到步骤209; 步骤203 :判断角度i的测算值Ag是否超过上下界Up和Dn,即是否满 足条件Ag >Up或Ag <Dn,若是,转到步骤204;否则,跳到步骤205; 步骤204 :将角度i的测算值Ag调整到上下界范围内,即若Ag >Up,则 令 Ag =Up;若 Ag <Dn,则令 Ag =Dn;转到步骤 205; 步骤205 :对角度i的测算值Ag与预测值Ap作差,再求绝对值,结果记为 山:即d|Ag-Ap |,转到步骤 206 ;步骤206:判断山是否大于阈值thi,若是,转到步骤207;否则,跳到步骤210; 步骤207:求角度i的变化量d2,其中角度i的上时刻的测算值记为Ag' 。若 Ag'不存在或无效,贝>1令(12=0°;否则,令d2= |Ag-Ag'|,转到步骤208; 步骤208:判断d2是否大于阈值th2,若是,转到步骤209;否则,跳到步骤210; 步骤209:用角度i的预测值Ap替换其测算值Ag,即令Ag =Ap,转 到步骤210 ; 步骤210 :判断i是否等于4,若是,跳到步骤212 ;否则,转到步骤211 ; 步骤211 :令i=i+1,跳到步骤202 ; 步骤212:以4个角度的测算值Ag作为卡尔曼滤波器的观测结果,进行卡尔曼 滤波器的校正,得到抖动消除的结果,记为角度的平滑值A。 所述的步骤5中的映射过程,将4个角度的平滑值A,通过映射过程转化为4个 交互值Ir,包括: 平滑值A到交互值Ir的映射关系可表示为: 其中,Up、Dn是角度i的上下界,Max、Min是角度i的最大值和最小 值。这里4个角度的上下界设为: Up = 90。,Dn = 0。,Up = 90。,Dn =-90。 Up = 90。,Dn = 0。,Up = 90。,Dn = 0。 默认情况下,角度i的上下界与其最大最小值是一致的,即Up等于Max, Dn等于Min。映射关系可以通过步骤9映射参数校正处理得到调整,因为映射参数 校正处理可以改变映射参数Max和Min。 所述的步骤9映射参数校正处理包括如下步骤: 步骤301:初始化统计变量sum,设sum= 0。将每个角度的上下界包围的区间 ,Up]均分为30个小区间,建立每个角度的统计直方图。初始化统计直方图中每 个小区间的频数为0; 步骤302 :获取每个角度的测算值Ag及有效状态M; 步骤303 :若所有角度的测算值都有效,即条件M等于1对i取1、2、3、4全成 立,转到步骤304 ;否则,跳到步骤302 ; 步骤:304:根据每个角度的测算值Ag,累积每个角度的直方图;令sum= sum+1,转到步骤305 ; 步骤305 :判断sum是否大于5000,若是,转到步骤306 ;否则,跳到步骤302 ; 步骤306 :分析每个角度的直方图,确定映射参数。对于每个角度,在直方图中分 别从最左端和最右端开始往中间搜索找出第一次出现频数超过5的小区间,从最左端开 始搜索找出第一次出现的频数超过5的小区间,以该小区间的左边界为该角度的最小值 Min,从最右端开始搜索找出第一次出现的频数超过5的小区间,以该小区间右边界为 该角度的最大值Max。这样就得到了每个角度的最大值Max和最小值Min。 本专利技术的优点是:利用卡尔曼滤波器和时间及空间限制条件对交互用到的数据进 行降噪处理,减弱或消除交互中抖动现象。并提出一个用于验证的交互系统,该系统由3D 传感器提取用户的骨骼信息,并进一步计算出右手及右手臂的若干关节的角度值,利用本 抖动消除方法对得到的关节的角度值进行抖动消除处理,之后通过一种新的映射方法将其 转化为交互值,再通过通信传递给虚拟机械臂更新状态以实现交互目的。【附图说明】 图1是系统总流程框图; 图2是抖动消除处理流程图; 图3是映射参数校正处理流程图。【具体实施方式】 -种虚拟机械臂交互的抖动消除方法,如图1所示,至少包括以下步骤: 步骤1 :初始化系统参数和设备,然后选择是否进行映射参数校正,若否,进入步 骤2;若是,进入步骤9; 步骤2 :通过3当前第1页1 2 3 本文档来自技高网...
一种虚拟机械臂交互的抖动消除方法

【技术保护点】
一种虚拟机械臂交互的抖动消除方法,其特征是,至少包括如下步骤:步骤1:初始化系统参数和设备,然后选择是否进行映射参数校正,若否,进入步骤2;若是,进入步骤9;步骤2:通过3D传感器获取人体的7个关节的3维坐标,这7个关节的3维坐标包括左肩关节坐标、右肩关节坐标、肩膀中央关节坐标、臀部中央关节坐标、右肘关节坐标、右腕关节坐标和右手关节坐标,同时还求取这7个关节的跟踪状态;关节的跟踪状态的值有3种:0、1、2,对应着“跟踪”、“推断”“未跟踪”3种情况;步骤3:确定用户坐标系,利用步骤2获取的7个关节的3维坐标,确定用户坐标系,并基于用户坐标系求4个角度的值,记为角度的测算值,这4个角度包括右臂的右倾角、前后倾角、手肘弯曲角和手腕弯曲角,同时根据关节的跟踪状态确定每个测算值的有效状态;测算值的有效状态取值有2种:1、0,分别表示有效、无效;步骤4:对角度的测算值进行抖动消除处理;步骤5:抖动消除处理的结果,记为角度的平滑值,通过映射过程转化为用于交互的角度值,记为角度的交互值,传递给通信模块;步骤6:通信模块将交互值进行封装,并发送给远程端的交互端;步骤7:交互端根据接收的数据,更新虚拟机械臂的状态;步骤8:返回到步骤2;步骤9:进行映射参数校正处理,完成后进入步骤2。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘贵喜范勇涛黄楠楠辛莎莎史琳婕方兰兰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1