System for route mapping and method thereof

KR1020260135619APending Publication Date: 2026-09-14ELECTRONICS & TELECOMM RES INST
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020250028432
Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-05
Publication Date
2026-09-14

Smart Images

  • Figure PAT00001_ABST
    Figure PAT00001_ABST
Patent Text Reader

Abstract

The present disclosure relates to a path mapping system and method, and the technical problem to be solved is to provide a path mapping system and method capable of generating a robot's movement path based on user input and mapping it to map data. To this end, the present disclosure is characterized by including a processor that receives input from a user regarding a plurality of nodes and the connection relationships between the plurality of nodes through a memory and an editing interface, generates a robot's movement path, and maps the generated robot's movement path to map data.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present disclosure relates to a path mapping system and method. Background Technology

[0003] With the recent advancements in autonomous driving and mobile robot technologies, there is an increasing need for path mapping systems capable of flexibly responding to environmental changes. Conventional autonomous robots primarily utilize sensors to explore the environment and plan paths based on pre-set map data. However, conventional technologies have limitations, such as restricting direct user intervention during the path generation and editing process or failing to adequately reflect the robot's movement characteristics.

[0004] In conventional technology, Simultaneous Localization and Mapping (SLAM)-based automatic mapping methods or methods utilizing pre-built map data are primarily used to set the path of a robot. However, SLAM-based automatic mapping methods have limitations in that they recognize the environment in real time and determine the path automatically without user intervention, making it difficult to fine-tune the path in specific sections or reflect the movement path desired by the user. Furthermore, methods utilizing pre-built map data require manual work when setting a path in a new environment, leading to a problem of reduced efficiency in locations with frequent environmental changes. For example, when existing autonomous robots operate in warehouses, factories, or indoor spaces, the existing path may no longer be the optimal route due to structural changes in the terrain (e.g., temporary obstacles, path changes). However, existing methods face limitations in that it is difficult for the user to directly edit the path and immediately reflect a new optimal route.

[0005] Furthermore, if only the shortest distance is considered during the route optimization process, important factors such as the estimated travel time, terrain characteristics, and obstacle avoidance are not reflected, resulting in inefficient driving.

[0006] The background technology of the present invention is disclosed in Korean Published Patent Application No. 10-2024-0129318 (published on August 27, 2024). The problem to be solved

[0008] In order to solve the aforementioned problem, according to one aspect, the present invention aims to provide a path mapping system and method capable of generating a robot's movement path based on user input and mapping it to map data. means of solving the problem

[0010] A path mapping system according to an embodiment of the present invention for solving the above technical problem is characterized by including a processor that receives input from a user regarding a plurality of nodes and the connection relationships between the plurality of nodes through a memory and an editing interface, generates a movement path of a robot, and maps the generated movement path of the robot to map data. Effects of the invention

[0012] According to one aspect, the present invention can overcome the limitations of existing static path setting methods by generating a robot's movement path based on user input and mapping it to map data, and can more precisely reflect the robot's movement characteristics by calculating the length of the robot's movement path and estimating the travel time required.

[0013] In addition, the present invention can analyze the optimal path by comparing and evaluating multiple movement paths, and can implement a more efficient and optimized path mapping system and method by maximizing the flexibility of path setting through a user editing interface to intuitively modify the path. Brief explanation of the drawing

[0015] FIG. 1 illustrates a block diagram of a path mapping system according to one embodiment of the present invention. FIGS. 2 to 6 are drawings for illustrating a path mapping system according to an embodiment of the present invention. FIG. 7 illustrates a flowchart of a path mapping method according to one embodiment of the present invention. Specific details for implementing the invention

[0016] Preferred embodiments of the present invention will be described in detail below with reference to the attached drawings. Prior to this, terms and words used in this specification and claims should not be interpreted as being limited to their ordinary or dictionary meanings. Instead, based on the principle that the inventor may appropriately define the concepts of terms to best describe his invention, they should be interpreted in a meaning and concept consistent with the technical spirit of the present invention. Therefore, it should be understood that the embodiments described in this specification and the configurations illustrated in the drawings are merely some of the most preferred embodiments of the present invention and do not represent all of the technical spirit of the present invention; thus, various equivalents and modifications that can replace them may exist at the time of filing this application. Furthermore, as used in this specification, "comprise" or "include" and / or "comprising" or "including" specify the presence of the mentioned features, numbers, steps, actions, parts, elements, and / or groups thereof, and do not exclude the presence or addition of one or more other features, numbers, actions, parts, elements, and / or groups. In addition, when describing embodiments of the present invention, "may" and "may be" may include "one or more embodiments of the present invention."

[0017] Additionally, to aid in understanding the invention, the attached drawings are not drawn to actual scale, and the dimensions of some components may be exaggerated. Furthermore, the same reference numerals may be assigned to identical components in different embodiments.

[0018] The statement that two subjects of comparison are 'identical' means that they are 'substantially identical.' Therefore, substantial identity may include deviations considered low in the industry, for example, deviations within 5%. Additionally, the statement that a parameter is uniform in a given area may mean that it is uniform from an average perspective.

[0019] Although terms such as "first," "second," etc., are used to describe various components, it goes without saying that these components are not limited by these terms. These terms are used merely to distinguish one component from another, and unless specifically stated otherwise, the first component may also be the second component.

[0020] Throughout the specification, unless specifically stated otherwise, each component may be singular or plural.

[0021] The fact that any configuration is placed on the "upper (or lower)" of a component or on the "upper (or lower)" of a component may mean not only that any configuration is placed in contact with the upper (or lower) surface of said component, but also that another configuration may be interposed between said component and any configuration placed on (or below) said component.

[0022] Furthermore, where it is stated that one component is "connected," "coupled," or "connected" to another component, it should be understood that while said components may be directly connected or connected to each other, another component may be "interposed" between each component, or that each component may be "connected," "coupled," or "connected" through another component. Additionally, when it is stated that a part is electrically coupled with another part, this includes not only cases where they are directly connected but also cases where they are connected with another component in between.

[0023] Throughout the specification, "A and / or B" means A, B, or A and B unless specifically stated otherwise. That is, "and / or" includes any combination or any combination of the enumerated items. "C to D" means C or more and D or less, unless specifically stated otherwise.

[0025] FIG. 1 is a block diagram of a path mapping system according to an embodiment of the present invention. Referring to FIG. 1, a path mapping system according to an embodiment of the present invention may include an editing interface (100), a processor (200), and a memory (300).

[0026] The editing interface (100) may correspond to a configuration that receives input from a user for generating a robot's movement path (hereinafter referred to as 'movement path'). The editing interface (100) may be implemented as a graphical user interface (GUI), a touch screen, a physical button input device, a keyboard, a mouse, or an interface device separately provided for generating a movement path according to the present invention, and the user can intuitively set or edit the movement path through the editing interface (100).

[0027] Additionally, the editing interface (100) may correspond to a configuration linked with an output device (not shown) that provides visual information related to the movement path to the user. For example, the editing interface (100) may output map data and the generated robot's movement path in real time through a display screen, and may visually output the generated movement path according to the user's input.

[0028] Furthermore, the editing interface (100) can reflect user input in real time to immediately display changes to the movement path and may be configured to output the results of analyzing the generated movement path (e.g., estimated time of the movement path, obstacle avoidance path, and path weight information, etc.) in a graphical form in conjunction with the processor (200). However, the editing interface (100) according to the present embodiment is not limited to the aforementioned configuration, and may be included as long as it is a configuration capable of receiving various inputs necessary for generating a movement path from the user and providing map data or visual information about the movement path.

[0029] The processor (200) can function as an entity that generates a movement path based on user input received through the editing interface (100) and maps it to map data.

[0030] Specifically, the processor (200) can receive input from a user regarding a plurality of nodes (hereinafter 'nodes') and a connection relationship (Edge) between the plurality of nodes (hereinafter 'connection relationship between nodes') through an editing interface (100). Here, a node is a key element that constitutes a movement path, can be implemented as a point, and can be defined as a data structure containing robot movement information and environmental data at a specific point.

[0031] The processor (200) can define the absolute position of the node on the map data by setting coordinate values ​​for the node. For example, the processor (200) can set each node to (X, Y) coordinates in a 2D environment and can extend this to (X, Y, Z) coordinates in a 3D environment. Additionally, the processor (200) can precisely adjust the position of the node by linking with a LiDAR or SLAM-based mapping system. A node may correspond to a location or place where a robot performs a pre-set action, and the processor (200) can set necessary attributes for each node (e.g., waiting location, charging location, item loading location, item receiving or shipping location, etc.). Furthermore, the processor (200) can classify the nodes into various types (e.g., general node, waypoint node, work node, intersection node, etc.) and utilize them for movement path optimization.

[0032] The processor (200) can connect a node to another adjacent node and, for each connection relationship between nodes, can set attributes necessary for generating a movement path, such as whether the robot can move, environmental attributes such as road surface conditions, weights, or priorities. The processor (200) can calculate the length of the robot's movement path based on the connection relationships between nodes and can utilize the calculated length of the movement path for the optimal movement path analysis described later.

[0033] The processor (200) can be implemented as a Central Processing Unit (CPU) or a System on Chip (SoC), and can run an operating system or application to perform processing and calculations of various data for setting and analyzing the movement path of a robot, and can control multiple hardware or software components connected to the processor (200).

[0034] FIGS. 2 to 6 are drawings for illustrating a path mapping system according to an embodiment of the present invention. With reference to FIGS. 2 to 6, the process of generating a robot's movement path by a processor (200) will be described in detail below.

[0035] Referring to FIGS. 2 and 3, the processor (200) may receive input from a user to add or delete nodes or connection relationships between nodes through an editing interface (100). The processor (200) may provide a default travel path (map) or an existing travel path (map) through the editing interface (100) so that the user can perform editing on the travel path. The user may modify the travel path by adding nodes to the provided travel path or by deleting nodes.

[0036] Specifically, the user can add a new node through the editing interface (100), and the input can be performed in various ways, such as touch input, mouse click, drag and drop, or coordinate specification. The processor (200) receives the user's input and can add a new node at the corresponding location and update the existing node and movement path. Depending on the user's input to add a node, the processor (200) can expand the movement path and subdivide the existing movement path.

[0037] Additionally, the processor (200) can create a connection relationship between adjacent nodes while adding a new node. For example, if a user clicks a specific location using a mouse, drags to the left or right, and then releases the mouse click, the processor (200) can add a node at the location where the mouse click was released and simultaneously create a connection relationship between nodes in the horizontal direction (Fig. 3 (c)). Similarly, if a user clicks a specific location using a mouse, drags upward or downward, and then releases the mouse click, the processor (200) can add a node at the location where the mouse click was released and simultaneously create a connection relationship between nodes in the vertical direction (Fig. 3 (d)). To form such a connection relationship between nodes, the processor (200) can determine whether the horizontal or vertical drag input length exceeds a preset length. For example, the processor (200) can determine that the difference in X coordinates between the drag start point and the end point exceeds a preset size, and conversely, determine that the difference in Y coordinates between the drag start point and the end point exceeds a preset size, and determine that the difference in Y coordinates exceeds a preset size, and determine that the difference in Y coordinates is a vertical input.

[0038] Meanwhile, when a user inputs deletion of an existing node through the editing interface (100), the processor (200) can delete the node on the path. Deletion of a node can be performed by the user directly selecting a specific node and pressing a 'delete' button, or by executing a pre-specified deletion command. Additionally, the user can delete multiple nodes simultaneously by selecting multiple nodes by specifying a specific area.

[0039] The processor (200) can analyze changes in the movement path resulting from the deletion of a node and update the existing movement path connected to the deleted node with a new connection method, or reconstruct the entire movement path including the deleted node. Additionally, if it is determined that a disconnected path has occurred due to the deleted node, an embodiment may be provided in which the processor (200) automatically generates an alternative path or outputs a warning message to the user.

[0040] Since the deletion of connection relationships between nodes can be performed through the same process as deleting a node, a redundant explanation will be omitted.

[0041] Referring to FIGS. 4 and 5, the processor (200) can receive movement input regarding a node or a connection relationship between nodes from a user through an editing interface (100). Specifically, the processor (200) can receive input through a handler in which the user selects a specific node or a connection relationship between specific nodes and moves it by dragging it. The processor (200) can move the selected node to a new location and automatically readjust the existing movement path according to the user's drag input. In this process, the processor (200) can maintain continuity between the moved node and the existing path by analyzing the impact of the movement of the node or the connection relationship between nodes on adjacent nodes or the movement path, and by dynamically modifying the connection relationship between nodes (e.g., applying a curve interpolation technique) or creating a new connection relationship.

[0042] Additionally, the processor (200) can receive a single node movement input and move specific nodes individually (e of FIG. 5). For example, if a user selects a specific node through the editing interface (100) and drags it to a specific location, the processor (200) can move the location of the selected node and automatically readjust the existing connection relationships between nodes accordingly.

[0043] Likewise, the processor (200) can receive multiple node movement inputs and move multiple nodes simultaneously ((f) of FIG. 5). For example, a user can select multiple nodes at once through the editing interface (100) and drag them to a specific location, and the processor (200) can move the selected nodes together and automatically readjust the connection relationship between adjacent nodes accordingly.

[0044] Referring to FIG. 6, the processor (200) can receive input for resizing a movement path from a user through an editing interface (100) and can enlarge or reduce the movement path according to the received resizing input. Specifically, the user can select a specific area through the editing interface (100) to adjust its size, and the processor (200) can adjust the overall scale of the movement path in response to the user's input. For example, if the user inputs to reduce a specific area, the processor (200) can reduce the spacing between nodes of the movement path and compress the entire movement path (Fig. 6 (g)), and conversely, if the user inputs to enlarge, the processor (200) can expand the size of the movement path by increasing the spacing between nodes (Fig. 6 (h)).

[0045] Additionally, the processor (200) can perform path interpolation and scale transformation operations to maintain the connection relationships between each node and to adjust the ratio of the movement path consistently during scaling. Through this, the processor (200) can provide the user with an optimized movement path while maintaining the existing structure, even if the movement path is deformed.

[0046] The processor (200) can calculate the length of the travel path generated based on user input to estimate the travel time for each segment, and calculate a weight or cost corresponding to each segment based on the estimated travel time.

[0047] In this process, the processor (200) may analyze the attributes set in the connection relationships between nodes constituting the generated movement path and consider the robot's expected movement speed, terrain characteristics, or whether obstacles are avoided. For example, if, as a result of analyzing the attributes of the connection relationships between nodes, it is determined that a part of a specific movement path includes a slope or rough terrain, the movement speed of that section may decrease, so the processor (200) may increase the weight or cost to reflect this.

[0048] Additionally, the processor (200) can analyze map data or driving environment data acquired in real time through sensors to set dynamic weights that reflect delay factors (e.g., obstacles, congestion, etc.) that may occur in specific sections of the robot's movement path. For example, the processor (200) can set the weight to temporarily increase for sections where obstacles are detected to avoid the path, and can lower the weight again after a certain period of time when the obstacles are removed. The weights or costs may be set differently based on the attributes of the movement path, environmental factors, and real-time sensor data, and the processor (200) can assign different weights or costs to each movement path by comprehensively considering factors such as the travel time required for each section or the energy consumption of the robot.

[0049] The processor (200) can analyze a travel path using a weight or cost calculated based on the travel time and determine the optimal travel path to a preset destination based on the analysis results. That is, the processor (200) can convert the travel time into a weight or cost and prioritize selecting the travel path with the lowest weight or cost. For example, the processor (200) can compare and analyze multiple travel paths for a preset destination, and if travel path 1 (total travel distance 10m, travel time 5 seconds, weight 5) and travel path 2 (total travel distance 15m, travel time 4 seconds, weight 4) are generated, it can determine that travel path 2 is a more optimized travel path because travel path 1 has a shorter travel distance but a longer travel time.

[0050] The processor (200) can dynamically adjust the weight of the travel path by considering not only the travel time but also environmental factors (e.g., road surface condition, presence of obstacles, speed limit, etc.), and can continuously update the optimal path by reflecting the driving environment that changes in real time. Through this, the processor (200) can optimize the selection of the travel path so that the robot can move to the destination more efficiently.

[0051] The processor (200) can configure movement path information so that the robot can drive in a real environment by mapping the optimal movement path generated based on user input to map data.

[0052] The processor (200) may include memory (300), and the memory (300) may correspond to a configuration that stores data necessary during the process in which the processor (200) generates a movement path, maps it to map data, and analyzes the optimal movement path. The memory (300) may correspond to a configuration that stores user movement path editing information, movement path generation data, map data, and driving condition related data.

[0053] The memory (300) may also store basic data and path correction algorithms necessary for the processor (200) to perform optimization of the movement path and to compare and analyze multiple movement paths. Here, the basic data is data that the processor (200) can refer to when learning a path optimization model or calculating an optimal path under specific movement conditions, and may include information such as travel distance, estimated time required, obstacle data, connection relationships between nodes, movement speed of the robot, terrain information, and environmental change history.

[0054] At least one of a path optimization algorithm, an algorithm for avoiding obstacles, and an algorithm for evaluating the reliability of a movement path may be stored in the memory (300), and the algorithm stored in the memory (300) may be utilized in the process in which the processor (200) analyzes path data more precisely and generates a path correction result that reflects the user's editing intention. Such algorithms may correspond to known or unknown algorithms and may be stored in the form of instructions executable by the processor (200). The memory (300) may be implemented as a volatile storage medium and / or a non-volatile storage medium, for example, as a Read Only Memory (ROM), Random Access Memory (RAM), Flash Memory, or Electrically Erasable Programmable Read-Only Memory (EEPROM). In some embodiments, the memory in which the user's editing data and map data are stored and the memory in which the algorithm for optimizing the movement path is stored may be implemented as physically and / or logically separate configurations.

[0055] FIG. 7 illustrates a flowchart of a path mapping method according to an embodiment of the present invention. Hereinafter, the path mapping method of the present embodiment will be described with reference to FIG. 7. Specific descriptions of parts that overlap with the previously described content will be omitted, and the description will focus on the chronological configuration.

[0056] First, the processor (200) can receive input from the user regarding a plurality of nodes and the connection relationships between the plurality of nodes through the editing interface (100) (S100).

[0057] In step S100, the user can edit the path by utilizing the editing interface (100) to directly add individual nodes that constitute the movement path or by adjusting the positions of existing nodes. Additionally, the user can define a path that the robot can move by establishing connection relationships between specific nodes, and in this process, can perform editing operations such as deleting existing connection relationships between nodes or creating new paths. Such user input can be performed in various ways; for example, the user can add a new node at a specific point by clicking a mouse or adjust the positions of existing nodes using a drag-and-drop method. The processor (200) receives these inputs in real time, internally updates the data structure, and analyzes the relative positions and connection relationships of each node to reflect the edits to the movement path in real time.

[0058] Next, the processor (200) can generate a movement path of the robot based on the input received in step S100 and map the generated movement path of the robot to map data (S200).

[0059] Based on the multiple nodes and the connection relationships between the nodes input in step S100, the processor (200) can form an overall movement path that the robot can move along and reflect this in the map data. At this time, the processor (200) can optimize the movement path by analyzing information such as the feasibility of movement between each node, the estimated travel time, and terrain characteristics, in addition to the simple connection relationships between nodes.

[0060] For example, the processor (200) can calculate the length of the path connected between nodes and estimate the travel time for each section by considering the expected travel speed along the path. Additionally, the processor (200) can generate a more precise travel path by incorporating environmental information, such as whether there are obstacles or ramps in a specific section, in conjunction with map data. In this process, the processor (200) can set a specific node as a major waypoint for the robot (e.g., work point, charging station) and can also set the connection relationships between some nodes so that the robot cannot access them.

[0061] The processor (200) can determine the optimal driving path by calculating the weight and cost of the path together during the process of mapping the generated path to map data. For example, if there are multiple paths to reach the same destination, the processor (200) can select the most efficient path by considering not only the shortest distance but also travel time and energy consumption. In this case, the processor (200) can set the path by assigning a relatively high weight to sections including slopes or rough terrain so that the robot can preferentially select a flat path (low weight).

[0062] As described above, according to the present embodiment, the present invention can overcome the limitations of existing static path setting methods by generating a robot's movement path based on user input and mapping it to map data, and can more precisely reflect the robot's movement characteristics by calculating the length of the robot's movement path and estimating the travel time required. Furthermore, the present invention can analyze the optimal path by comparing and evaluating multiple movement paths, and can implement a more efficient and optimized path mapping system and method by maximizing the flexibility of path setting through a user editing interface that allows the path to be intuitively modified.

[0064] The implementations described herein may be implemented, for example, as methods or processes, devices, software programs, data streams, or signals. Even if discussed only in the context of a single form of implementation (e.g., discussed only as a method), the implementation of the discussed features may also be implemented in other forms (e.g., devices or programs). Devices may be implemented in appropriate hardware, software, and firmware, etc. Methods may be implemented in devices such as processors, which generally refer to processing devices including, for example, computers, microprocessors, integrated circuits, or programmable logic devices. Processors also include communication devices such as computers, cell phones, portable / personal digital assistants ("PDAs"), and other devices that facilitate the communication of information between end-users.

[0065] Although the present invention has been described above by limited embodiments and drawings, the present invention is not limited thereto, and it is obvious that various modifications and variations are possible within the scope of the technical spirit of the present invention and the equivalent scope of the claims described below by those skilled in the art to which the present invention belongs. Explanation of the symbols

[0067] 100: Editing Interface 200: Processor 300: Memory

Claims

Claim 1 A path mapping system characterized by comprising: a memory; and a processor that receives input from a user regarding a plurality of nodes and the connection relationships between the plurality of nodes through an editing interface to generate a movement path of a robot and maps the generated movement path of the robot to map data.