Electronic device for placing idle moving bodies and operation method thereof
The electronic device optimally places idle AGVs and AMRs using clustering and placement algorithms, addressing congestion and waiting time issues by strategically selecting target nodes, thereby enhancing system performance.
Patent Information
- Application Number
- PCT/KR2024/007284
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-04-19
- Filing Date
- 2024-05-29
- Publication Date
- 2025-10-23
AI Technical Summary
Idle unmanned transport vehicles, such as AGVs and AMRs, conventionally wait for tasks at designated locations or areas, leading to potential congestion and increased waiting times due to inefficient node selection and placement.
An electronic device determines optimal target nodes using clustering and placement algorithms to minimize interference and optimize the placement of idle mobile units based on connection states, blacklisted nodes, and port nodes, employing methods like K-median, K-mean, and EM algorithms.
Reduces computational load, minimizes vehicle interference, prevents congestion, and reduces waiting times by strategically placing idle vehicles at optimal target nodes for quick task assignment.
Smart Images

Figure KR2024007284_23102025_PF_FP_ABST
Abstract
Description
Electronic device for deploying idle mobile units and method of operating the same
[0001] An electronic device for deploying idle moving objects and a method of operating the same are disclosed.
[0002] Unmanned transport vehicles, such as automated guided vehicles (AGVs) and autonomous mobile robots (AMRs), are being used in a variety of industries. Examples include overhead hoist transport (OHTs) used within semiconductor wafer manufacturing facilities (fabs) and robots used to automate product transport in logistics warehouses.
[0003] Among unmanned transport vehicles, those that are not assigned a task or have completed an assigned task are considered idle. Idle vehicles can wait for tasks to be assigned. Conventionally, idle vehicles can be placed on standby at a location where they have completed a task or moved to a user-designated waiting area to wait.
[0004] The background technology described above is possessed or acquired during the process of deriving the present disclosure, and cannot necessarily be said to be a publicly known technology disclosed to the general public prior to the filing of the present disclosure.
[0005] The present disclosure provides an electronic device and an operating method thereof that extract candidate nodes from among nodes existing in a track and determine target nodes corresponding to a waiting location based on the candidate nodes.
[0006] The present disclosure provides an electronic device and an operating method thereof for determining optimal target nodes using a clustering algorithm.
[0007] The present disclosure provides an electronic device and an operating method thereof for optimally placing idle mobile devices in target nodes using a placement algorithm.
[0008] According to one embodiment, an operating method of an electronic device may include an operation of determining target nodes to which idle mobiles are to be placed among a plurality of nodes included in a track based on a connection state of the nodes, and an operation of placing the idle mobiles on at least some of the target nodes based on a placement algorithm that places the idle mobiles on the target nodes.
[0009] According to one embodiment, the operation of determining the target nodes may include an operation of removing nodes corresponding to a black list from among the plurality of nodes, and an operation of determining target nodes from the first remaining nodes from which the black list has been removed.
[0010] According to one embodiment, the nodes corresponding to the black list may include at least some of nodes corresponding to points where segments of the track split into at least two, nodes corresponding to points where at least two segments merge, and nodes selected by the user as a black list.
[0011] According to one embodiment, the operation of determining target nodes from the first remaining nodes from which the black list has been removed may include an operation of determining at least some of the port nodes corresponding to ports on which mobiles perform work in the connected state as candidate nodes, an operation of comparing N, which is the number of candidate nodes, with K, which is the number of predetermined waiting areas in which idle mobiles are to be placed, and an operation of determining the target nodes based on a comparison 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 may include determining a port node disposed opposite to the direction of travel of the same segment among the first port node and the second port node as a candidate node when the distance between adjacent first port nodes and second port nodes disposed 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 disposed in the same segment is greater than or equal to the predetermined distance.
[0013] In one embodiment, the predetermined distance may be determined based on the length of the moving object and the detection distance that the moving object can detect through a sensor, a specific mathematical formula, or a user input, or may be determined dynamically according to specific conditions.
[0014] According to one embodiment, the operation of determining the target nodes based on the comparison result may determine the candidate nodes as the target nodes when the N and the K are the same.
[0015] According to one embodiment, the operation of determining the target nodes based on the comparison result may include, when the N is greater than the 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 and determining the target nodes.
[0016] According to one embodiment, the clustering algorithm may include at least one of a K-median algorithm, a K-mean algorithm, and an EM (expectation maximization) algorithm.
[0017] According to one embodiment, the operation of determining the target nodes based on the comparison result may include, when the N is less than the 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 second remaining node from each of the KN groups and determining it as the target nodes together with the N candidate nodes.
[0018] According to one embodiment, the clustering algorithm may include at least one of a K-median algorithm, a K-mean algorithm, and an 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 metrics related to the distance between the target nodes and port nodes corresponding to the ports to which the jobs are assigned, a workload metric, and weights of a clustering algorithm.
[0021] According to one embodiment, a method of operating an electronic device may include an operation of removing nodes corresponding to a black list from a plurality of nodes included in a track, an operation of determining candidate nodes from among first remaining nodes from which the black list has been removed among the plurality of nodes, an operation of determining target nodes from the candidate nodes based on an algorithm corresponding to a result of comparing N, which is the number of candidate nodes, with K, which is the number of predetermined waiting locations in which idle mobiles are to be placed, and an operation of placing a plurality of idle mobiles on at least some of the target nodes based on the placement algorithm.
[0022] According to one embodiment, the operation of determining target nodes based on the algorithm may determine the candidate nodes as the target nodes when the N and the K are the same.
[0023] According to one embodiment, the operation of determining target nodes based on the algorithm may include, when the N is greater than the 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 and determining the target nodes.
[0024] According to one embodiment, the operation of determining target nodes based on the algorithm may include, when the N is less than the 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 second remaining node from each of the KN groups to be the target nodes together with the N candidate nodes.
[0025] According to one embodiment, a computer-readable recording medium can store one or more computer programs including instructions for performing any of the operations described above.
[0026] According to one embodiment, an electronic device includes a processor for controlling idle mobiles, wherein the processor determines target nodes to which idle mobiles are to be placed among a plurality of nodes included in a track based on a connection state of the plurality of nodes, and places 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.
[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 a waiting location 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 of an idle vehicle with other vehicles can be minimized, thereby preventing congestion.
[0030] According to one embodiment of the present disclosure, by optimally placing idle vehicles at target nodes, when an idle vehicle is assigned a task, it can quickly arrive at the node where the task occurred.
[0031] FIG. 1 is a drawing for explaining an automation system using mobile bodies according to one embodiment of the present disclosure.
[0032] Figure 2 is a drawing for explaining a waiting area for an idle mobile device.
[0033] FIG. 3 is a flowchart for explaining an operating method of an electronic device according to one embodiment of the present disclosure.
[0034] FIG. 4 is a flowchart illustrating a method for determining target nodes according to one embodiment of the present disclosure.
[0035] FIG. 5 is a diagram illustrating a method for selecting candidate nodes according to one embodiment of the present disclosure.
[0036] FIG. 6 and FIG. 7 are diagrams for explaining a 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.
[0037] FIG. 8 and FIG. 9 are diagrams for explaining a case where the number of candidate nodes according to one embodiment of the present disclosure is greater than the number of required waiting locations.
[0038] FIG. 10 and FIG. 11 are diagrams for explaining a case where the number of candidate nodes according to one embodiment of the present disclosure is less than the number of required waiting locations.
[0039] 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. The same reference numerals in each drawing represent the same components.
[0040] The embodiments described below may be modified in various ways. The embodiments described below are not intended to be limiting in their specific form, and should be understood to encompass all modifications, equivalents, and alternatives thereof.
[0041] While terms like "first" and "second" may be used to describe various components, these terms should be understood only to distinguish one component from another. For example, a "first" component may be referred to as a "second" component, and similarly, a "second" component may also be referred to as a "first" component.
[0042] The terms used in the examples are used only to describe specific embodiments and are not intended to limit the embodiments. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this specification, each of the 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" can include any one of the items listed together in the corresponding phrase among the phrases, or all possible combinations thereof. In this specification, it should be understood that the terms "comprise" or "have" and the like specify the presence of a feature, number, step, operation, component, part, or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.
[0043] Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the art to which the embodiments pertain. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant technology, and shall not be interpreted in an idealized or overly formal sense unless explicitly defined herein.
[0044] In addition, when describing with reference to the attached drawings, identical components will be assigned the same reference numerals regardless of the drawing numbers, and redundant descriptions thereof will be omitted. When describing embodiments, if a detailed description of a related known technology is judged to unnecessarily obscure the gist of the embodiment, the detailed description will be omitted.
[0045] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
[0046]
[0047] FIG. 1 is a drawing for explaining an automation system using mobile bodies according to one embodiment of the present disclosure.
[0048] Referring to FIG. 1, an automated system (100) that processes work using a plurality of moving bodies (131, 133, 135) is illustrated.
[0049] Referring to FIG. 1, the electronic device (110) may include a processor (111) and a memory (113). Only components related to the present embodiments are illustrated in the electronic device (110) illustrated in FIG. 1. Therefore, it will be apparent to those skilled in the art that the electronic device (110) may further include other general components in addition to the components illustrated in FIG. 1.
[0050] The processor (111) may perform an overall function for controlling the electronic device (110). The processor (111) may control the electronic device (110) overall by executing programs and / or commands stored in the memory (113). The processor (111) may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), etc., provided in the electronic device (110), but is not limited thereto.
[0051] The memory (113) may be hardware that stores data processed and data to be processed within the electronic device (110). In addition, the memory (113) may store applications, drivers, etc. to be driven by the electronic device (110). The memory (113) may include volatile memory such as dynamic random access memory (DRAM) and / or nonvolatile memory.
[0052] The electronic device (110) may be configured using a server or the like, but the present invention is not necessarily limited thereto. Furthermore, depending on the operating environment, the electronic device (110) may not be implemented as a separate device but may be configured in combination with one or more mobile devices.
[0053] Referring to FIG. 1, a plurality of mobiles (131, 133, 135) and an electronic device (110) can communicate via a network (120). The plurality of mobiles (131, 133, 135) and the electronic device (110) can transmit and receive various data and / or commands via the network (120). For example, the electronic device (110) can receive battery status from the plurality of mobiles (131, 133, 135). For example, the electronic device (110) can receive operation-related data from the plurality of mobiles (131, 133, 135). For example, the electronic device (110) can transmit control commands to the plurality of mobiles (131, 133, 135). The network (120) can 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 wireless fidelity (Wi-Fi). However, the above-described network (120) is merely an example, and the present disclosure is not limited thereto.
[0054] Referring to FIG. 1, a schematic workspace (160) is illustrated in which a plurality of moving objects (131, 133, 135) perform a plurality of tasks (141, 143, 145). The workspace (160) may include a plurality of moving objects (131, 133, 135), a plurality of tasks (141, 145, 147), and a plurality of charging stations (170, 180). The workspace (160) may include a plurality of intersections (151, 152, 153, 154, 155, 156, 157).
[0055] The plurality of mobile objects (131, 133, 135) may be automated guided vehicles (AGVs) and autonomous mobile robots (AMVs). While the present disclosure describes the mobile objects as being automated guided vehicles or autonomous mobile robots that perform the task of transporting objects, the present disclosure is not limited thereto. For example, the mobile objects may be robots, autonomous vehicles, and drones that perform specific tasks. Furthermore, it will be apparent to those skilled in the art that the mobile objects may also include human-driven vehicles that follow central control.
[0056] The plurality of tasks (141, 145, 147) may have various meanings, such as objects requiring transport work or locations where specific tasks are performed. The plurality of tasks (141, 143, 145) may be assigned to the plurality of moving objects (131, 133, 135). For example, the task (141) may be assigned to the moving object (131). The plurality of moving objects (131, 133, 135) may be assigned the plurality of tasks (141, 145, 147) through various methods (i.e., various task assignment policies).
[0057] Multiple intersections (151, 152, 153, 154, 155, 156, 157) may indicate points where a segment splits or merges into at least two.
[0058] A node may include multiple intersections (151, 152, 153, 154, 155, 156, 157) and points where multiple tasks can occur. Furthermore, a node may include feature points set by a user even if they are not multiple intersections (151, 152, 153, 154, 155, 156, 157) and points where multiple tasks can occur.
[0059] Referring to FIG. 1, a workspace (160) may include a track along which a plurality of moving objects (131, 133, 135) move. The track may include a plurality of segments. The plurality of segments may include a lower segment divided into two adjacent nodes and an upper segment including consecutive lower segments having the same direction of travel.
[0060] The plurality of segments may be paths along which the plurality of moving objects (131, 133, 135) move. In the work space (160), the plurality of segments are shown as being unidirectional, but this is merely an example, and it is obvious to those skilled in the art that they may also be bidirectional. The track may be a guide rail along which the plurality of moving objects (131, 133, 135) can move, but the present disclosure is not limited thereto. For example, the track may refer to a road surface (e.g., a road, a corridor, etc.) or space without a separate rail installed along which the plurality of moving objects (131, 133, 135) can freely pass.
[0061] A plurality of mobile objects (131, 133, 135) can move by using batteries. In order to maintain a state in which the plurality of mobile objects (131, 133, 135) can perform a task, a plurality of charging stations (170, 180) may need to be placed on one side of the work space (160). When the plurality of mobile objects (131, 133, 135) are assigned a charging task, they can visit the plurality of charging stations (170, 180) to charge their batteries. Assignment of the charging task to the plurality of mobile objects (131, 133, 135) can be performed by the electronic device (110) via the network (120). The electronic device (110) can utilize a charging policy to assign the charging task while minimizing the impact on the task. In one embodiment, when a mobile device is powered by a wireless power transfer method, the plurality of mobile devices (131, 133, 135) may not include a battery. When a mobile device is powered by a wireless power transfer method, the plurality of charging stations (170, 180) may not be required. In other words, the plurality of charging stations (170, 180) may not be arranged on one side of the work space (160).
[0062] 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. The waiting area for the idle moving object will be described below.
[0063]
[0064] Figure 2 is a drawing for explaining a waiting area for an idle mobile device.
[0065] Referring to FIG. 2, an exemplary track (200) is illustrated, which comprises at least a portion of a workspace. The track (200) may include a plurality of nodes. A description of the nodes will be omitted as they have been described above in FIG. 1. The moving objects (210, 220) may move along the direction of movement of the track.
[0066] When a mobile device (210, 220) is assigned a task for a specific port, it can move to a node corresponding to the specific port and perform the task. For example, when a mobile device (210) is assigned a task for a port (230), the mobile device (210) can move to a node (240) corresponding to the port (230) and perform the task for the port (230).
[0067] Let us assume that the mobile (220) is an idle mobile and is waiting at the location shown in FIG. 2. Furthermore, let us assume that the mobile (210) has been assigned a task for a port (230). On the track (200), two or more identical mobiles cannot pass the same point. Therefore, the mobile (210) may not be able to directly reach the node (240) corresponding to the port (230) due to the presence of the mobile (220) and may have to take a longer detour. In other words, the mobile (210) may have to make a significant detour around 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 (220) waits at a location where it does not interfere with other mobiles, the detour of the mobile (210) and / or congestion in the system can be prevented.
[0068] One indicator of the performance of an automated system is the average return time. The average return time can be expressed as the sum of the waiting time, loading time, movement time, and unloading time of an item. For example, the waiting time of an item can be the time it takes for a mobile device to move from being assigned a task to the item. The waiting time can be the time it takes for a waiting mobile device to be assigned a task and move to the task location (i.e., the node corresponding to the port). The loading time can be the time it takes for the mobile device to arrive at the task location and load the target item. The movement time can be the time it takes for the mobile device to move from loading the target item to the unloading location. The unloading time can be the time it takes for the mobile device to arrive at the unloading location and unload the target item. Among these, the loading time and unloading time are fixed, making it difficult to improve them by changing the operational logic of the automated system. Therefore, reducing the waiting time and movement time may be necessary to improve the performance of an automated system.
[0069] Let us assume that a mobile device (220) is assigned a task for a port (250) while waiting. In this case, the waiting time of the mobile device (220) may be longer than the waiting time when the mobile device (220) is assigned a task for a port (230) while waiting. If the mobile device (220) waits at a point adjacent to a node (260) corresponding to the port (250), the waiting time may be reduced.
[0070] Therefore, the present disclosure will describe a method for improving the performance of a system by determining a waiting location that minimizes interference with other moving objects, thereby preventing congestion, and by reducing waiting time by placing idle moving objects in waiting locations adjacent to points (280, 290) where work is expected to occur.
[0071]
[0072] FIG. 3 is a flowchart for explaining an operating method of an electronic device according to one embodiment of the present disclosure.
[0073] In the following embodiments, the steps may be performed sequentially, but are not necessarily sequential. For example, the order of the steps may be changed, and at least two steps may be performed in parallel. Steps (310) and (320) may be performed by at least one component of the electronic device.
[0074] In step (310), the electronic device can determine target nodes to place idle mobile objects among a plurality of nodes based on the connection status of the plurality of nodes included in the track.
[0075] Using all of the multiple nodes included in a track can lead to excessively large computational resources. Therefore, the present disclosure reduces computational resources by extracting some nodes from a plurality of nodes based on their connection status and using only these nodes to determine target nodes for deploying idle vehicles. The method of extracting some nodes from a plurality of nodes and using these nodes to determine target nodes will be described later in FIGS. 4 to 11.
[0076] To determine target nodes, the number of target nodes (i.e., the number of waiting locations) may first need to be determined. Electronic devices can determine the number of target nodes in various ways.
[0077] In one embodiment, the electronic device may determine the number of target nodes equal to the number of mobile devices included in the automated system. For example, if the number of mobile devices is 50, the electronic device may determine the number of target nodes to be 50.
[0078] According to one embodiment, the electronic device may determine the number of target nodes as a fixed number that is greater than the number of mobile devices included in the automated system, but proportional to the number of mobile devices. For example, if the number of mobile devices is 1 to 15, the electronic device may determine the number of target nodes as 15. If the number of mobile devices is 16 to 30, the electronic device may determine the number of target nodes as 30.
[0079] 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 as the same number as the number of idle vehicles currently present in the automated system. That is, if 10 out of a total of 50 vehicles in the current system are idle vehicles, the electronic device can determine the number of target nodes as 10. For example, the electronic device can determine the number of target nodes as a fixed number that is greater than the number of idle vehicles currently present in the automated system, but proportional to the number of idle vehicles. That is, if the number of idle vehicles in the current system is 1 to 15, the electronic device can determine the number of target nodes as 15. Furthermore, if the number of idle vehicles in the current system is 16 to 30, the electronic device can determine the number of target nodes as 30.
[0080] According to one embodiment, the electronic device can determine the maximum number of target nodes to be equal to or greater than the total number of mobile devices included in the automated system. The electronic device can determine the number of target nodes corresponding to the generated idle mobile devices by dividing the maximum number of target nodes into sections. For example, let's assume that the total number of mobile devices is 30 and the maximum number of target nodes is 35. The electronic device can determine 5 target nodes when 1 to 5 idle mobile devices are generated. The electronic device can determine 10 target nodes when 6 to 10 idle mobile devices are generated. The electronic device can determine 20 target nodes when 11 to 20 idle mobile devices are generated. The electronic device can determine 35 target nodes when 21 to 30 idle mobile devices are generated.
[0081] In step (320), the electronic device may place idle mobiles on at least some of the target nodes based on a placement algorithm that places idle mobiles on the target nodes.
[0082] The electronic device may place idle mobiles on at least some of the target nodes at various points in time.
[0083] According to one embodiment, when a mobile device is determined to be about to complete a task among the mobile devices in operation (i.e., when an idle mobile device is determined), the electronic device may place at least some of the idle mobile devices in at least some of the target nodes. For example, when a mobile device is determined to be about to complete a task, the electronic device may place the mobile device in at least some of the target nodes. For example, when a mobile device is determined to be about to complete a task, the electronic device may place all of the idle mobile devices, including the mobile device, in at least some of the target nodes.
[0084] According to one embodiment, when a mobile device that has completed its work is generated among the mobile devices in operation (i.e., when an idle mobile device is generated), the electronic device may place at least some of the idle mobile devices in at least some of the target nodes. For example, when a mobile device that has completed its work is generated, the electronic device may place the mobile device in at least some of the target nodes. For example, when a mobile device that has completed its work is generated, the electronic device may place all of the idle mobile devices, including the mobile device, in at least some of the target nodes.
[0085] According to one embodiment, the electronic device can place at least some of the idle mobiles on at least some of the target nodes at specific intervals.
[0086] An electronic device can optimally place idle vehicles on at least some of the target nodes using a placement algorithm. The electronic device can utilize various placement algorithms. The electronic device can use at least one of a greedy algorithm, a linear assignment algorithm, a Hungarian algorithm, or a shortest augmenting path algorithm as the placement algorithm. However, the above-described placement algorithms are merely examples, and the present disclosure is not limited thereto. It will be apparent to those skilled in the art that idle vehicles can be placed on target nodes using various other placement algorithms.
[0087] An electronic device can optimally deploy idle mobile devices using a placement algorithm based on a cost function. The cost function can be determined based on at least one of: distance-related indicators between target nodes and port nodes corresponding to ports assigned to tasks, workload indicators, and clustering algorithm weights.
[0088] In one embodiment, an electronic device may utilize a cost function based on metrics correlated with distance. The electronic device may utilize a cost function including metrics related to the distance between target nodes and nodes corresponding to ports where work is expected to occur. Distance-related metrics may include the distance and travel time from the target node where the idle vehicle is deployed to the node corresponding to the port where the work is expected to occur. For example, the electronic device may deploy the idle vehicle to the target node closest to the port where the work is expected to occur.
[0089] In one embodiment, the cost function may be determined by the electronic device based on a workload indicator of the automated system. For example, the electronic device may place an idle mobile device on a target node adjacent to a node corresponding to a port expected to have the highest workload.
[0090] In one embodiment, the cost function may be determined based on the weights of the clustering algorithm. For example, the electronic device may place an idle vehicle on a specific target node if the clustering algorithm has a high weight, even if the target node is far from the node corresponding to the port where work is expected to occur. For example, the electronic device may place an idle vehicle on a specific target node if the clustering algorithm has a high weight, even if the target node is not adjacent to the node corresponding to the port where work is expected to be heavy.
[0091] In one embodiment, the electronic device may utilize a cost function based on the weights of the algorithm used to determine the target node. For example, the electronic device may directly utilize the weights from the weighted k-median algorithm used to determine the target node in the cost function. Alternatively, the electronic device may determine the weights of the cost function using the method for determining the weights of the algorithm used to determine the target node, along with the distance-related indicators described above.
[0092] Below, we will explain how to determine the target node of step (310).
[0093]
[0094] FIG. 4 is a flowchart illustrating a method for determining target nodes according to one embodiment of the present disclosure.
[0095] In the following embodiments, the steps may be performed sequentially, but are not necessarily sequential. For example, the order of the steps 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.
[0096] In step (410), the electronic device can remove nodes corresponding to the black list from among a plurality of nodes.
[0097] The electronic device can first remove nodes that fall within a blacklist from among multiple nodes included in the track. The blacklist may refer to nodes that should not be determined as target nodes. The blacklist may include nodes set by the user, unavailable nodes, or nodes that fall within a specific connection state. For example, the blacklist may include nodes that the user has set not to be used as a waiting area. For example, the blacklist may include nodes that fall within an unavailable segment. Nodes that fall within a specific connection state will be described later in FIG. 5.
[0098] In step (420), the electronic device may determine at least some of the port nodes corresponding to the ports on which the mobile devices perform operations as candidate nodes.
[0099] 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 Figure 5.
[0100] In step (430), the electronic device can compare the number of candidate nodes, N, with the number of predetermined waiting areas, K, where idle mobiles are to be placed.
[0101] The method for determining the number of waiting areas is described above in Fig. 3, so we will omit the explanation.
[0102] In step (440), the electronic device can determine target nodes based on the comparison result of comparing N and K nodes.
[0103] If N and K are equal, the electronic device can determine target nodes based on an algorithm corresponding to the case where N and K are equal. 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 less than K, the electronic device can determine target nodes based on an algorithm corresponding to the case where N is less than K.
[0104] The method of determining target nodes based on the comparison results of N and K nodes will be described later in FIGS. 5 to 11.
[0105]
[0106] FIG. 5 is a diagram illustrating a method for selecting candidate nodes according to one embodiment of the present disclosure.
[0107] Referring to FIG. 5, an exemplary track (500) is illustrated to illustrate a method for selecting candidate nodes. Assume that the track (500) includes ports 1 to 10 and nodes 1 to 28. Nodes 3, 5, 10, 11, 12, 17, 19, 24, 25, and 26 may be nodes corresponding to ports (i.e., port nodes).
[0108] The electronic device can exclude nodes that fall into the blacklist from all nodes. It is assumed that track (500) does not contain nodes that have been blacklisted by the user or nodes that are unavailable.
[0109] An electronic device may 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 segment of a track splits into at least two and nodes corresponding to points where at least two segments merge. The electronic device may determine these nodes as a blacklist because if the nodes corresponding to points where a segment splits into at least two and nodes corresponding to points where at least two segments merge are determined as target nodes, congestion may occur. For example, node 7 may be a node corresponding to points where a segment splits into at least two. For example, node 1 may be a node corresponding to points 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 blacklisted 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.
[0110] The electronic device can extract nodes corresponding to ports from the remaining nodes, excluding the blacklist. This is to give priority to nodes corresponding to ports, since when a task occurs on a port, an idle mobile device must perform the task on the node corresponding to the port. In track (500), the electronic device can extract nodes 3, 5, 10, 11, 12, 17, 19, 24, 25, and 26.
[0111] The electronic device can determine whether the distance between adjacent first port nodes and second port nodes arranged 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 arranged in the same segment is less than the predetermined distance, the electronic device can determine a port node arranged opposite to the direction of travel of the segment as a candidate node. If the distance between adjacent first port nodes and second port nodes arranged in the same segment is greater than or equal to the predetermined distance, the electronic device can determine both the first port node and the second port node as candidate nodes.
[0112] In one embodiment, the first port node and the second port node may not be located in the same segment. In other words, the first port node and the second port node may not be located in the same segment, but may be adjacent to each other by several short segments. In this case, if the 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.
[0113] In the track (500), it is assumed that only the distance between nodes 11 and 12 and the distance between nodes 25 and 26 are less than a predetermined distance. The predetermined distance can be determined in various ways. For example, it can be determined based on the length of the moving object and the detection distance that the moving object can detect through a sensor. The electronic device can determine the predetermined distance as the minimum distance that a moving object can independently stop based on the length of the moving object and the detection distance that the moving object can detect through a sensor. For example, the predetermined distance can be determined based on a specific mathematical formula. For example, the predetermined distance can be determined based on a user input. Alternatively, the predetermined distance can be determined dynamically based on specific conditions (e.g., the status of an automated system). However, this is merely an example and the present disclosure is not limited thereto.
[0114] In the track (500), the electronic device may 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 the track (500), the electronic device may determine node 12, which is positioned opposite to the direction of travel (from right to left) of the segment in which node 11 and node 12 are positioned, as a candidate node because the distance between node 11 and node 12 is less than the predetermined distance. Furthermore, in the track (500), the electronic device may determine node 26, which is positioned opposite to the direction of travel (from right to left) of the segment in which node 25 and node 26 are positioned, as a candidate node because the distance between node 25 and node 26 is less than the predetermined distance.
[0115] As a result, the electronic device can determine node 3, node 5, node 10, node 12, node 17, node 19, node 24 and node 26 as candidate nodes in the track (500).
[0116] Below, we will explain how to determine target nodes by comparing the number of candidate nodes and the number of waiting locations.
[0117]
[0118] FIG. 6 and FIG. 7 are diagrams for explaining a 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.
[0119] Referring to Figure 6, a flowchart of an electronic device for determining target nodes when the number of candidate nodes and the number of required waiting locations are equal is illustrated. Let the number of candidate nodes determined according to the method described above in Figure 5 be N, and the number of required waiting locations be K.
[0120] 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 locations are the same, the electronic device can determine all of the determined candidate nodes as target nodes.
[0121] Once the electronic device determines the target nodes, it can place idle mobiles on at least some of the target nodes at a specific point in time according to step (320) of FIG. 3.
[0122] Referring to FIG. 7, a track (700) is illustrated that displays only the candidate nodes determined in FIG. 5. Referring to FIG. 7, there are a total of 8 candidate nodes. That is, N may be 8. Assuming that the number of required waiting places is 8, K may be 8. The electronic device may compare the number of candidate nodes with the number of required waiting places. If the number of candidate nodes is equal to the number of required waiting places (i.e., N = 8), the electronic device may determine all candidate nodes as target nodes.
[0123]
[0124] FIG. 8 and FIG. 9 are diagrams for explaining a case where the number of candidate nodes according to one embodiment of the present disclosure is greater than the number of required waiting locations.
[0125] Referring to FIG. 8, a flow chart of an electronic device for determining target nodes when the number of candidate nodes is greater than the number of required waiting locations is illustrated.
[0126] In the following embodiments, the steps may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the steps may be changed, and at least two steps may be performed in parallel. Steps (810) and (820) may be performed by at least one component of the electronic device.
[0127] Let the number of candidate nodes determined according to the method described above in Fig. 5 be N, and the number of required waiting places be K.
[0128] In step (810), the electronic device can group candidate nodes into K groups based on a clustering algorithm if N is greater than K.
[0129] In other words, the electronic device can group the candidate nodes into K groups based on a clustering algorithm when the number of determined candidate nodes is greater than the number of required waiting locations. The clustering algorithm may include at least one of the K-median algorithm, the K-mean algorithm, and the EM (expectation maximization) algorithm. However, this is merely an example, and the present disclosure is not limited thereto, and it will be apparent to those skilled in the art that various clustering algorithms other than the above-described algorithm may be used to cluster the number of candidate nodes.
[0130] Assume that the electronic device groups candidate nodes into K groups using the weighted K-median algorithm. The electronic device can use various indicators to determine the weights between candidate nodes and ports.
[0131] According to one embodiment, the electronic device may calculate a weight based on at least one of items related to the workload of a port where work is expected 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 expected 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 exact workload. For example, the workload for the port may be an exact workload input by a user or received 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 the collected workload. Items related to the distance from candidate nodes to the port may include the travel distance and travel time from the candidate nodes to the port, or values related thereto. The travel distance may be expressed using the Manhattan distance.
[0132] According to one embodiment, the electronic device can allocate the workload of the port where the work is expected to occur to the candidate nodes in various ways, when determining weights between the candidate nodes and the port where the work is expected to occur using the workload of the port where the work is expected to occur.
[0133] For example, an electronic device can determine weights based on the assumption that a candidate node will handle the workload for a port where work is expected to occur. For other candidate nodes, the items related to the workload for that port can be set to 0.
[0134] For example, an electronic device can determine weights based on the assumption that each of two or more candidate nodes will handle the entire workload for a port where work is expected to occur. At this time, the items related to the workload for each of the two or more candidate nodes can be set to the same value. For example, if the workload for a port where work is expected to occur is 100, the items related to the workload for that port can be set to 100 for each of the two or more candidate nodes.
[0135] For example, an electronic device can determine weights based on the assumption that the workload for a port where work is expected to occur will be divided among two or more candidate nodes. For example, if the workload for a port where work is expected to occur is 100, the item related to the workload for that port can be set to 50 for each of the two or more candidate nodes.
[0136] In conclusion, the electronic device can group candidate nodes with similar characteristics into K groups through a clustering algorithm.
[0137] In step (820), the electronic device can determine one target node from each of the K groups and determine them as target nodes.
[0138] An 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 in each group in various ways. The electronic device can determine a node that satisfies a specific algorithm among the nodes in the same group as the target node. For example, the specific algorithm may be an algorithm that determines the node that minimizes the sum of the movement distances to other nodes in the same group as the target node.
[0139] Once the electronic device determines the target nodes, it can place idle mobiles on at least some of the target nodes at a specific point in time according to step (320) of FIG. 3.
[0140] Referring to FIG. 9, a drawing is shown to explain a method for determining target nodes according to steps (810) and (820).
[0141] Referring to FIG. 9, a track (900) is illustrated that displays only the candidate nodes determined in FIG. 5. Referring to FIG. 9, there are a total of eight candidate nodes. That is, N may be 8. Assuming that the number of required waiting areas is 2, K may be 2. The electronic device may compare N and K. Since N is greater than K, the electronic device may group the eight candidate nodes into two groups based on a clustering algorithm. For example, as a result of applying the clustering algorithm, nodes 3, 5, 10, and 12 may be grouped into group 1 (910), and nodes 17, 19, 24, and 26 may be grouped into group 2 (920).
[0142] The electronic device may determine a 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 the specific algorithm, Node 3 may be determined as the target node in Group 1 (910) and Node 24 may be determined as the target node in Group 2 (920).
[0143]
[0144] FIG. 10 and FIG. 11 are diagrams for explaining a case where the number of candidate nodes according to one embodiment of the present disclosure is less than the number of required waiting locations.
[0145] Referring to FIG. 10, a flow chart of an electronic device for determining target nodes when the number of candidate nodes is less than the number of required waiting locations is illustrated.
[0146] In the following embodiments, the steps may be performed sequentially, but are not necessarily performed sequentially. For example, the order of the steps 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 the electronic device.
[0147] Let the number of candidate nodes determined according to the method described above in Fig. 5 be N, and the number of required waiting places be K.
[0148] In step (1010), if N is less than K, the electronic device may group at least some of the second remaining nodes into KN groups by applying a clustering algorithm to at least some of the second remaining nodes excluding the N candidate nodes from the first remaining nodes.
[0149] The first remaining nodes may be nodes whose blacklists have been removed from multiple nodes. Nodes that exclude candidate nodes from the first remaining nodes may be referred to as second remaining nodes.
[0150] The electronic device can determine N candidate nodes as target nodes when N is less than K. However, since only N target nodes, which are less than K, are determined when K target nodes are required, KN target node determinations may be required. However, even when determining KN target nodes, nodes that do not satisfy a predetermined distance may need to be excluded as described in FIG. 5. Accordingly, the electronic device can apply a clustering algorithm to create KN groups for at least some of the second remaining nodes (i.e., nodes excluding nodes that do not satisfy the predetermined distance among all second remaining nodes). The clustering algorithm will be omitted as described above with reference to FIG. 8.
[0151] In step (1020), the electronic device may determine one second remaining node from each of the KN groups to be the target nodes along with the N candidate nodes.
[0152] The electronic device can determine one second remaining node from each of the KN groups. The electronic device can determine one second remaining node from each of the KN groups according to a specific algorithm, and determine it as K target nodes along with N candidate nodes. The specific algorithm for determining one node from each group is similar to that described in FIG. 8, so its description will be omitted.
[0153] Once the electronic device determines the target nodes, it can place idle mobiles on at least some of the target nodes at a specific point in time according to step (320) of FIG. 3.
[0154] Referring to FIG. 10, a drawing is shown to explain a method for determining target nodes according to steps (1010) and (1020).
[0155] Referring to FIG. 10, a track (1100) is illustrated that includes the first remaining nodes, excluding only the blacklist, among the plurality of nodes illustrated in FIG. 5. In FIG. 10, let us assume that the number of required waiting locations is 10. At this time, since the number of candidate nodes determined in FIG. 5 is 8, N may be less than K. The electronic device may determine all 8 candidate nodes as target nodes. The electronic device may further determine the remaining 2 target nodes.
[0156] The electronic device may apply a clustering algorithm to group the second remaining nodes, excluding the candidate nodes, among the first remaining nodes into NK groups. In the track (1100), the second remaining nodes, excluding the 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.
[0157] As described above, the electronic device can apply the clustering algorithm by excluding nodes that do not satisfy the predetermined distance among the second remaining nodes. In other words, the electronic device can apply the clustering algorithm to the second remaining nodes after excluding nodes 11 and 25 that do not satisfy the predetermined distance. As a result of applying the clustering algorithm, two groups (not shown) (10 - 8 = 2) can be created. The electronic device can further determine two target nodes by selecting one second remaining node from each of the two groups.
[0158] As a result, the electronic device can determine the eight candidate nodes and the two remaining second nodes selected through the clustering algorithm as target nodes.
[0159]
[0160] Meanwhile, the method according to the present invention can be written as a program that can be executed on a computer and implemented in various recording media such as a magnetic storage medium, an optical reading medium, and a digital storage medium.
[0161] Implementations of the various technologies described herein may be implemented as digital electronic circuitry, or as computer hardware, firmware, software, or combinations thereof. Implementations may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., a machine-readable storage medium (computer-readable medium) or a radio signal, for processing by the operation of a data processing device, e.g., a programmable processor, a computer, or multiple computers, or for controlling the operation thereof. A computer program, 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. A computer program may be deployed to be processed on one computer or multiple computers at a single site, or to be distributed across multiple sites and interconnected by a communications network.
[0162] Processors suitable for processing a computer program include, for example, both general-purpose and special-purpose microprocessors, and any one or more processors of any type of digital computer. Typically, a processor will receive instructions and data from read-only memory or random-access memory, or both. Components of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Typically, a computer may include, or be coupled to receive data from, transmit data to, or both, one or more mass storage devices, such as magnetic, magneto-optical, or optical disks, for storing data. 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 compact disk read only memory (CD-ROM), digital video disks (DVD), magneto-optical media such as floptical disks, read only memory (ROM), random access memory (RAM), flash memory, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), etc. The processor and memory may be supplemented by, or included in, special purpose logic circuitry.
[0163] Additionally, the computer-readable medium may be any available medium that can be accessed by a computer, and may include both computer storage media and transmission media.
[0164] While this specification contains details of a number of specific implementations, these should not be construed as limitations on the scope of any invention or what may be claimed, but rather as descriptions of features that may be unique to particular embodiments of particular inventions. Certain features described herein in the context of individual embodiments may also 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, either individually or in any suitable subcombination. Furthermore, although features may operate in a particular combination and may initially be described as being claimed as such, one or more features from a claimed combination may in some cases be excluded from that combination, and the claimed combination may be modified into a subcombination or variation of a subcombination.
[0165] Likewise, while operations are depicted in the drawings in a particular order, this should not be construed as requiring that those operations be performed in the particular or sequential order depicted to achieve desired results, or that all depicted operations be performed. In certain instances, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various device components of the embodiments described above should not be construed as requiring such separation in all embodiments, and it should be understood that the program components and devices described may generally be integrated together in a single software product or packaged into multiple software products.
[0166] Meanwhile, the embodiments of the present invention disclosed in this specification and drawings are merely specific examples presented to aid understanding and are not intended to limit the scope of the present invention. It will be apparent to those skilled in the art that other modifications based on the technical concepts of the present invention are possible in addition to the embodiments disclosed herein.
Claims
1. In the method of operating an electronic device, An operation of determining target nodes to which idle mobile objects are to be placed among a plurality of nodes based on the connection status of the plurality of nodes included in the track; and An operation of placing the idle mobiles on at least some of the target nodes based on a placement algorithm that places the idle mobiles on the target nodes. including, How it works.
2. In paragraph 1, The operation of determining the above target nodes is: An operation of removing nodes corresponding to the black list from among the above plurality of nodes; and An operation of determining target nodes from the first remaining nodes from which the above black list has been removed. including, How it works.
3. In paragraph 2, Nodes corresponding to the above blacklist are: Nodes corresponding to points where at least two segments of the track are divided, nodes corresponding to points where at least two segments are joined, and at least some of the nodes selected by the user as a blacklist. How it works.
4. In paragraph 2, The operation of determining target nodes from the first remaining nodes from which the above black list has been removed is as follows: An action of determining at least some of the port nodes corresponding to the ports on which the mobile bodies perform work as candidate nodes; An operation of comparing the number of candidate nodes, N, with the number of predetermined waiting areas, K, where idle mobiles are to be placed; and An operation of determining the target nodes based on the comparison results of the N nodes and the K nodes. including, How it works.
5. In paragraph 4, The operation of determining at least some of the port nodes corresponding to the above port as candidate nodes is: If the distance between adjacent first port nodes and second port nodes arranged in the same segment is less than a predetermined distance, one of the first port node and the second port node is determined as a candidate node, If the distance between the adjacent first port node and the second port node arranged in the same segment is greater than a predetermined distance, both the first port node and the second port node are determined as the candidate nodes. How it works.
6. In paragraph 5, The above predetermined distance is, The length of the moving object and the detection distance that the moving object can detect through the sensor, determined based on a specific mathematical formula or user input, or determined dynamically according to specific conditions, How it works.
7. In paragraph 4 The operation of determining the target nodes based on the above comparison results is: If the above N and the above K are the same, the candidate nodes are determined as the target nodes. How it works.
8. In paragraph 4, The operation of determining the target nodes based on the above comparison results is: If the N is greater than the K, an operation of grouping the candidate nodes into the K groups based on a clustering algorithm; and An operation of determining one target node from each of the above K groups and determining the target nodes. including, How it works.
9. In paragraph 8, The above clustering algorithm is, Including at least one of the K-median algorithm, the K-mean algorithm, and the EM (expectation maximization) algorithm, How it works.
10. In paragraph 4, The operation of determining the target nodes based on the above comparison results is: If the N is less than the K, an operation of 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 An operation of determining one second remaining node from each of the above KN groups and determining it as the target nodes together with the N candidate nodes. including, How it works.
11. In paragraph 10, The above clustering algorithm is, Including at least one of the K-median algorithm, the K-mean algorithm, and the EM (expectation maximization) algorithm, How it works.
12. In paragraph 1, The above placement algorithm is, Contains at least one of a greedy algorithm, a linear assignment algorithm, a Hungarian algorithm, and a shortest augmenting path algorithm. How it works.
13. In paragraph 12, The above placement algorithm 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 the port nodes corresponding to the port to which the task is assigned, the workload indicator, and the weights of the clustering algorithm. How it works.
14. In the method of operating an electronic device, An action to remove nodes corresponding to a black list from multiple nodes included in a track; An operation of determining candidate nodes among the first remaining nodes from which the black list has been removed among the plurality of nodes; An operation of determining target nodes from the candidate nodes based on an algorithm corresponding to the result of comparing the number of candidate nodes, N, and the number of predetermined waiting areas, K, where idle mobiles are to be placed; and Comprising an operation of placing a plurality of idle mobiles on at least some of the target nodes based on a placement algorithm, How it works.
15. In Article 14 The operation of determining target nodes based on the above algorithm is as follows: If the above N and the above K are the same, the candidate nodes are determined as the target nodes. How it works.
16. In paragraph 14, The operation of determining target nodes based on the above algorithm is as follows: If the N is greater than the K, an operation of grouping the candidate nodes into the K groups based on a clustering algorithm; and An operation of determining one target node from each of the above K groups and determining the target nodes. including, How it works.
17. In paragraph 14, The operation of determining target nodes based on the above algorithm is as follows: If the N is less than the K, an operation of applying a clustering algorithm to at least some of the second remainders excluding the N candidate nodes from the first remaining nodes to group at least some of the second remainders into KN groups; and An operation of determining one second remaining node from each of the above KN groups and determining it as the target nodes together with the N candidate nodes. including, How it works.
18. A computer-readable recording medium storing one or more computer programs including commands for executing any one of the operations of paragraphs 1 to 17.
19. In electronic devices, Includes a processor that controls idle moving objects, The above processor, Based on the connection status of a plurality of nodes included in a track, target nodes to which idle vehicles are to be placed are determined among the plurality of nodes, and based on a placement algorithm that places the idle vehicles on the target nodes, the idle vehicles are placed on at least some of the target nodes. Electronic devices.
Citation Information
Patent Citations
Route estimation system, route estimation method, and program
JP2021135556A
Composition for porcelain tile, manufacturing method thereof, and porcelain tile manufactured through the same
KR1020230049973A
KR20240003844A