CN105005381A - 一种虚拟机械臂交互的抖动消除方法 - Google Patents
一种虚拟机械臂交互的抖动消除方法 Download PDFInfo
- 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
- rsqb
- 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
Links
- 230000003993 interaction Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000003379 elimination reaction Methods 0.000 title claims abstract description 23
- 230000008030 elimination Effects 0.000 title claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 38
- 230000008569 process Effects 0.000 claims description 21
- 238000012937 correction Methods 0.000 claims description 19
- 210000001503 joint Anatomy 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 7
- 210000000323 shoulder joint Anatomy 0.000 claims description 6
- 238000005452 bending Methods 0.000 claims description 5
- 210000000707 wrist Anatomy 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 210000002310 elbow joint Anatomy 0.000 claims description 3
- 210000002478 hand joint Anatomy 0.000 claims description 3
- 210000003857 wrist joint Anatomy 0.000 claims description 3
- FNMKZDDKPDBYJM-UHFFFAOYSA-N 3-(1,3-benzodioxol-5-yl)-7-(3-methylbut-2-enoxy)chromen-4-one Chemical compound C1=C2OCOC2=CC(C2=COC=3C(C2=O)=CC=C(C=3)OCC=C(C)C)=C1 FNMKZDDKPDBYJM-UHFFFAOYSA-N 0.000 claims 1
- 210000001217 buttock Anatomy 0.000 claims 1
- 230000009467 reduction Effects 0.000 abstract description 2
- 238000012795 verification Methods 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 15
- 230000002452 interceptive effect Effects 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 11
- 238000009499 grossing Methods 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Radar Systems Or Details Thereof (AREA)
- Gyroscopes (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]的映射关系可表示为:
其中,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个向量在传感器坐标系中表示为:
计算右肩-右肘向量X1:设X1在用户坐标系中表示为(x,y,z),则有:
再由下公式计算角度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:
设置过程噪声协方差矩阵Q、观测噪声协方差矩阵R:
初始化x(k|k)和P(k|k):
x(k|k)=[0 0 0 0 0 0 0 0]T
步骤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]的映射关系可表示为:
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]的映射关系可表示为:
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]。
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 (5)
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 | 遨博(北京)智能科技有限公司 | 一种机器人规避奇异位型的导纳控制方法、装置及系统 |
CN115281826A (zh) * | 2022-08-17 | 2022-11-04 | 广州市微眸医疗器械有限公司 | 一种眼科手术机器人防微抖动方法 |
CN115741708A (zh) * | 2022-11-24 | 2023-03-07 | 珠海格力智能装备有限公司 | 机械手状态的确定方法、装置以及存储介质 |
Citations (2)
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 | 情報処理装置、情報処理方法、及び、プログラム |
-
2015
- 2015-07-08 CN CN201510397105.XA patent/CN105005381B/zh not_active Expired - Fee Related
Patent Citations (2)
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)
Title |
---|
谢辉: "柔性关节机械臂残余抖动抑制与实验研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (8)
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 | 遨博(北京)智能科技有限公司 | 一种机器人规避奇异位型的导纳控制方法、装置及系统 |
CN115281826A (zh) * | 2022-08-17 | 2022-11-04 | 广州市微眸医疗器械有限公司 | 一种眼科手术机器人防微抖动方法 |
CN115281826B (zh) * | 2022-08-17 | 2025-03-18 | 广州市微眸医疗器械有限公司 | 一种眼科手术机器人防微抖动方法 |
CN115741708A (zh) * | 2022-11-24 | 2023-03-07 | 珠海格力智能装备有限公司 | 机械手状态的确定方法、装置以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105005381B (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108161882B (zh) | 一种基于增强现实的机器人示教再现方法及装置 | |
CN105005381A (zh) | 一种虚拟机械臂交互的抖动消除方法 | |
CN103386683B (zh) | 一种基于Kinect的体感控制机械臂方法 | |
CN104589356B (zh) | 基于Kinect人手运动捕捉的灵巧手遥操作控制方法 | |
WO2017167280A1 (zh) | 一种路径控制方法、路径规划方法、第一设备及第二设备、计算机存储介质 | |
CN112634318B (zh) | 一种水下维修机器人的遥操作系统和方法 | |
JP2019093461A (ja) | 把持システム、学習装置、把持方法、及び、モデルの製造方法 | |
CN112083800B (zh) | 基于自适应手指关节规则滤波的手势识别方法及系统 | |
EP3628380B1 (en) | Method for controlling virtual objects, computer readable storage medium and electronic device | |
CN110471526A (zh) | 一种人体姿态估计与手势识别结合的无人机控制方法 | |
CN106272409A (zh) | 基于手势识别的机械臂控制方法及系统 | |
CN105225269A (zh) | 基于运动机构的三维物体建模系统 | |
CN111459274B (zh) | 一种基于5g+ ar的针对非结构化环境的遥操作方法 | |
CN107627303A (zh) | 一种基于眼在手上结构的视觉伺服系统的pd‑smc控制方法 | |
JP4765075B2 (ja) | ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム | |
JP2015102913A (ja) | 姿勢推定装置及び姿勢推定方法 | |
CN113821108B (zh) | 基于多模态交互技术的机器人远程控制系统及控制方法 | |
JP2016081264A (ja) | 画像処理方法、画像処理装置及びロボットシステム | |
CN112936282A (zh) | 一种提高工业机器人体感控制精确度的方法及系统 | |
CN111991772A (zh) | 辅助上肢训练的装置及系统 | |
JP2007241833A (ja) | 認識装置、認識システム、形状認識方法、プログラム及びコンピュータ読み取り可能な記録媒体 | |
JP6939608B2 (ja) | 画像認識装置、画像認識方法、および、画像認識プログラム | |
CN112428263B (zh) | 机械臂控制方法、装置及聚类模型训练方法 | |
CN109934155B (zh) | 一种基于深度视觉的协作机器人手势识别方法及装置 | |
CN113834479B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180216 Termination date: 20180708 |