N/A
The present invention relates to input technology for electronic devices and, more particularly, to an electronic device or apparatus that is adapted to produce angular rate and dynamic attitude angles using a three-axis magnetometer and three-axis accelerometer for generating input signals corresponding to its attitude or change in attitude or angular rates to an application program being executed on the electronic device itself.
Portable devices and especially, although not exclusively, portable wireless devices, e.g., mobile telephones, cellular telephones, cordless telephones, text messaging devices, pagers, talk radios, portable navigation systems, portable music players, portable video players, portable multimedia devices, personal digital assistants (PDAs), portable games, and the like, are being used increasingly in everyday life. As technology advancements are made, portable electronic devices are integrating more and more applications while shrinking in size and weight. Typically, the user interface and the power source comprise most of the volume and weight of the portable device.
The user interface of a portable device and, more particularly, the signal input portion of the user interface, is very important to the operation and operability of the portable device. Conventionally, user command input and data input into portable devices have been performed using input devices such as a keyboard or keypad, a mouse, a joy-stick, a stylus or digital pen or a gesture using the device itself. For scrolling and menu navigation, arrow buttons, thumbwheels, game-handles, and other devices may also be included with the portable devices.
However, as portable devices become more sophisticated and smaller, traditional keypad, arrow button, thumbwheel, or digital pen/stylus entry may be inconvenient, impractical or non-enjoyable if the component parts are too small. More complex menus, three-dimensional maps, and advanced games requiring more sophisticated navigation exacerbate the problem.
The development of motion sensing devices, e.g., accelerometers, gyroscopes, and the like, and their integration into a portable device have been suggested by others to generate input signal data with respect to motion for the applications embedded in the portable device. Accelerometers measure specific force acceleration, i.e., “total” acceleration, which includes gravitational acceleration. Typically, a three-axis accelerometer measures three orthogonal components of the total acceleration vector. Magnetometers are exemplary magnetic-field sensing devices that measure the intensity and/or direction of a local magnetic field. Three-axis magnetometers sense the intensity and/or direction of an incident magnetic field by measuring local x-axis, y-axis, and z-axis components of the magnetic field vector.
A magnetic compass is a device capable of providing a direction angle with respect to the Earth's magnetic north pole. A simple magnetic compass could be a simple magnetic-field sensing device that, when disposed on a level plane, provides a direction angle, i.e., “heading”, to the Earth's magnetic north pole. A rate gyroscope is a particular device that measures angular rate applied to a sensitivity axis.
Recently, MEMS (microelectromechanical systems) accelerometers and magnetometers have been widely combined to form an “e-compass”, or “digital compass”, or “orientation sensor”. Acceleration data are used to compute roll and pitch angles. Further, computed roll and pitch angles are used to transform the Earth's magnetic field measurement data taken by a magnetometer, which are measured in the carrier's body frame of reference, into magnetic field measurement data in a local-level frame of reference. The magnetic-field measurement data in a local-level frame of reference are used to compute yaw, i.e., heading angle.
For example, U.S. Pat. No. 7,138,979 to Robin, et al. discloses methods and systems for generating input signals based on the orientation of the portable device. Robin discloses using cameras, gyroscopes, and/or accelerometers, to detect a change in the spatial orientation of the device and, further, to generate position signals that are indicative of that change. According to Robin, the input signal can be used to move a cursor, to operate a game element, and so forth.
U.S. Patent Application Publication Number 2006/0046848 to Abe, et al. discloses a game suitable for play on a portable device that includes a vibration gyroscope sensor. The vibration gyroscope sensor detects an angular velocity from a change in vibration resulting from Coriolis forces acting in response to the change in orientation. According to the teachings of Abe, the gyroscope sensor detects an angular velocity of rotation about an axis perpendicular to the display screen of the game. From angular velocity data, two-dimensional angle of rotation data are calculated.
Gyroscope sensors disclosed by Robin and Abe, however, are expensive and relatively large in dimension and weight. Robin and Abe also address the two-dimensional “orientation” of a portable device rather than the three-dimensional “attitude” of the portable device. Therefore, it would be desirable to provide methods, devices, and systems for generating input signal data about the three-dimensional attitude of a portable device. It would also be desirable to provide devices and systems for generating input signal data that are more economical, relatively smaller, and relatively lighter than conventional devices with gyroscope sensors.
Gyroscopes, traditionally, have been an essential component of inertial attitude sensing systems, to provide angular rate and dynamic angles. However, including three-axis gyroscopes could significantly increase cost, power consumption, and size, which is not desirable in battery-powered, portable devices. In addition, current low-end MEMS gyroscopes themselves are subject to many performance issues, e.g., bias drift, and are not yet at the same level of maturity as magnetometers and accelerometers for portable consumer electronic systems. According to the present invention, angular rate and dynamic angles can be detected using an electronic compass, as will be described below.
Advantageously, in contrast with gyroscopes, an electronic compass can sense yaw, pitch, and roll angular rate as well as inertial attitude position. Gyroscopes do not provide absolute angular position information, but, rather, only provide a relative change of angular position information.
Gyroscopes also tend to be relatively large in comparison with magnetometers. For example, a three-axis magnetometer can be manufactured to be as small or smaller than about 0.2 in.×0.2 in.×0.04 in. (about 5 mm×5 mm×1.2 mm). Three-axis gyroscopes will be significantly larger.
Conventional attitude-sensing includes a two- or a three-axis accelerometer, a three-axis magnetometer, and a three-axis gyro to provide full motion status, i.e., pitch, roll, and yaw. Although accelerometers are becoming less and less expensive, gyroscopes remain several times more expensive than accelerometers due to their technological and manufacturing complexity.
Additionally, in ideal free space, which is to say, under conditions having zero gravity and no magnetic field, six-degree of freedom motion information can be gathered using a two- or three-axis accelerometer and a three-axis gyroscope. However, on Earth, existing known gravitational acceleration and magnetic field can serve as useful references so that at motion information can be determined using different ways than in free space. As a result, a magnetic field sensing device to replace the gyroscope at much lower cost is desirable.
An “ecompass”, i.e., electronic compass, digital compass, or orientation sensor, combines an accelerometer and a magnetometer in a common carrier body to provide, inter alia, magnetic-heading angle data. However, there are two major disadvantages of using an ecompass for motion-based applications executable on the carrier. First, angular rates are not measured directly. Second, tilt angle (roll and pitch) measurements are only accurate when the carrier is static and, hence, do not account for dynamic effects. The inability to account for these dynamic effects produces magnetic heading inaccuracies.
U.S. Patent Application Publication Number 2003/0158699 to Townsend, et al. (“Townsend”) discloses an orientation system that combines accelerometer and magnetometer measurement data to compute static roll, static pitch, and static yaw angles. Townsend, however, does not teach determining dynamic roll, dynamic pitch or dynamic yaw angles or angular rates. Hence, Townsend's system suffers from both of the disadvantages of common ecompasses.
U.S. Pat. No. 7,216,055 to Horton, et al. (“Horton”) describes an Attitude and Heading Reference System (AHRS) that includes a three-axis gyroscope, a three-axis accelerometer, and a magnetic-field sensing device. Disadvantageously, the gyroscope significantly increases cost, size, and power requirements. In Horton, gyro data are integrated to obtain a roll, pitch, and yaw angle solution. Furthermore, Horton includes a Kalman filter to estimate roll, pitch, and yaw angle error, which is used to offset attitude drift that is drifting over time, as well as gyro bias.
Kalman filtering is well-known to those of ordinary skill in the art and is used in a variety of applications. However, Kalman filtering provides a standard computation framework having state and measurement vector formulations. Consequently, state and measurement equations must be specified for each discrete application.
In consumer applications, when cost is the ultimate important factor, a lower cost solution to fulfill a functional need will be key to successful commercialization. Therefore, it would be desirable to provide an attitude- and motion-sensing device for measuring magnetic field strength and acceleration about or in three orthogonal axes for an object, as well as determining the attitude and angular rate of the object.
An attitude- and motion-sensing system for a portable electronic device, such as a cellular telephone, a game device, and the like, is disclosed. The system, which can be integrated into the portable electronic device, includes a two- or three-axis accelerometer and a three-axis magnetic field sensor, such as an electronic compass. The measurements from the accelerometer and magnetic field sensor are first processed by a signal processing unit that calculates attitude angles and angular rate. These data are then translated into input signals for a specific application program associated with the portable electronic device.
More specifically, the system is capable of directly measuring dynamic pitch/roll/yaw angles and dynamic pitch/roll/yaw angular rates without using a gyroscope by using in a filter attitude kinematic properties in combination with measurement data from the accelerometer and magnetometer.
The foregoing and other objects, features, and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views.
The present invention relates to an attitude sensing device for sensing the attitude of an object and a motion sensing device for sensing angular rate of an object such as a carrier. The attitude and motion sensing device includes a three axis magnetic field sensor such as a three-axis magnetometer, and a two- or three-axis accelerating-sensing device, such as a two- or three-axis accelerometer. More particularly, the attitude and motion sensing device, which is integrated into the carrier, uses an electronic compass, to determine the attitude and angular rates of the carrier for generating input signals corresponding to attitude and angular rate for other applications in the carrier, such as three-dimensional (3-D) maps, games, and so forth.
The attitude of a rigid object 10 in space can be described by three angles: yaw, pitch, and roll (see
Optionally, the three axes of the acceleration-sensing device and of the magnetic-field sensing device can be aligned with the body coordinate frame of reference (B). However, any offset or misalignment will not affect the results or teachings of the present invention. The x-axis (XL) of the local-level frame of reference (L) is defined as the projection of the x-axis of the body frame of reference (XB) in the local-level plane. The y-axis (YL) of the local-level frame of reference (L) is perpendicular to the x-axis (XL) of the local-level frame of reference (L). The z-axis (ZL) of the local-level frame of reference (L) is down.
When the attitude of a sensing device(s) 22, 24 changes, which is to say that, the sensing device(s) 22, 24 rotates about at least one of its X-, Y-, and Z-axes, the sensing device(s) 22, 24 generates an output signal that is proportional to the measured magnetic field strengths Mx, My, and Mz and to the accelerations Ax, Ay, and Az. Typically, a magnetic field sensor 22 senses Mx, My, Mx and an accelerometer 24 senses Ax, Ay, Az.
The six magnetic field strength and acceleration parameters are transmitted to a processing unit 25, which can be integrated into one or more of the sensing devices 22, 24 or which can be a separate, local or remote electronic device. The processing unit 25 includes signal and data processing units to process the measured parameter data. For example, the processing unit 25 can include an analog-to-digital (A/D) converter 26 for A/D conversion, a data processing unit 28 for processing data, and the like.
More specifically, the data processing unit 28 can be adapted to process the magnetic field and acceleration measurements to calculate attitude angles and angular rates. These data can then be input into a translator unit 29 that is adapted to translate the data into an input signal 27. The translated input signal 27 is then transmitted to an electronic processing device 21 that includes an application or driver program for manipulating the translated attitude angle and angular rate data into motion status.
According to the prior art, three-axis magnetic field sensors can be adapted to measure the magnetic field strength about an X-, a Y-, and a Z-axis, respectively, Mx, My, Mx, while three-axis accelerometers can be adapted to measure acceleration in the X-, Y-, and Z-axis, respectively, Ax, Ay, Az. Thus, the pitch of the object 10 in space is calculated by the formula:
Pitch=θ=−arcsin(accelxB) (1)
and the roll of the object 10 in space is calculated by the formula:
roll=φθ=arctan 2(accelyB,accelzB) (2)
in which [accelxB, accelyB, accelzB]T correspond to acceleration measurements (in g) from the three-axis accelerometer taken in the carrier body frame of reference. Accordingly, one can determine both pitch and roll using a two- or three-axis accelerometer. It should be noted that the roll in equation (2) can also be computed approximately using the equation roll=θ=arcsin(accelyB), when a two-axis accelerometer is used and the carrier's pitch angle is relatively small, i.e., less than 20 degrees.
Calculation of yaw is slightly more involved and requires measurement data from both the accelerometer and the magnetic field sensor. More particularly, yaw can be calculated using the following equations:
in which [magxB, magyB, magzB]T correspond to the Earth's magnetic field from the three-axis magnetometer as measured in the carrier body frame of reference (B). Approximate angular rates can be obtained by calculating the time derivative of the angle change using, respectively, the following equations:
in which ωx, ωy, ωz correspond to the angular rates of the object's rotation about the X-, Y-, and Z-axis, respectively.
This approach has the superior advantage of a small computation load. Notwithstanding, disadvantages include time latency, dynamic errors, ignoring the coupling of roll/pitch/yaw, and being vulnerable to changing hard/soft iron environment, which could be unacceptable in some applications. This approach assumes that the body-axis rotational angular rates are equal to the rate of change in Euler attitude angles, which is approximately accurate. Those skilled in the art can appreciate that, with mobile devices, hard and soft iron distortions caused by local concentrations of hard/soft magnetic materials, e.g., iron, can cause the angles to change continuously.
The present invention provides highly-accurate angular rate and attitude measurements in harsh environments that could encompass highly-dynamic maneuvers and vibration.
A major improvement to the state-of-the-art includes the integration of an attitude and angular rate filter into the system to attain precise and immediate attitude and angular rate. As will be described in greater detail below, two preferred embodiments of the attitude and angular rate filter using an attitude kinematic model as part of the filter state equation (designated first and second attitude and angular rate filters) are disclosed.
Referring to
The magnetometer 71 and accelerometer 72 have been described in detail hereinabove and will not be discussed further in great detail except as necessary to explain their relationship to and interaction with each other and to/with the processor 75. The processor 75 is adapted, inter alia, to receive and store the data from the magnetometer 71 and accelerometer 72 and, moreover, to use said data to calculate and to output three-axis angular rate data and dynamic roll/pitch/heading angle data for input into an application or program running on the object or carrier. Preferably, the processor 75 optimally combines the Earth's magnetic field measurement data 79 and total acceleration measurement data 78 with kinematic models of the carrier's attitude and angular rate using one of the attitude and angular rate filter(s) 80, 90.
The Earth's magnetic field measurements are subject to local magnetic field distortions such as soft iron and hard iron distortions. In small mobile device applications, hard and soft iron distortions from the host system may keep changing. As a result, the processing device 75 includes a magnetometer auto-calibration module 84 (
Also in small mobile device applications, low-cost accelerometers often are not well calibrated at the factory. As a result, accelerometers may have significant bias drift over operational time and temperature ranges. To further improve the accuracy of the accelerometer, the processing device 75 includes an accelerometer auto-calibration module 76 (
Magnetometer auto-calibration module 84 and accelerometer auto-calibration module 76 leverage the locus constraints of Earth's magnetic field vector measurements and Earth's gravitational acceleration measurements over time in a restricted geographic area. If there are no errors in the measurements, the locus should be a sphere. However, with sensor errors, including hard/soft errors, the locus becomes a ellipsoid. The sensor error estimation can be achieved by parameter identification of the ellipsoid that given locus constraints. The magnetometer auto-calibration module 84 and the accelerometer auto-calibration module 76 are implemented with the aims of enhancing the performance in a wide variety of operating environments, assuring compatibility, flexibility, and adaptability of the system 70 with the host systems and supporting new hardware capabilities.
As a preferred embodiment, a Kalman filtering-based framework approach is employed for the attitude and angular rate filter to simultaneously estimate roll/pitch/heading angles and angular rates from the Earth's magnetic field measurements and acceleration (specific force) measurements. A Kalman filter is a recursive optimal estimator for finding parameters of interest from indirect measurements that are observed over time that contain noise and other inaccuracies, not just for filtering out the noise from the data measurements. New measurements can be processed once they are available. The estimated parameters of interest are formed into a state vector. Indirect and noisy observations are formed into a measurement vector.
A state equation and a measurement equation need to be established for a Kalman filter. The computation of Kalman filtering includes two phases: time propagation and measurement updates. The time propagation propagates the state vector from the previous measurement time point to the current measurement time point as a prior estimate of the state vector at the current measurement time. The measurement update corrects the prior estimate of the state vector using the current measurement vector.
Mathematically, the attitude of a carrier can be expressed with an attitude quaternion. Following Euler's theorem, the components of the attitude quaternion are expressed as follows:
The carrier body frame-to-local navigation frame cosine rotation matrix is directly formed using the attitude quaternion as:
Dynamic roll, dynamic pitch, and dynamic yaw angles can be abstracted from the cosine rotation matrix, CBT as follows:
One can define an attitude quaternion kinematic differential equation as:
hence, the attitude quaternion differential equation includes a matrix representation of the angular ΩangularRate (4×4 skew symmetric matrix). The angular rate matrix ΩangularRate is made up of the angular rates about each coordinate axis as follows:
Referring to
The state equation is given by:
{dot over (X)}=f(X); (11)
and the state vector for the first attitude and angular rate filter 80 is represented by the equation:
X=[q
0
,q
1
,q
2
,q
3,ωx,ωy,ωz]T. (12)
Roll/pitch/yaw that are directly computed by accelerometer data and magnetometer data are designated as pseudo-angles which are employed as the measurement vector of the first attitude and angular rate filter 80. The measurement equations of the first attitude and angular rate filter 80 uses Equation (8) which expresses the relationship of the attitude quaternion and roll/pitch/yaw. The pseudo-angle measurements are computed as follows:
in which [magxB, magxB, magxB]T correspond to the Earth's magnetic field from the three-axis magnetometer as measured in the carrier body frame of reference (B); and [accelxB, accelyB, accelzB]T correspond to acceleration measurements (in g) from the three-axis accelerometer taken in the carrier body frame of reference.
A pseudo-roll, pseudo-pitch, and pseudo-heading computation module 89 performs the filter 80 measurement generation from which a measurement vector (pseudo-roll, pseudo-pitch, and pseudo-heading) are computed. The module 89 can be a stand-alone device or part of the processing device 75. A measurement update module 82 performs measurement update of the state vector for producing the computation output (Yk) 88 when a measurement vector is available. The updated state vector (Xk) 86 is, in turn, fed back recursively to a time propagation module 83. The time propagation module 83 performs the time propagation of the state vector between filter measurements.
Referring to
X=[q
0
,q
1
,q
2
,q
3,ωx,ωy,ωz,magx-error,magy-error,magz-error]T (17)
in which magx-error, magy-error, magz-error are magnetometer errors, which, in a preferred embodiment, can be modeled as constants. Although the use of constants is simple and matches the real error behavior of magnetometers, those skilled in the art can appreciate that, with an increased computation load, more accurate, higher-order models could be used.
The measurement equations of the second attitude and angular rate filter 90 use the transformation equations of the magnetic field vector and acceleration vector from the local navigation tangent frame of reference to the body coordinate frame of reference, which can be modeled as follows:
in which, Zmag and Zaccel refer to the vector of the three-axis magnetic field measurement (after it has compensated for any estimated errors including hard and soft irons in the magnetometer error compensation module 85) and to the vector of the three-axis acceleration measurement, respectively; CTB refers to the transpose matrix of CBT (Equation 7); and [magNT, magET, magDT]T corresponds to the components of the Earth's magnetic field vector measured in the North (N), East (E) and Down (D) directions in a local navigation tangent frame of reference (T).
Preferably, these well-known local magnetic field vectors are from the World Magnetic Model 73 (
F—Total Intensity of the geomagnetic field
H—Horizontal Intensity of the geomagnetic field
X—North Component of the geomagnetic field
Y—East Component of the geomagnetic field
Z—Vertical Component of the geomagnetic field
I (DIP)—Geomagnetic Inclination
D (DEC)—Geomagnetic Declination (Magnetic Variation).
The World Magnetic Model 73 automatically applies declination angle corrections to magnetic headings to reference the readings to true north, i.e., geographic north, rather than to magnetic north. The Earth's local magnetic field in the local navigation tangent frame of reference (T) is accurately known for any global location via the World Magnetic Model 73. In many applications, the position solution of the carrier is available from a GPS receiver 74 (
Optionally, a local magnetic field vector(s) can be pre-loaded with approximately “universal” values in the second attitude and angular rate filter 91. This option, which provides a degraded performance, is preferable if GPS position information is not available. The foregoing description is not intended to be exhaustive or to limit the invention to the precise form disclosed. The embodiment was chosen and described to provide the illustration of principles of the invention and its application. Modification and variations are within the scope of invention.
The time propagation module 93 is adapted to perform time propagation of the state vector between filter 90 measurements. The measurement update module 92 is further adapted to perform measurement update of the state vector.
As disclosed hereinbefore, when the location information is not available for the World Magnetic Field model, the measurement vector and measurement equation that are designed for the first attitude and angular filter can also be formed and used for the second attitude and angular rate filter.
Because the system and measurement equations of both the first and second attitude and angular rate filters 80, 90 are nonlinear, the first and second attitude and angular rate filters 80, 90 can be implemented using a nonlinear Kalman filter, such as an extended Kalman filter, a sigma-point Kalman filter, and the like.
Indeed, with both the first and second attitude and angular rate filters 80, 90, the static gravitational acceleration measurements from the three-axis accelerometers are dynamically distorted due to the acceleration of the carrier itself. To mitigate the effect of the carrier's accelerations, the filter adaptive control module 81 (
Large, time-varying magnetic disturbances could have significant effects on the estimation of the filters. For example, when the carrier passes near to a large magnetic source, which causes a large distortion of the Earth's magnetic field, the magnetometers will measure this large distortion. Once the carrier has ventured beyond the magnetic field strength of the magnetic disturbance source, the Earth's magnetic field can be measured correctly. The filters are designed to respond very quickly to situations where the measurement information is not trusted.
To mitigate the deleterious effect of momentary disturbance of the magnetic field, a filter gain adaptive control 81 (
Here again, measurements using the second attitude and angular rate filters 90 are formed by the Earth's magnetic field measurements and, as a result, are subject to magnetic field disturbance. To mitigate the effect of magnetic field disturbance, filter gain adaptive control 92 is designed to achieve highly accurate state estimation.
The filter adaptive control module 92 automatically adjusts the gain 97 of the filter 90 with respect to the magnetic field measurements by monitoring the scalar length of magnetic field vector measurements. For example, if a change of the scalar length of magnetic field vector measurement is detected, the gain 97 of the filter 90 with respect to the magnetic field measurements will be reduced.
As a preferred embodiment, the length (magnitude) of the Earth magnetic field vector measured by the three-axis magnetometer and the length (magnitude) of the total acceleration vector measured by the three-axis accelerometer are filtered by a band-pass digital filter, so that both noise and DC offset (DC offset is the mean amplitude of a signal) can be removed for getting a reliable indicator of magnetic field disturbance and change of acceleration for the filter adaptive control modules 81 and 92. The band-pass digital filter has a low cut-off frequency and high cut-off frequency, so that only the signal with frequency between the low cut-off frequency and high frequency is passed through the band-pass frequency.
An application of an electronic compass in a cellular telephone 30 is shown in
With an electronic compass as a motion sensing device, however, direction-arrow buttons are not needed. More specifically, with a electronic compass, as the cellular telephone 30 is rotated, the sensor signals can be processed to provide attitude angles (Φ, θ, and Ψ) and angular rates (ωx, ωy, ωz). The attitude angles and angular rates can be input into the translator 29, which translates the attitude angles and angular rates into appropriate input signals 27 to the application program 21.
In short, input signal 27 generation does not require direction-arrow buttons; but, rather, one simply changes the attitude of the cellular telephone 30 to produce sensor signals, e.g., Mx, My, Mz, Ax, Ay, and Az. When the application program is a 3D map application, map rotation about three axes is possible. Advantageously, the panel surface area that would be needed for the conventional navigation buttons is not needed. Consequently, the surface area that otherwise would have been used for navigation buttons can be used for another purpose and/or the cellular telephone 30 can be made smaller.
An application for a flight simulator game executable on a portable game machine 40 is shown in
A conventional game machine for controlling the attitude of an airplane requires numerous input devices, e.g., buttons, on the surface of the game device or, alternatively, a joystick that is operatively coupled to the gaming device. In contrast, according to the present invention, with an electronic compass, rotating the gaming machine itself along one or more of its X-, Y-, and/or Z-axis generates airplane attitude input signals that can be used to control the airplane's attitude.
Having described systems for motion- and attitude sensing and portable electronic devices having such systems, methods for providing attitude and change in attitude input signals to an application program; for determining the inertial attitude and change in inertial attitude of an object and for changing an operation performed on an application program executed by the object; and for generating input signals to an application program that is executable on a portable electronic device will now be described. Referring to the flow chart in
The first set of signals produced by the two- or three-axis accelerometer (STEP 2A) correspond to accelerations and/or changes in acceleration in the X-, Y-, and Z-directions, Ax, Ay, Az, which are proportional to changes in the inertial attitude of the portable electronic device. Similarly, the second set of signals produced by the three-axis magnetic field sensor (STEP 2B) correspond to the magnetic field strength and/or changes in the magnetic field strength about the X-, Y-, and Z-axes, Mx, My, Mz, which also are proportional to changes in the inertial attitude of the portable electronic device.
The first and second sets of signals are then processed (STEP 3), which can include, without limitation, converting analog signals to digital signals using an A/D converter. The digital signals can then be processed, e.g., through a processing unit, to calculate one or more of pitch, yaw, roll, which is to say, the attitude of the device and/or changes thereto, and the angular rate about the X-, Y-, and/or Z-axis (STEP 4) and/or changes thereto.
The calculated pitch, yaw, roll, and/or angular rotations are then translated into input signals that are compatible with an application program being executed on or executable by the portable electronic device (STEP 5). More particularly, the calculated pitch, yaw, roll, and/or angular rotations are translated into input signals that change an operation on the application program.
For example, in use in conjunction with 3D image manipulation, the accelerations and magnetic field strengths can first be calculated and then be adapted to describe the 3D image's movement and displacement along and or rotation about the X-, Y- and/or Z-axis. Thus, when the portable electronic device is rotated about one or more of its inertial axes, some or all of the accelerations and magnetic field strengths will be changes, which translates into changes in pitch, yaw, roll, and/or in angular rotation. When these changes are translated and input into the application program being executed on the portable electronic device, the 3D image is moved proportional to the input signals from the rotated portable electronic device.
Application of the present invention, however, is not limited to portable devices. Indeed, the present invention is applicable to any electronic device, whether portable or not, having a human-machine, i.e., user, interface. For example, those of ordinary skill in the art can adapt the pitch, yaw, and roll functions of the present invention for use with a mouse to generate input signals to a personal computer; a remote controller to generate signals to a host device, such as, without limitation, a television, a radio, a DVD player, a stereo system or other multi-media device and an electronic instrument, e.g., an electronic piano or organ.
The present application is a continuation-in-part of U.S. patent application Ser. No. 11/825,993 filed on Jul. 10, 2007, entitled “SYSTEM FOR SENSING YAW RATE USING A MAGNETIC FIELD SENSOR AND PORTABLE ELECTRONIC DEVICES USING THE SAME,” which claims the benefit of Provisional Patent Application No. 60/906,100 dated Mar. 9, 2007, entitled “Motion and Attitude Sensing for Portable Electronic Devices” and Provisional Patent Application No. 60/819,735 dated Jul. 10, 2006, entitled “Yaw Rate Sensing by Using Magnetic Field Sensor (Compass)—Replacing Gyro Function with a Compass”.
Number | Date | Country | |
---|---|---|---|
60819735 | Jul 2006 | US | |
60906100 | Mar 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11825993 | Jul 2007 | US |
Child | 13193139 | US |