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, wherein directional changes of the input device that may occur before or after calculating an orientation will have minimal effect on a calculated orientation at least in regard to said predetermined axis of the input device.
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.
-
Citations
18 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, wherein directional changes of the input device that may occur before or after calculating an orientation will have minimal effect on a calculated orientation at least in regard to said predetermined axis of the input device. - 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. A non-transitory computer-readable storage medium having stored therein program instructions to be executed by one or more computer processor of an apparatus for acquiring data from an input device and calculating a corrected orientation of the input device in a three-dimensional space having a vertical direction defined by gravity, the input device including at least an angular rate sensor and an image sensor, the program causing the computer to perform operations comprising:
-
calculating a three-dimensional orientation of the input device in accordance with angular rate data provided by the angular rate sensor; determining one or more orientation marker coordinate based upon an image of a predetermined subject acquired by the image sensor; calculating a roll orientation based upon the one or more orientation marker coordinate; calculating a yaw orientation based upon the one or more orientation marker coordinate; combining the roll orientation with the yaw orientation to provide a first combined orientation; calculating a pitch orientation component from the calculated three-dimensional orientation; combining the calculated pitch orientation with the first combined orientation to provide a second combined orientation; and correcting the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation such that it approaches the second combined orientation.
-
-
18. An orientation calculation apparatus for calculating a corrected orientation of the input device in a three-dimensional space having a vertical direction defined by gravity, the orientation calculation apparatus acquiring data from an input device, the input device including at least an angular rate sensor and an image sensor, 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 an angular rate detected by the angular rate sensor; determine one or more orientation marker coordinate based upon an image of a predetermined subject acquired by the image sensor; determine a roll orientation based upon the one or more orientation marker coordinate; determine a yaw orientation based upon the one or more orientation marker coordinate; combine the roll orientation with the yaw orientation to provide a first combined orientation; calculate a pitch orientation component from the calculated three-dimensional orientation; combine the calculated pitch orientation with the first combined orientation to provide a second combined orientation; and correct the calculated three-dimensional orientation by mathematically rotating the calculated three-dimensional orientation such that it approaches the second combined orientation.
-
Specification