Patent ID: 8930163
Filing Date: 2015-01-06
Classification: G01C,G01P,G06F

Abstract:
1. A computer-implemented method for detecting the steps of a person and estimating the person's three-dimensional (3D) movement to track a location of the person, comprising the steps of: a. collecting accelerometer data from a torso worn or person carried device that includes an accelerometer, the accelerometer data representing an x axis, a y-axis and a z-axis movement of the person over a period of time and storing the accelerometer data in a non-transitory memory of a computer having a processor; b. removing by the processor tilt data from the accelerometer data for the x-axis, the y-axis and the z-axis to produce first improved accelerometer data and storing the first improved accelerometer data in the memory; c. removing by the processor gravitation acceleration from the first improved accelerometer data for the z-axis to produce second improved accelerometer data and storing the second improved accelerometer data in the memory; d. filtering by the processor the second improved accelerometer data and the first improved accelerometer data for the x-axis and the y-axis to remove additional bias and high frequency noise and to produce a filtered accelerometer data for the x-axis, the y-axis, and the z-axis; e. calculating by the processor a hip elevation estimate using a double integration of the filtered accelerometer data for the z-axis and storing the hip elevation estimate in the memory; f. correcting by the processor the hip elevation estimate if the hip elevation estimate drifts away from a mean over time; g. finding by the processor a local minima and a local maxima to detect each step by the person and storing the local minima and the local maxima in the memory; h. classifying by the processor the person's gait as a level gait, an up gait, or a down gait based on at least the local minima and the local maxima of the device; i. finding by the processor an x-displacement along the x-axis and a y-displacement along the y-axis for each step by the person based on the filtered accelerometer data for the x-axis and the y-axis and storing the x-displacement and the y-displacement in the memory; j. calculating by the processor a two-dimensional (2D) movement displacement for each stride by the person based at least on the x-displacement and the y-displacement; k. when the person's gait is classified as the up gait or the down gait, calculating by the processor the elevation change of the person and storing the elevation change in the memory; and l. on a step by step basis, calculating the 3D movement of the person based at least on the 2D movement displacement and the elevation change to track a location of the person.