A logistics dispatching system for hospital tracks

By adopting optimized multi-target track search algorithms (O-MAPF) in the hospital rail logistics scheduling system, the problem of lack of global optimal scheduling capabilities in the traditional system is solved, and the logistics is completed in the shortest time without conflict. Effect of task.

CN118352040BActive Publication Date: 2025-01-24JIANGSU WELLSAY TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202410538829.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-04-30
Publication Date
2025-01-24
Estimated Expiration
2044-04-30

AI Technical Summary

Technical Problem

Traditional hospital track logistics scheduling systems lack global optimal scheduling capabilities, making it difficult to complete logistics tasks in the shortest time without conflict, especially when there are logistics tasks of different priorities.

Method used

The optimized multi-objective tracking algorithm (O-MAPF) is used to add additional execution actions for multiple different targets through motion simulation and action priority management to ensure that the logistics task can be completed in the shortest time without conflict.

Benefits of technology

By reducing the number of additional actions and improving the efficiency of the overall logistics task, the O-MAPF algorithm can complete logistics tasks faster and meet the logistics scheduling needs of hospital scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118352040B_ABST
    Figure CN118352040B_ABST
Patent Text Reader

Abstract

The present application provides a logistics scheduling system for hospital tracks. The system includes: a main loop module, a scheduler and a controller; the scheduler is used to perform motion simulation on multiple different targets currently performing logistics tasks in the hospital track, and based on the simulation results, add execution actions to some or all of the multiple different targets, so that multiple different targets can complete the logistics tasks in the shortest time without conflict; wherein each target is a medical robot configured on the hospital track; the scheduler includes a scheduling interface and a compilation module; the scheduling interface is used to take a snapshot of the logistics tasks for multiple different targets, and output a list of executable actions for each of the multiple different targets; the compilation module is used to logically sort the executable actions of multiple different targets at each time based on the optimized multi-target tracking algorithm O‑MAPF according to the executable action list, and obtain the action sorting results corresponding to each time.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of intelligent logistics, and more specifically, to a logistics dispatching system for hospital tracks. Background Art

[0002] The logistics dispatching system for hospital tracks is a system specially designed for the internal material transportation of medical institutions. It realizes the efficient, safe and accurate transportation of materials between various departments within the hospital by laying tracks and setting up logistics machines in the hospital.

[0003] At present, the logistics dispatching system for hospital rails plays an important role in the field of medical logistics. The introduction of the logistics dispatching system for hospital rails can greatly improve the material transportation efficiency and management level of medical institutions, reduce the waste of human resources, and ensure the safety of patients and medical staff and the continuity of medical services.

[0004] However, traditional logistics scheduling systems have some limitations and shortcomings. For example, the logistics scheduling system used for hospital rails often adopts a local perspective. It directly dispatches logistics tasks and resolves conflicts when conflicts arise. For example, when two machines meet at the intersection of the track, the robots are allowed to pass through the intersection one after another through a "one pass and one stop" method. In addition, the current hospital rail logistics lacks accurate time evaluation of equipment, and thus lacks global scheduling based on global optimality. In some schemes, the global machine path is estimated, and then the conflict is resolved in advance by inserting additional execution actions for the machines at the conflict points. Although these schemes improve the smoothness of hospital rail logistics to a certain extent, the amount of inserted execution actions is often large, which requires greater computing costs. In addition, when there are logistics tasks of different priorities at the same time, it is often impossible to obtain the optimal solution to complete the logistics tasks in the shortest time.

[0005] Therefore, the present application provides a logistics scheduling system for hospital tracks to solve one of the above-mentioned technical problems. Summary of the invention

[0006] The purpose of this application is to provide a logistics dispatching system for hospital rails, which can solve at least one of the above-mentioned technical problems. The specific solution is as follows:

[0007] According to a specific implementation of the present application, in a first aspect, the present application provides a logistics scheduling system for hospital tracks, comprising:

[0008] A main loop module, a scheduler and a controller; the scheduler is used to perform motion simulation on multiple different targets currently performing logistics tasks in the hospital track, and based on the simulation results, add execution actions to some or all of the multiple different targets, so that the multiple different targets can complete the logistics tasks in the shortest time without conflict; wherein each of the targets is a medical robot configured on the hospital track; the scheduler includes a scheduling interface and a compilation module; the scheduling interface is used to take a logistics task snapshot for the multiple different targets, and output a list of executable actions for each of the multiple different targets; wherein the executable action list includes fast simulation completed actions, fast simulation unfinished actions, and a fast simulation additional action sequence that has been added at the current moment; the compilation module is used to The optimized multi-target tracking algorithm O-MAPF is used to logically sort the executable actions of the multiple different targets at each moment according to the executable action list to obtain the action sorting results corresponding to each moment; and to add execution actions to some or all of the multiple different targets according to the action sorting results, and the execution actions added by the compilation module meet the requirements of enabling the multiple different targets to complete the logistics task in the shortest time without conflict; wherein the input of the optimized multi-target tracking algorithm O-MAPF includes at least the action priority of each action in the executable action list, and the additional identifiers set for the multiple different targets respectively; wherein the additional identifier is used to identify whether the target is allowed to add execution actions, and / or to identify the conditions under which the target is allowed to add execution actions.

[0009] In one embodiment, the compilation module is configured with an index package; the compilation module determines the additional identifiers set for the multiple different targets based on the index package; the compilation module sets action priorities for the multiple different targets based on the index package and the logistics tasks currently performed by the multiple different targets; the compilation module takes the additional identifiers set for the multiple different targets, the action priorities set for the multiple different targets, and the executable action list as input, and outputs an updated executable action list based on the optimized multi-target tracking algorithm O-MAPF; wherein the updated executable action list includes fast simulation completed actions, fast simulation unfinished actions, fast simulation additional action sequences added at the current moment, and fast simulation additional action sequences to be added at the current moment.

[0010] In one embodiment, the index package is configured with an index relationship between the number of targets, logistics tasks, and additional identifiers; the compilation module indexes the additional identifier of each target among the multiple different targets based on the index package, according to the number of the multiple different targets and the currently executed logistics tasks; wherein the additional identifier includes a main guide target identifier, a secondary guide target identifier, a slave guide target identifier, and / or a non-guide target identifier; the main guide target identifier indicates that the target is not allowed to perform additional actions; the secondary guide target identifier indicates that the target is allowed to perform additional actions only when an action conflict occurs with a target identified with the main guide target identifier; the non-guide target identifier indicates that the target is allowed to perform additional actions; the slave guide target identifier indicates that the target is allowed to perform additional actions only when the target it follows is additionally executed; wherein the target identified with the slave guide target identifier is configured to follow other targets to perform logistics tasks.

[0011] In one embodiment, the compilation module is also used to identify and index each target currently performing a logistics task in the hospital track based on the index package when specified conditions are met, so as to obtain an updated identification of each target currently performing a logistics task in the hospital track; the specified conditions include: detecting the appearance of a new target in the hospital track; and / or detecting that a target currently performing a logistics task in the hospital track performs a new logistics task; and / or detecting the existence of a target that has completed a logistics task in the hospital track.

[0012] In one embodiment, the scheduling interface is used to take a logistics task snapshot for the multiple different targets and output a list of executable actions for each of the multiple different targets, including: the scheduling interface is used to use the start time and end time of each of the action tasks as the time node of the simulation, divide the simulation time axis into multiple batches matching the number of intervals of the time node according to the time dimension, and use each of the multiple batches as a batch to be processed, and the scheduling interface performs the following steps on the processed batch: generate a simulation environment for the batch to be processed, perform a fast simulation of the additional action sequence of the batch to be processed, and obtain a simulation result of the batch to be processed; determine whether the simulation clock of each target in the batch to be processed exceeds a truncation threshold; if each of the simulation clocks exceeds the truncation threshold, end the simulation environment and generate a list of executable actions for the batch to be processed; merge the executable action lists output based on the multiple batches according to the simulation time axis to obtain and output the executable action lists for each of the multiple different targets.

[0013] In one embodiment, the logistics dispatching system for hospital tracks further includes: a navigation device for providing navigation information for each of the targets based on logistics tasks or additional execution actions.

[0014] In one embodiment, the logistics dispatching system for hospital tracks further includes: a safety device for monitoring abnormal conditions of the hospital tracks, wherein the abnormal conditions include one or a combination of machine collision, machine jam, and cargo loss. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] Figure 1 A block diagram of a logistics scheduling system for hospital tracks according to an embodiment of the present application is shown;

[0016] Figure 2 A block diagram of another logistics scheduling system for hospital rails according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0017] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0018] The terms used in the embodiments of the present application are only for the purpose of describing specific embodiments, and are not intended to limit the present application. The singular forms "a", "said" and "the" used in the embodiments of the present application and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings, and "multiple" generally includes at least two.

[0019] It should be understood that the term "and / or" used in this article is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0020] It should be understood that although the terms first, second, third, etc. may be used to describe in the embodiments of the present application, these descriptions should not be limited to these terms. These terms are only used to distinguish the descriptions. For example, without departing from the scope of the embodiments of the present application, the first may also be referred to as the second, and similarly, the second may also be referred to as the first.

[0021] As used herein, the words "if" and "if" may be interpreted as "at the time of" or "when" or "in response to determining" or "in response to detecting", depending on the context. Similarly, the phrases "if it is determined" or "if (stated condition or event) is detected" may be interpreted as "when it is determined" or "in response to determining" or "when detecting (stated condition or event)" or "in response to detecting (stated condition or event)", depending on the context.

[0022] It should also be noted that the term "includes", "comprising" or any other variation thereof is intended to cover non-exclusive inclusion, so that a commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprising a ..." do not exclude the existence of other identical elements in the commodity or device including the elements.

[0023] It should be particularly noted that any symbols and / or numbers in the specification that are not marked in the accompanying drawings are not drawing marks.

[0024] The logistics dispatching system for hospital tracks is a system specially designed for the internal material transportation of medical institutions. It realizes the efficient, safe and accurate transportation of materials between various departments within the hospital by laying tracks and setting up logistics machines in the hospital.

[0025] At present, the logistics dispatching system for hospital rails plays an important role in the field of medical logistics. The introduction of the logistics dispatching system for hospital rails can greatly improve the material transportation efficiency and management level of medical institutions, reduce the waste of human resources, and ensure the safety of patients and medical staff and the continuity of medical services.

[0026] However, the traditional logistics scheduling system for hospital rails has some limitations and shortcomings. For example, the logistics scheduling system for hospital rails often adopts a local perspective. It directly dispatches logistics tasks and resolves conflicts when they occur. For example, when two machines meet at the intersection of the track, the robots are allowed to pass through the intersection one after another through a "one pass and one stop" method. In addition, the current hospital rail logistics lacks accurate time evaluation of equipment, and thus lacks global scheduling based on global optimization.

[0027] In the related technology, the Multi Agent Path Finding (MAPF) algorithm is considered to resolve conflicts between robot paths by interspersing avoidance actions so that all robots can effectively complete their respective logistics tasks. Although the solutions provided by the related technology have improved the fluency of hospital track logistics to a certain extent, the amount of inserted actions is often large, which requires greater computing costs. In addition, when there are logistics tasks of different priorities at the same time, it is often impossible to obtain the optimal solution to complete the logistics tasks in the shortest time.

[0028] In view of this, this application provides an optimized multi-agent pathfinding algorithm (Optimal-Multi agent PathFinding, O-MAPF). On the basis of the original algorithm, three reference items are introduced as golden fingers: "the action priority of the logistics tasks currently executed by each target", "whether the target is allowed to perform additional actions", and "the prerequisites for the target to be allowed to perform additional actions". Then, the superimposed data is processed through the forest fork model, and the algorithm upgrade is completed without changing the original algorithm structure. The results output by the optimized multi-agent pathfinding algorithm have fewer additional actions and the overall time to complete the logistics tasks is shorter, thereby further meeting the logistics scheduling needs of hospital scenarios.

[0029] The optional embodiments of the present application are described in detail below with reference to the accompanying drawings.

[0030] The embodiment provided in this application is an embodiment of a logistics scheduling system for hospital tracks.

[0031] Combine the following Figure 1 The embodiments of the present application are described in detail.

[0032] Figure 1 A block diagram of a logistics scheduling system for hospital rails according to an embodiment of the present application is shown, Figure 1 As shown, the logistics scheduling system 1 for hospital rail includes a main circulation module 11 , a scheduler 12 and a controller 13 .

[0033] The main loop module 11 is used to instruct the scheduler to update the motion simulation in response to the update of the logistics task. The main loop module 11 is used to execute the processing event queue and event stop. Whenever a new situation occurs in the entire logistics cycle (for example, a new logistics task is generated), the scheduler 12 is notified to execute a new scheduling decision according to the logistics conditions under the new situation. The data structure of the main loop module 11 includes an event list, a system clock, and a flag indicating whether the current stop has occurred.

[0034] Among them, the event includes the event name, event target time, and event execution function. For example, enqueue event, add an event to the event list, where the target time of the event is not less than the current system event. Stop event: enqueue a stop event, where the stop event means that the event execution function sets the current stop flag to true. Tick event: There is an event execution function f, which is wrapped into a wrapper function g, which enqueues the event k seconds after the function f is executed and then executes its own event, and enqueues the wrapper function g as a new event of the event execution function, thereby achieving the purpose of recursively calling the event execution function every k seconds.

[0035] The scheduler 12 is used to perform motion simulation on multiple different targets currently performing logistics tasks in the hospital track, and based on the simulation results, add execution actions to some or all of the multiple different targets, so that the multiple different targets can complete the logistics tasks in the shortest time without conflicts.

[0036] The controller 13 (controller) is used to control the corresponding target execution based on the execution action added by the scheduler 12, that is, to control the motion of some or all targets based on the execution action added by the scheduler. The data structure of the controller 13 includes a drive table, an action queue table, a solution table, and a resource lock table. Among them, the action includes actual actions and two virtual actions, wait and resolve. Wait corresponds to waiting for other actions, and resolve corresponds to other actions being completed. Any action can record the resources required for its execution and release resources after execution.

[0037] In the controller 13, the snapshot includes a completed action table and an uncompleted action table. The action table maintains a list of actions for each target, and uncompleted actions include both those that have been issued and those that have not been started.

[0038] Among them, each element in the controller 13 completes the corresponding content respectively. For example, the driver table maintains the driver corresponding to each target, and the driver will drive the target to complete the corresponding action. For another example, the action queue table maintains the action queue (Action Queue) of each target, and the action queue maintains a list of actions and two pointers. These two pointers can divide the actions into three states: completed, issued, and not started. For another example, the solution table maintains the solution status of each required solution action, and the solution status is solved and unsolved. For another example, the resource lock table maintains the resource lock (ResourceLock) of each action, and the resource lock describes the counter of the corresponding resource.

[0039] The controller 13 records the corresponding driver for the target in the driver table. In addition, it traverses all targets, filters out the unsolved actions from all the completed actions and pending actions of each target, generates the corresponding completed action list and pending action list, obtains the snapshot, and deletes the maintained completed actions. Furthermore, the controller 13 prepares the action to be executed and sends it down. It executes the connection (Link) and the dispatch (Dispatch) in sequence to obtain a serial sequence of actions. Among them, the serial sequence needs to ensure that the action that is dependent on the latter must be in the front.

[0040] For the connection, the controller 13 connects the queued actions and the new actions, and performs a topological sort (Toposort) on the queued actions to obtain its serial action sequence a. On this basis, traverse a, and update the position where each resource is last released, and perform a topological sort on the new actions to obtain its serial action sequence b. Further, traverse b in sequence, and update the position where each resource is first acquired, and create a new connection table to represent the action list of each target. Further, traverse the queued action list of each target, and append the action to the connection table. If the last released position corresponding to the action release resource is reached, a solution action is appended. Correspondingly, the controller 13 traverses the new action list of each target, and if the action is an actual action, the action is appended to the connection table, otherwise if the first acquired position corresponding to the action acquisition resource is reached, a waiting action is appended.

[0041] For the issuance, the controller 13 updates the issued actions and generates the actions to be issued, traverses each target from completed to issued, and then executes the corresponding logic according to whether the action is completed. If the non-virtual action has not been completed, or there is a waiting virtual action that has not been resolved, it means that the action has not been completed. If the action is completed, the corresponding resource lock table is updated according to the action resource release relationship. On this basis, traverse from issued to the end. During this period, if there is a waiting virtual action and it has not been resolved, the controller 13 stops. If not, if it is an actual action, the controller 13 appends it to the list of actions to be issued. The controller 13 issues the task to be issued to the driver of the corresponding target, and updates the corresponding resource lock table according to the action to obtain the resource acquisition relationship.

[0042] For example, each target in the present application is a medical robot configured on a hospital track, including but not limited to clinical medical robots, nursing robots, feeding robots, drug sorting robots, and surgical robots.

[0043] In the present application, the scheduler 12 includes a scheduling interface 121 and a compilation module 122. Among them,

[0044] The scheduling interface 121 is used to take a snapshot of logistics tasks for multiple different targets and output a list of executable actions for each of the multiple different targets.

[0045] The executable action list includes the following actions:

[0046] ① Rapid simulation has completed the action.

[0047] ② Rapid simulation of unfinished actions.

[0048] ③ The fast simulation additional action sequence that has been added at the current moment.

[0049] The action ③ refers to the execution action added by the compiling module 122 when the scheduling interface 121 last updated the executable action list.

[0050] For example, the compilation module 122 is used to logically sort the executable actions of multiple different targets at each moment based on the optimized multi-target tracking algorithm O-MAPF according to the executable action list, and obtain the action sorting results corresponding to each moment.

[0051] Furthermore, the compilation module 122 is also used to add execution actions to some or all of the multiple different targets based on the action sorting results. The execution actions added by the compilation module 122 are sufficient to complete the logistics task in the shortest time without conflicts among the multiple different targets.

[0052] In the present application, the input of the optimized multi-target tracking algorithm O-MAPF at least includes the action priority of each action in the executable action list and additional identifiers set for multiple different targets.

[0053] The additional flag is used to identify whether the target is allowed to perform additional actions and / or to identify the conditions under which the target is allowed to perform additional actions.

[0054] In one example, the additional flag is used to identify whether the target is allowed to perform additional actions.

[0055] In one example, the additional flag is used to identify whether the target is allowed to perform additional actions, and is used to identify the conditions under which the target is allowed to perform additional actions.

[0056] In the present application, the compilation module 122 is configured with an index package.

[0057] On the one hand, the compilation module 122 can determine the additional identifiers set for multiple different targets based on the index package. On the other hand, the compilation module 122 can set action priorities for multiple different targets based on the index package and the logistics tasks currently performed by the multiple different targets. In this way, all the inputs required for the optimized multi-target tracking algorithm O-MAPF are obtained.

[0058] Furthermore, the compilation module 122 can take the additional identifiers set for the multiple different targets, the action priorities set for the multiple different targets, and the executable action list as input, and output an updated executable action list based on the optimized multi-target tracking algorithm O-MAPF. In the present application, the output is the action execution result that does not change the total duration and does not affect the high-priority task.

[0059] In this application, the updated executable action list includes the following actions:

[0060] ① Rapid simulation has completed the action.

[0061] ② Rapid simulation of unfinished actions.

[0062] ③ The fast simulation additional action sequence that has been added at the current moment.

[0063] ④ The fast simulation additional action sequence to be added at the current moment.

[0064] Action ③ refers to the execution action added by the compilation module 122 when the scheduling interface 121 last updated the executable action list. Action ④ refers to the execution action to be added to the corresponding target by the compilation module 122 when the scheduling interface 121 currently updates the executable action list.

[0065] The problem with the multi-objective tracking algorithm MAPF is that when the system automatically determines the priority and the logistics task is normally executed for the high-priority target, all other targets that may affect the target will be delayed, resulting in the problem of "saving one and giving up many". In this application, the advantage of the optimized multi-objective tracking algorithm O-MAPF is that each target performs the optimal route solution according to the execution logic corresponding to its own logistics task. For each target, there is no hysteresis, so that the final additional result reaches the global optimal.

[0066] In this application, the index package is configured with the index relationship between the target quantity, the logistics task, and the additional identification.

[0067] The compiling module 122 obtains the additional identification of each of the multiple different targets based on the index package and according to the number of the multiple different targets and the currently executed logistics task.

[0068] Among them, the additional identification includes a main guide target identification, a secondary guide target identification, a secondary guide target identification, and / or a non-guide target identification.

[0069] ① Main target identification, indicating that the target is not allowed to perform additional actions.

[0070] ② Secondary target identifier, which indicates that the target is allowed to perform additional actions only when there is an action conflict with the target identified with the primary target identifier.

[0071] ③ No target identifier, indicating that the target is allowed to perform additional actions.

[0072] ④ From the leading target identification, the representation target is allowed to perform additional actions only when the target it follows is additionally performed.

[0073] Among them, the target marked with the follower target mark is configured to follow other targets to perform logistics tasks. For example, if target A is configured to follow target B to perform logistics tasks, then target A is configured with the follower target mark.

[0074] The index package designed in this application not only takes into account the priority relationship between different targets and different logistics tasks, but also takes into account the follow-up relationship between multiple targets. This method is more suitable for hospital scenarios.

[0075] For example, for the application of the secondary guiding target identification, the priority of the surgical robot is higher than that of the nursing robot. In this case, the surgical robot can be configured with the primary guiding target identification, and the nursing robot can be configured with the secondary guiding target identification or no guiding target identification. Alternatively, the surgical robot can be configured with the secondary guiding target identification, and the nursing robot can be configured with no guiding target identification.

[0076] For another example, for the application of the secondary target identification, multiple transport robots transporting the same batch of drugs have basically the same travel paths, and the path solution requires bundling operations to achieve the effect of the same batch of drugs reaching the destination continuously. At this time, the first transport robot can be configured with a primary target identification, a secondary target identification, or no target identification, and the other transport robots transporting the same batch of drugs can be respectively configured with secondary target identifications. When the first transport robot is added with an execution action (such as accelerating through, or stopping and waiting), the other transport robots transporting the same batch of drugs meet the conditions and are allowed to be added with the same execution action as the first transport robot.

[0077] In addition, the guide target identifier is also adapted to other applications in hospital track scenarios. For example, for different types of medical robots that need to complete the same medical task, such as material transport robots and surgical robots. These robots usually need to travel to the same target point at different locations on the hospital track, that is, there are differences in the driving paths. At this time, for multiple medical robots that need to complete the same medical task, the highest priority configured by default for each robot is retrieved, and each other medical robot is respectively guided by the robot with the highest priority, that is, the guide target identifier is configured for each robot except the robot with the highest priority. At this time, the additional status of all configured guide target identifiers is consistent with the robot with the highest priority. When the robot with the highest priority is not added to perform an action, the other robots will also keep moving smoothly in their respective paths, so as to ensure that the overall scheduling is completed in the shortest time in the entire logistics scheduling scenario, and the logistics scheduling time to complete any medical task is also the shortest.

[0078] In the present application, the compilation module 122 is also used to identify and index each target currently performing logistics tasks in the hospital track based on the index package when specified conditions are met, and obtain updated identifications of each target currently performing logistics tasks in the hospital track.

[0079] The specified conditions include at least one of the following:

[0080] ① A new target is detected within the hospital track.

[0081] ② Detect the target that is performing logistics tasks within the hospital track and execute new logistics tasks.

[0082] ③It is detected that there is a target to complete the logistics task within the hospital track.

[0083] In the present application, the scheduling interface 121 is used to use the start time and end time of each action task as the time node of the simulation, divide the simulation time axis into multiple batches matching the number of intervals of the time nodes according to the time dimension, and use each of the multiple batches as a batch to be processed, and the scheduling interface 121 executes corresponding steps on the batch to be processed.

[0084] The execution steps of the scheduling interface 121 include generating a simulation environment for the batch to be processed, performing a fast simulation of the additional action sequence of the batch to be processed, and obtaining the simulation result of the batch to be processed. Determining whether the simulation clock of each target in the batch to be processed exceeds the truncation threshold. If each simulation clock exceeds the truncation threshold, the simulation environment is terminated and an executable action list of the batch to be processed is generated. According to the timeline of the simulation, the executable action lists outputted based on multiple batches are merged to obtain and output executable action lists of multiple different targets.

[0085] Figure 2 FIG. 4 shows another block diagram of a logistics scheduling system for hospital rail according to an embodiment of the present application. Figure 2 As shown, the logistics dispatching system for hospital tracks further includes a navigation device 14 and a safety device 15 .

[0086] In the present application, the logistics dispatching system for hospital tracks further includes a navigation device 14. The navigation device 14 is used to provide navigation information for each target based on the logistics task or additional execution action.

[0087] In the present application, the logistics dispatching system for hospital tracks further includes a safety device 15. The safety device 15 is used to monitor abnormal conditions of the hospital tracks, and the abnormal conditions include one or a combination of machine collision, machine jam, and cargo loss.

[0088] Although operations are described in a particular order in the drawings, this should not be understood as requiring that the operations be performed in the particular order shown or in serial order, or that all shown operations be performed to achieve desired results. In certain circumstances, multitasking and parallel processing may be advantageous.

[0089] The methods and apparatus of the present disclosure can be implemented using standard programming techniques, using rule-based logic or other logic to implement various method steps. It should also be noted that the words "apparatus" and "module" used herein and in the claims are intended to include implementations using one or more lines of software code and / or hardware implementations and / or devices for receiving input.

[0090] Any steps, operations or procedures described herein may be performed or implemented using one or more hardware or software modules, either alone or in combination with other devices. In one embodiment, the software module is implemented using a computer program product including a computer-readable medium containing computer program code, which can be executed by a computer processor to perform any or all of the described steps, operations or procedures.

[0091] The foregoing description of the implementation of the present disclosure has been given for the purpose of illustration and description. The foregoing description is not exhaustive nor is it intended to limit the present disclosure to the exact form disclosed, and various variations and modifications may exist in accordance with the above teachings or may be obtained from the practice of the present disclosure. These embodiments are selected and described in order to illustrate the principles of the present disclosure and its practical application, so that those skilled in the art can utilize the present disclosure in various embodiments and various modifications suitable for the specific purpose contemplated.

[0092] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.

[0093] It is to be understood that in the present disclosure, "plurality" refers to two or more than two, and other quantifiers are similar. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the associated objects before and after are in an "or" relationship. The singular forms "a", "the" and "the" are also intended to include plural forms, unless the context clearly indicates other meanings.

[0094] It is further understood that the terms "first", "second", etc. are used to describe various information, but such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other, and do not indicate a specific order or degree of importance. In fact, the expressions "first", "second", etc. can be used interchangeably. For example, without departing from the scope of the present disclosure, the first information can also be referred to as the second information, and similarly, the second information can also be referred to as the first information.

[0095] It can be further understood that, unless otherwise specified, “connection” includes a direct connection without other components between the two, and also includes an indirect connection with other components between the two.

[0096] It is further understood that, although the operations are described in a specific order in the drawings in the embodiments of the present disclosure, it should not be understood as requiring the operations to be performed in the specific order shown or in a serial order, or requiring the execution of all the operations shown to obtain the desired results. In certain environments, multitasking and parallel processing may be advantageous.

[0097] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any modification, use or adaptation of the present disclosure, which follows the general principles of the present disclosure and includes common knowledge or customary techniques in the art that are not disclosed in the present disclosure. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present disclosure are indicated by the following scope of rights.

[0098] It should be understood that the present disclosure is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the scope of the appended claims.

Claims

1. A logistics dispatching system for hospital tracks, comprising: Main loop module, scheduler and controller; The scheduler is used to perform motion simulation on multiple different targets currently performing logistics tasks in the hospital track, and based on the simulation results, add execution actions to some or all of the multiple different targets, so that the multiple different targets can complete the logistics tasks in the shortest time without conflict; wherein each of the targets is a medical robot configured on the hospital track; The scheduler includes a scheduling interface and a compilation module; The scheduling interface is used to take a logistics task snapshot for the multiple different targets and output a list of executable actions for each of the multiple different targets; wherein the list of executable actions includes a fast simulation completed action, a fast simulation uncompleted action, and a fast simulation additional action sequence that has been added at the current moment; The compilation module is used to logically sort the executable actions of the multiple different targets at each moment based on the optimized multi-target tracking algorithm O-MAPF and according to the executable action list, to obtain the action sorting results corresponding to each moment; and to add execution actions to some or all of the multiple different targets according to the action sorting results, and the execution actions added by the compilation module meet the requirements of completing the logistics tasks of the multiple different targets in the shortest time without conflicts; The input of the optimized multi-target tracking algorithm O-MAPF includes at least the action priority of each action in the executable action list and the additional identifiers set for the multiple different targets respectively; The additional identifier is used to identify whether the target is allowed to perform additional actions, and / or to identify the conditions under which the target is allowed to perform additional actions; The compilation module is configured with an index package; The compiling module determines, based on the index package, additional identifiers respectively set for the multiple different targets; The index package is configured with an index relationship between target quantity, logistics task, and additional identification; The compiling module obtains an additional identifier of each of the multiple different targets based on the index package and according to the number of the multiple different targets and the currently executed logistics task; Wherein, the additional identification includes a primary lead target identification, a secondary lead target identification, a secondary lead target identification, and / or a non-lead target identification; The main target identifier indicates that the target is not allowed to perform additional actions; The secondary guiding target identifier represents that the target is allowed to perform additional actions only when there is an action conflict with the target identified with the primary guiding target identifier; The non-reference target identifier indicates that the target is allowed to perform additional actions; The following target identifier represents that the target is allowed to perform additional actions only when the target it follows is additionally executed; wherein the target identified with the following target identifier is configured to follow other targets to perform logistics tasks.

2. The logistics dispatching system for hospital tracks according to claim 1, wherein: The compiling module sets action priorities for the multiple different targets based on the index package and the logistics tasks currently performed by the multiple different targets; The compiling module takes the additional identifiers respectively set for the multiple different targets, the action priorities set for the multiple different targets, and the executable action list as input, and outputs an updated executable action list based on the optimized multi-target tracking algorithm O-MAPF; The updated executable action list includes fast simulation completed actions, fast simulation unfinished actions, fast simulation additional action sequences currently added, and fast simulation additional action sequences currently to be added.

3. The logistics dispatching system for hospital track according to claim 1, wherein: The compilation module is further used to identify and index each target currently executing the logistics task in the hospital track based on the index package when the specified conditions are met, so as to obtain an updated identification of each target currently executing the logistics task in the hospital track; The specified conditions include: Detecting the presence of a new target within the hospital track; and / or Detecting that a target that is currently performing a logistics task within the hospital track performs a new logistics task; and / or It is detected that there is a target for completing the logistics task within the hospital track.

4. The logistics dispatching system for hospital track according to claim 1, wherein: The scheduling interface is used to take a logistics task snapshot for the multiple different targets and output a list of executable actions for each of the multiple different targets, including: The scheduling interface is used to use the start time and the end time of each of the action tasks as the time nodes of the simulation, divide the simulation time axis into multiple batches matching the number of intervals of the time nodes according to the time dimension, and use each of the multiple batches as a batch to be processed, and the scheduling interface performs the following steps on the processed batches: Generate a simulation environment for the batch to be processed, perform a fast simulation of the additional action sequence of the batch to be processed, and obtain a simulation result of the batch to be processed; Determine whether the simulation clock of each target in the batch to be processed exceeds a truncation threshold; If all the simulation clocks exceed the cutoff threshold, the simulation environment is terminated and a list of executable actions for the batch to be processed is generated; According to the simulation timeline, the executable action lists outputted respectively based on the multiple batches are merged to obtain and output the executable action lists of the multiple different targets respectively.

5. The logistics dispatching system for hospital track according to claim 1, wherein: The logistics dispatching system for hospital tracks also includes: The navigation device is used to provide navigation information for each of the targets based on the logistics tasks or additional execution actions.

6. The logistics dispatching system for hospital track according to claim 1, wherein: The logistics dispatching system for hospital tracks also includes: A safety device is used to monitor abnormal conditions of the hospital track, wherein the abnormal conditions include one or a combination of machine collision, machine jam, and cargo loss.

Citation Information

Patent Citations

  • Route planning apparatus, route planning method, and computer-readable recording medium

    US20220120575A1

  • Actor model based architecture for multi robot systems and optimized task scheduling method thereof

    WO2019234702A2