# Patent

## Title
Method for transmitting signals between wearable motion capture units and a video game engine

## Abstract

A method for transmitting signals between wearable motion capture units and a video game engine enables user body movement to be captured and inputted into a video game engine. The user wears a plurality of inertial measurement units (IMUs) as well as a plurality of vibration motors and a plurality of LEDs. The video game engine is able to provide haptic and visual feedback to the user via the plurality of vibration motors and the plurality of LEDs. Captured user body movement data is received through a plurality of slave microcontrollers and transmitted to a master microcontroller. The master microcontroller converts the user body movement data to video game engine-ready data. The video game engine-ready data is then converted by the video game engine to haptic and visual feedback response data and transmitted back to the master microcontroller.

## Background
FIELD OF THE INVENTION
The present invention relates generally to a method for increasing motion-based interactivity between video games and players. More specifically, the present invention is a method for transmitting signals between wearable motion capture units and a video game engine.
BACKGROUND OF THE INVENTION
The advancement of the video game industry has led to the emergence of new technologies that increase interactivity between video games and players. Virtual reality provides an immersive experience that places players into lifelike three-dimensional environments. Aside from being able to experience a virtual environment, players are typically able to interact with the environment as well. In addition to virtual reality, motion-based technology has become increasingly prevalent in video games. Players are typically required to wear or hold an electronic device that is capable of capturing their body movements and translating the body movements into corresponding actions within the video games. Motion-based technology greatly enhances the physical aspect of video games that traditionally only required physical user input through a controller device.
The present invention is a method for transmitting signals between wearable motion capture units and a game engine. This enables a player's movements to be captured and translated to the game engine. As such, the player's movements are able to influence the environment rendered by the game engine. The player additionally receives haptic feedback through the wearable motion capture units based on events transpiring within the environment rendered by the game engine.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1A is a flowchart illustrating the overall process that is followed by the present invention.
FIG. 1B is a continuation of the flowchart illustrated in FIG. 1A.
FIG. 1C is a continuation of the flowcharts illustrated in FIG. 1A and FIG. 1B.
FIG. 2 is a diagrammatic overview of the present invention.
FIG. 3 is an additional diagrammatic overview of the present invention.
FIG. 4 is a flowchart of the secondary process that is followed by the present invention.
FIG. 5 is a flowchart of the overall process that is followed by the present invention and additional details for the plurality of IMUs.
FIG. 6 is a flowchart of the secondary process that is followed by the present invention.
FIG. 7 is a flowchart of the secondary process that is followed by the present invention.
FIG. 8A is a code for the master microcontroller (Arduino).
FIG. 8B is a continuation of the code for the master microcontroller (Arduino).
FIG. 9A is a code for the plurality of slave microcontrollers (Arduino).
FIG. 9B is a continuation of the code for the plurality of slave microcontrollers (Arduino).
FIG. 9C is a continuation of the code for the plurality of slave microcontrollers (Arduino).
FIG. 9D is a continuation of the code for the plurality of slave microcontrollers (Arduino).
FIG. 9E is continuation of the code for the plurality of slave microcontrollers (Arduino).
FIG. 10A is a code for the game engine (Unity).
FIG. 10B is a continuation of the code for the game engine (Unity).
FIG. 10C is a continuation of the code for the game engine (Unity).
FIG. 10D is a continuation of the code for the game engine (Unity).



DETAIL DESCRIPTIONS OF THE INVENTION
All illustrations of the drawings are for the purpose of describing selected versions of the present invention and are not intended to limit the scope of the present invention.
The present invention is a method for transmitting signals between wearable motion capture units and a video game engine. The overall process that is followed by the present invention is shown in FIG. 1A, FIG. 1B, and FIG. 1C while diagrammatic overviews of the present invention are shown in FIG. 2 and FIG. 3. Secondary processes that are followed by the present invention are shown in FIGS. 4-7.
With reference to FIG. 1A, the present invention makes use of a plurality of inertial measurement units (IMUs) and a plurality of slave microcontrollers. The plurality of IMUs is worn on the user's body and is able to capture body movement data based on the user's movements. The body movement data corresponds to movements within a video game engine. Each of the plurality of IMUs is electronically connected to a corresponding microcontroller from the plurality of slave microcontrollers. As such, the plurality of IMUs may be worn on multiple user body locations to more accurately capture the user's body movement data. As shown in FIG. 2 and FIG. 5, in the preferred embodiment of the present invention, the plurality of IMUs includes a first wrist IMU, a second wrist IMU, a first ankle IMU, and a second ankle IMU, enabling body movement data to be captured from these user body locations. However, the plurality of IMUs may include additional IMUs for capturing body movement data from additional user body locations. Fewer IMUs may be utilized as well. Again with reference to FIG. 1A, body movement data captured by the plurality of IMUs is transmitted to the plurality of slave microcontrollers. The present invention additionally utilizes a plurality of vibration motors and a plurality of light-emitting diodes (LEDs). The plurality of vibration motors and the plurality of LEDs provide the user with haptic and visual feedback from the video game engine based on the user body movement data as well as events that occur within the video game engine. Each of the plurality of vibration motors and each of the plurality of LEDs is electronically connected to a corresponding microcontroller from the plurality of slave microcontrollers. This enables the user to receive feedback from the plurality of vibration motors and the plurality of LEDs on one or more user body locations on which the plurality of IMUs is worn. Finally, a master microcontroller and a computing device are utilized by the present invention. The video game engine is installed onto a storage device of the computing device. The master microcontroller is communicatively coupled to the computing device and the plurality of slave microcontrollers. This may be accomplished via a wireless or wired connection between the master microcontroller and the computing device. The master microcontroller enables feedback and two-way communication between the video game engine and the plurality of slave microcontrollers. In the preferred embodiment of the present invention, the master microcontroller is an Arduino microcontroller board, although similar microcontroller devices may be utilized. Additionally, each of the plurality of slave microcontrollers is preferably an Arduino microcontroller board as well.
Again with reference to FIG. 1A and FIG. 5, body movement data is captured through the plurality of IMUs. The plurality of IMUs is able to capture the velocity and orientation of one or more user body locations as the user moves. In the preferred embodiment of the present invention, each of the plurality of IMUs comprises at least one accelerometer and at least one gyroscope. The at least one accelerometer is able to detect magnitude and direction of proper acceleration experienced by the user body locations during movement. The roll and pitch of each of the plurality of IMUs are determined using the following equations:




  
    
      
        
          Roll
          =
          
            arctan
            ⁡
            
              (
              
                x
                z
              
              )
            
          
        
      
    
    
      
        
          Pitch
          =
          
            arctan
            ⁡
            
              (
              
                y
                z
              
              )
            
          
        
      
    
  
   




The variables x, y, and z are indicative of acceleration on the x, y, and z axes while roll and pitch are indicative of rotation on the x-axis and y-axis, respectively. Because yaw cannot be determined utilizing an accelerometer, a device such as a magnetometer must be utilized if rotation about the z axis is desired. The at least one gyroscope functions in conjunction with the at least one accelerometer and is able to account for orientation as well as rotation of the user body locations as the user moves. The position of each of the plurality of IMUs is determined using the following equation:

P(1)=P(0)+[V(1)]*dt 

The variable P(1) is the current position in degrees while P(0) is the previous position (position during the previous reading). The variable V(1) is the angular velocity while dt is the change in time between the previous reading and the current reading.

With reference to FIG. 1A and FIG. 1B, after being captured by the plurality of IMUs, the body movement data is received through the plurality of slave microcontrollers. Because each of the plurality of IMUs is electronically connected to a corresponding microcontroller from the plurality of slave microcontrollers, the plurality of slave microcontrollers is able to receive body movement data from one or more user body locations on which the plurality of IMUs is worn. The body movement data is then continuously transmitted from the plurality of slave microcontrollers to the master microcontroller. The master microcontroller is thus able to aggregate the body movement data from multiple user body locations. The body movement data is converted to video game engine-ready data through the master microcontroller in order to allow the video game engine to read and interpret the body movement data. In the preferred embodiment of the present invention, conversion of the body movement data to the video game engine-ready data is done through a custom program. The video game engine-ready data is then transmitted to the video game engine. The user body movement data may thus be represented in the video game engine, for example, by the user's in-game avatar performing the same movements as the user body movement data.
Further referencing FIG. 1A and FIG. 1B, after the video game engine-ready data is transmitted to the video game engine, the video game engine-ready data is converted to haptic and visual feedback response data through the video game engine. In the preferred embodiment of the present invention, the video game engine-ready data is converted to the haptic and visual feedback response data through another custom program. The haptic and visual feedback response data enables the plurality of vibration motors and the plurality of LEDs to provide haptic and visual feedback to the user as designated by the video game engine. The haptic and visual feedback response data is then transmitted from the video game engine to the master microcontroller. The master microcontroller is able to generate the appropriate response from the plurality of vibration motors and the plurality of LEDs based on the haptic and visual feedback response data. This is accomplished by the master microcontroller by interpreting the haptic and visual feedback response data through an additional custom program.
With reference to FIG. 1C, one or more vibration motors from the plurality of vibration motors is actuated and one or more LEDs from the plurality of LEDs is activated if body movement data is captured by the corresponding IMU(s) associated with the one or more vibration motors and the one or more LEDs. Within the context of the video game engine, the actuation of the one or more vibration motors and activation of the one or more LEDs is purely a haptic and visual response to the user body movement rather than a response to an in-game event within the video game engine.
With further reference to FIG. 1C, the present invention additionally allows for a haptic and visual response to an in-game event within the video game engine. In this case, event data corresponding to a user body location is received from the video game engine. More specifically, the event data corresponds to an in-game event that elicits a haptic and visual response to a user body location through the plurality of vibration motors and the plurality of LEDs. Corresponding IMU(s) associated with the user body location of the event data are then identified to determine the correct vibration motors from the plurality of vibration motors to actuate and the correct LEDs from the plurality of LEDs to activate. One or more specific vibration motors from the plurality of vibration motors are actuated and one or more LEDs from the plurality of LEDs are activated. The one or more specific vibration motors and the one or more LEDs correspond with the IMU(s) associated with the user body location event data. An example of event data that may generate a haptic and visual response is being hit by an opponent during an in-game boxing match.
As seen in FIG. 4, each of the plurality of IMUs is able to utilize a wireless transceiver to enable wireless communication between the plurality of slave microcontrollers and the master microcontroller. The body movement data is thus wirelessly transmitted from each of the plurality of slave microcontrollers to the master microcontroller through the wireless transceiver. The elimination of a wired connection between the plurality of slave microcontrollers and the master microcontroller eliminates any potential hindrances to the user's movement. Additionally, the video game-engine ready data is wirelessly transmitted to the video game engine through the computing device, further eliminating the need for any sort of wired connection. The haptic and visual feedback response data is wirelessly transmitted from the video game engine to the master microcontroller, enabling fully wireless communication throughout the method of the present invention. In the preferred embodiment of the present invention, the wireless transceiver is an xBee module, although similar wireless communication protocols may be utilized as well.
As shown in FIG. 6, while wireless communication through the wireless transceiver is preferred, a connection wire for the master microcontroller may be utilized to connect the master microcontroller to the computing device. In this case, the master microcontroller is electronically connected to the computing device through the connection wire. This may be useful for a variety of tasks such as adjusting the settings for the master microcontroller through the computing device. The connection wire may utilize Universal Serial Bus (USB) or similar protocol.
With reference to FIG. 7, when first associating the master microcontroller, the plurality of slave microcontrollers, and the plurality of IMUs to the computing device, a wireless sync transmitter for the master microcontroller and a wireless sync receiver for the computing device are utilized. The master microcontroller, the plurality of slave microcontrollers, and the plurality of IMUs may thus be associated with the computing device without the need for a physical connection. The master microcontroller, the plurality of slave microcontrollers, and the plurality of IMUs are wirelessly synced to the computing device through the wireless sync transmitter and the wireless sync receiver. This enables the plurality of IMUs to begin capturing and wirelessly transmitting the body movement data to the master microcontroller through the plurality of slave microcontrollers. The master microcontroller is then able to wirelessly transmit the video game engine-ready data to the video game engine through the computing device.
Although the present invention has been explained in relation to its preferred embodiment, it is understood that many other possible modifications and variations can be made without departing from the spirit and scope of the present invention as hereinafter claimed.

## Claims

1. A method for transmitting signals between wearable motion capture units and a video game engine, the method comprises the steps of:
(A) providing a plurality of inertial measurement units (IMUs), a plurality of slave microcontrollers, a plurality of vibration motors, a plurality of light-emitting diodes (LEDs), a master microcontroller, a computing device, and a video game engine;
(B) capturing body movement data through the plurality of IMUs;
(C) receiving the body movement data through the plurality of slave microcontrollers;
(D) continuously transmitting the body movement data from the plurality of slave microcontrollers to the master microcontroller;
(E) converting the body movement data to video game engine-ready data through the master microcontroller;
(F) transmitting the video game engine-ready data to the video game engine;
(G) converting the video game engine-ready data to haptic and visual feedback response data through the video game engine;
(H) transmitting the haptic and visual feedback response data from the video game engine to the master microcontroller;
(I) actuating one or more vibration motors from the plurality of vibration motors and activating one or more LEDs from the plurality of LEDs, if body movement data is captured by the corresponding IMU(s) associated with the one or more vibration motors and the one or more LEDs;
(J) receiving event data from the video game engine, wherein the event data corresponds to a user body location;
(K) identifying corresponding IMU(s) associated with the user body location of the event data; and
(L) actuating one or more specific vibration motors from the plurality of vibration motors and activating one or more LEDs from the plurality of LEDs, wherein the one or more specific vibration motors and the one or more LEDs correspond with the IMU(s) associated with the user body location event data.

2. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, wherein each of the plurality of IMUs is electronically connected to a corresponding microcontroller from the plurality of slave microcontrollers.

3. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, wherein each of the plurality of vibration motors and each of the plurality of LEDs is electronically connected to a corresponding microcontroller from the plurality of slave microcontrollers.

4. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, wherein the master microcontroller is communicatively coupled to the computing device and the plurality of slave microcontrollers, and wherein the video game engine is installed onto a storage device of the computing device.

5. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, the method comprises the steps of:
providing a wireless transceiver for each of the plurality of IMUs;
wirelessly transmitting the body movement data from each of the plurality of slave microcontrollers to the master microcontroller through the wireless transceiver;
wirelessly transmitting the video game-engine ready data to the video game engine through the computing device; and
wirelessly transmitting the haptic and visual feedback response data from the video game engine to the master microcontroller.

6. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, wherein the plurality of IMUs includes a first wrist IMU, a second wrist IMU, a first ankle IMU, and a second ankle IMU.

7. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, wherein each of the plurality of IMUs comprises at least one accelerometer and at least one gyroscope.

8. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, the method comprises the steps of:
providing a connection wire for the master microcontroller; and
electronically connecting the master microcontroller to the computing device through the connection wire.

9. The method for transmitting signals between wearable motion capture units and a video game engine as claimed in claim 1, the method comprises the steps of:
providing a wireless sync transmitter for the master microcontroller;
providing a wireless sync receiver for the computing device; and
wirelessly syncing the master microcontroller, the plurality of slave microcontrollers, and the plurality of IMUs to the computing device through the wireless sync transmitter and the wireless sync receiver.