Systems and methods for location, motion, and contact detection and tracking in a networked audiovisual device
First Claim
Patent Images
1. A motion module for incorporation in a portable device, comprising:
- a processor module, including a processor and a processor readable memory disposed to store data and instructions for execution by said processor;
a motion sensing module in electrical communication with the processor module, said motion sensing module including;
an accelerometer disposed to provide an analog acceleration signal associated with one or more axes of motion of said portable electronic device;
an analog to digital (A/D) converter disposed to receive said analog acceleration signal and generate a plurality of digital acceleration values; and
a signal processing module disposed to generate, from said plurality of digital acceleration values, a plurality of relative velocity values and a plurality of relative position values, and store, in said memory, said plurality of relative velocity values and said plurality of relative position values;
wherein the signal processing module includes;
a first integrator module disposed to generate, based at least in part on said plurality of digital acceleration values, said plurality of relative velocity values; and
a second integrator module disposed to generate, based at least in part on said plurality of relative velocity values, said plurality of relative position values; and
wherein the signal processing module further includes a Kalman filter module disposed to;
receive, at a Kalman filter input, said plurality of digital acceleration values, said plurality of relative velocity values, and said plurality of relative position values;
apply a Kalman filtering process to said plurality of relative acceleration values, said plurality of relative velocity values, and said plurality of relative position values so as to provide a plurality of interpolated position values; and
store said plurality of interpolated position values in said memory; and
wherein the signal processing module further includes a vector quantization module disposed to;
receive position calibration data, including a set of predefined positions;
receive said plurality of interpolated position values;
generate, based at least in part on said position calibration data and said interpolated position values, a first implied position value, where said first implied position value is based on one of said predefined positions; and
store said first implied position value in said memory.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for location, motion, and contact detection and tracking in a portable networked device are disclosed. A portable device may include a motion detection unit including an accelerometer for detecting accelerations in one or more axes. Signals associated with the detected motion are processed to generate estimates of device acceleration, velocity, and relative and absolute locations. Additional processing may be performed to detect user gestures or other user input relevant to portable device control. Particular motion or vibrational characteristics may be also be detected and used by other processes in the portable device.
135 Citations
24 Claims
-
1. A motion module for incorporation in a portable device, comprising:
-
a processor module, including a processor and a processor readable memory disposed to store data and instructions for execution by said processor; a motion sensing module in electrical communication with the processor module, said motion sensing module including; an accelerometer disposed to provide an analog acceleration signal associated with one or more axes of motion of said portable electronic device; an analog to digital (A/D) converter disposed to receive said analog acceleration signal and generate a plurality of digital acceleration values; and a signal processing module disposed to generate, from said plurality of digital acceleration values, a plurality of relative velocity values and a plurality of relative position values, and store, in said memory, said plurality of relative velocity values and said plurality of relative position values; wherein the signal processing module includes; a first integrator module disposed to generate, based at least in part on said plurality of digital acceleration values, said plurality of relative velocity values; and a second integrator module disposed to generate, based at least in part on said plurality of relative velocity values, said plurality of relative position values; and wherein the signal processing module further includes a Kalman filter module disposed to; receive, at a Kalman filter input, said plurality of digital acceleration values, said plurality of relative velocity values, and said plurality of relative position values; apply a Kalman filtering process to said plurality of relative acceleration values, said plurality of relative velocity values, and said plurality of relative position values so as to provide a plurality of interpolated position values; and
store said plurality of interpolated position values in said memory; andwherein the signal processing module further includes a vector quantization module disposed to; receive position calibration data, including a set of predefined positions; receive said plurality of interpolated position values; generate, based at least in part on said position calibration data and said interpolated position values, a first implied position value, where said first implied position value is based on one of said predefined positions; and store said first implied position value in said memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A portable electronic device comprising:
-
a frame structure; a core electronics unit including a processor and memory disposed to store data and instructions for one or more computer programs configured to be executed by the processor; a motion sensing module in electrical communication with the core electronics unit, said motion sensing module including; an accelerometer disposed to provide an analog acceleration signal associated with one or more axes of motion of said portable electronic device; an analog to digital (A/D) converter disposed to receive said analog acceleration signal and generate a plurality of digital acceleration values; a communications module configured to provide one or more network connections; a signal processing module including machine readable instructions, stored in said memory and configured to be implemented, at least in part, on said processor, to generate, from said plurality of digital acceleration values, a plurality of relative velocity and relative position values, and store, in said memory, said plurality of digital acceleration values, said plurality of relative velocity values, and said plurality of relative position values; and a housing attached to the frame structure, the housing at least partially defining a compartment containing the core electronics unit and the motion sensing unit wherein the signal processing module further includes; a first integrator module configured to generate, based at least in part on said plurality of digital acceleration values, said plurality of relative velocity values; and a second integrator module disposed to generate, based at least in part on said plurality of relative velocity values, said plurality of relative position values; and wherein the signal processing module further includes a Kalman filter module configured to; receive said plurality of digital acceleration values, said plurality of relative velocity values, and said plurality of relative position values; apply a Kalman filtering process to said plurality of relative acceleration values, said plurality of relative velocity values, and said plurality of relative position values, so as to provide a plurality of interpolated position values; and store said plurality of interpolated position values in said memory; and wherein the signal processing module further includes a vector quantization module configured to; receive position calibration data including a set of predefined positions, receive said plurality of interpolated position values; generate, based at least in part on said position calibration data and said interpolated position values, a first implied position value, said first implied position value based on one of said predefined positions; and store said first implied position value in said memory. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of operating a portable device comprising the steps of:
-
generating, at an accelerometer, an analog acceleration signal associated with one or more axes of motion of said portable device; providing, to an A/D converter, said analog acceleration signal; providing, from said A/D converter, a plurality of digital acceleration values based on said analog acceleration signal; generating, based at least in part on said plurality of digital acceleration values, a plurality of relative velocity values and a plurality of relative position values; storing, in a processor readable memory, said plurality of digital acceleration values, said plurality of relative velocity values, and said plurality of relative position values; receiving, at a Kalman filter, said plurality of digital acceleration values, said plurality of relative velocity values, and said plurality of relative position values; providing, from said Kalman filter, a plurality of interpolated position values; storing, in said memory, said plurality of interpolated position values, receiving position calibration data, including a set of predefined positions; receiving said plurality of interpolated position values; generating, based at least in part on said position calibration data and said plurality of interpolated position values, a first implied position value, said first implied position value based on one of said predefined positions; and storing said first implied position value in said memory; wherein said plurality of digital acceleration values are integrated in a first integrator module to provide said plurality of relative velocity values, and said plurality of relative velocity values are integrated in a second integrator module to provide said plurality of relative position values. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A method of motion processing to determine positioning of a portable electronic device, comprising the steps of:
-
receiving training input at said portable device identifying a plurality of mapped locations within a mapped area; and based at least in part on said mapped locations, identifying a current position within said plurality of mapped locations;
wherein said identifying a current position comprises the steps of;determining a start location; detecting an onset of motion; responsive to said detecting, receiving one or more acceleration component signals associated with said motion, and integrating said component signals to determine one or more running positions; detecting when said motion has substantially stopped; responsive to said detecting, determining an estimated location based on said one or more running positions; and based at least in part on the start location and the stop location, mapping the estimated location of the device to one of said plurality of mapped locations, and storing said mapped location as said current position.
-
Specification