Systems and Methods for Asset Tracking, Asset Grouping, and Error Recovery
The asset tracking system addresses the challenges of tracking and recovering asset tags by using response schedules and motion sensors to ensure accurate and efficient communication and power management, resulting in improved tracking reliability and efficiency.
Patent Information
- Application Number
- JP2024555352
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-09-29
- Filing Date
- 2023-04-20
- Publication Date
- 2025-06-19
- Estimated Expiration
- 2043-04-20
AI Technical Summary
Existing asset tracking systems face challenges in efficiently tracking, grouping, and recovering asset tags due to issues like clock drift, communication errors, and interference, which affect the accuracy and reliability of asset positioning and ranging.
The system generates a response schedule for asset tags that includes sequences of trigger times and wake windows for transmitting unicast or multicast triggers, allowing asset tags to switch between wake and sleep modes to conserve power. Additionally, the system employs motion sensors and recovery schedules to address non-responsive asset tags.
This approach enhances the accuracy and reliability of asset tracking by ensuring that asset tags respond correctly to triggers, conserves battery life by optimizing power usage, and effectively recovers non-responsive tags, thereby improving overall system efficiency and accuracy.
Smart Images

Figure 2025518651000001_ABST
Abstract
Description
Technical Field
[0001] Cross - Reference to Related Applications
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 333,101, filed Apr. 20, 2022, and U.S. Provisional Application No. 63 / 411,554, filed Sep. 29, 2022, each of which is incorporated herein by reference in its entirety.
[0002]
[0001] The present invention generally relates to the field of asset tags, and more specifically, to novel and useful systems and methods for tracking, grouping, and error recovery of asset tags in the field of asset tracking.
Brief Description of the Drawings
[0003]
Figure 1
[0002] FIG. 1 is a schematic diagram of a method.
Figure 2
[0003] FIG. 2 is a schematic diagram of a variation of the method.
Figure 3
[0004] FIG. 3 is a schematic diagram of a variation of the method.
Figure 4
[0005] FIG. 4 is a schematic diagram of a variation of the method.
Modes for Carrying Out the Invention
[0004]
[0006] The following description of embodiments of the present invention is not intended to limit the invention to those embodiments, but rather is intended to enable one of ordinary skill in the art to make and use the invention. The variations, configurations, implementations, examples, and instances described herein are optional and are not limited to the variations, configurations, implementations, examples, and instances described herein. The invention described herein may include any and all combinations of these variations, configurations, implementations, examples, and instances.
[0005] 1. Method
[0007] As shown in FIGS. 1 to 4, method S100 includes, in block S120, generating, at a first time, a first response schedule for a first asset tag, the first response schedule including a sequence of trigger times for transmitting a sequence of unicast triggers; and a sequence of wake windows, each wake window of the sequence of wake windows intersecting a trigger time of the first sequence of trigger times.
[0006]
[0008] In this variant, method S100 includes, in block S130, broadcasting, at a first node of a set of nodes, a first configuration message including the first response schedule to the first asset tag via a configuration channel; in block S140, in response to there being no configuration data at the first asset tag, migrating a transceiver of the first asset tag to the configuration channel; in block S142, receiving the first configuration message via the configuration channel; in block S144, configuring the first asset tag based on the first configuration message; and in block S146, entering a sleep mode in response to a period up to a first wake window of the sequence of wake windows exceeding a threshold period.
[0007]
[0009] In this variant, at the second time, at the first node of the set of nodes, based on the first trigger time of the sequence of trigger times, method S100 further includes, in block S150, broadcasting the first unicast trigger of the sequence of unicast triggers via the ranging channel. Method S100 includes, at the second time and with the first asset tag, entering the wake mode in block S162 based on the first wake window; transmitting the first ranging signal in block S166 in response to receiving the first unicast trigger via the ranging channel; entering the sleep mode in block S168 in response to transmitting the first ranging signal; and deriving the first position of the first asset tag at the second time based on the instance of the first ranging signal received by the set of nodes in block S154 at the set of nodes that received the first ranging signal in block S152.
[0008] 1.1 Variant: Motion Sensor Activated Unicast Ranging
[0010] As shown in FIGS. 1 to 4, method S100 includes, during the first period, generating, in block S120, a first response schedule for the first asset tag, the first response schedule defining a first trigger time for transmitting the first unicast trigger, a first wake window intersecting the first trigger time, and a second wake window associated with the motion sensor signal.
[0009]
[0011] In this modification, method S100 includes, at block S130, at a first node of a set of nodes, broadcasting, via a configuration channel, a first configuration message including a first response schedule to a first asset tag; at the first asset tag: in response to there being no configuration data, at block S140, causing a transceiver of the first asset tag to transition to the configuration channel; at block S142, receiving the first configuration message via the configuration channel; at block S144, configuring the first asset tag based on the first configuration message; and in response to a period up to a first wake window of a sequence of wake windows exceeding a threshold period, at block S146, entering a sleep mode.
[0010]
[0012] In this modification, method S100 includes, during a second period, at the first asset tag, in response to receiving a motion sensor signal from a motion sensor of the first asset tag, at block S162, entering a wake mode for a period of a second wake window; and at block S166, transmitting a first ranging signal via a ranging channel during the second wake window. Method S100 further includes, during the second period, and at a set of nodes, in response to transmitting the first ranging signal, at block S168, entering a sleep mode; at block S152, receiving the first ranging signal; and at block S154, deriving a first position of the first asset tag based on an instance of the first ranging signal received by the set of nodes.
[0011] 1.2 Variant: Multicast Configuration and Ranging
[0013] As shown in FIGS. 1 to 4, method S100 includes, during a first period, at block S120, generating a first response schedule for a first asset tag group, the first response schedule including: a first multicast trigger time for transmitting a first multicast trigger to the first asset tag group; for each asset tag in the first asset tag group, defining a first wake window intersecting the first multicast trigger, a transmission time after receiving the first multicast trigger and specific to the asset tag, and a second wake window intersecting the transmission time.
[0012]
[0014] In this modification, method S100 includes, at a first node of a set of nodes, at block S130, and for a first asset tag of a first asset tag group, broadcasting a first configuration message to the first asset tag via a configuration channel. In this modification, method S100 responds when there is no configuration data by: at block S140, migrating the transceiver of the first asset tag to the configuration channel; at block S142, receiving the first configuration message via the configuration channel; at block S144, configuring the first asset tag based on the first configuration message; and at block S146, entering the sleep mode based on a first response schedule indicating that a period until the first wake window exceeds a threshold period.
[0013]
[0015] In this modification, method S100 includes, during the first wake window, at a set of nodes, at block S150, and in the first wake window, broadcasting a first multicast trigger via a ranging channel; for a first asset tag of a first asset tag group; at block S162, entering the wake mode; at block S164, receiving the first multicast trigger via the ranging channel; and at block S168, entering the sleep mode based on a first response schedule indicating that a period until the second wake window exceeds a threshold period.
[0014]
[0016] In this modification, method S100 includes, during the second wake window, at the first asset tag of the first asset tag group: in block S162, steps of entering the wake mode; in block S166, steps of transmitting a first ranging signal via a ranging channel; and in block S168, steps of entering the sleep mode in response to transmitting the first ranging signal. Method S100 further includes, in the second wake window, for a set of nodes: in block S152, steps of receiving a first set of ranging signals from the first asset tag group; and in block S154, steps of deriving a first set of positions of the first asset tag group based on an instance of the first set of ranging signals received by the set of nodes.
[0015] 1.3 Variant: Recovery of Non-responding Asset Tags
[0017] As shown in FIGS. 1 to 4, method S100 includes, during the first period: in block S102, steps of broadcasting a unicast query for a set of asset tags by a set of nodes; in block S104, steps of receiving a first set of uncast responses from the set of asset tags; and in block S106, steps of calculating a first set of positions of the set of asset tags based on the first set of unicast responses.
[0016]
[0018] In this modification, method S100 includes, in block S110, steps of dividing the set of asset tags into a set of asset tag groups based on the proximity of the first set of positions; and for the first asset tag group of the set of asset tag groups, in block S120, steps of generating a first response schedule, where the first response schedule defines: a first multicast trigger time for transmitting a first multicast trigger; for each asset tag of the first asset tag group, a first transmission time unique to the asset tag after receiving the first multicast trigger, a first wake window that intersects the first multicast trigger time, and a second wake window that intersects the first transmission time.
[0017]
[0019] In this modification, during the second period: in block S150, at the first node of the set of nodes, broadcasting a first multicast trigger at a first multicast trigger time defined by a first response schedule; in block S152, at the set of nodes, receiving a first set of ranging signals from a first asset tag subgroup of a first asset tag group, wherein the first asset tag subgroup responds to the first multicast trigger; in block S170, in response to identifying a first asset tag included in the first asset tag group and excluded from the first asset tag subgroup based on the first set of ranging signals, in block S120, generating a recovery schedule for the first asset tag, the recovery schedule defining a sequence of unicast trigger times for transmitting a sequence of unicast triggers to the first asset tag. Method S100 further includes: during the second period and at the first node of the set of nodes, in block S150, broadcasting a sequence of unicast triggers at a sequence of unicast trigger times according to the recovery schedule; and in block S152, in response to receiving a first ranging signal from the first asset tag at the set of nodes, deriving a first position of the first asset tag based on the first ranging signal.
[0018] 1.4 Variant: Motion Sensor Activated Multicast Ranging
[0020] As shown in FIGS. 1 to 4, method S100, in the first hour, in a set of nodes: in block S102, the step of broadcasting a unicast query to a set of asset tags; in block S104, the step of receiving a first set of unicast responses from the set of asset tags; in block S106, the step of calculating a first set of positions of the set of asset tags based on the first set of unicast responses. Method S100 further includes, in block S110, the step of dividing the set of asset tags into a set of asset tag groups based on the first set of positions, and in block S120, the step of generating a first response schedule for a first asset tag group of the set of asset tag groups, the first response schedule including a first set of multicast trigger times for transmitting a first set of multicast triggers; for each asset tag of the first asset tag group, a first set of wake windows, where each wake window of the first set of wake windows intersects the multicast trigger times of the first set of multicast trigger times, a first set of wake windows, and a first transmission frequency for a ranging signal specific to the asset tag.
[0019]
[0021] In this modification, method S100 includes, at the second time: in block S150, broadcasting, in a set of nodes, a first multicast trigger of a first set of multicast triggers; in block S152, receiving, in a set of nodes, a first set of ranging signals from a first set of asset tags that respond to the first multicast trigger; in block S154, deriving a second set of positions of the first set of asset tags based on the first set of ranging signals; and in block S170, identifying a first asset tag of the first set of asset tags based on a first position of the second set of positions of the first asset tag. Method S100 includes, at the second time: in response to identifying the first asset tag, in block S172, updating a first response schedule to exclude the first asset tag from the first set of asset tags; and in block S120, generating a second response schedule for the first asset tag, where the second response schedule defines a first set of unicast trigger times for transmitting a first set of unicast triggers, a second set of wake windows, where each wake window of the second set of wake windows intersects a multicast trigger time of the first set of unicast trigger times, and a second transmission frequency unique to the first asset tag.
[0020]
[0022] In this modification, method S100 includes, at the third time and in a set of nodes: in block S150, broadcasting a first unicast trigger of a first set of unicast triggers according to the second response schedule; and in block S150, broadcasting a second multicast trigger of a first set of multicast triggers according to the first response schedule at the fourth time and in a set of nodes.
[0021] 1.5 Variant: Receiving Ranging Signals with Different Signal Strengths
[0023] As shown in FIGS. 1 to 4, method S100 includes, at a first time, step S112 of identifying a first asset tag group with a set of asset tags, where each asset tag of the first asset tag group defines a first priority level, the step of identifying; and for the first asset tag group, in block S120, the step of generating a first response schedule, the first response schedule including a first set of multicast trigger times associated with a first transmission frequency for transmission of a first set of multicast triggers; for each asset tag of the first asset tag group, a first set of transmission times after a trigger time of the first set of multicast trigger times and after a trigger time specific to the asset tag, and a first set of wake windows, where each wake window of the first wake windows intersects a trigger time of the first set of multicast trigger times and is specific to the asset tag, the first set of wake windows, and the transmission times of the first set of transmission times. Method S100 further includes, at the first time, in block S132, the step of broadcasting the first response schedule to the first asset tag group.
[0022]
[0024] In this modification, at the second time, at the first node of the set of nodes, method S100 includes, in block S150, broadcasting a first multicast trigger at the first multicast trigger time of the first set of multicast trigger times defined by the first response schedule; in block S152, receiving a first set of ranging signals from the first asset tag subgroup of the first asset tag group; and in block S158, transmitting a first set of asset tag data of the first asset tag subgroup to the set of nodes. At the second time, at the second node of the set of nodes, method S100 further includes, in block S152, receiving a second set of ranging signals from the second asset tag subgroup of the first asset tag group; in block S158, transmitting a second set of asset tag data of the second asset tag subgroup in the set of nodes; and in block S154, deriving a second set of positions of the first asset tag group based on the first set of asset tag data and the second set of asset tag data.
[0023] 2. Applications
[0025] Generally, method S100 is executed by a system including a set of nodes (e.g., a mesh network of asset tag readers, a network of base stations, a network of asset tag readers communicatively coupled to a controller) and a set of asset tags to perform positioning and ranging to track the positions of one or more asset tags of the system. Further, method S100 may be executed in either a unicast communication mode in which a node of the set of nodes communicates with a single asset tag of the set of asset tags at a time, or a multicast communication mode in which a node of the set of nodes communicates with a group of asset tags of the set of asset tags at a time.
[0024] 2.1 Unicast Communication Mode
[0026] Generally, method S100 is executed by a system including a set of nodes (e.g., a mesh network of asset tag readers, a network of base stations, a network of asset tag readers communicatively coupled to a controller) and at least one asset tag: identify the location of the asset tag within a target environment (e.g., a warehouse); generate a response schedule for the asset tag for the exchange of unicast ranging signals with the set of nodes; configure the asset tag to conform to the response schedule; derive the location of the asset tag within the target environment based on the ranging signals exchanged between the asset tag and the set of nodes. Method S100 is further executed by the system to enable the asset tag to switch between a wake mode and a sleep mode to conserve battery power.
[0025]
[0027] For example, method S100 may be executed by the system to trigger the ranging and location identification of the asset tag in response to the asset tag detecting movement (e.g., by transportation). In particular, the asset tag may transmit a ranging signal to the set of nodes in response to receiving a motion sensor signal. For example, method S100 includes generating a first response schedule for a first asset tag during a first period, the first response schedule defining: a first trigger time for transmitting a first unicast trigger; a first wake window intersecting the first trigger time; and a second wake window associated with the motion sensor signal.
[0026]
[0028] In this example, method S100 includes, at a first node of a set of nodes, broadcasting a first configuration message including a first response schedule to a first asset tag via a configuration channel; in response to there being no configuration data at the first asset tag, migrating a transceiver of the first asset tag to the configuration channel; receiving the first configuration message via the configuration channel; configuring the first asset tag based on the first configuration message; and entering a sleep mode in response to a period up to a first wake window of a sequence of wake windows exceeding a threshold period.
[0027]
[0029] In this example, method S100 includes, during a second period, at the first asset tag and in response to receiving a motion sensor signal from a motion sensor of the first asset tag: entering a wake mode for a period of a second wake window; and transmitting a first ranging signal via a ranging channel during the second wake window. Method S100 further includes entering a sleep mode during the second period and in response to transmitting the first ranging signal at a set of nodes; receiving the first ranging signal; and deriving a first position of the first asset tag based on an instance of the first ranging signal received by the set of nodes.
[0028] 2.2 Multicast Communication Mode
[0030] Generally, method S100 is executed by a system including a set of nodes (e.g., asset tag readers, base stations), a set of asset tags, and a controller to: triangulate a set of asset tags within a target environment (such as a warehouse) during a set period; cluster the set of asset tags into groups based on proximity; generate a response schedule for asset tags to transmit distance signals to the nodes; derive the positions of the asset tags of the asset tag groups within the target environment. Method S100 is further executed by the system to: receive ranging signals from the asset tags; identify the positions of the asset tags within the target environment based on the ranging signals; generate a recovery schedule for the asset tags excluded from the subset in response to the absence of ranging signals from the asset tags of the asset tag groups to elicit responses from the asset tags; modify the subsequent ranging signal transmission pattern to the nodes.
[0029]
[0031] For example, the system may be configured to execute method S100 to triangulate the initial positions of each asset tag deployed in a target environment (such as a warehouse, grocery store). Specifically, during the set period, the system broadcasts a set of unicast signals to the set of asset tags; receives a set of test responses from each asset tag at the set of nodes; triangulates the initial positions of each asset tag within the target environment based on the set of test responses; and may record the initial positions of each asset tag in a database. For example, in the first hour, the set of nodes may broadcast a unicast query to the set of asset tags; each asset tag of the set of asset tags may return a set of test queries to the set of nodes; the set of nodes may record the set of test queries; and the controller may calculate the positions of the set of asset tags based on the set of test queries received by the set of nodes. Thus, the system may maintain a set of initial positions associated with the set of asset tags within the target environment for subsequent grouping and tracking within the target environment.
[0030]
[0032] In one implementation, the system may assign asset tags to asset tag groups based on criteria such as the proximity of asset tags to each other, a spatial region (e.g., a 10m x 10m space), a threshold number of asset tags (e.g., maximum, minimum), priority, movement pattern / frequency, etc. In this implementation, the system may define a response schedule for each asset tag group that includes group-specific parameters (multicast trigger time, wake window, set of asset tag transmission times). For example, the controller may define a set of asset tag groups based on the proximity of the positions of a set of asset tags; for a first asset tag group of the set of asset tag groups, define a response schedule that includes a multicast trigger time, a wake window that intersects the multicast trigger time, and a set of relative transmission times for each asset tag of the asset tag group; and transmit the response schedule to a set of nodes. Accordingly, the system may track asset tags within an asset tag group based on a multicast trigger transmitted to the asset tag group at a predetermined time and a response (ranging signal) from the asset tag based on the response schedule. Accordingly, the system may integrate asset tags into groups based on similar criteria, synchronize the communication of the asset tags of an asset tag group to nodes via a schedule that defines the communication order for the asset tag group, transmit a query (e.g., a multicast signal) to the asset tag group, receive a response from the asset tags of the asset tag group, and thereby increase the tracking frequency by shortening the buffer time between the signal transmissions of individual asset tags. Accordingly, the system may utilize the wake windows of asset tags to define a response schedule having multiple wake windows for a single asset tag group, trigger responses from asset tags of a subset of the asset tag group in an "active" operating state, while transitioning another subset of the asset tag group to a "sleep" operating state, in order to assign more asset tags to the asset tag group for tracking in a target environment.
[0031] 2.2.1 Detection and Recovery of Lack of Response
[0033] In one implementation, the system may identify that there is no ranging signal from the asset tags of the asset tag group. More specifically, due to clock drift or a fault, the asset tag transitions to the "activated" state after the activation window specified by the response schedule (e.g., the activation is too late), and thus may not be able to enter the "sleep" state and receive the multicast trigger during or after the activation window. In another implementation, the asset tag transitions to the "activated" state before the activation window specified by the response schedule (e.g., the activation is too early), and thus may not be able to enter the "sleep" state during or before activation and receive the multicast trigger. For example, at the second hour, the first node of a set of nodes may broadcast a multicast trigger to a first asset tag group at the multicast trigger time. The set of nodes may receive a first set of ranging signals from a first subset of the asset tags of the first asset tag group. In response to identifying the first asset tags of the first asset tag group that were excluded from the first subset of the asset tags, the controller may define a first recovery schedule for the first asset tags. Thus, in response to a failure to detect a ranging signal from the asset tags of an asset tag group, the system may generate a recovery schedule for a particular asset tag and induce a response via the ranging signal from the asset tag and subsequent location identification.
[0032]
[0034] In one implementation, the system may implement a hybrid of multicast communication and unicast communication to trigger a response from the asset tag. More specifically, the system may perform unicast communication to induce a response from an asset tag that did not respond to the multicast trigger, and may readjust the clock of the asset tag to correct a clock error (e.g., clock drift). For example, a first node of a set of nodes may broadcast a unicast trigger in a sequence of unicast trigger times according to a first recovery schedule; in response to receiving a first ranging signal from a first asset tag, the first clock of the first asset tag may be readjusted; and the controller may derive a first position of the first asset tag based on the first ranging signal in response to receiving the first ranging signal from the first asset tag by the first node. Thus, the system may recover from clock asynchronization with respect to real time or from the clock times of other asset tags by readjusting the clocks of asset tags that failed to transmit ranging signals based on the multicast trigger and resynchronizing with the response schedule of the asset tag group.
[0033]
[0035] The system may execute method S100 within a warehouse facility - target environment - occupied by a set of asset tags. More specifically, the asset tags may be deployed throughout the target environment and attached to entities such as individual items (products) in the warehouse, containers holding or storing the items, machines, etc., to monitor the throughput of products and / or the movement of items within the warehouse, or may be worn by employees to track the movement of employees / groups of employees working or operating within the target environment.
[0034] 3. System
[0036] In one implementation, method S100 is executed by a system that includes a set of nodes (e.g., a network of base stations, a set of one or more asset tag readers), a set of asset tags, and a controller (e.g., a server communicatively connected to the set of nodes). More specifically, the system communicates with a set of asset tags having the characteristics of asynchronous communication and includes a set of nodes deployed in a target environment. Specifically, the asset tags described in U.S. Provisional Application No. 63 / 333,101, and a controller generally configured to derive the positions of the asset tags, define asset tag groups, define response schedules and recovery schedules for the asset tag groups, and transmit the response schedules and recovery schedules to the set of nodes.
[0035] 4. Unicast Communication Mode
[0037] Generally, method S100 is executed by a system that includes a set of nodes (e.g., a mesh network of asset tag readers, a network of base stations, a network of asset tag readers communicatively coupled to a controller) and at least one asset tag; identifies the positions of the asset tags in a target environment (e.g., a warehouse); generates a response schedule for the asset tags for the exchange of unicast ranging signals with the set of nodes; configures the asset tags to conform to the response schedule; and derives the positions of the asset tags in the target environment based on the ranging signals exchanged between the asset tags and the set of nodes. Method S100 is further executed by the system to receive ranging signals from the asset tags and identify the positions of the asset tags in the target environment based on the ranging signals. Method S100 is further executed by the system to enable the asset tags to switch between a wake mode and a sleep mode to conserve battery power.
[0036] 4.1 Creation of Response Schedule
[0038] Block S120 of method S100 describes the step of generating a first response schedule for a first asset tag via a set of nodes, and the first response schedule defines: a sequence of trigger times for transmitting a sequence of unicast triggers; and a sequence of wake windows, where each wake window of the sequence of wake windows intersects the trigger times of the first sequence of trigger times. Generally, in block S120, the system may generate a first response schedule, and the first response schedule defines the time when a unicast ranging trigger can be transmitted from the nodes of the set of nodes to the first asset tag, and the wake window time when the first asset tag enters the wake mode, receives the unicast triggers of the sequence of unicast triggers, and can transmit a ranging signal. The first response schedule enables the first asset tag to enter the high-power consumption wake mode only when the first asset tag is communicating with the set of nodes. Therefore, the first asset tag may remain in the low-power consumption sleep mode when not communicating with the set of nodes. Thus, by generating the first response schedule, the system can reduce the power consumption of the first asset tag and extend the battery life of the first asset tag.
[0037]
[0039] In one implementation, the system may generate a first response schedule for the first asset tag, and the first response schedule defines: a first trigger time for sending a first unicast trigger; a first wake window that intersects the first trigger time; and a second wake window associated with the motion sensor signal. Thus, the system may generate a first response schedule that defines the time at which a unicast ranging trigger can be sent from the nodes of the set of nodes to the first asset tag, and two wake windows: one wake window in which the first asset tag can enter the wake mode and receive the unicast trigger; and the other wake window in which the first asset tag can enter the wake mode and send a ranging signal in response to receiving the motion sensor signal. Thus, the first asset tag may initiate ranging in response to moving.
[0038] 4.2 Asset Tag Configuration
[0040] Blocks S130, S140, S142, and S144 of method S100 describe, at a first node of a set of nodes, broadcasting a first configuration message including a first response schedule to a first asset tag via a configuration channel; in response to there being no configuration data at the first asset tag, migrating a transceiver of the first asset tag to the configuration channel; receiving the first configuration message via the configuration channel; and configuring the first asset tag based on the first configuration message. Generally, in blocks S130, S140, S142, and S144, the system may transmit a configuration message including an asset tag identifier of the first asset tag and a first response schedule for the first asset tag. Further, in blocks S130, S140, S142, and S144, the system may receive a configuration message via the configuration channel at the first asset tag and configure the first asset tag based on the configuration message. In particular, the system may configure the first asset tag by synchronizing a clock of the first asset tag to a system time of the set of nodes and configuring the first asset tag to conform to the first response schedule. Thus, the system may configure the first asset tag to enable the first asset tag to transmit a ranging signal to the set of nodes, and the ranging signal may be used by the system to identify a position of the first asset tag.
[0039]
[0041] In one implementation, the first asset tag may receive the first configuration message via the configuration channel by accessing the first response schedule of the first configuration message; and by accessing the asset tag identifier of the first configuration message. Further, in response to the asset tag identifier of the configuration message matching the asset tag identifier of the first asset tag, the system synchronizes the clock of the first asset tag to the system time of the set of nodes; and configures the first asset tag to transition between the sleep mode and the wake mode according to the first response schedule, thereby configuring the first asset tag based on the first configuration message. Thus, the system may verify that the configuration message is sent to the first asset tag based on the asset tag identifier included in the configuration message. Further, after verifying the asset tag identifier, the system may configure the first asset tag by synchronizing the clock of the first asset tag to the system time of the set of nodes and configuring the first asset tag to conform to the first response schedule, thereby configuring the first asset tag.
[0040]
[0042] In another implementation, the system may encrypt the configuration message to protect the information included in the configuration message from corruption. In this implementation, the system may also implement a decryption key for decrypting the configuration message with the asset tag. In particular, the system may generate an encrypted configuration message by encrypting the first configuration message; and distribute the encryption key to the first asset tag by broadcasting the encrypted configuration message to the first asset tag via the configuration channel, and broadcast the first configuration message to the first asset tag via the configuration channel. Further, the system may receive the first configuration message at the first asset tag via the configuration channel by decrypting the encrypted configuration message via the encryption key. Thus, the system may encrypt the configuration message to protect the configuration information sent to the asset tag and ensure the reliability of asset tag tracking.
[0041]
[0043] In another implementation, the system may move the asset tag to the configuration channel in response to the asset tag not receiving a unicast trigger during the wake window. In this implementation, a first node of a set of nodes may broadcast a second unicast trigger via the ranging channel. In this implementation, the first asset tag enters the wake mode based on a second wake window of a sequence of wake windows; in response to not receiving the second unicast trigger via the ranging channel, migrates the transceiver of the first asset tag to the configuration channel; receives a second configuration message including the system time of the set of nodes via the configuration channel; and may update the clock of the first asset tag according to the system time of the set of nodes based on the second configuration message. Thus, in response to the asset tag not receiving a unicast trigger during the wake window due to clock drift of the asset tag or the asset tag being unconfigured, the system may move the asset tag to the configuration channel. Upon receiving a configuration message with the asset tag, the system may configure the asset tag, which may include synchronizing the clock of the asset tag with the clock of the set of nodes and / or updating the response schedule of the asset tag.
[0042] 4.3 Ranging
[0044] Blocks S150, S168, S168, and S168 of method S100 are at the first node of a set of nodes and, based on the first trigger time of a sequence of trigger times, broadcast the first unicast trigger of a sequence of unicast triggers via a ranging channel; enter a wake mode based on a first wake window with a first asset tag; transmit a first ranging signal in response to receiving the first unicast trigger via the ranging channel; and enter a sleep mode in response to transmitting the first ranging signal. Generally, in blocks S150, S168, S168, and S168 of method S100, the system may trigger a node to measure the distance to an asset tag (e.g., may characterize the distance to the asset tag) by transmitting a unicast trigger from the node of the set of nodes to the first asset tag, and while the first asset tag is in the wake mode, receive the unicast trigger via the first asset tag and respond to the unicast trigger by transmitting a ranging signal. Further, the system may transmit the unicast trigger and the ranging signal via a ranging channel different from the configuration channel used for transmitting configuration messages. Thus, the system may enable the first asset tag to transmit a ranging signal via the ranging channel, and the ranging signal may be used to derive the first position of the first asset tag. Further, the system may be configured such that the first asset tag enters a wake mode (e.g., a high energy consumption mode) only when the first asset tag is attempting to receive a unicast trigger, and the first asset tag may be transitioned to a sleep mode (e.g., a low energy consumption mode) after the first asset tag transmits the first ranging signal. Thus, the system can reduce power consumption and extend the battery life of the first asset tag by configuring the first asset tag to remain in the sleep mode when the first asset tag is not transmitting or receiving signals.
[0043]
[0045] Blocks S152 and S154 of method S100 describe, in a set of nodes: receiving a first ranging signal; and deriving a first position of a first asset tag at a second time based on an instance of the first ranging signal received by the set of nodes. Generally, in blocks S152 and S154 of method S100, the system may derive a first position of the first asset tag based on an instance of the first ranging signal received by the set of nodes. For example, the system may identify a first ranging signal and / or a flight time of a unicast trigger exchanged between the first asset tag and a first node of the set of nodes. Thereafter, based on the first ranging signal and / or the flight time of the unicast trigger, the system may determine a distance between the first asset tag and the first node of the set of nodes. In this way, the system may determine distances between the first asset tag and each node of the set of nodes and, based on the distances and known positions of each node of the set of nodes, derive the position of the first asset tag. Thus, by periodically triggering ranging between the set of nodes and the first asset tag, the system may continuously track the position of the first asset tag (and the asset to which the first asset tag is attached).
[0044]
[0046] In one implementation, the first node of the set of nodes may broadcast the second unicast trigger of the unicast trigger sequence via the ranging channel based on the second trigger time of the trigger time sequence during the third period. In this implementation, the first asset tag enters the wake mode based on the second wake window of the wake window sequence; transmits a second ranging signal in response to receiving the second unicast trigger via the ranging channel; and may enter the sleep mode in response to transmitting the second ranging signal. In this implementation, the set of nodes may receive the first ranging signal and derive the second position of the first asset tag based on an instance of the second ranging signal received by the set of nodes. Thus, the system may initiate ranging by transmitting a ranging trigger at any trigger time of the trigger time sequence. Further, by periodically triggering ranging between the set of nodes and the first asset tag, the system may continuously track the position of the first asset tag (and the asset tagged with the first asset tag).
[0045]
[0047] In one implementation, the system may generate a notification indicating the positioning and / or movement of the first asset tag based on the position of the first asset tag. For example, the system may calculate the distance between the first position of the first asset tag (e.g., the position derived at the first time) and the second position (e.g., the position derived at the second time); generate a notification indicating that the asset associated with the first asset tag has been moved by a distance exceeding a threshold distance in response to the distance exceeding the threshold distance; and transmit the notification to the device of the operator of the target environment including the asset tag. Thus, the system may transmit a notification indicating that the asset tag has been moved a long distance to the operator of the target environment. Thus, the system may detect the possibility of theft of the asset tag - and related objects - from the target environment based on abnormal or non-standard movement behavior, position, or location of the asset tag; and accordingly prompt the operator of the target environment to investigate the asset tag and / or the related ones above.
[0046] 4.3.1 Sleep Mode vs Wake Mode
[0048] In one implementation, the system may be configured to cause the first asset tag to enter the sleep mode by disabling the transceiver of the first asset tag, transitioning the processor of the first asset tag to the sleep mode, and maintaining power supply from the battery of the first asset tag to the clock and the motion sensor of the first asset tag. In this implementation, the system may be configured to cause the first asset tag to enter the wake mode by enabling the transceiver of the first asset tag and transitioning the processor of the first asset tag to the active mode. Accordingly, when the first asset tag is in the sleep mode, the power consumption of the first asset tag can be reduced.
[0047]
[0049] In another implementation, the system may be configured to cause the first asset tag to enter the sleep mode by drawing power from the battery of the first asset tag at a first power consumption rate. In this implementation, the system may be configured to cause the first asset tag to enter the wake mode by drawing power from the battery of the first asset tag at a second power consumption rate that exceeds the first power consumption rate. Accordingly, by switching between the sleep mode and the wake mode, the first asset tag can operate for a longer period than an asset tag that remains in the wake mode.
[0048] 4.3.2 Ranging Channel vs Configuration Channel
[0050] In one implementation, the system may broadcast a first configuration message to a first asset tag via a configuration channel by broadcasting the first configuration message to the first asset tag via a configuration channel associated with a first frequency. In this implementation, the system may broadcast a first unicast trigger to the first asset tag via a ranging channel by broadcasting the first unicast trigger to the first asset tag via a ranging channel associated with a second frequency range excluding the first frequency. In another example, the system may receive a first configuration message at a first frequency (e.g., a first radio frequency) associated with the configuration channel and transmit a first ranging signal at a second frequency (e.g., a second radio frequency) within a second frequency range excluding the first frequency. Thus, the system may define different frequencies for the configuration channel and the ranging channel to avoid interference between the configuration message and the ranging signal.
[0049] 4.4 Motion Triggered Ranging
[0051] Blocks S160, S162, and S166 of method S100 describe, at a first asset tag, in response to receiving a motion sensor signal from a motion sensor of the first asset tag: entering a wake mode during a period of a second wake window; and transmitting a first ranging signal via a ranging channel during the second wake window. Further, block S168 of method S100 describes, at the first asset tag, entering a sleep mode in response to transmitting the first ranging signal. Generally, in blocks S160, S162, S166, and S168, the system may temporarily enter the wake mode to transmit a ranging signal in response to receiving a signal from the motion sensor at the first asset tag. Thus, the system may initiate ranging of the first asset tag in response to movement of the first asset tag.
[0050]
[0052] Further, in this implementation, the system may start ranging in response to both receiving a motion sensor signal and receiving a unicast trigger from a node in a set of nodes. In particular, in this implementation, the system may broadcast a first unicast trigger via a ranging channel at a first node in the set of nodes before receiving the motion sensor signal. In this implementation, the system may further enter a wake mode during a first wake window with a first asset tag, transmit a second ranging signal via the ranging channel in response to receiving the first unicast trigger via the ranging channel, and enter a sleep mode in response to transmitting the second ranging signal.
[0051] 5. Multicast Communication Protocol
[0053] Generally, method S100 is executed by a system including a set of nodes (e.g., a mesh network of asset tag readers, a network of base stations, a network of asset tag readers communicatively coupled to a controller) and a set of asset tags to identify the position of each asset tag in the set of asset tags in a target environment (e.g., a warehouse), divide the set of asset tags into groups of asset tags based on the positions of the asset tags, generate a response schedule that facilitates the exchange of multicast triggers and ranging signals between the set of nodes and each asset tag in the group of asset tags for each group of asset tags, configure each asset tag in the group of asset tags to conform to the response schedule, transmit a ranging signal from each asset tag in the group of asset tags in response to receiving a multicast trigger in the group of asset tags, and derive the position of each asset tag in the group of asset tags in the target environment based on the ranging signals received by the set of nodes.
[0052] 5.1 Unicast Setup Period: Identifying Asset Tag Location in Target Environment
[0054] Blocks S102 and S104 of method S100 describe, during a first period and in a set of nodes: broadcasting a unicast query to a set of asset tags; and receiving a first set of unicast responses from the set of asset tags. Further, block S106 describes calculating a first set of positions of the set of asset tags based on the first set of unicast responses during the first period. Generally, in blocks S102, S104, and S106, the system may determine the positions of the asset tags in the set of asset tags. For example, the set of nodes may send a unicast query to a first asset tag in the set of asset tags. After the unicast response from the first asset tag is received by a subset of the nodes, the system may determine the position of the first asset tag by trilateration in the set of nodes. Thereafter, the set of nodes may send a second unicast query to a second asset tag in the set of asset tags and derive the position of the second asset tag based on the unicast response from the second asset tag. By repeating this process for each asset tag in the set of asset tags, the system may obtain a first set of positions of the set of assets. Thus, the system may determine the initial position of each asset tag in the set of asset tags in the target environment.
[0053]
[0055] In one implementation, the system may receive a set of unicast queries from a set of nodes with a first asset tag and send unicast responses of a set of unicast responses to the set of nodes. In this implementation, the system may further calculate a second position of the first asset tag based on a first set of unicast responses at the set of nodes; and assign the first asset tag to a first asset tag group based on the second position. Thus, the set of nodes may send unicast queries to a set of asset tags and receive unicast responses to the queries from the set of asset tags. Thereafter, based on the unicast responses, the system may determine the positions of each asset tag in the set of asset tags. The system may then implement these positions to divide the set of asset tags into a set of asset tag groups.
[0054]
[0056] In one variation, the system may set a set of asset tags in a target environment for subsequent grouping and tracking based on communication with a set of nodes during a set period (e.g., identify an initial position of the set of asset tags). More specifically, the system may trigger the set of asset tags to respond to the set of nodes based on a set of queries directed to each asset tag upon deployment of the asset tags to the target environment, and detect an initial position of each asset tag within the target environment.
[0055]
[0057] In one implementation, the system may identify (e.g., triangulate) the location of the asset tags based on a set of response signals (e.g., test queries) received by a set of nodes that communicate with the set of asset tags during a set period. Specifically, a node of the set of nodes may broadcast a query (e.g., a packet of data) to the asset tags of the set of asset tags via a unicast communication protocol. In one implementation, the system may identify the node that is closest in distance to the set of asset tags from the set of nodes that broadcast the query. In response to receiving the query, the asset tag may return the test query to the node to record the test query. For example, at the first hour, with the set of nodes, the system may: broadcast a unicast query to the set of asset tags; at each asset tag of the set of asset tags, return a set of test queries to the set of nodes; at the set of nodes, record the set of test queries; and at the controller, calculate the location of the set of asset tags based on the set of test queries received by the set of nodes. Thus, the system may calculate the initial location of each asset tag of the set of asset tags deployed throughout the target environment in order to subsequently track and detect the movement of the asset tags within the target environment based on the responses or test queries received from the asset tags.
[0056] 5.2 Assignment of Asset Tag Groups
[0058] Block S110 of method S100 describes the step of dividing a set of asset tags into a set of asset tag groups (e.g., based on the proximity of a first set of positions of the set of asset tags). Generally, in block S110, the system may assign each asset tag of the set of asset tags to an asset tag group of the set of asset tag groups. For example, the system may assign asset tags that are within a threshold distance of adjacent asset tags to a first asset tag group. Thus, the system may divide the set of asset tags into a set of asset tag groups. Further, instead of communicating individually with each asset tag of the asset tag group via a unicast communication mode (e.g., unicast ranging), the set of nodes may communicate simultaneously with all asset tags of the asset tag group via a multicast communication mode (e.g., multicast ranging). By adopting a multicast communication mode instead of a unicast communication mode, the system may monitor the positions of a large set of asset tags (e.g., a set of more than 265 asset tags).
[0057]
[0059] In one implementation, the controller may cluster a set of asset tags into asset tag groups based on criteria such as a threshold distance between adjacent asset tags (e.g., within 20 meters), a priority score, an entity type (e.g., item type, crate for packing items), a movement frequency (e.g., the asset tag moves during 75% of a period), a threshold asset tag group capacity (e.g., 20 asset tags per group), a threshold size of a geographic area (e.g., an area of 5 meters × 5 meters per group), etc. In one variation, the controller may cluster the asset tags of a set of asset tags into groups based on the threshold distance between the asset tags. For example, at a first time, the controller may define a set of asset tag groups based on the proximity of the positions of the set of asset tags. In one variation, the controller may cluster the asset tags into asset tag groups based on a clustering technique (e.g., a connectivity model, a density model, a feature space). More specifically, the controller may map a set of asset tags into a multivariate feature space based on a set of criteria and cluster the asset tags into asset tag groups in response to identifying clusters of asset tags that exhibit similar characteristics. For example, at a first time, the controller may define a set of asset tag groups based on a clustering technique and a set of criteria. Thus, instead of tracking a large number (e.g., 100, 1000) of individual asset tags via individual unicast triggers, the system may integrate the asset tags into groups based on similar criteria and synchronous communication, reducing the latency between the identified asset tags and thereby increasing the tracking frequency of the set of asset tags.
[0058]
[0060] In one implementation, the system may divide a set of asset tags into a set of asset tag groups based on a first set of positions of the set of asset tags, and the division may be performed by: identifying a first asset tag group of the set of asset tags and a first subset of positions of the first asset tag group within a threshold distance of a first node of the set of nodes in the first set of positions; and identifying a second asset tag group of the set of asset tags and a second subset of positions of the second asset tag group within a threshold distance of a second node of the set of nodes in the first set of positions. Thus, the system may divide the set of asset tags into two asset tag groups based on the proximity of the asset tags of each of those two groups to two nodes of the set of nodes. In particular, the asset tags of the first asset tag group are arranged within a threshold distance of the first node of the set of nodes, and the asset tags of the second asset tag group are arranged within a threshold distance of the second node of the set of nodes.
[0059]
[0061] In another implementation, the system may identify a first asset tag group that defines a first priority level of the set of asset tags by identifying the first asset tag group of the set of asset tags based on a high priority level of the merchandise tracked by the first asset tag group. In this implementation, the system may identify a second asset tag group that defines a second priority level of the set of asset tags by identifying a second asset tag group of the set of asset tags based on a low priority level of the merchandise tracked by the second asset tag group. Thus, the system may divide the set of asset tags into asset tag groups based on the priority levels of the merchandise tracked by the asset tags of the set of asset tags. For example, the system may include asset tags that track high-priority merchandise in the first asset tag group and may include asset tags that track low-priority merchandise in the second asset tag group.
[0060]
[0062] In another implementation, the system may identify a first asset tag group of a set of asset tags by identifying a first subset of positions of a first set of positions corresponding to a first asset tag group located within a high priority area, thereby defining a first priority level of the set of asset tags. In this implementation, the system may identify a second asset tag group of the set of asset tags by identifying a second subset of positions of the first set of positions corresponding to a second asset tag group located within a low priority area, and each asset tag of the first asset tag group defines a second priority level lower than the first priority level. Thus, the system may divide the set of asset tags into asset tag groups based on the priority level of the area of the target environment where the asset tags are located. For example, the system may include asset tags located in a high priority area in a first asset tag group and include asset tags located in a low priority area in a second asset tag group.
[0061]
[0063] In yet another implementation, the system may assign a unique identifier to each asset tag group to distinguish the asset tag groups among the set of asset tags. Specifically, the controller may generate a unique identifier based on a set of characteristics that describe the asset tag group, such as the number of asset tags (5, 20, 100), the type of entity (cosmetics, food, clothing), the priority metric (high priority, low priority), etc. For example, the controller may generate a unique identifier for a first asset tag group based on a set of characteristics associated with the asset tags of the asset tag group and assign that unique identifier to the first asset tag group. Thus, the system may monitor the asset tags based on the unique identifier and distinguish the asset tag groups deployed in the target environment.
[0062] 5.3 Scheduling of Ranging Triggers
[0064] Block S120 of method S100 describes the step of generating a first response schedule for a first asset tag group of a set of asset tag groups, where the first response schedule includes: a first multicast trigger time for transmitting a first multicast trigger; for each asset tag of the first asset tag group, a first transmission time unique to the asset tag after receiving the first multicast trigger; and a first wake window that intersects the first multicast trigger time, and a second wake window that intersects the first transmission time. Generally, in block S120, the system defines the time when a multicast ranging trigger can be transmitted from a node of a set of nodes to the first asset tag group, and generates a first response schedule that defines the wake windows at which each asset tag of the first asset tag group can enter the wake mode, receive the multicast trigger, and transmit a ranging signal. The first response schedule allows each asset tag of the first asset tag group to enter the wake mode (e.g., high power consumption mode) only when the asset tag is communicating with a set of nodes. Thus, each asset tag of the first asset tag group may remain in the low power consumption sleep mode when the first asset tag is not communicating with a set of nodes. Therefore, by generating the first response schedule, the system can extend the battery life of the asset tags of the first asset tag group.
[0063]
[0065] Generally, the system may define a response schedule for a particular asset tag group. In one implementation, the controller defines a response schedule including a multicast trigger time that identifies the time associated with the transmission of a multicast trigger signal from the node to the asset tag group, a wake window that characterizes a target period until the asset tags of the asset tag group transition from a "sleep" operating state to a "wake" operating state and receive the multicast trigger signal, and a set of elapsed times that identify target timestamps for each asset tag of the asset tag group to transmit a response (e.g., a ranging signal) to a set of nodes. The controller may then transmit the schedule to the set of nodes for subsequent transmission of trigger signals to the asset tags based on the schedule. For example, at a first time, for a first asset tag group of a set of asset tag groups, the system may define a response schedule including a multicast trigger time, a wake window that intersects the multicast trigger time, and a set of transmission times, where each transmission time of the set of transmission times is unique to one asset tag of the asset tag group; and transmit the response schedule to the set of nodes. Thus, the system reduces the power consumption of the asset tags by synchronizing communication with the nodes during the wake window and maintaining the asset tags in a sleep mode (low power mode) when the asset tags are not scheduled to communicate (e.g., transmit a ranging signal to the nodes).
[0064]
[0066] In one modification, the controller may define a plurality of response schedules for the asset tag group. For example, the controller: defines a first response schedule for a first subset of the asset tags of the asset tag group, the first response schedule including a first multicast trigger time, a first wake window intersecting the first multicast trigger time, and a first set of transmission times after receipt of the trigger, each transmission time of the first set of transmission times being unique to one asset tag of the first subset of the asset tags of the asset tag group; defines a second response schedule for a second subset of the asset tags of the asset tag group different from the first subset, the second response schedule including a second multicast trigger time, a second wake window intersecting the second multicast trigger time, and a second set of transmission times after receipt of the trigger, each transmission time of the second set of transmission times being unique to one asset tag of the second subset of the asset tags of the asset tag group; and may transmit the first response schedule and the second response schedule to a set of nodes.
[0065]
[0067] In one implementation, the system may identify a first asset tag group associated with a first priority level in a set of asset tags. In this implementation, the system may identify a second asset tag group of the set of asset tags, where the second asset tag group is associated with a second priority level lower than the first priority level. The system may define a first response schedule for the first asset tag group, where the first response schedule includes a first set of multicast trigger times separated by a first time interval. The system may define a second response schedule for the second asset tag group, where the second response schedule includes a second set of multicast trigger times separated by a second time interval longer than the first time interval. In this implementation, the system may generate different response schedules for different asset tag groups. In particular, the system may generate a first response schedule for a first asset tag group associated with high-priority tags and a second response schedule for a second asset tag group associated with low-priority tags. In one example, the system may define a shorter time interval that divides the multicast trigger of the first response schedule and a longer time interval that divides the multicast trigger of the second response schedule. Thus, the set of nodes may send multicast triggers to high-priority asset tags at a higher frequency (e.g., shorter time intervals) than to low-priority tags.
[0066] 5.3.1 Time-based Scheduling of Ranging Signals
[0068] In one variation, the system may generate a first response schedule for the first asset tag group, and the first response schedule includes: a first multicast trigger time for transmitting a first multicast trigger to the first asset tag group; for each asset tag in the first asset tag group, a first wake window that intersects the first multicast trigger, a transmission time unique to the asset tag after receiving the first multicast trigger, and a second wake window that intersects the transmission time. In this implementation, the system may schedule the transmission of the ranging signals of each asset tag in the first asset tag group at a time unique to each asset tag in the first asset tag group, thereby ensuring that the ranging signals from each asset tag in the asset tag group do not interfere. Specifically, in response to the first asset tag group receiving a multicast trigger: the first asset tag may transmit a first ranging signal at a first time; the second asset tag may transmit a second ranging signal at a second time after the first time; the third asset tag may transmit a third ranging signal at a third time after the second time. The system may repeat this process for other tags in the first asset tag group. Therefore, the system may transmit ranging signals from each asset tag in the first asset tag group to the set of nodes without interference of the ranging signals. In this implementation, some asset tags in the asset tag group may enter the wake window twice, once for receiving the multicast trigger at the first time and once for transmitting the ranging signal at the second time. For example, the first asset tag in the first asset tag group may enter the wake mode at the first time; receive the first multicast trigger; and enter the sleep mode based on a response schedule indicating that the period until the second wake window exceeds a threshold period. In this example, the first asset tag in the first asset tag group may enter the wake mode at the second time; transmit the first ranging signal; and enter the sleep mode in response to transmitting the first ranging signal. However, in this implementation, some asset tags in the first asset tag group may enter the wake mode only once to perform both receiving the multicast trigger and transmitting the ranging signal.For example, the second asset tag of the first asset tag group may enter the wake mode at the first time; transmit a second ranging signal in response to the first wake window of the second asset tag overlapping with the second wake window of the second asset tag; and enter the sleep mode in response to the transmission of the second ranging signal.
[0067] 5.3.2 Frequency-based Scheduling of Ranging Signals
[0069] In one implementation, the system may generate a first response schedule for the first asset tag group of a set of asset tag groups, and the first response schedule includes: a first set of multicast trigger times for the transmission of a first set of multicast triggers; for each asset tag of the first asset tag group, a first set of wake windows, where each wake window of the first set of wake windows intersects the multicast trigger time of the first set of multicast trigger times, and defines a first transmission frequency for the ranging signal that is unique to the asset tag. In this implementation, the system schedules the transmission of ranging signals from each asset tag of the first asset tag group at a frequency (e.g., radio frequency) that is unique to each asset tag of the first asset tag group, thereby preventing interference of the ranging signals transmitted by the asset tags of the first asset tag group. Specifically, in response to the first asset tag group receiving a multicast trigger: the first asset tag may transmit a first ranging signal at a first frequency; the second asset tag may transmit a second ranging signal at a second frequency; the third asset tag may transmit a third ranging signal at a third frequency. The system may repeat this process for each asset tag of the first asset tag group. Thus, the set of nodes may receive ranging signals from each asset tag of the first asset tag group at different frequencies (e.g., radio frequencies) without interference of the ranging signals.
[0068] 5.3.3 Scheduling of Continuous Time and Frequency-based Ranging Signals
[0070] In one implementation, the system may generate a first response schedule that defines a first set of multi-cast trigger times for transmitting a first set of multi-cast triggers for a first asset tag group of a set of asset tag groups. The first response schedule, for each asset tag in the first asset tag group: a set of pairs of transmission times and frequencies, including a set of transmission times and a set of pairs of frequencies specific to the asset tag at each transmission time in the set of transmission times; and a first set of wake windows, where each wake window in the first set of wake windows intersects with the multi-cast trigger times in the first set of multi-cast trigger times and the transmission times in the set of pairs of transmission times and frequencies. In this implementation, after receiving the multi-cast trigger, the system may schedule the transmission of ranging signals from each asset tag in the first asset tag group multiple times and at frequencies specific to each asset tag in the first asset tag group, ensuring that the ranging signals from each asset tag in the first asset tag group do not interfere. In one example, the sample asset tag group includes three asset tags. In this example, at the first time after receiving the multi-cast trigger by the sample asset tag group: the first asset tag may transmit a first ranging signal at a first frequency; the second asset tag may transmit a second ranging signal at a second frequency; the third asset tag may transmit a third ranging signal at a third frequency. In this example, at the second time following the first time: the first asset tag may transmit a fourth ranging signal at the second frequency; the second asset tag may transmit a fifth ranging signal at the third frequency; the third asset tag may transmit a sixth ranging signal at the first frequency. At the third time following the second time, the first asset tag may transmit a seventh ranging signal at the third frequency; the second asset tag may transmit an eighth ranging signal at the first frequency; the third asset tag may transmit a ninth ranging signal at the second frequency. Thus, the system may transmit ranging signals from each asset tag in the first asset tag group to a set of nodes without interference of the ranging signals.Furthermore, after receiving the multicast trigger, the system may achieve a higher sampling rate of the ranging signals by scheduling multiple ranging signal transmissions (e.g., transmissions from the first asset tag, the second asset tag, the third asset tag) at respective unique frequencies.
[0069] 5.4 Asset Tag Configuration
[0071] Block S130 of method S100 describes the step of broadcasting a first configuration message to a first asset tag group via a configuration channel at a first node of a set of nodes. Blocks S140, S142, and S144 describe, at a first asset tag of the first asset tag group, the steps of changing the receiving frequency of a transceiver to a frequency associated with the configuration channel in response to there being no configuration data; receiving the first configuration message via the configuration channel; and configuring the first asset tag based on the first configuration message. Block S146 describes the step of entering a sleep mode based on a first response schedule indicating that a period until a first wake window exceeds a threshold period. Generally, in blocks S130, S140, S142, and S144, the system may transmit a configuration message including a group identifier of the first asset tag group, an asset tag identifier of each asset tag of the first asset tag group, and a first response schedule for the first asset tag group. Further, in blocks S130, S140, S142, and S144, the system may receive a configuration message via the configuration channel via the first asset tag and configure each asset tag of the first asset tag group based on the configuration message. For example, the system may synchronize the clock of the asset tag to the system time of the set of nodes; assign an asset tag ID and a group ID to the asset tag; and configure each asset tag of the first asset tag group by adopting a first response schedule at the asset tag. Thus, after configuration, each asset tag of the first asset tag group may receive a multicast trigger from the set of nodes and transmit a ranging signal to the set of nodes according to the first response schedule.
[0070]
[0072] In one implementation, the system may receive a first configuration message via a configuration channel by accessing a first response schedule of the first configuration message, accessing an asset tag identifier of the first configuration message, and accessing a group identifier of the first configuration message. In this implementation, the system may configure a first asset tag to transition between a sleep mode and a wake mode according to the first response schedule in response to the asset tag identifier of the configuration message matching the asset tag identifier of the first asset tag and the group identifier of the configuration message matching the group identifier of the first asset tag group, thereby configuring the first asset tag based on the first configuration message. Thus, the system may confirm that the configuration message is scheduled for the first asset tag of the first asset tag group based on the asset tag identifier and the group identifier included in the configuration message. Further, after verifying the asset tag identifier and the group identifier, the system may configure the first asset tag to conform to the first response schedule.
[0071] 5.5 Ranging
[0073] Blocks S150, S152, and S154 of method S100 describe, in a set of nodes: broadcasting a first multicast trigger at a first multicast trigger time defined by a first response schedule; receiving a first set of ranging signals from a first asset tag group in response to the first multicast trigger; and deriving a first set of positions of the first asset tag group based on the first set of ranging signals in response to receiving the first set of ranging signals from the first asset tag group. Generally, in blocks S150, S152, and S154, the system may trigger each asset tag of the first asset tag group to transmit a ranging signal and calculate the position of each asset tag of the first asset tag group based on the set of ranging signals received by the set of nodes. In particular, the system may first calculate a set of distances between each asset tag of the first asset tag group and a subset of nodes of the set of nodes (e.g., based on the flight time of the ranging signal) and derive a first set of positions of the first asset tag group based on the set of distances. Thus, the system may derive positions among the set of positions of each asset tag of the asset tag group.
[0072]
[0074] In one implementation, the system may send a trigger signal to the asset tags of the asset tag group to elicit a response from each asset tag. More specifically, the nodes of the set of nodes may send a multicast trigger signal to each asset tag of the asset tag group to trigger a response that is returned to the nodes via a ranging signal. For example, at a second time, a first node of the set of nodes may broadcast a multicast trigger to each asset tag of the first asset tag group at a multicast trigger time defined by a response schedule. Thus, the multicast trigger may induce communication and response from the asset tag group to identify the positions of the responding asset tags of the asset tag group and detect non-responding asset tags.
[0073]
[0075] Furthermore, the system may receive responses from each tag of the asset tag group and identify the position of each asset tag based on the ranging signals associated with the responses. In one implementation, a set of nodes may receive a set of responses (e.g., ranging signals) from the asset tag group. For example, at a second time, the set of nodes may: receive a first set of ranging signals from a first asset tag group; and at the controller, derive the positions of the asset tags based on the first set of ranging signals. Thus, the system may identify the positions of each asset tag of the asset tag group based on the ranging signals received by the set of nodes.
[0074]
[0076] In one implementation, a first node of the set of nodes may broadcast a first multicast trigger via a ranging channel during a first wake window. A first asset tag of the first asset tag group may enter the wake mode during the first wake window, receive the first multicast trigger via the ranging channel; and enter the sleep mode based on a first response schedule indicating that the period until the second wake window exceeds a threshold period. In this implementation, the first asset tag of the first asset tag group may enter the wake mode during the second wake window; transmit a first ranging signal via the ranging channel; and enter the sleep mode in response to transmitting the first ranging signal. The set of nodes may further receive a first set of ranging signals from the first asset tag group during the second wake window; and derive a first set of positions of the first asset tag group based on the first set of ranging signals. Thus, the system may be activated twice and transmit the ranging signals with a delay.
[0075]
[0077] In one variation, the set of nodes may receive a set of ranging signals from a subset of the asset tags of the asset tag group. For example, at a second time, the set of nodes may receive a first set of ranging signals from a first subset of the asset tags of the first asset tag group, and the controller may derive the positions of the first subset of asset tags based on the first set of ranging signals. Thus, the system may detect the absence of ranging signals from a subset of the asset tags of a particular asset tag group due to an asset tag communication error and may recover the ranging signals not received from the subset of asset tags.
[0076]
[0078] In one implementation, the system: derives a set of positions of a first asset tag group based on a first set of ranging signals received from the first asset tag group; inputs a second set of positions of a first asset tag subgroup into a digital map of the target environment; and may render that digital map on a display of an operator's device in the target environment. Thus, the system may generate a visual representation of the positions of the asset tags derived based on the ranging signals received from the asset tags. For example, the system may generate a digital map of the first asset tag group in the target environment. Further, the system may update the visual representation of the positions of the asset tags each time a ranging trigger is received from an asset tag. For example, the system may update the map of the target environment to show how the asset tags of the first asset tag group have moved over time.
[0077] 5.6 Deployment and Assignment of New Tags
[0079] In one implementation, when a new asset tag is deployed to a target environment, the system may predict the new asset tag based on group criteria (e.g., target environment, target movement scheme, target entity) and dynamically assign the new asset tag to an existing group. For example, at a first time, the controller may: identify a new asset tag that includes a set of target characteristics; predict an asset tag group for the new asset tag based on the set of target characteristics; and assign the new asset tag to a first asset tag group.
[0078]
[0080] In one modification, during the first hour, the controller may define a configuration message that characterizes: an asset tag group identifier (e.g., group_id), and a vector of asset tag identifiers corresponding to the asset tags of the asset tag group (e.g., tag_ids). In this modification, the vector of asset tag identifiers may define the order of the asset tags corresponding to the chronological order of the trigger responses. Thus, the index of the asset tag identifier in the vector defines the trigger response order for the asset tag group. In this modification, the controller may send the configuration message to a set of asset tags (e.g., an asset tag group) in the target environment. Each asset tag may then identify the asset tag identifier associated with the asset tag in the vector of asset tag identifiers. In response to identifying the asset tag identifier in the vector of asset tag identifiers, the new asset tag may be integrated into the asset tag group based on the asset tag group identifier. Thereafter, the system may send a response schedule for the asset tag group to a set of nodes for subsequent localization and ranging of the asset tag group. Thus, the system may integrate new asset tags deployed in the target environment by assigning new asset tags to the asset tag group based on group characteristics and target behavior. In one implementation, the system may broadcast the configuration message to a set of target asset tags (e.g., expected asset tags). For example, if the configuration message is broadcast, a set of expected tags that are expected to be configured may receive the configuration message.
[0079] 5.7 Re-grouping of Tags
[0081] Blocks S170 and S172 of method S100 identify the first asset tag of the first asset tag group based on the first position of the second set of positions of the first asset tag; and in response to identifying the first asset tag, update the first response schedule to exclude the first asset tag from the first asset tag group. Generally, in blocks S170 and S172, the system may identify the asset tags to be reassigned from the first asset tag group to a new asset tag group and exclude the identified asset tags from the first asset tag group. In one example, the system may identify the first asset tag for reassignment from the first asset tag group based on the movement frequency of the first asset tag exceeding the average movement frequency of the asset tags in the first asset tag group. Generally, the system may reassign the first asset tag to an existing asset tag group having one or more asset tags or to a new asset tag group where the first asset tag is a single asset tag. In response to reassigning the first asset tag to a new asset tag group when the first asset tag is a single asset tag, the system may send a unicast trigger to the new asset tag group. By regrouping asset tags based on the currently derived positions, the system may prioritize the monitoring of certain tags over others.
[0080]
[0082] For example, products in the first area of a warehouse may be more likely to be stolen than products in the second area of the warehouse. Accordingly, the system may assign the asset tags of the first area to the first asset tag group and the asset tags of the second area to the second asset tag group. The system may send multicast triggers to the first asset tag group more frequently than to the second asset tag group. Accordingly, the system may prioritize the asset tags of the first area by grouping the asset tags of the first area into the first asset tag group.
[0081]
[0083] In one implementation, the system may delete an asset tag from an asset tag group and assign the tag to a different asset tag group in response to receiving a ranging signal from the asset tag based on a recovery schedule. More specifically, the controller may detect that an asset tag has moved away from a subset of the asset tags of an asset tag group by a distance that exceeds a threshold distance (e.g., 20 meters) for the asset tag group, based on location. For example, the controller may: derive a first location of a first asset tag based on a first ranging signal; delete the first asset tag from the first asset tag group in response to the first location exceeding a threshold distance from a target distance range for the first asset tag group; assign the first asset tag to a second asset tag group; assign a unique identifier associated with the second asset tag group to the first asset tag; and send a second response schedule to the first asset tag associated with the second asset tag group. Thus, the system may reassign an asset tag to another asset tag group based on proximity to asset tags in other asset tag groups.
[0082]
[0084] In one implementation, the system may identify a first asset tag of a first asset tag group (e.g., a first asset tag to be regrouped) based on a first position of the asset tag (e.g., the current position). For example, the system may calculate a distance between the first position of the first asset tag and a reference position of the first asset tag group. In this example, the reference position defines an area associated with the asset tag group such that each asset tag of the first asset tag group is disposed within a threshold distance of the reference position. In response to the first distance between the position of the first asset tag and the reference position exceeding the threshold distance, the system may detect that the first asset tag is outside the area occupied by the first asset tag group. Accordingly, the system may identify an asset tag disposed outside the area associated with the asset tag group of the asset tag. In response to identifying an asset tag disposed outside the area associated with the asset tag group, the system may reassign the asset tag to a new group.
[0083]
[0085] In one implementation, the system: identifies a first distance between a current position of an asset tag (e.g., a position derived at a first time) and a previous position of the asset tag (e.g., a position derived at a second time prior to the first time), the first distance representing the distance the first asset tag has moved during a first period between the second time and the first time; calculates a speed of the first asset tag in a target environment based on the first distance and the first period; and in response to the speed of the first asset tag exceeding a target speed of an asset tag in the target environment, may identify a first asset tag to be reassigned from a first asset tag group. Accordingly, the system may reassign an asset tag to a new group in response to the asset tag exhibiting abnormal behavior such as an abnormally high speed. The system may reassign an asset tag exhibiting abnormal behavior to a new group to more tightly track the asset tag and prevent the possibility of theft of the asset tag and associated objects.
[0084]
[0086] In one implementation, the system may receive a first ranging signal from a second asset tag of a first asset tag group at a first time. In this implementation, in response to the first time not intersecting any of the wake windows of the first set of wake windows, the system may update a first response schedule to exclude the second asset tag from the first asset tag group and generate a third response schedule for the second asset tag. In this implementation, the system excludes the second asset tag from the first asset tag group in response to receiving a ranging signal from the second asset tag, and the ranging signal does not follow a trigger (e.g., does not respond to a trigger). Generally, an asset tag may transmit a ranging signal that does not follow a trigger in response to the asset tag receiving a motion sensor signal. Thus, the system may exclude an asset tag from the first asset tag group and reassign the asset tag to a new group in response to the asset tag receiving a motion sensor signal.
[0085]
[0087] In one implementation, the system generates a second response schedule that defines a third set of multicast triggers for a second asset tag group of a set of asset tag groups at a first time; and may generate a first response schedule that defines a first set of multicast triggers for a first asset tag group of the set of asset tag groups. In this implementation, the system defines a first asset tag group based on proximity to a first node of a set of nodes and defines a second asset tag group based on proximity to a second node of the set of nodes. In this implementation, at a second time, the set of nodes broadcasts a third multicast trigger of the third set of multicast triggers; receives a second set of ranging signals from a second asset tag group in response to the third multicast trigger; derives a third set of positions of the second asset tag group based on the second set of ranging signals; and updates the first response schedule and the second response schedule in response to the second asset tag being located closer to the first node than the second node, to exclude the second asset tag from the second asset tag group and include the second asset tag in the first asset tag group. Thus, the system may reassign the second asset tag from the second asset tag group to the first asset tag group in response to the second asset tag being located closer to the first node that defines an anchor for the first asset tag group than to the second node that defines an anchor for the second asset tag group.
[0086] 6. Examples
[0088] In one embodiment of method S100, due to a clock error of the first asset tag that keeps the first asset tag in sleep mode when a trigger is sent, the asset tag may not receive a trigger (e.g., a unicast trigger, a multicast trigger). In another embodiment of method S100, due to scattering and / or interference of the trigger signal by an object in the target environment, the asset tag may not receive a trigger (e.g., a unicast trigger, a multicast trigger). In another embodiment of method S100, one or more nodes of a set of nodes may not receive a ranging signal transmitted by an asset tag at a signal-to-noise ratio high enough to decode the asset tag identifier information included in the ranging signal.
[0087] 6.1 Specific Example: Subset of Nodes with Poor Reception
[0089] Generally, a particular node of a set of nodes may receive a ranging signal with a low signal strength (e.g., due to interference), while other nodes of the set of nodes may receive a ranging signal with a high signal strength (e.g., due to being close to the asset tag). A node that receives a ranging signal having a signal strength below a signal strength threshold may not be able to decode information such as the asset tag identifier included in the ranging signal (e.g., due to a low signal-to-noise ratio of the ranging signal). These nodes may only derive the arrival time of the ranging signal. However, a node that receives a ranging signal having a signal strength exceeding the signal strength threshold may be able to decode information such as the asset tag identifier included in the ranging signal. When a ranging signal is received, all nodes of the set of nodes that received an instance of the ranging signal may transmit the information decoded and derived from the ranging signal to other nodes of the set of nodes. Thus, a node that cannot decode the asset tag identifier of the ranging signal may access this information by communicating with other nodes of the set of nodes.
[0088]
[0090] In one implementation, the first node of the set of nodes may broadcast a first multicast trigger at a first multicast trigger time of a first set of multicast trigger times defined by a first response schedule, receive a first set of ranging signals (e.g., signals whose signal strength exceeds a first signal strength threshold) from a first asset tag subgroup of a first asset tag group, and transmit a first set of asset tag data of the first asset tag subgroup to the set of nodes. In this implementation, the second node of the set of nodes may receive a second set of ranging signals (e.g., signals whose signal strength exceeds a first signal strength threshold) from a second asset tag subgroup of the first asset tag group and transmit a second set of asset tag data of the second asset tag subgroup to the set of nodes. Further, the system may derive a second set of positions of the first asset tag group based on the first set of asset tag data and the second set of asset tag data. Thus, the first node may receive a signal having a signal strength exceeding a threshold signal strength from a portion of the asset tags of the first asset tag group. Further, the second node may receive a signal having a signal strength exceeding a threshold signal strength, which is a ranging signal from another portion of the asset tags of the first asset tag group. In response to receiving a signal whose signal strength exceeds a threshold signal strength, the first node and the second node may decode information (e.g., asset tag identifier, asset tag group identifier) included in the received ranging signal and transmit this information to the set of nodes. Thus, even if some nodes do not receive ranging signals from a subset of the asset tags of the first asset tag group (or receive these ranging signals at a low signal strength), the system may access information (e.g., asset tag identifier, asset tag group identifier) included in these ranging signals, and due to other nodes in the set of nodes receiving these ranging signals at a high signal strength and transmitting that information to the set of nodes, may derive the positions of the asset tags of the subset of the asset tags.
[0089]
[0091] In particular, when a ranging signal with a signal strength exceeding a signal strength threshold is received, each node in the set of nodes may derive the asset tag identifier and group identifier included in the signal and record the arrival time of the signal. Subsequently, each node in the set of nodes may send this information to other nodes in the set of nodes. For example, for each ranging signal in the first set of ranging signals, the first node in the set of nodes may: decode the first asset tag identifier and the first group identifier included in the ranging signal; record the first arrival time of the ranging signal; and send the first asset tag identifier, the first group identifier, and the first arrival time to the first set of asset tag data. In this example, for each ranging signal in the second set of ranging signals, the second node in the set of nodes may: decode the second asset tag identifier and the second group identifier included in the ranging signal; record the second arrival time of the ranging signal; and send the second asset tag identifier, the second group identifier, and the second arrival time to the first set of asset tag data.
[0090]
[0092] In one implementation, two nodes may receive the same ranging signal with different signal strengths. In particular, one node may receive a ranging signal having a signal strength below a signal strength threshold, while another node may receive a ranging signal having a signal strength above the signal strength threshold. The node that receives a ranging signal having a signal strength above the signal strength threshold may decode the asset tag identifier and group identifier associated with the ranging signal, while the node that receives a ranging signal having a signal strength below the signal strength threshold can only determine the arrival time of the ranging signal (and derive the time of flight). Thus, in this example, even if one node receives a ranging signal with a low signal strength (or a low signal-to-noise ratio), as long as another node receives the ranging signal with a high signal strength, the system can access the information associated with the ranging signal. For example, a third node of a set of nodes receives a first ranging signal from a first asset tag having a first signal-to-noise ratio below a signal-to-noise ratio threshold; in response to receiving the first ranging signal having a first signal-to-noise ratio below the signal-to-noise ratio threshold, the third node may transmit the first arrival time of the ranging signal to the set of nodes. In this example, a fourth node (e.g., another node) of the set of nodes receives the first ranging signal from the first asset tag having a second signal-to-noise ratio above the signal-to-noise ratio threshold; and in response to receiving the first ranging signal having a second signal-to-noise ratio above the signal-to-noise ratio threshold, the fourth node may transmit the asset tag identifier, the group identifier, and the second arrival time of the first asset tag to the set of nodes. Thereafter, the system may derive the first position of the first asset tag based on the asset tag identifier, the group identifier, the first arrival time, and the second arrival time of the first asset tag.
[0091] 6.2 Specific Example: Asset Tag Fails to Transmit Ranging Signal
[0093] In one implementation, the first node of the set of nodes may broadcast a first multicast trigger at a first multicast trigger time defined by a first response schedule during a second period. In this implementation, the set of nodes: receives a first set of ranging signals from a first asset tag subgroup of a first asset tag group that responds to the first multicast trigger; in response to identifying a first asset tag that is included in the first asset tag group and excluded from the first asset tag subgroup based on the first set of ranging signals, generates a recovery schedule for the first asset tag that defines a sequence of unicast trigger times for transmitting a sequence of unicast triggers to the first asset tag; at the first node of the set of nodes, broadcasts the sequence of unicast triggers at the sequence of unicast trigger times according to the recovery schedule; and at the set of nodes, may derive a first position of the first asset tag based on the first ranging signal in response to receiving the first ranging signal from the first asset tag. Thus, in response to not receiving a ranging signal from a first asset tag that responds to a multicast trigger, the set of nodes may generate a recovery schedule for the asset tag. Thereafter, the system may transmit a series of unicast triggers to the first asset tag via the set of nodes. In response to receiving a ranging signal from a first asset tag that responds to a unicast trigger, the set of nodes may derive the position of the first asset tag.
[0092]
[0094] In one implementation, the set of nodes characterizes the clock drift of the first clock of the first asset tag based on the reception time of the first ranging signal during the second period; and updates the first response schedule by updating the third wake window for the first asset tag such that the third wake window intersects the second multicast trigger time based on the clock drift. Thus, the set of nodes may address the clock error of the first asset tag by updating the response schedule for the first asset tag. In particular, the system may shift the wake window of the first asset tag by only the clock drift period (e.g., the difference between the system time of the set of nodes and the clock time of the first asset tag) to enable the first asset tag to enter the wake mode and receive the multicast trigger.
[0093]
[0095] In another implementation, the first node of the set of nodes may broadcast a second multicast trigger via a ranging channel during a second period that intersects the second trigger time. In this implementation, the system, in response to the first asset tag entering the wake mode and not receiving the second multicast trigger via the ranging channel, migrates the transceiver to a configuration channel, receives a second configuration message via the configuration channel, and updates the first clock of the first asset tag to the system time of the set of nodes based on the configuration message. Thus, the asset tag may request a configuration message from the set of nodes in response to not receiving a multicast trigger from the set of nodes, and the configuration message specifies the response schedule for the asset tag and the system time of the set of nodes. When the asset tag receives the configuration message, the asset tag may update the clock of the asset tag to, for example, the system time of the set of nodes.
[0094]
[0096] In a variant, the set of nodes may receive a set of reference signals from a part of the asset tags of the asset tag group. For example, at the second time, the set of nodes may receive a first set of reference signals from a first subset of the asset tags of the first asset tag group, and the controller may derive the positions of the first subset of asset tags based on the first set of reference signals. Thus, the system may detect the absence of reference signals from a subset of the asset tags of a particular asset tag group due to an asset tag communication error and recover the reference signals not received from the subset of asset tags.
[0095]
[0097] In this variant, if there is no ranging signal received from a particular asset tag, the system may transmit subsequent ranging signals to the set of nodes based on a recovery schedule. More specifically, a particular asset tag may have been unable to transmit a ranging signal to a node in response to a multicast trigger: this may be because the asset tag transitioned from an "active" state to a "sleep" state before the wake window, or from a "sleep" state to an "active" state after the wake window (e.g., due to drift of the internal clock within a particular asset tag), and thus failed to receive the multicast trigger from the node. Thus, in response to a failure to receive a ranging signal from a particular asset tag during the wake window assigned to the particular asset tag, the system may define a recovery schedule that, when executed by the particular asset tag, triggers the asset tag to transmit a ranging signal to the node and readjust the clock associated with the asset tag.
[0096]
[0098] In one implementation, the system may identify asset tags of an asset tag group that failed to transmit ranging signals to a set of nodes based on a response schedule for the asset tag group. More specifically, in response to identifying asset tags excluded from a first subset of asset tags, the system may define a recovery schedule for the asset tags based on a wake window and a multicast trigger time of the response schedule. For example, in response to identifying a first asset tag of a first asset tag group excluded from a first subset of asset tags, the controller may define a first recovery schedule for the first asset tag that includes a sequence of unicast trigger times that are offset smaller than the wake window and adjacent to the multicast trigger time, and transmit the first recovery schedule to the set of nodes. In this example, the recovery schedule defines a set of unicast trigger times at intervals that overlap the wake window before and after the multicast trigger time for asset tags excluded from a subset of asset tags. For example, at a first time, the controller may define a response schedule that specifies a multicast trigger time of 12:00:30 and a 20-second wake window that specifies a wake time start (12:00:20) and a wake time end (12:00:40), and during a second period, define a recovery schedule for a first asset tag that is offset smaller (7 seconds) than the wake window and specifies a sequence of unicast trigger times adjacent to the multicast trigger time (such as 12:00:14, 12:00:21, 12:00:28, 12:00:35). Thus, the system may define a recovery schedule for asset tags excluded from a first subset of asset tags and trigger a response by the asset tags in response to the asset tags failing to transmit ranging signals to the set of nodes during trigger times associated with the tags.
[0097] 6.2.1 Node-side Recovery
[0099] In one implementation, the system may re-adjust the clock associated with the asset tag to recover the ranging signal from the asset tag. More specifically, the system may send a set of unicast triggers to the asset tag based on a recovery schedule to trigger the transmission of the ranging signal to the node. In this implementation, in response to receiving the ranging signal from the asset tag, the system may re-adjust the clock of the asset tag and reset the clock to the real time associated with the multicast trigger time, thereby reducing or eliminating the clock drift that causes the asset tag to fail to send the ranging signal during the wake window. For example, the first node of the set of nodes may broadcast a sequence of unicast triggers to the first asset tag in a sequence of unicast trigger times according to the first recovery schedule; and in response to receiving the first ranging signal from the first asset tag, may re-adjust the first clock of the first asset tag. The controller may derive the first position of the first asset tag based on the first ranging signal in response to receiving the first ranging signal from the first asset tag by the first set of nodes. Thus, the system may reduce or prevent the asset tag from subsequently failing to send the ranging signal to the node at the asset tag-specific trigger time in response to receiving the multicast trigger at the multicast trigger time.
[0098]
[0100] In one implementation, a node of the set of nodes may perform the function of the controller.
[0099] 6.2.2 Diagnosis of Missing Tags
[0101] In one implementation, in response to identifying that there is no ranging signal from a subset of asset tags, the system may: trigger the operator to investigate the asset tags (e.g., to identify movement or damage of the asset tags); automatically remove asset tags from the asset tag group; trigger a reset to the set period of the asset tags; and reintegrate the asset tags into the asset tag group. Accordingly, the system may consider the asset tags and trigger the repair and / or reintegration of the asset tags into the target environment for tracking.
[0100] 6.2.3 Tag-side Readjustment
[0102] In one implementation, in response to detecting that there is no ranging signal from a subset of asset tags of an asset tag group, the system may readjust the internal clock of each asset tag of the subset of asset tags. More specifically, the first asset tag may automatically readjust the clock associated with the first asset tag based on a unicast trigger broadcast by the first node according to a recovery schedule. In this implementation, each unicast trigger includes a real-time representation that is not affected by clock drift. For example, at a second time, the first node of a set of nodes may: broadcast a sequence of unicast triggers to the first asset tag in a sequence of unicast trigger times according to a first recovery schedule; and the first asset tag may extract the real time associated with the unicast trigger based on the arrival time of the unicast trigger; respond to the unicast trigger by sending a first ranging signal to the first node; and update the first clock of the first asset tag based on the real time. Accordingly, the asset tag may self-adjust its internal clock based on the real clock time specific to the unicast trigger in response to receiving the unicast trigger based on the recovery schedule.
[0101]
[0103] In one implementation, the asset tag may automatically readjust the first clock of the first asset tag based on ranging signals transmitted by other asset tags of the asset tag group. For example, the first asset tag may intercept a ranging signal transmitted by a second asset tag of the asset tag group at the exact trigger time associated with the second asset tag; associate the ranging signal with the stored schedule to confirm the exact trigger time for the first asset tag; update the clock of the first asset tag; and transmit the ranging signal to the node based on the schedule. Thus, the asset tag may readjust the clock associated with the asset tag based on the ranging signals of other asset tags of the asset tag group by transmitting the ranging signal at the exact trigger time.
[0102]
[0104] In one implementation, the system may readjust the clock of the asset tag in response to detecting a number of consecutive failures that exceeds a threshold failure count. More specifically, in response to detecting a set of consecutive failures (e.g., two) in the transmission of ranging signals from the first asset tag, the system may transmit the first asset tag to the calibration channel to query the current (e.g., actual) time; detect the current time; and readjust the clock based on the current time. Thus, rather than relying on the node to broadcast a unicast trigger to the asset tag, the asset tag may query the behavior of other asset tags in the asset tag group and readjust the clock of the first asset tag based on the other asset tags. Additionally or alternatively, the asset tag may query the behavior of the node or set of nodes communicating with the asset tag and readjust the clock of the first asset based on timestamp data (e.g., actual clock time) transmitted from the node or set of nodes to the first asset tag.
[0103] 6.3 Specific Example: Correction of Clock Error of Asset Tag
[0105] For example, at the first hour, the controller may define a response schedule for the asset tag group, and the response schedule may characterize: a multicast trigger time (00:00:00), a wake-up time start (23:59:50) and a wake-up time end (00:00:10) of a wake window (e.g., 20 seconds), and a target transmission time of each asset tag - AT - of the asset tag group based on the wake window (AT1 - 00:00:02, AT2 - 00:00:04, AT3 - 00:00:06, AT4 - 00:00:08, and AT5 - 00:00:10). In this example, at the second hour, the first node of the set of nodes may broadcast a multicast trigger at the multicast trigger time (00:00:00). Thereafter, the set of nodes may receive a set of ranging signals from the first subset of the asset tags of the first asset tag group (received from AT1 at 00:00:02, received from AT2 at 00:00:04, received from AT3 at 00:00:06, received from AT5 at 00:00:10). Thereafter, the controller may identify the first asset tag of the first asset tag group excluded from the first subset of asset tags (AT4). Thus, the system detects that the first subset of asset tags of the first asset tag group (AT1, AT2, AT3, and AT5) is functioning and present in the target environment, thereby indicating that the broadcast of the multicast trigger from the first node of the set of nodes to the first asset tag group was successful. Thus, the system may detect the absence and / or potential failure of the asset tags of the asset tag group in response to identifying the absence of ranging signals from a subset of the asset tags.
[0104] 6.3.1 Specific Example of Node-side Recovery and Schedule Correction
[0106] In one implementation, the system may characterize a clock time error (e.g., clock drift) based on a clock time associated with the asset tag and the actual clock time, and modify the response schedule for the asset tag group. For example, the controller may: calculate the difference between the characteristics of the first time associated with the asset tag and the second time of the actual clock time for the first asset tag of the asset tag group; characterize the clock drift interval based on the difference; and update the response schedule for the first asset tag to include a wake window for an asset tag that starts earlier than the first wake window. In one variation, in response to the detection of an accelerated (e.g., fast) clock, the controller may redefine the response schedule to include a wake window that starts after the first wake window. In one variation, the controller may redefine the response schedule to include a wake window that is longer than the first wake window of the first response schedule.
[0105] 6.3.2 Specific Example of Tag-side Recovery and Correction
[0107] In one implementation, the asset tag may automatically self-correct the clock associated with the asset tag in response to the controller detecting clock drift. For example, during the second hour, asset tag AT4 transitions to the "activated" state after the activation window specified in the response schedule (e.g., the activation of the asset tag is too late), and fails to receive the multicast trigger at the multicast trigger time. In this example, while the asset tag is in the "activated" state (e.g., if the asset tag wakes up after the wake window), the asset tag may eavesdrop on ranging signals from other asset tags in the asset tag group directed towards the node transmitting the ranging signal at the exact corresponding trigger time based on the actual multicast trigger time (00:00:00). In this example, the clock of asset tag (AT4) drifts by 11 seconds (e.g., becomes slower) and transitions to the "activated" state at 00:00:01 (it should have transitioned to the "activated" state at 23:59:50). Thus, asset tag AT4 is in the "activated" state during the trigger time of 0:00:02 of asset tag AT1. Thus, asset tag AT4 eavesdrops on the ranging signal transmitted by asset tag AT1 during the trigger time associated with asset tag AT1; associates the ranging signal with the stored schedule to confirm that the ranging signal should have been transmitted at real time 00:00:02; updates the clock associated with asset tag AT4 to 00:00:02 (e.g., from 23:59:51 as assumed by asset tag AT4 due to drift); and may transmit a ranging signal at 00:00:08 according to the schedule. Thus, the asset tag may self-adjust by eavesdropping on ranging signals transmitted by other asset tags in the asset tag group during the correct trigger time. Additionally or alternatively, the asset tag may self-adjust by eavesdropping on ranging signals transmitted by nodes in a set of nodes during the correct trigger time.
[0106] 7.0 Specific Examples of Target Environments
[0108] Generally, the system may execute method S100 to group and track asset tags deployed across an entire target environment such as a construction site, grocery store, warehouse, fulfillment center, etc. For example, the system may execute method S100 to group and track asset tags deployed at a construction site to monitor the movement of equipment (e.g., cranes, bulldozers, excavators, etc.) and / or resources (wood, cement bags, bundles of rebar, etc.). In another example, the system may execute method S100 to group and track asset tags deployed at a military inventory storage warehouse characterized by low throughput (e.g., low frequency of delivery / production) and high value per unit inventory (e.g., artillery, armor). In this example, asset tags may be attached to individual high-value items (e.g., equipment). In another example, the system may execute method S100 to group and track asset tags deployed at a fulfillment center characterized by high throughput (e.g., high frequency of orders within a certain period) and low value per unit inventory (e.g., consumer goods). In this example, asset tags may be attached to containers of goods rather than individual items.
[0107]
[0109] The systems and methods described herein may be embodied and / or implemented, at least in part, as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions may be executed by a computer-executable component integrated with an application, applet, host, server, network, website, communication service, communication interface, user computer or mobile device, list band, hardware / firmware / software elements of a smartphone, or any suitable combination thereof. Other systems and methods of this embodiment may be embodied and / or implemented, at least in part, as a machine configured to receive a computer-readable medium storing computer-readable instructions. The instructions may be executed by a computer-executable component integrated with the devices and networks of the type described above. The computer-readable medium may be stored on any suitable computer-readable medium, such as RAM, ROM, flash memory, EEPROM, optical device (CD or DVD), hard drive, floppy drive, or any suitable device. The computer-executable component may be a processor, although any suitable dedicated hardware device may execute the instructions (as an alternative or in addition).
[0108]
[0110] Those skilled in the art will appreciate that modifications and changes can be made to embodiments of the present invention without departing from the scope of the invention as defined in the following claims, from the foregoing detailed description, drawings, and claims.
Claims
1. During a first period, generating a response schedule for a first asset tag, the response schedule defining: a sequence of trigger times for transmitting a sequence of unicast triggers; and a sequence of wake windows, each wake window of the sequence of wake windows intersecting a trigger time of the sequence of trigger times; at a first node of a set of nodes, broadcasting a first configuration message to the first asset tag via a configuration channel, the first configuration message including the response schedule; at the first asset tag, in response to there being no configuration data, migrating a transceiver of the first asset tag to the configuration channel; receiving the first configuration message via the configuration channel; configuring the first asset tag based on the first configuration message; entering a sleep mode in response to a period until a first wake window of the sequence of wake windows exceeding a threshold period; During a second period, at the first node of the set of nodes, broadcasting a first unicast trigger of the sequence of unicast triggers via a ranging channel based on a first trigger time of the sequence of trigger times; at the first asset tag, entering a wake mode based on the first wake window of the sequence of wake windows; transmitting a first ranging signal in response to receiving the first unicast trigger via the ranging channel; In response to transmitting the first ranging signal, entering the sleep mode; in the set of nodes; receiving the first ranging signal; deriving a first position of the first asset tag during the second period based on an instance of the first ranging signal received by the set of nodes. A method comprising: **Claim 2** Broadcasting the first configuration message to the first asset tag via the configuration channel comprises: broadcasting the first configuration message to the first asset tag via the configuration channel associated with a first frequency; Broadcasting the first unicast trigger via the ranging channel comprises: broadcasting the first unicast trigger via the ranging channel associated with a second frequency range excluding the first frequency. The method according to claim 1. **Claim 3** Entering the sleep mode comprises, by the first asset tag: disabling the transceiver of the first asset tag; transitioning the processor of the first asset tag to a sleep mode; maintaining power supply from the battery of the first asset tag to the clock and motion sensor of the first asset tag. Entering the wake mode comprises, by the first asset tag: enabling the transceiver of the first asset tag; transitioning the processor of the first asset tag to an active mode. The method according to claim 1. **Claim 4** During a third period; at the first node of the set of nodes; Based on the second trigger time of the trigger time sequence, broadcasting the second unicast trigger of the unicast trigger sequence via the ranging channel; with the first asset tag; Based on the second wake window of the wake window sequence, entering the wake mode; In response to receiving the second unicast trigger via the ranging channel, transmitting a second ranging signal; In response to transmitting the second ranging signal, entering the sleep mode; in the set of nodes; receiving the second ranging signal; Deriving a second position of the first asset tag based on an instance of the second ranging signal received by the set of nodes, the method according to claim 1, further comprising.
5. During a third period; at the first node of the set of nodes; Based on the second trigger time of the trigger time sequence, broadcasting a second unicast trigger via the ranging channel; with the first asset tag; Based on the second wake window of the wake window sequence, entering the wake mode; In response to not receiving the second unicast trigger via the ranging channel, shifting the transceiver of the first asset tag to the configuration channel; Receiving a second configuration message including the system time of the set of nodes via the configuration channel; Updating the clock of the first asset tag according to the system time of the set of nodes based on the second configuration message, the method according to claim 1, further comprising.
6. further comprising the step of distributing an encryption key to the first asset tag, The step of broadcasting the first configuration message to the first asset tag via the configuration channel is generating an encrypted configuration message by encrypting the first configuration message; and broadcasting the encrypted configuration message to the first asset tag via the configuration channel, The step of receiving the first configuration message via the configuration channel is The method according to claim 1, comprising the step of decrypting the encrypted configuration message via the encryption key.
7. The step of receiving the first configuration message via the configuration channel is accessing the response schedule of the first configuration message; and accessing a first asset tag identifier of the first configuration message, The step of configuring the first asset tag based on the first configuration message is in response to the first asset tag identifier of the first configuration message matching a second asset tag identifier of the first asset tag; synchronizing the clock of the first asset tag with the system time of the set of nodes; and configuring to transition the first asset tag between the sleep mode and the wake mode according to the response schedule. The method according to claim 1.
8. During a first period, generating a response schedule for a first asset tag, the response schedule comprising a first trigger time for transmitting a first unicast trigger; a first wake window intersecting the first trigger time; A step of defining and generating a second wake window associated with the motion sensor signal At the first node of the set of nodes A step of broadcasting a configuration message including the response schedule to the first asset tag via a configuration channel At the first asset tag A step of shifting the transceiver of the first asset tag to a configuration channel in response to the absence of configuration data A step of receiving the configuration message via the configuration channel A step of configuring the first asset tag based on the configuration message A step of entering a sleep mode in response to the period until the first wake window exceeding a threshold period During a second period At the first asset tag In response to receiving the motion sensor signal from the motion sensor of the first asset tag A step of entering a wake mode during the period of the second wake window A step of transmitting a first ranging signal via a ranging channel during the second wake window A step of entering the sleep mode in response to transmitting the first ranging signal In the set of nodes A step of receiving the first ranging signal A method including a step of deriving a first position of the first asset tag based on an instance of the first ranging signal received by the set of nodes
9. During a third period before the second period A step of broadcasting the first unicast trigger via the ranging channel at the first node of the set of nodes At the first asset tag During the period of the first wake window, entering the wake mode, In response to receiving the first unicast trigger via the ranging channel, transmitting a second ranging signal via the ranging channel; In response to transmitting the second ranging signal, entering the sleep mode; In the set of nodes, Receiving the second ranging signal; Deriving a second position of the first asset tag based on an instance of the second ranging signal received by the set of nodes. The method according to claim 8. **Claim 10** During the first period, With the first asset tag, In response to receiving a series of motion sensor signals indicating that the first asset tag is moving, Entering the wake mode; Transmitting a series of ranging signals via the ranging channel at time intervals specified by the response schedule; Entering the sleep mode; In the set of nodes, Receiving the series of ranging signals; Deriving a series of first positions of the first asset tag based on an instance of the series of ranging signals received by the set of nodes. The method according to claim 8, further comprising. **Claim 11** Before the first period, With the first asset tag, Receiving a set of unicast queries from the set of nodes; Transmitting unicast responses to the set of nodes; In the set of nodes, The method according to claim 8, further comprising: calculating a second position of the first asset tag based on an instance of the unicast response received by the set of nodes. **Claim 12** Calculating a distance between the first position and the second position of the first asset tag; In response to the distance exceeding a threshold distance, generating a notification indicating that the asset associated with the first asset tag has been moved by the distance exceeding the threshold distance; The method according to claim 11, further comprising: sending the notification to a device of an operator of a target environment including the asset tag. **Claim 13** The step of deriving the first position of the first asset tag For each node in the set of nodes Deriving a distance of a set of distances between the first asset tag and the node based on a time of flight of the first ranging signal received by the node; The method according to claim 8, further comprising: deriving the first position of the first asset tag based on the set of distances in the set of nodes. **Claim 14** The step of receiving the configuration message via the configuration channel At the first asset tag Receiving the configuration message via a first frequency associated with the configuration channel; Sending the first ranging signal during the second wake window; The method according to claim 8, further comprising: sending the first ranging signal at a second frequency in a second frequency range excluding the first frequency. **Claim 15** During a first period Generating a response schedule for a first asset tag group, the response schedule A first multicast trigger time for transmitting a first multicast trigger to the first asset tag group, and For each asset tag of the first asset tag group, A first wake window that intersects the first multicast trigger, and A first transmission time after reception of the first multicast trigger and specific to the asset tag, and Defining and generating a second wake window that intersects the first transmission time; At a first node of a set of nodes, Broadcasting a first configuration message to the first asset tag group via a configuration channel; At the first asset tag of the first asset tag group, In response to there being no configuration data, migrating the transceiver of the first asset tag to the configuration channel; Receiving the first configuration message via the configuration channel; Configuring the first asset tag based on the first configuration message; Entering a sleep mode based on the response schedule indicating that a period until the first wake window exceeds a threshold period; During the first wake window, At the first node of the set of nodes, Broadcasting the first multicast trigger via a ranging channel; At the first asset tag of the first asset tag group, Entering a wake mode; Receiving the first multicast trigger via the ranging channel; Entering the sleep mode based on the response schedule indicating that a period until the second wake window exceeds the threshold period; During the second wake window, With the first asset tag of the first asset tag group, Entering the wake mode; Transmitting a first ranging signal via the ranging channel; Entering the sleep mode in response to transmitting the first ranging signal; In the set of nodes, Receiving a first set of ranging signals from the first asset tag group; Deriving a first set of positions of the first asset tag group based on the first set of ranging signals received by the set of nodes. A method comprising.
16. The step of receiving the first configuration message via the configuration channel includes Accessing the response schedule of the first configuration message; Accessing the first asset tag identifier of the first configuration message; Accessing the first group identifier of the first configuration message, and The step of configuring the first asset tag based on the first configuration message includes In response to the first asset tag identifier of the first configuration message matching the second asset tag identifier of the first asset tag and the first group identifier of the first configuration message matching the second group identifier of the first asset tag group, Configuring the first asset tag to transition between the sleep mode and the wake mode according to the response schedule. The method according to claim 15.
17. During a first period, With the second asset tag of the first asset tag group, In response to the absence of the configuration data, shifting the transceiver of the second asset tag to the configuration channel; Receiving the first configuration message via the configuration channel; Configuring the second asset tag based on the first configuration message; Entering the sleep mode based on the response schedule indicating that a period until the first wake window exceeds a threshold period; During a second period; With the second asset tag of the first asset tag group; Entering the wake mode; Transmitting a second ranging signal in response to the first wake window overlapping the second wake window; Entering the sleep mode in response to transmitting the second ranging signal, the method of claim 15 further comprising.
18. During a second period after the first period; With the first asset tag of the first asset tag group; In response to receiving a motion sensor signal indicating that the first asset tag is moving; Entering the wake mode during the period of the second wake window; Transmitting a second ranging signal; Entering the sleep mode in response to transmitting the second ranging signal, the method of claim 15 further comprising.
19. Before the first period; With the first asset tag; Receiving a set of unicast queries from the set of nodes; Transmitting unicast responses of the set of unicast responses to the set of nodes; In the set of nodes; Calculating a second position of the first asset tag based on the set of unicast responses; The method according to claim 15, further comprising the step of assigning the first asset tag to the first asset tag group based on the second position. **Claim 20** The step of generating the response schedule for the first asset tag group comprises The step of generating the response schedule for the first asset tag group, wherein the response schedule comprises the step of generating, including a second multicast trigger time for transmission of a second multicast trigger During a second period intersecting the second multicast trigger time at the first node of the set of nodes broadcasting the second multicast trigger via the ranging channel with the first asset tag entering the wake mode in response to not receiving the second multicast trigger via the ranging channel, migrating the transceiver to the configuration channel receiving the second configuration message via the configuration channel The method according to claim 15, further comprising the step of updating a first clock of the first asset tag to a system time of the set of nodes based on the second configuration message. **Claim 21** During a first period at a set of nodes broadcasting a unicast query to a set of asset tags receiving a first set of unicast responses from the set of asset tags calculating a first set of positions of the set of asset tags based on the first set of unicast responses dividing the set of asset tags into a set of asset tag groups based on proximity of the first set of positions For the first asset tag group of the set of asset tag groups, a step of generating a first response schedule, wherein the first response schedule is a first multicast trigger time for transmitting a first multicast trigger, and for each asset tag of the first asset tag group, a first transmission time that is after receiving the first multicast trigger and is unique to the asset tag, and a step of generating, which defines a first wake window that intersects the first multicast trigger time and a second wake window that intersects the first transmission time; a step of broadcasting the first response schedule to the first asset tag group; During a second period, at a first node of the set of nodes, a step of broadcasting the first multicast trigger at the first multicast trigger time defined by the first response schedule; at the set of nodes, a step of receiving a first set of ranging signals from a first asset tag subgroup of the first asset tag group that responds to the first multicast trigger; In response to identifying a first asset tag that is included in the first asset tag group and excluded from the first asset tag subgroup, a step of generating a recovery schedule for the first asset tag based on the first set of ranging signals, wherein the recovery schedule is a step of generating, which defines a sequence of unicast trigger times for transmitting a sequence of unicast triggers to the first asset tag; at the first node of the set of nodes, a step of broadcasting the sequence of unicast triggers in the sequence of unicast trigger times according to the recovery schedule; A method comprising the step of, in response to receiving a first ranging signal from the first asset tag in the set of nodes, deriving a first position of the first asset tag based on the first ranging signal. Claim 22 The step of generating the first response schedule comprises a second multicast trigger time for transmission of a second multicast trigger after the second multicast trigger time, and for each asset tag in the first asset tag group a second transmission time unique to the asset tag after reception of the first multicast trigger, and defining a third wake window that intersects the second multicast trigger time and a fourth wake window that intersects the second transmission time, and generating the first response schedule including the step of During the second period, in the set of nodes characterizing a clock drift of a first clock of the first asset tag based on a reception time of the first ranging signal, and updating the first response schedule by updating the third wake window for the first asset tag such that the third wake window intersects the second multicast trigger time based on the clock drift, the method according to claim 21, further comprising. Claim 23 During the second period deriving a second set of positions of the first asset tag subgroup based on the first set of ranging signals, and inputting the second set of positions of the first asset tag subgroup and the first position of the first asset tag into a digital map of the target environment, and rendering the digital map on a display of an operator device of the target environment, the method according to claim 21, further comprising. Claim 24 During the first period For the second asset tag group of the set of asset tag groups, a second response schedule is generated in a generating step, the second response schedule comprising: generating, including a third multicast trigger time for transmission of a third multicast trigger; at the third multicast trigger time; broadcasting, in the set of nodes, the third multicast trigger defined by the second response schedule; receiving, in the set of nodes, a second set of ranging signals from the second asset tag group; deriving, based on the second set of ranging signals, a third set of positions of the second asset tag group; updating the set of asset tag groups based on proximity of the second set of positions and proximity of the third set of positions. The method according to claim 21, further comprising. **Claim 25** In response to identifying, based on the first set of ranging signals, the first asset tag that is included in the first asset tag group and excluded from the first asset tag subgroup, generating a notification indicating that the first asset tag did not respond to the first multicast trigger; transmitting the notification to a device of an owner of an asset tracked by the first asset tag in response to not receiving the first ranging signal from the first asset tag after transmission of a sequence of unicast triggers. The method according to claim 21, further comprising. **Claim 26** At a first time; in a set of nodes; broadcasting a unicast query to a set of asset tags; receiving a first set of unicast responses from the set of asset tags; Calculating a first set of positions of the set of asset tags based on the first set of unicast responses; Dividing the set of asset tags into a set of asset tag groups based on the first set of positions; Generating a first response schedule for a first asset tag group of the set of asset tag groups, the first response schedule comprising: A first set of multicast trigger times for transmission of a first set of multicast triggers; and For each asset tag of the first asset tag group, A first set of wake windows, each wake window of the first set of wake windows intersecting a multicast trigger time of the first set of multicast trigger times; and A first transmission frequency for ranging signals, the first transmission frequency being unique to the asset tag; At a second time, Broadcasting a first multicast trigger of the first set of multicast triggers in the set of nodes; Receiving a first set of ranging signals from the first asset tag group in response to the first multicast trigger in the set of nodes; Deriving a second set of positions of the first asset tag group based on the first set of ranging signals; Identifying a first asset tag of the first asset tag group based on a first position in the second set of positions of the first asset tag; Updating the first response schedule to exclude the first asset tag from the first asset tag group in response to identifying the first asset tag; Generating a second response schedule for the first asset tag, the second response schedule comprising: A first set of unicast trigger times for transmission of a first set of unicast triggers, and A second set of wake windows, wherein each wake window of the second set of wake windows intersects a multicast trigger time of the first set of unicast trigger times, and Generating a second transmission frequency specific to the first asset tag; and At a third time, Broadcasting, by the set of nodes, a first unicast trigger of the first set of unicast triggers according to the second response schedule; and At a fourth time, Broadcasting, by the set of nodes, a second multicast trigger of the first set of multicast trigger sets according to the first response schedule. **Claim 27** The step of broadcasting the first unicast trigger includes broadcasting the first unicast trigger by a first node of the set of nodes according to the second response schedule, The step of broadcasting the second multicast trigger includes broadcasting the second multicast trigger by a second node of the set of nodes according to the first response schedule. The method according to claim 26. **Claim 28** In the second set of positions, the step of identifying the first asset tag of the first asset tag group based on the first position is Identifying a distance between the first position of the first asset tag and a reference position of the first asset tag group, wherein each asset tag of the first asset tag group is positioned within a threshold distance of the reference position; In response to the distance between the first position and the reference position exceeding the threshold distance, identifying the first asset as being located outside the area occupied by the first asset tag group, the method according to claim 26, comprising.
29. In the second set of positions, the step of identifying the first asset tag of the first asset tag group based on the first position comprises Identifying a first distance between the first position of the second set of positions of the first asset tag and a second position of the first set of positions of the first asset tag, the distance representing the distance traveled by the first asset tag during a first period between the first time and the second time, the step of identifying; Calculating a speed of the first asset tag in the target environment based on the first distance and the first period; In response to the speed of the first asset tag exceeding a target speed of asset tags in the target environment, identifying the first asset tag in the first asset tag group, the method according to claim 26, comprising.
30. At the third time, in the set of nodes Receiving a first ranging signal from the first asset tag in response to the first unicast trigger; Deriving a third position of the first asset tag based on the first ranging signal; At the fourth time, in the set of nodes Receiving a second set of ranging signals from the first asset tag group in response to the second multicast trigger; Deriving a third set of positions of the first asset tag group based on the second set of ranging signals, the method according to claim 26, further comprising.
31. In a set of nodes At the fifth time, receiving a first ranging signal from a second asset tag of the first asset tag group; Deriving a second position of the second asset tag based on the first ranging signal; In response to the fifth time being outside any of the wake windows of the first set of wake windows, Updating the first response schedule to exclude the second asset tag from the first asset tag group; Generating a third response schedule for the second asset tag, the third response schedule comprising: A second set of unicast trigger times for transmission of a second set of unicast triggers; A third set of wake windows corresponding to the second set of unicast trigger times; And a third transmission frequency unique to the second asset tag, the method of claim 26 further comprising.
32. The step of dividing the set of asset tags into the set of asset tag groups based on the first set of positions comprises: Identifying the first asset tag group of the set of asset tags, wherein a first subset of positions in the first set of positions of the first asset tag group is within a threshold distance of the first node of the set of nodes; Identifying the second asset tag group of the set of asset tags, wherein a second subset of positions of the second asset tag group in the first set of positions is within a threshold distance of the second node of the set of nodes, the method of claim 26.
33. At the first time, Generating a third response schedule defining a third set of multicast triggers for the second asset tag group of the set of asset tag groups; At the second time, Broadcasting, by a second node of the set of nodes, a third multicast trigger of the third set of the multicast triggers; Receiving, by the set of nodes, a second set of ranging signals from a second asset tag group responsive to the third multicast trigger; Deriving, based on the second set of ranging signals, a third set of positions of the first and second asset tag groups; Updating the first response schedule and the third response schedule to exclude the second asset tag from the second asset tag group and include the second asset tag in the first asset tag group in response to the second asset tag of the second asset tag group being closer to the first node than the two nodes; the method of claim 26, further comprising.
34. During a first period, Identifying a first asset tag group in a set of asset tags; Generating, for the first asset tag group, a first response schedule, the response schedule comprising: A first set of multicast trigger times delimited by a first time interval for transmission of a first set of multicast triggers; For each asset tag of the first asset tag group, A first set of transmission times, each transmission time of the first set of transmission times being after a trigger time in the first set of multicast trigger times and being unique to the asset tag; A first set of wake windows, each wake window of the first set of wake windows intersecting a first set of trigger times at the multicast trigger times and a transmission time at the first set of transmission times; defining, generating; Broadcasting the first response schedule to the first asset tag group; During a second period; At a first node of a set of nodes; Broadcasting a first multicast trigger of a first set of multicast triggers at a first multicast trigger time of the first set of multicast trigger times defined by the first response schedule; Receiving a first set of ranging signals from a first asset tag subgroup of the first asset tag group; Transmitting a first set of asset tag data of the first asset tag subgroup to the set of nodes; At a second node of a set of nodes; Receiving a second set of ranging signals from a second asset tag subgroup of the first asset tag group; Transmitting a second set of asset tag data of the second asset tag subgroup to the set of nodes; Deriving a second set of positions of the first asset tag group based on the first set of asset tag data and the second set of asset tag data. A method comprising.
35. The step of transmitting the first set of asset tag data of the first asset tag subgroup to the set of nodes comprises: For each ranging signal of the first set of ranging signals, Decoding a first asset tag identifier and a first group identifier included in the ranging signal; Recording a first arrival time of the ranging signal; Transmitting the first asset tag identifier, the first group identifier, and the first arrival time to the first set of asset tag data; and The step of transmitting the second set of asset tag data of the second asset tag subgroup to the set of nodes comprises: For each ranging signal of the second set of ranging signals, decoding the second asset tag identifier and the second group identifier included in the ranging signal; recording the second arrival time of the ranging signal; transmitting the second asset tag identifier, the second group identifier, and the second arrival time to the first set of asset tag data, the method according to claim 34. **Claim 36** The step of broadcasting the first response schedule to the first asset tag group comprises defining a configuration message including the first asset tag group identifier of the first asset tag group, a vector of asset tag identifiers, wherein each asset tag identifier of the vector of asset tag identifiers corresponds to an asset tag of the first asset tag group, and the first response schedule; transmitting the configuration message to the first asset tag group via a configuration channel, and furthermore, during the first period, in response to the second asset tag group identifier of the first asset tag in the first asset tag group matching the first asset tag group identifier of the first asset tag group and the second asset tag identifier of the first asset tag matching the first asset tag identifier in the vector of asset tag identifiers, further comprising the step of adapting the first response schedule, the method according to claim 34. **Claim 37** At the second time, at a third node of the set of nodes, receiving a first ranging signal having a first signal-to-noise ratio below a threshold signal-to-noise ratio from a first asset tag of the first asset tag group, In response to receiving the first ranging signal having the first signal-to-noise ratio, transmitting the first arrival time of the ranging signal to the set of nodes; At a fourth node of the set of nodes; Receiving, from a first asset tag, a first ranging signal having a second signal-to-noise ratio that exceeds a signal-to-noise ratio threshold; In response to receiving the first ranging signal having the second signal-to-noise ratio, transmitting the asset tag identifier, group identifier, and second arrival time of the first asset tag to the set of nodes; Deriving a first position of the first asset tag based on the asset tag identifier, the group identifier, and the first arrival time and the second arrival time of the first asset tag, the method of claim 34.
38. During the first period; Identifying a second asset tag group of the set of asset tags associated with a second priority level lower than the first priority level of the first asset tag group; Defining, for the second asset tag group, a second response schedule, the second response schedule comprising: A second set of multicast trigger times delimited by a second time interval, the second set of multicast trigger times being for transmission of a second set of multicast triggers, the second time interval being greater than the first time interval, defining a second set of multicast trigger times; Broadcasting the second response schedule to the second asset tag group, the method of claim 34 further comprising.
39. During the first period; At the set of nodes; Broadcasting a unicast query to a set of asset tags; Receiving a first set of unicast responses from the set of asset tags; further including the step of calculating a first set of positions of the set of asset tags based on the first set of unicast responses; identifying the first asset tag group of the set of asset tags, wherein each asset tag of the first asset tag group defines the first priority level; identifying the first asset tag group of the set of asset tags based on a first subset of positions of the first set of positions corresponding to the first asset tag group disposed within a high priority area; identifying the second asset tag group of the set of asset tags, wherein each asset tag of the first asset tag group defines a second priority level lower than the first priority level of the first asset tag group; The method according to claim 38, including identifying the second asset tag group of the set of asset tags based on a second subset of positions of the first set of positions corresponding to the second asset tag group disposed within a low priority area.
40. identifying the first asset tag group of the set of asset tags, wherein each asset tag of the first asset tag group; including identifying the first asset tag group of the set of asset tags based on a high priority level of a product tracked by the first asset tag group; identifying the second asset tag group of the set of asset tags, wherein each asset tag of the second asset tag group defines the second priority level lower than the first priority level of the first asset tag group; The method according to claim 38, including identifying the first asset tag group of the set of asset tags based on a low priority level of a product tracked by the first asset tag group.
Citation Information
Patent Citations
Location Awareness System
JP2022500937A
System, tag, and method for conducting position tracking by using ultrawide waveband (UWB)
JP2023024306A
Apparatus and method for advanced communication in low-power wireless applications
US20110074552A1
Asset location using relays
US20140327521A1
Communications protocol for inventory control
US20180227850A1