WO2022258136A1 - Method and device for estimating a position and a velocity of a person - Google Patents

Method and device for estimating a position and a velocity of a person Download PDF

Info

Publication number
WO2022258136A1
WO2022258136A1 PCT/EP2021/065120 EP2021065120W WO2022258136A1 WO 2022258136 A1 WO2022258136 A1 WO 2022258136A1 EP 2021065120 W EP2021065120 W EP 2021065120W WO 2022258136 A1 WO2022258136 A1 WO 2022258136A1
Authority
WO
WIPO (PCT)
Prior art keywords
velocity
person
time
matrix
state
Prior art date
Application number
PCT/EP2021/065120
Other languages
French (fr)
Inventor
Mario Costa
Juho LEPISTO
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to PCT/EP2021/065120 priority Critical patent/WO2022258136A1/en
Priority to CN202180096382.0A priority patent/CN117203553A/en
Publication of WO2022258136A1 publication Critical patent/WO2022258136A1/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system

Definitions

  • the disclosure relates to monitoring physical activity, and more particularly, the disclosure relates to a method and a device for estimating a position and a velocity of a person with accurate determination of route and speed using position measurement data, such as Global Navigation Satellite Systems (GNSS) measurement data.
  • position measurement data such as Global Navigation Satellite Systems (GNSS) measurement data.
  • GNSS Global Navigation Satellite Systems
  • a device with the GPS cannot receive signals emitted from the GPS satellite. Further a weak GPS signal flows indoors through a wall or a roof of the building to reach the device, but those signals are unstable and not accurate in positioning.
  • GNSS Global Navigation Satellite System
  • GNSS receivers are also used by hikers and other sports enthusiasts to guide them along a chosen route to a selected destination, to monitor walking, running, or cycling speed, or simply to help guide the user to a place of safety.
  • a GNSS provides position data and timing data from satellites in geosynchronous orbits.
  • GPS Global Positioning Systems
  • GLONASS Russian GLONASS
  • Chinese regional BeiDou system In order for a terrestrial receiver of a GNSS to be able to determine position and speed/velocity, it is necessary for the receiver to be able to “see” 4 satellites of the relevant
  • GNSS Global System for Mobile Communications
  • the present disclosure addresses the problem of loss of navigation system support both for GNSS and for non-GNSS systems.
  • Existing solutions include a sliding -window that has been used to smooth running route and running speed obtained directly from GNSS measurements.
  • the sliding-window has the inability to account for rapid changes to a user’s speed - e.g. a user’s running speed.
  • the running speed may vary while performing interval training, or while traversing different terrains - e.g. from when running on the flat to running up or down hill, or over rough or boggy terrain, or through restrictive vegetation.
  • the sliding- window has the inability to provide speed and route estimates when the GNSS signal is lost, such as in tunnels, bridges, streets with high-rise buildings, or dense vegetation.
  • the disclosure also provides a device for estimating a position and a velocity of a person walking or riding a bicycle.
  • a method for estimating a position and a velocity of a person walking or riding a bicycle comprising: determining a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time; determining a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle; determining a first velocity by dividing the displacement vector by a difference between the second time and the first time; and determining a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time.
  • This method combines navigation data and measurements of elementary moves made by the person to estimate the position and speed of the person.
  • the navigation data may include a latitude and a longitude of the position, or an alternative representation of position - such as representation of position based on a geographic coordinate system.
  • This method takes a sequence of the position, and elementary moves measurements of the person, as input and outputs recursive/sequential estimates of position, speed, and optionally step-length.
  • the position and velocity of the person are estimated even if the navigation data are unavailable, but a direction of corresponding vectors is unchanged due to lack of directional information.
  • the step-length remains unchanged and identical when the navigation data, e.g. GNSS measurements, were last available, and the elementary move (e.g. step-count) measurement data are unavailable.
  • An advantage of this method is that the method can estimate and continuously updates the average step-length of the person, thereby enabling the person to track their speed more accurately, while running or walking “out-of-sight-of” navigation support infrastructure (such as GNSS satellites) outdoors or indoors.
  • the method also allows estimating and tracking variance of navigation data measurements (e.g. GNSS measurement data) as well as that of step-count (or wheel rotation count if the person is riding the bicycle) thereby automatically weighting most and least reliable measurement source.
  • the method further comprising determining a first step-length by dividing a magnitude of the first velocity by a first number of steps per unit time.
  • the method further comprising using the Extended Kalman filter to determine a second step- length based on the second position, the first velocity, and the first step-length.
  • the third position, the second velocity, and the second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length.
  • the method further comprising using one of one or more processors to calculate the first state transition matrix based on a time elapsed between the second position and the third position of the person.
  • the method further comprising using one of the one or more processors to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
  • the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with the first state noise covariance matrix.
  • the first position and the second position of the person are obtained by geo spatial positioning.
  • the method further comprising calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
  • the method further comprising using one of the one or more processors to calculate the first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity and step-length.
  • the method further comprising calculating a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step- length, a second state covariance matrix and a first gradient vector.
  • the method further comprising using one of the one or more processors to calculate the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
  • the method further comprising calculating the second Fisher information matrix based on the third position, the second velocity, the second step-length, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
  • the method further comprising calculating the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps per unit time, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit.
  • the method further comprising determining from measurements of signals transmitted for positioning the fifth position, the fifth position being a position of the person at a fifth time later than the second time.
  • the method further comprising determining the second number of steps taken by the person per unit time.
  • the third position and the second velocity are obtained by multiplying a first state transition matrix with the second position, and the first velocity.
  • the method further comprising calculating the first state transition matrix based on a time elapsed between the second position and the third position of the bicycle.
  • the method further comprising calculating a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
  • the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
  • the first position and the second position of the person are obtained by geo spatial positioning.
  • the method further comprising calculating the first Fisher information matrix based on the second position, the first velocity, a wheel size of the bicycle, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
  • the method further comprising calculating a first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity.
  • the method further comprising calculating a fourth position and a third velocity, based on the third position, the second velocity, a second state covariance matrix and a first gradient vector.
  • the method further comprising calculating the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
  • the method further comprising calculating the second Fisher information matrix based on the third position, the second velocity, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
  • the method further comprising calculating the first gradient vector based on the third position, the second velocity, a fifth position, a second number of rotations of the wheel per unit time, the wheel size, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
  • the method further comprising determining from measurements of signals for positioning the fifth position.
  • the fifth position being a position of the bicycle at a fifth time later than the second time.
  • the method incorporates (a) a nonlinear relationship relating position measurement data, such as GNSS measurement data, with a unit-norm position vector into the Kalman Filtering framework, and (b) a nonlinear relationship relating elementary moves measurement data for elementary moves made by the person, e.g. step-count measurements, with a velocity vector and elementary move length, e.g. step-length (or wheel circumference if the person is riding the bicycle), which allows the position measurement data, e.g. GNSS measurements, to be fused with the elementary moves measurement data, e.g. step-count measurements.
  • the method can track the variance of measurements from the navigation data, e.g. GNSS measurements, and the elementary moves measurement data, e.g. step-rate simultaneously with the position and the speed.
  • a device for estimating a position and a velocity of a person walking or riding a bicycle having: one or more processors; a receiver coupled with one of the one or more processors to determine positions of the device; a measurement unit coupled with one of the one or more processors to detect elementary moves made by the person; and a memory storing instructions that, when executed by one of the one or more processors, cause the one or more processors to: determine a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time; determine a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle; determine a first velocity by dividing the displacement vector by a difference between the second time and the first time; and determine a third position and a second velocity based on the
  • An advantage of this device is that the device can estimate and continuously updates the average step-length of the person, thereby enabling the person to track speed more accurately, while the person is running or walking “out-of-sight-of ’ navigation support infrastructure, e.g. indoors or in a canyon or forest.
  • This device also allows estimating and tracking variance of position measurement data (e.g. GNSS measurements) as well as that of elementary movement data (e.g. step-count), thereby automatically weighing most and least reliable measurement source.
  • position measurement data e.g. GNSS measurements
  • elementary movement data e.g. step-count
  • the method and the device determines the third position and the second velocity accurately based on the determined second position and the determined first velocity using the Extended Kalman Filter.
  • This method and the device can also track the variance of measurements from the navigation infrastructure and the elementary movement data simultaneously with the position and the speed.
  • FIG. 1 is a block diagram that illustrates a device for estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure
  • FIG. 2 is an exemplary block diagram that illustrates one or more processors of a device in accordance with an implementation of the disclosure
  • FIG. 3 is an exemplary block diagram that illustrates a memory of a device in accordance with an implementation of the disclosure
  • FIG. 4 is an exemplary block diagram that illustrates a device with an inertial measurement capability in accordance with an implementation of the disclosure
  • FIG. 5 is an exemplary diagram of a device to determine a walking/running speed of the person in accordance with an implementation of the disclosure
  • FIGS. 6A-6C are exemplary diagrams of an Extended Kalman Filter (EKF) in accordance with an implementation of the disclosure.
  • EKF Extended Kalman Filter
  • FIGS. 7A and 7B are a flow diagram that illustrates a method of estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure.
  • Implementations of the disclosure provide a method and a device for estimating a position and a velocity of a person with accurate determination of route and speed by using navigation measurement data even when the device of the person does not have the necessary “visibility” of navigation infrastructure.
  • a process, a method, a system, a product, or a device that includes a series of steps or units is not necessarily limited to expressly listed steps or units but may include other steps or units that are not expressly listed or that are inherent to such process, method, product, or device.
  • FIG. 1 is a block diagram that illustrates a device 100 for estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure.
  • the device 100 includes one or more processors 102A-N, a receiver 104, a measurement unit 106, and a memory 108.
  • the receiver 104 coupled with the one or more processors 102A-N to determine positions of the device 100.
  • the measurement unit 106 coupled with the one or more processors 102A-N to detect elementary moves made by the person.
  • the memory 108 stores instructions that, when executed by one of the one or more processors 102A-N, cause the one or more processors 102A-N to determine a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time.
  • the one or more processors 102A-N determine a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle.
  • the one or more processors 102A-N determine a first velocity by dividing the displacement vector by a difference between the second time and the first time.
  • the one or more processors 102A-N determine a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time.
  • the steps refer to a number of foot-steps taken by the person.
  • the advantage of the device 100 is that the device 100 estimates and continuously updates the average step-length of the person, thereby enabling the person to track speed more accurately, while the person is running indoors.
  • the device 100 also allows estimating and tracking variance of GNSS measurements as well as that of step-count, thereby automatically weighing most and least reliable measurement sources.
  • the receiver 104 is configured to receive navigation data, such as Global Navigation Satellite System (GNSS) measurements, of the device 100.
  • the navigation data may include positioning data and timing data of the device 100.
  • the positioning data may include position coordinates of the device 100.
  • the receiver 104 is configured to determine the positions of the person by geo-spatial positioning.
  • GNSS Global Navigation Satellite System
  • the one or more processors 102A-N are configured to determine the position of the device 100, such as a latitude and a longitude of the device 100, using the navigation data received by the receiver 104.
  • the receiver 104 receives the navigation data of the device 100 from the first position to the second position.
  • the one or more processors 102A-N determine the location, e.g. the latitude and the longitude, of the first position and the second position, and determine the displacement vector from the first position to the second position.
  • the measurement unit 106 detects the elementary moves made by the person from the first position to the second position using inertial measurements from an Inertial Measurement Unit (IMU).
  • IMU Inertial Measurement Unit
  • the one or more processors 102A-N may also be configured to determine the number of steps made by the person from the first position to the second position with the inertial measurements.
  • the one or more processors 102A- N may additionally or alternatively be configured to determine a number of revolutions of the wheel of the bicycle used by the person in moving from the first position to the second position using inertial measurement data.
  • the one or more processors 102A-N may be arranged to determine the first velocity with the displacement vector.
  • the first velocity may be a walking/riding speed of the person from the first position to the second position.
  • the number of steps determined by the one or more processors 102A-N may have a first step-length.
  • the first step-length is determined by dividing a magnitude of the first velocity by a first number of steps per unit time.
  • the one or more processors 102A-N are configured to determine a second step-length based on the second position, the first velocity, and the first step- length.
  • the one or more processors 102A-N may determine the second step-length using the Extended Kalman Filter (EKF).
  • EKF Extended Kalman Filter
  • the one or more processors 102A-N determine the third position and the second velocity accurately, based on the second position and the first velocity using the Extended Kalman Filter (EKF).
  • the second velocity may be the walking/riding speed of the person from the second position to the third position.
  • the one or more processors 102A-N determine a route and a speed of the person with the determined third position and the second velocity.
  • FIG. 2 is an exemplary block diagram that illustrates one or more processors 200A-N of a device in accordance with an implementation of the disclosure.
  • the one or more processors 200A-N include a processing unit 202, a map rendering module 204, a navigation system coordinates determination module 206 (e.g. a Global Navigation Satellite System (GNSS) coordinates determination module), an elementary movement detection module 208, an elementary movement count module 210, and an Extended Kalman filter (EKF) module 212.
  • the processing unit 202 is communicatively connected with the map rendering module 204, the navigation system coordinates determination module 206, the elementary movement detection module 208, the elementary movement count module 210, and the EKF module 212 to determine a third position and a second velocity of a person.
  • GNSS Global Navigation Satellite System
  • EKF Extended Kalman filter
  • the map rendering module 204 communicatively connected with the processing unit 202, renders a position of the device from a first position to a second position on a map.
  • the map may be stored in a memory of the device.
  • the GNSS coordinates determination module 206 communicatively connected with the processing unit 202 determines co ordinates of the device on the map from the first position to the second position.
  • the processing unit 202 determines a latitude and a longitude of the first position and the second position based on the co-ordinates of the device.
  • the processing unit 202 determines a first velocity of the person based on the co-ordinates of the device from the first position to the second position.
  • the elementary movement (e.g. step) detection module 208 is communicatively connected with the processing unit 202 is configured to detect steps made by the person from the first position to the second position. The steps made by the person may be identified using one or more sensors.
  • the elementary movement (e.g. step) count module 210 that is communicatively connected with the processing unit 202 counts the steps made by the person after the elementary movement detection module 208 detects the steps made by the person.
  • the EKF module 212 that is communicatively connected with the processing unit 202 is configured to detect the third position and the second velocity of the person with the second position and the first velocity of the person. The second velocity of the person may be based on the steps taken by the person.
  • the processing unit 202 may enable the map rendering module 204 to render the third position of the person on the map.
  • the third position, the second velocity and a second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length.
  • the third position and the second velocity are obtained by multiplying the first state transition matrix with the second position and the first velocity.
  • the one or more processors 200A-N are configured to calculate a first state transition matrix based on a time elapsed between the second position and the third position of the person or a bicycle.
  • the one or more processors 200A-N are configured to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
  • the first state covariance matrix may be calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
  • the one or more processors 200A-N provide a number of elementary moves (i.e., the steps taken by the person) by calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit.
  • a wheel size of the bicycle is included instead of the first step-length to calculate the first Fisher information matrix.
  • the one or more processors 200A-N calculate the first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in at least one of a velocity or a step-length.
  • the one or more processors 200A-N are configured to calculate a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step-length, a second state covariance matrix and a first gradient vector.
  • the one or more processors 200A-N are configured to calculate the fourth position and the third velocity based on the third position, the second velocity, the second state covariance matrix and the first gradient vector.
  • the second state covariance matrix may be calculated based on the first state covariance matrix and a second Fisher information matrix.
  • the second Fisher information matrix may be calculated based on the third position, the second velocity, the second step-length, an expected standard error of a receiver to provide the geo-spatial positioning data and an expected standard error of a measurement unit to provide the number of elementary moves made by the person.
  • the second Fisher information matrix is calculated even without the second step-length.
  • the one or more processors 200A-N are configured to calculate the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps taken by the person per unit time, the expected standard error of the receiver to provide geo-spatial positioning data, and the expected standard error of the measurement unit.
  • a second number of rotations of the wheel per unit time and a wheel size are included to provide the number of elementary moves instead of the second step-length and the second number of steps taken by the person per unit time.
  • FIG. 3 is an exemplary block diagram that illustrates a memory 300 of a device in accordance with an implementation of the disclosure.
  • the memory 300 includes a map data storage 302, an elementary movement detection algorithm 304, and an Extended Kalman Filter (EKF) algorithm 306.
  • the map data storage 302 includes a map with location information optionally including both indoor and outdoor fields, that enables a person to determine a walking/running speed even in the indoor fields.
  • the map data storage 302 may be updated by the person according to location of the person.
  • the map data storage 302 can be modified by one or more processors of the device to include one or more positions.
  • the one or more positions may include a first position, a second position and a third position.
  • the elementary movement detection algorithm 304 includes one or more instructions to determine steps made by the person from the first position to the second position.
  • the elementary movement detection algorithm 304 may be based on a machine learning algorithm, that is executed by the one or more processors of the device.
  • the EKF algorithm 306 includes one or more instructions to determine a next position along with a speed of the person.
  • the EKF algorithm 306 may be based on the machine learning algorithm, that is executed by the one or more processors of the device.
  • the EKF algorithm 306 determines the third position of the person along with the velocity.
  • FIG. 4 is an exemplary block diagram that illustrates a device 400 with an inertial measurement capability in accordance with an implementation of the disclosure.
  • the device 400 includes a processor 402, a navigation system (e.g. Global Navigation Satellite System (GNSS)) receiver 404, an inertial measurement unit 406, a memory 408, a battery 410, and a display 412.
  • the navigation system receiver 404 that is communicatively connected with the processor 402, is configured to receive navigation data (e.g. GNSS measurements) of the person from a first position to a second position.
  • the inertial measurement unit 406, that is communicatively connected with the processor 402, is configured to detect elementary steps made by the person from the first position to the second position.
  • the memory 408 stores one or more instructions, that enables the processor 402 to determine a third position and a second velocity of the person with the second position and a first velocity.
  • the memory 408 includes one or more instructions to determine the first velocity in the processor 402.
  • the battery 410 is configured to provide power to the processor 402, the navigation system receiver 404, and the inertial measurement unit 406.
  • the battery 410 may be at least one of a Lithium-Ion battery or a lead-acid battery.
  • the battery 410 may be re-charged by the person if a charge level of the battery 410 is low.
  • the display 412 displays the third position and the second velocity of the person determined by the processor 402.
  • the display 412 may also display a charge level status of the battery 410, and may prompt the person to charge the battery 410, if the charge level of the battery 410 is low.
  • FIG. 5 is an exemplary diagram of a device 500 to determine a walking/mnning speed of a person in accordance with an implementation of the disclosure.
  • the device 500 includes a navigation system (e.g. Global Navigation Satellite System (GNSS)) receiver 502, an elementary movement detection (e.g. step-detection) algorithm 504, an elementary movement count (e.g. step count) algorithm 506, and an Extended Kalman Filter (EKF) 508.
  • the navigation system receiver 502 is configured to receive a navigation signal (e.g. GNSS signal) including positioning data and timing data of the person.
  • the positioning data may include one or more positions including a first position and a second position.
  • the navigation system receiver 502 is configured to determine a location data (e.g. a latitude and a longitude) for the first position and the second position, and transmit to the EKF 508.
  • GNSS Global Navigation Satellite System
  • EKF Extended Kalman Filter
  • the elementary movement detection algorithm 504 is configured to receive an accelerometer signal including movement data of the person.
  • the movement data may be the elementary steps made by the person.
  • the elementary movement detection algorithm 504 detects the number of elementary movement taken by the person.
  • the elementary movement count algorithm 506 counts the number of elementary movements made by the person based on the detected number of elementary movements.
  • the elementary movement detection algorithm 504 and the elementary movement count algorithm 506 may include a machine learning algorithm to detect and count the number of elementary movement taken by the person.
  • the elementary movement count algorithm 506 transmits the number of elementary movements made by the person to the EKF 508.
  • the EKF 508 is configured to receive the location data (e.g.
  • the navigation system (e.g. GNSS) receiver 502 and the elementary movement count algorithm 506 transmit the location data (e.g. the latitude and the longitude) of the person and the number of elementary movement (e.g. steps) made by the person to the EKF 508 based on a specified time-interval.
  • the specified time-interval may be in a range of 3 seconds to 7 seconds.
  • the device 500 is configured to measure the position of the person in terms of the latitude rate ( ).
  • the step-rate may be a number of steps taken by the person in the specified time-interval.
  • a rate of measurements of the latitude and the longitude is identical to steps per second (i.e. the step-rate), and each measurement as a vector is represented as:
  • the rate of measurements of the latitude and the longitude are different from the step-rate, or the step count is not available, there is no information on the step- length and the step-length is not updated.
  • the speed written as the norm of the position vector
  • the orientation of the position vector is not updated.
  • a measurement vector may be assumed to follow a multivariate Gaussian distribution with mean and covariance.
  • the measurement vector may be determined as:
  • first two variables are angels and are expressed in radians and a third variable is the number of steps per second.
  • the third variable may be expressed in Hertz and accordingly, one step equating to one cycle of the third variable may be defined.
  • An unknown parameter vector (i.e. a state-vector) that is to be estimated and tracked by the device 500 includes a position-vector ( n ) of the person, a rate of change of the position vector (D ⁇ ), a step-length ( ⁇ ), a variance of navigation system (e.g. GNSS/GPS) measurements (° irs), and a variance of the step-rate measurements ( ⁇ SR).
  • the unknown parameter vector is estimated by:
  • the unknown parameter vector may appear as a dot in the map.
  • the dot corresponds to the location of the person.
  • the dot in Cartesian coordinates (x-y-z) may be converted to latitude-longitude angles.
  • the step-length may be estimated based on a distance measurement obtained from a sequence of navigation (e.g. GPS) data and the step-count.
  • the step-length may be an estimate obtained based on a height measurement of the person or the gender of person.
  • the state-vector and its covariance matrix (P) can be updated based on an updated step described as:
  • the predicted quantities may be obtained by means of a state-evolution model, and before a new measurement is acquired.
  • the predicted state-vector and covariance matrix for the k Lh measurement can be determined once the (k-l) th measurement is acquired:
  • a Fisher Information matrix and gradient of a log- likelihood function of the state given a measurement vector is required, that is determined as:
  • a power spectral density vector (q) is a design parameter that trades -off tracking for smoothing.
  • the Fisher Information matrix is a 9x9 matrix, where a first block of the Fisher Information matrix has size of 7x7 and determines a curvature of the log-likelihood function.
  • the first block may signify a measure of information.
  • FIGS. 6A-6C are exemplary diagrams of an Extended Kalman Filter (EKF) 602 in accordance with an implementation of the disclosure.
  • the EKF 602 receives a measurement vector and step-rate )of a person, and may be configured to determine a position vector, a velocity vector, a step-length, a Global Navigation Satellite System (GNSS) variance, and a step-count variance, as shown in FIG. 6A.
  • the measurement vector includes latitude (O e anc[ longitude ( - : 77 77 n ) of a person, from a first position to a second position.
  • the measurement vector may be GNSS measurements or GPS measurements of the person.
  • the step-rate includes elementary steps made by the person, and the elementary steps determine a first velocity.
  • the position vector may be a vector for a next position (i.e. a third position) and the velocity vector may be a vector for a next velocity (i.e. a second velocity).
  • the EKF 602 receives only the measurement vector of the person including the location (e.g. the latitude and the longitude) of the person, and is configured to determine the position vector, the velocity vector, the step-length and the GNSS variance, as shown in FIG. 6B.
  • the location e.g. the latitude and the longitude
  • the EKF 602 receives only the measurement vector of the person including the location (e.g. the latitude and the longitude) of the person, and is configured to determine the position vector, the velocity vector, the step-length and the GNSS variance, as shown in FIG. 6B.
  • the EKF 602 receives only the step-rate of the person including the elementary steps made by the person, and is configured to determine the position, the velocity, the step-length and the step-count variance, as shown in FIG. 6C.
  • the GNSS measurements or the GPS measurements provide an estimation of the running/walking speed, based on a haversine function.
  • the measurement vector used by the EKF 602 includes a GNSS-based running speed and step-rate measurement.
  • the EKF 602 configured to correct the GNSS-based mnning/walking speed by taking the step-rate measurement into account.
  • the EKF 602 outputs a corrected speed, the step-length, a variance of GNSS-based speed and a variance of step-rate measurement.
  • FIGS. 7A and 7B are a flow diagram that illustrates a method of estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure.
  • a displacement vector is determined.
  • the displacement vector being a vector from a first position to a second position.
  • the first position being a position of the person at a first time and the second position being a position of the person at a second time later than the first time.
  • a number of elementary moves made by the person per unit time is determined. The elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle.
  • a first velocity is determined by dividing the displacement vector by a difference between the second time and the first time.
  • a third position and a second velocity are determined based on the second position and the first velocity using an Extended Kalman filter. The third position being a position of the person at a third time later than the second time.
  • the advantage of the method is that the average step-length of the person is estimated and updated continuously, thereby enabling the person to track their speed more accurately, while running indoors.
  • This method also allows estimating and tracking variance of GNSS measurements as well as that of step-count, thereby automatically weighing most and least reliable measurement source.
  • the method includes determining a first step-length by dividing the magnitude of the first velocity by the first number of steps per unit time.
  • the method includes using the Extended Kalman filter to determine a second step-length based on the second position, first velocity, and the first step-length.
  • the third position, the second velocity, and the second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length.
  • the method includes using one of one or more processors to calculate a first state transition matrix based on a time elapsed between the second position and the third position of the person.
  • the method includes using one of the one or more processors to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
  • the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
  • the first position and the second position of the person are obtained by geo spatial positioning.
  • the method includes calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
  • the method includes using one of the one or more processors to calculate a first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity and step-length.
  • the method includes calculating a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step-length, a second state covariance matrix and a first gradient vector.
  • the method includes using one of the one or more processors to calculate the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
  • the method includes calculating the second Fisher information matrix based on the third position, the second velocity, the second step-length, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
  • the method includes calculating the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps per unit time, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit.
  • the method includes determining from measurements of signals transmitted for positioning the fifth position, the fifth position being a position of the person at a fifth time later than the second time.
  • the method includes determining the second number of steps taken by the person per unit time.
  • the third position and the second velocity are obtained by multiplying a first state transition matrix with the second position, and the first velocity.
  • the method includes calculating a first state transition matrix based on a time elapsed between the second position and the third position of the bicycle.
  • the method includes calculating a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
  • the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
  • the first position and the second position of the person are obtained by geo spatial positioning.
  • the method includes calculating the first Fisher information matrix based on the second position, the first velocity, a wheel size of the bicycle, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
  • the method includes calculating a first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity.
  • the method includes calculating a fourth position and a third velocity, based on the third position, the second velocity, a second state covariance matrix and a first gradient vector.
  • the method includes calculating the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
  • the method includes calculating the second Fisher information matrix based on the third position, the second velocity, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
  • the method includes calculating the first gradient vector based on the third position, the second velocity, a fifth position, a second number of rotations of the wheel per unit time, the wheel size, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
  • the method includes determining from measurements of signals transmitted for positioning the fifth position.
  • the fifth position being a position of the bicycle at a fifth time later than the second time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Navigation (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

Provided a method for estimating a position and a velocity of a person walking or riding a bicycle. The method includes determining a displacement vector from a first position to a second position that is obtained from Global Navigation Satellite System (GNSS) measurements, determining a number of elementary moves made by the person per unit time, and determining a first velocity and determining a third position and a second velocity based on the second position and the first velocity using an Extended Kalman Filter.

Description

METHOD AND DEVICE FOR ESTIMATING A POSITION AND A VELOCITY
OF A PERSON
TECHNICAL FIELD
The disclosure relates to monitoring physical activity, and more particularly, the disclosure relates to a method and a device for estimating a position and a velocity of a person with accurate determination of route and speed using position measurement data, such as Global Navigation Satellite Systems (GNSS) measurement data.
BACKGROUND
However, in an urban area with buildings, a device with the GPS cannot receive signals emitted from the GPS satellite. Further a weak GPS signal flows indoors through a wall or a roof of the building to reach the device, but those signals are unstable and not accurate in positioning.
Global Navigation Satellite System (GNSS) is the generic name for satellite navigation systems that enable geo-spatial positioning with global coverage. Such systems are used by pilots of vehicles to guide the pilot along a chosen route to a selected destination, and also to track the vehicle, determining position and speed, as it follows the route to the destination. GNSS receivers are also used by hikers and other sports enthusiasts to guide them along a chosen route to a selected destination, to monitor walking, running, or cycling speed, or simply to help guide the user to a place of safety. A GNSS provides position data and timing data from satellites in geosynchronous orbits. The US-owned Global Positioning Systems, GPS, is perhaps the most well-known of these systems, but in recent years other competing systems have emerged, including the European Galileo system, the Russian GLONASS, and the Chinese regional BeiDou system. In order for a terrestrial receiver of a GNSS to be able to determine position and speed/velocity, it is necessary for the receiver to be able to “see” 4 satellites of the relevant
GNSS. This can give rise to problems, particularly in urban areas, where adjacent tall buildings can block signals. Tunnels and overpasses can also act as efficient shields, so it is normal to lose GNSS cover, and hence satellite navigation support while passing through a tunnel or under an overpass or bridge. But even in a “natural” landscape, ravines, canyons, mountains and dense forest can all prevent a GNSS receiver from reliably “seeing” the 4 satellites which are necessary to determine position and speed. This effective loss of GNSS support is particularly problematic for users who are navigating open country rather than following say a highway, since for the former there may be no clear path to follow on the ground, or multiple seemingly equivalent paths, whereas a motorist who loses GNSS support while driving through a tunnel or under a bridge simply has to continue to drive along the highway until their receiver can once again “see” the necessary satellites. Consequently, there exists a need to support users at those times where their GNSS navigation devices lose sight of GNSS satellites, so that affected users can estimate their current position and speed while their GNSS receiver is unable to see the number of satellites necessary for GNSS function.
There are of course other navigation systems that do not rely on the use of GNSS, such as radio triangulation and other support systems based on terrestrial transmitters. These systems too suffer with problems of lack of cover or lack of visibility of the support infrastructure, especially in built-up urban areas and in more remote natural areas. Consequently, there is a similar need for a solution to the problem of navigation system users losing support while using a navigation system.
The present disclosure addresses the problem of loss of navigation system support both for GNSS and for non-GNSS systems.
Existing solutions include a sliding -window that has been used to smooth running route and running speed obtained directly from GNSS measurements. But, the sliding-window has the inability to account for rapid changes to a user’s speed - e.g. a user’s running speed. The running speed may vary while performing interval training, or while traversing different terrains - e.g. from when running on the flat to running up or down hill, or over rough or boggy terrain, or through restrictive vegetation. Further, the sliding- window has the inability to provide speed and route estimates when the GNSS signal is lost, such as in tunnels, bridges, streets with high-rise buildings, or dense vegetation.
Another solution comes from Suunto, with their FusedSpeed algorithm, that combines GNSS measurements with an accelerometer measurement in order to overcome some problems with the sliding-window approach, while being able to smooth the speed from the GNSS measurements. But the Suunto has the inability of smoothing the route taken by the user.
Therefore, there arises a need to address the aforementioned technical drawbacks in known techniques or technologies in determining an accurate route and speed of a person.
SUMMARY
It is an object of the disclosure to provide a method and a device, and more particularly to a method and a device for estimating a position and a velocity of a person with accurate determination of route and speed by using navigation data while avoiding one or more disadvantages of prior art approaches.
This object is achieved by the features of the independent claims. Further, implementation forms are apparent from the dependent claims, the description, and the figures.
The disclosure also provides a device for estimating a position and a velocity of a person walking or riding a bicycle.
According to a first aspect, there is provided a method for estimating a position and a velocity of a person walking or riding a bicycle, the method comprising: determining a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time; determining a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle; determining a first velocity by dividing the displacement vector by a difference between the second time and the first time; and determining a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time.
This method combines navigation data and measurements of elementary moves made by the person to estimate the position and speed of the person. The navigation data may include a latitude and a longitude of the position, or an alternative representation of position - such as representation of position based on a geographic coordinate system. This method takes a sequence of the position, and elementary moves measurements of the person, as input and outputs recursive/sequential estimates of position, speed, and optionally step-length. The position and velocity of the person are estimated even if the navigation data are unavailable, but a direction of corresponding vectors is unchanged due to lack of directional information. The step-length remains unchanged and identical when the navigation data, e.g. GNSS measurements, were last available, and the elementary move (e.g. step-count) measurement data are unavailable.
An advantage of this method is that the method can estimate and continuously updates the average step-length of the person, thereby enabling the person to track their speed more accurately, while running or walking “out-of-sight-of” navigation support infrastructure (such as GNSS satellites) outdoors or indoors. The method also allows estimating and tracking variance of navigation data measurements (e.g. GNSS measurement data) as well as that of step-count (or wheel rotation count if the person is riding the bicycle) thereby automatically weighting most and least reliable measurement source.
Optionally, the method further comprising determining a first step-length by dividing a magnitude of the first velocity by a first number of steps per unit time. Optionally, the method further comprising using the Extended Kalman filter to determine a second step- length based on the second position, the first velocity, and the first step-length.
Optionally, the third position, the second velocity, and the second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length. Optionally, the method further comprising using one of one or more processors to calculate the first state transition matrix based on a time elapsed between the second position and the third position of the person.
Optionally, the method further comprising using one of the one or more processors to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
Optionally, the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with the first state noise covariance matrix.
Optionally, the first position and the second position of the person are obtained by geo spatial positioning.
Optionally, the method further comprising calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
Optionally, the method further comprising using one of the one or more processors to calculate the first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity and step-length.
Optionally, the method further comprising calculating a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step- length, a second state covariance matrix and a first gradient vector.
Optionally, the method further comprising using one of the one or more processors to calculate the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
Optionally, the method further comprising calculating the second Fisher information matrix based on the third position, the second velocity, the second step-length, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
Optionally, the method further comprising calculating the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps per unit time, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit.
Optionally, the method further comprising determining from measurements of signals transmitted for positioning the fifth position, the fifth position being a position of the person at a fifth time later than the second time.
Optionally, the method further comprising determining the second number of steps taken by the person per unit time.
Optionally, the third position and the second velocity are obtained by multiplying a first state transition matrix with the second position, and the first velocity.
Optionally, the method further comprising calculating the first state transition matrix based on a time elapsed between the second position and the third position of the bicycle.
Optionally, the method further comprising calculating a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
Optionally, the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
Optionally, the first position and the second position of the person are obtained by geo spatial positioning.
Optionally, the method further comprising calculating the first Fisher information matrix based on the second position, the first velocity, a wheel size of the bicycle, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
Optionally, the method further comprising calculating a first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity.
Optionally, the method further comprising calculating a fourth position and a third velocity, based on the third position, the second velocity, a second state covariance matrix and a first gradient vector.
Optionally, the method further comprising calculating the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
Optionally, the method further comprising calculating the second Fisher information matrix based on the third position, the second velocity, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
Optionally, the method further comprising calculating the first gradient vector based on the third position, the second velocity, a fifth position, a second number of rotations of the wheel per unit time, the wheel size, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
Optionally, the method further comprising determining from measurements of signals for positioning the fifth position. The fifth position being a position of the bicycle at a fifth time later than the second time.
The method incorporates (a) a nonlinear relationship relating position measurement data, such as GNSS measurement data, with a unit-norm position vector into the Kalman Filtering framework, and (b) a nonlinear relationship relating elementary moves measurement data for elementary moves made by the person, e.g. step-count measurements, with a velocity vector and elementary move length, e.g. step-length (or wheel circumference if the person is riding the bicycle), which allows the position measurement data, e.g. GNSS measurements, to be fused with the elementary moves measurement data, e.g. step-count measurements. The method can track the variance of measurements from the navigation data, e.g. GNSS measurements, and the elementary moves measurement data, e.g. step-rate simultaneously with the position and the speed.
According to a second aspect, there is provided a device for estimating a position and a velocity of a person walking or riding a bicycle, the device having: one or more processors; a receiver coupled with one of the one or more processors to determine positions of the device; a measurement unit coupled with one of the one or more processors to detect elementary moves made by the person; and a memory storing instructions that, when executed by one of the one or more processors, cause the one or more processors to: determine a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time; determine a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle; determine a first velocity by dividing the displacement vector by a difference between the second time and the first time; and determine a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time. Optionally, the receiver is configured to determine the positions of the person by geo spatial positioning.
An advantage of this device is that the device can estimate and continuously updates the average step-length of the person, thereby enabling the person to track speed more accurately, while the person is running or walking “out-of-sight-of ’ navigation support infrastructure, e.g. indoors or in a canyon or forest. This device also allows estimating and tracking variance of position measurement data (e.g. GNSS measurements) as well as that of elementary movement data (e.g. step-count), thereby automatically weighing most and least reliable measurement source.
A technical problem in the prior art is resolved, where the technical problem concerns determining the accurate route as well as the speed of the person even when they “lose sight of’ navigation infrastructure.
Therefore, in contradistinction to the prior art, according to the method and the device, for estimating the position and the velocity of the person walking or riding the bicycle, the method and the device determines the third position and the second velocity accurately based on the determined second position and the determined first velocity using the Extended Kalman Filter. This method and the device can also track the variance of measurements from the navigation infrastructure and the elementary movement data simultaneously with the position and the speed.
These and other aspects of the disclosure will be apparent from and the implementation(s) described below.
BRIEF DESCRIPTION OF DRAWINGS
Implementations of the disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram that illustrates a device for estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure;
FIG. 2 is an exemplary block diagram that illustrates one or more processors of a device in accordance with an implementation of the disclosure;
FIG. 3 is an exemplary block diagram that illustrates a memory of a device in accordance with an implementation of the disclosure;
FIG. 4 is an exemplary block diagram that illustrates a device with an inertial measurement capability in accordance with an implementation of the disclosure;
FIG. 5 is an exemplary diagram of a device to determine a walking/running speed of the person in accordance with an implementation of the disclosure;
FIGS. 6A-6C are exemplary diagrams of an Extended Kalman Filter (EKF) in accordance with an implementation of the disclosure; and
FIGS. 7A and 7B are a flow diagram that illustrates a method of estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure.
DETAILED DESCRIPTION OF THE DRAWINGS
Implementations of the disclosure provide a method and a device for estimating a position and a velocity of a person with accurate determination of route and speed by using navigation measurement data even when the device of the person does not have the necessary “visibility” of navigation infrastructure.
To make solutions of the disclosure more comprehensible for a person skilled in the art, the following implementations of the disclosure are described with reference to the accompanying drawings.
Terms such as "a first", "a second", "a third", and "a fourth" (if any) in the summary, claims, and foregoing accompanying drawings of the disclosure are used to distinguish between similar objects and are not necessarily used to describe a specific sequence or order. It should be understood that the terms so used are interchangeable under appropriate circumstances, so that the implementations of the disclosure described herein are, for example, capable of being implemented in sequences other than the sequences illustrated or described herein. Furthermore, the terms "include" and "have" and any variations thereof, are intended to cover a non-exclusive inclusion. For example, a process, a method, a system, a product, or a device that includes a series of steps or units, is not necessarily limited to expressly listed steps or units but may include other steps or units that are not expressly listed or that are inherent to such process, method, product, or device.
FIG. 1 is a block diagram that illustrates a device 100 for estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure. The device 100 includes one or more processors 102A-N, a receiver 104, a measurement unit 106, and a memory 108. The receiver 104 coupled with the one or more processors 102A-N to determine positions of the device 100. The measurement unit 106 coupled with the one or more processors 102A-N to detect elementary moves made by the person. The memory 108 stores instructions that, when executed by one of the one or more processors 102A-N, cause the one or more processors 102A-N to determine a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time. The one or more processors 102A-N determine a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle. The one or more processors 102A-N determine a first velocity by dividing the displacement vector by a difference between the second time and the first time. The one or more processors 102A-N determine a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time. The steps refer to a number of foot-steps taken by the person.
The advantage of the device 100 is that the device 100 estimates and continuously updates the average step-length of the person, thereby enabling the person to track speed more accurately, while the person is running indoors. The device 100 also allows estimating and tracking variance of GNSS measurements as well as that of step-count, thereby automatically weighing most and least reliable measurement sources.
The receiver 104 is configured to receive navigation data, such as Global Navigation Satellite System (GNSS) measurements, of the device 100. The navigation data may include positioning data and timing data of the device 100. The positioning data may include position coordinates of the device 100. Optionally, the receiver 104 is configured to determine the positions of the person by geo-spatial positioning.
The one or more processors 102A-N are configured to determine the position of the device 100, such as a latitude and a longitude of the device 100, using the navigation data received by the receiver 104. The receiver 104 receives the navigation data of the device 100 from the first position to the second position. The one or more processors 102A-N determine the location, e.g. the latitude and the longitude, of the first position and the second position, and determine the displacement vector from the first position to the second position. The measurement unit 106 detects the elementary moves made by the person from the first position to the second position using inertial measurements from an Inertial Measurement Unit (IMU). The one or more processors 102A-N may also be configured to determine the number of steps made by the person from the first position to the second position with the inertial measurements. The one or more processors 102A- N may additionally or alternatively be configured to determine a number of revolutions of the wheel of the bicycle used by the person in moving from the first position to the second position using inertial measurement data.
The one or more processors 102A-N may be arranged to determine the first velocity with the displacement vector. The first velocity may be a walking/riding speed of the person from the first position to the second position. The number of steps determined by the one or more processors 102A-N may have a first step-length. Optionally, the first step-length is determined by dividing a magnitude of the first velocity by a first number of steps per unit time. Optionally, the one or more processors 102A-N are configured to determine a second step-length based on the second position, the first velocity, and the first step- length. The one or more processors 102A-N may determine the second step-length using the Extended Kalman Filter (EKF).
The one or more processors 102A-N determine the third position and the second velocity accurately, based on the second position and the first velocity using the Extended Kalman Filter (EKF). The second velocity may be the walking/riding speed of the person from the second position to the third position. The one or more processors 102A-N determine a route and a speed of the person with the determined third position and the second velocity.
FIG. 2 is an exemplary block diagram that illustrates one or more processors 200A-N of a device in accordance with an implementation of the disclosure. The one or more processors 200A-N include a processing unit 202, a map rendering module 204, a navigation system coordinates determination module 206 (e.g. a Global Navigation Satellite System (GNSS) coordinates determination module), an elementary movement detection module 208, an elementary movement count module 210, and an Extended Kalman filter (EKF) module 212. The processing unit 202 is communicatively connected with the map rendering module 204, the navigation system coordinates determination module 206, the elementary movement detection module 208, the elementary movement count module 210, and the EKF module 212 to determine a third position and a second velocity of a person.
The map rendering module 204 communicatively connected with the processing unit 202, renders a position of the device from a first position to a second position on a map. The map may be stored in a memory of the device. The GNSS coordinates determination module 206 communicatively connected with the processing unit 202 determines co ordinates of the device on the map from the first position to the second position. The processing unit 202 determines a latitude and a longitude of the first position and the second position based on the co-ordinates of the device. The processing unit 202 determines a first velocity of the person based on the co-ordinates of the device from the first position to the second position.
The elementary movement (e.g. step) detection module 208 is communicatively connected with the processing unit 202 is configured to detect steps made by the person from the first position to the second position. The steps made by the person may be identified using one or more sensors. The elementary movement (e.g. step) count module 210 that is communicatively connected with the processing unit 202 counts the steps made by the person after the elementary movement detection module 208 detects the steps made by the person. The EKF module 212 that is communicatively connected with the processing unit 202 is configured to detect the third position and the second velocity of the person with the second position and the first velocity of the person. The second velocity of the person may be based on the steps taken by the person. The processing unit 202 may enable the map rendering module 204 to render the third position of the person on the map.
Optionally, the third position, the second velocity and a second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length. Optionally, the third position and the second velocity are obtained by multiplying the first state transition matrix with the second position and the first velocity. Optionally, the one or more processors 200A-N are configured to calculate a first state transition matrix based on a time elapsed between the second position and the third position of the person or a bicycle. Optionally, the one or more processors 200A-N are configured to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
The first state covariance matrix may be calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
Optionally, the one or more processors 200A-N provide a number of elementary moves (i.e., the steps taken by the person) by calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit. Optionally, a wheel size of the bicycle is included instead of the first step-length to calculate the first Fisher information matrix.
Optionally, the one or more processors 200A-N calculate the first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in at least one of a velocity or a step-length.
Optionally, the one or more processors 200A-N are configured to calculate a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step-length, a second state covariance matrix and a first gradient vector. Optionally, the one or more processors 200A-N are configured to calculate the fourth position and the third velocity based on the third position, the second velocity, the second state covariance matrix and the first gradient vector. The second state covariance matrix may be calculated based on the first state covariance matrix and a second Fisher information matrix. The second Fisher information matrix may be calculated based on the third position, the second velocity, the second step-length, an expected standard error of a receiver to provide the geo-spatial positioning data and an expected standard error of a measurement unit to provide the number of elementary moves made by the person. Optionally, the second Fisher information matrix is calculated even without the second step-length.
Optionally, the one or more processors 200A-N are configured to calculate the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps taken by the person per unit time, the expected standard error of the receiver to provide geo-spatial positioning data, and the expected standard error of the measurement unit. Optionally, a second number of rotations of the wheel per unit time and a wheel size are included to provide the number of elementary moves instead of the second step-length and the second number of steps taken by the person per unit time.
FIG. 3 is an exemplary block diagram that illustrates a memory 300 of a device in accordance with an implementation of the disclosure. The memory 300 includes a map data storage 302, an elementary movement detection algorithm 304, and an Extended Kalman Filter (EKF) algorithm 306. The map data storage 302 includes a map with location information optionally including both indoor and outdoor fields, that enables a person to determine a walking/running speed even in the indoor fields. The map data storage 302 may be updated by the person according to location of the person. The map data storage 302 can be modified by one or more processors of the device to include one or more positions. The one or more positions may include a first position, a second position and a third position. The elementary movement detection algorithm 304 includes one or more instructions to determine steps made by the person from the first position to the second position. The elementary movement detection algorithm 304 may be based on a machine learning algorithm, that is executed by the one or more processors of the device. The EKF algorithm 306 includes one or more instructions to determine a next position along with a speed of the person. The EKF algorithm 306 may be based on the machine learning algorithm, that is executed by the one or more processors of the device. The EKF algorithm 306 determines the third position of the person along with the velocity.
FIG. 4 is an exemplary block diagram that illustrates a device 400 with an inertial measurement capability in accordance with an implementation of the disclosure. The device 400 includes a processor 402, a navigation system (e.g. Global Navigation Satellite System (GNSS)) receiver 404, an inertial measurement unit 406, a memory 408, a battery 410, and a display 412. The navigation system receiver 404, that is communicatively connected with the processor 402, is configured to receive navigation data (e.g. GNSS measurements) of the person from a first position to a second position. The inertial measurement unit 406, that is communicatively connected with the processor 402, is configured to detect elementary steps made by the person from the first position to the second position. The memory 408 stores one or more instructions, that enables the processor 402 to determine a third position and a second velocity of the person with the second position and a first velocity. The memory 408 includes one or more instructions to determine the first velocity in the processor 402. The battery 410 is configured to provide power to the processor 402, the navigation system receiver 404, and the inertial measurement unit 406. The battery 410 may be at least one of a Lithium-Ion battery or a lead-acid battery. The battery 410 may be re-charged by the person if a charge level of the battery 410 is low. The display 412 displays the third position and the second velocity of the person determined by the processor 402. The display 412 may also display a charge level status of the battery 410, and may prompt the person to charge the battery 410, if the charge level of the battery 410 is low.
FIG. 5 is an exemplary diagram of a device 500 to determine a walking/mnning speed of a person in accordance with an implementation of the disclosure. The device 500 includes a navigation system (e.g. Global Navigation Satellite System (GNSS)) receiver 502, an elementary movement detection (e.g. step-detection) algorithm 504, an elementary movement count (e.g. step count) algorithm 506, and an Extended Kalman Filter (EKF) 508. The navigation system receiver 502 is configured to receive a navigation signal (e.g. GNSS signal) including positioning data and timing data of the person. The positioning data may include one or more positions including a first position and a second position. The navigation system receiver 502 is configured to determine a location data (e.g. a latitude and a longitude) for the first position and the second position, and transmit to the EKF 508.
The elementary movement detection algorithm 504 is configured to receive an accelerometer signal including movement data of the person. The movement data may be the elementary steps made by the person. The elementary movement detection algorithm 504 detects the number of elementary movement taken by the person. The elementary movement count algorithm 506 counts the number of elementary movements made by the person based on the detected number of elementary movements. The elementary movement detection algorithm 504 and the elementary movement count algorithm 506 may include a machine learning algorithm to detect and count the number of elementary movement taken by the person. The elementary movement count algorithm 506 transmits the number of elementary movements made by the person to the EKF 508. The EKF 508 is configured to receive the location data (e.g. the latitude and the longitude) of the person, and the number of elementary movements made by the person to determine the running/walking speed of the person. Optionally, the navigation system (e.g. GNSS) receiver 502 and the elementary movement count algorithm 506 transmit the location data (e.g. the latitude and the longitude) of the person and the number of elementary movement (e.g. steps) made by the person to the EKF 508 based on a specified time-interval. The specified time-interval may be in a range of 3 seconds to 7 seconds. Optionally, the device 500 is configured to measure the position of the person in terms of the latitude
Figure imgf000018_0001
rate (
Figure imgf000018_0002
). The step-rate may be a number of steps taken by the person in the specified time-interval. A rate of measurements of the latitude and the longitude is identical to steps per second (i.e. the step-rate), and each measurement as a vector is represented as:
Figure imgf000018_0003
In a scenario where the rate of measurements of the latitude and the longitude are different from the step-rate, or the step count is not available, there is no information on the step- length and the step-length is not updated. Similarly, when the step-rate is available, but measurements of the latitude and the longitude are not, the speed (written as the norm of the position vector) is updated and the orientation of the position vector is not updated.
A measurement vector may be assumed to follow a multivariate Gaussian distribution with mean and covariance. The measurement vector may be determined as:
Figure imgf000019_0001
In the measurement vector, first two variables are angels and are expressed in radians and a third variable is the number of steps per second. Optionally, the third variable may be expressed in Hertz and accordingly, one step equating to one cycle of the third variable may be defined.
An unknown parameter vector (i.e. a state-vector) that is to be estimated and tracked by the device 500 includes a position-vector (n) of the person, a rate of change of the position vector (Dίΐ), a step-length ( ^), a variance of navigation system (e.g. GNSS/GPS) measurements (° irs), and a variance of the step-rate measurements (^SR). The unknown parameter vector is estimated by:
Figure imgf000019_0002
The unknown parameter vector may appear as a dot in the map. The dot corresponds to the location of the person. The dot in Cartesian coordinates (x-y-z) may be converted to latitude-longitude angles. The step-length may be estimated based on a distance measurement obtained from a sequence of navigation (e.g. GPS) data and the step-count. Optionally, the step-length may be an estimate obtained based on a height measurement of the person or the gender of person.
At each measurement (k), the state-vector and its covariance matrix (P) can be updated based on an updated step described as:
Figure imgf000020_0001
The superscripts ‘+’ and denote updated and predicted quantities, respectively. The predicted quantities may be obtained by means of a state-evolution model, and before a new measurement is acquired. For example, the predicted state-vector and covariance matrix for the kLh measurement can be determined once the (k-l)th measurement is acquired:
Figure imgf000020_0002
In order to take the update step, a Fisher Information matrix and gradient of a log- likelihood function of the state given a measurement vector is required, that is determined as:
Figure imgf000020_0005
Figure imgf000020_0003
Where
Figure imgf000020_0004
Figure imgf000021_0001
A power spectral density vector (q) is a design parameter that trades -off tracking for smoothing. The Fisher Information matrix is a 9x9 matrix, where a first block of the Fisher Information matrix has size of 7x7 and determines a curvature of the log-likelihood function. The first block may signify a measure of information.
FIGS. 6A-6C are exemplary diagrams of an Extended Kalman Filter (EKF) 602 in accordance with an implementation of the disclosure. The EKF 602 receives a measurement vector and step-rate
Figure imgf000022_0001
)of a person, and may be configured to determine a position vector, a velocity vector, a step-length, a Global Navigation Satellite System (GNSS) variance, and a step-count variance, as shown in FIG. 6A. The measurement vector includes latitude (O e
Figure imgf000022_0002
anc[ longitude ( - : 77 77 n) of a person, from a first position to a second position. The measurement vector may be GNSS measurements or GPS measurements of the person. The step-rate includes elementary steps made by the person, and the elementary steps determine a first velocity. The position vector may be a vector for a next position (i.e. a third position) and the velocity vector may be a vector for a next velocity (i.e. a second velocity).
Optionally, the EKF 602 receives only the measurement vector of the person including the location (e.g. the latitude and the longitude) of the person, and is configured to determine the position vector, the velocity vector, the step-length and the GNSS variance, as shown in FIG. 6B.
Optionally, the EKF 602 receives only the step-rate of the person including the elementary steps made by the person, and is configured to determine the position, the velocity, the step-length and the step-count variance, as shown in FIG. 6C.
Optionally, the GNSS measurements or the GPS measurements provide an estimation of the running/walking speed, based on a haversine function. For example, the measurement vector used by the EKF 602 includes a GNSS-based running speed and step-rate measurement. The EKF 602 configured to correct the GNSS-based mnning/walking speed by taking the step-rate measurement into account. The EKF 602 outputs a corrected speed, the step-length, a variance of GNSS-based speed and a variance of step-rate measurement. FIGS. 7A and 7B are a flow diagram that illustrates a method of estimating a position and a velocity of a person walking or riding a bicycle in accordance with an implementation of the disclosure. At a step 702, a displacement vector is determined. The displacement vector being a vector from a first position to a second position. The first position being a position of the person at a first time and the second position being a position of the person at a second time later than the first time. At a step 704, a number of elementary moves made by the person per unit time is determined. The elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle. At a step 706, a first velocity is determined by dividing the displacement vector by a difference between the second time and the first time. At a step 708, a third position and a second velocity are determined based on the second position and the first velocity using an Extended Kalman filter. The third position being a position of the person at a third time later than the second time.
The advantage of the method is that the average step-length of the person is estimated and updated continuously, thereby enabling the person to track their speed more accurately, while running indoors. This method also allows estimating and tracking variance of GNSS measurements as well as that of step-count, thereby automatically weighing most and least reliable measurement source.
Optionally, the method includes determining a first step-length by dividing the magnitude of the first velocity by the first number of steps per unit time. Optionally, the method includes using the Extended Kalman filter to determine a second step-length based on the second position, first velocity, and the first step-length.
Optionally, the third position, the second velocity, and the second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length.
Optionally, the method includes using one of one or more processors to calculate a first state transition matrix based on a time elapsed between the second position and the third position of the person. Optionally, the method includes using one of the one or more processors to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
Optionally, the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
Optionally, the first position and the second position of the person are obtained by geo spatial positioning.
Optionally, the method includes calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves.
Optionally, the method includes using one of the one or more processors to calculate a first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity and step-length.
Optionally, the method includes calculating a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step-length, a second state covariance matrix and a first gradient vector.
Optionally, the method includes using one of the one or more processors to calculate the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
Optionally, the method includes calculating the second Fisher information matrix based on the third position, the second velocity, the second step-length, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves. Optionally, the method includes calculating the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps per unit time, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit.
Optionally, the method includes determining from measurements of signals transmitted for positioning the fifth position, the fifth position being a position of the person at a fifth time later than the second time.
Optionally, the method includes determining the second number of steps taken by the person per unit time.
Optionally, the third position and the second velocity are obtained by multiplying a first state transition matrix with the second position, and the first velocity.
Optionally, the method includes calculating a first state transition matrix based on a time elapsed between the second position and the third position of the bicycle.
Optionally, the method includes calculating a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
Optionally, the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
Optionally, the first position and the second position of the person are obtained by geo spatial positioning.
Optionally, the method includes calculating the first Fisher information matrix based on the second position, the first velocity, a wheel size of the bicycle, an expected standard error of a receiver used to provide geo-spatial positioning data, and an expected standard error of a measurement unit used in providing the number of elementary moves. Optionally, the method includes calculating a first state noise covariance matrix based on the time elapsed between the second position and the third position, as well as expected variations in the velocity.
Optionally, the method includes calculating a fourth position and a third velocity, based on the third position, the second velocity, a second state covariance matrix and a first gradient vector.
Optionally, the method includes calculating the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
Optionally, the method includes calculating the second Fisher information matrix based on the third position, the second velocity, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
Optionally, the method includes calculating the first gradient vector based on the third position, the second velocity, a fifth position, a second number of rotations of the wheel per unit time, the wheel size, the expected standard error of the receiver used to provide geo-spatial positioning data, and the expected standard error of the measurement unit used in providing the number of elementary moves.
Optionally, the method includes determining from measurements of signals transmitted for positioning the fifth position. The fifth position being a position of the bicycle at a fifth time later than the second time.
Although the disclosure and its advantages have been described in detail, it should be understood that various changes, substitutions, and alterations can be made herein without departing from the spirit and scope of the disclosure as defined by the appended claims.

Claims

1. A method of estimating a position and a velocity of a person walking or riding a bicycle, the method comprising: determining a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time; determining a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle; determining a first velocity by dividing the displacement vector by a difference between the second time and the first time; and determining a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time.
2. The method of claim 1, further comprising determining a first step-length by dividing the magnitude of the first velocity by a first number of steps per unit time.
3. The method of claim 2, further comprising using the Extended Kalman filter to determine a second step-length based on the second position, the first velocity, and the first step-length.
4. The method of claim 3, wherein the third position, the second velocity, and the second step-length are obtained by multiplying a first state transition matrix with the second position, the first velocity, and the first step-length.
5. The method of claim 4, further comprising using one of one or more processors (102A-N, 200A-N) to calculate the first state transition matrix based on a time elapsed between the second position and the third position of the person.
6. The method of claim 5, further comprising using one of the one or more processors (102A-N, 200 A-N) to calculate a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
7. The method of claim 6, wherein the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with the first state noise covariance matrix.
8. The method of any one of the preceding claims, wherein the first position and the second position of the person are obtained by geo-spatial positioning.
9. The method of claim 8 as dependent on claim 6 or claim 7, further comprising calculating the first Fisher information matrix based on the second position, the first velocity, the first step-length, an expected standard error of a receiver (104) used to provide geo-spatial positioning data, and an expected standard error of a measurement unit (106) used in providing the number of elementary moves.
10. The method of claim 6 or claim 7, further comprising using one of the one or more processors (102A-N, 200 A-N) to calculate the first state noise covariance matrix based on the time elapsed between the second position and third position, as well as expected variations in the velocity and step-length.
11. The method of claim 8 or 9 as dependent on claim 2, further comprising calculating a fourth position, a third velocity, and a third step-length based on the third position, the second velocity, the second step-length, a second state covariance matrix and a first gradient vector.
12. The method of claim 11, further comprising using one of the one or more processors (102A-N, 200A-N) to calculate the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
13. The method of claim 12, further comprising calculating the second Fisher information matrix based on the third position, the second velocity, the second step- length, the expected standard error of the receiver (104) used to provide geo-spatial positioning data, and the expected standard error of the measurement unit (106) used in providing the number of elementary moves.
14. The method of claim 11, further comprising calculating the first gradient vector based on the third position, the second velocity, the second step-length, a fifth position, a second number of steps per unit time, the expected standard error of the receiver (104) used to provide geo-spatial positioning data, and the expected standard error of the measurement unit (106).
15. The method of claim 14, further comprising determining from measurements of signals transmitted for positioning the fifth position, the fifth position being a position of the person at a fifth time later than the second time.
16. The method of claims 14, further comprising determining the second number of steps taken by the person per unit time.
17. The method of claim 1, wherein the third position and the second velocity are obtained by multiplying a first state transition matrix with the second position, and the first velocity.
18. The method of claim 17, further comprising calculating the first state transition matrix based on a time elapsed between the second position and the third position of the bicycle.
19. The method of claim 18, further comprising calculating a first state covariance matrix based on a first Fisher information matrix and a first state noise covariance matrix.
20. The method of claim 19, wherein the first state covariance matrix is calculated by multiplying the first state transition matrix with a generalized inverse of the first Fisher information matrix, followed by a multiplication with a matrix transpose of the first state transition matrix, and a matrix summation with a first state noise covariance matrix.
21. The method of any one of claims 17 to 20, wherein the first position and the second position of the person are obtained by geo-spatial positioning.
22. The method of claim 21 as dependent on claim 19 or claim 20, further comprising calculating the first Fisher information matrix based on the second position, the first velocity, a wheel size of the bicycle, an expected standard error of the receiver (104) used to provide geo-spatial positioning data, and an expected standard error of the measurement unit (106) used in providing the number of elementary moves.
23. The method of claim 19 or claim 20, further comprising calculating a first state noise covariance matrix based on the time elapsed between the second position and third position, as well as expected variations in the velocity.
24. The method of any one of claims 17 to 23, further comprising calculating a fourth position and a third velocity, based on the third position, the second velocity, a second state covariance matrix and a first gradient vector.
25. The method of claim 24, further comprising calculating the second state covariance matrix based on the first state covariance matrix and a second Fisher information matrix.
26. The method of claim 25, further comprising calculating the second Fisher information matrix based on the third position, the second velocity, the expected standard error of the receiver (104) used to provide geo-spatial positioning data, and the expected standard error of the measurement unit (106) used in providing the number of elementary moves.
27. The method of claim 24, further comprising calculating the first gradient vector based on the third position, the second velocity, a fifth position, a second number of rotations of the wheel per unit time, the wheel size, the expected standard error of the receiver (104) used to provide geo-spatial positioning data, and the expected standard error of the measurement unit (106) used in providing the number of elementary moves.
28. The method of claim 27, further comprising determining from measurements of signals for positioning the fifth position, the fifth position being a position of the bicycle at a fifth time later than the second time.
29. A device (100, 400, 500) for estimating a position and a velocity of a person walking or riding a bicycle, the device (100, 400, 500) having: one or more processors (102A-N, 200 A-N); a receiver (104) coupled with one of the one or more processors (102A-N, 200A- N) to determine positions of the device (100, 400, 500); a measurement unit (106) coupled with one of the one or more processors (102A- N, 200A-N) to detect elementary moves made by the person; and a memory (108, 300, 408) storing instructions that, when executed by one of the one or more processors (102 A-N, 200 A-N), cause the one or more processors (102 A-N, 200A-N) to: determine a displacement vector, the displacement vector being a vector from a first position to a second position, the first position being a position of the person at a first time, and the second position being a position of the person at a second time later than the first time; determine a number of elementary moves made by the person per unit time, the elementary moves being either steps taken by the person walking or revolutions of a wheel of the bicycle; determine a first velocity by dividing the displacement vector by a difference between the second time and the first time; and determine a third position and a second velocity based on the second position and the first velocity using an Extended Kalman filter, the third position being a position of the person at a third time later than the second time.
30. The device (100, 400, 500) of claim 29, wherein the receiver (104) is configured to determine the positions of the person by geo-spatial positioning.
PCT/EP2021/065120 2021-06-07 2021-06-07 Method and device for estimating a position and a velocity of a person WO2022258136A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/EP2021/065120 WO2022258136A1 (en) 2021-06-07 2021-06-07 Method and device for estimating a position and a velocity of a person
CN202180096382.0A CN117203553A (en) 2021-06-07 2021-06-07 Method and apparatus for estimating the position and speed of a person

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2021/065120 WO2022258136A1 (en) 2021-06-07 2021-06-07 Method and device for estimating a position and a velocity of a person

Publications (1)

Publication Number Publication Date
WO2022258136A1 true WO2022258136A1 (en) 2022-12-15

Family

ID=76355503

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2021/065120 WO2022258136A1 (en) 2021-06-07 2021-06-07 Method and device for estimating a position and a velocity of a person

Country Status (2)

Country Link
CN (1) CN117203553A (en)
WO (1) WO2022258136A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140288822A1 (en) * 2013-03-22 2014-09-25 Qualcomm Incorporated Controlling position uncertainty in a mobile device
US20190038938A1 (en) * 2017-08-03 2019-02-07 Casio Computer Co., Ltd. Activity state analyzer to analyze activity state during cycling

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140288822A1 (en) * 2013-03-22 2014-09-25 Qualcomm Incorporated Controlling position uncertainty in a mobile device
US20190038938A1 (en) * 2017-08-03 2019-02-07 Casio Computer Co., Ltd. Activity state analyzer to analyze activity state during cycling

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIRAWIMUT R ET AL: "A method for dead reckoning parameter correction in pedestrian navigation system", IMTC 2001. PROCEEDINGS OF THE 18TH. IEEE INSTRUMENTATION AND MEASUREMENT TECHNOLOGY CONFERENCE. BUDAPEST, HUNGARY, MAY 21 - 23, 2001; [IEEE INSTRUMENTATION AND MEASUREMENT TECHNOLOGY CONFERENCE. (IMTC):], NEW YORK, NY : IEEE, US, vol. 3, 21 May 2001 (2001-05-21), pages 1554 - 1558, XP010547219, ISBN: 978-0-7803-6646-6, DOI: 10.1109/IMTC.2001.929465 *

Also Published As

Publication number Publication date
CN117203553A (en) 2023-12-08

Similar Documents

Publication Publication Date Title
US11598638B2 (en) Methods of attitude and misalignment estimation for constraint free portable navigation
CA2986501C (en) A navigation system utilizing yaw rate constraint during inertial dead reckoning
Godha et al. Integrated GPS/INS system for pedestrian navigation in a signal degraded environment
US8566032B2 (en) Methods and applications for altitude measurement and fusion of user context detection with elevation motion for personal navigation systems
Iqbal et al. An integrated reduced inertial sensor system—RISS/GPS for land vehicle
US20120283947A1 (en) Positioning device, method and program with absolute positioning and relative positioning modes
CN107247275B (en) Urban GNSS vulnerability monitoring system and method based on bus
CN104713554A (en) Indoor positioning method based on MEMS insert device and android smart mobile phone fusion
EP2972495B1 (en) System and method for augmenting a gnss/ins navigation system of a low dynamic vessel using a vision system
US20110307171A1 (en) GPS Location Refinement Method In Environments With Low Satellite Visibility
US11428822B2 (en) Methods and systems for location determination
JPH07509570A (en) Navigation system for adaptive weighting of GPS and dead reckoning information
WO2011120029A2 (en) Pedal navigation using leo signals and body-mounted sensors
US11353596B2 (en) Position and motion informed navigation system
CN103674064B (en) Initial calibration method of strapdown inertial navigation system
Cho et al. A personal navigation system using low-cost MEMS/GPS/Fluxgate
Georgy Advanced nonlinear techniques for low cost land vehicle navigation
Lachapelle et al. Performance of integrated HSGPS-IMU technology for pedestrian navigation under signal masking
Erfianti et al. GNSS/IMU Sensor Fusion Performance Comparison of a Car Localization in Urban Environment Using Extended Kalman Filter
WO2022258136A1 (en) Method and device for estimating a position and a velocity of a person
RU2419808C1 (en) Positioning device, method and program with absolute and relative positioning modes
KR101013701B1 (en) Method for matching position of vehicle using azimuth information
Kirkko-Jaakkola et al. Hybridization of GNSS and On-Board Sensors for Validating the Aurora Ecosystem
Croci et al. A GNSS/INS-based architecture for rescue team monitoring
Hide et al. Investigating the integration of a foot-mounted imu and gnss antenna

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21731129

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202180096382.0

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21731129

Country of ref document: EP

Kind code of ref document: A1