IP Library Patent Application 12256747
Patent Application
App. No. 12/256,747

DETERMINING ORIENTATION IN AN EXTERNAL REFERENCE FRAME

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 None
App. No.
12/256,747
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 (152)

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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034766/0509 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 2, 2008
From: WILSON, ANDREW; BEEMAN, STEVEN MICHAEL
To: MICROSOFT CORPORATION
Reel/Frame 021908/0329 →