Positioning method and apparatus
AssigneeAlibaba Group Holding Limited
InventorJie Zhang
Life of this patent
Estimating the term…
Abstract
A positioning method is disclosed. The positioning method includes collecting at least two types of sensor data reflecting a motion state of a terminal device in a step-counting period in real time; separately filtering the at least two types of sensor data to obtain filtered sensor data; step-counting a user holding the terminal device based on the filtered sensor data to obtain a distance and a direction of movement of the user in the step-counting period; and correcting current position information of the user based on the distance and the direction of the movement of the user in the step-counting period to implement positioning of the user. The technical solution provided in the present disclosure can be adopted to improve the accuracy of indoor positioning.
Claims11
A method implemented by one or more computing devices, the method comprising:
- collecting at least acceleration values and angular velocity values of a terminal device in a step-counting period in real time;
- filtering the acceleration values and the angular velocity values to obtain filtered acceleration values and filtered angular velocity values;
- counting steps of a user holding the terminal device by:
- obtaining adjacent maximum values and minimum values as extremum pairs from the filtered acceleration values;
- obtaining an extremum pair meeting a preset step-counting condition as a valid extremum pair from the extremum pairs;
- determining that the user moves by one step in a time defined by the valid extremum pair;
- angle-shifting an angular velocity value collected in a time defined by a previous valid extremum pair in response to the filtered angular velocity values including no angular velocity value that is collected in the time defined by the valid extremum pair;
- using the shifted angular velocity value as the angular velocity value in the time defined by the valid extremum pair;
- and
- calculating a distance and a direction of movement of the user in the step-counting period based at least in part on movement of the user in the time defined by the valid extremum pair and the angular velocity value collected in the time defined by the valid extremum pair;
- and
- correcting current position information of the user based at least in part on the distance and the direction of the movement of the user in the step-counting period.
An apparatus comprising:
- one or more processors;
- memory;
- a state collection module stored in the memory and executable by the one or more processors to collect at least acceleration values and angular velocity values of a terminal device in a step-counting period in real time;
- a filtering module stored in the memory and executable by the one or more processors to filter the acceleration values and the angular velocity values to obtain filtered acceleration values and filtered angular velocity values;
- a step-counting module stored in the memory and executable by the one or more processors to step-count a user holding the terminal device by:
- obtain adjacent maximum values and minimum values as extremum pairs from the filtered acceleration values;
- obtain an extremum pair meeting a preset step-counting condition as a valid extremum pair from the extremum pairs;
- determine that the user moves by one step in a time defined by the valid extremum pair;
- angle-shift an angular velocity value collected in a time defined by a previous valid extremum pair in response to the filtered angular velocity values including no angular velocity value that is collected in the time defined by the valid extremum pair, and
- use the shifted angular velocity value as the angular velocity value in the time defined by the valid extremum pair;
- and
- calculate a distance and a direction of movement of the user in the step-counting period based at least in part on movement of the user in the time defined by the valid extremum pair and the angular velocity value collected in the time defined by the valid extremum pair;
- and
- a positioning module stored in the memory and executable by the one or more processors to correct current position information of the user based at least in part on the distance and the direction of the movement of the user in the step-counting period.
One or more computer-readable media storing executable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:
- collecting at least acceleration values and angular velocity values of a terminal device in a step-counting period in real time;
- filtering the acceleration values and the angular velocity values to obtain filtered acceleration values and filtered angular velocity values;
- counting steps of a user holding the terminal device by:
- obtaining adjacent maximum values and minimum values as extremum pairs from the filtered acceleration values;
- obtaining an extremum pair meeting a preset step-counting condition as a valid extremum pair from the extremum pairs;
- determining that the user moves by one step in a time defined by the valid extremum pair;
- angle-shifting an angular velocity value collected in a time defined by a previous valid extremum pair in response to the filtered angular velocity values including no angular velocity value that is collected in the time defined by the valid extremum pair;
- using the shifted angular velocity value as the angular velocity value in the time defined by the valid extremum pair;
- and
- calculating a distance and a direction of movement of the user in the step-counting period based at least in part on movement of the user in the time defined by the valid extremum pair and the angular velocity value collected in the time defined by the valid extremum pair;
- and
- correcting current position information of the user based at least in part on the distance and the direction of the movement of the user in the step-counting period.
Dependencies are inferred from the claim text.