Method and device for dispatching robots
By determining the correlation between warehousing tasks and scheduling robots to perform tasks based on task status, the problem of lack of continuity in warehousing work is solved, and more efficient scheduling and work efficiency is achieved.
Patent Information
- Application Number
- CN201910954590.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-10-09
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2039-10-09
AI Technical Summary
The prior art ignores the relationship between warehousing work, resulting in a lack of continuity in warehousing work of robots and confusing scheduling, increasing the idle time of the robot on the way and reducing work efficiency.
By obtaining unassigned tasks and determining the association between tasks, the robot obtains its task status when it completes the current task. If the task status is pre-occupied, the next task is scheduled. If it is idle, the next task is assigned to the robot based on the association.
The scheduling order is optimized, the continuity of the robot's warehousing work is ensured, the work efficiency of the robot is improved, and the work efficiency in the warehousing is improved.
Smart Images

Figure CN112631268B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a method and device for scheduling robots. Background Art
[0002] With the rapid development of artificial intelligence, unmanned warehousing technology is becoming increasingly popular. In unmanned warehousing technology, robots such as automated guided vehicles (AGVs), track-guided vehicles (RGVs) or unmanned forklifts are often used to participate in warehousing work, and the robots are made to work automatically through a scheduling system, and the scheduling of robots is extremely complex.
[0003] At present, the warehousing work in which robots participate mainly includes packing, handling and unloading, and these warehousing tasks are related. For example, goods often need to be transported between workstations. After the robot transports the goods to a workstation, it will transport the goods from the workstation to other workstations.
[0004] The existing scheduling system mainly schedules robots based on regional planning. Any robot can be dispatched for a warehousing task, that is, after completing a warehousing task, the robot may be assigned other unrelated warehousing tasks. For example, when a workstation receives goods delivered by a robot, there are other goods that need to be transported, then these two transports may be completed by two robots.
[0005] In the process of implementing the present invention, the inventors found that there are at least the following problems in the prior art:
[0006] The existing technology ignores the connection between warehousing tasks. The robot's warehousing work lacks continuity, resulting in scheduling chaos, increasing the robot's idle time on the way, and reducing work efficiency. Summary of the invention
[0007] In view of this, an embodiment of the present invention provides a method and device for scheduling robots, which can optimize the scheduling order and ensure the continuity of the robot's warehousing work, thereby improving the robot's work efficiency and further improving the work efficiency in the warehouse.
[0008] To achieve the above objective, according to one aspect of an embodiment of the present invention, a method for scheduling a robot is provided.
[0009] A method for scheduling a robot according to an embodiment of the present invention includes: obtaining unassigned tasks, and determining associations between the unassigned tasks;
[0010] When the robot completes the current task, obtaining the task status of the robot; wherein the task status is determined based on the current task;
[0011] If the robot's task status is pre-occupied, the robot is scheduled to perform the next task;
[0012] If the task status of the robot is idle, the next task is assigned to the robot based on the association between the unassigned tasks.
[0013] Optionally, the next task includes a parking task, a packing task, a handling task or an unloading task; and the method further includes: if the robot performs the parking task, updating the robot's task status to idle; if the robot performs the packing task, sending an arrival prompt instruction to the robot when the robot arrives at the packing point, and updating the robot's task status to pre-occupied when the packing is completed; if the robot performs the handling task, sending an arrival prompt instruction to the robot when the robot arrives at the destination point, and updating the robot's task status to pre-occupied when the handling is completed; if the robot performs the unloading task, sending an arrival prompt instruction to the robot when the robot arrives at the unloading point, and updating the robot's task status to idle or pre-occupied when the unloading is completed.
[0014] Optionally, the next task also includes a charging task; and the method also includes: obtaining the remaining power of the robot at a preset frequency; when the remaining power is less than or equal to a preset value, assigning the charging task to the robot, sending a charging point identifier to the robot, and updating the robot's task status to charging; and when the robot completes charging, updating the robot's task status to idle or occupied.
[0015] Optionally, the next task also includes a cache removal task, and the method further includes: when the robot cannot enter the lane, allocating the cache removal task to the robot and updating the robot's task status to pre-occupied.
[0016] Optionally, the method further includes: performing traffic management before the robot performs the next task; wherein the traffic management includes releasing occupied lanes, releasing occupied parking spaces, releasing occupied cache spaces, releasing occupied unloading points, allocating parking spaces or allocating cache spaces.
[0017] To achieve the above objective, according to another aspect of an embodiment of the present invention, a device for scheduling a robot is provided.
[0018] A device for scheduling a robot according to an embodiment of the present invention includes: an association module, used to obtain unassigned tasks and determine the association between the unassigned tasks; an acquisition module, used to obtain the task status of the robot when the robot completes the current task; wherein the task status is determined based on the current task; a scheduling module, used to schedule the robot to perform the next task when the task status of the robot is pre-occupied; and an allocation module, used to allocate the next task to the robot based on the association between the unassigned tasks when the task status of the robot is idle.
[0019] Optionally, the next task includes a parking task, a packing task, a handling task or an unloading task; and the device also includes a first update module, which is used to: when the robot performs the parking task, update the robot's task status to idle; when the robot performs the packing task, send an arrival prompt instruction to the robot when the robot arrives at the packing point, and update the robot's task status to pre-occupied when the packing is completed; when the robot performs the handling task, send an arrival prompt instruction to the robot when the robot arrives at the destination point, and update the robot's task status to pre-occupied when the handling is completed; when the robot performs the unloading task, send an arrival prompt instruction to the robot when the robot arrives at the unloading point, and update the robot's task status to idle or pre-occupied when the unloading is completed.
[0020] Optionally, the next task also includes a charging task; and the device also includes a second update module, which is used to: obtain the remaining power of the robot at a preset frequency; when the remaining power is less than or equal to a preset value, assign the charging task to the robot, and send a charging point identifier to the robot, and update the robot's task status to charging; and when the robot completes charging, update the robot's task status to idle or occupied.
[0021] Optionally, the next task also includes a cache removal task, and the device also includes a third updating module, which is used to: when the robot cannot enter the lane, assign the cache removal task to the robot and update the robot's task status to pre-occupied.
[0022] Optionally, the device also includes a request module for: performing traffic management before the robot performs the next task; wherein the traffic management includes releasing occupied lanes, releasing occupied parking spaces, releasing occupied cache spaces, releasing occupied unloading points, allocating parking spaces or allocating cache spaces.
[0023] To achieve the above objective, according to another aspect of an embodiment of the present invention, an electronic device for dispatching a robot is provided.
[0024] An electronic device for dispatching a robot according to an embodiment of the present invention comprises: one or more processors; a storage device for storing one or more programs, and when the one or more programs are executed by the one or more processors, the one or more processors implement a method for dispatching a robot according to an embodiment of the present invention.
[0025] To achieve the above objective, according to another aspect of an embodiment of the present invention, a computer-readable storage medium is provided.
[0026] A computer-readable storage medium according to an embodiment of the present invention stores a computer program, which, when executed by a processor, implements a method for scheduling a robot according to an embodiment of the present invention.
[0027] An embodiment of the above invention has the following advantages or beneficial effects: because it adopts the method of obtaining unassigned tasks and determining the association between unassigned tasks; when the robot completes the current task, the task status of the robot is obtained; if the task status of the robot is pre-occupied, the robot is scheduled to perform the next task; if the task status of the robot is idle, the next task is assigned to the robot based on the association between the unassigned tasks. By setting the task status of the robot, the same robot can continuously execute multiple tasks with association, thereby overcoming the technical problems of lack of continuity in the robot's warehousing work, increasing the robot's idle time on the way, and reducing low work efficiency, thereby optimizing the scheduling order, ensuring the continuity of the robot's warehousing work, improving the robot's work efficiency, and improving the work efficiency in the warehouse.
[0028] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0030] Figure 1 is a schematic diagram of the main steps of a method for scheduling a robot according to an embodiment of the present invention;
[0031] Figure 2 is a schematic diagram of the main process of a method for dispatching a robot according to a reference embodiment of the present invention;
[0032] Figure 3 It is a flowchart of a parking task of a method for dispatching a robot according to a reference embodiment of the present invention.
[0033] Figure 4 It is a flowchart of a packing task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0034] Figure 5 It is a flowchart of a handling task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0035] Figure 6 It is a flowchart of an unloading task of a method for dispatching a robot according to a reference embodiment of the present invention.
[0036] Figure 7 It is a flowchart of a charging task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0037] Figure 8It is a flowchart of a de-caching task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0038] Fig. 9 is a schematic diagram of main modules of an apparatus for dispatching robots according to an embodiment of the present invention;
[0039] Fig.10 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;
[0040] Fig.11 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION
[0041] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0042] It should be pointed out that the embodiments of the present invention and the technical features therein may be combined with each other without conflict.
[0043] Figure 1 Schematic diagram of main steps of a method for scheduling a robot according to an embodiment of the present invention.
[0044] like Figure 1 As shown, the method for scheduling a robot according to an embodiment of the present invention mainly includes the following steps:
[0045] Step S101: Obtain unassigned tasks and determine the associations between the unassigned tasks.
[0046] Due to the large workload of warehousing, the scheduling system can continuously schedule a robot to perform multiple related tasks, that is, when a robot is performing the current task, there may be other tasks waiting for it to perform. Therefore, the scheduling system can determine the relationship between unassigned tasks before assigning tasks, where unassigned tasks can be packing tasks, handling tasks or unloading tasks.
[0047] Step S102: When the robot completes the current task, the task status of the robot is obtained.
[0048] To avoid a robot that is responsible for multiple related tasks and is scheduled to perform other tasks after completing the current task, the scheduling system adds a task status to each robot. The task status can be determined based on the current task, so that the same robot can continuously perform multiple related tasks.
[0049] In the embodiment of the present invention, if the task status of the robot is occupied, step S103 is executed, and if the task status of the robot is idle, step S104 is executed.
[0050] Step S103: dispatching the robot to perform the next task.
[0051] If the robot's task status is pre-occupied, it means that the robot may have a task related to the current task (i.e., the next task) waiting for its execution. At this time, the scheduling system can directly schedule the robot to execute the task related to the current task, i.e., execute the next task.
[0052] Step S104: assigning the next task to the robot based on the association between the unassigned tasks.
[0053] If the robot's task status is idle, it means that the robot has completed all the tasks assigned to it and may be idle for a period of time. At this time, the scheduling system can assign a new task to it, that is, assign the next task.
[0054] In an embodiment of the present invention, the next task may include a parking task, a packing task, a handling task, an unloading task, a cache removal task, or a charging task. Specifically, if the robot has no tasks to perform, the scheduling system may assign a parking task to the robot; if there are many tasks, the scheduling system may schedule the robot to perform packing tasks, handling tasks, or charging tasks after the robot completes all tasks; if the robot has other related tasks such as packing tasks, handling tasks, or unloading tasks to perform after completing the current task, the scheduling system may schedule the robot to perform related tasks such as packing tasks, handling tasks, or unloading tasks; if the robot encounters lane congestion, the scheduling system may schedule the robot to perform a cache removal task, wherein the cache is a temporary parking space provided for the robot; if the robot needs to be charged after completing the current task, the scheduling system may schedule the robot to perform a charging task.
[0055] In an embodiment of the present invention, the method for scheduling a robot may further include: if the robot performs a parking task, updating the robot's task status to idle; if the robot performs a packing task, sending an arrival prompt instruction to the robot when the robot arrives at the packing point, and updating the robot's task status to pre-occupied when the packing is completed; if the robot performs a handling task, sending an arrival prompt instruction to the robot when the robot arrives at the destination point, and updating the robot's task status to pre-occupied when the handling is completed; if the robot performs an unloading task, sending an arrival prompt instruction to the robot when the robot arrives at the unloading point, and updating the robot's task status to idle or pre-occupied when the unloading is completed.
[0056] During the process of the robot performing a task, if manual operation is required after arriving at a workstation such as a packing point, destination point or unloading point, the scheduling system can send an arrival prompt instruction to the robot. After receiving the arrival prompt instruction, the robot can emit a prompt sound or light up a light to remind the operator to perform subsequent operations.
[0057] In an embodiment of the present invention, the method for scheduling a robot may further include: obtaining the remaining power of the robot at a preset frequency; when the remaining power is less than or equal to a preset value, assigning a charging task to the robot, sending a charging point identifier to the robot, and updating the robot's task status to charging; and when the robot completes charging, updating the robot's task status to idle or occupied.
[0058] In order to ensure the normal operation of the robot and the normal operation of the warehousing work, the scheduling system can obtain the remaining power of the robot at a preset frequency, so as to timely assign the charging task when the robot needs to be charged. If the remaining power of the robot is less than or equal to the preset value during the execution of the task, if the current task can be completed, the charging task will be performed after the current task is completed. If the current task cannot be completed, the charging task will be performed first and then the current task will be completed. In addition, since the charging piles are close to each other and there may be a certain degree of error in the walking accuracy of the robot, the charging point identification can be used to assist the robot to accurately find the charging position where it is docked. Therefore, when assigning the charging task, the scheduling system sends the charging point identification to the robot. The charging point identification can be a QR code identification used for positioning, etc.
[0059] In the method for scheduling robots in the embodiment of the present invention, the preset frequency and preset value can be determined based on actual needs, for example, the remaining power of the robot is obtained every ten minutes; the preset value is set to a higher value to prevent the robot from losing power during the execution of a task. In addition, if there are many tasks, the scheduling system can also temporarily schedule a robot that is charging to perform a task.
[0060] It should be noted that the robot is not limited to devices that use electrical energy to obtain power, but can also be devices that use fuel to obtain power, etc. The remaining power can indicate the available power of the battery or the remaining fuel, and charging can indicate that the robot is being charged or refueled.
[0061] In an embodiment of the present invention, the method for scheduling a robot may further include: when the robot cannot enter the lane, allocating a cache position task to the robot, and updating the robot's task state to pre-occupied.
[0062] If the robot encounters lane congestion while performing a task, the dispatch system can dispatch the robot to a temporary parking space and continue the task after the lane is clear.
[0063] In an embodiment of the present invention, the method for dispatching a robot may further include: performing traffic management before the robot performs a next task.
[0064] Before the robot performs the next task, the dispatch system will plan which lane and location the robot should go to, and perform traffic management based on these plans. Traffic management can be to release occupied lanes, parking spaces, cache spaces or unloading points, or to allocate parking spaces or cache spaces for the robot.
[0065] It can be seen from the method for scheduling robots according to an embodiment of the present invention that the unassigned tasks are obtained and the associations between the unassigned tasks are determined; when the robot completes the current task, the task status of the robot is obtained; if the task status of the robot is pre-occupied, the robot is scheduled to perform the next task; if the task status of the robot is idle, the next task is assigned to the robot based on the associations between the unassigned tasks. By setting the task status of the robot, the same robot can continuously perform multiple tasks with associations. Therefore, the technical problems of lack of continuity in the robot's warehousing work, increased idle time of the robot on the way, and low work efficiency are overcome, thereby optimizing the scheduling order, ensuring the continuity of the robot's warehousing work, improving the robot's work efficiency, and improving the technical effect of improving work efficiency in the warehouse.
[0066] Figure 2 It is a schematic diagram of the main process of a method for dispatching a robot according to a reference embodiment of the present invention.
[0067] like Figure 2 As shown, the method for dispatching a robot according to the embodiment of the present invention can be implemented with reference to the following process:
[0068] Step S201: the scheduling system determines the association between unassigned tasks;
[0069] The scheduling system can obtain unassigned tasks from each workstation in the warehouse and determine the relationship between the unassigned tasks.
[0070] Step S202: The scheduling system obtains the task status of the robot and determines whether the robot has completed all tasks. If so, step S203 is executed; if not, step S204 is executed;
[0071] When the robot completes the current task, it can be determined whether the robot has completed all tasks based on the robot's task status (i.e., occupied, idle, or charging). If the robot's task status is occupied, it means that it has not completed all tasks. If the robot's task status is idle, it means that it has completed all tasks. If the robot's task status is charging, it means that both possibilities exist. After the robot completes charging, it can be determined whether it has completed all tasks.
[0072] Step S203: The scheduling system assigns the next task to the robot;
[0073] If the robot has completed all tasks, the scheduling system can assign it a new task, that is, assign it the next task, which may include a parking task, a packing task, a handling task, an unloading task, a cache removal task, and a charging task.
[0074] Step S204: the scheduling system schedules the robot to perform the next task;
[0075] If the robot has not completed all tasks, it means that the robot may have tasks (i.e., the next task) waiting for it to execute, and the task may be related to the current task. At this time, the scheduling system can schedule the robot to execute the next task by issuing a walk instruction to the robot.
[0076] Figure 3 It is a flowchart of a parking task of a method for dispatching a robot according to a reference embodiment of the present invention.
[0077] like Figure 3 As shown, when a parking task is assigned to a robot, the process of the parking task can refer to the following implementation method:
[0078] Step S301: The scheduling system allocates a parking space for the robot;
[0079] Step S302: The scheduling system updates the robot's task status to idle.
[0080] Figure 4 It is a flowchart of a packing task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0081] like Figure 4As shown, when a packing task is assigned to a robot, the process of the packing task can refer to the following implementation method:
[0082] Step S401: When the robot arrives at the packing point, it sends an arrival message to the scheduling system;
[0083] Step S402: the dispatching system notifies the workstation where the packing point is located;
[0084] Step S403: The dispatching system sends an arrival prompt instruction to the robot;
[0085] Step S404: when the workstation completes the packing, it sends a packing completion message to the scheduling system;
[0086] Step S405: The scheduling system updates the robot's task status to pre-occupied.
[0087] It should be noted that in actual applications, after the robot completes the packing task, it can perform a handling task or a packing task again without the need for charging.
[0088] Figure 5 It is a flowchart of a handling task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0089] like Figure 5 As shown, when a handling task is assigned to a robot, the process of the handling task can refer to the following implementation method:
[0090] Step S501: When the robot reaches the destination, it sends an arrival message to the scheduling system;
[0091] Step S502: The dispatching system notifies the workstation where the destination point is located;
[0092] Step S503: The dispatching system sends an arrival prompt instruction to the robot;
[0093] Step S504: The scheduling system updates the robot's task status to pre-occupied.
[0094] It should be noted that in actual applications, after completing the handling task, the robot can perform unloading tasks or packing tasks, perform handling tasks again, and so on without the need for charging.
[0095] Figure 6 It is a flowchart of an unloading task of a method for dispatching a robot according to a reference embodiment of the present invention.
[0096] like Figure 6 As shown, when the robot is assigned an unloading task, the process of the unloading task can refer to the following implementation method:
[0097] Step S601: When the robot arrives at the unloading point, it sends an arrival message to the scheduling system;
[0098] Step S602: the dispatching system releases the occupied unloading point;
[0099] Step S603: The dispatching system notifies the workstation where the unloading point is located;
[0100] Step S604: The dispatching system sends an arrival prompt instruction to the robot;
[0101] Step S605: The scheduling system updates the robot's task status to pre-occupied or idle.
[0102] It should be noted that, in actual applications, after the robot completes the unloading task, it can perform other tasks, perform packing tasks, or perform the unloading task again without the need for charging.
[0103] Figure 7 It is a flowchart of a charging task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0104] like Figure 7 As shown, the scheduling system can obtain the remaining power of the robot at a preset frequency, and when the remaining power is less than or equal to the preset value, a charging task is assigned to the robot. The process of the charging task can refer to the following implementation method:
[0105] Step S701: the dispatching system queries the charging point identification of the charging location;
[0106] Step S702: the scheduling system updates the robot's task status to charging;
[0107] Step S703: When the robot completes charging, the scheduling system updates the robot's task status to idle or pre-occupied.
[0108] Figure 8 It is a flowchart of a de-caching task of a method for scheduling a robot according to a reference embodiment of the present invention.
[0109] like Figure 8 As shown, when the robot cannot enter the lane, a cache removal task can be assigned to the robot. The process of the cache removal task can refer to the following implementation:
[0110] Step S801: The scheduling system allocates a cache location for the robot;
[0111] Step S802: The scheduling system updates the robot's task status to pre-occupied.
[0112] Step S804: The scheduling system releases the occupied lanes.
[0113] Fig. 9 4 is a schematic diagram of main modules of an apparatus for dispatching a robot according to an embodiment of the present invention.
[0114] like Fig. 9 As shown, the device 900 for dispatching robots according to the embodiment of the present invention includes: an association module 901 , an acquisition module 902 , a dispatch module 903 and an allocation module 904 .
[0115] in,
[0116] The association module 901 is used to obtain unassigned tasks and determine the association between the unassigned tasks;
[0117] An acquisition module 902 is used to acquire the task status of the robot when the robot completes the current task; wherein the task status is determined based on the current task;
[0118] The scheduling module 903 is used to schedule the robot to perform the next task when the robot's task status is pre-occupied;
[0119] The allocation module 904 is used to allocate the next task to the robot based on the association between the unallocated tasks when the task status of the robot is idle.
[0120] In the embodiment of the present invention, the next task may include a parking task, a packing task, a transporting task or an unloading task.
[0121] The device 900 may also include a first update module (not shown in the figure), which is used to: when the robot performs the parking task, update the robot's task status to idle; when the robot performs the packing task, send an arrival prompt instruction to the robot when the robot arrives at the packing point, and update the robot's task status to pre-occupied when the packing is completed; when the robot performs the handling task, send an arrival prompt instruction to the robot when the robot arrives at the destination point, and update the robot's task status to pre-occupied when the handling is completed; when the robot performs the unloading task, send an arrival prompt instruction to the robot when the robot arrives at the unloading point, and update the robot's task status to idle or pre-occupied when the unloading is completed.
[0122] In the embodiment of the present invention, the next task may also include a charging task.
[0123] The device 900 may also include a second update module (not shown in the figure), which is used to: obtain the remaining power of the robot at a preset frequency; when the remaining power is less than or equal to a preset value, assign the charging task to the robot, send a charging point identifier to the robot, and update the robot's task status to charging; and when the robot completes charging, update the robot's task status to idle or occupied.
[0124] In the embodiment of the present invention, the next task may further include a de-cache task.
[0125] The device 900 may further include a third updating module (not shown in the figure), which is used to: when the robot cannot enter the lane, assign the de-caching task to the robot and update the robot's task state to pre-occupied.
[0126] In addition, the device 900 may also include a request module (not shown in the figure) for: performing traffic management before the robot performs the next task; wherein the traffic management includes releasing occupied lanes, releasing occupied parking spaces, releasing occupied cache spaces, releasing occupied unloading points, allocating parking spaces or allocating cache spaces.
[0127] It can be seen from the device for scheduling robots according to the embodiment of the present invention that the unassigned tasks are obtained and the associations between the unassigned tasks are determined; when the robot completes the current task, the task status of the robot is obtained; if the task status of the robot is pre-occupied, the robot is scheduled to perform the next task; if the task status of the robot is idle, the next task is assigned to the robot based on the associations between the unassigned tasks. By setting the task status of the robot, the same robot can continuously perform multiple tasks with associations. Therefore, the technical problems of lack of continuity in the robot's warehousing work, increased idle time of the robot on the way, and low work efficiency are overcome, thereby optimizing the scheduling order, ensuring the continuity of the robot's warehousing work, improving the robot's work efficiency, and improving the technical effect of improving work efficiency in the warehouse.
[0128] Fig.10 An exemplary system architecture 1000 is shown to which the method for dispatching a robot or the apparatus for dispatching a robot according to the embodiments of the present invention can be applied.
[0129] like Fig.10 As shown, the system architecture 1000 may include terminal devices 1001, 1002, 1003, a network 1004, and a server 1005. The network 1004 is used to provide a medium for communication links between the terminal devices 1001, 1002, 1003 and the server 1005. The network 1004 may include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0130] The user can use the terminal devices 1001, 1002, 1003 to interact with the server 1005 through the network 1004 to receive or send messages, etc. Various communication client applications can be installed on the terminal devices 1001, 1002, 1003.
[0131] The terminal devices 1001 , 1002 , and 1003 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers, etc.
[0132] The server 1005 may be a server that provides various services. The backend management server may analyze and process the received product information query request and other data, and feed back the processing results to the terminal device.
[0133] It should be noted that the method for dispatching a robot provided in the embodiment of the present invention is generally executed by the server 1005 , and accordingly, the device for dispatching a robot is generally arranged in the server 1005 .
[0134] It should be understood that Fig.10 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.
[0135] Reference below Fig.11 , which shows a schematic diagram of the structure of a computer system 1100 of a terminal device suitable for implementing an embodiment of the present invention. Fig.11 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0136] like Fig.11 As shown, the computer system 1100 includes a central processing unit (CPU) 1101, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1102 or a program loaded from a storage part 1108 into a random access memory (RAM) 1103. In the RAM 1103, various programs and data required for the operation of the system 1100 are also stored. The CPU 1101, the ROM 1102, and the RAM 1103 are connected to each other via a bus 1104. An input / output (I / O) interface 1105 is also connected to the bus 1104.
[0137] The following components are connected to the I / O interface 1105: an input section 1106 including a keyboard, a mouse, etc.; an output section 1107 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1108 including a hard disk, etc.; and a communication section 1109 including a network interface card such as a LAN card, a modem, etc. The communication section 1109 performs communication processing via a network such as the Internet. A drive 1110 is also connected to the I / O interface 1105 as needed. A removable medium 1111, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1110 as needed, so that a computer program read therefrom is installed into the storage section 1108 as needed.
[0138] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 1109, and / or installed from the removable medium 1111. When the computer program is executed by the central processing unit (CPU) 1101, the above-mentioned functions defined in the system of the present invention are executed.
[0139] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0140] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0141] The modules involved in the embodiments of the present invention may be implemented in software or hardware. The modules described may also be set in a processor, for example, it may be described as: a processor includes an association module, an acquisition module, a scheduling module and an allocation module. The names of these modules do not constitute a limitation on the modules themselves in some cases, for example, the association module may also be described as "a module for acquiring unassigned tasks and determining the associations between the unassigned tasks".
[0142] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: step S101: obtaining unassigned tasks and determining the association between unassigned tasks; step S102: when the robot completes the current task, obtaining the task status of the robot; step S103: scheduling the robot to perform the next task; step S104: assigning the next task to the robot based on the association between the unassigned tasks.
[0143] According to the technical solution of the embodiment of the present invention, the unassigned tasks are obtained and the association between the unassigned tasks is determined; when the robot completes the current task, the task status of the robot is obtained; if the task status of the robot is pre-occupied, the robot is scheduled to perform the next task; if the task status of the robot is idle, the next task is assigned to the robot based on the association between the unassigned tasks. By setting the task status of the robot, the same robot can continuously perform multiple tasks with association, thereby overcoming the technical problems of lack of continuity in the robot's warehousing work, increasing the robot's idle time on the way, and reducing low work efficiency, thereby optimizing the scheduling order, ensuring the continuity of the robot's warehousing work, improving the robot's work efficiency, and improving the technical effect of improving work efficiency in the warehouse.
[0144] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for dispatching a robot, characterized in that: include: Acquire unassigned tasks, and determine associations between the unassigned tasks; When the robot completes the current task, obtaining the task status of the robot; wherein the task status is determined based on the current task; If the robot's task status is pre-occupied, the robot is scheduled to perform the next task; wherein the next task includes a parking task, a packing task, a handling task or an unloading task; If the task status of the robot is idle, assigning the next task to the robot based on the association between the unassigned tasks; The method further comprises: If the robot performs the parking task, the task status of the robot is updated to idle; If the robot performs the packing task, an arrival prompt instruction is sent to the robot when the robot arrives at the packing point, and the task status of the robot is updated to pre-occupied when the packing is completed; If the robot performs the transport task, an arrival prompt instruction is sent to the robot when the robot arrives at the destination, and the robot's task status is updated to pre-occupied when the transport is completed; If the robot performs the unloading task, an arrival prompt instruction is sent to the robot when the robot arrives at the unloading point, and the robot's task status is updated to idle or pre-occupied when the unloading is completed.
2. The method according to claim 1, characterized in that The next mission also includes charging tasks; and The method further comprises: Get the remaining power of the robot at a preset frequency; When the remaining power is less than or equal to a preset value, assigning the charging task to the robot, sending a charging point identifier to the robot, and updating the task status of the robot to charging; and When the robot is finished charging, update the robot's task status to idle or pre-occupied.
3. The method according to claim 1, characterized in that The next task also includes the task of de-caching, and The method further comprises: When the robot cannot enter the lane, the de-caching task is assigned to the robot, and the task state of the robot is updated to pre-occupied.
4. The method according to claim 3, characterized in that The method further comprises: Before the robot performs the next task, traffic management is performed; wherein the traffic management includes releasing occupied lanes, releasing occupied parking spaces, releasing occupied cache spaces, releasing occupied unloading points, allocating parking spaces, or allocating cache spaces.
5. A device for dispatching a robot, characterized in that: include: An association module, used for acquiring unassigned tasks and determining associations between the unassigned tasks; An acquisition module, used to acquire the task status of the robot when the robot completes the current task; wherein the task status is determined based on the current task; A scheduling module, used for scheduling the robot to perform a next task when the robot's task status is pre-occupied; wherein the next task includes a parking task, a packing task, a handling task or an unloading task; An allocation module, configured to allocate a next task to the robot based on the association between the unallocated tasks when the task status of the robot is idle; The device also includes a first updating module, configured to: When the robot performs the parking task, updating the task status of the robot to idle; When the robot performs the packing task, an arrival prompt instruction is sent to the robot when the robot arrives at the packing point, and the task status of the robot is updated to pre-occupied when the packing is completed; When the robot performs the transport task, an arrival prompt instruction is sent to the robot when the robot reaches the destination, and the task status of the robot is updated to pre-occupied when the transport is completed; When the robot performs the unloading task, an arrival prompt instruction is sent to the robot when the robot arrives at the unloading point, and the task status of the robot is updated to idle or pre-occupied when the unloading is completed.
6. The device according to claim 5, characterized in that The next mission also includes charging tasks; and The device also includes a second updating module, configured to: Get the remaining power of the robot at a preset frequency; When the remaining power is less than or equal to a preset value, assigning the charging task to the robot, sending a charging point identifier to the robot, and updating the task status of the robot to charging; and When the robot is finished charging, update the robot's task status to idle or pre-occupied.
7. The device according to claim 5, characterized in that The next task also includes the task of de-caching, and The device further includes a third updating module, configured to: When the robot cannot enter the lane, the de-caching task is assigned to the robot, and the task state of the robot is updated to pre-occupied.
8. The device according to claim 7, characterized in that The device also includes a request module, configured to: Before the robot performs the next task, traffic management is performed; wherein the traffic management includes releasing occupied lanes, releasing occupied parking spaces, releasing occupied cache spaces, releasing occupied unloading points, allocating parking spaces, or allocating cache spaces.
9. An electronic device for dispatching a robot, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 4.
10. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 4 is implemented.
Citation Information
Patent Citations
Method and equipment for task scheduling in target area
CN106228302A
Scheduling service end, scheduling device, robot system and scheduling method
CN108227654A