IP Library Granted Patent US 12,005,344
Granted Patent B2
US 12,005,344 · App. 17/878,835 · Granted Jun 11, 2024

Motion mirroring system that incorporates virtual environment constraints

Inventors: Juergen Haas (Poway, CA); Bhaskar Bose (San Marcos, CA); Michael Bentley (Carlsbad, CA); Ryan Kaps (Mesa, AZ)
Assignee: Blast Motion Inc.
A63F13/211A63F13/235A63F13/25A63F13/42A63F13/525A63F13/833G06T19/006A63F13/812A63F2300/105A63F2300/8082G06T15/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,005,344
App. No.
17/878,835
Granted
Jun 11, 2024
Kind
B2
Abstract

A system that mirrors motion of a physical object by displaying a virtual object moving in a virtual environment. The mirroring display may be used for example for feedback, coaching, or for playing virtual games. Motion of the physical object is measured by motion sensors that may for example include an accelerometer, a gyroscope, and a magnetometer. Sensor data is transmitted to a computer that calculates the position and orientation of the physical object and generates a corresponding position and orientation of the virtual object. The computer may correct or adjust the calculations using sensor data redundancies. The virtual environment may include constraints on the position, orientation, or motion of the virtual object. These constraints may be used to compensate for accumulating errors in position and orientation. The system may for example use proportional error feedback to adjust position and orientation based on sensor redundancies and virtual environment constraints.

Claims (66)

1. A motion mirroring system that incorporates virtual environment constraints,

comprising

a motion capture element configured to couple with a moveable object located in a real environment, wherein said motion capture element comprises

a sensor configured to capture one or more values associated with an orientation, position, velocity, acceleration, angular velocity, and angular acceleration of said motion capture element;

a first communication interface;

a microprocessor coupled with said sensor and said first communication interface,

wherein said microprocessor is configured to

collect data that comprises said one or more values from said sensor;

transmit said data via said first communication interface;

a computer that comprises

a display;

a memory that contains

a virtual environment state comprising a position and orientation of a virtual object in a virtual environment, wherein said virtual object represents said moveable object in said virtual environment;

one or more constraints on said position and orientation of said virtual object in said virtual environment;

a second communication interface configured to communicate with said first communication interface to obtain said data;

wherein said computer is configured to receive said data via said second communication interface;

calculate a position and orientation of said moveable object in said real environment from said data;

apply one or more corrections to said position and orientation of said moveable object in said real environment based on one or more redundancies in said data;

transform said position and orientation of said moveable object in said real environment into said position and orientation of said virtual object in said virtual environment;

determine whether said position and orientation of said virtual object in said virtual environment satisfies said one or more constraints;

when said position and orientation of said virtual object in said virtual environment does not satisfy one or more of said one or more constraints, modify said position and orientation of said virtual object in said virtual environment to satisfy said one or more constraints;

display said virtual environment and said virtual object on said display.

2. The system of claim 1 , wherein said moveable object is one or more of a piece of equipment, an article of clothing, or a body part of a person.

3. The system of claim 1 , wherein said sensor comprises a 3-axis accelerometer, a 3-axis rate gyroscope, and a 3-axis magnetometer.

4. The system of claim 3 , wherein said redundancies in said data comprise

a calculation of said orientation of said moveable object in said real environment by integration of angular velocity data from said 3-axis rate gyroscope;

a measurement of said orientation of said moveable object in said real environment relative to an Earth magnetic field from said 3-axis magnetometer;

a measurement of said orientation of said moveable object in said real environment relative to an Earth gravitational field from said 3-axis accelerometer, when said data indicates that said moveable object is substantially stationary.

5. The system of claim 4 , wherein

said calculate a position and orientation of said moveable object in said real environment from said data comprises said integration of angular velocity data from said 3-axis rate gyroscope;

said apply one or more corrections to said position and orientation of said moveable object in said real environment comprises one or more of

calculate a first rotational error between

a predicted magnetic field vector based on said integration of angular velocity data, and

a measured magnetic field vector from said 3-axis magnetometer;

apply a first fraction of said first rotational error to said orientation of said moveable object in said real environment;

calculate a second rotational error between

a predicted gravitational field vector based on said integration of angular velocity data, and

a measured gravitational field vector from said 3-axis accelerometer;

apply a second fraction of said second rotational error to said orientation of said moveable object in said real environment.

6. The system of claim 1 , wherein

said virtual environment comprises a virtual camera that forms an image of said virtual environment;

said display said virtual environment and said virtual object on said display transmits said image of said virtual environment to said display;

a position and orientation of said virtual camera in said virtual environment is modifiable by a user.

7. The system of claim 1 , wherein a change in said position and orientation of said moveable object in said real environment results in a corresponding change within a predefined time period of said position and orientation of said virtual object in said virtual environment shown on said display.

8. The system of claim 1 , wherein said one or more constraints comprise a region in said virtual environment that said virtual object must be located within.

9. The system of claim 1 , wherein said one or more constraints comprise a location in said virtual environment that said virtual object must be located near.

10. The system of claim 9 , wherein said modify said position and orientation of said virtual object in said virtual environment to satisfy said one or more constraints comprises calculate an error vector between said position of said virtual object in said virtual environment and said location;

add a fraction of said error vector to said position of said virtual object in said virtual environment.

11. The system of claim 1 , wherein said one or more constraints comprise one or more of a maximum speed, a minimum speed, a maximum acceleration, a minimum acceleration, a maximum angular velocity, a minimum angular velocity, a maximum angular acceleration, and a minimum angular acceleration of said virtual object.

12. The system of claim 1 , wherein said one or more constraints comprise one or more virtual barriers that said virtual object cannot pass through.

13. The system of claim 12 , wherein said one or more virtual barriers comprise a ground surface.

14. The system of claim 1 , wherein

said moveable object is a piece of sporting equipment used in a sports activity;

said virtual environment is a virtual game for said sports activity;

said virtual object in said virtual environment is a representation of said piece of sporting equipment.

15. The system of claim 14 , wherein said sports activity is one or more of golf, tennis, badminton, racquetball, table tennis, squash, baseball, softball, cricket, hockey, field hockey, croquet, football, rugby, Australian rules football, soccer, volleyball, water polo, polo, basketball, lacrosse, billiards, horseshoes, shuffleboard, handball, bocce, bowling, dodgeball, kick ball, track and field events, curling, martial arts, boxing, archery, pistol shooting, rifle shooting, ice skating, gymnastics, surfing, skateboarding, snowboarding, skiing, windsurfing, roller blading, bicycling, and racing.

16. The system of claim 14 , wherein

said virtual object is used to contact and launch a virtual game piece in said virtual game;

said computer calculates a launch velocity of said game piece based on a motion of said virtual object at a time of impact between said virtual object and said virtual game piece.

17. The system of claim 14 , wherein said computer relocates said virtual object to a new position in said virtual environment in response to one or more events in said virtual game.

18. The system of claim 17 , wherein said relocates said virtual object to a new position occurs gradually to prevent a user from observing a discontinuous change in position on said display.

19. The system of claim 17 , wherein

said virtual game is a virtual golf game;

said virtual object is a virtual golf club;

said relocates said virtual object to a new position comprises moves said virtual golf club to a location of a virtual golf ball after a shot, or to a starting position for a new hole after completion of a previous hole.

20. The system of claim 19 , wherein said moves said virtual golf club further comprises modifies an orientation of said virtual golf club to aim at a hole from said new position.

Assignments (8)
ASSET PURCHASE AGREEMENT Recorded Apr 28, 2026
From: BM LIQUIDATION, LLC
To: WIN REALITY, LLC
Reel/Frame 075492/0289 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2026
From: BLAST MOTION, INC.
To: BM LIQUIDATION, LLC
Reel/Frame 075494/0137 →
RELEASE OF SECURITY INTEREST Recorded Mar 7, 2025
From: GALLAGHER IP SOLUTIONS LLC
To: BLAST MOTION INC.
Reel/Frame 070441/0945 →
CHANGE OF NAME Recorded Jan 23, 2025
From: BLAST MOTION INC.
To: MFBM INVESTMENT HOLDINGS INC.
Reel/Frame 069997/0961 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2024
From: BLAST MOTION INC.
To: BLAST MOTION INC.
Reel/Frame 069217/0303 →
SECURITY INTEREST Recorded Aug 7, 2024
From: BLAST MOTION INC.
To: GALLAGHER IP SOLUTIONS LLC, SUCCESSOR IN INTEREST TO NEWLIGHT CAPITAL, LLC
Reel/Frame 068213/0853 →
SECURITY INTEREST Recorded Aug 5, 2024
From: NEWLIGHT CAPITAL, LLC
To: GALLAGHER IP SOLUTIONS LLC
Reel/Frame 068328/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2022
From: HAAS, JUERGEN; BOSE, BHASKAR; BENTLEY, MICHAEL; KAPS, RYAN
To: BLAST MOTION INC.
Reel/Frame 060690/0445 →
Continuity (3)
Continuation 17037496 · Sep 29, 2020
Continuation 15602853 · May 23, 2017
Related Publication 20220370893A1 · Nov 24, 2022