Electronic device for arranging idle moving object and operation method of the same

KR103015660B1Active Publication Date: 2026-09-09DIME RES CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
KR1020240052804
Authority / Receiving Office
KR · KR
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-04-19
Publication Date
2026-09-09
Estimated Expiration
2044-04-19

Smart Images

  • Figure 112024043366451-PAT00003_ABST
    Figure 112024043366451-PAT00003_ABST
Patent Text Reader

Abstract

An electronic device for deploying idle mobile bodies and a method of operating the same are disclosed. According to one embodiment, the method of operating the electronic device may include an operation of determining target nodes to deploy idle mobile bodies among a plurality of nodes based on the connection state of a plurality of nodes included in a track, and an operation of deploying the idle mobile bodies to at least some of the target nodes based on a deployment algorithm for deploying the idle mobile bodies to the target nodes.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] An electronic device for arranging idle mobile bodies and a method of operating the same are disclosed. Background Technology

[0002] Unmanned transport vehicles such as AGVs (automated guided vehicles) and AMRs (autonomous mobile robots) are being used in various ways across industries. Examples include overhead hoist transport (OHT) used inside semiconductor wafer manufacturing facilities (fabs) and robots used to automate the transport of products in logistics warehouses.

[0003] Among unmanned transport vehicles, those that have not been assigned a task or have completed an assigned task can be referred to as idle vehicles. Idle vehicles may wait and then be assigned a task. Conventionally, idle vehicles may be made to wait at the location where the task was completed, or they may be moved to a waiting location designated in advance by the user to wait.

[0004] The aforementioned background technology was possessed or acquired during the process of deriving the present disclosure and cannot be considered as prior art disclosed to the general public prior to the filing of the present disclosure. The problem to be solved

[0005] The present disclosure provides an electronic device and a method of operation thereof for extracting candidate nodes from among nodes existing in a track and determining target nodes corresponding to waiting places based on the candidate nodes.

[0006] The present disclosure provides an electronic device and a method of operation thereof that determine optimal target nodes using a clustering algorithm.

[0007] The present disclosure provides an electronic device and a method of operation thereof for optimally placing idle mobile bodies at a target node using a placement algorithm. means of solving the problem

[0008] According to one embodiment, a method of operating an electronic device may include an operation of determining target nodes to place idle moving bodies among a plurality of nodes based on the connection state of a plurality of nodes included in a track, and an operation of placing idle moving bodies on at least some of the target nodes based on a placement algorithm for placing idle moving bodies on the target nodes.

[0009] According to one embodiment, the operation of determining the target nodes may include removing nodes corresponding to a blacklist among the plurality of nodes, and determining the target nodes from the first remaining nodes from which the blacklist has been removed.

[0010] According to one embodiment, the nodes corresponding to the blacklist may include nodes corresponding to points where the segment of the track splits into at least two, nodes corresponding to points where at least two segments merge, and at least some of the nodes selected as a blacklist by a user.

[0011] According to one embodiment, the operation of determining target nodes from the first remaining nodes from which the blacklist has been removed may include: determining at least some of the port nodes corresponding to the port where mobile bodies perform operations in the connection state as candidate nodes; comparing N, which is the number of candidate nodes, with K, which is the number of predetermined waiting places to place idle mobile bodies; and determining the target nodes based on the result of comparing N and K.

[0012] According to one embodiment, the operation of determining at least some of the port nodes corresponding to the port as candidate nodes is such that, if the distance between adjacent first port nodes and second port nodes placed in the same segment is less than a predetermined distance, the port node placed opposite the direction of travel of the same segment among the first port node and the second port node is determined as a candidate node, and if the distance between adjacent first port nodes and second port nodes placed in the same segment is greater than or equal to a predetermined distance, both the first port node and the second port node can be determined as candidate nodes.

[0013] According to one embodiment, the predetermined distance may be determined based on the length of the moving body and the detection distance that the moving body can detect through a sensor, a specific mathematical formula or user input, or may be dynamically determined according to specific conditions.

[0014] According to one embodiment, the operation of determining the target nodes based on the comparison result can determine the candidate nodes as the target nodes when the N and K are identical.

[0015] According to one embodiment, the operation of determining the target nodes based on the comparison result may include, when the number of N is greater than the number of K, the operation of grouping the candidate nodes into the K groups based on a clustering algorithm, and the operation of determining one target node from each of the K groups to determine the target nodes.

[0016] According to one embodiment, the clustering algorithm may include at least one of the K-median algorithm, the K-means algorithm, and the EM (expectation maximization) algorithm.

[0017] According to one embodiment, the operation of determining the target nodes based on the comparison result may include, when N is less than K, applying a clustering algorithm to at least some of the second remaining nodes excluding the N candidate nodes from the first remaining nodes to group at least some of the second remaining nodes into KN groups, and determining one of the second remaining nodes from each of the KN groups to determine them together with the N candidate nodes as the target nodes.

[0018] According to one embodiment, the clustering algorithm may include at least one of the K-median algorithm, the K-means algorithm, and the EM (expectation maximization) algorithm.

[0019] According to one embodiment, the placement algorithm may include at least one of a greedy algorithm, a linear assignment algorithm, a hungarian algorithm, and a shortest augmenting path algorithm.

[0020] According to one embodiment, the placement algorithm may be based on a cost function determined based on at least one of indicators related to the distance between the target nodes and port nodes corresponding to the port to which the task is assigned, a workload indicator, and weights of a clustering algorithm.

[0021] According to one embodiment, a method of operating an electronic device may include: removing nodes corresponding to a blacklist from a plurality of nodes included in a track; determining candidate nodes from among a first remaining node from which the blacklist has been removed among the plurality of nodes; determining target nodes from the candidate nodes based on an algorithm corresponding to the result of comparing N, which is the number of candidate nodes, and K, which is the number of predetermined waiting places to place idle mobiles; and placing a plurality of idle mobiles on at least some of the target nodes based on a placement algorithm.

[0022] According to one embodiment, the operation of determining target nodes based on the algorithm can determine the candidate nodes as the target nodes when the N and K are identical.

[0023] According to one embodiment, the operation of determining target nodes based on the algorithm may include, when N is greater than K, the operation of grouping the candidate nodes into K groups based on a clustering algorithm, and the operation of determining one target node from each of the K groups to determine the target nodes.

[0024] According to one embodiment, the operation of determining target nodes based on the algorithm may include, when N is less than K, applying a clustering algorithm to at least some of the second remaining nodes excluding the N candidate nodes from the first remaining nodes to group at least some of the second remaining nodes into KN groups, and determining one of the second remaining nodes from each of the KN groups to determine them together with the N candidate nodes as the target nodes.

[0025] According to one embodiment, a computer-readable recording medium may store one or more computer programs including instructions for executing any one of the operations described above.

[0026] According to one embodiment, the electronic device includes a processor for controlling idle mobiles, and the processor determines target nodes to which idle mobiles are to be placed among a plurality of nodes based on the connection status of a plurality of nodes included in a track, and can place the idle mobiles on at least some of the target nodes based on a placement algorithm for placing the idle mobiles on the target nodes. Effects of the invention

[0027] According to one embodiment of the present disclosure, the computational load of an electronic device can be reduced by extracting candidate nodes from nodes and determining target nodes corresponding to waiting places based on the candidate nodes.

[0028] According to one embodiment of the present disclosure, an electronic device can automatically determine target nodes without human intervention.

[0029] According to one embodiment of the present disclosure, by determining optimal target nodes, interference with other mobile bodies by idle mobile bodies can be minimized, thereby preventing congestion.

[0030] According to one embodiment of the present disclosure, by optimally positioning idle mobile bodies at a target node, when an idle mobile body is assigned a task, it can quickly arrive at the node where the task occurred. Brief explanation of the drawing

[0031] FIG. 1 is a drawing for explaining an automation system using moving bodies according to one embodiment of the present disclosure. Figure 2 is a diagram illustrating the waiting area of ​​an idle mobile body. FIG. 3 is a flowchart for explaining a method of operation of an electronic device according to one embodiment of the present disclosure. FIG. 4 is a flowchart for explaining a method for determining target nodes according to one embodiment of the present disclosure. FIG. 5 is a diagram illustrating a method for selecting candidate nodes according to one embodiment of the present disclosure. FIGS. 6 and 7 are drawings for explaining the case where the number of candidate nodes and the number of required waiting places are the same according to one embodiment of the present disclosure. FIGS. 8 and 9 are drawings for explaining a case in which the number of candidate nodes according to one embodiment of the present disclosure is greater than the number of required waiting places. FIGS. 10 and FIGS. 11 are drawings for explaining a case in which the number of candidate nodes according to one embodiment of the present disclosure is less than the number of required waiting places. Specific details for implementing the invention

[0032] Hereinafter, embodiments will be described in detail with reference to the attached drawings. However, the scope of the patent application is not limited or restricted by these embodiments. Identical reference numerals in each drawing indicate identical components.

[0033] Various modifications may be made to the embodiments described below. The embodiments described below are not intended to limit the forms of practice and should be understood to include all modifications, equivalents, and substitutions thereof.

[0034] Terms such as "first" or "second" may be used to describe various components, but these terms should be understood solely for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, a second component may be named a first component.

[0035] The terms used in the embodiments are used merely to describe specific embodiments and are not intended to limit the embodiments. A singular expression includes a plural expression unless the context clearly indicates otherwise. In this specification, phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B or C,” “at least one of A, B and C,” and “at least one of A, B, or C” may each include any one of the items listed together with the corresponding phrase, or any possible combination thereof. In this specification, terms such as “comprising” or “having” are intended to indicate the presence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.

[0036] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which the embodiments pertain. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and should not be interpreted in an ideal or overly formal sense unless explicitly defined in this application.

[0037] In addition, when describing with reference to the attached drawings, identical components are assigned the same reference numeral regardless of drawing symbols, and redundant descriptions thereof are omitted. When describing the embodiments, if it is determined that a detailed description of related prior art could unnecessarily obscure the essence of the embodiments, such detailed description is omitted.

[0038] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.

[0040] FIG. 1 is a drawing for explaining an automation system using moving bodies according to one embodiment of the present disclosure.

[0041] Referring to FIG. 1, an automation system (100) that processes work using a plurality of moving bodies (131, 133, 135) is illustrated.

[0042] Referring to FIG. 1, the electronic device (110) may include a processor (111) and a memory (113). Only the components related to the embodiments shown in FIG. 1 are shown in the electronic device (110). Therefore, it is obvious to those skilled in the art that the electronic device (110) may include other general-purpose components in addition to the components shown in FIG. 1.

[0043] The processor (111) can perform the role of performing overall functions for controlling the electronic device (110). The processor (111) can control the electronic device (110) overall by executing programs and / or instructions stored in memory (113). The processor (111) may be implemented as a CPU (central processing unit), GPU (graphics processing unit), AP (application processor), etc., provided within the electronic device (110), but is not limited thereto.

[0044] Memory (113) may be hardware that stores data processed and data to be processed within the electronic device (110). Additionally, memory (113) may store applications, drivers, etc. to be driven by the electronic device (110). Memory (113) may include volatile memory, such as dynamic random access memory (DRAM), and / or nonvolatile memory.

[0045] The electronic device (110) may be configured using a server, etc., but the present invention is not necessarily limited thereto. Additionally, depending on the operating environment, the electronic device (110) may not be implemented as a separate device but may be configured by combining with one or more mobile bodies.

[0046] Referring to FIG. 1, a plurality of mobile bodies (131, 133, 135) and an electronic device (110) can communicate through a network (120). The plurality of mobile bodies (131, 133, 135) and the electronic device (110) can transmit and receive various data and / or commands through the network (120). For example, the electronic device (110) can receive battery status from the plurality of mobile bodies (131, 133, 135). For example, the electronic device (110) can receive operation-related data from the plurality of mobile bodies (131, 133, 135). For example, the electronic device (110) can transmit control commands to the plurality of mobile bodies (131, 133, 135). The network (120) may include a wired network and a wireless network. For example, the network (120) may include various communication networks such as a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), Bluetooth, and Wi-Fi. However, the above-described network (120) is merely an example and the present disclosure is not limited thereto.

[0047] Referring to FIG. 1, a schematic workspace (160) is shown in which a plurality of mobile bodies (131, 133, 135) perform a plurality of tasks (141, 143, 145). A plurality of mobile bodies (131, 133, 135), a plurality of tasks (141, 145, 147), and a plurality of charging stations (170, 180) may be arranged in the workspace (160). The workspace (160) may include a plurality of intersections (151, 152, 153, 154, 155, 156, 157).

[0048] Multiple mobile bodies (131, 133, 135) may be automated guided vehicles (AGVs) and autonomous mobile robots (AMVs). In this disclosure, mobile bodies are described as automated guided vehicles or autonomous mobile robots that perform the task of transporting objects, but this disclosure is not limited thereto. For example, mobile bodies may be robots, autonomous vehicles, and drones that perform specific tasks. Additionally, it is obvious to those skilled in the art that mobile bodies may also include human-driven vehicles under central control.

[0049] Multiple tasks (141, 145, 147) may have various meanings, such as objects requiring transport work or places where specific work is performed. Multiple tasks (141, 143, 145) may be assigned to multiple mobile bodies (131, 133, 135). For example, task (141) may be assigned to mobile body (131). Multiple mobile bodies (131, 133, 135) may be assigned multiple tasks (141, 145, 147) through various methods (i.e., various task assignment policies).

[0050] Multiple intersections (151, 152, 153, 154, 155, 156, 157) may represent points where the segment splits into at least two or merges.

[0051] A node may include multiple intersections (151, 152, 153, 154, 155, 156, 157) and points where multiple operations may occur. Additionally, a node may include feature points set by a user even if they are not multiple intersections (151, 152, 153, 154, 155, 156, 157) or points where multiple operations may occur.

[0052] Referring to FIG. 1, the workspace (160) may include a track on which a plurality of moving bodies (131, 133, 135) move. The track may include a plurality of segments. The plurality of segments may include a lower segment separated by two adjacent nodes and an upper segment including consecutive lower segments having the same direction of travel.

[0053] Multiple segments may be paths along which multiple moving bodies (131, 133, 135) move. Although the multiple segments in the workspace (160) are shown as unidirectional, this is merely an example and it is obvious to those skilled in the art that they may be bidirectional. A track may be a guide rail along which multiple moving bodies (131, 133, 135) can move, but the present disclosure is not limited thereto. For example, a track may refer to a surface (e.g., road, corridor, etc.) or space without a separate rail installed, through which multiple moving bodies (131, 133, 135) can freely pass.

[0054] Multiple mobile bodies (131, 133, 135) can move by using batteries. Multiple charging stations (170, 180) may be placed on one side of the workspace (160) to maintain a state where the multiple mobile bodies (131, 133, 135) can perform work. When the multiple mobile bodies (131, 133, 135) are assigned a charging task, they may visit the multiple charging stations (170, 180) to charge their batteries. The assignment of charging tasks to the multiple mobile bodies (131, 133, 135) may be performed by an electronic device (110) via a network (120). The electronic device (110) may use a charging policy to assign charging tasks while minimizing the impact on the work. According to one embodiment, when the mobile bodies are powered by a wireless power transmission method, the multiple mobile bodies (131, 133, 135) may not include batteries. When the mobile body is powered by a wireless power transmission method, multiple charging stations (170, 180) may not be required. In other words, multiple charging stations (170, 180) may not be placed on one side of the workspace (160).

[0055] Among the multiple moving objects (131, 133, 135), a moving object that has completed a task or has not been assigned a task by the electronic device (110) may be referred to as an idle moving object. Below, the waiting area for the idle moving object will be described.

[0057] Figure 2 is a diagram illustrating the waiting area of ​​an idle mobile body.

[0058] Referring to FIG. 2, an exemplary track (200) included in at least a part of the workspace is illustrated. The track (200) may include a plurality of nodes. The description of the nodes is omitted as it has been described in detail in FIG. 1. Moving bodies (210, 220) can move along the direction of movement of the track.

[0059] When the mobile bodies (210, 220) are assigned a task for a specific port, they can move to a node corresponding to the specific port and perform the task. For example, when the mobile body (210) is assigned a task for a port (230), the mobile body (210) can move to a node (240) corresponding to the port (230) and perform the task for the port (230).

[0060] Let us assume that the mobile unit (220) is an idle mobile unit and is waiting at the location shown in FIG. 2. Also, let us assume that the mobile unit (210) has been assigned a task for the port (230). On the track (200), two or more identical mobile units cannot pass through the same point. Therefore, the mobile unit (210) may not be able to move directly to the node (240) corresponding to the port (230) due to the mobile unit (220) and may have to take a longer detour. In other words, the mobile unit (210) may have to significantly detour the track (200) to reach the node (245) corresponding to the port (230). As a result, congestion may occur in the system. Therefore, if the mobile unit (220) waits at a location that does not interfere with other mobile units, the detour of the mobile unit (210) and / or congestion in the system can be prevented.

[0061] Average return time is one of the indicators used to verify the performance of an automation system. Average return time can be expressed as the sum of item waiting time, loading time, movement time, and unloading time. For example, item waiting time may be the time it takes for a mobile object to move to an item after a task is assigned to it. Waiting time may be the time it takes for a waiting mobile object to receive a task assignment and move to the task location (i.e., the node corresponding to the port). Loading time may be the time it takes for the mobile object to arrive at the task location and load the target item. Movement time may be the time it takes for the mobile object to move to the unloading location after loading the target item. Unloading time may be the time it takes for the mobile object to arrive at the unloading location and unload the target item. Among these, loading and unloading times are fixed times, making it difficult to improve them through changes to the automation system's operational logic. Therefore, to enhance the performance of the automation system, it may be necessary to reduce waiting time and movement time.

[0062] Let us assume that the mobile body (220) is assigned a task for the port (250) while waiting. In this case, the waiting time of the mobile body (220) may be longer than the waiting time when the mobile body (220) is assigned a task for the port (230) while waiting. If the mobile body (220) waits at a point adjacent to the node (260) corresponding to the port (250), the waiting time may be reduced.

[0063] Accordingly, the present disclosure describes a method to improve the performance of a system by determining a waiting location that minimizes interference with other moving bodies to prevent congestion, and by placing idle moving bodies in a waiting location adjacent to points (280, 290) where work is expected to occur, thereby reducing waiting time.

[0065] FIG. 3 is a flowchart for explaining a method of operation of an electronic device according to one embodiment of the present disclosure.

[0066] In the following embodiments, each step may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each step may be changed, and at least two steps may be performed in parallel. Steps (310) to (320) may be performed by at least one component of an electronic device.

[0067] In step (310), the electronic device can determine target nodes to place idle moving bodies among the multiple nodes based on the connection status of the multiple nodes included in the track.

[0068] When using all of the multiple nodes included in the track, there may be a problem where the resources required for computation become too large. Therefore, in the present disclosure, computational resources can be reduced by extracting some nodes from among the multiple nodes based on the connection status of the nodes and determining target nodes for placing idle moving bodies using only some nodes. A method for extracting some nodes from among the multiple nodes and determining target nodes using some nodes will be described later in FIGS. 4 to 11.

[0069] To determine the target nodes, it may first be necessary to determine the number of target nodes (i.e., the number of waiting places). Electronic devices can determine the number of target nodes in various ways.

[0070] According to one embodiment, the electronic device can determine the number of target nodes to be equal to the number of moving bodies included in the automation system. For example, if the number of moving bodies is 50, the electronic device can determine the number of target nodes to be 50.

[0071] According to one embodiment, the electronic device can determine the number of target nodes as a fixed number that is greater than the number of mobiles included in the automation system but proportional to the number of mobiles. For example, if the number of mobiles is 1 to 15, the electronic device can determine the number of target nodes to be 15. If the number of mobiles is 16 to 30, the electronic device can determine the number of target nodes to be 30.

[0072] According to one embodiment, the electronic device can dynamically determine the number of target nodes. For example, the electronic device can determine the number of target nodes to be equal to the number of idle mobiles currently existing in the automation system. That is, if 10 out of a total of 50 mobiles in the current system are idle mobiles, the electronic device can determine the number of target nodes to be 10. For example, the electronic device can determine the number of target nodes to be a fixed number that is greater than the number of idle mobiles currently existing in the automation system but proportional to the number of idle mobiles. That is, if the number of idle mobiles in the current system is 1 to 15, the electronic device can determine the number of target nodes to be 15. And, if the number of idle mobiles in the current system is 16 to 30, the electronic device can determine the number of target nodes to be 30.

[0073] According to one embodiment, the electronic device can determine a maximum number of target nodes such that it is equal to or greater than the total number of mobiles included in the automation system. The electronic device can determine the number of target nodes corresponding to the idle mobiles that occur by segmenting the maximum number of target nodes. For example, let us assume that the total number of mobiles is 30 and the maximum number of target nodes is 35. The electronic device can determine 5 target nodes when 1 to 5 idle mobiles occur. The electronic device can determine 10 target nodes when 6 to 10 idle mobiles occur. The electronic device can determine 20 target nodes when 11 to 20 idle mobiles occur. The electronic device can determine 35 target nodes when 21 to 30 idle mobiles occur.

[0074] In step (320), the electronic device may place idle mobiles on at least some of the target nodes based on a placement algorithm for placing idle mobiles on the target nodes.

[0075] The electronic device can deploy idle mobile bodies at at least some of the target nodes at various points in time.

[0076] According to one embodiment, when a mobile among the mobiles currently in operation is determined to soon finish its work (i.e., when an idle mobile is determined), the electronic device may place at least some of the idle mobiles on at least some of the target nodes. For example, when a mobile is determined to soon finish its work, the electronic device may place said mobile on at least some of the target nodes. For example, when a mobile is determined to soon finish its work, the electronic device may place all of the idle mobiles, including said mobile, on at least some of the target nodes.

[0077] According to one embodiment, when a mobile object finishes its work among the mobile objects in operation (i.e., when an idle mobile object is generated), the electronic device may place at least some of the idle mobile objects on at least some of the target nodes. For example, when a mobile object finishes its work, the electronic device may place said mobile object on at least some of the target nodes. For example, when a mobile object finishes its work, the electronic device may place all of the idle mobile objects, including said mobile object, on at least some of the target nodes.

[0078] According to one embodiment, the electronic device may place at least some of the idle mobile bodies at at least some of the target nodes at specific cycles.

[0079] The electronic device can optimally place idle mobiles on at least some of the target nodes using a placement algorithm. The electronic device may use various placement algorithms. As a placement algorithm, the electronic device may use at least one of a greedy algorithm, a linear assignment algorithm, a hungarian algorithm, or a shortest augmenting path algorithm. However, the above-described placement algorithms are merely examples and the present disclosure is not limited thereto, and it is obvious to those skilled in the art that idle mobiles can be placed on the target nodes using various other placement algorithms.

[0080] The electronic device can optimally deploy idle mobiles using a deployment algorithm based on a cost function. The cost function may be determined based on at least one of indicators related to the distance between target nodes and port nodes corresponding to the ports to which tasks are assigned, workload indicators, and weights of a clustering algorithm.

[0081] According to one embodiment, the electronic device may use a cost function based on indicators correlated with distance. The electronic device may use a cost function that includes indicators related to the distance between target nodes and nodes corresponding to ports where work is expected to occur. The distance-related indicators may include the distance and travel time from a target node where an idle mobile is deployed to a node corresponding to a port where work is expected to occur. For example, the electronic device may deploy an idle mobile to the target node closest to the port where work is expected to occur.

[0082] According to one embodiment, the cost function of the electronic device can be determined based on the workload indicator of the automation system. For example, the electronic device may place idle mobile bodies at a target node adjacent to a node corresponding to a port expected to have the highest workload.

[0083] According to one embodiment, the cost function may be determined based on the weights of the clustering algorithm. For example, an electronic device may place an idle mobile object on a specific target node if the weight of the clustering algorithm is large, even if the specific target node is far from the node corresponding to the port where work is expected to occur. For example, an electronic device may place an idle mobile object on a specific target node if the weight of the clustering algorithm is large, even if the specific target node is not adjacent to the node corresponding to the port where a high workload is expected.

[0084] According to one embodiment, the electronic device may use a cost function based on the weights of the algorithm used to determine the target node. For example, the electronic device may use the weights from the weighted k-median algorithm used to determine the target node directly in the cost function. Alternatively, the electronic device may determine the weights of the cost function by using a method for determining the weights of the algorithm used to determine the target node together with the distance-related indicator described above.

[0085] Below, I will explain how to determine the target node of step (310).

[0087] FIG. 4 is a flowchart for explaining a method for determining target nodes according to one embodiment of the present disclosure.

[0088] In the following embodiments, each step may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each step may be changed, and at least two steps may be performed in parallel. Steps (410) to (440) may be performed by at least one component of the electronic device.

[0089] In step (410), the electronic device can remove nodes corresponding to the blacklist from among a plurality of nodes.

[0090] The electronic device can first remove nodes corresponding to a blacklist from among the multiple nodes included in the track. A blacklist may refer to a node that must not be determined as a target node. A blacklist may include nodes such as nodes set by the user, nodes that are unavailable, or nodes corresponding to a specific connection state. For example, a blacklist may include nodes set by the user not to be used as a waiting place. For example, a blacklist may include nodes included in an unavailable segment. Nodes corresponding to a specific connection state will be described later in FIG. 5.

[0091] In step (420), the electronic device can determine at least some of the port nodes corresponding to the ports where the mobile bodies perform operations as candidate nodes.

[0092] Not all port nodes corresponding to a port may be determined as candidate nodes. A method for determining at least some of all port nodes corresponding to a port as candidate nodes will be described later in Fig. 5.

[0093] In step (430), the electronic device can compare N, the number of candidate nodes, with K, the number of predetermined waiting places to place idle mobiles.

[0094] As for the method of determining the number of waiting places, I will omit the explanation as described in detail in Fig. 3.

[0095] In step (440), the electronic device can determine target nodes based on the comparison result of comparing N and K nodes.

[0096] If N and K are the same, the electronic device can determine target nodes based on an algorithm corresponding to the case where N and K are the same. If N is greater than K, the electronic device can determine target nodes based on an algorithm corresponding to the case where N is greater than K. If N is smaller than K, the electronic device can determine target nodes based on an algorithm corresponding to the case where N is smaller than K.

[0097] The method of determining target nodes based on the comparison results of comparing N and K nodes will be described later in FIGS. 5 to 11.

[0099] FIG. 5 is a diagram illustrating a method for selecting candidate nodes according to one embodiment of the present disclosure.

[0100] Referring to FIG. 5, an exemplary track (500) is illustrated to explain a method for selecting candidate nodes. It will be assumed that the track (500) includes ports 1 through 10 and nodes 1 through 28. Nodes 3, 5, 10, 11, 12, 17, 19, 24, 25, and 26 may be nodes corresponding to the ports (i.e., port nodes).

[0101] The electronic device can exclude nodes corresponding to the blacklist from among all nodes. It will be assumed that there are no nodes in the track (500) that are blacklisted by the user or nodes that are unavailable.

[0102] The electronic device can exclude nodes corresponding to a specific connection state from among all nodes by determining them as a blacklist. The specific connection state may include nodes corresponding to points where a track segment splits into at least two and nodes corresponding to points where at least two segments merge. Since nodes corresponding to points where a segment splits into at least two and nodes corresponding to points where at least two segments merge may cause congestion if determined as target nodes, the electronic device can determine these nodes as a blacklist. For example, Node 7 may be a node corresponding to a point where a segment splits into at least two. For example, Node 1 may be a node corresponding to a point where at least two segments merge. Referring to FIG. 5, Node 1, Node 7, Node 8, Node 14, Node 15, Node 21, Node 22, and Node 28 may be determined as a blacklist because they correspond to nodes corresponding to points where a segment splits into at least two and nodes corresponding to points where at least two segments merge.

[0103] The electronic device can extract nodes corresponding to the port from among the remaining nodes excluding the blacklist. This is to give priority to the nodes corresponding to the port because when work occurs on the port, the idle mobile body must perform work on the node corresponding to the port. In the track (500), the electronic device can extract nodes 3, 5, 10, 11, 12, 17, 19, 24, 25, and 26.

[0104] The electronic device can determine whether the distance between adjacent first port nodes and second port nodes placed in the same segment is greater than or equal to a predetermined distance. If the distance between adjacent first port nodes and second port nodes placed in the same segment is less than the predetermined distance, the electronic device can determine a port node placed opposite the direction of travel of the segment as a candidate node. If the distance between adjacent first port nodes and second port nodes placed in the same segment is greater than or equal to a predetermined distance, the electronic device can determine both the first port node and the second port node as candidate nodes.

[0105] According to one embodiment, the first port node and the second port node may not be placed in the same segment. In other words, although the first port node and the second port node are not placed in the same segment, they may be adjacent by several short segments. In this case, if a predetermined distance is long, the first port node and the second port node are determined to be adjacent, and either the first port node or the second port node may be excluded from the candidate nodes.

[0106] In the track (500), it will be assumed that only the distance between node 11 and node 12 and the distance between node 25 and node 26 correspond to a predetermined distance. The predetermined distance may be determined in various ways. For example, it may be determined based on the length of the moving body and the detection distance that the moving body can detect through a sensor. The electronic device may determine the minimum length at which a single moving body can stop independently as the predetermined distance based on the length of the moving body and the detection distance that the moving body can detect through a sensor. For example, the predetermined distance may be determined based on a specific mathematical formula. For example, the predetermined distance may be determined according to user input. Alternatively, the predetermined distance may be determined dynamically according to specific conditions (e.g., the situation of an automated system). However, this is merely an example and the present disclosure is not limited thereto.

[0107] In track (500), the electronic device can determine both Node 3 and Node 5 as candidate nodes because the distance between Node 3 and Node 5 is greater than or equal to a predetermined distance. In track (500), the electronic device can determine Node 12 as a candidate node because the distance between Node 11 and Node 12 is less than a predetermined distance, so Node 12 is placed opposite the direction of travel (right to left) of the segment where Node 11 and Node 12 are placed. Additionally, in track (500), the electronic device can determine Node 26 as a candidate node because the distance between Node 25 and Node 26 is less than a predetermined distance, so Node 26 is placed opposite the direction of travel (right to left) of the segment where Node 25 and Node 26 are placed.

[0108] As a result, the electronic device can determine nodes 3, 5, 10, 12, 17, 19, 24, and 26 in the track (500) as candidate nodes.

[0109] Below, I will explain how to determine target nodes by comparing the number of candidate nodes and the number of waiting places.

[0111] FIGS. 6 and 7 are drawings for explaining the case where the number of candidate nodes and the number of required waiting places are the same according to one embodiment of the present disclosure.

[0112] Referring to FIG. 6, a flowchart of an electronic device for determining target nodes is shown when the number of candidate nodes and the number of required waiting places are the same. Let N be the number of candidate nodes determined according to the method described above in FIG. 5, and let K be the number of required waiting places.

[0113] In operation (610), if N and K are the same, the candidate nodes can be determined as target nodes. In other words, if the number of candidate nodes and the number of required waiting places are the same, the electronic device can determine all determined candidate nodes as target nodes.

[0114] When the electronic device determines the target nodes, it can place idle mobile bodies at at least some of the target nodes at a specific time according to step (320) of FIG. 3.

[0115] Referring to FIG. 7, a track (700) is shown displaying only the candidate nodes determined in FIG. 5. Referring to FIG. 7, there are a total of 8 candidate nodes. That is, N can be 8. Assuming the number of required waiting places is 8, K can be 8. The electronic device can compare the number of candidate nodes with the number of required waiting places. If the number of candidate nodes and the number of required waiting places are the same (i.e., N = 8), the electronic device can determine all candidate nodes as target nodes.

[0117] FIGS. 8 and 9 are drawings for explaining a case in which the number of candidate nodes according to one embodiment of the present disclosure is greater than the number of required waiting places.

[0118] Referring to FIG. 8, a flowchart of an electronic device for determining target nodes when the number of candidate nodes is greater than the number of required waiting places is shown.

[0119] In the following embodiments, each step may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each step may be changed, and at least two steps may be performed in parallel. Steps (810) to (820) may be performed by at least one component of an electronic device.

[0120] Let N be the number of candidate nodes determined according to the method described above in Fig. 5, and let K be the number of waiting places required.

[0121] In step (810), if the electronic devices have more than K, candidate nodes can be grouped into K groups based on a clustering algorithm.

[0122] In other words, if the number of determined candidate nodes is greater than the number of required waiting places, the electronic device can group the candidate nodes into K groups based on a clustering algorithm. The clustering algorithm may include at least one of the K-median algorithm, the K-means algorithm, and the EM (expectation maximization) algorithm. However, this is merely an example and the present disclosure is not limited thereto, and it is obvious to those skilled in the art that various other clustering algorithms other than the algorithms described above may be used to cluster the number of candidate nodes.

[0123] Let us assume that the electronic device groups candidate nodes into K groups using the weighted K-median algorithm. The electronic device can determine the weights between candidate nodes and ports using various indicators.

[0124] According to one embodiment, an electronic device may calculate a weight based on at least one of items related to the workload of a port where work is predicted to occur and items related to the distance from candidate nodes to the port (i.e., the node corresponding to the port). Items related to the workload of a port where work is predicted to occur may include the workload for the port, the predicted workload for the port, and a representative value of the workload for the port. The workload for the port may be an accurate workload. For example, the workload for the port may be an accurate workload received from a user or from a separate system. The predicted workload for the port may be data predicted by an artificial intelligence model or calculated from data related to collected workload. Items related to the distance from candidate nodes to the port may include travel distance and travel time from candidate nodes to the port or values ​​related thereto. The travel distance may be represented using the Manhattan distance.

[0125] According to one embodiment, when an electronic device determines weights between candidate nodes and a port where work is predicted to occur using the workload of a port where work is predicted to occur, the workload of a port where work is predicted to occur can be allocated to candidate nodes in various ways.

[0126] For example, an electronic device can determine weights by assuming that a candidate node handles the workload for a port where work is predicted to occur. In this case, for other candidate nodes, items related to the workload of that port may be set to 0.

[0127] For example, an electronic device can determine weights by assuming that each of two or more candidate nodes handles the entire workload for a single port where work is predicted to occur. In this case, for each of the two or more candidate nodes, the item related to the workload of that port can be set to the same value. For example, if the workload for a single port where work is predicted to occur is 100, the item related to the workload of that port can be set to 100 for each of the two or more candidate nodes.

[0128] For example, an electronic device can determine weights by assuming that the workload for a port where work is predicted to occur is divided and processed by two or more candidate nodes. For instance, if the workload for a port where work is predicted to occur is 100, the item related to the workload of that port can be set to 50 for each of the two or more candidate nodes.

[0129] In conclusion, the electronic device can group candidate nodes with similar characteristics into K groups through a clustering algorithm.

[0130] In step (820), the electronic device can determine one target node from each of the K groups and determine them as target nodes.

[0131] The electronic device can determine a total of K target nodes by determining one target node from each of the K groups. The electronic device can determine the target node from each group in various ways. The electronic device can determine a node among the nodes belonging to the same group that satisfies a specific algorithm as the target node. For example, the specific algorithm may be an algorithm that determines the node as the target node that minimizes the sum of the travel distances to other nodes belonging to the same group.

[0132] When the electronic device determines the target nodes, it can place idle mobile bodies at at least some of the target nodes at a specific time according to step (320) of FIG. 3.

[0133] Referring to FIG. 9, a diagram is shown to explain a method for determining target nodes according to steps (810) and (820).

[0134] Referring to FIG. 9, a track (900) is shown displaying only the candidate nodes determined in FIG. 5. Referring to FIG. 9, there are a total of 8 candidate nodes. That is, N can be 8. Assuming the number of required waiting places is 2, K can be 2. The electronic device can compare N and K. Since N is greater than K, the electronic device can group the 8 candidate nodes into 2 groups based on a clustering algorithm. For example, as a result of applying the clustering algorithm, nodes 3, 5, 10, and 12 can be grouped into group 1 (910), and nodes 17, 19, 24, and 26 can be grouped into group 2 (920).

[0135] The electronic device can determine the target node by applying a specific algorithm to each of group 1 (910) and group 2 (920). For example, as a result of the electronic device applying a specific algorithm, node 3 in group 1 (910) and node 24 in group 2 (920) can be determined as the target node.

[0137] FIGS. 10 and FIGS. 11 are drawings for explaining a case in which the number of candidate nodes according to one embodiment of the present disclosure is less than the number of required waiting places.

[0138] Referring to FIG. 10, a flowchart of an electronic device for determining target nodes when the number of candidate nodes is smaller than the number of required waiting places is shown.

[0139] In the following embodiments, each step may be performed sequentially, but is not necessarily performed sequentially. For example, the order of each step may be changed, and at least two steps may be performed in parallel. Steps (1010) to (1020) may be performed by at least one component of an electronic device.

[0140] Let N be the number of candidate nodes determined according to the method described above in Fig. 5, and let K be the number of waiting places required.

[0141] In step (1010), if the electronic device has N fewer than K, it can apply a clustering algorithm to at least some of the second remaining nodes excluding N candidate nodes from the first remaining nodes to group at least some of the second remaining nodes into KN groups.

[0142] The first remaining nodes may be nodes from which the blacklist has been removed from multiple nodes. The nodes excluding candidate nodes from the first remaining nodes can be called the second remaining nodes.

[0143] When N is less than K, the electronic device can determine N candidate nodes as target nodes. However, since K target nodes are required but only N target nodes—which is less than K—have been determined, KN target nodes may need to be determined further. However, even when determining KN target nodes, nodes that do not satisfy a predetermined distance may need to be excluded, as explained in FIG. 5. Therefore, the electronic device can apply a clustering algorithm to generate KN groups for at least some of the second set of remaining nodes (i.e., nodes excluding those that do not satisfy a predetermined distance from the total second set of remaining nodes). The clustering algorithm is described in detail in FIG. 8, so I will omit further explanation.

[0144] In step (1020), the electronic device can determine one of the second remaining nodes in each of the KN groups and determine them as target nodes along with N candidate nodes.

[0145] The electronic device can determine one second remainder node in each of KN groups. The electronic device can determine one second remainder node in each of KN groups according to a specific algorithm and determine K target nodes along with N candidate nodes. As the specific algorithm for determining one node in a group can be applied as described in FIG. 8, I will omit the explanation.

[0146] When the electronic device determines the target nodes, it can place idle mobile bodies at at least some of the target nodes at a specific time according to step (320) of FIG. 3.

[0147] Referring to FIG. 10, a diagram is shown to explain a method for determining target nodes according to step (1010) and step (1020).

[0148] Referring to FIG. 10, a track (1100) is shown that includes the first remaining nodes, excluding only the blacklist, among the plurality of nodes shown in FIG. 5. Let us assume that the number of required waiting places in FIG. 10 is 10. At this time, since there are 8 candidate nodes determined in FIG. 5, N may be smaller than K. The electronic device can determine all 8 candidate nodes as target nodes. The electronic device can determine 2 additional target nodes that are missing.

[0149] The electronic device may apply a clustering algorithm to group the second remaining nodes, excluding candidate nodes among the first remaining nodes, into NK groups. In the track (1100), the second remaining nodes, excluding candidate nodes among the first remaining nodes, may include Node 2, Node 4, Node 6, Node 9, Node 11, Node 13, Node 16, Node 18, Node 20, Node 23, Node 25, and Node 27.

[0150] As described above, the electronic device can apply a clustering algorithm by excluding nodes among the second remaining nodes that do not satisfy a predetermined distance. In other words, the electronic device can apply a clustering algorithm to the second remaining nodes from which nodes 11 and 25, which do not satisfy a predetermined distance, have been excluded. As a result of applying the clustering algorithm, two groups (not shown) (10 - 8 = 2) can be generated. The electronic device can determine two additional target nodes by selecting one of the second remaining nodes from each of the two groups.

[0151] As a result, the electronic device can determine the 2 second remaining nodes selected through the clustering algorithm with 8 candidate nodes as target nodes.

[0153] Meanwhile, the method according to the present invention is written as a program executable on a computer and can also be implemented on various recording media such as magnetic storage media, optical reading media, and digital storage media.

[0154] Implementations of the various technologies described herein may be implemented as digital electronic circuits, or as computer hardware, firmware, software, or combinations thereof. Implementations may be implemented as computer program products, i.e., computer programs tangibly embodied in information carriers, such as machine-readable storage devices (computer-readable media) or radio signals, for processing by the operation of data processing devices, e.g., programmable processors, computers, or multiple computers, or for controlling such operation. Computer programs such as the computer program(s) described above may be written in any form of programming language, including compiled or interpreted languages, and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. Computer programs may be deployed to be processed on one computer or multiple computers at one site, or distributed across multiple sites and interconnected by a communication network.

[0155] Processors suitable for processing computer programs include, for example, both general-purpose and special-purpose microprocessors, and any one or more processors of any type of digital computer. Generally, the processor will receive instructions and data from read-only memory or random access memory, or both. The elements of the computer may include at least one processor that executes instructions and one or more memory devices that store instructions and data. Generally, the computer may include one or more mass storage devices that store data, for example, magnetic, magneto-optical disks, or optical disks, or may be combined to receive data from these, transmit data to these, or both. Information carriers suitable for embodying computer program instructions and data include, for example, semiconductor memory devices, magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs (Compact Disk Read Only Memory) and DVDs (Digital Video Disks); magneto-optical media such as floptical disks; ROMs (Read Only Memory); RAMs (Random Access Memory); flash memory; EPROMs (Erasable Programmable ROM); EEPROMs (Electrically Erasable Programmable ROM); etc. Processors and memory may be supplemented by or included in special-purpose logic circuit organizations.

[0156] Additionally, a computer-readable medium may be any available medium accessible by a computer and may include both computer storage media and transmission media.

[0157] Although this specification contains details of a number of specific embodiments, they should not be understood as limiting the scope of any invention or claimables, but rather as descriptions of features that may be characteristic of a specific embodiment of a specific invention. Specific features described in this specification in the context of individual embodiments may be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented in multiple embodiments individually or in any appropriate sub-combination. Furthermore, while features may operate in a specific combination and be described as initially claimed, one or more features from the claimed combination may be excluded from the combination in some cases, and the claimed combination may be changed to a sub-combination or a variation of the sub-combination.

[0158] Likewise, although operations are depicted in the drawings in a specific order, this should not be understood as requiring that such operations be performed in that specific or sequential order depicted to obtain a desirable result, or that all depicted operations must be performed. In certain cases, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various device components of the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and devices can generally be integrated together into a single software product or packaged into multiple software products.

[0159] Meanwhile, the embodiments of the present invention disclosed in this specification and drawings are merely specific examples provided to aid understanding and are not intended to limit the scope of the present invention. It is obvious to those skilled in the art that other variations based on the technical concept of the present invention are possible in addition to the embodiments disclosed herein.

Claims

Claim 1 A method of operation of an electronic device comprises: determining target nodes among a plurality of nodes that are places to wait for idle mobiles until work assignment based on the connection status of a plurality of nodes included in a track; and placing idle mobiles in at least some of the target nodes based on a placement algorithm for placing idle mobiles in the target nodes, wherein the operation of determining the target nodes includes: removing nodes corresponding to a blacklist among the plurality of nodes; and determining target nodes from a first set of remaining nodes from which the blacklist has been removed, wherein the operation of determining target nodes from the first set of remaining nodes from which the blacklist has been removed includes: determining at least some of the port nodes corresponding to a port where mobiles perform work as candidate nodes; comparing N, the number of candidate nodes, with K, the number of predetermined waiting places to place idle mobiles; and determining the target nodes based on the result of comparing N and K. Claim 2 delete Claim 3 A method of operation according to claim 1, wherein the nodes corresponding to the blacklist include at least some of the nodes corresponding to the point where the segment of the track splits into at least two, the nodes corresponding to the point where at least two segments merge, and the nodes selected as a blacklist by the user. Claim 4 delete Claim 5 A method of operation according to claim 1, wherein the operation of determining at least some of the port nodes corresponding to the port as candidate nodes comprises determining either the first port node or the second port node as a candidate node when the distance between adjacent first port nodes and second port nodes placed in the same segment is less than a predetermined distance, and determining both the first port node and the second port node as candidate nodes when the distance between adjacent first port nodes and second port nodes placed in the same segment is greater than or equal to a predetermined distance. Claim 6 In paragraph 5, the above-mentioned predetermined distance is determined based on the length of the moving body and the detection distance that the moving body can detect through a sensor, a specific mathematical formula or user input, or is dynamically determined according to specific conditions, a method of operation. Claim 7 The operation of determining the target nodes based on the comparison result in claim 1 is a method of operation in which the candidate nodes are determined as the target nodes when the N and K are identical. Claim 8 A method of operation according to claim 1, wherein the operation of determining the target nodes based on the comparison result comprises: the operation of grouping the candidate nodes into the K groups based on a clustering algorithm when the N is greater than the K; and the operation of determining one target node from each of the K groups and determining them as the target nodes. Claim 9 In claim 8, the clustering algorithm comprises at least one of the K-median algorithm, the K-means algorithm, and the EM (expectation maximization) algorithm, in a method of operation. Claim 10 A method of operation according to claim 1, wherein the operation of determining the target nodes based on the comparison result comprises: when N is less than K, applying a clustering algorithm to at least some of the second remaining nodes excluding the N candidate nodes from the first remaining nodes to group at least some of the second remaining nodes into KN groups; and determining one of the second remaining nodes from each of the KN groups and determining them together with the N candidate nodes as the target nodes. Claim 11 In claim 10, the clustering algorithm comprises at least one of the K-median algorithm, the K-means algorithm, and the EM (expectation maximization) algorithm, in a method of operation. Claim 12 In claim 1, the method of operation wherein the placement algorithm comprises at least one of a greedy algorithm, a linear assignment algorithm, a hungarian algorithm, and a shortest augmenting path algorithm. Claim 13 In claim 12, the method of operation is based on a cost function determined based on at least one of the following: indicators related to the distance between the target nodes and port nodes corresponding to the port to which the work is assigned, a workload indicator, and weights of a clustering algorithm. Claim 14 A method of operation of an electronic device comprising: removing nodes corresponding to a blacklist from a plurality of nodes included in a track; determining candidate nodes from among the first remaining nodes from which the blacklist has been removed among the plurality of nodes; determining target nodes from the candidate nodes based on an algorithm corresponding to the result of comparing N, the number of candidate nodes, and K, the number of predetermined waiting places to place idle mobiles; and placing a plurality of idle mobiles on at least some of the target nodes based on a placement algorithm. Claim 15 In claim 14, the operation of determining target nodes based on the above algorithm is a method of operation in which, when the above N and the above K are identical, the above candidate nodes are determined as the above target nodes. Claim 16 In claim 14, the operation of determining target nodes based on the above algorithm comprises: the operation of grouping the candidate nodes into the above K groups based on a clustering algorithm when the above N is greater than the above K; and the operation of determining one target node from each of the above K groups and determining it as the target nodes. Claim 17 In claim 14, the operation of determining target nodes based on the above algorithm comprises: when N is less than K, applying a clustering algorithm to at least some of the second remainders excluding the N candidate nodes from the first remainder nodes to group at least some of the second remainders into KN groups; and determining one of the second remainder nodes from each of the KN groups and determining them together with the N candidate nodes as the target nodes. Claim 18 A computer-readable recording medium storing one or more computer programs comprising instructions for executing any one of the operations of paragraphs 1, 3, 5 through 17. Claim 19 An electronic device comprising a processor for controlling idle mobiles, wherein the processor determines target nodes among a plurality of nodes that are places to wait for idle mobiles until work assignment based on the connection status of a plurality of nodes included in a track, and places the idle mobiles in at least some of the target nodes based on a placement algorithm for placing the idle mobiles in the target nodes, wherein the processor removes nodes corresponding to a blacklist among the plurality of nodes and determines target nodes from a first remaining node from which the blacklist has been removed, wherein the processor determines at least some of the port nodes corresponding to a port where the mobiles perform work as candidate nodes, compares N, the number of candidate nodes, with K, the number of predetermined waiting places to place the idle mobiles, and determines the target nodes based on the result of comparing N and K.

Citation Information

Patent Citations

  • System and method for path planning

    KR1020210108479A

  • Route estimation system, route estimation method, and program

    JP2021135556A

  • Dynamic Routing Method and Apparatus for Overhead Hoist Transport System

    KR1020210133126A

  • Method, system, and program for creating work and movement plan for repositioning object through collaboration of multiple manipulator robots

    KR1020240003844A