US20190212834A1 - Software gyroscope apparatus - Google Patents
Software gyroscope apparatus Download PDFInfo
- Publication number
- US20190212834A1 US20190212834A1 US16/284,411 US201916284411A US2019212834A1 US 20190212834 A1 US20190212834 A1 US 20190212834A1 US 201916284411 A US201916284411 A US 201916284411A US 2019212834 A1 US2019212834 A1 US 2019212834A1
- Authority
- US
- United States
- Prior art keywords
- canceled
- magnetic component
- orientation
- gravity vector
- gyroscope apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C17/00—Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
- G01C17/02—Magnetic compasses
- G01C17/28—Electromagnetic compasses
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V7/00—Measuring gravitational fields or waves; Gravimetric prospecting or detecting
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01V—GEOPHYSICS; GRAVITATIONAL MEASUREMENTS; DETECTING MASSES OR OBJECTS; TAGS
- G01V7/00—Measuring gravitational fields or waves; Gravimetric prospecting or detecting
- G01V7/02—Details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2200/00—Indexing scheme relating to G06F1/04 - G06F1/32
- G06F2200/16—Indexing scheme relating to G06F1/16 - G06F1/18
- G06F2200/163—Indexing scheme relating to constructional details of the computer
- G06F2200/1637—Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
Definitions
- the present disclosure relates generally to mobile communications devices and human-computer interfaces therefor including integrated sensors, and more particularly to a gyroscope apparatus.
- Mobile devices fulfill a variety of roles, from voice communications and text-based communications such as Short Message Service (SMS) and e-mail, to calendaring, task lists, and contact management, as well as typical Internet based functions such as web browsing, social networking, online shopping, and online banking.
- SMS Short Message Service
- e-mail e-mail
- calendaring e-mail
- contact management e.g., calendaring
- contact management e.g., mobile devices that can also be used for photography or taking snapshots, navigation with mapping and Global Positioning System (GPS), cashless payments with NFC (Near Field Communications) point-of-sale terminals, and so forth.
- GPS Global Positioning System
- NFC Near Field Communications
- mobile devices can take on different form factors with varying dimensions, there are several commonalities between devices that share this designation. These include a general purpose data processor that executes pre-programmed instructions, along with wireless communication modules by which data is transmitted and received. The processor further cooperates with multiple input/output devices, including combination touch input display screens, audio components such as speakers, microphones, and related integrated circuits, GPS modules, and physical buttons/input modalities. More recent devices also include accelerometers, gyroscopes, and compasses that can sense motion and direction. For portability purposes, all of these components are powered by an on-board battery. In order to accommodate the low power consumption requirements, Advanced Reduced Instruction Set Computing Machine ARM architecture processors have been favored for mobile devices.
- GSM Global System for Mobile communications
- CDMA Code Division Multiple Access
- Bluetooth close range device-to-device data communication modalities
- a mobile operating system also referenced in the art as a mobile platform.
- mobile platforms include Android from Google, Inc., iOS from Apple, Inc., and Windows Phone, from Microsoft, Inc. These three platforms account for over 98.6% share of the domestic U.S. market.
- the mobile operating system provides several fundamental software modules and a common input/output interface that can be used by third party applications via application programming interfaces.
- This flexible development environment has led to an explosive growth in mobile software applications, also referred to in the art as “apps.”
- Third party apps are typically downloaded to the target device via a dedicated app distribution system specific to the platform. Although apps are executed locally on the device, their functionality and utility may be significantly enhanced with data retrieved from remote sources. Indeed, many apps function as mobile-specific interfaces to web-based application services.
- the screen may be three to five inches diagonally.
- One of the inherent usability limitations associated with mobile devices is the reduced screen size; despite improvements in resolution allowing for smaller objects to be rendered clearly, buttons and other functional elements of the interface nevertheless occupy a large area of the screen. Accordingly, notwithstanding the enhanced interactivity possible with multi-touch input gestures, the small display area remains a significant restriction of the mobile device user interface.
- the integrated motion sensors that is, micro electro-mechanical systems or MEMS
- Some applications such as games are suited for motion-based controls, and typically utilize roll, pitch, and yaw rotations applied to the mobile device as inputs that control an on-screen element.
- more recent remote controllers for video game console systems also have incorporated accelerometers such that motion imparted to the controller is translated to a corresponding virtual action displayed on-screen.
- motion sensors may be used to switch from portrait to landscape views, and vice versa, while rotating and resizing the entire viewable content.
- MEMS sensor devices Three-axis accelerometers, 3-axis magnetometers, and 3-axis gyroscopes, all of which may be integrated into a single modular unit, are examples MEMS sensor devices. Additionally, the integrated circuit may include a motion co-processor that gathers the sensor signals and derives usable motion data therefrom.
- motion sensors are almost universally incorporated into mid to high-end handheld and wearable devices, due to its increased manufacturing costs and size restrictions, some low-end devices do not incorporate these sensors. These devices are typically marketed across large populations in developing regions such as Africa, India, and China for under $50, and accordingly have a wide user base therein. Such low-cost devices are also widely available domestically.
- miniaturization of the MEMS modules have allowed for integration into mobile communications devices, but they may still be too large for wearable devices such as headsets, watches, health tracking devices, augmented reality (AR) and virtual reality (VR) devices, sensor-enabled clothing, and so forth.
- wearable devices such as headsets, watches, health tracking devices, augmented reality (AR) and virtual reality (VR) devices, sensor-enabled clothing, and so forth.
- AR augmented reality
- VR virtual reality
- the present disclosure is directed to a gyroscope apparatus in which a three-axis gyroscope hardware is replaced with a software implementation thereof employing a three-axis accelerometer and a three-axis magnetometer.
- a MEMS gyroscope is emulated, and rotational rate of change data may be derived without the attendant costs of a hardware gyroscope.
- a gravity vector generator connected to the accelerometer and receptive to acceleration readings therefrom at a first time instance and at a second time instance. Gravity vector values may be extracted from the acceleration readings.
- a magnetic component output generator connected to the magnetic component and receptive to magnetic component readings therefrom at the first time instance and at the second time instance. Magnetic field vector values may be extracted from the magnetic component readings.
- the gyroscope apparatus may also include a sensor fusion engine connected to the gravity vector generator and to the magnetic component output generator.
- the gravity vector value and the magnetic field vector value at the first time instance may be combined to represent a first orientation value.
- the gravity vector value and the magnetic field vector value at the second time instance may be combined to represent a second orientation value.
- An orientation rate of change may be derived from a difference between the first orientation value and the second orientation value.
- Another embodiment of the present disclosure is directed to a method for simulating a gyroscope with a hardware device including an accelerometer and a magnetic component.
- the method may include extracting a first gravity vector reading from the accelerometer at a first time instance. Concurrently with the extraction of the first gravity vector reading, the method may include extracting a first magnetic component reading from the magnetic component at the first time instance. There may also be a step of combining the concurrently extracted first gravity vector reading and the first magnetic component reading into a first device orientation value.
- the method may further include extracting a second gravity vector reading from the accelerometer at a second time instance different from the first time instance.
- the method may further include combining the concurrently extracted second gravity vector reading and the second magnetic component reading into a second device orientation value. There may also be a step of deriving a rotational rate of change from a difference between the first device orientation value and the second device orientation value.
- FIG. 1 is a block diagram illustrating the various hardware components of an exemplary mobile communications device that may be utilized in connection with the embodiments of the present disclosure
- FIG. 2 is a block diagram of a gyroscope apparatus in accordance with one embodiment
- FIG. 3 is a flowchart depicting a method for simulating a gyroscope with a hardware accelerometer and magnetometer;
- FIG. 1 illustrates one exemplary mobile communications device 10 on which various embodiments of the present disclosure may be implemented.
- the mobile communications device 10 may be a smartphone, and therefore include a radio frequency (RF) transceiver 12 that transmits and receives signals via an antenna 13 .
- RF radio frequency
- Conventional devices are capable of handling multiple wireless communications modes simultaneously. These include several digital phone modalities such as UMTS (Universal Mobile Telecommunications System), 4G LTE (Long Term Evolution), and the like.
- the RF transceiver 12 includes a UMTS module 12 a .
- the RF transceiver 12 may implement other wireless communications modalities such as WiFi for local area networking and accessing the Internet by way of local area networks, and Bluetooth for linking peripheral devices such as headsets. Accordingly, the RF transceiver may include a WiFi module 12 c and a Bluetooth module 12 d .
- the enumeration of various wireless networking modules is not intended to be limiting, and others may be included without departing from the scope of the present disclosure.
- the mobile communications device 10 is understood to implement a wide range of functionality through different software applications, which are colloquially known as “apps” in the mobile device context.
- the software applications are comprised of pre-programmed instructions that are executed by a central processor 1 and that may be stored on a memory 16 .
- the results of these executed instructions may be output for viewing by a user, and the sequence/parameters of those instructions may be modified via inputs from the user.
- the central processor 14 interfaces with an input/output subsystem 18 that manages the output functionality of a display 20 and the input functionality of a touch screen 22 and one or more buttons 24 .
- buttons 24 may serve a general purpose escape function, while another may serve to power up or power down the mobile communications device 10 . Additionally, there may be other buttons and switches for controlling volume, limiting haptic entry, and so forth. Those having ordinary skill in the art will recognize other possible input/output devices that could be integrated into the mobile communications device 10 , and the purposes such devices would serve.
- Other smartphone devices may include keyboards (not shown) and other mechanical input devices.
- the mobile communications device 10 includes several other peripheral devices.
- One of the more basic is an audio subsystem 26 including an audio input 28 and an audio output 30 that allows the user to conduct voice telephone calls.
- the audio input 28 is connected to a microphone 32 that converts sound to electrical signals, and may include amplifier and ADC (analog to digital converter) circuitry that transforms the continuous analog electrical signals to digital data.
- the audio output 30 is connected to a loudspeaker 34 that converts electrical signals to air pressure waves that result in sound, and may likewise include amplifier and DAC (digital to analog converter) circuitry that transforms the digital sound data to a continuous analog electrical signal that drives the loudspeaker 34 .
- the audio input and output may be handled by an audio processor 27 . Furthermore, it is possible to capture still images and video via a camera 36 that is managed by an imaging module 38 .
- the mobile communications device 10 includes a location module 40 , which may be a Global Positioning System (GPS) receiver that is connected to a separate antenna 42 and generates coordinates data of the current location as extrapolated from signals received from the network of GPS satellites.
- GPS Global Positioning System
- Motions imparted upon the mobile communications device 10 may be captured as data with a motion subsystem 44 .
- the motion subsystem 44 includes an accelerometer 46 and a compass 48 , which is typical of lower cost devices 10 that specifically omit a hardware gyroscope.
- the accelerometer 46 and the compass 48 directly communicate with the central processor 14
- more recent variations of the mobile communications device 10 utilize a separate motion co-processor 50 to which the acceleration and direction processing is offloaded for greater efficiency and reduced electrical power consumption.
- the components of the motion subsystem 44 may be incorporated into a separate, external device.
- This external device may be wearable by the user and communicatively linked to the mobile communications device 10 over the aforementioned data link modalities.
- the same physical interactions contemplated with the mobile communications device 10 to invoke various functions as discussed in further detail below may be possible with such external wearable device.
- one of the other sensors 51 may be a proximity sensor to detect the presence or absence of the user to invoke certain functions, while another may be a light sensor that adjusts the brightness of the display 20 according to ambient light conditions.
- a proximity sensor to detect the presence or absence of the user to invoke certain functions
- another may be a light sensor that adjusts the brightness of the display 20 according to ambient light conditions.
- a gyroscope system or apparatus 52 is generally comprised of an accelerometer module 54 that captures, processes, and reports data from the accelerometer 46 , along with a magnetic component module 56 that similarly captures, processes, and reports data from magnetic component hardware 58 .
- the accelerometer module 54 is understood to encompass the hardware of the accelerometer 46 , along with various functional modules that may be implemented as a series of software instructions executed by the central processor 14 .
- the magnetic component module 56 likewise encompasses the hardware 58 , which may be a three-axis magnetometer 60 , or alternatively, a single-axis compass 62 . In some implementations, there may be a three-axis magnetometer 60 present within the device, but a soft compass may be implemented using such multi-axis magnetometer and limit the availability of data pertaining to the other axes.
- the magnetometer hardware 58 may be entirely omitted, in which case various embodiments of the present disclosure contemplate a polyfill engine 64 that outputs data based upon certain assumptions and which allow device orientation to be calculated. Each of these components may be generally referred to as a magnetic component 65 .
- the magnetic component module 56 is also understood to include several software-implemented functional modules that utilize the data generated by the hardware.
- the accelerometer module 54 includes a gravity vector generator 57 , which captures sensor readings from the accelerometer hardware 46 .
- the accelerometer 46 is a three-axis micro-electro-mechanical sensor that measures and reports acceleration along the x, y, and z axes.
- the reported acceleration data is understood to provide the total acceleration vector in the device frame, and is captured and processed by a hardware interpreter 66 that is part of the gravity vector generator 58 .
- the hardware interpreter 66 is understood to capture the continuous electrical signals output by the accelerometer hardware 46 , and quantifies the same into usable numerical values.
- the accelerometer readings are captured on a periodic basis over multiple time instances, and the data may be generated in terms of time-coded values or as a sequence of readings with a known sampling rate.
- the gravity vector generator 57 also includes a low pass filter 68 that removes the dynamic acceleration from the accelerometer readings, leaving the static acceleration, which is the force corresponding to gravity. From such gravity vector readings over multiple instances of time, the rate of change in gravity direction can be calculated.
- the output of the gravity vector generator 57 , and more particularly the low pass filter 68 will be referred to as the gravity vector values 70 , and is understood to cover to of the three axes needed to ascertain rotation.
- the magnetic component module 56 includes the magnet component hardware 58 , which reports a total magnetic field vector along three axes at a given time instant.
- the magnetic component module 56 also includes a magnetic component output generator 72 that queries the magnetic components 65 for multiple readings (magnetic field vectors) over sequential time instances. This readings are understood to relate to the last axis of rotation to determine device orientation.
- the magnetic component output generator 72 thus includes a hardware interpreter 73 that captures the electrical signals output by the magnetic component hardware 58 , and translates the same to usable data representative of the readings.
- the magnetic component output generator 72 further includes a calibrator 74 that is connected to the magnetic component hardware 58 that determines a degree of compensation to be applied to the readings based upon separating the internal and external contributions to the magnetic field. Once a correction factor is calculated, it is applied to each reading to correct its value relative to the calibration point.
- the magnetic component module 56 further includes a filter 76 that removes components of the magnetic field vector values corresponding to local magnetic disturbances.
- the calibrator 74 and the filter 76 there is also a magnetic field projector 78 that is part of the magnetic component module 56 and connected to the magnetic component 64 .
- the magnetic field projector 78 projects the received magnetic field vector into the horizontal plane given by gravity. The remaining angle is understood to correspond to the heading in the direction of magnetic north. Using multiple magnetic field vector readings over multiple time instances, the rate of change in the north heading can be ascertained.
- a sensor fusion engine 80 is connected to the output of the accelerometer module 54 and the magnetic component module 56 .
- the time series gravity vector values 70 and the time series magnetic component values 82 are combined to yield a device orientation.
- a correction or embedding process 84 may be applied prior to processing this combination.
- a correction operation may be applied with magnetic component readings output from an actual three-axis magnetometer 60 .
- magnetic component readings output from a single-axis hardware compass, or from a software-implemented compass using data from a three-axis magnetometer 60 there may be an additional step of embedding the values into a three-axis magnetometer form.
- the rate of change in orientation can be determined by a corresponding module 86 .
- the orientation, as well as the orientation rate of change, are understood to be relative to the world frame defined by gravity and north.
- a frame converter 89 converts the rate of change from the world frame to be relative to the device frame.
- attitude estimates can be used to bolster computed directions of the gravity and magnetic north vectors using various methods, such as horizon detection algorithms or general feature matching across frames captured by the camera 36 . Such methods provide redundant information to estimating the direction of gravity, as well as information for encoding a given compass heading angle into a triaxial magnetic north direction. Alternatively, a correction to a given magnetic component reading is possible.
- the data may be captured via an attitude estimator 88 . Further processing can take place in the sensor fusion engine 80 , or be applied to the magnetometer direction estimation and gravity direction estimation directly. It is also possible to eliminate the accelerometer module 54 to the extent the camera 36 is exclusively utilized to provide gravity vector data, rather than for redundancy purposes.
- the gyroscope apparatus 52 may be running on the mobile communications device 10 , and the data generated thereby may be utilized by an external application 90 .
- the external application 90 may periodically request the orientation data as needed, and utilize the reported information to affect the functionality thereof. For example, in a three-dimensional “augmented reality” interface, physical movement of the mobile communications device may be interpreted accordingly by the accelerometer 46 , the magnetic component 65 , and the gyroscope apparatus 52 , and display graphical elements may be re-positioned in response to the movement, the degree and extent of which is in accordance with the orientation information.
- augmented reality augmented reality
- the gyroscope apparatus 52 may include an application programming interface 92 , through which a request for orientation data can be made, as well as the responsive orientation data can be passed back to the application 90 .
- the application 90 itself may provide such values for further processing by the magnetic component output generator 72 .
- a method for simulating a gyroscope may begin with a step 300 of extracting a first gravity vector reading from the accelerometer 46 at a first time instance. This step may be performed by the gravity vector generator 58 in the manner described above. Along these lines, the low pass filter 60 may be applied to the first gravity vector readings, which as explained previously, removes the dynamic acceleration components.
- step 302 of extracting a first magnetic component reading from the magnetic components 65 This is understood to take place at the first time instance as the step 300 of extracting the first gravity vector reading from the accelerometer 46 .
- the extraction of the first magnetic north heading reading is also understood to encompass the aforementioned calibration, filtering, and projecting procedures.
- the first gravity vector reading and the first magnetic component reading from the first time instance are combined into a first device orientation value in a step 304 . This step may be performed by the sensor fusion engine 70 in various embodiments.
- Steps 300 - 304 are repeated at a second time instance. Specifically, there is a step 310 of extracting a second gravity vector reading at a second time instance, and a concurrent step 312 of extracting a second magnetic component reading at the second time instance. Thereafter, in a step 314 , the second gravity vector reading and the second magnetic component reading are combined into a second orientation value.
- the extraction of the gravity vector readings and magnetic component readings may be repeated an arbitrary number of times to build up a sufficient corpus of data to reliably derive orientation data.
- the method continues with a step 320 of deriving a rotational rate of change from a difference between the first device orientation value and the second device orientation value.
- This data may be output via the application programming interface 76 , either automatically on a periodic basis, or in response to a request received via the application programming interface 76 .
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Human Computer Interaction (AREA)
- Life Sciences & Earth Sciences (AREA)
- Geophysics (AREA)
- General Life Sciences & Earth Sciences (AREA)
- Electromagnetism (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
A gyroscope apparatus for a device including an accelerometer and a magnetic component has a gravity vector generator connected to the accelerometer and receptive to acceleration readings therefrom. A magnetic component output generator is connected to the magnetic component and receptive to magnetic component readings. A sensor fusion engine is connected to the gravity vector generator and to the magnetic component output generator, with a gravity vector value and a magnetic field vector value at a first time instance being combined to represent a first orientation value. The gravity vector value and the magnetic field vector value at a second time instance are combined to represent a second orientation value. An orientation rate of change is derived from a difference between the first orientation value and the second orientation value.
Description
- This application relates to and claims the benefit of U.S. Provisional Application No. 62/320,216 filed Apr. 8, 2016 and entitled “SOFTWARE GYROSCOPE APPARATUS,” the entire disclosure of which is hereby wholly incorporated by reference.
- Not Applicable
- The present disclosure relates generally to mobile communications devices and human-computer interfaces therefor including integrated sensors, and more particularly to a gyroscope apparatus.
- Mobile devices fulfill a variety of roles, from voice communications and text-based communications such as Short Message Service (SMS) and e-mail, to calendaring, task lists, and contact management, as well as typical Internet based functions such as web browsing, social networking, online shopping, and online banking. With the integration of additional hardware components, mobile devices can also be used for photography or taking snapshots, navigation with mapping and Global Positioning System (GPS), cashless payments with NFC (Near Field Communications) point-of-sale terminals, and so forth. Such devices have seen widespread adoption in part due to the convenient accessibility of these functions and more from a single portable device that can always be within the user's reach.
- Although mobile devices can take on different form factors with varying dimensions, there are several commonalities between devices that share this designation. These include a general purpose data processor that executes pre-programmed instructions, along with wireless communication modules by which data is transmitted and received. The processor further cooperates with multiple input/output devices, including combination touch input display screens, audio components such as speakers, microphones, and related integrated circuits, GPS modules, and physical buttons/input modalities. More recent devices also include accelerometers, gyroscopes, and compasses that can sense motion and direction. For portability purposes, all of these components are powered by an on-board battery. In order to accommodate the low power consumption requirements, Advanced Reduced Instruction Set Computing Machine ARM architecture processors have been favored for mobile devices. Several distance and speed-dependent communication protocols may be implemented, including longer range cellular network modalities such as GSM (Global System for Mobile communications), Code Division Multiple Access (CDMA), and so forth, high speed local area networking modalities such as WiFi, and close range device-to-device data communication modalities such as Bluetooth.
- Management of these hardware components is performed by a mobile operating system, also referenced in the art as a mobile platform. Currently, popular mobile platforms include Android from Google, Inc., iOS from Apple, Inc., and Windows Phone, from Microsoft, Inc. These three platforms account for over 98.6% share of the domestic U.S. market.
- The mobile operating system provides several fundamental software modules and a common input/output interface that can be used by third party applications via application programming interfaces. This flexible development environment has led to an explosive growth in mobile software applications, also referred to in the art as “apps.” Third party apps are typically downloaded to the target device via a dedicated app distribution system specific to the platform. Although apps are executed locally on the device, their functionality and utility may be significantly enhanced with data retrieved from remote sources. Indeed, many apps function as mobile-specific interfaces to web-based application services.
- Yet, notwithstanding the availability of device-native apps for the most popular web applications, users continue to rely on general-purpose web browsers installed on the mobile devices to access websites. When accessed from a mobile web browser app, alternative interfaces with larger fonts and simplified layouts that are more suitable for viewing content from the smaller display area of a mobile communications device may be presented.
- User interaction with the mobile device, including the invoking of the functionality of these applications and websites, and the presentation of the results therefrom, is, for the most part, restricted to the graphical touch user interface. That is, the extent of any user interaction is limited to what can be displayed on the screen, and the inputs that can be provided to the touch interface are similarly limited to what can be detected by the touch input panel. Touch interfaces in which users press, tap, slide, flick, pinch regions of the sensor panel overlaying the displayed graphical elements with one or more fingers, particularly when coupled with corresponding animated display reactions responsive to such actions, may be more intuitive than conventional keyboard and mouse input modalities associated with personal computer systems. Thus, minimal training and instruction is required for the user to operate these devices.
- However, as noted previously, mobile devices must have a small footprint for portability reasons. Depending on the manufacturer's specific configuration, the screen may be three to five inches diagonally. One of the inherent usability limitations associated with mobile devices is the reduced screen size; despite improvements in resolution allowing for smaller objects to be rendered clearly, buttons and other functional elements of the interface nevertheless occupy a large area of the screen. Accordingly, notwithstanding the enhanced interactivity possible with multi-touch input gestures, the small display area remains a significant restriction of the mobile device user interface.
- Expanding beyond the confines of the touch interface, the integrated motion sensors, that is, micro electro-mechanical systems or MEMS, have been utilized as an input means. Some applications such as games are suited for motion-based controls, and typically utilize roll, pitch, and yaw rotations applied to the mobile device as inputs that control an on-screen element. Along these lines, more recent remote controllers for video game console systems also have incorporated accelerometers such that motion imparted to the controller is translated to a corresponding virtual action displayed on-screen. Additionally, motion sensors may be used to switch from portrait to landscape views, and vice versa, while rotating and resizing the entire viewable content. Three-axis accelerometers, 3-axis magnetometers, and 3-axis gyroscopes, all of which may be integrated into a single modular unit, are examples MEMS sensor devices. Additionally, the integrated circuit may include a motion co-processor that gathers the sensor signals and derives usable motion data therefrom.
- Although motion sensors are almost universally incorporated into mid to high-end handheld and wearable devices, due to its increased manufacturing costs and size restrictions, some low-end devices do not incorporate these sensors. These devices are typically marketed across large populations in developing regions such as Africa, India, and China for under $50, and accordingly have a wide user base therein. Such low-cost devices are also widely available domestically.
- Moreover, miniaturization of the MEMS modules have allowed for integration into mobile communications devices, but they may still be too large for wearable devices such as headsets, watches, health tracking devices, augmented reality (AR) and virtual reality (VR) devices, sensor-enabled clothing, and so forth. Proper placement of the MEMS modules in the limited space of these platforms, particularly where other critical components are needed, may also be restricted.
- Accordingly, there is a need in the art for a gyroscope apparatus by which motion sensing capabilities and interactivity based on motion inputs may be implemented on inexpensive mobile devices and wearable devices without a hardware gyroscope sensor module. There is also a need in the art for embedding a full motion sensing system at reasonable cost, so that motion-based interactivity may be widely disseminated.
- The present disclosure is directed to a gyroscope apparatus in which a three-axis gyroscope hardware is replaced with a software implementation thereof employing a three-axis accelerometer and a three-axis magnetometer. Generally, the functionality of a MEMS gyroscope is emulated, and rotational rate of change data may be derived without the attendant costs of a hardware gyroscope.
- One embodiment contemplates a gyroscope apparatus for a device including an accelerometer and a magnetic component. There may be a gravity vector generator connected to the accelerometer and receptive to acceleration readings therefrom at a first time instance and at a second time instance. Gravity vector values may be extracted from the acceleration readings. There may also be a magnetic component output generator connected to the magnetic component and receptive to magnetic component readings therefrom at the first time instance and at the second time instance. Magnetic field vector values may be extracted from the magnetic component readings. The gyroscope apparatus may also include a sensor fusion engine connected to the gravity vector generator and to the magnetic component output generator. The gravity vector value and the magnetic field vector value at the first time instance may be combined to represent a first orientation value. The gravity vector value and the magnetic field vector value at the second time instance may be combined to represent a second orientation value. An orientation rate of change may be derived from a difference between the first orientation value and the second orientation value.
- Another embodiment of the present disclosure is directed to a method for simulating a gyroscope with a hardware device including an accelerometer and a magnetic component. The method may include extracting a first gravity vector reading from the accelerometer at a first time instance. Concurrently with the extraction of the first gravity vector reading, the method may include extracting a first magnetic component reading from the magnetic component at the first time instance. There may also be a step of combining the concurrently extracted first gravity vector reading and the first magnetic component reading into a first device orientation value. The method may further include extracting a second gravity vector reading from the accelerometer at a second time instance different from the first time instance. Concurrently with the extraction of the second gravity vector reading, there may be a step of extracting a second magnetic component reading from the magnetic component at the second time instance. The method may further include combining the concurrently extracted second gravity vector reading and the second magnetic component reading into a second device orientation value. There may also be a step of deriving a rotational rate of change from a difference between the first device orientation value and the second device orientation value.
- Certain other embodiments of the present disclosure contemplate respective computer-readable program storage media that each tangibly embodies one or more programs of instructions executable by a data processing device to perform the foregoing methods. The present disclosure will be best understood accompanying by reference to the following detailed description when read in conjunction with the drawings.
- These and other features and advantages of the various embodiments disclosed herein will be better understood with respect to the following description and drawings, in which like numbers refer to like parts throughout, and in which:
-
FIG. 1 is a block diagram illustrating the various hardware components of an exemplary mobile communications device that may be utilized in connection with the embodiments of the present disclosure; -
FIG. 2 is a block diagram of a gyroscope apparatus in accordance with one embodiment; -
FIG. 3 is a flowchart depicting a method for simulating a gyroscope with a hardware accelerometer and magnetometer; - The present disclosure encompasses various embodiments of a gyroscope apparatus. The detailed description set forth below in connection with the appended drawings is intended as a description of the several presently contemplated embodiments of these apparatuses, and is not intended to represent the only form in which the disclosed invention may be developed or utilized. The description sets forth the functions and features in connection with the illustrated embodiments. It is to be understood, however, that the same or equivalent functions may be accomplished by different embodiments that are also intended to be encompassed within the scope of the present disclosure. It is further understood that the use of relational terms such as first and second and the like are used solely to distinguish one from another entity without necessarily requiring or implying any actual such relationship or order between such entities.
-
FIG. 1 illustrates one exemplarymobile communications device 10 on which various embodiments of the present disclosure may be implemented. Themobile communications device 10 may be a smartphone, and therefore include a radio frequency (RF)transceiver 12 that transmits and receives signals via anantenna 13. Conventional devices are capable of handling multiple wireless communications modes simultaneously. These include several digital phone modalities such as UMTS (Universal Mobile Telecommunications System), 4G LTE (Long Term Evolution), and the like. For example, theRF transceiver 12 includes aUMTS module 12 a. To the extent that coverage of such more advanced services may be limited, it may be possible to drop down to a different but related modality such as EDGE (Enhanced Data rates for GSM Evolution) or GSM (Global System for Mobile communications), with specific modules therefor also being incorporated in theRF transceiver 12, for example,GSM module 12 b. Aside from multiple digital phone technologies, theRF transceiver 12 may implement other wireless communications modalities such as WiFi for local area networking and accessing the Internet by way of local area networks, and Bluetooth for linking peripheral devices such as headsets. Accordingly, the RF transceiver may include aWiFi module 12 c and aBluetooth module 12 d. The enumeration of various wireless networking modules is not intended to be limiting, and others may be included without departing from the scope of the present disclosure. - The
mobile communications device 10 is understood to implement a wide range of functionality through different software applications, which are colloquially known as “apps” in the mobile device context. The software applications are comprised of pre-programmed instructions that are executed by a central processor 1 and that may be stored on amemory 16. The results of these executed instructions may be output for viewing by a user, and the sequence/parameters of those instructions may be modified via inputs from the user. To this end, thecentral processor 14 interfaces with an input/output subsystem 18 that manages the output functionality of adisplay 20 and the input functionality of atouch screen 22 and one ormore buttons 24. - In a conventional smartphone device, the user primarily interacts with a graphical user interface that is generated on the
display 20 and includes various user interface elements that can be activated based on haptic inputs received on thetouch screen 22 at positions corresponding to the underlying displayed interface element. One of thebuttons 24 may serve a general purpose escape function, while another may serve to power up or power down themobile communications device 10. Additionally, there may be other buttons and switches for controlling volume, limiting haptic entry, and so forth. Those having ordinary skill in the art will recognize other possible input/output devices that could be integrated into themobile communications device 10, and the purposes such devices would serve. Other smartphone devices may include keyboards (not shown) and other mechanical input devices. - The
mobile communications device 10 includes several other peripheral devices. One of the more basic is anaudio subsystem 26 including anaudio input 28 and anaudio output 30 that allows the user to conduct voice telephone calls. Theaudio input 28 is connected to amicrophone 32 that converts sound to electrical signals, and may include amplifier and ADC (analog to digital converter) circuitry that transforms the continuous analog electrical signals to digital data. Furthermore, theaudio output 30 is connected to aloudspeaker 34 that converts electrical signals to air pressure waves that result in sound, and may likewise include amplifier and DAC (digital to analog converter) circuitry that transforms the digital sound data to a continuous analog electrical signal that drives theloudspeaker 34. The audio input and output may be handled by an audio processor 27. Furthermore, it is possible to capture still images and video via acamera 36 that is managed by animaging module 38. - Due to its inherent mobility, users can access information and interact with the
mobile communications device 10 practically anywhere. Additional context in this regard is discernible from inputs pertaining to location, movement, and physical and geographical orientation, which further enhance the user experience. Accordingly, themobile communications device 10 includes alocation module 40, which may be a Global Positioning System (GPS) receiver that is connected to aseparate antenna 42 and generates coordinates data of the current location as extrapolated from signals received from the network of GPS satellites. - Motions imparted upon the
mobile communications device 10, as well as the physical and geographical orientation of the same, may be captured as data with amotion subsystem 44. In the embodiment illustrated, themotion subsystem 44 includes anaccelerometer 46 and acompass 48, which is typical oflower cost devices 10 that specifically omit a hardware gyroscope. Although in some embodiments theaccelerometer 46 and thecompass 48 directly communicate with thecentral processor 14, more recent variations of themobile communications device 10 utilize aseparate motion co-processor 50 to which the acceleration and direction processing is offloaded for greater efficiency and reduced electrical power consumption. - The components of the
motion subsystem 44, including theaccelerometer 46 and thecompass 48, while shown as integrated into themobile communications device 10, may be incorporated into a separate, external device. This external device may be wearable by the user and communicatively linked to themobile communications device 10 over the aforementioned data link modalities. The same physical interactions contemplated with themobile communications device 10 to invoke various functions as discussed in further detail below may be possible with such external wearable device. - There are
other sensors 51 that can be utilized in themobile communications device 10 for different purposes. For example, one of theother sensors 51 may be a proximity sensor to detect the presence or absence of the user to invoke certain functions, while another may be a light sensor that adjusts the brightness of thedisplay 20 according to ambient light conditions. Those having ordinary skill in the art will recognize thatother sensors 51 beyond those considered herein are also possible. - The present disclosure is directed to utilizing a combination of available motion sensors in the
motion subsystem 44 of amobile device 10, for example, theaccelerometer 46 and thecompass 48, and additional processing of readings from such available sensors to replace a hardware gyroscope. Referring to the block diagram ofFIG. 2 , a gyroscope system orapparatus 52 is generally comprised of anaccelerometer module 54 that captures, processes, and reports data from theaccelerometer 46, along with amagnetic component module 56 that similarly captures, processes, and reports data frommagnetic component hardware 58. - The
accelerometer module 54 is understood to encompass the hardware of theaccelerometer 46, along with various functional modules that may be implemented as a series of software instructions executed by thecentral processor 14. Themagnetic component module 56 likewise encompasses thehardware 58, which may be a three-axis magnetometer 60, or alternatively, a single-axis compass 62. In some implementations, there may be a three-axis magnetometer 60 present within the device, but a soft compass may be implemented using such multi-axis magnetometer and limit the availability of data pertaining to the other axes. In some devices, themagnetometer hardware 58 may be entirely omitted, in which case various embodiments of the present disclosure contemplate apolyfill engine 64 that outputs data based upon certain assumptions and which allow device orientation to be calculated. Each of these components may be generally referred to as amagnetic component 65. Themagnetic component module 56 is also understood to include several software-implemented functional modules that utilize the data generated by the hardware. - The functionalities of the different subcomponents of the
gyroscope apparatus 52 will be described in further detail below, and it will be appreciated that the attribution of functions to the hardware devices and to the software modules is presented by way of example only. It will be appreciated that functionality described herein as being performed by a hardware element may also be performed by a software element, and vice versa, though one having ordinary skill in the art will also appreciate those functions that are conventionally implemented in hardware versus those functions that are conventionally implemented in software. Along these lines, while some components are illustrated as standalone, while other components are illustrated as being a subcomponent of or subsidiary to another component, such divisions are likewise presented by way of example only. - The
accelerometer module 54 includes agravity vector generator 57, which captures sensor readings from theaccelerometer hardware 46. According to one embodiment, theaccelerometer 46 is a three-axis micro-electro-mechanical sensor that measures and reports acceleration along the x, y, and z axes. The reported acceleration data is understood to provide the total acceleration vector in the device frame, and is captured and processed by ahardware interpreter 66 that is part of thegravity vector generator 58. Thehardware interpreter 66 is understood to capture the continuous electrical signals output by theaccelerometer hardware 46, and quantifies the same into usable numerical values. The accelerometer readings are captured on a periodic basis over multiple time instances, and the data may be generated in terms of time-coded values or as a sequence of readings with a known sampling rate. Thegravity vector generator 57 also includes alow pass filter 68 that removes the dynamic acceleration from the accelerometer readings, leaving the static acceleration, which is the force corresponding to gravity. From such gravity vector readings over multiple instances of time, the rate of change in gravity direction can be calculated. The output of thegravity vector generator 57, and more particularly thelow pass filter 68 will be referred to as the gravity vector values 70, and is understood to cover to of the three axes needed to ascertain rotation. - As indicated above, the
magnetic component module 56 includes themagnet component hardware 58, which reports a total magnetic field vector along three axes at a given time instant. Themagnetic component module 56 also includes a magneticcomponent output generator 72 that queries themagnetic components 65 for multiple readings (magnetic field vectors) over sequential time instances. This readings are understood to relate to the last axis of rotation to determine device orientation. The magneticcomponent output generator 72 thus includes ahardware interpreter 73 that captures the electrical signals output by themagnetic component hardware 58, and translates the same to usable data representative of the readings. - The magnetic
component output generator 72 further includes acalibrator 74 that is connected to themagnetic component hardware 58 that determines a degree of compensation to be applied to the readings based upon separating the internal and external contributions to the magnetic field. Once a correction factor is calculated, it is applied to each reading to correct its value relative to the calibration point. Themagnetic component module 56 further includes afilter 76 that removes components of the magnetic field vector values corresponding to local magnetic disturbances. - In addition to the
calibrator 74 and thefilter 76, there is also amagnetic field projector 78 that is part of themagnetic component module 56 and connected to themagnetic component 64. Themagnetic field projector 78 projects the received magnetic field vector into the horizontal plane given by gravity. The remaining angle is understood to correspond to the heading in the direction of magnetic north. Using multiple magnetic field vector readings over multiple time instances, the rate of change in the north heading can be ascertained. - A
sensor fusion engine 80 is connected to the output of theaccelerometer module 54 and themagnetic component module 56. The time series gravity vector values 70 and the time series magnetic component values 82 are combined to yield a device orientation. Prior to processing this combination, however, a correction or embeddingprocess 84 may be applied. With magnetic component readings output from an actual three-axis magnetometer 60, a correction operation may be applied. With magnetic component readings output from a single-axis hardware compass, or from a software-implemented compass using data from a three-axis magnetometer 60, there may be an additional step of embedding the values into a three-axis magnetometer form. - Over multiple values from both the
accelerometer module 54 and thecompass module 56, the rate of change in orientation can be determined by a correspondingmodule 86. The orientation, as well as the orientation rate of change, are understood to be relative to the world frame defined by gravity and north. Aframe converter 89 converts the rate of change from the world frame to be relative to the device frame. - Further refinements to the accuracy of the
gravity vector 70 as output by theaccelerometer module 54, and the accuracy of themagnetic component output 82 are possible with data from thecamera 36. Thecamera 36 may provide additional motion-related data, wherein attitude estimates can be used to bolster computed directions of the gravity and magnetic north vectors using various methods, such as horizon detection algorithms or general feature matching across frames captured by thecamera 36. Such methods provide redundant information to estimating the direction of gravity, as well as information for encoding a given compass heading angle into a triaxial magnetic north direction. Alternatively, a correction to a given magnetic component reading is possible. The data may be captured via anattitude estimator 88. Further processing can take place in thesensor fusion engine 80, or be applied to the magnetometer direction estimation and gravity direction estimation directly. It is also possible to eliminate theaccelerometer module 54 to the extent thecamera 36 is exclusively utilized to provide gravity vector data, rather than for redundancy purposes. - As indicated above, the
gyroscope apparatus 52 may be running on themobile communications device 10, and the data generated thereby may be utilized by anexternal application 90. In one implementation, theexternal application 90 may periodically request the orientation data as needed, and utilize the reported information to affect the functionality thereof. For example, in a three-dimensional “augmented reality” interface, physical movement of the mobile communications device may be interpreted accordingly by theaccelerometer 46, themagnetic component 65, and thegyroscope apparatus 52, and display graphical elements may be re-positioned in response to the movement, the degree and extent of which is in accordance with the orientation information. Those having ordinary skill in the art will recognize the many other ways in which gyroscope/orientation data may be utilized in aninteractive application 90. In order to provide a common interface tomultiple applications 90, thegyroscope apparatus 52 may include anapplication programming interface 92, through which a request for orientation data can be made, as well as the responsive orientation data can be passed back to theapplication 90. In embodiments where thepolyfill engine 64 is utilized to provide magnetic component outputs, theapplication 90 itself may provide such values for further processing by the magneticcomponent output generator 72. - Referring now to the flowchart of
FIG. 3 , according to another embodiment of the present disclosure, a method for simulating a gyroscope is also contemplated. The method may begin with astep 300 of extracting a first gravity vector reading from theaccelerometer 46 at a first time instance. This step may be performed by thegravity vector generator 58 in the manner described above. Along these lines, thelow pass filter 60 may be applied to the first gravity vector readings, which as explained previously, removes the dynamic acceleration components. - There is also a
step 302 of extracting a first magnetic component reading from themagnetic components 65. This is understood to take place at the first time instance as thestep 300 of extracting the first gravity vector reading from theaccelerometer 46. The extraction of the first magnetic north heading reading is also understood to encompass the aforementioned calibration, filtering, and projecting procedures. The first gravity vector reading and the first magnetic component reading from the first time instance are combined into a first device orientation value in astep 304. This step may be performed by thesensor fusion engine 70 in various embodiments. - Steps 300-304 are repeated at a second time instance. Specifically, there is a
step 310 of extracting a second gravity vector reading at a second time instance, and aconcurrent step 312 of extracting a second magnetic component reading at the second time instance. Thereafter, in astep 314, the second gravity vector reading and the second magnetic component reading are combined into a second orientation value. - The extraction of the gravity vector readings and magnetic component readings may be repeated an arbitrary number of times to build up a sufficient corpus of data to reliably derive orientation data. Upon collecting enough data points, the method continues with a
step 320 of deriving a rotational rate of change from a difference between the first device orientation value and the second device orientation value. This data may be output via theapplication programming interface 76, either automatically on a periodic basis, or in response to a request received via theapplication programming interface 76. - The particulars shown herein are by way of example and for purposes of illustrative discussion of the embodiments of the present disclosure only and are presented in the cause of providing what is believed to be the most useful and readily understood description of the principles and conceptual aspects. In this regard, no attempt is made to show details of the present invention with more particularity than is necessary, the description taken with the drawings making apparent to those skilled in the art how the several forms of the present invention may be embodied in practice.
Claims (30)
1. A gyroscope apparatus for a device including an accelerometer and a magnetic component, the apparatus comprising:
a gravity vector generator connected to the accelerometer and receptive to acceleration readings therefrom at a first time instance and at a second time instance, gravity vector values being extracted from the acceleration readings;
a magnetic component output generator connected to the magnetic component and receptive to magnetic component readings therefrom at the first time instance and at the second time instance, magnetic field vector values being extracted from the magnetic component readings; and
a sensor fusion engine connected to the gravity vector generator and to the magnetic component output generator, the gravity vector value and the magnetic field vector value at the first time instance being combined to represent a first orientation value, and the gravity vector value and the magnetic field vector value at the second time instance being combined to represent a second orientation value, an orientation rate of change being derived from a difference between the first orientation value and the second orientation value.
2. The gyroscope apparatus of claim 1 , wherein the magnetic component is a three-axis magnetometer.
3. The gyroscope apparatus of claim 1 , wherein the magnetic component is a compass.
4. The gyroscope apparatus of claim 1 , wherein the magnetic component is a polyfill engine.
5. The gyroscope apparatus of claim 1 , wherein the gravity vector generator includes a low pass filter that removes dynamic acceleration components of the gravity vector values, with static acceleration components of the gravity vector values remaining.
6. The gyroscope apparatus of claim 1 , further comprising:
a calibrator connected to the magnetic component, magnetic component readings being adjusted by a calibration factor prior to the magnetic field vector values being extracted.
7. The gyroscope apparatus of claim 1 , further comprising:
a filter connected to the magnetic component, selected components of magnetic field vector values corresponding to local magnetic disturbances being removed by the filter.
8. The gyroscope apparatus of claim 1 , further comprising:
a magnetic field projector connected to the magnetic component, the magnetic field vector values being projected onto a horizontal plane, with a remaining angle corresponding to a heading relative to magnetic north.
9. The gyroscope apparatus of claim 1 , further comprising:
a frame converter included in the sensor fusion engine; wherein the orientation rate of change is converted to be defined relative to either one of a device frame or a world frame.
10. The gyroscope apparatus of claim 1 , further comprising:
an application programming interface receptive to requests from an external application for device orientation values;
wherein in response to the requests, the application programming interface invokes the sensor fusion engine to generate the first orientation value, the second orientation value, and the orientation rate of change.
11. The gyroscope apparatus of claim 10 , wherein the application programming interface outputs the orientation rate of change to the requesting external application.
12. The gyroscope apparatus of claim 1 , further comprising a camera in communication with the sensor fusion engine.
13. The gyroscope apparatus of claim 12 , wherein a correction is applied to the gravity vector values based upon data from the camera.
14. The gyroscope apparatus of claim 13 , wherein the correction applied to the gravity vector values is propagated to the magnetic field vector values.
15. (canceled)
16. (canceled)
17. (canceled)
18. (canceled)
19. (canceled)
20. (canceled)
21. (canceled)
22. (canceled)
23. (canceled)
24. (canceled)
25. (canceled)
26. (canceled)
27. (canceled)
28. (canceled)
29. (canceled)
30. (canceled)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/284,411 US20190212834A1 (en) | 2016-04-08 | 2019-02-25 | Software gyroscope apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662320216P | 2016-04-08 | 2016-04-08 | |
US15/483,967 US10216290B2 (en) | 2016-04-08 | 2017-04-10 | Gyroscope apparatus |
US16/284,411 US20190212834A1 (en) | 2016-04-08 | 2019-02-25 | Software gyroscope apparatus |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/483,967 Continuation US10216290B2 (en) | 2016-04-08 | 2017-04-10 | Gyroscope apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
US20190212834A1 true US20190212834A1 (en) | 2019-07-11 |
Family
ID=59999398
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/483,967 Expired - Fee Related US10216290B2 (en) | 2016-04-08 | 2017-04-10 | Gyroscope apparatus |
US16/284,411 Abandoned US20190212834A1 (en) | 2016-04-08 | 2019-02-25 | Software gyroscope apparatus |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/483,967 Expired - Fee Related US10216290B2 (en) | 2016-04-08 | 2017-04-10 | Gyroscope apparatus |
Country Status (2)
Country | Link |
---|---|
US (2) | US10216290B2 (en) |
WO (1) | WO2017177237A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817062A (en) * | 2021-01-07 | 2021-05-18 | 中国自然资源航空物探遥感中心 | Aviation gravity measurement data processing method and system |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216290B2 (en) * | 2016-04-08 | 2019-02-26 | Adtile Technologies Inc. | Gyroscope apparatus |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216290B2 (en) * | 2016-04-08 | 2019-02-26 | Adtile Technologies Inc. | Gyroscope apparatus |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5432699A (en) | 1993-10-04 | 1995-07-11 | Schlumberger Technology Corporation | Motion compensation apparatus and method of gyroscopic instruments for determining heading of a borehole |
US7554578B2 (en) | 2000-07-11 | 2009-06-30 | Phase One A/S | Digital camera with integrated accelerometers |
DE102005030563B4 (en) | 2005-06-30 | 2009-07-09 | Infineon Technologies Ag | Multichannel digital / analog converter arrangement |
CN106899925B (en) | 2005-12-09 | 2019-08-06 | 想象It公司 | For the system and method by message broadcast and local wireless systems distributing promotions |
US8631358B2 (en) | 2007-10-10 | 2014-01-14 | Apple Inc. | Variable device graphical user interface |
US20090319166A1 (en) | 2008-06-20 | 2009-12-24 | Microsoft Corporation | Mobile computing services based on devices with dynamic direction information |
US20100257475A1 (en) | 2009-04-07 | 2010-10-07 | Qualcomm Incorporated | System and method for providing multiple user interfaces |
US8266522B2 (en) | 2009-04-17 | 2012-09-11 | Jokaroo Entertainment Inc. | Method and device for temporally displaying advertising content on a webpage |
US8631355B2 (en) | 2010-01-08 | 2014-01-14 | Microsoft Corporation | Assigning gesture dictionaries |
US20110270679A1 (en) | 2010-04-29 | 2011-11-03 | Research In Motion Limited | System and method for distributing messages to an electronic device based on movement of the device |
US9940682B2 (en) | 2010-08-11 | 2018-04-10 | Nike, Inc. | Athletic activity user experience and environment |
US9810549B2 (en) * | 2011-01-06 | 2017-11-07 | University Of Utah Research Foundation | Systems, methods, and apparatus for calibration of and three-dimensional tracking of intermittent motion with an inertial measurement unit |
US10152192B2 (en) | 2011-02-21 | 2018-12-11 | Apple Inc. | Scaling application windows in one or more workspaces in a user interface |
WO2012164149A1 (en) | 2011-05-31 | 2012-12-06 | Nokia Corporation | Method and apparatus for controlling a perspective display of advertisements using sensor data |
US9389681B2 (en) * | 2011-12-19 | 2016-07-12 | Microsoft Technology Licensing, Llc | Sensor fusion interface for multiple sensor input |
US20140195804A1 (en) | 2012-10-12 | 2014-07-10 | Safelylocked, Llc | Techniques for secure data exchange |
US8915116B2 (en) * | 2013-01-23 | 2014-12-23 | Freescale Semiconductor, Inc. | Systems and method for gyroscope calibration |
US9961127B2 (en) | 2013-03-15 | 2018-05-01 | Foresee Results, Inc. | System and method for capturing interaction data relating to a host application |
US20140288873A1 (en) * | 2013-03-22 | 2014-09-25 | Qualcomm Incorporated | Pre-processing inertial sensor measurements for navigation |
US20150286279A1 (en) | 2014-04-07 | 2015-10-08 | InvenSense, Incorporated | Systems and methods for guiding a user during calibration of a sensor |
GB2525232A (en) | 2014-04-17 | 2015-10-21 | Nokia Technologies Oy | A device orientation correction method for panorama images |
US10209075B2 (en) | 2014-09-30 | 2019-02-19 | Nxp Usa, Inc. | Orientation determination for devices generating electromagnetic interference |
-
2017
- 2017-04-10 US US15/483,967 patent/US10216290B2/en not_active Expired - Fee Related
- 2017-04-10 WO PCT/US2017/026863 patent/WO2017177237A1/en active Application Filing
-
2019
- 2019-02-25 US US16/284,411 patent/US20190212834A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10216290B2 (en) * | 2016-04-08 | 2019-02-26 | Adtile Technologies Inc. | Gyroscope apparatus |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817062A (en) * | 2021-01-07 | 2021-05-18 | 中国自然资源航空物探遥感中心 | Aviation gravity measurement data processing method and system |
Also Published As
Publication number | Publication date |
---|---|
US20170293368A1 (en) | 2017-10-12 |
WO2017177237A1 (en) | 2017-10-12 |
US10216290B2 (en) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108734736B (en) | Camera posture tracking method, device, equipment and storage medium | |
CN108682036B (en) | Pose determination method, pose determination device and storage medium | |
US10451648B2 (en) | Sensor control switch | |
US9262867B2 (en) | Mobile terminal and method of operation | |
CN110555882A (en) | Interface display method, device and storage medium | |
WO2019174628A1 (en) | Photographing method and mobile terminal | |
WO2019196863A1 (en) | Content display method and apparatus | |
US20120236025A1 (en) | Advanced remote control of host application using motion and voice commands | |
KR20170028193A (en) | Electronic device including hidden display and method for displaying information thereof | |
CN111147743B (en) | Camera control method and electronic equipment | |
CN110134744B (en) | Method, device and system for updating geomagnetic information | |
CN109166150B (en) | Pose acquisition method and device storage medium | |
CN111768454A (en) | Pose determination method, device, equipment and storage medium | |
US20180253161A1 (en) | Spatial motion-based user interactivity | |
CN110321126B (en) | Method and device for generating page code | |
WO2022042425A1 (en) | Video data processing method and apparatus, and computer device and storage medium | |
CN111897429A (en) | Image display method, image display device, computer equipment and storage medium | |
CN108196701B (en) | Method and device for determining posture and VR equipment | |
US20190212834A1 (en) | Software gyroscope apparatus | |
WO2022199102A1 (en) | Image processing method and device | |
CN210716984U (en) | Pipeline detection device | |
US10437463B2 (en) | Motion-based graphical input system | |
CN113065457B (en) | Face detection point processing method and device, computer equipment and storage medium | |
JP7386583B1 (en) | Program, information processing device and method | |
CN110633335B (en) | Method, terminal and readable storage medium for acquiring POI data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |