WO2025079913A1 - Method for generating path of robot, and mobile robot using same - Google Patents

Method for generating path of robot, and mobile robot using same Download PDF

Info

Publication number
WO2025079913A1
WO2025079913A1 PCT/KR2024/014919 KR2024014919W WO2025079913A1 WO 2025079913 A1 WO2025079913 A1 WO 2025079913A1 KR 2024014919 W KR2024014919 W KR 2024014919W WO 2025079913 A1 WO2025079913 A1 WO 2025079913A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
guide line
path
color
smoothing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/KR2024/014919
Other languages
French (fr)
Korean (ko)
Inventor
김태원
임정수
허유진
송재열
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rainbow Robotics Inc
Original Assignee
Rainbow Robotics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rainbow Robotics Inc filed Critical Rainbow Robotics Inc
Publication of WO2025079913A1 publication Critical patent/WO2025079913A1/en
Anticipated expiration legal-status Critical
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1656Program controls characterised by programming, planning systems for manipulators
    • B25J9/1664Program controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1679Program controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/246Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/40Control within particular dimensions
    • G05D1/43Control of position or course in two dimensions [2D]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing

Definitions

  • the present invention relates to a method for generating a driving path of a mobile robot moving in a specific space, such as a serving robot.
  • serving robots use sensing devices such as Light Detection And Ranging (LiDAR) to identify surrounding terrain features and perform map generation and location estimation based on the identified results.
  • LiDAR Light Detection And Ranging
  • the serving robot In order to perform SLAM of the serving robot as described above, a great deal of computation and data processing is required, and for this purpose, the serving robot must be equipped with a high-performance processor and communication module, which increases the manufacturing cost.
  • At least some of the above robot path generation methods can be implemented as a computer-readable recording medium recording a program for execution on a computer, and can be provided as the program itself.
  • a mobile robot comprises: an image acquisition unit for acquiring a guide line image including a guide line indicating a path along which the robot can move; an image processing unit for acquiring a guide line with adjusted corner curvature by performing smoothing on the guide line in the guide line image; and a path generation unit for generating a driving path of the robot based on the guide line with adjusted curvature.
  • the corner curvature of a guide line can be easily adjusted by adjusting the size of a circle used for smoothing processing, and the smoothing processing for the guide line as described above can be performed only once at the time of map creation or map loading, thereby reducing the amount of calculation and time required for path creation.
  • FIG. 1 is a block diagram showing the overall configuration of a mobile robot system according to an embodiment of the present invention.
  • FIG. 3 is a drawing for explaining the program structure of a robot operation system according to one embodiment of the present invention.
  • Figure 4 is a perspective view showing an example of a mobile robot.
  • Figure 6 is a flowchart showing a path generation method of a robot according to one embodiment of the present invention.
  • Figure 7 is a drawing to explain an example of a method for generating a driving path of a robot based on guidelines.
  • Figures 8 to 11 are drawings for explaining embodiments of a method for smoothing a guide line.
  • block diagrams in this specification should be understood as representing conceptual views of exemplary circuits embodying the principles of the present invention.
  • all flow diagrams, state transition diagrams, pseudocode, and the like which may be substantially represented on a computer-readable medium, should be understood as representing various processes performed by a computer or processor, whether or not a computer or processor is explicitly depicted.
  • any explicit use of terms such as processor, control or similar concepts should not be construed to exclusively refer to hardware capable of executing software, but should be understood to implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM), random access memory (RAM) and non-volatile memory for storing software. Other commonly used hardware may also be included.
  • DSP digital signal processor
  • ROM read-only memory
  • RAM random access memory
  • non-volatile memory for storing software.
  • Other commonly used hardware may also be included.
  • a component expressed as a means for performing a function described in the detailed description is intended to include any method for performing the function, including, for example, a combination of circuit elements performing said function, or any form of software including firmware/microcode, combined with appropriate circuitry to execute said software to perform said function.
  • the invention defined by these claims should be understood to be equivalent to any means contemplated from this specification, since the functions provided by the various enumerated means are combined and combined in the manner required by the claims.
  • FIG. 1 is a block diagram illustrating the overall configuration of a mobile robot system according to an embodiment of the present invention.
  • the mobile robot system (100) may be configured to include a control server (110) and a robot (120).
  • the robot (120) is equipped with a driving unit including an actuator or motor and can perform various physical movements, and specifically, as a movable mobile robot, the driving unit includes wheels, brakes, etc. and can drive in a specific space.
  • a driving unit including an actuator or motor and can perform various physical movements, and specifically, as a movable mobile robot, the driving unit includes wheels, brakes, etc. and can drive in a specific space.
  • the robot (120) may be a serving robot that is placed in a restaurant or the like and autonomously drives to a customer's table carrying food or the like, but the present invention is not limited thereto.
  • the robot (120) is capable of autonomous driving and can wirelessly communicate with a control server (110) or a call unit (not shown) mounted on a table to transmit and receive various information and perform actions accordingly.
  • the robot (120) may be equipped with various communication modules such as a mobile communication module, a wireless Internet module, and a short-distance communication module.
  • various communication modules such as a mobile communication module, a wireless Internet module, and a short-distance communication module.
  • a mobile communication module can transmit and receive wireless signals with at least one of a base station, an external terminal, and a server on a mobile communication network constructed according to technical standards or communication methods for mobile communication (GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EVDO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G mobile communication, etc.).
  • GSM Global System for Mobile communication
  • CDMA Code Division Multi Access
  • CDMA2000 Code Division Multi Access 2000
  • EVDO Enhanced Voice-Data Optimized or Enhanced Voice-Data Only
  • WCDMA Wideband CDMA
  • HSDPA High Speed Downlink Packet Access
  • HSUPA High Speed Uplink Packet Access
  • LTE Long Term Evolution
  • the wireless Internet module is a module for wireless Internet access and can be configured to transmit and receive wireless signals in a communication network according to wireless Internet technologies.
  • the robot (120) can transmit and receive data with a server and various communication-capable terminals through a 5G network, and for example, can communicate data with a server or terminal using at least one service among mobile broadband (Enhanced Mobile Broadband, eMBB), URLLC (Ultra-reliable and low latency communications), and mMTC (Massive Machine-type communications) through a 5G network.
  • mobile broadband Enhanced Mobile Broadband, eMBB
  • URLLC Ultra-reliable and low latency communications
  • mMTC Massive Machine-type communications
  • AI artificial intelligence
  • ANN artificial neural network
  • the robot (120) has a map required for autonomous driving and can use the map to configure a driving route from the current location to the target location.
  • a robot 120 can use simultaneous localization and mapping (SLAM) technology for autonomous driving, and since SLAM is a known technology, a detailed description thereof will be omitted.
  • SLAM simultaneous localization and mapping
  • the robot (120) is equipped with a sensing means such as a Light Detection And Ranging (LiDAR) device, and can identify surrounding terrain features using the equipped sensing head and estimate the location and create a map based on the identified results.
  • a sensing means such as a Light Detection And Ranging (LiDAR) device
  • a robot operation system (100) may include a plurality of robots (120 to 150) moving together within a specific space.
  • control server (110) can receive location information, etc. from multiple robots (120 to 150) and generate a movement path for each robot.
  • the operating system of the robot (120) may include a memory and at least one processor connected to the memory and configured to execute at least one computer-readable program contained in the memory.
  • the control module (SLAM/NAV, 121) can control sensors and motors equipped in the robot (120) and perform path search and position estimation algorithms.
  • log data (Log)
  • map data (map.png, annotation.ini)
  • configuration data (config.ini) may be stored in the memory of the robot (120).
  • the robot operating system as described above may be implemented with software and/or hardware resources necessary to implement the technical idea of the present invention, and does not necessarily mean one physical component or one device.
  • the robot operating system may mean a logical combination of software and/or hardware provided to implement the technical idea of the present invention, and, if necessary, may be implemented as a set of logical configurations for implementing the technical idea of the present invention by being installed in devices spaced apart from each other and performing each function.
  • the communication delay time between the robot (120) and the control server (110) is reduced, thereby reducing the possibility of collision between multiple robots.
  • the operating system of the robot (120) can be implemented so that the control module (SLAM/NAV, 121) and the control server (110) transmit and receive robot location and path information using LCM communication.
  • the control module SLAM/NAV, 121
  • the control server (110) transmit and receive robot location and path information using LCM communication.
  • a control server (110) is installed in the store separately from the robots to control them, and the control server (110) can reduce the communication delay time with the robots (120) by using LCM communication and generate a route by considering the location of each robot.
  • LCM is a very lightweight communication method that minimizes data marshaling as a message and data transmission library, reduces communication delay time, and does not take up much program resources.
  • the control server (110) can quickly check the location of each of a plurality of robots (120 to 150) and prevent collisions between the robots.
  • REST Real State Transfer
  • REST API is an application program interface that consists of resources, verbs, and representations, and is used to exchange status information about resources by distinguishing them by name.
  • the robot (120) can receive program version and configuration-related changes through a REST API, and upload maps and configuration files, etc. to the remote server (200) to check the status of the robot (120) on the web.
  • FIG. 3 is a diagram illustrating a program structure of a robot operating system according to an embodiment of the present invention. Among the illustrated configurations, descriptions of those identical to those described with reference to FIGS. 1 and 2 will be omitted.
  • control module (SLAM/NAV, 121) and the user interface module (UI, 123) can be driven by a single PC (Personal Computer) included in the robot (120), and accordingly, maps and configuration files, etc. are read and written as files in the same path, and communication between the control module (SLAM/NAV, 121) and the user interface module (UI, 123) can exchange various commands and status values, etc. using shared memory (Shared Memory, 125).
  • PC Personal Computer
  • UI user interface module
  • US command UI command
  • the tick count of the shared memory changes, and according to the change in the tick count, the control module (SLAM/NAV, 121) can read the UI command (US command) written to the shared memory.
  • a robot operating system having a program structure as described above may be included in a mobile robot according to an embodiment of the present invention, and a mobile robot according to an embodiment of the present invention may be a serving robot (400) as illustrated in FIG. 4, but the present invention is not limited thereto.
  • the guide line refers to a following line that the mobile robot (500) should follow, and the actual driving path of the mobile robot (500) can be determined within the guide line.
  • the corner curvature of the guide line can be adjusted by adjusting the size of the circle.
  • the image processing unit (520) only needs to perform smoothing processing on the guide lines as described above once when generating a map or loading a map, and the path generation unit (540) can generate a smooth path that the mobile robot (500) can follow without additional calculations based on the smoothed guide lines.
  • the problem of having to perform smoothing process on the path every time the path of the robot is generated can be improved, and through this, a smooth driving path that is easy for the robot to follow can be obtained with a simple path search algorithm without additional calculations.
  • corner curvature of the guide line can be easily adjusted by adjusting the size of the circle used for smoothing processing, and the smoothing processing for the guide line as above can be performed only once at the time of map creation or map loading, thereby reducing the amount of calculation and time required for path creation.
  • the configurations described with reference to FIG. 5 may be included as a logical combination of software and/or hardware in the control module (SLAM/NAV, 121) of the robot operation system described with reference to FIGS. 2 and 3 as part of the mobile robot (500).
  • the guideline image smoothed through the image processing unit (520) can be transmitted to the control server (110) and used to determine the driving path of multiple robots, and also, at least some of the configurations described with reference to FIG. 5 can be included in the control server (110) as a logical combination of software and/or hardware.
  • a mobile robot (500) obtains a guideline image including guidelines indicating a path along which the robot can move (step S600).
  • the guideline image (Image) may represent a guideline (GL) that the mobile robot (500) should follow in the space where the mobile robot (500) operates.
  • the driving path (Path) of the mobile robot (500) is determined based on the guideline (GL) in the guideline image as shown in (a) of Fig. 7, and in this case, path following of the mobile robot (500) may become difficult at a right-angled corner (Corner) of the driving path (Path).
  • the corner curvature of the guide line can be adjusted by adjusting the size of the circle used in the smoothing process.
  • smoothing processing for the guide lines may be performed only once when the mobile robot (500) creates the map or only once when the map is loaded.
  • Fig. 8 (a) illustrates an example of a guide line (GL)
  • Fig. 8 (b) illustrates an example of a guide line (GL1) formed with circles of a first color (e.g., black) on the guide line (GL) illustrated in Fig. 8 (a)
  • Fig. 8 (c) illustrates an example of a guide line (GL2) formed with circles of a second color (e.g., white) on the guide line (GL1) illustrated in Fig. 8 (b) to have a corner curvature adjusted.
  • a first color e.g., black
  • a second color e.g., white
  • circles (C1) are drawn only for some of the points included in the guide line (GL), but if black circles are drawn for all the points of the guide line (GL) as described above, a guide line (GL1) as shown in (b) of Fig. 8 can be formed.
  • the present invention has described an embodiment of the present invention by taking the example of forming black circles (C1) and white circles (C2) and performing smoothing processing for the guide line (GL), but the present invention is not limited thereto, and various shapes having at least a portion of a curved shape may be used, and the color of the circle may also be changed.
  • Fig. 11 (a) illustrates an example of a guide line (GL) in the form of an intersection
  • Fig. 11 (b) illustrates the result of smoothing the guide line (GL) illustrated in Fig. 11 (a).
  • the mobile robot (500) After smoothing processing for the guide line is completed at step S610, the mobile robot (500) generates a driving path of the robot based on the guide line with adjusted curvature (step S620).
  • the mobile robot (500) can generate a driving path using a simple path search algorithm without additional operations. Since the path search algorithm can apply various existing known technologies, a detailed description thereof will be omitted.
  • a robot's driving path (Path) is generated based on a guide line (GL2) whose corner curvature is adjusted through smoothing processing, the path itself becomes a smooth path that the mobile robot (500) can follow as desired, so no additional calculations are required other than path search to generate a smooth path.
  • the embodiments of the present invention have been described by taking as an example the method for generating a path for a robot according to the present invention being performed by a mobile robot (500), but the present invention is not limited thereto, and at least a part of the method for generating a path for a robot according to the present invention may be performed by an external device such as a control server (110).
  • the methods according to the present invention described above can be produced as a program to be executed on a computer and stored in a computer-readable recording medium.
  • the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The present invention relates to a method for generating a path of a robot and a mobile robot using same. The method comprises the steps of: acquiring a guide line image including a guide line indicating a path along which a robot can move; acquiring a guide line having an adjusted corner curvature by smoothing the guide line in the guide line image; and generating a robot traveling path on the basis of the curvature-adjusted guide line.

Description

로봇의 경로 생성 방법, 이를 이용한 모바일 로봇Method for generating a path for a robot, and a mobile robot using the same

본 발명은 서빙 로봇 등과 같이 특정 공간에서 이동하는 모바일 로봇의 주행 경로를 생성하는 방법에 관한 것이다.The present invention relates to a method for generating a driving path of a mobile robot moving in a specific space, such as a serving robot.

모바일 로봇은 자체 통제하에 이동할 수 있는 로봇으로서, 로봇청소기, AGV(Automated Guided Vehicle), AMR(Autonomous Mobile Robot), 공항 안내로봇, 식당 서빙로봇 등 다양한 형태 및 기능을 가지도록 활용되고 있다.Mobile robots are robots that can move under their own control, and are utilized in various forms and functions, such as robot vacuum cleaners, AGVs (Automated Guided Vehicles), AMRs (Autonomous Mobile Robots), airport guide robots, and restaurant serving robots.

최근들어, 로봇을 이용한 서비스 제공이 확산되고 있으며, 사람을 대신하여 매장 내에서 정해진 경로를 따라 주행하거나, 주행경로 상의 장애물 등을 인식하여 조리된 음식물을 싣고 고객의 테이블로 이동하는 서빙 로봇에 대한 개발이 활발하게 진행되고 있다.Recently, the provision of services using robots has become widespread, and development is actively underway on serving robots that drive along a set path within a store in place of people or recognize obstacles along the path and carry cooked food to the customer's table.

서빙 로봇은 이동하면서 현재위치를 파악하고 주행경로 상에서 주변의 지형지물을 인식하여 자율 주행하며, 이를 위해 동시 위치추정 및 맵 생성(Simultaneous Localization And Mapping, SLAM) 기술이 이용된다.The serving robot determines its current location while moving and recognizes surrounding terrain features along its driving path to drive autonomously. For this purpose, simultaneous localization and mapping (SLAM) technology is used.

일반적으로, 서빙 로봇은 라이다(Light Detection And Ranging, LiDAR) 등의 센싱 수단을 사용하여 주변의 지형지물을 파악하고, 파악된 결과를 기반으로 맵 생성 및 위치추정을 수행한다.Typically, serving robots use sensing devices such as Light Detection And Ranging (LiDAR) to identify surrounding terrain features and perform map generation and location estimation based on the identified results.

위와 같은 서빙 로봇의 SLAM 진행을 위해 매우 많은 연산 및 데이터 처리가 요구되며, 이를 위해 서빙 로봇에 높은 성능의 프로세서와 통신 모듈이 구비되어 제조 원가가 상승되는 문제가 있었다.In order to perform SLAM of the serving robot as described above, a great deal of computation and data processing is required, and for this purpose, the serving robot must be equipped with a high-performance processor and communication module, which increases the manufacturing cost.

본 발명의 해결하고자 하는 기술적 과제는, 로봇이 추종하기에 용이한 주행 경로를 효율적으로 생성할 수 있도록 하는 로봇의 경로 생성 방법과, 이를 이용한 모바일 로봇을 제공하는데 있다.The technical problem to be solved by the present invention is to provide a path generation method for a robot that can efficiently generate a driving path that is easy for the robot to follow, and a mobile robot using the same.

상기한 바와 같은 과제를 해결하기 위한 본 발명의 실시예에 따른 로봇의 경로 생성 방법은, 로봇이 이동 가능한 경로를 나타내는 가이드 라인(guide line)을 포함하는 가이드 라인 이미지를 획득하는 단계; 상기 가이드 라인 이미지에서 상기 가이드 라인을 스무딩(smoothing) 처리하여, 코너 곡률이 조절된 가이드 라인을 획득하는 단계; 및 상기 곡률이 조절된 가이드 라인에 기초하여 상기 로봇의 주행 경로를 생성하는 단계;를 포함한다.According to an embodiment of the present invention for solving the above-described problem, a method for generating a path of a robot comprises the steps of: obtaining a guide line image including a guide line indicating a path on which the robot can move; performing smoothing on the guide line in the guide line image to obtain a guide line with adjusted corner curvature; and generating a driving path of the robot based on the guide line with adjusted curvature.

상기 스무딩 처리는, 상기 가이드 라인을 구성하는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제1 색상의 원을 형성한 후, 상기 가이드 라인 이미지 중 상기 제1 색상과 상이한 제2 색상을 가지는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제2 색상의 원을 형성한다.The above smoothing process forms a circle of a first color centered on each of a plurality of points forming the guide line, and then forms a circle of a second color centered on each of a plurality of points having a second color different from the first color in the guide line image.

상기 로봇의 경로 생성 방법 중 적어도 일부는 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있으며, 프로그램 그 자체로 제공될 수 있다.At least some of the above robot path generation methods can be implemented as a computer-readable recording medium recording a program for execution on a computer, and can be provided as the program itself.

한편, 상기 경로 생성 방법은 본 발명의 실시예에 따른 모바일 로봇에 의해 수행될 수 있다.Meanwhile, the above path generation method can be performed by a mobile robot according to an embodiment of the present invention.

본 발명의 실시예에 따른 모바일 로봇은, 로봇이 이동 가능한 경로를 나타내는 가이드 라인을 포함하는 가이드 라인 이미지를 획득하는 이미지획득부; 상기 가이드 라인 이미지에서 상기 가이드 라인을 스무딩 처리하여, 코너 곡률이 조절된 가이드 라인을 획득하는 이미지처리부; 및 상기 곡률이 조절된 가이드 라인에 기초하여 상기 로봇의 주행 경로를 생성하는 경로생성부;를 포함한다.A mobile robot according to an embodiment of the present invention comprises: an image acquisition unit for acquiring a guide line image including a guide line indicating a path along which the robot can move; an image processing unit for acquiring a guide line with adjusted corner curvature by performing smoothing on the guide line in the guide line image; and a path generation unit for generating a driving path of the robot based on the guide line with adjusted curvature.

본 발명의 실시예에 따르면, 로봇의 가이드 라인 자체를 서로 다른 색상의 원들을 이용해 스무딩 처리하고, 스무딩 처리를 통해 코너 곡률이 조절된 가이드 라인에 기초해 로봇의 주행 경로를 생성하도록 함으로써, 로봇의 경로 생성시 마다 경로에 대한 스무딩 처리를 수행해야하는 문제를 개선할 수 있으며, 이를 통해 추가 연산 없이 단순한 경로 탐색 알고리즘으로 로봇이 추종하기 용이한 부드러운 주행 경로를 얻을 수 있다.According to an embodiment of the present invention, by smoothing the guide line of the robot itself using circles of different colors and generating the driving path of the robot based on the guide line with the corner curvature adjusted through the smoothing process, the problem of having to perform smoothing process on the path every time the path of the robot is generated can be improved, and through this, a smooth driving path that is easy for the robot to follow can be obtained with a simple path search algorithm without additional calculations.

본 발명의 또 다른 실시예에 따르면, 스무딩 처리에 사용되는 원의 크기를 조정하여 가이드 라인의 코너 곡률을 용이하게 조절할 수 있으며, 위와 같은 가이드 라인에 대한 스무딩 처리는 맵 생성 시점 또는 맵 로딩 시점에 1회만 수행되도록 하여, 경로 생성에 소요되는 연산량 및 시간을 감소시킬 수 있다.According to another embodiment of the present invention, the corner curvature of a guide line can be easily adjusted by adjusting the size of a circle used for smoothing processing, and the smoothing processing for the guide line as described above can be performed only once at the time of map creation or map loading, thereby reducing the amount of calculation and time required for path creation.

도 1은 본 발명의 일실시예에 따른 모바일 로봇 시스템의 전체적인 구성을 나타내는 블록도이다.FIG. 1 is a block diagram showing the overall configuration of a mobile robot system according to an embodiment of the present invention.

도 2는 본 발명에 따른 모바일 로봇 시스템의 구성에 대한 또 다른 실시예를 나타내는 블록도이다.FIG. 2 is a block diagram showing another embodiment of the configuration of a mobile robot system according to the present invention.

도 3은 본 발명의 일실시예에 따른 로봇 운용 시스템의 프로그램 구조를 설명하기 위한 도면이다.FIG. 3 is a drawing for explaining the program structure of a robot operation system according to one embodiment of the present invention.

도 4는 모바일 로봇에 대한 일예를 나타내는 사시도이다.Figure 4 is a perspective view showing an example of a mobile robot.

도 5는 본 발명의 일실시예에 따른 모바일 로봇의 구성을 나타내는 블록도이다.Figure 5 is a block diagram showing the configuration of a mobile robot according to one embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 로봇의 경로 생성 방법을 나타내는 흐름도이다.Figure 6 is a flowchart showing a path generation method of a robot according to one embodiment of the present invention.

도 7은 가이드 라인에 기초하여 로봇의 주행 경로를 생성하는 방법에 대한 일예를 설명하기 위한 도면이다.Figure 7 is a drawing to explain an example of a method for generating a driving path of a robot based on guidelines.

도 8 내지 도 11은 가이드 라인을 스무딩 처리하는 방법에 대한 실시예들을 설명하기 위한 도면들이다.Figures 8 to 11 are drawings for explaining embodiments of a method for smoothing a guide line.

도 12 내지 도 15는 코너 곡률이 조절된 가이드 라인에 기초하여 로봇의 주행 경로를 생성하는 방법에 대한 실시예들을 설명하기 위한 도면들이다.FIGS. 12 to 15 are drawings for explaining embodiments of a method for generating a driving path of a robot based on a guide line with adjusted corner curvature.

이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.The following merely illustrates the principles of the present invention. Therefore, those skilled in the art can invent various devices that implement the principles of the present invention and are included in the concept and scope of the present invention, even though they are not explicitly described or illustrated in this specification. In addition, it should be understood that all conditional terms and embodiments listed in this specification are, in principle, expressly intended only for the purpose of making the concept of the present invention understood, and are not limited to the embodiments and conditions specifically listed in this way.

또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.It should also be understood that all detailed descriptions of the principles, aspects, and embodiments of the present invention, as well as specific embodiments, are intended to include structural and functional equivalents of such matters. It should also be understood that such equivalents include not only currently known equivalents but also equivalents developed in the future, that is, all devices invented to perform the same function, regardless of structure.

따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.Thus, for example, the block diagrams in this specification should be understood as representing conceptual views of exemplary circuits embodying the principles of the present invention. Similarly, all flow diagrams, state transition diagrams, pseudocode, and the like, which may be substantially represented on a computer-readable medium, should be understood as representing various processes performed by a computer or processor, whether or not a computer or processor is explicitly depicted.

프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.The functions of various components depicted in the drawings, including functional blocks represented by processors or similar concepts, may be provided by the use of dedicated hardware as well as hardware capable of executing software in conjunction with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which may be shared.

또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.Also, any explicit use of terms such as processor, control or similar concepts should not be construed to exclusively refer to hardware capable of executing software, but should be understood to implicitly include, without limitation, digital signal processor (DSP) hardware, read-only memory (ROM), random access memory (RAM) and non-volatile memory for storing software. Other commonly used hardware may also be included.

본 명세서의 청구범위에서, 상세한 설명에 기재된 기능을 수행하기 위한 수단으로 표현된 구성요소는 예를 들어 상기 기능을 수행하는 회로 소자의 조합 또는 펌웨어/마이크로 코드 등을 포함하는 모든 형식의 소프트웨어를 포함하는 기능을 수행하는 모든 방법을 포함하는 것으로 의도되었으며, 상기 기능을 수행하도록 상기 소프트웨어를 실행하기 위한 적절한 회로와 결합된다. 이러한 청구범위에 의해 정의되는 본 발명은 다양하게 열거된 수단에 의해 제공되는 기능들이 결합되고 청구항이 요구하는 방식과 결합되기 때문에 상기 기능을 제공할 수 있는 어떠한 수단도 본 명세서로부터 파악되는 것과 균등한 것으로 이해되어야 한다.In the claims of this specification, a component expressed as a means for performing a function described in the detailed description is intended to include any method for performing the function, including, for example, a combination of circuit elements performing said function, or any form of software including firmware/microcode, combined with appropriate circuitry to execute said software to perform said function. The invention defined by these claims should be understood to be equivalent to any means contemplated from this specification, since the functions provided by the various enumerated means are combined and combined in the manner required by the claims.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. The above-described objects, features and advantages will become more apparent through the following detailed description with reference to the attached drawings, so that those with ordinary skill in the art to which the present invention pertains can easily practice the technical idea of the present invention. In addition, when explaining the present invention, if it is judged that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

도 1은 본 발명의 일실시예에 따른 모바일 로봇 시스템의 전체적인 구성을 블록도로 도시한 것으로, 모바일 로봇 시스템(100)은 관제 서버(110)와 로봇(120)을 포함하여 구성될 수 있다.FIG. 1 is a block diagram illustrating the overall configuration of a mobile robot system according to an embodiment of the present invention. The mobile robot system (100) may be configured to include a control server (110) and a robot (120).

로봇(120)은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있으며, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 지능형 로봇일 수 있다.A robot (120) may mean a machine that automatically processes or operates a given task by its own abilities, and may be an intelligent robot that has the function of recognizing the environment, making judgments on its own, and performing actions.

한편, 로봇(120)은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 다양한 물리적 동작을 수행할 수 있으며, 구체적으로는 이동 가능한 모바일 로봇으로서 구동부에 휠, 브레이크 등이 포함되어 특정 공간에서 주행할 수 있다.Meanwhile, the robot (120) is equipped with a driving unit including an actuator or motor and can perform various physical movements, and specifically, as a movable mobile robot, the driving unit includes wheels, brakes, etc. and can drive in a specific space.

본 발명의 일실시예에서, 로봇(120)은 식당 등에서 배치되어 음식물 등을 싣고 고객의 테이블로 자율 주행하여 이동하는 서빙 로봇일 수 있으나, 본 발명은 이에 한정되지 아니한다.In one embodiment of the present invention, the robot (120) may be a serving robot that is placed in a restaurant or the like and autonomously drives to a customer's table carrying food or the like, but the present invention is not limited thereto.

로봇(120)은 자율주행이 가능하고, 관제 서버(110) 또는 테이블에 장착된 호출부(미도시)와 무선으로 통신해 다양한 정보를 송수신하여 그에 따른 동작을 수행할 수 있다.The robot (120) is capable of autonomous driving and can wirelessly communicate with a control server (110) or a call unit (not shown) mounted on a table to transmit and receive various information and perform actions accordingly.

이를 위해, 로봇(120)은 이동통신 모듈, 무선 인터넷 모듈, 근거리 통신 모듈 등 다양한 통신 모듈을 구비할 수 있다.For this purpose, the robot (120) may be equipped with various communication modules such as a mobile communication module, a wireless Internet module, and a short-distance communication module.

예를 들어, 이동통신 모듈은, 이동통신을 위한 기술표준들 또는 통신방식들인, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EVDO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G 이동통신 등)에 따라 구축된 이동 통신망 상에서 기지국, 외부의 단말, 서버 중 적어도 하나와 무선 신호를 송수신할 수 있다.For example, a mobile communication module can transmit and receive wireless signals with at least one of a base station, an external terminal, and a server on a mobile communication network constructed according to technical standards or communication methods for mobile communication (GSM (Global System for Mobile communication), CDMA (Code Division Multi Access), CDMA2000 (Code Division Multi Access 2000), EVDO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), 5G mobile communication, etc.).

무선 인터넷 모듈은 무선 인터넷 접속을 위한 모듈로서, 무선 인터넷 기술들에 따른 통신망에서 무선 신호를 송수신하도록 이루어질 수 있다.The wireless Internet module is a module for wireless Internet access and can be configured to transmit and receive wireless signals in a communication network according to wireless Internet technologies.

그리고 로봇(120)은 5G 네트워크를 통해 서버, 각종의 통신 가능한 단말과 데이터를 전송하고 수신할 수 있으며, 예를 들어 5G 네트워크를 통해 모바일 브로드밴드(Enhanced Mobile Broadband, eMBB), URLLC(Ultra-reliable and low latency communications) 및 mMTC(Massive Machine-type communications) 중에서 적어도 하나의 서비스를 이용하여 서버 또는 단말과 데이터 통신을 할 수 있다.And the robot (120) can transmit and receive data with a server and various communication-capable terminals through a 5G network, and for example, can communicate data with a server or terminal using at least one service among mobile broadband (Enhanced Mobile Broadband, eMBB), URLLC (Ultra-reliable and low latency communications), and mMTC (Massive Machine-type communications) through a 5G network.

한편, 로봇(120)에는 인공 지능(AI, Artificial Intelligence) 기술이 적용될 수 있으며, 인공 신경망(ANN: Artificial Neural Network)을 이용하는 머신 러닝(Machine Learning)을 통해 로봇(120)의 이동 경로 등이 결정될 수 있다.Meanwhile, artificial intelligence (AI) technology can be applied to the robot (120), and the movement path of the robot (120) can be determined through machine learning using an artificial neural network (ANN).

로봇(120)은 자율주행을 위해 필요한 맵(map)을 보유하고, 맵을 이용해 현재의 위치에서 목표 위치로 가기 위한 주행 경로를 구성할 수 있다.The robot (120) has a map required for autonomous driving and can use the map to configure a driving route from the current location to the target location.

이를 위해, 로봇(120)은 주행 중 자신의 현재 위치를 검출하고, 주변의 지형지물을 파악하며, 이러한 위치 정보 등은 관제 서버(110)로 전송될 수 있다.To this end, the robot (120) detects its current location while driving, identifies surrounding terrain features, and such location information can be transmitted to the control server (110).

예를 들어, 로봇(120)은 자율주행을 위해, 동시 위치추정 및 맵 생성(Simultaneous Localization And Mapping, SLAM) 기술을 이용할 수 있으며, SLAM 은 공지기술로로서 이에 대한 상세한 설명은 생략하기로 한다.For example, a robot (120) can use simultaneous localization and mapping (SLAM) technology for autonomous driving, and since SLAM is a known technology, a detailed description thereof will be omitted.

상기한 바와 같은 SLAM 진행을 위해, 로봇(120)은 라이다(Light Detection And Ranging, LiDAR) 장치 등의 센싱 수단을 구비하며, 구비된 센싱 두산을 이용해 주변의 지형지물을 파악하고 파악된 결과를 기반으로 위치 추정 및 맵 생성을 할 수 있다.In order to proceed with SLAM as described above, the robot (120) is equipped with a sensing means such as a Light Detection And Ranging (LiDAR) device, and can identify surrounding terrain features using the equipped sensing head and estimate the location and create a map based on the identified results.

도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 로봇 운용 시스템(100)은 특정 공간내에서 함께 이동하는 복수의 로봇들(120 내지 150)을 포함할 수 있다.As illustrated in FIG. 1, a robot operation system (100) according to one embodiment of the present invention may include a plurality of robots (120 to 150) moving together within a specific space.

이 경우, 관제 서버(110)는 복수의 로봇들(120 내지 150)로부터 위치 정보 등을 수신하여 각 로봇의 이동 경로를 생성할 수 있다.In this case, the control server (110) can receive location information, etc. from multiple robots (120 to 150) and generate a movement path for each robot.

본 발명의 일실시예에 따르면, 로봇 운용 시스템의 프로세서에 의해 실행되는 프로그램에서, 여러 프로세스에서 동시에 접근 가능한 공유 메모리를 이용해 제어 모듈과 사용자 인터페이스 모듈이 양방향 통신을 하도록 구현함으로써, 네트워크 환경에 영향을 받는 별도의 통신 방법을 로봇 내에서 사용할 필요가 없으며, 고정된 메모리안의 데이터를 공유하는 기능을 이용해 모바일 로봇을 위한 운용 시스템의 프로그램 리소스를 감소시킬 수 있다.According to one embodiment of the present invention, by implementing a program executed by a processor of a robot operating system to enable a control module and a user interface module to perform bidirectional communication using shared memory that can be accessed simultaneously by multiple processes, there is no need to use a separate communication method affected by a network environment within the robot, and program resources of an operating system for a mobile robot can be reduced by utilizing a function for sharing data within a fixed memory.

도 2는 본 발명에 따른 모바일 로봇 시스템의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, 도시된 구성들 중 도 1을 참조하여 설명한 것과 동일한 것에 대한 설명은 생략하기로 한다.FIG. 2 is a block diagram illustrating another embodiment of a configuration of a mobile robot system according to the present invention. Among the configurations illustrated, descriptions of those identical to those described with reference to FIG. 1 will be omitted.

도 2를 참조하면, 로봇(120)의 운용 시스템은 메모리와, 메모리와 연결되고 메모리에 포함된 컴퓨터 판독 가능한 적어도 하나의 프로그램을 실행하도록 구성된 적어도 하나의 프로세서를 포함할 수 있다.Referring to FIG. 2, the operating system of the robot (120) may include a memory and at least one processor connected to the memory and configured to execute at least one computer-readable program contained in the memory.

한편, 로봇(120)에 포함된 프로그램은 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123)을 포함할 수 있다.Meanwhile, the program included in the robot (120) may include a control module (SLAM/NAV, 121) and a user interface module (UI, 123).

제어 모듈(SLAM/NAV, 121)은, 로봇(120)에 구비된 센서와 모터 등을 제어하고, 경로 탐색 및 위치 추정 알고리즘을 수행할 수 있다.The control module (SLAM/NAV, 121) can control sensors and motors equipped in the robot (120) and perform path search and position estimation algorithms.

한편, 사용자 인터페이스 모듈(UI, 123)은 사용자가 로봇(120)의 동작을 조작할 수 있도록 하고, 로봇(120)의 다양한 상태를 보여주기 위한 대화형 사용자 인터페이스(UI)를 제공할 수 있다.Meanwhile, the user interface module (UI, 123) can provide an interactive user interface (UI) to enable a user to manipulate the movements of the robot (120) and to show various states of the robot (120).

본 발명의 일실시예에 따른 로봇 운용 시스템은, 여러 프로세스에서 동시에 접근 가능한 공유 메모리(Shared Memory)를 이용해 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123)이 양방향 통신을 하도록 구현될 수 있다.A robot operation system according to one embodiment of the present invention can be implemented so that a control module (SLAM/NAV, 121) and a user interface module (UI, 123) can communicate bidirectionally using shared memory that can be accessed simultaneously by multiple processes.

또한, 로봇(120)의 메모리에는, 로그 데이터(Log), 맵 데이터(map.png, annotaion.ini) 및 설정 데이터(config.ini) 등이 저장되어 있을 수 있다.Additionally, log data (Log), map data (map.png, annotation.ini), and configuration data (config.ini) may be stored in the memory of the robot (120).

상기한 바와 같은 로봇 운용 시스템은, 본 발명의 기술적 사상을 구현하기 위해 필요한 소프트웨어 및/또는 하드웨어 리소스(resource)로 구현될 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다.The robot operating system as described above may be implemented with software and/or hardware resources necessary to implement the technical idea of the present invention, and does not necessarily mean one physical component or one device.

즉, 로봇 운용 시스템은 본 발명의 기술적 사상을 구현하기 위해 구비되는 소프트웨어 및/또는 하드웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다.That is, the robot operating system may mean a logical combination of software and/or hardware provided to implement the technical idea of the present invention, and, if necessary, may be implemented as a set of logical configurations for implementing the technical idea of the present invention by being installed in devices spaced apart from each other and performing each function.

또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예를 들면, 모듈은 소정의 코드와 해당 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아니다.In addition, the term "module" in this specification may mean a functional and structural combination of hardware for performing the technical idea of the present invention and software for operating the hardware. For example, a module may mean a logical unit of a given code and hardware resources for performing the code, and does not necessarily mean physically connected code or a type of hardware.

본 발명의 다른 실시예에 따르면, LCM(Lightweight Communication and Marshalling) 통신을 이용해 로봇(120)의 운용 시스템과 관제 서버(110)가 통신하도록 함으로써, 로봇(120)과 관제 서버(110) 사이의 통신 지연시간을 감소시키며, 이를 통해 복수의 로봇들 사이의 충돌 가능성을 줄일 수 있다.According to another embodiment of the present invention, by allowing the operating system of the robot (120) and the control server (110) to communicate using LCM (Lightweight Communication and Marshalling) communication, the communication delay time between the robot (120) and the control server (110) is reduced, thereby reducing the possibility of collision between multiple robots.

구체적으로, 로봇(120)의 운용 시스템은, LCM 통신을 이용해 제어 모듈(SLAM/NAV, 121)과 관제 서버(110)가 로봇 위치 및 경로 정보를 송수신 하도록 구현될 수 있다.Specifically, the operating system of the robot (120) can be implemented so that the control module (SLAM/NAV, 121) and the control server (110) transmit and receive robot location and path information using LCM communication.

예를 들어, 로봇들과 별도로 이들을 관제하기 위한 관제 서버(110)가 매장 내에 구비되며, 관제 서버(110)는 LCM 통신을 이용해 로봇(120)과의 통신 지연시간을 감소시키며 각 로봇의 위치 등을 고려해 경로를 생성할 수 있다.For example, a control server (110) is installed in the store separately from the robots to control them, and the control server (110) can reduce the communication delay time with the robots (120) by using LCM communication and generate a route by considering the location of each robot.

LCM은 메시지, 데이터 전송 라이브러리로서 데이터 마샬링을 최소화하여 통신 지연시간을 줄이고 프로그램 리소스를 많이 차지하지 않는 매우 가벼운 통신 방법으로서, 동일한 대역대의 근거리 통신에서 빠른 데이터 송수신을 통해 관제 서버(110)가 복수의 로봇들(120 내지 150) 각각의 위치를 빠르게 확인하여 로봇들 간의 충돌을 방지하도록 할 수 있다.LCM is a very lightweight communication method that minimizes data marshaling as a message and data transmission library, reduces communication delay time, and does not take up much program resources. Through fast data transmission and reception in short-distance communication of the same bandwidth, the control server (110) can quickly check the location of each of a plurality of robots (120 to 150) and prevent collisions between the robots.

본 발명의 또 다른 실시예에 따르면, REST(Representational State Transfer) API를 이용해 로봇(120)의 운용 시스템과 원격 서버(200)가 데이터를 공유하도록 함으로써, 웹(web) 상에서 로봇(120)의 상태를 용이하게 확인할 수 있도록 한다.According to another embodiment of the present invention, by using REST (Representational State Transfer) API to share data between the operating system of the robot (120) and the remote server (200), the status of the robot (120) can be easily checked on the web.

여기서, REST API는 자원(resource), 행위(verb) 및 표현(representations)으로 구성되어, 자원을 이름으로 구분하여 해당 자원의 상태 정보를 주고 받기 위한 응용 프로그램 인터페이스이다.Here, REST API is an application program interface that consists of resources, verbs, and representations, and is used to exchange status information about resources by distinguishing them by name.

구체적으로, 로봇(120)의 운용 시스템은, REST API를 이용해 사용자 인터페이스 모듈(UI, 123)과 원격 서버(200)가 맵 및 설정 정보를 공유하도록 구현될 수 있다.Specifically, the operating system of the robot (120) can be implemented to share map and setting information between the user interface module (UI, 123) and the remote server (200) using REST API.

예를 들어, 원격 서버(200)를 구축하여, REST API를 통해 로봇(120)이 프로그램 버전과 설정 관련 변경 사항을 받아올 수 있고, 맵과 설정 파일 등을 원격 서버(200)로 업로드하여 웹에서 로봇(120)의 상태를 확인하도록 할 수 있다.For example, by building a remote server (200), the robot (120) can receive program version and configuration-related changes through a REST API, and upload maps and configuration files, etc. to the remote server (200) to check the status of the robot (120) on the web.

도 3은 본 발명의 일실시예에 따른 로봇 운용 시스템의 프로그램 구조를 설명하기 위해 도시한 것으로, 도시된 구성들 중 도 1 및 도 2를 참조하여 설명한 것과 동일한 것에 대한 설명은 생략하기로 한다.FIG. 3 is a diagram illustrating a program structure of a robot operating system according to an embodiment of the present invention. Among the illustrated configurations, descriptions of those identical to those described with reference to FIGS. 1 and 2 will be omitted.

도 3을 참조하면, 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123)은 로봇(120)에 포함된 하나의 PC(Personal Computer)에서 구동될 수 있으며, 그에 따라 맵과 설정 파일 등은 동일한 경로에서 파일로 읽고 쓰며, 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123) 사이의 통신은 공유 메모리(Shared Memory, 125)를 사용하여 각종 명령과 상태값 등을 주고 받을 수 있다.Referring to FIG. 3, the control module (SLAM/NAV, 121) and the user interface module (UI, 123) can be driven by a single PC (Personal Computer) included in the robot (120), and accordingly, maps and configuration files, etc. are read and written as files in the same path, and communication between the control module (SLAM/NAV, 121) and the user interface module (UI, 123) can exchange various commands and status values, etc. using shared memory (Shared Memory, 125).

도 3에 도시된 바와 같이, 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123) 사이의 공유 메모리(125)는, 서로 다른 명령 또는 상태값을 통신하는 복수의 공유 메모리들을 포함하도록 구성될 수 있다.As illustrated in FIG. 3, the shared memory (125) between the control module (SLAM/NAV, 121) and the user interface module (UI, 123) may be configured to include a plurality of shared memories that communicate different commands or status values.

한편, 복수의 공유 메모리들 각각에 대해, 틱카운트(tick count)를 할당하여 데이터 업데이트시 마다 틱카운트가 변경되도록 할 수 있다.Meanwhile, for each of the multiple shared memories, a tick count can be allocated so that the tick count changes whenever data is updated.

이 경우, 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123) 중 어느 하나가 어느 한 공유 메모리에 데이터를 쓰면, 해당 공유 메모리의 틱카운트가 변경되고, 그에 따라 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123) 중 다른 하나는 해당 공유 메모리에 쓰여진 데이터를 읽어들일 수 있다.In this case, when either the control module (SLAM/NAV, 121) or the user interface module (UI, 123) writes data to one shared memory, the tick count of the corresponding shared memory changes, and accordingly, the other of the control module (SLAM/NAV, 121) or the user interface module (UI, 123) can read the data written to the corresponding shared memory.

예를 들어, 사용자 인터페이스 모듈(UI, 123)이 UI 명령(US command)를 해당 명령에 대응되는 공유 메모리에 쓰면, 해당 공유 메모리의 틱카운트가 변경되고, 틱카운트의 변경에 따라 제어 모듈(SLAM/NAV, 121)은 해당 공유 메모리에 쓰여진 UI 명령(US command)을 읽어들일 수 있다.For example, when a user interface module (UI, 123) writes a UI command (US command) to shared memory corresponding to the command, the tick count of the shared memory changes, and according to the change in the tick count, the control module (SLAM/NAV, 121) can read the UI command (US command) written to the shared memory.

공유 메모리는 여러 프로세스에서 동시에 접근 가능한 반면, 양방향 통신을 지원하지 않으나, 상기한 바와 같이 복수의 공유 메모리들을 구성하여 각 공유 메모리에 틱카운트를 추가함으로써, 하나의 PC 안에서 동작하는데 불필요하게 네트워크 환경에 영향을 받는 통신 방법을 사용하지 않고 고정된 메모리안의 데이터를 공유하는 기능을 사용하여, 제어 모듈(SLAM/NAV, 121)과 사용자 인터페이스 모듈(UI, 123) 사이의 양방향 통신을 구현할 수 있다.Shared memory, while simultaneously accessible by multiple processes, does not support bidirectional communication. However, by configuring multiple shared memories as described above and adding a tick count to each shared memory, it is possible to implement bidirectional communication between a control module (SLAM/NAV, 121) and a user interface module (UI, 123) by using the function of sharing data in a fixed memory without using a communication method that is unnecessarily affected by the network environment when operating within a single PC.

상기한 바와 같은 프로그램 구조를 가지는 로봇 운용 시스템은 본 발명의 실시예에 따른 모바일 로봇에 포함될 수 있으며, 본 발명의 일실시예에 따른 모바일 로봇은 도 4에 도시된 바와 같은 서빙 로봇(400)일 수 있으나, 본 발명은 이에 한정되지는 아니한다.A robot operating system having a program structure as described above may be included in a mobile robot according to an embodiment of the present invention, and a mobile robot according to an embodiment of the present invention may be a serving robot (400) as illustrated in FIG. 4, but the present invention is not limited thereto.

도 4를 참조하면, 서빙 로봇(400)은 구동부(410), 본체(420), 트레이(430, 431), 디스플레이부(440) 및 지지부(450)를 포함하여 구성될 수 있으나, 필요에 따라 일부 구성이 생략되거나 추가될 수 있다.Referring to FIG. 4, the serving robot (400) may be configured to include a driving unit (410), a main body (420), a tray (430, 431), a display unit (440), and a support unit (450), but some components may be omitted or added as needed.

도 5는 본 발명의 일실시예에 따른 모바일 로봇의 구성을 블록도로 도시한 것으로, 모바일 로봇(500)은 이미지획득부(510), 이미지처리부(530) 및 경로생성부(540)를 포함하여 구성될 수 있다. 도시된 모바일 로봇(500)의 구성 및 동작들 중 도 1 내지 도 4를 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.FIG. 5 is a block diagram illustrating the configuration of a mobile robot according to an embodiment of the present invention. The mobile robot (500) may be configured to include an image acquisition unit (510), an image processing unit (530), and a path generation unit (540). Descriptions of the configuration and operations of the illustrated mobile robot (500) that are identical to those described with reference to FIGS. 1 to 4 will be omitted below.

도 5를 참조하면, 이미지처리부(520)는 로봇이 이동 가능한 경로를 나타내는 가이드 라인(guide line)을 포함하는 가이드 라인 이미지를 획득한다.Referring to FIG. 5, the image processing unit (520) obtains a guide line image including a guide line indicating a path along which the robot can move.

가이드 라인은 모바일 로봇(500)이 따라야할 추종선을 의미하는 것으로, 가이드 라인 내에서 모바일 로봇(500)의 실제 주행 경로가 결정될 수 있다.The guide line refers to a following line that the mobile robot (500) should follow, and the actual driving path of the mobile robot (500) can be determined within the guide line.

이미지처리부(520)는 가이드 라인 이미지에서 가이드 라인을 스무딩(smoothing) 처리하여, 코너 곡률이 조절된 가이드 라인을 획득한다.The image processing unit (520) performs smoothing on the guide lines in the guide line image to obtain guide lines with adjusted corner curvatures.

논홀로노믹(nonholonomic) 로봇의 경우, 직각 코너의 경로를 추종하기 어렵기 때문에, 가이드 라인의 코너 부분을 스무딩 처리하여, 모바일 로봇(500)이 원할하게 추종할 수 있는 코너 곡률을 가지는 완만한 경로를 만들 수 있다.In the case of a nonholonomic robot, it is difficult to follow a path with a right-angled corner, so by smoothing the corner portion of the guide line, a gentle path with a corner curvature that the mobile robot (500) can follow as desired can be created.

예를 들어, 이미지처리부(520)는, 가이드 라인을 구성하는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제1 색상의 원을 형성한 후, 가이드 라인 이미지 중 제1 색상과 상이한 제2 색상을 가지는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제2 색상의 원을 형성하여 가이드 라인을 스무딩 처리할 수 있다.For example, the image processing unit (520) may form a circle of a first color centered on each of a plurality of points forming a guide line, and then form a circle of a second color centered on each of a plurality of points having a second color different from the first color in the guide line image to smooth the guide line.

한편, 가이드 라인을 스무딩 처리함에 있어, 가이드 라인의 코너 곡률은 원의 크기를 조정함에 의해 조절 가능할 수 있다.Meanwhile, when smoothing the guide line, the corner curvature of the guide line can be adjusted by adjusting the size of the circle.

경로생성부(540)는, 이미지처리부(520)의 스무딩 처리를 통해 곡률이 조절된 가이드 라인에 기초하여, 모바일 로봇(500)의 주행 경로를 생성한다.The path generation unit (540) generates a driving path of the mobile robot (500) based on a guide line whose curvature has been adjusted through smoothing processing of the image processing unit (520).

여기서, 이미지처리부(520)는 맵(map)을 생성하거나 맵을 로딩(loading) 때 1회만 상기한 바와 같은 가이드 라인에 대한 스무딩 처리를 수행하면 되며, 경로생성부(540)는 스무딩 처리된 가이드 라인에 기초하여 추가 연산 없이 모바일 로봇(500)이 원할하게 추종 가능한 부드러운 경로를 생성할 수 있다.Here, the image processing unit (520) only needs to perform smoothing processing on the guide lines as described above once when generating a map or loading a map, and the path generation unit (540) can generate a smooth path that the mobile robot (500) can follow without additional calculations based on the smoothed guide lines.

기존 로봇 경로 스무딩 방법의 경우, 모바일 로봇(500)의 주행시, 가이드 라인에 따라 경로를 생성하고, 생성된 경로를 스플라인(spline) 보간 등을 통해 스무딩 처리하여, 경로 상의 코너 곡률을 원하는 대로 조절하기 힘들며, 경로 생성시 마다 스무딩 처리를 위한 연산이 수행되어야 하는 문제가 있었다.In the case of the existing robot path smoothing method, when the mobile robot (500) is driven, a path is generated according to a guide line, and the generated path is smoothed through spline interpolation, etc., so it is difficult to adjust the corner curvature on the path as desired, and there was a problem that an operation for smoothing processing had to be performed every time the path was generated.

상기한 바와 같은 본 발명의 실시예에 따르면, 로봇의 가이드 라인 자체를 서로 다른 색상의 원들을 이용해 스무딩 처리하고, 스무딩 처리를 통해 코너 곡률이 조절된 가이드 라인에 기초해 로봇의 주행 경로를 생성하도록 함으로써, 로봇의 경로 생성시 마다 경로에 대한 스무딩 처리를 수행해야하는 문제를 개선할 수 있으며, 이를 통해 추가 연산 없이 단순한 경로 탐색 알고리즘으로 로봇이 추종하기 용이한 부드러운 주행 경로를 얻을 수 있다.According to the above-described embodiment of the present invention, by smoothing the guide line of the robot itself using circles of different colors and generating the driving path of the robot based on the guide line with the corner curvature adjusted through the smoothing process, the problem of having to perform smoothing process on the path every time the path of the robot is generated can be improved, and through this, a smooth driving path that is easy for the robot to follow can be obtained with a simple path search algorithm without additional calculations.

또한, 스무딩 처리에 사용되는 원의 크기를 조정하여 가이드 라인의 코너 곡률을 용이하게 조절할 수 있으며, 위와 같은 가이드 라인에 대한 스무딩 처리는 맵 생성 시점 또는 맵 로딩 시점에 1회만 수행되도록 하여, 경로 생성에 소요되는 연산량 및 시간을 감소시킬 수 있다.In addition, the corner curvature of the guide line can be easily adjusted by adjusting the size of the circle used for smoothing processing, and the smoothing processing for the guide line as above can be performed only once at the time of map creation or map loading, thereby reducing the amount of calculation and time required for path creation.

한편, 도 5를 참조하여 설명한 구성들은 모바일 로봇(500)의 일부로서, 도 2 및 도 3을 참조하여 설명한 로봇 운용 시스템의 제어 모듈(SLAM/NAV, 121)에 소프트웨어 및/또는 하드웨어의 논리적인 결합으로 포함될 수 있다.Meanwhile, the configurations described with reference to FIG. 5 may be included as a logical combination of software and/or hardware in the control module (SLAM/NAV, 121) of the robot operation system described with reference to FIGS. 2 and 3 as part of the mobile robot (500).

그리고 이미지처리부(520)를 통해 스무딩 처리된 가이드 라인 이미지는, 관제 서버(110)로 전달되어 복수의 로봇들의 주행 경로를 결정하는데 이용될 수 있으며, 또한 도 5를 참조하여 설명한 구성들 중 적어도 일부는 관제 서버(110)에 소프트웨어 및/또는 하드웨어의 논리적인 결합으로 포함될 수도 있다.And the guideline image smoothed through the image processing unit (520) can be transmitted to the control server (110) and used to determine the driving path of multiple robots, and also, at least some of the configurations described with reference to FIG. 5 can be included in the control server (110) as a logical combination of software and/or hardware.

이하, 도 6 내지 도 15를 참조하여, 본 발명에 따른 로봇의 경로 생성 방법에 대한 실시예들을 보다 상세히 설명하기로 한다.Hereinafter, with reference to FIGS. 6 to 15, embodiments of a path generation method of a robot according to the present invention will be described in more detail.

도 6은 본 발명의 일실시예에 따른 로봇의 경로 생성 방법을 흐름도로 도시한 것으로, 경로 생성을 위한 모바일 로봇(500)의 동작에 대한 실시예를 나타낸 것이다. 도 6에 도시된 방법들 중 도 1 내지 도 5를 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.Fig. 6 is a flow chart illustrating a path generation method of a robot according to an embodiment of the present invention, and shows an example of the operation of a mobile robot (500) for path generation. Descriptions of the methods illustrated in Fig. 6 that are the same as those described with reference to Figs. 1 to 5 will be omitted below.

도 6을 참조하면, 모바일 로봇(500)은 로봇이 이동 가능한 경로를 나타내는 가이드 라인을 포함하는 가이드 라인 이미지를 획득한다(S600 단계).Referring to FIG. 6, a mobile robot (500) obtains a guideline image including guidelines indicating a path along which the robot can move (step S600).

도 7의 (a)에 도시된 바와 같이, 가이드 라인 이미지(Image)는 모바일 로봇(500)이 운용되는 공간 상에서 로봇이 추종해야 하는 가이드 라인(GL)을 나타낼 수 있다. 한편, 도 7의 (b)를 참조하면, 도 7의 (a)에 도시된 바와 같은 가이드 라인 이미지에서 가이드 라인(GL)에 기초하여 모바일 로봇(500)의 주행 경로(Path)가 결정되며, 이 경우 주행 경로(Path)의 직각 코너(Corner) 부분에서 모바일 로봇(500)의 경로 추종이 어려워질 수 있다.As shown in (a) of Fig. 7, the guideline image (Image) may represent a guideline (GL) that the mobile robot (500) should follow in the space where the mobile robot (500) operates. Meanwhile, referring to (b) of Fig. 7, the driving path (Path) of the mobile robot (500) is determined based on the guideline (GL) in the guideline image as shown in (a) of Fig. 7, and in this case, path following of the mobile robot (500) may become difficult at a right-angled corner (Corner) of the driving path (Path).

따라서 모바일 로봇(500)은 S600 단계에서 획득된 가이드 라인 이미지에서 가이드 라인을 스무딩 처리하여, 코너 곡률이 조절된 가이드 라인을 획득한다(S610 단계).Therefore, the mobile robot (500) obtains a guide line with adjusted corner curvature by smoothing the guide line in the guide line image obtained in step S600 (step S610).

본 발명의 일실시예에 따르면, S610 단계에서의 스무딩 처리는, 가이드 라인을 구성하는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제1 색상(예를 들어, 검은색)의 원을 형성한 후, 가이드 라인 이미지 중 제1 색상(예를 들어, 검은색)과 상이한 제2 색상(예를 들어, 흰색)을 가지는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제2 색상(예를 들어, 흰색)의 원을 형성하여, 가이드 라인의 코너 곡률을 부드럽게 조절할 수 있다.According to one embodiment of the present invention, the smoothing process in step S610 may be performed by forming a circle of a first color (e.g., black) centered on each of a plurality of points forming a guide line, and then forming a circle of a second color (e.g., white) centered on each of a plurality of points having a second color (e.g., white) different from the first color (e.g., black) in the guide line image, thereby smoothly adjusting the corner curvature of the guide line.

한편, 가이드 라인의 코너 곡률은 스무딩 처리에서 이용되는 원의 크기를 조정함에 의해 조절 가능할 수 있다.Meanwhile, the corner curvature of the guide line can be adjusted by adjusting the size of the circle used in the smoothing process.

또한, 가이드 라인에 대한 스무딩 처리(S610 단계)는, 모바일 로봇(500)이 맵을 생성한 시점에 1회만 수행되거나, 맵을 로딩한 시점에 1회만 수행될 수 있다.Additionally, smoothing processing for the guide lines (step S610) may be performed only once when the mobile robot (500) creates the map or only once when the map is loaded.

도 8의 (a)는 가이드 라인(GL)에 대한 일예를 도시한 것이고, 도 8의 (b)는 도 8의 (a)에 도시된 가이드 라인(GL)에 제1 색상(예를 들어, 검은색)의 원들을 형성한 가이드 라인(GL1)에 일예를 도시한 것이며, 도 8의 (c)는 도 8의 (b)에 도시된 가이드 라인(GL1)에 제2 색상(예를 들어, 흰색)의 원들을 형성하여 코너 곡률이 조정된 가이드 라인(GL2)에 일예를 도시한 것이다.Fig. 8 (a) illustrates an example of a guide line (GL), Fig. 8 (b) illustrates an example of a guide line (GL1) formed with circles of a first color (e.g., black) on the guide line (GL) illustrated in Fig. 8 (a), and Fig. 8 (c) illustrates an example of a guide line (GL2) formed with circles of a second color (e.g., white) on the guide line (GL1) illustrated in Fig. 8 (b) to have a corner curvature adjusted.

도 9를 참조하면, 검은색 가이드 라인(GL)의 모든 검은색 점들 각각에 대해, 검은색 점(P1)을 중심으로 하며 일정 반지름(R1)을 가지는 검은색 원(C1)을 덧그려 형성할 수 있다.Referring to Fig. 9, for each of the black points of the black guide line (GL), a black circle (C1) with a constant radius (R1) centered on the black point (P1) can be drawn to form the circle.

도 9에서는 가이드 라인(GL)에 포함된 점들 중 일부에 대해서만 원(C1)을 덧그렸으나, 가이드 라인(GL)의 모든 점들에 대해 상기한 바와 같이 검은색 원들을 덧그리면 도 8의 (b)에 도시된 바와 같은 가이드 라인(GL1)이 형성될 수 있다.In Fig. 9, circles (C1) are drawn only for some of the points included in the guide line (GL), but if black circles are drawn for all the points of the guide line (GL) as described above, a guide line (GL1) as shown in (b) of Fig. 8 can be formed.

도 10을 참조하면, 도 8의 (b)에 도시된 바와 같은 가이드 라인(GL1)을 포함하는 이미지에서, 흰색 영역에 위치하는 흰색 점들 각각에 대해, 흰색 점(P2)을 중심으로 하며 일정 반지름(R2)을 가지는 흰색 원(C2)을 덧그려 형성할 수 있다.Referring to FIG. 10, in an image including a guide line (GL1) as shown in (b) of FIG. 8, a white circle (C2) having a constant radius (R2) and centered on the white point (P2) can be formed by drawing it on each of the white points located in the white area.

도 10에서는 흰색 영역에 위치한 점들 중 일부에 대해서만 원(C2)을 덧그렸으나, 가이드 라인(GL1) 주변 모든 흰색 점들에 대해 상기한 바와 같이 흰색 원들을 덧그리면 도 8의 (c)에 도시된 바와 같은 코너 곡률이 조절된 가이드 라인(GL2)이 획득될 수 있다.In Fig. 10, circles (C2) are drawn only for some of the points located in the white area, but if white circles are drawn as described above for all white points around the guide line (GL1), a guide line (GL2) with adjusted corner curvature as shown in (c) of Fig. 8 can be obtained.

여기서, 검은색 원(C1)의 반지름(R1)과 흰색 원(C2)의 반지름(R2)은 동일할 수 있으나, 필요에 따라 서로 상이하게 설정될 수도 있으며, 검은색 원(C1)의 반지름(R1)과 흰색 원(C2)의 반지름(R2) 중 적어도 하나를 조정함에 따라 가이드 라인의 코너 곡률이 조절될 수 있다.Here, the radius (R1) of the black circle (C1) and the radius (R2) of the white circle (C2) may be the same, but may be set differently as needed, and the corner curvature of the guide line may be adjusted by adjusting at least one of the radius (R1) of the black circle (C1) and the radius (R2) of the white circle (C2).

한편, 상기에서는 검은색 원들(C1)과 흰색 원들(C2)을 형성하여 가이드 라인(GL)에 대한 스무딩 처리를 하는 것으로 예로 들어 본 발명에 대한 실시예를 설명하였으나, 본 발명은 이에 한정되지 아니하며 적어도 일부분이 곡선 형태를 가지는 다양한 도형들이 이용될 수 있으며, 원의 색상 또한 변경 가능할 수 있다.Meanwhile, the above has described an embodiment of the present invention by taking the example of forming black circles (C1) and white circles (C2) and performing smoothing processing for the guide line (GL), but the present invention is not limited thereto, and various shapes having at least a portion of a curved shape may be used, and the color of the circle may also be changed.

상기한 바와 같은 가이드 라인에 대한 스무딩 처리는, 도 11에 도시된 바와 같은 보다 복잡한 형태의 가이드 라인(GL)에 대해서도 적용 가능하다.The smoothing process for the above-described guide lines can also be applied to more complex guide lines (GL) as illustrated in Fig. 11.

도 11의 (a)는 교차로 형태의 가이드 라인(GL)에 대한 일예를 도시한 것이며, 도 11의 (b)는 도 11읠 (a)에 도시된 가이드 라인(GL)을 스무딩 처리한 결과를 도시한 것이다.Fig. 11 (a) illustrates an example of a guide line (GL) in the form of an intersection, and Fig. 11 (b) illustrates the result of smoothing the guide line (GL) illustrated in Fig. 11 (a).

S610 단계에서 가이드 라인에 대한 스무딩 처리가 완료된 후, 모바일 로봇(500)은 곡률이 조절된 가이드 라인에 기초하여 로봇의 주행 경로를 생성한다(S620 단계).After smoothing processing for the guide line is completed at step S610, the mobile robot (500) generates a driving path of the robot based on the guide line with adjusted curvature (step S620).

S620 단계에서, 모바일 로봇(500)은 추가 연산 없이 단순한 경로 탐색 알고리즘을 이용하여 주행 경로를 생성할 수 있으며, 경로 탐색 알고리즘은 기존의 다양한 공지 기술을 적용할 수 있으므로 이에 대한 상세한 설명은 생략하기로 한다.At step S620, the mobile robot (500) can generate a driving path using a simple path search algorithm without additional operations. Since the path search algorithm can apply various existing known technologies, a detailed description thereof will be omitted.

예를 들어, 도 11에 도시된 바와 같이, 스무딩 처리를 통해 코너 곡률이 조절된 가이드 라인(GL2)에 기초하여 로봇의 주행 경로(Path)를 생성하면, 경로(Path) 자체가 모바일 로봇(500)이 원할하게 추종할 수 있는 부드러운 경로를 가지게 되어, 부드러운 경로를 생성하기 위해 경로 탐색 이외에 추가적인 연산이 필요하지 않게 된다.For example, as illustrated in Fig. 11, if a robot's driving path (Path) is generated based on a guide line (GL2) whose corner curvature is adjusted through smoothing processing, the path itself becomes a smooth path that the mobile robot (500) can follow as desired, so no additional calculations are required other than path search to generate a smooth path.

도 13 내지 도 15는, 보다 복잡한 형태의 가이드 라인들에 대해, 본 발명의 일실시예에 따른 스무딩 처리를 통해 코너 곡률이 조절된 가이드 라인(GL2)을 생성하고, 코너 곡률이 조절된 가이드 라인(GL2)에 기초하여 부드러운 주행 경로(Path)를 생성하는 예들을 도시한 것이다.FIGS. 13 to 15 illustrate examples of generating a guide line (GL2) with adjusted corner curvature through smoothing processing according to one embodiment of the present invention for guide lines of more complex shapes, and generating a smooth driving path (Path) based on the guide line (GL2) with adjusted corner curvature.

상기에서는, 본 발명에 따른 로봇의 경로 생성 방법이 모바일 로봇(500)에 의해 수행되는 것을 예로 들어 본 발명의 실시예들을 설명하였으나, 본 발명은 이에 한정되지 아니하며, 본 발명에 따른 로봇의 경로 생성 방법 중 적어도 일부는 관제 서버(110) 등과 같은 외부 장치에서 수행될 수도 있다.In the above, the embodiments of the present invention have been described by taking as an example the method for generating a path for a robot according to the present invention being performed by a mobile robot (500), but the present invention is not limited thereto, and at least a part of the method for generating a path for a robot according to the present invention may be performed by an external device such as a control server (110).

상술한 본 발명에 따른 방법들은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다.The methods according to the present invention described above can be produced as a program to be executed on a computer and stored in a computer-readable recording medium. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.

컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The computer-readable recording medium can be distributed across network-connected computer systems so that the computer-readable code can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the above method can be easily inferred by programmers in the technical field to which the present invention belongs.

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.Although the preferred embodiments of the present invention have been illustrated and described above, the present invention is not limited to the specific embodiments described above, and various modifications may be made by those skilled in the art without departing from the gist of the present invention as claimed in the claims. Furthermore, such modifications should not be individually understood from the technical idea or prospect of the present invention.

Claims (11)

로봇이 이동 가능한 경로를 나타내는 가이드 라인(guide line)을 포함하는 가이드 라인 이미지를 획득하는 단계;A step of acquiring a guide line image including a guide line indicating a path along which the robot can move; 상기 가이드 라인 이미지에서 상기 가이드 라인을 스무딩(smoothing) 처리하여, 코너 곡률이 조절된 가이드 라인을 획득하는 단계; 및A step of obtaining a guide line with adjusted corner curvature by smoothing the guide line in the above guide line image; and 상기 곡률이 조절된 가이드 라인에 기초하여 상기 로봇의 주행 경로를 생성하는 단계;를 포함하는 것을 특징으로 하는 로봇의 경로 생성 방법.A method for generating a path for a robot, comprising: a step of generating a driving path for the robot based on the guide line whose curvature is adjusted; 제1항에 있어서, 상기 스무딩 처리는In the first paragraph, the smoothing process 상기 가이드 라인을 구성하는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제1 색상의 원을 형성한 후, 상기 가이드 라인 이미지 중 상기 제1 색상과 상이한 제2 색상을 가지는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제2 색상의 원을 형성하는 것을 특징으로 하는 로봇의 경로 생성 방법.A method for generating a path for a robot, characterized in that, for each of a plurality of points forming the guide line, a circle of a first color is formed with the corresponding point as the center, and then, for each of a plurality of points having a second color different from the first color among the guide line images, a circle of a second color is formed with the corresponding point as the center. 제2항에 있어서,In the second paragraph, 상기 가이드 라인의 코너 곡률은 상기 원의 크기를 조정함에 의해 조절 가능한 것을 특징으로 하는 로봇의 경로 생성 방법.A path generation method for a robot, characterized in that the corner curvature of the above guide line is adjustable by adjusting the size of the above circle. 제1항에 있어서,In the first paragraph, 상기 제1 색상은 검은색이고, 상기 제2 색상은 흰색인 것을 특징으로 하는 로봇의 경로 생성 방법.A path generation method for a robot, characterized in that the first color is black and the second color is white. 제1항에 있어서,In the first paragraph, 상기 가이드 라인에 대한 스무딩 처리는 맵(map) 생성 시점에 1회만 수행되는 것을 특징으로 하는 로봇의 경로 생성 방법.A method for generating a path for a robot, characterized in that smoothing processing for the above guidelines is performed only once at the time of generating a map. 제1항에 있어서,In the first paragraph, 상기 가이드 라인에 대한 스무딩 처리는 맵 로딩(loading) 시점에 1회만 수행되는 것을 특징으로 하는 로봇의 경로 생성 방법.A method for generating a path for a robot, characterized in that smoothing processing for the above guidelines is performed only once at the time of map loading. 하드웨어와 결합되어 제1항 내지 제6항 중 어느 한 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.A computer program stored on a computer-readable recording medium for executing any one of the methods of claims 1 to 6 in combination with hardware. 로봇이 이동 가능한 경로를 나타내는 가이드 라인을 포함하는 가이드 라인 이미지를 획득하는 이미지획득부;An image acquisition unit for acquiring a guide line image including guide lines indicating a path along which the robot can move; 상기 가이드 라인 이미지에서 상기 가이드 라인을 스무딩 처리하여, 코너 곡률이 조절된 가이드 라인을 획득하는 이미지처리부; 및An image processing unit that obtains a guide line with adjusted corner curvature by smoothing the guide line in the above guide line image; and 상기 곡률이 조절된 가이드 라인에 기초하여 상기 로봇의 주행 경로를 생성하는 경로생성부;를 포함하는 것을 특징으로 하는 모바일 로봇.A mobile robot characterized by comprising a path generation unit that generates a driving path of the robot based on the guide line with adjusted curvature. 제8항에 있어서, 상기 이미지처리부는In the 8th paragraph, the image processing unit 상기 가이드 라인을 구성하는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제1 색상의 원을 형성한 후, 상기 가이드 라인 이미지 중 상기 제1 색상과 상이한 제2 색상을 가지는 복수의 점들 각각에 대해 해당 점을 중심으로 하는 제2 색상의 원을 형성하여 상기 가이드 라인을 스무딩 처리하는 것을 특징으로 하는 모바일 로봇.A mobile robot characterized in that, for each of a plurality of points forming the guide line, a circle of a first color is formed with the corresponding point as the center, and then, for each of a plurality of points having a second color different from the first color among the guide line images, a circle of a second color is formed with the corresponding point as the center, thereby smoothing the guide line. 제9항에 있어서,In Article 9, 상기 가이드 라인의 코너 곡률은 상기 원의 크기를 조정함에 의해 조절 가능한 것을 특징으로 하는 모바일 로봇.A mobile robot characterized in that the corner curvature of the above guide line is adjustable by adjusting the size of the above circle. 제8항에 있어서,In Article 8, 상기 가이드 라인에 대한 스무딩 처리는 맵 생성 시점 또는 맵 로딩 시점에 1회만 수행되는 것을 특징으로 하는 모바일 로봇.A mobile robot characterized in that smoothing processing for the above guidelines is performed only once at the time of map creation or map loading.
PCT/KR2024/014919 2023-10-10 2024-10-02 Method for generating path of robot, and mobile robot using same Pending WO2025079913A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2023-0134512 2023-10-10
KR1020230134512A KR20250051430A (en) 2023-10-10 2023-10-10 Mapping and localization method for robot, and mobile robot using the same

Publications (1)

Publication Number Publication Date
WO2025079913A1 true WO2025079913A1 (en) 2025-04-17

Family

ID=95395875

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2024/014919 Pending WO2025079913A1 (en) 2023-10-10 2024-10-02 Method for generating path of robot, and mobile robot using same

Country Status (2)

Country Link
KR (1) KR20250051430A (en)
WO (1) WO2025079913A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764622A (en) * 1993-08-26 1995-03-10 Matsushita Electric Ind Co Ltd Robot trajectory interpolator
KR100772912B1 (en) * 2006-05-16 2007-11-05 삼성전자주식회사 Robot using absolute azimuth and map creation method using same
KR20170112487A (en) * 2016-03-31 2017-10-12 경남대학교 산학협력단 Intelligent service robot system for restaurant
KR102350476B1 (en) * 2020-07-23 2022-01-13 최재원 Serving robot and robot serving system using the same
KR20220071526A (en) * 2020-11-24 2022-05-31 현대자동차주식회사 Autonomous mobile robot using omnidirectional waypoint and its control method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230025604A (en) 2021-08-13 2023-02-22 주식회사세오 Serving robot

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0764622A (en) * 1993-08-26 1995-03-10 Matsushita Electric Ind Co Ltd Robot trajectory interpolator
KR100772912B1 (en) * 2006-05-16 2007-11-05 삼성전자주식회사 Robot using absolute azimuth and map creation method using same
KR20170112487A (en) * 2016-03-31 2017-10-12 경남대학교 산학협력단 Intelligent service robot system for restaurant
KR102350476B1 (en) * 2020-07-23 2022-01-13 최재원 Serving robot and robot serving system using the same
KR20220071526A (en) * 2020-11-24 2022-05-31 현대자동차주식회사 Autonomous mobile robot using omnidirectional waypoint and its control method

Also Published As

Publication number Publication date
KR20250051430A (en) 2025-04-17

Similar Documents

Publication Publication Date Title
WO2018070768A1 (en) Monitoring system control method and electronic device for supporting same
CN109767130A (en) Method for controlling a vehicle and device
WO2020241933A1 (en) Master robot controlling slave robot and method of operating same
CN107733945A (en) Information transferring method and device for robot operating system
WO2023022297A1 (en) Robot and control method therefor
WO2023096151A1 (en) Robot and controlling method thereof
WO2018236181A1 (en) AHRS FLIGHT CONTROL APPARATUS BASED ON A MOBILE PLATFORM
WO2025079913A1 (en) Method for generating path of robot, and mobile robot using same
WO2025079914A1 (en) Path finding method for operating multiple robots, and server for performing same
WO2025079912A1 (en) Mapping and localization method for robot, and mobile robot using same
WO2025225825A1 (en) Dividing mapping method and apparatus for map generation, and mobile robot using the same
WO2025225824A1 (en) Method for determining moving path of mobile robot, and mobile robot performing same
WO2023003310A1 (en) Method and apparatus for selecting frequency band for ue in a wireless network
CN115484692B (en) Method, equipment and medium for cooperative communication of unmanned aerial vehicle and robot cluster
CN113467846B (en) Plug and play implementation method for load equipment of unmanned aerial vehicle heterogeneous task
WO2021162141A1 (en) Mobile terminal
KR20250051428A (en) Robot operating system, mobile robot and system using the same
WO2023027488A1 (en) Robot and control method therefor
WO2021158066A1 (en) Electronic apparatus and control method thereof
US11582636B1 (en) Wireless communication service over a wireless network slice based on user equipment (UE) concentrations
WO2024225829A1 (en) Methods and systems for discovering and selecting multiple application servers
WO2026071451A1 (en) Robot control method and system enabling interactions between robot and various types of facilities
KR20250155801A (en) Method and apparatus of mapping by deviding area for map generation, and mobile robot using the same
CN112533303A (en) Method and system for maintaining routing table of formation performance unmanned aerial vehicle, computer equipment and terminal
WO2026034910A1 (en) Systems and methods for indicating spatial map employment for localization services

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24877451

Country of ref document: EP

Kind code of ref document: A1