双光球交互笔的旋转姿态对齐方法、装置和计算机设备与流程

文档序号:25419151发布日期:2021-06-11 21:29阅读:98来源:国知局
双光球交互笔的旋转姿态对齐方法、装置和计算机设备与流程

本发明涉及交互笔姿态处理技术领域,特别是涉及一种双光球交互笔的旋转姿态对齐方法、装置、计算机设备和存储介质。



背景技术:

双光球惯性传感器的交互笔,是一种笔头和笔尾分别镶嵌一颗红外反光球、笔体内部装配一块以惯性传感器为核心芯片的全息3d桌面交互笔。在光学运动捕捉系统中,要想实现刚体姿态,需要对惯性传感器旋转姿态对齐到刚体的旋转姿态。

双光球惯性传感器imu的交互笔,imu传感器能很好侦测旋转姿态的变化、得到比较可靠的旋转数据,但是未经过融合对齐的imu旋转数据通常和刚体实际的旋转数据是不一致的,其本质原因是imu坐标系与刚体坐标系不一致造成的。因此,需要对imu旋转数据或刚体实际的旋转数据进行转换,以转换到同一坐标系中才能够进行数据融合。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供了一种双光球交互笔的旋转姿态对齐方法、装置、计算机设备和存储介质,能够提供一种转换关系以使得通过转换关系将imu旋转数据和刚体实际的旋转数据放置在同一坐标系中进行数据融合,提供数据融合时的数据准确性。

为了解决上述中至少一个技术问题,本发明实施例提供了一种双光球交互笔的旋转姿态对齐方法,所述双光球交互笔的笔头设置有第一红外反光球,所述双光球交互笔的笔尾设置有第二红外反光球,所述双光球交互笔的笔体内装配有惯性传感器,所述方法包括:

获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量;

获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量;

设置所述惯性传感器坐标系与所述刚体坐标系对齐的转换关系,所述转换关系为未知量;

获取所述多个时刻中每个时刻的所述转换关系与所述第一向量的第一乘积,以及所述第二向量与所述转换关系的第二乘积,获取所述第一乘积与所述第二乘积的差值;

对所述多个时刻的多个所述差值进行平方后再进行累加,通过最小二乘法并采用迭代的方式对所述累加进行优化,得到所述转换关系的转换向量,根据所述转换向量将所述惯性传感器坐标系与所述刚体坐标系上的数据转换到同一坐标系。

在其中一个实施例中,所述获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量,包括:

当所述多个时刻中连续两个时刻对应的连续两帧的所述双光球交互笔的惯性传感器的旋转角度差大于预设旋转角度阈值时,获取所述连续两帧中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的第一向量。

在其中一个实施例中,所述获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量,包括:

当所述多个时刻中连续两个时刻对应的连续两帧的所述双光球交互笔的所述两点刚体的旋转角度差大于预设旋转角度阈值时,获取所述连续两帧中所述两点刚体相对于刚体坐标系的旋转姿态的第二向量。

在其中一个实施例中,所述多个时刻包括所述双光球交互笔连续旋转时的各个时刻。

在其中一个实施例中,所述获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量,包括:

获取所述双光球交互笔旋转时,每个时刻下采集到的所述双光球交互笔的帧数据;

从所述每个时刻下的所述帧数据中筛选出用于计算所述惯性传感器相对于惯性传感器坐标系的旋转姿态的第一姿态数据;

根据所述第一姿态数据计算得到所述第一向量。

在其中一个实施例中,所述获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量,包括:

获取所述双光球交互笔旋转时,每个时刻下采集到的所述双光球交互笔的帧数据;

从所述每个时刻下的所述帧数据中筛选出用于计算所述两点刚体相对于刚体坐标系的旋转姿态的第二姿态数据;

根据所述第二姿态数据计算得到所述第二向量。

在其中一个实施例中,所述方法还包括:

获取预设数量阈值;

根据所述预设数量阈值控制所述多个第一向量的数量值以及控制所述多个第二向量的数量值。

一种双光球交互笔的旋转姿态对齐装置,所述双光球交互笔的笔头设置有第一红外反光球,所述双光球交互笔的笔尾设置有第二红外反光球,所述双光球交互笔的笔体内装配有惯性传感器,所述装置包括:

第一获取模块,用于获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量;

第二获取模块,用于获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量;

设置模块,用于设置所述惯性传感器坐标系与所述刚体坐标系对齐的转换关系,所述转换关系为未知量;

第三获取模块,用于获取所述多个时刻中每个时刻的所述转换关系与所述第一向量的第一乘积,以及所述第二向量与所述转换关系的第二乘积,获取所述第一乘积与所述第二乘积的差值;

计算模块,对所述多个时刻的多个所述差值进行平方后再进行累加,通过最小二乘法并采用迭代的方式对所述累加进行优化,得到所述转换关系的转换向量,根据所述转换向量将所述惯性传感器坐标系与所述刚体坐标系上的数据转换到同一坐标系。

另外,本发明实施例还提供了一种计算机设备,其包括:存储器、处理器及存储在存储器上并可在处理器上运行的应用程序,处理器执行应用程序时实现上述任一实施例方法的步骤。

另外,本发明实施例还提供了一种计算机可读存储介质,其上存储有应用程序,应用程序被处理器执行时实现上述任一实施例方法的步骤。

在本发明实施例中,通过实施上述方法,获得惯性传感器坐标系与刚体坐标系对齐的转换关系的转换向量。通过该转换向量可以将惯性传感器坐标系中的数据转换到刚体坐标系中,或通过该转换向量可以将刚体坐标系中的数据转换到惯性传感器坐标系中,从而实现将双光球交互笔旋转时不同坐标系的数据对齐后进行融合,进而确定双光球交互笔旋转时的旋转姿态,提高双光球交互笔旋转时的旋转姿态的准确度。

附图说明

图1是本发明实施例中的一种双光球交互笔的旋转姿态对齐方法的流程示意图;

图2是本发明实施例中的一种双光球交互笔的状态示意图;

图3是本发明实施例中的一种双光球交互笔的状态变化示意图;

图4是本发明实施例中的一种双光球交互笔的旋转姿态对齐装置的结构示意图;

图5是本发明实施例中的计算机设备的结构组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明实施例提供了一种双光球交互笔的旋转姿态对齐方法。所述双光球交互笔的笔头设置有第一红外反光球,所述双光球交互笔的笔尾设置有第二红外反光球,所述双光球交互笔的笔体内装配有惯性传感器。如图1所示,该一种双光球交互笔的旋转姿态对齐方法,包括以下步骤:

s102,获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量。

其中,所述多个时刻包括所述双光球交互笔连续旋转时的各个时刻。

在一实现方式中,所述获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量,包括:当所述多个时刻中连续两个时刻对应的连续两帧的所述双光球交互笔的惯性传感器的旋转角度差大于预设旋转角度阈值时,获取所述连续两帧中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的第一向量。

在一实现方式中,所述获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量,包括:获取所述双光球交互笔旋转时,每个时刻下采集到的所述双光球交互笔的帧数据;从所述每个时刻下的所述帧数据中筛选出用于计算所述惯性传感器相对于惯性传感器坐标系的旋转姿态的第一姿态数据;根据所述第一姿态数据计算得到所述第一向量。

在一实现方式中,s102之前,还包括:获取预设数量阈值;根据所述预设数量阈值控制所述多个第一向量的数量值。

具体地,当双光球交互笔进行旋转时,采集每个时刻下双光球交互笔的帧数据。从所每个时刻下的帧数据中筛选出用于计算惯性传感器相对于惯性传感器坐标系的旋转姿态的第一姿态数据;根据第一姿态数据计算得到第一向量。因此,可得到各个时刻下的双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的第一向量。进一步地,设置预设数量阈值,用于控制采集的多个第一向量的数量值,保证后续需要迭代优化的数据量不会过多,否则容易导致迭代优化过程异常缓慢。

s104,获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量。

其中,所述多个时刻包括所述双光球交互笔连续旋转时的各个时刻。

在一实现方式中,所述获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量,包括:当所述多个时刻中连续两个时刻对应的连续两帧的所述双光球交互笔的所述两点刚体的旋转角度差大于预设旋转角度阈值时,获取所述连续两帧中所述两点刚体相对于刚体坐标系的旋转姿态的第二向量。

在一实现方式中,所述获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量,包括:获取所述双光球交互笔旋转时,每个时刻下采集到的所述双光球交互笔的帧数据;从所述每个时刻下的所述帧数据中筛选出用于计算所述两点刚体相对于刚体坐标系的旋转姿态的第二姿态数据;根据所述第二姿态数据计算得到所述第二向量。

在一实现方式中,s104之前,还包括:获取预设数量阈值;根据所述预设数量阈值控制所述多个第二向量的数量值。

具体地,当双光球交互笔进行旋转时,采集每个时刻下双光球交互笔的帧数据。从所述每个时刻下的所述帧数据中筛选出用于计算所述两点刚体相对于刚体坐标系的旋转姿态的第二姿态数据;根据所述第二姿态数据计算得到所述第二向量。因此,可得到各个时刻下的两点刚体相对于刚体坐标系的旋转姿态的第二向量。进一步地,设置预设数量阈值,用于控制采集的多个第二向量的数量值,保证后续需要迭代优化的数据量不会过多,否则容易导致迭代优化过程异常缓慢。

s106,设置所述惯性传感器坐标系与所述刚体坐标系对齐的转换关系,所述转换关系为未知量。

s108,获取所述多个时刻中每个时刻的所述转换关系与所述第一向量的第一乘积,以及所述第二向量与所述转换关系的第二乘积,获取所述第一乘积与所述第二乘积的差值。

s110,对所述多个时刻的多个所述差值进行平方后再进行累加,通过最小二乘法并采用迭代的方式对所述累加进行优化,得到所述转换关系的转换向量,根据所述转换向量将所述惯性传感器坐标系与所述刚体坐标系上的数据转换到同一坐标系。

具体地,采用目标函数公式计算得到所述转换关系的转换向量。目标函数公式为:其中,deltar表示所述转换关系,imurm表示所述第一向量,rigidrm表示所述第二向量。通过结合采集到的多帧惯性传感器imu和两点刚体对应的旋转姿态数据,使用最小二乘法,通过迭代的方式优化以下上述目标函数,以得到优化结果。优化结果确定出deltar的向量值,以得到所述转换关系的转换向量。

通过实施上述方法,获得惯性传感器坐标系与刚体坐标系对齐的转换关系的转换向量。通过该转换向量可以将惯性传感器坐标系中的数据转换到刚体坐标系中,或通过该转换向量可以将刚体坐标系中的数据转换到惯性传感器坐标系中,从而实现将双光球交互笔旋转时不同坐标系的数据对齐后进行融合,进而确定双光球交互笔旋转时的旋转姿态,提高双光球交互笔旋转时的旋转姿态的准确度。

例如,如图2所示,实线为刚体坐标系、虚线为惯性传感器imu坐标系,对齐惯性传感器imu旋转姿态与刚体旋转姿态,就是求解两个坐标系之间的转换关系deltar。假设初始时刻,惯性传感器imu和两点刚体相对于各自坐标系的旋转平移均为无旋转、无平移,双光球imu笔的两个球在刚体坐标系下的3d坐标分别为pa0、pb0,则a、b两个光球在imu坐标系下的坐标pa′0、pb′0为:

如图3所示,假设m时刻,惯性传感器imu相对于imu坐标系的旋转平移为imurm、imutm,两点刚体相对于刚体坐标系的旋转平移为rigidrm、rigidtm,则m时刻a、b两个光球在imu坐标系下的坐标p′am、p′bm为:

m时刻a、b两个光球在刚体坐标系下的坐标pam、pbm为:

整理以上各式可得:

显然:

imutm*deltar-1=rigidtm;

因此最后可得两个坐标系之间转换满足的最终公式为:

deltar*imurm=rigidrm*deltar;

结合采集到的多帧imu和两点刚体对应的旋转姿态数据,可使用最小二乘法,通过迭代的方式优化以下目标函数,求解deltar的结果:

需要注意的是,为了保证采集数据的均匀性和健壮性,可以规定采集的连续两帧旋转姿态数据,其旋转角度差大于设定的旋转角度阈值才进行采集,避免在某些角度过度采集,另外一方面,这样也能保证需要迭代优化的数据量不会过多,否则容易导致迭代优化过程异常缓慢。

在一实施例中,本发明还提供一种双光球交互笔的旋转姿态对齐装置,所述双光球交互笔的笔头设置有第一红外反光球,所述双光球交互笔的笔尾设置有第二红外反光球,所述双光球交互笔的笔体内装配有惯性传感器。如图4所示,该装置包括:

第一获取模块12,用于获取多个时刻中所述双光球交互笔的惯性传感器相对于惯性传感器坐标系的旋转姿态的多个第一向量;

第二获取模块14,用于获取多个时刻中所述双光球交互笔的第一红外反光球和第二红外反光球构成的两点刚体相对于刚体坐标系的旋转姿态的多个第二向量;

设置模块16,用于设置所述惯性传感器坐标系与所述刚体坐标系对齐的转换关系,所述转换关系为未知量;

第三获取模块18,用于获取所述多个时刻中每个时刻的所述转换关系与所述第一向量的第一乘积,以及所述第二向量与所述转换关系的第二乘积,获取所述第一乘积与所述第二乘积的差值;

计算模块20,对所述多个时刻的多个所述差值进行平方后再进行累加,通过最小二乘法并采用迭代的方式对所述累加进行优化,得到所述转换关系的转换向量,根据所述转换向量将所述惯性传感器坐标系与所述刚体坐标系上的数据转换到同一坐标系。

关于一种双光球交互笔的旋转姿态对齐装置的具体限定可以参见上文中对于一种双光球交互笔的旋转姿态对齐方法的限定,在此不再赘述。上述一种双光球交互笔的旋转姿态对齐装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本发明实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有应用程序,该程序被处理器执行时实现上述实施例中任意一个实施例的一种双光球交互笔的旋转姿态对齐方法。其中,所述计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、cd-rom、和磁光盘)、rom(read-onlymemory,只读存储器)、ram(randomaccessmemory,随即存储器)、eprom(erasableprogrammableread-onlymemory,可擦写可编程只读存储器)、eeprom(electricallyerasableprogrammableread-onlymemory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。

本发明实施例还提供了一种计算机应用程序,其运行在计算机上,该计算机应用程序用于执行上述中任意一个实施例的一种双光球交互笔的旋转姿态对齐方法。

此外,图5是本发明实施例中的计算机设备的结构组成示意图。

本发明实施例还提供了一种计算机设备,如图5所示。所述计算机设备包括处理器502、存储器503、输入单元504以及显示单元505等器件。本领域技术人员可以理解,图5示出的设备结构器件并不构成对所有设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件。存储器503可用于存储应用程序501以及各功能模块,处理器502运行存储在存储器503的应用程序501,从而执行设备的各种功能应用以及数据处理。存储器可以是内存储器或外存储器,或者包括内存储器和外存储器两者。内存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦写可编程rom(eeprom)、快闪存储器、或者随机存储器。外存储器可以包括硬盘、软盘、zip盘、u盘、磁带等。本发明所公开的存储器包括但不限于这些类型的存储器。本发明所公开的存储器只作为例子而非作为限定。

输入单元504用于接收信号的输入,以及接收用户输入的关键字。输入单元504可包括触控面板以及其它输入设备。触控面板可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程序驱动相应的连接装置;其它输入设备可以包括但不限于物理键盘、功能键(比如播放控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。显示单元505可用于显示用户输入的信息或提供给用户的信息以及终端设备的各种菜单。显示单元505可采用液晶显示器、有机发光二极管等形式。处理器502是终端设备的控制中心,利用各种接口和线路连接整个设备的各个部分,通过运行或执行存储在存储器503内的软件程序和/或模块,以及调用存储在存储器内的数据,执行各种功能和处理数据。

作为一个实施例,所述计算机设备包括:一个或多个处理器502,存储器503,一个或多个应用程序501,其中所述一个或多个应用程序501被存储在存储器503中并被配置为由所述一个或多个处理器502执行,所述一个或多个应用程序501配置用于执行上述实施例中的任意一实施例中的一种双光球交互笔的旋转姿态对齐方法。

另外,以上对本发明实施例所提供的一种双光球交互笔的旋转姿态对齐方法、装置、计算机设备和存储介质进行了详细介绍,本文中应采用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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