CN109416679B - Multiple electronic controls and tracking for mixed reality interactions - Google Patents

Multiple electronic controls and tracking for mixed reality interactions Download PDF

Info

Publication number
CN109416679B
CN109416679B CN201780037774.3A CN201780037774A CN109416679B CN 109416679 B CN109416679 B CN 109416679B CN 201780037774 A CN201780037774 A CN 201780037774A CN 109416679 B CN109416679 B CN 109416679B
Authority
CN
China
Prior art keywords
user
electronic
devices
fitness
hardware
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.)
Expired - Fee Related
Application number
CN201780037774.3A
Other languages
Chinese (zh)
Other versions
CN109416679A (en
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.)
Blue Singer LLC
Original Assignee
Blue Singer LLC
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
Priority claimed from US15/187,787 external-priority patent/US10124255B2/en
Application filed by Blue Singer LLC filed Critical Blue Singer LLC
Publication of CN109416679A publication Critical patent/CN109416679A/en
Application granted granted Critical
Publication of CN109416679B publication Critical patent/CN109416679B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种用于使用多个电子控制和追踪装置用于混合现实交互的系统,包括电子控制装置,其经由网络与多个电子装置通信,接收用户交互并经由网络传递至装置,以及经由网络从其他装置接收交互并传递至主机装置,以及一种用于在多个电子控制装置和电子系统之间嵌套通信的方法。

Figure 201780037774

A system for using a plurality of electronic control and tracking devices for mixed reality interaction, comprising an electronic control device that communicates with the plurality of electronic devices via a network, receives user interactions and communicates them to the devices via the network, and receives user interactions via the network from other electronic devices. A device receives and communicates interactions to a host device, and a method for nested communication between a plurality of electronic control devices and electronic systems.

Figure 201780037774

Description

用于混合现实交互的多个电子控制和追踪装置Multiple electronic controls and tracking for mixed reality interactions

与申请相关联的交叉引用Cross-references associated with the application

本申请是2016年6月21日提交的名称为“MULTIPLE ELECTRONIC CONTROL ANDTRACKING DEVICES FOR MIXED-REALITY INTERACTION”的美国专利申请序列号15/187,787的PCT申请并且要求其优先权,在此通过全文引用的方式将其全部说明书包括至本文中。This application is a PCT application entitled "MULTIPLE ELECTRONIC CONTROL ANDTRACKING DEVICES FOR MIXED-REALITY INTERACTION" filed on June 21, 2016 and claims priority, and is hereby incorporated by reference in its entirety The entire description thereof is incorporated herein.

技术领域technical field

本公开涉及电子装置的领域,并且更特别地涉及用于在软件应用内交互的输入和输出方法的领域。The present disclosure relates to the field of electronic devices, and more particularly to the field of input and output methods for interacting within software applications.

背景技术Background technique

在电子装置的领域中,通常使用分立手持式控制器以使能用户提供交互或从主机装置诸如个人计算机或视频游戏控制台接收反馈。这些控制器可以经由有线或无线连接而相连,并且通常在任意给定时刻仅与单个主机装置配对。当用户希望利用多个控制器时,他们必须单独地连接至主机装置(例如使用在计算机上的两个分立端口将键盘和鼠标两者连接至个人计算机)。这要求在主机装置和控制器之间大量分立的通信连接,并且如果主机装置或控制器具有不匹配的通信硬件,它们是不兼容的并且无法使用。额外地,通常为了特定目的(诸如对于特定类型视频游戏或计算机应用)设计控制器,并且要求用户以特殊方式与它们交互,以便于以特定方式保持控制器以具有对其所有功能的手工访问。这对于用户可以是难用的或甚至不健康的,并且限制了他们与装置交互的方式。In the field of electronic devices, discrete handheld controllers are often used to enable a user to provide interaction or receive feedback from a host device such as a personal computer or video game console. These controllers may be connected via wired or wireless connections, and are typically only paired with a single host device at any given time. When a user wishes to utilize multiple controllers, they must be separately connected to the host device (eg, using two separate ports on the computer to connect both the keyboard and mouse to the personal computer). This requires a number of separate communication connections between the host device and the controller, and if the host device or controller have mismatched communication hardware, they are incompatible and cannot be used. Additionally, controllers are often designed for a specific purpose, such as for a specific type of video game or computer application, and require the user to interact with them in a specific way in order to hold the controller in a specific way to have manual access to all of its functions. This can be awkward or even unhealthy for the user and limits the way they can interact with the device.

额外地,用户通常与健身装置交互,不论是否观看静态屏幕。例如,当在跑步机上跑动时用户可以选择观看显示了电视节目的静态屏幕。电视节目中的要素是静态的,其中要素并未基于用户与电视节目的交互而改变行为,而是替代地执行预定的动作。动态屏幕的示例是视频游戏。用户与远程装置交互并影响视频游戏中要素的活动。至多,用户可以与执行了与健身装置交互相关的动作无关的活动的屏幕交互。Additionally, users typically interact with the fitness device, whether viewing a static screen or not. For example, a user may choose to watch a static screen showing a television show while running on a treadmill. Elements in television programs are static in that the elements do not change behavior based on user interaction with the television program, but instead perform predetermined actions. An example of a dynamic screen is a video game. A user interacts with a remote device and affects the activity of elements in a video game. At most, the user may interact with the screen performing an activity unrelated to the action associated with the fitness device interaction.

进一步,随着虚拟现实工业的快速扩展,探索了新的交互方法,包括各种用于游戏的控制器、手杖、以及包括手套的基于运动的输入装置和基于相机的手部追踪。然而,这些装置均聚焦于与用户的手部的交互上,并且忽略了可以用于改进交互和沉浸感而同时也扩展了数据收集的可能性的身体的其他部分。Further, with the rapid expansion of the virtual reality industry, new interaction methods have been explored, including various controllers for games, canes, and motion-based input devices including gloves and camera-based hand tracking. However, these devices focus on the interaction with the user's hand and ignore other parts of the body that can be used to improve interaction and immersion while also expanding data collection possibilities.

需要的是一种装置以使得用户将各种控制和追踪装置连接至主机装置而与它们的通信装置无关,也解决了对于用户可以交互而与他们位置或运动无关的控制器的需求,用于与混合现实电子应用交互。What is needed is a means to allow users to connect various control and tracking devices to a host device independent of their communication means, and also addresses the need for a controller that users can interact with regardless of their position or movement for Interact with the Mixed Reality Electron app.

发明内容Contents of the invention

因此,本发明人已经在本发明的优选实施例中设想并实施了可以与多个主机装置配对并可以发送已使用嵌套通信的用于混合现实交互的多个电子控制和追踪装置。Accordingly, the present inventors have conceived and implemented in a preferred embodiment of the present invention multiple electronic control and tracking devices that can pair with multiple host devices and that can send used nested communications for mixed reality interaction.

根据本发明的优选实施例,公开了一种用于使用多个电子控制和追踪装置用于混合现实交互的系统包括电子控制装置,包括存储在存储器中并运行在联网计算装置的处理器上的至少多个编程指令,并配置用于经由网络与多个电子装置通信,以及配置用于操作多个硬件控制元件,硬件控制元件配置用于从用户接收人工交互,并配置用于发送多个交互数据至多个电子装置的至少一部分,交互数据至少部分地基于来自人类用户的人工交互的至少一部分,并配置用于从多个电子装置的至少一部分接收通信量,通信量包括至少混合现实数据,其中混合现实数据包括至少多个传感器数据读数,并配置用于将通信量的至少一部分传递至多个电子装置的至少一部分。In accordance with a preferred embodiment of the present invention, a system for using a plurality of electronic control and tracking devices for mixed reality interaction is disclosed, comprising an electronic control device including an electronic control device stored in memory and running on a processor of a networked computing device at least a plurality of programming instructions and configured to communicate with a plurality of electronic devices via a network and configured to operate a plurality of hardware control elements configured to receive manual interactions from a user and configured to transmit a plurality of interactions data to at least a portion of the plurality of electronic devices, the interaction data being based at least in part on at least a portion of a manual interaction from a human user, and configured to receive communication from at least a portion of the plurality of electronic devices, the communication comprising at least mixed reality data, wherein The mixed reality data includes at least a plurality of sensor data readings and is configured to pass at least a portion of the traffic to at least a portion of the plurality of electronic devices.

根据本发明的另一优选实施例,公开了一种用于在多个电子控制装置和电子系统之间嵌套通信的方法,包括步骤,经由包括至少多个存储在存储器中并运行在联网计算装置的处理器上的编程指令并配置用于经由网络与多个电子装置通信并配置用于操作多个硬件控制元件的第一电子控制装置,硬件控制元件配置用于从人类用户接收多个人工交互并配置用于发送多个交互信息至多个电子装置的至少一部分,交互信息至少部分地基于来自人类用户的多个人工交互的至少一部分,并配置用于从多个电子装置的至少一部分接收通信量和将通信量的至少一部分传递至多个通信装置的至少一部分,经由网络连接至主机电子装置;使用额外的电子控制装置连接至第一电子控制装置,额外的电子控制装置包括至少存储在存储器中并运行在联网计算装置的处理器上的多个编程指令并配置用于经由网络与多个电子装置通信,以及配置用于操作多个硬件控制元件,硬件控制元件配置用于从人类用户接收多个人工交互,并配置用于将多个交互信息发送至多个电子装置的至少一部分,交互信息至少部分地基于来自人类用户的多个人工交互的至少一部分,并配置用于从多个电子装置的至少一部分接收通信量并将通信量的至少一部分传递至多个通信装置的至少一部分;在额外的电子控制装置处接收多个用户交互;发送多个交互信息至第一电子控制装置,交互信息至少部分地基于用户交互的至少一部分;以及在第一电子控制装置处将交互信息的至少一部分传递至主机电子装置。According to another preferred embodiment of the present invention, a method for nested communication between a plurality of electronic control devices and electronic systems is disclosed, comprising the steps of including at least a plurality of programming instructions on a processor of the device and configured to communicate with a plurality of electronic devices via a network and configured to operate a first electronic control device of a plurality of hardware control elements configured to receive a plurality of manual commands from a human user interacting and configured to send a plurality of interaction information to at least a portion of the plurality of electronic devices, the interaction information being based at least in part on at least a portion of a plurality of manual interactions from a human user, and configured to receive communications from at least a portion of the plurality of electronic devices traffic and at least a portion of the traffic to at least a portion of a plurality of communication devices connected to the host electronic device via a network; connected to the first electronic control device using an additional electronic control device, the additional electronic control device comprising at least one stored in a memory and a plurality of programming instructions running on a processor of a networked computing device and configured to communicate with a plurality of electronic devices via a network and configured to operate a plurality of hardware control elements configured to receive data from a human user human interaction, and configured to send a plurality of interaction information to at least a portion of the plurality of electronic devices, the interaction information is based at least in part on at least a portion of the plurality of human interactions from a human user, and is configured for transmission from the plurality of electronic devices receiving at least a portion of the traffic and passing at least a portion of the traffic to at least a portion of the plurality of communication devices; receiving a plurality of user interactions at an additional electronic control device; sending a plurality of interaction messages to the first electronic control device, the interaction messages being at least in part based on at least a portion of the user interaction; and communicating at the first electronic control device at least a portion of the interaction information to the host electronic device.

附图说明Description of drawings

附图说明了本发明的数个实施例,并且与说明书一起用于解释根据实施例的本发明的原理。本领域技术人员应该知晓,附图中所示的特定实施例仅是示例性的,并且不应视作以任何方式限制本发明或在此权利要求的范围。The drawings illustrate several embodiments of the invention and together with the description serve to explain principles of the invention according to the embodiments. It should be appreciated by those skilled in the art that the specific embodiments shown in the drawings are exemplary only and should not be considered in any way to limit the invention or the scope of the claims herein.

图1是根据本发明优选实施例的用于自然躯干追踪和反馈以用于电子交互的设备的示例性硬件布置的图,图示了使用多个系绳和可移动的躯干挽具。1 is a diagram of an exemplary hardware arrangement of a device for natural torso tracking and feedback for electronic interaction, illustrating the use of multiple tethers and a movable torso harness, according to a preferred embodiment of the present invention.

图2是图示了各种备选的系绳布置的图。Figure 2 is a diagram illustrating various alternative tether arrangements.

图3是根据本发明优选实施例的用于自然系绳追踪和反馈以用于电子交互的设备的额外示例性硬件布置的图,图示了使用角度传感器以检测系绳的角度移动。3 is a diagram of an additional exemplary hardware arrangement of an apparatus for natural tether tracking and feedback for electronic interaction, illustrating the use of an angle sensor to detect angular movement of the tether, according to a preferred embodiment of the present invention.

图4A是图示了根据本发明优选实施例的配对、嵌套通信无线控制装置的示例性物理布置的图。Figure 4A is a diagram illustrating an exemplary physical arrangement of paired, nested communicating wireless control devices in accordance with a preferred embodiment of the present invention.

图4B是图示了根据本发明优选实施例的经由适配器通信的、配对嵌套通信无线控制装置的示例性物理布置的图。4B is a diagram illustrating an exemplary physical arrangement of paired nested communicating wireless control devices communicating via an adapter in accordance with a preferred embodiment of the present invention.

图5是图示了配置用于各种用途的、嵌套通信无线控制器的各种示例性物理配置的图。5 is a diagram illustrating various exemplary physical configurations of nested communication wireless controllers configured for various purposes.

图6是图示了根据本发明的优选实施例用于在控制装置和电子系统之间嵌套通信的示例性方法的流程图。FIG. 6 is a flowchart illustrating an exemplary method for nested communication between a control device and an electronic system according to a preferred embodiment of the present invention.

图7是图示了根据本发明优选实施例的使用具有各种电子系统的嵌套通信控制装置的示例性系统架构的方框图。FIG. 7 is a block diagram illustrating an exemplary system architecture using a nested communication control device with various electronic systems according to a preferred embodiment of the present invention.

图8是图示了根据本发明实施例的可适应健身系统的部件的方框图。8 is a block diagram illustrating components of an adaptable fitness system according to an embodiment of the present invention.

图9A是图示了根据本发明实施例的运动感测装置的部件的方框图。FIG. 9A is a block diagram illustrating components of a motion sensing device according to an embodiment of the present invention.

图9B图示了根据本发明实施例的运动感测装置。Figure 9B illustrates a motion sensing device according to an embodiment of the invention.

图9C图示了根据本发明实施例的手持控制器。Figure 9C illustrates a handheld controller in accordance with an embodiment of the present invention.

图9D图示了根据本发明实施例的安装至健身装置的手柄的手持控制器的示例。9D illustrates an example of a handheld controller mounted to a handle of an exercise device in accordance with an embodiment of the present invention.

图10是图示了根据本发明实施例的用于基于用户与健身系统的交互而与健身应用交互的示例性方法的流程图。10 is a flowchart illustrating an exemplary method for interacting with a fitness application based on a user's interaction with the fitness system, according to an embodiment of the invention.

图11是图示了用于本发明实施例中的计算装置的示例性硬件架构的方框图。Figure 11 is a block diagram illustrating an exemplary hardware architecture for a computing device in an embodiment of the present invention.

图12是图示了根据本发明实施例的用于客户端装置的示例性逻辑架构的方框图。Figure 12 is a block diagram illustrating an exemplary logical architecture for a client device according to an embodiment of the present invention.

图13是示出了根据本发明实施例的客户端、服务器和外部服务的示例性架构布置的方框图。Fig. 13 is a block diagram illustrating an exemplary architectural arrangement of a client, a server, and an external service according to an embodiment of the present invention.

图14是图示了用于本发明各个实施例中的计算装置的示例性硬件架构的另一方框图。Figure 14 is another block diagram illustrating an exemplary hardware architecture for a computing device in various embodiments of the invention.

具体实施方式Detailed ways

本发明人在本发明的优选实施例中已经设想并实施了用于混合现实交互的多个电子控制和追踪装置,其可以与多个主机装置配对并可以发送已使用嵌套通信。The inventors have conceived and implemented in a preferred embodiment of the present invention multiple electronic control and tracking devices for mixed reality interaction that can pair with multiple host devices and can send used nested communications.

可以在本申请中描述一个或多个不同发明。进一步,对于在此所述的一个或多个发明,可以描述数个备选实施例;应该知晓,仅为了示意说明目的展示这些并且并未以任何方式限制在此所包含的发明或在此所展示的权利要求。一个或多个发明可以广泛地适用于数个实施例,如从本公开显而易见的。通常,足够详细地描述实施例以使得本领域技术人员能够实践一个或多个本发明,并且应该知晓可以采用其他实施例以及可以做出结构、逻辑、软件、电气和其他变化而并未脱离特定发明的范围。因此,本领域技术人员应该认识到,可以采用各种修改和变形而实践一个或多个发明。在此所述的一个或多个发明的特定特征可以参照形成了本公开的一部分且其中借由示意说明方式示出了一个或多个发明的具体实施例的特定实施例或附图而描述。然而,应该知晓,这些特征不限于用在描述它们所参照的一个或多个特定实施例或附图中。本公开既非一个或多个发明的所有实施例的字面说明又非必须存在于所有实施例中的一个或多个发明的特征的列表。One or more different inventions may be described in this application. Further, several alternative embodiments may be described for one or more inventions described herein; it should be understood that these are shown for illustrative purposes only and are not intended to limit in any way the inventions contained herein or described herein. Display claims. One or more inventions may be applied broadly to several embodiments, as is apparent from this disclosure. Generally, the embodiments are described in sufficient detail to enable those skilled in the art to practice one or more of the inventions, and it is to be understood that other embodiments may be utilized and structural, logical, software, electrical, and other changes may be made without departing from the specific the scope of the invention. Accordingly, those skilled in the art will recognize that one or more inventions may be practiced with various modifications and variations. Certain features of one or more inventions described herein may be described with reference to certain embodiments or drawings which form a part of this disclosure and in which are shown by way of schematic illustration specific embodiments of one or more inventions. It should be understood, however, that these features are not limited to use in the particular embodiment(s) or figures with which they are described. This disclosure is neither a literal description of all embodiments of one or more inventions nor a listing of features of one or more inventions that must be present in all embodiments.

在本专利申请中所提供段落的题头以及本专利申请的标题仅为了方便,并且不应视作以任何方式限制本公开。Section headings, as well as the headings of this patent application, are provided in this patent application for convenience only and should not be construed as limiting the disclosure in any way.

相互通信的装置不必连续地相互通信,除非另外明确规定。此外,相互通信的装置可以直接地通信或者通过一个或多个逻辑或物理的通信装置或中介间接地通信。Devices that are in communication with each other need not be in continuous communication with each other, unless expressly specified otherwise. In addition, devices that are in communication with each other may communicate directly or indirectly through one or more logical or physical communicating devices or intermediaries.

实施例与数个部件相互通信的描述并未暗示需要所有这些部件。相反,可以描述各种任选部件以说明一个或多个发明的广泛各种可能实施例且以便于更完全地说明本发明的一个或多个特征方面。类似地,尽管可以以依次顺序描述工艺步骤、方法步骤、算法等等,通常可以配置这些工艺、方法和算法以备选的顺序工作,除非特殊地相反陈述。换言之,可以在本专利申请中描述的步骤的任意顺序或次序就其本身而言并未指示需要以该顺序执行步骤。所述工艺的步骤可以实际上以任意顺序执行。进一步,一些步骤可以同时地执行,尽管描述或暗示为并非同时地发生(例如因为一个步骤描述在另一个步骤之后)。此外,在附图中由其说明对工艺的图示并未暗示所示工艺排除其他变形和修改,并未暗示所示的工艺或其任意步骤对于一个或多个发明是必须的,以及并未暗示所示工艺是优选的。此外,每个实施例通常描述步骤一次,但是这并非意味着它们必须出现一次,或者每次执行或运行工艺、方法或算法时它们可以仅出现一次。一些步骤在一些实施例或一些情形中可以省略,或者一些步骤可以在给定实施例或情形中执行多于一次。A description of an embodiment intercommunicating with several components does not imply that all such components are required. On the contrary, various optional components may be described to illustrate a wide variety of possible embodiments of one or more inventions and to more fully describe one or more characteristic aspects of the invention. Similarly, although process steps, method steps, algorithms, etc. may be described in a sequential order, these processes, methods and algorithms can generally be configured to work in an alternate order unless specifically stated to the contrary. In other words, any order or order in which the steps may be described in this patent application does not, by itself, indicate that the steps need to be performed in that order. The steps of the described processes may be performed in virtually any order. Further, some steps may be performed concurrently, although described or implied as not occurring concurrently (for example because one step is described after another). Furthermore, the illustration of a process in the drawings by its description does not imply that the illustrated process excludes other variations and modifications, that the illustrated process or any step thereof is essential to one or more inventions, and does not It is implied that the process shown is preferred. Furthermore, steps are generally described once per embodiment, but this does not mean that they must occur once, or that they may occur only once per execution or operation of a process, method, or algorithm. Some steps may be omitted in some embodiments or situations, or some steps may be performed more than once in a given embodiment or situation.

当在此描述单个装置或物品时,显而易见的是,可以替代于单个装置或物品而使用多于一个装置或物品。类似地,当在此描述多于一个装置或物品时,显而易见的是,可以替代于多于一个装置或物品而使用单个装置或物品。While a single device or item is described herein, it will be apparent that more than one device or item may be used instead of a single device or item. Similarly, when more than one device or article is described herein, it will be apparent that a single device or article may be used instead of more than one device or article.

装置的功能或特征可以备选地又并未明确描述为具有该功能或特征的一个或多个其他装置而具体化。因此,一个或多个发明的其他实施例不必自身包括装置。A function or feature of a device may alternatively be embodied by one or more other devices not explicitly described as having that function or feature. Accordingly, other embodiments of one or more inventions need not themselves include devices.

在此所述或参考的技术和机制有时为了清楚将以单数形式描述。然而,应该知晓,特定实施例可以包括技术的多次迭代或者机制的多次实例化,除非另外注解。附图中工艺说明或方框应该理解为表示包括用于实施工艺中特殊逻辑功能或步骤的一个或多个可执行指令的模块、片段或代码的部分。备选实施方式包括在本发明的实施例的范围内,其中例如可以与所示或所述之外的顺序执行功能,包括基本上同时或者以相反顺序,取决于所涉及的功能,如由本领域技术人员所理解。Technologies and mechanisms described or referenced herein will sometimes be described in the singular for clarity. However, it should be appreciated that particular embodiments may include multiple iterations of techniques or multiple instantiations of mechanisms unless otherwise noted. Process descriptions or blocks in the drawings should be understood to represent modules, segments or code portions that include one or more executable instructions for implementing specific logical functions or steps in the process. Alternative implementations are included within the scope of embodiments of the invention in which, for example, functions may be performed in an order other than that shown or described, including substantially simultaneously or in the reverse order, depending on the functions involved, as understood by those skilled in the art. understood by technicians.

概念性架构conceptual framework

图7是图示了根据本发明优选实施例的使用具有各种电子系统710的嵌套通信控制装置701、702a-n的示例性系统架构700的方框图。根据实施例,控制装置701可以连接至多个电子系统710诸如包括(但不限于)个人计算机711、视频游戏控制台712、媒体中心(例如家庭影院系统)713、或移动装置714(例如智能电话或平板计算装置)。连接可以经由各种装置发生,但是根据实施例并且如由本发明人所设想,连接的理想方法是经由用无线电的无线连接机制。用于该连接的示例性通信协议或技术可以包括(但不限于)蜂窝无线电通信、BLUETOOTHTM、ANTTM、WiFi、近场通信(NFC)、或其他连接机制。Figure 7 is a block diagram illustrating an exemplary system architecture 700 using nested communication control devices 701, 702a-n with various electronic systems 710 in accordance with a preferred embodiment of the present invention. According to an embodiment, the control device 701 may be connected to a plurality of electronic systems 710 such as including (but not limited to) a personal computer 711, a video game console 712, a media center (such as a home theater system) 713, or a mobile device 714 (such as a smartphone or tablet computing devices). Connection can occur via various means, but according to an embodiment and as contemplated by the inventors, the ideal method of connection is via a wireless connection mechanism using radio. Exemplary communication protocols or technologies for this connection may include, but are not limited to, cellular radio communications, BLUETOOTH , ANT , WiFi, Near Field Communication (NFC), or other connection mechanisms.

根据实施例,多个额外的控制装置702a-n可以经由各种连接机制与主控制装置701配对。当以该方式连接时,来自经由额外控制装置702a-n交互的用户的输入可以发送至主控制装置701,其随后可以将交互传递至多个相连的电子系统710。如果有电子系统710提供的话,反馈随后可以由主控制装置701接收,并且如果需要的话传递至额外的控制装置102a-n(例如,如果用户经由多个额外控制装置102a交互,并且电子系统110提供对于该用户或该装置特殊设计的反馈)。应该知晓,并非所有控制装置需要利用类似的连接机制。例如,如果主控制装置101运行BLUETOOTHTM和WiFi无线电用于无线通信,额外的控制装置102a可以经由BLUETOOTHTM连接而第二额外控制装置102b可以使用WiFi连接。以该方式,主控制装置101可以视作是用于联合各种连接装置以促进在多个电子系统110与变化设计和操作的多个额外控制装置102a-n之间通信的装置。Depending on the embodiment, multiple additional control devices 702a-n may be paired with the main control device 701 via various connection mechanisms. When connected in this manner, input from users interacting via the additional control devices 702 a - n can be sent to the master control device 701 , which can then relay the interactions to a plurality of connected electronic systems 710 . Feedback may then be received by the main control device 701, if provided by the electronic system 710, and passed on to the additional control devices 102a-n if desired (e.g., if the user interacts via multiple additional control devices 102a and the electronic system 110 provides Feedback about the user or the particular design of the device). It should be appreciated that not all control devices need utilize similar connection mechanisms. For example, if the main control device 101 runs BLUETOOTH and a WiFi radio for wireless communication, the additional control device 102a can connect via BLUETOOTH and the second additional control device 102b can use a WiFi connection. In this manner, the master control device 101 may be viewed as a means for combining various connection devices to facilitate communication between the plurality of electronic systems 110 and the plurality of additional control devices 102a-n of varying design and operation.

示例性实施例的详细说明Detailed Description of Exemplary Embodiments

图1是根据本发明优选实施例的用于自然躯干追踪和反馈以用于电子交互的示例性硬件布置100的图,图示了使用多个系绳110a-n以及可移动的躯干挽具120。根据实施例,多个系绳110a-n可以固定或整体地形成作为手柄或栏杆130的一部分,诸如在训练设备诸如跑步机、椭圆仪、爬楼机等等上找到的把手。在备选布置中,可以使用具有整体系绳110a-n的特殊设计的装备,但是可以知晓的是,可以希望具有可以固定且自由地移除的系绳110a-n的模块化设计以用于促进用于各种健身设备或建筑的结构元件,根据用户的特殊用途或情形。系绳110a-n可以随后贴合或整体形成至躯干挽具120,如以皮带的形式所示,其可以由用户穿戴以使得他们身体的移动影响系绳110a-n并以各种方式向它们施加应力。应该知晓,尽管为了清楚示出了用于躯干挽具120的皮带设计,可以使用各种物理布置,诸如包括(但不限于)背心、类似于攀爬或悬垂设备的一系列挽具状条带、背包、设计用于穿戴在用户身体下方或替代衣物(例如用于收集精确数据的医疗设置)的缚带、或者可以易于贴至用户衣物的多个特殊形成的夹具或附着点。额外地,躯干挽具120可以采用可移动部件构造,例如具有允许用户在挽具120内一定程度运动而并未限制他们移动的内带121。可以以各种方式测量内带121(或其他可移动部分)的移动,诸如使用加速度计、陀螺仪、或光学传感器,并且该数据可以用作与软件应用的交互,除了如下所述从系绳110a-n收集的数据之外。1 is a diagram of an exemplary hardware arrangement 100 for natural torso tracking and feedback for electronic interaction, illustrating the use of multiple tethers 110a-n and a movable torso harness 120, in accordance with a preferred embodiment of the present invention. . According to an embodiment, the plurality of tethers 110a-n may be fixed or integrally formed as part of a handle or rail 130, such as the handles found on exercise equipment such as treadmills, ellipticals, stair climbers, and the like. In alternative arrangements, specially designed equipment with integral tethers 110a-n may be used, but it will be appreciated that a modular design with fixed and freely removable tethers 110a-n may be desirable for Facilitate structural elements for use in various fitness equipment or buildings, according to the particular use or situation of the user. The tethers 110a-n can then be fitted or integrally formed to the torso harness 120, as shown in the form of a strap, which can be worn by the user so that movement of their body affects the tethers 110a-n and acts upon them in various ways. Apply stress. It should be appreciated that although a strap design for the torso harness 120 is shown for clarity, various physical arrangements may be used, such as including (but not limited to) a vest, a series of harness-like straps similar to climbing or draping equipment , a backpack, a strap designed to be worn under the user's body or in place of clothing (such as in a medical setting for collecting precise data), or multiple specially formed clips or attachment points that can be easily attached to the user's clothing. Additionally, the torso harness 120 may be constructed with movable components, such as having an inner strap 121 that allows a user a degree of movement within the harness 120 without restricting their movement. Movement of the inner strap 121 (or other movable portion) can be measured in various ways, such as using accelerometers, gyroscopes, or optical sensors, and this data can be used as an interaction with the software application, except from the tether as described below. 110a-n in addition to collected data.

当用户移动时,他们的身体自然地偏移位置和定向。这些偏移可以经由系绳110a-n检测并测量,例如通过测量系绳110a-n上张力或应变的模式以指示身体定向,或者通过测量系绳110a-n上应变的小变化以确定更精确的移动诸如当用户说话时的身体姿势,或者用户的步幅或步态的特殊特征。额外地,通过改变系绳110a-n的数量和布置,可以检测并测量更精确或特殊的移动形式(诸如例如,使用连接至用户身体特定区域的多个系绳的特殊布置以检测极细微移动用于医疗诊断或健身教练)。该数据可以用作与软件应用的交互,诸如对于虚拟现实应用作为用户输入以控制游戏中人物。在该布置中,当用户移动时,该移动可以转换至游戏中人物或化身以传递更自然的交互感和存在感。例如,在多玩家角色扮演游戏中,这可以用于促进玩家之间非语言通信和识别,因为可以在游戏中通过检测自然躯干位置和移动而传递他们的相异的风格和姿势。在健身或健康应用中,该数据可以用于追踪并监控用户的姿势或人机工程学量,或者对于特殊健身活动诸如保持瑜伽姿势、伸展、或在用于跑步机期间适当的奔跑形式而帮助训练他们。在医疗应用中,该数据可以用于帮助诊断可以需要关注的伤害或缺陷,诸如通过检测运动中的异常或者对于未识别伤害的生理适应(诸如当用户下意识将他们重心偏离受伤的脚或膝盖时,并未有意识地认识到存在问题)。As users move, their bodies naturally shift in position and orientation. These deflections can be detected and measured via the tethers 110a-n, for example by measuring patterns of tension or strain on the tethers 110a-n to indicate body orientation, or by measuring small changes in strain on the tethers 110a-n to determine more precisely Movements such as the user's body posture when speaking, or the user's stride or specific characteristics of gait. Additionally, by varying the number and arrangement of tethers 110a-n, more precise or specific patterns of movement can be detected and measured (such as, for example, using a special arrangement of multiple tethers attached to specific areas of the user's body to detect very fine movements for medical diagnosis or fitness coaching). This data can be used in interactions with software applications, such as for virtual reality applications as user input to control in-game characters. In this arrangement, as the user moves, that movement can be translated to the in-game character or avatar to convey a more natural sense of interaction and presence. For example, in a multiplayer role-playing game, this can be used to facilitate non-verbal communication and recognition between players, as their distinct styles and postures can be communicated during the game by detecting natural torso positions and movements. In fitness or health applications, this data can be used to track and monitor the user's posture or ergonomics, or to aid in specific fitness activities such as holding yoga poses, stretching, or proper running form during use on a treadmill. train them. In medical applications, this data can be used to help diagnose injuries or deficiencies that may require attention, such as by detecting abnormalities in movement or physiological adaptations to unrecognized injuries (such as when a user subconsciously shifts their weight away from an injured foot or knee). , without consciously recognizing a problem).

通过系绳110a-n和系绳传感器(如以下所述,参照图2-图3)的各种布置,可以能够使得用户以各种沉浸方式与软件应用交互,以及从应用接收触觉反馈。例如,通过检测系绳的旋转、张力、应力或角度,通过使用自然身体移动和定位诸如倾斜、跳跃、蹲下、膝下跪、转弯、或沿各个方向偏移他们中心以触发在配置用于接受躯干追踪输入的软件应用内的动作,用户可以与应用诸如虚拟现实游戏或模拟交互。通过施加变化形式和强度的触觉反馈(如以下更详细所述,参照图2),应用可以向用户提供软件事件的物理指示,诸如施加张力以抵抗移动,在系绳上拖拉或牵引以沿一方向移动或“猛拉”用户,或者改变对于多个系绳的反馈诸如以变化的次序或顺序牵引并释放以模拟更复杂的效果诸如(例如在游戏用途情形中)爆炸、乘坐车辆、或步行通过叶子。Various arrangements of tethers 110a-n and tether sensors (as described below with reference to FIGS. 2-3 ) may enable users to interact with, and receive haptic feedback from, software applications in various immersive ways. For example, by detecting the rotation, tension, stress, or angle of the tether, by using natural body movements and positioning such as leaning, jumping, squatting, kneeling, turning, or offsetting their center in various directions to trigger when configured for An action within a software application that accepts torso-tracking input, allowing users to interact with applications such as virtual reality games or simulations. By applying haptic feedback of varying forms and intensities (as described in more detail below, with reference to FIG. Directional movement or "jerking" of the user, or changing the response to multiple tethers such as pulling and releasing in varying order or sequence to simulate more complex effects such as (e.g. in the case of game use) explosions, rides in vehicles, or walking through the leaves.

应该知晓,尽管参考了虚拟现实应用,根据实施例广泛各种用途案例可以是可能的。例如,躯干追踪可以用于健身和健康应用,以当行走时监控用户的姿势或步态,而并未使用额外的虚拟现实设备或软件。It should be appreciated that although reference is made to virtual reality applications, a wide variety of use cases may be possible in accordance with embodiments. For example, torso tracking can be used in fitness and health applications to monitor a user's posture or gait while walking without using additional virtual reality equipment or software.

图2是说明了各种备选系绳布置的图。根据各个用途案例和硬件布置,系绳110a-n可以利用如所示的各种目的驱动的设计。例如,“可拉伸的”系绳210可以用于在用户移动期间测量应变,此时系绳210被拉伸或压缩(例如使用压电材料并测量电变化)。该布置可以适用于精确测量,但是可以对于总移动检测或持续使用缺乏机械强度或耐久性。备选的构造可以利用非变形系绳220诸如钢缆或类似的非拉伸材料。替代于测量系绳220上的应变,可以允许替代的系绳220在外壳222(例如躯干挽具120或把手130上附着点)内的一定程度移动,并且可以诸如经由光学传感器测量系绳220的位置或移动221。在第三示例性布置中,系绳230可以围绕轮轴或滑轮231卷绕,并且当在用户移动期间施加力时可以放出。可以测量滑轮231的旋转,或者备选地可以利用张力装置诸如卷盘弹簧(未示出)且当延展或缩回系绳230时测量在该装置上的张力或应变。以该方式,可以知晓,可以使用各种机械装置以促进系绳和附件用于检测和测量自然躯干位置和移动,并且应该知晓根据在此所公开的实施例可以利用各种额外或备选的硬件布置。Figure 2 is a diagram illustrating various alternative tether arrangements. Depending on the respective use case and hardware arrangement, the tethers 110a-n may utilize various purpose-driven designs as shown. For example, a "stretchable" tether 210 may be used to measure strain during movement of the user, when the tether 210 is stretched or compressed (eg, using a piezoelectric material and measuring the electrical change). This arrangement may be suitable for precise measurements, but may lack mechanical strength or durability for total movement detection or continued use. Alternative configurations may utilize a non-deformable tether 220 such as a steel cable or similar non-stretch material. Instead of measuring the strain on the tether 220, some degree of movement of the alternative tether 220 within the housing 222 (e.g., an attachment point on the torso harness 120 or handle 130) may be allowed and the strain on the tether 220 may be measured, such as via an optical sensor. Position or Move 221. In a third exemplary arrangement, the tether 230 can be coiled around an axle or pulley 231 and can be unwound when force is applied during movement by the user. The rotation of the pulley 231 can be measured, or alternatively a tension device such as a coil spring (not shown) can be utilized and the tension or strain on the device measured when the tether 230 is extended or retracted. In this manner, it will be appreciated that various mechanisms may be used to facilitate the use of tethers and accessories for detecting and measuring natural torso position and movement, and that various additional or alternative mechanisms may be utilized in accordance with the embodiments disclosed herein. Hardware layout.

额外地,通过使用各种硬件构造,变得能够利用仅测量移动或应变的“无源”系绳,以及可以施加抵抗或移动以向用户提供触觉反馈的“有源”系绳。例如,在利用了卷盘弹簧或轮滑231的布置中,弹簧或轮滑231可以卷绕以收回系绳并如果希望的话引导或阻止用户的移动。以该方式,基于反馈的交互的各种新形式变得可能,并且在虚拟现实用途案例中通过在他们交互期间更自然的物理反馈而提高了用户接合和沉浸。Additionally, by using various hardware configurations, it becomes possible to utilize "passive" tethers that only measure movement or strain, as well as "active" tethers that can apply resistance or movement to provide tactile feedback to the user. For example, in arrangements utilizing a coiled spring or roller 231, the spring or roller 231 may coil to retract the tether and guide or resist movement of the user if desired. In this way, various new forms of feedback-based interactions are made possible, and in the case of virtual reality use, user engagement and immersion are improved through more natural physical feedback during their interactions.

通过使用各种系绳布置应用各种形式和强度的反馈,可以使用各种反馈类型以响应于软件事件而向用户提供触觉输出。例如,可以使用在系绳上的张力以模拟受约束的移动诸如涉过水或密集叶子,沿倾斜表面向上走,磁力或重力,或者可以通过定向或非定向张力模拟的其他形式物理抵抗或阻抗。可以使用在系绳上的牵引、收回或拉拽以模拟突然的力,诸如来自炮火、爆炸的后退力,由软件实体诸如对象或人物抓取或敲击,展开降落伞,蹦极跳,滑动或跌落,或者可以采用牵引或拉拽感觉传递的其他瞬时力或事件。通过利用各种触觉反馈模式,可以将更复杂的事件通信发送至用户,诸如骑行在马背上或在车辆中,站在海中轮船甲板上,飞机中的湍流,天气,或可以使用触觉反馈展示的其他虚拟事件。以该方式,可以使得虚拟环境和事件对用户更沉浸式且有形,通过使得用户使用自然身体移动和定位而交互,以及通过以感觉自然且对于用户预期的方式提供触觉反馈。例如,如果用户通过第一人称视点在控制游戏应用中的人物,当他们的人物被击打时可以看起来自然,将存在与事件相对应的物理感觉;然而,这对于传统交互装置不可能,减损了用户的沉浸或真实的任何感觉。通过伴随虚拟事件提供该物理感觉,经验变得更动人,并且鼓励用户更自然地交互,因为他们的动作导致自然且可相信的反馈,满足他们的下意识预期并且避免了过度的“打破沉浸”时刻,这接着减小了用户作为适应于有限的交互计划的结果而采取不寻常行为或不健康姿势。By applying various forms and strengths of feedback using various tether arrangements, various feedback types can be used to provide tactile output to the user in response to software events. For example, tension on a tether can be used to simulate constrained movement such as wading through water or dense foliage, walking up a sloped surface, magnetism or gravity, or other forms of physical resistance or resistance that can be simulated by directional or non-directional tension . Pulling, retracting or pulling on a tether can be used to simulate sudden forces such as recoil forces from gunfire, explosions, grasping or knocking by software entities such as objects or characters, deploying parachutes, bungee jumping, sliding or falling , or other momentary force or event delivered by a tugging or tugging sensation. By utilizing various modes of haptic feedback, more complex event communications can be sent to the user, such as riding on horseback or in a vehicle, standing on the deck of a ship in the sea, turbulence in an airplane, weather, or haptic feedback can be used Additional virtual events on display. In this way, virtual environments and events can be made more immersive and tangible to the user, by enabling the user to interact using natural body movements and positioning, and by providing haptic feedback in a manner that feels natural and expected for the user. For example, if a user is controlling a character in a game application through a first-person viewpoint, it can look natural when their character is hit, and there will be a physical sensation corresponding to the event; however, this is not possible with conventional interactive devices, detracting from any sense of immersion or reality for the user. By providing this physical sensation along with the virtual event, the experience becomes more engaging and encourages users to interact more naturally as their actions result in natural and believable feedback, satisfying their knee-jerk expectations and avoiding excessive "immersion breaking" moments , which in turn reduces the user's adoption of unusual behavior or unhealthy postures as a result of adapting to a limited interaction schedule.

可以提供触觉反馈以通知用户非游戏事件,诸如用于对于电子邮件或应用更新的桌面通知,或者提供对他们姿势的反馈以用于健身或健康教练。例如,可以鼓励用户锻炼时或以设置的时间长度(例如,用于瑜伽训练应用)维持特定站姿、姿势、或姿态,并且如果他们的姿态偏离可接受范围,提供反馈以提醒他们调节他们的姿态。这可以用于无需利用虚拟现实的其他特征方面并且可以操作作为在非专用计算硬件上的传统软件应用的运动、健身、健康或人机工程应用。例如,在他们桌子处的用户可以使用人机工程训练应用,遍及工作日而监控他们身体姿态且提供触觉提示以当检测到不良姿态时校正该姿态,帮助用户维持健康的工作姿态以减少由于不良姿态带来的疲劳或损伤(例如,可以与当在计算机处工作时不良姿态相关联的重复性应力损伤)。Haptic feedback can be provided to notify users of non-gaming events, such as for desktop notifications for email or application updates, or to provide feedback on their gestures for fitness or health coaching. For example, users may be encouraged to maintain a particular stance, posture, or posture while exercising or for a set length of time (e.g., for a yoga training application), and provide feedback to remind them to adjust their posture if their posture deviates from an acceptable range. attitude. This can be used for sports, fitness, health or ergonomics applications that do not need to take advantage of other characteristic aspects of virtual reality and can operate as traditional software applications on non-specialized computing hardware. For example, a user at their desk can use an ergonomic training application to monitor their body posture throughout the workday and provide haptic cues to correct poor posture when it is detected, helping the user maintain a healthy working posture to reduce stress caused by poor posture. Posture-induced fatigue or injury (eg, repetitive stress injuries that can be associated with poor posture when working at a computer).

图3是根据本发明优选实施例的用于自然躯干追踪和反馈以用于电子交互的额外示例性硬件布置300的图,图示了使用角度传感器312、321a-n以检测系绳320的角度移动。根据一个示例性布置,系绳310可以固定至或者穿过旋转接头诸如球形轴承311或类似物,以允许自由角度移动。在移动期间,可以测量突出的杆、棒或系绳分段313的角移动或偏转312(例如使用光学、磁性或其他传感器)以确定系绳310的对应角度。以该方式,可以收集精确的角度测量值而并未阻碍运动范围或引入不必要的机械复杂性。3 is a diagram of an additional exemplary hardware arrangement 300 for natural torso tracking and feedback for electronic interaction, illustrating the use of angle sensors 312, 321a-n to detect the angle of a tether 320, in accordance with a preferred embodiment of the present invention. move. According to one exemplary arrangement, the tether 310 may be fixed to or pass through a swivel joint such as a ball bearing 311 or the like to allow free angular movement. During movement, the angular movement or deflection 312 of the protruding rod, rod, or tether segment 313 may be measured (eg, using optical, magnetic, or other sensors) to determine the corresponding angle of the tether 310 . In this way, precise angular measurements can be collected without impeding range of motion or introducing unnecessary mechanical complexity.

在备选的硬件布置中,角度传感器321a-n的使用使能追踪系绳320的垂直角度,以检测并任选地测量用户躯干的垂直移动或定向。当系绳320接触传感器321a-n时,其可以登记并用于检测大致垂直移动(也即,不论系绳是否成角度倾斜向上或向下)。为了更精确的测量,可以改变传感器321a-n的具体硬件构造,例如使用压力感测开关以检测施加了多少力并使用该测量值以确定对应的角度(如给定已知构造的系绳320可以可能的)。应该知晓,可以使用各种硬件组合以提供所希望的角度检测或测量的方法或程度,例如使用导电系绳320和电容性传感器321a-n以检测接触,或使用机械或橡胶穹顶开关(如通常用在键盘构造中)以不采用导电系绳320而检测物理接触。In an alternative hardware arrangement, the use of angle sensors 321a-n enables tracking of the vertical angle of tether 320 to detect and optionally measure vertical movement or orientation of the user's torso. When the tether 320 contacts the sensors 321a-n, it can be registered and used to detect substantially vertical movement (ie, whether the tether is angled up or down). For more precise measurements, the specific hardware configuration of the sensors 321a-n can be varied, such as using a pressure sensing switch to detect how much force is being applied and use that measurement to determine the corresponding angle (as given a known configuration of the tether 320 can be possible). It should be appreciated that various combinations of hardware may be used to provide the desired method or degree of angle detection or measurement, such as using a conductive tether 320 and capacitive sensors 321a-n to detect contact, or using a mechanical or rubber dome switch (as typically used in keyboard configurations) to detect physical contact without employing the conductive tether 320.

使用角度检测或测量可以扩展交互可能性以包括用户身体的更详细且自然的移动。例如,如果用户蹲下,则所有系绳110a-n可以同时地检测向下的角度。额外地,通过当可能时组合来自多个可应用传感器的输入(例如利用自适应软件以从其检测的任意传感器收集数据,并未要求特殊传感器类型用于操作),例如通过组合来自系绳110a-n以及硬件传感器诸如加速度计或陀螺仪的数据,可以增强数据精确性或可应用性,使能实现位置或移动检测的类似或变化类型或精确水平的多个方法。类似地,当用户跳跃时则所有系绳可以同时地检测向上的角度。然而,如果用户沿一个方向倾斜,可以知晓并非所有系绳110a-n将检测相同的角度。例如,沿用户所倾斜方向的系绳110a-n可以检测向下的角度,而在相反侧上的那些将检测向上的角度(由于用户躯干以及因此所穿戴躯干挽具120的定向)。以该方式,可以通过改进定向和移动的检测和识别而促进更精确的躯干交互。额外地,可以知晓,传感器321a-n可以用于其他角度测量,诸如用以检测水平角度。例如,如果用户在穿戴非旋转躯干挽具120,当他们扭转他们身体时可以施加类似的应力至所有附接的系绳110a-n。不采用角度检测,该移动的精确特性将是不清楚的,但是采用水平角度检测,变得能够识别所有系绳110a-n正沿类似方向应变(例如当从上方观看时以顺时针模式,因为用户可以在使用期间观看系绳110a-n),并且因此将交互解释为扭转运动(而不是,例如用户蹲下或跪下,这可以施加类似的应力至系绳110a-n但是将具有不同的角度测量值)。Using angle detection or measurements can expand the interaction possibilities to include more detailed and natural movements of the user's body. For example, if the user crouches, all tethers 110a-n can simultaneously detect the downward angle. Additionally, by combining inputs from multiple applicable sensors when possible (e.g., utilizing adaptive software to collect data from any sensor it detects, no particular sensor type is required for operation), such as by combining inputs from tether 110a -n, as well as data from hardware sensors such as accelerometers or gyroscopes, can enhance data accuracy or applicability, enabling multiple methods of similar or varying types or levels of precision of position or movement detection. Similarly, when the user jumps then all tethers can simultaneously detect the upward angle. However, if the user tilts in one direction, it can be known that not all tethers 110a-n will detect the same angle. For example, tethers 110a-n in the direction the user is leaning may detect a downward angle, while those on the opposite side will detect an upward angle (due to the orientation of the user's torso and thus the worn torso harness 120). In this way, more precise torso interaction can be facilitated by improved detection and recognition of orientation and movement. Additionally, it will be appreciated that sensors 321a-n may be used for other angle measurements, such as to detect horizontal angles. For example, if a user is wearing a non-rotating torso harness 120, similar stress may be applied to all attached tethers 110a-n when they twist their body. Without angle detection, the precise nature of this movement would be unclear, but with horizontal angle detection, it becomes possible to identify that all tethers 110a-n are straining in a similar direction (e.g. in a clockwise pattern when viewed from above because The user may watch the tethers 110a-n) during use, and thus interpret the interaction as a twisting motion (rather than, for example, the user crouching or kneeling, which would apply similar stress to the tethers 110a-n but would have a different angle measurement).

图4A是说明了根据本发明优选实施例的配对、嵌套通信无线控制装置400a-b的示例性物理布置的图。根据实施例,多个无线控制装置400a-b可以经由无线通信协议诸如包括(但不限于)BLUETOOTHTM、WiFi、NFC、ZIGBEETM、蜂窝射频(例如经由已有的GSM或其他蜂窝网络,或者通过使用蜂窝频率以如果需要的话在装置之间创建特设或“网状”网络)或者其他合适的无线通信协议或技术而与多个电子主机装置410(例如包括但不限于游戏控制台装置,个人计算机,移动装置诸如智能电话或平板计算装置,媒体装置,或可以经由物理分离的控制器或多个控制器而接收用户交互的其他电子装置)“配对”。根据实施例,两个物理分离的控制器400a-b可以与主机410配对,使得用户在每个手中手持一个控制器以方便操纵和人机工程学舒适。例如,用户可以当坐下时以舒适角度和距离手持控制器,使得与两手操纵单个控制器相比可能具有更大程度的舒适性。例如,用户可以在训练或全身交互游戏期间每个手中抓取一个控制器,诸如当在跑步机上奔跑或与虚拟健身训练器交互诸如使用NINTENDO WIITM游戏控制台时。也应该知晓,控制装置400a-b可以任选地与多于一个主机装置410配对,例如使用单个控制器以与多个计算机或移动装置交互,例如用于给出展示或指引指令,其中教师可以与学生的装置直接地交互。Figure 4A is a diagram illustrating an exemplary physical arrangement of paired, nested communicating wireless control devices 400a-b in accordance with a preferred embodiment of the present invention. According to an embodiment, the plurality of wireless control devices 400a-b may communicate via a wireless communication protocol such as including (but not limited to) BLUETOOTH , WiFi, NFC, ZIGBEE , cellular radio frequency (eg, via an existing GSM or other cellular network, or via Using cellular frequencies to create an ad hoc or "mesh" network between the devices if desired) or other suitable wireless communication protocols or techniques to communicate with multiple electronic host devices 410 (such as, but not limited to, game console devices, personal A computer, a mobile device such as a smart phone or tablet computing device, a media device, or other electronic device that can receive user interaction via a physically separate controller or controllers) is "paired." According to an embodiment, two physically separate controllers 400a-b may be paired with the host 410 such that the user holds one controller in each hand for ease of manipulation and ergonomic comfort. For example, a user may hold a controller at a comfortable angle and distance when seated, making possible a greater degree of comfort than manipulating a single controller with two hands. For example, a user may grab one controller in each hand during workouts or full-body interactive games, such as when running on a treadmill or interacting with a virtual fitness trainer such as when using a NINTENDO WII game console. It should also be appreciated that the control devices 400a-b can optionally be paired with more than one host device 410, such as using a single controller to interact with multiple computers or mobile devices, such as for giving demonstrations or guiding instructions, where the teacher can Interact directly with students' devices.

图4B是说明了配对、嵌套通信无线控制装置400a-b的示例性物理布置、说明了根据本发明优选实施例的经由适配器420通信的图。根据实施例,可以采用通信适配器420以促进在多个控制器400a-b与多个主机装置410之间的通信,例如用以连接多个物理控制器并向主机展示它们作为单个“虚拟控制器”(如根据所交互的特定软件应用而可以需要的,例如要求单一控制器设计的视频游戏)或者在主机与可以另外无法通信(例如,如果一个装置仅依赖于BLUETOOTHTM用于连接,而另一个使用WiFI,或者如果正使用两个不同的通信协议)的控制器之间桥接通信。额外地,通信适配器可以由控制装置操作,例如在其中多个额外或“辅助”控制器与标记为“主”的控制器通信的布置中,该主控制器接着与主机装置通信,例如在其中主控制器用作其他控制器与主机之间的通信适配器的“嵌套通信”布置中通过从每个额外控制器接收通信量并将所有通信量向主机装置提交(如以下所述,参照图5-图6)。例如,主控制器可以操作通信适配器420以在健身追踪器或可穿戴装置(例如,诸如FITBITTM,APPLE WATCHTM,或MICROSOFT BANDTM装置)之间桥接通信至多个主机装置410,以便于将健身或健康信息(如通常由可穿戴装置所追踪)与视频游戏或其他软件应用集成。该布置也可以用于在来自不同厂商或运行不同软件或操作系统的装置之间桥接数据,例如以将来自APPLE WATCHTM装置的健康数据与MICROSOFT XBOXTM游戏控制台集成,或者来自FITBITTM健身追踪器的健身信息与SONY PLAYSTATIONTM游戏控制台集成,或者硬件、软件和厂商的其他组合。Figure 4B is a diagram illustrating an exemplary physical arrangement of paired, nested communicating wireless control devices 400a-b, illustrating communication via adapter 420 in accordance with a preferred embodiment of the present invention. According to an embodiment, a communication adapter 420 may be employed to facilitate communication between multiple controllers 400a-b and multiple host devices 410, for example to connect multiple physical controllers and present them to the host as a single "virtual controller". ” (as may be required depending on the particular software application being interacted with, such as a video game requiring a single controller design) or between the host and may otherwise be unable to communicate (for example, if one device only relies on BLUETOOTH TM for connectivity and the other Bridge communication between a controller using WiFI, or if two different communication protocols are being used. Additionally, the communication adapter may be operated by the control device, such as in an arrangement where multiple additional or "secondary" controllers communicate with a controller labeled "master", which in turn communicates with the host device, such as in A "nested communication" arrangement, in which the master controller acts as a communication adapter between the other controllers and the host, works by receiving traffic from each additional controller and submitting all traffic to the host device (as described below, with reference to Figure 5 -Figure 6). For example, the master controller may operate the communication adapter 420 to bridge communications between fitness trackers or wearable devices (eg, such as FITBIT , APPLE WATCH , or MICROSOFT BAND devices) to multiple host devices 410 to facilitate linking fitness Or health information (as typically tracked by wearable devices) integrated with video games or other software applications. This arrangement can also be used to bridge data between devices from different manufacturers or running different software or operating systems, for example to integrate health data from an APPLE WATCH device with a MICROSOFT XBOX gaming console, or from a FITBIT fitness tracker The player's fitness information is integrated with the SONY PLAYSTATION game console, or other combinations of hardware, software and manufacturers.

例如,根据特别设计的用途诸如用于与家庭游戏控制台(例如MICROSOFT XBOXTM或SONY PLAYSTATIONTM)交互,可以采用特别的无线协议或硬件技术,或者可以采用硬件装置配置控制装置400a-b以根据特定用途利用许多通信协议,而用户可以给出选项以选择所希望使用的协议或频率。例如,配置用于台式计算机的控制装置400a-b可以配置用于在2.4GHz频率范围内利用BLUETOOTHTM无线电通信。可以任选地提供硬件开关或按钮401b,由此如需要的话用户可以选择不同的频率,例如在5GHz范围内的无线电频率用于替代于BLUETOOTHTM而用在WiFi网络之上,例如以增大范围或速度或者避免来自其他装置的干扰(例如,在家庭或办公室内使用的许多微波炉可以引起在2.4GHz频带内的干扰)。各种无线通信装置的使用可以使得用户以他们所选择的任何位置或方式持有多个控制装置400a-b,改进了人机工程学并减缓了不舒适性或者减小了使用通常要求用户以特定方式抓取它们的传统控制装置可以出现重复性应力损伤的风险(例如,通常要求用户的手和臂处于笨拙的对准的计算机键盘)。For example, specific wireless protocols or hardware technologies may be employed, or hardware devices may be used to configure the control devices 400a-b to interact with home game consoles (eg, MICROSOFT XBOX or SONY PLAYSTATION ), depending on a purpose specifically designed for use, such as for interacting with a home gaming console (e.g., MICROSOFT XBOX™ or SONY PLAYSTATION™). A particular application utilizes many communication protocols, and the user may be given the option to select the protocol or frequency desired to be used. For example, a control device 400a-b configured for a desktop computer may be configured to communicate using BLUETOOTH radios in the 2.4GHz frequency range. A hardware switch or button 401b may optionally be provided whereby the user can select a different frequency if desired, e.g. a radio frequency in the 5GHz range for use over a WiFi network instead of BLUETOOTH , e.g. to increase range or speed or to avoid interference from other devices (for example, many microwave ovens used in homes or offices can cause interference in the 2.4GHz band). The use of various wireless communication devices allows users to hold multiple control devices 400a-b in any position or manner they choose, improving ergonomics and reducing discomfort or use Conventional controls that grip them in a particular way can be at risk of repetitive stress injuries (eg, a computer keyboard that often requires the user's hands and arms to be in awkward alignment).

通过利用根据实施例的无线连接,提高的多个控制装置的移动或定位可以用作额外的与用户交互的方法,例如经由内部硬件传感器诸如加速度计或陀螺仪而使用基于姿势的输入方法或位置追踪。以该方式,可以依照用户偏好使能额外形式的输入,提高了与特定控制装置可能交互的数量或质量并且任选地减小了对于特殊硬件按钮的需求。例如,可以采用模拟了“音量增大”按钮的按压的特定运动姿势而编程姿势使能的控制装置,消除了对于执行该功能的硬件按钮的需求。By utilizing wireless connections according to embodiments, increased movement or positioning of multiple control devices can be used as an additional method of interaction with the user, for example using gesture-based input methods or position via internal hardware sensors such as accelerometers or gyroscopes track. In this way, additional forms of input may be enabled in accordance with user preferences, increasing the number or quality of possible interactions with a particular control and optionally reducing the need for special hardware buttons. For example, a gesture-enabled control device can be programmed with a specific motion gesture that simulates the press of a "volume up" button, eliminating the need for a hardware button to perform this function.

根据实施例,可以在控制装置400a-b上提供多个硬件按钮,或者可以改变物理设计或布置。例如,可以利用隔膜或基于机械开关的按钮以一旦由用户激励则提供触觉感觉(如在设计专用于诸如游戏或专业设计中的硬件键盘中普通的),或者可以利用电容性的基于触摸的按钮以当可以不要求触觉感觉时(如在移动应用中普通的,诸如在智能电话或平板计算装置上屏幕点亮控制)在更紧凑的物理布置中提供交互。Depending on the embodiment, multiple hardware buttons may be provided on the control device 400a-b, or the physical design or arrangement may vary. For example, a diaphragm or mechanical switch based button could be utilized to provide a tactile sensation once actuated by the user (as is common in designing dedicated hardware keyboards such as in gaming or professional designs), or capacitive touch based buttons could be utilized To provide interaction in a more compact physical arrangement when a tactile sensation may not be required (as is common in mobile applications, such as screen lighting controls on smartphones or tablet computing devices).

硬件按钮或其他控制可以根据特定用途或所希望功能而以各种布置放置,例如数字或模拟“扳机”类型的按钮404可以放置在控制装置的下侧面400c上(在侧剖视图中示出),例如用于其中可以希望扳机激励功能的游戏应用。另一示例性布置可以是以特定方式设置用于导航的许多按钮402a-n,以便于形成用于各种游戏或应用的方向垫(D-垫),诸如用于导航媒体播放器界面或以自顶向下视角播放视频,诸如策略或模拟棋盘游戏。当用户可以需要快速地选择并不查看而激励按钮时,其他按钮可以包括用于游戏或应用的大型容易伸取的按钮401a。为这些按钮提供各种识别特征诸如可读取文本标签、颜色、或物理形状例如包括(但不限于)方形401a、圆形401b、三角形403a或星形403b控制按钮。Hardware buttons or other controls may be placed in various arrangements depending on the particular use or desired function, for example a digital or analog "trigger" type button 404 may be placed on the lower side 400c of the control (shown in side cutaway), For example for gaming applications where a trigger actuation function may be desired. Another exemplary arrangement may be to arrange a number of buttons 402a-n for navigation in a specific way so as to form a directional pad (D-pad) for various games or applications, such as for navigating a media player interface or to Play videos from a top-down perspective, such as a strategy or simulated board game. Other buttons may include large easy-reach buttons 401a for games or applications when the user may need to quickly select and not look at the actuation buttons. These buttons are provided with various identifying features such as readable text labels, colors, or physical shapes including, but not limited to, square 401a, circle 401b, triangle 403a, or star 403b control buttons, for example.

根据实施例,特定示例性布置可以是实际上用作单个“分隔控制器”的控制器配对,其中用户一只手抓取一个装置并且在两个装置之间划分各个功能以促进双手交互而无需在单一装置上使用两只手。控制可以以组合方式设置,方向按钮设置在每个装置的顶部部分周围,功能按钮位于方向按钮的中心以提供用于交互的容易达到的按钮(例如以在屏幕上的菜单项上“接受”或“点击”)。额外地,这些组合的控制布置可以随后与多个内部硬件传感器耦合,诸如加速度计、陀螺仪、霍尔效应传感器,或通过传感器数据的捕捉和解释而促进物理交互的其他硬件装置,例如用以通过使用预定或可定制的姿势或位置追踪而使能交互。Depending on the embodiment, a specific exemplary arrangement may be a pair of controllers that effectively act as a single "split controller," where the user grabs one device with one hand and divides functions between the two devices to facilitate two-handed interaction without Use both hands on a single device. Controls can be arranged in a combination, with directional buttons positioned around the top portion of each device, and function buttons positioned at the center of the directional buttons to provide easy-to-reach buttons for interaction (e.g. to "accept" or "accept" on an on-screen menu item). "click"). Additionally, these combined control arrangements can then be coupled with multiple internal hardware sensors, such as accelerometers, gyroscopes, Hall effect sensors, or other hardware devices that facilitate physical interaction through the capture and interpretation of sensor data, for example to Interaction is enabled through the use of predetermined or customizable gesture or position tracking.

可以通过嵌套通信协议以各个组合利用各种备选或额外的控制装置布置。例如,根据它们计划的用途(诸如用于特定游戏或应用,或者用于特定装置或控制台),用户可以选择他们偏好的“主”控制装置,并且随后将“次”控制装置与其配对。以该方式可以知晓,按钮或其他交互特征或物理设计诸如人机工程学形状或布局的具体数目、风格或布置可以广泛地变化,并且用户可以基于他们的特定需求或用途而选择对他们有吸引力的特定布置和组合。以下参照图5描述各种控制装置布置,并且应该知晓,可以根据用户的喜好可互换地利用任何特定控制装置作为主或次控制器。额外地,通过使用如之前所述的各种无线通信技术,额外的硬件装置可以与用于嵌套通信的控制装置配对。例如,健身追踪器(例如包括但不限于FITBITTM,MICROSOFT,BANDTM,或APPLE WATCHTM装置)可以经由无线个人局域网协议诸如BLUETOOTHTM或ANTTM而配对,例如以提供用户的生物统计学或健康信息以及经由控制装置400a-b的交互。Various alternative or additional control device arrangements may be utilized in various combinations through nested communication protocols. For example, depending on their intended use (such as for a particular game or application, or for a particular device or console), a user may select their preferred "primary" control device and then pair a "secondary" control device with it. In this way it can be appreciated that the specific number, style or arrangement of buttons or other interactive features or physical designs such as ergonomic shapes or layouts can vary widely and users can choose what appeals to them based on their particular needs or uses. Specific arrangements and combinations of forces. Various control device arrangements are described below with reference to Figure 5, and it should be appreciated that any particular control device may be utilized interchangeably as a primary or secondary control, depending on user preference. Additionally, additional hardware devices can be paired with the control device for nested communication by using various wireless communication technologies as previously described. For example, fitness trackers (such as including, but not limited to, FITBIT , MICROSOFT, BAND , or APPLE WATCH devices) can be paired via a wireless personal area network protocol such as BLUETOOTH or ANT , for example, to provide a user's biometric or health Information and interaction via the control means 400a-b.

图5是说明了配置用于各种用途的嵌套通信无线控制器500a-c的各种示例性物理配置的图。根据一个示例性实施例,控制器500a可以配置优化以用作媒体回放远程控制,例如用于相连的扬声器或回放装置,或者用于家庭影院或媒体PC设置。根据该布置,可以设置许多按钮501a-n用于导航媒体装置的屏幕上界面,例如以从回放库选择音频或视频内容。可以在辅助位置设置许多额外按钮502a-n,以提供额外的功能诸如播放/暂停、停止、或菜单功能以便于查看在所选择媒体上的额外信息。根据特定用途,该控制装置500a可以用作主控制器,任选地具有或不具有用于嵌套通信的次控制器,诸如用户的健身追踪装置用于在媒体观看期间监控心跳或其他生物统计学变化,或者游戏控制器用于播放通过媒体服务器或回放装置所展示的交互内容(例如在ROKUTM或连接至电视机的类似家庭影院装置上播放游戏)。5 is a diagram illustrating various exemplary physical configurations of nested communications wireless controllers 500a-c configured for various purposes. According to an exemplary embodiment, the controller 500a may be configured optimized for use as a media playback remote control, such as for connected speakers or playback devices, or for a home theater or media PC setup. According to this arrangement, a number of buttons 501a-n may be provided for navigating the on-screen interface of the media device, for example to select audio or video content from a playback library. A number of additional buttons 502a-n may be provided at secondary locations to provide additional functionality such as play/pause, stop, or menu functions to view additional information on the selected media. Depending on the particular application, the control device 500a may serve as a primary controller, optionally with or without a secondary controller for nested communications, such as a user's fitness tracker for monitoring heartbeat or other biometrics during media viewing or a game controller is used to play interactive content presented through a media server or playback device (such as playing a game on a ROKU or similar home theater device connected to a television).

根据另一示例性布置,可以配置控制器500b用于特定游戏用途,例如形成具有合适的物理形状并具有设置用于最佳地适合模拟类型游戏的控制元件(按钮,开关,以及其他交互硬件元件)。根据该配置,控制装置500b可以具有数字或模拟“操纵杆”类型的控制元件510用于在360度三维虚拟环境中控制玩家的人物或车辆,例如用于第三人称动作或冒险类型游戏中。可以为了易于单手持用途提供并设置多个额外按钮511a-n,以便于访问玩家的库存,执行特殊的游戏中动作(例如跳跃、奔跑、滚动或其他移动控制),或者根据特定游戏或应用的特性而执行上下文敏感的动作。例如,模拟器定向的控制装置500b可以与作为次控制器的媒体远程控制装置500a配对,使得用户采用媒体远程装置500a作为他们的主控制装置而导航媒体界面,从媒体内容目录选择游戏,并且随后使用次控制装置500b以玩游戏。当结束游戏时,用户可以随后使用他们的主控制器500a继续进一步导航媒体界面,无需对于不同用途定位远程控制或切换控制器,因为控制器可以配对并通信,甚至当一个可以暂时不使用时。According to another exemplary arrangement, the controller 500b may be configured for a specific game use, such as being formed with a suitable physical shape and having control elements (buttons, switches, and other interactive hardware elements) arranged to best suit a simulation-type game. ). According to this configuration, the control device 500b may have a digital or analog "joystick" type control element 510 for controlling the player's character or vehicle in a 360 degree three-dimensional virtual environment, for example in third person action or adventure type games. A number of additional buttons 511a-n may be provided and positioned for easy one-handed use, to access a player's inventory, to perform special in-game actions (such as jumping, running, rolling, or other movement controls), or as needed for a particular game or application. features to perform context-sensitive actions. For example, the emulator-oriented control device 500b can be paired with the media remote control device 500a as a secondary controller, so that the user uses the media remote control device 500a as their primary control device to navigate the media interface, select games from the media content catalog, and then Use the secondary control device 500b to play games. When the game is over, the user can then continue to further navigate the media interface using their primary controller 500a without having to position the remote control or switch controllers for different uses, as the controllers can pair and communicate even when one may be temporarily out of use.

根据另一示例性布置,可以配置控制装置特殊地用作次控制器,例如用作配置用于与模拟器控制器500b配对以用于通常在飞行模拟游戏中使用的双手持“手在节流器和操纵杆上”(HOTAS)设置的节流控制器500c。根据该配置,控制装置500c可以包括操纵杆或帽子开关控制元件520用于采用用户的拇指导航或用于控制许多游戏或应用功能,通常定位以使得当保持控制装置500c时用户的拇指自然地与控制元件520对准以便于使用。控制装置500c可以进一步包括整体地形成或可移除地贴附的人机工程学部分521,例如可移除或可定位的刚性或柔性面板,通常配置用于与用户的手或掌相符并对准用户的手以用于各种控制元件的适当操纵。例如,在一个示例性布置中,控制装置500c可以配置具有由刚性塑性材料制成的主题,并且具有定形以适合用户手掌以为了在使用期间适当抓取和对准的可移除塑料面板521。该配置也可以设计用于接受各种备选刚性面板521,使得用户交换抓取的面板以配置控制装置500c的物理形状以最舒适地配合他们的特定解剖结构(例如该配置已经用在火器工业中以使得用户配置手枪的夹具用于恰当的姿势并瞄准)。控制装置500c可以进一步包括多个额外控制元件522a-n,诸如按钮或开关,例如设置以使得当恰当地对准(如通过使用人机工程学抓取面板,如之前所述)时,用户的手指可以自然地对准在合适位置以用于控制元件522a-n的理想激励。以该方式,可以知晓可以以各种布置采用人机工程学部分521配置,以及当用户的手恰当地对准并抓取控制装置500a-c时用于最佳用途的控制元件的各种布置,以使得任何特定控制装置500a-c可以适应于适合用户的解剖学宽广范围以用于最佳用途,以及促进人机工程学舒适性和身体健康。例如,通过鼓励用户找到最佳人机工程配合,可以减小重复性应力损伤和其他健康关注的风险。According to another exemplary arrangement, the control device may be configured specifically for use as a secondary controller, for example configured for pairing with simulator controller 500b for a two-handed "hands on throttle" commonly used in flight simulation games. Throttle controller 500c set on the controller and joystick (HOTAS). Depending on the configuration, the control device 500c may include a joystick or hat switch control element 520 for navigating with the user's thumb or for controlling many game or application functions, typically positioned so that the user's thumb naturally interacts with the user's thumb when holding the control device 500c. Control elements 520 are aligned for ease of use. The control device 500c may further include an integrally formed or removably attached ergonomic portion 521, such as a removable or positionable rigid or flexible panel, generally configured to conform to and align with the user's hand or palm. the user's hand for proper manipulation of the various control elements. For example, in one exemplary arrangement, the control device 500c may be configured with a motif made of a rigid plastic material, and with a removable plastic panel 521 shaped to fit the palm of a user for proper grip and alignment during use. This configuration can also be designed to accept a variety of alternative rigid panels 521, allowing users to swap gripped panels to configure the physical shape of the control device 500c to most comfortably fit their particular anatomy (for example, this configuration has been used in the firearms industry to allow the user to configure the pistol's grip for proper posture and aiming). The control device 500c may further include a plurality of additional control elements 522a-n, such as buttons or switches, for example arranged so that when properly aligned (such as by using the ergonomic grip panel, as previously described), the user's Fingers may naturally align in place for ideal actuation of the control elements 522a-n. In this way, it can be seen that the ergonomic portion 521 configuration can be employed in various arrangements, as well as various arrangements of control elements for optimal use when the user's hands are properly aligned and gripped by the control devices 500a-c. , so that any particular control device 500a-c can be adapted to suit a wide range of user anatomy for optimal use, as well as to promote ergonomic comfort and physical fitness. For example, by encouraging users to find the best ergonomic fit, the risk of repetitive stress injuries and other health concerns can be reduced.

图6是说明了根据本发明优选实施例的用于在控制装置和电子系统之间嵌套通信的示例性方法600的流程图。在初始步骤601中,可以将控制装置与作为主控制装置的电子系统(例如诸如个人计算机、游戏控制台、或家庭影院或媒体中心)配对,例如作为自动进程(诸如当电子系统或控制器首先通电时)或手动地(诸如由指引用户动作以初始化配对)。在任选的下一个步骤602中,可以将多个额外的控制装置与主控制装置配对,例如对于用户以使用在每个手中的控制装置,或者对于多个用户以每个配对一个或多个控制装置以分组布置它们自身使用(例如对于一起玩视频游戏的多个用户)。在下一个步骤603中,主控制装置可以将多个用户交互发送至配对的电子系统,例如当用户按压按钮或作出选择时。在任选的下一个步骤604中,多个额外控制装置的任一个可以发送多个用户输入至主装置,并且主控制装置可以随后发送用户输入至配对的电子系统。在下一个步骤605中,配对的电子系统可以发送多个反馈至主控制琥脏治,诸如用于触觉反馈(例如以激励振动电机)的指令或者用于在由控制装置所操作的视觉显示器上展示的信息。在任选的最终步骤606中,主控制装置可以发送多个反馈至额外的控制装置,例如,如果从有意设计用于相连额外控制装置的电子系统发送反馈。以该方式,可以知晓,控制装置和电子系统之间所有通信量穿过主控制装置并且由其所促进。FIG. 6 is a flowchart illustrating an exemplary method 600 for nested communication between a control device and an electronic system in accordance with a preferred embodiment of the present invention. In an initial step 601, the control device may be paired with an electronic system (such as, for example, a personal computer, a game console, or a home theater or media center) as the primary control device, for example as an automatic process (such as when the electronic system or controller first at power-on) or manually (such as by directing user action to initiate pairing). In an optional next step 602, a plurality of additional control devices may be paired with the main control device, for example to use a control device in each hand for a user, or to pair one or more control devices each for multiple users. The control devices are arranged for their own use in groups (eg for multiple users playing a video game together). In a next step 603, the master control device may send a number of user interactions to the paired electronic system, for example when the user presses a button or makes a selection. In an optional next step 604, any of the plurality of additional control devices may send a plurality of user inputs to the master device, and the master control device may then send user inputs to the paired electronic system. In a next step 605, the paired electronic system can send a number of feedbacks to the master control device, such as commands for tactile feedback (for example to activate a vibrating motor) or for presentation on a visual display operated by the control device Information. In an optional final step 606, the master control device may send a plurality of feedbacks to the additional control device, for example, if the feedback is sent from an electronic system intentionally designed to connect to the additional control device. In this way, it is known that all communication traffic between the control device and the electronic system passes through and is facilitated by the master control device.

图8是说明了根据一个实施例的可适用健身系统800的部件的方框图。可适用健身系统800包括硬件装置802,主机装置810,以及健身服务器818。FIG. 8 is a block diagram illustrating components of an applicable fitness system 800 according to one embodiment. The applicable fitness system 800 includes a hardware device 802 , a host device 810 , and a fitness server 818 .

硬件装置802包括运动感测装置804,左手持控制器806A,以及右手持控制器806B。运动感测装置804安装在用户身体上并检测用户的身体运动,这允许用户通过执行运动而与运行在主机装置810上的健身应用813交互。参照图9A和图9B详细描述示例性的运动感测装置804。受控制器806A、806B包括用户可以按压以与健身应用813交互的按钮。为了便于接近,手持控制器806A、806B的一个或两者可以安装在一块训练设备的把手上。分别参照图9C和图9D描述示例性的手持控制器806和安装系统。The hardware device 802 includes a motion sensing device 804, a left handheld controller 806A, and a right handheld controller 806B. The motion sensing device 804 is mounted on the user's body and detects the user's body motions, which allows the user to interact with the fitness application 813 running on the host device 810 by performing motions. An exemplary motion sensing device 804 is described in detail with reference to FIGS. 9A and 9B . The slave controls 806A, 806B include buttons that a user can press to interact with the fitness application 813 . For ease of access, one or both of the handheld controls 806A, 806B may be mounted on the handle of a piece of training equipment. An exemplary handheld controller 806 and mounting system are described with reference to FIGS. 9C and 9D , respectively.

在备选实施例中,可以使用额外的硬件装置802。例如,硬件装置802也可以包括具有直接地附接至健身装置的嵌入式传感器或运动传感器的运动鞋。此外,图8中所示的一些硬件装置802可以省略。例如,可以仅使用一个手持控制器,或者可以采用包含通常将分布在两个手持控制器806A、806B之间的所有按钮的组合手持控制器替代两个手持控制器806A、806B。In alternative embodiments, additional hardware devices 802 may be used. For example, hardware device 802 may also include athletic shoes with embedded sensors or motion sensors attached directly to the fitness device. In addition, some hardware devices 802 shown in FIG. 8 may be omitted. For example, only one handheld controller may be used, or both handheld controllers 806A, 806B may be replaced by a combined handheld controller containing all of the buttons that would normally be distributed between the two handheld controllers 806A, 806B.

作为整体,硬件装置802可以用于将健身装置(例如台阶仪、椭圆仪、跑步机、划船机等)适配至游戏控制器中,游戏控制器接收用户的物理输入(运动和按钮按压两者)并产生对应的输入数据用于与健身应用813交互。例如,输入数据可以用于控制健身应用中虚拟人物或对象。As a whole, the hardware device 802 can be used to fit a fitness device (e.g., stair meter, elliptical machine, treadmill, rowing machine, etc.) into a game controller that receives physical input from the user (both motion and button presses). ) and generate corresponding input data for interacting with the fitness application 813. For example, input data can be used to control virtual characters or objects in a fitness application.

在一些实施例中,可以添加硬件装置802的多个集合至系统800以将额外的健身装置适配至额外的游戏控制器中。例如,可以将多个固定单车适配至用于单车竞赛应用的控制器中,由此允许多个用户参与相互竞争的虚拟竞赛。In some embodiments, multiple sets of hardware devices 802 can be added to system 800 to fit additional fitness devices into additional game controllers. For example, multiple stationary bikes may be fitted into a controller for a bike racing application, thereby allowing multiple users to participate in a virtual race against each other.

来自硬件装置802的输入数据在通信链路808A、808B、808C(下文中共同称作808)之上发送至在主机装置810上的主机装置API 812。通信链路808可以是有线或无线的连接。在一个实施例中,通信链路808是基于蓝牙低能量(BLE)协议,并且硬件装置802是BLE装置。如果在系统中包括硬件装置802的额外集合,建立额外的通信链路808以连接硬件装置802至主机装置810。Incoming data from hardware device 802 is sent to host device API 812 on host device 810 over communication links 808A, 808B, 808C (hereinafter collectively referred to as 808 ). Communication link 808 may be a wired or wireless connection. In one embodiment, communication link 808 is based on the Bluetooth Low Energy (BLE) protocol, and hardware device 802 is a BLE device. If additional sets of hardware devices 802 are included in the system, additional communication links 808 are established to connect the hardware devices 802 to the host device 810 .

在所示的实施例中,通信链路808将每个硬件装置802直接地连接至主机装置810。在该实施例中,三个硬件装置802在通信链路808A、808B、808C之上同时地连接至主机装置810。In the illustrated embodiment, communication link 808 directly connects each hardware device 802 to host device 810 . In this embodiment, three hardware devices 802 are simultaneously connected to host device 810 over communication links 808A, 808B, 808C.

硬件装置802可以均连接在相同的通信协议(例如蓝牙低能)之上,或在不同的通信协议之上。The hardware devices 802 may all be connected on the same communication protocol (eg, Bluetooth low energy), or on different communication protocols.

在另一实施例中,仅运动感测装置804经由第一通信链路808A直接地连接至主机装置810。在该实施例中,两个手持控制器806A、806B经由另外两个通信链路808B、808C而耦合至运动感测装置804,并且配置运动感测装置804以将来自手持控制器806A、806B的输入数据中继至主机装置810。参照图9A更详细描述该实施例。In another embodiment, only the motion sensing device 804 is directly connected to the host device 810 via the first communication link 808A. In this embodiment, two handheld controllers 806A, 806B are coupled to the motion sensing device 804 via two other communication links 808B, 808C, and the motion sensing device 804 is configured to The incoming data is relayed to the host device 810 . This embodiment is described in more detail with reference to FIG. 9A.

主机装置810包括接口软件811,主机装置API 812,以及一个或多个健身应用813。作为整体,主机装置810是能够执行程序指令的计算装置。主机装置810可以例如是智能电话、平板计算机、膝上型计算机、或台式计算机。Host device 810 includes interface software 811 , host device API 812 , and one or more fitness applications 813 . As a whole, host device 810 is a computing device capable of executing program instructions. Host device 810 may be, for example, a smartphone, tablet computer, laptop computer, or desktop computer.

接口软件811和主机装置API 812与接口软件协同操作以用作在硬件装置802、健身应用813和健身服务器818之间的接口。当没有连接硬件装置802时,主机装置API 812以固定间隔发起对硬件装置802的扫描。手持控制器806A、806B上按钮按压或者运动感测装置804上运动将触发各自的装置以广播用于连接(如果尚未连接)。如果装置的广播与主机装置API的扫描间隔之一重叠,则主机装置API 812发起至各自装置的连接尝试。在检测按钮按压或运动之后建立连接的该进程允许将硬件装置802直觉的连接至主机装置810。主机装置API 812维持在健身应用813和硬件装置802之间的连接,只要应用813保持激活。在建立了与一个或多个硬件装置802的连接之后,接口软件811和主机装置API 812接收并处理来自硬件装置802的输入数据以便可以使用输入数据以控制应用813。例如,输入数据可以由应用813使用以控制游戏中的虚拟人物或对象。Interface software 811 and host device API 812 cooperate with the interface software to serve as an interface between hardware device 802 , fitness application 813 and fitness server 818 . When no hardware device 802 is connected, the host device API 812 initiates a scan of the hardware device 802 at regular intervals. A button press on the handheld controller 806A, 806B or motion on the motion sensing device 804 will trigger the respective device to broadcast for connection (if not already connected). If a device's broadcast overlaps with one of the host device API's scan intervals, the host device API 812 initiates a connection attempt to the respective device. This process of establishing a connection after detecting a button press or motion allows intuitive connection of the hardware device 802 to the host device 810 . Host device API 812 maintains the connection between fitness application 813 and hardware device 802 as long as application 813 remains active. After establishing a connection with one or more hardware devices 802 , interface software 811 and host device API 812 receive and process input data from hardware devices 802 so that the input data can be used to control applications 813 . For example, input data may be used by application 813 to control virtual characters or objects in a game.

主机装置API 812可以区分来自不同硬件装置的输入数据,因为可以配置每个硬件装置的固件以在发送至主机装置810的任何输入数据的标题中包括标识符(例如二进制数值)。因此,运动感测装置806可以具有与手持控制器806A、806B不同的标识符。接口软件811可以随后基于装置的标识符建立代表每个装置的软件状态,并且主机装置API 812可以将输入数据映射至其各自软件状态表示中以识别原发的硬件装置。在例如经由表格或索引将输入数据映射至对应的硬件装置之后,可以使用数据作为至健身应用813的输入。在其中配置运动感测装置804以将来自手持控制器806A、806B的输入数据中继至主机装置810的实施例中,运动感测装置804可以配置用于读取来自两个手持控制器806A、806B的输入流中的标识符,并将单个集成输入流中继至主机装置810。参照图9A和图9D更详细描述该进程。Host device API 812 can distinguish incoming data from different hardware devices because each hardware device's firmware can be configured to include an identifier (eg, a binary value) in the header of any incoming data sent to host device 810 . Accordingly, the motion sensing device 806 may have a different identifier than the handheld controllers 806A, 806B. Interface software 811 may then establish a software state representative of each device based on the device's identifier, and host device API 812 may map input data into its respective software state representation to identify the original hardware device. The data may be used as input to the fitness application 813 after mapping the input data to corresponding hardware devices, eg, via tables or indexes. In embodiments where the motion sensing device 804 is configured to relay input data from the handheld controllers 806A, 806B to the host device 810, the motion sensing device 804 may be configured to read data from both handheld controllers 806A, 806B, identifier in the input stream of 806B and relays the single integrated input stream to host device 810. This process is described in more detail with reference to Figures 9A and 9D.

在一些实施例中,制造左手和右手持控制器806A、806为等同的(例如以减小制造成本)并且具有相同的标识符。在这些实施例中,可以难以在来自两个手持控制器806A、806B的输入数据之间自动地区分,因此接口软件811可以促使用户手动地识别两个手持控制器(例如首先按压左手持控制器806A上的按钮并随后按压右手持控制器806B上的按钮)。该设置可以由接口软件811存储作为装置的软件状态表示的一部分。In some embodiments, the left and right hand held controllers 806A, 806 are manufactured to be identical (eg, to reduce manufacturing costs) and have the same identifier. In these embodiments, it may be difficult to automatically distinguish between input data from the two hand controllers 806A, 806B, so the interface software 811 may prompt the user to manually identify the two hand controllers (e.g., pressing the left hand controller first button on 806A and then press the button on right hand controller 806B). This setting may be stored by the interface software 811 as part of the device's software state representation.

接口软件811可以使用类似进程以当硬件装置的多个集合连接至主机装置810(例如用于多玩家游戏)时区分来自不同硬件装置的输入数据。例如,接口软件811可以显示对于移动第一运动感测装置804的提示(例如附接至固定单车),随后显示对于移动第二运动感测装置804的提示(例如附加至椭圆训练器),以及接着显示类似提示以识别在两个健身装置上的各自手持控制器806。Interface software 811 may use a similar process to distinguish input data from different hardware devices when multiple sets of hardware devices are connected to host device 810 (eg, for a multiplayer game). For example, the interface software 811 may display a prompt to move the first motion-sensing device 804 (e.g., attached to a stationary bicycle), followed by a prompt to move the second motion-sensing device 804 (e.g., attached to an elliptical trainer), and Similar prompts are then displayed to identify the respective handheld controllers on the two exercise devices 806 .

在一个实施例中,使用定制蓝牙GATT剖写将来自手持控制器806A、806B以及运动感测装置804的信号无线地发送至主机装置810作为输入数据。随后由主机装置API 812处理从硬件装置802发送的数据。In one embodiment, signals from handheld controllers 806A, 806B and motion sensing device 804 are wirelessly sent to host device 810 as input data using a custom Bluetooth GATT profile. The data sent from the hardware device 802 is then processed by the host device API 812 .

以下展示在硬件装置802和主机装置810之间的数据流的示例:An example of data flow between the hardware device 802 and the host device 810 is shown below:

1.运动感测装置804用作服务器并且主机装置810连接作为客户端。1. The motion sensing device 804 acts as a server and the host device 810 connects as a client.

2.主机装置810(客户端)订购运动感测装置804诸如加速度计的特殊服务特征的数据通知。2. The host device 810 (client) subscribes to data notifications for special service features of the motion sensing device 804, such as an accelerometer.

3.从运动感测装置804获取来自服务特征的读数(例如加速度计读数)。3. Acquire readings from the service feature (eg, accelerometer readings) from the motion sensing device 804 .

4.将读数发送至主机装置810(客户端订户)。例如,三轴加速度计读数可以作为三个字节而发送。4. Send readings to host device 810 (client subscriber). For example, a three-axis accelerometer reading could be sent as three bytes.

5.接口软件811解码读数并且经由API 812使得读数可应用于应用813。读数由应用813解释为输入数据并且允许用户做出选择或控制/操纵应用813内的要素(例如对象、人物等),或者对于应用813内的游戏提示或其他交互要素做出反应。5. The interface software 811 decodes the reading and makes it available to the application 813 via the API 812 . The readings are interpreted by the application 813 as input data and allow the user to make selections or control/manipulate elements within the application 813 (eg, objects, characters, etc.), or to react to game prompts or other interactive elements within the application 813 .

健身应用813是通过主机装置API 812从硬件装置802接收输入数据并且基于输入数据执行一些类别用户交互的应用。例如,健身装置813可以是锻炼游戏或者可以以有意义方式与健身装置交互的任何非游戏应用(例如应用813与安装在跑步机上的硬件装置802交互以模拟步行穿过公园)。Fitness application 813 is an application that receives input data from hardware device 802 through host device API 812 and performs some type of user interaction based on the input data. For example, exercise device 813 may be an exercise game or any non-gaming application that can interact with the exercise device in a meaningful way (eg, application 813 interacts with hardware device 802 mounted on a treadmill to simulate a walk through a park).

可以配置应用813(包括游戏)以鼓励用户锻炼。当用户锻炼时,在主机装置810上记录从硬件装置802接收的数据以反映用户经验的进展。应用813也可以通过网络816连接至健身服务器818,用户数据和统计数据可以存储和存取在其中。Applications 813 (including games) can be configured to encourage users to exercise. As the user exercises, data received from the hardware device 802 is recorded on the host device 810 to reflect the progression of the user's experience. The application 813 can also be connected via the network 816 to a fitness server 818 where user data and statistics can be stored and accessed.

硬件装置802可以如何与主机装置810上的软件交互的一个示例可以是用户将运动感测装置804附接至固定单车的踏板。运动感测装置804中的加速度计测量踏板的运动,允许“虚拟骑行”应用813的现实控制。应交装置802如何与软件交互的另一示例是用户将运动感测装置804附接至他们臀部,运动感测装置804对于舞蹈或锻炼游戏检测该运动。One example of how hardware device 802 may interact with software on host device 810 may be a user attaching motion sensing device 804 to the pedals of a stationary bicycle. Accelerometers in the motion sensing device 804 measure the movement of the pedals, allowing realistic control of the “virtual ride” application 813 . Another example of how the handover device 802 interacts with the software is a user attaching a motion sensing device 804 to their hip, which detects the motion for a dance or exercise game.

主机装置API 812可以配置用于运行在任何合适的操作系统上,诸如iOS、Windows/Mac/Linux或Android。可以为不同的操作系统创建主机装置API 812的不同版本。尽管示出作为主机装置810内的分立实体,主机装置API 812通常是在构建时编译至健身应用813中的分立代码库。这允许第三方开发者可以编写健身应用813,其使用主机装置API812中的功能以与硬件装置802和健身服务器818交换数据。Host device API 812 may be configured to run on any suitable operating system, such as iOS, Windows/Mac/Linux or Android. Different versions of the host device API 812 can be created for different operating systems. Although shown as a separate entity within host device 810, host device API 812 is typically a separate code library compiled into fitness application 813 at build time. This allows third-party developers to write fitness applications 813 that use functions in the host device API 812 to exchange data with the hardware device 802 and the fitness server 818 .

健身服务器818包括云服务模块820,健身数据库822,以及应用数据库824。健身服务器818及其部件820、822、824可以具体化作为单个装置或者作为联网装置的集群(例如网络服务器集群)。The fitness server 818 includes a cloud service module 820 , a fitness database 822 , and an application database 824 . The fitness server 818 and its components 820, 822, 824 may be embodied as a single device or as a cluster of networked devices (eg, a network server cluster).

云服务模块820从主机装置API 812接收历史数据诸如身体活动和游戏性能数据并且在合适的数据库822、824中存储数据。The cloud service module 820 receives historical data such as physical activity and game performance data from the host device API 812 and stores the data in suitable databases 822 , 824 .

云服务模块820也允许用户在任何装置上且在任何时刻存取他们的信息。模块也处理用户对于比较并共享在第三方服务器826诸如社交网络系统例如FACEBOOK和TWITTER上的得分的请求。The cloud service module 820 also allows users to access their information on any device and at any time. The module also handles user requests to compare and share scores on third party servers 826 such as social networking systems such as FACEBOOK and TWITTER.

云服务模块820也可以主控(host)多玩家游戏。在一个实施例中,在异步上下文中主控游戏。在用户设置挑战之后,云服务模块820可以给用户时间窗口以完成他的“回合”或仅等待直至他完成给定目标。该信息存储在应用数据库824中。云服务模块820执行在玩家之间创建的游戏、挑战或目标的逻辑并维持他们的状态和进展。The cloud services module 820 can also host multiplayer games. In one embodiment, the game is hosted in an asynchronous context. After the user sets the challenge, the cloud service module 820 can give the user a time window to complete his "turn" or just wait until he completes a given goal. This information is stored in the application database 824 . The cloud services module 820 executes the logic of games, challenges or goals created between players and maintains their state and progress.

在备选实施例中,云服务模块820也主控实时的多玩家游戏,其中实时游戏数据在不同主机装置810上的玩家之间往复移动。In an alternative embodiment, the cloud services module 820 also hosts real-time multiplayer games, where real-time game data is shuttled between players on different host devices 810 .

数据库822、824可以为了可缩放性和容错性而跨数个服务器的集群存储。Databases 822, 824 may be stored across a cluster of several servers for scalability and fault tolerance.

云服务模块820也执行与处理运动单位相关联的功能。运动单位是跨不同类型健身装置测量的标准单位。这些运动单位由来自运动感测装置的标准移动签名而限定。在一个实施例中,归一化运动单位以在不同类型和制造者的健身设备之间提供一致性。归一化表格可以装置之间提供交叉对照以用于稍后检索并分析以基于标准化而比较。在一个实施例中,当运动感测装置804上加速度计与特定重力阈值交叉时实现标准移动签名。例如,标准移动签名可以定义为从在333ms之上收集的20个加速度计样本的移动平均值偏离1G。通常,运动单位可以基于任意数目的参数而限定,包括燃烧的卡路里或心跳速率。额外的软件功能可以添加至主机装置API 812或健身应用813以提高运动单位的精确性。例如,如果燃烧的卡路里是主要参数,则可以添加选项以选择正使用的健身机类型。Cloud services module 820 also performs functions associated with processing motor units. Motor units are standard units of measurement across different types of fitness equipment. These motor units are defined by standard movement signatures from the motion sensing device. In one embodiment, the units of motion are normalized to provide consistency across different types and manufacturers of fitness equipment. A normalization table can provide cross-references between devices for later retrieval and analysis to compare based on normalization. In one embodiment, a standard movement signature is achieved when the accelerometer on the motion sensing device 804 crosses a certain gravity threshold. For example, a standard moving signature can be defined as a deviation of 1G from the moving average of 20 accelerometer samples collected over 333ms. In general, motor units can be defined based on any number of parameters, including calories burned or heart rate. Additional software functionality can be added to the host device API 812 or fitness application 813 to improve motor unit accuracy. For example, if calories burned is the primary parameter, an option could be added to select the type of exercise machine being used.

用户可以创建个人目标以在给定时间段内实现设置数目的运动单位。例如,目标可以是在一周内50,000个运动单位。这些个人目标可以随后与社交网络内的朋友分享。Users can create personal goals to achieve a set number of motor units within a given time period. For example, a goal could be 50,000 motor units in a week. These personal goals can then be shared with friends within the social network.

用户也可以为社交网络中团队创建合作目标以实现设置量的运动单位。例如,五人组可以设置目标以实现每周250k运动单位。Users can also create cooperative goals for teams in social networks to achieve a set amount of motor units. For example, a group of five could set a goal to achieve 250k motor units per week.

运动单元也可以用作对于受益于用于比较目的的数据的归一化的活动的基准。例如,运动单元可以用于在网络中团队或朋友之间的竞赛。可以发起挑战并在社交网络上向用户的朋友广播。Motor units can also be used as a benchmark for activity that benefits from normalization of the data for comparison purposes. For example, the motor unit can be used for competitions between teams or friends in a network. Challenges can be initiated and broadcast to the user's friends on social networks.

在一个实施例中,云服务模块820从第三方服务器826上的社交网络系统搜索用户的社交图并且在健身服务器818上复制社交图。因此,与社交游戏机械相关联的后续功能(例如挑战和协作目标的创建)可以在健身服务器818上执行。图9A是示出了根据一个实施例的运动感测装置804的部件。运动感测装置804包括传感器902,通信模块908,以及固件910。In one embodiment, the cloud service module 820 searches the user's social graph from the social networking system on the third party server 826 and replicates the social graph on the fitness server 818 . Accordingly, subsequent functions associated with the social game mechanics, such as the creation of challenges and collaborative goals, can be performed on the fitness server 818 . FIG. 9A is a diagram illustrating components of a motion sensing device 804 according to one embodiment. Motion sensing device 804 includes sensor 902 , communication module 908 , and firmware 910 .

传感器902检测用户的身体运动。在所示的实施例中,传感器902包括加速度计904和陀螺仪906。然而可以在运动感测装置804中包括额外的或不同的传感器902。The sensor 902 detects the user's body movements. In the illustrated embodiment, sensors 902 include accelerometers 904 and gyroscopes 906 . However, additional or different sensors 902 may be included in motion sensing device 804 .

通信模块908与通信链路808A交互以在运动感测装置804和主机装置810之间传输数据。例如,通信模块908可以从传感器902接收输入数据并且发送输入数据至主机装置810以由健身应用813使用。在一个实施例中,通信模块908经由蓝牙低能(BLE)协议连接。固件910包含管理了运动感测装置804的操作的逻辑。例如固件910可以包含逻辑以支持监控了传感器902并一旦检测到用户已经摇晃了运动感测装置804则建立至主机装置810的通信链路808A的“摇晃以连接”功能。Communication module 908 interacts with communication link 808A to transfer data between motion sensing device 804 and host device 810 . For example, communication module 908 may receive input data from sensor 902 and send the input data to host device 810 for use by fitness application 813 . In one embodiment, the communication module 908 connects via the Bluetooth Low Energy (BLE) protocol. Firmware 910 contains logic that manages the operation of motion sensing device 804 . For example, firmware 910 may contain logic to support a “shake to connect” functionality that monitors sensor 902 and establishes communication link 808A to host device 810 upon detection that the user has shaken motion sensing device 804 .

在参照图8所述的备选实施例中,两个手持控制器806A、806B耦合至运动感测装置804并配置运动感测装置804以将来自手持控制器806A、806B的输入数据中继至主机装置810。在该备选实施例中,配置固件910以独立于主机装置810检测并连接至手持控制器806A、806B,以及通信模块908在建立了与手持控制器806A、806B的连接之后维持该连接。与手持控制器806A、806B的连接可以在于通信链路808A相同的通信协议(例如蓝牙低能)或不同的通信协议(例如RF连接)。同时,固件910管理三个连接(与两个手持控制器806A、806B的连接,以及与主机装置810的通信链路808A)并且将来自手持控制器806A、806B的输入数据中继至主机装置810。在一些实施例中,可以配置固件910以将来自传感器902以及手持控制器806A、806B的输入数据组合成单个集成输入流。因此,主机装置API 812接收包括了来自所有三个硬件装置的输入的单个输入流。In an alternative embodiment described with reference to FIG. 8, two handheld controllers 806A, 806B are coupled to the motion sensing device 804 and the motion sensing device 804 is configured to relay input data from the handheld controllers 806A, 806B to host device 810 . In this alternative embodiment, the firmware 910 is configured to detect and connect to the handheld controller 806A, 806B independently of the host device 810, and the communication module 908 maintains the connection with the handheld controller 806A, 806B after establishing the connection. The connection to the handheld controllers 806A, 806B may be in the same communication protocol as the communication link 808A (eg Bluetooth low energy) or a different communication protocol (eg RF connection). At the same time, the firmware 910 manages the three connections (the connection to the two handheld controllers 806A, 806B, and the communication link 808A to the host device 810) and relays incoming data from the handheld controllers 806A, 806B to the host device 810. . In some embodiments, firmware 910 may be configured to combine input data from sensors 902 and handheld controllers 806A, 806B into a single integrated input stream. Thus, host device API 812 receives a single input stream that includes input from all three hardware devices.

图9B说明了根据一个实施例的运动感测装置804,包括外壳或壳体912以及内部电子部件913。如以上参照图8所述,运动感测装置804附接至用户(例如在腿周围)并且使用传感器902以测量用户的移动,其被记录作为输入数据并发送至主机装置810。如图9B中所示,运动感测装置804包裹在小外壳912中以使其可以以多种方式附接至用户。在所示的实施例中,运动感测装置804无线地连接至主机装置810并且由电池供电。FIG. 9B illustrates motion sensing device 804 , including housing or housing 912 and internal electronics 913 , according to one embodiment. As described above with reference to FIG. 8 , motion sensing device 804 is attached to the user (eg, around the leg) and uses sensor 902 to measure the user's movement, which is recorded as input data and sent to host device 810 . As shown in Figure 9B, the motion sensing device 804 is encased in a small housing 912 so that it can be attached to the user in a variety of ways. In the illustrated embodiment, motion sensing device 804 is wirelessly connected to host device 810 and powered by a battery.

图9C说明了根据一个实施例的手持控制器806。手持控制器806包括把手914和吊带916。一个或多个按钮918安装在把手914上。除了按钮918之外或者替换其,把手914也可以包括方向垫或操纵杆。如以上参照图8所述,手持控制器806与主机装置810通信。在所示的实施例中,手持控制器806无线地通信并且电池供电。Figure 9C illustrates a handheld controller 806 according to one embodiment. The handheld controller 806 includes a handle 914 and a strap 916 . One or more buttons 918 are mounted on handle 914 . In addition to or instead of buttons 918, handle 914 may also include a directional pad or joystick. As described above with reference to FIG. 8 , handheld controller 806 communicates with host device 810 . In the illustrated embodiment, the handheld controller 806 communicates wirelessly and is battery powered.

内部地,手持控制器806包括无线电设备和微控制器。在一个实施例中,无线电是连接至运动感测装置804并且发送输入信号至运动感测装置804以中继至主机装置810的RF无线电设备。在备选实施例中,手持控制器包括蓝牙低能(BLE)无线电设备和芯片上系统(SoC)。在一些实施例中,无线电设备、微控制器、以及手持控制器806的任何其他电子部件可以放置在单个印刷电路板上。Internally, handheld controller 806 includes a radio and a microcontroller. In one embodiment, the radio is an RF radio that connects to the motion sensing device 804 and sends an input signal to the motion sensing device 804 for relay to the host device 810 . In an alternative embodiment, the handheld controller includes a Bluetooth Low Energy (BLE) radio and a system on a chip (SoC). In some embodiments, the radio, microcontroller, and any other electronic components of handheld controller 806 may be placed on a single printed circuit board.

图9D说明了根据一个实施例的安装至健身装置的把手的手持控制器806A、806B的示例。手持控制器806A、806B的吊带916卷绕在把手周围。在一个实施例中,把手914的底侧可以包括粘附物质以增大手持控制器806A、806B与把手之间的摩擦。FIG. 9D illustrates an example of a handheld controller 806A, 806B mounted to a handle of an exercise device, according to one embodiment. The strap 916 of the handheld controller 806A, 806B wraps around the handle. In one embodiment, the bottom side of the handle 914 may include an adhesive substance to increase friction between the handheld controller 806A, 806B and the handle.

为了减少制造成本,两个手持控制器806A、806B的一些或所有部件可以是等同的。在一个实施例中,两个手持控制器806A、806B是完全等同的(例如相同的机械外壳、内部电子元件以及固件)。在该实施例中,固件910或主机装置API 812可以难以区分两个手持控制器,并且接口软件811可以提示用户如以上参照图8所述识别每个手持控制器。在另一实施例中,两个手持控制器具有相同的内部电子元件(例如相同的微控制器、无线电设备等),但是可以放置在不同外壳中以将一个控制器识别作为左手持控制器806A并将另一个识别作为右手持控制器806B。例如,两个手持控制器上的按钮918可以具有不同的布局或不同的颜色,或者外壳可以具有对称的人机工程学特征以便它们更适合于用户的手。两个手持控制器806也可以闪存具有同固件以便运动感测装置804或主机装置API 812可以区分来自两个控制器806的输入数据。例如,可以配置左手持控制器806A上的固件以在其输入流的标题中发送标识符(例如二进制0),而可以配置在第二手持控制器806B上的固件以在其输入流的标题中发送不同的标识符(例如二进制1)。To reduce manufacturing costs, some or all components of the two handheld controllers 806A, 806B may be identical. In one embodiment, the two handheld controllers 806A, 806B are identical (eg, same mechanical housing, internal electronics, and firmware). In this embodiment, the firmware 910 or host device API 812 may have difficulty distinguishing between the two hand controllers, and the interface software 811 may prompt the user to identify each handset as described above with reference to FIG. 8 . In another embodiment, both handheld controllers have the same internal electronics (e.g., same microcontroller, radio, etc.), but can be placed in different housings to identify one controller as the left handheld controller 806A And identify the other as the right hand controller 806B. For example, the buttons 918 on the two handheld controllers could have different layouts or different colors, or the housings could have symmetrical ergonomic features so that they fit better in the user's hand. Both handheld controllers 806 can also be flashed with the same firmware so that the motion sensing device 804 or host device API 812 can differentiate input data from the two controllers 806 . For example, the firmware on the left hand controller 806A can be configured to send an identifier (such as a binary 0) in the header of its input stream, while the firmware on the second hand controller 806B can be configured to send an identifier (such as a binary 0) in the header of its input stream. Send a different identifier (e.g. binary 1) in .

图10是说明了根据本发明实施例的基于用户与健身系统的交互而用于与健身应用813交互的示例性进程的流程图。用户开始将硬件装置802附接至健身装置或用户的身体;手持控制器806A、806B或运动感测装置804可以持握在用户手中或者附接至健身装置,取决于特定健身应用813。10 is a flow diagram illustrating an exemplary process for interacting with a fitness application 813 based on a user's interaction with the fitness system, according to an embodiment of the invention. The user begins by attaching the hardware device 802 to the exercise device or the user's body; the handheld controllers 806A, 806B or the motion sensing device 804 may be held in the user's hand or attached to the exercise device, depending on the particular exercise application 813 .

根据实施例,当用户与健身系统交互时,运动感测装置804获得1005实时运动数据,包括来自加速度计904的加速度数据或者来自陀螺仪906的旋转数据。健身系统不限于固定锻炼机器诸如跑步机,但是也可以包括动态锻炼机制,诸如在道路上奔跑。由运动感测装置804获得的数据可以在已建立通信链路808之上发送至主机装置810。According to an embodiment, the motion sensing device 804 obtains 1005 real-time motion data, including acceleration data from the accelerometer 904 or rotation data from the gyroscope 906, as the user interacts with the fitness system. Fitness systems are not limited to stationary exercise machines such as treadmills, but may also include dynamic exercise regimes, such as running on a road. Data obtained by motion sensing device 804 may be sent to host device 810 over established communication link 808 .

基于获得1005的数据,主机装置810上的接口软件811可以确定1010活动专用运动签名。活动专用运动签名可以识别由用户执行的当前活动。根据实施例,运动签名可以用作对于可以由健身应用813比较的未来移动的基准。Based on the obtained 1005 data, the interface software 811 on the host device 810 may determine 1010 the activity specific motion signature. The activity-specific motion signature may identify the current activity being performed by the user. According to an embodiment, the motion signature may be used as a baseline for future movements that may be compared by the fitness application 813 .

根据实施例,接口软件811可以基于运动签名产生一个或多个活动向量1015。活动向量表示与用户的活动水平相关联的度量。例如,活动向量可以表示由用户燃烧的卡路里数,覆盖在具体时间间隔之上的距离,或者用户的强度水平。活动向量是跨不同类型健身装置测量的标准单位。According to an embodiment, the interface software 811 may generate one or more activity vectors 1015 based on the motion signature. The activity vector represents a metric associated with the user's activity level. For example, the activity vector may represent the number of calories burned by the user, the distance covered over a specific time interval, or the user's intensity level. Activity vectors are a standard unit of measurement across different types of fitness devices.

根据实施例,用户基于由接口软件811产生1015的活动向量而与健身应用813交互1020。通过改变用户执行健身活动的强度,用户在一段时间之上改变活动向量。活动向量的变化改变了在健身应用813中对象的状态或行为,由此允许用户在主机装置810上与健身应用813交互。例如,如果用户在玩奔跑视频游戏,其中用户的人物在屏幕上奔跑穿过障碍跑道,用户在跑步机上奔跑或者在单车上骑行的强度影响了用户的任务(应用813中对象)在游戏中越过屏幕(由对象呈现的行为)的速度。因此通过更快奔跑,用户实时改变活动向量,对应于用户人物的速度提高。用户也可以基于来自手持控制器806的输入而与应用交互。例如,当用户的人物在视频游戏中接近障碍物时,用户可以按压在手持控制器806上的按钮,使得用户的人物跳过去或避开障碍物。According to an embodiment, the user interacts 1020 with the fitness application 813 based on the activity vectors generated 1015 by the interface software 811 . By changing the intensity with which the user performs the fitness activity, the user changes the activity vector over a period of time. A change in the activity vector changes the state or behavior of objects in the fitness application 813 , thereby allowing the user to interact with the fitness application 813 on the host device 810 . For example, if the user is playing a running video game in which the user's character runs across an obstacle course on the screen, the intensity with which the user runs on a treadmill or rides a bicycle affects the user's task (object in application 813) in the game Speed across the screen (behavior rendered by the object). Thus by running faster, the user changes the activity vector in real time, corresponding to the user character's increased speed. The user may also interact with the application based on input from the handheld controller 806 . For example, when a user's character approaches an obstacle in a video game, the user may press a button on handheld controller 806 to cause the user's character to jump over or avoid the obstacle.

硬件架构hardware architecture

通常,在此所公开的技术可以实施在硬件或者软件与硬件的组合上。例如,它们可以实施在操作系统内核中,在分立的用户进程中,在绑定至网络应用中的库数据包中,在特殊构造的机器上,在专用集成电路(ASIC)上,或者在网络接口卡上。In general, the techniques disclosed herein can be implemented in hardware or a combination of software and hardware. For example, they may be implemented in an operating system kernel, in a separate user process, in a library package bound into a network application, on a specially constructed machine, on an application-specific integrated circuit (ASIC), or on a network interface card.

在此所公开实施例的至少一些的软件/硬件混合实施方式可以实施在由存储在存储器中的计算机程序选择性激活或重新配置的可编程驻留网络的机器上(其应该理解为包括间歇连接的可察觉网络的机器)。该网络装置可以具有可以配置或设计用于利用不同类型网络通信协议的多个网络接口。可以在此描述用于这些机器的一些的通用架构以便于说明由此可以实施给定功能单元的一个或多个示例性机制。根据具体实施例,在此所公开的各个实施例的特征或功能的至少一些可以实施在于一个或多个网络相关联的一个或多个通用计算机上,诸如例如终端用户计算机系统,客户端计算机,网络服务器或其他服务器系统,移动计算装置(例如平板计算装置、移动电话、智能电话、膝上型计算机、或其他合适的计算装置),消费者电子装置,音乐播放器,或任何其他合适的电子装置,路由器,交换机,或其他合适的装置,或者其任意组合。在至少一些实施例中,在此所公开的各个实施例的特征或功能的至少一些可以实施在一个或多个虚拟化计算环境(例如网络计算云,在一个或多个物理计算机器上主控的虚拟机,或者其他合适的虚拟环境)中。Hybrid software/hardware implementations of at least some of the embodiments disclosed herein may be implemented on programmable network-resident machines (which should be understood to include intermittently connected network-aware machines). The network device may have multiple network interfaces that may be configured or designed to utilize different types of network communication protocols. A general architecture for some of these machines may be described here in order to illustrate one or more exemplary mechanisms by which a given functional unit may be implemented. Depending on the particular embodiment, at least some of the features or functions of the various embodiments disclosed herein may be implemented on one or more general-purpose computers associated with one or more networks, such as, for example, end-user computer systems, client computers, web server or other server system, mobile computing device (such as a tablet computing device, mobile phone, smartphone, laptop computer, or other suitable computing device), consumer electronics device, music player, or any other suitable electronic device, router, switch, or other suitable device, or any combination thereof. In at least some embodiments, at least some of the features or functions of the various embodiments disclosed herein can be implemented in one or more virtualized computing environments (e.g., networked computing clouds, hosted on one or more physical computing machines) virtual machine, or other suitable virtual environment).

现在参照图11,示出了方框图,说明了适用于实施在此所公开特征或功能的至少一部分的示例性计算装置10。计算装置10可以例如是之前段落中列出的计算机器的任意一个,或者甚至能够根据存储在存储器中的程序而执行基于软件或基于硬件的指令的任何其他电子装置。可以配置计算装置10以与多个其他计算装置诸如客户端或服务器在通信网络之上通信,通信网络诸如广域网、城域网、局域网、无线网络、互联网、或使用已知协议用于该通信的任何其他网络,不论是无线或有线的。Referring now to FIG. 11 , there is shown a block diagram illustrating an example computing device 10 suitable for implementing at least a portion of the features or functions disclosed herein. Computing device 10 may be, for example, any one of the computing machines listed in the preceding paragraph, or even any other electronic device capable of executing software-based or hardware-based instructions according to a program stored in memory. Computing device 10 may be configured to communicate with multiple other computing devices, such as clients or servers, over a communication network, such as a wide area network, a metropolitan area network, a local area network, a wireless network, the Internet, or a network using known protocols for such communications. Any other network, whether wireless or wired.

在一个实施例中,计算装置10包括一个或多个中央处理单元(CPU)12,一个或多个接口15,以及一个或多个总线14(诸如外围部件互联(PCI)总线)。当在合适的软件或固件的控制下动作时,CPU 12可以负责实施与特殊配置的计算装置或机器的功能相关联的特殊功能。例如,在至少一个实施例中,可以配置或设计计算装置10以用作利用了CPU 12、本地存储器11和/或远程存储器16、以及接口15的服务器系统。在至少一个实施例中,可以使得CPU12在软件模块或部件的控制之下执行一个或多个不同类型的功能和/或操作,软件模块或部件例如可以包括操作系统和任何合适的应用软件、驱动等等。In one embodiment, computing device 10 includes one or more central processing units (CPUs) 12, one or more interfaces 15, and one or more buses 14, such as a peripheral component interconnect (PCI) bus. When acting under the control of suitable software or firmware, CPU 12 may be responsible for implementing special functions associated with the functions of a specially configured computing device or machine. For example, in at least one embodiment, computing device 10 may be configured or designed to function as a server system utilizing CPU 12 , local memory 11 and/or remote memory 16 , and interface 15 . In at least one embodiment, CPU 12 can be made to perform one or more different types of functions and/or operations under the control of software modules or components, which can include, for example, an operating system and any suitable application software, drivers etc.

CPU 12可以包括一个或多个处理器13,诸如例如来自Intel、ARM、Qualcomm、和AMD微处理器系列之一的处理器。在一些实施例中,处理器13可以包括特殊设计的硬件诸如专用集成电路(ASICs),电可擦除可编程只读存储器(EEPROM),现场可编程门阵列(FPGA)等等,用于控制计算装置10的操作。在具体实施例中,本地存储器11(诸如非易失性随机访问存储器(RAM)和/或只读存储器(ROM),包括例如一级或多级高速缓存)也可以形成CPU 12的一部分。然而,存在其中存储器可以耦合至系统10的许多不同方式。存储器11可以用于各种目的诸如例如,缓存和/或存储数据,编程指令等等。应该进一步知晓,CPU 12可以是各种芯片上系统(SOC)类型硬件的一个,其可以包括额外的硬件诸如存储器或图形处理芯片,诸如Qualcomm SNAPDRAGONTM或Samsung EXYNOSTM,如本领域变得越来越普遍,诸如用于移动装置或集成装置。CPU 12 may include one or more processors 13, such as, for example, processors from one of the Intel, ARM, Qualcomm, and AMD microprocessor families. In some embodiments, the processor 13 may include specially designed hardware such as Application Specific Integrated Circuits (ASICs), Electrically Erasable Programmable Read-Only Memory (EEPROM), Field Programmable Gate Array (FPGA), etc., for controlling Operation of Computing Device 10 . In particular embodiments, local memory 11 , such as non-volatile Random Access Memory (RAM) and/or Read Only Memory (ROM), including, for example, one or more levels of cache, may also form part of CPU 12 . However, there are many different ways in which memory may be coupled to system 10 . Memory 11 may be used for various purposes such as, for example, caching and/or storing data, programming instructions, and the like. It should further be appreciated that CPU 12 may be one of various system-on-chip (SOC) type hardware which may include additional hardware such as memory or graphics processing chips, such as Qualcomm SNAPDRAGON or Samsung EXYNOS , as the art becomes more and more More common, such as for mobile devices or integrated devices.

如在此所使用,术语“处理器”不仅限于在本领域称作处理器、移动处理器或微处理器的那些集成电路,而是广泛地涉及微控制器、微计算机、可编程逻辑控制器、专用集成电路、以及任何其他可编程电路。As used herein, the term "processor" is not limited to those integrated circuits known in the art as processors, mobile processors, or microprocessors, but broadly refers to microcontrollers, microcomputers, programmable logic controllers, , ASICs, and any other programmable circuits.

在一个实施例中,接口15提供作为网络接口卡(NICs)。通常,NICs控制在计算机网络之上发送和接收数据包;其他类型接口15可以例如支持用于计算装置10的其他外围设备。在可以提供的接口之中有,以太网接口,帧中继接口,电缆接口,DSL接口,令牌环接口,图形接口等等。此外,可以提供各种类型接口,诸如例如,通用串行总线(USB),串行接口,以太网接口,FIREWIRETM接口,THUNDERBOLTTM接口,PCI接口,并行接口,射频(RF)接口,BLUETOOTHTM接口,近场通信(例如使用近磁场)接口,802.11(WiFi)接口,帧中继接口,TCP/IP接口,ISDN接口,快速以太网接口,吉比特以太网接口,串行ATA(SATA)或外部SATA(ESATA)接口,高分辨率多媒体接口(HDMI),数字视觉接口(DVI),模拟或数字音频接口,异步传输模式(ATM)接口,高速串行接口(HSSI)接口,销售点(POS)接口,光纤数据分布接口(FDDIs),等等。通常,该接口15可以包括用于与合适的媒介通信的物理端口。在一些情形中,它们也可以包括独立处理器(诸如专用音频或视频处理器,如本领域对于高保真A/V硬件接口是普通的),并且在一些情形中,包括易失性和/或非易失性存储器(例如RAM)。In one embodiment, interfaces 15 are provided as network interface cards (NICs). Typically, NICs control the sending and receiving of data packets over a computer network; other types of interfaces 15 may, for example, support other peripheral devices for computing device 10 . Among the interfaces that can be provided are Ethernet interfaces, frame relay interfaces, cable interfaces, DSL interfaces, token ring interfaces, graphics interfaces, and the like. Furthermore, various types of interfaces may be provided such as, for example, Universal Serial Bus (USB), Serial Interface, Ethernet Interface, FIREWIRE Interface, THUNDERBOLT Interface, PCI Interface, Parallel Interface, Radio Frequency (RF) Interface, BLUETOOTH interface, near field communication (for example using a near magnetic field) interface, 802.11 (WiFi) interface, Frame Relay interface, TCP/IP interface, ISDN interface, Fast Ethernet interface, Gigabit Ethernet interface, Serial ATA (SATA) or External SATA (ESATA) interface, high-resolution multimedia interface (HDMI), digital visual interface (DVI), analog or digital audio interface, asynchronous transfer mode (ATM) interface, high-speed serial interface (HSSI) interface, point of sale (POS ) interfaces, Fiber Data Distribution Interfaces (FDDIs), and so on. Typically, the interface 15 may comprise a physical port for communicating with a suitable medium. In some cases, they may also include independent processors (such as dedicated audio or video processors, as is common in the art for high-fidelity A/V hardware interfaces), and in some cases, volatile and/or Non-volatile memory (such as RAM).

尽管图11中所示系统说明了用于实施在此所述一个或多个发明的计算装置10的一个特殊架构,其绝非是可以在其上实施在此所述特征或技术的至少一部分的唯一装置架构。例如,可以使用具有一个或任意数目处理器13的架构,并且该处理器13可以存在于单个装置中或分布在任意数目装置之中。在一个实施例中,单个处理器13操纵通信以及路由计算,而在其他实施例中可以提供分立的专用通信处理器。在各个实施例中,可以在根据本发明的系统中实施不同类型的特征或功能,系统包括客户端装置(诸如运行客户端软件的平板装置或智能电话)和服务器系统(诸如以下更详细描述的服务器系统)。Although the system shown in FIG. 11 illustrates a particular architecture for a computing device 10 for implementing one or more of the inventions described herein, it is by no means on which at least a portion of the features or techniques described herein can be implemented. Unique device architecture. For example, an architecture with one or any number of processors 13 may be used, and the processors 13 may be present in a single device or distributed among any number of devices. In one embodiment, a single processor 13 handles communications as well as routing calculations, while in other embodiments a separate dedicated communications processor may be provided. In various embodiments, different types of features or functions may be implemented in a system according to the invention, including a client device (such as a tablet device or a smartphone running client software) and a server system (such as the one described in more detail below). server system).

与网络装置配置无关,本发明的系统可以利用一个或多个存储器或存储器模块(诸如,例如,远程存储器块16和本地存储器11),配置用于存储数据、用于通用网络操作的程序指令、或与在此所述实施例的功能相关的其他信息(或以上的任意组合)。程序指令可以例如包括操作系统和/或一个或多个应用或者控制其执行。存储器16或者存储器11、16也可以配置用于存储数据结构,配置数据,加密数据,历史系统操作信息,或者在此所述的任何其他特殊或普通非程序信息。Regardless of network device configuration, the system of the present invention may utilize one or more memories or memory modules (such as, for example, remote memory block 16 and local memory 11) configured to store data, program instructions for general network operations, Or other information (or any combination of the above) related to the functionality of the embodiments described herein. Program instructions may, for example, include or control the execution of an operating system and/or one or more applications. Memory 16 or memories 11, 16 may also be configured to store data structures, configuration data, encrypted data, historical system operating information, or any other special or general non-program information described herein.

因为可以利用该信息和程序指令以实施在此所述的一个或多个系统或方法,至少一些网络装置实施例可以包括非临时机器可读存储媒介,其可以配置或设计用于存储程序指令、状态信息等等以用于执行在此所述的各种操作。该非临时机器可读存储媒介的示例包括但不限于,磁性媒介诸如硬盘、软盘、和磁带;光学媒介诸如CD-ROM盘;磁光媒介诸如光盘,以及特殊配置用以存储并执行程序指令的硬件装置,诸如只读存储器装置(ROM)、闪存(如在移动装置和集成系统中普通的)、固态驱动(SSD)和“混合SSD”存储驱动,其可以在单个硬件装置中组合了固态和硬盘驱动的物理部件(如在关于个人计算机的领域中变得越来越普遍),忆阻器,随机访问存储器(RAM)等等。应该知晓,该存储装置可以是整体且不可移除的(诸如可以焊接至母板上或另外集成至电子装置中的RAM硬件模块),或者它们可以是可移除的诸如可交换闪存模块(诸如“拇指驱动”或设计用于快速交换物理存储装置的其他可移除媒介),“热可插拔”硬盘驱动或固态驱动,可移除光学存储盘,或者其他这种可移除媒介,并且该整体且可移除存储媒介可以可互换地利用。程序指令的示例包括诸如可以由编译器产生的对象代码,诸如可以由编译器或链接器产生的机器代码,诸如可以由例如JAVATM编译器产生并可以使用Java虚拟机或设备执行的字节代码,或者包含了可以由计算机使用解释器执行的更高级代码的文件(例如以Python、Perl、Ruby、Groovy或任何其他脚本语言编写的脚本)。Because this information and program instructions may be utilized to implement one or more of the systems or methods described herein, at least some network device embodiments may include a non-transitory machine-readable storage medium that may be configured or designed to store program instructions, Status information and the like are used to perform the various operations described herein. Examples of such non-transitory machine-readable storage media include, but are not limited to, magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM disks; magneto-optical media such as optical disks; Hardware devices such as read-only memory devices (ROM), flash memory (as is common in mobile devices and integrated systems), solid-state drives (SSD), and "hybrid SSD" storage drives, which can combine solid-state and The physical components of hard disk drives (as is becoming increasingly common in the field of personal computers), memristors, random access memory (RAM), and so on. It should be appreciated that the storage devices may be integral and non-removable (such as RAM hardware modules that may be soldered to the motherboard or otherwise integrated into the electronic device), or they may be removable such as swappable flash memory modules (such as "thumb drives" or other removable media designed for quick exchange of physical storage devices), "hot-swappable" hard disk drives or solid-state drives, removable optical storage drives, or other such removable media, and The integral and removable storage media may be utilized interchangeably. Examples of program instructions include object code such as can be produced by a compiler, machine code such as can be produced by a compiler or linker, byte code such as can be produced by, for example, a JAVA compiler and can be executed using a Java virtual machine or device , or files that contain higher-level code that can be executed by a computer using an interpreter (such as a script written in Python, Perl, Ruby, Groovy, or any other scripting language).

在一些实施例中,根据本发明的系统可以实施在独立计算系统上。现在参照图12,示出了方框图,描绘了在独立计算系统上一个或多个实施例或其部件的典型示例性架构。计算装置20包括处理器21,可以运行执行了本发明实施例的一个或多个功能或应用诸如例如客户端应用24的软件。处理器21可以在操作系统22的控制之下执行计算指令,例如Microsoft的WINDOWSTM操作系统的版本,Apple的Mac OS/X或iOS操作系统,Linux操作系统的一些变种,Google的ANDROIDTM操作系统,家用游戏装置诸如Microsoft XBOXTM、SonyPLAYSTATIONTM,或虚拟现实硬件装置诸如Oculus RIFTTM、HTC VIVETM、Samsung GEAR VRTM,等等。在许多情形中,一个或多个共用服务23可以在系统20中可操作,并且可以帮助用于向客户端应用24提供公共服务。服务23可以例如是WINDOWSTM服务,Linux环境中的用户空间公共服务,或者用于操作系统21的任何其他类型公共服务架构。输入装置28可以是适用于接收用户输入的任何类型,包括例如键盘、触摸屏、话筒(例如用于语音输入)、鼠标、触摸垫、轨迹球、或其任意组合。输出装置27可以是适用于提供输出至一个或多个用户的任何类型,不论对于系统20是远程或本地的,并且可以包括例如用于视觉输出的一个或多个屏幕,扬声器,打印机,或其任意组合。存储器25可以是具有本领域已知的任何结构和架构、以由处理器21使用例如以运行软件的随机访问存储器。存储装置26可以是用于以数字形式存储数据的任何磁性、光学、机械、忆阻、或电存储装置(诸如参照图11以上所述那些)。存储装置26的示例包括闪存、磁硬盘驱动、CD-ROM和/或类似物。In some embodiments, systems according to the present invention may be implemented on stand-alone computing systems. Referring now to FIG. 12 , there is shown a block diagram depicting a typical exemplary architecture of one or more embodiments, or components thereof, on a stand-alone computing system. Computing device 20 includes a processor 21 that may run software that implements one or more functions or applications of embodiments of the present invention, such as, for example, client application 24 . The processor 21 can execute calculation instructions under the control of the operating system 22, such as the version of Microsoft's WINDOWS TM operating system, Apple's Mac OS/X or iOS operating system, some variants of the Linux operating system, Google's ANDROID TM operating system , home game devices such as Microsoft XBOX TM , Sony PLAYSTATION TM , or virtual reality hardware devices such as Oculus RIFT TM , HTC VIVE TM , Samsung GEAR VR TM , and so on. In many cases, one or more common services 23 may be operational in system 20 and may assist in providing common services to client applications 24 . The service 23 may be, for example, a WINDOWS service, a user space common service in a Linux environment, or any other type of common service framework for the operating system 21 . Input device 28 may be of any type suitable for receiving user input including, for example, a keyboard, touch screen, microphone (eg, for voice input), mouse, touch pad, trackball, or any combination thereof. Output device 27 may be of any type suitable for providing output to one or more users, whether remote or local to system 20, and may include, for example, one or more screens for visual output, speakers, a printer, or random combination. Memory 25 may be a random access memory having any structure and architecture known in the art for use by processor 21, eg, to run software. Storage device 26 may be any magnetic, optical, mechanical, memristive, or electrical storage device (such as those described above with reference to FIG. 11 ) for storing data in digital form. Examples of storage device 26 include flash memory, magnetic hard drives, CD-ROMs, and/or the like.

在一些实施例中,本发明的系统可以实施在诸如具有任意数目客户端和/或服务器的分布式计算网络上。现在参照图13,示出了方框图,描绘了用于在分布式计算网络上实施根据本发明实施例的系统的至少一部分的示例性架构30。根据实施例,可以提供任意数目客户端33。每个客户端33可以运行用于实施本发明的客户端侧部分的软件;客户端可以包括诸如图12所示的系统20。此外,可以提供任意数目服务器32以用于处理从一个或多个客户端33接收的请求。客户端33和服务器32可以经由一个或多个电子网络31相互通信,其在各个实施例中可以是互联网、广域网、移动电话网络(诸如CDMA或GSM蜂窝网络)、无线网络(诸如WiFi、Wimax、LTE等等)、或局域网(或实际上本领域已知的任何网络拓扑;本发明并未在任何其他之上优选任何一个网络拓扑)。网络31可以使用任何已知网络协议实施,包括例如有线和/或无线协议。In some embodiments, the system of the present invention may be implemented such as on a distributed computing network with any number of clients and/or servers. Referring now to FIG. 13 , there is shown a block diagram depicting an exemplary architecture 30 for implementing at least a portion of a system according to an embodiment of the invention over a distributed computing network. Depending on the embodiment, any number of clients 33 may be provided. Each client 33 may run software for implementing the client-side portion of the invention; a client may comprise a system 20 such as that shown in FIG. 12 . Furthermore, any number of servers 32 may be provided for processing requests received from one or more clients 33 . Client 33 and server 32 may communicate with each other via one or more electronic networks 31, which in various embodiments may be the Internet, a wide area network, a mobile phone network (such as a CDMA or GSM cellular network), a wireless network (such as WiFi, Wimax, LTE, etc.), or a local area network (or indeed any network topology known in the art; the present invention does not prefer either network topology over any other). Network 31 may be implemented using any known network protocol, including, for example, wired and/or wireless protocols.

此外,在一些实施例中,当需要获得额外信息或涉及关于特定调用的额外数据时,服务器32可以调用外部服务37。与外部服务37的通信可以例如经由一个或多个网络31而发生。在各个实施例中,外部服务37可以包括与硬件装置相关或自身安装在其上的网络使能的服务或功能。例如,在其中客户端应用24实施在智能电话或其他电子装置上的实施例中,客户端应用24可以在云中或在部署在特定企业或用户的一个或多个房产上的外部服务37上获得存储在服务器系统32中的信息。Furthermore, in some embodiments, server 32 may invoke external service 37 when additional information is required or additional data regarding a particular call is involved. Communication with external services 37 may occur, for example, via one or more networks 31 . In various embodiments, external services 37 may include network-enabled services or functions associated with or installed on the hardware device itself. For example, in embodiments where client application 24 is implemented on a smartphone or other electronic device, client application 24 may be in the cloud or on an external service 37 deployed on one or more properties of a particular business or user. Information stored in server system 32 is obtained.

在本发明的一些实施例中,客户端33或服务器32(或两者)可以利用可以本地部署或跨一个或多个网络31远程地部署的一个或多个专用服务或应用。例如,可以由本发明的一个或多个实施例使用或引用一个或多个数据库34。本领域技术人员应该理解,数据库34可以以广泛各种架构设置并使用广泛各种数据访问和操纵机制。例如,在各个实施例中一个或多个数据库34可以包括使用结构化查询语言(SQL)的关系数据库系统,而其他的可以包括备选数据存储技术诸如本领域称作“NoSQL”的那些(例如Hadoop Cassandra、GoogleBigTable等等)。在一些实施例中,根据本发明可以使用变种数据库架构诸如列定向数据库、存储器中数据、集群数据库、分布式数据库、或甚至平坦数据储存库。本领域技术人员应该知晓,如合适的可以使用已知或未来数据库技术的任意组合,除非对于在此的特定实施例指定特殊数据库技术或部件的特殊布置。此外,应该知晓,如在此使用的术语“数据库”可以涉及物理数据库机器,用作单个数据库系统的机器集群,或在总数据库管理系统内的逻辑数据库。除非对于给定使用术语“数据库”规定特殊含义,应该解释为意味着这些词语的任意含义,所有这些由本领域技术人员理解为术语“数据库”的明显含义。In some embodiments of the invention, client 33 or server 32 (or both) may utilize one or more dedicated services or applications that may be deployed locally or remotely across one or more networks 31 . For example, one or more databases 34 may be used or referenced by one or more embodiments of the invention. Those skilled in the art will appreciate that database 34 may be arranged in a wide variety of architectures and employ a wide variety of data access and manipulation mechanisms. For example, in various embodiments one or more of databases 34 may comprise a relational database system using Structured Query Language (SQL), while others may comprise alternative data storage technologies such as those known in the art as "NoSQL" (e.g. Hadoop Cassandra, Google BigTable, etc.). In some embodiments, variant database architectures such as column-oriented databases, in-memory data, clustered databases, distributed databases, or even flat data repositories may be used in accordance with the present invention. Those skilled in the art will appreciate that any combination of known or future database technologies may be used as appropriate unless a particular database technology or particular arrangement of components is specified for a particular embodiment herein. Furthermore, it should be appreciated that the term "database" as used herein may refer to a physical database machine, a cluster of machines acting as a single database system, or a logical database within an overall database management system. Unless a special meaning is specified for a given use of the term "database", it should be construed to mean any meaning of these words, all of which are understood by those skilled in the art to be the obvious meaning of the term "database".

类似地,本发明的大多数实施例可以利用一个或多个安全系统36和配置系统35。安全和配置管理是公共信息技术(IT)和网络功能,并且每个的一些量通常与任意IT或网络系统相关联。本领域技术人员应该理解,本领域现在或未来已知的任何配置或安全子系统可以不受限地与本发明实施例结合使用,除非由任何具体实施例的说明特殊地哟求特殊安全35或配置系统35或方案。Similarly, most embodiments of the invention may utilize one or more security systems 36 and configuration systems 35 . Security and configuration management are common information technology (IT) and network functions, and some quantity of each is typically associated with any IT or network system. Those skilled in the art should understand that any configuration or safety subsystem known in the art now or in the future can be used in conjunction with the embodiments of the present invention without limitation, unless special safety is specifically required by the description of any specific embodiment 35 or Configure the system 35 or scheme.

图14示出了如可以用于遍布系统的任意各个位置的计算机系统40的示例性概图。其是可以执行代码以处理数据的任何计算机的示例。可以对计算机系统40做出各种修改和改变而并未脱离在此所公开系统和方法的更宽范围。中央处理器单元(CPU)41连接至总线42,存储器43、非易失性存储器44、显示器47、输入/输出(I/O)单元48、和网络接口卡(NIC)53也连接至总线。I/O单元48可以通常连接至键盘49、指点装置50、硬盘52、和实时时钟51。NIC 53连接至网络54,其可以是互联网或局域网,其中局域网可以具有或不具有至互联网的连接。也示出了电源单元45作为系统40的一部分,其在该示例中连接至主交变(AC)电源46。未示出可以存在的电池,也未示出广泛已知但是不适用于在此所公开当前系统和方法的具体创新功能的许多其他装置和修改。应该知晓可以组合所示的一些或所有部件,诸如在各种集成应用中,例如Qualcomm或Samsung的芯片上系统(SOC)装置,或者只要其可以适用于将多个性能或功能组合至单个硬件装置中(例如,在诸如智能电话的移动装置、视频游戏控制台、汽车中的车内计算机系统诸如导航或多媒体系统、或其他集成硬件装置中)。FIG. 14 shows an exemplary overview of a computer system 40 as may be used at any of various locations throughout the system. It is an example of any computer that can execute code to process data. Various modifications and changes can be made to the computer system 40 without departing from the broader scope of the systems and methods disclosed herein. A central processing unit (CPU) 41 is connected to the bus 42, and a memory 43, a nonvolatile memory 44, a display 47, an input/output (I/O) unit 48, and a network interface card (NIC) 53 are also connected to the bus. I/O unit 48 may typically be connected to keyboard 49 , pointing device 50 , hard disk 52 , and real-time clock 51 . The NIC 53 is connected to a network 54, which may be the Internet or a local area network, where the local area network may or may not have a connection to the Internet. Also shown as part of the system 40 is a power supply unit 45 which in this example is connected to a mains alternating (AC) power supply 46 . Batteries, which may be present, are not shown, nor are the many other devices and modifications that are widely known but are not applicable to the specific innovative functionality of the present systems and methods disclosed herein. It should be appreciated that some or all of the components shown may be combined, such as in various integrated applications, such as Qualcomm or Samsung's system-on-chip (SOC) devices, or as long as it is applicable to combine multiple capabilities or functions into a single hardware device (eg, in a mobile device such as a smartphone, a video game console, an in-vehicle computer system in an automobile such as a navigation or multimedia system, or other integrated hardware device).

在各个实施例中,用于实施本发明的系统或方法的功能可以分布在任意数目客户端和/或服务器部件之中。例如,可以实施各种软件模块用于结合本发明执行各种功能,并且这些模块可以各种各样实施以运行在服务器和/或客户端部件上。In various embodiments, the functionality for implementing the systems or methods of the present invention may be distributed among any number of client and/or server components. For example, various software modules can be implemented to perform various functions in connection with the present invention, and these modules can be variously implemented to run on server and/or client components.

本领域技术人员将知晓上述各种实施例的可能修改范围。因此,本发明由权利要求及其等价形式所限定。Those skilled in the art will appreciate the range of possible modifications to the various embodiments described above. Accordingly, the invention is defined by the claims and their equivalents.

Claims (6)

1. A system for mixed reality interaction using a plurality of electronic control and tracking devices, comprising:
a first electronic control device comprising at least a first memory, a first processor, and a plurality of first programming instructions stored on the first memory and running on the first processor, the first programming instructions configured to:
communicating with a plurality of electronic devices via a network, each electronic device communicating using one of a plurality of network communication protocols, the network communication protocol of each electronic device selected from the plurality of network communication protocols according to the detected capabilities of the particular electronic device; wherein at least one of the plurality of electronic devices is a second electronic control device, at least one is an electronic system comprising a computing device operating a mixed reality software application, network communications are transmitted in a bi-directional manner between the electronic system and the at least one second electronic control device, and communications are conducted through respective network communications protocols;
Operating a plurality of hardware control elements configured to receive manual interactions from a user;
transmitting a plurality of interaction data to at least a portion of the plurality of electronic devices, the interaction data based at least in part on at least a portion of a manual interaction from the user;
receiving traffic from at least a portion of the plurality of electronic devices, the traffic comprising at least mixed reality data, wherein the mixed reality data comprises at least a plurality of sensor data readings; and
an action is performed within the mixed reality software application based on the received traffic.
2. The system of claim 1, wherein the plurality of electronic devices includes at least a virtual reality device.
3. The system of claim 2, wherein the plurality of electronic devices includes at least an exercise device.
4. The system of claim 3, wherein the fitness device comprises at least a fitness tracking device.
5. The system of claim 4, wherein the fitness tracking system provides at least a plurality of fitness information to at least the virtual reality device.
6. The system of claim 1, wherein the plurality of electronic devices comprises at least a plurality of tethers, each tether comprising a tether line having one end attached to an attachment point at a fixed location away from the body of the human user and the other end attached to an attachment point proximate to the body of the human user, the proximal attachment point configured for wearing or otherwise being attached to the person or clothing of the user, and at least a portion of the distal attachment point comprising a sensor configured for measuring at least strain of the attached tether.
CN201780037774.3A 2016-06-21 2017-06-21 Multiple electronic controls and tracking for mixed reality interactions Expired - Fee Related CN109416679B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/187,787 US10124255B2 (en) 2012-08-31 2016-06-21 Multiple electronic control and tracking devices for mixed-reality interaction
US15/187,787 2016-06-21
PCT/US2017/038425 WO2017223134A1 (en) 2016-06-21 2017-06-21 Multiple electronic control and tracking devices for mixed-reality interaction

Publications (2)

Publication Number Publication Date
CN109416679A CN109416679A (en) 2019-03-01
CN109416679B true CN109416679B (en) 2023-06-06

Family

ID=60783574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780037774.3A Expired - Fee Related CN109416679B (en) 2016-06-21 2017-06-21 Multiple electronic controls and tracking for mixed reality interactions

Country Status (3)

Country Link
EP (1) EP3472716A4 (en)
CN (1) CN109416679B (en)
WO (1) WO2017223134A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020250106A1 (en) * 2019-06-08 2020-12-17 Pankaj Raut A system and a method for teleportation for enhanced audio-visual interaction in mixed reality (mr) using a head mounted device (hmd)
CN114953311B (en) * 2022-05-31 2025-02-18 宁波弘讯科技股份有限公司 A rubber machine control method, system, device and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1602647A (en) * 2001-12-14 2005-03-30 富士软件Abc株式会社 Control device, controlled device, remote control system and remote control method

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200610561A (en) * 2004-09-17 2006-04-01 Lai Yin Liang Multi-function man-machine interaction type gymnastic equipment
US20090005167A1 (en) * 2004-11-29 2009-01-01 Juha Arrasvuori Mobile Gaming with External Devices in Single and Multiplayer Games
US20090256800A1 (en) * 2005-11-28 2009-10-15 Kaufman Roger E Virtual reality simulator harness systems
CN101024125B (en) * 2007-03-28 2010-04-14 深圳市飞达荣电子有限公司 Multi-platform wireless audio-visual virtual reality game system
US10737175B2 (en) * 2012-08-31 2020-08-11 Blue Goji Llc Mobile and adaptable fitness system
US10137361B2 (en) * 2013-06-07 2018-11-27 Sony Interactive Entertainment America Llc Systems and methods for using reduced hops to generate an augmented virtual reality scene within a head mounted system
US9551873B2 (en) * 2014-05-30 2017-01-24 Sony Interactive Entertainment America Llc Head mounted device (HMD) system having interface with mobile computing device for rendering virtual reality content
US9098614B1 (en) * 2014-07-11 2015-08-04 Fitweiser, Inc. Systems and devices for interactive, feedback-driven exercise
CN105641947B (en) * 2016-03-24 2018-11-30 上海维聚网络科技有限公司 Interactive delight system and its control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1602647A (en) * 2001-12-14 2005-03-30 富士软件Abc株式会社 Control device, controlled device, remote control system and remote control method

Also Published As

Publication number Publication date
EP3472716A1 (en) 2019-04-24
WO2017223134A1 (en) 2017-12-28
CN109416679A (en) 2019-03-01
EP3472716A4 (en) 2020-02-05

Similar Documents

Publication Publication Date Title
US10124255B2 (en) Multiple electronic control and tracking devices for mixed-reality interaction
US11712602B2 (en) Variable-resistance exercise machine with network communication for smart device control and interactive software applications
US10549153B2 (en) Virtual reality and mixed reality enhanced elliptical exercise trainer
US10751608B2 (en) Full body movement control of dual joystick operated devices
US11123604B2 (en) Apparatus for natural torso and limbs tracking and feedback for electronic interaction
US10688341B2 (en) System and method for range of motion analysis and balance training while exercising
US11673022B2 (en) Apparatus for natural torso and limbs tracking and feedback for electronic interaction
US11191996B2 (en) Body joystick for interacting with virtual reality or mixed reality machines or software applications
US20200398108A1 (en) System and method for range of motion analysis and balance training while exercising
CN110290741A (en) Targeted neural regeneration by aerobic exercise stimulation with brain function-specific tasks
WO2017192628A1 (en) Variable-resistance exercise machine with wireless communication for smart device control and interactive software applications
WO2020014710A2 (en) A system and method for range of motion analysis and balance training while exercising
US20200179752A1 (en) System and method for range of motion analysis and balance training while exercising
US20240411370A1 (en) Fitness device gaming controller
US11181938B2 (en) Full body movement control of dual joystick operated devices
US20220096897A1 (en) Body joystick for interacting with virtual reality or mixed reality machines or software applications
CN109416679B (en) Multiple electronic controls and tracking for mixed reality interactions
EP3583986A1 (en) A system and method for a mixed or virtual reality-enhanced stationary exercise bicycle
US9766696B1 (en) Apparatus for natural torso tracking and feedback for electronic interaction
WO2020190644A1 (en) Virtual reality and mixed reality enhanced elliptical exercise trainer

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20230606

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