Rapid location-based association of carriers and items

By generating a set of spatial relationship attributes between items and carriers and using a classifier to detect changes in the associated state, the problem of time-consuming detection was solved, thus improving the efficiency and accuracy of item transportation.

CN114077984BActive Publication Date: 2026-04-07ZEBRA TECHNOLOGIES CORP
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-08-16
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In existing technologies, detecting the associated movement between goods and vehicles takes time, which may cause vehicles to be idle or travel to incorrect positions, affecting the efficiency of goods transportation.

Method used

By acquiring the location data of items and carriers, a set of spatial relationship attributes defining the relationship between items and carriers is generated. A classifier is then used to quickly detect changes in the associated state and transmit state update messages to the scheduler to provide directional guidance.

Benefits of technology

It enables rapid and accurate detection of changes in the relationship between items and carriers, improving the efficiency and accuracy of goods transportation and reducing vehicle downtime.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114077984B_ABST
    Figure CN114077984B_ABST
Patent Text Reader

Abstract

A method comprising: obtaining, at a computing device, respective location data corresponding to a carrier and each item in a set of items; for each item in the set of items: storing a previous association state between the item and the carrier; generating a set of attributes defining a spatial relationship between the item and the carrier; providing the set of attributes to a classifier to detect a current association state between the carrier and the item; and in response to determining that the current association state between the carrier and the item is different from the previous association state, transmitting a state update message to a dispatcher configured to provide directional guidance to the carrier.
Need to check novelty before this filing date? Find Prior Art

Description

Background Technology

[0001] Facilities such as warehouses may contain various items (e.g., pallets) and vehicles such as forklifts for transporting those items. A dispatching system can provide directional guidance to vehicle operators based on what items a vehicle is currently carrying. This directional guidance can indicate where within the facility items should be delivered. To detect which vehicles are carrying which items, the detected locations of the items and vehicles can be checked to detect the associated movement between the items and vehicles. However, detecting associated movement can be time-consuming, resulting in vehicles becoming idle or traveling to incorrect locations without directional guidance. Attached Figure Description

[0002] The accompanying drawings (in which the same reference numerals denote the same or functionally similar elements throughout the different views) together with the following detailed description are incorporated into and form part of the specification, and serve to further illustrate embodiments including the concepts of the claimed invention, and to explain the various principles and advantages of those embodiments.

[0003] Figure 1 This is a schematic diagram of a system for location-based association between carriers and items.

[0004] Figure 2 yes Figure 1 A block diagram of some components of the server.

[0005] Figure 3 It is a flowchart of the location-based association between the carrier and the item.

[0006] Figure 4A It shows Figure 3 The example execution diagram for the method in box 305.

[0007] Figure 4B It shows Figure 3 The example execution diagram of the method in box 315.

[0008] Figure 5A , Figure 5B and Figure 5C It shows in Figure 3 Further example location data is obtained at the continuous execution point of the method in box 305.

[0009] Figure 6A It shows through Figure 3 The method of box 320 is executed continuously to generate a graph of a series of properties.

[0010] Figure 6B It is shown in Figure 6A A graph that interpolates additional attributes between the attributes.

[0011] Those skilled in the art will appreciate that the elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures can be exaggerated relative to other elements to help improve the understanding of the embodiments of the application.

[0012] The apparatus and method configurations have been represented in the drawings by conventional symbols, and in suitable places the representations have been set forth in detail to disclose, without obscuring the present disclosure, the pertinent particulars that are necessary to appreciate the embodiments of the present application. DETAILED DESCRIPTION

[0013] Examples disclosed herein relate to a method comprising: obtaining, at a computing device, respective location data corresponding to a carrier and each item of a set of items; for each item of the set of items: storing a previous association state between the item and the carrier; generating a set of attributes defining a spatial relationship between the item and the carrier; providing the set of attributes to a classifier to detect a current association state between the carrier and the item; and in response to determining that the current association state between the carrier and the item is different from the previous association state, transmitting a state update message to a dispatcher configured to provide directional guidance to the carrier.

[0014] Other examples disclosed herein relate to a computing device comprising: a memory; a communication interface; and a processor configured to: obtain, via the communication interface, respective location data corresponding to a carrier and each item of a set of items; for each item of the set of items: store a previous association state between the item and the carrier; generate a set of attributes defining a spatial relationship between the item and the carrier; provide the set of attributes to a classifier to detect a current association state between the carrier and the item; and in response to determining that the current association state between the carrier and the item is different from the previous association state, transmit a state update message to a dispatcher configured to provide directional guidance to the carrier.

[0015] Figure 1 A system 100 for location-based association of carriers and items is shown. The system 100 can be deployed in a facility such as a warehouse, although it will be apparent to those skilled in the art that the system 100 can also be deployed in various other facilities in which items are transported, such as manufacturing facilities.

[0016] The system 100 includes a plurality of items 104, Figure 1 Four examples 104-1, 104-2, 104-3, and 104-4 of items 104 are shown in FIG. 1. The items can be pallets, packages, etc. The system 100 also includes a plurality of carriers 108, which can include vehicles such as forklifts. Figure 1Three example carriers 108-1, 108-2, and 108-3 are shown in FIG. 1. As will be apparent, the system 100 can include more or fewer carriers 108 than shown in FIG. 1. Figure 1 A wide range of numbers of items and carriers are shown in FIG. 1 for illustrative purposes.

[0017] Each carrier 108 can be associated with a mobile computing device 112. Thus, carrier 108-1 is shown with an associated mobile computing device 112-1. In some examples, the device 112-1 is mounted on the carrier 108-1 (e.g., a forklift). In other examples, the device 112-1 is a wearable computing device, such as a wrist-mounted computer or the like, worn by a human operator of the carrier 108-1. In yet other examples, the carrier 108-1 is an autonomous or semi-autonomous vehicle, and the computing device 112-1 can be integrated with the carrier 108-1 thereby. In some implementations, the carrier 108 can simply be a human worker within the facility, and the device 112-1 can be a wearable computing device as described above.

[0018] The carriers 108 are controlled, e.g., by human operators or autonomously, to retrieve, transport, and deposit the items 104 within the facility. For example, items 104 can arrive at a first area of the facility, and are transported to one or more other areas of the facility for consumption in a production or packaging process, for shipment to other facilities, etc. The destination area to which a given item 104 will be transported can depend on the nature of the item. However, for example because several types of items can be transported from a single area of the facility, the carriers 108 can be controlled to retrieve various different types of items.

[0019] Accordingly, the system 100 also includes a dispatcher to provide directional guidance to the carriers 108. In particular, the system 100 includes a server 116 connected with the computing devices 112 of the carriers via a network 120 (e.g., a suitable combination of local and wide area networks). The server 116 can implement a dispatch function by which the server obtains the association between the carriers 108 and the items 104 (i.e., an indication that a carrier 108 is currently carrying an item 104) and transmits directional guidance to the carrier 108 based on the identifier of the item. For example, the server 116 can maintain data indicating a target location within the facility for each item 104, and can thereby retrieve the target location based on the above-described association and provide the target location to the mobile computing device 112 associated with the carrier 108.

[0020] The server 116 can also provide directional guidance to the carrier 108 (e.g., via the associated device 112) when the association between the carrier 108 and the item 104 is terminated. That is, when the carrier stores the item 104 at the target location and thereby becomes unassociated with any item 104, the server 116 can detect the lack of such association and provide directional guidance to the carrier 108 to travel to a facility area containing other items for transport.

[0021] To detect the association between the item 104 and the carrier 108, the server 116 receives location data indicative of the locations and orientations of the item 104 and the carrier 108 within the facility (and, in some examples, the speeds of the item 104 and the carrier 108). For example, the system 100 can include at least one radio frequency identification (RFID) reader 124, Figure 1 Two examples of radio frequency identification (RFID) readers 124 are shown, 124-1 and 124-2. As will be apparent to those of skill in the art, the readers 124 are configured to repeatedly scan corresponding areas of the facility for RFID tags and to compute location data for such tags.

[0022] The items 104 and the carriers 108 each include RFID tags. Thus, in the illustrated example, the items 104 include respective tags 128-1, 128-2, 128-3, and 128-4, and the carrier 108-1 includes a tag 132-1. The remaining carriers 108 also include corresponding tags 132-2 and 132-3. Each tag encodes an identifier for the corresponding item 104 or carrier 108. Thereby, the readers 124 can detect the locations of the items 104 and the carriers 108 (including, in some implementations, speeds), and report such location data to the server 116 for use in the above-described scheduling functions.

[0023] The server 116 also implements an association tracking function by which the server 116 performs the above-described detection of associations between the items 104 and the carriers 108. Some systems detect such associations by comparing the motions of the items 104 and the carriers 108 over time to detect whether the motions are sufficiently correlated to indicate that an item 104 is being carried by a carrier 108. For example, sufficiently correlated motions can include movement in directions that differ by less than a threshold for at least a threshold period of time. However, due to measurement errors in RFID localization, it can be time-consuming (e.g., between 5 and 10 seconds) to reach a robust correlation between the motions of the item 104 and the carrier 108. During the time before the correlation is confirmed and directional guidance can be provided, the carrier 108 can be stationary or can travel in an incorrect direction.

[0024] The server 116 implements an association detection mechanism that can enable detection of associations between the items 104 and the carriers 108 more quickly than the motion correlation described above. As will be discussed below, the server 116 generates various attributes from the position data received from the readers 124 and applies a classification mechanism to the attributes to detect associations between the items 104 and the carriers 108.

[0025] Turning to Figure 2 , certain components of the server 116 are shown. The server 116 includes a controller 200, such as a central processing unit (CPU) coupled with a non-transitory computer readable storage medium, such as a memory 204. The memory 204 includes any suitable combination of volatile memory (e.g., random access memory (“RAM”)) and non-volatile memory (e.g., read only memory (“ROM”), electrically erasable programmable read only memory (“EEPROM”), flash memory). Generally, the controller 200 and the memory 204 each comprise one or more integrated circuits.

[0026] The server 116 also includes a communication interface 208 that enables the server 116 to communicate with other computing devices, e.g., via the network 120. For example, the communication interface 208 enables the server 116 to receive position data from the readers 124 and to provide directional guidance to the carriers 108 via the associated computing devices 112. The communication interface 208 includes any suitable combination of hardware elements (e.g., network interface controllers, etc.) and corresponding firmware and / or software for controlling such components.

[0027] Although the server 116 is shown as a discrete computing device containing the above-described components in a single physical housing, in other embodiments, the server 116 is implemented as a distributed computing device in which the above-described components are implemented on multiple underlying hardware devices (e.g., multiple controllers 200 and associated memories 204). The server 116 can be deployed at a facility at which the carriers 108 operate, but in some examples can also be deployed remotely from the facility.

[0028] The memory 204 stores a plurality of instructions for execution by the controller 200 to implement the functionality described above in connection with the subsequent tracking and output generation. In particular, the memory 204 stores a directional guidance application 212 (also referred to simply as the application 212) that, when executed by the controller 200, configures the memory 200 to acquire position data for the items 104 and the carriers 108, to detect changes in associations between the items 104 and the carriers 108, and to provide directional guidance to the carriers 108 based on such changes in associations.

[0029] The memory 204 also stores a repository 216 containing data employed by the application 121, such as detected associations between the items 104 and the carriers 108, as well as item and carrier identifiers (e.g., those encoded in the tags 128 and 132) and target locations for the items 104.

[0030] Figure 2 Certain modules of the application 212 are also shown. In some examples, the shown modules can be implemented as discrete applications on the server 116 or across multiple servers. Further, in some examples, any or all of the shown modules can be implemented via dedicated hardware elements (e.g., application specific integrated circuits (ASICs), etc.).

[0031] The application 212 includes a coordinator 220 configured to obtain location data from the readers 124 and generate the above-described attributes from the location data. The coordinator 220 provides the attributes to a classifier 224. The classifier 224 is configured to implement any of a variety of classification mechanisms, such as a neural network (e.g., a long short-term memory recurrent neural network or LTSM RNN), to determine from the attributes whether various pairings of the items 104 and the carriers 108 are associated. Upon receiving an association detection from the classifier 224, the coordinator 220 maintains a current association state between the items 104 and the carriers 108 (e.g., in the repository 216) and provides an indication of a change in association to a dispatcher 228.

[0032] The dispatcher 228 is configured to generate and provide directional guidance for the carriers 108 in response to receiving a change in association between the items 104 and the carriers 108 from the coordinator 220, e.g., by transmitting a target location to a corresponding mobile computing device 112. The target location can indicate, e.g., where to drop off a currently associated item, where to travel to to pick up another item, etc.

[0033] Turning to Figure 3 Operation of the system 100 will be discussed in greater detail. In particular, Figure 3 A method 300 of location-based association between the items 104 and the carriers 108 is shown, which will be discussed in conjunction with execution of the method 300 by the server 116 via execution of the application 212.

[0034] At block 305, the server 116, and in particular the coordinator 220, is configured to obtain location data for each of the items 104 and the carriers 108. For example, the server 116 can obtain the location data by receiving the location data from the readers 124. The readers 124 are configured to (either independently or upon receiving instructions from the server 116) periodically scan the facility for any detectable tags and determine the location data. The frequency at which the readers 124 scan can be, for example, twice per second, although various other frequencies, including faster and slower scan frequencies, are also contemplated.

[0035] The location data includes a location of each entity (i.e., item 104 or carrier 108) within the facility according to a predefined reference frame. The location data can also include a movement orientation and a movement speed (e.g., a velocity vector) for each entity. Turning to Figure 4A The carrier 108-1 and the items 104 are shown in an example layout within the facility. The received location data at block 305 can include a location of each item 104, such as coordinates of a center of the item 104 in the reference frame 400. The location data can also include a location of the carrier 108-1, such as coordinates of a center of the carrier 108 in the reference frame 400. The reference frame 400 is predefined in the facility, for example at the time the system 100 is deployed.

[0036] The location data can also include a velocity of each of the items 104 and the carriers 108. As Figure 4A The items 104 shown are assumed to be stationary, and thus have a velocity of zero. The velocity 404 (i.e., orientation and speed) of the carrier 108-1 is shown by the solid arrow.

[0037] Returning to Figure 3 At block 310, the server 116 is configured to select a next carrier-item pair. That is, the server 116 is configured to perform various actions corresponding to a given pairing of the carrier 108-1 and a given item 104. These actions can be repeated for multiple carrier-item pairs. Although Figure 4A The example shown includes only one carrier 108, and it will be apparent from the discussion herein that these actions can also be repeated for pairings between other carriers 108 and items 104 when there are multiple carriers 108.

[0038] The server 116 can select a carrier-item pair, for example, by selecting a carrier 108 (in the present example, only carrier 108-1 is available for selection) and by subsequently selecting a subset of items 104 within a threshold distance of the location of the carrier 108. Each item within the subset is then processed as a pairing with the carrier 108. Thus, if there are four items 104 within the threshold distance of the carrier 108, then four pairings are processed as described below. Subsequent pairs are identified for processing by selecting a next carrier 108 and selecting a further subset of items 104 based on the threshold distance.

[0039] In the present example, referring again to Figure 4A , assume that items 104-1, 104-3, and 104-4 are within the above-mentioned threshold distance of the carrier 108. In other words, the location data for item 104-2 will not be processed in the current execution of the method 300 (and thus item 104-2 is shown shaded). At block 310, the server 116 is thereby configured to select a pairing of the carrier 108-1 with one of the items 104-1, 104-2, and 104-3.

[0040] At block 315, the server 116 is configured to transform the location data for the selected pairing to a local reference frame. The origin of the local reference frame is at the location of the carrier 108 of the pairing (in this example, namely carrier 108-1), and one of the axes of the local reference frame is coaxial with the orientation of the carrier 108.

[0041] Turning to Figure 4B , a local reference frame 408 is shown centered on and aligned with the carrier 108-1. The local reference frame 408 is also shown in Figure 4A to illustrate the difference in placement of the origin and axis orientation relative to the facility reference frame 400. Thus, at block 315, the locations of the items 104 within the above-mentioned subset are redefined relative to the location and orientation of the carrier 108-1.

[0042] At block 320, the server 116 is configured to generate a set of properties defining a spatial relationship between an item 104 and a carrier 108, the item 104 and the carrier 108 defining the pair selected at block 310. For example, the pair defined by carrier 108-1 and item 104-1 will be discussed first. At block 320, the server 116 is thereby configured to generate a set of properties defining a spatial relationship between the carrier 108-1 and the item 104-1.

[0043] Various attributes are contemplated for generation at block 320. For example, attributes can include a position of the carrier 108-1 in the reference frame 400, and / or a velocity 404 of the carrier 108-1 in the reference frame 400. In some examples, the velocity can be represented as two attributes, namely a speed and an orientation or heading. Attributes can also include a velocity of the item 104-1 in the local reference frame 408. Attributes can further include a position of the item 104-1 in the local reference frame 408. That is, the velocity and position attributes of the item 104-1 are defined relative to the carrier 108-1 and not according to the reference frame 400. As will be apparent, the position and velocity attributes of a given item 104 are thus different depending on the item-carrier pair for which the attributes are computed. The attributes thus define spatial relationships between a particular pairing of a carrier 108 and an item 104.

[0044] The attributes generated at block 320 represent the spatial relationship between the item 104-1 and the carrier 108-1 for the current sample of position data from block 305. That is, the attributes from block 320 represent the spatial relationship between the item 104-1 and the carrier 108-1 at a particular point in time. The attributes from block 320 can be appended to a time series containing a plurality of additional sets of attributes produced from previous executions of block 320 (based on previous position data). In other words, the time series represents the spatial relationship between the item 104-1 and the carrier 108-1 as a function of time.

[0045] Referring back to FIG. 3, Figure 4B The set of attributes 412 is shown as the output of block 320. The set of attributes 412 is stored with a time series 416 of sets of attributes, which includes a plurality of previous sets of attributes from previous position data samples (indicated by their position in time, e.g., t-1 is one position data sample prior to the current execution of the method 300, t-2 is two position samples prior to the current). The time series can have a predetermined maximum length, e.g., corresponding to time t-N. For example, in some implementations, the time series can cover a total of 15 seconds with a sampling interval of 0.5 seconds. Thus, the time series 416 with the current attribute 412 can contain 30 sets of attributes. When the attribute 412 is added to the time series 416, the earliest set of attributes 420 (corresponding to time t-N+1) can be discarded.

[0046] The set of attributes in sequence 416 can also include further attributes that are not derived directly from the position data acquired at block 305. In particular, the previous set of attributes can include a respective previous state of association between item 104-1 and carrier 108-1. This state of association results from previous execution of the remainder of method 300. The set of attributes 412 can not itself include the state of association, as the current state of association is determined by classifier 224 using the remainder of sequence 416 and set of attributes 412, as described below.

[0047] In some examples, the multiple executions of block 315 and block 320 can be batched. For example, as noted above, server 116 can identify a subset of items 104 that are within a threshold distance of a given carrier 108. For example, each item 104 in the subset can be transformed to local reference frame 408 substantially simultaneously, before any of the items 104 proceed to block 320.

[0048] At block 325, server 116 is configured to provide the attributes generated at block 320 for classification. For example, coordinator 220 can provide attributes 412 and attributes 416 to classifier 224. The attributes can be provided to the classifier, for example, as a two-dimensional matrix, where each row contains a given subset of attributes (i.e., from one execution of block 302), and the columns correspond to respective types of attributes from multiple subsets.

[0049] Classifier 224, such as the neural network described above, is configured to receive the above-described input (e.g., a two-dimensional matrix containing a time series of sets of attributes representing multiple executions of block 320 for a relevant carrier-item pair) and generate an output indicating whether the pair is associated. That is, classifier 224 is configured to infer a state of association between carrier 108 (e.g., carrier 108-1 in the present example) and item 104 (e.g., item 104-1 in the present example) from the set(s) of attributes.

[0050] As will be apparent to those skilled in the art, classifier 224 can detect association and dissociation between item 104 and carrier 108 based on attributes from successive executions of block 320. Classifier 224 is trained prior to deployment of classifier 224, for example, using training data collected within a facility and labeled using ground truth states of association. Collection and use of training data will be discussed further below.

[0051] The output generated by the classifier 224 can include an association status indicator and a confidence level associated therewith. The association status indicator is an indication of whether the item 104-1 is physically coupled to (i.e., being carried by) the carrier 108-1. The association status indicator can be a binary value, e.g., "1" for associated, indicating that the item 104-1 is being carried by the carrier 108-1, and "0" for disassociated, indicating that the item 104-1 is not being carried by the carrier 108-1. Various other forms of association status indicators are also contemplated. The confidence level indicator (e.g., as a percentage or other fraction) indicates a degree of confidence that the "association status indicator is correct." The coordinator 220 can be configured to discard classifier outputs having a confidence level below a predetermined threshold (e.g., 80%, although higher or lower thresholds can be employed in other examples).

[0052] The current status association indicator for the relevant item-carrier pair has been acquired at block 325, and assuming that the confidence level associated with this indicator exceeds the threshold described above, the server 116 is configured to proceed to block 330. At block 330, the server 116 is configured to determine whether the status indicator acquired at block 325 represents a change in the association status of the relevant carrier-item pair. That is, the server 116 is configured to retrieve from the repository 216 the previous association status indicator for the pair (resulting from a previous execution of block 325 for the same pair). If the current association status indicator is the same as the previous indicator, the determination at block 330 is negative.

[0053] Following a negative determination at block 330, the server 116 proceeds to block 335 to determine whether there are still other item-carrier pairs to be processed. When the determination at block 335 is positive, the server 116 returns to block 310 to select the next pair for processing. When the determination at block 335 is negative, the server 116 instead returns to block 305 to acquire further location data. As noted above, when the confidence level from block 325 is below the threshold, the determination at block 330 is automatically negative, and the server 116 proceeds to block 335.

[0054] If the current association status is different from the previous association status, the determination at block 330 is positive and the server 116 instead proceeds to block 340. A change in association status between the previous association status and the current association status for a given item-carrier pair indicates that the item 104 was previously carried by the carrier 108 and has been dropped, or that the item 104 was not previously carried by the carrier 108 and is now being carried.

[0055] At block 340, the server 116 is configured to update the repository 216 with the current association status indicator and, for example, send a status update message to the dispatcher 228. The status update message contains identifiers for the associated pair of carrier 108 and item 104 (in this example, carrier 108-1 and item 104-1). The identifiers can be obtained at block 305, along with the location data from the tags adhered to the item 104 and carrier 108. The status update message also contains the association status indicator from block 325. As will be apparent to those of skill in the art, the dispatcher 228 can be configured to generate and provide directional guidance for the associated pair of carrier 108 in response to receiving the status update message.

[0056] The directional guidance is generated, for example, based on the association status indicator. For example, when the association status indicator indicates that the carrier 108 has recently associated with the item 104, the dispatcher 228 can retrieve a target location (e.g., from the repository 216) to find the item 104 and transmit information to the computing device 112 associated with the carrier 108 to direct the carrier 108 to the target location. When the association status indicator indicates that the carrier 108 is no longer associated with the item 104 with which the carrier 108 was previously associated (i.e., the item 104 has been dropped from the carrier 108), the directional guidance transmitted to the corresponding device 112 can include a target area of a facility that contains other items 104 for collection and transport.

[0057] After performing block 340, the server 116 proceeds to block 335, as described above. Thus, for each set of location data received at block 305, the server 116 can evaluate a plurality of item-carrier pairs to determine whether each pair is associated and trigger generation of directional guidance upon detecting a new association or disassociation.

[0058] Reference is made to Figure 5A , Figure 5B and Figure 5C , which illustrate three additional states of the items 104 and carriers 108 after the states in Figure 4A . That is, Figure 5A to Figure 5C represents three subsequent points after the states illustrated in Figure 4A , in which the carrier 108-1 approaches Figure 5A ), picks up Figure 5B ), and begins transporting Figure 5C ) the item 104-3. The server 116 generates, via repeated execution of the method 300, the association status indicator for each of the items 104 (via block 325). Although the method 300 is illustrated as being performed in a loop, the method 300 can be performed in a batch mode, in which the server 116 receives a plurality of sets of location data at block 305 and evaluates a plurality of item-carrier pairs at block 325. The method 300 can be performed in real-time, in which the server 116 receives a set of location data at block 305 and evaluates a plurality of item-carrier pairs at block 325 in response to receiving the set of location data. The method 300 can be performed in batch mode, in which the server 116 receives a plurality of sets of location data at block 305 and evaluates a plurality of item-carrier pairs at block 325 in response to receiving the plurality of sets of location data. Figure 4AIn the example of FIG. 4, item 104-2 is excluded from the subset of items 104 to be processed, but movement of carrier 108-1 brings carrier 108 close enough to item 104-2 that item 104-2 is assumed to be processed as well. That is, the four item-carrier pairs are processed for Figure 5A to Figure 5C Each of the scenarios illustrated in FIG. 4 is processed.

[0059] Server 116 is configured to detect, for example, based on location data corresponding to Figure 5C that item 104-3 has recently been associated with carrier 108-1. In some examples, server 116 can detect the association at Figure 5B rather than the state illustrated in FIG. 4. In any case, once the association is detected, server 116 provides directional guidance to the operator of carrier 108-1, for example, by transmitting information to computing device 112-1. Figure 5C

[0060] In some examples, the location data acquired at block 305 can not be acquired at precisely spaced intervals. For example, rather than receiving location data at half-second intervals, some location data samples can be spaced more or less than 0.5 seconds apart. Server 116 can be configured to, by virtue of this, also pre-process the attributes generated at block 320 before providing the attributes to classifier 224. Such pre-processing can include interpolating attributes at precise intervals between those generated at block 320.

[0061] Turning to FIG. 6, Figure 6A A series of location attributes 600-1, 600-2, 600-3, and 600-4 are illustrated in accordance with reference frame 408. That is, locations 600 represent the time-varying location of item 104 (e.g., item 104-3) relative to carrier 108-1. Location 600-1 is the most recently captured, and location 600-4 is the earliest sample. Figure 6A Times 604-1, 604-2, 604-3, and 604-4 at which locations 600 are captured are also indicated in FIG. 6. For example, location 600-2 is captured 0.6 seconds before location 600-1.

[0062] To provide classifier 224 with a consistent set of attributes, server 116 can be configured to generate attributes that conform to a predetermined sampling frequency (e.g., 0.5 seconds). For example, as illustrated in FIG. 6, locations 600-1, 600-2, 600-3, and 600-4 are spaced 0.5 seconds apart. Figure 6B ​As shown, the server 116 can fit a curve or other guide feature 606 to the captured positions 600, and interpolate attributes 608-2 and 608-3 to replace attributes that do not fall on a predetermined sampling frequency. For example, the interpolated attributes 608-2 and 608-3 correspond to sampling times 612-2 and 612-3 that align with a predetermined 0.5 second sampling frequency. The above process can be repeated for each other attribute type in the set, before providing the time series of attribute sets to the classifier 224.

[0063] Returning to Figure 3 As noted previously, the classifier 224 is configured to generate the association state indicator and the confidence level based on classification parameters (e.g., parameters that define the behavior of nodes in a neural network). The classification parameters, in turn, are generated, for example, using a training process at the time of deployment of the system 100. After deployment, the training process can be repeated periodically, for example, after a physical change in the facility layout, etc.

[0064] In particular, at block 345, the server 116 is configured to obtain training data. The training data includes a plurality of location data samples (e.g., collected in multiple executions of block 305), labeled with ground truth association state indicators. The training data can be manually labeled. The training data can be collected during regular operation within the facility, or from planned trajectories of the set of carriers 108 and items 104 through the facility.

[0065] In some examples, labeling the training data can be at least partially automated. For example, prior to deployment of the system 100, the motion of the items 104 and carriers 108 can be tracked as described above, and associations can be detected via the correlated motion. Although such correlations can be slower than the processes discussed herein, e.g., taking 5-10 seconds to identify associations and disassociations between items 104 and carriers 108, the detected association changes can be employed to generate labeled training data. For example, once an association change is detected via correlated motion, the attribute sets corresponding to the correlated item-carrier pair, including attribute sets that are temporally prior to the detection, e.g., 5 seconds, can be labeled with the detected association. At block 350, the server 116 is configured to generate and store the classification parameters described above.

[0066] As will now be apparent to those skilled in the art, the system 100 can enable detection of an association state change between the item 104 and the carrier 108 more quickly and / or more accurately than detection of only relevant motion. Use of various position-related attributes by the classifier 224 can enable detection of association state changes based on patterns or trends that can be time-consuming or impossible to detect via manual analysis of position data. Further, use of the classifier 224 can enable more rapid deployment of the system 100 in various facilities by mitigating or avoiding the need for such manual analysis.

[0067] In the foregoing specification, specific embodiments have been described. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the present application as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative manner, rather than a restrictive one, and all such modifications are intended to be included within the scope of the present teachings.

[0068] The benefits, advantages, solutions to problems, and any one or more elements of any benefit, advantage, or solution that can occur or become apparent are not to be construed as a critical, required, or essential feature or element of any or all the claims. The application is defined solely by the appended claims including any amendments made during the pendency of this application and all equivalents of the claims as issued.

[0069] Furthermore, relational terms such as first and second, top and bottom, and the like can be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms "comprises," "comprising," "has," "having," "includes," "including," "contains," "containing," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, has, includes, contains a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by "comprises... a," "has... a," "includes... a," or "contains... a" does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises, has, includes, contains the element. The terms "a" and "an" are defined as one or more unless explicitly stated otherwise herein. The terms "substantially," "essentially," "approximately," "about" or any other version thereof, are defined as being close to as understood by one of ordinary skill in the art, and in one non-limiting embodiment the term is defined to be within 10% of the stated value, in another embodiment within 5%, in another embodiment within 1%, and in another embodiment within 0.5%. The term "coupled" as used herein is defined as connected, although not necessarily directly and not necessarily mechanically. A device or structure that is "configured" in a certain way is configured at least to that certain way, but can also be configured in other ways.

[0070] It is to be understood that some embodiments can include one or more special purpose processors (or "processing devices") such as microprocessors, digital signal processors, customized processors and field programmable gate arrays (FPGAs) and unique stored program instructions (including both software and firmware) that control the one or more processors to implement some, most or all of the methodologies and / or apparatus described herein. Alternatively, some or all of the functionalities can be implemented by a state machine that has no stored program instructions, but instead simply a number of logic logic states that control its operations. Of course, a plurality of state machines can be employed. Additionally, one or more processors in association with software can be used to implement processes described herein, instead of a state machine or in combination with a state machine. Further, it will be appreciated that the methodologies and / or apparatus described herein can be implemented by one or more circuits, such as one or more analog or digital circuits, which can include one or more processors as described above and unique stored program instructions (including both software and firmware) that control the one or more circuits to implement some, most or all of the methodologies and / or apparatus described herein. Alternatively or additionally, some or all of the functionality described herein can be implemented by one or more fixed function circuits, such as one or more application specific integrated circuits (ASICs) or one or more digital signal processors (DSPs), or any other devices that have fixed function circuits.

[0071] Furthermore, embodiments can be implemented as a computer readable storage medium having stored thereon computer readable code (e.g., comprising one or more of the embodiments described and claimed herein) that when executed by a computer (e.g., comprising a processor) cause the computer to implement a method as described and claimed herein. Examples of computer- readable storage media include but are not limited to hard disks, compact disks, optical storage, magnetic storage, ROM (read only memory), PROM (programmable read only memory), EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory) and flash memory. Furthermore, it is expected that one of ordinary skill, notwithstanding possibly significant effort and many design choices motivated by, for example, available time, current technology, and economic considerations, when guided by the concepts and principles disclosed herein will be readily capable of generating such software instructions and programs and ICs with minimal experimentation. The above detailed description has shown, by way of example, implementations of the disclosure.

[0072] The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or the meaning of the claims. In addition, in the above Detailed Description, various features can be grouped together or described in a single embodiment for the purpose of streamlining the disclosure. This disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter can be less than all of the features it can encompass while implementing or employing an embodiment of the present disclosure. Thus, the following claims are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment.

Claims

1. A method comprising: Acquire the corresponding location data for each item in the carrier and the item set at the computing device; For each item in the item set: Store the previous association state between the item and the carrier; Generate a set of attributes that define the spatial relationship between the item and the carrier; The attribute set is provided to the classifier to detect the current association state between the carrier and the item; as well as In response to determining that the current association state between the carrier and the item is different from the previous association state, a status update message is transmitted to the scheduler, which is configured to provide directional guidance to the carrier.

2. The method of claim 1, further comprising: Obtain the location data of multiple items including the item set; as well as The item set is selected from the plurality of items based on the location data.

3. The method of claim 2, further comprising: The set of items is selected from the plurality of items based on the corresponding distance between each item and the carrier.

4. The method of claim 1, further comprising: Use the attribute set to update the time series of the stored attribute set; as well as The time series is provided to the classifier.

5. The method as described in claim 4, characterized in that, The update includes discarding the oldest attribute set in the attribute set when the stored time series has reached a threshold length.

6. The method as described in claim 1, characterized in that, The attribute set includes at least one of the position of the carrier, the speed of the carrier, the position of the item, and the speed of the item.

7. The method of claim 1, further comprising: Before generating the attribute set, the location data corresponding to the item set is transformed to a local reference frame based on the location of the carrier.

8. The method of claim 1, further comprising: Obtain the confidence level corresponding to the current association state from the classifier; When the confidence level is below the threshold, the current association state is discarded.

9. The method as described in claim 1, characterized in that, The previous association state and the current association state each indicate one of the following: (i) an association state in which the item is carried by the carrier, and (ii) a disassociation state in which the item is not carried by the carrier.

10. The method as described in claim 1, characterized in that, Obtaining the location data includes receiving the location data from a set of tag readers.

11. A computing device, comprising: Memory; Communication interface; as well as Processor, the processor being configured to: The corresponding location data for each item in the carrier and the item set is obtained via the communication interface. For each item in the item set: Store the previous association state between the item and the carrier; Generate a set of attributes that define the spatial relationship between the item and the carrier; The attribute set is provided to the classifier to detect the current association state between the carrier and the item; as well as In response to determining that the current association state between the carrier and the item is different from the previous association state, a status update message is transmitted to the scheduler, which is configured to provide directional guidance to the carrier.

12. The computing device as claimed in claim 11, characterized in that, The processor is further configured to: Obtain the location data of multiple items including the item set; and The item set is selected from the plurality of items based on the location data.

13. The computing device as claimed in claim 12, characterized in that, The processor is further configured to: The set of items is selected from the plurality of items based on the corresponding distance between each item and the carrier.

14. The computing device as claimed in claim 11, characterized in that, The processor is further configured to: Update the stored time series of the attribute set using the attribute set; and The time series is provided to the classifier.

15. The computing device as claimed in claim 14, characterized in that, In order to update the time series, the processor is configured to discard the oldest attribute set in the attribute set when the stored time series has reached a threshold length.

16. The computing device as claimed in claim 11, characterized in that, The attribute set includes at least one of the position of the carrier, the speed of the carrier, the position of the item, and the speed of the item.

17. The computing device as claimed in claim 11, characterized in that, The processor is further configured to: Before generating the attribute set, the location data corresponding to the item set is transformed to a local reference frame based on the location of the carrier.

18. The computing device as claimed in claim 11, characterized in that, The processor is further configured to: Obtain the confidence level corresponding to the current association state from the classifier; When the confidence level is below the threshold, the current association state is discarded.

19. The computing device as claimed in claim 11, characterized in that, The previous association state and the current association state each indicate one of the following: (i) an association state in which the item is carried by the carrier, and (ii) a disassociation state in which the item is not carried by the carrier.

20. The computing device as claimed in claim 11, characterized in that, In order to acquire the location data, the processor is configured to receive the location data from a set of tag readers.

Citation Information

Patent Citations

  • Systems and methods for processing objects, including automated mobile matrix carriers

    CN110650903A

  • Radio frequency identification tag on picking container and display of pick list to order filler

    CN1624715A

  • Realtime synchronization control of induction-carrier in goods auto-classification system

    KR1020160076292A