Robot control device and control method thereof

The robot control device and method effectively predict and avoid collisions with moving obstacles by using sensors and algorithms to generate optimal avoidance paths, enhancing safety and efficiency in navigation.

JP2026015146APending Publication Date: 2026-01-29HYUNDAI MOTOR CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024210042
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-19
Filing Date
2024-12-03
Publication Date
2026-01-29

AI Technical Summary

Technical Problem

Existing robot control technologies struggle to efficiently navigate around moving obstacles while minimizing the distance to a target location, lacking effective methods to predict and avoid collisions with dynamic objects.

Method used

A robot control device and method that utilizes sensors and processors to identify external objects, predict their movement paths, and generate alternative paths to avoid collisions, employing algorithms like grid-based, graph-based, and sampling-based methods to determine collision risks and generate optimal avoidance routes.

Benefits of technology

Enables robots to safely navigate around dynamic obstacles by predicting potential collisions and generating avoidance paths, thereby preventing accidents and ensuring efficient movement to target locations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026015146000001_ABST
    Figure 2026015146000001_ABST
Patent Text Reader

Abstract

To provide a robot control device for avoiding an external object and a control method thereof.SOLUTION: The processor is configured to identify an external object using the sensor while the robot moves along a first path including a target point to determine whether the external object and the robot collide with each other on the first path, generate a second path for avoiding collision between the robot and the external object, and move the robot along the second path, wherein the first path includes a shortest distance path for the robot to move to the target point.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a robot control device and a control method thereof, and more particularly to a technology for operating a robot. [Background technology]

[0002] Recently, in the field of robotics, various researches have been conducted on robot technologies, particularly on technologies for robots to move while avoiding obstacles.

[0003] When a robot avoids a moving obstacle, research is being conducted on how to reach a target location in the shortest distance while avoiding the moving obstacle, rather than simply avoiding the moving obstacle. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-55498 Summary of the Invention [Problem to be solved by the invention]

[0005] The present invention has been made in view of the above-mentioned conventional techniques, and an object of the present invention is to provide a robot control device and a control method thereof for avoiding an external object. [Means for solving the problem]

[0006] In order to achieve the above object, one aspect of the present invention provides a robot control device comprising a sensor and a processor, wherein the processor is configured to identify an external object using the sensor while moving the robot along a first path including a target point, determine whether the external object will collide with the robot on the first path, generate a second path to avoid a collision between the robot and the external object, and then move the robot along the second path, wherein the first path includes a shortest distance path for the robot to move to the target point.

[0007] The processor may determine whether the external object and the robot will collide on the first path based on at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a direction of movement of the external object, or any combination thereof. The processor may be configured to identify a shortest path to avoid the external object by predicting a movement path of the external object, and generate the second path corresponding to the shortest path. The processor may be configured to generate at least one of the first path, the second path, or any combination thereof based on at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof. The processor may be configured to divide a movement path of the external object into a plurality of first sections according to designated times on a map including the first path, divide the first path into second sections according to the designated times based on the speed of the robot, and predict a collision between the external object and the robot when at least one of the first sections overlaps with at least one of the second sections. The processor may be configured to, when predicting the collision, generate a transit point to avoid the collision, generate the second path including the transit point, and then operate the robot along the second path. The processor may be configured to expand a size of an obstacle box corresponding to the external object in the map, and then generate the waypoint for bypassing the expanded size of the obstacle box. The processor may be configured to generate the waypoint in a second direction opposite to a first direction including a moving direction of the external object. The processor may be configured to generate the second path based on a first partial path connecting a starting point of the robot and the waypoint and a second partial path connecting the waypoint and the destination point. The sensors may include at least one of a camera, a light detection and ranging (LiDAR), a radio detection and ranging (RADAR), an obstacle detection sensor, or any combination thereof. The external object may include a dynamic obstacle. The processor is configured to acquire the second path based on a collision risk index, and the collision risk index may be acquired based on the absolute value of the difference between a first index indicating the position of the external object at a point where a collision between the robot and the external object is predicted, and a second index indicating the position of the robot at a point where a collision between the robot and the external object is predicted. The processor may be configured to predict a collision between the robot and a plurality of external objects including the external object, and then select an object with the smallest collision risk index, or an object closest to the robot if the collision risk indexes are the same, as a priority object to be avoided, and after selecting the priority object to be avoided, generate a third path to avoid a collision between the robot and the priority object to be avoided.

[0008] To achieve the above object, a robot control method executed by a processor according to one embodiment of the present invention includes the steps of: determining whether a collision between the robot and the external object will occur on a first path by identifying an external object using a sensor while the robot is moving along a first path including a target point; generating a second path to avoid a collision between the robot and the external object, and then moving the robot along the second path, wherein the first path includes a shortest distance path for the robot to move to the target point.

[0009] The robot control method may include determining whether the external object and the robot will collide on the first path based on at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a moving direction of the external object, or any combination thereof. The robot control method may include identifying a shortest path to avoid the external object by predicting a movement path of the external object, and generating the second path corresponding to the shortest path. The robot control method may include generating at least one of the first path, the second path, or any combination thereof based on at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof. The robot control method may include dividing a movement path of the external object into a plurality of first sections according to designated times on a map including the first path; dividing the first path into second sections according to the designated times based on a speed of the robot; and predicting a collision between the external object and the robot when at least one of the first sections and at least one of the second sections overlap. The robot control method may include generating a transit point to avoid the collision when the collision is predicted, generating the second path including the transit point, and operating the robot along the second path. The robot control method may include expanding a size of an obstacle box corresponding to the external object in the map, and then generating the waypoint for bypassing the expanded obstacle box. The robot control method may include generating the waypoint in a second direction opposite to a first direction including a moving direction of the external object. The robot control method may include generating the second path based on a first partial path connecting a starting point of the robot and the via point and a second partial path connecting the via point and the destination point. The sensors may include at least one of a camera, a light detection and ranging (LiDAR), a radio detection and ranging (RADAR), an obstacle detection sensor, or any combination thereof. The external object may include a dynamic obstacle. The robot control method may include a step of acquiring the second path based on a collision risk index, and the collision risk index may be acquired based on an absolute value of a difference between a first index indicating a position of the external object at a point where a collision between the robot and the external object is predicted, and a second index indicating a position of the robot at a point where a collision between the robot and the external object is predicted. The robot control method may include predicting a collision between the robot and a plurality of external objects including the external object, and selecting an object having the smallest collision risk index, or an object closest to the robot if the collision risk indexes are the same, as a priority object to be avoided; and after selecting the priority object to be avoided, generating a third path to avoid a collision between the robot and the priority object to be avoided. [Effects of the Invention]

[0010] According to the present invention, it is possible to predict whether a robot will collide with an external object (e.g., an obstacle and / or a moving obstacle) by predicting the moving path of the external object.

[0011] In addition, if a collision between the robot and an external object is predicted, the external object can be avoided, and an avoidance path can be generated to prevent the collision between the robot and the external object.

[0012] In addition, various other effects can be provided that can be directly or indirectly grasped through this specification. [Brief explanation of the drawings]

[0013] [Figure 1] 1 is a block diagram showing an example of a robot control device according to an embodiment of the present invention. [Figure 2] 10 is a diagram illustrating an example of identifying a collision between a robot and an external object according to an embodiment of the present invention. [Figure 3] FIG. 10 is a diagram showing an example of generating a route including a via point in one embodiment of the present invention. [Figure 4] 1 is a flowchart illustrating an example of a robot control method according to an embodiment of the present invention. [Figure 5] 1 is a flowchart illustrating an example of a robot control method according to an embodiment of the present invention. [Figure 6] FIG. 1 illustrates a computing system for a robot control device or method according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

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

[0015] When assigning reference numerals to components in each drawing, care should be taken to assign the same numerals to the same components even if they are displayed in different drawings. Furthermore, when describing embodiments of the present invention, if a detailed description of related known structures or functions is deemed to obscure understanding of the embodiments of the present invention, the detailed description will be omitted.

[0016] When describing components of embodiments of the present invention, terms such as "first," "second," "A," "B," "(a)," and "(b)" are used. These terms are used to distinguish a component from other components and do not limit the nature, order, or sequence of the components. Furthermore, unless otherwise defined, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by those skilled in the art to which the present invention pertains. Terms similar to those defined in commonly used dictionaries should be interpreted as meanings consistent with the meanings they have in the context of the relevant art, and should not be interpreted in an idealized or overly formal sense unless expressly defined herein.

[0017] Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.

[0018] FIG. 1 is a block diagram showing an example of a robot control device according to an embodiment of the present invention.

[0019] 1, a robot controller 100 according to this embodiment may be implemented inside or outside the robot, and some of the components included in the robot controller 100 may be implemented inside or outside the robot. In this case, the robot controller 100 may be formed integrally with an internal control unit of the robot, or may be implemented as a separate device and connected to the robot control unit by a separate connection means. For example, the robot controller 100 may further include components not shown in FIG. 1.

[0020] The robot controller 100 according to this embodiment includes a processor 110 and a sensor 120. The processor 110 and the sensor 120 are electrically and / or operably coupled with each other by electronic components including a communication bus.

[0021] Hereinafter, "hardware operatively coupled" includes hardware in which a direct and / or indirect connection between the hardware is established by wire and / or wirelessly, such that a first piece of hardware controls a second piece of hardware.

[0022] Although shown as different blocks, this embodiment is not limited thereto. For example, a portion of the hardware in FIG. 1 may be included in a single integrated circuit, including a system on a chip (SoC). The types and / or number of hardware included in the robot controller 100 are not limited to those shown in FIG. 1. For example, the robot controller 100 includes only a portion of the hardware shown in FIG. 1.

[0023] The robot controller 100 according to this embodiment includes hardware for processing data based on one or more instructions. The hardware for processing data includes a processor 110.

[0024] For example, the hardware for processing data may include an arithmetic and logic unit (ALU), a floating point unit (FPU), a field programmable gate array (FPGA), a central processing unit (CPU), and / or an application processor (AP). The processor 110 may have a single-core processor structure or a multi-core processor structure, including a dual core, a quad core, a hexa core, or an octa core.

[0025] The robot controller 100 according to the present embodiment includes a sensor 120 for detecting an external object. For example, the robot controller 100 includes a sensor 120 for identifying the surrounding environment of the robot including the robot controller 100.

[0026] For example, the sensor 120 may include at least one of a camera, a light detection and ranging (LiDAR), a radio detection and ranging (RADAR), an obstacle detection sensor, or any combination thereof.

[0027] For example, the processor 110 identifies the surrounding environment of the robot including the robot controller 100 using the sensor data acquired through the sensor 120. For example, the processor 110 identifies an external object in the surrounding environment of the robot including the robot controller 100 using the sensor data acquired through the sensor 120. For example, the external object includes a moving obstacle.

[0028] The processor 110 of the robot control device 100 according to this embodiment controls the robot to navigate along a first path including a target point. For example, the processor 110 controls the robot to navigate along the first path toward the target point. For example, the first path includes a shortest distance path for the robot to move to the target point.

[0029] In this embodiment, the processor 110 identifies an external object using the sensor 120 while the robot is moving along a first path including the destination point. For example, the external object may be referred to as an obstacle.

[0030] For example, while the processor 110 navigates the robot along a first path including the target point, the processor 110 identifies an external object using the sensor 120 to determine whether the external object will collide with the robot on the first path.

[0031] For example, the processor 110 identifies at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a moving direction of the external object, or any combination thereof. For example, the processor 110 identifies at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a moving direction of the external object, or any combination thereof based on sensor data acquired via the sensor 120.

[0032] For example, the processor 110 determines whether the external object and the robot will collide on the first path based on at least one of an identifier assigned to the external object, the type of the external object, the position of the external object, the speed of the external object, the direction of movement of the external object, or any combination thereof.

[0033] In this embodiment, the processor 110 generates at least one of the first pass, the second pass, or any combination thereof based on at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof.

[0034] For example, grid-based algorithms and / or graph-based algorithms are *The sampling-based algorithm may include at least one of a random tree (RRT), a Dijkstra algorithm, a jump point search (JPS) algorithm, or any combination thereof. For example, the sampling-based algorithm may include a rapidly-exploring random tree (RRT).

[0035] In this embodiment, the processor 110 generates a second path for avoiding the external object. For example, the processor 110 generates the second path for avoiding the external object, and then moves the robot along the second path.

[0036] For example, the processor 110 predicts the movement path of the external object based on sensor data acquired via the sensor 120. For example, the processor 110 predicts the movement path of the external object based on sensor data related to the external object. For example, the processor 110 predicts the movement path of the external object based on at least one of the speed of the external object, the movement direction of the external object, or any combination thereof.

[0037] For example, the processor 110 identifies the shortest path to avoid the external object by predicting the movement path of the external object. The processor 110 generates a second path corresponding to the shortest path by identifying the shortest path. For example, the processor 110 navigates the robot along the generated second path.

[0038] For example, the processor 110 divides the travel path of the external object into a plurality of first sections according to a specified time on a map including the first route, and the first sections are represented as boxes of a size corresponding to the external object.

[0039] For example, the processor 110 divides the first path into second sections by a specified time based on the speed of the robot, and the second sections are represented as boxes of a size corresponding to the robot.

[0040] For example, processor 110 identifies whether the first section and the second section overlap. For example, processor 110 identifies whether at least one of the first sections overlaps with at least one of the second sections. For example, processor 110 predicts a collision between the external object and the robot when at least one of the first sections overlaps with at least one of the second sections.

[0041] For example, the processor 110 predicts that if the first section and the second section do not overlap, the external object and the robot will not collide.

[0042] For example, the processor 110 generates transit points to avoid collisions between the external object and the robot by predicting a collision between the external object and the robot, and then generates a second path including the transit points, and operates the robot along the second path.

[0043] For example, the processor 110 identifies an obstacle box corresponding to the external object in a map. For example, the map includes a two-dimensional planar coordinate system for representing the external object and / or the movement path of the robot.

[0044] For example, the processor 110 expands the size of an obstacle box corresponding to an external object. The processor 110 expands the size of the obstacle box based on the size of the robot and the size of the obstacle box. For example, the processor 110 expands the size of the obstacle box based on the width of the robot, the length of the robot, the width of the obstacle box, and the length of the obstacle box.

[0045] For example, the processor 110 may expand the size of an obstacle box corresponding to an external object, and then generate waypoints for bypassing the expanded size of the obstacle box.

[0046] For example, the processor 110 identifies the movement direction of the external object based on sensor data acquired using the sensor 120. The processor 110 identifies a waypoint in a second direction opposite to the first direction including the movement direction of the external object.

[0047] For example, the processor 110 identifies a starting point of the robot. For example, the processor 110 generates a first partial path that connects the starting point of the robot with a waypoint. For example, the processor 110 generates a second partial path that connects the waypoint with a destination point. For example, the processor 110 generates a second path by connecting the first partial path with the second partial path. For example, the processor 110 generates the second path based on the first partial path that connects the starting point of the robot with a waypoint and the second partial path that connects the waypoint with a destination point.

[0048] For example, the processor 110 generates a second path to avoid a collision between the robot and an external object, and then moves the robot along the second path.

[0049] For example, the processor 110 acquires the second path based on a collision risk index, which is acquired based on the absolute value of the difference between a first index indicating the position of the external object at a point where a collision between the robot and the external object is predicted, and a second index indicating the position of the robot at a point where a collision between the robot and the external object is predicted.

[0050] For example, the processor 110 predicts a collision between the robot and a plurality of external objects, including an external object, and selects an object with the smallest collision risk index, or an object closest to the robot if the collision risk indexes are the same, as the priority object to be avoided. For example, after selecting the priority object to be avoided, the processor 110 generates a third path to avoid a collision between the robot and the priority object to be avoided.

[0051] As described above, the robot control device 100 according to the present embodiment generates a path to avoid the external object when a collision between the robot and an external object is predicted, and operates the robot using the generated path, thereby providing an effect of preventing accidents caused by the robot.

[0052] FIG. 2 is a diagram illustrating an example of identifying a collision between a robot and an external object according to an embodiment of the present invention.

[0053] Referring to FIG. 2, a processor (eg, processor 110 in FIG. 1) of a robot controller (eg, robot controller 100 in FIG. 1) according to this embodiment identifies an external object 210 within a map 205 including the surrounding environment of a robot 200.

[0054] For example, the processor uses a specified algorithm to identify the external object 210 located around the robot 200. For example, the processor detects the external object 210 by using a deep-learning-based algorithm including at least one of an image processing-based algorithm, a YOLO (you only look once) algorithm, a faster R-CNN (region with convolutional neural networks), or any combination thereof.

[0055] In this embodiment, the processor uses a designated algorithm to track the external object 210. For example, the processor tracks the external object 210 by using at least one of an assignment algorithm including at least one of a Hungarian algorithm, a bipartite algorithm, or any combination thereof, a deep-learning based algorithm, or any combination thereof.

[0056] For example, the processor identifies a travel path 240 for the robot 200. For example, the processor identifies the travel path 240 that includes the destination point 250.

[0057] For example, after identifying the movement path 240 of the robot 200, the processor divides the movement path 240 into sections (201-1, 201-2, 201-3, 201-4). For example, the processor generates sections (201-1, 201-2, 201-3, 201-4) that reflect the size of the robot 200.

[0058] For example, the processor may identify the movement path of the external object 210 and then divide the movement path of the external object 210 into sections (211-1, 211-2, 211-3, 211-4, 211-5). For example, the processor may generate sections (211-1, 211-2, 211-3, 211-4, 211-5) that reflect the size of the external object 210.

[0059] Hereinafter, for the purpose of distinguishing between sections (201-1, 201-2, 201-3, 201-4) and sections (211-1, 211-2, 211-3, 211-4, 211-5), sections (201-1, 201-2, 201-3, 201-4) will be referred to as robot sections (201-1, 201-2, 201-3, 201-4), and sections (211-1, 211-2, 211-3, 211-4, 211-5) will be referred to as object sections 211-1, 211-2, 211-3, 211-4, 211-5.

[0060] In this embodiment, the processor identifies whether the robot sections (201-1, 201-2, 201-3, 201-4) and the object sections (211-1, 211-2, 211-3, 211-4, 211-5) overlap.

[0061] For example, the processor identifies whether at least one of the robot sections (201-1, 201-2, 201-3, 201-4) and at least one of the object sections (211-1, 211-2, 211-3, 211-4, 211-5) overlap.

[0062] For example, the processor predicts whether the robot 200 will collide with the external object 210 based on whether at least one of the robot sections (201-1, 201-2, 201-3, 201-4) overlaps with at least one of the object sections (211-1, 211-2, 211-3, 211-4, 211-5).

[0063] For example, the processor predicts whether the robot 200 will collide with the external object 210 based on the robot section information about the robot sections (201-1, 201-2, 201-3, 201-4) and the object section information about the object sections (211-1, 211-2, 211-3, 211-4, 211-5).

[0064] For example, the robot section information includes the position and time of the robot 200. For example, the object section information includes the position and time of the external object 210. For example, the processor predicts a collision between the robot 200 and the external object 210 when the position and time of the robot 200 partially match the position and time of the external object 210 in the robot section information and the object section information.

[0065] For example, the processor predicts a collision between the robot 200 and the external object 210 when at least one of the robot sections (201-1, 201-2, 201-3, 201-4) overlaps with at least one of the object sections (211-1, 211-2, 211-3, 211-4, 211-5).

[0066] For example, the processor predicts that the robot 200 will not collide with the external object 210 if at least one of the robot sections (201-1, 201-2, 201-3, 201-4) does not overlap with at least one of the object sections (211-1, 211-2, 211-3, 211-4, 211-5).

[0067] In this embodiment, when the processor identifies a collision between the robot 200 and the external object 210, the processor changes the movement path 240 of the robot 200. For example, the processor changes the movement path 240 of the robot 200 to avoid a collision between the robot 200 and the external object 210.

[0068] FIG. 3 is a diagram showing an example of generating a route including a via point in one embodiment of the present invention.

[0069] 3, a processor (e.g., processor 110 of FIG. 1) of a robot control device (e.g., robot control device 100 of FIG. 1) according to this embodiment identifies a plurality of external objects (310, 330). For example, the processor identifies the external objects (310, 330) located around the robot 300. For example, the processor identifies the external objects (310, 330) within a map 305 showing the surrounding environment of the robot 300.

[0070] For example, the processor identifies a path 340 for the robot 300 to travel toward a destination 350 .

[0071] For example, the processor identifies a moving path of the first external object 310. For example, the processor divides the moving path of the first external object 310. For example, the processor divides the moving path of the first external object 310 to obtain first object sections (311-1, 311-2, 311-3, 311-4, 311-5).

[0072] For example, the processor identifies a moving path of the second external object 320. For example, the processor divides the moving path of the second external object 320. For example, the processor divides the moving path of the second external object 320 to obtain second object sections (321-1, 321-2, 321-3, 321-4, 321-5).

[0073] For example, the processor divides the movement path 340 of the robot 300. For example, the processor divides the movement path 340 of the robot 300 to obtain robot sections (301-1, 301-2, 301-3, 301-4).

[0074] For example, the processor predicts whether or not the robot 300 will collide with at least one of the external objects (310, 320) based on at least one of the robot sections (301-1, 301-2, 301-3, 301-4), the first object sections (311-1, 311-2, 311-3, 311-4, 311-5), the second object sections (321-1, 321-2, 321-3, 321-4, 321-5), or any combination thereof.

[0075] For example, the processor predicts which of the external objects (310, 320) will collide with the robot 300 first. In FIG. 3, the processor predicts that the second external object 320 will collide with the robot 300 first from the first external object 310 and the second external object 320.

[0076] For example, if the processor predicts that the second external object 320 will collide with the robot 300 first, the processor adjusts the size of the obstacle box corresponding to the second external object 320. For example, the processor enlarges the size of the obstacle box corresponding to the second external object 320. For example, the processor generates an obstacle box 325 having an enlarged size, and then generates a path to avoid the obstacle box 325 having the enlarged size.

[0077] For example, the processor generates way points 330 for avoiding the expanded obstacle box 325. For example, the way points 330 are generated to be located in a second direction (e.g., the right direction in FIG. 3 ) opposite to a first direction (e.g., the left direction in FIG. 3 ) including the traveling direction of the second external object 320.

[0078] For example, the processor generates a path for the robot 300 to travel using the waypoint 330. For example, the processor generates a first partial path 331 that connects the starting point of the robot 300 with the waypoint 330. For example, the processor generates a second partial path 332 that connects the waypoint 330 with the destination point 350. For example, the processor generates a path to avoid the second external object 320 using the first partial path 331 and the second partial path 332.

[0079] For example, the processor uses at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof when generating at least one of the first partial path 331, the second partial path 332, or any combination thereof. For example, the processor generates at least one of the first partial path 331, the second partial path 332, or any combination thereof by using at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof.

[0080] As described above, the robot control device according to this embodiment can predict whether the robot 300 will collide with an external object (310, 320) and generate a path to avoid the external object (310, 320), thereby enabling the robot 300 to operate safely.

[0081] FIG. 4 is a flowchart showing an example of a robot control method according to an embodiment of the present invention.

[0082] In the following, it is assumed that the robot controller 100 of Fig. 1 performs the process of Fig. 4. In addition, in the description of Fig. 4, the operations described as being performed by the device are understood to be controlled by the processor 110 of the robot controller 100.

[0083] At least one of the steps in Fig. 4 is performed by the robot controller 100 of Fig. 1. At least one of the steps in Fig. 4 is controlled by the processor 110 of Fig. 1. The steps in Fig. 4 are performed sequentially, but not necessarily sequentially. For example, the order of the steps may be changed, or at least two steps may be performed in parallel.

[0084] Referring to FIG. 4, the robot control method according to the present embodiment includes, in step S401, an operation of identifying a moving obstacle based on sensor data acquired through a sensor.

[0085] For example, the robot control method may include acquiring sensor data based on at least one of a camera, a lidar, a radar, an obstacle detection sensor, or a combination thereof. For example, the robot control method may include acquiring sensor data using at least one of a camera, a lidar, a radar, an obstacle detection sensor, or a combination thereof, and then identifying a moving obstacle. For example, the moving obstacle may include the external object described with reference to FIGS. 1 to 3.

[0086] In step S403, the robot control method according to the present embodiment includes determining whether a collision between the robot and a moving obstacle is predicted.

[0087] For example, the robot control method includes an operation of determining whether a collision between the robot and the moving obstacle is predicted based on the movement path of the robot and the movement path of the moving obstacle.

[0088] For example, the robot control method includes an operation of predicting whether or not a collision will occur between the robot and a moving obstacle based on robot sections obtained by dividing the robot's movement path and obstacle sections obtained by dividing the moving path of the moving obstacle.

[0089] For example, the robot control method includes an operation of predicting whether a robot will collide with a dynamic obstacle based on numbers assigned to robot sections and numbers assigned to obstacle sections. For example, the numbers assigned to robot sections include information about sections corresponding to the robot's position as the robot moves and the time when each section is predicted to reach the position. For example, the numbers assigned to obstacle sections include information about sections corresponding to the dynamic obstacle's position as the dynamic obstacle moves and the time when each section is predicted to reach the position.

[0090] If a collision between the robot and a moving obstacle is predicted (Yes in step S403), the robot control method according to this embodiment includes, in step S405, an operation of determining whether multiple moving obstacles are identified.

[0091] For example, the robot control method includes an operation of determining whether or not multiple moving obstacles exist in the movement path of the robot when a collision between the robot and the moving obstacle is predicted.

[0092] If a collision between the robot and a moving obstacle is not predicted (No in step S403), or if multiple moving obstacles are not identified (No in step S405), in step S407, the robot control method according to this embodiment includes generating an avoidance path and then operating the robot along the generated avoidance path.

[0093] If multiple moving obstacles are identified (Yes in step S405), in step S409, the robot control method according to this embodiment includes an operation of acquiring a priority avoidance waypoint by identifying a moving obstacle that must be avoided preferentially from among the moving obstacles.

[0094] For example, the robot control method includes an operation of identifying a moving obstacle that is predicted to collide with the robot first from among a plurality of moving obstacles, and an operation of acquiring a priority avoidance waypoint for avoiding the moving obstacle that is predicted to collide with the robot first.

[0095] In step S411, the robot control method according to the present embodiment includes generating an avoidance path based on the priority avoidance waypoint, and then operating the robot along the generated avoidance path.

[0096] For example, the robot control method includes an operation of identifying a current position of the robot. For example, the robot control method includes an operation of obtaining a first partial avoidance path connecting the current position of the robot and the preferred avoidance waypoint.

[0097] For example, the robot control method includes an operation of acquiring a second partial avoidance path that connects the priority avoidance way point and the target point.

[0098] For example, the robot control method includes an operation of obtaining an avoidance path based on a first partial avoidance path and a second partial avoidance path.

[0099] For example, the robot control method includes an operation of moving the robot along an avoidance path generated based on a first partial avoidance path and a second partial avoidance path.

[0100] FIG. 5 is a flowchart showing an example of a robot control method according to an embodiment of the present invention.

[0101] In the following, it is assumed that the robot controller 100 of Fig. 1 performs the process of Fig. 5. In addition, in the description of Fig. 5, the operations described as being performed by the device are understood to be controlled by the processor 110 of the robot controller 100.

[0102] At least one of the steps in Figure 5 is performed by the robot controller 100 of Figure 1. At least one of the steps in Figure 5 is controlled by the processor 110 of Figure 1. The steps in Figure 5 are performed sequentially, but not necessarily sequentially. For example, the order of the steps may be changed, or at least two steps may be performed in parallel.

[0103] Referring to FIG. 5, in step S501, the robot control method according to this embodiment includes an operation of identifying an external object using a sensor while moving the robot along a first path including a target point, thereby determining whether the external object will collide with the robot on the first path.

[0104] For example, the robot control method may include determining whether the external object and the robot move along a first path based on at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a direction of movement of the external object, or any combination thereof.

[0105] For example, the robot control method may include dividing a movement path of an external object into a plurality of first sections according to a specified time on a map including the first path, and dividing the first path into second sections according to a specified time based on a speed of the robot.

[0106] For example, the robot control method includes an operation of predicting a collision between an external object and the robot when at least one of the first sections overlaps with at least one of the second sections.

[0107] In step S503, the robot control method according to the present embodiment includes generating a second path for avoiding the external object, and then operating the robot along the second path.

[0108] For example, the robot control method may include an operation of identifying a movement path of an external object. For example, the robot control method may include an operation of identifying a shortest path to avoid the external object by predicting the movement path of the external object. For example, the shortest path to avoid the external object may be obtained based on waypoints, which will be described later. For example, the robot control method may include an operation of generating a second path corresponding to the obtained shortest path.

[0109] For example, the robot control method includes generating at least one of a first path, a second path, or any combination thereof based on at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof.

[0110] For example, the robot control method includes an operation of generating a second path by predicting a collision between the robot and an external object. For example, the robot control method includes an operation of generating waypoints to avoid the collision by predicting a collision between the robot and an external object. The robot control method includes an operation of generating a second path including the waypoints. For example, the robot control method includes an operation of generating a second path including the waypoints and then operating the robot along the second path.

[0111] For example, the robot control method may include an operation of expanding an obstacle box corresponding to an external object in a map, and then generating a waypoint for bypassing the expanded obstacle box.

[0112] For example, the robot control method may include an operation of generating a waypoint in a second direction opposite to a first direction including a moving direction of the external object. For example, the robot control method may include an operation of generating a line overlapping the moving direction of the external object. For example, the robot control method may include an operation of generating a line overlapping the moving direction of the external object, and then generating a waypoint at a position that does not overlap the external object.

[0113] For example, the robot control method includes an operation of generating a first partial path connecting a start point and a waypoint of the robot, and an operation of generating a second partial path connecting a waypoint and a destination point of the robot.

[0114] For example, the robot control method includes an operation of generating a second path based on the first partial path and the second partial path. For example, the robot control method includes an operation of generating a second path including the first partial path and the second partial path.

[0115] As described above, the robot control method according to the present embodiment includes detecting an external object and then generating a path to avoid the external object. The robot control method generates a path to avoid the external object and controls the robot's movement along the generated path, thereby enabling the robot to move safely.

[0116] FIG. 6 is a diagram illustrating a computing system relating to a robot control device or a robot control method according to an embodiment of the present invention.

[0117] Referring to FIG. 6, computing system 1000 includes at least one processor 1100, memory 1300, user interface input device 1400, user interface output device 1500, storage 1600, and network interface 1700, all connected via a bus 1200.

[0118] The processor 1100 is a semiconductor device that executes processing based on instructions stored in a central processing unit (CPU), memory 1300, and / or storage 1600. The memory 1300 and storage 1600 may include various types of volatile or non-volatile recording media. For example, the memory 1300 may include a read only memory (ROM) 1310 and a random access memory (RAM) 1320.

[0119] Accordingly, the steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware executed by processor 1100, in a software module, or in a combination of the two. The software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or other recording medium (i.e., memory 1300 and / or storage 1600).

[0120] An exemplary storage medium is coupled to processor 1100, such that processor 1100 reads information from and stores information on the storage medium. Alternatively, the storage medium may be integral to processor 1100. The processor and the storage medium may reside in an application specific integrated circuit (ASIC). The ASIC may reside in a user terminal. Alternatively, the processor and the storage medium may reside as discrete components in a user terminal.

[0121] The above description is merely an illustrative example of the technical concept of the present invention, and various modifications and variations can be made by a person having ordinary knowledge in the technical field to which the present invention pertains without departing from the essential characteristics of the present invention.

[0122] Therefore, the embodiments disclosed in the present invention are for illustrative purposes only and do not limit the technical idea of ​​the present invention, and the scope of the technical idea of ​​the present invention should not be limited by such embodiments. The scope of protection of the present invention should be interpreted by the claims, and all technical ideas within the scope equivalent thereto should be interpreted as being included in the scope of the present invention. [Explanation of symbols]

[0123] 100 Robot control device 110, 1100 processors 120 sensors 200, 300 robots 201-1~201-4, 301-1~301-4 Robot Section 205, 305 Map 210 External Object 211-1~211-5 Object Section 240, 340 travel route 250, 350 target point 310, 320 1st, 2nd external object 311-1~311-5 First Object Section 321-1~321-5 Second Object Section 325 Obstacle Box 330 Waypoints 331, 332 First and second partial paths 1000 Computing Systems 1200 Bus 1300 memory 1400 User Interface Input Device 1500 User interface output device 1600 Storage 1700 network interface

Claims

1. The sensor and a processor, The processor: identifying an external object using the sensor while moving the robot along a first path including a destination point, and determining whether the external object will collide with the robot on the first path; a second path is generated to avoid a collision between the robot and the external object, and the robot is configured to move along the second path; The robot control device is characterized in that the first route includes a shortest distance route for the robot to move to the target point.

2. 2. The robot control device of claim 1, wherein the processor is configured to determine whether the external object and the robot will collide on the first path based on at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a moving direction of the external object, or any combination thereof.

3. The processor: Identifying the shortest path to avoid the external object by predicting the movement path of the external object; The robot control device according to claim 1 , wherein the robot control device is configured to generate the second path corresponding to the shortest path.

4. 2. The robot controller of claim 1, wherein the processor is configured to generate at least one of the first path, the second path, or any combination thereof based on at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof.

5. The processor: In the map including the first route, the movement route of the external object is divided into a plurality of first sections according to a designated time; Dividing the first path into second sections by the specified time based on a velocity of the robot; The robot control device of claim 1 , further comprising: a predictor for predicting a collision between the external object and the robot when at least one of the first sections overlaps with at least one of the second sections.

6. The processor: If the collision is predicted, generating a transit point to avoid the collision; The robot control device according to claim 5 , further comprising: after generating the second path including the waypoint, operating the robot along the second path.

7. 7. The robot control device of claim 6, wherein the processor is configured to expand a size of an obstacle box corresponding to the external object in the map, and then generate the waypoint for bypassing the expanded size of the obstacle box.

8. The robot control device of claim 6 , wherein the processor is configured to generate the waypoint in a second direction opposite to a first direction including a moving direction of the external object.

9. 7. The robot control device according to claim 6, wherein the processor is configured to generate the second path based on a first partial path connecting a starting point of the robot and the via point and a second partial path connecting the via point and the destination point.

10. 2. The robot control device according to claim 1, wherein the sensor includes at least one of a camera, a light detection and ranging (LiDAR), a radio detection and ranging (RADAR), an obstacle detection sensor, or a combination thereof.

11. The robot control device of claim 1 , wherein the external object includes a moving obstacle.

12. the processor is configured to acquire the second path based on a collision risk indicator; 2. The robot control device of claim 1, wherein the collision risk index is obtained based on an absolute value of a difference between a first index indicating a position of the external object at a point where a collision between the robot and the external object is predicted and a second index indicating a position of the robot at a point where a collision between the robot and the external object is predicted.

13. The processor: predicting a collision between the robot and a plurality of external objects including the external object, and selecting an object having the smallest collision risk index or, if the collision risk indexes are the same, an object closest to the robot as a priority object to be avoided; The robot control device of claim 12, further comprising: after selecting the priority object to be avoided, generating a third path for avoiding a collision between the robot and the priority object to be avoided.

14. 1. A processor-implemented robot control method, comprising: determining whether a collision between the robot and the external object will occur on the first path by identifying an external object using a sensor while the robot is moving along a first path including a destination point, by the processor; generating a second path to avoid a collision between the robot and the external object, and then operating the robot along the second path; The robot control method, wherein the first path includes a shortest distance path for the robot to move to the target point.

15. 15. The method of claim 14, further comprising determining whether the external object and the robot will collide on the first path based on at least one of an identifier assigned to the external object, a type of the external object, a position of the external object, a speed of the external object, a moving direction of the external object, or any combination thereof.

16. The robot control method includes: predicting a moving path of the external object to identify a shortest path to avoid the external object; and generating the second path corresponding to the shortest path.

17. 15. The method of claim 14, further comprising generating at least one of the first path, the second path, or any combination thereof based on at least one of a grid-based algorithm, a graph-based algorithm, a sampling-based algorithm, or any combination thereof.

18. The robot control method includes: Dividing the movement path of the external object into a plurality of first sections according to a designated time in a map including the first path; dividing the first path into second sections by the specified time based on a velocity of the robot; 15. The method of claim 14, further comprising predicting a collision between the external object and the robot when at least one of the first sections and at least one of the second sections overlap.

19. The robot control method includes: generating a transit point to avoid the collision when the collision is predicted; The method of claim 18, further comprising: generating the second path including the waypoint, and then operating the robot along the second path.

20. 20. The method of claim 19, further comprising: expanding a size of an obstacle box corresponding to the external object in the map, and then generating the waypoint for bypassing the expanded obstacle box.

21. 20. The method of claim 19, further comprising generating the waypoint in a second direction opposite to a first direction including a moving direction of the external object.

22. 20. The robot control method of claim 19, further comprising generating the second path based on a first partial path connecting a starting point of the robot and the waypoint and a second partial path connecting the waypoint and the destination point.

23. 15. The robot control method of claim 14, wherein the sensor includes at least one of a camera, a light detection and ranging (LiDAR), a radio detection and ranging (RADAR), an obstacle detection sensor, or any combination thereof.

24. The robot control device of claim 14 , wherein the external object includes a dynamic obstacle.

25. The robot control method includes acquiring the second path based on a collision risk index; 15. The robot control method of claim 14, wherein the collision risk index is obtained based on an absolute value of a difference between a first index indicating a position of the external object at a point where a collision between the robot and the external object is predicted, and a second index indicating a position of the robot at a point where a collision between the robot and the external object is predicted.

26. The robot control method includes: predicting a collision between the robot and a plurality of external objects including the external object, and selecting an object having the smallest collision risk index or, if the collision risk indexes are the same, an object closest to the robot as a priority object to be avoided; 26. The method of claim 25, further comprising: after selecting the priority object to be avoided, generating a third path to avoid a collision between the robot and the priority object to be avoided.

Citation Information

Patent Citations

  • Autonomous mobile robot device and method of avoiding collision due to sudden appearance in the device

    JP2010055498A