Real-time tracking of parcels in a facility
By using RFID devices and sensor readers in logistics sorting facilities to generate a graphical user interface, the problem of package location tracking delay in existing technologies is solved, enabling real-time tracking and error correction, and improving sorting efficiency.
Patent Information
- Application Number
- CN202180072553.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-10-23
- Filing Date
- 2021-10-13
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2041-10-13
AI Technical Summary
Existing technologies make it difficult to track package locations in real time within logistics sorting facilities, leading to delays in error detection, increasing the risk of errors and reducing correction efficiency.
By deploying radio frequency identification (RFID) devices and sensor readers within the sorting facility, a graphical user interface is generated to track package locations in real time and to indicate path errors and employee performance.
It enables real-time tracking of package locations, timely detection and correction of path errors, and improves the operational efficiency and accuracy of sorting facilities.
Smart Images

Figure CN116419805B_ABST
Abstract
Description
Background Technology
[0001] In logistics networks, sorting facilities are used to separate packages received from different locations to a common destination. As the volume of package deliveries increases, so too do the physical scale and operational complexity of sorting facilities. Packages being sorted may take different routes within the facility based on various factors, including package type and size, the unloading area the package arrives at, and the loading area the package must proceed to to its next destination. Typically, packages are transported across the facility on various conveyor systems with minimal human intervention over a period of time, and operations are very fast due to the large volume of packages being handled when they are moved or transferred by employees. Existing technology scans packages when they are unloaded into the facility and when they are loaded into transport vehicles for their next destination, but it does not track packages as they move between these two points within the facility. Therefore, existing technology struggles to accurately track the location of packages as they are transported through the facility. When errors (such as misloading) occur, they are often not detected until long after the error has occurred, and may not be detected until the package has been sorted within the facility. Summary of the Invention
[0002] Various embodiments of this disclosure are directed to computer-implemented methods, systems, and apparatus. In some embodiments, a graphical user interface is generated based on the location of a package determined from package tracking data. A profile mapping a sensor-equipped reader to a specific workspace location within the facility is accessed, and package tracking data is received in the form of read events. Read events identify the package, the reader, and, in exemplary aspects, time information. The location of the package can be determined based on package tracking data and utilizing the profile. These locations can form a path or a sequence of locations. Furthermore, in exemplary embodiments, package tracking data is captured in real time as the package is transported through the facility, and these locations can be determined in real time based on the package tracking data.
[0003] Using the determined locations, one or more graphical user interface (GUI) elements can be generated and presented to a user via a user device. In one embodiment, a GUI with location indicators for one or more packages is generated, including a visual representation of the facility with each workspace location. The location indicators can be positioned to correspond to locations determined based on package tracking data. Furthermore, routing errors can be determined based on package tracking data and indicated to the user via the GUI. A routing error, possibly caused by mispacking or missorting, may occur when the determined path for a package does not match the expected path for that package. When there is an inconsistency between the determined path and the expected path, an error indicator can be included on the generated GUI to indicate a location such as the current location, and the package associated with the error.
[0004] In some embodiments, lag errors are detected and indicated via a graphical user interface. Lag can be detected by comparing a threshold period of the subpath between two locations (possibly stored in a configuration file) with the time required for the package to actually move between the two locations, determined based on time information from read events from the two locations. Furthermore, in some embodiments, the graphical user interface indicates the quantity of packages based on determined locations (e.g., the number of packages at a specific workspace location and / or the total number of packages across the entire facility).
[0005] Furthermore, in some embodiments, read events are attributed to employees of the facility, and the graphical user interface (GUI) indicates employee performance based on the attributed read events. Employees can be assigned to readers, and read events captured by the reader within the assigned time period are attributed to the associated employee. Read events can be used to determine metrics of productivity and / or accuracy, which can then be used to generate the GUI.
[0006] This summary is provided to introduce, in a simplified form, some concepts that will be further described in the detailed description below. This summary is not intended to identify key or essential features of the claimed subject matter, nor is it intended to be used alone to help determine the scope of the claimed subject matter. In various embodiments, any functionality may be added to or removed from the computer-implemented methods, systems, and apparatus described above, such as regarding… Figure 2 The system and Figures 11 to 13 The flowchart describes the functionality. Attached Figure Description
[0007] After a general description of the disclosure, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, wherein:
[0008] Figure 1 This is a schematic diagram of an exemplary operating environment employing various aspects of this disclosure according to embodiments of this disclosure;
[0009] Figure 2 This is a schematic diagram of an exemplary computing system architecture employing various aspects of this disclosure according to embodiments of this disclosure;
[0010] Figure 3 An illustrative portion of an exemplary facility with a workspace location is described, which, according to embodiments of this disclosure, allows tracking of packages passing through the workspace location;
[0011] Figure 4 An exemplary positional adjacency matrix of a configuration file generated according to embodiments of this disclosure is described;
[0012] Figure 5An exemplary package tracking graphical user interface generated according to embodiments of this disclosure is described;
[0013] Figures 6A to 6F A series of screenshots are described, illustrating an exemplary graphical user interface for tracking packages generated according to embodiments of the present disclosure;
[0014] Figure 7 and Figure 8 An exemplary graphical user interface for tracking package volume according to embodiments of the present disclosure is described;
[0015] Figure 9A and 9B An example graphical user interface for tracking employee performance is described according to embodiments of the present disclosure;
[0016] Figure 10 An exemplary graphical user interface in the form of a tracking dashboard is described according to embodiments of the present disclosure;
[0017] Figure 11 A flowchart is described in which an exemplary process for generating a graphical user interface for tracking operations is described according to embodiments of the present disclosure;
[0018] Figure 12 A flowchart is described in accordance with embodiments of the present disclosure for generating a graphical user interface for tracking package locations;
[0019] Figure 13 A flowchart describing an exemplary process for generating a graphical user interface for tracking employee performance, according to embodiments of the present disclosure; and
[0020] Figure 14 This is a block diagram of an exemplary computing environment suitable for implementing embodiments of the present disclosure. Detailed Implementation
[0021] The subject matter of various aspects of this disclosure is specifically described herein to satisfy legal requirements. However, the specification itself is not intended to limit the scope of the patent. Rather, the inventors have considered that the claimed subject matter may also be embodied in other ways in combination with other existing or future technologies to include different steps or combinations of steps similar to those described herein. Moreover, although the terms “step” and / or “box” may be used herein to refer to different elements of the method employed, these terms should not be construed as implying any particular order between the various steps disclosed herein unless the order of the various steps is explicitly described. Each method described herein may include a computational process that can be performed using any combination of hardware, firmware, and / or software. For example, various functions may be implemented by a processor executing instructions stored in memory. These methods may also be embodied as computer-usable instructions stored on a computer storage medium. These methods may be provided through standalone applications, services, or managed services (standalone or in combination with other managed services) or plug-ins to another product, to name a few.
[0022] Various aspects of this disclosure relate to technologies for improving the tracking and handling of packages within facilities, such as sorting facilities, through improved graphical user interfaces. As mentioned above, sorting facilities in logistics networks are used to sort packages received from different locations to a common destination. The actual scale of these facilities and the complexity of operations within them are increasing. Furthermore, packages are typically transported through various conveyor equipment within the facility with minimal human intervention over a period of time, and operations are usually very fast due to the large volume of packages being handled, when employees move or transfer packages. Currently, packages are scanned when they are unloaded into the facility and when they are loaded onto transport vehicles for transport to the next destination; however, packages are barely tracked while moving between these two points within the facility. Therefore, when errors occur (such as misloading), the prior art typically waits until long after the error has occurred to detect it, thus increasing the risk of further errors and reducing the efficiency of any corrections.
[0023] To improve error tracking and effectively identify and resolve errors in the prior art, embodiments of this disclosure utilize reading events captured by a facility-located reader to track package transport through the facility. The reader, which may include a radio frequency identification (RFID) device and has sensors, can be mapped to specific workspace locations within the facility. The reader may be coupled to or integrated into a static physical structure within the facility and / or into a wearable device that may be worn by employees.
[0024] As a package moves through the facility, the reader can capture package information and time information. A mapping from the reader to workspace locations (which may be referred to herein as a profile) can be used to identify the package's location. A sequence of workspace locations containing the path can be determined based on multiple reading events for the package. This profile can indicate valid connections between two workspace locations, allowing path determination to be based on identifying workspace locations with valid connections. Furthermore, in an exemplary aspect, the most probable path can be identified by recognizing valid connections between two detected locations and utilizing an edit distance algorithm determined using historical package tracking data.
[0025] Using read events derived from package tracking data and configuration files, several visualizations can be generated as graphical user interfaces and provided to a user via a user device to track package flow and, in some cases, operations within a facility. The graphical user interface generated according to embodiments of this disclosure can provide specific relevant information about facility operations and update that information without requiring the user to scan unnecessary imaging data or other electronic data on the graphical user interface to identify package locations, such as identifying a specific package location to a specific location within the facility, as is done with conventional techniques. For example, the graphical user interface may include a visual representation of the facility, such as a virtual map, with each workspace location, and includes location indicators for one or more packages. The location indicators within the facility representation may be positioned to locations determined based on package tracking data. In some cases, each determined location for a package is indicated, and in others, only the most recently determined package location is shown. In an exemplary embodiment, package tracking data is received in real time while the package is being transported, and the graphical user interface can be updated in real time to provide current location information. As used throughout this disclosure, the term "real time" includes any time range of sufficiently short duration to provide a reasonable response time for the described information processing. Furthermore, the term "real-time" includes what is commonly referred to as "near real-time," typically any time range short enough to provide a reasonable response time for the on-demand information processing (e.g., within a fraction of a second or a few seconds). While difficult to define precisely, these terms will be well understood by those skilled in the art. Updating a graphical user interface with package tracking location in real-time, while the package is moving through the facility rather than after it has already moved through the facility, improves upon existing technologies where the graphical user interface does not provide up-to-date information on facility operation, or may not include electronic notifications of errors until long after an error has occurred.
[0026] Furthermore, routing errors can be determined based on package tracking data and indicated to the user via a graphical user interface. A routing error may occur when the determined path for a package does not match its intended path, which could be due to mispacking or incorrect sorting. In an exemplary aspect, the intended path is determined based on the package's sorting instructions. When there is a discrepancy between the determined path and the intended path, an error notification can be generated on the graphical user interface. Additionally, in some embodiments, instructions for correcting the error can be determined, and the previous routing error notification can be deleted once the path is determined to be on the intended path.
[0027] In some embodiments, lag errors are detected and indicated via a graphical user interface. A profile may indicate a threshold time period for traversing subpaths between two workspace locations. The threshold time period may be determined based on historical package tracking data. Using temporal information from read events for consecutive locations, the duration of movement between locations is determined and compared to the threshold time period. Lag is detected if the determined duration exceeds, meets, or exceeds the threshold time period. Lag may be indicated on a visual representation of the facility within the detected location (e.g., a map) and / or may be included in an error notification.
[0028] Furthermore, in some embodiments, the graphical user interface indicates the quantity of packages based on determined locations. For example, the quantity of packages already at each workspace location can be determined by aggregated unique parcels with read events in the workspace locations included in the generated path. The graphical user interface can indicate the total number of packages at each workspace location over a period of time, or it can show how the package count changes over time. When new package tracking data is received, the graphical user interface may be updated to the new package count.
[0029] Furthermore, in some embodiments, read events are attributed to employees of the facility, and the graphical user interface (GUI) indicates employee performance based on the attributed read events. Employees can be assigned to readers, and read events captured by a reader during an assigned time period can be attributed to the associated employee. Read events can be used as metrics to determine productivity and / or accuracy. A productivity indicator in the GUI can indicate employee productivity and can be a metric for the number of packages within a given time period. For example, the total number of packages can be determined by aggregating unique packages with read events attributed to a specific employee. In the case of an error detected from a read event attributed to an employee, the error can also be attributed to the employee. Therefore, accuracy can be determined based on accurate (error-free) read events out of all read events attributed to an employee, and a GUI can be generated to indicate the employee's accuracy. Furthermore, the employee's accuracy and / or productivity indicators can be updated as additional read events are captured, as described herein.
[0030] Now go to Figure 1 A block diagram illustrating an exemplary operating environment 100 that may employ certain embodiments of the present disclosure is provided. It should be understood that such and other arrangements described herein are listed by way of example only. Other arrangements and elements (e.g., machines, interfaces, functions, sequences, and functional groupings) may be used to supplement or replace those shown, and certain elements may be omitted entirely for clarity. Furthermore, several elements described herein are functional entities that may be implemented as discrete or distributed components or in combination with other components, and implemented in any suitable combination and location. The various functions described herein as being performed by one or more entities may be implemented by hardware, firmware, and / or software. For example, some functions may be implemented by a processor executing instructions stored in memory.
[0031] Among other components not shown, the exemplary operating environment 100 includes one or more computing devices, such as user device 102; several data sources, such as data source 104; several servers, such as server 106; several readers, such as reader 108; and network 110. It should be understood that... Figure 1 The environment 100 shown is an example of a suitable operating environment. Figure 1 Each component shown can be implemented via any type of computing device, such as a combination Figure 14 The computing device 1400 is described. These components can communicate with each other via a network 110, which may include, but is not limited to, one or more local area networks (LANs) and / or wide area networks (WANs). In an exemplary implementation, network 110 includes the Internet and / or cellular networks, as well as any of a variety of possible public and / or private networks.
[0032] It should be understood that, within the scope of this disclosure, any number of user devices, readers, servers, and data sources can be used within operating environment 100. Each component in environment 100 may include a single device or multiple devices that collaborate in a distributed environment. For example, server 106 may be provided via multiple devices arranged in a distributed environment that collectively provide the functionality described herein. Furthermore, other components not shown may also be included in the distributed environment.
[0033] User device 102 can be a client-side user device on the client side of operating environment 100, while server 106 can be on the server side of operating environment 100. Server 106 may include server-side software designed to work in conjunction with the client-side software on user device 102 to implement any combination of features and functions discussed in this disclosure. This division of operating environment 100 illustrates an example of a suitable environment, and for each implementation, it is not required that any combination of server 106 and user device 102 remain separate entities.
[0034] User device 102 may include any type of computing device that can be used by a user. For example, in one embodiment, user device 102 may be, as described herein, a computing device that... Figure 14 The type of computing device described. By way of example and not limitation, the user device may be implemented as a personal computer (PC), a laptop computer, a mobile or mobile device, a smartphone, a delivery information acquisition device (DIAD), a smart speaker, a tablet computer, a smartwatch, a wearable computer, a personal digital assistant (PDA) device, a workstation, or any combination of these described devices, or any other suitable computing device.
[0035] Reader 108 may include any device capable of receiving information in the surrounding geographical environment. Reader 108 may include an antenna, a transmitter, a receiver, and a processing unit. For example, in one embodiment, reader 108 may be the type described herein. Figure 14 The computing device described. In one embodiment, the reader 108 is a radio frequency transmitter and receiver configured to receive data from a source further described above. Figure 2 and Figure 3 The described RFID tag reads information and, in some cases, writes information to the RFID tag. As previously mentioned, it is conceivable that embodiments of reader 108 may represent multiple readers forming the operating environment 100.
[0036] Data source 104 may include one or more databases and / or data systems configured to make data available to operating environment 100 or contacts. Figure 2The system 200 described may have any of its various components. The data source 104 may be discrete relative to the user device 102 and the server 106, or it may be incorporated and / or integrated into at least one of these components. In one embodiment, the data source 104 includes one or more sensors integrated into or associated with the user device 102, server 106, reader 108, and / or one or more other components, such as those for further details. Figure 3 The package described.
[0037] Operating environment 100 can be used to implement Figure 2 One or more components of the system 200 described herein. The operating environment 100 can also be used to implement various aspects of methods 1100 and 1200, respectively. Figure 11 and Figure 12 The descriptions are provided and used to generate [the desired results]. Figure 5 , Figures 6A-6F , Figure 7 , Figure 8 and Figures 9A-9B The graphical user interface versions are 500, 600, 700, 800, 900, and 950.
[0038] Now for reference Figure 2 And continue to refer to Figure 1 This document provides various aspects of an example computing system architecture suitable for implementing embodiments of the present disclosure, and is generally designated as System 200. System 200 represents only one example of a suitable computing system architecture. Other arrangements and elements may be used in addition to or in lieu of the arrangements and elements shown, and certain arrangements and elements may be omitted entirely for clarity. Furthermore, several elements described herein are functional entities, such as operating environment 100, which may be implemented as discrete or distributed components, or together with other components, and in any suitable combination and location.
[0039] Example system 200 includes network 110, which combines Figure 1 The components of the communication-coupled system 200 described herein include a mapping component 210, a path generator 220, an operation tracker 230, a presentation component 240, and a data storage 250. One or more of these components may be embodied as a set of compiled computer instructions or functions, program modules, computer software services, or an arrangement of processes executing on one or more computer systems, such as those combined with… Figure 14 The computing device 1400 is described.
[0040] In one embodiment, the functions performed by components of system 200 are associated with one or more computerized facility operation applications, services, or routines for operations at a management facility (e.g., sorting operations at a sorting facility). Such applications, services, or routines may operate on one or more user devices (e.g., user device 102), servers (e.g., server 106), may be distributed across one or more user devices and servers, or may be implemented in the cloud. Furthermore, in some embodiments, these components of system 200 may be distributed across a network, including one or more servers (e.g., server 106) and client devices (e.g., user device 102) in the cloud, and / or may reside on user devices such as user device 102. Additionally, although functionality is described herein with respect to specific components shown in example system 200, it is contemplated that in some embodiments, the functionality of these components may be shared or distributed among other components.
[0041] Mapping component 210 can typically be configured to facilitate the creation and maintenance of sensor mappings within a geographic environment (e.g., a facility). As previously described, embodiments of the invention may include multiple sensors configured to track packages being transported through a facility, such as a sorting facility. Briefly turn to Figure 3 A schematic diagram of environment 300 is provided to illustrate how one or more packages interact with various sensor components within the facility. Environment 300 may be a sorting facility as described herein. Environment 300 may include multiple conveyor devices, such as conveyor devices 310A and 310B, which may be collectively referred to as conveyor device 310 unless otherwise stated. Each conveyor device 310 may be responsible for moving packages, such as packages 320A, 320B, and 320C, from one location within environment 300 to another, which may be collectively referred to as package 320 unless otherwise stated. The conveyor devices 310 within environment 300 may be coupled directly or indirectly to each other such that a package moved by one conveyor device (e.g., 310A) may subsequently be moved by another conveyor device (e.g., 310B). In some embodiments, the term "conveyor equipment" may include any suitable components including a conveyor belt (a continuous medium that transports packages from one location to another) and / or one or more rollers or idlers that rotate the belt or (in the absence of a belt) to move the packages.
[0042] Environment 300 also includes multiple sensors, such as readers 330A, 330B, and 330C, which, unless otherwise specified, may be collectively referred to as reader 330, and are positioned to “read” data from packages moving along conveyor equipment 310. Readers 330 determine information about the package from tags attached to it, such as tag 322A attached to package 320A. In some embodiments, readers 330 may be integrated into conveyor equipment 310, for example, reader 330A may be integrated into conveyor equipment 310A. Alternatively or additionally, readers 330 may be integrated into other structures, such as reader 330B configured to read tags on packages on conveyor 310B but attached to a separate structure within environment 300. Furthermore, although readers 330A and 330B are described as relatively stationary due to their respective mounting on physical structures, other readers, such as reader 330C, may be integrated into portable and / or wearable devices. For example, the reader 330C is part of a wearable device worn by an employee who can be responsible for physically moving packages, coordinating the movement of packages, or monitoring the movement of packages.
[0043] As previously described, each reader 330 may include a sensor configured to read tags or other identification information on packages 320 that are within a threshold geographic range and / or signal strength. For example, reader 330A may be positioned such that it can read tag 322 on package 320A as package 320A moves along conveyor equipment 310A. Reader 330A and tag 322A represent example components used in this discussion, but it should be understood that each of readers 330B and 330C and tags 322B and 322C may operate in a similar manner unless otherwise stated. In environment 300, reader 330 may read tags 322 on multiple packages 320. For example, reader 330A may read tags 322A and 322C at different times to obtain information about packages 320A and 320C, respectively. Additionally, it is contemplated that as package 320 is transported across the environment, tags 322 on package 320 may be read by multiple readers 330. For example, when package 320 is within the threshold distance of each corresponding reader, readers 330A and 330C can read tag 322C on package 320C.
[0044] Embodiments of the reader 330 (e.g., reader 330A) and tag 322 (e.g., tag 322A) in environment 300 may be radio frequency identification (RFID) devices, near field communication (NFC) devices, or any other suitable combination of equipped reader and / or tag devices, communicating via one-way or two-way communication when within threshold geographic range and / or signal strength. For example, tag 322A attached to package 320A may include a radio transponder that receives signals from and transmits signals to reader 330A, and reader 330A may include a receiver, or in some embodiments, a transponder that receives and transmits signals. Reader 330 and tag 322 may communicate via active, passive, or semi-passive communication. For example, one embodiment of tag 322 may include an active RFID tag having at least one input interface for connection to a sensor located in reader 330. Another embodiment of tag 322 may be a passive RFID tag, which is interrogated by an interrogator signal from reader 330 before sending a signal to reader 330 in response.
[0045] It should be understood that in some embodiments, tag 322 and reader 330 are not limited to RFID, NFC, or similar technologies, but can broadly include other embodiments that read any data from any suitable medium. For example, tag 322 may include or contain paper or other media that are computer-readable marks comprising barcodes, QR codes, data matrix codes, smart codes, or other codes or identifiers. In these embodiments, any suitable associated machine reader can be used to read the code of the identifier, such as an electronic scanner (e.g., a barcode scanner) or a device with optical or infrared sensors. Therefore, reader 330 may represent an electronic scanner, a QR code reader, or any of various suitable readers.
[0046] Tag 322 can (actively or passively) provide identification information about the package 320 coupled to it, such as a package identification number. Additional identification information, such as the destination, type, and size of the package 320, can be provided. For example, Figure 3Tag 322A is described, which includes a package ID number, package destination, package size, and package type for package 320A. In some embodiments, reader 330 may utilize RFID or NFC technology to receive a signal with some identification information from tag 332, but may also include optical sensors for determining other information about package 320. In some embodiments, tag 322 includes an internal clock and includes the time when a signal is sent to reader 330. Additionally or optionally, reader 330 may have an internal clock to associate the time of signal reception with the identification information received from tag 322. Furthermore, an indication of the signal strength received from tag 322 can be determined and associated with the signal. For example, the signal strength may be stronger when the signal is received by reader 330 which is closer to tag 322, such as... Figure 3 The signal is transmitted from tag 322A to reader 330A. Additionally, if a light sensor is used, reader 330 can receive an indication of the position of tag 322 based on a view of tag 322 from the light sensor.
[0047] For reference Figure 1 As described, the reader 330 can be communicatively coupled to one or more user devices, such as user device 102, and / or one or more servers 106, any of which can perform the functions of the components of the computing system 200 described herein. Additionally or alternatively, the reader 330 can be communicatively coupled to, for example... Figure 2 The data storage 250 stores information that will be used by one or more other components of the computing system 200. Thus, the information provided by the reader 3330 (including information from the tag 322) can be used to create a map of the facility (e.g., environment 300), track packages, and / or track operations within the facility. In some embodiments, the reader 330 can also be communicatively coupled to one or more other components responsible for transporting packages within the facility. For example, information from the reader 330 can be used to adjust the operation of one or more conveyor devices 310 within the facility, as well as loading / unloading equipment and / or storage units.
[0048] It should be recognized that, based on various factors such as the location where the package is unloaded, its next shipping destination, package type, package size, the operating conveyor equipment, and / or the presence and location of any obstructions on the conveyor equipment, there are various routes that each package can take within the sorting facility. This can be achieved by utilizing, for example... Figure 3The system uses information from the sensors in reader 330 and a mapping of sensors within the facility to track the path of each package. Mapping component 210 in system 200 can create mappings, which may also be referred to herein as profiles assigning sensors to workspaces within the facility. As used herein, "workspace" can refer to a discrete geographic location within the facility that can be used to sort packages. A workspace can be a physical structure within the facility or at least a portion of a physical structure. Typically, each workspace is within at least a portion of the range of a sensor, such that each workspace indicates a specific geographic area in which a sensor can read tags on packages. In some embodiments, a workspace can represent the entire conveyor equipment or a portion of the conveyor equipment. A workspace can also represent loading / unloading platforms, shafts or chutes, platforms, storage containers, holding areas, or transfer areas. Reference Figure 3 For example, reader 330A can be mapped to a part of conveyor equipment 310A; reader 330B can be mapped to a part of conveyor equipment 310B; and reader 330C can be mapped to a transition area or junction between an end of conveyor equipment 310A and another conveyor equipment or packaging vehicle.
[0049] The configuration file representing the mapping may include a list of sensors within the sorting facility or an area within the sorting facility to be monitored. Sensors in the configuration file may correspond to, for example, a wearable device like reader 330C, or readers at fixed physical locations like readers 330A and 330B. For each sensor, a workspace is assigned, and in an exemplary embodiment, additional information identifying attributes of the sensor and / or location is assigned. For example, for each sensor, the configuration file may indicate the type of sensor, which may correspond to the operation of the workspace. Examples of sensor types may include unload, primaryin, primaryout, metro, DAarea, wearable, package car, highvalue, surepost, SLAW, and / or smallsort. Additionally, the configuration file may indicate whether a sensor is a start node or an end node. As used herein, a start node indicates the location that marks the beginning of a valid package path (e.g., the location where the path is unloaded into the facility), and an end node indicates the location that marks the end of a valid package path (e.g., the location where the package is stored for transport out of the sorting facility). Typically, sensors that do not indicate a start or end node represent intermediate locations that the package may pass between the start and end nodes when traversing the facility.
[0050] In some embodiments, the profile also indicates whether multiple antennas are present on the sensor, and some embodiments indicate whether a printing instruction is assigned to a workspace location to indicate whether any printing operation for a package should be performed at that location. Additionally, in some embodiments, X / Y coordinates can be identified. The X / Y coordinates can be the coordinates of the sensor itself, or they can be the coordinates of the center area of the assigned workspace location. When X / Y coordinates are included in the profile, they can be determined according to a Cartesian coordinate system representing the sorting facility, such that the origin of the coordinate system can be defined by the location of the facility (e.g., the lower left corner of the facility).
[0051] In an exemplary embodiment, the profile also includes location adjacency information indicating a valid connection or handover between workspace locations. As used herein, a valid connection refers to two workspace locations being adjacent to each other such that a package, while traveling through the facility according to a predetermined path, is read by a sensor in a second workspace location immediately after being read by a sensor in a first workspace location. For indicating a valid connection in the profile, a predetermined path can be considered one of the paths that can be selected for any given package. As described in more detail below, there may be situations where a package is not on the correct path due to printing errors, employee errors, and / or conveyor equipment handover errors. In these cases, the package may still be on the wrong path for that particular package, but may still be on a path with a valid connection between sensor reads. However, an invalid connection may occur when consecutive reads of a package do not match any path the package might have traversed, for example, if the package accidentally falls from one conveyor equipment to another.
[0052] In an exemplary embodiment, valid connections are indicated in the location adjacency matrix within the configuration file. Figure 4 The example location adjacency matrix 400 is depicted. Location adjacency matrix 400 includes valid connections between locations 1, 2, and 3; it should be understood that location adjacency matrix 400 is provided as a simplified example, and the location adjacency matrix within the facility's configuration file may have more workspace locations.
[0053] Each workspace location in the configuration file can be represented by rows and columns of a location adjacency matrix. Each cell within the location adjacency matrix can include a "1" indicating a valid connection between two locations corresponding to the row and column, or a "0" indicating no valid connection between the two locations. The location adjacency matrix 400 can also indicate directional relationships between locations, such that a specific order of sensor reads with valid connections exists. In some embodiments, rows indicate previous locations and columns indicate subsequent locations, such that cells at the intersection of rows and columns indicate the presence or absence of a valid connection from the workspace of a row to the workspace of a column. For example, a valid path within the location adjacency matrix 400 could be a sequence from location 1 to location 2 to location 3. Thus, the location adjacency matrix 400 indicates a valid connection at cell 402 when moving from location 1 and location 2, and an invalid connection at cell 404 when moving from location 2 to location 1.
[0054] In an exemplary embodiment, a person skilled in the art can create an initial mapping of sensor locations to workspace locations. Thus, mapping component 210 can receive input from a user, including a location adjacency matrix, indicating information about the configuration file. The initial mapping and adjacency information can be verified using data from packages moving through the facility. Thus, in some embodiments, mapping component 210 receives reference package tracking data, which includes multiple scans of packages moving through the facility. Reference package tracking data can be received from, for example, the memory of data storage 250, or directly from, for example… Figure 1 The sensor of reader 108 receives the data. Reference package tracking data can be compared with a configuration file to identify potential errors in the configuration file. For example, the reference package tracking data can be used to check for missing expected location attributes, missing values recorded for location attributes, whether each location is a start node or effectively follows at least one other location, whether each location is an end node or effectively precedes at least one other location, and whether each location in the reference package tracking data exists in the configuration file. Additionally, mapping unit 210 can determine whether any location in the reference package tracking data appears as the start of a package's path but is not identified as a valid start node in the configuration file, whether any location in the reference package tracking data appears as the end of a package's path but is not identified as a valid end node in the configuration file, and whether each handover in the baseline package tracking data is valid based on the configuration file. Any errors may be flagged, which may represent a mismatch between the reference package tracking data and expectations of the configuration file. In some embodiments, errors are flagged for manual inspection by the user, and the user can determine whether to update the configuration file to be consistent with the reference package tracking data. The updated configuration file can be saved to memory, such as data storage 250.
[0055] In some embodiments, location adjacency information can be automatically determined from reference package tracking data. For example, valid connections can be determined by applying one or more machine learning algorithms to the reference package tracking data. In some embodiments, the identification of locations as start and stop nodes can also be performed automatically.
[0056] In some cases, updating information in the profile can be based on sensor relocation or reconfiguration. For example, based on a comparison of the profile and reference package tracking data, a missing read from a sensor can be detected if the reference package tracking data does not include reads expected from valid connections in the profile. Furthermore, a leaked read from a sensor can be detected if the reference package tracking data includes reads from two sensors for the same package within a predetermined time window, indicating that one sensor is reading a package in the workspace location assigned to the other sensor. In response to detected missing and leaked reads, the location and configuration of one or more sensors can be adjusted to reduce the likelihood of future errors, and the profile can be updated to reflect changes to the sensors.
[0057] This profile can be used to identify the path of packages being transported through the facility based on new package tracking data from sensors. Figure 2 The path generator 220 can typically be configured to generate a package's path as it moves through the facility, based on package tracking data from multiple sensors. As the package moves through the facility, multiple sensors (e.g., readers 330) can read tags (e.g., 322) attached to the package, and the information from those reads (referred to as package tracking data) can be used to determine the package's location within the facility, including determining possible transfers from one location to another. Therefore, for each package, the path generator 220 can aggregate the package tracking data from the multiple sensors and utilize a profile to determine a sequence of workspace locations that matches each read event in the package tracking data (e.g., a sensor scan of a tag).
[0058] In some embodiments, package tracking data is purged before being used to generate package paths. Purge may include: for each read event in the package tracking data, normalizing read attributes to allow for comparison of strings, data, and timestamps; replacing invalid signal strengths with full-strength values; normalizing location values to distinguish between wearable and static sensors as indicated by the sensor type in the configuration file; removing all read events as exact copies; and removing read events without specific information (e.g., package ID, timestamp, or sensor identifier). In some embodiments, purge may include additional functionality, such as removing read events for packages with package IDs that do not match a valid format; removing scans of packages with a total number of read events exceeding a threshold; and removing read events for packages marked as having left the facility. In some embodiments, the functionality performed during purge may be user-specified.
[0059] Using package tracking data (which can be cleared as described above), route generator 220 can determine the time series of reading events based on the timestamp of each reading event, and determine the time series corresponding to the workspace location of the sensor associated with the reading event. For example, if the package tracking data has reading events from sensors assigned to workspace locations A, B, and C, respectively, associated with the same package ID with timestamps of 10:42:10 AM, 10:45:50 AM, and 10:49:50 AM, the route generator can determine the path of a particular package from A to B to C.
[0060] At least due to the large number of packages being sorted in the facility, the number of sensors, and the overlap of paths, generating a package path can include determining the most probable location from multiple locations associated with a read event for the same package. In some embodiments, package tracking data for multiple packages is received from sensors. Thus, generating a path can include first sorting read events occurring for a common package ID, and then sorting by timestamp. For each unique package ID, the timestamp of the corresponding read event is used to determine a possible location within a predetermined time window. For each read event, the amount of time since the previous read event with the same package ID is calculated and compared to a predetermined time window (e.g., 5 seconds). If the calculated amount of time satisfies the window, the read event can be considered "in the window". In an exemplary embodiment, satisfying the predetermined time window includes not exceeding the predetermined time window. Additionally, in some embodiments, when the previous location and the location of the new sensor event are the same, the read event can be defined as "in the window" even if the read event is outside the predetermined window (i.e., beyond the predetermined window), indicating that the package has not moved. Read events that do not satisfy the predetermined time window can be considered "outside the window". If a read event is "in the window", it can be merged with other read events in that time window, and read events that are "not in the window" can be added to subsequent time windows.
[0061] It is understood that for the same package ID, there can be multiple read events within the same time window. Thus, the path generator 220 can determine the most probable location of the package within that time window. When read events originate from the same sensor, the package's location is determined as the workspace location assigned to that sensor. However, there may be situations where multiple sensors provide read event data for the same package ID within the same time window. In an exemplary embodiment, the path generator 220 applies one or more heuristic rules to determine which read event (and therefore which sensor) should be utilized when determining the workspace location of a time window. In some embodiments, the path generator 220 can determine the most probable location by determining the first read event to occur within the time window and determining the workspace location assigned to the sensor providing that read event. In other embodiments, the path generator 220 can determine the most probable location by determining the read event with the highest signal strength value among all read events within the time window of a particular package and determining the workspace location assigned to the sensor providing the read event with the highest signal strength value. In other embodiments, the path generator 220 may select the most probable location as the most frequently occurring location. This most frequently occurring location could be the location that appears most frequently in the reference tracking data, the location that appears most frequently in the tracking data for all packages within the facility within a given time frame, or the location that appears most frequently for a specific tracked package within that time window. In another embodiment, the path generator 220 may select the most probable location of a package within a given time window as the nearest location.
[0062] After determining the location for each time window, path generator 220 can combine the determined locations to create the original path for the package, where a read event for the package is received within that time window. The original path can represent the initial determination of the time series of workspace locations through which the package moves within the facility.
[0063] Path generator 220 can modify the original path by inserting new positions and / or deleting existing positions. Modifications can be made in response to errors detected in the original path using the configuration file (e.g., invalid start / end nodes or illegal handovers). For example, for a first position representing the first position in the original path in a time sequence, path generator 220 can determine whether that position is identified as a valid start node in the configuration file. If the first position is not a valid start node, path generator 220 can determine that the first position is incorrect or that another position should be added to the beginning of the original path. A similar determination can be made for whether the last position in the original path is identified as a valid end node in the configuration file. Additionally, path generator 220 can identify an illegal handover by determining that a pair of consecutive positions in the original path does not form a valid handover identified in the configuration file. For example, if the original path includes a sequence of positions A, E, F, G, and I, and the configuration file identifies positions B and C as the only next valid positions after position A, then position E can be determined to represent an invalid position, indicating that position E should be changed, or one or more additional positions should be inserted between positions A and E.
[0064] For each detected error, the path generator 220 can determine possible alternative paths by adding and / or deleting locations, such that the path for the package ID includes a valid start node, a valid handover, and, in some respects, a valid end node. This process can result in the identification of multiple valid alternative paths, and the path generator 220 can apply one or more algorithms to automatically determine the most probable path. For example, in an exemplary aspect, the path generator 220 can utilize an edit distance algorithm to automatically determine the most probable path. When applying the edit distance, the total number of modifications required to change the original path to an alternative path is determined. In some embodiments, modifications to possible paths are weighted by the probability of occurrence, which can be determined based on historical package tracking data, wherein modifications that result in handovers occurring more frequently in the historical data can be weighted to support more probable paths (e.g., less weighted for smaller edit distances). In some aspects, the possible modified path with the minimum edit distance is selected as the path for the package.
[0065] Thus, the path generator 220 determines the possible paths the package takes through the facility. Furthermore, in exemplary embodiments, the path generator 220 determines the path taken by the package in real-time or near real-time, allowing the path to be determined while the package is still being transported through the facility. In embodiments where the path is determined in real-time or near real-time, the determined path may be only a partial path reflecting the path the package has taken so far, as indicated by received package tracking data. In some embodiments, the path generator 220 receives package tracking data continuously. In some embodiments, the path generator 220 receives package tracking data at regular intervals (e.g., every minute). When additional tracking data with a read event for the package is received, the path determined for that package may be updated. Newly received package tracking data for the package can not only indicate a new location but can also be used to correct previously determined locations within the path. Because the path generator 220 can determine partial paths, in some embodiments, the path generator 220 may not determine a valid end point, as the package may not have yet reached a valid end point within the facility. In some embodiments, the path generator 220 determines only if there is a valid end node in the package tracking data for the package, where the time elapsed since the last read event or the first read event of the package exceeds a predetermined threshold amount of time, indicating that the package may have left the facility.
[0066] Embodiments of system 200 may also include an operations tracker 230, which is typically configured to track operations within a sorting facility using paths generated for one or more packages. Figure 2 As shown, embodiments of the operation tracker 230 may further include a path error detector 232, a lag detector 234, an employee attributor 236, and a capacity determiner 238. The operation tracker 230 or any sub-component may be implemented on the same computing device as the mapping component 210 and / or the path generator 220, or may be implemented on a separate computing device, such as a separate server, enabling these functions to be performed in a distributed architecture.
[0067] The path error detector 232 is typically configured to detect errors in the path that a package is taking or has taken through the facility. A path error typically occurs when the path of a package determined by the path generator 220 does not match the path expected to be taken by the package based on how it was sorted. Path errors may be caused by incorrect loading of the package when transport has begun or incorrect sorting of the package during transport, and therefore may be referred to herein as incorrect sorting or incorrect loading. In some cases, path errors may occur due to printing errors in the package loading instructions or employees placing packages on the wrong base or conveyor equipment.
[0068] When a package is unloaded into a sorting facility, sensors can generate an initial read event and determine the expected path based on the package's next intended destination after the sorting facility (e.g., a shipping destination or the next facility within the network). In some embodiments, the expected path can also be determined based on package type and / or package size. A path error detector 232 can compare the actual path taken by the package (as determined by the path generator 220) with the expected path determined based on the initial read event. The path error detector 232 can determine that a path error has occurred when the location within the path determined by the path generator 220 (i.e., a time series of workspace locations) is inconsistent with the package's expected path.
[0069] In an exemplary embodiment, a graphical user interface component is generated in response to a path error detected by the path error detector 232, as follows for the presentation component 240 and Figure 5 , Figures 6A-6F and Figure 10 As described. In some embodiments, the path error detector 232 can also determine the next workspace location to which the package should be transported so that the package can be placed on the intended path. This next location can be the location within the intended path that is closest to the current location of the package. Furthermore, in some aspects, only certain locations along the path may allow automatic or manual intervention to correct the package's path. These locations, which may be referred to as checkpoint locations, can all be workspace locations where the transport of the package can be stopped and transported in another direction by an employee or by a signal sent to one or more arm, shaft, and / or conveyor equipment components. In such embodiments, the path error detector 232 can determine the nearest checkpoint location on the package's current path and send a signal to, for example, a sorting component of a conveyor equipment and / or a user device, so that the package is picked up at the identified checkpoint location and transported manually or automatically to the workspace location on the intended path.
[0070] The sluggishness detector 234 is typically responsible for determining when a delay occurs in the speed of package transport within the facility or a specific area of the facility. For example, delays may occur due to a large volume of packages, path obstruction, and / or equipment malfunction or damage. Therefore, at least some packages may not be transported across the facility as quickly as expected. The sluggishness detector 234 can utilize time information from read events to determine the length of time a package takes to move between workspace locations within a defined path. For example, the path generator 220 can determine that a package has traveled between locations A and B based on a read event occurring at 10:42 AM by a reader mapped to location A and at 10:50 AM by a reader mapped to location B. Based on this information, it can be determined that it took 8 minutes for the package to move from location A to location B.
[0071] The lag detector 234 can determine the presence of lag by comparing the length of time a package takes to move between two locations with a predetermined threshold time length. The predetermined threshold time length can be specific to the two locations considered for the package (e.g., there can be a threshold time specific to the time between locations A and B and another threshold time specific to the time between locations B and C). The threshold time between the two specific locations can be based on historical package tracking data. The threshold time across the two locations can be a set deviation (e.g., one standard deviation, two standard deviations, etc.) from the average length of time a package takes to move between the two locations in historical package tracking data. In another embodiment, the threshold time length is based on a set variance of the average time length determined from historical package tracking data. For example, if the average time length is 2 minutes and 15 seconds, the predetermined threshold length can be approximately 10% longer than the average length, or 2 minutes and 29 seconds. The set amount of variation (i.e., 10% in the previous example) can be the same or different for different workspace location pairs. Alternatively, the threshold time length can be user-defined. The predetermined time length of the path can be determined from a configuration file or retrieved from another data store.
[0072] In one exemplary aspect, the delay detector 234 can determine that a delay has occurred when the time taken for a package to travel between two locations meets a predetermined threshold time length. The predetermined threshold time length can be met when the determined time length of the tracked package is greater than or equal to the threshold time length, or in other aspects, when the determined time length is greater than the threshold time length.
[0073] While the two locations used to detect sluggishness can be start and end nodes within a sorting facility (e.g., unloading and loading locations), more granular detection of sluggishness within the facility would be beneficial to identify problems more quickly while the package is in transit. Thus, the two locations considered by the sluggishness detector 234 can form sub-paths of the package's larger path, and a predetermined threshold time length can be specific to that sub-path. In some embodiments, the threshold time length for each valid sub-path (i.e., a sub-path between two locations with valid connections) is included in a configuration file. When package tracking data for a particular package is being received and the path is being determined, the sluggishness detector 234 can detect sluggishness by comparing the time taken for the package to complete each sub-path with the corresponding threshold time length. In response to detecting sluggishness, a signal can be sent to one or more user devices to provide a sluggishness alarm, which can then be remedied. This alarm can be provided in the form of a graphical user interface component generated in response to the sluggishness detector 234 detecting sluggishness, as described below for presentation component 240 and Figure 6C As described.
[0074] In some embodiments, lag can also be detected when multiple read events for the same package identify the package as being in the same workspace location for more than a predetermined time threshold. In this case, it can be determined that the package has not moved through the workspace location. Multiple read events may originate from the same reader, and in some embodiments, the predetermined threshold time length applied to packages at the same location may be less than the predetermined threshold time length applied when the package moves between different locations. Alternatively, lag from packages that have not moved through the workspace location can be identified based on the number of consecutive read events from the same reader with the same package ID. For example, if the number of consecutive read events from a particular package (as identified by the package ID) from the reader meets a threshold number, it can be determined that the package has not moved from the workspace location associated with that reader.
[0075] Employee attribution 236 is typically responsible for attributing package readings and errors to specific employees working within the facility. At least some readers used for reading packages being transported through the facility can be assigned to specific employees. For example, an employee wearing a wearable reader may be assigned that reader indefinitely or temporarily during a specific time frame (e.g., during an employee's shift). Reader assignment to an employee can be completed at the start of their shift when the employee checks in or otherwise checks out the reader device, or when the employee reports to a specific workspace location with the reader. It is also conceivable that each employee may be assigned his or her own reader indefinitely, such that reader-to-employee assignments are not strictly aligned with the employee's working hours. The reader-to-employee assignments can be stored in a database, such as data storage 250.
[0076] In some embodiments, the assignment of a reader to an employee may include an associated date and time. For example, the assignment may include a start time, which could be the date and time an employee is assigned to the reader. The start time may correspond to the start time of an employee's shift, the time an employee checks the reader, and / or the time an employee logs into the electronic reader. The assignment may also include a stop time, which could be the date and time an employee stops being assigned to the reader. The stop time may correspond to the end time of an employee's shift, the time an employee logs into the reader, the time an employee logs out of the reader, and / or the time a new employee is assigned to the same reader (e.g., by checking out or logging into the same reader).
[0077] When a package is transported through the facility and a reading event occurs, each reading event provides information identifying the reader that is providing the reading event data, as well as the date and time of the reading event. This information can be used to identify an employee who can be responsible for the reading event or to oversee the transport of packages around the reading event. In some embodiments where readers are assigned to specific employees indefinitely, employees can be identified by retrieving the reader-to-employee assignment without determining the date and time information. Even in embodiments where readers are temporarily assigned to employees, such as when a reader is assigned to a new employee at the start of an employee's shift, if attribution determination is performed within a threshold time period, attributing an employee to a reading event can be done based on identifying the employee assigned to the reader providing the reading event data, thus providing sufficient confidence that no new assignment has occurred between the time of the reading event and the attribution.
[0078] In some embodiments, the time and date of a read event can also be used to identify the employee to whom the read event is attributed. For example, if a reader is assigned to employee 1 between 6:00 AM and 2:00 PM on May 1st, and then to employee 2 between 2:00 PM and 10:00 PM on May 1st, the date and timestamp of the read event captured by that reader can be used to determine whether the read event is attributed to employee 1 or employee 2. For example, employee attributor 236 can attribute a read event captured at 11:30 AM to employee 1.
[0079] Additionally, employee attribution 236 can attribute detected errors to specific employees. For at least some read events from which a path error (e.g., incorrect loading or incorrect sorting) is detected, the error can be attributed to the employee assigned to the relevant reader during the time and date the error was detected. For example, if the expected package path is locations A, B, G, and H, but the determined package path is locations A, B, C, and D, then an error occurs when the package is transported from location B to location C instead of from location B to location G, and this error can be attributed to the employee assigned to the reader mapped to location B. The date and timestamp of the package read event at location B can also be used to identify the employee responsible for the error.
[0080] In some embodiments, the employee attributor 236 may determine one or more metrics for an employee based on attributed read events and, in some respects, on errors. The one or more metrics determined by the employee attributor 236 may include productivity metrics and accuracy metrics. A productivity metric may be the count of packages sorted by a particular employee within a relevant time period. The package count can be determined by aggregating all read events attributed to an employee within the relevant time period. The relevant time period may be a single shift of the employee, such as a 12-hour shift on a specific date, or it may be a longer period, such as a week, a month, three months, or other time length. In some embodiments, multiple read events may exist attributable to the same package for an employee, and therefore, after aggregating all read events, read events containing duplicate package IDs can be removed, such that the package count includes only read events for unique packages.
[0081] An accuracy metric can be the count of packages missorted by a particular employee during a relevant time period, and can also be determined by aggregating errors attributed to a particular employee within the relevant time period. In some embodiments, aggregating errors includes removing read events with duplicate package IDs, such that the number of packages used for accuracy counting includes only unique errors. Furthermore, in some embodiments, the accuracy metric is a measure of errors relative to productivity. Therefore, in some embodiments, the accuracy metric can be the percentage of packages attributed to an employee that do not have errors attributable to that employee. For example, if an employee's package count is 200 and the error count is 20 during the relevant time period, it can be determined that the number of packages the employee did not missort is 180 and the accuracy metric can be 90%. In this example, the error rate for the employee could be 10%.
[0082] Some embodiments of the employee attributor 236 can also predict the likelihood that a particular employee will cause a path error (e.g., incorrect loading or incorrect sorting). One or more machine learning models can be used to predict the error. In an exemplary aspect, a logistic regression model is employed to predict the probability of an error. The employee attributor 236 can utilize machine learning models to predict errors based on the employee's historical accuracy information (e.g., error counts and accuracy metrics). The error prediction output by the employee attributor 236 can be a quantitative probability (e.g., a 60% probability of an error for a particular employee) or a categorical probability (e.g., a high, medium, or low probability of an error for a particular employee).
[0083] Additional contextual information, such as workspace location, day of the week, time, and elapsed time since the start of the shift, can be used to predict employee errors. For example, employees are more likely to make mistakes at the end of their shift or late at night. Machine learning models can be trained using data from a reference population or data specific to each employee. Thus, the machine learning model can predict the probability of an employee's errors not only based on a generalized higher probability of errors occurring at the end of a shift, but also based on historical data showing that a particular employee has made more errors at the end of their shift. The Least Absolute Shrinkage and Selection Operator (LASSO) technique can be used to select specific features for training and running the machine learning model. Thus, in an exemplary aspect, employee attributor 236 can utilize a logistic regression LASSO model.
[0084] The quantity determiner 238 is typically responsible for determining the quantity of packages at one or more locations within a facility over a period of time. The time period for determining the quantity can be set or modified by the user. In some aspects, this time period is in increments of minutes (e.g., 5 minutes or 10 minutes), hours (e.g., 1 hour, 12 hours, 24 hours), or longer time periods.
[0085] The quantity determiner 238 can determine the parcel volume of a workspace location, path or sub-path, and / or the entire facility. To determine the parcel volume of a workspace location, the quantity determiner 238 can determine the count of unique parcel IDs associated with a path containing that workspace location (which may be generated by the path generator 220) within a given time period. Similarly, to determine the parcel volume of a path or sub-path, the quantity determiner 238 can determine the count of unique parcel IDs associated with that path or sub-path, where the path or sub-path is defined by a sequence of locations. For example, to determine the volume of a sub-path between location A and location B, the count of unique parcel IDs associated with the path containing the sequence of locations A and subsequent locations B would be determined by the quantity determiner 238. Furthermore, the quantity determiner 238 can determine the total parcel volume processed in the facility within a specific time period by identifying the count of unique parcel IDs associated with read events in parcel tracking data, or in some respects with all paths generated by the path generator 220. In some embodiments, when determining the quantity of packages in a facility directly from package tracking data, the quantity determiner 238 may utilize only a subset of read events from readers, such as readers associated with loading or unloading workspace locations, to reduce the number of read events that must be processed to identify a unique package ID. In an exemplary embodiment, a graphical user interface component is generated to indicate one or more quantities determined by the quantity determiner 238, as described below with respect to presentation component 240 and Figure 7 , Figure 8 and Figure 10 As described.
[0086] System 200 may also include a presentation component 240, which is generally responsible for presenting one or more outputs of components of system 200 to a user, such as a package path determined by path generator 220 or facility operations determined by operation tracker 230. In one embodiment, path generator 220 and / or operation tracker 230 may operate in conjunction with presentation component 240 or may be implemented as part of presentation component 240. Presentation component 240 may include one or more applications or services on a user device, across multiple user devices, or in the cloud. For example, in one embodiment, presentation component 240 manages communications such as notifications and alerts presented to the user across multiple user devices associated with the user. Based on presentation logic and / or other user data, presentation component 240 may determine on which user devices(s) content is presented, and the presentation context, such as how it is presented (including in what format and how much content, which may depend on the user device or context), when it is presented, or other such aspects.
[0087] In some embodiments, presentation component 240 generates user interface (UI) features associated with or used to facilitate the presentation of these user aspects to the user by path generator 220 and operation tracker 230. Such features may include UI elements (e.g., icons or indicators, graphical buttons, sliders, menus, audio cues, alerts, alarms, vibrations, pop-ups, notification or status bar items, in-app notifications, or other similar features for user interaction), queries, and prompts. One or more of these features may be combined to create a user interface, such as a graphical user interface, for tracking package paths within a facility, operational errors (e.g., loading errors or errors causing delays), package volume within the facility, and / or employee productivity.
[0088] Figure 5 An example graphical user interface (GUI) 500 for tracking packages within a sorting facility is depicted. GUI 500 can be generated from an embodiment of presentation component 240. GUI 500 can be displayed on a user device 502, which can be... Figure 1 An embodiment of user device 102. A GUI 500 may be provided on user device 502 as part of a package tracking application running on user device 502 or on a remote server accessed by user device 502.
[0089] GUI 500 may include UI elements indicating the previous or current location of a package. Package identifier 520 includes text identifying a specific package whose location is being tracked. In an exemplary aspect, one feature of GUI 500 is that it can provide a schematic mapping of package trajectories throughout the facility. For example, GUI 500 includes a package map 510 that schematically represents the layout of the sorting facility and identifies the location of the package identified by package identifier 520 within the facility. Thus, package map 510 can depict one or more workspace locations where packages can be found. For example, package map 510 depicts multiple loading stations 540, multiple conveyor devices 550, and multiple unloading stations 560. Additional workspace locations may be depicted depending on the layout of a particular sorting facility. Each workspace location within package map 510 can be mapped to a location defined by... Figure 2 The embodiment of the mapping component 210 creates one or more readers within the configuration file.
[0090] The package map 510 may also include one or more package location indicators that indicate the specific location (i.e., workspace location) of packages within the sorting facility. Additionally, it can be accessed via... Figure 2 The path generator 220 is used to determine the location of packages represented in the package map 510. Thus, package location indicators can be based on readings of packages as they travel through sorting facilities represented in the package map 510. The package map 510 has a location indicator 572 at unloading station 562, a location indicator 574 at a portion of conveyor 552 corresponding to PD-2A, a location indicator 576 at a portion of conveyor 552 corresponding to PD-2B, a location indicator 577 at a portion of conveyor 552 corresponding to PD-2C, a location indicator 578 at the end of conveyor 552 corresponding to the pre-loading area, and a location indicator 579 at loading station 542. The package map 510 may also include one or more direction indicators, such as arrows 554, indicating the direction in which packages travel along the path.
[0091] The graphical user interface 500 may include a location table 530 that includes descriptors for tracking the location of packages within the facility and the times corresponding to those locations. These times may be the times of read events mapped from a reader to an identified workspace location. As shown, each location in the location table 530 corresponds to one of the location indicators (e.g., location indicator 572) in the package map 510.
[0092] In one exemplary aspect, one or more elements in GUI 500 are user interface elements that a user can interact with to modify GUI 500. For example, package identifier 520 may have a drop-down menu and / or search bar that allows a user to search for or select another package. When another package is selected or searched, package map 510 and location table 530 may be updated to reflect the location of the other package.
[0093] Figures 6A-6F A series of screenshots depicting an example graphical user interface (GUI) 600, which can be presented to a user to track a package as it moves through a facility. The GUI 600 can be generated by an embodiment of the presentation component 240 and utilizing one or more other components of the system 200, such as a path generator 220 and an operation tracker 230. Furthermore, the GUI 600 can be displayed on a user device 602, which may be... Figure 1 An embodiment of user device 102. GUI 600 may be provided on user device 602 as part of a package tracking application running on user device 602 or on a remote server accessed by user device 602.
[0094] Similar to Figure 5 GUI500, Figures 6A-6F The GUI 600 shown may include UI elements indicating one or more locations of packages. Thus, the GUI 600 may include a package identifier 620 having a descriptor identifying a specific package whose location is being tracked. The GUI 600 may also include a package map 610, which schematically represents the layout of the facility and identifies the location of the package identified by the package identifier 620 within the facility. Thus, the package map 610 may depict one or more workspace locations where packages can be found. For example, the package map 610 depicts multiple loading stations 640, multiple conveyor devices 650, and multiple unloading stations 660. Additional workspace locations may be depicted depending on the layout of a particular sorting facility. Each workspace location within the package map 610 can be mapped to a location defined by… Figure 2 The embodiment of the mapping component 210 creates one or more readers within the configuration file.
[0095] GUI 600 may also include a location table 630, which includes descriptors for tracking the location of packages within the facility and the times corresponding to those locations. These times may be the times of read events mapped from the reader to the identified workspace location. As shown, each location in location table 630 may correspond to a location indicator in package map 610, such as location indicator 672 discussed below.
[0096] As previously described, embodiments of this disclosure can track the location of a package in real time as it is moved through the facility. Thus, the GUI600 can be updated either in real time or as the package moves through the facility. Figures 6A-6F A series of screenshots of the GUI600 depict how the GUI600 is updated as the location of the package is further determined, for example, with a new location in the location table 630 and a new or moved location indicator. Additionally, as described below, the GUI600 can be updated with one or more status alarms or warnings when the package is moved and tracked through the facility. For simplicity, [further details are provided]. Figures 6A-6F The screenshots in the document serve as an example of updates to GUI600 as a package is moved through the facility; however, it is to be expected that other updates to the GUI may exist, which are not specifically described in separate screenshots here but may be presented on the user device.
[0097] exist Figure 6A In the package map 610, a location identifier 672 indicates that the package was last located at unloading station 662. The location table 630 may also include rows 632, each containing text identifying the workspace location corresponding to location identifier 672 and a timestamp of a read event corresponding to location identifier 672. Figure 6B In this process, location identifier 672 is moved from unloading station 662 to workspace location 652, which can be referred to as PD-1, and a new row 634 is added to location table 630 to add a new location and timestamp corresponding to workspace location 652. Figure 6B In addition, the graphical user interface 600 also includes a warning state 680 indicating an error in the package location. Warning state 680 can be generated, or in some cases in response to... Figure 2 An embodiment of the path error detector 232 updates the warning state 680 to indicate the error. Here, warning state 680 indicates that a package was missorted, the package was seen at PD-1, and the correct workspace location is PD-2.
[0098] exist Figure 6C In the process, location identifier 672 is moved from workspace location 652 to workspace location 654, which can be called OrangeIn, and a new row 636 is added to location table 630 to add a new workspace location and timestamp corresponding to workspace location 654. Figure 6C In the GUI600, warning state 680 is still included, which has been updated to indicate that previous package error sorting continues, but now identifies more recent workspace locations. Warning state 680 has also been updated to add a package delay warning. Package delay can be determined based on the time between consecutive package reads, such as in conjunction with... Figure 2 The hysteresis detector 234 described in the text.
[0099] exist Figure 6D In the table, location identifier 672 is now located at workspace location 656, which can be referred to as PF-2, and new rows 638 and 642 have been added to location table 630 to include the two new locations and their corresponding timestamps. As shown in table 630, the package moves from OrangeIn to Preload, then to PF-2, and the package map 610 indicates that the last detected package location is workspace location 656 corresponding to PF-2. Although not shown separately, it should be understood that in Figure 6D Prior to the update shown, GUI 600 may have already been updated with the corresponding positions of line 638 and position indicators 672 on the package map 610. Figure 6D In the GUI600, warning status 680 is still included, which is updated to indicate that the previous sorting error has been corrected because the package is now in the correct location and there are no warnings.
[0100] exist Figure 6E In this process, location identifier 672 is moved from workspace location 656 to workspace location 658, which can be referred to as PE-2, and a new row 644 is added to location table 630 to add a new location and timestamp corresponding to workspace location 658. Figure 6E In the current state, warning status 680 still indicates that the previous erroneous sorting has been corrected. Figure 6F In the table, location identifier 672 is located at workspace location 641, which can be referred to as exit station 3, and new rows 646 and 648 have been added to location table 630 to include the two new locations and their corresponding timestamps. As shown in table 630, the package moves from PE-2 to PE-3, then to exit station 3, and package map 610 indicates that the last detected package location is workspace location 641 corresponding to exit station 3. Although not described separately, it should be understood that in Figure 6F Prior to the update shown, GUI 600 may have already been updated with the corresponding positions of line 646 and position indicators 672 on the package map 610. Figure 6F In the warning state 680, it indicates that the package has been left inside the building. This determination can be based on a threshold time elapsed between consecutive read events of the package from the reader at workspace exit 3.
[0101] like Figures 6A-6F As shown, the system can provide users with a real-time visual representation of the package's location as it moves through the facility. Additionally, errors and solutions can be presented to users in real-time. Figures 6A-6FIn this process, when the new location of a package is determined from more recent package tracking data, the location indicator 672 moves to the new location within the package map 610. It is conceivable that, when similar... Figure 5 When the GUI500 determines a new location, the package map610 may include an indicator of the previously determined location.
[0102] Figure 7 and Figure 8 An example embodiment of a graphical user interface with elements indicating the quantity of packages is depicted. Figure 7 and Figure 8 The graphical user interface (GUI) can be generated by one embodiment of the presentation component 240. Furthermore, the package quantities used to generate GUI 700 and GUI 800 can be determined using an embodiment of the quantity determiner 238 of system 200. Additionally, GUI 700 and GUI 800 can be displayed on user devices such as user device 702 and user device 802, each of which can be... Figure 1 An embodiment of user device 102. GUI 700 and GUI 800 may be provided on user device 702 and user device 802 respectively, as part of a package tracking application running on the respective user device or on a remote server accessed by such device.
[0103] Go to Figure 7 GUI700 is depicted as including Graph 710, which represents the amount of packages traversing various paths and sub-paths over a period of time. The y-axis of Graph 710 identifies the workspace location within the facility from which packages may originate, and the x-axis of Graph 710 identifies the workspace location within the facility to which packages may go. For each pair of workspace locations, Graph 710 indicates the amount of packages taking that path between the two locations. This indication may be written in a format provided by [the relevant authority / organization]. Figure 7 The text within cells of the grid created by the diagram 710 shown. Optionally or additionally, this indication can be color, such that different colors or shading indicate different amounts. In some embodiments, color or shading is assigned to the package count for each path based on a gradient, which can be represented as a gradient legend tool 720 in the GUI 700. For example, in Figure 7In the diagram, both text and varying shading are used to indicate the quantity of packages. For example, cell 730 within chart 710 represents the path from the "DAIN" location to the "SMALLSSORT2" location, and cell 730 includes the number "3" and is shaded in dark gray. On the other hand, cell 740 represents the path from the "UNLOAD9" location to the "PRELOAD" location, includes the number "711" and is shaded in lighter gray, indicating that the path from "UNLOAD9" to "PRELOAD" had a greater number of packages within the relevant time period compared to the path from "DAIN" to "SMALLSSORT2". Therefore... Figure 7 The purpose is to use gray shading, but it should be understood that GUI700 can use different colors to indicate different levels of package quantity.
[0104] The amount of packages used in generating GUI700 can be determined by combining... Figure 2 The described embodiment of the quantity determiner 238 determines the quantity from package tracking data. As indicated, the quantity of packages depicted via UI elements of the GUI 700 can be determined for a specific time period. Figure 7 In the example, the relevant time period is one day, and the GUI 700 includes a drop-down menu 750 for selecting a date. This allows the user to select other dates, which are then presented in a similar graphical representation of the quantities representing those other dates.
[0105] Although Figure 7 The graphical user interface 700 in the text depicts the package size of different paths and subpaths, but... Figure 8 A GUI 800 depicting the number of packages over time is shown. The GUI 800 includes a line graph 805 with dates represented by the x-axis and package counts represented by the y-axis. Figure 8 As shown, package counts can be separated according to the type of sensor. For example, line 810 represents package counts from an antenna; line 820 represents package counts from sensors on a small sorting device; and line 830 represents package counts from wearable sensors. The relevant quantities represented by GUI 800 can be used for the entire sorting facility or an area within the facility. Thus, GUI 800 can be generated to provide a visual representation of productivity over time within the facility or an area within the facility. By combining... Figure 2 An embodiment of the described quantity determiner 238 can determine the quantity of packages used in generating the GUI 800 for each date from package tracking data. While the GUI 800 shows how the quantity of packages varies between different days of the week, the visual representation of the quantity of packages over time in the GUI 800 can help identify abnormal or unexpected changes in the quantity of packages.
[0106] Figure 9A and Figure 9BEach depicts a sample GUI that indicates employee performance within the sorting facility. Figure 9A and Figure 9B GUI 900 and GUI 950 can each be generated by an embodiment of presentation component 240. Additionally, the employee package and error count used to generate GUI 900 and GUI 950 can be determined based on embodiments of one or more sub-components of operation tracker 230, such as path error detector 232 and employee attributor 236. Furthermore, GUI 900 and GUI 950 can each be displayed on user device 902, which can be... Figure 1 An embodiment of user device 102. GUI 900 and GUI 950 may be provided on user device 902 as part of a package tracking application running on user device 902 or on a remote server accessed by user device 902.
[0107] Figure 9A An example GUI 900 is shown, which includes a graph 910 indicating productivity and accuracy across multiple employees. Therefore, graph 910 includes an x-axis representing employees (e.g., employee identifiers using, for example, employee ID numbers) and a y-axis representing package counts. For each employee identifier on the x-axis, graph 910 includes productivity and accuracy indicators for a specific time period. In the example GUI 900, the relevant time period is one day, and GUI 900 may include a specific time period selector, such as a dropdown menu 916, for the user to select a specific date within the time period. This allows the user to view productivity and accuracy for other dates.
[0108] The indicators in Figure 910 are in the form of bars, such that each employee ID has a productivity bar 912 and an accuracy bar 914. Each productivity bar 912 represents the count of packages sorted by a given employee within a selected time period. As described above with respect to employee attributor 236, each read event can provide information identifying the reader involved in the read event, as well as the date and time of the read event, and can determine the employee assigned to the identified reader at the date and time of the read event. In this way, each read event can be attributed to a specific employee. The package count indicated by productivity bar 912 can be determined by aggregating all read events attributed to employees within the relevant time period, and in some embodiments by removing read events as duplicate package IDs so that the package count includes only read events for unique packages.
[0109] Each accuracy bar 914 represents the count of packages missorted by a given employee during a selected time period. As explained above with respect to employee attributor 236, for each read event from which an error is detected, the error can be attributed to the employee assigned to the relevant reader during the time and date the error was detected. The package count indicated by accuracy bar 914 can be determined by aggregating all errors attributable to employees during the relevant time period. In some embodiments, aggregating errors includes removing read events as duplicate package IDs, such that the package count for accuracy bar 914 includes only unique errors.
[0110] Figure 9A A productivity bar 912 and an accuracy bar 914 for the same employee are shown overlapping each other on graph 910. For example, the accuracy bar 914 may overlap the productivity bar 912 to provide a visual indication of the approximate percentage of packages that cause errors in each employee's total packages. In other embodiments, the productivity bars 912 and accuracy bars 914 for the same employee are presented in a stacked or side-by-side arrangement.
[0111] like Figure 9A As shown, the example GUI 900 may also include a pop-up 918 with information about the employee when the cursor is placed on a portion of the graphic 910 representing a specific employee. This portion may be, for example, an employee ID number, a productivity bar 912, or an accuracy bar 914. Embodiments of the pop-up 918 may include an employee identifier such as the employee ID number, one or more accuracy indicators, and associated annotations or messages. For example, the pop-up 918 in the graphical user interface 900 includes an employee ID number, a numerical average accuracy, and a message. The average accuracy can be calculated from an accuracy metric determined for each day over a period of time, such as the employee's employment period, the employee's assignment period at the current sorting location, or a period of time unrelated to a specific employee (e.g., three months). The message in the example pop-up 918 displays the probability of the employee's misloading. In some embodiments, this type of misloading probability message is provided only when the probability meets, for example, a threshold probability of 30%. In other embodiments, this type of message is provided to all employees, regardless of accuracy.
[0112] Figure 9B Example GUI 950 is shown, which includes a graph 960 indicating employee productivity and accuracy over a period of time. Graph 960 includes an x-axis representing time and a y-axis representing package counts. Graph 960 includes productivity metrics and accuracy metrics over time. Figure 9BAn embodiment of chart 960 shown includes a productivity line 962 and an accuracy line 964. Productivity line 962 represents the total package count for a specific employee at each time point represented by chart 910, while accuracy line 964 represents the package count at each time point represented by chart 910 that has errors attributable to the employee (e.g., misloading). The total package count and the package count with errors for an employee can be as follows: Figure 9A The determination is made as described. Productivity line 962 and accuracy line 964 can be displayed simultaneously to provide an indication of approximate accuracy percentage by offering a visual comparison of productivity and accuracy.
[0113] In example chart 960, the relevant time period is at least a portion of a day, divided into 30-minute segments starting at 8:00 AM. In an exemplary embodiment, GUI 950 is updated in real-time or near real-time as more package tracking data is obtained from the reader. This allows GUI 950 to provide a current snapshot of productivity and accuracy while employees are still working.
[0114] In some embodiments, in response to Figure 9A The employee selection within the GUI900 shown provides... Figure 9B The GUI 950 is shown. For example, if a user selects a specific employee identifier with overall productivity and accuracy indicators for a day in the GUI 900, the GUI 950 can be presented to display a more detailed breakdown of the selected employee's productivity and accuracy for that day. Thus, GUIs 900 and GUI 950 can be provided sequentially, or optionally, they can be provided in combination with each other, such that graphs 910 and 960 are displayed simultaneously.
[0115] Figure 10 An example graphical user interface in the form of a dashboard 1000 is depicted, indicating various aspects of tracking packages and operations through a sorting facility. The dashboard 1000 can be... Figure 2 The dashboard 1000 is generated using an embodiment of the presentation component 240. Furthermore, the dashboard 1000 can be created using the output of one or more other components of the system 200, such as the path generator 220 and the operation tracker 230. Additionally, the dashboard 1000 can be displayed on the user device 1002, which may be... Figure 1 An embodiment of user device 102. Dashboard 1000 may be provided on user device 1002 as part of a package tracking application running on user device 1002 or on a remote server accessed by user device 1002.
[0116] Dashboard 1000 can provide a visual representation of package flow through the facility and specific workspace locations within the facility in real-time or near real-time. Dashboard 1000 includes one or more descriptors related to the facility and time. For example, Dashboard 1000 includes a date descriptor 1004 and a time descriptor 1006 identifying the current date and time, respectively. Dashboard 1000 also includes a current flow descriptor 1008 with text identifying the current package flow through the facility as 63,980 packages (or pieces) per hour (PPH). In the example Dashboard 1000, flow is provided as PPH, but it is expected that other metrics, such as packages per minute or package count, can be similarly used in Dashboard 1000. Dashboard 1000 may also include a graphical representation of package flow across the facility over time. For example, Dashboard 1000 includes a graphical representation 1010 that includes a line graph 1012 measuring the hourly package value of the facility over a period of time. Line graph 1012 shows a time extending to approximately 4:11 AM, thus matching the current time identified by time descriptor 1006. At this time, line graph 1012 indicates a flow rate of 63,980 PPH, thus matching the flow rate within the current facility range identified by current flow descriptor 1008.
[0117] The dashboard 1000 also includes multiple UI elements that represent the expected or actual volume or flow of packages passing through one or more specific parts of the facility. For example, the dashboard 1000 includes an expected package display area 1020 that typically indicates packages expected to be received by the facility, a workspace flow display area 1030 that typically shows the flow or volume of packages in specific areas within the facility, and a destination tracker display area 1040 that typically shows the volume of packages loaded for the next destination outside the facility.
[0118] The expected package display area 1020 indicates the quantity of packages expected to be received at the facility, which can be determined based on the package list received by the facility. Packages expected to be received at the facility may be loaded onto trailers expected to be at the facility. The expected package display area 1020 includes a matrix of boxes such as box 1022, each box having an identifier indicating a specific service type. The identifier can be a color or a pattern, such that boxes with different colors or patterns indicate packages corresponding to different package service types. For example, box 1022 may have an identifier indicating small sorting packages, while box 1024 may have different identifiers for different package service types. Because the expected package display area 1020 can represent a large number of packages, each box within the expected package display area 1020 can represent multiple packages, allowing more packages to be simultaneously displayed in the expected package display area 1020 and presented to the user. For example, each box within the expected package display area 1020 can represent up to 50 packages.
[0119] As previously described, the workspace flow display area 1030 indicates the flow of packages through each workspace location. Workspace locations may be grouped together by workspace type. For example, the main output flow display area 1031 indicates the package flow of a larger workspace location referred to as the main output, and a breakdown of the specific package flow forming the main output workspace location 1033. The main output flow display area 1031 includes a text descriptor 1037 for the package flow through the main output and a bar indicator 1034 visually representing the package flow through the main output relative to other workspace locations. Furthermore, each of these may correspond to a text descriptor (e.g., 1036) and a bar indicator (e.g., 1035) for each smaller workspace location (e.g., 1033) of the reader. The packages for the flow through the workspace in the workspace flow display area 1030 may have previously been calculated in the expected package display area 1020.
[0120] The destination tracker display area 1040 indicates the amount of parcels loaded onto the route for their next destination. The destination tracker flow display area 1040 indicates the next destination (e.g., 40D, 44H), which is grouped together based on the workspace location (e.g., belt 100) serving that destination. For example, destination 1042 is grouped together because parcels are loaded onto belt 100 to reach their destination. The next destination can be a trailer / packing vehicle designated to take parcels to a specific geographic area, or it can be another piece of equipment receiving parcels for the next stage in the logistics network.
[0121] In the destination tracker display area 1040, each destination may be represented by a name descriptor identifying the destination, a matrix of boxes indicating the expected and received quantity, and a percentage descriptor indicating the quantity of packages loaded for the next destination compared to the expected quantity for that destination. For example, the destination display 1041 includes a name descriptor 1043 indicating that it represents destination 33D. The destination display 1041 also includes a matrix of boxes 1044 indicating the expected quantity of packages for destination 33D. The matrix of boxes 1044 includes a box that is filled or otherwise colored to indicate the actual count of packages already loaded for destination 33D. Furthermore, the destination display 1041 includes a percentage descriptor 1045 indicating that approximately 2% of the expected packages for destination 33D have been loaded. In some embodiments, the expected quantity may be determined based on the package manifest and / or destination information identified at the initial scan of packages loaded in the facility. The actual number of packages already loaded may be determined by read events from sensors associated with a workspace location (e.g., trailer / vehicle) for a particular destination.
[0122] The destination tracker display area 1040 may also include one or more indicators of errors at a specific destination. For example, a box 1046 around the display area for destination "40D" indicates the presence of an error associated with a workspace, such as a misload. Additionally or alternatively, errors may be indicated by the destination display area using a color such as red with shading and / or may flash. Error indicators such as box 1046 may remain in the destination tracker area 1040 until the error is resolved. In some embodiments, a destination may be associated with a workspace (e.g., the workspace where a read event occurs before loading for the next destination), and similarly, the error indicator may indicate an error that occurred at the workspace location associated with the destination. In other embodiments, an error indicator may be provided for a destination if any package sorted to a given destination has an unresolved error. Figure 2 An embodiment of the path error detector 232 in the document is used to determine errors.
[0123] As described above, exemplary embodiments of the dashboard 1000 provide flow and volume information in real-time or near real-time. Thus, the information provided in the dashboard 1000 can be updated periodically, periodically, or continuously. For example, in one embodiment, the dashboard 1000 can use data from sources such as […]. Figure 1 The reader 108 described is updated with new data received by the reader. In this way, the dashboard user interface 1000 enables the user to receive up-to-date information about the facility, quickly identify errors, and manage current or future operations based on current or trend data in the package flow.
[0124] Figure 11-13 Each is illustrated with a flowchart of an example method performed according to embodiments of the present disclosure. Each block or step of the disclosed method includes a computational process that can be performed using any combination of hardware, firmware, and / or software. For example, various functions can be performed by a processor executing instructions stored in memory. The methods can also be embodied as computer-usable instructions stored on a computer storage medium. These methods can be provided by a standalone application, service, or managed service (standalone or in combination with another managed service) or plug-in to another product, to name just a few. Therefore, the methods described below... Figure 11-13 The methods can be executed by one or more computing devices, such as smartphones or other user devices, servers, or distributed computing platforms such as in a cloud environment. Figure 2 The system 200 is executed by one or more components.
[0125] Figure 11A flowchart illustrating an example method 1100 for generating a graphical user interface for tracking operations within a facility using read events captured as a package is transported through the facility. In step 1102, the facility's profile is accessed. The profile can assign readers within the facility to specific workspace locations within the facility. For example, each reader within the facility, which may include static readers and / or wearable readers, can be mapped to a workspace location forming a portion or the entire physical structure or area within the facility. In step 1102, [the process can be...] Figure 2 The path generator 220 and / or operation tracker 230 embodiments can access the configuration file. Additionally, the configuration file can be accessed by... Figure 2 The implementation of the mapping component 210 is used to create and maintain it.
[0126] In step 1104, package tracking data is received. The package tracking data includes read events for packages transported through the facility. Each read event indicates the reader that captured the event and the time the event occurred. For example, read events may also identify the package via a package identification number. The package tracking data can be generated by... Figure 2 Implementations of the path generator 220 and / or operation tracker 230 receive the data, and may receive it directly from a reader or from sources such as... Figure 2 The data storage of the memory 250 is received. In an exemplary aspect, package tracking data is received continuously or periodically (e.g., every minute) in real time.
[0127] In step 1106, one or more locations for each tracked package are determined using the configuration file and package tracking data. Each determined location is the workspace location of the package during its transit through the facility. The location of each package can be determined by an embodiment of the route generator 220, as referenced in [reference missing]. Figure 2 More specifically, for each package, a path can be determined that includes a sequence of locations where the package was detected. In some aspects, this path includes at least three locations, including a start node for package transport, an end node for package transport, and at least one workspace location between the start and end nodes. In an exemplary aspect, the path is determined as the most probable path by identifying valid connections between sub-paths (paths between two detection locations) within a read event for a particular package. A profile can indicate valid connections between different combinations of readers. In one embodiment, an edit distance algorithm is applied to detect the most probable path from the read event, and this algorithm can be weighted to favor sub-paths that appear more frequently within the facility's historical package tracking data.
[0128] In step 1108, a graphical user interface (GUI) is generated and rendered on the user device. Step 1108 can be performed by an embodiment of the operation tracker 230, and in some embodiments, it can be performed in conjunction with the rendering component 240. The GUI is generated based on one or more locations determined for at least one package. GUI500, GUI600, GUI700, GUI800, GUI900, GUI950, and GUI1000 are example GUI elements that can be generated and rendered according to step 1108. Furthermore, the GUI generated in step 1108 can be the same as or similar to the GUI generated according to methods 1200 and 1300 described below.
[0129] In one embodiment, the graphical user interface includes a visual representation, such as a map, of each workspace location within the facility and indicates one or more locations identified for at least one package. The map may indicate the current location as shown in example GUI 600, or it may indicate all identified locations of packages as shown in example GUI 500. When new package tracking data is received, the graphical user interface can be updated with the new or different identified locations of one or more packages.
[0130] In one embodiment, the graphical user interface (GUI) represents the quantity of packages based on determined locations. For example, method 1100 may include determining the quantity of packages already located at each workspace location based on one or more determined locations for each package, and the GUI may include a visual representation of the package quantity over a specific time period. The GUI may indicate the total package count for each workspace location, or it may display the package count changing over time. Example GUIs may be embodiments of GUI700, GUI800, and GUI1000. When new package tracking data is received, the GUI can be updated with the new package count.
[0131] In one embodiment, a graphical user interface (GUI) indicates an error in the path the package has taken through the facility. For example, an error indicating an inconsistency between the expected path and the taken path can be identified and used to generate the GUI. Thus, method 1100 may include determining a sorting instruction indicating the expected path of the package and comparing the expected path with a position determined based on a read event to determine if the determined position is inconsistent with the expected path. If so, there is a sorting error or loading error causing the package to take an unexpected path through the facility, and a GUI can be created to indicate this error.
[0132] In some embodiments, the error detected and indicated via a graphical user interface is a slowdown. A configuration file may indicate a threshold time period for traversing a subpath between two locations. The threshold time period may be determined based on historical package tracking data. Method 1100 may include determining the time taken for a package to move between two workspace locations forming a subpath based on time information in a read event, and determining whether the determined time (e.g., exceeds or meets or exceeds) the threshold time period for that subpath. If so, the graphical user interface may indicate a slowdown in transmission at that particular subpath.
[0133] Figure 12 A flowchart illustrating an example method 1200 for generating a graphical user interface for tracking the location of packages during transport within a facility is depicted. In step 12102, a configuration file for the facility is accessed, and in step 1204, the configuration file is received. In an exemplary embodiment, steps 1202 and 1204 are performed as described with respect to steps 1102 and 1104 of method 1100, respectively.
[0134] In step 1206, one or more locations of at least one tracked package are determined using the configuration file and package tracking data. Each determined location is the workspace location of the package during its transport through the facility. The location of each package can be determined by an embodiment of route generator 220, as referenced in [reference missing]. Figure 2 More detailed description. Furthermore, embodiments of step 1206 may be performed as described with respect to step 1106 of method 1100.
[0135] In step 1208, a graphical user interface (GUI) is generated and presented on a user device based on one or more locations determined for at least one package. The GUI is generated to include one or more interface elements representing one or more locations determined for at least one package. For example, in one embodiment, the GUI includes a visual representation (such as a map) of each workspace location within the facility and indicates one or more locations determined for at least one package. When new package trajectory data is received, the GUI can be updated (potentially in real-time) with new or different determined locations for one or more packages. Additionally, in some embodiments, path errors and / or transport slowdown errors representing inconsistencies between the expected path and the determined locations can be identified and included in the GUI. Figure 5 , Figures 6A-6F and Figure 10 The document describes example graphical user interfaces provided according to some embodiments of method 1200. Step 1208 can be combined as follows: Figure 11 The steps of method 1100 described herein are performed as described in some embodiments.
[0136] Figure 13 A flowchart illustrating an example method 1300 for generating a graphical user interface for tracking employee performance using read events captured as packages are transported through a facility is depicted. In step 1302, a profile mapping readers within the facility to workspace locations is accessed. In step 1304, package tracking data is received, including read events of packages being transported through the facility, wherein each read event indicates the reader that captured the read event and the time when the read event occurred. In an exemplary embodiment, steps 1302 and 1304 are performed as described with respect to steps 1102 and 1104 of method 1100.
[0137] In step 1306, one or more locations of at least one tracked package are determined using the configuration file and package tracking data. Each determined location is the workspace location of the package during its transit through the facility. The location of each package can be determined by, for example, reference... Figure 2 A more detailed embodiment of the path generator 220 is determined. Furthermore, an embodiment of step 1306 may be performed as described with respect to step 1106 of method 1100.
[0138] In step 1308, the intended path of the package is determined based on the package's sorting instructions. The sorting instructions can be determined from an initial read event, which can occur when the package is unloaded into the facility. In step 1310, one or more errors can be identified based on inconsistencies between the intended path of at least one package and one or more locations determined in step 1306 based on package tracking data. Steps 1308 and 1306 can be... Figure 2 The path error detector 232 is executed in an embodiment. Method 1300 may also include attributing one or more errors to an employee associated with a reader that captures scans of at least one package. For example, when a read event captured by an assigned reader identifies a location inconsistent with the expected path, the error can be attributed to an employee assigned to a reader such as a wearable reader device. Attributing errors to employees can be done by… Figure 2 The employee attributor 238 is implemented using an embodiment.
[0139] In step 1312, a graphical user interface (GUI) is generated and presented on a user device based on one or more errors attributed to an employee. In some embodiments, the GUI indicates a productivity metric that indicates the employee's productivity over a period of time. As described with respect to employee attributor 238, productivity can be measured as a total package read event count and can be determined by aggregating read events with unique package identifiers from readers assigned to the employee. Additionally, the GUI may include an accuracy metric for the employee over time based on one or more errors attributed to the employee. As described with respect to employee attributor 238, productivity can be a metric relative to total read events, or a metric for accurate read events. For example, an accuracy metric could be the percentage of error-free read events for the employee, which can be calculated as the difference between the total read events attributed to the employee and the errors attributed to the employee in the total read events. Furthermore, some embodiments of the GUI indicate to the employee committee the predictive probability of future errors, which can be determined by one or more machine learning models and, in some aspects, by the employee's historical errors as described with respect to employee attributor 238. Example GUIs provided according to some embodiments of method 1300... Figure 9A and 9B The description is as follows. Step 1312 can be combined as follows: Figure 11 The steps of method 1100 described herein are performed as described in some embodiments.
[0140] refer to Figure 14 The computing device 1400 includes a bus 1410 that is directly or indirectly coupled to various devices, including a memory 1412, one or more processors 1414, one or more presentation units 1416, one or more input / output (I / O) ports 1418, one or more I / O components 1420, and a schematic power supply 1422. Some embodiments of the computing device 1400 may also include one or more radios 1424. The bus 1410 represents one or more buses (e.g., an address bus, a data bus, or a combination thereof). Although for clarity, Figure 14 The boxes are shown with lines, but in reality, these boxes represent logical components, not necessarily actual components. For example, a presentation component such as a display device can be considered an I / O component. Furthermore, a processor can have memory. Figure 14 This description only illustrates exemplary computing devices that can be used in conjunction with one or more embodiments of this disclosure. No distinction is made between categories such as “workstation,” “server,” “laptop,” or “handheld device,” as all of these are contemplated in… Figure 14 Within the scope and refer to "computing device".
[0141] Computing device 1400 typically includes a variety of computer-readable media. Computer-readable media can be any available medium accessible by computing device 1400, and includes volatile and non-volatile media, as well as removable and non-removable media. By way of example and not limitation, computer-readable media can include computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, optical disc read-only storage (CD-ROM), digital versatile disc (DVD) or other optical disc storage, magnetic tape cassettes, magnetic tape, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and is accessible by computing device 1400. Computer storage media itself does not include signals. Communication media are typically embodied as computer-readable instructions, data structures, program modules, or other data in modulated data signals such as carrier waves or other transmission mechanisms, and include any information transmission medium. The term "modulated data signal" refers to a signal whose one or more characteristics are set or altered in a manner that encodes information in the signal. By way of example and not limitation, communication media include wired media such as wired networks or direct-line connections, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media. Any combination of the foregoing should also be included within the scope of computer-readable media.
[0142] Memory 1412 includes computer storage media in the form of volatile and / or non-volatile memory. Memory can be removable, non-removable, or a combination thereof. Exemplary hardware devices include, for example, solid-state memory, hard disk drives, and optical disk drives. Computing device 1400 includes one or more processors 1414 that read data from various devices such as memory 1412 or I / O components 1420. Presentation component 1416 presents data indications to a user or other device. Exemplary presentation component 1416 may include a display device, speaker, printing component, vibrating component, etc.
[0143] I / O port 1418 allows computing device 1400 to be logically coupled to other devices including I / O component 1420, some of which may be built-in. Illustrative components include microphones, joysticks, gaming pads, disc-shaped satellite antennas, scanners, printers, or wireless devices. I / O component 1420 provides a natural user interface (NUI) that processes user-generated air gestures, voice, or other physiological input. In some instances, the input can be sent to appropriate network elements for further processing. The NUI can implement any combination of voice recognition, touch and stylus recognition, facial recognition, biometric recognition, gesture recognition (on and near the screen), air gestures, head and eye tracking, and touch recognition associated with a display on computing device 1400. Computing device 1400 may be equipped with depth cameras for gesture detection and recognition, such as stereo camera systems, infrared camera systems, RGB camera systems, and combinations thereof. Additionally, computing device 1400 may be equipped with accelerometers or gyroscopes capable of detecting motion. The output of the accelerometer or gyroscope can be provided to the display of the computing device 1400 to present immersive augmented reality or virtual reality.
[0144] Some embodiments of the computing device 1400 may include one or more radios 1424 (or similar wireless communication components). The radios 1424 transmit and receive radio or wireless communications. The computing device 1400 may be a wireless terminal adapted to receive communications and media over various wireless networks. The computing device 1400 may communicate with other devices via wireless protocols such as Code Division Multiple Access (“CDMA”), Global System for Mobile Communications (“GSM”), Time Division Multiple Access (“TDMA”), or other wireless means. Radio communication may be a short-range connection, a long-range connection, or a combination of both. Here, “short” and “long” connection types do not refer to a spatial relationship between two devices. Rather, these connection types typically refer to short-range and long-range connections as different categories or types of connections (i.e., primary and secondary connections). Short-range connections can include (by way of example and not limitation) Wi-Fi connections to devices that provide access to wireless communication networks (e.g., mobile hotspots), such as wireless local area network (WLAN) connections using the 802.11 protocol; Bluetooth connections to another computing device are another example of short-range connections; or near-field communication. Long-range connections can include connections using (by way of example and not limitation) one or more of the following protocols: CDMA, General Packet Radio Service (GPRS), GSM, TDMA, and 802.16.
[0145] Several different arrangements may be made for the various components described, as well as those not shown, without departing from the scope of the following claims. The embodiments of this disclosure have been described in an illustrative rather than restrictive manner. Alternative embodiments will become apparent to the reader upon reading this disclosure, and as a result of reading it. The alternative embodiments described above may be carried out without departing from the scope of the following claims. Certain features and sub-combinations are practical and may be employed without reference to other features and sub-combinations, and are contemplated within the scope of the claims.
Claims
1. A computer-implemented method, comprising: Access a configuration file for a facility having multiple workspace locations and multiple readers, each reader having a sensor, the configuration file assigning each of the multiple readers to one of the multiple workspace locations; receive package tracking data including read events for multiple packages transported through the facility, each read event indicating one of the multiple readers that captured the read event and the time the read event occurred; Using the configuration file and the package tracking data, determine one or more locations of at least one of the plurality of packages, each of the one or more locations being one of the plurality of workspace locations where the at least one package was located during its transport through the facility; and based on the one or more locations determined with respect to the at least one package, render a graphical user interface on a user device. The configuration file indicates whether there is a valid connection between two workspace locations represented by two of the plurality of readers, the valid connection representing a direct physical path between the two workspace locations without any intermediate workspace locations among the plurality of workspace locations. Determining the one or more locations for the at least one package includes determining a path for the at least one package, the path for the at least one package including a sequence of workspace locations among the plurality of workspace locations through which the at least one package is transported, and determining the path for the at least one package includes determining that the valid connection between the two workspace locations exists in the package tracking data for the at least one package.
2. The computer-implemented method of claim 1, wherein the plurality of workspace locations include one or more start nodes for package transportation and one or more end nodes for package transportation, and the one or more locations determined with respect to the at least one package include a start node, an end node, and at least one of the plurality of workspace locations located between the start node and the end node.
3. The computer-implemented method of claim 1, wherein the plurality of readers includes one or more readers coupled to a static physical structure and one or more readers coupled to a wearable device.
4. The computer-implemented method of claim 1, wherein each of the plurality of workspace locations corresponds to at least a portion of the physical structure.
5. The computer-implemented method of claim 1, wherein the graphical user interface includes a visual representation of each of the plurality of workspace locations within the facility and indicates the one or more locations determined with respect to the at least one package.
6. The computer-implemented method according to claim 1, further comprising: Based on the one or more locations determined with respect to the at least one package, the quantity of packages that have been at each of the one or more locations over a period of time is determined, wherein the graphical user interface includes one or more visual representations of the quantity of packages at each of the one or more locations over the period of time.
7. The computer-implemented method of claim 1, further comprising updating the graphical user interface in real time based on new package tracking data to indicate the update path for a particular package as represented in the graphical user interface.
8. The computer-implemented method of claim 1, wherein the path for the at least one package includes one or more sub-paths between two workspace locations among the plurality of workspace locations, and the profile further indicates a threshold time period for completing the particular sub-path for each of the one or more sub-paths based on historical package tracking data.
9. The computer-implemented method of claim 8, further comprising determining that the time taken for the at least one package to complete the particular sub-path exceeds the threshold time period for the particular sub-path, wherein the graphical user interface indicates a transport delay at the particular sub-path.
10. The computer-implemented method according to claim 1, further comprising: Determine a sorting instruction for the at least one package, the sorting instruction indicating the expected path for the at least one package; And determine that the location of the at least one package is inconsistent with the expected path, wherein the graphical user interface indicates at least one of a sorting error or a loading error for the at least one package.
11. A computerized system for tracking the location of packages within a facility, the computerized system comprising: The facility contains multiple readers, each of which has a sensor configured to capture read events related to multiple packages being transported through multiple workspace locations within the facility. One or more processors communicatively coupled to the plurality of readers, the one or more processors being configured to implement computer-usable instructions stored on one or more computer storage media to perform operations including: accessing a configuration file for the facility, the configuration file assigning each of the plurality of readers to one of the plurality of workspace locations; and receiving package tracking data including the read events, each of the read events indicating one of the plurality of readers that captured the read event and the time when the read event occurred; Using the configuration file and the package tracking data, determine one or more locations for at least one package, each of the one or more locations being one of a plurality of workspace locations where the at least one package was located during its transport through the facility; And based on the one or more locations determined with respect to the at least one package, a graphical user interface is presented on a user device, the graphical user interface being generated having one or more interface elements representing the one or more locations determined with respect to the at least one package. The configuration file indicates whether there is a valid connection between two workspace locations represented by two of the plurality of readers, the valid connection representing a direct physical path between the two workspace locations without any intermediate workspace locations among the plurality of workspace locations. Determining the one or more locations for the at least one package includes determining a path for the at least one package, the path for the at least one package including a sequence of workspace locations among the plurality of workspace locations through which the at least one package is transported, and determining the path for the at least one package includes determining that the valid connection between the two workspace locations exists in the package tracking data for the at least one package.
12. The computerized system of claim 11, wherein the graphical user interface includes a map of the facility, on which the one or more locations determined with respect to the at least one package are indicated.
13. The computerized system of claim 12, wherein the map indicates a sequence of workspace locations.
14. The computerized system of claim 11, wherein the operation further comprises: Determine a sorting instruction for the at least one package, the sorting instruction indicating the expected path for the at least one package; Furthermore, it is determined that the sequence of workspace locations identified for the at least one package is inconsistent with the expected path, wherein the graphical user interface is generated based on the determination that the sequence of workspace locations is inconsistent with the expected path to indicate an error in the transportation of the at least one package within the facility.
15. One or more non-transitory computer storage media having computer-readable instructions, which, when implemented by one or more processors, performs a method comprising: accessing a profile for a facility having a plurality of readers, each reader having a sensor, the profile assigning each of the plurality of readers to one of a plurality of workspace locations within the facility and at least some of the sensors being coupled to a wearable device associated with an employee; receiving package tracking data comprising a plurality of read events of a plurality of packages transported through the facility, each of the plurality of read events indicating one of the plurality of readers that captured the read event and the time at which the read event occurred; Using the configuration file and the package tracking data, determine one or more locations for each of the plurality of packages, wherein each of the one or more locations is a specific workspace location among the plurality of workspace locations where the package was located during its transport through the facility; determine an expected path for the at least one package based on the sorting instructions assigned to the at least one package; and determine one or more errors based on the inconsistency between the expected path for the at least one package and the one or more locations for the at least one package determined based on the package tracking data, wherein the one or more errors are attributed to an employee associated with one of the plurality of readers that captured the scan of the at least one package; And based on the one or more errors attributed to the employee, a graphical user interface is presented on the user device. The configuration file indicates whether there is a valid connection between two workspace locations represented by two of the plurality of readers, the valid connection representing a direct physical path between the two workspace locations without any intermediate workspace locations among the plurality of workspace locations. Determining the one or more locations for the at least one package includes determining a path for the at least one package, the path including a sequence of workspace locations among the plurality of workspace locations through which the at least one package is transported, and determining the path for the at least one package includes determining that the valid connection between the two workspace locations exists in the package tracking data for the at least one package.
16. The one or more non-transitory computer storage media of claim 15, wherein the graphical user interface indicates the accuracy of the employee over time based on the one or more errors attributed to the employee.
17. One or more non-transitory computer storage media of claim 15, wherein read events from the reader associated with the employee are aggregated for one or more time periods to determine the employee’s productivity over time.
18. One or more non-transitory computer storage media according to claim 15, wherein the graphical user interface indicates the predictable probability of the employee making a mistake in the future.
Citation Information
Patent Citations
System and method for providing real-time tracking of items in a distribution network
US20150220879A1
Asset tracking system
US20190235092A1