US20090240462A1 - System and Method for Capturing an Event in MEMS Inertial Sensors - Google Patents
System and Method for Capturing an Event in MEMS Inertial Sensors Download PDFInfo
- Publication number
- US20090240462A1 US20090240462A1 US12/408,532 US40853209A US2009240462A1 US 20090240462 A1 US20090240462 A1 US 20090240462A1 US 40853209 A US40853209 A US 40853209A US 2009240462 A1 US2009240462 A1 US 2009240462A1
- Authority
- US
- United States
- Prior art keywords
- event
- memory
- acceleration data
- capturing
- acceleration
- 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
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/18—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P1/00—Details of instruments
- G01P1/12—Recording devices
- G01P1/127—Recording devices for acceleration values
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01P—MEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
- G01P15/00—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
- G01P15/02—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses
- G01P15/08—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values
- G01P15/0891—Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration by making use of inertia forces using solid seismic masses with conversion into electric or magnetic values with indication of predetermined acceleration values
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
- G11B19/02—Control of operating function, e.g. switching from recording to reproducing
- G11B19/04—Arrangements for preventing, inhibiting, or warning against double recording on the same blank or against other recording or reproducing malfunctions
- G11B19/041—Detection or prevention of read or write errors
- G11B19/043—Detection or prevention of read or write errors by detecting a free-fall condition
Definitions
- the invention generally relates to MEMS inertial sensors and, more particularly, the invention relates to capturing an event in MEMS inertial sensors.
- MEMS inertial sensor devices e.g., accelerometers or gyroscopes
- MEMS inertial mass formed with one or more fixed, non-moving structures.
- the inertial mass may be suspended in a plane above a substrate and movable with respect to the substrate.
- the movable structure and the fixed structures form a capacitor having a capacitance that changes when the movable structure moves relative to the fixed structures in response to applied forces, such as along a predetermined axis of the device, e.g., x-, y- and z-axes.
- inertial sensors may be used for monitoring the interaction of users with electronic devices, such as gaming devices, cell phones, personal digital assistants, etc.
- One or more inertial sensors in the devices may sense a movement above a particular threshold or a change in orientation.
- the sensors usually cooperate with a central computer or microprocessor that both coordinates their function and responds to specific types of detected movement.
- the microprocessor or controller periodically or continuously monitors the acceleration data from the inertial sensor to determine a state or condition of the device.
- the microprocessor may cause systems within the device to respond in a specified manner. For example, if the sensor(s) sense a tap by the user (e.g., similar to a mouse click), the device's microprocessor may then initiate a response, such as turning on the device.
- the microprocessor may not capture important motion data. For example, data collected right before and after the trigger event oftentimes may be useful, but may not be fully captured. For instance, a user may pick up and move a device in a selected manner.
- the microprocessor may detect the movement in one second and then instruct the device to start saving data, causing an even further delay. In this case, the device may not capture the first second of motion plus any delay in receiving the instructions. In certain instances, such as gesture recognition, this valuable information may be lost.
- a method of capturing an event in a MEMS accelerometer stores acceleration data in memory, detects a trigger event based on the acceleration data, and modifies a configuration of the memory so that a specified amount of the acceleration data is saved.
- a MEMS event capturing system includes an inertial sensor having sensor circuitry and event capturing circuitry implemented with the sensor circuitry.
- the event capturing circuitry includes memory capable of storing acceleration data received from the inertial sensor and a detection module operatively coupled with the memory that detects a trigger event.
- the event capturing circuitry further includes a management module operatively coupled with the memory and the detection module that modifies the memory's storage configuration when the trigger event is detected.
- the specified amount of acceleration data may be stored before the detected trigger event.
- the method may further include processing the specified amount of the acceleration data in order to recognize the event.
- the event may be a gesture.
- modifying a configuration of the memory may include varying an amount of the acceleration data stored.
- modifying a configuration of the memory may include modifying the configuration from a stream buffer to a first-in-first-out buffer.
- detecting a trigger event may also include capturing an acceleration bias, measuring acceleration at a predetermined period of time, calculating a change in acceleration using the measured acceleration and the acceleration bias, and comparing the change in acceleration to a threshold to detect the trigger event.
- the system may further include a microprocessor operatively coupled with the event capturing circuitry.
- the microprocessor may be capable of processing the acceleration data in order to recognize an event, which may be a gesture.
- the inertial sensor may be formed on a die, and the sensor circuitry and event capturing circuitry may be formed on or in the same die.
- the sensor circuitry and event capturing circuitry may be formed on or in a first die, and the inertial sensor may be formed on or in another die that is in communication with the first die.
- the inertial sensor may be an accelerometer or a gyroscope.
- the memory may be capable of storing a fixed amount or a variable amount of acceleration data received from the inertial sensor.
- Illustrative embodiments of the invention may be implemented as a computer program product having a computer usable medium with computer readable program code thereon.
- the computer readable code may be read and utilized by a computer system in accordance with conventional processes.
- FIG. 1 schematically shows a simplified view of a sensor system in accordance with illustrative embodiments of the invention
- FIG. 2 schematically shows an event capturing system in accordance with illustrative embodiments of the invention
- FIG. 3 shows a process of capturing an event in a MEMS accelerometer according to embodiments of the present invention.
- FIG. 4 shows a process of detecting activity in a MEMS accelerometer according to embodiments of the present invention.
- Various embodiments of the present invention provide a system and method for capturing an event, such as a specific movement or gesture, in inertial sensor systems. This is accomplished with an event capturing system that detects a trigger event and then modifies the memory's configuration based on the trigger event so that a specified amount of acceleration data is saved or preserved in the memory.
- the trigger event is detected with a detection module comprising digital logic and state machines coupled with the inertial sensor.
- the event capturing system, with its detection module may be coupled with one or more sensors to effectively manage different conditions of the device without interaction with the device's central computer or microprocessor (excluding the sensor's interaction with the microprocessor during its initial configuration).
- the inertial sensor does receive some initial input from the microprocessor, such as initial configurations or settings, e.g., threshold values, which may be set manually by the user or automatically.
- initial configurations or settings e.g., threshold values
- Embedding the detection functionality with the event capturing system may more effectively automate power management since only the sensor and the event capturing system may need to be powered, rather than the device's microprocessor.
- the sensor is an accelerometer
- the functionality may be embedded in the accelerometer circuitry. Details of illustrative embodiments are discussed below.
- various embodiments may include a sensor system 2 having one or more inertial sensors 4 that communicate with a central computer or microprocessor 6 through some interconnection medium 8 .
- the sensor system 2 may also include one or more event capturing systems 10 in communication with the inertial sensor(s) 4 .
- the inertial sensor(s) 4 may produce data values, e.g., motion data related to the detected movement of an object, which may be transmitted to the microprocessor 6 via interconnection 8 and/or the event capturing system 10 through the event capturing system's interface 12 , as discussed in more detail below.
- FIG. 1 shows two inertial sensors 4 with one event capturing system 10 , one sensor 4 may be used with one or more event capturing systems 10 and/or two or more inertial sensors 4 may be used with one or more event capturing systems 10 .
- FIG. 2 schematically shows a block diagram of an event capturing system 10 in accordance with illustrative embodiments of the invention.
- the event capturing system 10 may include an interface 12 for communicating with external devices, such as the inertial sensor(s) 4 (e.g., for receiving data produced by the sensors and sending data to the sensors) or the microprocessor 6 , and a detection module 14 for processing the data values received and detecting whether certain types of events have occurred (e.g., a trigger event, such as an activity event, a tap/double tap event, a free fall event, etc.).
- the event capturing system 10 may also include memory 16 for storing or collecting the data values received from the external devices and the data values processed by the detection module 14 .
- the event capturing system 10 may also include a management module 18 that may modify the memory's storage configuration when the event is detected by the detection module 14 .
- the functionality of the event capturing system 10 is discussed in greater detail below with regard to embodiments of its implementation.
- the management module 18 may also include other functionality, such as the capability to modify the sensor's configuration, coordinate the functionality of the detection module 14 , and coordinate the functionality of the sensor(s) 4 and a sensor management system with the device's microprocessor 6 .
- This additional functionality of the management module 18 is discussed in more detail in co-pending applications entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS, attorney docket number 2550/C35, and MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS, attorney docket number 2550/C38, which are filed on the same day as the present application, and which are incorporated by reference herein in their entirety.
- FIG. 3 shows a process of capturing an event in a MEMS accelerometer.
- the process begins at step 30 , which establishes or sets a trigger event.
- the trigger event may be a specified activity level or threshold (e.g., sensor movement greater than 1 g.), freefall motion, a tap, and/or a double tap.
- the trigger event may be set to one trigger event or one or more trigger events selected from a list of events.
- the trigger event(s) may be manually selected by the user or automatically set, such as a default trigger event.
- the management module 18 may establish or modify the existing trigger event(s) depending on various detected states of the device.
- one or more inertial sensors 4 produce data values, which are then collected or stored in memory 16 .
- the detection module 14 operatively coupled to the memory 16 , may process the data values received and detect that a trigger event has occurred (step 50 ).
- the trigger event may be activity, and the detection module 14 may detect that the MEMS device is active or moving, as described in more detail below with regard to FIG. 4 .
- the detection module 14 may inform the management module 18 that a trigger event has occurred.
- the management module 18 may then modify the configuration of the memory 16 in step 60 .
- the memory 16 may initially store or collect the data values received in a stream buffer mode or type of configuration.
- a stream buffer contains a specified amount of the most recent data received, depending on the size of the buffer's memory (e.g., a minute's worth of the most recent data).
- the oldest data is written over or removed and replaced with the newest data received.
- the memory 16 may temporarily collect or store a limited amount of data, and then gradually throw it out if a trigger event is not detected and the data is thus unneeded.
- the management module 18 may modify the memory's 16 configuration so that a certain amount of older data is not written over and may be preserved for later processing, e.g., a certain amount before and/or after the trigger event. For example, the management module 18 may instruct or switch the memory 16 from a stream buffer mode to a first-in-first-out (FIFO) buffer mode or type of configuration. As well known to those skilled in the art, a FIFO buffer does not allow newer data to be saved when the buffer is full, so older data is preserved. The amount of data saved from one configuration to another may be a fixed or a variable amount of data.
- the amount of data to be saved may be set automatically or manually and may be the same amount of data before and after the trigger event (e.g., 30 seconds before and after the trigger event) or different amounts of data before and after the trigger event (e.g., 25 seconds before and 50 seconds after the trigger event).
- the management module 18 may contain the instructions or information on the parameters and length of time to be saved. In some embodiments, this may be implemented by the management module 18 resetting a pointer in the FIFO buffer to a selected point in time before the trigger event and then setting a byte count to instruct the FIFO buffer to collect or save a certain amount of data.
- the memory 16 may initially be collecting or saving one minute worth of data in a stream buffer mode.
- the memory 16 contains one minute of data before the trigger event.
- the management module 18 may modify the configuration of the memory 16 to a FIFO buffer mode, reset the FIFO pointer to forty seconds before the trigger event, and have the byte count set so that the FIFO collects forty seconds more worth of data after the trigger event. If a smaller or larger amount of data is desired, then the management module 18 may change the byte count so that more or less data is collected or stored.
- the management module 18 modifies the memory's storage configuration so that a specified amount of motion data is saved in memory 16 .
- the data optionally may be processed or analyzed in step 70 , e.g., by the microprocessor 6 or the detection module 14 .
- the captured data may remain in memory 16 or some of the data, or even all, may be flushed or removed from the memory 16 .
- the configuration of the memory 16 may be returned to a stream buffer mode where it may collect or store data until another trigger event is detected.
- the detection module 14 may detect a data ready event, which signals that there is some data in the memory 16 .
- the detection module 14 may detect an overrun or watermark event in the memory 16 , which may signal that the memory 16 is becoming full and newer data may be lost.
- one trigger event may be activity, and the detection module 14 may detect that the MEMS device is active or moving.
- FIG. 4 shows a process of detecting activity that may be performed by the event capture system's 10 detection module 14 according to illustrative embodiments of the present invention.
- the detection module 14 may include a computational component and a comparator (not shown) as discussed further below.
- the process begins at step 80 , which decides whether to start looking for activity.
- the detection module 14 may start to look for activity automatically at designated times, (e.g., when the device is turned on or at periodic intervals) or manually, (e.g., when the user actively initiates a request such as tapping on a device screen).
- the management module 18 may instruct the detection module 14 to start to look for activity once inactivity is detected (inactivity detection is discussed in greater detail in co-pending applications entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS, attorney docket number 2550/C35, and MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS, attorney docket number 2550/C38, which are filed on the same day as the present application, and which are incorporated by reference herein in their entirety).
- an acceleration offset or bias may be captured upon the start of looking for activity. This may be accomplished by having the detection module 14 capture a snap-shot of the current acceleration or orientation of the device and digitally store the value as the acceleration bias in memory 16 .
- the acceleration of the device may be measured by the sensor(s) 4 and the data values stored in memory 16 .
- the acceleration may be measured on one or more axes of the device (e.g., x-, y-, and/or z-axis), which may be determined automatically or manually (e.g., set by the user).
- the accelerometer may sample the acceleration data at a data rate.
- the management module 18 may determine the sensor's 4 data rate depending on the current detected state of the device by the detection module 14 . For example, the accelerometer sample rate may be set to a desired “awake” mode or more frequent sampling rate when activity is detected or monitored by the detection module 14 .
- the accelerometer sample rate may be set to a desired “sleep” mode or more infrequent sampling rate when inactivity is detected/monitored.
- the management module 18 may set a default value for the sensor's 4 sample rate, e.g., sleep mode sampling rate, awake mode sampling rate, or some other sampling rate, until the detection module 14 determines the current detected state of the device. Although one mode is discussed for when activity or inactivity is detected/monitored, the management module 18 may set two or more different modes during a given state of the device.
- the detection module 14 calculates the change in acceleration and verifies whether that change is greater than or equal to a threshold.
- the detection module 14 may determine the change in acceleration by calculating the difference between the current measured acceleration and the digitally stored acceleration bias using the computational component.
- the detection module 14 may then compare an absolute value of the change in acceleration to a threshold value using the comparator.
- the detection module 14 performs these calculations and the measured acceleration values, the calculated difference and the threshold value may be stored in the memory 16 .
- the threshold may be set automatically or manually and may be the same or different for different axes. If the change in acceleration is less than the threshold, then the process returns to step 100 where the acceleration may be measured again. If the change in acceleration is greater than or equal to the threshold, then the process proceeds to step 120 , where activity is detected.
- the detection module 14 When activity is detected by the detection module 14 , it may inform the management module 18 of the current detected state of the device. The management module 18 may then modify the memory's 16 configuration so that it saves a selected amount of data, e.g., a certain amount before and/or after the trigger event, as discussed above. In addition, or alternatively, the management module 18 may send instructions or parameters to the inertial sensor(s) 4 via the interface 12 as discussed above (e.g., setting sampling rates), and may send instructions back to the detection module 14 , e.g., start to look for inactivity. Thus, the detection module 14 may optionally start to look for inactivity once activity is detected.
- FIG. 4 discusses detecting activity, other embodiments may use other techniques for detecting activity trigger events.
- other embodiments may use other techniques for detecting a trigger event, and the trigger event may include other events than activity as discussed above.
- the trigger event may be free fall detection, tap/double tap detection, event ready detection, watermark detection, etc.
- discussion of detecting a specific trigger event is exemplary and not intended to limit the scope of various embodiments of the invention.
- the management module 18 may set parameters in the detection module 14 and/or the sensor(s) 4 along with, or instead of, the memory 16 .
- inertial sensors 4 such as accelerometers are discussed above, principles of illustrative embodiments may apply to other inertial sensors or sensor devices, such as MEMS gyroscopes and MEMS pressure sensors or microphones. Accordingly, discussion of inertial sensors is exemplary and not intended to limit the scope of various embodiments of the invention.
- the detection module 14 and/or the management module 18 may be a single integrated unit having the discussed functionality, and/or a plurality of interconnected, separate functional devices. Reference to a “module” therefore is for convenience and not intended to limit its implementation. Moreover, the various functionalities within the detection module 14 and/or the management module 18 may be implemented in any number of ways, such as by means of one or more application specific integrated circuits or digital signal processors, or the discussed functionality may be implemented in software.
- certain motion detection may be determined independently of one another and/or concurrently. In some embodiments, certain motion detection (e.g., activity detection) may be dependent upon detecting other types of motion (e.g., detecting inactivity) and vise-versa.
- Various embodiments may provide efficient management of a MEMS accelerometer by allowing the trigger event detection to be performed by the event capturing system 10 , which is coupled to the inertial sensor(s) 4 , without interaction with the device's microprocessor 6 .
- the event capturing system 10 coordinates the inertial sensor's functions and responds to specific types of detected movement.
- benefits may be realized, such as achieving maximal power savings since only the sensor 4 and event capturing system 10 may need to be powered, rather than the device's microprocessor 6 .
- event capturing circuitry may be implemented as part of the sensor-specific circuitry.
- the sensor is an accelerometer
- all or part of event capturing circuitry may be integrated with the accelerometer or sensor circuitry.
- the event capturing circuitry may include the activity detection function, which may be embedded in the accelerometer for power control of the end device.
- the event capturing circuitry may detect an acceleration above a particular threshold or a change in orientation and transmit such motion data to other circuitry for further processing.
- Sensor-specific circuitry that includes the event capturing circuitry may be on the same chip or die as the sensor itself, or on a different chip or die.
- the sensor-specific circuitry with the event capturing circuitry may be implemented on an application specific integrated circuit (ASIC), while the sensor may be on a sensor chip with no circuitry (other than pads for wirebonding with the ASIC). Both the ASIC and sensor chip may be within a single package, or in separate packages.
- ASIC application specific integrated circuit
- Embodiments may be implemented as a computer program product for use with a computer system.
- Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, or fixed disk) or transmittable to a computer system, via a modem or other interface device, such as a communications adapter connected to a network over a medium.
- the medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques).
- the series of computer instructions may embody all or part of the functionality previously described herein with respect to the method and system.
- Such computer instructions may be written in a number of programming languages for use with many computer architectures or operating systems.
- embodiments may be implemented in a procedural programming language (e.g., “C”) or an object oriented programming language (e.g., “C++”).
- Alternative embodiments of the invention may be implemented as pre-programmed hardware elements, other related components, or as a combination of hardware and software components.
- Such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies.
- a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web).
- some embodiments of the invention may be implemented as hardware, software (e.g., a computer program product), or a combination of both software and hardware.
Abstract
A method of capturing an event in a MEMS accelerometer stores acceleration data in memory, detects a trigger event based on the acceleration data, and modifies a configuration of the memory so that a specified amount of the acceleration data is saved. A MEMS event capturing system includes an inertial sensor having sensor circuitry and event capturing circuitry implemented with the sensor circuitry. The event capturing circuitry includes memory capable of storing acceleration data received from the inertial sensor and a detection module operatively coupled with the memory that detects a trigger event. The event capturing circuitry also includes a management module operatively coupled with the memory and the detection module that modifies the memory's storage configuration when the trigger event is detected.
Description
- This patent application claims priority to U.S. Provisional Patent Application No. 61/038,594 filed Mar. 21, 2008, entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS, U.S. Provisional Patent Application No. 61/049,590 filed May 1, 2008, entitled MANAGEMENT SYSTEM AND METHOD FOR MEMS INERTIAL SENSORS, and U.S. Provisional Patent Application No. 61/078,923 filed Jul. 8, 2008, entitled SYSTEM AND METHOD FOR CAPTURING AN EVENT IN MEMS INERTIAL SENSORS, each disclosure of which is incorporated by reference herein in its entirety.
- This patent application is also related to U.S. patent application entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS having Attorney Docket Number 2550/C35 and U.S. patent application entitled MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS having Attorney Docket Number 2550/C38, which are filed on the same day as the present application, each disclosure of which is incorporated by reference herein in its entirety.
- The invention generally relates to MEMS inertial sensors and, more particularly, the invention relates to capturing an event in MEMS inertial sensors.
- A variety of different applications use sensor systems to detect the movement of an underlying object. Sensors employing microelectromechanical systems (MEMS) devices are increasingly used in such applications due to their relatively small size and their capability to detect relatively small changes in the measured item. MEMS inertial sensor devices, e.g., accelerometers or gyroscopes, typically employ a movable, inertial mass formed with one or more fixed, non-moving structures. For example, in a MEMS accelerometer, the inertial mass may be suspended in a plane above a substrate and movable with respect to the substrate. The movable structure and the fixed structures form a capacitor having a capacitance that changes when the movable structure moves relative to the fixed structures in response to applied forces, such as along a predetermined axis of the device, e.g., x-, y- and z-axes.
- Currently, among other things, inertial sensors may be used for monitoring the interaction of users with electronic devices, such as gaming devices, cell phones, personal digital assistants, etc. One or more inertial sensors in the devices may sense a movement above a particular threshold or a change in orientation. The sensors usually cooperate with a central computer or microprocessor that both coordinates their function and responds to specific types of detected movement.
- Typically, the microprocessor or controller periodically or continuously monitors the acceleration data from the inertial sensor to determine a state or condition of the device. Upon detection of a specific type of movement, the microprocessor may cause systems within the device to respond in a specified manner. For example, if the sensor(s) sense a tap by the user (e.g., similar to a mouse click), the device's microprocessor may then initiate a response, such as turning on the device. In this scenario, however, the microprocessor may not capture important motion data. For example, data collected right before and after the trigger event oftentimes may be useful, but may not be fully captured. For instance, a user may pick up and move a device in a selected manner. The microprocessor may detect the movement in one second and then instruct the device to start saving data, causing an even further delay. In this case, the device may not capture the first second of motion plus any delay in receiving the instructions. In certain instances, such as gesture recognition, this valuable information may be lost.
- In accordance with one embodiment of the invention, a method of capturing an event in a MEMS accelerometer stores acceleration data in memory, detects a trigger event based on the acceleration data, and modifies a configuration of the memory so that a specified amount of the acceleration data is saved.
- In accordance with another embodiment of the invention, a MEMS event capturing system includes an inertial sensor having sensor circuitry and event capturing circuitry implemented with the sensor circuitry. The event capturing circuitry includes memory capable of storing acceleration data received from the inertial sensor and a detection module operatively coupled with the memory that detects a trigger event. The event capturing circuitry further includes a management module operatively coupled with the memory and the detection module that modifies the memory's storage configuration when the trigger event is detected.
- In some embodiments, the specified amount of acceleration data may be stored before the detected trigger event. The method may further include processing the specified amount of the acceleration data in order to recognize the event. The event may be a gesture. In the system or method, modifying a configuration of the memory may include varying an amount of the acceleration data stored. Alternatively, or in addition, modifying a configuration of the memory may include modifying the configuration from a stream buffer to a first-in-first-out buffer. In the system or method, detecting a trigger event may also include capturing an acceleration bias, measuring acceleration at a predetermined period of time, calculating a change in acceleration using the measured acceleration and the acceleration bias, and comparing the change in acceleration to a threshold to detect the trigger event. The system may further include a microprocessor operatively coupled with the event capturing circuitry. The microprocessor may be capable of processing the acceleration data in order to recognize an event, which may be a gesture. In the system or method, the inertial sensor may be formed on a die, and the sensor circuitry and event capturing circuitry may be formed on or in the same die. The sensor circuitry and event capturing circuitry may be formed on or in a first die, and the inertial sensor may be formed on or in another die that is in communication with the first die. The inertial sensor may be an accelerometer or a gyroscope. The memory may be capable of storing a fixed amount or a variable amount of acceleration data received from the inertial sensor.
- Illustrative embodiments of the invention may be implemented as a computer program product having a computer usable medium with computer readable program code thereon. The computer readable code may be read and utilized by a computer system in accordance with conventional processes.
- The foregoing and advantages of the invention will be appreciated more fully from the following further description thereof with reference to the accompanying drawings wherein:
-
FIG. 1 schematically shows a simplified view of a sensor system in accordance with illustrative embodiments of the invention; -
FIG. 2 schematically shows an event capturing system in accordance with illustrative embodiments of the invention; -
FIG. 3 shows a process of capturing an event in a MEMS accelerometer according to embodiments of the present invention; and -
FIG. 4 shows a process of detecting activity in a MEMS accelerometer according to embodiments of the present invention. - Various embodiments of the present invention provide a system and method for capturing an event, such as a specific movement or gesture, in inertial sensor systems. This is accomplished with an event capturing system that detects a trigger event and then modifies the memory's configuration based on the trigger event so that a specified amount of acceleration data is saved or preserved in the memory. In some embodiments, the trigger event is detected with a detection module comprising digital logic and state machines coupled with the inertial sensor. The event capturing system, with its detection module, may be coupled with one or more sensors to effectively manage different conditions of the device without interaction with the device's central computer or microprocessor (excluding the sensor's interaction with the microprocessor during its initial configuration). For instance, the inertial sensor does receive some initial input from the microprocessor, such as initial configurations or settings, e.g., threshold values, which may be set manually by the user or automatically. Embedding the detection functionality with the event capturing system may more effectively automate power management since only the sensor and the event capturing system may need to be powered, rather than the device's microprocessor. For example, if the sensor is an accelerometer, the functionality may be embedded in the accelerometer circuitry. Details of illustrative embodiments are discussed below.
- As shown in
FIG. 1 , various embodiments may include asensor system 2 having one or moreinertial sensors 4 that communicate with a central computer ormicroprocessor 6 through someinterconnection medium 8. Thesensor system 2 may also include one or moreevent capturing systems 10 in communication with the inertial sensor(s) 4. The inertial sensor(s) 4 may produce data values, e.g., motion data related to the detected movement of an object, which may be transmitted to themicroprocessor 6 viainterconnection 8 and/or the event capturingsystem 10 through the event capturing system'sinterface 12, as discussed in more detail below. AlthoughFIG. 1 shows twoinertial sensors 4 with one event capturingsystem 10, onesensor 4 may be used with one or moreevent capturing systems 10 and/or two or moreinertial sensors 4 may be used with one or moreevent capturing systems 10. -
FIG. 2 schematically shows a block diagram of an event capturingsystem 10 in accordance with illustrative embodiments of the invention. The event capturingsystem 10 may include aninterface 12 for communicating with external devices, such as the inertial sensor(s) 4 (e.g., for receiving data produced by the sensors and sending data to the sensors) or themicroprocessor 6, and adetection module 14 for processing the data values received and detecting whether certain types of events have occurred (e.g., a trigger event, such as an activity event, a tap/double tap event, a free fall event, etc.). The event capturingsystem 10 may also includememory 16 for storing or collecting the data values received from the external devices and the data values processed by thedetection module 14. Theevent capturing system 10 may also include amanagement module 18 that may modify the memory's storage configuration when the event is detected by thedetection module 14. The functionality of theevent capturing system 10 is discussed in greater detail below with regard to embodiments of its implementation. - The
management module 18 may also include other functionality, such as the capability to modify the sensor's configuration, coordinate the functionality of thedetection module 14, and coordinate the functionality of the sensor(s) 4 and a sensor management system with the device'smicroprocessor 6. This additional functionality of themanagement module 18 is discussed in more detail in co-pending applications entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS, attorney docket number 2550/C35, and MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS, attorney docket number 2550/C38, which are filed on the same day as the present application, and which are incorporated by reference herein in their entirety. -
FIG. 3 shows a process of capturing an event in a MEMS accelerometer. The process begins atstep 30, which establishes or sets a trigger event. For example, the trigger event may be a specified activity level or threshold (e.g., sensor movement greater than 1 g.), freefall motion, a tap, and/or a double tap. The trigger event may be set to one trigger event or one or more trigger events selected from a list of events. The trigger event(s) may be manually selected by the user or automatically set, such as a default trigger event. Alternatively, or in addition, themanagement module 18 may establish or modify the existing trigger event(s) depending on various detected states of the device. - In
step 40, one or moreinertial sensors 4 produce data values, which are then collected or stored inmemory 16. Thedetection module 14, operatively coupled to thememory 16, may process the data values received and detect that a trigger event has occurred (step 50). For example, the trigger event may be activity, and thedetection module 14 may detect that the MEMS device is active or moving, as described in more detail below with regard toFIG. 4 . - Once a trigger event is detected by the
detection module 14, thedetection module 14 may inform themanagement module 18 that a trigger event has occurred. Themanagement module 18 may then modify the configuration of thememory 16 instep 60. For example, thememory 16 may initially store or collect the data values received in a stream buffer mode or type of configuration. As well known to those skilled in the art, a stream buffer contains a specified amount of the most recent data received, depending on the size of the buffer's memory (e.g., a minute's worth of the most recent data). When storing data to a stream buffer that is full, the oldest data is written over or removed and replaced with the newest data received. In this way, thememory 16 may temporarily collect or store a limited amount of data, and then gradually throw it out if a trigger event is not detected and the data is thus unneeded. - When a trigger event is detected, the
management module 18 may modify the memory's 16 configuration so that a certain amount of older data is not written over and may be preserved for later processing, e.g., a certain amount before and/or after the trigger event. For example, themanagement module 18 may instruct or switch thememory 16 from a stream buffer mode to a first-in-first-out (FIFO) buffer mode or type of configuration. As well known to those skilled in the art, a FIFO buffer does not allow newer data to be saved when the buffer is full, so older data is preserved. The amount of data saved from one configuration to another may be a fixed or a variable amount of data. The amount of data to be saved may be set automatically or manually and may be the same amount of data before and after the trigger event (e.g., 30 seconds before and after the trigger event) or different amounts of data before and after the trigger event (e.g., 25 seconds before and 50 seconds after the trigger event). Themanagement module 18 may contain the instructions or information on the parameters and length of time to be saved. In some embodiments, this may be implemented by themanagement module 18 resetting a pointer in the FIFO buffer to a selected point in time before the trigger event and then setting a byte count to instruct the FIFO buffer to collect or save a certain amount of data. - For instance, the
memory 16 may initially be collecting or saving one minute worth of data in a stream buffer mode. In this scenario, once a trigger event is detected, thememory 16 contains one minute of data before the trigger event. Continuing with this example, if forty seconds worth of data before and after the trigger event is desired, themanagement module 18 may modify the configuration of thememory 16 to a FIFO buffer mode, reset the FIFO pointer to forty seconds before the trigger event, and have the byte count set so that the FIFO collects forty seconds more worth of data after the trigger event. If a smaller or larger amount of data is desired, then themanagement module 18 may change the byte count so that more or less data is collected or stored. In this way, themanagement module 18 modifies the memory's storage configuration so that a specified amount of motion data is saved inmemory 16. Once the data is captured in thememory 16, the data optionally may be processed or analyzed instep 70, e.g., by themicroprocessor 6 or thedetection module 14. The captured data may remain inmemory 16 or some of the data, or even all, may be flushed or removed from thememory 16. The configuration of thememory 16 may be returned to a stream buffer mode where it may collect or store data until another trigger event is detected. - In addition to trigger events, other events may be detected by the
detection module 14, which may occur before and/or after the trigger event and which may cause other events or processes to occur within theevent capturing system 10 or thesensor system 2. For example, thedetection module 14 may detect a data ready event, which signals that there is some data in thememory 16. After a trigger event, thedetection module 14 may detect an overrun or watermark event in thememory 16, which may signal that thememory 16 is becoming full and newer data may be lost. - As mentioned above, one trigger event may be activity, and the
detection module 14 may detect that the MEMS device is active or moving.FIG. 4 shows a process of detecting activity that may be performed by the event capture system's 10detection module 14 according to illustrative embodiments of the present invention. Thus, in some embodiments, thedetection module 14 may include a computational component and a comparator (not shown) as discussed further below. The process begins atstep 80, which decides whether to start looking for activity. Thedetection module 14 may start to look for activity automatically at designated times, (e.g., when the device is turned on or at periodic intervals) or manually, (e.g., when the user actively initiates a request such as tapping on a device screen). Alternatively, or in addition, themanagement module 18 may instruct thedetection module 14 to start to look for activity once inactivity is detected (inactivity detection is discussed in greater detail in co-pending applications entitled ACTIVITY DETECTION IN MEMS ACCELEROMETERS, attorney docket number 2550/C35, and MANAGEMENT SYSTEM FOR MEMS INERTIAL SENSORS, attorney docket number 2550/C38, which are filed on the same day as the present application, and which are incorporated by reference herein in their entirety). - In
step 90, an acceleration offset or bias may be captured upon the start of looking for activity. This may be accomplished by having thedetection module 14 capture a snap-shot of the current acceleration or orientation of the device and digitally store the value as the acceleration bias inmemory 16. - In
step 100, the acceleration of the device may be measured by the sensor(s) 4 and the data values stored inmemory 16. The acceleration may be measured on one or more axes of the device (e.g., x-, y-, and/or z-axis), which may be determined automatically or manually (e.g., set by the user). The accelerometer may sample the acceleration data at a data rate. Themanagement module 18 may determine the sensor's 4 data rate depending on the current detected state of the device by thedetection module 14. For example, the accelerometer sample rate may be set to a desired “awake” mode or more frequent sampling rate when activity is detected or monitored by thedetection module 14. Similarly, the accelerometer sample rate may be set to a desired “sleep” mode or more infrequent sampling rate when inactivity is detected/monitored. When thedetection module 14 has yet to determine activity and/or inactivity, themanagement module 18 may set a default value for the sensor's 4 sample rate, e.g., sleep mode sampling rate, awake mode sampling rate, or some other sampling rate, until thedetection module 14 determines the current detected state of the device. Although one mode is discussed for when activity or inactivity is detected/monitored, themanagement module 18 may set two or more different modes during a given state of the device. - In
step 110, thedetection module 14 calculates the change in acceleration and verifies whether that change is greater than or equal to a threshold. Thedetection module 14 may determine the change in acceleration by calculating the difference between the current measured acceleration and the digitally stored acceleration bias using the computational component. Thedetection module 14 may then compare an absolute value of the change in acceleration to a threshold value using the comparator. Thedetection module 14 performs these calculations and the measured acceleration values, the calculated difference and the threshold value may be stored in thememory 16. The threshold may be set automatically or manually and may be the same or different for different axes. If the change in acceleration is less than the threshold, then the process returns to step 100 where the acceleration may be measured again. If the change in acceleration is greater than or equal to the threshold, then the process proceeds to step 120, where activity is detected. - When activity is detected by the
detection module 14, it may inform themanagement module 18 of the current detected state of the device. Themanagement module 18 may then modify the memory's 16 configuration so that it saves a selected amount of data, e.g., a certain amount before and/or after the trigger event, as discussed above. In addition, or alternatively, themanagement module 18 may send instructions or parameters to the inertial sensor(s) 4 via theinterface 12 as discussed above (e.g., setting sampling rates), and may send instructions back to thedetection module 14, e.g., start to look for inactivity. Thus, thedetection module 14 may optionally start to look for inactivity once activity is detected. - Although
FIG. 4 discusses detecting activity, other embodiments may use other techniques for detecting activity trigger events. In addition, other embodiments may use other techniques for detecting a trigger event, and the trigger event may include other events than activity as discussed above. For example, the trigger event may be free fall detection, tap/double tap detection, event ready detection, watermark detection, etc. Thus, discussion of detecting a specific trigger event is exemplary and not intended to limit the scope of various embodiments of the invention. In addition, themanagement module 18 may set parameters in thedetection module 14 and/or the sensor(s) 4 along with, or instead of, thememory 16. - Although
inertial sensors 4 such as accelerometers are discussed above, principles of illustrative embodiments may apply to other inertial sensors or sensor devices, such as MEMS gyroscopes and MEMS pressure sensors or microphones. Accordingly, discussion of inertial sensors is exemplary and not intended to limit the scope of various embodiments of the invention. - Among other implementations, the
detection module 14 and/or themanagement module 18 may be a single integrated unit having the discussed functionality, and/or a plurality of interconnected, separate functional devices. Reference to a “module” therefore is for convenience and not intended to limit its implementation. Moreover, the various functionalities within thedetection module 14 and/or themanagement module 18 may be implemented in any number of ways, such as by means of one or more application specific integrated circuits or digital signal processors, or the discussed functionality may be implemented in software. - In some embodiments of the present invention, certain motion detection (e.g., activity/inactivity detection) may be determined independently of one another and/or concurrently. In some embodiments, certain motion detection (e.g., activity detection) may be dependent upon detecting other types of motion (e.g., detecting inactivity) and vise-versa.
- Various embodiments may provide efficient management of a MEMS accelerometer by allowing the trigger event detection to be performed by the
event capturing system 10, which is coupled to the inertial sensor(s) 4, without interaction with the device'smicroprocessor 6. In this way, theevent capturing system 10 coordinates the inertial sensor's functions and responds to specific types of detected movement. By embedding the functionality in theevent capturing system 10, benefits may be realized, such as achieving maximal power savings since only thesensor 4 andevent capturing system 10 may need to be powered, rather than the device'smicroprocessor 6. - All or part of the functionality of the
event capturing system 10 may be implemented in event capturing circuitry, which may be implemented as part of the sensor-specific circuitry. For example, if the sensor is an accelerometer, then all or part of event capturing circuitry may be integrated with the accelerometer or sensor circuitry. For instance, the event capturing circuitry may include the activity detection function, which may be embedded in the accelerometer for power control of the end device. The event capturing circuitry may detect an acceleration above a particular threshold or a change in orientation and transmit such motion data to other circuitry for further processing. Sensor-specific circuitry that includes the event capturing circuitry may be on the same chip or die as the sensor itself, or on a different chip or die. As another example, the sensor-specific circuitry with the event capturing circuitry may be implemented on an application specific integrated circuit (ASIC), while the sensor may be on a sensor chip with no circuitry (other than pads for wirebonding with the ASIC). Both the ASIC and sensor chip may be within a single package, or in separate packages. - Embodiments may be implemented as a computer program product for use with a computer system. Such implementation may include a series of computer instructions fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, or fixed disk) or transmittable to a computer system, via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or analog communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions may embody all or part of the functionality previously described herein with respect to the method and system. Those skilled in the art should appreciate that such computer instructions may be written in a number of programming languages for use with many computer architectures or operating systems. For example, embodiments may be implemented in a procedural programming language (e.g., “C”) or an object oriented programming language (e.g., “C++”). Alternative embodiments of the invention may be implemented as pre-programmed hardware elements, other related components, or as a combination of hardware and software components.
- Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the network (e.g., the Internet or World Wide Web). Thus, some embodiments of the invention may be implemented as hardware, software (e.g., a computer program product), or a combination of both software and hardware.
- Although the above discussion discloses various exemplary embodiments of the invention, it should be apparent that those skilled in the art can make various modifications that will achieve some of the advantages of the invention without departing from the true scope of the invention.
Claims (20)
1. A method of capturing an event in a MEMS accelerometer, the method comprising:
storing acceleration data in memory;
detecting a trigger event based on the acceleration data; and
modifying a configuration of the memory so that a specified amount of the acceleration data is saved.
2. The method of claim 1 , wherein the specified amount of the acceleration data includes acceleration data stored before the detected trigger event.
3. The method of claim 1 , further comprising:
processing the specified amount of the acceleration data in order to recognize the event.
4. The method of claim 3 , wherein the event is a gesture.
5. The method of claim 1 , wherein modifying a configuration of the memory includes varying an amount of the acceleration data stored.
6. The method of claim 1 , wherein modifying a configuration of the memory includes modifying the configuration from a stream buffer to a first-in-first-out buffer.
7. The method of claim 1 , wherein detecting a trigger event further comprises:
capturing an acceleration bias;
measuring acceleration at a predetermined period of time;
calculating a change in acceleration using the measured acceleration and the acceleration bias; and
comparing the change in acceleration to a threshold to detect the trigger event.
8. A MEMS event capturing system comprising:
an inertial sensor having sensor circuitry; and
event capturing circuitry implemented with the sensor circuitry, the event capturing circuitry including:
memory capable of storing acceleration data received from the inertial sensor;
a detection module operatively coupled with the memory that detects a trigger event; and
a management module operatively coupled with the memory and the detection module that modifies the memory's storage configuration when the trigger event is detected.
9. The MEMS system of claim 8 , wherein the memory's storage configuration is modified from a stream buffer to a first-in-first-out buffer.
10. The MEMS system of claim 8 , further comprising a microprocessor operatively coupled with the event capturing circuitry, the microprocessor capable of processing the acceleration data in order to recognize an event.
11. The MEMS system of claim 10 , wherein the event is a gesture.
12. The MEMS system of claim 8 , wherein the inertial sensor is formed on a die, and the sensor circuitry and event capturing circuitry are formed on or in the die.
13. The MEMS system of claim 8 , wherein the sensor circuitry and event capturing circuitry are formed on or in a first die, and the inertial sensor is formed on or in a second die that is in communication with the first die.
14. The MEMS system of claim 8 , wherein the inertial sensor includes an accelerometer or a gyroscope.
15. The MEMS system of claim 8 , wherein the memory is capable of storing a fixed or a variable amount of acceleration data received from the inertial sensor.
16. A computer program product for capturing an event in a MEMS accelerometer, the computer program product comprising a computer usable medium having computer readable program code thereon, the computer readable program code comprising:
program code for storing acceleration data in memory;
program code for detecting a trigger event based on the acceleration data; and
program code for modifying a configuration of the memory so that a specified amount of the acceleration data is saved.
17. The computer program product of claim 16 , wherein the specified amount of the acceleration data includes acceleration data stored before the detected trigger event.
18. The computer program product of claim 16 , wherein the computer readable program code further comprises:
program code for processing the specified amount of the acceleration data in order to recognize the event.
19. The computer program product of claim 16 , wherein the computer readable program code for modifying a configuration of the memory includes program code for varying an amount of the acceleration data stored.
20. The computer program product of claim 16 , wherein the computer readable program code for modifying a configuration of the memory includes program code for modifying the configuration from a stream buffer to a first-in-first-out buffer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/408,532 US20090240462A1 (en) | 2008-03-21 | 2009-03-20 | System and Method for Capturing an Event in MEMS Inertial Sensors |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US3859408P | 2008-03-21 | 2008-03-21 | |
US4959008P | 2008-05-01 | 2008-05-01 | |
US7892308P | 2008-07-08 | 2008-07-08 | |
US12/408,532 US20090240462A1 (en) | 2008-03-21 | 2009-03-20 | System and Method for Capturing an Event in MEMS Inertial Sensors |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090240462A1 true US20090240462A1 (en) | 2009-09-24 |
Family
ID=40751056
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/408,532 Abandoned US20090240462A1 (en) | 2008-03-21 | 2009-03-20 | System and Method for Capturing an Event in MEMS Inertial Sensors |
US12/408,536 Active 2030-07-16 US8220329B2 (en) | 2008-03-21 | 2009-03-20 | Management system for MEMS inertial sensors |
US12/408,540 Active 2030-03-08 US8239160B2 (en) | 2008-03-21 | 2009-03-20 | Activity detection in MEMS accelerometers |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/408,536 Active 2030-07-16 US8220329B2 (en) | 2008-03-21 | 2009-03-20 | Management system for MEMS inertial sensors |
US12/408,540 Active 2030-03-08 US8239160B2 (en) | 2008-03-21 | 2009-03-20 | Activity detection in MEMS accelerometers |
Country Status (2)
Country | Link |
---|---|
US (3) | US20090240462A1 (en) |
WO (3) | WO2009117703A1 (en) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8422034B2 (en) | 2010-04-21 | 2013-04-16 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US8467071B2 (en) | 2010-04-21 | 2013-06-18 | Faro Technologies, Inc. | Automatic measurement of dimensional data with a laser tracker |
US8467072B2 (en) | 2011-02-14 | 2013-06-18 | Faro Technologies, Inc. | Target apparatus and method of making a measurement with the target apparatus |
US8537371B2 (en) | 2010-04-21 | 2013-09-17 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US8724119B2 (en) | 2010-04-21 | 2014-05-13 | Faro Technologies, Inc. | Method for using a handheld appliance to select, lock onto, and track a retroreflector with a laser tracker |
US9041914B2 (en) | 2013-03-15 | 2015-05-26 | Faro Technologies, Inc. | Three-dimensional coordinate scanner and method of operation |
US9164173B2 (en) | 2011-04-15 | 2015-10-20 | Faro Technologies, Inc. | Laser tracker that uses a fiber-optic coupler and an achromatic launch to align and collimate two wavelengths of light |
US9207309B2 (en) | 2011-04-15 | 2015-12-08 | Faro Technologies, Inc. | Six degree-of-freedom laser tracker that cooperates with a remote line scanner |
US9336111B1 (en) * | 2010-07-30 | 2016-05-10 | Emc Corporation | System and method for data logging within a field replaceable unit |
US9377885B2 (en) | 2010-04-21 | 2016-06-28 | Faro Technologies, Inc. | Method and apparatus for locking onto a retroreflector with a laser tracker |
US9395174B2 (en) | 2014-06-27 | 2016-07-19 | Faro Technologies, Inc. | Determining retroreflector orientation by optimizing spatial fit |
US9400170B2 (en) | 2010-04-21 | 2016-07-26 | Faro Technologies, Inc. | Automatic measurement of dimensional data within an acceptance region by a laser tracker |
US9482529B2 (en) | 2011-04-15 | 2016-11-01 | Faro Technologies, Inc. | Three-dimensional coordinate scanner and method of operation |
US9482755B2 (en) | 2008-11-17 | 2016-11-01 | Faro Technologies, Inc. | Measurement system having air temperature compensation between a target and a laser tracker |
US9638507B2 (en) | 2012-01-27 | 2017-05-02 | Faro Technologies, Inc. | Measurement machine utilizing a barcode to identify an inspection plan for an object |
US9686532B2 (en) | 2011-04-15 | 2017-06-20 | Faro Technologies, Inc. | System and method of acquiring three-dimensional coordinates using multiple coordinate measurement devices |
US9772394B2 (en) | 2010-04-21 | 2017-09-26 | Faro Technologies, Inc. | Method and apparatus for following an operator and locking onto a retroreflector with a laser tracker |
US20180216959A1 (en) * | 2014-09-01 | 2018-08-02 | Beijing Noitom Technology Ltd. | A Combined Motion Capture System |
US11324421B2 (en) | 2014-09-15 | 2022-05-10 | 3M Innovative Properties Company | Impairment detection with environmental considerations |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9008995B2 (en) | 2008-03-21 | 2015-04-14 | Analog Devices, Inc. | Activity detection in MEMS accelerometers |
WO2009117703A1 (en) * | 2008-03-21 | 2009-09-24 | Analog Devices, Inc. | Activity detection in mems accelerometers |
US8532956B2 (en) * | 2008-10-27 | 2013-09-10 | General Electric Company | Method and system for rotation tracking of a turbomachine component |
WO2011035311A1 (en) * | 2009-09-21 | 2011-03-24 | Medtronic, Inc. | Waveforms for electrical stimulation therapy |
ES2536702T3 (en) | 2009-12-22 | 2015-05-27 | Inventio Ag | Procedure and device for determining the movement and / or position of an elevator car |
DE102010028828B4 (en) * | 2010-05-11 | 2019-07-18 | Robert Bosch Gmbh | Method and system for determining an idle state |
DE102010029590B4 (en) * | 2010-06-01 | 2014-07-10 | Robert Bosch Gmbh | Rotation rate sensor, sensor arrangement, method for operating a rotation rate sensor and method for operating a sensor arrangement |
KR101204205B1 (en) * | 2011-05-13 | 2012-11-26 | 삼성전기주식회사 | Apparatus and method for driving inertial sensor |
US9078070B2 (en) | 2011-05-24 | 2015-07-07 | Analog Devices, Inc. | Hearing instrument controller |
US9507399B2 (en) | 2012-04-24 | 2016-11-29 | Analog Devices, Inc. | Accelerometer-controlled master power switch for electronic devices |
WO2013184620A1 (en) * | 2012-06-06 | 2013-12-12 | Analog Devices, Inc. | Activity detection in mems accelerometers |
CN102830790A (en) * | 2012-08-03 | 2012-12-19 | 青岛海信信芯科技有限公司 | Mobile electronic equipment and automatic sleeping method thereof |
CN103020598B (en) * | 2012-12-11 | 2015-08-19 | 杭州电子科技大学 | A kind ofly carry out knowledge method for distinguishing for attitude variation when people being completed to specific action |
US9146605B2 (en) | 2013-01-31 | 2015-09-29 | Salutron, Inc. | Ultra low power actigraphy based on dynamic threshold |
US9235377B2 (en) * | 2013-03-12 | 2016-01-12 | Invensense, Inc. | Multiple, per sensor configurable FIFOs in a single static random access memory (SRAM) structure |
US9520036B1 (en) | 2013-09-18 | 2016-12-13 | Amazon Technologies, Inc. | Haptic output generation with dynamic feedback control |
CA2939633A1 (en) | 2014-02-14 | 2015-08-20 | 3M Innovative Properties Company | Activity recognition using accelerometer data |
JP6526831B2 (en) | 2014-12-30 | 2019-06-05 | マイシート ソシエテ パル アクシオン サンプリフィエ | Apparatus and system for detecting occupancy status of equipment |
US10619986B2 (en) * | 2016-07-26 | 2020-04-14 | Omnitek Partners Llc | Laser activated initiation devices with self-powered event detection and arming logic and false trigger protection for munitions |
GB2555641A (en) * | 2016-11-07 | 2018-05-09 | Airbus Operations Ltd | Actuator with brushless DC motor |
DE102017102614A1 (en) * | 2017-02-09 | 2018-08-09 | Efaflex Tor- Und Sicherheitssysteme Gmbh & Co. Kg | Door panel crash detection system, door panel crash detection system, and door panel crash detection method |
US10532741B2 (en) * | 2017-10-02 | 2020-01-14 | Deere & Company | Method of using predicted vehicle accelerations to improve roll and pitch measurement accuracy in a tracked machine |
US10958542B2 (en) | 2018-10-30 | 2021-03-23 | United Technologies Corporation | System for active data acquisition management in a gas turbine engine |
CN110151136B (en) * | 2019-05-28 | 2022-03-08 | 深圳如一探索科技有限公司 | Method, device, equipment and medium for monitoring sleep state of conditional reference heart rate |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4638289A (en) * | 1983-02-26 | 1987-01-20 | Licentia Patent-Verwaltungs-Gmbh | Accident data recorder |
US4862394A (en) * | 1987-01-28 | 1989-08-29 | Dallas Instruments Incorporated | Drop height recorder |
US5388247A (en) * | 1993-05-14 | 1995-02-07 | Digital Equipment Corporation | History buffer control to reduce unnecessary allocations in a memory stream buffer |
US20040172167A1 (en) * | 2003-02-28 | 2004-09-02 | Stmicroelectronics S.R.L. | Device for automatic detection of states of motion and rest, and portable electronic apparatus incorporating it |
US20060184336A1 (en) * | 2005-02-15 | 2006-08-17 | Kolen Paul T | Single/multiple axes six degrees of freedom (6 DOF) inertial motion capture system with initial orientation determination capability |
US7205173B2 (en) * | 2002-03-20 | 2007-04-17 | Qinetiq Limited | Method of fabricating micro-electromechanical systems |
US20070169551A1 (en) * | 2005-06-13 | 2007-07-26 | Analog Devices, Inc. | MEMS Sensor System with Configurable Signal Module |
US20070192055A1 (en) * | 2004-08-09 | 2007-08-16 | Vodafone K.K. | Measurement data collection method and portable information device |
US20070255531A1 (en) * | 2006-04-27 | 2007-11-01 | Medtronic, Inc. | Peak data retention of signal data in an implantable medical device |
US20070296571A1 (en) * | 2006-06-13 | 2007-12-27 | Kolen Paul T | Motion sensing in a wireless rf network |
US20080016961A1 (en) * | 2006-07-24 | 2008-01-24 | Honeywell International Inc. | Medical application for no-motion sensor |
US20080252445A1 (en) * | 2007-04-04 | 2008-10-16 | Magneto Inertial Sensing Technology, Inc. | Dynamically Configurable Wireless Sensor Networks |
US20090012748A1 (en) * | 2007-07-06 | 2009-01-08 | Microsoft Corporation | Suppressing repeated events and storing diagnostic information |
US20090076765A1 (en) * | 2006-03-03 | 2009-03-19 | Garmin Ltd. | Method and apparatus for estimating a motion parameter |
US8217795B2 (en) * | 2006-12-05 | 2012-07-10 | John Carlton-Foss | Method and system for fall detection |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434642B1 (en) * | 1999-10-07 | 2002-08-13 | Xilinx, Inc. | FIFO memory system and method with improved determination of full and empty conditions and amount of data stored |
JP2001202698A (en) * | 2000-01-19 | 2001-07-27 | Pioneer Electronic Corp | Audio and video reproducing device |
FI119078B (en) * | 2002-02-12 | 2008-07-15 | Nokia Corp | Accelerometer |
JP2005241503A (en) * | 2004-02-27 | 2005-09-08 | Hitachi Metals Ltd | Acceleration history recording device at time of falling and acceleration sensor device used therefor |
US7176888B2 (en) * | 2004-03-23 | 2007-02-13 | Fujitsu Limited | Selective engagement of motion detection |
US20050212912A1 (en) * | 2004-03-26 | 2005-09-29 | Faron Huster | System and method for wildlife activity monitoring |
DE202005022038U1 (en) * | 2004-04-30 | 2012-07-12 | Hillcrest Laboratories, Inc. | Free space pointing devices with slope compensation and improved usability |
US7066004B1 (en) * | 2004-09-02 | 2006-06-27 | Sandia Corporation | Inertial measurement unit using rotatable MEMS sensors |
WO2006122246A2 (en) | 2005-05-09 | 2006-11-16 | Analog Devices, Inc. | Accelerometer-based differential free fall detection system, apparatus, and method and disk drive protection mechanism employing same |
US8079259B2 (en) * | 2005-06-27 | 2011-12-20 | Milli Sensor Systems & Actuators | MEMS gyroscope with output oscillation about the normal to the plane |
US7907037B2 (en) * | 2006-02-04 | 2011-03-15 | Evigia Systems, Inc. | Micro-electro-mechanical module |
US20090002345A1 (en) * | 2006-02-22 | 2009-01-01 | Stefan Burstrom | Systems and Methods for Interacting with Position Data Representing Pen Movement on a Product |
US7549334B2 (en) * | 2006-04-24 | 2009-06-23 | Milli Sensor Systems + Actuators | Small angle bias measurement mechanism for MEMS instruments |
US8250921B2 (en) * | 2007-07-06 | 2012-08-28 | Invensense, Inc. | Integrated motion processing unit (MPU) with MEMS inertial sensing and embedded digital electronics |
EP1959234A1 (en) * | 2007-02-13 | 2008-08-20 | STMicroelectronics S.r.l. | Microelectromechanical gyroscope with suppression of capacitive coupling spurious signals and control method of a microelectromechanical gyroscope |
EP1962054B1 (en) * | 2007-02-13 | 2011-07-20 | STMicroelectronics Srl | Microelectromechanical gyroscope with open loop reading device and control method of a microelectromechanical gyroscope |
EP1959233A1 (en) * | 2007-02-13 | 2008-08-20 | STMicroelectronics S.r.l. | Microelectromechanical gyroscope with self-test function and control method of a microelectromechanical gyroscope |
WO2009117703A1 (en) * | 2008-03-21 | 2009-09-24 | Analog Devices, Inc. | Activity detection in mems accelerometers |
-
2009
- 2009-03-20 WO PCT/US2009/037879 patent/WO2009117703A1/en active Application Filing
- 2009-03-20 WO PCT/US2009/037852 patent/WO2009151711A2/en active Application Filing
- 2009-03-20 US US12/408,532 patent/US20090240462A1/en not_active Abandoned
- 2009-03-20 WO PCT/US2009/037850 patent/WO2009117687A1/en active Application Filing
- 2009-03-20 US US12/408,536 patent/US8220329B2/en active Active
- 2009-03-20 US US12/408,540 patent/US8239160B2/en active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4638289A (en) * | 1983-02-26 | 1987-01-20 | Licentia Patent-Verwaltungs-Gmbh | Accident data recorder |
US4862394A (en) * | 1987-01-28 | 1989-08-29 | Dallas Instruments Incorporated | Drop height recorder |
US5388247A (en) * | 1993-05-14 | 1995-02-07 | Digital Equipment Corporation | History buffer control to reduce unnecessary allocations in a memory stream buffer |
US7205173B2 (en) * | 2002-03-20 | 2007-04-17 | Qinetiq Limited | Method of fabricating micro-electromechanical systems |
US20040172167A1 (en) * | 2003-02-28 | 2004-09-02 | Stmicroelectronics S.R.L. | Device for automatic detection of states of motion and rest, and portable electronic apparatus incorporating it |
US20070192055A1 (en) * | 2004-08-09 | 2007-08-16 | Vodafone K.K. | Measurement data collection method and portable information device |
US20060184336A1 (en) * | 2005-02-15 | 2006-08-17 | Kolen Paul T | Single/multiple axes six degrees of freedom (6 DOF) inertial motion capture system with initial orientation determination capability |
US20070169551A1 (en) * | 2005-06-13 | 2007-07-26 | Analog Devices, Inc. | MEMS Sensor System with Configurable Signal Module |
US20090076765A1 (en) * | 2006-03-03 | 2009-03-19 | Garmin Ltd. | Method and apparatus for estimating a motion parameter |
US20070255531A1 (en) * | 2006-04-27 | 2007-11-01 | Medtronic, Inc. | Peak data retention of signal data in an implantable medical device |
US20070296571A1 (en) * | 2006-06-13 | 2007-12-27 | Kolen Paul T | Motion sensing in a wireless rf network |
US20080016961A1 (en) * | 2006-07-24 | 2008-01-24 | Honeywell International Inc. | Medical application for no-motion sensor |
US8217795B2 (en) * | 2006-12-05 | 2012-07-10 | John Carlton-Foss | Method and system for fall detection |
US20080252445A1 (en) * | 2007-04-04 | 2008-10-16 | Magneto Inertial Sensing Technology, Inc. | Dynamically Configurable Wireless Sensor Networks |
US20090012748A1 (en) * | 2007-07-06 | 2009-01-08 | Microsoft Corporation | Suppressing repeated events and storing diagnostic information |
Cited By (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9453913B2 (en) | 2008-11-17 | 2016-09-27 | Faro Technologies, Inc. | Target apparatus for three-dimensional measurement system |
US9482755B2 (en) | 2008-11-17 | 2016-11-01 | Faro Technologies, Inc. | Measurement system having air temperature compensation between a target and a laser tracker |
US9377885B2 (en) | 2010-04-21 | 2016-06-28 | Faro Technologies, Inc. | Method and apparatus for locking onto a retroreflector with a laser tracker |
US8654354B2 (en) | 2010-04-21 | 2014-02-18 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US8537371B2 (en) | 2010-04-21 | 2013-09-17 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US9400170B2 (en) | 2010-04-21 | 2016-07-26 | Faro Technologies, Inc. | Automatic measurement of dimensional data within an acceptance region by a laser tracker |
US8576380B2 (en) | 2010-04-21 | 2013-11-05 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US10480929B2 (en) | 2010-04-21 | 2019-11-19 | Faro Technologies, Inc. | Method and apparatus for following an operator and locking onto a retroreflector with a laser tracker |
US10209059B2 (en) | 2010-04-21 | 2019-02-19 | Faro Technologies, Inc. | Method and apparatus for following an operator and locking onto a retroreflector with a laser tracker |
US9772394B2 (en) | 2010-04-21 | 2017-09-26 | Faro Technologies, Inc. | Method and apparatus for following an operator and locking onto a retroreflector with a laser tracker |
US8654355B2 (en) | 2010-04-21 | 2014-02-18 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US8724119B2 (en) | 2010-04-21 | 2014-05-13 | Faro Technologies, Inc. | Method for using a handheld appliance to select, lock onto, and track a retroreflector with a laser tracker |
US8724120B2 (en) | 2010-04-21 | 2014-05-13 | Faro Technologies, Inc. | Automatic measurement of dimensional data with a laser tracker |
US8896848B2 (en) | 2010-04-21 | 2014-11-25 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US9007601B2 (en) | 2010-04-21 | 2015-04-14 | Faro Technologies, Inc. | Automatic measurement of dimensional data with a laser tracker |
US8437011B2 (en) | 2010-04-21 | 2013-05-07 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US9146094B2 (en) | 2010-04-21 | 2015-09-29 | Faro Technologies, Inc. | Automatic measurement of dimensional data with a laser tracker |
US8467071B2 (en) | 2010-04-21 | 2013-06-18 | Faro Technologies, Inc. | Automatic measurement of dimensional data with a laser tracker |
US8537375B2 (en) | 2010-04-21 | 2013-09-17 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US8422034B2 (en) | 2010-04-21 | 2013-04-16 | Faro Technologies, Inc. | Method and apparatus for using gestures to control a laser tracker |
US9336111B1 (en) * | 2010-07-30 | 2016-05-10 | Emc Corporation | System and method for data logging within a field replaceable unit |
US10496464B1 (en) | 2010-07-30 | 2019-12-03 | EMC IP Holding Company LLC | System and method for data logging within a field replacement unit |
US8467072B2 (en) | 2011-02-14 | 2013-06-18 | Faro Technologies, Inc. | Target apparatus and method of making a measurement with the target apparatus |
US8593648B2 (en) | 2011-02-14 | 2013-11-26 | Faro Technologies, Inc. | Target method using indentifier element to obtain sphere radius |
US8619265B2 (en) | 2011-03-14 | 2013-12-31 | Faro Technologies, Inc. | Automatic measurement of dimensional data with a laser tracker |
US9164173B2 (en) | 2011-04-15 | 2015-10-20 | Faro Technologies, Inc. | Laser tracker that uses a fiber-optic coupler and an achromatic launch to align and collimate two wavelengths of light |
US10302413B2 (en) | 2011-04-15 | 2019-05-28 | Faro Technologies, Inc. | Six degree-of-freedom laser tracker that cooperates with a remote sensor |
US9494412B2 (en) | 2011-04-15 | 2016-11-15 | Faro Technologies, Inc. | Diagnosing multipath interference and eliminating multipath interference in 3D scanners using automated repositioning |
US10578423B2 (en) | 2011-04-15 | 2020-03-03 | Faro Technologies, Inc. | Diagnosing multipath interference and eliminating multipath interference in 3D scanners using projection patterns |
US9453717B2 (en) | 2011-04-15 | 2016-09-27 | Faro Technologies, Inc. | Diagnosing multipath interference and eliminating multipath interference in 3D scanners using projection patterns |
US9207309B2 (en) | 2011-04-15 | 2015-12-08 | Faro Technologies, Inc. | Six degree-of-freedom laser tracker that cooperates with a remote line scanner |
US9967545B2 (en) | 2011-04-15 | 2018-05-08 | Faro Technologies, Inc. | System and method of acquiring three-dimensional coordinates using multiple coordinate measurment devices |
US9448059B2 (en) | 2011-04-15 | 2016-09-20 | Faro Technologies, Inc. | Three-dimensional scanner with external tactical probe and illuminated guidance |
US9686532B2 (en) | 2011-04-15 | 2017-06-20 | Faro Technologies, Inc. | System and method of acquiring three-dimensional coordinates using multiple coordinate measurement devices |
US9482529B2 (en) | 2011-04-15 | 2016-11-01 | Faro Technologies, Inc. | Three-dimensional coordinate scanner and method of operation |
US10119805B2 (en) | 2011-04-15 | 2018-11-06 | Faro Technologies, Inc. | Three-dimensional coordinate scanner and method of operation |
US10267619B2 (en) | 2011-04-15 | 2019-04-23 | Faro Technologies, Inc. | Three-dimensional coordinate scanner and method of operation |
US9638507B2 (en) | 2012-01-27 | 2017-05-02 | Faro Technologies, Inc. | Measurement machine utilizing a barcode to identify an inspection plan for an object |
US9041914B2 (en) | 2013-03-15 | 2015-05-26 | Faro Technologies, Inc. | Three-dimensional coordinate scanner and method of operation |
US9482514B2 (en) | 2013-03-15 | 2016-11-01 | Faro Technologies, Inc. | Diagnosing multipath interference and eliminating multipath interference in 3D scanners by directed probing |
US9395174B2 (en) | 2014-06-27 | 2016-07-19 | Faro Technologies, Inc. | Determining retroreflector orientation by optimizing spatial fit |
US20180216959A1 (en) * | 2014-09-01 | 2018-08-02 | Beijing Noitom Technology Ltd. | A Combined Motion Capture System |
US11324421B2 (en) | 2014-09-15 | 2022-05-10 | 3M Innovative Properties Company | Impairment detection with environmental considerations |
Also Published As
Publication number | Publication date |
---|---|
WO2009151711A2 (en) | 2009-12-17 |
US8220329B2 (en) | 2012-07-17 |
WO2009117703A1 (en) | 2009-09-24 |
WO2009151711A4 (en) | 2010-06-24 |
US8239160B2 (en) | 2012-08-07 |
WO2009151711A3 (en) | 2010-04-15 |
US20090293615A1 (en) | 2009-12-03 |
WO2009117687A1 (en) | 2009-09-24 |
US20090240463A1 (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090240462A1 (en) | System and Method for Capturing an Event in MEMS Inertial Sensors | |
US9008995B2 (en) | Activity detection in MEMS accelerometers | |
US9367119B2 (en) | System and method to reduce power consumption in a multi-sensor environment | |
US20130332108A1 (en) | Embedded hardware state machine for context detection integrated with a sensor chip | |
EP2512110B1 (en) | Camera mobile phone with an anti-shaking function and anti-shaking method for use by a camera mobile phone in image capturing. | |
WO2011119499A2 (en) | Bump suppression | |
WO2014085615A2 (en) | Combining monitoring sensor measurements and system signals to determine device context | |
WO2013184620A1 (en) | Activity detection in mems accelerometers | |
WO2013104006A2 (en) | System and method for calibrating sensors for different operating environments | |
US20170153121A1 (en) | Methods and devices with sensor time calibration | |
TWI493334B (en) | Poewr saving method and sensor management system implementing the same | |
JP5331999B2 (en) | Acceleration detection device and portable device equipped with the same | |
EP3589967B1 (en) | Power management for electromagnetic position tracking systems | |
CN104508431A (en) | Sensor with sampling moment time stamp | |
WO2017005070A1 (en) | Display control method and device | |
CN104243094B (en) | For using the system and method for sensing the characteristic that instruction carrys out adaptation application layer protocol | |
CN110072010B (en) | Drop detection method and terminal equipment | |
US20120203503A1 (en) | Electronic device, pedometer, and program | |
US20070126627A1 (en) | Positioning information processing apparatus, information processing apparatus, method of processing positioning information, and program | |
US10725064B2 (en) | Methods of motion processing and related electronic devices and motion modules | |
CN112486258A (en) | Wearable device, step counting method thereof and computer storage medium | |
CN107818036B (en) | Black screen detection method, mobile terminal and computer readable storage medium | |
US8952785B2 (en) | Reduction of IMU/AP link requirements for SDI | |
JP2010091462A (en) | Relative acceleration detector, method for detecting relative acceleration, and program | |
KR20170111408A (en) | Apparatus and method for step calculation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ANALOG DEVICES, INC., MASSACHUSETTS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEE, JAMES M.;REEL/FRAME:022734/0044 Effective date: 20090422 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |