Goods picking method, device, electronic device and computer readable medium

By using multidimensional data structures and three sets of bidirectional linked lists to store cargo location information in a high-bay warehouse, the problem of picking robots needing to return to the origin or wait for calculation is solved, achieving more efficient cargo picking.

CN117184732BActive Publication Date: 2025-09-16BEIJING JINGDONG ZHENSHI INFORMATION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210610973.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-31
Publication Date
2025-09-16
Estimated Expiration
2042-05-31

Smart Images

  • Figure CN117184732B_ABST
    Figure CN117184732B_ABST
Patent Text Reader

Abstract

The embodiments of the present disclosure disclose a method, device, and electronic device for picking goods. A specific implementation of the method includes: querying the location information of the goods to be picked from a goods location database based on the identification of the goods to be picked, wherein the data in the goods location database is stored in a multidimensional data structure, and the multidimensional data structure includes multiple basic data structures, each basic data structure is used to store a key-value pair consisting of the identification and location information of a goods in the warehouse, and each basic data structure is also configured with at least three sets of bidirectional linked lists, and the at least three sets of bidirectional linked lists are used to identify the relative position of the goods relative to the surrounding goods; the location information is sent to the picking device so that the picking device runs to the position corresponding to the location information and picks the goods to be picked. This implementation method improves the efficiency of picking goods.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present disclosure relate to the field of computer technology, and more particularly to a cargo picking method, device, electronic device, and computer-readable medium. Background Art

[0002] The development of smart warehouses has greatly improved warehouse turnover efficiency. Currently, most warehouses are built in three-dimensional warehouses, with multiple aisles and multiple layers of storage partitions on each shelf. Each item stored in the warehouse is assigned a location number, such as A1-B3-6, indicating that the item is stored on the 6th floor of shelf B3 on aisle A1. This identification allows picking robots to perform picking operations. To store the location information of the items, the relevant storage method generally uses a bidirectional hash list (such as LinkedHashMap) to store the location information.

[0003] However, when using the above data structure to store location information, the following technical problems often occur:

[0004] When storing location information using the above data structure, the coordinates and other location information are typically stored directly. However, a picking robot must continuously perform picking operations. When it completes one item and needs to move on to the next, it must return to its origin or calculate the relative position of the next item relative to its current location. During this calculation, the picking robot must wait in place. Therefore, both returning to the origin and waiting in place affect picking efficiency. Summary of the Invention

[0005] The content of this disclosure is intended to briefly introduce concepts that will be described in detail in the detailed description section below. The content of this disclosure is not intended to identify key features or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions. Some embodiments of this disclosure provide methods, devices, equipment, and computer-readable media for sorting goods to address one or more of the technical issues mentioned in the background section above.

[0006] In a first aspect, some embodiments of the present disclosure provide a cargo picking method, the method comprising: querying the location information of the cargo to be picked from a cargo location database based on the identification of the cargo to be picked, wherein the data in the cargo location database is stored in a multidimensional data structure, the multidimensional data structure comprises a plurality of basic data structures, each basic data structure is used to store a key-value pair consisting of an identification and location information of a cargo in a warehouse, and each data structure is further configured with at least three sets of bidirectional linked lists, and the at least three sets of bidirectional linked lists are used to identify the relative position of the cargo relative to the surrounding cargo; sending the location information to a picking device so that the picking device runs to the position corresponding to the location information and picks the cargo to be picked.

[0007] In a second aspect, some embodiments of the present disclosure provide a cargo picking device, the device comprising: a query unit configured to query the location information of the cargo to be picked from a cargo location database based on the identification of the cargo to be picked, wherein the data in the cargo location database is stored in a multidimensional data structure, the multidimensional data structure comprising a plurality of basic data structures, each of which is used to store a key-value pair consisting of the identification and location information of a cargo in the warehouse, and each data structure is further configured with at least three sets of bidirectional linked lists, the at least three sets of bidirectional linked lists being used to identify the relative position of the cargo relative to the surrounding cargo. A sending unit configured to send the location information to a picking device so that the picking device moves to the position corresponding to the location information and picks the cargo to be picked.

[0008] In a third aspect, some embodiments of the present disclosure provide an electronic device comprising: one or more processors; a storage device on which one or more programs are stored, and when the one or more programs are executed by one or more processors, the one or more processors implement the method described in any implementation of the first aspect above.

[0009] In a fourth aspect, some embodiments of the present disclosure provide a computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the method described in any implementation of the first aspect is implemented.

[0010] The above-described embodiments of the present disclosure have the following beneficial effects: since the data in the cargo location database is stored in a multidimensional data structure, and each basic data structure identifies the relative position of cargo in the warehouse using at least three sets of bidirectional linked lists, it can be seen that when the multidimensional data structure is used for storage, the three-dimensional spatial structure has good directionality. After completing the picking of one cargo, it can directly move to the next cargo based on its relative position to the current location, without returning to the origin or performing further calculations, thereby improving cargo picking efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other features, advantages, and aspects of the various embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numerals represent the same or similar elements. It should be understood that the drawings are schematic and that components and elements are not necessarily drawn to scale.

[0012] Figure 1-2 is an exemplary schematic diagram of a storage method of location information involved in a related goods picking method;

[0013] Figure 3 is a schematic diagram of an application scenario of a cargo picking method according to some embodiments of the present disclosure;

[0014] Figure 4 is a flowchart of some embodiments of the cargo picking method according to the present disclosure

[0015] Figure 5 is a flow chart of other embodiments of the cargo picking method according to the present disclosure;

[0016] Figure 6 is a schematic structural diagram of some embodiments of the cargo picking device according to the present disclosure;

[0017] Figure 7 is a schematic structural diagram of an electronic device suitable for implementing some embodiments of the present disclosure;

[0018] Figure 8 An exemplary schematic diagram showing a basic data structure in a cargo picking method according to some embodiments of the present disclosure. DETAILED DESCRIPTION

[0019] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of protection of the present disclosure.

[0020] It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings. In the absence of conflict, the embodiments and features in the embodiments of the present disclosure may be combined with each other.

[0021] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the order or interdependence of the functions performed by these devices, modules or units.

[0022] It should be noted that the modifications of "one" and "multiple" mentioned in the present disclosure are illustrative rather than restrictive, and those skilled in the art should understand that unless otherwise clearly indicated in the context, they should be understood as "one or more".

[0023] The names of the messages or information exchanged between multiple devices in the embodiments of the present disclosure are only used for illustrative purposes and are not used to limit the scope of these messages or information.

[0024] In order to better illustrate the present disclosure, first Figure 1 and Figure 2 The storage method of location information involved in the relevant goods picking is explained.

[0025] Since the data structures involved in the relevant cargo picking (such as LinkedHashMap) cannot directly store three-dimensional data, there are multiple storage methods when LinkedHashMap is used to store the location information of cargo in a three-dimensional warehouse. Among them, LinkedHashMap is implemented through arrays and bidirectional linked lists, and its basic data structure is Entry. The attributes of Entry include key, value, hash, next, before, and after. Among them, key, value, and hash are the key, value, and hash value corresponding to the key respectively. Next is used to maintain the connection order of Entry in a single bucket, such as Figure 1 The connection relationship between multiple entries in the same row. For example, the next attribute of Entry101 points to Entry102, and the next attribute of Entry102 points to Entry103. The before and after attributes are used to maintain the order in which entries are inserted.

[0026] As an example, a set of LinkedHashMaps can be used to store. Figure 1As shown, assuming that Entry101, Entry102, Entry103...Entry105...are used for storage, then Entry101 can store the location information of the goods numbered A1-B1-1, Entry101 can store the location information of the goods numbered A1-B1-2, and so on, until all the goods on the B1 shelf on the A1 aisle are stored. Assuming that each shelf has 5 layers, then Entry105 can store the location information of the goods numbered A1-B1-5. Then, start storing the location information of the goods on the B2 shelf on the A1 aisle, and so on, until the location information of all the goods is stored. It can be seen that when storing in this way, complete location information must be stored, such as the full coordinates, such as (20.5, 18, 3). In the actual picking process, a picking robot generally picks multiple goods continuously. When it obtains the coordinates of the full amount, it needs to return to the origin or calculate the relative position relationship with the current position based on the coordinates. When calculating, it needs to wait in place, which will undoubtedly affect the picking efficiency.

[0027] As another example, multiple sets of LinkedHashMap can be used for storage. Figure 2 As shown, entries 201-203 in the first row are used to store the x-coordinate of the location information, entries 204-206 in the second row are used to store the y-coordinate of the location information, and entries 204-206 in the third row are used to store the z-coordinate of the location information. When using this storage method, the complete coordinates must also be stored. This results in the need to return to the origin or calculate the relative position relationship with the current position based on the coordinates during continuous picking. When calculating, the operator needs to wait in place, which undoubtedly affects the efficiency of picking.

[0028] It can be seen that no matter which storage method is used, since three-dimensional data cannot be directly stored, the picking robot either needs to return to the origin or wait on the spot, which seriously affects the picking efficiency.

[0029] Based on this, as an example, Figure 8An exemplary schematic diagram illustrates the basic data structure used in the cargo picking method according to some embodiments of the present disclosure. The basic data structure can be obtained by modifying an entry in a LinkedHashMap. For example, first, the attribute "next" is removed and two sets of doubly linked lists are added. Thus, three sets of doubly linked lists are used to maintain the positional relationships of cargo relative to the top, bottom, left, right, front, and back directions. Specifically, the three sets of doubly linked lists in the basic data structure correspond to the attributes "previous-x", "next-x", "previous-y", "next-y", "previous-z", and "next-z", respectively, representing the offsets of cargo relative to the left, right, front, and back directions. In practice, as an example, the construction, storage, and reading of the basic data structure can be implemented as follows: 1. Construction: The basic data structure, as a data container, can be initialized to specify the type of data to be stored and set the container length based on the data type. 2. Storage: After filling the basic data structure with data, the values ​​of the three doubly linked lists are set and stored in the database. 3. Reading: Based on the data recorded during initialization, the location of the data to be read in the database can be determined, and the corresponding data can be returned based on the determined location. It can be seen that through such construction, storage and reading methods, due to the existence of three sets of bidirectional chains, data positioning is facilitated and the data processing speed can be improved.

[0030] In practice, when a picking robot is picking, the growth of the picking queue information is much greater than the actual robot picking speed. When the picking information has already filled the area around the current robot's location, a certain algorithm can be used to allow the robot to prioritize picking the closest item, rather than the next item in the queue (which may be far away), thereby improving the efficiency of the machine. At this time, the picking robot can prioritize picking goods adjacent to the current location. From the above discussion, it can be seen that since the offset is stored, the picking robot can directly obtain the position information relative to the current location, so that it can directly run to the required location for picking, thereby improving picking efficiency.

[0031] As an example, Figure 3 As shown in the figure, assuming the picking robot is currently at position A and the goods to be picked are at position B, the position information of the goods to be picked can be (1, -1, 1, -1, -1, 1). Then, the picking robot can move one unit along the positive direction of the y-axis to pick the goods to be picked, avoiding waiting or returning to the origin, thereby improving picking efficiency.

[0032] In this application scenario, the execution subject of the cargo picking method can be a server that is in communication with a picking device (such as a picking robot) or a processing unit of the picking device. It is understandable that the execution subject can be various software or hardware such as a server or a robot processor. When it is software, it can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules for providing distributed services, or it can be implemented as a single software or software module. No specific limitation is made here.

[0033] Continue to refer Figure 4 , shows a process 400 of some embodiments of the cargo picking method according to the present disclosure. The cargo picking method includes the following steps:

[0034] Step 401: query the location information of the goods to be picked from the goods location database according to the identification of the goods to be picked.

[0035] In some embodiments, the execution entity of the cargo picking method can query the location information of the cargo to be picked from the cargo location database based on the identification of the cargo to be picked. The data in the cargo location database is stored in a multidimensional data structure. The multidimensional data structure includes multiple basic data structures. Each basic data structure is used to store a key-value pair consisting of the identification and location information of a cargo in the warehouse. Each basic data structure is also configured with at least three sets of bidirectional linked lists, and the at least three sets of bidirectional linked lists are used to identify the relative position of the cargo with respect to the surrounding cargo. As an example, a structure containing three sets of bidirectional linked lists can be directly defined as the above-mentioned basic data structure.

[0036] In some embodiments, the above-mentioned execution entity can traverse each basic data structure until a basic data structure is found in which the identification of the stored goods is consistent with the identification of the goods to be picked, and then the location information in the key-value pair stored in the basic data structure is determined as the location information to be picked.

[0037] In some optional implementations of some embodiments, a basic data structure is configured with three sets of doubly linked lists. In this case, the basic data structure is obtained by the following steps: deleting the first attribute (Next) of an element (Entry) in a linked hash map (LinkedHashMap), where the first attribute is used to represent the next element connected to the element. Then, two sets of doubly linked lists are added to the element to obtain the basic data structure, wherein the three sets of doubly linked lists configured in the basic data structure are respectively used to store the offset of the goods relative to the goods in the upper, lower, left, right, front, and back directions.

[0038] In some optional implementations of some embodiments, the cargo location database stores data through the following steps: filling the data to be stored into the above-mentioned basic data structure to obtain structured data to be stored; then, storing the structured data to be stored in the cargo location database; setting attribute values ​​for the attributes corresponding to at least three groups of bidirectional linked lists of the structured data to be stored (for example, previous-x, next-x, previous-y, next-y, previous-z, next-z).

[0039] Step 402 : Send the location information to the picking device so that the picking device moves to the location corresponding to the location information and picks the goods to be picked.

[0040] In some embodiments, the execution entity may send the queried location information to a picking device, such as a picking robot, so that the picking device can move to the location corresponding to the location information and pick the goods to be picked.

[0041] It can be understood that when the above-mentioned execution entity can be the processing unit of the picking robot, the processing unit can send the movement control information to the moving unit to make the picking device run to the position corresponding to the position information and pick the goods to be picked.

[0042] In the methods provided by some embodiments of the present disclosure, the data in the cargo location database is stored in a multidimensional data structure, and each basic data structure identifies the relative position of cargo in the warehouse using at least three sets of bidirectional linked lists. It can be seen that when a multidimensional data structure is used for storage, the three-dimensional spatial structure has excellent directionality. After completing the picking of one cargo, the next cargo can be directly moved to the next cargo for picking based on its relative position to the current location, without returning to the origin or performing further calculations, thereby improving cargo picking efficiency.

[0043] Further references Figure 5 , which shows a process 500 of another embodiment of a cargo picking method. The process 500 of the cargo picking method includes the following steps:

[0044] Step 501: Determine the hash value of the identifier of the goods to be picked based on a predetermined hash function.

[0045] In some embodiments, the hash function can be selected according to actual needs. Then, the identification of the goods to be picked is input into the function to obtain the hash value of the identification of the goods to be picked.

[0046] Step 502: Determine the storage address of the location information of the goods to be picked in the goods location database according to the hash value.

[0047] Step 503: Read the location information of the goods to be picked according to the storage address.

[0048] In some embodiments, a memory pointer may be used to directly point to the Entry memory space that actually stores vlaue.

[0049] Step 504: Add the location information to the location information queue.

[0050] In some embodiments, since the picking speed of the picking device is much slower than the generation speed of the location information to be picked, the newly generated location information cannot be processed in a timely manner and needs to be added to the location information queue for processing.

[0051] Step 505 : In response to the existence of location information of locations around the current location of the picking device in the location information queue, control the picking device to move to the surrounding locations and pick the surrounding goods.

[0052] In practice, since the picking speed of the picking equipment is much slower than the speed at which the location information to be picked is generated, this will result in a large amount of location information in the location information queue that needs to be processed over time. If the processing is performed according to the sorting order in the queue, the picking equipment may need to move over a large range and long distances within the warehouse, reducing the picking efficiency. Based on this, in some optional implementation methods, after the picking of the goods at the current location is completed, it can be determined whether the location information of the locations around the current location exists in the location information queue. If so, it means that the goods around the current location are waiting to be picked, and the goods around the current location can be picked first, which can minimize the moving distance of the picking equipment and improve the picking efficiency.

[0053] Additionally, each item to be picked can optionally be assigned a priority. In this case, items at locations corresponding to the location information in the location information queue can be picked based on the priority, the distance between the item to be picked and the current location of the picking device, and / or the priority of the items at the locations indicated by the location information. This maximizes picking efficiency while ensuring that the picking of important items is not delayed.

[0054] from Figure 5 It can be seen that Figure 4 Compared with the description of some corresponding embodiments, Figure 5 In the corresponding process 500 of the cargo picking method in some embodiments, after the cargo at the current location is picked, it can be determined whether the location information of the locations around the current location exists in the location information queue. If so, it means that the cargo around the current location is waiting for picking. The cargo around the current location can be picked first, which can minimize the moving distance of the picking equipment and improve the picking efficiency.

[0055] Further references Figure 6 As an implementation of the methods shown in the above figures, the present disclosure provides some embodiments of a cargo picking device. These device embodiments are similar to Figure 4 Corresponding to the method embodiments shown, the device can be specifically applied to various electronic devices.

[0056] like Figure 6 As shown, some embodiments of the cargo picking device 600 include: a query unit 601 and a sending unit 602. The query unit 601 is configured to query the location information of the cargo to be picked from the cargo location database based on the identification of the cargo to be picked. The data in the cargo location database is stored in a multidimensional data structure, which includes multiple basic data structures, each of which is used to store a key-value pair consisting of the identification and location information of a cargo in the warehouse. Each data structure is also configured with at least three sets of bidirectional linked lists, and the at least three sets of bidirectional linked lists are used to identify the relative position of the cargo with respect to the surrounding cargo. The sending unit 602 is configured to send the location information to the picking device, so that the picking device moves to the position corresponding to the location information and picks the cargo to be picked.

[0057] In some optional implementations of some embodiments, the query unit 601 is further configured to: determine the hash value of the identification of the goods to be picked based on a predetermined hash function; determine the storage address of the location information of the goods to be picked in the goods location database according to the hash value; and read the location information of the goods to be picked according to the storage address.

[0058] In some optional implementations of some embodiments, the basic data structure is configured with three sets of bidirectional linked lists, and the basic data structure is obtained by the following steps: deleting the first attribute of the element in the linked list hash map, where the first attribute is used to represent the next element connected to the element; adding two sets of bidirectional linked lists to the element to obtain the basic data structure, wherein the three sets of bidirectional linked lists configured in the basic data structure are respectively used to store the offset of the goods relative to the up, down, left, right, front and back of the goods.

[0059] In some optional implementations of some embodiments, the goods to be picked are configured with priorities; and the sending unit 602 is further configured to add the location information to the location information queue, so that the picking device picks the goods at the positions corresponding to each location information in the location information queue based on the distance between the positions represented by each location information and the current position and / or the priority of the goods at the positions represented by the location information.

[0060] In some optional implementations of some embodiments, the cargo location database stores data through the following steps: filling the data to be stored into the basic data structure to obtain structured data to be stored; storing the structured data to be stored in the cargo location database; setting attribute values ​​for the attributes corresponding to at least three groups of bidirectional linked lists of the structured data to be stored.

[0061] In some optional implementations of some embodiments, the sending unit 602 is further configured to add the location information to the location information queue; in response to the completion of picking of goods at the current location, and the existence of location information of locations around the current location of the picking device in the location information queue, the picking device is controlled to move to the surrounding locations, and to pick the surrounding goods.

[0062] It is understood that the units described in the device 600 are similar to those in the reference Figure 2 Therefore, the operations, features and beneficial effects described above for the method are also applicable to the device 600 and the units included therein, and will not be repeated here.

[0063] Reference below Figure 7 , which shows an electronic device (eg, Figure 1 A structural diagram of a server or terminal device in (a) 700. Figure 7 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0064] like Figure 7 As shown, the electronic device 700 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. Various programs and data required for the operation of the electronic device 700 are also stored in the RAM 703. The processing device 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0065] Typically, the following devices may be connected to the I / O interface 705: an input device 706 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 707 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 708 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 709. The communication device 709 may allow the electronic device 700 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 7The electronic device 700 is shown with various devices, but it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed instead. Figure 7 Each block shown in the figure may represent one device, or may represent multiple devices as needed.

[0066] In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In some such embodiments, the computer program can be downloaded and installed from a network via the communication device 709, or installed from the storage device 708, or installed from the ROM 702. When the computer program is executed by the processing device 701, the above-mentioned functions defined in the method of some embodiments of the present disclosure are performed.

[0067] It should be noted that the computer-readable medium described in some embodiments of the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In some embodiments of the present disclosure, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, device, or device. In some embodiments of the present disclosure, the computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries computer-readable program code. Such a propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium may be transmitted using any suitable medium, including but not limited to wires, optical cables, RF (radio frequency), etc., or any suitable combination thereof.

[0068] In some embodiments, the client and server can communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol), and can be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.

[0069] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device. The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: queries the location information of the goods to be picked from the goods location database based on the identification of the goods to be picked, wherein the data in the goods location database is stored in a multidimensional data structure. The multidimensional data structure includes multiple basic data structures, each of which is used to store a key-value pair consisting of the identification and location information of a good in the warehouse. Each data structure is also configured with at least three sets of bidirectional linked lists, and the at least three sets of bidirectional linked lists are used to identify the relative position of the goods relative to the surrounding goods; sends the location information to the picking device so that the picking device runs to the position corresponding to the location information and picks the goods to be picked.

[0070] Computer program code for performing the operations of some embodiments of the present disclosure may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).

[0071] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flowchart, and the combination of the boxes in the block diagram and / or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0072] The units described in some embodiments of the present disclosure may be implemented in software or hardware. The units described may also be provided in a processor. For example, they may be described as: a processor including a query unit and a sending unit. The names of these units do not, in some cases, limit the units themselves. For example, the query unit may also be described as a "unit for querying the location information of the goods to be picked from the goods location database."

[0073] The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, and without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chip (SOCs), complex programmable logic devices (CPLDs), and the like.

[0074] The above description is only an illustration of some preferred embodiments of the present disclosure and the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the embodiments of the present disclosure is not limited to the technical solutions formed by the specific combination of the above-mentioned technical features, but should also cover other technical solutions formed by any combination of the above-mentioned technical features or their equivalent features without departing from the above-mentioned inventive concept. For example, the above-mentioned features are replaced with (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure.

Claims

1. A cargo picking method, comprising: According to the identification of the goods to be picked, querying the location information of the goods to be picked from a goods location database, wherein the data in the goods location database is stored in a multidimensional data structure, the multidimensional data structure includes a plurality of basic data structures, each basic data structure is used to store a key-value pair consisting of the identification and location information of a piece of goods in the warehouse, and each basic data structure is further configured with at least three sets of bidirectional linked lists, and the at least three sets of bidirectional linked lists are used to identify the relative position of the goods with respect to surrounding goods; The position information is sent to a picking device so that the picking device moves to a position corresponding to the position information and picks the goods to be picked.

2. The method according to claim 1, wherein The querying of the location information of the goods to be picked from the goods location database according to the identification of the goods to be picked includes: Determining a hash value of the identifier of the goods to be picked based on a predetermined hash function; Determine, according to the hash value, a storage address of the location information of the goods to be picked in the goods location database; According to the storage address, the location information of the goods to be picked is read.

3. The method according to claim 1, wherein The basic data structure is configured with three sets of bidirectional linked lists, and the basic data structure is obtained by the following steps: Deleting a first attribute of an element in a linked list hash map, where the first attribute is used to represent a next element connected to the element; Two sets of bidirectional linked lists are added to the elements to obtain the basic data structure, wherein the three sets of bidirectional linked lists configured in the basic data structure are respectively used to store the offsets of the goods relative to the goods in the upper, lower, left, right, front and back directions.

4. The method according to claim 1, wherein The goods to be picked are configured with priorities; and The sending of the position information to the picking device so that the picking device moves to the position corresponding to the position information and picks the goods to be picked includes: The location information is added to the location information queue so that the picking device picks the goods at the positions corresponding to the various location information in the location information queue according to the distance between the positions represented by the various location information and the current position and / or the priority of the goods at the positions represented by the location information.

5. The method according to claim 1, wherein The cargo location database stores data through the following steps: Filling the data to be stored into the basic data structure to obtain structured data to be stored; Storing the structured data to be stored in the cargo location database; Attribute values ​​are set for the attributes corresponding to the at least three groups of bidirectional linked lists of the structured data to be stored.

6. The method according to claim 1, wherein The sending of the position information to the picking device so that the picking device moves to the position corresponding to the position information and picks the goods to be picked includes: Adding the location information to a location information queue; In response to the completion of picking of goods at the current position and the existence of position information of positions around the current position of the picking device in the position information queue, the picking device is controlled to move to the surrounding positions and pick the surrounding goods.

7. A cargo picking device comprising: a query unit configured to query, based on the identification of the goods to be picked, the location information of the goods to be picked from a goods location database, wherein the data in the goods location database is stored in a multidimensional data structure, the multidimensional data structure including a plurality of basic data structures, each basic data structure being used to store a key-value pair consisting of an identification and location information of a good in the warehouse, each basic data structure being further configured with at least three sets of bidirectional linked lists, the at least three sets of bidirectional linked lists being used to identify the relative position of the good with respect to surrounding goods; The sending unit is configured to send the position information to the picking device so that the picking device runs to the position corresponding to the position information and picks the goods to be picked.

8. The device according to claim 7, wherein The query unit is further configured to: Determining a hash value of the identifier of the goods to be picked based on a predetermined hash function; Determine, according to the hash value, a storage address of the location information of the goods to be picked in the goods location database; According to the storage address, the location information of the goods to be picked is read.

9. An electronic device comprising: one or more processors; a storage device having one or more programs stored thereon, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.

10. A computer-readable medium having a computer program stored thereon, wherein: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

Citation Information

Patent Citations

  • Mass moving target aggregation method and device

    CN103902622A

  • Cargo automatic sorting method and system

    CN109433628A