基于四元数的两个独立系统坐标系之间的转换方法与流程

文档序号:12888065阅读:6018来源:国知局
基于四元数的两个独立系统坐标系之间的转换方法与流程

本发明具体涉及基于四元数的两个独立系统坐标系之间的转换方法。



背景技术:

现行的虚拟现实系统和动作捕捉系统有很多。虚拟现实系统,如htcvive、oculusrift、psvr;动作捕捉系统,如perceptionneuron、optitrack,它们都可以独立测量到3d场景中目标的位置信息和空间姿态信息,但是其坐标系、原点、测量精度等并不一定一致。在多系统混合使用的过程中,系统的位置信息和空间姿态信息需要进行变换,才能进行数据融合处理,已申请的专利cn104834917a提到了一种混合动作捕捉的系统及方法,没有提及系统之间的信息转换方法。



技术实现要素:

本发明的目的是为解决上述不足,提供基于四元数的两个独立系统坐标系之间的转换方法

本发明的目的是通过以下技术方案实现的:

基于四元数的两个独立系统坐标系之间的转换方法,包括转换参数的标定过程和信息转换过程,

转换参数的标定过程具体步骤如下:

s11:系统a的标志物为a,系统a测量标志物a的位置信息和空间姿态信息;系统b的标志物为b,系统b测量标志物b的位置信息和空间姿态信息。标志物a和标志物b固定在一个固定座上;

s12:保持标志物相对不动,转动固定座即同时转动标志物a和标志物b,获取n组运动过程的两个标志物的位置信息和空间姿态信息;

s13:以位置信息中的三维空间坐标为四元数的虚部,把位置信息转化为实部为0的四元数pmi=(0,pxmi,pymi,pzmi),m=a,b;i=1,2…n,如果获取的空间姿态信息是单位四元数,则不用做处理,否则把获取的空间姿态信息转为描述旋转的单位四元数

qmi=(qwmi,qxmi,qymi,qzmi),m=a,b;i=1,2…n;表示空间姿态的单位四元数两两组合,得出n(n-1)/2个相对旋转值

qmk=qmiqmj-1

m=a,b

i,j=1,2…n

i<j

k=n(i-1)+j

s14:设从系统a到系统b的转换参数为旋转参数qab、原点偏

移参数pab和标志物偏移参数pab。

系统a到系统b的信息转换公式为:

qb=qabqaqab-1

pb=qab(pa+pab+qapabqa-1)qab-1

把s13步骤的n(n-1)/2个表示相对空间姿态的单位四元数和n个表示位置的四元数代入公式中,最小化均方差:

采用高斯-牛顿迭代法来求解出最优参数qab、pab、pab;

信息转换过程具体步骤如下:

s21:通过系统a获取标志物a的位置信息和空间姿态信息;

s22:以位置信息中的三维空间坐标为四元数的虚部,把位置信息转化为实部为0的四元数pa=(0,pxa,pya,pza);如果获取的空间姿态信息是单位四元数,则不用做处理,否则把获取的空间姿态信息转为描述旋转的单位四元数qa=(qwa,qxa,qya,qza);

s23:根据信息转化公式,和标定后的转换参数,可以计算出该标志物在系统b下的位置信息pb和空间姿态信息qb:

qb=qabqaqab-1

pb=qab(pa+pab+qapabqa-1)qab-1

按照使用的需要,能够把位置信息pb等价地转化为平面直角坐标系的三维空间坐标、极坐标系的坐标等,把空间姿态信息qb等价地转化为旋转矩阵、欧拉角、单位四元数等;它们是可以等价转换的。

最优参数qab、pab能够通过高斯-牛顿迭代法,或者lm阻尼法,或者dog-leg法求出。

本发明具有如下有益的效果:

本发明为两独立测量的3d系统提供一种简单有效的坐标系转换的方法,两个系统之间的位置信息和空间姿态信息可以相互转化,方便后续的数据融合,计算简单快捷,无需额外的测量仪器。

附图说明

图1为本发明的方法流程图;

图2为本发明的固定两独立系统标志物的示意图;

图3为本发明的标志物a和标志物b转动过程示意图;

图4为本发明的通过标志物a的信息转换的示意图。

具体实施方式

下面结合附图对本发明作进一步的说明:

如图1-图4所示,基于四元数的两个独立系统坐标系之间的转换方法,包括转换参数的标定过程和信息转换过程,

转换参数的标定过程具体步骤如下:

s11:系统a的标志物为a,系统a测量标志物a的位置信息和空间姿态信息;系统b的标志物为b,系统b测量标志物b的位置信息和空间姿态信息。标志物a和标志物b固定在一个固定座上;

s12:保持标志物相对不动,转动固定座即同时转动标志物a和标志物b,获取n组运动过程的两个标志物的位置信息和空间姿态信息;

s13:以位置信息中的三维空间坐标为四元数的虚部,把位置信息转化为实部为0的四元数pmi=(0,pxmi,pymi,pzmi),m=a,b;i=1,2…n,如果获取的空间姿态信息是单位四元数,则不用做处理,否则把获取的空间姿态信息转为描述旋转的单位四元数qmi=(qwmi,qxmi,qymi,qzmi),m=a,b;i=1,2…n;空间姿态信息两两组合,得出n(n-1)/2个相对旋转值

qmk=qmiqmj-1

m=a,b

i,j=1,2…n

i<j

k=n(i-1)+j

s14:设从系统a到系统b的转换参数为旋转参数qab、原点偏移参数pab和标志物偏移参数pab。

系统a到系统b的信息转换公式为:

qb=qabqaqab-1

pb=qab(pa+pab+qapabqa-1)qab-1

把s13步骤的n(n-1)/2个表示相对空间姿态的单位四元数和n个表示位置的四元数代入公式中,最小化均方差:

采用高斯-牛顿迭代法来求解出最优参数qab、pab、pab;

信息转换过程具体步骤如下:

s21:通过系统a获取标志物a的位置信息和空间姿态信息;

s22:以位置信息中的三维空间坐标为四元数的虚部,把位置信息转化为实部为0的四元数pa=(0,pxa,pya,pza);如果获取的空间姿态信息是单位四元数,则不用做处理,否则把获取的空间姿态信息转为描述旋转的单位四元数qa=(qwa,qxa,qya,qza);

s23:根据信息转化公式,和标定后的转换参数,可以计算出该标志物在系统b下的位置信息pb和空间姿态信息qb:

qb=qabqaqab-1

pb=qab(pa+pab+qapabqa-1)qab-1

按照使用的需要,能够把位置信息pb等价地转化为平面直角坐标系的三维空间坐标、极坐标系的坐标等,把空间姿态信息qb等价地转化为旋转矩阵、欧拉角、单位四元数等;它们是可以等价转换的。

旋转参数qab、原点偏移参数pab和标志物偏移参数pab能够通过高斯-牛顿迭代法,或者lm阻尼法,或者dog-leg法求出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1