US2010105479A1PendingUtilityA1

Determining orientation in an external reference frame

Assignee: MICROSOFT CORPPriority: Oct 23, 2008Filed: Oct 23, 2008Published: Apr 29, 2010
Est. expiryOct 23, 2028(~2.2 yrs left)· nominal 20-yr term from priority
A63F 13/10A63F 2300/105G06F 3/0325A63F 2300/6045G06F 3/017G06F 3/0346A63F 13/213A63F 2300/1087A63F 13/428A63F 13/211A63F 13/45
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Orientation in an external reference is determined. An external-frame acceleration for a device is determined, the external-frame acceleration being in an external reference frame relative to the device. An internal-frame acceleration for the device is determined, the internal-frame acceleration being in an internal reference frame relative to the device. An orientation of the device is determined based on a comparison between a direction of the external-frame acceleration and a direction of the internal-frame acceleration.

Claims

exact text as granted — not AI-modified
1 . A game system, comprising:
 a controller;   a controller monitor; and   an orientation inferring subsystem configured to:
 determine an external-frame acceleration of the controller from time-elapsed position information received from the controller monitor, the external-frame acceleration being in an external reference frame relative to the controller; 
 determine an internal-frame acceleration for the device from acceleration information received from the controller, the internal-frame acceleration being in an internal reference frame relative to the controller; and 
 determine a coarse orientation of the controller based on a comparison between a direction of the external-frame acceleration and a direction of the internal-frame acceleration. 
   
     
     
         2 . The game system of  claim 1 , where the controller includes an acceleration-measuring subsystem configured to report acceleration information to the orientation inferring subsystem. 
     
     
         3 . The game system of  claim 1 , where the controller includes an angular-motion measuring subsystem configured to report angular motion information to the orientation inferring subsystem. 
     
     
         4 . The game system of  claim 3 , where the angular-motion measuring subsystem includes spaced-apart three-axis accelerometers. 
     
     
         5 . The game system of  claim 3 , where the angular-motion measuring subsystem includes a three-axis gyroscope. 
     
     
         6 . The game system of  claim 3 , where the orientation inferring subsystem is configured to update the coarse orientation based on the angular motion information. 
     
     
         7 . The game system of  claim 1 , where the controller monitor includes stereo cameras. 
     
     
         8 . The game system of  claim 7 , where the controller includes an infrared light and the stereo cameras are configured to view the infrared light. 
     
     
         9 . The game system of  claim 1 , where the orientation inferring subsystem determines the external-frame acceleration as: 
       
         
           
             
               
                 
                   2 
                    
                   
                     ( 
                     
                       
                         
                           X 
                           0 
                         
                         _ 
                       
                       - 
                       
                         
                           X 
                           0 
                           ′ 
                         
                         _ 
                       
                     
                     ) 
                   
                 
                 
                   
                     ( 
                     
                       
                         t 
                         0 
                       
                       - 
                       
                         t 
                         
                           - 
                           1 
                         
                       
                     
                     ) 
                   
                   2 
                 
               
               + 
               
                 g 
                 _ 
               
             
           
         
         where:
   X 0    is a current position of the controller as observed by the controller monitor at a time t 0 ; 
   g  is a gravitational acceleration; 
   X 0 ′  is  X −1   +  V (t 0 −t −1 ) 
 where:
   X −1    is a previous position of the controller as observed by the controller monitor at a previous time t −1 ; 
 
 
       
       
         
           
             
               
                 V 
                 _ 
               
                
               
                   
               
                
               is 
                
               
                   
               
                
               
                 
                   ( 
                   
                     
                       
                         X 
                         
                           - 
                           1 
                         
                       
                       _ 
                     
                     - 
                     
                       
                         X 
                         
                           - 
                           2 
                         
                       
                       _ 
                     
                   
                   ) 
                 
                 
                   ( 
                   
                     
                       t 
                       
                         - 
                         1 
                       
                     
                     - 
                     
                       t 
                       
                         - 
                         2 
                       
                     
                   
                   ) 
                 
               
             
           
         
         
           
             where:
   X −2    is a more previous position of the controller as observed by the controller monitor at a more previous time t −2 . 
 
           
         
       
     
     
         10 . The game system of  claim 1 , where the orientation inferring subsystem uses an unscented Kalman filter to determine a unified estimate of position and an absolute orientation of the controller. 
     
     
         11 . A method of tracking an orientation of a game controller, the method comprising:
 inferring a coarse orientation of the game controller by:
 determining an external-frame acceleration for the game controller, the external-frame acceleration being in an external reference frame relative to the game controller; 
 determining an internal-frame acceleration for the game controller, the internal-frame acceleration being in an internal reference frame relative to the game controller; and 
 determining an orientation of the game controller based on a comparison between a direction of the external-frame acceleration and a direction of the internal-frame acceleration; and 
   updating the coarse orientation of the game controller based on angular motion information observed by the game controller.   
     
     
         12 . The method of  claim 11 , where determining an external-frame acceleration for the game controller includes translating motion information for the game controller that is visually observed by a stereo camera. 
     
     
         13 . A method of inferring device orientation in an external reference frame, the method comprising:
 determining an external-frame acceleration for the device, the external-frame acceleration being in an external reference frame relative to the device;   determining an internal-frame acceleration for the device, the internal-frame acceleration being in an internal reference frame relative to the device;   determining an orientation of the device based on a comparison between a direction of the external-frame acceleration and a direction of the internal-frame acceleration.   
     
     
         14 . The method of  claim 13 , where determining an external-frame acceleration for the device includes translating visually-observed motion of the device. 
     
     
         15 . The method of  claim 14 , where a stereo camera is used to visually-observe motion of the device. 
     
     
         16 . The method of  claim 13 , where determining the internal-frame acceleration for the device includes receiving internal-frame acceleration information observed by the device. 
     
     
         17 . The method of  claim 13 , further comprising updating the orientation of the device based on angular motion information observed by the device. 
     
     
         18 . The method of  claim 13 , where determining an external-frame acceleration for the device includes receiving initial position information for the device, the initial position information being in the external reference frame relative to the device; and receiving subsequent position information for the device, the subsequent position information being in the external reference frame relative to the device. 
     
     
         19 . The method of  claim 13 , where determining the external-frame acceleration for the device includes calculating: 
       
         
           
             
               
                 
                   2 
                    
                   
                     ( 
                     
                       
                         
                           X 
                           0 
                         
                         _ 
                       
                       - 
                       
                         
                           X 
                           0 
                           ′ 
                         
                         _ 
                       
                     
                     ) 
                   
                 
                 
                   
                     ( 
                     
                       
                         t 
                         0 
                       
                       - 
                       
                         t 
                         
                           - 
                           1 
                         
                       
                     
                     ) 
                   
                   2 
                 
               
               + 
               
                 g 
                 _ 
               
             
           
         
         where:
   X 0    is a current position of the device in the external reference frame at a time t 0 ; 
   g  is a gravitational acceleration; 
   X 0 ′  is  X −1   +  V (t 0 −t −1 ) 
 where:
   X −1    is a previous position of the device in the external reference frame at a previous time t −1 ; 
 
 
       
       
         
           
             
               
                 V 
                 _ 
               
                
               
                   
               
                
               is 
                
               
                   
               
                
               
                 
                   ( 
                   
                     
                       
                         X 
                         
                           - 
                           1 
                         
                       
                       _ 
                     
                     - 
                     
                       
                         X 
                         
                           - 
                           2 
                         
                       
                       _ 
                     
                   
                   ) 
                 
                 
                   ( 
                   
                     
                       t 
                       
                         - 
                         1 
                       
                     
                     - 
                     
                       t 
                       
                         - 
                         2 
                       
                     
                   
                   ) 
                 
               
             
           
         
         
           
             where:
   X −   2    is a more previous position of the device in the external reference frame at a more previous time t −2 . 
 
           
         
       
     
     
         20 . The method of  claim 13 , further comprising using an unscented Kalman filter to determine a unified estimate of position and an absolute orientation of the device.

Join the waitlist — get patent alerts

Track US2010105479A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.