Orientation calculation apparatus, storage medium having orientation calculation program stored therein, game apparatus, and storage medium having game program stored therein
First Claim
1. An orientation calculation apparatus for acquiring data from an input device, the input device including at least an angular rate sensor and an acceleration sensor, and calculating an orientation of the input device in a three-dimensional space having a vertical direction defined by gravity, the apparatus comprising:
- a processor;
a memory coupled to said processor, said memory storing instructions that, when executed by said processor, control said processor to;
calculate a three-dimensional orientation of the input device in accordance with angular rate data acquired from the angular rate sensor;
calculate a three-dimensional acceleration vector representing an acceleration of the input device in accordance with acceleration data acquired from the acceleration sensor; and
correct the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation about a predetermined axis of the input device such that a projection of the acceleration vector onto a plane perpendicular to the predetermined axis is made to approach a projection of a vector representing a vertically down direction of the three-dimensional space onto the plane.
0 Assignments
0 Petitions
Accused Products
Abstract
An orientation calculation apparatus obtains data from an input device including at least a gyroscope and an acceleration sensor, and calculates an orientation of the input device in a three-dimensional space. Orientation calculation means calculates the orientation of the input device in accordance with an angular rate detected by the gyroscope. Acceleration vector calculation means calculates an acceleration vector representing an acceleration of the input device in accordance with acceleration data from the acceleration sensor. Correction means corrects the orientation of the input device such that a direction of the acceleration vector in the space approaches a vertically downward direction in the space. Also, the correction means corrects the orientation of the input device such that a directional change before and after the correction is minimized regarding a predetermined axis representing the orientation of the input device.
45 Citations
17 Claims
-
1. An orientation calculation apparatus for acquiring data from an input device, the input device including at least an angular rate sensor and an acceleration sensor, and calculating an orientation of the input device in a three-dimensional space having a vertical direction defined by gravity, the apparatus comprising:
-
a processor; a memory coupled to said processor, said memory storing instructions that, when executed by said processor, control said processor to; calculate a three-dimensional orientation of the input device in accordance with angular rate data acquired from the angular rate sensor; calculate a three-dimensional acceleration vector representing an acceleration of the input device in accordance with acceleration data acquired from the acceleration sensor; and correct the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation about a predetermined axis of the input device such that a projection of the acceleration vector onto a plane perpendicular to the predetermined axis is made to approach a projection of a vector representing a vertically down direction of the three-dimensional space onto the plane. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium having stored therein an orientation calculation program to be executed by one or more computer processor of an apparatus for performing an orientation calculation in accordance with data acquired from an input device, the input device including at least an angular rate sensor and an acceleration sensor, and calculating an orientation of the input device in a three-dimensional space having a vertical direction defined by gravity, the program causing the computer to perform operations comprising:
-
calculating a three-dimensional orientation of the input device in accordance with angular rate data acquired from the angular rate sensor; calculating a three-dimensional acceleration vector in accordance with acceleration data acquired from the acceleration sensor; and correcting the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation about a predetermined axis of the input device such that a projection of the acceleration vector onto a plane perpendicular to the predetermined axis is made to approach a projection of a vector representing a vertically down direction of the three-dimensional space onto the plane. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method, using an information processing system comprising one or more processor, of determining an orientation of an input device within a three-dimensional space having a vertical direction defined by gravity, the input device including at least an angular rate sensor and an acceleration sensor, the method comprising:
-
calculating, using said one or more processor, a three-dimensional orientation of the input device in accordance with angular rate data provided by the angular rate sensor; calculating, using said one or more processor, a three-dimensional acceleration vector in accordance with acceleration data provided by the acceleration sensor; and correcting, using said one or more processor, the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation about a predetermined axis of the input device such that a projection of the acceleration vector onto a plane perpendicular to the predetermined axis is made to approach a projection of a vector representing the vertically down direction of the three-dimensional space onto the plane.
-
-
17. An orientation calculation system, comprising:
-
an input device including at least an angular rate sensor and an acceleration sensor; and an orientation calculation apparatus for acquiring data from the input device and calculating an orientation of the input device in a three-dimensional space having a vertical direction defined by gravity, the apparatus comprising; a processor, and a memory coupled to said processor, said memory storing instructions that, when executed by said processor, control said processor to perform features comprising; calculate a three-dimensional orientation of the input device in accordance with angular rate data acquired from the angular rate sensor, calculate a three-dimensional acceleration vector representing an acceleration of the input device in accordance with acceleration data acquired from the acceleration sensor, and correct the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation about a predetermined axis of the input device such that a projection of the acceleration vector onto a plane perpendicular to the predetermined axis is made to approach a projection of a vector representing a vertically down direction of the three-dimensional space onto the plane.
-
Specification