Real-time path generation method and system for robot corner turning.

The real-time path generation method for robots addresses safety and flexibility in corner turning by generating a cost map, detecting obscured areas, and creating a turning area securing path with weight values and interpolation, ensuring safe and adaptive navigation.

JP2026091787APending Publication Date: 2026-06-04HYUNDAI MOTOR CO LTD +1

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
HYUNDAI MOTOR CO LTD
Filing Date
2025-06-03
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Conventional robot cornering methods fail to ensure safety from obstacles approaching from the opposite side of the corner, which are difficult to detect in advance, and are inflexible in dealing with changing environments.

Method used

A real-time path generation method using a controller to generate a cost map, detect obscured areas, and create a turning area securing path to avoid collisions, incorporating weight values and interpolation to ensure a safe and flexible corner turn.

Benefits of technology

Ensures safety by avoiding obstacles approaching from undetectable areas and adapts to changing environments, providing a safer and smarter navigation system for robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026091787000001_ABST
    Figure 2026091787000001_ABST
Patent Text Reader

Abstract

This invention provides a real-time path generation method and system for robot corner turns, which ensures safety from objects approaching from the opposite side of a corner by generating a path that makes a large turn around a corner while taking real-time obstacle information into consideration. [Solution] A method for generating a real-time path for a robot to turn corners involves generating a cost map of the robot's surroundings based on a grid map and information on obstacles detected by the sensor unit, generating the shortest possible avoidance path from the robot's current position to the destination while avoiding obstacles, detecting an obstruction area at the robot's current position which is an area not detected by the sensor unit to detect the corner entry point, generating a turning area securing path based on the shortest avoidance path, determining weight values ​​for the shortest avoidance path and the turning area securing path, generating an interpolated path based on the shortest avoidance path, the turning area securing path, and the weight values, and generating the final path based on the shortest avoidance path and the interpolated path.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a real-time path generation method and system for corner turning of a robot. [Background technology]

[0002] Recently, the applications of mobile robots, such as indoor / outdoor delivery robots, service robots, and patrol robots, have been increasing. Most of these mobile robots perform their tasks based on autonomous driving technology. For mobile robots to autonomously navigate from their current location to their destination, real-time obstacle avoidance path planning technology is essential. Furthermore, there is a growing need for technology to prevent collisions with obstacles in areas that are difficult to detect in advance by sensors, such as when turning corners.

[0003] When a mobile robot attempts to turn a corner, if it hasn't been programmed with a special cornering strategy, it will follow a path that takes it relatively close to the corner in order to take the shortest route. In this case, it can be difficult to ensure safety from objects approaching from the opposite side of the corner, an area that is difficult to detect in advance with sensors.

[0004] One example of a conventional robot cornering method involves slowing down or stopping briefly before resuming movement. However, this method fundamentally fails to solve the problem of collisions with objects approaching from the opposite side of the corner.

[0005] In other examples of conventional robot cornering methods, a large turning path is predefined for each corner, and the robot follows this path. However, this method requires pre-defining the path for every corner, making it inflexible in dealing with constantly changing environments. In particular, it can be difficult to deal with environments where unexpected obstacles exist along the predefined path.

[0006] The information contained in this background section is intended to enhance understanding of the background of the invention and includes matters that are not prior art already known to those with ordinary skill in the art to which this technology belongs. [Prior art documents] [Patent Documents]

[0007] [Patent Document 1] Japanese Patent Publication No. 2024-155217 [Overview of the Initiative] [Problems that the invention aims to solve]

[0008] The present invention has been made in view of the above-mentioned conventional problems, and the object of the present invention is to provide a real-time path generation method and system for corner turning of a robot. [Means for solving the problem]

[0009] A method for generating a real-time path for a robot to turn a corner using a controller according to one aspect of the present invention, made to achieve the above objective, comprises the steps of: generating a cost map of the robot's surroundings based on a grid map and information on obstacles detected by a sensor unit using the controller; generating the shortest possible avoidance path from the robot's current position to a destination, avoiding obstacles, based on the cost map using the controller; detecting a shielded area at the robot's current position that is not detected by the sensor unit using the controller; detecting a corner entry point using the shortest avoidance path and the shielded area using the controller; generating a turning area securing path based on the shortest avoidance path and the corner entry point using the controller; determining weight values ​​for the shortest avoidance path and the turning area securing path using the controller; generating an interpolated path based on the shortest avoidance path, the turning area securing path, and the weight values ​​using the controller; and generating a final path based on the shortest avoidance path and the interpolated path using the controller.

[0010] The step of detecting a corner entry point using the shortest avoidance path and the shielding area may include the steps of: confirming which of the sensor sensing area and the shielding area each node in the shortest avoidance path from the robot's current position to the destination belongs to; detecting the first node that goes from belonging to the sensor sensing area to belonging to the shielding area as the corner entry point; and detecting the direction of rotation when entering the corner. The step of generating a turning area securing path based on the shortest avoidance path includes the steps of determining the search direction for the turning area based on the rotation direction when entering the corner, and searching for a point as a turning area securing node that can secure a safe distance within the search distance in the search direction for all nodes constituting the shortest avoidance path in the order from the robot's current position to the destination, wherein the safe distance may be the distance that must be kept away from the obstacle. The search direction for the turning region can be determined to be the opposite direction of the rotation when entering the corner, among the directions that are perpendicular to the tangent line to the shortest avoidance path for each node constituting the shortest avoidance path. The aforementioned safety distance may be predetermined or may change depending on the attributes of the obstacle. The search distance may be a preset maximum search distance. The current search distance at a node is determined by the following equation 1: [Formula 1] Current search distance = min(search distance at previous node + α squares) Here, α represents the predetermined maximum search distance, and α can be any predetermined natural number. The steps for determining the weight values ​​for the shortest avoidance path and the turning area securing path may include: selecting a pair of peak points for the shortest avoidance path and the turning area securing path; assigning a weight value of 1 to the turning area securing path and a weight value of 0 to the shortest avoidance path at the pair of peak points; assigning a weight value of 0 to the turning area securing path and a weight value of 1 to the shortest avoidance path at the robot's current position and destination; increasing the weight value for the turning area securing path from the robot's current position to the pair of peak points and decreasing the weight value for the shortest avoidance path; and decreasing the weight value for the turning area securing path from the pair of peak points to the destination and increasing the weight value for the shortest avoidance path. The pair of peak points of the shortest avoidance path and the turning area securing path can be selected as the central point of the shortest avoidance path and the turning area securing path, or the corner entry point, and the corresponding point on the turning area securing path. The interpolation path (Path 補間 ) is generated by the following equation 2, [Formula 2] Path 補間 =w1×path 旋回 +w2×path 最短 Here, path 旋回This indicates the path for securing the turning area. 最短 The shortest avoidance path is shown, where w1 is a weighted value for the path that secures the turning area, and w2 may be a weighted value for the shortest avoidance path.

[0011] A system for generating a real-time path for a robot to turn corners according to one aspect of the present invention, made to achieve the above objective, comprises: a sensor unit configured to detect sensor data within a field of view; and a controller configured to receive sensor data from the sensor unit, generate a path from the robot's current position to a destination, and control the robot to move along the generated path, wherein the controller is configured to generate a cost map of the robot's surroundings based on a grid map and the sensor data received from the sensor unit; generate the shortest possible avoidance path from the robot's current position to the destination, avoiding obstacles, based on the cost map; detect an obscured area at the robot's current position that is not detected by the sensor unit; detect a corner entry point using the shortest avoidance path and the obscured area; generate a turning area securing path based on the shortest avoidance path and the corner entry point; determine weight values ​​for the shortest avoidance path and the turning area securing path; generate an interpolation path based on the shortest avoidance path, the turning area securing path, and the weight values; and generate a final path based on the shortest avoidance path and the interpolation path.

[0012] When detecting a corner entry point using the shortest avoidance path and the shielding area, the controller may be configured to check which of the sensor sensing area and the shielding area each node in the shortest avoidance path from the robot's current position to the destination belongs to, detect the first node that goes from being in the sensor sensing area to being in the shielding area as the initial corner entry point, and detect the direction of rotation when entering the corner. When generating a turning area securing path based on the shortest avoidance path, the controller determines the search direction of the turning area based on the rotation direction at the time of corner entry, and searches for a point within the search distance in the search direction where a safety securing distance can be ensured for all nodes constituting the shortest avoidance path in order from the current position of the robot to the destination as a turning area securing node, and the safety securing distance may be a distance that must be separated from the obstacle. The controller may be configured to determine, as the search direction of the turning area, the opposite direction of the rotation direction at the time of corner entry among the directions orthogonal to the tangent line contacting the shortest avoidance path for each node constituting the shortest avoidance path. The safety securing distance may be preset or may vary depending on the attributes of the obstacle. The search distance may be a preset maximum search distance. The controller determines the search distance at the current node by the following formula 1: [Formula 1] Search distance at current node = min(Search distance at previous node + α cells) Here, α cells represents a preset maximum search distance, and α may be any preset natural number. When determining the weighting values for the shortest avoidance path and the turning area securing path, the controller selects peak point pairs of the shortest avoidance path and the turning area securing path, assigns a weighting value of 1 to the turning area securing path and a weighting value of 0 to the shortest avoidance path for the peak point pairs, assigns a weighting value of 0 to the turning area securing path and a weighting value of 1 to the shortest avoidance path at the current position and the destination of the robot, increases the weighting value for the turning area securing path from the current position of the robot to the peak point pairs and decreases the weighting value for the shortest avoidance path, and decreases the weighting value for the turning area securing path from the peak point pairs to the destination and increases the weighting value for the shortest avoidance path. The controller can select the central point of the shortest avoidance path and the turning area secure path, or the corner entry point, and the corresponding point on the turning area secure path as a peak point pair of the shortest avoidance path and the turning area secure path. The controller generates the interpolation path (Path 補間 ) according to the following formula, [Formula 2] Path 補間 = w1 × path 旋回 + w2 × path 最短 Here, path 旋回 represents the turning area secure path, path 最短 represents the shortest avoidance path, w1 is a weighting value for the turning area secure path, and w2 can be a weighting value for the shortest avoidance path. [Advantages of the Invention]

[0013] According to the present invention, by generating a real-time path that can turn a large corner, safety against an object approaching from the opposite side of the corner, which is an area difficult to be sensed in advance by a sensor, can be ensured.

[0014] In addition, by considering real-time obstacle information, a path that avoids collisions with obstacles and turns a large corner can be generated. Therefore, it is possible to flexibly cope with an unfixed environment that changes every moment, and a safer and smarter service can be provided.

[0015] In addition, effects obtained or predicted by embodiments of the present invention are directly or implicitly disclosed in the detailed description of the embodiments of the present invention. That is, various effects predicted by embodiments of the present invention are disclosed in the following detailed description. [Brief Description of the Drawings]

[0016] [Figure 1] It is a block diagram of a real-time path generation system for a robot to turn a corner according to an embodiment of the present invention. [Figure 2] This is a schematic diagram illustrating an example of an occupied grid map. [Figure 3] This is a schematic diagram illustrating an example of a cost map. [Figure 4] This diagram shows how to generate the shortest avoidance route based on a cost map. [Figure 5] This figure shows how the corner entry point is detected based on the shortest avoidance path shown in Figure 4. [Figure 6] This figure shows how to generate a turning area securing path based on the shortest avoidance path in Figure 4 when the safety securing distance is 3 squares. [Figure 7] This is a partially enlarged view of Figure 6. [Figure 8] This figure shows how a turning area securing path is generated based on the shortest avoidance path in Figure 4 when the safety securing distance is 2 squares. [Figure 9] This is a partially enlarged view of Figure 8. [Figure 10] This figure shows how a turning area securing path is generated based on the safety assurance distance for each type of obstacle and the shortest avoidance path shown in Figure 4. [Figure 11] Figure 10 shows how to adjust the search distance to generate a path for securing the turning area. [Figure 12] This figure shows an example of determining the weight value based on the turning area securing path shown in Figure 6. [Figure 13] This figure shows the generation of interpolation paths based on the weighted values ​​determined in Figure 12. [Figure 14] This is a flowchart of a real-time path generation method for corner turning of a robot according to one embodiment of the present invention. [Modes for carrying out the invention]

[0017] Hereinafter, specific examples of embodiments for carrying out the present invention will be described in detail with reference to the drawings.

[0018] Embodiments of the present invention should be better understood by referring to the following description linked to drawings in which similar reference numerals refer to the same or functionally similar elements.

[0019] The above reference drawings are not necessarily shown to scale and should be understood as providing a somewhat simplified representation of various preferred features illustrating the fundamental principles of the present invention. For example, certain design features of the present invention, including specific dimensions, orientations, positions, and shapes, are determined in part by the specific intended application and usage environment.

[0020] The terms used herein are for the sole purpose of describing specific embodiments and are not intended to limit the invention. As used herein, singular forms are intended to also include plural forms unless explicitly indicated otherwise in context. The terms “including” and / or “including,” as used herein, identify the presence of the features, integers, stages, actions, components, and / or parts referred to, but should also be understood not to exclude the presence or addition of any other features, integers, stages, actions, components, and / or groups thereof. As used herein, the terms “and / or” include any one or all combinations of the items enumerated in relation.

[0021] As used herein, “robot” or other similar terms include all objects that can be moved by being powered by a power source, including general land-mobile robots, such as passenger cars including sport utility vehicles (SUVs), buses, trucks, and various commercial vehicles; marine-mobile robots, such as various boats and ships; and aerial-mobile robots, such as aircraft and drones. Furthermore, as used herein, “robot” or other similar terms are understood to include hybrid-powered robots, electric-powered robots, plug-in hybrid-powered robots, hydrogen-powered robots, and other alternative fuel (e.g., fuels derived from resources other than petroleum) robots. As referred to herein, hybrid-powered robots include robots having two or more power sources, such as gasoline-powered and electric-powered robots. Robots according to embodiments of the present invention include not only robots that move somewhat autonomously, but also robots that move fully autonomously or automatically.

[0022] Additionally, it is understood that one or more of the following methods or aspects thereof are performed by at least one controller. The term “controller” refers to a hardware device including memory and a processor. The memory is configured to store program instructions, and the processor is specifically programmed to execute program instructions to run one or more processes, which are described in more detail below. A controller controls the operation of a unit, module, component, device, or similar, as described herein. Furthermore, it is understood that the following methods are performed by a device including a controller together with one or more other components, as will be recognized by those skilled in the art.

[0023] Furthermore, the controller of the present invention is embodied by a non-temporary computer-readable recording medium containing executable program instructions executed by a processor. Examples of computer-readable recording media include, but are not limited to, ROM, RAM, compact disk (CD) ROM, magnetic tape, floppy disk, flash drive, smart card, and optical data storage device. The computer-readable recording medium is also distributed across a computer network, and the program instructions are stored and executed in a distributed manner, such as on a telematics server or a Controller Area Network (CAN).

[0024] Figure 1 is a block diagram of a real-time path generation system for corner turning of a robot according to one embodiment of the present invention.

[0025] As shown in Figure 1, the real-time path generation system for corner turning of the robot 50 according to this embodiment includes a sensor unit 10, a controller 20, and the robot 50.

[0026] The sensor unit 10 is mounted on the robot 50 and includes any sensors capable of detecting obstacles within its field of view, such as LiDAR, cameras, and radar. Here, the term "obstacle" or similar means an object such as a building, wall, or person that obstructs the movement of the robot 50 or prevents the robot 50 from passing through. The term "obstacle" or similar means an object that occupies physical space and is within the height of the robot 50. The sensor unit 10 is connected to the controller 20 to transmit data and transmits sensor data 68 detected within its field of view to the controller 20.

[0027] The controller 20 receives sensor data 68 from the sensor unit 10, generates a path for autonomous driving of the robot 50 based on the sensor data 68, and controls the autonomous driving of the robot 50 along the generated path. For this purpose, the controller 20 is embodied in one or more processors that operate according to a set program, and the set program is programmed to perform each stage of the real-time path generation method for corner turning of the robot 50 according to this embodiment. The controller 20 includes an obstacle detection unit 22, a cost map generation unit 26, a shortest avoidance path generation unit 28, an occlusion area detection unit 24, a corner entry point detection unit 30, a turning area securing path generation unit 32, a weight value determination unit 34, a path interpolation unit 36, a path selection unit 38, and a path following unit 40.

[0028] The obstacle detection unit 22 detects obstacles based on sensor data 68 transmitted from the sensor unit 10 and transmits information about the detected obstacles to the cost map generation unit 26. The obstacle information includes the presence, type, and location of the obstacle. The obstacle detection unit 22 stores obstacle detection logic for detecting obstacles from the sensor data 68. The obstacle detection logic is not particularly limited and can be a point cloud and image-based system, a deep learning system, a sensor fusion system, etc., but any suitable obstacle detection logic known to those skilled in the art can be used.

[0029] The cost map generation unit 26 stores a grid map, and generates an occupied grid map 60 based on the obstacle information transmitted from the obstacle detection unit 22 and the grid map. The cost map generation unit 26 is also configured to generate a cost map 64 for the area around the robot 50 based on the occupied grid map 60 and the obstacle information.

[0030] Figure 2 is a schematic diagram illustrating an example of an occupied grid map, and Figure 3 is a schematic diagram illustrating an example of a cost map.

[0031] The grid map refers to a map that divides the physical space on which the robot 50 can travel, such as the ground or floor, into a number of grids 62 of the same size. The occupied grid map 60 refers to a map in which the occupied space of obstacles is displayed (for example, displayed in dark gray), recorded, or stored on the grid map based on information about obstacles, as shown in Figure 2. The cost map 64 refers to a map in which the cost required for the robot 50 to pass through each grid 62 is displayed, recorded, or stored on each grid 62, as shown in Figure 3.

[0032] For example, as shown in Figure 3, the grid 62 occupied by an obstacle is assigned the highest cost of 9, and the cost assigned to that grid 62 decreases linearly as the distance from the occupied area increases. Alternatively, the grid 62 occupied by an obstacle is assigned 9, and the cost assigned to that grid 62 decreases non-linearly as the distance from the occupied area increases. Or, the cost is assigned to the grid 62 based not only on the distance to the obstacle but also on the type of obstacle, heatmap information, etc. However, the method of assigning costs to each grid 62 in the cost map 64 is not limited to the example method, and a cost assignment method that a person skilled in the art would deem appropriate can be adopted.

[0033] The shortest avoidance path generation unit 28 generates the shortest possible avoidance path 70 from the robot 50's current position to the destination 66, avoiding obstacles, using a path generation algorithm based on the cost map 64 generated by the cost map generation unit 26. The path generation algorithm is not particularly limited and includes at least one of a variety of path generation algorithms known to those skilled in the art.

[0034] Figure 4 shows the generation of the shortest avoidance route based on a cost map.

[0035] For example, as shown in Figure 4, the shortest avoidance path generation unit 28 generates the shortest avoidance path 70 based on the cost map 64, which allows the robot 50 to reach the destination 66 at the lowest cost while avoiding obstacles. The shortest avoidance path 70 includes a plurality of nodes 72 that the robot 50 must pass through, and the plurality of nodes 72 include a node 72 corresponding to the robot 50's current position, a node 72 corresponding to the destination 66, and at least one node 72 between the nodes 72. The plurality of nodes 72 included in the shortest avoidance path 70 are set so that the distance between adjacent nodes 72 is the same, or so that one node 72 is placed in each grid 62 included in the shortest avoidance path 70.

[0036] The shielding area detection unit 24 detects a shielding area 76, which is an area not detected by the sensor unit 10 at the current position of the robot 50, based on the sensor data 68 transmitted from the sensor unit 10.

[0037] The corner entry point detection unit 30 detects the corner entry point 78 by utilizing the shortest avoidance path 70 transmitted from the shortest avoidance path generation unit 28 and the occluded area 76 transmitted from the occluded area detection unit 24. The process of detecting the corner entry point 78 will be explained in more detail below with reference to Figure 5.

[0038] Figure 5 shows the detection of the corner entry point based on the shortest avoidance path in Figure 4. In Figure 5, the thick dotted line indicates the occlusion area 76, and the thick solid line indicates the sensor detection area 74.

[0039] As shown in Figure 5, the corner entry point detection unit 30 checks which of the sensor sensing area 74 and shielding area 76 each node 72 constituting the shortest avoidance path 70 belongs to. For example, it checks which of the sensor sensing area 74 and shielding area 76 each node 72 belongs to in the order from the robot 50's current position to the destination 66. Then, it detects the first node 72 that belongs to the sensor sensing area 74 and then to the shielding area 76 as the corner entry point 78. It also determines whether the corner entry point 78 is on the left or right side of the robot 50 to detect whether the robot 50 will enter the corner in the left or right direction. In the example in Figure 5, it can be seen that the corner entry point 78 is located on the left side of the robot 50, and the robot 50 will enter the corner by turning left.

[0040] The turning area securing path generation unit 32 generates the turning area securing path 82 based on the shortest avoidance path 70 transmitted from the shortest avoidance path generation unit 28. The process of generating the turning area securing path 82 will be explained in more detail below with reference to Figures 6 to 11.

[0041] Figure 6 shows how to generate a turning area securing path based on the shortest avoidance path in Figure 4 when the safety distance is 3 squares, Figure 7 is a partially enlarged view of Figure 6, Figure 8 shows how to generate a turning area securing path based on the shortest avoidance path in Figure 4 when the safety distance is 2 squares, Figure 9 is a partially enlarged view of Figure 8, Figure 10 shows how to generate a turning area securing path based on the safety distance depending on the type of obstacle and the shortest avoidance path in Figure 4, and Figure 11 shows how to generate a turning area securing path by adjusting the search distance in Figure 10.

[0042] In Figures 6 to 11, the circular points represent nodes 72 that constitute the shortest avoidance path 70, and the rectangular points represent turning area securing nodes 84 that constitute the turning area securing path 82.

[0043] As shown in Figures 6 to 11, the turning area securing path generation unit 32 searches for a turning area on the opposite side of the direction of rotation when entering a corner, based on the rotation information transmitted from the corner entry detection unit 30. For example, if a left turn is required when entering a corner, the turning area securing path generation unit 32 searches for a turning area in the right-hand region based on the shortest avoidance path 70, and if a right turn is required when entering a corner, the turning area securing path generation unit 32 searches for a turning area in the left-hand region based on the shortest avoidance path 70.

[0044] More specifically, for each node 72 constituting the shortest avoidance path 70, the direction opposite to the direction of rotation when entering a corner, among the directions perpendicular to the tangent line to the shortest avoidance path 70, is defined as the search direction 80 for the turning area relative to that node 72. Then, by referring to the cost value of the grid 62 located in the search direction 80, a point where a safety assurance distance 86 can be secured within a preset search distance in the search direction 80 is searched for as a turning area securing node 84. The safety assurance distance 86 is either preset or changes depending on the attributes of the obstacle 88.

[0045] In one example, as shown in Figures 6 and 7, when a left turn is required when entering a corner and the safety distance 86 is 3 squares (in this example, it is assumed that the search distance is sufficiently long, which is the preset maximum search distance), the turning area securing path generation unit 32 searches for a turning area securing node 84 for each node 72 that constitutes the shortest avoidance path 70, which is 3 squares away from the grid 62 that represents an obstacle 88 on the right side of the shortest avoidance path 70 and has a cost value of 9, which is the safety distance 86.

[0046] In another example, as shown in Figures 8 and 9, when a left turn is required when entering a corner and the safety distance 86 is 2 squares (in this example, it is assumed that the search distance is sufficiently long, which is the preset maximum search distance), the turning area securing path generation unit 32 searches for a turning area securing node 84 for each node 72 that constitutes the shortest avoidance path 70, at a point 2 squares away from the grid 62 with a cost value of 9 on the right side of the shortest avoidance path 70, which is the safety distance 86. In other words, compared to the example shown in Figures 6 and 7, the turning area securing node 84 is searched for at a point 1 square further forward in the search direction 80, by the amount that the safety distance 86 has decreased by 1 square.

[0047] Figure 10 shows an example of searching for a turning area securing node 84 when the safety securing distance 86 changes as the type of obstacle changes. In Figure 10, it is assumed that a left turn is required when entering a corner, the obstacle 88 on the lower right is a pedestrian so the safety securing distance 86 is 5 squares, the safety securing distance for the other obstacles 88 is 3 squares, and the search distance is sufficiently long, which is the preset maximum search distance. The turning area securing path generation unit 32 searches for a turning area securing node 84 for a node 72 affected by the obstacle 88 which is a pedestrian, at a point 5 squares away from the grid 62 with a cost value of 9 on the right side of the shortest avoidance path 70, which is the safety securing distance 86, and for a node 72 affected by the other obstacles 88, it searches for a turning area securing node 84 at a point 3 squares away from the grid 62 with a cost value of 9 on the right side of the shortest avoidance path 70, which is the safety securing distance 86.

[0048] In Figure 10, the search distance is not adjusted, so in regions where the type of obstacle 88 is changed to have different safety distances, the position of the turning area securing node 84 changes abruptly. Figure 11 shows an example of searching for the turning area securing node 84 when the search distance is adjusted in region (A) where the type of obstacle 88 is changed to have different safety distances. In Figure 11, the type of obstacle 88, its position, the safety distance 86, and the direction of rotation when entering a corner are the same as in Figure 10. However, in Figure 11, the search distance is adjusted as shown in Equation 1 in region (A) where the type of obstacle 88 is changed, and the position of the turning area securing node 84 changes more smoothly.

[0049] [Formula 1] Current search distance = min(search distance at previous node + α squares)

[0050] Here, α represents the predetermined maximum search distance, and α is any predetermined natural number. For example, α is 1, but is not limited to this.

[0051] The turning area securing path generation unit 32 searches for turning area securing nodes 84 for all nodes 72 constituting the shortest avoidance path 70 using the process described above, and generates the set of all turning area securing nodes 84 as the turning area securing path 82.

[0052] The weight value determination unit 34 is configured to determine a weight value for determining the final path between the shortest avoidance path 70 and the turning area securing node 84. The weight value determination unit 34 determines the weight value so that the robot 50 naturally moves away from the corner from its current position, makes a large turn, and then moves smoothly to the destination 66.

[0053] Figure 12 shows one example of determining the weight value based on the turning area securing path in Figure 6.

[0054] In Figure 12, the circular dots represent nodes 72 that constitute the shortest avoidance path 70, and the square dots represent turning area securing nodes 84 that constitute the turning area securing path 82. In order for the robot 50 to naturally move away from the corner from its current position, the weight values ​​must be assigned such that the weight value on the turning area securing path 82 gradually increases as the robot 50 moves away from its current position. In order to move smoothly to the destination 66, the weight values ​​must be assigned such that the weight value on the turning area securing path 82 gradually decreases as the robot approaches the destination 66.

[0055] In one example, as shown in Figure 12, the weighting value determination unit 34 selects the midpoint of the shortest avoidance path 70 and the turning area securing path 82 as the peak point pair 90, and assigns a weighting value of 1 to the turning area securing path 82 at the peak point pair 90. The weighting value determination unit 34 also linearly increases the weighting value for the turning area securing path 82 from 0 at the robot 50's current position to 1 at the peak point pair 90, and then linearly decreases it back to 0 at the destination 66. In contrast, the weighting value determination unit 34 can linearly decrease the weighting value for the shortest avoidance path 70 from 1 at the robot 50's current position to 0 at the peak point pair 90, and then linearly decreases it back to 1 at the destination 66. Table 1 shows one example of weighting values ​​assigned to node 72 and turning area securing node 84. In Table 1, the node number corresponding to the robot 50's current position is set to 0, and the node number corresponding to the destination 66 is set to 34. w1 is the weight assigned to the turning area securing node 84, and w2 is the weight assigned to node 72.

[0056] [Table 1] JPEG2026091787000002.jpg73163

[0057] In another example, the weighting value determination unit 34 can select the node 72 closest to the corner and the corresponding turning area securing node 84 as the peak point pair 90, assign a weighting value of 1 to the turning area securing path 82 at the peak point pair 90, assign a weighting value of 0 to the turning area securing path 82 at the robot 50's current position and destination 66, linearly increase the weighting value of the turning area securing path 82 from the robot 50's current position to the peak point pair 90, and linearly decrease the weighting value of the turning area securing path 82 from the peak point pair 90 to destination 66.

[0058] In another example, if the distance between the robot 50 and the corner entry point 78 is relatively short, the weight value determination unit 34 can determine the weight value so that the robot 50 enters the turning area securing path 82 more quickly. Conversely, if the distance between the robot 50 and the corner entry point 78 is relatively long, the weight value determination unit 34 can also determine the weight value so that the robot 50 enters the turning area securing path 82 more gradually.

[0059] The path interpolation unit 36 ​​is configured to generate an interpolated path 92 by interpolating the shortest avoidance path 70 and the turning area securing path 82 using the weight values ​​determined by the weight value determination unit 34. The interpolated path 92 is generated by equation 2.

[0060] [Formula 2] Path 補間 =w1×path 旋回 +w2×path 最短

[0061] Here, Path 補間 This indicates interpolation path 92, path 旋回 This indicates the turning area securing path 82, path 最短 w1 represents the shortest avoidance path 70, w1 is the weighted value for the turning area securing path 82, and w2 is the weighted value for the shortest avoidance path 70.

[0062] Specifically, Equation 2 is applied to all pairs of rotation area securing nodes 84 corresponding to node 72 to determine all interpolation nodes 94, and the set of all interpolation nodes 94 is generated as the interpolation path 92.

[0063] Figure 13 shows the generation of interpolation paths based on the weighted values ​​determined in Figure 12.

[0064] Referring to Figure 13, at the current position of the robot 50 and the destination 66, w1=0 and w2=1, so the interpolation node 94 coincides with node 72 on the shortest avoidance path 70. At the peak point pair 90, w1=1 and w2=0, so the interpolation node 94 coincides with the turning area securing node 84 on the turning area securing path 82. As a result, an interpolation path 92 that makes a large turn around the corner is generated.

[0065] The path selection unit 38 selects one of the paths from the shortest avoidance path 70 transmitted from the shortest avoidance path generation unit 28 and the interpolated path 92 transmitted from the path interpolation unit 36 ​​as the final path. Generally, the path selection unit 38 selects the interpolated path 92 as the final path so that the robot 50 avoids collisions with obstacles and makes a wide turn around corners. However, in special cases where there are no objects approaching the corner from the opposite side, the path selection unit 38 selects the shortest avoidance path 70 as the final path.

[0066] The path-following unit 40 controls the movement and steering of the robot 50 so that the robot 50 follows the final path transmitted from the path selection unit 38.

[0067] The robot 50 includes at least an energy storage system and a robot drive unit 52, which receives power from the energy storage system under the control of the control unit 20, particularly the control of the path-following unit 40, to drive the robot 50 so that it follows a final path. The robot drive unit 52 includes, but is not limited to, at least one wheel and at least one drive motor connected to at least one wheel and rotating at least one wheel. The robot drive unit 52 further includes a steering device for steering the robot 50.

[0068] Hereinafter, with reference to Figure 14, a real-time path generation method for corner turning of a robot according to another embodiment of the present invention will be described.

[0069] Figure 14 is a flowchart of a real-time path generation method for corner turning of a robot according to one embodiment of the present invention.

[0070] As shown in Figure 14, the real-time path generation method for corner turning of the robot according to this embodiment begins in step S100. To execute step S100, the sensor unit 10 detects sensor data 68 within the field of view and transmits the detected sensor data 68 to the controller 20.

[0071] The cost map generation unit 26 loads the grid map stored in the controller 20 (S100), and the obstacle detection unit 22 of the controller 20 detects obstacles based on the sensor data 68 (S110). The execution order of steps S100 and S110 is not limited to the example order.

[0072] Once the grid map is loaded and an obstacle 88 is detected, the cost map generation unit 26 generates an occupied grid map 60 based on the grid map and obstacle information, and generates a cost map 64 for the area around the robot 50 based on the occupied grid map 60 and obstacle information (S120).

[0073] Once the cost map 64 is generated, the shortest avoidance path generation unit 28 uses a path generation algorithm based on the cost map 64 to generate the shortest possible avoidance path 70 from the robot 50's current position to the destination 66, while avoiding obstacles (S130).

[0074] The shielding area detection unit 24 of the controller 20 detects a shielding area 76 at the current position of the robot 50, which is an area not detected by the sensor unit 10, based on the sensor data 68 (S140). The corner entry point detection unit 30 detects the corner entry point 78 by utilizing the shortest avoidance path 70 transmitted from the shortest avoidance path generation unit 28 and the shielding area 76 transmitted from the shielding area detection unit 24 (S150).

[0075] When a corner entry point 78 is detected, the turning area securing path generation unit 32 generates a turning area securing path 82 based on the shortest avoidance path 70 (S160). More specifically, for each node 72 constituting the shortest avoidance path 70, the turning area securing path generation unit 32 sets the direction opposite to the direction of rotation when entering a corner, among the directions perpendicular to the tangent line to the shortest avoidance path 70, as the turning area search direction 80 for that node 72. Subsequently, the turning area securing path generation unit 32 refers to the cost value of the grid 62 located in the search direction 80 and searches for a point within a preset search distance in the search direction 80 where a safe securing distance 86 can be secured, as a turning area securing node 84. The safe securing distance 86 is either preset or changes depending on the attributes of the obstacle 88. Subsequently, the turning area securing path generation unit 32 searches for turning area securing nodes 84 for all nodes 72 constituting the shortest avoidance path 70 using the process described above, and generates the set of all turning area securing nodes 84 as the turning area securing path 82.

[0076] Once the turning area securing path 82 is generated, the weight value determination unit 34 determines the weight values ​​for determining the final path between the shortest avoidance path 70 and the turning area securing path 82 (S170). In one example, at step S170, the weight value determination unit 34 assigns weight values ​​such that the weight value for the turning area securing path 82 gradually increases as the robot 50 moves further away from its current position, and the weight value for the shortest avoidance path 70 gradually decreases, so that the robot 50 can naturally move away from the corner from its current position. It also assigns weight values ​​such that the weight value for the turning area securing path 82 gradually decreases as the robot approaches the destination 66, and the weight value for the shortest avoidance path 70 gradually increases, so that the robot can move smoothly to the destination 66.

[0077] When weight values ​​are assigned to the shortest avoidance path 70 and the turning area securing path 82, the path interpolation unit 36 ​​interpolates the shortest avoidance path 70 and the turning area securing path 82 using the weight values ​​determined by the weight value determination unit 34 to generate an interpolated path 92, and the path selection unit 38 generates the final path by selecting one of the paths from the shortest avoidance path 70 transmitted from the shortest avoidance path generation unit 28 and the interpolated path 92 transmitted from the path interpolation unit 36 ​​as the final path (S180).

[0078] Subsequently, the path-following unit 40 controls the movement and steering of the robot 50 to move the robot 50 so that it follows the final path transmitted from the path selection unit 38 (S190).

[0079] Although embodiments of the present invention have been described in detail above with reference to the drawings, the present invention is not limited to the embodiments described above, and can be modified and implemented in various ways without departing from the technical spirit of the present invention. [Explanation of Symbols]

[0080] 10 Sensor section 20 Controllers 22 Obstacle detection unit 24 Shielding area detection unit 26 Cost Map Generation Unit 28 Shortest Avoidance Path Generation Unit 30. Corner entry point detection unit 32 Turning area securing path generation unit 34. Weighted Value Determination Unit 36 Path Interpolation Section 38 Route Selection Section 40 Route tracking unit 50 robots 52 Robot drive unit 60 Occupation Grid Map 62 Lattice 64 Cost Map 66 Destination 68 Sensor Data 70 Shortest avoidance route 72 nodes 74 Sensor detection area 76 Shield area Entry point to corner 78 80 Search direction 82 Turning Area Securing Route 84 Turning Area Securing Nodes 86 Safety distance 88 Obstacles 90 Peak point 92 Interpolation Path 94 Interpolation Nodes

Claims

1. A method for generating a real-time path for a robot to turn corners using a controller, The controller generates a cost map of the area around the robot based on a grid map and information on obstacles detected by the sensor unit. The controller generates the shortest possible avoidance path from the robot's current position to its destination, avoiding obstacles, based on the cost map. The controller performs the step of detecting an obscured area, which is an area not detected by the sensor unit at the robot's current position, The controller detects the corner entry point using the shortest avoidance path and the shielding area, The controller generates a turning area securing path based on the shortest avoidance path, using the corner entry point as a reference. The controller determines the weighting values ​​for the shortest avoidance path and the turning area securing path, The controller generates an interpolated path based on the shortest avoidance path, the turning area securing path, and the weighting value. A real-time path generation method characterized by comprising the step of generating a final path based on the shortest avoidance path and the interpolation path using the controller.

2. The step of detecting the corner entry point using the shortest avoidance path and the shielding area is as follows: A step of confirming which of the sensor detection area and the shielding area each node in the shortest avoidance path, in the order from the robot's current position to the destination, belongs to. A step of detecting the first node that moves from the sensor sensing area to the shielding area as the corner entry point, The real-time path generation method according to claim 1, characterized by including the step of detecting the direction of rotation when entering a corner.

3. The step of generating a turning area securing path based on the shortest avoidance path is as follows: The steps include determining the direction of exploration of the turning area based on the rotation direction when entering the corner, The step includes searching for a turning area securing node, which is a point in the search direction within the search distance that can secure a safe distance for all nodes constituting the shortest avoidance path in the order from the robot's current position to the destination, and is a point in the search direction within the search distance. The real-time path generation method according to claim 2, characterized in that the safety distance is the distance that must be kept away from the obstacle.

4. The real-time path generation method according to claim 3, characterized in that the search direction for the turning region is determined in the opposite direction to the rotation direction when entering the corner, among the directions that are orthogonal to the tangent line that is tangent to the shortest avoidance path for each node constituting the shortest avoidance path.

5. The real-time path generation method according to claim 3, characterized in that the safety distance is predetermined or changes depending on the attributes of the obstacle.

6. The real-time path generation method according to claim 3, characterized in that the search distance is a preset maximum search distance.

7. The current search distance at a node is determined by the following equation 1: [Formula 1] Current search distance at node = min(search distance at previous node + α squares) The real-time path generation method according to claim 3, characterized in that, here, α represents a predetermined maximum search distance, and α is a predetermined arbitrary natural number.

8. The step of determining the weight values ​​for the shortest avoidance path and the turning area securing path is: The steps include selecting a pair of peak points for the shortest avoidance path and the turning area securing path, A step of assigning a weight value of 1 to the turning area securing path and a weight value of 0 to the shortest avoidance path at the aforementioned peak point pair, The steps include assigning a weight value of 0 to the turning area securing path and a weight value of 1 to the shortest avoidance path at the robot's current position and destination, The steps include increasing the weighting value for the turning area securing path from the robot's current position to the peak point pair and decreasing the weighting value for the shortest avoidance path, The real-time path generation method according to claim 1, characterized by including the step of reducing the weighting value for the turning area securing path from the pair of peak points to the destination and increasing the weighting value for the shortest avoidance path.

9. The real-time path generation method according to claim 8, characterized in that the pair of peak points of the shortest avoidance path and the turning area securing path are selected as the central point of the shortest avoidance path and the turning area securing path or the corner entry point and the corresponding point of the turning area securing path.

10. The interpolation path (Path 補間 ) is generated by the following formula 2, [Formula 2] Path 補間 =w1×path 旋回 +w2×path 最短 Here, path 旋回 This indicates the path for securing the turning area, path 最短 The real-time path generation method according to claim 1, characterized in that w1 represents the shortest avoidance path, w1 is a weighted value for the turning area securing path, and w2 is a weighted value for the shortest avoidance path.

11. A system for generating real-time paths for a robot to turn corners, A sensor unit configured to detect sensor data within the field of view, The system includes a controller configured to receive sensor data from the sensor unit, generate a path from the robot's current position to a destination, and control the robot to move along the generated path. The controller is Based on the grid map and the sensor data received from the sensor unit, a cost map is generated for the area surrounding the robot. Based on the aforementioned cost map, the shortest possible avoidance path is generated from the robot's current position to the destination, avoiding obstacles. The robot detects an obscured area at its current position, which is an area not detected by the sensor unit. The corner entry point is detected using the shortest avoidance path and the shielding area. Based on the corner entry point, a turning area securing path is generated using the shortest avoidance path as a reference. Determine the weighting values ​​for the shortest avoidance path and the path that secures the turning area. An interpolation path is generated based on the shortest avoidance path, the turning area securing path, and the weighting value. A real-time path generation system characterized by being configured to generate a final path based on the shortest avoidance path and the interpolation path.

12. When detecting the corner entry point using the shortest avoidance path and the shielding area, the controller: For all nodes constituting the shortest avoidance path in the order from the robot's current position to the destination, it is confirmed which of the sensor detection area and the shielding area they belong to. The first node that moves from the sensor sensing area to the shielding area is detected as the corner entry point. The real-time path generation system according to claim 11, characterized in that it is configured to detect the direction of rotation when entering a corner.

13. When generating a turning area securing path based on the shortest avoidance path, the controller: Based on the rotation direction when entering the corner, the search direction for the turning area is determined. The system is configured to search for a turning area securing node, which is a point in the search direction within the search distance that can secure a safe distance for all nodes constituting the shortest avoidance path in the order from the robot's current position to the destination, and where a safe distance can be secured within the search distance. The real-time path generation system according to claim 12, characterized in that the safety distance is the distance that must be kept away from the obstacle.

14. The real-time path generation system according to claim 13, characterized in that the controller is configured to determine the direction opposite to the direction of rotation when entering a corner, among the directions orthogonal to the tangent line tangent to the shortest avoidance path for each node constituting the shortest avoidance path, as the direction for searching the turning area.

15. The real-time path generation system according to claim 13, characterized in that the safety distance is predetermined or changes depending on the attributes of the obstacle.

16. The real-time path generation system according to claim 13, characterized in that the search distance is a preset maximum search distance.

17. The controller determines the search distance at the current node using the following formula 1: [Formula 1] Current search distance at node = min(search distance at previous node + α squares) The real-time path generation system according to claim 13, characterized in that, here, α represents a predetermined maximum search distance, and α is a predetermined arbitrary natural number.

18. When determining the weight values ​​for the shortest avoidance path and the turning area securing path, the controller: Select the pair of peak points of the shortest avoidance path and the turning area securing path. At the aforementioned peak point pair, assign a weight value of 1 to the turning area securing path and a weight value of 0 to the shortest avoidance path. At the robot's current position and destination, the weight value for the turning area securing path is assigned to 0, and the weight value for the shortest avoidance path is assigned to 1. The weighting value for the turning area securing path from the robot's current position to the peak point pair is increased, and the weighting value for the shortest avoidance path is decreased. The real-time path generation system according to claim 11, characterized in that it is configured to decrease the weighting value for the turning area securing path from the peak point pair to the destination and increase the weighting value for the shortest avoidance path.

19. The real-time path generation system according to claim 18, characterized in that the controller selects the central point of the shortest avoidance path and the turning area securing path or the corner entry point and the corresponding point of the turning area securing path as the peak point pair of the shortest avoidance path and the turning area securing path.

20. The controller controls the interpolation path (Path 補間 ) is generated by the following formula 2, [Formula 2] Path 補間 =w1×path 旋回 +w2×path 最短 Here, path 旋回 This indicates the path for securing the turning area, path 最短 The real-time path generation system according to claim 11, characterized in that w1 indicates the shortest avoidance path, w1 is a weighted value for the turning area securing path, and w2 is a weighted value for the shortest avoidance path.