Orientation calculation apparatus and storage medium having orientation calculation program stored therein
First Claim
1. An orientation calculation apparatus for calculating an orientation of an input device based on operation data acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the operation data including angular rate data and acceleration data, the apparatus comprising:
- a gravitational direction calculation unit configured to calculate based on the operation data a gravitational vector representing a gravitational direction viewed from the input device;
a motion acceleration calculation unit configured to calculate a motion acceleration vector based on an acceleration represented by the acceleration data and the gravitational vector, wherein the motion acceleration vector represents an acceleration applied by a motion of the input device;
a first correction unit configured to correct the gravitational vector such that the motion acceleration vector approaches a motion acceleration satisfying a relationship with the angular rate represented by the angular rate data, the relationship being predefined between the motion acceleration and the angular rate for the input device making a predetermined motion; and
a first orientation unit configured to calculate an orientation of the input device corresponding to the gravitational vector corrected by the first correction unit.
1 Assignment
0 Petitions
Accused Products
Abstract
A game apparatus calculates a gravitational vector Vg, which represents a gravitational direction viewed from an input device, based on operation data. Then, a motion acceleration vector VA, which represents an acceleration applied by a motion of the input device, is calculated based on an acceleration represented by acceleration data and the gravitational vector Vg. The gravitational vector Vg is corrected such that the motion acceleration vector VA approaches a motion acceleration (vector VA′) satisfying a relationship with an angular rate (vector Vω) represented by angular rate data, the relationship being predefined between the motion acceleration and the angular rate for the input device making a predetermined motion (rotational motion). Furthermore, the game apparatus calculates an orientation of the input device corresponding to the corrected gravitational vector.
-
Citations
42 Claims
-
1. An orientation calculation apparatus for calculating an orientation of an input device based on operation data acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the operation data including angular rate data and acceleration data, the apparatus comprising:
-
a gravitational direction calculation unit configured to calculate based on the operation data a gravitational vector representing a gravitational direction viewed from the input device; a motion acceleration calculation unit configured to calculate a motion acceleration vector based on an acceleration represented by the acceleration data and the gravitational vector, wherein the motion acceleration vector represents an acceleration applied by a motion of the input device; a first correction unit configured to correct the gravitational vector such that the motion acceleration vector approaches a motion acceleration satisfying a relationship with the angular rate represented by the angular rate data, the relationship being predefined between the motion acceleration and the angular rate for the input device making a predetermined motion; and a first orientation unit configured to calculate an orientation of the input device corresponding to the gravitational vector corrected by the first correction unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium containing instructions stored therein for causing a computer system to perform operation in an orientation calculation apparatus for calculating an orientation of an input device based on operation data acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the operation data including angular rate data and acceleration data, the operation comprising:
-
a gravitational direction calculation including calculating based on the operation data a gravitational vector representing a gravitational direction viewed from the input device; a motion acceleration calculation including calculating a motion acceleration vector based on an acceleration represented by the acceleration data and the gravitational vector, wherein the motion acceleration vector represents an acceleration applied by a motion of the input device; a first correction including correcting the gravitational vector such that the motion acceleration vector approaches a motion acceleration satisfying a relationship with the angular rate represented by the angular rate data, the relationship being predefined between the motion acceleration and the angular rate for the input device making a predetermined motion; and a first orientation calculation including calculating the orientation of the input device based on the gravitational vector corrected by the first correction. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. An orientation calculation apparatus for sequentially calculating a gravitational vector representing a gravitational direction viewed from an input device based on angular rate data and acceleration data sequentially acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the apparatus comprising:
a computer processing system, including at least one computer processor, configured to; calculate the gravitational vector based on an angular rate represented by the angular rate data; perform a first correction for correcting the gravitational vector so as to approach at a first rate an acceleration vector represented by the acceleration data; perform a second correction for correcting the gravitational vector so as to approach at a second rate a gravitational direction estimated based on a relationship between the acceleration data and the angular rate data, the relationship being predefined for the input device making a predetermined motion; and perform a third correction for correcting the gravitational vector so as to approach at a third rate an average of acceleration vectors during a predetermined period. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
34. A non-transitory computer-readable storage medium containing computer instructions stored therein for causing a computer system to perform operation in an orientation calculation apparatus for sequentially calculating a gravitational vector representing a gravitational direction viewed from an input device based on angular rate data and acceleration data sequentially acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the operation comprising:
-
calculating the gravitational vector based on an angular rate represented by the angular rate data; performing a first correction for correcting the gravitational vector so as to approach at a first rate an acceleration vector represented by the acceleration data; performing a second correction for correcting the gravitational vector so as to approach at a second rate a gravitational direction estimated based on a relationship between the acceleration data and the angular rate data, the relationship being predefined for the input device making a predetermined motion; and performing a third correction for correcting the gravitational vector so as to approach at a third rate an average of acceleration vectors during a predetermined period. - View Dependent Claims (35, 36, 37, 38, 39, 40)
-
-
41. A method of calculating an orientation of an input device based on operation data acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the operation data including angular rate data and acceleration data, the method comprising:
-
calculating, using computer processing system having at least one computer processor, based on the operation data a gravitational vector representing a gravitational direction viewed from the input device; calculating a motion acceleration vector based on an acceleration represented by the acceleration data and the gravitational vector, wherein the motion acceleration vector represents an acceleration applied by a motion of the input device; correcting the gravitational vector such that the motion acceleration vector approaches a motion acceleration satisfying a relationship with the angular rate represented by the angular rate data, the relationship being predefined between the motion acceleration and the angular rate for the input device making a predetermined motion; and calculating the orientation of the input device based on the corrected gravitational vector.
-
-
42. A method for sequentially calculating a gravitational vector representing a gravitational direction viewed from an input device based on angular rate data and acceleration data sequentially acquired from the input device, the input device including at least an angular rate sensor and an acceleration sensor, the method comprising:
-
calculating, using computer processing system having at least one computer processor, the gravitational vector based on an angular rate represented by the angular rate data; performing a first correction for correcting the gravitational vector so as to approach at a first rate an acceleration vector represented by the acceleration data; performing a second correction for correcting the gravitational vector so as to approach at a second rate a gravitational direction estimated based on a relationship between the acceleration data and the angular rate data, the relationship being predefined for the input device making a predetermined motion; and performing a third correction for correcting the gravitational vector so as to approach at a third rate an average of acceleration vectors during a predetermined period.
-
Specification