CN113498505A - 通过预测传感器数据对被跟踪对象的姿态建模 - Google Patents
通过预测传感器数据对被跟踪对象的姿态建模 Download PDFInfo
- Publication number
- CN113498505A CN113498505A CN202080015916.8A CN202080015916A CN113498505A CN 113498505 A CN113498505 A CN 113498505A CN 202080015916 A CN202080015916 A CN 202080015916A CN 113498505 A CN113498505 A CN 113498505A
- Authority
- CN
- China
- Prior art keywords
- sensor data
- correction
- sensor
- tracked object
- pose
- 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.)
- Pending
Links
- 238000012937 correction Methods 0.000 claims abstract description 114
- 238000000034 method Methods 0.000 claims description 20
- 230000033001 locomotion Effects 0.000 claims description 18
- 230000004048 modification Effects 0.000 claims description 13
- 238000012986 modification Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000005259 measurement Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004888 barrier function Effects 0.000 description 2
- 238000012888 cubic function Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C19/00—Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Optics & Photonics (AREA)
- User Interface Of Digital Computer (AREA)
- Navigation (AREA)
Abstract
平台***接收描述被跟踪对象的状态和定向的传感器数据,并对被跟踪对象的姿态进行建模,以确定用户与平台***的交互。为了确保由于饱和事件或连接丢失导致的不正确传感器数据不会影响用户体验,平台***基于传感器数据处于或高于饱和极限或未被接收来识别传感器数据流中的用于校正的区域。平台***通过应用对应于邻近用于校正的区域的点的拟合,并使用所应用的拟合确定预测的传感器数据,来预测所识别的校正区域的传感器数据。预测的传感器数据用于校正被跟踪对象的建模姿态。
Description
技术领域
本申请要求2019年3月4日提交的美国申请第16/291,228号的优先权,出于所有目的,该申请的内容通过引用整体结合于此。
技术领域
本公开总体上涉及对被跟踪对象的姿态建模,更具体地,涉及通过预测传感器数据对被跟踪对象的姿态建模。
背景
诸如控制器和头戴装置的对象通过使用对象的状态和定向来识别用户执行的运动、选择和其他动作,从而允许用户与平台***进行交互。诸如陀螺仪、磁力计和加速度计的传感器附着在对象上,用于在对象的操作期间收集数据。平台***使用传感器接收的数据来跟踪对象的移动,并对对象的姿态进行建模,以近乎实时地确定用户与平台***的交互。在诸如虚拟现实的平台***应用中,准确且快速地对被跟踪对象的姿态建模并执行用户指示的动作和交互对于***的真实用户体验至关重要。
当传感器数据丢失或不准确时,会出现问题。在一个示例中,当平台***没有接收到传感器数据包时(例如,传感器数据包被物理障碍物阻挡,被跟踪对象和平台***之间的连接暂时不可用,等等),可能会导致不正确的传感器数据。在另一个例子中,由于传感器饱和,可能导致不正确的传感器数据。当现实世界的测量超出传感器的精确记录能力时,就会发生传感器饱和。在传感器饱和事件期间,即使现实世界的测量值超过饱和值,数据也可以被表示为处于阈值饱和极限。不正确的传感器数据可能导致平台***呈现不正确的姿态,导致***上的动作滞后或建模不准确,并对平台***上的用户体验产生负面影响。
概述
平台***从传感器数据流中识别用于校正的传感器数据区域,并使用所识别区域周围的传感器数据来预测该区域内的传感器数据。平台***接收包括描述与平台***配对的被跟踪对象的移动和定位的数据的传感器数据流,并基于传感器数据流近乎实时地对被跟踪对象的姿态建模。在被跟踪对象的操作期间,平台***识别传感器数据流中可能不正确并且可能不能反映传感器周围待测量的实际环境的区域。例如,基于传感器数据高于相关传感器的饱和极限的时间量来确定该区域。在另一个例子中,基于传感器数据的缺乏的时间量来确定该区域。
平台***识别邻近用于校正的区域的传感器数据,并基于邻近的传感器数据确定该区域的入口斜率和出口斜率。在一个实施例中,平台***使用邻近用于校正的区域的每一侧的两个点来确定入口和出口斜率。平台***应用对应于所确定的入口和出口斜率的拟合。例如,平台***对用于校正的区域应用多项式拟合。平台***使用所应用的拟合来确定用于校正的区域的预测的传感器数据,并基于预测的传感器数据修改被跟踪对象的建模姿态。
通过基于用于校正的区域的预测的传感器数据修改被跟踪对象的建模姿态,平台***近乎实时地减少了不正确的传感器数据对被跟踪对象的位置和移动的影响。
根据所附权利要求中的至少一项,本发明解决了上述问题。
根据本发明的一些实施方式,提供了一种方法,其中该方法包括接收传感器数据流,所述传感器数据流与被跟踪对象的移动和位置数据相关联;基于所述传感器数据流对所述被跟踪对象的姿态建模;在所述传感器数据流中识别用于校正的区域;对于所述用于校正的区域,基于邻近所述用于校正的区域的读数预测传感器数据;以及基于所述预测的传感器数据修改所述被跟踪对象的所述建模的姿态。
根据本发明的一种可能的实施方式,识别用于校正的区域还包括:识别与所述传感器数据流相关联的传感器的饱和极限;以及识别所述传感器数据流中所述传感器数据处于或高于所述饱和极限的区域。
根据本发明的一种可能的实施方式,识别用于校正的区域还包括:识别所述传感器数据流中没有传感器数据被接收到的区域。
根据本发明的一种可能的实施方式,基于邻近所述用于校正的区域的所述读数预测传感器数据还包括:确定邻近所述用于校正的区域的所述传感器读数的斜率;以及应用对应于所述确定的斜率的拟合。
根据本发明的一种可能的实施方式,所述斜率是基于邻近所述用于校正的区域的两个传感器读数来确定的。
根据本发明的一种可能的实施方式,应用对应于所述确定的斜率的拟合至少部分地基于传感器类型。
根据本发明的一种可能的实施方式,所述传感器类型是陀螺仪,并且应用对应于所述确定的斜率的拟合还包括应用二阶或更高阶多项式拟合。
根据本发明的一种可能的实施方式,所述传感器类型是加速度计,并且应用对应于所述确定的斜率的拟合还包括应用分段线性拟合。
根据本发明的一种可能的实施方式,基于所述预测的传感器数据修改所述被跟踪对象的所述建模的姿态还包括随着时间对所述被跟踪对象的所述建模的姿态应用一系列修改。
根据本发明的一些实施方式,一种存储计算机程序指令的非暂时性计算机可读存储介质,所述计算机程序指令可由处理器执行以执行操作,所述操作包括:接收传感器数据流,所述传感器数据流与被跟踪对象的移动和位置数据相关联;基于所述传感器数据流对所述被跟踪对象的姿态建模;在所述传感器数据流中识别用于校正的区域;对于所述用于校正的区域,基于邻近所述用于校正的区域的读数预测传感器数据;以及基于所述预测的传感器数据修改所述被跟踪对象的所述姿态。
根据本发明的一种可能的实施方式,识别用于校正的区域还包括:识别与所述传感器数据流相关联的传感器的饱和极限;以及识别所述传感器数据流中所述传感器数据处于或高于所述饱和极限的区域。
根据本发明的一种可能的实施方式,识别用于校正的区域还包括:识别所述传感器数据流中没有传感器数据被接收到的区域。
根据本发明的一种可能的实施方式,基于邻近所述用于校正的区域的所述读数预测传感器数据的拟合还包括:确定邻近所述用于校正的区域的所述传感器读数的斜率;以及应用对应于所述确定的斜率的拟合。
根据本发明的一种可能的实施方式,所述斜率是基于邻近所述用于校正的区域的两个传感器读数来确定的。
根据本发明的一种可能的实施方式,应用对应于所述确定的斜率的拟合至少部分地基于传感器类型。
根据本发明的一种可能的实施方式,所述传感器类型是陀螺仪,并且应用对应于所述确定的斜率的拟合还包括应用二阶或更高阶多项式拟合。
根据本发明的一种可能的实施方式,所述传感器类型是加速度计,并且应用对应于所述确定的斜率的拟合还包括应用分段线性拟合。
根据本发明的一种可能的实施方式,基于所述预测的传感器数据修改所述被跟踪对象的所述姿态还包括随着时间对所述被跟踪对象的所述姿态应用一系列修改。
附图简述
图1是根据实施例的包括姿态确定***的平台***在其中运行的***环境的框图。
图2是根据实施例的姿态确定***的架构的框图。
图3A-图3C是示出根据实施例的包括由于饱和事件导致的用于校正的区域的传感器数据流和包括已校正的传感器数据的传感器数据流的示例。
图4A-图4B是示出根据实施例的包括由于数据包丢失导致的用于校正的区域的传感器数据流和包括已校正的传感器数据的传感器数据流的示例。
图5是根据实施例的用于校正传感器数据以用于修改被跟踪对象的姿态的方法的流程图。
附图仅出于说明的目的描绘了各种实施例。本领域技术人员从下面的讨论中将容易认识到,在不脱离本文描述的原理的情况下,可以采用本文示出的结构和方法的替代实施例。
详细描述
***架构
图1是平台***130的***环境100的框图。图1所示的***环境100包括操作控制器110和头戴装置115以与平台***130交互的用户105和一个或更多个障碍物120。在一个实施例中,平台***130是虚拟现实***。在替代配置中,***环境100中可以包括不同的和/或附加的部件。例如,***环境100可以包括多个用户、控制器和头戴装置。
用户105使用一个或更多个控制器110、头戴装置115或其他部件与平台***130交互。控制器110和头戴装置115经由无线或有线通信与平台***130通信,以交换信息。例如,平台***130传输描述用户105可访问的平台***的应用的信息,例如游戏、虚拟现实、通信程序、互联网浏览等。基于经由控制器110和头戴装置115传输的用户输入,用户105访问平台***的内容并与之交互。
在一些实施例中,控制器110是手持设备,其包括描述控制器在给定时间点的状态、移动或位置的一个或更多个传感器。例如,控制器110包括诸如陀螺仪、加速度计和磁力计的传感器。传感器收集数据,该数据传输到平台***130,以用作***的输入。例如,传感器检测诸如反映用户105做出的手势的旋转和加速度、用户和控制器110相对于平台***130的移动和位置等的信息。控制器传感器通常与饱和极限相关联,饱和极限可能影响传感器收集的数据的准确性。例如,传感器具有制造商或实验饱和极限,超过这个极限,读数就不再准确。超过饱和极限的现实世界的运动或事件可能导致控制器110的传感器收集不正确或不准确的数据并将其传输到平台***130。
在一个实施例中,头戴装置115通过无线连接链接到控制器110和平台***130。在另一个实施例中,头戴装置115包含平台***130,并通过无线连接链接到控制器110。头戴装置115包括收集作为平台***130的输入的数据的附加传感器。例如,头戴装置115上的传感器检测并传输信息,这些信息例如是用户105的头部移动、用户视线的方向、用户相对于环境的移动和位置、头戴装置115相对于控制器110和环境的位置和定向等。
***环境100可以另外包括一个或更多个障碍物120,其可以影响平台***130、头戴装置115和控制器110之间的无线通信。例如,***环境100包括用户的身体、墙壁、外部无线信号或中断或延迟平台***130对由控制器110或头戴装置115传输的数据流的接收的其他大对象。
平台***130包括姿态确定***135,其使用从控制器110和头戴装置115接收的数据流来识别关于控制器、头戴装置和用户105的状态和定向信息。例如,姿态确定***135使用来自控制器110的陀螺仪数据、加速度计数据和磁力计数据来近乎实时地为控制器的姿态建模。在其他示例中,姿态确定***135跟踪连接到平台***130并包括传感器的其他刚性对象(例如头戴装置115)。被跟踪对象的建模姿态用于识别用户与平台***130进行的动作和交互。因为由于传感器的饱和事件或由于数据丢失而导致的不正确数据可能导致被跟踪对象的不准确建模姿态,所以姿态确定***135针对被识别为不正确的传感器数据预测传感器数据。预测的传感器数据用于修改被跟踪对象的建模姿态。预测的传感器数据和修改的建模姿态的使用确保平台***130通过校正传感器数据流中的所识别的具有不正确数据的区域,将被跟踪对象的状态精确地呈现到现实世界的位置、移动和状态。
图2是姿态确定***135的架构的框图。图2所示的姿态确定***135包括数据接收模块200、传感器数据储存器205、传感器校准模块210、姿态建模模块215、传感器数据校正模块220和姿态校正模块225。在其他实施例中,姿态确定***135可以包括用于各种应用的附加的、更少的或不同的部件。
数据接收模块200从与平台***130配对的被跟踪对象上的一个或更多个传感器实时或近乎实时地接收传感器数据。数据接收模块200将接收到的传感器数据传输到传感器校准模块210。在一个实施例中,由数据接收模块200接收的传感器数据与标识对象类型、传感器类型或传感器标识符的元数据相关联,使得传感器数据被分组到由被跟踪对象的传感器类型或标识符标识的传感器数据流中。例如,数据接收模块200接收陀螺仪数据流、加速度计数据流和磁力计数据流。在一些实施例中,数据接收模块200从与***环境100的其他部件相关联的一个或更多个传感器接收额外的传感器数据。例如,当被跟踪对象是控制器110时,数据接收模块200从与头戴装置115相关联的传感器接收额外的传感器数据。
传感器校准模块210将一个或更多个校准参数应用于接收的传感器数据。在一个实施例中,校准参数用于将接收到的传感器数据转换成姿态建模模块215和姿态确定***135的其他模块可用的形式。在另一个实施例中,校准参数用于针对随着时间的推移或由于在被跟踪对象的操作期间发生的事件而产生的误差调整接收到的传感器数据。例如,传感器校准模块210在被跟踪对象的操作期间将校准参数应用于从数据接收模块200接收的传感器数据。在另一示例中,传感器校准模块210响应于由于静态事件而从姿态建模模块215接收到残余传感器数据,通过常数c调整接收到的传感器数据。当被跟踪对象相对于环境静止时,发生静态事件,使得描述被跟踪对象的移动的预期传感器数据为零。残余传感器数据是静态事件期间出现的非零传感器数据。传感器校准模块210将残余传感器数据识别为错误的,并确定常数c以从输入数据流中减去残余传感器数据。传感器校准模块210将已校准的传感器数据传输到传感器数据储存器210。
传感器数据储存器210存储和维护由数据接收模块200接收的一个或更多个传感器数据流。由数据接收模块200接收的传感器数据与传感器类型或传感器标识符相关联地存储,并由传感器校准模块205校准。传感器数据基于输入数据流实时地或近乎实时地更新。在一个实施例中,传感器数据储存器210维护历史传感器数据的至少一个子集。例如,传感器数据储存器210维护在平台***130和被跟踪对象之间的活动会话期间的历史传感器数据。在另一个示例中,传感器数据储存器210维护特定时间量(例如,最近五分钟;最近一个小时;最近一天)的历史传感器数据。
姿态建模模块215基于从被跟踪对象接收的传感器数据流,近乎实时地对被跟踪对象的姿态进行建模。在被跟踪对象和平台***130的操作期间,姿态建模模块215访问存储在传感器数据储存器205中的传感器数据流(或直接从传感器校准模块200接收它们),并使用传感器数据流来确定在给定时间被跟踪对象的姿态。在一个实施例中,姿态建模模块215识别被跟踪对象的初始姿态(例如,在连接开始时;当被跟踪的对象被平台***130或环境中的另一个对象识别时;等等),并且基于传入的传感器数据,基于用户105以及被跟踪对象进行的被跟踪的移动来确定姿态的更新。例如,姿态建模模块215确定被跟踪对象在时间t=t0相对于环境处于位置(x,y,z)。基于陀螺仪、加速度计、磁力计或其他传感器数据,姿态建模模块215确定被跟踪对象在第二时间t=t1处于第二位置(x+c1,y+c2,z+c3)。在一些实施例中,姿态建模模块215基于传感器数据流另外识别关于被跟踪对象的其他姿态信息,例如速度、角速度、加速度、定向、方向和角度等。姿态建模模块215将建模的姿态传输到姿态校正模块225,供平台***130使用。
传感器数据校正模块220识别传感器数据流中的用于校正的区域,并近乎实时地预测用于校正的区域的传感器数据。传感器数据校正模块220访问存储在传感器数据储存器210中的传感器数据。当一段时间的传感器数据被识别为可能是用户105的现实世界动作的不准确表示时,用于校正的区域被识别。例如,传感器数据校正模块220基于传感器数据处于或高于与传感器或传感器类型相关联的饱和极限来识别用于校正的区域。在另一示例中,传感器数据校正模块220基于一段时间内未接收到传感器数据来识别要校正的区域。
在一个实施例中,传感器数据校正模块220基于邻近所识别的区域的传感器数据来预测用于校正的区域的传感器数据。传感器数据校正模块220识别邻近用于校正的区域的一组或更多组数据点(例如,邻近区域开始的一组数据点和邻近区域结束的一组数据点)。使用数据点集,传感器数据校正模块220基于现实世界的动作不太可能导致包括不连续性的传感器数据流的假设,生成用于校正的区域内的预测传感器数据。例如,传感器数据校正模块220识别邻近用于校正的区域的开始的两个点和邻近用于校正的区域的结束的两个点。传感器数据校正模块220使用所识别的两组两个点来分别确定入口斜率和出口斜率。在其他示例中,传感器数据校正模块220可以使用不同数量的邻近点,或者使用邻近点执行不同的或附加的数学函数。
传感器数据校正模块220对用于校正的区域应用拟合,使得该拟合对应于入口和出口斜率。在一个实施例中,基于与传感器数据流相关联的传感器类型来确定所应用的拟合。例如,传感器数据校正模块220识别出传感器阶数据流是由陀螺仪传感器类型收集的,并且将二阶或更高阶多项式拟合应用于用于校正的区域。在另一示例中,传感器数据校正模块220识别出传感器数据流是由加速度计收集的,并对该用于校正的区域应用分段线性拟合。在其他示例中,传感器数据校正模块220可以使用其他传感器类型和拟合。在一个实施例中,基于每个传感器类型的实验数据来确定针对传感器类型的拟合。例如,基于由传感器类型捕获并已知准确反映现实世界运动的一组或更多组传感器数据,传感器数据校正模块220确定给定的拟合更准确地反映传感器数据的趋势。然后将识别出的拟合应用于校正与传感器类型相关联的传感器数据。
传感器数据校正模块220使用所应用的拟合来生成一系列预测的传感器数据点。在一个实施例中,基于用于校正的区域的邻近传感器数据频率和持续时间来确定预测的传感器点的数量和频率。例如,如果确定用于校正的区域开始于t=tstart,结束于t=tstart+c·dt,其中dt是传感器的采样周期,邻近点与t=tstart-2·dt、tstart-dt...tstart+(c+1)·dt、tstart+(c+2)·dt相关联,传感器数据校正模块220生成t=tstart+dt、tstart+2·dt...tstart+(c-2)·dt、tstart+(c-1)·dt的传感器数据。传感器数据校正模块220将预测的传感器数据点传输到姿态建模模块215,以用于修改被跟踪对象的建模姿态。在一个实施例中,传感器数据校正模块220另外将预测的传感器数据点传输到传感器校准模块205,用于重新校准被跟踪对象的传感器。
当存在对传感器数据流的区域的校正时,姿态建模模块215基于从传感器数据校正模块220接收的预测的传感器数据来确定对建模的姿态的修改。因为姿态建模模块215接收传感器数据流作为通过被跟踪对象收集的数据点,所以预测的传感器数据点被用作标准模型的输入,该标准模型在正常操作期间(例如,当没有进行校正时)和考虑校正时都使用。姿态建模模块215接收预测的传感器数据,并基于预测的传感器数据修改建模的姿态,以更准确地反映用户105的现实世界动作。该修改被传输到姿态校正模块225。
姿态校正模块225从姿态建模模块215接收建模姿态,并将建模姿态发送到平台***130,用于平台***的程序或应用。在一个实施例中,响应于姿态校正模块225接收到对建模姿态的修改(例如,由于不正确的传感器数据被识别和校正),姿态校正模块在当前时间应用并发送关于建模姿态的修改。在另一个实施例中,响应于姿态校正模块225接收到对建模姿态的修改,姿态校正模块随时间应用一系列修改,使得一段时间内的每个建模姿态应用总修改的一部分,直到接收到的修改已经被整体应用。渐进修改确保用户105不会由于被跟踪对象的姿态经历大的或突然的更新而经历任何跳跃或滞后,同时仍然校正由于先前不正确的传感器信息而导致的误差。
通过预测传感器数据对被跟踪对象的姿态建模
图3A-图3C是示出根据实施例的包括由于饱和事件导致的用于校正的区域的传感器数据流和包括已校正的传感器数据的传感器数据流的示例。
图3A示出了包括由于饱和事件导致的用于校正的区域的传感器数据流。平台***130从被跟踪对象的传感器接收传感器数据310。在示例图表300中,传感器是陀螺仪,测量被跟踪对象的角速度,单位为度/秒。在其他示例中,不同的传感器或测量可以与传感器数据流相关联。传感器与饱和极限305相关联。如结合图1所述,饱和极限305描述了这样的值,处于该值或高于该值,传感器数据点是不可靠的。例如,对于制造商描述为精确到每秒2000度且误差为每秒5度的陀螺仪,饱和极限305被设置为每秒1995度。在其他示例中,饱和极限305被不同地确定或者基于不同的精度读数来确定。
平台***130基于传感器数据310处于或高于饱和极限305来识别用于校正的区域315。在一个实施例中,平台***130响应于第一数据点处于或高于饱和极限305来识别用于校正的区域315,并在用于校正的区域315的结束被识别之前开始校正过程。在另一个实施例中,平台***130响应于在饱和事件开始之后识别出第一数据点低于饱和极限305来识别用于校正的区域315,并且在用于校正的区域被完全识别之后开始校正过程。
图3B示出了根据传感器数据流待校正的区域,该区域包括邻近传感器数据的计算斜率。响应于从传感器数据流310中识别出用于校正的区域315,平台***130识别邻近用于校正的区域的开始的点集330和邻近用于校正的区域的结束的点集340。点集330、340表示低于传感器的饱和极限305的数据。在图3B所示的例子中,点集330、340包括分别邻近用于校正的区域的开始和结束的两个点。在其他示例中,附加点可以被包括在点集330、340中。
平台***130将拟合应用于用于校正的区域315,该拟合对应于基于邻近用于校正的区域的开始的点集330的入口斜率335和基于邻近用于校正的区域的结束的点集340的出口斜率345。例如,平台***130使用三次插值,通过将邻近的点集330、340拟合到具有四个未知变量的三次函数,来预测用于校正的区域315的传感器数据。在另一个示例中,平台***130使用二次插值,通过将邻近的点集330、340拟合到具有三个未知变量的二次函数,来预测用于校正的区域315的传感器数据。平台***130在被跟踪对象的移动和定向在点集330、340之间没有不连续性(例如,被跟踪对象的角速度没有间隙或跳跃)的假设下操作。因此,入口斜率335和出口斜率345应该对应于用于预测传感器数据的拟合。
图3C示出了包括基于邻近传感器数据的已校正传感器数据的传感器数据流。基于如结合图3B所述确定的入口斜率335和出口斜率345,平台***130生成拟合355,其描述了用于校正的区域315的预测传感器数据。在图3C的示例中,所应用的拟合355是由平台***130确定的二阶或更高阶多项式,以最小化入口斜率335和出口斜率345的最小平方误差。在结合图2讨论的其他示例中,可以基于传感器类型和其他因素应用其他拟合。平台***130预测对应于用于校正的区域315的应用的拟合355的传感器数据。平台***130使用预测的传感器数据来修改建模的姿态,以计及(account for)由不正确的传感器数据引起的误差。
图4A-图4B是示出根据实施例的包括由于数据包丢失导致的用于校正的区域的传感器数据流和包括已校正的传感器数据的传感器数据流的示例。
图4A示出了包括由于数据包丢失导致的用于校正的区域的传感器数据流。平台***130从被跟踪对象的传感器接收传感器数据410。在示例图表400中,传感器是加速度计,其测量被跟踪对象的加速度,单位为距离/时间2。在其他示例中,不同的传感器或测量可以与传感器数据流相关联。传感器与饱和极限405相关联。由平台***130接收的传感器数据流410包括用于校正的区域415,该区域基于在一段时间内没有接收到传感器数据410但在该区域之前和之后传感器数据410低于饱和极限405。用于校正的区域415被识别为由于数据包丢失。如结合图1所述,当被跟踪对象上的传感器收集的数据不能被发送到平台***130时,数据包丢失发生数据包丢失。例如,当来自被跟踪对象的数据流被物理障碍物(例如,墙)阻挡时,或者当被跟踪对象和平台***130之间的无线连接丢失时,发生数据包丢失。
图4B示出了包括基于邻近传感器数据的已校正传感器数据的传感器数据流。如结合图3B所描述的,平台***130使用邻近用于校正的区域415的点集来计算入口斜率和出口斜率。平台***130使用入口斜率和出口斜率来对用于校正的区域415中的预测传感器数据应用拟合。在图4B的示例中,平台***130应用分段线性函数,使得对应于入口斜率应用第一线性拟合455,并且对应于出口斜率应用第二线性拟合460。在结合图2讨论的其他示例中,可以基于传感器类型和其他因素应用其他拟合。平台***130预测对应于用于校正的区域415的应用拟合455、460的传感器数据。平台***130使用预测的传感器数据来修改建模的姿态,以计及由不正确的传感器数据引起的误差。
图5是根据实施例的用于校正传感器数据以用于修改被跟踪对象的姿态的方法的流程图。在各种实施例中,方法可以包括不同的和/或附加的步骤,并且这些步骤可以以不同于结合图5描述的顺序来执行。
平台***130从与平台***配对的被跟踪对象相关联的传感器接收505传感器数据流。例如,传感器数据流来自附接到被跟踪对象上的陀螺仪、加速度计或磁力计。平台***130基于传感器数据流对被跟踪对象的姿态进行建模510。平台***130识别515传感器数据流中用于校正的区域。在一个示例中,用于校正的区域是传感器数据处于或高于传感器的阈值饱和极限的区域。在另一示例中,用于校正的区域是平台***130没有接收到传感器数据的区域。平台***130基于邻近用于校正的区域的传感器读数预测520该区域中的传感器数据。例如,平台***对传感器数据流应用邻近读数的传感器读数的斜率相对应的拟合,并基于拟合预测一个或更多个校正的传感器数据点。平台***130基于预测的传感器数据修改525被跟踪对象的姿态。
结论
为了说明的目的,已经给出了实施例的前述描述;它并不旨在穷举或将专利权限制到所公开的精确形式。相关领域的技术人员可以理解,根据上述公开内容,许多修改和变化是可能的。
本说明书的一些部分根据对信息的操作的算法和符号表示来描述实施例。数据处理领域的技术人员通常使用这些算法描述和表示来向本领域的其他技术人员有效地传达他们工作的实质。这些操作虽然在功能上、计算上或逻辑上进行了描述,但应理解为将由计算机程序或等效电路、微代码等来实现。此外,将这些操作的布置称为模块时常也被证明是方便而不失一般性的。所描述的操作及其相关联的模块可以在软件、固件、硬件或它们的任何组合中被实施。
本文所描述的任何步骤、操作或过程可以用一个或更多个硬件或软件模块,单独地或与其他设备相结合来执行或实现。在一个实施例中,软件模块用计算机程序产品来实现,该计算机程序产品包括含有计算机程序代码的计算机可读介质,该计算机程序代码可以由计算机处理器来执行,用于执行所描述的任何步骤、操作或过程或其全部。
实施例还可以涉及用于执行这里的操作的装置。该装置可以出于所需的目的被具体地构造,和/或它可以包括由被存储在计算机中的计算机程序来选择性地激活或重新配置的通用计算设备。这种计算机程序可以存储在非暂时性的、有形的计算机可读存储介质中,或者任何类型的适于存储电子指令的介质中,其可以耦合到计算机***总线。此外,说明书中提到的任何计算***可以包括单个处理器,或者可以是采用多处理器设计以提高计算能力的架构。
实施例还可以涉及通过这里描述的计算过程生产的产品。这样的产品可以包括从计算过程获得的信息,其中信息被存储在非暂时性的、有形的计算机可读存储介质上并且可以包括计算机程序产品或本文所述的其他数据组合的任何实施例。
最后,说明书中使用的语言主要是出于可读性和指导性的目的而选择的,它不可能是为了描述或限制专利权而选择的。因此,本专利权利的范围不受本详细描述的限制,而是受基于此提出的申请的任何权利要求的限制。因此,实施例的公开旨在说明而非限制在所附权利要求中阐述的专利权范围。
Claims (15)
1.一种方法,包括:接收传感器数据流,所述传感器数据流与被跟踪对象的移动和位置数据相关联;基于所述传感器数据流对所述被跟踪对象的姿态建模;在所述传感器数据流中识别用于校正的区域;对于所述用于校正的区域,基于邻近所述用于校正的区域的读数预测传感器数据;以及基于所预测的传感器数据修改所述被跟踪对象的所建模的姿态。
2.根据权利要求1所述的方法,其中,识别用于校正的区域还包括:识别与所述传感器数据流相关联的传感器的饱和极限;以及识别所述传感器数据流中所述传感器数据处于或高于所述饱和极限的区域。
3.根据权利要求1所述的方法,其中,识别用于校正的区域还包括:识别所述传感器数据流中没有传感器数据被接收到的区域。
4.根据权利要求1所述的方法,其中,基于邻近所述用于校正的区域的所述读数预测传感器数据还包括:确定邻近所述用于校正的区域的所述传感器读数的斜率;以及应用对应于所确定的斜率的拟合。
5.根据权利要求4所述的方法,其中,所述斜率是基于邻近所述用于校正的区域的两个传感器读数来确定的。
6.根据权利要求4所述的方法,其中,应用对应于所述确定的斜率的拟合至少部分地基于传感器类型。
7.根据权利要求6所述的方法,其中,所述传感器类型是陀螺仪,并且应用对应于所述确定的斜率的拟合还包括应用二阶或更高阶多项式拟合。
8.根据权利要求6所述的方法,其中,所述传感器类型是加速度计,并且应用对应于所述确定的斜率的拟合还包括应用分段线性拟合。
9.一种存储计算机程序指令的非暂时性计算机可读存储介质,所述计算机程序指令由处理器可执行以执行操作,所述操作包括:接收传感器数据流,所述传感器数据流与被跟踪对象的移动和位置数据相关联;基于所述传感器数据流对所述被跟踪对象的姿态建模;在所述传感器数据流中识别用于校正的区域;对于所述用于校正的区域,基于邻近所述用于校正的区域的读数预测传感器数据;以及基于所预测的传感器数据修改所述被跟踪对象的所建模的姿态。
10.根据权利要求9所述的计算机可读存储介质,其中,识别用于校正的区域还包括:识别与所述传感器数据流相关联的传感器的饱和极限;以及识别所述传感器数据流中所述传感器数据处于或高于所述饱和极限的区域。
11.根据权利要求9所述的计算机可读存储介质,其中,识别用于校正的区域还包括:识别所述传感器数据流中没有传感器数据被接收到的区域。
12.根据权利要求9所述的计算机可读存储介质,其中,基于邻近所述用于校正的区域的所述读数预测传感器数据的拟合还包括:确定邻近所述用于校正的区域的所述传感器读数的斜率;以及应用对应于所确定的斜率的拟合。
13.根据权利要求12所述的计算机可读存储介质,其中,所述斜率是基于邻近所述用于校正的区域的两个传感器读数来确定的。
14.根据权利要求12所述的计算机可读存储介质,其中,应用对应于所述确定的斜率的拟合至少部分地基于传感器类型。
15.根据权利要求9所述的计算机可读存储介质,其中,基于所述预测的传感器数据修改所述被跟踪对象的所述建模的姿态还包括随着时间对所述被跟踪对象的所述建模的姿态应用一系列修改。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/291,228 US11624757B2 (en) | 2019-03-04 | 2019-03-04 | Modeling poses of tracked objects by predicting sensor data |
US16/291,228 | 2019-03-04 | ||
PCT/US2020/017420 WO2020180460A1 (en) | 2019-03-04 | 2020-02-10 | Modeling poses of tracked objects by predicting sensor data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113498505A true CN113498505A (zh) | 2021-10-12 |
Family
ID=69954099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080015916.8A Pending CN113498505A (zh) | 2019-03-04 | 2020-02-10 | 通过预测传感器数据对被跟踪对象的姿态建模 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11624757B2 (zh) |
EP (1) | EP3935477A1 (zh) |
JP (1) | JP2022522581A (zh) |
KR (1) | KR20210130227A (zh) |
CN (1) | CN113498505A (zh) |
WO (1) | WO2020180460A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115088596A (zh) * | 2022-07-05 | 2022-09-23 | 江苏经贸职业技术学院 | 一种基于物联网的农田灌溉***及其控制方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11238028B2 (en) * | 2019-04-12 | 2022-02-01 | Aclima Inc. | Signal processing for multi-sensor groups |
US11307186B2 (en) | 2019-05-10 | 2022-04-19 | Aclima Inc. | Integration and active flow control for environmental sensors |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105192982A (zh) * | 2015-09-07 | 2015-12-30 | 北京小鸟看看科技有限公司 | 可调节式虚拟现实头盔的图像矫正方法和*** |
US20160364013A1 (en) * | 2015-06-15 | 2016-12-15 | Oculus Vr, Llc | Tracking Controllers of a Virtual Reality System |
CN108107592A (zh) * | 2014-01-06 | 2018-06-01 | 欧库勒斯虚拟现实有限责任公司 | 虚拟现实***的校准 |
CN108733206A (zh) * | 2017-04-25 | 2018-11-02 | 广东虚拟现实科技有限公司 | 一种坐标对齐方法、***和虚拟现实*** |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE48056E1 (en) * | 1991-12-23 | 2020-06-16 | Blanding Hovenweep, Llc | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
US8364136B2 (en) | 1999-02-01 | 2013-01-29 | Steven M Hoffberg | Mobile system, a method of operating mobile system and a non-transitory computer readable medium for a programmable control of a mobile system |
TW200900123A (en) | 2007-06-18 | 2009-01-01 | Ailive Inc | Self-contained inertial navigation system for interactive control using movable controllers |
US9410809B2 (en) * | 2011-12-16 | 2016-08-09 | Microsoft Technology Licensing, Llc | Applying a correct factor derivative method for determining an orientation of a portable electronic device based on sense gravitation component linear accelerate filter data obtained |
US9201989B2 (en) * | 2013-01-25 | 2015-12-01 | Globalfoundries Inc. | Interpolation techniques used for time alignment of multiple simulation models |
US10433773B1 (en) * | 2013-03-15 | 2019-10-08 | Abbott Diabetes Care Inc. | Noise rejection methods and apparatus for sparsely sampled analyte sensor data |
US10043319B2 (en) * | 2014-11-16 | 2018-08-07 | Eonite Perception Inc. | Optimizing head mounted displays for augmented reality |
US10073531B2 (en) | 2015-10-07 | 2018-09-11 | Google Llc | Electronic device pose identification based on imagery and non-image sensor data |
US10248201B2 (en) * | 2016-05-06 | 2019-04-02 | The Board Of Trustees Of The Leland Stanford Junior University | Wolverine: a wearable haptic interface for grasping in virtual reality |
GB2544575B (en) * | 2016-06-27 | 2019-10-09 | Sensyne Health Group Ltd | Method and apparatus for sensing and for improving sensor accuracy |
US10949980B2 (en) * | 2018-10-30 | 2021-03-16 | Alt Llc | System and method for reverse optical tracking of a moving object |
-
2019
- 2019-03-04 US US16/291,228 patent/US11624757B2/en active Active
-
2020
- 2020-02-10 KR KR1020217031419A patent/KR20210130227A/ko not_active Application Discontinuation
- 2020-02-10 EP EP20713776.1A patent/EP3935477A1/en active Pending
- 2020-02-10 WO PCT/US2020/017420 patent/WO2020180460A1/en unknown
- 2020-02-10 JP JP2021533509A patent/JP2022522581A/ja active Pending
- 2020-02-10 CN CN202080015916.8A patent/CN113498505A/zh active Pending
-
2023
- 2023-02-28 US US18/115,381 patent/US20230213549A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108107592A (zh) * | 2014-01-06 | 2018-06-01 | 欧库勒斯虚拟现实有限责任公司 | 虚拟现实***的校准 |
US20160364013A1 (en) * | 2015-06-15 | 2016-12-15 | Oculus Vr, Llc | Tracking Controllers of a Virtual Reality System |
CN105192982A (zh) * | 2015-09-07 | 2015-12-30 | 北京小鸟看看科技有限公司 | 可调节式虚拟现实头盔的图像矫正方法和*** |
CN108733206A (zh) * | 2017-04-25 | 2018-11-02 | 广东虚拟现实科技有限公司 | 一种坐标对齐方法、***和虚拟现实*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115088596A (zh) * | 2022-07-05 | 2022-09-23 | 江苏经贸职业技术学院 | 一种基于物联网的农田灌溉***及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US11624757B2 (en) | 2023-04-11 |
US20200284820A1 (en) | 2020-09-10 |
KR20210130227A (ko) | 2021-10-29 |
EP3935477A1 (en) | 2022-01-12 |
WO2020180460A1 (en) | 2020-09-10 |
JP2022522581A (ja) | 2022-04-20 |
US20230213549A1 (en) | 2023-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230213549A1 (en) | Virtual Reality System with Modeling Poses of Tracked Objects by Predicting Sensor Data | |
US11009941B2 (en) | Calibration of measurement units in alignment with a skeleton model to control a computer system | |
US10852139B2 (en) | Positioning method, positioning device, and robot | |
KR102440358B1 (ko) | 관성 기반 항법 장치 및 상대사전적분에 따른 관성 기반 항법 방법 | |
KR100480793B1 (ko) | 가속도 오차 보정 방법 및 장치, 및 이를 이용한 관성항법 시스템 | |
WO2020253260A1 (zh) | 时间同步处理方法、电子设备及存储介质 | |
EP3467792B1 (en) | Image processing apparatus, image processing method, and program | |
Porzi et al. | Visual-inertial tracking on android for augmented reality applications | |
CN110231028A (zh) | 飞行器导航方法、装置和*** | |
EP3732549B1 (en) | Method for predicting a motion of an object and method for generating a virtual reality view | |
KR100643400B1 (ko) | 입력 장치의 자세 측정 방법 및 그 장치 | |
CN109866217B (zh) | 机器人里程定位方法、装置、终端设备及计算机存储介质 | |
KR20110081701A (ko) | 캘리브레이션 장치 | |
Rollinson et al. | Robust state estimation with redundant proprioceptive sensors | |
US20230011082A1 (en) | Combine Orientation Tracking Techniques of Different Data Rates to Generate Inputs to a Computing System | |
US20230214027A1 (en) | Reduction of Time Lag Between Positions and Orientations Being Measured and Display Corresponding to the Measurements | |
CN108225368B (zh) | 计步装置和计步方法 | |
Karvande et al. | Development of hardware-in-loop simulation test-bed for testing of navigation system-INS | |
JP7336223B2 (ja) | 自己位置推定方法 | |
KR20210000095A (ko) | 자세 추정 방법 및 장치 | |
EP3792878A1 (en) | Information processing device, information processing method, program, and floor surface modeling system | |
JP6972675B2 (ja) | 姿勢評価装置、姿勢算出装置、姿勢計測システム、姿勢評価方法及びプログラム | |
CN114791284B (zh) | 机器人之中电子罗盘的标定方法、装置及机器人 | |
US11977681B2 (en) | Information processing device and information processing method | |
CN116124135A (zh) | 移动机器人位姿数据的确定方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan platform Co. Address before: California, USA Applicant before: Facebook, Inc. |
|
CB02 | Change of applicant information |