CN105005381A - 一种虚拟机械臂交互的抖动消除方法 - Google Patents

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

Info

Publication number
CN105005381A
CN105005381A CN201510397105.XA CN201510397105A CN105005381A CN 105005381 A CN105005381 A CN 105005381A CN 201510397105 A CN201510397105 A CN 201510397105A CN 105005381 A CN105005381 A CN 105005381A
Authority
CN
China
Prior art keywords
angle
value
measuring
interaction
calculating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510397105.XA
Other languages
English (en)
Other versions
CN105005381B (zh
Inventor
刘贵喜
范勇涛
黄楠楠
辛莎莎
史琳婕
方兰兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201510397105.XA priority Critical patent/CN105005381B/zh
Publication of CN105005381A publication Critical patent/CN105005381A/zh
Application granted granted Critical
Publication of CN105005381B publication Critical patent/CN105005381B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Gyroscopes (AREA)
  • Radar Systems Or Details Thereof (AREA)

Abstract

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

Description

一种虚拟机械臂交互的抖动消除方法
技术领域
本发明属于人机交互领域,特别是一种虚拟机械臂交互的抖动消除方法。
技术背景
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[i]和有效状态M[i];进行卡尔曼滤波器的预测,获取4个角度的预测值Ap[i];此处i表示角度i的数据;令i=1,转到步骤202;
步骤202:若角度i的测算值Ag[i]的有效状态M[i]等于1,转到步骤203;否则,跳到步骤209;
步骤203:判断角度i的测算值Ag[i]是否超过上下界Up[i]和Dn[i],即是否满足条件Ag[i]>Up[i]或Ag[i]<Dn[i],若是,转到步骤204;否则,跳到步骤205;
步骤204:将角度i的测算值Ag[i]调整到上下界范围内,即若Ag[i]>Up[i],则令Ag[i]=Up[i];若Ag[i]<Dn[i],则令Ag[i]=Dn[i];转到步骤205;
步骤205:对角度i的测算值Ag[i]与预测值Ap[i]作差,再求绝对值,结果记为d1:即d1=|Ag[i]-Ap[i]|,转到步骤206;
步骤206:判断d1是否大于阈值th1,若是,转到步骤207;否则,跳到步骤210;
步骤207:求角度i的变化量d2,其中角度i的上时刻的测算值记为Ag'[i]。若Ag'[i]不存在或无效,则令d2=0°;否则,令d2=|Ag[i]-Ag'[i]|,转到步骤208;
步骤208:判断d2是否大于阈值th2,若是,转到步骤209;否则,跳到步骤210;
步骤209:用角度i的预测值Ap[i]替换其测算值Ag[i],即令Ag[i]=Ap[i],转到步骤210;
步骤210:判断i是否等于4,若是,跳到步骤212;否则,转到步骤211;
步骤211:令i=i+1,跳到步骤202;
步骤212:以4个角度的测算值Ag[i]作为卡尔曼滤波器的观测结果,进行卡尔曼滤波器的校正,得到抖动消除的结果,记为角度的平滑值A[i]。
所述的步骤5中的映射过程,将4个角度的平滑值A[i],通过映射过程转化为4个交互值Ir[i],包括:
平滑值A[i]到交互值Ir[i]的映射关系可表示为:
I r [ i ] = ( A [ i ] - M i n [ i ] ) · U p [ i ] - D n [ i ] M a x [ i ] - M i n [ i ] + D n [ i ]
其中,Up[i]、Dn[i]是角度i的上下界,Max[i]、Min[i]是角度i的最大值和最小值。这里4个角度的上下界设为:
Up[1]=90°,Dn[1]=0°,Up[2]=90°,Dn[2]=-90°
Up[3]=90°,Dn[3]=0°,Up[4]=90°,Dn[4]=0°
默认情况下,角度i的上下界与其最大最小值是一致的,即Up[i]等于Max[i],Dn[i]等于Min[i]。映射关系可以通过步骤9映射参数校正处理得到调整,因为映射参数校正处理可以改变映射参数Max[i]和Min[i]。
所述的步骤9映射参数校正处理包括如下步骤:
步骤301:初始化统计变量sum,设sum=0。将每个角度的上下界包围的区间[Dn[i],Up[i]]均分为30个小区间,建立每个角度的统计直方图。初始化统计直方图中每个小区间的频数为0;
步骤302:获取每个角度的测算值Ag[i]及有效状态M[i];
步骤303:若所有角度的测算值都有效,即条件M[i]等于1对i取1、2、3、4全成立,转到步骤304;否则,跳到步骤302;
步骤:304:根据每个角度的测算值Ag[i],累积每个角度的直方图;令sum=sum+1,转到步骤305;
步骤305:判断sum是否大于5000,若是,转到步骤306;否则,跳到步骤302;
步骤306:分析每个角度的直方图,确定映射参数。对于每个角度,在直方图中分别从最左端和最右端开始往中间搜索找出第一次出现频数超过5的小区间,从最左端开始搜索找出第一次出现的频数超过5的小区间,以该小区间的左边界为该角度的最小值Min[i],从最右端开始搜索找出第一次出现的频数超过5的小区间,以该小区间右边界为该角度的最大值Max[i]。这样就得到了每个角度的最大值Max[i]和最小值Min[i]。
本发明的优点是:利用卡尔曼滤波器和时间及空间限制条件对交互用到的数据进行降噪处理,减弱或消除交互中抖动现象。并提出一个用于验证的交互系统,该系统由3D传感器提取用户的骨骼信息,并进一步计算出右手及右手臂的若干关节的角度值,利用本抖动消除方法对得到的关节的角度值进行抖动消除处理,之后通过一种新的映射方法将其转化为交互值,再通过通信传递给虚拟机械臂更新状态以实现交互目的。
附图说明
图1是系统总流程框图;
图2是抖动消除处理流程图;
图3是映射参数校正处理流程图。
具体实施方式
一种虚拟机械臂交互的抖动消除方法,如图1所示,至少包括以下步骤:
步骤1:初始化系统参数和设备,然后选择是否进行映射参数校正,若否,进入步骤2;若是,进入步骤9;
步骤2:通过3D传感器获取人体的7个关节的3维坐标,这7个关节的3维坐标包括左肩关节坐标、右肩关节坐标、肩膀中央关节坐标、臀部中央关节坐标、右肘关节坐标、右腕关节坐标和右手关节坐标,同时还求取这7个关节的跟踪状态;
关节的跟踪状态的值有3种:0、1、2,对应着“跟踪”、“推断”“未跟踪”3种情况。
步骤3:确定用户坐标系,利用步骤2获取的7个关节的3维坐标,确定用户坐标系,并基于用户坐标系求4个角度的值,记为角度的测算值,这4个角度包括右臂的右倾角(记为角度1)、前后倾角(记为角度2)、手肘弯曲角(记为角度3)和手腕弯曲角(记为角度4),同时根据关节的跟踪状态确定每个测算值的有效状态;
测算值的有效状态取值有2种:1、0,分别表示有效、无效。
步骤4:对角度的测算值进行抖动消除处理;
步骤5:抖动消除处理的结果,记为角度的平滑值,通过映射过程转化为用于交互的角度值,记为角度的交互值,传递给通信模块;
步骤6:通信模块将交互值进行封装,并发送给远程端的交互端;
步骤7:交互端根据接收的数据,更新虚拟机械臂的状态;
步骤8:返回到步骤2;
步骤9:进行映射参数校正处理,完成后进入步骤2。
步骤1中所述的初始化系统参数和设备,包括连接并启动3D传感器Kinect,开启骨骼跟踪功能,同时进行卡尔曼滤波器的初始化工作。卡尔曼滤波器的初始化工作的细节将在后面的步骤K1中介绍。
下面就步骤3中角度的测算值的求取过程做详细说明
获取的用户的左肩、右肩、肩膀中央、臀部中央、右肘、右腕、右手的三维坐标分别记为其跟踪状态分别记为SLS、SRS、SCS、SCH、SRE、SRW、SRH。设用户坐标系x轴正方向向量、y轴正方向向量、z轴正方向向量分别为OX、OY、OZ,这3个向量在传感器坐标系中表示为:
O X = R S ‾ - L S ‾ , O Y = C H ‾ - C S ‾ , OZ=OX×OY
计算右肩-右肘向量X1:设X1在用户坐标系中表示为(x,y,z),则有:
x = O X · X 1 | | O X | | ... ( 1 )
y = O Y · X 1 | | O Y | | ... ( 2 )
z = O Z · X 1 | | O Z | | ... ( 3 )
再由下公式计算角度1、角度2的测算值Ag[1]和Ag[2]:
计算右肘-右腕向量X2、右腕-右手向量X3: 再由下公式计算角度3、角度4的测算值Ag[3]和Ag[4]。
由下面法则可得Ag[i]的有效状态M[i]:
所述的步骤4抖动消除处理,如图2所示,包括如下步骤:
步骤201:求4个角度的测算值Ag[i]和有效状态M[i];进行卡尔曼滤波器的预测,获取4个角度的预测值Ap[i];此处i表示角度i的数据,下文都是如此;令i=1,转到步骤202;
步骤202:若角度i的测算值Ag[i]的有效状态M[i]等于1,转到步骤203;否则,跳到步骤209;
步骤203:判断角度i的测算值Ag[i]是否超过上下界Up[i]和Dn[i],即是否满足条件Ag[i]>Up[i]或Ag[i]<Dn[i],若是,转到步骤204;否则,跳到步骤205;
步骤204:将角度i的测算值Ag[i]调整到上下界范围内,即若Ag[i]>Up[i],则令Ag[i]=Up[i];若Ag[i]<Dn[i],则令Ag[i]=Dn[i];转到步骤205;
步骤205:对角度i的测算值Ag[i]与预测值Ap[i]作差,再求绝对值,结果记为d1:即d1=|Ag[i]-Ap[i]|,转到步骤206;
步骤206:判断d1是否大于阈值th1,若是,转到步骤207;否则,跳到步骤210;
步骤207:求角度i的变化量d2,其中角度i的上时刻的测算值记为Ag'[i]。若Ag'[i]不存在或无效,则令d2=0°;否则,令d2=|Ag[i]-Ag'[i]|,转到步骤208;
步骤208:判断d2是否大于阈值th2,若是,转到步骤209;否则,跳到步骤210;
步骤209:用角度i的预测值Ap[i]替换其测算值Ag[i],即令Ag[i]=Ap[i],转到步骤210;
步骤210:判断i是否等于4,若是,跳到步骤212;否则,转到步骤211;
步骤211:令i=i+1,跳到步骤202;
步骤212:以4个角度的测算值Ag[i]作为卡尔曼滤波器的观测结果,进行卡尔曼滤波器的校正,得到抖动消除的结果,记为角度的平滑值A[i]。
所述的步骤4抖动消除处理中的卡尔曼滤波器的使用是:
x(k|k-1)是估计的k时刻的状态向量,x(k|k)是校正的k时刻状态向量。P(k|k-1)和P(k|k)是分别对应着状态向量x(k|k-1)和x(k|k)的协方差。u(k)是k时刻的输入向量,z(k)是k时刻的观测向量,Kg(k)是k时刻卡尔曼增益矩阵。其主要的迭代方程为:
x(k|k-1)=A·x(k-1|k-1)+B·u(k)………………………(8)
P(k|k-1)=A·P(k-1|k-1)·AT+Q………………………(9)
x(k|k)=x(k|k-1)+Kg(k)·[z(k)-H·x(k|k-1)]…………(10)
Kg(k)=P(k|k-1)·HT·[H·P(k|k-1)·HT+R]-1…………(11)
P(k|k)=[I-Kg(k)·H]·P(k|k-1)………………………(12)
这里A是状态转移矩阵,B是控制矩阵,H是观测矩阵,Q是过程噪声协方差矩阵,R是观测噪声协方差矩阵。
卡尔曼滤波器的具体实施是在步骤1、步骤201、步骤212中进行的,这里为了便于介绍,将这3块的具体实施分解为步骤K1、步骤K2、步骤K3详细说明:
步骤K1:进行卡尔曼滤波器的初始化工作。设置状态向量维度为8,观测向量维度为4,控制向量维度为0。其次,设置状态转移矩阵A和观测矩阵H:
A = 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 H = 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0
设置过程噪声协方差矩阵Q、观测噪声协方差矩阵R:
Q = 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5 0 0 0 0 0 0 0 0 1 e - 5
R = 1 e - 1 0 0 0 0 1 e - 1 0 0 0 0 1 e - 1 0 0 0 0 1 e - 1
初始化x(k|k)和P(k|k):
x(k|k)=[0 0 0 0 0 0 0 0]T
P ( k | k ) = 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1
步骤K2:进行卡尔曼滤波器的预测。将x(k-1|k-1)代入公式(8),这里矩阵B=0,得到x(k|k-1)。将P(k-1|k-1)代入公式(9),得到P(k|k-1)。
步骤K3:进行卡尔曼滤波器的更新。将P(k|k-1)代入公式(11),得Kg(k),再求z(k):z(k)=[A[1] A[2] A[3] A[4]]T,然后将z(k)、Kg(k)和x(k|k-1)代入公式(10),得x(k|k)。最后,将P(k|k-1)和Kg(k)代入公式(12),求得P(k|k)。
所述的步骤5中的映射过程,将4个角度的平滑值A[i],通过映射过程转化为4个交互值Ir[i],包括:
平滑值A[i]到交互值Ir[i]的映射关系可表示为:
I r [ i ] = ( A [ i ] - M i n [ i ] ) · U p [ i ] - D n [ i ] M a x [ i ] - M i n [ i ] + D n [ i ] ... ( 13 )
Up[i]、Dn[i]是角度i的上下界,Max[i]、Min[i]是角度i的最大值和最小值。这里4个角度的上下界设为:
Up[1]=90°,Dn[1]=0°,Up[2]=90°,Dn[2]=-90°
Up[3]=90°,Dn[3]=0°,Up[4]=90°,Dn[4]=0°
默认情况下,角度i的上下界与其最大最小值是一致的,即Up[i]等于Max[i],Dn[i]等于Min[i]。映射关系可以通过步骤9映射参数校正处理得到调整,因为映射参数校正处理可以改变映射参数Max[i]和Min[i]。
所述的步骤9映射参数校正处理,如图3所示,包括如下步骤:
步骤301:初始化统计变量sum,设sum=0。将每个角度的上下界包围的区间[Dn[i],Up[i]]均分为30个小区间,建立每个角度的统计直方图。如角度1的上下界为0、90,则将区间[0,90]均分为30个小区间,这些小区间为[0,3)、[3,6)…[84,87)、[87,90]。初始化统计直方图中每个小区间的频数为0,转到步骤302;
步骤302:获取每个角度的测算值Ag[i]及有效状态M[i],转到303;
步骤303:若所有角度的测算值都有效,即条件M[i]等于1对i取1、2、3、4全成立,转到步骤304;否则,跳到步骤302;
步骤:304:根据每个角度的测算值Ag[i],累积每个角度的直方图。令sum=sum+1,转到步骤305;
步骤305:判断sum是否大于5000,若是,转到步骤306;否则,跳到步骤302;
步骤306:分析每个角度的直方图,确定映射参数。对于每个角度,在直方图中分别从最左端和最右端开始往中间搜索找出第一次出现频数超过5的小区间,从最左端开始搜索找出第一次出现的频数超过5的小区间,以该小区间的左边界为该角度的最小值Min[i],从最右端开始搜索找出第一次出现的频数超过5的小区间,以该小区间右边界为该角度的最大值Max[i]。例如,对于角度1,若其统计直方图的小区间[0,3)的频数为1,继续搜索,若小区间[3,6)的频数为3,继续搜索,若小区间[6,9)的频数为6,停止搜索,令Min[1]=6;再从另一端的小区间[87,90]开始搜索,若小区间[87,90]的频数为4,继续搜,若小区间[84,87)的频数为6,停止搜索,令Max[1]=87。类似的,确定出其他的Min[i]和Max[i]。这样就得到了每个角度的最大值Max[i]和最小值Min[i]。
本实施例没有详细叙述的部件和结构属本行业的公知部件和常用结构或常用手段,这里不一一叙述。

Claims (4)

1.一种虚拟机械臂交互的抖动消除方法,其特征是,至少包括如下步骤:
步骤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。
2.根据权利要求1所述的一种虚拟机械臂交互的抖动消除方法,其特征是,所述的步骤4抖动消除处理包括如下步骤:
步骤201:求4个角度的测算值Ag[i]和有效状态M[i];进行卡尔曼滤波器的预测,获取4个角度的预测值Ap[i];此处i表示角度i的数据;令i=1,转到步骤202;
步骤202:若角度i的测算值Ag[i]的有效状态M[i]等于1,转到步骤203;否则,跳到步骤209;
步骤203:判断角度i的测算值Ag[i]是否超过上下界Up[i]和Dn[i],即是否满足条件Ag[i]>Up[i]或Ag[i]<Dn[i],若是,转到步骤204;否则,跳到步骤205;
步骤204:将角度i的测算值Ag[i]调整到上下界范围内,即若Ag[i]>Up[i],则令Ag[i]=Up[i];若Ag[i]<Dn[i],则令Ag[i]=Dn[i];转到步骤205;
步骤205:对角度i的测算值Ag[i]与预测值Ap[i]作差,再求绝对值,结果记为d1:即d1=|Ag[i]-Ap[i]|,转到步骤206;
步骤206:判断d1是否大于阈值th1,若是,转到步骤207;否则,跳到步骤210;
步骤207:求角度i的变化量d2,其中角度i的上时刻的测算值记为Ag'[i];若Ag'[i]不存在或无效,则令d2=0°;否则,令d2=|Ag[i]-Ag'[i]|,转到步骤208;
步骤208:判断d2是否大于阈值th2,若是,转到步骤209;否则,跳到步骤210;
步骤209:用角度i的预测值Ap[i]替换其测算值Ag[i],即令Ag[i]=Ap[i],转到步骤210;
步骤210:判断i是否等于4,若是,跳到步骤212;否则,转到步骤211;
步骤211:令i=i+1,跳到步骤202;
步骤212:以4个角度的测算值Ag[i]作为卡尔曼滤波器的观测结果,进行卡尔曼滤波器的校正,得到抖动消除的结果,记为角度的平滑值A[i]。
3.根据权利要求1所述的一种虚拟机械臂交互的抖动消除方法,其特征是,所述的步骤5抖动消除处理得到的角度的平滑值A[i],通过映射过程转化为交互值Ir[i]:
平滑值A[i]到交互值Ir[i]的映射关系可表示为:
I r [ i ] = ( A [ i ] - M i n [ i ] ) · U p [ i ] - D n [ i ] M a x [ i ] - M i n [ i ] + D n [ i ]
Up[i]、Dn[i]是角度i的上下界,Max[i]、Min[i]是角度i的最大值和最小值;这里4个角度的上下界设为:
Up[1]=90°,Dn[1]=0°,Up[2]=90°,Dn[2]=-90°
Up[3]=90°,Dn[3]=0°,Up[4]=90°,Dn[4]=0°
默认情况下,角度i的上下界与其最大最小值是一致的,即Up[i]等于Max[i],Dn[i]等于Min[i];映射关系可以通过步骤9映射参数校正处理得到调整,因为映射参数校正处理可以改变映射参数Max[i]和Min[i]。
4.根据权利要求1所述的一种虚拟机械臂交互的抖动消除方法,其特征是,所述步骤9进行映射参数校正处理,其步骤包括:
步骤301:初始化统计变量sum,设sum=0;将每个角度的上下界包围的区间[Dn[i],Up[i]]均分为30个小区间,建立每个角度的统计直方图;初始化统计直方图中每个小区间的频数为0;
步骤302:获取每个角度的测算值Ag[i]及有效状态M[i];
步骤303:若所有角度的测算值都有效,即条件M[i]等于1对i取1、2、3、4全成立,转到步骤304;否则,跳到步骤302;
步骤:304:根据每个角度的测算值Ag[i],累积每个角度的直方图;令sum=sum+1,转到步骤305;
步骤305:判断sum是否大于5000,若是,转到步骤306;否则,跳到步骤302;
步骤306:分析每个角度的直方图,确定映射参数;对于每个角度,在直方图中分别从最左端和最右端开始往中间搜索找出第一次出现频数超过5的小区间,从最左端开始搜索找出第一次出现的频数超过5的小区间,以该小区间的左边界为该角度的最小值Min[i],从最右端开始搜索找出第一次出现的频数超过5的小区间,以该小区间右边界为该角度的最大值Max[i];这样就得到了每个角度的最大值Max[i]和最小值Min[i]。
CN201510397105.XA 2015-07-08 2015-07-08 一种虚拟机械臂交互的抖动消除方法 Expired - Fee Related CN105005381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510397105.XA CN105005381B (zh) 2015-07-08 2015-07-08 一种虚拟机械臂交互的抖动消除方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510397105.XA CN105005381B (zh) 2015-07-08 2015-07-08 一种虚拟机械臂交互的抖动消除方法

Publications (2)

Publication Number Publication Date
CN105005381A true CN105005381A (zh) 2015-10-28
CN105005381B CN105005381B (zh) 2018-02-16

Family

ID=54378077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510397105.XA Expired - Fee Related CN105005381B (zh) 2015-07-08 2015-07-08 一种虚拟机械臂交互的抖动消除方法

Country Status (1)

Country Link
CN (1) CN105005381B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107871116A (zh) * 2016-09-23 2018-04-03 塔塔咨询服务有限公司 用于确定人的姿势平衡的方法和系统
CN108453707A (zh) * 2018-04-12 2018-08-28 珞石(山东)智能科技有限公司 机器人拖动示教轨迹生成方法
CN110977974A (zh) * 2019-12-11 2020-04-10 遨博(北京)智能科技有限公司 一种机器人规避奇异位型的导纳控制方法、装置及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103544713A (zh) * 2013-10-17 2014-01-29 芜湖金诺数字多媒体有限公司 一种基于刚体物理模拟系统的人体投影交互方法
JP2014081863A (ja) * 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081863A (ja) * 2012-10-18 2014-05-08 Sony Corp 情報処理装置、情報処理方法、及び、プログラム
CN103544713A (zh) * 2013-10-17 2014-01-29 芜湖金诺数字多媒体有限公司 一种基于刚体物理模拟系统的人体投影交互方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
谢辉: "柔性关节机械臂残余抖动抑制与实验研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107871116A (zh) * 2016-09-23 2018-04-03 塔塔咨询服务有限公司 用于确定人的姿势平衡的方法和系统
CN108453707A (zh) * 2018-04-12 2018-08-28 珞石(山东)智能科技有限公司 机器人拖动示教轨迹生成方法
CN108453707B (zh) * 2018-04-12 2021-11-19 珞石(山东)智能科技有限公司 机器人拖动示教轨迹生成方法
CN110977974A (zh) * 2019-12-11 2020-04-10 遨博(北京)智能科技有限公司 一种机器人规避奇异位型的导纳控制方法、装置及系统
CN110977974B (zh) * 2019-12-11 2021-06-01 遨博(北京)智能科技有限公司 一种机器人规避奇异位型的导纳控制方法、装置及系统

Also Published As

Publication number Publication date
CN105005381B (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
KR101606628B1 (ko) 포인팅 방향 검출 장치 및 그 방법과, 프로그램 및 컴퓨터 판독가능한 매체
CN103529944B (zh) 一种基于Kinect的人体动作识别方法
EP3628380B1 (en) Method for controlling virtual objects, computer readable storage medium and electronic device
KR20120068253A (ko) 사용자 인터페이스의 반응 제공 방법 및 장치
CN103386683A (zh) 一种基于Kinect的体感控制机械臂方法
CN104933734A (zh) 一种基于多kinect的人体姿态数据融合方法
CN111459277B (zh) 基于混合现实的机械臂遥操作系统及交互界面构建方法
CN107627303A (zh) 一种基于眼在手上结构的视觉伺服系统的pd‑smc控制方法
CN105005381A (zh) 一种虚拟机械臂交互的抖动消除方法
CN106468917B (zh) 一种可触摸现场实时视频图像的远程呈现交互方法和系统
CN103391430B (zh) 基于dsp的相关跟踪方法及专用装置
CN102830798A (zh) 单臂机器人基于Kinect的无标记人手跟踪方法
CN105930775A (zh) 基于灵敏度参数的人脸朝向识别方法
CN107498555A (zh) 一种动作透传方法、装置及机器人
CN111753696A (zh) 一种感知场景信息的方法、仿真装置、机器人
CN114332423A (zh) 虚拟现实手柄追踪方法、终端及计算可读存储介质
JP2016081264A (ja) 画像処理方法、画像処理装置及びロボットシステム
JP2008065368A (ja) ステレオ画像を利用した物体の位置および姿勢認識システム、物体の位置および姿勢認識方法、およびこの方法を実行するプログラム
KR102456872B1 (ko) 영상센서와 관성센서의 강결합 융합을 이용한 손동작 추적시스템 및 방법
CN113821108B (zh) 基于多模态交互技术的机器人远程控制系统及控制方法
CN115390739A (zh) 基于手掌触控的远程交互输入方法及装置、电子设备
CN108127667A (zh) 一种基于关节角增量的机械臂体感交互控制方法
CN113918013A (zh) 一种基于ar眼镜的手势定向交互系统及方法
JP7207546B2 (ja) 情報処理装置、制御方法及びプログラム
CN113221729A (zh) 一种基于手势人机交互的无人机集群控制方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180216

Termination date: 20180708

CF01 Termination of patent right due to non-payment of annual fee