Method, system, and non-transitory computer-readable recording medium for determining movement path of robot

The method and system dynamically calculate obstacle radius by considering motion and relationship information to optimize robot navigation, addressing inefficiencies and safety issues in existing path planning.

JP2024177419AActive Publication Date: 2024-12-19BEAR ROBOTICS INC

Patent Information

Application Number
JP2024174582
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-01-25
Filing Date
2024-10-03
Publication Date
2024-12-19
Estimated Expiration
2040-01-28

AI Technical Summary

Technical Problem

Existing path planning technologies for robots fail to accurately consider the dynamic radius of obstacles influenced by their motion attributes and relationships with other obstacles, leading to inefficient and potentially unsafe navigation.

Method used

A method and system that dynamically calculate the obstacle radius by considering motion attribute information and relationship information with other obstacles, using obstacle identification, radius calculation, and route determination units to optimize the robot's movement path.

Benefits of technology

Precisely calculates the obstacle radius, enabling robots to navigate more efficiently and safely by avoiding collisions based on dynamic obstacle interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024177419000001_ABST
    Figure 2024177419000001_ABST
Patent Text Reader

Abstract

To suggest a technique of calculating an obstacle radius in which an obstacle has influence, with reference to at least one of information on motion properties of the obstacle and information on a relationship with another obstacle associated with the obstacle.SOLUTION: According to one aspect of the invention, there is provided a method for determining a travel route of a robot, including the steps of: identifying at least one obstacle with respect to a position of a robot; calculating an obstacle radius in which the at least one obstacle has influence, with reference to at least one of information on motion properties of the at least one obstacle and information on a relationship with at least one other obstacle associated with the at least one obstacle; and determining an optimum travel route of the robot with reference to the calculated obstacle radius and a task assigned to the robot.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to a method, a system, and a non-transitory computer-readable recording medium for determining a movement path of a robot. [Background technology]

[0002] Robots are used to replace or assist humans in various fields because they can automate difficult tasks and repetitive operations. One of the basic and important issues in using such robots is the establishment of safe and efficient path planning for the robot to complete the task (or mission) assigned to it. For this purpose, various information about the robot and its surroundings is required, and information about the radius of obstacles in particular is important basic information for establishing a path plan to prevent the robot from colliding with the obstacle.

[0003] Recently, with the emergence of the Fourth Industrial Revolution, and as such robots are gaining attention as the next generation of the food industry, various research projects are being conducted to efficiently determine and control the movement paths of robots.

[0004] An example of a related art in this regard is the technology disclosed in Patent Document 1, which provides a mobile robot control device that determines a path for a mobile robot using the distance between a mobile robot area having a first area and an obstacle, and the mobile robot control device includes a user interface that receives a user input selecting a magnitude of error, which is the maximum magnitude of a third area obtained by subtracting the second area from the first area, in order to fill the mobile robot area with at least one circle having a second area smaller than the first area, and a control unit that identifies the mobile robot area, extracts a mobile robot skeleton in which the center point of the at least one circle is located within the mobile robot area, calculates the number and position of the at least one circle to be placed on the mobile robot skeleton using the magnitude of error, and compares a distance value between the pixel and the obstacle of a pixel including the center point of the at least one circle with a radius of the at least one circle.

[0005] However, according to the above-mentioned conventional technology and other technologies introduced so far, a radius within which the obstacle can have an effect is set based on a boundary specified from the obstacle's outline or a point a certain distance away from the specified boundary, and a path plan is determined based on the distance between the obstacle and the robot measured based on this radius. In other words, although the radius within which the obstacle can have an effect may change depending on the motion attributes of the obstacle, which are determined by casters, gears, etc. attached to the obstacle, and the relationship between the obstacle and other obstacles in the vicinity (for example, the relationship between a chair, which is an obstacle, and a table, which is another obstacle in the vicinity), the radius of the obstacle is determined by applying only a certain criterion without taking this into consideration. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Korean Patent Publication No. 2016-144848 Summary of the Invention [Problem to be solved by the invention]

[0007] Therefore, the present inventors propose a technology for calculating an obstacle radius that an obstacle has an influence on by referring to at least one of motion attribute information of an obstacle and relationship information between the obstacle and other obstacles related thereto, and for determining an optimal moving path of a robot based on the calculated obstacle radius.

[0008] An object of the present invention is to solve all of the problems of the prior art described above.

[0009] It is yet another object of the present invention to dynamically calculate an obstacle radius that an obstacle has an influence by referring to at least one of motion attribute information of the obstacle and relationship information between the obstacle and other obstacles related to the obstacle.

[0010] It is still another object of the present invention to more precisely calculate the radius of influence that an obstacle may have. [Means for solving the problem]

[0011] A representative configuration of the present invention for achieving the above object is as follows.

[0012] According to one aspect of the present invention, there is provided a method for determining a movement path of a robot, the method including the steps of: identifying at least one obstacle based on a position of the robot; calculating an obstacle radius influenced by the at least one obstacle by referring to at least one of motion attribute information of the at least one obstacle and relationship information between the at least one obstacle and at least one other obstacle associated with the at least one obstacle; and determining an optimal movement path of the robot by referring to the calculated obstacle radius and a task assigned to the robot.

[0013] According to another aspect of the present invention, there is provided a system for determining a movement path of a robot, the system including an obstacle identification unit that identifies at least one obstacle based on a position of the robot, an obstacle radius calculation unit that calculates an obstacle radius influenced by the at least one obstacle by referring to at least one of motion attribute information of the at least one obstacle and relationship information between the at least one obstacle and at least one other obstacle related to the at least one obstacle, and a path determination unit that determines an optimal movement path of the robot by referring to the calculated obstacle radius and a task assigned to the robot.

[0014] In addition, other methods for embodying the present invention, other systems, and a non-transitory computer readable recording medium having a computer program for carrying out the methods are also provided. Effect of the Invention

[0015] According to the present invention, the obstacle radius that an obstacle exerts an influence on can be dynamically calculated by referring to at least one of the motion attribute information of the obstacle and the relationship information of the obstacle with other obstacles related thereto.

[0016] Furthermore, the present invention allows for a more precise calculation of the radius of influence that an obstacle may have. [Brief description of the drawings]

[0017] [Figure 1] 1 is a diagram illustrating a schematic configuration of an entire system for determining a movement path of a robot according to an embodiment of the present invention. [Diagram 2] 1 is a diagram illustrating an example of the internal configuration of a robot path management system according to an embodiment of the present invention; [Diagram 3] 10 is a diagram illustrating an example of a process for determining a movement path of a robot according to an embodiment of the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0018] The following detailed description of the present invention will be made with reference to the accompanying drawings, which show, by way of example, specific embodiments in which the present invention may be practiced. Such embodiments are described in sufficient detail to enable one skilled in the art to practice the present invention. It should be understood that the various embodiments of the present invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be embodied in different embodiments without departing from the spirit and scope of the present invention. It should also be understood that the location or arrangement of individual components within each embodiment may be changed without departing from the spirit and scope of the present invention. Therefore, the following detailed description should not be taken in a limiting sense, and the scope of the present invention should be taken to encompass the scope of the appended claims and all equivalents thereto. In the drawings, like reference numerals represent the same or similar components throughout the various aspects.

[0019] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, various preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings in order to enable those skilled in the art to which the present invention pertains to easily practice the present invention.

[0020] Overall system configuration FIG. 1 is a diagram showing a schematic configuration of an entire system for determining a movement path of a robot according to an embodiment of the present invention.

[0021] As shown in FIG. 1, the overall system according to an embodiment of the present invention may include a communication network 100, a robot path management system 200, and a robot 300.

[0022] First, according to an embodiment of the present invention, the communication network 100 may be configured regardless of the type of communication, such as wired communication or wireless communication, and may be configured as various communication networks, such as a local area network (LAN), a metropolitan area network (MAN), and a wide area network (WAN). Preferably, the communication network 100 in this specification may be the well-known Internet or World Wide Web (WWW). However, the communication network 100 is not limited thereto, and may include at least a part of a well-known wired and wireless data communication network, a well-known telephone network, or a well-known wired and wireless television communication network.

[0023] For example, the communication network 100 may be a wireless data communication network that embodies, at least in part, a conventional communication method such as Wi-Fi (WiFi) communication, Wi-Fi Direct communication, Long Term Evolution (LTE) communication, Bluetooth communication (more specifically, Bluetooth Low Energy (BLE) communication), infrared communication, ultrasonic communication, and the like.

[0024] Next, the robot path management system 200 according to one embodiment of the present invention can communicate with a robot 300 (described later) via the communication network 100, identify at least one obstacle based on the position of the corresponding robot 300, calculate an obstacle radius that the corresponding obstacle will have an effect on by referring to at least one of motion attribute information of the identified obstacle and relationship information between the corresponding obstacle and other obstacles related to the corresponding obstacle, and determine an optimal movement path for the corresponding robot 300 by referring to the calculated obstacle radius and a task assigned to the corresponding robot 300.

[0025] Meanwhile, while the robot path management system 200 has been described above, this description is merely illustrative, and it will be apparent to those skilled in the art that at least a portion of the functions and components required for the robot path management system 200 may be implemented within the robot 300, which will be described later, or may be included in an external system (not shown), as necessary. In addition, in some cases, all of the functions and all of the components of the robot path management system 200 may be executed within the robot 300, or may be included within the robot 300.

[0026] The robot 300 according to an embodiment of the present invention can communicate with the robot path management system 200 via the communication network 100, and can autonomously perform a given function or task without user operation, and can include a driving module (not shown) (e.g., a motor, etc.) for moving along a moving path. For example, the robot 300 may be at least partially similar to a robot vacuum cleaner, a robot medical device, a guide robot, etc.

[0027] Meanwhile, according to an embodiment of the present invention, the robot 300 may include an application for assisting in determining a moving path of the robot 300 according to the present invention. Such an application may be downloaded from the robot path management system 200 or an external application distribution server (not shown).

[0028] Robot Path Management System Configuration The internal configuration of the robot path management system 200 and the functions of each component thereof, which perform important functions for implementing the present invention, will now be described in detail.

[0029] FIG. 2 is a diagram illustrating an example of an internal configuration of a robot path management system 200 according to an embodiment of the present invention.

[0030] Referring to FIG. 2, the robot path management system 200 according to an embodiment of the present invention may include an obstacle identification unit 210, a radius calculation unit 220, a path determination unit 230, a communication unit 240, and a control unit 250. According to an embodiment of the present invention, the obstacle identification unit 210, the radius calculation unit 220, the path determination unit 230, the communication unit 240, and the control unit 250 may be program modules, at least some of which communicate with an external system (not shown). Such program modules may be included in the robot path management system 200 in the form of an operating system, an application module, or other program modules, and may be physically stored on various known storage devices. Also, such program modules may be stored in a remote storage device that can communicate with the robot path management system 200. Meanwhile, such program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform specific tasks or execute specific abstract data types, which will be described later, according to the present invention.

[0031] First, the obstacle identification unit 210 according to an embodiment of the present invention can identify at least one obstacle based on the position of the robot 300 .

[0032] For example, the obstacle identification unit 210 may identify at least one predicted movement path based on the position of the robot 300 based on the task assigned to the robot 300, and may identify an obstacle existing within a predetermined distance from the at least one predicted movement path as the at least one obstacle. According to an embodiment of the present invention, the task assigned to the robot 300 may be determined based on at least one of a location where the robot 300 is located, a function of the robot 300, and a structure of the robot 300, and may be assigned by a user associated with the robot 300 (e.g., a restaurant owner in the case of a restaurant service robot, a doctor in the case of a medical robot, etc.) as necessary.

[0033] Meanwhile, the obstacle identification unit 210 according to an embodiment of the present invention may identify at least one obstacle existing within a predetermined distance from the position of the robot 300 through a camera module (not shown) or a scanning module (not shown). For example, the camera module may include a two-dimensional or three-dimensional (e.g., depth measurement capable) camera module, and the scanning module may include a two-dimensional or three-dimensional laser, electromagnetic wave, or white light scanner module. More specifically, the camera module may include a stereo vision type camera sensor, a Time-Of-Flight (TOF) type camera sensor, a structured light pattern type camera sensor, etc., and the scanning module may include a scanning LiDAR (Light Detection And Ranging) type scanning sensor, a structured light pattern type scanning sensor, etc.

[0034] Then, the radius calculation unit 220 according to an embodiment of the present invention may calculate a radius of obstruction affected by the obstacle by referring to at least one of the motion attribute information of the obstacle and the relationship information of the obstacle with other obstacles related to the obstacle. According to an embodiment of the present invention, the motion attribute information of the obstacle may include information on whether the obstacle is a movable obstacle, a moving means (e.g., casters, etc.) of the obstacle, a structure of the moving means (e.g., a structure of a caster shaft), etc. Also, according to an embodiment of the present invention, the relationship information of the obstacle with other obstacles related to the obstacle may include information on at least one of a movable direction and a movable distance of the obstacle that are restricted or expanded by the obstacle being directly or indirectly influenced by other obstacles present around the obstacle (or within a predetermined distance) of the obstacle.

[0035] For example, the radius calculation unit 220 can determine motion attribute information of the obstacle based on at least one of the obstacle's external shape, function, and structure, and can determine the obstacle radius that the obstacle has an effect on by referring to at least one of the direction and angle in which the obstacle can move and the distance in which the obstacle can move, which are specified by the motion attribute information.

[0036] More specifically, if the obstacle is a stroller, the radius calculation unit 220 can determine the direction in which the stroller can move (e.g., the direction in which the stroller can move if it can only move in one direction) and the distance in which the stroller can move (e.g., the distance the stroller can move if the casters rotate for several seconds) based on the number of casters of the stroller, the shape of the casters, or information on the caster axis, and can calculate the obstacle radius of the stroller based on the determined direction and distance. According to one embodiment of the present invention, in the case of a stroller that can only move in one direction as described above, the obstacle radius may have a shape similar to an ellipse or a rectangle.

[0037] As another example, the radius calculation unit 220 may determine a relationship between a first obstacle identified by the obstacle identification unit 210 and at least one other second obstacle existing around the first obstacle, and may calculate an obstacle radius of the first obstacle based on the extent to which the direction and distance in which the first obstacle can move are restricted or extended according to the relationship. According to an embodiment of the present invention, in order to determine the relationship between the first obstacle and the second obstacle, a lookup table in which information regarding relationships between a plurality of obstacles is pre-set may be referenced.

[0038] More specifically, when the first and second obstacles are a chair and a desk, respectively, the chair (i.e., the first obstacle) may have a relationship in which the distance that the chair can move in the left-right direction is partially restricted by the structure of the desk (i.e., the second obstacle) and the legs of the desk, two of which exist on each side of the chair. In this case, the radius calculation unit 220 may calculate the obstacle radius of the chair by partially restricting the left-right direction in which the chair can move according to the relationship. Also, when the first obstacle is a chair and the second obstacle is a person sitting (or standing) on ​​the desk and chair (i.e., the first obstacle), as in the above case, the distance that the chair (i.e., the first obstacle) can move in the left-right direction is partially restricted, but the distance that the chair can move in the front-back direction may be expanded (or increased) depending on the width of the person's body (i.e., the front-back width of the torso when sitting on the chair, or the front-back width of the feet when standing on the chair). In this case, the radius calculation unit 220 can calculate the obstacle radius of the chair by restricting the distance the chair can move left and right according to the above relationship, but expanding (or increasing) the distance the chair can move forward and backward.

[0039] For another example, the radius calculation unit 220 may determine at least one of the movable direction and the movable distance of the obstacle by referring to the motion attribute information of the obstacle, and may calculate the obstacle radius affected by the obstacle by restricting or expanding at least one of the determined movable direction and the movable distance by referring to the relationship information of the obstacle with at least one other obstacle related to the obstacle.

[0040] Meanwhile, according to one embodiment of the present invention, the process of calculating the obstacle radius based on at least one of the motion attribute information of the obstacle and the relationship information between the obstacle and other obstacles related thereto may be performed based on artificial intelligence (AI) including machine learning or deep learning.

[0041] For example, if a chair with casters is an obstacle and there are tables and people around the chair as other obstacles related to the obstacle, the number of casters on the chair, the direction and distance the chair can move depending on the caster shape and caster axis, the direction and distance the chair can move that is restricted or extended by the table (for example, the movement of the chair is limited in the direction of the table legs), and the direction and distance the chair can move that is restricted or extended by the table and person when there is a person in the chair, can be repeatedly learned using artificial intelligence, making it possible to calculate the obstacle radius based on at least one of the motion attribute information of the obstacle and the relationship information between the obstacle and other obstacles related to the obstacle.

[0042] Next, the path determination unit 230 according to one embodiment of the present invention can determine the optimal movement path of the corresponding robot 300 by referring to the obstacle radius calculated by the radius calculation unit 22 and the task assigned to the robot 300.

[0043] Specifically, the path determination unit 230 can apply the calculated obstacle radius to an obstacle identified on a map related to the location where the robot 300 is located, and can determine an optimal movement path for performing a task assigned to the robot 300 based on the map to which the obstacle radius is applied.

[0044] For example, a cost map corresponding to the location (or a predetermined area) where the robot 300 is located may be generated by referring to the calculated obstacle radius, and the path determination unit 230 may determine an optimal movement path for performing a task assigned to the corresponding robot 300 based on the generated cost map. More specifically, as the robot 300 approaches closer to the obstacle radius of an obstacle on the map, the cost value on the cost map increases, so that an optimal movement path for the corresponding robot 300 to move while efficiently and precisely avoiding the obstacle may be determined. Meanwhile, at least one of a global path planning (GPP) and a local path planning (LPP) based on the cost map reflecting the obstacle radius may be calculated, and an optimal movement path for the robot 300 may be determined based on the path planning.

[0045] Meanwhile, although the above description has been given mainly of an embodiment in which an optimal movement path for a robot is determined based on a cost map, it should be made clear that various methods other than the cost map may be used within the scope of the present invention in which the object of the present invention can be achieved.

[0046] According to an embodiment of the present invention, the communication unit 240 may perform a function of enabling data transmission / reception to / from the obstacle identification unit 210, the radius calculation unit 220, and the path determination unit 230.

[0047] Finally, according to an embodiment of the present invention, the control unit 250 can perform a function of controlling data flow between the obstacle identification unit 210, the radius calculation unit 220, the path determination unit 230, and the communication unit 240. That is, the control unit 250 according to the present invention can control the obstacle identification unit 210, the radius calculation unit 220, the path determination unit 230, and the communication unit 240 to perform their respective unique functions by controlling the data flow from / to the outside of the robot path management system 200 or the data flow between each component of the robot path management system 200.

[0048] FIG. 3 is a diagram illustrating a process of determining a movement path of a robot 300 according to an embodiment of the present invention.

[0049] 3, it can be assumed that the robot path management system 200 according to the present invention is included in a robot 300, and the robot 300 is assigned a task of serving food in a restaurant. Specifically, the robot 300 may be assigned a task of serving food to customers on a table 500 and clearing away food left by customers from the table 500.

[0050] First, according to an embodiment of the present invention, at least one obstacle may be identified based on the position of the robot 300 .

[0051] For example, based on the position of the robot 300, chair A (400), chair B (600) and table 500 existing around the expected movement path for performing the task assigned to the robot 300 may be identified as obstacles.

[0052] Then, the obstacle radius affected by the obstacles can be calculated based on at least one of the motion attribute information of each of the obstacles (i.e., chair A (400), chair B (600) and table (500)) and the relationship information of each obstacle with other obstacles associated therewith.

[0053] For example, the obstacle radius 410 of the chair A (400) can be calculated based on the motion attribute information indicating that the chair A (400) is a chair without casters and can move omnidirectionally, and the relationship information indicating that the distance that the chair A (400) can move left and right is limited by the table 500 (specifically, the legs 501a and 501b of the table 500) that exists around the chair A (400). On the other hand, if a person exists around the chair A (400) as an additional obstacle, the obstacle radius 411 of the chair A (400) can be calculated based on the relationship information indicating that the distance that the chair A (400) can move forward and backward is expanded (or increased) depending on the front-back width of the feet when the person sits on the chair, or the front-back width of the feet when the person stands up from the chair.

[0054] As another example, the obstruction radius 502 of the table 500 may be calculated based on motion attribute information indicating that if the table 500 is fixed to the dining room floor, the table 500 cannot move omnidirectionally and therefore the distance it can move in the forward, backward, left and right directions is limited.

[0055] As another example, an obstacle radius 601 of chair B (600) can be calculated based on motion attribute information indicating that when chair B (600) is fixed to the dining room floor, the chair B (600) cannot move omnidirectionally and therefore the distance it can move in the forward / backward and left / right directions is limited.

[0056] Then, an optimal path for the robot 300 to move based on the calculated obstacle radius and the task assigned to the robot 300 can be determined.

[0057] That is, based on the obstacle radii of chair A (400), chair B (600) and table 500 described above, an optimal path for the robot to serve food can be determined.

[0058] For example, if a customer is eating food and not at the table (i.e., no one is seated in the chair), the first path 412 may be determined to be the optimal path for the robot to serve the food.

[0059] As another example, when a customer is sitting at a table to eat food (i.e., when a person is sitting in a chair), the second path 413 may be determined to be the optimal path for the robot to serve the food.

[0060] The above-described embodiments of the present invention may be embodied in the form of program instructions that can be executed by various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the computer-readable recording medium may be specially designed and constructed for the present invention, or may be available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and hardware devices specially configured to store and execute program instructions, such as ROMs, RAMs, flash memories, and the like. Examples of program instructions include not only machine language codes, such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter, and the like. The hardware devices may be replaced by one or more software modules to perform the processes of the present invention, and vice versa.

[0061] Although the present invention has been described above using specific details such as specific components and limited examples and drawings, this is merely provided to assist in a more general understanding of the present invention, and the present invention is not limited to the above examples. Those skilled in the art to which the present invention pertains may make various modifications and changes from such descriptions.

[0062] Therefore, the concept of the present invention should not be limited to the above described embodiments, and all scopes equivalent to or modified equivalently to the scope of the claims below as well as the claims themselves are within the scope of the concept of the present invention. [Explanation of symbols]

[0063] 100:Communication network 200: Robot path management system 210: Obstacle Identification Unit 220: Obstacle radius calculation unit 230: Route determination unit 240: Communications Department 250: Control unit 300:Robot

Claims

[Claim 1] A method for determining a movement path for a robot, comprising: identifying at least one obstacle based on a position of the robot; calculating an obstacle radius influenced by the at least one obstacle by referring to at least one of motion attribute information of the at least one obstacle and relationship information between the at least one obstacle and at least one other obstacle related to the at least one obstacle; determining an optimal movement path for the robot by referring to the calculated obstacle radius and a task assigned to the robot.

Citation Information

Patent Citations

  • Autonomous mobile device, autonomous delivery system, delivery method and program

    JP2018092588A

  • Mobile robot system

    WO2015072002A1

  • KR2016-144848

Cited By

  • Method of producing structure, method of producing interior component, and method of producing electronic device

    EP4725982A1