CN115345450A - Method and device for distributing container conveying tasks - Google Patents
Method and device for distributing container conveying tasks Download PDFInfo
- Publication number
- CN115345450A CN115345450A CN202210896514.4A CN202210896514A CN115345450A CN 115345450 A CN115345450 A CN 115345450A CN 202210896514 A CN202210896514 A CN 202210896514A CN 115345450 A CN115345450 A CN 115345450A
- Authority
- CN
- China
- Prior art keywords
- task
- container
- robot
- determining
- carrying
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06312—Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Educational Administration (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Manipulator (AREA)
Abstract
The present specification provides a method and an apparatus for assigning a container transfer task, wherein the method for assigning a container transfer task includes: the method comprises the steps of determining the path length of a first candidate robot for executing a first container carrying task, determining a carrying position conflict value between the first candidate robot for executing the first container carrying task and the executing robot for executing an allocated task, subsequently combining the path length and the carrying position conflict value, determining the matching cost of the first candidate robot corresponding to the first container carrying task, determining the allocation result of each container carrying task according to the matching cost between each container carrying task and each candidate robot, considering the carrying position conflict of the robot for executing the container carrying task, avoiding serious waiting and congestion caused by the bundling of the robot, improving the reasonability of task allocation, and further improving the overall efficiency of a task execution layer.
Description
Technical Field
The specification relates to the technical field of warehouse logistics, in particular to a distribution method of container carrying tasks. The present description also relates to a container handling task assignment mechanism, a computing device, and a computer-readable storage medium.
Background
In recent years, with the rapid development of electronic commerce, the number of orders of users increases in geometric multiples, a warehouse needs to store massive commodities, and how to automatically select the commodities becomes a key for improving the warehousing efficiency. At present, automatic picking of commodities is mostly realized by a robot in a warehouse, the robot can carry a target container filled with the commodities to a specified workstation from a goods shelf to be picked for picking, namely, multiple robots in an intelligent warehousing system coordinate to operate, efficient operation of the warehousing system is guaranteed, the quality of container carrying task distribution directly influences the working efficiency of the whole warehousing system, and the condition is directly related to whether each robot in the warehousing system can exert the self capacity to the maximum.
In the prior art, the Hungarian algorithm is the most common algorithm for solving task allocation, the core of the Hungarian algorithm is to find an augmented path, the augmented path is used for solving bipartite graph maximum matching, and the task allocation of a container carrying task is solved by taking Manhattan distance as a cost function. However, in the task allocation algorithm, only the distance between the container and the robot is considered, so that the task allocation is not reasonable, each robot in the warehousing system cannot exert its own capability to the maximum extent, the execution efficiency of the container handling task is low, and a more reasonable and accurate method is required for allocating or processing the container handling task.
Disclosure of Invention
In view of the above, embodiments of the present disclosure provide a method for allocating container handling tasks. The present specification also relates to a container handling task distribution device, a computing apparatus, and a computer-readable storage medium to address technical deficiencies in the prior art.
According to a first aspect of embodiments herein, there is provided a method for allocating a container handling task, comprising:
determining at least one container handling task and at least one candidate robot to be currently assigned;
determining the path length of a first candidate robot for executing a first container carrying task, and determining a carrying position conflict value between the first candidate robot for executing the first container carrying task and an executing robot for executing an allocated task, wherein the executing robot is a robot corresponding to the allocated task, and the allocated task and the first container carrying task are container carrying tasks in the same lane;
determining the matching cost of the first candidate robot corresponding to the first container carrying task according to the path length and the carrying position conflict value;
and determining an allocation result of the at least one container handling task according to the matching cost of the at least one container handling task corresponding to each candidate robot.
According to a second aspect of embodiments herein, there is provided a container handling task assigning apparatus comprising:
a first determination module configured to determine at least one container handling task and at least one candidate robot to be currently assigned;
a second determining module configured to determine a path length of the first candidate robot for executing the first container transfer task, and determine a transfer position conflict value between the first candidate robot for executing the first container transfer task and the executing robot for executing the assigned task, wherein the executing robot is a robot corresponding to the assigned task, and the assigned task and the first container transfer task are container transfer tasks in the same lane;
a third determining module configured to determine a matching cost of the first candidate robot corresponding to the first container handling task according to the path length and the handling position conflict value;
a fourth determination module configured to determine an assignment of the at least one container handling task based on the matching costs of the at least one container handling task for the respective candidate robots.
According to a third aspect of embodiments herein, there is provided a computing device comprising:
a memory and a processor;
the memory is configured to store computer-executable instructions and the processor is configured to execute the computer-executable instructions to perform the steps of the method for assigning container handling tasks described above.
According to a fourth aspect of embodiments herein, there is provided a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, implement the steps of the above-described method for allocating a container handling task.
The allocation method of the container carrying task provided by the specification determines at least one container carrying task and at least one candidate robot to be allocated currently; determining the path length of a first candidate robot for executing a first container carrying task, and determining a carrying position conflict value between the first candidate robot for executing the first container carrying task and the executing robot for executing an allocated task, wherein the executing robot is a robot corresponding to the allocated task, and the allocated task and the first container carrying task are container carrying tasks in the same lane; determining the matching cost of the first candidate robot corresponding to the first container carrying task according to the path length and the carrying position conflict value; and determining the distribution result of at least one container handling task according to the matching cost of each candidate robot corresponding to the at least one container handling task.
In this case, after determining at least one container transfer task and at least one candidate robot to be currently assigned, a path length of the first candidate robot to execute the first container transfer task may be determined, a transfer position collision value between the first candidate robot to execute the first container transfer task and the assigned task executed by the executing robot is determined, subsequently, a matching cost of the first candidate robot corresponding to the first container transfer task is determined by combining the path length and the transfer position collision value, each container transfer task may be used as the first container transfer task, each candidate robot may be used as the first candidate robot, that is, for any container transfer task, a matching cost between the candidate robot and the corresponding container transfer task may be determined, and according to the matching cost between each container transfer task and each candidate robot, an assignment result of each container transfer task may be determined, thereby determining an optimal matching between the container transfer task and the candidate robot, and assigning the container transfer task to the most appropriate candidate robot.
Therefore, when a task allocation mode between the container carrying task and the candidate robot is determined, the carrying position conflict of the robot for carrying out the container carrying task is considered, the waiting time consumed after the robot reaches the carrying position is avoided, the serious waiting and congestion caused by the fact that the robot is piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation reasonableness is improved, and the overall efficiency of a task execution layer is improved.
Drawings
Fig. 1 is a diagram illustrating an example of container handling for a storage system provided by an embodiment of the present disclosure;
FIG. 2 is a flow chart of a method for assigning container handling tasks according to one embodiment of the present disclosure;
FIG. 3 is a schematic diagram illustrating a container handling task performed according to an embodiment of the present disclosure;
fig. 4a is a schematic diagram of a first matching cost matrix provided in an embodiment of the present specification;
fig. 4b is a schematic diagram of a second matching cost matrix provided in an embodiment of the present specification;
fig. 4c is a schematic diagram of a third matching cost matrix provided in an embodiment of the present specification;
FIG. 5 is a process flow diagram of a method for assigning container handling tasks according to one embodiment of the present disclosure;
FIG. 6 is a schematic diagram of a dispensing apparatus for container handling tasks according to one embodiment of the present disclosure;
fig. 7 is a block diagram of a computing device according to an embodiment of the present disclosure.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present description. This description may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, as those skilled in the art will be able to make and use the present disclosure without departing from the spirit and scope of the present disclosure.
The terminology used in the description of the one or more embodiments is for the purpose of describing the particular embodiments only and is not intended to be limiting of the description of the one or more embodiments. As used in one or more embodiments of the present specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used in one or more embodiments of the present specification refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It will be understood that, although the terms first, second, etc. may be used herein in one or more embodiments to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first can be termed a second and, similarly, a second can be termed a first without departing from the scope of one or more embodiments of the present description. The word "if" as used herein may be interpreted as "at" \8230; "or" when 8230; \8230; "or" in response to a determination ", depending on the context.
In the intelligent warehousing system, multiple robots coordinate to work to ensure that the warehousing system operates efficiently, task allocation of the multiple robots is the basis of application of the multiple robots, the organization form and the operation mechanism of a system decision layer can be fully embodied, the quality of the task allocation directly influences the working efficiency of the whole warehousing system, and the task allocation is directly related to whether each robot in the warehousing system can exert the self capacity to the maximum extent. With the increasing number of robots and the difficulty of container handling tasks in the system, the task allocation problem becomes more and more important.
In a container-to-person (i.e., container-to-picking workstation) ex-warehouse scenario in which Robot Shutdown (RS) series robots operate, the RS series robots have multiple storage locations and can perform multiple container-handling tasks simultaneously. Fig. 1 is a container carrying example diagram of a warehousing system provided in an embodiment of the present disclosure, as shown in fig. 1, the warehousing system includes a shelf area and a picking workstation, each shelf area can store a container, when a certain container needs to be carried from the shelf area to the picking workstation, a container carrying task of an object is triggered, a starting point of the container carrying task is a storage location of the shelf area, and an ending point of the container carrying task is the picking workstation, a robot sequentially executes a container taking task and a container delivering task, the container taking task is to take out a container in the shelf area and place the container on a storage location of the robot, and the container delivering task is to deliver the container on the storage location of the robot to the picking workstation, thereby completing a warehouse-out operation. In this scenario, the core problem to be solved is which container handling tasks are assigned to which robots, one robot performs the execution sequence of a plurality of container handling tasks, and task assignment of RS series robots is a typical combinatorial optimization problem.
In the prior art, the Hungarian algorithm is the most common algorithm for solving task allocation, the Hungarian algorithm is based on the idea of sufficiency proof in Hall (Hall) theorem, the core of the algorithm is to find an augmented path, and the algorithm is an algorithm for solving bipartite graph maximum matching by using the augmented path. The task allocation algorithm for solving the container-to-person scenario using the hungarian algorithm with the manhattan distance (the manhattan distance is also called as taxi geometry, namely the sum of the distances between projections generated by a line segment formed by two points on a fixed rectangular coordinate system of an euclidean space and an axis) as a cost function has many defects: 1) When the tasks have different priorities, the tasks are strictly distributed according to the priorities, so that the optimization space is small; 2) In the storage layout with the lanes, a relatively large error exists in the manhattan distance, for example, if the manhattan distance is used for two cargo positions of two adjacent lanes on the same horizontal line, the distance cost required for lane change cannot be included; 3) For RS series robots, if only the distance is considered during task allocation, the occupation condition of container point locations in a roadway and the number of robots existing in the roadway are not considered, so that the robots in the roadway are piled up, and serious waiting and congestion are caused.
In order to solve the above problems, in the embodiments of the present specification, an RS series robot task allocation and scheduling algorithm considering congestion is designed, and the method adopts a two-step method, in which tasks are allocated to an RS series robot first, and then tasks to be executed by the robot are scheduled. Therefore, when a task allocation mode between the container carrying task and the robot is determined, the carrying position conflict of the robot for carrying out the container carrying task is considered, the waiting time consumed after the robot reaches the carrying position is avoided, the serious waiting and congestion caused by the fact that the robot is piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation reasonableness is improved, and the overall efficiency of a task execution layer is improved.
In the present specification, a method for distributing a container handling task is provided, and the present specification relates to a device for distributing a container handling task, a computing apparatus, and a computer-readable storage medium, which are described in detail in the following embodiments one by one.
Fig. 2 is a flowchart of a method for allocating a container handling task according to an embodiment of the present disclosure, which specifically includes the following steps:
step 202: at least one container handling task and at least one candidate robot currently to be assigned are determined.
It should be noted that the warehousing system includes a warehouse storage area and a workstation area, the warehouse storage area includes a plurality of shelves arranged in a matrix, the shelves can store containers, the containers refer to structures for storing objects, the objects can be articles to be sorted, and the containers can be containers for storing the articles; the workstation area comprises at least one workstation configured for a picking process of the containers.
Specifically, the container carrying task refers to carrying the containers from the goods shelf to the workstation, and the container carrying task is divided into a container taking task and a container transporting task, wherein the container taking task refers to taking out the containers in the goods shelf area and placing the containers on the storage position of the robot, and the box sending task refers to transporting the containers on the storage position of the robot to the picking workstation by the robot to complete the warehouse-out operation.
In practical application, the warehousing system can acquire a container carrying task list and a robot list firstly, the container carrying task list comprises container carrying tasks to be executed, the robot list comprises optional robots, and each robot is provided with at least one storage bit. Initially, each container carrying task to be executed is not distributed, at least one container carrying task to be distributed at present is each task in the container carrying task list, storage positions of all selectable robots are empty, and all the robots can be used as candidate robots. And if the container carrying task is determined to be allocated to a candidate robot after at least one round of matching, the container carrying task is an allocated task at this moment, the remaining tasks except the allocated task in each container carrying task included in the container carrying list are the container carrying tasks to be allocated currently, the robots currently with remaining storage positions in each robot can be used as candidate robots, and the robots occupied by all the storage positions do not participate in allocation of subsequent tasks.
The allocation relationship between the container carrying task and the robot can be recorded based on a task allocation table, the task allocation table is empty at the beginning, and after at least one round of matching, the robot corresponding to the currently determined container carrying task can be recorded in the task allocation table, for example, the container carrying task i is allocated to the robot j.
In the embodiment of the application, at least one container handling task to be currently allocated is determined based on the container handling task list and the allocated task of which the allocation relationship is currently determined, and at least one candidate robot is determined based on the storage bit occupation condition of each optional robot in the robot list, so that the allocation relationship between the at least one container handling task to be currently allocated and the at least one candidate robot is continuously determined subsequently, and the allocation of each container handling task is completed.
In an optional implementation manner of this embodiment, after obtaining each container handling task to be currently assigned, the method may perform echelon division on each container handling task based on priority, that is, after determining at least one container handling task and at least one candidate robot to be currently assigned, further including:
determining a priority of at least one container handling task;
determining a total remaining memory location for at least one candidate robot;
and dividing at least one container carrying task according to the priority and the total remaining storage positions to obtain a carrying task set of at least one echelon.
It should be noted that each container transfer task is provided with a corresponding priority, the priorities of different container transfer tasks may be the same or different, and the priority of a container transfer task may indicate the importance of the container transfer task, i.e., the priority of execution. The priority of the container carrying task can be represented by a number, the larger the number is, the higher the priority is, or the smaller the number is, the higher the priority is, and the representation mode of the priority can be customized.
In practical applications, the warehousing system may read the priority of each container handling task from the container handling task list, and then determine the priority of each container handling task to be currently assigned. Additionally, a total stored bit for each candidate robot may be determined based on the robot list lookup and a number of currently allocated stored bits based on the task allocation table to determine a total remaining stored bit for each candidate robot. And then, dividing at least one container carrying task according to the priority and the total remaining storage positions to obtain a carrying task set of at least one echelon.
During specific implementation, when container carrying tasks are divided into task echelons according to the total remaining storage bits of the candidate robots and the priorities of the container carrying tasks, carrying tasks of a first echelon are a set of all container carrying tasks which do not exceed the total remaining storage bits of the candidate robots after being added, namely, a task set which has no competitive relationship and can be executed by the candidate robots is provided; the carrying task set of the second fleet is a task set which can cause the number of tasks of the first fleet to exceed the total remaining storage bits of each candidate robot when the first fleet is added, namely, a competition relationship exists and the task set needs to compete for the remaining storage bits of the first fleet; and the carrying task set of the third fleet is a task set under the residual priority, namely the priority is low, the competitiveness does not exist, and the round of task set cannot be executed by the candidate robot.
Illustratively, there are 20 container handling tasks, priority No. 1-5 is 0, priority No. 6-10 is 1, priority No. 11-15 is 2, priority No. 16-20 is 3, the smaller the priority value is, the higher the priority is, assuming that there are 2 candidate robots, each candidate robot has 6 storage bits, that is, the total remaining storage bits of each candidate robot is 12; according to the task echelon division rule, the container handling tasks 1-10 are tasks which can be satisfied by the two candidate robots certainly, have no competitive relationship and belong to a handling task set of a first echelon; after the container carrying task No. 11-15 is added into the first fleet, the total remaining storage positions of all candidate robots are exceeded, so that the container carrying task No. 11-15 needs to compete for the remaining 2 storage positions and belongs to a carrying task set of the second fleet; the 16-20 container handling tasks are the remaining priority tasks, this round is not performed by the 2 robots, there is no competition, and the handling tasks belong to the third fleet's set of handling tasks.
In the embodiment of the application, at least one container carrying task can be divided based on the priority of each container carrying task and the total remaining storage bit of each candidate robot to obtain a carrying task set of at least one echelon, and robot resources can be sequentially allocated to each container carrying task in the task set of each echelon according to the task echelon subsequently. Therefore, the echelons are divided for the container handling tasks with different priorities, and the optimization space of task allocation is improved.
Step 204: a path length for the first candidate robot to perform the first container transfer job is determined and a transfer position conflict value between the first candidate robot performing the first container transfer job and the performing robot performing the assigned job is determined.
The execution robot is a robot corresponding to the assigned task, and the assigned task and the first container carrying task are container carrying tasks in the same lane.
Specifically, the assigned task refers to a container handling task for which an assignment relationship has been determined, that is, which robot has determined the assigned task to be performed by. Because for the container not in a tunnel, the robot does not have conflict in the handling process, so that only when the assigned task and the first container handling task are container handling tasks in the same tunnel, the two robots may conflict, and a penalty value, namely a handling position conflict value, needs to be calculated, so that the following handling position conflict value obtained based on calculation is convenient, and the matching with the minimum handling position conflict value is selected.
It should be noted that, containers are stored on the shelf, and when a container instructed to be transported by the first container transporting task is closer to a container instructed to be transported by another assigned task that has already determined an assignment relationship, two robots cannot simultaneously perform a container fetching operation at the position, and at this time, there is a transportation position conflict, so that a certain robot needs to wait for another robot to finish performing the container fetching operation before starting to perform the container fetching operation. Thus, when assigning a robot to a first container transfer task, a transfer position conflict value between the assigned task and the execution robot may be considered.
In the embodiment of the present specification, initially, each container handling task is a container handling task to be assigned, at this time, there are no handling position conflict value and no handling lane conflict value, the matching cost of a certain container handling task corresponding to a certain candidate robot is the path length of the candidate robot for executing the container handling task, subsequently, based on the matching cost, an optimal matching is determined, that is, after a certain set of task assignment relationship is determined, there may be a handling position conflict value and a handling lane conflict value, and then, in combination with the handling position conflict value and the handling lane conflict value, a new task assignment is determined.
In practical applications, an a-x algorithm (which is the most efficient direct search method for solving the shortest path in the static road network) may be used to determine the path length from the first candidate robot to the first container transporting task, that is, the position of the first candidate robot to the storage position of the container instructed to be transported by the first container transporting task. Specifically, when the path length is solved by using the a-algorithm, the map in the warehousing system may be divided into planar grid maps, each cell in the grid map may be a node, so as to solve the path length of the first candidate robot performing the first container handling task, and the a-algorithm may calculate the priority of each node by using the following formula (1).
f(n)=g(n)+h(n) (1)
Where f (n) is the overall priority of node n. When we select the next node to be traversed, we always select the node with the highest comprehensive priority (the minimum value); g (n) is the cost of node n from the starting point; h (n) is the predicted cost of node n from the end, which is the heuristic function of the a-algorithm.
It should be noted that, in the operation process of the a-x algorithm, the node with the minimum f (n) value (with the highest priority) is selected from the priority queue each time as the next node to be traversed. In addition, the a-algorithm uses two sets to represent the nodes to be traversed, and the nodes that have already been traversed, which are commonly referred to as open _ set and close _ set. The complete a algorithm is described as follows: initializing open _ set and close _ set; adding the starting point into the open _ set, and setting the priority to be 0 (the priority is highest); if the open _ set is not empty, selecting the node n with the highest priority from the open _ set, if the node n is the end point, gradually tracking the parent node from the end point until the end point is reached, returning to the found result path, and ending the algorithm; if the node n is not the end point, deleting the node n from open _ set, adding the node n into close _ set, traversing all adjacent nodes of the node n, skipping if the adjacent node m is in close _ set, selecting the next adjacent node, if the adjacent node m is not in open _ set, setting the parent of the node m as the node n, calculating the priority of the node m, and adding the node m into open _ set.
In an optional implementation manner of this embodiment, a transfer position conflict value between the container taking end time of the assigned task and the container taking start time of the first container transfer task may be determined, that is, a transfer position conflict value between the first candidate robot performing the first container transfer task and the execution robot performing the assigned task may be determined, and a specific implementation process may be as follows:
determining an execution robot corresponding to the assigned task under the condition that the assigned task exists currently;
determining the container taking end time of the execution robot for executing the assigned tasks according to the length of the execution path of the assigned tasks and the movement speed of the execution robot;
determining a container taking start time for the first candidate robot to execute the first container transfer task according to the path length of the first candidate robot to execute the first container transfer task and the movement speed of the first candidate robot;
and determining a conveying position conflict value according to the container taking end time of the distributed task and the container taking start time of the first container conveying task.
It should be noted that, initially, there is no assigned task, and therefore, when any candidate robot executes the first container transfer task, there is no case of collision with another robot, and at this time, there is no need to calculate the transfer position collision value, that is, the transfer position collision value may be directly set to 0. In the case where there is currently an assigned task, the first candidate robot may perform the first container transfer task while conflicting with the already determined assignment, and at this time, the container pick-up end time at which the execution robot performs the assigned task may be determined, and the container pick-up start time at which the first candidate robot performs the first container transfer task may be determined.
In practical applications, if it is determined that the container taking start time of the first candidate robot for executing the first container transporting task is later than the container taking end time of the executing robot for executing the assigned task, it is determined that the executing robot has finished taking the container, and the first candidate robot reaches the corresponding position and starts taking the container, and at this time, there is no conflict, and the transporting position conflict value may be determined to be 0. If the container taking starting time of the first candidate robot for executing the first container transporting task is determined to be earlier than the container taking ending time of the executing robot for executing the distributed task, it indicates that the executing robot has not taken the container, the first candidate robot has reached the corresponding position, the container cannot be taken at the moment, and the waiting in a queue is needed, so that the transporting position conflict value can be set to be higher at the moment.
In an optional implementation manner of this embodiment, the time for executing the robot to execute the container fetching of the assigned task is determined according to the length of the execution path of the assigned task and the movement speed of the executing robot, and the specific implementation process may be as follows:
acquiring the starting execution time of the distributed tasks and the execution time of the container;
determining the moving time required by the execution robot to move to the container position indicated by the assigned task according to the length of the execution path of the assigned task and the movement speed of the execution robot;
determining the container taking starting time for the execution robot to execute the assigned tasks according to the starting execution time and the moving time;
and determining the container taking ending time of the assigned task according to the container taking execution time and the container taking starting time of the assigned task.
The warehousing system may obtain a start execution time of the assigned task and an execution time of taking the container from the container task handling list, where the start execution time is a time when the execution robot starts to move to a position of the container instructed to be handled by the assigned task, and the execution time of taking the container is a time required for the execution robot to reach the position of the container instructed to be handled by the assigned task and place the container in its own storage location.
In practical application, according to the length of the execution path of the assigned task and the movement speed of the execution robot, the movement time required for the execution robot to move to the container position indicated by the assigned task can be determined, and then according to the start execution time and the movement time, the container taking start time for the execution robot to execute the assigned task, that is, the time for the execution robot to reach the container position indicated by the assigned task, can be determined. And then, according to the execution time of the container taking and the container taking starting time of the distributed tasks, the container taking ending time of the distributed tasks, namely the time for taking the container is determined.
In addition, similar to the above process, the warehousing system may obtain a start execution time of the first container transfer task from the container transfer list, may then determine a movement time required for the first candidate robot to move from the current position to the storage position of the container instructed to be transferred by the first container transfer task according to the path length of the first candidate robot for performing the first container transfer task and the movement speed of the first candidate robot, and may obtain a time when the first candidate robot reaches the storage position of the container instructed to be transferred by the first container transfer task, that is, a container taking start time when the first candidate robot performs the first container transfer task.
In specific implementation, the transportation position conflict value is determined according to the container fetching end time of the assigned task and the container fetching start time of the first container transportation task, the container fetching end time of the assigned task is subtracted by the container fetching start time of the first container transportation task to obtain a time difference value, and then the larger of the time difference value and 0 is taken as the transportation position conflict value.
It should be noted that, if the time difference is a positive number, the time difference is greater than 0, and the transportation position conflict value may be the time difference, which indicates that the container picking end time of the assigned task is greater than the container picking start time of the first container transportation task, that is, the container picking start time of the first container transportation task is earlier than the container picking end time of the assigned task, and a space-time conflict may occur at this time.
If the time difference is negative, the time difference is less than 0, the transportation position conflict value is 0 at this moment, which indicates that the container taking end time of the assigned task is less than the container taking start time of the first container transportation task, i.e. indicates that the container taking start time of the first container transportation task is later than the container taking end time of the assigned task, no space-time conflict occurs at this moment, and the transportation position conflict value is 0.
As an example, fig. 3 is a schematic diagram illustrating an execution process of a container handling task provided in an embodiment of the present specification, and as shown in fig. 3, containers B1 to B7 are stored in the shelf area, and it is assumed that the start execution times of the container B1 (a container whose task is assigned to instruct handling) and the container B2 (a container whose task is assigned to instruct handling, that is, a container to be assigned) are both time t 0 Assuming that the container B1 has been allocated to the robot R1 (execution robot), the path length from the current position of the robot R1 to the container B1 is p 1 The average speeds of the robots R1 and R2 are both v 0 The execution time of the container fetching action (i.e. the execution time of the container fetching) is t p Then the robot R1 starts to take the container B1 at time t s1 =t 0 +p 1 /v 0 The container taking end time is t e1 =t s1 +t p . The path length from robot R2 (first candidate robot) to container B2 is p 2 If the robot R2 executes the container B2, the container fetching start time is t s2 =t 0 +p 2 /v 0 . If t s2 <t e1 Since the robot R2 executes the container B2 and the robot R1 executes the container B1 with time collision and envelope collision of the volume of the robot main body occurs at the operation point of the container B1 and the container B2, if the container B2 is allocated to the robot R2, there is position collision with the robot R1 executes the container B1, and the conveyance position collision value punishmentCost = max { t { (t) } is a value at which the conveyance position collision is caused e1 -t s2 ,0}。
In the embodiment of the application, in order to reduce waiting of the robot, the operation efficiency is improved, position conflict is considered during task allocation, under the condition that envelope conflict exists at the position point of the container, the time period of the container taking action executed by the robot is crossed, namely, position conflict is generated, the carrying position conflict value can be calculated at the moment, when the candidate robot corresponding to the container carrying task is determined subsequently, the carrying position conflict value can be considered, time consumed during waiting after the robot reaches the carrying position is avoided, serious waiting and congestion caused by the fact that the robot is piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation reasonability is improved, and the overall efficiency of the task execution layer is improved.
In an optional implementation manner of this embodiment, after determining the execution robot corresponding to the assigned task, the method may further include:
determining a first storage location in the warehousing system for a container indicative of handling by the first container-handling task and determining a second storage location in the warehousing system for a container indicative of handling by the assigned task;
determining whether a first candidate robot performs a first container transfer task and an execution robot performs an assigned task, and whether a transfer position conflict exists, according to the first storage position and the second storage position;
and if so, determining the container taking ending time of the execution robot for executing the assigned tasks according to the length of the execution path of the assigned tasks and the movement speed of the execution robot.
In practical applications, a distance threshold may be preset, and when the distance between the first storage position and the second storage position is smaller than the distance threshold, it indicates that the first storage position and the second storage position are relatively close to each other, and an envelope conflict exists when the volume of the robot body is taken out of the container, that is, it is determined that a carrying position conflict exists.
It should be noted that, a first storage position of the container in the warehousing system, which is instructed to be transported by the first container transporting task, may be determined first, and a second storage position of the container in the warehousing system, which is instructed to be transported by the assigned task, may be determined, and if the first storage position and the second storage position are relatively close to each other, it may be determined that an envelope conflict exists when the volume of the robot body is taken, that is, the first candidate robot performs the first container transporting task and the executing robot performs the assigned task, and the containers cannot be transported simultaneously, so at this time, an operation step of determining a container taking end time when the executing robot performs the assigned task according to the length of the execution path of the assigned task and the movement speed of the executing robot may be performed, and then, based on the container taking end time, a transportation position conflict value between the first candidate robot performs the first container transporting task and the executing robot performs the assigned task may be further determined.
In the embodiment of the present specification, it may be determined whether there is an envelope conflict (i.e., a position conflict) between the first storage position and the second storage position based on the first storage position of the container in the warehousing system that is instructed to be transported by the first container transporting task and the second storage position of the container in the warehousing system that is instructed to be transported by the assigned task, and if there is no position conflict, there may be no need to calculate a transporting position conflict value between the first candidate robot performing the first container transporting task and the executing robot performing the assigned task, so as to save processing resources.
In an optional implementation manner of this embodiment, when performing task allocation, in addition to considering a location conflict, a roadway congestion may also be considered, that is, after determining a transportation location conflict value between the first candidate robot performing the first container transportation task and the execution robot performing the allocated task, the method may further include:
a transfer lane conflict value between the first candidate robot performing the first container transfer task and the executing robot performing the assigned task is determined.
It should be noted that, in addition to the position conflict that may exist at the position point of the container picking-up, the robot may also be jammed when moving in the lane, so that a transportation lane conflict value between the first candidate robot performing the first container transportation task and the execution robot performing the assigned task may also be determined, and when subsequently determining the task assignment relationship, the transportation lane conflict value may also be further combined.
In the embodiment of the application, when determining the task allocation mode between the container carrying task and the robot, the conflict of carrying positions of the robot for executing the container carrying task is considered, and the jam condition which may occur when the robot moves in a roadway is avoided, the time consumed for waiting after the robot reaches the carrying position is avoided, the time consumed for waiting when the robot jams in the roadway is also avoided, the serious waiting and jam caused by the fact that the robot is piled are avoided, each robot in the warehousing system can exert the self capacity of the robot to the maximum, the rationality of task allocation is improved, and the overall efficiency of the task execution layer is further improved.
In an optional implementation manner of this embodiment, a transportation lane conflict value between the first candidate robot executing the first container transportation task and the robot executing the assigned task is determined, and a specific implementation process may be as follows:
acquiring first entry time and first exit time of an execution robot when executing an allocated task, and determining a first stay time period of the allocated task in a target roadway according to the first entry time and the first exit time;
estimating second entry time and second exit time of the first candidate robot when the first candidate robot executes the first container carrying task, and determining a second stay time period of the first candidate robot in the target roadway according to the second entry time and the second exit time;
under the condition that a second staying time period and a first staying time period have a crossing time period, determining whether the number of robots of a target roadway in the crossing time period exceeds a number threshold value, and if so, determining that a carrying roadway conflict value is a first set value; and if not, determining that the carrying roadway conflict value is a second set value, wherein the first set value is larger than the second set value.
Specifically, the target lane is a lane in which the first container transfer task and the container whose assigned task indicates transfer are located. The number threshold is a preset upper limit of the number of robots simultaneously existing in one tunnel, and if the tunnel has 2 entrances and exits, the number threshold can be set to be 2.
In addition, the first set value and the second set value are preset numerical values, and the first set value is a penalty value set under the condition that a transportation roadway conflict exists, so that the first set value is set to be higher; the second setting value is a penalty value set for the case where there is no collision of the conveyance lane, and therefore the second setting value is set to be low and may be 0. That is, the first set value may be set to be much larger than the second set value.
Specifically, if the number of robots in the target roadway exceeds the number threshold value in the crossing time period, that is, in the crossing time period, if the first candidate robot enters the target roadway again to execute the first container carrying task, the target roadway may be blocked, and a carrying roadway conflict is generated, so that the first container carrying task in the target roadway may not be reallocated to the robots not in the target roadway (congestion caused by adding a new robot to the target roadway is avoided), at this time, the carrying roadway conflict value may be set to a value that is significantly larger than the value range of the path length and the carrying position conflict value, that is, the first setting value may be set to a value that is larger than the value range of the path length and the carrying position conflict value.
It should be noted that the first stopping time period is a time period in which the execution robot having determined the allocation relationship needs to stop in a corresponding lane when executing a corresponding allocated task; the second stay time period is a time period in which the first candidate robot needs to stay in the lane when performing the first container transfer task. If a second staying time period and a first staying time period have a crossing time period, the first candidate robot and the executing robot are indicated in the crossing time period, and meanwhile in the lane, whether the number of the robots in a target lane in the crossing time period exceeds a number threshold value or not can be determined, namely whether other executing robots are also in the target lane in the crossing time period or not can be determined, if yes, the target lane is indicated to be possibly jammed in the crossing time period, a first container carrying task is not allocated to the robots which are not in the target lane as far as possible, and a carrying lane conflict value can be determined to be a first set value, namely the carrying lane conflict value is set to be larger; if not, the probability that the target roadway is jammed in the intersection time period is smaller, so that the conveying roadway conflict value can be determined to be the second set value, namely the conveying roadway conflict value is set to be smaller.
As an example, in order to alleviate the problem that the efficiency of the robot performing tasks is reduced due to the fact that the robot is piled up in a roadway, the upper limit of the number of robots in the roadway is considered during task allocation, that is, at most k robots exist in one roadway at the same time (the roadway is a double entrance, and k is generally set to be 2). When a lane conflict value is carried, the time of entering the lane and the time of leaving the lane of a first candidate robot are estimated, if the time period is intersected with the retention time of the lanes which are allocated to other robot tasks, and the number of the robots is k, the lane conflict value is set to be the maximum value (namely worst matching), the range of the matching cost of the path length and the carrying position conflict value is assumed to be [0, 1000], at the moment, the carrying lane conflict value can be set to be 10000, and if the matching cost is more than or equal to 10000 when the optimal matching is subsequently determined, the carrying lane conflict exists in the matching, and the matching is not preferable.
In the embodiment of the application, if the first staying time period of the assigned task in the target roadway intersects with the second staying time period of the first candidate robot in the target roadway, it is indicated that congestion may occur in the target roadway at this time, and at this time, it may be determined whether the number of the robots in the target roadway exceeds a number threshold value, so that an upper limit of the number of the robots in the roadway is limited, that is, at most k robots exist in one roadway at the same time. Therefore, the situation that the robot is jammed in a roadway and waits for time is avoided, the situation that the robot is piled up to cause serious waiting and jamming is avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation rationality is improved, and the overall efficiency of a task execution layer is improved.
Step 206: and determining the matching cost of the first candidate robot corresponding to the first container carrying task according to the path length and the carrying position conflict value.
It should be noted that, after the path length and the transportation position collision value are obtained through calculation according to the above steps, the path length and the transportation position collision value may be summed to determine the matching cost of the first candidate robot corresponding to the first container transportation task. Therefore, when the matching cost of the first candidate robot corresponding to the first container carrying task is determined, the path length of the first candidate robot for executing the first container carrying task and the position conflict possibly existing with other executing robots which already determine the distribution relation are comprehensively considered, the accuracy of the matching cost is improved, and the optimal task distribution is conveniently determined based on the matching cost.
In an optional implementation manner of this embodiment, in addition to determining the path length and the transportation position collision value, a transportation lane collision value may also be determined, so when calculating the matching cost of the first candidate robot corresponding to the first container transportation task, the matching cost of the first candidate robot corresponding to the first container transportation task may also be determined by combining the transportation lane collision value, that is, according to the path length and the transportation position collision value, and the specific implementation process may be as follows:
and determining the matching cost of the first candidate robot corresponding to the first container carrying task according to the path length, the carrying position conflict value and the carrying roadway conflict value.
It should be noted that, the matching cost of the first container handling task corresponding to the first candidate robot can be determined by combining the path length, the handling position conflict value and the handling roadway conflict value, so that the optimal task allocation can be determined based on the matching cost, and the serious waiting and congestion caused by the robot piling can be avoided, so that each robot in the warehousing system can exert the self-ability to the maximum, the rationality of the task allocation is improved, and the overall efficiency of the task execution level is improved.
In an optional implementation manner of this embodiment, the matching cost of the first candidate robot corresponding to the first container transporting task is determined according to the path length, the transporting position collision value, and the transporting lane collision value, and the specific implementation process may include the following steps:
unifying the path length, the conveying position conflict value and the conveying roadway conflict value to the same dimension;
and summing the unified path length, the carrying position conflict value and the carrying roadway conflict value to obtain the matching cost of the first candidate robot corresponding to the first container carrying task.
It should be noted that the calculated path length, the calculated conveyance position collision value, and the calculated conveyance lane collision value are values with different dimensions, and cannot be directly processed, so that the path length, the calculated conveyance position collision value, and the calculated conveyance lane collision value may be unified to a same dimension, and then the unified path length, the calculated conveyance position collision value, and the calculated conveyance lane collision value are summed up to obtain a matching cost of the first candidate robot corresponding to the first container conveyance task.
In practical application, when path length, a carrying position conflict value and a carrying roadway conflict value are unified to the same dimensionality, the dimensionality needing to be unified can be preset, such as the dimensionality reaching time or the dimensionality reaching distance. During specific implementation, the collision value of the conveying roadway is a preset value, and when the collision value of the conveying roadway is set, the distance dimension which is finally required to be unified can be set as the collision value of the conveying roadway, and if the collision value of the conveying roadway is set on the distance dimension, the collision value of the conveying position is also converted into the distance dimension; or a conveying roadway conflict value is set on the time dimension, at this moment, the conveying position conflict value can be the time dimension, and the path length is also converted into the time dimension. In addition, the dimension can be not considered when the conveying roadway conflict value is set, and the dimensions of the path length, the conveying position conflict value and the conveying roadway conflict value are unified subsequently.
Following the above example, the transport position collision value punishmentCost = max { t } e1 -t s2 0, that is, at this time, the transportation position collision value is a time dimension, and since the path length is a distance dimension, assuming that the time dimension is to be unified to the distance dimension, the transportation position collision value may be multiplied by the movement speed of the robot, and the transportation position collision value may be converted to the distance dimension, that is, the transportation position collision value punishment cost = max { t } after the dimension is unified e1 -t s2 ,0}×v 0 。
In this specification, the path length, the carrying position collision value, and the carrying roadway collision value may be unified to the same dimension, so that the matching cost of the first candidate robot corresponding to the first container carrying task is determined by combining the path length, the carrying position collision value, and the carrying roadway collision value.
Step 208: and determining an allocation result of the at least one container handling task according to the matching cost of the at least one container handling task corresponding to each candidate robot.
It should be noted that each candidate robot may be used as a first candidate robot to determine a matching cost between the candidate robot and the first container transfer task, that is, the matching cost of each candidate robot corresponding to the first container transfer task may be determined. In addition, each container handling task to be assigned may be used as a first container handling task to determine matching costs corresponding to each candidate robot, so that an assignment result of at least one container handling task may be determined according to the matching costs of at least one container handling task corresponding to each candidate robot.
The assignment result is an optimal match among the candidate robots for at least one container transfer task, that is, an optimal match for a candidate robot for a certain container transfer task. In each round of task allocation, one optimal matching can be selected as an allocation result, and other unmatched container carrying tasks continue to be used as container carrying tasks to be allocated to continue to participate in the next round of allocation.
In an optional implementation manner of this embodiment, determining an allocation result of at least one container handling task according to a matching cost of each candidate robot corresponding to the at least one container handling task includes:
constructing a matching cost matrix according to the matching cost of each candidate robot corresponding to at least one container carrying task;
selecting a target matching with the minimum matching cost from the matching cost matrix as a distribution result, wherein the target matching comprises a container carrying task and a corresponding candidate robot;
and according to the distribution result, updating the currently distributed task and the corresponding execution robot, and returning to execute the operation steps of determining at least one container carrying task to be distributed and at least one candidate robot.
It should be noted that, a matching cost matrix may be constructed according to matching costs of each candidate robot corresponding to at least one container handling task, that is, at least one container handling task is used as a row (or a column), each candidate robot is used as a column (or a row), an element of a certain row and a certain column is a matching cost between the corresponding container handling task and the candidate robot, so as to construct and obtain a matching cost matrix, a target matching with the minimum matching cost is selected from the matching cost matrix as an allocation result, one allocation result includes the container handling task and the corresponding candidate robot, at this time, it is determined that the container handling task is allocated to the candidate robot, the container handling task becomes an allocated task, a storage location of the candidate robot is reduced by 1, other unmatched container handling tasks are still used as container handling tasks to be allocated, and participate in next round of task allocation until all container handling tasks are allocated, or storage resources of the candidate robot are exhausted.
By way of example, fig. 4a is a schematic diagram of a first matching cost matrix provided in an embodiment of the present specification, and as shown in fig. 4a, there are 6 container transfer tasks (container transfer tasks 1-6) to be allocated and 5 candidate robots (candidate robots 1-5), the container transfer tasks are used as rows, the candidate robots are used as columns, and the matching cost matrix shown in fig. 4a is constructed based on matching costs between the container transfer tasks and the candidate robots. As shown in fig. 4a, the matching cost of the container transfer task 3 with respect to the candidate robot 2 is the smallest, and thus the assignment results are the container transfer task 3 and the candidate robot 2, that is, the container transfer task 3 is assigned to the candidate robot 2.
In practical application, the matching with the minimum matching cost can be selected from the matching cost matrix as the optimal matching, the allocation result is determined, the information such as the task allocation table, the start time and the end time of the executed allocated task, the time of entering the tunnel and the time of leaving the tunnel when the allocated task is executed are updated for the subsequent task allocation process, and then the steps 202 to 206 are executed in a circulating manner, and the container carrying tasks to be allocated are allocated continuously until all robot resources are used up or all the container carrying tasks are allocated to the robot.
In the embodiment of the specification, each round of task allocation can determine a group of optimal allocation, and then the optimal allocation is determined by continuously and circularly determining the transport position conflict value and the transport roadway conflict value, so that the optimal allocation is determined, and when the task allocation is performed, the path length, the transport position conflict value and the transport roadway conflict value are considered, so that serious waiting and congestion caused by the fact that the robots are piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum, the rationality of the task allocation is improved, and the overall efficiency of a task execution level is improved.
In an optional implementation manner of this embodiment, if at least one container handling task is previously divided into handling task sets of different echelons based on priorities of the container handling tasks, then an optimal allocation may be sequentially determined for the container handling tasks of each echelon, so as to sequentially determine an allocation result of the container handling tasks of each echelon, that is, before determining a path length of the first candidate robot for executing the first container handling task, the method further includes
Selecting a first container carrying task from a carrying task set of a target echelon by taking the current echelon as the target echelon;
correspondingly, determining the allocation result of the at least one container handling task according to the matching cost of the at least one container handling task corresponding to each candidate robot comprises:
determining the distribution result of each target container carrying task according to the matching cost of each candidate robot corresponding to each target container carrying task in the carrying task set of the target echelon;
and taking the next echelon of the target echelon as a target echelon, and returning to the step of selecting the first container conveying task from the conveying task set of the target echelon.
The target container carrying task refers to a container carrying task which is not allocated currently in the carrying task set of the target echelon.
It should be noted that the current fleet refers to a fleet where a container handling task that needs to be assigned is located, and the current fleet may refer to a fleet with the highest priority in at least one fleet initially. When task allocation is performed, the allocation result of each target container transporting task in the transporting task set of the fleet is determined from the fleet with the highest priority, and then the next fleet of the target fleet is used as the target fleet, and tasks in the next fleet are continuously allocated until all robot resources are used up or all container transporting tasks are allocated to the robots.
In practical application, according to the matching cost of each candidate robot corresponding to each target container carrying task in the carrying task set of the target echelon, the allocation result of each target container carrying task is determined, and the specific implementation process can be as follows:
constructing a target matching cost matrix corresponding to the target echelon according to the matching cost of each candidate robot corresponding to each target container carrying task;
selecting a target matching with the minimum matching cost from the target matching cost matrix as a distribution result, wherein the target matching comprises a container carrying task and a corresponding candidate robot;
and updating the current assigned task and the corresponding execution robot according to the assignment result, and returning to execute the step of constructing a target matching cost matrix corresponding to the target echelon according to the matching cost of each candidate robot corresponding to each target container carrying task.
It should be noted that each target container handling task in the handling task set of the target fleet may be used as a first container handling task, matching costs between the first container handling task and each candidate robot are determined, then a target matching cost matrix corresponding to the target fleet is constructed based on each target container handling task and each candidate robot in the handling task set of the target fleet, an optimal matching is selected from the target matching cost matrix to serve as an allocation result of the round, and a target matching cost matrix is constructed based on remaining unallocated target container handling tasks in the target fleet to continue to allocate other unallocated target container handling tasks in the target fleet. After the allocation result is determined for each container handling task in the handling task set of the target fleet, it is indicated that each container handling task of the target fleet is already allocated, and at this time, the next fleet of the target fleet can be used as the target fleet, and the target container handling tasks in the next fleet are continuously allocated until the candidate robot resources are exhausted.
Following the above example, assume that there are 2 candidate robots, each candidate robot having 6 memory bits; the system comprises a total of 20 container handling tasks, which are divided into 3 task ladders, wherein the task ladder with the highest priority is a first ladder comprising No. 1-10 container handling tasks, the task ladder with the second highest priority is a second ladder comprising No. 11-15 container handling tasks, and the task ladder with the lowest priority is a third ladder comprising No. 15-20 container handling tasks. Taking the first platoon as a target platoon, taking the container handling tasks 1-10 in the first platoon as rows and the candidate robots 2 as columns, and constructing a target matching cost matrix of the first platoon as shown in fig. 4b based on matching costs between the container handling tasks 1-10 and the candidate robots, where fig. 4b is a schematic diagram of a second matching cost matrix provided in an embodiment of this specification. As shown in fig. 4b, the matching cost of candidate robot 1 corresponding to container handling task No. 4 is the minimum, so the round assignment results are container handling task No. 4 and candidate robot 1, that is, container handling task No. 4 is assigned to candidate robot 1, then container handling task No. 4 is taken as the assigned task, and the assignment of other container handling tasks in the first echelon is continued until all the container handling tasks in the first echelon are assigned completely.
Then, taking the second platoon as a target platoon, taking container handling tasks No. 11-15 in the second platoon as rows and 2 candidate robots as columns, and constructing a target matching cost matrix of the second platoon as shown in fig. 4c based on matching costs between the container handling tasks No. 11-15 and the candidate robots, where fig. 4c is a schematic diagram of a third matching cost matrix provided in an embodiment of this specification. As shown in fig. 4c, the matching cost of the candidate robot 2 corresponding to the container handling task No. 13 is the minimum, and therefore the round assignment result is the container handling task No. 13 and the candidate robot 2, that is, the container handling task No. 13 is assigned to the candidate robot 2, and then the container handling task No. 13 is taken as the assigned task, and the assignment of the other container handling tasks in the second echelon is continued until the candidate robot resources are used up, and because the candidate robot resources are used up at this time, the assignment of the container handling tasks in the third echelon is not continued.
Note that, instead of performing the gradient division for each container transfer task, task assignment may be performed based only on the priority of the container transfer task, where n container transfer tasks having the same priority are provided, and m robots select one optimal match from the n × m matrix for each polling as an assignment result. If the container handling tasks are divided into echelons, each echelon may include at least one priority container handling task, and if there are k (k is greater than or equal to n) container handling tasks of a certain echelon, then an optimal match is selected from the matrix of k × m, as an allocation result, an optimal value in the matrix of k × m is superior to an optimal value in the matrix of n × m, so that a search space for determining the allocation result may be increased, an optimization space for task allocation is increased, and task execution efficiency is improved.
In practical application, when the target matching with the minimum matching cost is selected as the distribution result, the carrying roadway conflict value is considered, the matching cost of roadway congestion is far greater than the matching cost of roadway congestion, namely the target matching with the minimum matching cost, and the probability of roadway congestion is minimum, so that the target matching with the minimum matching cost can be directly selected as the distribution result, the probability of position conflict and roadway congestion of the distribution result is the minimum of all the matching results, namely the target matching result is the optimal matching determined by considering position conflict and roadway congestion.
In addition, a matching cost threshold value can be preset, the matching cost threshold value can be a worst matching value set based on a haulage roadway conflict value, and if the matching cost exceeds the matching cost threshold value, it is indicated that roadway conflict occurs in an allocation result corresponding to the matching cost. Therefore, in specific implementation, the minimum matching cost can be determined from the target matching cost matrix, and then whether the minimum matching cost exceeds the matching cost threshold value is determined, if not, the target matching with the minimum matching cost does not cause roadway congestion, and the target matching with the minimum matching cost can be used as a distribution result; if the number of the robots in the roadway where the container carrying tasks to be distributed are located exceeds the upper limit, the number of the robots in the roadway where the container carrying tasks to be distributed are located reaches the upper limit, roadway congestion can be caused no matter how the distribution is carried out, at the moment, the distribution result can be determined to be empty, the container carrying tasks are stopped from being distributed continuously, congestion is avoided when the robots execute the tasks, and task execution efficiency is improved.
In an optional implementation manner of this embodiment, after determining an allocation result of at least one container handling task according to a matching cost of each candidate robot corresponding to the at least one container handling task, the method may further include:
under the condition that the carrying task of each container is completely distributed or the storage positions of each robot are completely occupied, the task distribution is determined to be completed;
determining the distribution sequence of each container carrying task corresponding to the target robot, and controlling the target robot to take the target containers corresponding to each container carrying task in sequence, wherein the target robot is any one of the robots;
and under the condition that the target robot finishes taking the containers, determining a target conveying sequence of the target robot to each target workstation according to the target workstation of each target container and the current working information of each workstation.
It should be noted that after each container carrying task is completely allocated or the storage positions of each candidate robot are completely occupied, task allocation is stopped, it is determined that the task allocation is completed, each robot starts to execute the task allocated to the robot, the process of the robot executing the container carrying task is divided into two stages, and the first stage is to take the container from the shelf; and in the second stage, after the robot takes each container, each container stored by the robot is conveyed to a corresponding workstation. Thus, the warehousing system also needs to obtain a list of workstations, which may include base information and current work information for the workstations, and subsequently determine the container delivery sequence based on the current work information for each workstation.
In this embodiment of the present description, the execution sequence of the first stage is a task allocation sequence, the execution sequence of the second stage may be determined based on the current working state of the workstation, and the determination policy is that the robot finishes all the transportation of each container, so that the robot is prevented from queuing in the workstation, the container transportation time is saved, and the warehousing efficiency is improved.
In an optional implementation manner of this embodiment, the target transportation sequence of the target robot to each destination workstation is determined according to the destination workstation of each target container and the current work information of each workstation, and the specific implementation process may be as follows:
determining at least one delivery order for each of the target containers;
respectively determining the conveying time corresponding to each conveying sequence according to the current working information of each workstation;
the conveyance order with the shortest conveyance time is selected as the target conveyance order.
In practical application, a plurality of storage positions are arranged on one robot, a plurality of containers can be conveyed simultaneously, workstations corresponding to the containers can be different, when the robot conveys a certain container to a corresponding workstation, if the existing robot at the workstation places the container to the workstation or the existing robot lines up, the robot needs to wait in line, the robot can be blocked at the workstation, and conveying efficiency is reduced. Therefore, at least one transport order of each target container is determined, transport times corresponding to the respective transport orders are determined based on current operation information of the respective work stations, and the transport order having the shortest transport time is selected as the target transport order.
It should be noted that one robot is assigned with a plurality of container transfer tasks, and takes out all containers in sequence, and sends the containers to a picking station, i.e., finishes delivery. The robot executes the fetching sequence of each container according to the sequence of the containers distributed to the robot (distance factors, position conflicts and roadway congestion are considered during distribution, the effect is finally achieved, and the earliest executable task is distributed to the robot firstly); after the robot takes the containers, the robot carrying the containers is used as a whole, the containers on the robot have a plurality of destinations (workstations), the sequence of the travel of the robot to the workstations can be abstracted into an open shop scheduling problem (OSP), the workstations are processing machines, the robot taking the containers into the workstations is used as a workpiece to be processed, the containers to be picked on the robot are processing procedures, and the shortest time of sending all the containers is taken as an optimization target to obtain the sequence of container conveying operation executed by the robot.
The open shop scheduling problem (OSP) is defined as: there are n workpieces to be machined and m machines for machining, each workpiece has one to many processes, the machining time of each process is known, but the machining sequence of each workpiece is not specified, one machine can only machine one workpiece at the same time, each workpiece can only machine on a certain machine at the same time, and finally, the time for machining all workpieces is the shortest by obtaining a group of machine and workpiece arrangement combination.
After determining at least one container handling task and at least one candidate robot to be currently allocated, determining a path length of the first candidate robot for executing the first container handling task, determining a handling position conflict value between the first candidate robot for executing the first container handling task and the robot for executing the allocated task, and subsequently combining the path length and the handling position conflict value to determine a matching cost of the first candidate robot corresponding to the first container handling task, wherein each container handling task can be used as the first container handling task, each candidate robot can be used as the first candidate robot, that is, for any container handling task, a matching cost between the candidate robot and the first container handling task can be determined, and according to the matching cost between each container handling task and each candidate robot, an allocation result of each container handling task can be determined, so that an optimal matching between the container handling task and the candidate robot is determined, and the container handling task is allocated to the most appropriate candidate robot. Therefore, when a task allocation mode between the container carrying task and the candidate robot is determined, the carrying position conflict of the robot for carrying out the container carrying task is considered, the waiting time consumed after the robot reaches the carrying position is avoided, the serious waiting and congestion caused by the fact that the robot is piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation reasonableness is improved, and the overall efficiency of a task execution layer is improved.
Fig. 5 is a schematic processing procedure diagram of a method for allocating a container handling task according to an embodiment of the present disclosure, which specifically includes the following steps:
the method comprises the following steps: task allocation is triggered based on a set temporal frequency or a set event.
Step two: a container handling task list, a robot list, and a workstation list are input.
By way of example, m container handling tasks to be assigned (tasks having different priorities, with a high priority assignment), n sets of available robots, k workstations are known.
Step three: the method comprises the steps of initializing a task allocation table, starting time and ending time when an allocated task is executed, and entering roadway time and leaving roadway time of the robot when the allocated task is executed.
And the task allocation table is used for allocating the container carrying task i to the robot j.
Step four: and (4) taking the number of the container carrying tasks and the number of storage positions of the available robots into consideration, and performing echelon division on each container carrying task according to the priority.
Step five: under the current echelon, the matching cost matched with the available robots is calculated for the container carrying task.
And the calculation mode of the matching cost = basic cost + transportation position conflict value + transportation roadway conflict value. The fundamental cost is the path length of the robot performing the container handling task; the transportation position conflict value is a penalty value of transportation position conflict when each robot respectively executes respective container transportation tasks; and the transportation roadway conflict value is a penalty value of the newly added robot and the transportation task of the container in the roadway if the number of robots in the roadway reaches the upper limit.
Step six: and selecting the matching with the minimum matching cost as the optimal matching, and determining the distribution result.
Step seven: and if the robot resources or the containers to be distributed have the carrying tasks, ending the carrying tasks, and if the robot resources or the containers to be distributed have the carrying tasks, executing the step eight.
Step eight: based on the assignment result, the robot list and the list of container handling tasks to be assigned are updated.
Step nine: updating the task allocation table, the start time and the end time of the allocated task when the allocated task is executed, and the entry lane time and the exit lane time of the allocated task when the allocated task is executed.
Step ten: and circularly executing the step five until the end.
It should be noted that, through the above steps, the container transporting tasks in the current echelon can be allocated, and after the allocation of each container transporting task in the current echelon is finished, the next echelon can be continuously used as the current echelon to continuously allocate the container transporting tasks in the next echelon until each container transporting task is allocated or the robot resources are exhausted.
After determining at least one container handling task and at least one candidate robot to be currently assigned, determining a path length of the first candidate robot for executing the first container handling task, determining a handling position conflict value between the first candidate robot for executing the first container handling task and the executing robot for executing the assigned task, and subsequently combining the path length and the handling position conflict value to determine a matching cost of the first candidate robot corresponding to the first container handling task, wherein each container handling task can be used as the first container handling task, each candidate robot can be used as the first candidate robot, that is, for any container handling task, a matching cost between the candidate robot and the first container handling task can be determined, and according to the matching cost between each container handling task and each candidate robot, an assignment result of each container handling task can be determined, so that an optimal matching between the container handling task and the candidate robot is determined, and the container handling task is assigned to the most appropriate candidate robot. Therefore, when a task allocation mode between the container carrying task and the candidate robot is determined, the carrying position conflict of the robot for carrying out the container carrying task is considered, the waiting time consumed after the robot reaches the carrying position is avoided, the serious waiting and congestion caused by the fact that the robot is piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation reasonableness is improved, and the overall efficiency of a task execution layer is improved.
Corresponding to the above method embodiment, the present specification further provides an embodiment of a device for distributing a task of transporting a container, and fig. 6 is a schematic structural diagram of a device for distributing a task of transporting a container according to an embodiment of the present specification. As shown in fig. 6, the apparatus includes:
a first determination module 602 configured to determine at least one container handling task and at least one candidate robot to be currently assigned;
a second determining module 604 configured to determine a path length of the first candidate robot for performing the first container transporting task, and determine a transporting position conflict value between the first candidate robot for performing the first container transporting task and the executing robot for performing an assigned task, wherein the executing robot is a robot corresponding to the assigned task, and the assigned task and the first container transporting task are container transporting tasks in the same lane;
a third determining module 606 configured to determine a matching cost of the first candidate robot corresponding to the first container handling task according to the path length and the handling position conflict value;
a fourth determining module 608 configured to determine an assignment of the at least one container handling task based on the matching costs of the at least one container handling task to the respective candidate robots.
The container transfer task allocation device provided in this specification may determine, after determining at least one container transfer task and at least one candidate robot to be currently allocated, a path length of the first candidate robot to execute the first container transfer task, determine a transfer position collision value between the first candidate robot and the execution robot to execute the allocated task, subsequently determine, by combining the path length and the transfer position collision value, a matching cost of the first candidate robot corresponding to the first container transfer task, each container transfer task may be used as the first container transfer task, each candidate robot may be used as the first candidate robot, that is, for any container transfer task, a matching cost between the candidate robot and the first container transfer task may be determined, and according to the matching cost between each container transfer task and each candidate robot, an allocation result of each container transfer task may be determined, thereby determining an optimal matching between the container transfer task and the candidate robot, and allocating the container transfer task to the most appropriate candidate robot. Therefore, when a task allocation mode between the container carrying task and the candidate robot is determined, the carrying position conflict of the robot for carrying out the container carrying task is considered, the waiting time consumed after the robot reaches the carrying position is avoided, the serious waiting and congestion caused by the fact that the robot is piled up are avoided, each robot in the warehousing system can exert the self capacity to the maximum extent, the task allocation reasonableness is improved, and the overall efficiency of a task execution layer is improved.
Optionally, the second determining module 604 is further configured to:
determining an execution robot corresponding to the assigned task under the condition that the assigned task exists currently;
determining the container taking end time of the execution robot for executing the assigned tasks according to the length of the execution path of the assigned tasks and the movement speed of the execution robot;
determining a container pick-up start time for the first candidate robot to perform the first container transfer task based on the path length of the first candidate robot to perform the first container transfer task and the movement speed of the first candidate robot;
and determining a conveying position conflict value according to the container taking end time of the distributed task and the container taking start time of the first container conveying task.
Optionally, the second determining module 604 is further configured to:
determining a first storage location in the stocker system for containers instructed to be handled by the first container handling task and determining a second storage location in the stocker system for containers instructed to be handled by the assigned task;
determining whether a first candidate robot performs a first container transfer task and an execution robot performs an assigned task, and whether a transfer position conflict exists, according to the first storage position and the second storage position;
and if so, determining the container taking end time of the execution robot for executing the assigned task according to the execution path length of the assigned task and the movement speed of the execution robot.
Optionally, the second determining module 604 is further configured to:
acquiring the starting execution time of the distributed tasks and the execution time of the container;
determining the moving time required by the execution robot to move to the container position indicated by the assigned task according to the length of the execution path of the assigned task and the movement speed of the execution robot;
determining the container taking starting time for the execution robot to execute the assigned tasks according to the starting execution time and the moving time;
and determining the container taking ending time of the assigned task according to the container taking execution time and the container taking starting time of the assigned task.
Optionally, the apparatus further comprises a fifth determining module configured to:
determining a transfer lane conflict value between a first candidate robot executing a first container transfer task and an executing robot executing an assigned task;
accordingly, the third determining module 606 is further configured to:
and determining the matching cost of the first container carrying task corresponding to the first candidate robot according to the path length, the carrying position conflict value and the carrying roadway conflict value.
Optionally, the fifth determining module is further configured to:
acquiring first entry time and first exit time of an execution robot when executing an allocated task, and determining a first stay time period of the allocated task in a target roadway according to the first entry time and the first exit time;
estimating second entering tunnel time and second leaving tunnel time when the first candidate robot executes the first container carrying task, and determining a second staying time period of the first candidate robot in the target tunnel according to the second entering tunnel time and the second leaving tunnel time;
under the condition that a second staying time period and a first staying time period have a crossed time period, determining whether the number of robots of a target roadway in the crossed time period exceeds a number threshold value, and if so, determining a carrying roadway conflict value as a first set value; and if not, determining that the carrying roadway conflict value is a second set value, wherein the first set value is larger than the second set value.
Optionally, the third determining module 606 is further configured to:
unifying the path length, the conveying position conflict value and the conveying roadway conflict value to the same dimension;
and summing the unified path length, the conveying position conflict value and the conveying roadway conflict value to obtain the matching cost of the first candidate robot corresponding to the first container conveying task.
Optionally, the fourth determining module 608 is further configured to:
constructing a matching cost matrix according to the matching cost of each candidate robot corresponding to at least one container carrying task;
selecting a target matching with the minimum matching cost from the matching cost matrix as a distribution result, wherein the target matching comprises a container carrying task and a corresponding candidate robot;
and updating the currently allocated tasks and the corresponding execution robots according to the allocation result, and returning to execute the operation steps of determining at least one container carrying task and at least one candidate robot to be allocated currently.
Optionally, the apparatus further comprises a dividing module configured to:
determining a priority for at least one container handling task;
determining a total remaining memory location for at least one candidate robot;
and dividing at least one container carrying task according to the priority and the total remaining storage positions to obtain a carrying task set of at least one echelon.
Optionally, the second determining module is further configured to:
selecting a first container carrying task from a carrying task set of a target echelon by taking the current echelon as the target echelon;
accordingly, the fourth determining module is further configured to:
determining the distribution result of each target container carrying task according to the matching cost of each candidate robot corresponding to each target container carrying task in the carrying task set of the target echelon;
and taking the next echelon of the target echelon as the target echelon, and returning to the step of selecting the first container carrying task from the carrying task set of the target echelon.
Optionally, the apparatus further comprises a control module configured to:
under the condition that the transportation task of each container is completely distributed or the storage bit occupation of each robot is completed, the completion of the task distribution is determined;
determining the distribution sequence of each container carrying task corresponding to the target robot, and controlling the target robot to take the target containers corresponding to each container carrying task in sequence, wherein the target robot is any one of the robots;
and under the condition that the target robot finishes taking the containers, determining the target conveying sequence of the target robot to each target workstation according to the target workstation of each target container and the current working information of each workstation.
Optionally, the control module is further configured to:
determining at least one delivery sequence for each of the target containers;
respectively determining the conveying time corresponding to each conveying sequence according to the current working information of each workstation;
the conveyance order with the shortest conveyance time is selected as the target conveyance order.
The foregoing is a schematic view of a container handling task distribution device according to the present embodiment. It should be noted that the technical solution of the apparatus for distributing the task of transporting the container belongs to the same concept as the technical solution of the method for distributing the task of transporting the container described above, and the details of the technical solution of the apparatus for distributing the task of transporting the container, which are not described in detail, can be referred to the description of the technical solution of the method for distributing the task of transporting the container described above.
Fig. 7 is a block diagram of a computing device according to an embodiment of the present disclosure. Components of the computing device 700 include, but are not limited to, a memory 710 and a processor 720. Processor 720 is coupled to memory 710 via bus 730, and database 750 is used to store data.
Computing device 700 also includes access device 740, access device 740 enabling computing device 700 to communicate via one or more networks 760. Examples of such networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the internet. Access device 740 may include one or more of any type of Network Interface (e.g., network Interface Controller) whether wired or Wireless, such as an IEEE802.11 Wireless Local Area Network (WLAN) Wireless Interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) Interface, an ethernet Interface, a Universal Serial Bus (USB) Interface, a cellular Network Interface, a bluetooth Interface, a Near Field Communication (NFC) Interface, and so forth.
In one embodiment of the present description, the above-described components of computing device 700, as well as other components not shown in FIG. 7, may also be connected to each other, such as by a bus. It should be understood that the block diagram of the computing device structure shown in FIG. 7 is for purposes of example only and is not limiting as to the scope of the description. Those skilled in the art may add or replace other components as desired.
Computing device 700 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet computer, personal digital assistant, laptop computer, notebook computer, netbook, etc.), mobile phone (e.g., smartphone), wearable computing device (e.g., smartwatch, smart glasses, etc.), or other type of mobile device, or a stationary computing device such as a desktop computer or PC. Computing device 700 may also be a mobile or stationary server.
Processor 720 is configured to execute the following computer-executable instructions to implement the steps of the method for assigning container handling tasks described above.
The above is an illustrative scheme of a computing device of the present embodiment. It should be noted that the technical solution of the computing device is the same as the technical solution of the above-mentioned method for allocating a task of transporting containers, and details of the technical solution of the computing device, which are not described in detail, can be referred to the description of the technical solution of the above-mentioned method for allocating a task of transporting containers.
An embodiment of the present disclosure further provides a computer readable storage medium, which stores computer instructions, and when the instructions are executed by a processor, the instructions implement the steps of the method for allocating a container handling task described above.
The above is an illustrative scheme of a computer-readable storage medium of the present embodiment. It should be noted that the technical solution of the storage medium is the same as the technical solution of the above-mentioned method for allocating a task of transporting containers, and for details of the technical solution of the storage medium that are not described in detail, reference may be made to the description of the technical solution of the above-mentioned method for allocating a task of transporting containers.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims can be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The computer instructions comprise computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include: any entity or device capable of carrying computer program code, recording medium, U.S. disk, removable hard disk, magnetic disk, optical disk, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution media, and the like.
It should be noted that, for the sake of simplicity, the foregoing method embodiments are described as a series of acts or combinations, but those skilled in the art should understand that the present disclosure is not limited by the described order of acts, as some steps may be performed in other orders or simultaneously according to the present disclosure. Further, those skilled in the art will appreciate that the embodiments described in this specification are presently considered to be preferred embodiments and that acts and modules are not necessarily required to be described in this specification.
In the foregoing embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to the related descriptions of other embodiments.
The preferred embodiments of the present specification disclosed above are intended only to aid in the description of the specification. Alternative embodiments are not exhaustive and do not limit the invention to the precise embodiments described. Obviously, many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the specification and its practical application, to thereby enable others skilled in the art to best understand the specification and utilize the specification. The specification is limited only by the claims and their full scope and equivalents.
Claims (15)
1. A method of assigning container handling tasks, the method comprising:
determining at least one container handling task and at least one candidate robot to be currently assigned;
determining a path length of a first candidate robot for executing a first container carrying task, and determining a carrying position conflict value between the first candidate robot for executing the first container carrying task and an executing robot for executing an allocated task, wherein the executing robot is a robot corresponding to the allocated task, and the allocated task and the first container carrying task are container carrying tasks in the same lane;
determining the matching cost of the first candidate robot corresponding to the first container carrying task according to the path length and the carrying position conflict value;
and determining the distribution result of the at least one container carrying task according to the matching cost of the candidate robots corresponding to the at least one container carrying task.
2. The method of assigning container transfer tasks according to claim 1, wherein said determining a transfer position conflict value between said first candidate robot performing said first container transfer task and an executing robot performing an assigned task comprises:
under the condition that the distributed tasks exist at present, determining an execution robot corresponding to the distributed tasks;
determining the container taking end time of the execution robot for executing the assigned task according to the length of the execution path of the assigned task and the movement speed of the execution robot;
determining a container pick-up start time for the first candidate robot to perform the first container transfer task based on the path length of the first candidate robot to perform the first container transfer task and the movement speed of the first candidate robot;
and determining the transportation position conflict value according to the container taking end time of the distributed tasks and the container taking start time of the first container transportation task.
3. The method for assigning a container transfer task according to claim 2, wherein after determining the execution robot corresponding to the assigned task, the method further comprises:
determining a first storage location in the stocker system for the containers indicated to be handled by the first container handling task and determining a second storage location in the stocker system for the containers indicated to be handled by the assigned task;
determining, based on the first storage location and the second storage location, whether there is a transfer location conflict between the first candidate robot performing the first container transfer task and the executing robot performing the assigned task;
and if so, determining the container taking end time of the execution robot for executing the assigned task according to the execution path length of the assigned task and the movement speed of the execution robot.
4. The method according to claim 2, wherein the determining an end time of the execution robot for taking the container to execute the assigned task based on the execution path length of the assigned task and the movement speed of the execution robot includes:
acquiring the starting execution time of the distributed tasks and the execution time of the container;
determining the moving time required for the executing robot to move to the container position indicated by the assigned task according to the length of the executing path of the assigned task and the moving speed of the executing robot;
determining the container taking starting time of the execution robot for executing the assigned task according to the starting execution time and the moving time;
and determining the container taking end time of the distributed tasks according to the container taking execution time and the container taking start time of the distributed tasks.
5. The method of assigning container handling tasks according to any of the claims 1-4, wherein after determining a handling position conflict value between the first candidate robot performing the first container handling task and the performing robot performing the assigned task, further comprising:
determining a transfer lane conflict value between the first candidate robot performing the first container transfer task and the performing robot performing the assigned task;
correspondingly, the determining a matching cost of the first candidate robot corresponding to the first container handling task according to the path length and the handling position conflict value includes:
and determining the matching cost of the first container carrying task corresponding to the first candidate robot according to the path length, the carrying position conflict value and the carrying roadway conflict value.
6. The method of assigning container transfer tasks according to claim 5, wherein said determining a transfer lane conflict value between said first candidate robot performing said first container transfer task and an executing robot performing an assigned task comprises:
acquiring first entry time and first exit time of the execution robot when the execution robot executes the allocated task, and determining a first staying time period of the allocated task in a target roadway according to the first entry time and the first exit time;
estimating second entering tunnel time and second leaving tunnel time when the first candidate robot executes the first container carrying task, and determining a second staying time period of the first candidate robot in the target tunnel according to the second entering tunnel time and the second leaving tunnel time;
under the condition that a cross time period exists between the second staying time period and the first staying time period, determining whether the number of robots in the target roadway in the cross time period exceeds a number threshold value, and if so, determining that a carrying roadway conflict value is a first set value; if not, determining that the carrying roadway conflict value is a second set value, wherein the first set value is larger than the second set value.
7. The method of assigning a container transfer task according to claim 5, wherein the determining a matching cost for the first candidate robot for the first container transfer task based on the path length, the transfer position conflict value, and the transfer lane conflict value comprises:
unifying the path length, the carrying position conflict value and the carrying roadway conflict value to the same dimension;
and summing the unified path length, the transportation position conflict value and the transportation roadway conflict value to obtain the matching cost of the first container transportation task corresponding to the first candidate robot.
8. The method of assigning container handling tasks according to any of claims 1-4, wherein the determining the assignment of the at least one container handling task based on the matching costs of the at least one container handling task for each candidate robot comprises:
constructing a matching cost matrix according to the matching cost of each candidate robot corresponding to the at least one container carrying task;
selecting a target matching with the minimum matching cost from the matching cost matrix as a distribution result, wherein the target matching comprises a container carrying task and a corresponding candidate robot;
and updating the currently allocated task and the corresponding execution robot according to the allocation result, and returning to execute the operation steps of determining at least one container carrying task to be allocated currently and at least one candidate robot.
9. The method of assigning container handling tasks according to any of the claims 1-4, wherein after determining at least one container handling task and at least one candidate robot currently to be assigned, further comprising:
determining a priority of the at least one container handling task;
determining a total remaining storage location for the at least one candidate robot;
and dividing the at least one container carrying task according to the priority and the total remaining storage positions to obtain a carrying task set of at least one echelon.
10. The method of assigning container handling tasks according to claim 9, wherein prior to determining the path length for the first candidate robot to perform the first container handling task, further comprising:
taking the current echelon as a target echelon, and selecting the first container carrying task from a carrying task set of the target echelon;
correspondingly, the determining an allocation result of the at least one container handling task according to the matching cost of the at least one container handling task for each candidate robot includes:
determining an allocation result of each target container carrying task according to the matching cost of each candidate robot corresponding to each target container carrying task in the carrying task set of the target echelon;
and taking the next flight of the target flight as a target flight, and returning to the step of selecting the first container carrying task from the carrying task set of the target flight.
11. The method of assigning container handling tasks according to any of claims 1-4, wherein after determining the result of assigning the at least one container handling task based on the matching costs of the at least one container handling task for each candidate robot, further comprising:
under the condition that the carrying task of each container is completely distributed or the storage positions of each robot are completely occupied, the task distribution is determined to be completed;
determining the distribution sequence of each container carrying task corresponding to a target robot, and controlling the target robot to take the target containers corresponding to each container carrying task in sequence, wherein the target robot is any one of the robots;
and under the condition that the target robot finishes taking the containers, determining the target conveying sequence of the target robot to each target workstation according to the target workstation of each target container and the current working information of each workstation.
12. The method for assigning a container transfer task according to claim 11, wherein the determining a target transfer order of the target robot to each destination station based on the destination station of each target container and current operation information of each station includes:
determining at least one delivery order for the respective target containers;
respectively determining the conveying time corresponding to each conveying sequence according to the current working information of each workstation;
selecting a delivery order with the shortest delivery time as the target delivery order.
13. An apparatus for distributing container handling tasks, said apparatus comprising:
a first determination module configured to determine at least one container handling task and at least one candidate robot to be currently assigned;
a second determining module configured to determine a path length of a first candidate robot for executing a first container handling task, and determine a handling position conflict value between the first candidate robot executing the first container handling task and an executing robot executing an assigned task, wherein the executing robot is a robot corresponding to the assigned task, and the assigned task and the first container handling task are container handling tasks in the same lane;
a third determining module configured to determine a matching cost of the first candidate robot corresponding to the first container handling task according to the path length and the handling position conflict value;
a fourth determining module configured to determine an allocation result of the at least one container handling task according to the matching costs of the at least one container handling task for the respective candidate robots.
14. A computing device, comprising:
a memory and a processor;
the memory is configured to store computer-executable instructions that the processor is configured to execute to perform the steps of the method of assigning container handling tasks according to any of claims 1-12.
15. A computer readable storage medium storing computer instructions which, when executed by a processor, carry out the steps of the method of assigning container handling tasks according to any of claims 1 to 12.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210896514.4A CN115345450A (en) | 2022-07-27 | 2022-07-27 | Method and device for distributing container conveying tasks |
PCT/CN2023/095864 WO2024021809A1 (en) | 2022-07-27 | 2023-05-23 | Method and apparatus for allocating container carrying task |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210896514.4A CN115345450A (en) | 2022-07-27 | 2022-07-27 | Method and device for distributing container conveying tasks |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115345450A true CN115345450A (en) | 2022-11-15 |
Family
ID=83950230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210896514.4A Pending CN115345450A (en) | 2022-07-27 | 2022-07-27 | Method and device for distributing container conveying tasks |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115345450A (en) |
WO (1) | WO2024021809A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024021809A1 (en) * | 2022-07-27 | 2024-02-01 | 北京极智嘉科技股份有限公司 | Method and apparatus for allocating container carrying task |
CN118246687A (en) * | 2024-04-12 | 2024-06-25 | 广州霖锋智能科技有限公司 | Robot handling scheduling method and system for warehouse logistics |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118552128A (en) * | 2024-06-06 | 2024-08-27 | 无锡新聚力科技有限公司 | Logistics storage management system based on digital twinning |
CN118625817B (en) * | 2024-08-14 | 2024-10-18 | 成都信息工程大学 | Multi-agent task allocation and path planning method in industrial environment |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107167154B (en) * | 2017-04-21 | 2020-04-24 | 东南大学 | Time window path planning conflict solution method based on time cost function |
CN109426884B (en) * | 2017-08-28 | 2022-02-11 | 杭州海康机器人技术有限公司 | Distribution scheme determination method, device and computer readable storage medium |
US10429847B2 (en) * | 2017-09-22 | 2019-10-01 | Locus Robotics Corp. | Dynamic window approach using optimal reciprocal collision avoidance cost-critic |
CN111136658B (en) * | 2019-12-30 | 2021-10-19 | 广东博智林机器人有限公司 | Robot control method, device, electronic device and storage medium |
CN115345450A (en) * | 2022-07-27 | 2022-11-15 | 北京极智嘉科技股份有限公司 | Method and device for distributing container conveying tasks |
-
2022
- 2022-07-27 CN CN202210896514.4A patent/CN115345450A/en active Pending
-
2023
- 2023-05-23 WO PCT/CN2023/095864 patent/WO2024021809A1/en unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024021809A1 (en) * | 2022-07-27 | 2024-02-01 | 北京极智嘉科技股份有限公司 | Method and apparatus for allocating container carrying task |
CN118246687A (en) * | 2024-04-12 | 2024-06-25 | 广州霖锋智能科技有限公司 | Robot handling scheduling method and system for warehouse logistics |
Also Published As
Publication number | Publication date |
---|---|
WO2024021809A1 (en) | 2024-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220063915A1 (en) | Goods sorting method and goods sorting system | |
EP3816886B1 (en) | Management method, apparatus, system applied to goods-to-person system, and server and computer storage medium | |
CN115345450A (en) | Method and device for distributing container conveying tasks | |
CN110084471B (en) | Sorting scheduling method and device, warehousing system and readable storage medium | |
Zhou et al. | Integrated optimization on yard crane scheduling and vehicle positioning at container yards | |
CN110059926B (en) | Sorting scheduling method and device, warehousing system and readable storage medium | |
CN110908381B (en) | Robot scheduling method and device | |
CN111409997A (en) | Transfer robot picking task scheduling method for mobile shelf warehousing system | |
Jiang et al. | Picking-replenishment synchronization for robotic forward-reserve warehouses | |
CN112785132B (en) | Task allocation method for multi-robot mobile shelf for intelligent warehouse | |
Khojasteh et al. | A travel time model for order picking systems in automated warehouses | |
CN114415610A (en) | Robot scheduling method and device, electronic equipment and storage medium | |
CN114803243A (en) | Goods delivery method, device and system and electronic equipment | |
CN114326610A (en) | AGV operation optimization system and method based on double-layer space-time network structure | |
JP4337135B2 (en) | Location arrangement method for flat warehouse | |
CN115630901A (en) | Stereo warehouse carrying and scheduling method and device | |
CN113816049B (en) | Container scheduling method, device and system | |
CN112978197B (en) | Storage and retrieval optimization method and device for warehouse goods and warehouse system | |
CN114590508A (en) | Stacker task scheduling method, device and system for three-dimensional library | |
Xiao et al. | Modeling of integrated quay cranes, yard trucks and yard cranes scheduling problem for outbound containers | |
Yue et al. | Minimizing Robot Digging Times to Retrieve Bins in Robotic-Based Compact Storage and Retrieval Systems | |
WO2024217327A1 (en) | Scheduling method and apparatus for cargo unit | |
CN117196263B (en) | Cargo scheduling method, device, equipment and computer readable storage medium | |
CN118154079A (en) | Task allocation method and device | |
Yuan et al. | Physical design optimization for automated drug dispensing systems in a human-machine interaction environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |