# US 10,771,925 B1 · Localization methods and system using the same

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,771,925 B1
- Document ID: US10771925B1
- Status: Granted
- Kind: B1
- Application number: 16/699,763
- Filed: 2019-12-02
- Granted: 2020-09-08
- Earliest claimed: 2019-10-09
- Assignees: Ubtech Robotics Corp Ltd
- Applicants: Ubtech Robotics Corp Ltd
- Inventors: Yongsheng Zhao; Wanjun He; Yu Tang; Youjun Xiong; Jianxin Pang
- Web page: https://patentgrep.com/patent/US10771925B1

## CPC

- G01S 5/0236: {Assistance data, e.g. base station almanac}
- H04W 4/029: Location-based management or tracking services
- G01S 5/14: Determining absolute distances from a plurality of spaced points of known location
- H04B 17/27: for locating or positioning the transmitter
- H04B 17/318: Received signal strength
- H04W 4/023: {using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds}
- H04W 48/10: using broadcasted information
- Y02D 30/70: in wireless communication networks
- G01S: RADIO 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
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04B: TRANSMISSION
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

The present disclosure provides localization methods and a system using the same. One of the methods includes: broadcasting a ranging frame in a awake state of a localization tag; obtaining a response frame returned by the first anchor according to the ranging frame; updating the ranging anchor list according to the response frame; and calculating a distance between the localization tag and the first anchor based on a time of broadcasting the ranging frame, a time of receiving the response frame, the time of the first anchor receiving the ranging frame, and the time of the first anchor transmitting the response frame. In such a manner, the localization tag is enabled to switch the anchor for ranging in time according to the updated ranging anchor list during movement, thereby automatically ranging with the nearby anchor.

## Claims

### Claim 1

A computer-implemented localization method for a localization tag, comprising executing on a processor steps of:
broadcasting a ranging frame in a awake state of the localization tag, wherein the localization tag stores a ranging anchor list, and the ranging frame is generated according to the ranging anchor list, and wherein the ranging frame comprises an anchor identifier bit, a part of anchor identifiers or all of the anchor identifiers in an anchor identification field of the ranging anchor list are read to generate the ranging frame in response to the ranging anchor list not being empty, and the anchor identification bit of the ranging frame is empty in response to the ranging anchor list being empty;
obtaining a response frame returned by a first anchor according to the ranging frame; wherein, the response frame comprises an anchor identifier of the first anchor, a time of the first anchor receiving the ranging frame, a time of the first anchor transmitting the response frame, and a nearby anchor list; wherein, the nearby anchor list comprises an anchor identifier of a second anchor within a preset range of the first anchor, and the nearby anchor list is updated by the first anchor according to a wireless data frame received from the second anchor;
updating the ranging anchor list according to the response frame; and
calculating a distance between the localization tag and the first anchor based on a time of broadcasting the ranging frame, a time of receiving the response frame, the time of the first anchor receiving the ranging frame, and the time of the first anchor transmitting the response frame.

### Claim 2 (depends on 1)

The method of claim 1, wherein the ranging anchor list comprises an anchor identifier of the first anchor, an anchor weight of the first anchor, an anchor identifier of the second anchor, and an anchor weight of the second anchor, and the step of updating the ranging anchor list according to the response frame comprises:
calculating the anchor weight of the first anchor based on the anchor identifier of the first anchor in the response frame, wherein the anchor weight of the first anchor is reduced by P, in response to the anchor identifier of the first anchor not being received within a preset time;
calculating the anchor weight of the second anchor based on an occurrence amount of the anchor identifier of the second anchor in the nearby anchor list, wherein, the anchor weight of the second anchor in the ranging anchor list is increased with the occurrence amount of the anchor identifier of the second anchor; and
updating the ranging anchor list based on the anchor weight of the first anchor and the anchor weight of the second anchor.

### Claim 3 (depends on 2)

The method of claim 2, wherein the step of updating the ranging anchor list based on the anchor weight of the first anchor and the anchor weight of the second anchor comprises:
sorting the ranging anchor list according to the anchor weight of the first anchor and the anchor weight of the second anchor, and clearing a record in the ranging anchor list that has the anchor weight less than a preset value.

### Claim 4 (depends on 1)

The method of claim 1, wherein the step of calculating the distance between the localization tag and the first anchor based on the time of broadcasting the ranging frame, the time of receiving the response frame, the time of the first anchor receiving the ranging frame, and the time of the first anchor transmitting the response frame comprises;
obtaining a coordinate of the first anchor; and
calculating a coordinate of the localization tag based on the coordinate of the first anchor and the distance between the localization tag and the first anchor.

### Claim 5 (depends on 1)

The method of claim 1, wherein the step of updating the ranging anchor list according to the response frame comprises:
clearing a record that is not updated within a preset time the ranging anchor list, according to time of each anchor transmitting the response frame.

### Claim 6

A computer-implemented localization method for a first anchor, comprising executing on a processor steps of:
obtaining a wireless data frame transmitted by a second anchor within a preset range of the first anchor, wherein the wireless data frame comprises an anchor identifier of the second anchor;
updating a nearby anchor list according to the anchor identifier of the second anchor, wherein the nearby anchor list is stored in the first anchor;
obtaining a ranging frame broadcasted by a localization tag, wherein the localization tag stores a ranging anchor list, and the ranging frame is generated according to the ranging anchor list;
determining whether there is anchor identifier of the first anchor in the ranging frame or the ranging anchor list is empty according to the ranging frame;
determining a signal transmission condition as being met, in response to there being the anchor identifier of the first anchor in the ranging frame or the ranging anchor list being empty, and transmitting a response frame to the localization tag; wherein, the response frame comprises the anchor identifier of the first anchor, a time of the first anchor receiving the ranging frame, a time of the first anchor transmitting the response frame, an the nearby anchor list; wherein, the localization tag is configured to update the ranging anchor list according to the response frame and calculate a distance between the localization tag and the first anchor, based on a time of broadcasting the ranging frame, a time of receiving the response frame, a time of the first anchor receiving the ranging frame, and a time of the first anchor transmitting the response frame; and
determining the signal transmission condition as not being met, in response to the ranging anchor list not being empty and there being no the anchor identifier of the first anchor in the ranging frame.

### Claim 7 (depends on 6)

The method of claim 6, wherein each first anchor sequentially returns the response frame according to an order of the anchor identifier of the first anchors in the ranging frame.

### Claim 8 (depends on 6)

The method of claim 6, wherein the step of transmitting the response frame to the localization tag in response to the ranging frame meeting the signal transmission condition comprises:
transmitting the response frame according to a transmission time corresponding to the anchor identifier of the first anchor in the ranging frame, in response to there being the anchor identifier of the first anchor in the ranging frame; and
transmitting the response frame within a preset time, in response to the ranging anchor list being empty.

### Claim 9 (depends on 8)

The method of claim 8, wherein the step of updating the nearby anchor list according to the anchor identifier of the second anchor comprises:
reading a signal strength and a reception time of the wireless data frame; and
updating the nearby anchor list based on the signal strength and the reception time.

### Claim 10 (depends on 6)

The method of claim 6, wherein the step of updating the nearby anchor list according to the anchor identifier of the second anchor comprises:
periodically clearing a record that is not updated within a preset time in the nearby anchor list, according to time of receiving the wireless data frame.

### Claim 11 (depends on 6)

The method of claim 6, wherein the step of updating the nearby anchor list according to the anchor identifier of the second anchor comprises:
periodically sorting records in the nearby anchor list according to signal strength of receiving the wireless data frame, and clearing a record with the signal strength smaller than a preset value.

### Claim 12

A localization system comprising:
a localization tag; and
a plurality of anchors, wherein the plurality of anchors comprises a plurality of first anchors for receiving a wireless data frame transmitted by the surrounding second anchor and a plurality of second anchors for transmitting the wireless data frame to the surrounding first anchor; wherein:
the first anchor obtains a wireless data frame transmitted by the second anchor within a preset range of the first anchor, wherein the wireless data frame comprises an anchor identifier of the second anchor; the first anchor updates a nearby anchor list according to the anchor identifier of the second anchor, wherein the nearby anchor list is stored in the first anchor;
the localization tag broadcasts a ranging frame in an awake state, wherein the localization tag stores a ranging anchor list, and the ranging frame is generated according to the ranging anchor list; the first anchor obtains the ranging frame broadcasted by the localization tag;
the first anchor determines whether the ranging frame meets a signal transmission condition, and returns a response frame to the localization tag in response to the signal transmission condition being met, wherein the response frame comprises the anchor identifier of the first anchor, the time of the first anchor receiving the ranging frame, the time of the first anchor transmitting the response frame, and the nearby anchor list; and
the localization tag updates the ranging anchor list according to the response frame; the localization tag calculates a distance between the localization tag and the first anchor based on a time of broadcasting the ranging frame, a time of receiving the response frame, the time of the first anchor receiving the ranging frame, and the time of the first anchor transmitting the response frame; the localization tag obtains a coordinate of the first anchor, and calculating, through the localization tag, a coordinate of the localization tag based on the coordinate of the first anchor and the distance between the localization tag and the first anchor.

### Claim 13 (depends on 12)

The system of claim 12, wherein each of the anchors is simultaneously used as the first anchor and the second anchor.

### Claim 14 (depends on 12)

The system of claim 12, wherein the ranging anchor list comprises an anchor identifier of the first anchor, an anchor weight of the first anchor, an anchor identifier of the second anchor, and an anchor weight of the second anchor; and
wherein the first anchor calculates the anchor weight of the first anchor based on the anchor identifier of the first anchor in the response frame, calculates the anchor weight of the second anchor based on an occurrence amount of the anchor identifier of the second anchor in the nearby anchor list; and updates the ranging anchor list based on the anchor weight of the first anchor and the anchor weight of the second anchor.

### Claim 15 (depends on 12)

The system of claim 12, wherein the first anchor obtains a coordinate of the first anchor; and calculates a coordinate of the localization tag based on the coordinate of the first anchor and the distance between the localization tag and the first anchor.

### Claim 16 (depends on 12)

The system of claim 12, wherein the localization tag determines the signal transmission condition as being met, in response to there being the anchor identifier of the first anchor in the ranging frame or the ranging anchor list being empty; and determines the signal transmission condition as not being met, in response to the ranging anchor list not being empty and there being no the anchor identifier of the first anchor in the ranging frame.

### Claim 17 (depends on 16)

The system of claim 16, wherein the localization tag transmits the response frame according to a transmission time corresponding to the anchor identifier of the first anchor in the ranging frame, in response to there being the anchor identifier of the first anchor in the ranging frame; and transmits the response frame within a preset time, in response to the ranging anchor first being empty.

### Claim 18 (depends on 17)

The system of claim 17, wherein the localization tag reads a signal strength and a reception time of the wireless data frame; and updates the nearby anchor list based on the signal strength and the reception time.

### Claim 19 (depends on 12)

The system of claim 12, wherein the ranging frame comprises an anchor identifier bit, a part of anchor identifiers or all of the anchor identifiers in an anchor identification field of the ranging anchor list are read to generate the ranging frame in response to the ranging anchor list not being empty, and the anchor identification bit of the ranging frame is empty in response to the ranging anchor list being empty.

### Claim 20 (depends on 19)

The system of claim 19, wherein the ranging frame comprises a flag bit and an ID bits;
in response to the ranging anchor list being empty, the flab bit is 0, and the ID bits is empty; and
in response to the ranging anchor list not being empty, the ID bits comprises N anchor identifiers, and the bit is N, wherein the N anchor identifiers are all the anchor identifiers in the ranging anchor list, or a part of the anchor identifiers in the ranging anchor list.
