A method, device and equipment for moving goods
By generating and optimizing the operation sequence of cargo movement tasks, the problems of continuous delivery of multiple robots are solved, and shorter operating time and higher efficiency are achieved.
Patent Information
- Application Number
- CN202211700273.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-28
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2042-12-28
AI Technical Summary
When using multiple robots to transport goods, in order to place the goods on all robots on the same shelf, the operation of multiple robots to continuously release goods takes a long time, resulting in congestion of robots in subsequent operations and poor overall operating efficiency.
By generating multiple operation sequences, each operation sequence includes the operation sequence of multiple cargo movement tasks, the single operation time of each cargo movement task is determined, and the operation sequence with the shortest target operation time is selected as the target operation sequence, and multiple robots are controlled to perform cargo movement tasks based on this order.
The overall operating time in multi-robot scenarios is reduced. By adjusting the order of picking and delivering goods by multiple robots, the overall operating time is minimized, and the overall operating efficiency is improved, avoiding the problem of long continuous picking and delivery operations and congestion in robots.
Smart Images

Figure CN115870985B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot control, and in particular to a cargo moving method, device and equipment. Background Art
[0002] In recent years, various types of robots (such as mobile robots) have developed rapidly in terms of technology and market. Robots can be mechanical devices that automatically perform work and rely on their own power and control capabilities to achieve various functions. Robots can accept human commands, run pre-programmed programs, and act according to strategies formulated by artificial intelligence. For example, users use manual remote controls to control robots to perform related operations. For example, the manual remote control sends operation commands to the robot wirelessly. After receiving the operation command, the robot performs the operation specified by the operation command to complete the related functions.
[0003] With the rapid development of robot technology, robots are increasingly used in logistics, warehousing, factory production, etc. For example, robots are used to transport goods. However, when using robots to transport goods, in order to place the goods on all robots on the same shelf, the operation of multiple robots continuously placing goods takes a long time, which may cause congestion of subsequent operating robots and poor overall operating efficiency. Summary of the invention
[0004] The present application provides a cargo moving method. If a plurality of cargo moving tasks include a first cargo moving task and a second cargo moving task corresponding to the same target shelf, the first cargo moving task corresponds to a first robot, and the second cargo moving task corresponds to a second robot, the method includes:
[0005] During the execution of the first cargo moving task, cargo is moved between the first robot and the target shelf, and a preparation process for the second cargo moving task is simultaneously completed;
[0006] After the execution process of the first cargo moving task is completed, controlling the first robot to leave the target shelf, and controlling the second robot to move to the target shelf;
[0007] After the second robot moves to the target shelf, the second cargo moving task is executed, and cargo is moved between the second robot and the target shelf.
[0008] The present application provides a plurality of cargo moving tasks corresponding to a plurality of robots, wherein the plurality of cargo moving tasks correspond to at least one shelf, and the method includes:
[0009] Generate multiple operation sequences, each operation sequence includes the operation sequence of the multiple cargo moving tasks; wherein the operation sequence of different cargo moving tasks corresponding to the same shelf is a serial sequence, the operation sequence of different cargo moving tasks corresponding to the same robot is a serial sequence, and the operation sequence of different cargo moving tasks corresponding to different shelves and different robots is a serial sequence or a parallel sequence;
[0010] For each operation sequence, based on the operation sequence of the multiple cargo moving tasks in the operation sequence, determine the individual operation time corresponding to each cargo moving task; based on the individual operation times corresponding to the multiple cargo moving tasks, determine the target operation time corresponding to the operation sequence;
[0011] Based on the target operation time corresponding to each operation sequence, selecting an operation sequence with the shortest target operation time from the multiple operation sequences as the target operation sequence;
[0012] The plurality of robots are controlled to perform the plurality of cargo moving tasks based on the target operation sequence.
[0013] The present application provides a cargo moving device. If a plurality of cargo moving tasks include a first cargo moving task and a second cargo moving task corresponding to the same target shelf, the first cargo moving task corresponds to a first robot, and the second cargo moving task corresponds to a second robot, the device comprises:
[0014] a processing module, configured to move goods between the first robot and the target shelf during the execution of the first goods moving task, and simultaneously complete the preparation process of the second goods moving task;
[0015] a control module, configured to control the first robot to leave the target shelf and control the second robot to move to the target shelf after the execution process of the first cargo moving task is completed;
[0016] The processing module is further used to perform the execution process of the second cargo moving task after the second robot moves to the target shelf, and move the cargo between the second robot and the target shelf.
[0017] The present application provides a cargo moving device, for a plurality of cargo moving tasks corresponding to a plurality of robots, wherein the plurality of cargo moving tasks correspond to at least one shelf, the device comprises:
[0018] A generating module, used for generating a plurality of operation sequences, each operation sequence comprising an operation sequence of the plurality of cargo moving tasks; wherein the operation sequence of different cargo moving tasks corresponding to the same shelf is a serial sequence, the operation sequence of different cargo moving tasks corresponding to the same robot is a serial sequence, and the operation sequence of different cargo moving tasks corresponding to different shelves and corresponding to different robots is a serial sequence or a parallel sequence;
[0019] A determination module is used to determine, for each operation sequence, a single operation time corresponding to each cargo moving task based on the operation sequence of the multiple cargo moving tasks in the operation sequence; and determine a target operation time corresponding to the operation sequence based on the single operation times corresponding to the multiple cargo moving tasks;
[0020] A selection module, configured to select, based on the target operation time corresponding to each operation sequence, an operation sequence with the shortest target operation time from the multiple operation sequences as the target operation sequence;
[0021] A control module is used to control the multiple robots to perform the multiple cargo moving tasks based on the operation sequence of the multiple cargo moving tasks corresponding to the target operation sequence.
[0022] The present application provides an electronic device, including a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the cargo movement method disclosed in the present application.
[0023] It can be seen from the above technical scheme that in the embodiment of the present application, for multiple cargo moving tasks corresponding to multiple robots, multiple operation sequences can be generated, and the target operation time corresponding to each operation sequence can be determined, and an operation sequence with the shortest target operation time is selected from all multiple operation sequences as the target operation sequence, and multiple robots are controlled to perform multiple cargo moving tasks based on the target operation sequence, that is, multiple cargo moving tasks are performed based on the operation sequence with the shortest target operation time, thereby reducing the overall operation time in the multi-robot scenario, and by adjusting the order of picking up and releasing goods by multiple robots, the overall operation time is shortened, thereby improving the overall operation efficiency, and avoiding problems such as long continuous picking up and releasing operations and robot congestion. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments of the present application or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in this application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings of the embodiments of the present application.
[0025] Figure 1 is a flow chart of a cargo moving method in one embodiment of the present application;
[0026] Figure 2A and Figure 2B is a schematic diagram of a cargo movement process in one embodiment of the present application;
[0027] Figure 3 is a schematic diagram of moving goods from a robot to a shelf in one embodiment of the present application;
[0028] Figure 4 is a flow chart of a cargo moving method in one embodiment of the present application;
[0029] Figure 5 is a schematic structural diagram of a cargo moving device in one embodiment of the present application;
[0030] Figure 6 It is a hardware structure diagram of an electronic device in one embodiment of the present application. DETAILED DESCRIPTION
[0031] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, rather than limiting the present application. The singular forms of "a", "said" and "the" used in the present application and claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to any or all possible combinations of one or more associated listed items.
[0032] It should be understood that, although the terms first, second, third, etc. may be used to describe various information in the embodiments of the present application, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, in addition, the word "if" used may be interpreted as "at..." or "when..." or "in response to determination".
[0033] In the embodiment of the present application, a cargo moving method is proposed for processing multiple cargo moving tasks corresponding to multiple robots (the cargo moving tasks are used to move cargo from the robot to the shelf, or to move cargo from the shelf to the robot). Each robot can correspond to one cargo moving task or at least two cargo moving tasks. Multiple cargo moving tasks can correspond to at least one shelf. Figure 1 FIG. 1 is a flow chart of the cargo moving method, which may include:
[0034] Step 101: Generate multiple operation sequences, each of which includes the operation sequences of multiple cargo moving tasks. The operation sequences of different cargo moving tasks corresponding to the same shelf are serial sequences, the operation sequences of different cargo moving tasks corresponding to the same robot are serial sequences, and the operation sequences of different cargo moving tasks corresponding to different shelves and different robots are serial sequences or parallel sequences.
[0035] Step 102: for each operation sequence, based on the operation sequence of multiple cargo moving tasks in the operation sequence, determine the individual operation time corresponding to each cargo moving task; and determine the target operation time corresponding to the operation sequence based on the individual operation times corresponding to the multiple cargo moving tasks.
[0036] Step 103: Based on the target operation time corresponding to each operation sequence, select an operation sequence with the shortest target operation time from multiple operation sequences as the target operation sequence.
[0037] Step 104: Control multiple robots to perform multiple cargo moving tasks based on the target operation sequence.
[0038] Exemplarily, in step 104, based on the operation sequence of the multiple cargo moving tasks corresponding to the target operation sequence, the multiple robots may be controlled to perform the multiple cargo moving tasks.
[0039] In a possible implementation, for a first cargo moving task among multiple cargo moving tasks (which may be any cargo moving task among multiple cargo moving tasks), based on the operation sequence of multiple cargo moving tasks in the operation sequence, determining the single operation time corresponding to the first cargo moving task may include but is not limited to: based on the operation sequence of multiple cargo moving tasks in the operation sequence, determining whether there is a second cargo moving task corresponding to the first cargo moving task; wherein the second cargo moving task and the first cargo moving task correspond to the same shelf, the second cargo moving task and the first cargo moving task correspond to different robots, and the second cargo moving task is the previous cargo moving task of the first cargo moving task. If so, the single operation time corresponding to the first cargo moving task is determined based on the execution process time of the first cargo moving task; if not, the single operation time corresponding to the first cargo moving task is determined based on the execution process time of the first cargo moving task and the preparation process time of the first cargo moving task.
[0040] Exemplarily, before determining the single operation time corresponding to the first cargo moving task based on the execution time of the first cargo moving task and the preparation time of the first cargo moving task, the preparation time of the first cargo moving task can also be determined. For example, if the chassis movement time is greater than the actuator preparation time, the preparation time of the first cargo moving task is determined based on the chassis movement time. Alternatively, if the chassis movement time is not greater than the actuator preparation time, the preparation time of the first cargo moving task is determined based on the actuator preparation time.
[0041] Exemplarily, the chassis movement process may include: a chassis movement process in which the robot moves to a target shelf. If the first cargo moving task is used to move the target cargo from the robot to the target shelf, the actuator preparation process may include: moving the actuator to the height of the target cargo, taking out the target cargo and moving it to the height of the target shelf by the actuator; the execution process of the first cargo moving task may include: moving the target cargo from the robot to the target shelf by the actuator, and retracting the actuator. If the first cargo moving task is used to move the target cargo from the target shelf to the robot, the actuator preparation process may include: moving the actuator to the height of the target shelf; the execution process of the first cargo moving task may include: moving the target cargo from the target shelf to the robot by the actuator, and retracting the actuator.
[0042] In a possible implementation, determining the target operation time corresponding to the operation sequence based on the individual operation times corresponding to multiple cargo moving tasks may include but is not limited to: traversing each of the multiple cargo moving tasks in sequence; for the currently traversed cargo moving task, if the cargo moving task is the first cargo moving task to be traversed, or the cargo moving task is not the first cargo moving task to be traversed, and the cargo moving task is in a serial order with all the traversed cargo moving tasks, then accumulating the individual operation time corresponding to the cargo moving task in the overall operation time (the initial value may be 0); if the cargo moving task is not the first cargo moving task to be traversed, and the cargo moving task is in a parallel order with any of the traversed cargo moving tasks, then accumulating the individual operation time corresponding to the cargo moving task in the overall operation time is prohibited; after all the cargo moving tasks in the multiple cargo moving tasks are traversed, determining the target operation time corresponding to the operation sequence based on the overall operation time.
[0043] In a possible implementation, controlling multiple robots to perform multiple cargo moving tasks based on a target operation sequence may include but is not limited to: when determining to perform each cargo moving task in the multiple cargo moving tasks based on the target operation sequence, then: if the cargo moving task is used to move the target cargo from the robot to the target shelf, the actuator is moved to the height of the target cargo, and the target cargo is taken out and moved to the height of the target shelf by the actuator; the target cargo is moved from the robot to the target shelf by the actuator, and the actuator is retracted (i.e., the actuator is retracted into the robot); if the cargo moving task is used to move the target cargo from the target shelf to the robot, the actuator is moved to the height of the target shelf; the target cargo is moved from the target shelf to the robot by the actuator, and the actuator is retracted.
[0044] In a possible implementation, if multiple cargo moving tasks include at least a third cargo moving task, a fourth cargo moving task and a fifth cargo moving task corresponding to the same target shelf, the third cargo moving task and the fourth cargo moving task correspond to the first robot, and the fifth cargo moving task corresponds to the second robot; controlling multiple robots to perform multiple cargo moving tasks based on the target operation sequence may include but is not limited to: if the operation sequence of multiple cargo moving tasks is determined based on the target operation sequence to be the serial execution of the third cargo moving task, the fifth cargo moving task and the fourth cargo moving task, then: during the execution of the third cargo moving task, the goods are moved from the first robot to the target shelf, and the preparation process of the fifth cargo moving task is completed synchronously. After the execution process of the third cargo moving task is completed, the first robot can be controlled to leave the target shelf and perform the preparation process of the fourth cargo moving task, and the second robot can be controlled to move to the target shelf and perform the execution process of the fifth cargo moving task; during the execution process of the fifth cargo moving task, the goods can be moved from the second robot to the target shelf, and the preparation process of the fourth cargo moving task can be completed synchronously; after the execution process of the fifth cargo moving task is completed, the second robot can be controlled to leave the target shelf, the first robot can be controlled to move to the target shelf and perform the execution process of the fourth cargo moving task to move the goods from the first robot to the target shelf.
[0045] It can be seen from the above technical scheme that in the embodiment of the present application, for multiple cargo moving tasks corresponding to multiple robots, multiple operation sequences can be generated, and the target operation time corresponding to each operation sequence can be determined, and an operation sequence with the shortest target operation time is selected from all multiple operation sequences as the target operation sequence, and multiple robots are controlled to perform multiple cargo moving tasks based on the target operation sequence, that is, multiple cargo moving tasks are performed based on the operation sequence with the shortest target operation time, thereby reducing the overall operation time in the multi-robot scenario, and by adjusting the order of picking up and releasing goods by multiple robots, the overall operation time is shortened, thereby improving the overall operation efficiency, and avoiding problems such as long continuous picking up and releasing operations and robot congestion.
[0046] In an embodiment of the present application, a cargo moving method is further provided, which is used to process multiple cargo moving tasks corresponding to multiple robots (for example, the cargo moving tasks are used to move cargo from the robot to the shelf, or to move cargo from the shelf to the robot). If the multiple cargo moving tasks include a first cargo moving task and a second cargo moving task corresponding to the same target shelf, the first cargo moving task may correspond to the first robot, and the second cargo moving task may correspond to the second robot, then:
[0047] During the execution of the first cargo moving task, the cargo can be moved between the first robot and the target shelf (such as moving the cargo from the first robot to the target shelf, or moving the cargo from the target shelf to the first robot), and the preparation process of the second cargo moving task is completed synchronously. After the execution of the first cargo moving task is completed, the first robot is controlled to leave the target shelf, and the second robot is controlled to move to the target shelf. After the second robot moves to the target shelf, the execution process of the second cargo moving task is performed, and the cargo can be moved between the second robot and the target shelf (such as moving the cargo from the second robot to the target shelf, or moving the cargo from the target shelf to the second robot).
[0048] If the multiple cargo moving tasks also include a third cargo moving task corresponding to the target shelf, and the third cargo moving task corresponds to the first robot, then: after controlling the first robot to leave the target shelf, during the execution of the second cargo moving task, the preparation process of the third cargo moving task is synchronously completed. After the execution process of the second cargo moving task is completed, the second robot is controlled to leave the target shelf, and the first robot is controlled to move to the target shelf. After the first robot moves to the target shelf, the execution process of the third cargo moving task is performed to move the cargo between the first robot and the target shelf (such as moving the cargo from the first robot to the target shelf, or moving the cargo from the target shelf to the first robot).
[0049] For example, taking the moving of goods from the second robot to the target shelf as an example, the preparation process for synchronously completing the second goods moving task may include, but is not limited to: moving the actuator of the second robot to the height of the goods; taking the goods from the second robot by the actuator; and moving the goods to the height of the target shelf by the actuator. The execution process of the second goods moving task may include: moving the goods from the second robot to the target shelf by the actuator, and retracting the actuator.
[0050] It can be seen from the above technical solutions that in the embodiments of the present application, the overall operation time in a multi-robot scenario can be reduced. By adjusting the order of picking up and placing goods by multiple robots, the overall operation time can be shortened, the overall operation efficiency can be improved, and problems such as long continuous picking and placing operations and robot congestion can be avoided.
[0051] The above technical solutions of the embodiments of the present application are described below in combination with specific application scenarios.
[0052] A robot (such as a mobile robot) can be a machine device that automatically performs work and is a machine that relies on its own power and control capabilities to achieve various functions. In this embodiment, there is no restriction on the type of robot and it can be any type of robot as long as the robot can achieve the function of moving goods.
[0053] For example, the robot may be an AGV (Automatic Guided Vehicle) or other types of robots. Among them, an AGV is a transport vehicle with an automatic guidance device such as an electromagnetic or optical device, which can travel along a specified guidance path and has safety protection, movement, and cargo carrying functions.
[0054] With the rapid development of robot technology, robots are increasingly used in logistics, warehousing, factory production, etc. For example, robots are used to transport goods. For example, multiple robots usually need to place multiple goods on the same shelf (referred to as shelf P). Each robot is a multi-capacity handling robot, that is, multiple goods are placed on the robot. In this way, when multiple robots are used to transport goods, robot 1 is first moved to the front of shelf P, and the goods 11 on robot 1 are placed on shelf P, and then the goods 12 on robot 1 are placed on shelf P, and so on, until all the goods on robot 1 are placed on shelf P. Then, robot 1 leaves from the front of shelf P, robot 2 moves to the front of shelf P, and the goods 21 on robot 2 are placed on shelf P, and then the goods 22 on robot 2 are placed on shelf P, and so on, until all the goods on robot 2 are placed on shelf P. Then, robot 2 leaves from the front of shelf P, and robot 3 moves to the front of shelf P, and so on, until the goods on all robots are placed on shelf P.
[0055] In the above implementation, in order to place the goods on all robots onto the shelf P, the operation of continuously placing the goods takes a long time, which may cause congestion of the robots operating subsequently and result in poor overall operating efficiency.
[0056] In response to the above findings, a cargo movement method is proposed in an embodiment of the present application, which can execute multiple cargo movement tasks based on the operation sequence with the shortest overall operation time, thereby reducing the overall operation time in a multi-robot scenario. By adjusting the order of picking up and releasing cargo by multiple robots, the overall operation time is shortened, the overall operation efficiency is improved, and problems such as long continuous picking and releasing operations and robot congestion can be avoided.
[0057] In the embodiment of the present application, the operation time of a single robot can be referred to as the single operation time, which can include the chassis movement process time, the actuator preparation process time and the execution process time (i.e. the actuator execution process time). The chassis movement process time is the time taken for the robot to move the chassis from the start of the task to the end of the task, which can be understood as the time taken for the robot to move, and can be expressed as T move It indicates the time taken for the chassis to move. The time taken for the actuator to prepare for the process is the time taken for the actuator to move from the initial state to the state ready for docking, which can be expressed as T pre Indicates the time consumed in the preparation process of the actuator. The execution process time is the time consumed by the actuator to perform docking operations, which can be expressed as T do Indicates that the execution process is time-consuming.
[0058] Assume that the target goods need to be moved from the robot to the shelf, that is, the target goods need to be placed on the shelf. Figure 2A, which is a schematic diagram of the cargo moving process. In step 211, the actuator is moved to the height of the target cargo. The actuator may also be called an insertion mechanism, which is used to move cargo from the robot to the shelf, or to move cargo from the shelf to the robot. The target cargo is the cargo that needs to be placed on the shelf by the robot, and the target cargo may also be called a target cargo box, that is, a cargo box carrying the cargo.
[0059] In step 212, the target goods are taken out by the actuator. For example, since the actuator has been moved to the height of the target goods, the target goods can be taken out by the actuator.
[0060] In step 213, the target goods are moved to the height of the shelf (i.e., the shelf target placement height) by the actuator. For example, after the target goods are taken out by the actuator, the target goods can be moved to the height of the shelf by the actuator, thereby facilitating the moving of the target goods to the shelf.
[0061] In step 214, the target goods are moved from the robot to the shelf by the actuator, that is, the migration of the target goods from the robot to the shelf is completed. For example, since the target goods have been moved to the height of the shelf by the actuator, the target goods can be directly moved from the robot to the shelf.
[0062] In step 215 , the actuator is retracted, that is, the actuator is retracted into the robot.
[0063] Exemplarily, in steps 211 to 215, steps 211 to 213 may be referred to as an actuator preparation process, and the actuator preparation process may be completed in front of the shelf or not. Steps 214 to 215 may be referred to as an actuator execution process, and the actuator execution process needs to be completed in front of the shelf. In summary, the time-consuming actuator preparation process refers to the time-consuming of steps 211 to 213, and the time-consuming execution process refers to the time-consuming of steps 214 to 215.
[0064] Obviously, based on steps 211 to 213, the actuator preparation process may include: moving the actuator to the height of the target goods, taking out the target goods through the actuator, and moving the target goods to the height of the shelf through the actuator. Based on steps 214 to 215, the actuator execution process may include: moving the target goods from the robot to the shelf through the actuator, and retracting the actuator.
[0065] Assume that the target goods need to be moved from the shelf to the robot, that is, the target goods picking operation is realized, see Figure 2BAs shown, it is a schematic diagram of the cargo moving process. In step 221, the actuator is moved to the height of the shelf, that is, the height of the shelf where the target cargo is located. The target cargo can be the cargo on the shelf that needs to be placed on the robot. In step 222, the target cargo is moved from the shelf to the robot by the actuator, that is, the target cargo is taken out from the shelf by the actuator, and the target cargo is moved to the robot. For example, since the actuator has been moved to the height of the shelf, the target cargo can be taken out from the shelf by the actuator. After the target cargo is taken out, the target cargo can be moved to the robot by the actuator, thereby completing the migration of the target cargo from the shelf to the robot. In step 223, the actuator is retracted, that is, the actuator is retracted into the robot.
[0066] Exemplarily, in steps 221-223, step 221 is referred to as an actuator preparation process, and the actuator preparation process may be completed in front of the shelf or not. Steps 222-223 are referred to as an actuator execution process, and the actuator execution process needs to be completed in front of the shelf. In summary, the time-consuming actuator preparation process refers to the time-consuming step 221, and the execution process time-consuming refers to the time-consuming step 222-223. Based on step 221, the actuator preparation process may include: moving the actuator to the height of the shelf. Based on steps 222-223, the actuator execution process may include: moving the target goods from the shelf to the robot through the actuator, and retracting the actuator.
[0067] From the above, it can be seen that the chassis movement process and the actuator preparation process can be completed in front of the shelf or not, and the chassis movement process and the actuator preparation process can be performed simultaneously, that is, the actuator preparation process is performed synchronously while the chassis movement process is performed. The actuator execution process needs to be completed in front of the shelf, and the chassis movement process and the actuator execution process cannot be performed synchronously, that is, the actuator execution process cannot be performed while the chassis movement process is performed, but the actuator execution process can only be performed after the chassis movement process is completed. The actuator preparation process and the actuator execution process cannot be performed synchronously, that is, the actuator execution process cannot be performed while the actuator preparation process is performed, but the actuator execution process can only be performed after the actuator preparation process is completed.
[0068] In summary, the single operation time corresponding to a single robot can be expressed as: T = T mp +T do In the above formula, T is used to represent the single operation time corresponding to a single robot, T do It is used to indicate the execution time (i.e. the execution time of the actuator), T mpUsed to indicate that the preparation process takes time.
[0069] Among them, since the chassis movement process and the actuator preparation process can be carried out simultaneously, if the chassis movement process takes longer than the actuator preparation process, the preparation process time can be determined based on the chassis movement process time, that is, the preparation process time T mp The time taken for the chassis movement process is T move If the chassis movement process time is not greater than the actuator preparation process time, the preparation process time can be determined based on the actuator preparation process time, that is, the preparation process time T mp The preparation process for the actuator takes time T pre .
[0070] In one possible implementation, see Figure 3 As shown in FIG. 1 , it is a schematic diagram of moving goods from a robot to a shelf. Assume that goods 11 and 12 on robot 1 need to be placed on shelf P2, and goods 21 on robot 2 need to be placed on shelf P2. That is, both robot 1 and robot 2 need to perform a placing operation on shelf P2. Robot 1 and robot 2 have multiple goods that need to be placed at different heights of shelf P2. On this basis, the following alternating placing method can be adopted in this embodiment:
[0071] First, place the goods 11 on the robot 1 on the shelf P2. For example, move the robot 1 to the front of the shelf P2. Based on steps 211 to 215, place the goods 11 on the robot 1 on the shelf P2. For this process, the single operation time can be expressed as: T1 = T mp1 +T do1 , T mp1 T move1 or T pre1 .
[0072] Then, the goods 21 on the robot 2 are placed on the shelf P2. For example, the robot 2 is moved to the front of the shelf P2. Based on steps 211 to 215, the goods 21 on the robot 2 are placed on the shelf P2. For this process, the single operation time can be expressed as: T2 = T mp2 +T do2 , T mp2 T move2 or T pre2 .
[0073] It should be noted that, in the process of placing the item 11 on the shelf P2, steps 211 to 213 have been executed for the item 21. Thus, when the robot 2 is moved to the front of the shelf P2, the actuator preparation process has been completed, and steps 214 to 215 can be directly executed. Therefore, in the overall operation time, T mp2It is already within T1, so the single operation time corresponding to cargo 21 is expressed as: T2 = T do2 .
[0074] Then, the goods 12 on the robot 1 are placed on the shelf P2. For example, the robot 1 is moved to the front of the shelf P2. Based on steps 211 to 215, the goods 12 on the robot 1 are placed on the shelf P2. For this process, the single operation time can be expressed as: T3 = T mp3 +T do3 , T mp3 T move3 or T pre3 .
[0075] It should be noted that after placing the item 11 on the shelf P2, the robot 1 will move away from the front of the shelf P2 and execute steps 211 to 213 for the item 12. That is, in the process of placing the item 21 on the shelf P2, the steps 211 to 213 have been executed for the item 12. In this way, when the robot 1 is moved to the front of the shelf P2 again, the actuator preparation process of the item 12 has been completed, and the steps 214 to 215 can be directly executed. Therefore, in the overall operation time, T mp3 It is already within T2, that is, the single operation time corresponding to the cargo 12 can be expressed as: T3 = T do3 .
[0076] In summary, the overall operation time can be expressed as: T3+T3+T3=T mp1 +T do1 +T do2 +T do3 Obviously, T is not included in the overall operation time. mp2 and T mp3 , thereby reducing the overall operation time in multi-robot scenarios, shortening the overall operation time and improving the overall operation efficiency.
[0077] In the above embodiment, after robot 1 executes step 215 for goods 11, it can avoid to the position of shelf P1 to perform steps 211-213. At this time, robot 2 is in the preparatory state of step 214 for goods 21. After robot 2 arrives at shelf P2, it can directly execute steps 214-215. After robot 2 executes step 215 for goods 21, it can avoid to the position of shelf P3 to perform steps 211-213. At this time, robot 1 is in the preparatory state of step 214 for goods 12. After robot 1 arrives at shelf P2, it can directly execute steps 214-215, and so on, until the goods on robot 1 and robot 2 are all placed on shelf P2, completing the task of placing goods on the same shelf by robot 1 and robot 2.
[0078] Obviously, when there is a conflict between picking up and releasing goods, this multi-robot alternating picking up and releasing method can reduce the overall operation time. For each robot, when the robot has not completed the actuator preparation state, it can avoid, so that the robot that has completed the actuator preparation state can perform the picking up and releasing operation first.
[0079] From the above, it can be seen that a cargo moving method is proposed in this embodiment, and multiple cargo moving tasks include a first cargo moving task corresponding to the same target shelf (shelf P2) (used to place the cargo 11 on the robot 1 to the shelf P2), a second cargo moving task (used to place the cargo 21 on the robot 2 to the shelf P2) and a third cargo moving task (used to place the cargo 12 on the robot 1 to the shelf P2).
[0080] During the execution of the first cargo moving task, cargo 11 is moved between robot 1 and shelf P2 (i.e. cargo 11 is moved from robot 1 to shelf P2), and the preparation process of the second cargo moving task is completed synchronously. After the execution of the first cargo moving task is completed, robot 1 is controlled to leave shelf P2, and robot 2 is controlled to move to shelf P2. After robot 2 moves to shelf P2, the execution of the second cargo moving task is performed, and cargo is moved between robot 2 and shelf P2 (i.e. cargo 21 is moved from robot 2 to shelf P2). After robot 1 is controlled to leave shelf P2, during the execution of the second cargo moving task, the preparation process of the third cargo moving task is completed synchronously. After the execution of the second cargo moving task is completed, robot 2 is controlled to leave shelf P2, and robot 1 is controlled to move to shelf P2. After robot 1 moves to shelf P2, the execution of the third cargo moving task is performed, i.e. cargo is moved between robot 1 and shelf P2 (i.e. cargo 12 is moved from robot 1 to shelf P2).
[0081] In the above application scenario, a cargo moving method is proposed in the embodiment of the present application, which is used to process multiple cargo moving tasks corresponding to multiple robots. For each cargo moving task, the cargo moving task corresponds to one cargo, and the cargo moving task is used to move the cargo from the robot to the shelf, or to move the cargo from the shelf to the robot. Each robot can correspond to one cargo moving task, or can correspond to at least two cargo moving tasks, and multiple cargo moving tasks can correspond to at least one shelf. Figure 4 FIG. 1 is a flow chart of the cargo moving method, which may include:
[0082] Step 401: Generate multiple operation sequences corresponding to multiple cargo moving tasks, each operation sequence includes the operation sequences of multiple cargo moving tasks. For example, if the operation sequence of a cargo moving task is 1, it means that the cargo moving task is executed first, if the operation sequence of a cargo moving task is 2, it means that the cargo moving task is executed second, and so on. For another example, if the operation sequences of two cargo moving tasks are both 2, it means that the two cargo moving tasks are both executed second, that is, they are executed in parallel.
[0083] In a possible implementation, multiple operation sequences may be generated arbitrarily, as long as different operation sequences are different and each operation sequence includes the operation sequence of all cargo moving tasks, and the operation sequence between different cargo moving tasks may be a serial sequence or a parallel sequence.
[0084] For example, a time-space-based parallel planning algorithm can be used to generate multiple work sequences. The parallel planning algorithm refers to a method of synchronous planning of multiple robots. There is no priority order between robots. All possible work sequences are enumerated and expanded based on the principle of mutual conflict and avoidance of robots.
[0085] Among them, there is no priority order between robots means that the cargo moving task corresponding to robot 1 can be placed before the cargo moving task corresponding to robot 2, and the cargo moving task corresponding to robot 2 can also be placed before the cargo moving task corresponding to robot 1, that is, the cargo moving tasks corresponding to different robots are not configured with priorities, and the order of the cargo moving tasks corresponding to different robots is not restricted.
[0086] Among them, robot conflict means that there is a conflict between multiple cargo moving tasks corresponding to the same robot, and there is a conflict between multiple cargo moving tasks corresponding to the same shelf on different robots. For example, when robot 1 corresponds to cargo moving task 1 and cargo moving task 2, there is a conflict between cargo moving task 1 and cargo moving task 2, that is, cargo moving task 1 and cargo moving task 2 can only be executed serially (that is, there is a sequence of precedence), and cannot be executed in parallel (that is, executed at the same time, without a sequence of precedence). For another example, robot 1 corresponds to cargo moving task 1, robot 2 corresponds to cargo moving task 2, and cargo moving task 1 and cargo moving task 2 correspond to the same shelf, then there is a conflict between cargo moving task 1 and cargo moving task 2, that is, cargo moving task 1 and cargo moving task 2 can only be executed serially, and cannot be executed in parallel.
[0087] The principle of separate avoidance means that after the robot completes the cargo moving task, it leaves the shelf to avoid the other robot so that the other robot can move to the shelf to complete the cargo moving task. For example, if robot 1 corresponds to cargo moving task 1 and robot 2 corresponds to cargo moving task 2, and cargo moving tasks 1 and 2 correspond to the same shelf, then after completing cargo moving task 1, the robot leaves the shelf to avoid the other robot so that the other robot can move to the shelf to complete cargo moving task 2.
[0088] Based on the above principles (no priority order between robots, robots conflict with each other, robots avoid each other), multiple operation sequences can be generated, and there is no restriction on the generation method. In each operation sequence, the operation sequence of different cargo moving tasks corresponding to the same shelf is a serial sequence, the operation sequence of different cargo moving tasks corresponding to the same robot is a serial sequence, and the operation sequence of different cargo moving tasks corresponding to different shelves and different robots is a serial sequence or a parallel sequence.
[0089] For example, assume that robot 1 corresponds to cargo moving task 11, cargo moving task 12 and cargo moving task 13, robot 2 corresponds to cargo moving task 21, cargo moving task 11, cargo moving task 12 and cargo moving task 21 all correspond to shelf P1, and cargo moving task 13 corresponds to shelf P2. Of course, the above is just an example and there is no limitation to this. In actual application scenarios, the number of robots can be more, the number of shelves can be more, and the number of cargo moving tasks can be more, and there is no limitation to this.
[0090] Since the cargo moving task 11 and the cargo moving task 12 correspond to the same robot 1 , the operation sequence of the cargo moving task 11 and the cargo moving task 12 is a serial sequence and cannot be a parallel sequence.
[0091] Since the cargo moving task 11 and the cargo moving task 13 correspond to the same robot 1 , the operation sequence of the cargo moving task 11 and the cargo moving task 13 is a serial sequence and cannot be a parallel sequence.
[0092] Since the cargo moving task 11 and the cargo moving task 21 correspond to the same shelf P1, the operation sequence of the cargo moving task 11 and the cargo moving task 21 is a serial sequence and cannot be a parallel sequence.
[0093] Since cargo moving task 12 and cargo moving task 13 correspond to the same robot 1, the operation sequence of cargo moving task 12 and cargo moving task 13 is a serial sequence and cannot be a parallel sequence.
[0094] Since the cargo moving task 12 and the cargo moving task 21 correspond to the same shelf P1, the operation sequence of the cargo moving task 12 and the cargo moving task 21 is a serial sequence and cannot be a parallel sequence.
[0095] Since cargo moving task 13 and cargo moving task 21 correspond to different robots, and cargo moving task 13 and cargo moving task 21 correspond to different shelves, the operation sequence of cargo moving task 13 and cargo moving task 21 can be a serial sequence or a parallel sequence.
[0096] Based on the above principles, multiple operation sequences can be generated without any restrictions as long as the above relationship is satisfied. For example, operation sequence 1 can be cargo moving task 11-cargo moving task 12-cargo moving task 13 / cargo moving task 21. Operation sequence 2 can be cargo moving task 11-cargo moving task 12-cargo moving task 13-cargo moving task 21. Operation sequence 3 can be cargo moving task 11-cargo moving task 13 / cargo moving task 21-cargo moving task 12. Operation sequence 4 can be cargo moving task 11-cargo moving task 13-cargo moving task 21-cargo moving task 12. Operation sequence 5 can be cargo moving task 12-cargo moving task 13 / cargo moving task 21-cargo moving task 11.
[0097] Of course, the above are just a few examples of the operation sequence, and there is no limitation on this operation sequence. In this embodiment, all possible operation sequences can be given as long as the above principles are met.
[0098] In the above process, "Cargo Moving Task 13 / Cargo Moving Task 21" means that Cargo Moving Task 13 and Cargo Moving Task 21 are in parallel order, that is, Cargo Moving Task 13 and Cargo Moving Task 21 are executed at the same time. "Cargo Moving Task 13-Cargo Moving Task 21" means that Cargo Moving Task 13 and Cargo Moving Task 21 are in serial order, that is, Cargo Moving Task 13 is executed first, and then Cargo Moving Task 21 is executed.
[0099] Step 402: for each operation sequence, based on the operation sequence of multiple cargo moving tasks in the operation sequence, determine the individual operation time corresponding to each cargo moving task in the operation sequence.
[0100] Exemplarily, for a first cargo moving task among multiple cargo moving tasks, determine whether there is a second cargo moving task corresponding to the first cargo moving task based on the operation sequence; the second cargo moving task corresponds to the same shelf as the first cargo moving task, the second cargo moving task and the first cargo moving task correspond to different robots, and the second cargo moving task is the previous cargo moving task of the first cargo moving task. If yes, determine the single operation time corresponding to the first cargo moving task based on the execution time of the first cargo moving task. If not, determine the single operation time corresponding to the first cargo moving task based on the execution time of the first cargo moving task and the preparation time of the first cargo moving task.
[0101] For the convenience of description, operation sequence 3 (cargo moving task 11-cargo moving task 13 / cargo moving task 21-cargo moving task 12) is taken as an example for explanation, and the implementation methods of other operation sequences are similar.
[0102] For cargo moving task 11, since there is no second cargo moving task corresponding to cargo moving task 11, the execution time T of cargo moving task 11 can be used as the basis. do1 The preparation process of cargo moving task 11 takes time T mp1 Determine the unit operation time T1 corresponding to cargo moving task 11, for example, T1 = T mp1 +T do1 If the chassis movement time of cargo moving task 11 is longer than the execution mechanism preparation time of cargo moving task 11, then the preparation time of cargo moving task 11 is equal to the chassis movement time of cargo moving task 11. move1 If the chassis movement process time of cargo moving task 11 is not greater than the execution mechanism preparation process time of cargo moving task 11, then the execution mechanism preparation process time of cargo moving task 11 is the execution mechanism preparation process time of cargo moving task 11 T pre1 .
[0103] For cargo moving task 13, since there is no second cargo moving task corresponding to cargo moving task 13 (cargo moving task 13 and cargo moving task 11 correspond to different shelves and the same robot), the execution time of cargo moving task 13 can be calculated based on the execution time T do2 The preparation process of cargo moving task 13 takes time T mp2 Determine the single operation time T2 corresponding to the cargo moving task 13.
[0104] For cargo moving task 21, since there is a second cargo moving task corresponding to cargo moving task 21 (cargo moving task 21 and cargo moving task 11 correspond to the same shelf, cargo moving task 21 and cargo moving task 11 correspond to different robots, and cargo moving task 11 is the previous cargo moving task of cargo moving task 21), the execution time T of cargo moving task 21 can be used as the basis. do3 Determine the unit operation time T3 corresponding to the cargo moving task 21, for example, T3 = T do1 The single operation time T3 corresponding to the cargo moving task 21 does not include the preparation time T of the cargo moving task 21. mp3 .
[0105] For cargo moving task 12, since there is a second cargo moving task corresponding to cargo moving task 12 (cargo moving task 12 and cargo moving task 21 correspond to the same shelf, cargo moving task 12 and cargo moving task 21 correspond to different robots, and cargo moving task 21 is the previous cargo moving task of cargo moving task 12), the execution time T of cargo moving task 12 can be used as the basis. do4 Determine the single operation time T4 corresponding to the cargo moving task 12, for example, T4 = T do4 .
[0106] In the above process, the chassis movement process time is the time taken for the chassis movement process, and the chassis movement process may include the chassis movement process of the robot moving to the target shelf (i.e., the shelf corresponding to the cargo moving task). The actuator preparation process time is the time taken for the actuator preparation process. If the cargo moving task is used to move the target cargo from the robot to the target shelf, the actuator preparation process may include: moving the actuator to the height of the target cargo, taking out the target cargo through the actuator and moving it to the height of the target shelf. If the cargo moving task is used to move the target cargo from the target shelf to the robot, the actuator preparation process may include: moving the actuator to the height of the target shelf.
[0107] The execution process time is the time taken for the execution process of the actuator. If the cargo moving task is used to move the target cargo from the robot to the target shelf, the execution process of the actuator may include: moving the target cargo from the robot to the target shelf by the actuator, and retracting the actuator. If the cargo moving task is used to move the target cargo from the target shelf to the robot, the execution process of the actuator may include: moving the target cargo from the target shelf to the robot by the actuator, and retracting the actuator.
[0108] Step 403: For each operation sequence, determine the target operation time corresponding to the operation sequence based on the individual operation time corresponding to each cargo movement task in the operation sequence.
[0109] In a possible implementation, each cargo moving task may be traversed in sequence; for the currently traversed cargo moving task, if the cargo moving task is the first cargo moving task traversed, or the cargo moving task is not the first cargo moving task traversed, and the cargo moving task is in a serial order with all the traversed cargo moving tasks, then the individual operation time corresponding to the cargo moving task is accumulated in the overall operation time; if the cargo moving task is not the first cargo moving task traversed, and the cargo moving task is in a parallel order with any of the traversed cargo moving tasks, then it is prohibited to accumulate the individual operation time corresponding to the cargo moving task in the overall operation time; after all cargo moving tasks are traversed, the target operation time corresponding to the operation sequence may be determined based on the overall operation time.
[0110] For example, after traversing cargo moving task 11, cargo moving task 11 is the first cargo moving task traversed. Therefore, the individual operation time T1 corresponding to cargo moving task 11 is added to the overall operation time T. Since the initial value of the overall operation time T is 0, T=0+T1.
[0111] After traversing cargo moving task 13, cargo moving task 13 is in serial order with all traversed cargo moving tasks (cargo moving task 11). Therefore, the individual operation time T2 corresponding to cargo moving task 13 is added to the overall operation time T. Therefore, T=0+T1+T2.
[0112] After traversing the cargo moving task 21, the cargo moving task 21 is in parallel sequence with the traversed cargo moving task 13, that is, during the individual operation time T2 corresponding to the cargo moving task 13, the cargo moving task 21 is executed synchronously. Therefore, the individual operation time T3 corresponding to the cargo moving task 21 is not added to the overall operation time T, that is, the overall operation time T remains unchanged.
[0113] After traversing cargo moving task 12, cargo moving task 12 and all cargo moving tasks that have been traversed (cargo moving task 11, cargo moving task 13, cargo moving task 21) are in serial order, so the single operation time T4 corresponding to cargo moving task 12 is accumulated on the overall operation time T, so T = 0 + T1 + T2 + T4. At this point, the traversal of all cargo moving tasks is completed, and the final overall operation time T (i.e., T1 + T2 + T4) is obtained. Based on the overall operation time T, the target operation time corresponding to operation sequence 3 is determined. For example, the target operation time corresponding to operation sequence 3 can be T1 + T2 + T4.
[0114] Step 404: Based on the target operation time corresponding to each operation sequence, a operation sequence with the shortest target operation time is selected from multiple operation sequences as the target operation sequence, that is, the optimal operation sequence.
[0115] Exemplarily, after obtaining the target operation time corresponding to each operation sequence, the shortest target operation time can be selected from all target operation times, and the operation sequence corresponding to the shortest target operation time can be used as the target operation sequence, and the target operation sequence is the operation sequence with the shortest target operation time.
[0116] Step 405: Control multiple robots to perform multiple cargo moving tasks based on the target operation sequence.
[0117] Combination Figure 3 Step 405 is explained. It is assumed that the multiple cargo moving tasks include at least cargo moving task 1, cargo moving task 2 and cargo moving task 3. Cargo moving task 1, cargo moving task 2 and cargo moving task 3 correspond to the same shelf P2. Cargo moving task 1 and cargo moving task 2 correspond to robot 1, and cargo moving task 3 corresponds to robot 2. Cargo moving task 1 is used to place cargo 11 on robot 1 on shelf P2, cargo moving task 2 is used to place cargo 12 on robot 1 on shelf P2, and cargo moving task 3 is used to place cargo 21 on robot 2 on shelf P2. On this basis:
[0118] If the operation sequence of multiple cargo moving tasks is determined to be serial execution of cargo moving task 1, cargo moving task 3, and cargo moving task 2 based on the target operation sequence, the following alternating release method can be used:
[0119] First, during the execution of cargo moving task 1, cargo 11 on robot 1 is placed on shelf P2. For example, robot 1 is moved to the front of shelf P2. Based on steps 211 to 215, cargo 11 on robot 1 is placed on shelf P2, that is, cargo 11 is moved from robot 1 to shelf P2. During the execution of cargo moving task 1, the preparation process of cargo moving task 3 can be completed synchronously, that is, during the process of placing cargo 11 on shelf P2, steps 211 to 213 are executed for cargo 21.
[0120] Then, after the execution process of cargo moving task 1 is completed, robot 1 can be controlled to leave shelf P2 and perform the preparation process of cargo moving task 2, and robot 2 can be controlled to move to shelf P2 and perform the execution process of cargo moving task 3. During the execution process of cargo moving task 3, cargo 21 can be moved from robot 2 to shelf P2, and the preparation process of cargo moving task 2 can be completed synchronously.
[0121] For example, in the process of placing the goods 11 on the shelf P2, steps 211 to 213 have been executed for the goods 21. Thus, when the robot 2 is moved to the front of the shelf P2, the actuator preparation process has been completed, and steps 214 to 215 are directly executed to place the goods 21 on the robot 2 on the shelf P2. In the process of executing the goods moving task 3, the preparation process of the goods moving task 2 can be completed synchronously, that is, in the process of placing the goods 21 on the shelf P2, steps 211 to 213 are executed for the goods 12.
[0122] Then, after the execution process of cargo moving task 3 is completed, robot 2 can be controlled to leave shelf P2, and robot 1 can be controlled to move to shelf P2 and perform the execution process of cargo moving task 2. During the execution process of cargo moving task 2, cargo 12 can be moved from robot 1 to shelf P2. For example, in the process of placing cargo 21 on shelf P2, steps 211 to 213 have been executed for cargo 12. In this way, when robot 1 is moved to the front of shelf P2, the actuator preparation process has been completed, and steps 214 to 215 are directly executed to place cargo 12 on robot 1 on shelf P2.
[0123] It can be seen from the above technical solution that in the embodiments of the present application, multiple cargo movement tasks can be executed based on the operation sequence with the shortest target operation time, thereby reducing the overall operation time in the multi-robot scenario. By adjusting the order of picking up and releasing goods by multiple robots, the overall operation time can be shortened, the overall operation efficiency can be improved, and problems such as long continuous picking and releasing operations and robot congestion can be avoided.
[0124] Based on the same application concept as the above method, a cargo moving device is proposed in this embodiment, see Figure 5 As shown, it is a schematic diagram of the structure of the device. For multiple cargo moving tasks corresponding to multiple robots, the multiple cargo moving tasks correspond to at least one shelf. The device may include:
[0125] A generating module 51 is used to generate a plurality of operation sequences, each of which includes an operation sequence of the plurality of cargo moving tasks; the operation sequence of different cargo moving tasks corresponding to the same shelf is a serial sequence, the operation sequence of different cargo moving tasks corresponding to the same robot is a serial sequence, and the operation sequence of different cargo moving tasks corresponding to different shelves and different robots is a serial sequence or a parallel sequence;
[0126] A determination module 52 is used to determine, for each operation sequence, a single operation time corresponding to each cargo moving task based on the operation sequence of the multiple cargo moving tasks in the operation sequence; and determine a target operation time corresponding to the operation sequence based on the single operation times corresponding to the multiple cargo moving tasks;
[0127] A selection module 53, configured to select, based on the target operation time corresponding to each operation sequence, an operation sequence with the shortest target operation time from the multiple operation sequences as the target operation sequence;
[0128] The control module 54 is used to control the multiple robots to perform the multiple cargo moving tasks based on the operation sequence of the multiple cargo moving tasks corresponding to the target operation sequence.
[0129] Exemplarily, for the first cargo moving task among multiple cargo moving tasks, the determination module 52 determines the single operation time corresponding to the first cargo moving task based on the operation order of the multiple cargo moving tasks in the operation sequence, and is specifically used to: determine whether there is a second cargo moving task corresponding to the first cargo moving task based on the operation order of the multiple cargo moving tasks in the operation sequence; the second cargo moving task and the first cargo moving task correspond to the same shelf, the second cargo moving task and the first cargo moving task correspond to different robots, and the second cargo moving task is the previous cargo moving task of the first cargo moving task; if so, determine the single operation time corresponding to the first cargo moving task based on the execution process time of the first cargo moving task; if not, determine the single operation time corresponding to the first cargo moving task based on the execution process time of the first cargo moving task and the preparation process time of the first cargo moving task.
[0130] Exemplarily, the determination module 52 is also used to: if the chassis movement process time is greater than the actuator preparation process time, then determine the preparation process time of the first cargo movement task based on the chassis movement process time; or, if the chassis movement process time is not greater than the actuator preparation process time, then determine the preparation process time of the first cargo movement task based on the actuator preparation process time.
[0131] Exemplarily, the chassis movement process includes: a chassis movement process of the robot moving to a target shelf; if the first cargo moving task is used to move the target cargo from the robot to the target shelf, the actuator preparation process includes: moving the actuator to the height of the target cargo, taking out the target cargo and moving it to the height of the target shelf through the actuator; the execution process of the first cargo moving task includes: moving the target cargo from the robot to the target shelf through the actuator, and retracting the actuator; if the first cargo moving task is used to move the target cargo from the target shelf to the robot, the actuator preparation process includes: moving the actuator to the height of the target shelf; the execution process of the first cargo moving task includes: moving the target cargo from the target shelf to the robot through the actuator, and retracting the actuator.
[0132] Exemplarily, when the determination module 52 determines the target operation time corresponding to the operation sequence based on the individual operation times corresponding to the multiple cargo moving tasks, it is specifically used to: traverse each of the multiple cargo moving tasks in turn; for the currently traversed cargo moving task, if the cargo moving task is the first cargo moving task to be traversed, or, the cargo moving task is not the first cargo moving task to be traversed, and the cargo moving task is in a serial sequence with all the traversed cargo moving tasks, then the individual operation time corresponding to the cargo moving task is accumulated in the overall operation time; if the cargo moving task is not the first cargo moving task to be traversed, and the cargo moving task is in a parallel sequence with any of the traversed cargo moving tasks, it is prohibited to accumulate the individual operation time corresponding to the cargo moving task in the overall operation time; after all the cargo moving tasks in the multiple cargo moving tasks are traversed, determine the target operation time corresponding to the operation sequence based on the overall operation time.
[0133] Exemplarily, the control module 54 controls the multiple robots to perform the multiple cargo moving tasks based on the operation sequence of the multiple cargo moving tasks corresponding to the target operation sequence, and is specifically used for: when determining to execute each of the multiple cargo moving tasks based on the target operation sequence, if the cargo moving task is used to move the target cargo from the robot to the target shelf, the actuator is moved to the height of the target cargo, and the target cargo is taken out and moved to the height of the target shelf by the actuator; the target cargo is moved from the robot to the target shelf by the actuator, and the actuator is retracted; if the cargo moving task is used to move the target cargo from the target shelf to the robot, the actuator is moved to the height of the target shelf; the target cargo is moved from the target shelf to the robot by the actuator, and the actuator is retracted.
[0134] Exemplarily, if the plurality of cargo moving tasks include a third cargo moving task, a fourth cargo moving task and a fifth cargo moving task corresponding to the same target shelf, the third cargo moving task and the fourth cargo moving task correspond to the first robot, and the fifth cargo moving task corresponds to the second robot; the control module 54 controls the plurality of robots to execute the plurality of cargo moving tasks based on the operation sequence of the plurality of cargo moving tasks corresponding to the target operation sequence, and is specifically used for: if the operation sequence of the plurality of cargo moving tasks is determined to be the serial execution of the third cargo moving task, the fifth cargo moving task and the fourth cargo moving task based on the target operation sequence, then: during the execution of the third cargo moving task, the cargo is moved from the first robot to the fifth robot; The robot moves to the target shelf and synchronously completes the preparation process of the fifth cargo moving task; after the execution process of the third cargo moving task is completed, the first robot is controlled to leave the target shelf and perform the preparation process of the fourth cargo moving task, and the second robot is controlled to move to the target shelf and perform the execution process of the fifth cargo moving task; during the execution process of the fifth cargo moving task, the goods are moved from the second robot to the target shelf, and the preparation process of the fourth cargo moving task is synchronously completed; after the execution process of the fifth cargo moving task is completed, the second robot is controlled to leave the target shelf, the first robot is controlled to move to the target shelf and perform the execution process of the fourth cargo moving task, and the goods are moved from the first robot to the target shelf.
[0135] Based on the same application concept as the above method, a cargo moving device is proposed in this embodiment. If a plurality of cargo moving tasks include a first cargo moving task and a second cargo moving task corresponding to the same target shelf, the first cargo moving task corresponds to a first robot, and the second cargo moving task corresponds to a second robot, the device includes:
[0136] a processing module, configured to move goods between the first robot and the target shelf during the execution of the first goods moving task, and simultaneously complete the preparation process of the second goods moving task;
[0137] a control module, configured to control the first robot to leave the target shelf and control the second robot to move to the target shelf after the execution process of the first cargo moving task is completed;
[0138] The processing module is further used to perform the execution process of the second cargo moving task after the second robot moves to the target shelf, and move the cargo between the second robot and the target shelf.
[0139] Exemplarily, if the multiple cargo moving tasks include a third cargo moving task corresponding to the target shelf, and the third cargo moving task corresponds to the first robot, the processing module is further used to synchronously complete the preparation process of the third cargo moving task during the execution of the second cargo moving task after controlling the first robot to leave the target shelf; the control module is further used to control the second robot to leave the target shelf and control the first robot to move to the target shelf after the execution of the second cargo moving task is completed; the processing module is further used to perform the execution process of the third cargo moving task after the first robot moves to the target shelf, and move goods between the first robot and the target shelf.
[0140] Exemplarily, when the processing module synchronously completes the preparation process of the second cargo moving task, it is specifically used to: move the actuator of the second robot to the height of the cargo; take out the cargo on the second robot through the actuator; move the cargo to the height of the target shelf through the actuator; when the processing module performs the execution process of the second cargo moving task, it is specifically used to: move the cargo from the second robot to the target shelf through the actuator, and retract the actuator.
[0141] Based on the same application concept as the above method, an electronic device is proposed in the embodiment of the present application, see Figure 6 As shown, the electronic device includes: a processor 61 and a machine-readable storage medium 62, the machine-readable storage medium 62 stores machine-executable instructions that can be executed by the processor 61; the processor 61 is used to execute the machine-executable instructions to implement the cargo moving method disclosed in the above example of this application.
[0142] Based on the same application concept as the above method, an embodiment of the present application also provides a machine-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed by a processor, the cargo movement method disclosed in the above example of the present application can be implemented.
[0143] The above-mentioned machine-readable storage medium may be any electronic, magnetic, optical or other physical storage device, which may contain or store information, such as executable instructions, data, etc. For example, the machine-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as CD, DVD, etc.), or similar storage medium, or a combination thereof.
[0144] The systems, devices, modules or units described in the above embodiments may be implemented by a computer entity or by a product having a certain function. A typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver device, a game console, a tablet computer, a wearable device or a combination of any of these devices.
[0145] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0146] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0147] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0148] Moreover, these computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0149] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0150] The above is only an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
Claims
1. A cargo moving method, characterized in that: If the plurality of cargo moving tasks include a first cargo moving task and a second cargo moving task corresponding to the same target shelf, the first cargo moving task corresponds to a first robot, and the second cargo moving task corresponds to a second robot, the method includes: During the execution of the first cargo moving task, the cargo is moved between the first robot and the target shelf, and the preparation process for the second cargo moving task is synchronously completed; wherein the synchronous completion of the preparation process for the second cargo moving task includes: moving the actuator of the second robot to the height of the cargo; taking out the cargo from the second robot by the actuator; and moving the cargo to the height of the target shelf by the actuator; After the execution process of the first cargo moving task is completed, controlling the first robot to leave the target shelf, and controlling the second robot to move to the target shelf; After the second robot moves to the target shelf, the second cargo moving task is executed, and cargo is moved between the second robot and the target shelf.
2. The method according to claim 1, characterized in that If the plurality of cargo moving tasks include a third cargo moving task corresponding to the target shelf, and the third cargo moving task corresponds to the first robot, the method further includes: After controlling the first robot to leave the target shelf, during the execution of the second cargo moving task, synchronously completing the preparation process of the third cargo moving task; After the execution process of the second cargo moving task is completed, controlling the second robot to leave the target shelf, and controlling the first robot to move to the target shelf; After the first robot moves to the target shelf, the third cargo moving task is executed to move cargo between the first robot and the target shelf.
3. The method according to claim 1, characterized in that The execution process of the second cargo moving task includes: moving the cargo from the second robot to the target shelf by the actuator, and retracting the actuator.
4. A cargo moving method, characterized in that: For a plurality of cargo moving tasks corresponding to a plurality of robots, the plurality of cargo moving tasks corresponding to at least one shelf, the method includes: Generate multiple operation sequences, each of which includes the operation sequence of the multiple cargo moving tasks; wherein the operation sequence of different cargo moving tasks corresponding to the same shelf is a serial sequence, the operation sequence of different cargo moving tasks corresponding to the same robot is a serial sequence, and the operation sequence of different cargo moving tasks corresponding to different shelves and different robots is a serial sequence or a parallel sequence; wherein the serial sequence indicates that different cargo moving tasks have a sequence, and the parallel sequence indicates that different cargo moving tasks are executed simultaneously and have no sequence; For each operation sequence, based on the operation sequence of the multiple cargo moving tasks in the operation sequence, determine the individual operation time corresponding to each cargo moving task; based on the individual operation times corresponding to the multiple cargo moving tasks, determine the target operation time corresponding to the operation sequence; Based on the target operation time corresponding to each operation sequence, selecting an operation sequence with the shortest target operation time from the multiple operation sequences as the target operation sequence; The plurality of robots are controlled to perform the plurality of cargo moving tasks based on the target operation sequence.
5. The method according to claim 4, characterized in that For a first cargo moving task among the multiple cargo moving tasks, determining a single operation time corresponding to the first cargo moving task based on the operation sequence of the multiple cargo moving tasks in the operation sequence includes: Based on the operation sequence of the plurality of cargo moving tasks in the operation sequence, determining whether there is a second cargo moving task corresponding to the first cargo moving task; wherein the second cargo moving task and the first cargo moving task correspond to the same shelf, the second cargo moving task and the first cargo moving task correspond to different robots, and the second cargo moving task is a previous cargo moving task of the first cargo moving task; If so, the individual operation time corresponding to the first cargo moving task is determined based on the execution time of the first cargo moving task; if not, the individual operation time corresponding to the first cargo moving task is determined based on the execution time of the first cargo moving task and the preparation time of the first cargo moving task.
6. The method according to claim 5, characterized in that Before determining the single operation time corresponding to the first cargo moving task based on the execution time of the first cargo moving task and the preparation time of the first cargo moving task, the method further includes: If the chassis movement process time is greater than the actuator preparation process time, then determining the preparation process time of the first cargo moving task based on the chassis movement process time; or, If the chassis movement process time is not greater than the actuator preparation process time, the preparation process time of the first cargo movement task is determined based on the actuator preparation process time.
7. The method according to claim 4, characterized in that The determining the target operation time corresponding to the operation sequence based on the individual operation times corresponding to the multiple cargo moving tasks includes: Traversing each cargo moving task in the plurality of cargo moving tasks in sequence; For the currently traversed cargo moving task, if the cargo moving task is the first cargo moving task traversed, or the cargo moving task is not the first cargo moving task traversed, and the cargo moving task is in a serial order with all the traversed cargo moving tasks, then the individual operation time corresponding to the cargo moving task is accumulated in the overall operation time; if the cargo moving task is not the first cargo moving task traversed, and the cargo moving task is in a parallel order with any of the traversed cargo moving tasks, then it is prohibited to accumulate the individual operation time corresponding to the cargo moving task in the overall operation time; After all cargo moving tasks among the plurality of cargo moving tasks are traversed and completed, a target operation time corresponding to the operation sequence is determined based on the overall operation time.
8. The method according to claim 4, characterized in that If the multiple cargo moving tasks include a third cargo moving task, a fourth cargo moving task, and a fifth cargo moving task corresponding to the same target shelf, the third cargo moving task and the fourth cargo moving task correspond to the first robot, and the fifth cargo moving task corresponds to the second robot; the controlling the multiple robots to perform the multiple cargo moving tasks based on the target operation sequence includes: If the operation order of the plurality of cargo moving tasks is determined based on the target operation order to be the serial execution of the third cargo moving task, the fifth cargo moving task and the fourth cargo moving task, then: During the execution of the third cargo moving task, the cargo is moved from the first robot to the target shelf, and the preparation process of the fifth cargo moving task is synchronously completed; after the execution of the third cargo moving task is completed, the first robot is controlled to leave the target shelf and the preparation process of the fourth cargo moving task is performed, and the second robot is controlled to move to the target shelf and the execution process of the fifth cargo moving task is performed; During the execution of the fifth cargo moving task, the cargo is moved from the second robot to the target shelf, and the preparation process of the fourth cargo moving task is completed synchronously; after the execution of the fifth cargo moving task is completed, the second robot is controlled to leave the target shelf, the first robot is controlled to move to the target shelf and the execution process of the fourth cargo moving task is performed to move the cargo from the first robot to the target shelf.
9. A cargo moving device, characterized in that: If the plurality of cargo moving tasks include a first cargo moving task and a second cargo moving task corresponding to the same target shelf, the first cargo moving task corresponds to a first robot, and the second cargo moving task corresponds to a second robot, the device includes: a processing module, configured to move the goods between the first robot and the target shelf during the execution of the first goods moving task, and synchronously complete the preparation process of the second goods moving task; wherein, when the processing module synchronously completes the preparation process of the second goods moving task, it is specifically configured to: move the actuator of the second robot to the height of the goods; take out the goods on the second robot by the actuator; and move the goods to the height of the target shelf by the actuator; a control module, configured to control the first robot to leave the target shelf and control the second robot to move to the target shelf after the execution process of the first cargo moving task is completed; The processing module is further used to perform the execution process of the second cargo moving task after the second robot moves to the target shelf, and move the cargo between the second robot and the target shelf.
10. The device according to claim 9, characterized in that in, If the multiple cargo moving tasks include a third cargo moving task corresponding to the target shelf, and the third cargo moving task corresponds to the first robot, the processing module is further used to synchronously complete the preparation process of the third cargo moving task during the execution of the second cargo moving task after controlling the first robot to leave the target shelf; the control module is further used to control the second robot to leave the target shelf and control the first robot to move to the target shelf after the execution of the second cargo moving task is completed; the processing module is further used to perform the execution process of the third cargo moving task after the first robot moves to the target shelf, and move cargo between the first robot and the target shelf; When the processing module performs the execution process of the second cargo moving task, it is specifically used to: move the cargo from the second robot to the target shelf through the actuator, and retract the actuator.
11. A cargo moving device, characterized in that: For a plurality of cargo moving tasks corresponding to a plurality of robots, the plurality of cargo moving tasks corresponding to at least one shelf, the device comprises: A generation module is used to generate multiple operation sequences, each operation sequence includes the operation sequence of the multiple cargo moving tasks; wherein the operation sequence of different cargo moving tasks corresponding to the same shelf is a serial sequence, the operation sequence of different cargo moving tasks corresponding to the same robot is a serial sequence, and the operation sequence of different cargo moving tasks corresponding to different shelves and different robots is a serial sequence or a parallel sequence; wherein the serial sequence indicates that different cargo moving tasks have a sequence, and the parallel sequence indicates that different cargo moving tasks are executed simultaneously and different cargo moving tasks do not have a sequence; A determination module is used to determine, for each operation sequence, a single operation time corresponding to each cargo moving task based on the operation sequence of the multiple cargo moving tasks in the operation sequence; and determine a target operation time corresponding to the operation sequence based on the single operation times corresponding to the multiple cargo moving tasks; A selection module, configured to select, based on the target operation time corresponding to each operation sequence, an operation sequence with the shortest target operation time from the multiple operation sequences as the target operation sequence; A control module is used to control the multiple robots to perform the multiple cargo moving tasks based on the operation sequence of the multiple cargo moving tasks corresponding to the target operation sequence.
12. The device according to claim 11, characterized in that in, For a first cargo moving task among multiple cargo moving tasks, the determination module determines the single operation time corresponding to the first cargo moving task based on the operation sequence of the multiple cargo moving tasks in the operation sequence, and is specifically used to: determine whether there is a second cargo moving task corresponding to the first cargo moving task based on the operation sequence of the multiple cargo moving tasks in the operation sequence; the second cargo moving task and the first cargo moving task correspond to the same shelf, the second cargo moving task and the first cargo moving task correspond to different robots, and the second cargo moving task is the previous cargo moving task of the first cargo moving task; if so, determine the single operation time corresponding to the first cargo moving task based on the execution process time of the first cargo moving task; if not, determine the single operation time corresponding to the first cargo moving task based on the execution process time of the first cargo moving task and the preparation process time of the first cargo moving task; The determination module is further configured to: if the chassis movement process time is greater than the actuator preparation process time, determine the preparation process time of the first cargo moving task based on the chassis movement process time; or, if the chassis movement process time is not greater than the actuator preparation process time, determine the preparation process time of the first cargo moving task based on the actuator preparation process time; Wherein, when the determination module determines the target operation time corresponding to the operation sequence based on the individual operation times corresponding to the multiple cargo moving tasks, it is specifically used to: traverse each cargo moving task in the multiple cargo moving tasks in sequence; for the currently traversed cargo moving task, if the cargo moving task is the first cargo moving task traversed, or the cargo moving task is not the first cargo moving task traversed, and the cargo moving task and all the traversed cargo moving tasks are in a serial order, then the individual operation time corresponding to the cargo moving task is accumulated in the overall operation time; if the cargo moving task is not the first cargo moving task traversed, and the cargo moving task and any traversed cargo moving task are in a parallel order, it is prohibited to accumulate the individual operation time corresponding to the cargo moving task in the overall operation time; after all the cargo moving tasks in the multiple cargo moving tasks are traversed, determine the target operation time corresponding to the operation sequence based on the overall operation time; Among them, if the multiple cargo moving tasks include a third cargo moving task, a fourth cargo moving task and a fifth cargo moving task corresponding to the same target shelf, the third cargo moving task and the fourth cargo moving task correspond to the first robot, and the fifth cargo moving task corresponds to the second robot; the control module controls the multiple robots to execute the multiple cargo moving tasks based on the operation sequence of the multiple cargo moving tasks corresponding to the target operation sequence, and is specifically used for: if the operation sequence of the multiple cargo moving tasks is determined to be the serial execution of the third cargo moving task, the fifth cargo moving task and the fourth cargo moving task based on the target operation sequence, then: during the execution of the third cargo moving task, the cargo is moved from the first robot to the fifth robot; The person moves to the target shelf and synchronously completes the preparation process of the fifth cargo moving task; after the execution process of the third cargo moving task is completed, the first robot is controlled to leave the target shelf and the preparation process of the fourth cargo moving task is carried out, and the second robot is controlled to move to the target shelf and the execution process of the fifth cargo moving task is carried out; during the execution process of the fifth cargo moving task, the goods are moved from the second robot to the target shelf and the preparation process of the fourth cargo moving task is synchronously completed; after the execution process of the fifth cargo moving task is completed, the second robot is controlled to leave the target shelf, the first robot is controlled to move to the target shelf and the execution process of the fourth cargo moving task is carried out, and the goods are moved from the first robot to the target shelf.
13. An electronic device, characterized in that: The method comprises a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable instructions to implement the method described in any one of claims 1 to 3; or, the processor is used to execute the machine-executable instructions to implement the method described in any one of claims 4 to 8.
Citation Information
Patent Citations
Goods carrying method and equipment and storage medium
CN113003086A
Intelligent warehousing system
CN210504192U