KR102484773B1 - Control method and system for robot - Google Patents

Control method and system for robot Download PDF

Info

Publication number
KR102484773B1
KR102484773B1 KR1020210043612A KR20210043612A KR102484773B1 KR 102484773 B1 KR102484773 B1 KR 102484773B1 KR 1020210043612 A KR1020210043612 A KR 1020210043612A KR 20210043612 A KR20210043612 A KR 20210043612A KR 102484773 B1 KR102484773 B1 KR 102484773B1
Authority
KR
South Korea
Prior art keywords
robot
time
control command
server
obstacle
Prior art date
Application number
KR1020210043612A
Other languages
Korean (ko)
Other versions
KR20220137474A (en
KR102484773B9 (en
Inventor
윤영환
박경식
Original Assignee
네이버랩스 주식회사
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 네이버랩스 주식회사 filed Critical 네이버랩스 주식회사
Priority to KR1020210043612A priority Critical patent/KR102484773B1/en
Priority to KR1020210081914A priority patent/KR102485644B1/en
Priority to PCT/KR2022/000045 priority patent/WO2022211224A1/en
Publication of KR20220137474A publication Critical patent/KR20220137474A/en
Application granted granted Critical
Publication of KR102484773B1 publication Critical patent/KR102484773B1/en
Publication of KR102484773B9 publication Critical patent/KR102484773B9/en

Links

Images

Classifications

    • 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/0011Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process

Landscapes

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

Abstract

본 발명은 로봇 원격 제어에 관한 것으로서, 통신 지연을 고려하여 로봇을 제어할 수 있는 로봇 원격 제어 방법 및 시스템이다. 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 방법은 상기 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계 및 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 방법을 제공한다.The present invention relates to a robot remote control, and is a robot remote control method and system capable of controlling a robot in consideration of communication delay. A method for remotely controlling a robot through communication between a robot and a server includes calculating a communication delay time between the robot and the server based on time information transmitted and received between the robot and the server, and the robot based on the communication delay time. Generating a control command related to driving of and transmitting the control command to the robot so that the robot travels according to the control command, wherein the control command is at the time the robot receives the control command It provides a robot remote control method, characterized in that generated based on the expected position of the robot of the.

Description

로봇 원격 제어 방법 및 시스템{CONTROL METHOD AND SYSTEM FOR ROBOT}Robot remote control method and system {CONTROL METHOD AND SYSTEM FOR ROBOT}

본 발명은 로봇 원격 제어에 관한 것으로서, 통신 지연을 고려하여 로봇을 제어할 수 있는 로봇 원격 제어 방법 및 시스템이다.The present invention relates to a robot remote control, and is a robot remote control method and system capable of controlling a robot in consideration of communication delay.

기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.As technology develops, various service devices are appearing, and in particular, technology development for robots performing various tasks or services has been actively conducted recently.

나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 복수의 로봇을 효율적으로 제어하기 위한 브레인리스 로봇 시스템에 대한 개발이 이루어지고 있다. Furthermore, in recent years, as artificial intelligence technology, cloud technology, and the like develop, brainless robot systems for efficiently controlling a plurality of robots are being developed.

브레인리스 로봇 시스템은 복수의 브레인리스 로봇 및 브레인 서버를 포함하고, 브레인리스 로봇 시스템에서 각 브레인리스 로봇은 원격 또는 엣지(edge)에 위치한 브레인 서버에 센서 정보 및 각종 로봇의 상태를 리포트하고 이동 등의 제어 명령을 수신하여 처리하게 된다.The brainless robot system includes a plurality of brainless robots and brain servers, and in the brainless robot system, each brainless robot reports sensor information and the status of various robots to the brain server located remotely or at the edge, moves, etc. It receives and processes the control command of

이 때, 로봇과 서버 사이에 통신으로 인한 지연이 발생될 수 있다. 통신 지연은 브레인리스 로봇 시스템에서 불가피하게 발생되는 것으로, 로봇의 제어에 큰 영향을 줄 수 있다.At this time, a delay may occur due to communication between the robot and the server. Communication delay is unavoidable in brainless robot systems and can have a great impact on robot control.

이에, 대한민국 공개특허 제10-2011-0079872호(통신 네트워크에서 시간 및 주파수 전송을 위한 방법 및 장치)에서는, 클라이언트 장치와 서버 간에 메시지를 주기적으로 교환하여 통신지연을 산출하는 방법이 개시되어 있으나, 통신 지연을 지속적으로 계측하여 제어에 반영하는 방법에 대하여 알려진 연구 결과가 없다.Accordingly, Korean Patent Publication No. 10-2011-0079872 (Method and Apparatus for Transmitting Time and Frequency in a Communication Network) discloses a method for calculating a communication delay by periodically exchanging messages between a client device and a server. There is no known research result on how to continuously measure communication delay and reflect it to control.

따라서, 로봇으로 보내는 명령 정보가 시간 차이를 두고 적용된다는 점, 로봇에서 보내는 정보가 지연되어 브레인 서버로 도착한다는 점을 제어 명령에 선제적으로 반영하는 방법에 대한 니즈가 여전히 필요하다.Therefore, there is still a need for a method of preemptively reflecting the fact that the command information sent to the robot is applied at a time difference and that the information sent from the robot arrives at the brain server with a delay in the control command.

본 발명은 로봇에 대한 원격 제어 방법 및 시스템을 제공하는 것이다. 보다 구체적으로 본 발명은, 로봇과 서버 간의 통신 지연을 고려하여 로봇을 제어할 수 있는 로봇 원격 제어 방법 및 시스템을 제공하는 것이다.The present invention provides a remote control method and system for a robot. More specifically, the present invention is to provide a robot remote control method and system capable of controlling the robot in consideration of the communication delay between the robot and the server.

나아가, 본 발명은 통신 지연을 고려하여 로봇의 이동 경로 상에 포함된 장애물을 안전하게 회피할 수 있도록 하는 로봇 원격 제어 방법 및 시스템을 제공하는 것이다. Furthermore, the present invention is to provide a robot remote control method and system that can safely avoid obstacles included in the movement path of the robot in consideration of communication delay.

위에서 살펴본 과제를 해결하기 위하여 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 방법은 상기 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계 및 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 방법을 제공한다. In order to solve the problems described above, a method for remotely controlling a robot through communication between a robot and a server includes calculating a communication delay time between the robot and the server based on time information transmitted and received between the robot and the server, the communication Generating a control command related to driving of the robot based on a delay time and transmitting the control command to the robot so that the robot travels according to the control command, wherein the control command causes the robot to It provides a robot remote control method characterized in that it is generated based on the expected position of the robot at the time of receiving a control command.

또한, 본 발명에 따른 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 시스템은, 로봇과 데이터를 송수신하도록 이루어지는 통신부 및 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하고, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하고, 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 제어부를 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 한다.In addition, a system for remotely controlling a robot through communication between a robot and a server according to the present invention delays communication between the robot and the server based on a communication unit configured to transmit and receive data to and from the robot and time information transmitted and received between the robot and the server. a control unit that calculates time, generates a control command related to driving of the robot based on the communication delay time, and transmits the control command to the robot so that the robot travels according to the control command; The command is characterized in that it is generated based on the expected position of the robot at the time when the robot receives the control command.

나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계 및 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 수행하도록 하는 명령어들을 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성될 수 있다.Furthermore, the program, which is executed by one or more processes in the electronic device according to the present invention and can be stored in a computer-readable recording medium, delays communication between the robot and the server based on time information transmitted and received between the robot and the server. Calculating time, generating a control command related to driving of the robot based on the communication delay time, and transmitting the control command to the robot so that the robot travels according to the control command It includes instructions, and the control command may be generated based on an expected position of the robot at a time when the robot receives the control command.

위에서 살펴본 것과 같이, 본 발명에 따른 로봇 원격 제어 방법 및 시스템은, 로봇과 서버 간의 통신 지연 시간에 기반하여 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치를 산출하고, 산출된 예상 위치에 기반하여 로봇에 대한 주행 제어를 수행할 수 있게 된다. 이를 통해, 본 발명은 통신 지연을 고려한 선제적인 예측 제어를 수행할 수 있게 된다.As described above, the robot remote control method and system according to the present invention calculates the expected position of the robot at the time when the robot receives a control command based on the communication delay time between the robot and the server, and moves to the calculated expected position. Based on this, it is possible to perform driving control for the robot. Through this, the present invention can perform preemptive predictive control in consideration of communication delay.

나아가, 본 발명은 통신 지연 시간에 기반하여 장애물에 대한 안전 영역을 설정함으로써, 로봇과 서버 간의 통신 지연에 따른 불확실성을 해소할 수 있게 된다. Furthermore, the present invention can solve the uncertainty due to the communication delay between the robot and the server by setting a safe area for obstacles based on the communication delay time.

또한, 본 발명은 장애물의 특징을 고려한 안전 영역을 설정함으로써, 통신 지연으로 인하여 로봇이 장애물의 상태 변화에 곧바로 대처할 수 없는 상황에서도, 로봇이 장애물과 충돌하지 않고 안전하게 주행하도록 할 수 있다. In addition, the present invention sets a safety area considering the characteristics of the obstacle, so that the robot can drive safely without colliding with the obstacle even in a situation where the robot cannot immediately cope with changes in the state of the obstacle due to communication delay.

도 1 및 도 2는 본 발명에 따른 로봇 주행 제어 방법 및 시스템을 설명하기 위한 개념도들이다.
도 3은 본 발명에 따른 로봇 주행 제어 방법을 설명하기 위한 흐름도이다.
도 4a, 4b는 본 발명의 일 실시 예에 따른 통신 지연 시간 산출방법을 나타내는 개념도이다.
도 5는 본 발명에 따른 로봇 원격 제어 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시 예에 따라 로봇이 장애물을 회피하는 모습을 나타내는 개념도이다.
도 7은 로봇이 안전 영역 내로 진입하였을 때, 로봇의 주행을 나타내는 개념도이다.
도 8a, 8b 및 9는 장애물의 종류 및 이동 상태에 따라 안전 영역의 크기 및 형태를 다르게 설정하는 일 실시 예를 나타내는 개념도이다.
1 and 2 are conceptual diagrams for explaining a robot driving control method and system according to the present invention.
3 is a flowchart for explaining a robot driving control method according to the present invention.
4a and 4b are conceptual diagrams illustrating a communication delay time calculation method according to an embodiment of the present invention.
5 is a conceptual diagram for explaining a robot remote control method according to the present invention.
6 is a conceptual diagram illustrating how a robot avoids an obstacle according to an embodiment of the present invention.
7 is a conceptual diagram illustrating driving of a robot when the robot enters a safe area.
8A, 8B, and 9 are conceptual diagrams illustrating an embodiment in which the size and shape of a safety area are set differently according to the type of obstacle and the moving state.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, the embodiments disclosed in this specification will be described in detail with reference to the accompanying drawings, but the same reference numerals will be assigned to the same or similar components regardless of reference numerals, and overlapping descriptions thereof will be omitted. The suffixes "module" and "unit" for components used in the following description are given or used together in consideration of ease of writing the specification, and do not have meanings or roles that are distinct from each other by themselves. In addition, in describing the embodiments disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the embodiment disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, the technical idea disclosed in this specification is not limited by the accompanying drawings, and all changes included in the spirit and technical scope of the present invention , it should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms including ordinal numbers, such as first and second, may be used to describe various components, but the components are not limited by the terms. These terms are only used for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when an element is referred to as “directly connected” or “directly connected” to another element, it should be understood that no other element exists in the middle.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, terms such as "comprise" or "have" are intended to designate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, but one or more other features It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.

본 발명은 로봇에 대한 주행 제어 방법 및 시스템을 제공하는 것으로서, 보다 구체적으로, 통신 지연을 고려하여 로봇의 주행을 제어할 수 있는 방법 및 시스템을 제공하는 것이다. 이하에서는, 첨부된 도면과 함께, 로봇(robot) 주행 제어 시스템에 대하여 살펴보도록 한다. 도 1 및 도 2는 본 발명에 따른 로봇 주행 제어 방법 및 시스템을 설명하기 위한 개념도들이다.The present invention provides a driving control method and system for a robot, and more specifically, provides a method and system capable of controlling the driving of a robot in consideration of communication delay. Hereinafter, together with the accompanying drawings, a robot driving control system will be reviewed. 1 and 2 are conceptual diagrams for explaining a robot driving control method and system according to the present invention.

예를 들어, 도 1에 도시된 것과 같이, 기술이 발전함에 따라 로봇의 활용도는 점차적으로 높아지고 있다. 종래 로봇은 특수한 산업분야(예를 들어, 산업 자동화 관련 분야)에서 활용되었으나, 점차적으로 인간이나 설비를 위해 유용한 작업을 수행할 수 있는 서비스 로봇으로 변모하고 있다.For example, as shown in FIG. 1 , as technology develops, utilization of robots is gradually increasing. Conventional robots have been utilized in special industrial fields (eg, industrial automation related fields), but are gradually transforming into service robots capable of performing useful tasks for humans or facilities.

이와 같이 다양한 서비스를 제공할 수 있는 로봇은, 부여된 임무를 수행하기 위하여 도 1에 도시된 것과 같은 공간(10)을 주행하도록 이루어질 수 있다. 로봇이 주행하는 공간의 종류에는 제한이 없으며, 필요에 따라 실내 공간 및 실외 공간 중 적어도 하나를 주행하도록 이루어 질 수 있다. 예를 들어, 실내 공간은 백화점, 공항, 호텔, 학교, 빌딩, 지하철역, 기차역, 서점 등과 같이 다양한 공간일 수 있다. 로봇은, 이와 같이, 다양한 공간에 배치되어 인간에게 유용한 서비스를 제공하도록 이루어질 수 있다.A robot capable of providing various services as described above may be configured to travel in a space 10 as shown in FIG. 1 in order to perform assigned tasks. The type of space in which the robot travels is not limited, and may be made to travel in at least one of an indoor space and an outdoor space as needed. For example, the indoor space may be various spaces such as a department store, an airport, a hotel, a school, a building, a subway station, a train station, and a bookstore. As such, the robot may be arranged in various spaces to provide useful services to humans.

한편, 로봇을 이용하여 다양한 서비스를 제공하기 위해서는, 로봇을 정확하게 제어하는 것이 매우 중요한 요소이다. 이에, 본 발명은 공간에 배치된 카메라를 함께 이용하여 로봇을 원격으로 보다 정확하게 제어할 수 있는 방법에 대하여 제안한다.Meanwhile, in order to provide various services using a robot, it is very important to accurately control the robot. Accordingly, the present invention proposes a method for more accurately controlling a robot remotely by using a camera disposed in space together.

도 1에 도시된 것과 같이, 로봇이 위치한 공간(10)에는 카메라(20)가 배치될 수 있다. 도시와 같이, 공간(10)에 배치된 카메라(20)의 수는 그 제한이 없다. 도시와 같이, 공간(10)에는 복수개의 카메라들(20a, 20b)이 배치될 수 있다. 공간(10)에 배치된 카메라(20)의 종류는 다양할 수 있으며, 본 발명에서는 특히 공간에 배치된 CCTV(closed circuit television)를 활용할 수 있다.As shown in FIG. 1 , a camera 20 may be disposed in the space 10 where the robot is located. As shown, the number of cameras 20 disposed in the space 10 is not limited. As illustrated, a plurality of cameras 20a and 20b may be disposed in the space 10 . The types of cameras 20 disposed in the space 10 may vary, and in the present invention, a CCTV (closed circuit television) disposed in the space may be particularly utilized.

도 2에 도시된 것과 같이, 본 발명에 의하면 로봇 원격 제어 시스템(300)에서, 로봇(100)을 원격으로 관리하고, 제어할 수 있다. As shown in FIG. 2 , in the robot remote control system 300 according to the present invention, the robot 100 can be remotely managed and controlled.

본 발명에 따른 로봇 원격 제어 시스템(300)은 공간(10)에 배치된 카메라(20, 예를 들어, CCTV)에서 수신되는 영상, 로봇으로부터 수신되는 영상, 로봇에 구비된 센서로부터 수신되는 정보 및 공간에 구비된 다양한 센서로부터 수신되는 정보 중 적어도 하나를 활용하여, 로봇의 주행을 제어하거나, 로봇에 대한 적절한 제어를 수행할 수 있다. The robot remote control system 300 according to the present invention is an image received from a camera 20 (eg, CCTV) disposed in the space 10, an image received from the robot, information received from a sensor provided in the robot, and Using at least one of information received from various sensors provided in the space, driving of the robot may be controlled or appropriate control of the robot may be performed.

도 2에 도시된 것과 같이, 본 발명에 따른 로봇 원격 제어 시스템(300)은, 통신부(310), 저장부(320), 디스플레이부(330), 입력부(340) 및 제어부(350) 중 적어도 하나를 포함할 수 있다.As shown in FIG. 2, the robot remote control system 300 according to the present invention includes at least one of a communication unit 310, a storage unit 320, a display unit 330, an input unit 340, and a control unit 350. can include

통신부(310)는, 공간(10)에 배치된 다양한 디바이스와 유선 또는 무선으로 통신하도록 이루어질 수 있다. 통신부(310)는 도시와 같이 로봇(100)과 통신할 수 있다. 통신부(310)는 로봇(100)과의 통신을 통해, 로봇(100)에 구비된 카메라로부터 촬영되는 영상을 수신하도록 이루어질 수 있다.The communication unit 310 may communicate with various devices disposed in the space 10 by wire or wirelessly. The communication unit 310 may communicate with the robot 100 as shown. The communication unit 310 may be configured to receive an image taken from a camera provided in the robot 100 through communication with the robot 100 .

나아가, 통신부(310)는 적어도 하나의 외부 서버(또는 외부 저장소, 200)와 통신하도록 이루어질 수 있다. 여기에서, 외부 서버(200)는, 도시된 것과 같이, 클라우드 서버(210) 또는 데이터베이스(220) 중 적어도 하나를 포함하도록 구성될 수 있다. 한편, 외부 서버(200)에서는, 제어부(350)의 적어도 일부의 역할을 수행하도록 구성될 수 있다. 즉, 데이터 처리 또는 데이터 연산 등의 수행은 외부 서버(200)에서 이루어지는 것이 가능하며, 본 발명에서는 이러한 방식에 대한 특별한 제한을 두지 않는다.Furthermore, the communication unit 310 may be configured to communicate with at least one external server (or external storage, 200). Here, the external server 200, as shown, may be configured to include at least one of a cloud server 210 and a database 220. Meanwhile, in the external server 200, it may be configured to perform at least a part of the role of the control unit 350. That is, data processing or data calculation can be performed in the external server 200, and the present invention does not place any particular limitation on this method.

한편, 통신부(310)는 통신하는 디바이스의 통신 규격에 따라 다양한 통신 방식을 지원할 수 있다.Meanwhile, the communication unit 310 may support various communication methods according to communication standards of communicating devices.

예를 들어, 통신부(310)는, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G(5th Generation Mobile Telecommunication ), 블루투스(Bluetooth™RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra-Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 공간(20) 내외에 위치한 디바이스(클라우드 서버 포함)와 통신하도록 이루어질 수 있다.For example, the communication unit 310 may include Wireless LAN (WLAN), Wireless-Fidelity (Wi-Fi), Wireless Fidelity (Wi-Fi) Direct, Digital Living Network Alliance (DLNA), Wireless Broadband (WiBro), WiMAX ( World Interoperability for Microwave Access), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced), 5G(5th Generation Mobile Telecommunication ) , Bluetooth (Bluetooth™RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra-Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi Direct, Wireless USB (Wireless Universal Serial Bus) ) technology, it may be made to communicate with a device (including a cloud server) located inside or outside the space 20 .

다음으로 저장부(320)는, 본 발명과 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(320)는 로봇 원격 제어 시스템(300) 자체에 구비될 수 있다. 이와 다르게, 저장부(320)의 적어도 일부는, 클라우드 서버(210) 및 데이터베이스(220) 중 적어도 하나를 의미할 수 있다. 즉, 저장부(320)는 본 발명에 따른 로봇 관제를 위하여 필요한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. 이에, 이하에서는, 저장부(320), 클라우드 서버(210) 및 데이터베이스(220)를 별도로 구분하지 않고, 모두 저장부(320)라고 표현하도록 한다. 이때, 클라우드 서버(210)는 “클라우드 저장소”를 의미할 수 있다. Next, the storage unit 320 may be configured to store various information related to the present invention. In the present invention, the storage unit 320 may be provided in the robot remote control system 300 itself. Alternatively, at least a portion of the storage unit 320 may mean at least one of the cloud server 210 and the database 220 . That is, it can be understood that the storage unit 320 suffices as long as it is a space for storing necessary information for robot control according to the present invention, and there is no restriction on physical space. Therefore, hereinafter, the storage unit 320, the cloud server 210, and the database 220 are not separately distinguished, and are all expressed as the storage unit 320. At this time, the cloud server 210 may mean "cloud storage".

먼저, 저장부(320)에는, 로봇(100)에 대한 정보가 저장될 수 있다.First, information about the robot 100 may be stored in the storage unit 320 .

로봇(100)에 대한 정보는 매우 다양할 수 있으며, 로봇(100)에 대한 정보는 일 예로서, i)공간(10)에 배치된 로봇(100)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii)로봇(100)에 부여된 임무 정보, iii)로봇(100)에 설정된 주행 경로 정보, iv)로봇(100)의 위치 정보, v)로봇(100)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 배터리 상태 등), vi)로봇(100)에 구비된 카메라로부터 수신된 영상 정보 등이 존재할 수 있다.The information on the robot 100 can be very diverse, and the information on the robot 100 is, for example, i) identification information for identifying the robot 100 disposed in the space 10 (eg, serial number, TAG information, QR code information, etc.), ii) mission information assigned to the robot 100, iii) driving route information set in the robot 100, iv) location information of the robot 100, v) robot ( 100) state information (eg, power state, failure, battery state, etc.), vi) image information received from a camera provided in the robot 100, and the like may exist.

다음으로 저장부(320)에는, 공간(10)에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 여기에서, 지도는, 2차원 또는 3차원 지도 중 적어도 하나로 이루어 질 수 있다. 공간(10)에 대한 지도는 로봇(100)위 현재 위치를 파악하거나, 로봇의 주행 경로를 설정하는데 활용될 수 있는 지도를 의미할 수 있다. Next, a map (or map information) for the space 10 may be stored in the storage unit 320 . Here, the map may include at least one of a 2D map and a 3D map. The map of the space 10 may mean a map that can be used to determine the current location on the robot 100 or to set a driving route of the robot.

특히, 본 발명에 따른 로봇 원격 제어 시스템(300)에서는, 로봇(100)에서 수신되는 영상 또는 로봇(100)으로부터 수신되는 정보를 기반으로 로봇(100)의 위치를 파악할 수 있다. 이를 위하여, 저장부(320)에 저장된 공간(10)에 대한 지도는 영상 또는 센싱 정보에 기반하여 위치를 추정할 수 있도록 하는 데이터로 구성될 수 있다.In particular, in the robot remote control system 300 according to the present invention, the location of the robot 100 can be determined based on an image received from the robot 100 or information received from the robot 100 . To this end, the map of the space 10 stored in the storage unit 320 may be composed of data allowing a location to be estimated based on images or sensing information.

이때, 공간(10)에 대한 지도는 사전에 공간(10)을 이동하는 적어도 하나의 로봇에 의해, SLAM(Simultaneous Localization and Mapping)에 기반하여 작성된 지도일 수 있다. In this case, the map of the space 10 may be a map prepared based on Simultaneous Localization and Mapping (SLAM) by at least one robot moving the space 10 in advance.

한편, 위에서 열거한 정보의 종류 외에도 저장부(320)에는 다양한 정보가 저장될 수 있다.Meanwhile, various types of information may be stored in the storage unit 320 in addition to the types of information listed above.

다음으로 디스플레이부(330)는 로봇(100)에 구비된 카메라 및 공간(10)에 배치된 카메라(20) 중 적어도 하나로부터 수신되는 영상을 출력하도록 이루어질 수 있다. 디스플레이부(330)는 로봇(100)을 원격으로 관리하는 관리자의 디바이스에 구비된 것으로서, 도 2에 도시된 것과 같이, 원격 관제실(300a)에 구비될 수 있다. 나아가, 이와 다르게, 디스플레이부(330)는 모바일 디바이스에 구비된 디스플레이일 수 있다. 이와 같이, 본 발명에서는 디스플레이부의 종류에 대해서는 제한을 두지 않는다.Next, the display unit 330 may output an image received from at least one of a camera provided in the robot 100 and a camera 20 disposed in the space 10 . The display unit 330 is provided in a manager's device that remotely manages the robot 100, and as shown in FIG. 2, it may be provided in the remote control room 300a. Furthermore, differently from this, the display unit 330 may be a display provided in a mobile device. As such, in the present invention, there is no limitation on the type of display unit.

다음으로, 입력부(340)는 사용자(또는 관리자)로부터 입력되는 정보의 입력을 위한 것으로서, 입력부(340)는 사용자(또는 관리자)와 로봇 원격 제어 시스템(300) 사이의 매개체가 될 수 있다. 보다 구체적으로, 입력부(340)는 사용자로부터 로봇(100)을 제어하기 위한 제어 명령을 수신하는 입력 수단을 의미할 수 있다.Next, the input unit 340 is for inputting information input from a user (or manager), and the input unit 340 may be a medium between the user (or manager) and the robot remote control system 300. More specifically, the input unit 340 may refer to an input means for receiving a control command for controlling the robot 100 from a user.

이때, 입력부(340)의 종류에는 특별한 제한이 없으며, 입력부(340)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 마우스(mouse), 조이스틱(joy stic), 물리적인 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단 중 적어도 하나를 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다. 이때, 입력부(340)가 터치 스크린을 포함하는 경우, 디스플레이부(330)는 터치 스크린으로 이루어 질 수 있다. 이 경우, 디스플레이부(330)는 정보를 출력하는 역할과, 정보를 입력받는 역할을 모두 수행할 수 있다.At this time, there is no particular limitation on the type of the input unit 340, and the input unit 340 may be a mechanical input means (or a mechanical key, for example, a mouse, a joy stick, a physical button, It may include at least one of a dome switch, a jog wheel, a jog switch, etc.) and a touch input means. As an example, the touch input means consists of a virtual key, soft key, or visual key displayed on a touch screen through software processing, or a part other than the touch screen. It can be made of a touch key (touch key) disposed on. On the other hand, the virtual key or visual key can be displayed on the touch screen while having various forms, for example, graphic (graphic), text (text), icon (icon), video (video) or these can be made of a combination of In this case, when the input unit 340 includes a touch screen, the display unit 330 may be made of a touch screen. In this case, the display unit 330 may perform both a role of outputting information and a role of receiving information.

다음으로 제어부(350)는 본 발명과 관련된 로봇 원격 제어 시스템(300)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(350)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.Next, the control unit 350 may be configured to control the overall operation of the robot remote control system 300 related to the present invention. The control unit 350 may process signals, data, information, etc. input or output through the components described above, or provide or process appropriate information or functions to the user.

한편, 위의 설명에서는, 제어부(350)에서 로봇(100)의 위치를 추정하는 예에 대하여 설명하였으나, 본 발명은 이에 한정되지 않는다. 즉, 로봇(100)의 위치 추정은 로봇(100) 자체에서 이루어질 수 있다. 즉, 로봇(100)은 로봇(100) 자체에서 수신되는 영상에 근거하여, 앞서 살펴본 방식으로 현재 위치를 추정할 수 있다. 그리고, 로봇(100)은, 추정된 위치 정보를 제어부(350)에 전송할 수 있다. 이 경우, 제어부(350)는 로봇으로부터 수신되는 위치 정보에 기반하여, 일련의 제어를 수행할 수 있다.Meanwhile, in the above description, an example of estimating the position of the robot 100 in the control unit 350 has been described, but the present invention is not limited thereto. That is, position estimation of the robot 100 may be performed by the robot 100 itself. That is, the robot 100 may estimate the current position based on the image received from the robot 100 itself in the manner described above. And, the robot 100 may transmit the estimated location information to the control unit 350 . In this case, the controller 350 may perform a series of controls based on location information received from the robot.

한편, 위에서 살펴본 것과 같이, 본 발명은 저장부(320)에 기 저장된 지도 정보를 이용하여, 공간 내에서 로봇의 이동 경로를 설정할 수 있다. 제어부(350)는 로봇(100)이 현재 위치로부터, 특정 목적지까지 이동하도록 제어할 수 있다. 구체적으로, 본 발명은 로봇의 현재 위치 정보와 목적지 위치 정보를 특정하고, 목적지에 도달하는 경로를 설정하여, 로봇이 설정된 경로에 따라 이동하여 목적지에 도달할 수 있도록 제어한다.Meanwhile, as described above, the present invention may set a movement path of the robot within a space using map information pre-stored in the storage unit 320 . The controller 350 may control the robot 100 to move from the current location to a specific destination. Specifically, the present invention specifies the current location information and the destination location information of the robot, sets a route to reach the destination, and controls the robot to reach the destination by moving along the set route.

이때, 로봇이 목적지로 이동하도록 하기 위한 제어는 로봇 원격 제어 시스템(300)(이하, 서버라 함)을 통해 이루어질 수 있다. 구체적으로, 서버는 로봇의 위치를 모니터링하고, 모니터링된 로봇의 위치에 기반하여 로봇의 주행과 관련된 주행 정보를 생성한다. At this time, control for moving the robot to the destination may be performed through the robot remote control system 300 (hereinafter, referred to as a server). Specifically, the server monitors the position of the robot and generates driving information related to driving of the robot based on the monitored position of the robot.

서버는 일정 시간 간격으로 주행 정보를 로봇으로 전송하고, 로봇은 주행 정보에 포함된 정보에 기반하여 공간 내에서 주행을 한다. The server transmits driving information to the robot at regular time intervals, and the robot drives in space based on the information included in the driving information.

주행 정보는 로봇이 주행 정보를 수신한 후, 다음 주행 정보를 수신할 때까지 로봇의 주행과 관련된 정보를 포함한다. 구체적으로, 주행 정보는 로봇의 이동 속도, 이동 방향 및 이동 거리 중 적어도 하나와 관련된 정보를 포함한다. 로봇은 주행 정보를 수신하면, 주행 정보에 기반하여 이동 속도, 이동 방향 및 이동 거리 중 적어도 하나를 제어하여 주행한다. The driving information includes information related to driving of the robot after receiving driving information until the next driving information is received by the robot. Specifically, the driving information includes information related to at least one of a moving speed, a moving direction, and a moving distance of the robot. Upon receiving driving information, the robot drives by controlling at least one of a moving speed, a moving direction, and a moving distance based on the driving information.

일 실시 예에 있어서, 주행 정보는 1초마다 로봇으로 전송되며, 로봇으로 전송된 제1주행 정보는 제1방향으로 1m/s로 주행할 것을 정의한다. 로봇으로 전송된 제2주행 정보는 제2방향으로 2m/s로 0.5초간 주행할 것을 정의한다. 로봇이 제1주행 정보를 수신한 시점부터 제2주행 정보를 수신한 시점까지 로봇은 제1방향으로 1m주행한다. 이후, 제2주행 정보를 수신한 시점부터 로봇은 제2방향으로 1m 주행한 후 정지한다. 다만, 상기 주행 정보를 전송하는 주기는 설명의 편의를 위한 것으로, 실제 주행 정보 전송 주기는 0.1초 이하일 수 있다.In one embodiment, the driving information is transmitted to the robot every second, and the first driving information transmitted to the robot defines traveling at 1 m/s in the first direction. The second traveling information transmitted to the robot defines traveling for 0.5 seconds at 2 m/s in the second direction. From the time the robot receives the first travel information to the time it receives the second travel information, the robot travels 1 m in the first direction. Thereafter, from the time point at which the second driving information is received, the robot travels 1 m in the second direction and then stops. However, the driving information transmission period is for convenience of explanation, and the actual driving information transmission period may be 0.1 second or less.

서버는 주기적으로 로봇으로 주행 정보를 전송함으로써, 로봇이 기 설정된 이동 경로를 따라 주행하여 목적지에 도달할 수 있도록 한다. 본 명세서에서 로봇으로 전송되는 제어명령은 상술한 주행 정보를 포함할 수 있다.The server periodically transmits driving information to the robot so that the robot can reach a destination by driving along a predetermined movement path. In this specification, the control command transmitted to the robot may include the aforementioned driving information.

한편, 서버는 로봇에 포함된 적어도 하나의 센서로부터 센싱된 정보 및 로봇에 포함된 카메라로 촬영된 영상 정보 중 적어도 하나를 수신하여, 로봇에 대한 주행 정보를 생성한다.Meanwhile, the server receives at least one of information sensed by at least one sensor included in the robot and image information captured by a camera included in the robot, and generates driving information for the robot.

예를 들어, 서버가 로봇으로부터 로봇의 이동 경로 상에 배치된 장애물에 대한 센싱 정보를 수신하는 경우, 서버는 로봇이 상기 장애물을 회피하도록 하는 주행 정보를 생성한다.For example, when the server receives sensing information about an obstacle disposed on the robot's moving path from the robot, the server generates driving information that allows the robot to avoid the obstacle.

상술한 바와 같이, 로봇은 로봇에서 수집된 센싱 정보 또는 영상 정보를 서버로 전송하고, 서버는 로봇으로부터 수신된 정보에 기반하여 주행 정보를 생성한 후 로봇으로 전송한다. As described above, the robot transmits the sensing information or image information collected by the robot to the server, and the server generates driving information based on the information received from the robot and transmits it to the robot.

여기서, 서버와 로봇 간의 데이터 송수신 시 통신 지연이 발생될 수 있다. 상술한 서버가 로봇의 주행을 직접적으로 제어하는 경우, 서버와 로봇 간의 통신 지연은 로봇의 주행 제어를 어렵게 한다.Here, communication delay may occur when data is transmitted and received between the server and the robot. When the above-described server directly controls the driving of the robot, communication delay between the server and the robot makes it difficult to control the driving of the robot.

예를 들어, 로봇으로부터 수신된 정보에 기반하여 로봇의 현재 위치를 모니터링하는 경우, 통신 지연에 의해 로봇이 서버로 정보를 전송한 시점과 서버가 정보를 수신한 시점이 다르게 된다. 이로 인하여, 로봇으로부터 수신된 정보에 기반하여 로봇의 현재 위치를 산출할 경우, 산출된 위치는 통신 지연만큼 과거의 로봇의 위치에 해당하게 된다.For example, when monitoring the current position of the robot based on information received from the robot, the time when the robot transmits information to the server and the time when the server receives the information are different due to communication delay. Due to this, when the current position of the robot is calculated based on the information received from the robot, the calculated position corresponds to the position of the robot in the past by the communication delay.

다른 예를 들어, 서버는 모니터링된 로봇의 위치를 기준으로 주행 정보를 생성하고, 생성된 주행 정보를 로봇으로 전송한다. 통신 지연에 의해 서버가 로봇으로 주행 정보를 전송한 시점과 로봇이 주행 정보를 수신한 시점이 다르게 된다. 이로 인하여, 로봇은 서버가 주행 정보를 전송하는 시점의 위치와 다른 위치에서 주행 정보에 따른 주행을 하게 된다.For another example, the server generates driving information based on the position of the monitored robot and transmits the generated driving information to the robot. Due to communication delay, the time when the server transmits the driving information to the robot and the time when the robot receives the driving information are different. Due to this, the robot travels according to the driving information at a location different from the location at the time the server transmits the driving information.

본 발명은 서버와 로봇 간의 통신 지연 시간을 고려한 로봇의 주행 제어 방법을 제공한다. 이하, 통신 지연 시간을 고려한 로봇의 원격 제어 방법에 대하여 구체적으로 설명한다.The present invention provides a robot driving control method considering communication delay time between a server and a robot. Hereinafter, a method for remote control of a robot considering communication delay time will be described in detail.

도 3은 본 발명에 따른 로봇 원격 제어 방법을 설명하기 위한 흐름도이고, 도 4a, 4b는 본 발명의 일 실시 예에 따른 통신 지연 시간 산출방법을 나타내는 개념도이고, 도 5는 본 발명에 따른 로봇 원격 제어 방법을 설명하기 위한 개념도이다.3 is a flowchart for explaining a robot remote control method according to the present invention, FIGS. 4a and 4b are conceptual diagrams showing a communication delay time calculation method according to an embodiment of the present invention, and FIG. 5 is a robot remote control method according to the present invention. It is a conceptual diagram for explaining the control method.

도 3을 참조하면, 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 로봇과 서버 간의 통신 지연 시간을 산출하는 단계가 수행된다(S110). Referring to FIG. 3 , a step of calculating a communication delay time between the robot and the server based on time information transmitted and received between the robot and the server is performed (S110).

통신 지연 시간은 로봇 및 서버 간의 시간 정보를 포함하는 메시지를 송수신하고, 메시지에 포함된 시간 정보를 이용하여 산출될 수 있다.The communication delay time may be calculated by transmitting/receiving a message including time information between the robot and the server and using the time information included in the message.

여기서, 시간 정보란 기준 시간체계를 기준으로 특정 시점에 대한 정보를 정의하는 것이다. 예를 들어, 시간 정보는 메시지를 수신하는 시점에 관한 정보이거나, 메시지를 전송하는 시점에 관한 정보를 포함할 수 있다. 다만, 이에 한정되지 않고, 시간 정보는 다양한 시점에 관한 정보를 포함할 수 있다.Here, the time information is information about a specific point in time based on the reference time system. For example, the time information may include information about when a message is received or information about when a message is transmitted. However, it is not limited thereto, and the time information may include information about various viewpoints.

여기에서, 기준 시간체계는, 다양할 수 있으며 예를 들어, 만국 표준시(UT, Universal Time), 협정세계시(UTC, Coordinated Universal Time), 대한민국 표준시(KST, Korea Standard Time), 그리니치 평균시(GMT, Greenwich Mean Time), 유닉스 시간(Unix time) 및 GPS 시간(GPS Time) 중 적어도 하나일 수 있다. 또한, 기준 시간체계는 위에서 열거한 예들 외에도, 다양한 다른 예들이 존재할 수 있다.Here, the reference time system may vary, and for example, Universal Time (UT), Coordinated Universal Time (UTC), Korea Standard Time (KST), Greenwich Mean Time ( It may be at least one of GMT, Greenwich Mean Time), Unix time, and GPS time. In addition, various other examples other than the examples listed above may exist as the reference time system.

한편, 통신 지연 시간은 서버 또는 로봇에서 산출될 수 있다. 본 명세서에서는 통신 지연 시간을 산출하는 주체를 별도로 한정하지 않는다. Meanwhile, the communication delay time may be calculated by a server or a robot. In this specification, a subject calculating the communication delay time is not specifically limited.

일 실시 예에 있어서, 도 4a를 참조하면, 통신 지연 시간은 로봇에서 산출될 수 있다. 구체적으로, 서버가 로봇으로부터 시간 정보가 포함된 제1메시지를 수신하는 단계, 서버가 로봇으로 상기 제1메시지에 대응되는 제2메시지를 전송하는 단계가 수행될 수 있다.In one embodiment, referring to FIG. 4A , the communication delay time may be calculated by the robot. Specifically, the step of receiving the first message including time information from the robot by the server and the step of transmitting the second message corresponding to the first message by the server to the robot may be performed.

제1메시지는 로봇이 제1메시지를 전송하는 시점(t1)에 대한 시간 정보를 포함한다. 제2메시지는 제1메시지를 전송하는 시점(t1) 및 서버가 제1메시지를 수신한 시점부터 제2메시지를 생성해서 전송하기까지 걸린 시간(tp)과 관련된 시간 정보를 포함할 수 있다. The first message includes time information about the point in time t1 at which the robot transmits the first message. The second message may include time information related to a time t1 when the first message is transmitted and a time tp taken from when the server receives the first message to generating and transmitting the second message.

일 실시 예에 있어서, 제2메시지는 서버가 제1메시지를 전송하는 시점(t1)에 관한 정보, 상기 제1메시지를 수신한 시점부터 상기 로봇과 관련된 제어명령을 생성하고, 상기 제어명령을 포함하는 제2메시지를 전송하기까지 소요된 시간 정보(tp)를 포함할 수 있다. 다만, 상기 제2메시지가 반드시 제어명령을 포함할 필요는 없다. 상기 제2메시지가 지연시간을 측정하기 위한 용도로 활용되는 메시지인 경우, 상기 제2메시지는 제어명령과 관련된 정보는 포함하지 않을 수 있다. In one embodiment, the second message generates a control command related to the robot from the information on the time point (t1) when the server transmits the first message, the time point of receiving the first message, and includes the control command It may include time information (tp) required until the second message to be transmitted. However, the second message does not necessarily include a control command. When the second message is a message used for measuring a delay time, the second message may not include information related to a control command.

로봇이 제2메시지를 수신하는 경우, 로봇은 제2메시지를 수신한 시점(t2)에 대한 시간 정보, 제2메시지에 포함된 시간 정보 및 제1메시지에 포함된 시간 정보를 이용하여 통신 지연시간을 산출한다. When the robot receives the second message, the robot uses the time information for the time point (t2) at which the second message is received, the time information included in the second message, and the time information included in the first message to determine the communication delay time. yields

구체적으로, 로봇이 제2메시지를 수신한 시점(t2)과 로봇이 제1메시지를 전송한 시점(t1)간의 시간 간격은 서버에서 로봇과 관련된 제어를 수행하기 위해 소요된 시간(tp) 및 두 번의 데이터 전송에 따른 통신 지연 시간을 포함한다. 통신 지연 시간(tlatency1)은 하기 수학식 1과 같이 산출될 수 있다.Specifically, the time interval between the time when the robot receives the second message (t2) and the time when the robot transmits the first message (t1) is the time (tp) required for the server to perform control related to the robot and the two It includes the communication delay time according to the number of data transmissions. The communication delay time (t latency1 ) can be calculated as in Equation 1 below.

[수학식 1][Equation 1]

tlatency1 = (t2 - t1 - tp)/2t latency1 = (t2 - t1 - tp)/2

상기 수학식 1을 참조하면 상기 통신 지연 시간은 상기 제1메시지 송수신 시 발생된 지연 시간 및 상기 제2메시지 송수신 시 발생된 지연 시간의 평균값이다. Referring to Equation 1, the communication delay time is an average value of a delay time generated when transmitting and receiving the first message and a delay time generated when transmitting and receiving the second message.

로봇에서 통신 지연 시간 산출이 완료되면, 로봇은 서버로 통신 지연 시간을 포함하는 제3 메시지를 전송한다. 이를 통해, 서버는 로봇과 서버 간의 통신 지연 시간을 로봇에 관한 제어명령을 생성하는데 활용할 수 있다.When the calculation of the communication delay time is completed in the robot, the robot transmits a third message including the communication delay time to the server. Through this, the server can utilize the communication delay time between the robot and the server to generate a control command for the robot.

한편, 로봇은 별도의 시간 정보를 포함하는 메시지를 생성하여 서버로 전송하거나, 로봇이 서버로 주기적으로 전송하는 특정 정보에 시간 정보를 포함시켜 전송할 수 있다.Meanwhile, the robot may generate a message including separate time information and transmit the message to the server, or may include time information in specific information periodically transmitted by the robot to the server and transmit the message.

예를 들어, 로봇은 로봇에 포함된 센서로부터 센싱된 센싱 정보를 주기적으로 서버로 전송한다. 이때, 상기 센싱 정보에 별도의 채널을 형성하여, 시간 정보가 포함되도록 할 수 있다.For example, the robot periodically transmits sensing information sensed by a sensor included in the robot to a server. In this case, a separate channel may be formed in the sensing information so that time information may be included.

다른 일 실시 예에 있어서, 도 4b를 참조하면, 통신 지연 시간은 서버에서 산출될 수 있다. 구체적으로, 서버가 로봇으로 시간 정보가 포함된 제1메시지를 전송하는 단계, 서버가 로봇으로부터 상기 제1메시지에 대응되는 제2메시지를 수신하는 단계가 수행될 수 있다.In another embodiment, referring to FIG. 4B , the communication delay time may be calculated by the server. Specifically, the step of transmitting the first message including time information by the server to the robot, and the step of the server receiving the second message corresponding to the first message from the robot may be performed.

제1메시지는 서버가 제1메시지를 전송하는 시점(t1)에 대한 시간 정보를 포함한다. 제2메시지는 서버가 제1메시지를 전송한 시점(t1) 및 상기 제1메시지를 수신한 시점을 기준으로 로봇이 제2메시지를 전송하기까지 걸린 시간(tp1)과 관련된 시간 정보를 포함한다. The first message includes time information about the point in time t1 at which the server transmits the first message. The second message includes time information related to the time (t1) when the server transmits the first message and the time (tp1) taken by the robot to transmit the second message based on the time when the first message is received.

서버가 제2메시지를 수신하는 경우, 서버는 제2메시지를 수신한 시점(t2)에 대한 시간 정보, 제2메시지에 포함된 시간 정보 및 제1메시지에 포함된 시간 정보를 이용하여 통신 지연시간을 산출한다. When the server receives the second message, the server uses the time information for the time point t2 at which the second message is received, the time information included in the second message, and the time information included in the first message to determine the communication delay time. yields

구체적으로, 서버가 제2메시지를 수신한 시점(t2)과 서버가 제1메시지를 전송한 시점(t1)간의 시간 간격은 로봇에서 제1메시지에 대응되는 제2메시지를 전송하기 위해 소요된 시간(tp1) 및 두 번의 데이터 전송에 따른 통신 지연 시간을 포함한다. 통신 지연 시간(tlatency1)은 상기 수학식 1과 같이 산출될 수 있다.Specifically, the time interval between the time when the server receives the second message (t2) and the time when the server transmits the first message (t1) is the time required for the robot to transmit the second message corresponding to the first message. (tp1) and communication delay time according to two data transmissions. The communication delay time (t latency1 ) can be calculated as in Equation 1 above.

상기 통신 지연 시간을 활용하면, 로봇으로부터 수신된 정보가 어느 시점에 대한 정보인지, 로봇으로 제어 명령을 전송할 경우 어느 시점에 로봇이 제어명령을 수신하는 지 예상할 수 있게 된다. Utilizing the communication delay time, it is possible to predict at what point the information received from the robot is information and when a control command is transmitted to the robot, at what point the robot receives the control command.

한편, 통신 지연 시간은 복수의 다른 제어 대상 로봇들에서 산출된 통신 지연 시간을 기반으로 산출될 수 있다.Meanwhile, the communication delay time may be calculated based on the communication delay times calculated in a plurality of other robots to be controlled.

서버는 특정 로봇의 현재 위치에 대응되는 영역에 위치하는 다른 제어 대상 로봇으로부터 수신된 통신 지연 시간을 특정 로봇의 통신 지연 시간으로 활용하거나, 복수의 다른 제어 대상 로봇으로부터 수신된 통신 지연 시간의 평균 값을 특정 로봇의 통신 지연 시간으로 활용할 수 있다.The server utilizes the communication delay time received from other control target robots located in the area corresponding to the current position of the specific robot as the communication delay time of the specific robot, or the average value of the communication delay time received from a plurality of other control target robots. can be used as the communication delay time of a specific robot.

일 실시 예에 있어서, 서버는 동일한 구역에 위치한 복수의 로봇에 대한 통신 지연 시간에 기반하여 평균 통신 지연 시간을 산출할 수 있다. 구체적으로, 서버는 기 저장된 지도 정보를 복수의 구역으로 구분하고, 특정 구역에 위치하는 복수의 로봇의 통신 지연 시간의 평균 값을 특정 구역에 대한 대표 통신 지연 시간으로 설정할 수 있다. 상기 대표 통신 지연 시간은 기 설정된 시간마다 업데이트될 수 있다. 서버는 복수의 구역 각각에 대한 대표 통신 지연 시간을 설정하고, 특정 로봇이 특정 구역에 진입하는 경우, 특정 구역에 대응되는 대표 통신 지연 시간에 기반하여 제어명령을 생성할 수 있다.In one embodiment, the server may calculate an average communication delay time based on communication delay times for a plurality of robots located in the same area. Specifically, the server may divide pre-stored map information into a plurality of zones and set an average value of communication delay times of a plurality of robots located in a specific zone as a representative communication delay time for the specific zone. The representative communication delay time may be updated every preset time. The server may set a representative communication delay time for each of a plurality of zones, and when a specific robot enters a specific zone, a control command may be generated based on the representative communication delay time corresponding to the specific zone.

이를 통해, 본 발명은 제어 대상의 모든 로봇에 대한 통신 지연 시간을 산출하지 않고도, 통신 지연 시간을 제어 대상의 모든 로봇의 주행 제어에 활용할 수 있게 된다.Through this, the present invention can utilize the communication delay time for driving control of all robots to be controlled without calculating the communication delay time for all robots to be controlled.

다음으로, 통신 지연 시간이 산출되면, 통신 지연 시간에 기반하여 로봇에 대한 제어 명령을 생성하고, 생성된 제어명령을 로봇으로 전송한다(S120 및 S130).Next, when the communication delay time is calculated, a control command for the robot is generated based on the communication delay time, and the generated control command is transmitted to the robot (S120 and S130).

서버는 통신 지연 시간에 기반하여 로봇의 주행과 관련된 제어명령을 생성한다. 상기 제어명령은 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치에 기반하여 생성될 수 있다. The server generates a control command related to driving of the robot based on the communication delay time. The control command may be generated based on an expected position of the robot at the time when the robot receives the control command.

구체적으로, 서버는 로봇으로부터 로봇의 위치 정보를 수신하거나, 로봇으로부터 수신된 정보에 기반하여 로봇의 공간 내 위치를 산출한다. Specifically, the server receives position information of the robot from the robot or calculates the position of the robot in space based on the information received from the robot.

서버는 통신 지연 시간에 기반하여 로봇의 위치 정보를 보정할 수 있다. 구체적으로, 서버는 로봇으로부터 수신된 위치 정보 또는 로봇으로부터 수신된 정보에 기반하여 산출된 위치 정보를 기준으로 통신 지연 시간 동안 로봇이 이동한 위치를 산출한다. 이때, 서버는 로봇으로 기 전송된 주행 정보에 기반하여 로봇이 제어명령을 수신하는 시점까지 주행하였을 때, 로봇의 예상 위치를 산출한다.The server may correct position information of the robot based on the communication delay time. Specifically, the server calculates the location where the robot moved during the communication delay time based on the location information received from the robot or the location information calculated based on the information received from the robot. At this time, the server calculates the expected position of the robot when the robot travels to the point of receiving the control command based on the driving information previously transmitted to the robot.

예를 들어, 서버는 로봇에 마지막으로 전송된 주행 정보를 이용하여 로봇의 위치를 보정한다. 구체적으로, 통신 지연시간이 1초이고, 마지막으로 로봇에 전송된 주행 정보는 12시 방향으로 1m/s의 속도로 주행하도록 하는 정보를 포함하는 경우, 서버는 로봇으로부터 수신된 위치 정보에 대응되는 위치에서 12시 방향으로 1m 이동한 위치로 로봇의 현재 위치를 보정한다. 다만, 상기 지연시간은 설명의 편의를 위한 것으로, 실제 지연시간은 100ms 이내일 수 있다.For example, the server corrects the position of the robot using driving information transmitted to the robot last. Specifically, when the communication delay time is 1 second and the driving information finally transmitted to the robot includes information for driving at a speed of 1 m/s in the 12 o'clock direction, the server corresponds to the location information received from the robot. Calibrate the current position of the robot to a position moved 1m from the position to the 12 o'clock direction. However, the delay time is for convenience of explanation, and the actual delay time may be within 100 ms.

상기 로봇의 위치를 보정하는 방법과 동일한 방법으로, 서버는 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치를 산출한다. 구체적으로, 서버는 로봇과 관련된 제어명령을 생성하여 로봇으로 전송하는데 소요되는 예상 소요 시간 및 기 산출된 통신 지연 시간을 이용하여, 로봇이 제어명령을 수신하는 예상 시점을 산출한다. In the same way as the method of correcting the position of the robot, the server calculates the expected position of the robot at the time when the robot receives a control command. Specifically, the server calculates an expected time point at which the robot receives the control command using an estimated required time required to generate and transmit a control command related to the robot to the robot and a pre-calculated communication delay time.

예를 들어, 로봇이 주행하는 중 주기적으로, 로봇의 위치 정보를 서버로 전송하고, 서버는 이에 응답하여 주기적으로 주행 정보를 로봇으로 전송하는 경우를 예로 든다. 로봇은 서버로 로봇의 위치 정보를 전송하는 시점부터 '통신 지연 시간+서버 처리 시간+통신 지연 시간'만큼 지난 후 서버로부터 주행 정보를 수신하게 된다. For example, a case in which location information of the robot is periodically transmitted to the server while the robot is driving, and the server periodically transmits driving information to the robot in response thereto is taken as an example. The robot receives the driving information from the server after 'communication delay time + server processing time + communication delay time' from the time of transmitting the location information of the robot to the server.

이후, 서버는 로봇으로부터 위치 정보를 수신한 시점과 로봇이 제어명령을 수신하는 예상 시점 간의 시간 간격 동안 로봇이 이동 경로를 산출한다. 구체적으로, 서버는 로봇으로부터 수신된 위치 정보를 기준으로 로봇이 제어명령을 수신하는 예상 시점에서의 로봇의 예상 위치를 산출한다. 이때, 서버는 제어명령을 상기 로봇으로 전송하기 전 상기 로봇으로 기 전송된 제어명령에 따라 상기 예상 시점까지 주행할 경우 예상 위치를 산출한다.Thereafter, the server calculates a moving path of the robot during a time interval between a time when position information is received from the robot and an expected time when the robot receives a control command. Specifically, the server calculates an expected position of the robot at an expected time point at which the robot receives a control command based on the positional information received from the robot. At this time, the server calculates an expected position when traveling to the expected point in time according to a control command previously transmitted to the robot before transmitting a control command to the robot.

예를 들어, 서버는 '통신 지연 시간+서버 처리 시간+통신 지연 시간'만큼 지난 후 로봇의 예상 위치를 산출하고, 예상 위치에 기반하여 로봇의 주행 정보를 생성한다. For example, the server calculates the expected position of the robot after 'communication delay time + server processing time + communication delay time', and generates driving information of the robot based on the expected position.

일 실시 예에 있어서, 도 5를 참조하면, 로봇(100)은 현재 로봇의 위치 정보를 서버로 전송하고, 로봇에 기 설정된 주행 정보에 따른 경로(530)로 이동한다. In one embodiment, referring to FIG. 5 , the robot 100 transmits location information of the current robot to the server and moves to a path 530 according to driving information preset in the robot.

로봇의 초기 위치에서 목적지(510)에 도달하기 위해서는 제1경로(520a)를 따라 주행해야 한다. 하지만, 제1경로(520a)에 대응되는 주행 정보를 로봇이 수신하는 시점에서 로봇은 다른 위치(100')로 이동한 상태이다. 로봇이 다른 위치(100')에서 제1경로(520a)대로 주행할 경우, 목적지에 도달할 수 없다.In order to reach the destination 510 from the initial position of the robot, it must travel along the first path 520a. However, at the time when the robot receives driving information corresponding to the first path 520a, the robot is in a state of moving to another location 100'. When the robot travels along the first route 520a from another location 100', it cannot reach the destination.

서버는 로봇(100)으로 새로운 제어명령을 로봇으로 전송하기 전 상기 로봇으로 기 전송된 주행 정보에 기반하여 상기 로봇의 예상 위치를 산출한다. 예를 들어, 기 전송된 주행 정보는 530에 대응되는 주행 방향 및 1m/s의 주행 속도를 정의한다. 서버는 로봇이 초기 위치에서 위치 정보를 서버로 전송한 시점부터 로봇이 제어명령을 수신하는 시점까지의 예상 시간 간격을 0.5초로 산출한다. 이후, 서버는 로봇의 초기 위치에서 530에 대응되는 주행 방향으로 0.5m 이동한 위치를 로봇의 예상 위치(100')로 산출한다.Before transmitting a new control command to the robot 100, the server calculates an expected position of the robot based on driving information previously transmitted to the robot. For example, the previously transmitted driving information defines a driving direction corresponding to 530 and a driving speed of 1 m/s. The server calculates an estimated time interval from the time the robot transmits location information to the server in its initial position to the time the robot receives the control command as 0.5 second. Thereafter, the server calculates a position moved by 0.5 m in the driving direction corresponding to 530 from the initial position of the robot as the predicted position 100' of the robot.

이후, 상기 로봇의 예상 위치를 기준으로, 로봇이 주행 정보를 수신하는 시점에서의 로봇의 위치(100')에서 목적지에 도달할 수 있는 제2경로(520b)를 로봇으로 전송한다. Thereafter, based on the estimated position of the robot, a second path 520b capable of reaching a destination is transmitted to the robot from the robot's position 100' at the time when the robot receives driving information.

상술한 바와 같이, 본 발명에 따르면 로봇과 서버 간의 통신 지연 시간에 기반하여 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치를 산출하고, 산출된 예상 위치에 기반하여 로봇에 대한 주행 제어를 수행할 수 있게 된다. 이를 통해, 본 발명은 통신 지연을 고려한 선제적인 예측 제어를 수행할 수 있게 된다.As described above, according to the present invention, based on the communication delay time between the robot and the server, the expected position of the robot at the time when the robot receives a control command is calculated, and based on the calculated expected position, driving control for the robot is performed. be able to perform Through this, the present invention can perform preemptive predictive control in consideration of communication delay.

한편, 본 발명은 통신 지연 시간을 고려하여, 로봇이 공간 내에 배치된 장애물을 회피할 수 있는 주행 제어를 수행한다. On the other hand, in the present invention, considering the communication delay time, the robot performs driving control capable of avoiding obstacles disposed in space.

도 6은 본 발명의 일 실시 예에 따라 로봇이 장애물을 회피하는 모습을 나타내는 개념도이고, 도 7은 로봇이 안전 영역 내로 진입하였을 때, 로봇의 주행을 나타내는 개념도이고, 도 8a, 8b 및 9는 장애물의 종류 및 이동 상태에 따라 안전 영역의 크기 및 형태를 다르게 설정하는 일 실시 예를 나타내는 개념도이다.6 is a conceptual diagram illustrating a robot avoiding an obstacle according to an embodiment of the present invention, FIG. 7 is a conceptual diagram illustrating driving of the robot when the robot enters a safe area, and FIGS. 8a, 8b and 9 are It is a conceptual diagram illustrating an embodiment in which the size and shape of the safety area are set differently according to the type of obstacle and the moving state.

로봇은 주행하는 공간에 포함된 장애물을 센싱하고, 센싱된 정보를 서버로 전송한다. 서버는 상기 장애물의 센싱에 근거하여, 상기 로봇이 상기 장애물과의 충돌을 회피하도록 하는 상기 장애물에 대한 안전 영역을 설정할 수 있다. The robot senses obstacles included in the traveling space and transmits the sensed information to the server. Based on the sensing of the obstacle, the server may set a safe area for the obstacle in which the robot avoids collision with the obstacle.

여기서, 안전 영역은 장애물이 배치된 위치를 기준으로 장애물 주변으로 형성되는 가상의 영역을 의미하는 것으로, 로봇이 장애물을 회피하는데 필요한 최소한의 안전거리를 설정한 영역이다. Here, the safe area refers to a virtual area formed around an obstacle based on the position where the obstacle is placed, and is an area in which a minimum safety distance necessary for the robot to avoid the obstacle is set.

로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 로봇이 장애물을 회피하기 위한 제어명령을 수신하는 시점까지 로봇은 기 설정된 주행 정보대로 주행할 수 있다. 안전 영역은 로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 로봇이 장애물을 회피하기 위한 제어명령을 수신하는 시점까지 로봇에 아무런 제어명령이 입력되지 않더라도 로봇과 장애물이 충돌하지 않을 수 있는 거리에 기반하여 설정될 수 있다.From the point at which the robot transmits sensing information about an obstacle to the server to the point at which the robot receives a control command to avoid the obstacle, the robot may drive according to preset driving information. The safe area is the distance between the time the robot transmits sensing information about an obstacle to the server and the time the robot receives a control command to avoid the obstacle, even if no control command is input to the robot, so that the robot and the obstacle do not collide. can be set based on

상기 안전 영역 밖에서 로봇이 장애물 향해 이동하는 경우, 로봇은 서버와의 통신을 통해 그 이동 경로를 수정할 수 있지만, 안전 영역 내에서 장애물을 향해 이동하는 경우, 장애물과 충돌할 가능성이 있다. 이에, 로봇에 의해 장애물이 감지되는 경우, 서버는 장애물에 대한 안전 영역을 설정하여, 로봇이 안전 영역 밖에서 주행하도록 한다.When the robot moves toward an obstacle outside the safety area, the robot can modify its movement path through communication with the server, but when moving towards the obstacle within the safety area, there is a possibility of colliding with the obstacle. Accordingly, when an obstacle is detected by the robot, the server sets a safe area for the obstacle so that the robot runs outside the safe area.

상기 안전 영역의 위치, 크기, 형태와 관련된 정보는 지도 정보에 매칭되어 저장되거나, 장애물을 센싱한 로봇으로 전송될 수 있다.Information related to the location, size, and shape of the safety area may be matched with map information and stored, or may be transmitted to a robot that senses an obstacle.

서버는 장애물에 대한 안전 영역을 설정하고, 설정된 안전 영역을 피해 주행할 수 있는 이동 경로를 생성한다. The server sets a safety area for obstacles and creates a movement path for driving avoiding the set safety area.

예를 들어, 도 6을 참조하면, 서버가 로봇(100)으로부터 장애물에 대한 센싱 정보를 수신하는 경우, 서버는 감지된 장애물(610)을 기준으로 안전 영역(620)을 설정한다. 이후, 서버는 상기 안전 영역을 회피하여 이동할 수 있는 이동 경로(630)를 설정한다. 서버는 안전 영역(620)에 관한 정보와 이동 경로(630)에 관한 주행 정보를 로봇으로 전송한다.For example, referring to FIG. 6 , when the server receives sensing information about an obstacle from the robot 100, the server sets a safe area 620 based on the detected obstacle 610. Thereafter, the server sets a movement path 630 that can move while avoiding the safe area. The server transmits information about the safety area 620 and driving information about the movement path 630 to the robot.

한편, 서버는 로봇이 상기 안전 영역 내부로 진입하는 경우, 상기 로봇의 주행을 정지하거나, 상기 로봇이 상기 안전 마진 영역 밖으로 이동하도록 하는 제어명령을 로봇으로 전송한다. On the other hand, when the robot enters the inside of the safety area, the server stops the driving of the robot or transmits a control command to move the robot outside the safety margin area to the robot.

이와 달리, 로봇에는 안전 영역에 대한 정보가 저장될 수 있으며, 로봇은 기 저장된 안전 영역으로 진입하는 경우, 주행을 정지하거나, 상기 안전 영역 밖으로 이동하도록 프로그래밍 되어 있을 수 있다. 이때, 로봇에 저장되는 안전 영역에 관한 정보는 서버에 의해 업데이트 될 수 있다.Unlike this, information about the safe area may be stored in the robot, and the robot may be programmed to stop driving or move out of the safe area when entering the previously stored safe area. At this time, information about the safe area stored in the robot may be updated by the server.

일 실시 예에 있어서, 도 7을 참조하면, 로봇이 특정 장애물(710)을 기준으로 안전 영역(720)이 설정된다. 로봇이 장애물을 향하는 방향(730a)으로 주행하는 도중 안전 영역(720) 내부로 진입하는 경우, 로봇은 정지한 후 서버로부터 새로운 제어명령을 수신할 때까지 대기하거나, 서버로부터 제어명령을 수신하지 않더라도 안전 영역 밖으로 이동하는 방향(730b)으로 주행할 수 있다.In one embodiment, referring to FIG. 7 , a safety area 720 for the robot is set based on a specific obstacle 710 . When the robot enters the safety area 720 while driving in the direction 730a toward the obstacle, the robot stops and waits until a new control command is received from the server, or even if a control command is not received from the server. It is possible to drive in a direction 730b moving out of the safety area.

서버는 로봇으로부터 장애물에 대한 센싱 정보를 수신하는 경우, 통신 지연 시간에 기반하여 장애물에 대한 안전 영역을 설정한다. 구체적으로, 서버는 로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 장애물 회피를 위한 제어명령을 수신하는 시점까지의 시간 간격을 고려하여 안전 영역의 크기 및 형태를 다르게 한다. When receiving sensing information about an obstacle from the robot, the server sets a safe area for the obstacle based on the communication delay time. Specifically, the server varies the size and shape of the safety area in consideration of a time interval from when the robot transmits sensing information about an obstacle to the server to when a control command for avoiding an obstacle is received.

로봇이 장애물 회피를 위한 제어명령을 수신하는 시점은 기 산출된 통신 지연 시간 및 서버 예상 처리 시간에 기반하여 산출될 수 있다. 서버는 로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 장애물 회피를 위한 제어명령을 수신하는 시점까지의 시간 간격에 비례하여 안전 영역의 크기를 설정할 수 있다.A time point at which the robot receives a control command for obstacle avoidance may be calculated based on a pre-calculated communication delay time and an expected processing time of the server. The server may set the size of the safety area in proportion to a time interval from the time the robot transmits sensing information about an obstacle to the server to the time it receives a control command for avoiding an obstacle.

일 실시 예에 있어서, 서버는 로봇 간의 통신 지연 시간을 주기적으로 갱신할 수 있다. 특정 장애물에 대한 안전 영역이 설정된 상태에서 통신 지연 시간이 증가하는 경우, 서버는 상기 특정 장애물을 기준으로 상기 안전 영역을 확장시키고, 통신 지연 시간이 감소하는 경우, 서버는 상기 특정 장애물을 기준으로 상기 안전 영역을 축소시킨다.In one embodiment, the server may periodically update the communication delay time between robots. When the communication delay time increases while the safety area for a specific obstacle is set, the server expands the safety area based on the specific obstacle, and when the communication delay time decreases, the server expands the safety area based on the specific obstacle. Reduce the safe area.

한편, 상기 안전 영역의 위치, 크기 및 형태는 장애물의 종류, 장애물의 이동 방향, 장애물의 이동 경로, 장애물의 이동 속도에 따라 달라질 수 있다.Meanwhile, the location, size, and shape of the safety area may vary depending on the type of obstacle, the moving direction of the obstacle, the moving path of the obstacle, and the moving speed of the obstacle.

상술한 바와 같이, 본 발명은 통신 지연 시간에 기반하여 장애물에 대한 안전 영역을 설정함으로써, 로봇과 서버 간의 통신 지연에 따른 불확실성을 해소할 수 있게 된다. As described above, the present invention can solve the uncertainty due to the communication delay between the robot and the server by setting a safe area for obstacles based on the communication delay time.

한편, 서버는 장애물의 종류에 기반하여, 안전 영역의 크기 및 형상 중 적어도 하나를 결정할 수 있다. 구체적으로, 서버는 로봇으로부터 수신된 장애물과 관련된 정보에 근거하여 장애물의 종류를 판단한다. Meanwhile, the server may determine at least one of the size and shape of the safety area based on the type of obstacle. Specifically, the server determines the type of obstacle based on the information related to the obstacle received from the robot.

일 실시 예에 있어서, 서버는 장애물의 종류로서, 고정된 장애물 및 이동하는 장애물 중 어느 하나를 선택하여 장애물의 종류를 선택할 수 있다. 장애물이 이동하는 경우, 서버는 장애물의 종류로서 다른 제어 가능 로봇, 고정된 장애물, 사람, 기타 이동하는 장애물 중 어느 하나를 선택하여 장애물의 종류를 설정할 수 있다.In one embodiment, the server may select the type of obstacle by selecting one of a fixed obstacle and a moving obstacle as the type of obstacle. When the obstacle is moving, the server may set the type of obstacle by selecting any one of other controllable robots, fixed obstacles, people, and other moving obstacles as the type of obstacle.

장애물의 종류가 지도 상에 존재하는 장애물이거나, 고정된 장애물인 경우, 장애물이 이동하지 않기 때문에, 로봇과 충돌할 가능성이 낮다. 이 경우, 서버는 통신 지연 시간동안 로봇이 이동하는 거리만 고려하여 안전 영역을 설정한다. 이에 따라, 고정된 장애물에 대한 안전 영역의 크기는 이동하는 장애물에 대한 안전 영역의 크기보다 작을 수 있다.If the type of obstacle is an obstacle existing on the map or a fixed obstacle, the possibility of colliding with the robot is low because the obstacle does not move. In this case, the server sets the safe area considering only the distance the robot moves during the communication delay time. Accordingly, the size of the safety area for the fixed obstacle may be smaller than the size of the safety area for the moving obstacle.

한편, 장애물이 이동하는 경우, 서버는 장애물의 이동 경로 및 이동 속도 중 적어도 하나에 근거하여, 안전 영역의 크기 및 형상 중 적어도 하나를 결정할 수 있다.Meanwhile, when the obstacle moves, the server may determine at least one of the size and shape of the safety area based on at least one of the moving path and the moving speed of the obstacle.

구체적으로, 도 8a를 참조하면, 서버는 로봇(100)으로부터 수신된 장애물과 관련된 정보에 기반하여 장애물의 위치를 파악한다. 상술한 방법으로 파악된 장애물의 위치는 로봇이 장애물과 관련된 정보를 전송하는 시점에서의 장애물의 위치이다. 로봇이 장애물을 회피하기 위한 제어명령을 수신하는 시점에서 장애물은 다른 위치(810')로 이동할 수 있으며, 로봇 또한 다른 위치(100')로 이동할 수 있다. 이에 따라, 장애물과 로봇 간의 거리가 빠르게 가까워질 수 있다.Specifically, referring to FIG. 8A , the server determines the position of the obstacle based on the information related to the obstacle received from the robot 100 . The position of the obstacle determined by the above method is the position of the obstacle at the time when the robot transmits information related to the obstacle. When the robot receives a control command for avoiding the obstacle, the obstacle may move to another position 810', and the robot may also move to another position 100'. Accordingly, the distance between the obstacle and the robot can be rapidly reduced.

서버는 장애물의 이동 속도에 비례하여 장애물에 대한 안전 영역의 크기를 결정할 수 있다. 장애물의 이동 속도가 빠를수록 로봇과 가까워지는 속도가 빠르기 때문에, 서버는 빠른 속도로 이동하는 장애물에 대한 안전 영역을 상대적으로 크게 설정할 수 있다.The server may determine the size of the safe area for the obstacle in proportion to the movement speed of the obstacle. The faster the moving speed of the obstacle is, the faster the robot gets closer to it, so the server can set a relatively large safe area for the fast moving obstacle.

한편, 서버는 장애물의 이동 방향에 근거하여, 안전 영역의 형태를 결정할 수 있다. 구체적으로, 서버는 장애물이 이동하는 방향으로 안전 영역이 상대적으로 넓게 형성되고, 장애물이 이동하지 않는 방향으로 안전 영역이 상대적으로 좁게 형성되도록 할 수 있다.Meanwhile, the server may determine the shape of the safety area based on the moving direction of the obstacle. Specifically, the server may make the safety area relatively wide in the direction in which the obstacle moves, and form the safety area relatively narrow in the direction in which the obstacle does not move.

한편, 서버는 상기 장애물의 이동 경로 산출이 가능 여부에 근거하여, 안전 영역의 형태를 다르게 설정할 수 있다. 구체적으로, 상기 장애물의 이동 경로 산출이 가능한 경우, 상기 안전 영역은 상기 로봇이 제어명령을 수신하는 시점에서 상기 장애물이 위치하는 영역을 포함하도록 생성된다. 이와 달리, 상기 장애물의 이동 경로 산출이 불가능한 경우, 상기 안전 마진 영역은 상기 이동 속도에 대응되는 형태로 생성된다.Meanwhile, the server may differently set the shape of the safety area based on whether the movement path of the obstacle can be calculated. Specifically, when it is possible to calculate the moving path of the obstacle, the safe area is created to include the area where the obstacle is located when the robot receives a control command. In contrast, when it is impossible to calculate the moving path of the obstacle, the safety margin area is created in a form corresponding to the moving speed.

일 실시 예에 있어서, 도 8b를 참조하면, 장애물의 종류가 제어 가능한 다른 로봇(810)인 경우, 서버는 다른 로봇(810)으로 전송된 주행 정보에 기반하여 다른 로봇(810)의 이동 경로를 예측할 수 있다. 다른 로봇으로 전송된 주행 정보에 기반하여 로봇이 제어명령을 수신하는 시점에서 상기 다른 로봇의 예상 위치(810')를 산출한다. 안전 영역은 상기 다른 로봇의 예상 위치(810')를 포함하도록 설정된다. 예를 들어, 다른 로봇에 대응하는 안전 영역(820)은 다른 로봇의 이동 방향으로 길게 연장되는 타원형으로 이루어질 수 있다.In one embodiment, referring to FIG. 8B , when the type of obstacle is another controllable robot 810, the server determines the movement path of the other robot 810 based on driving information transmitted to the other robot 810. Predictable. Based on the driving information transmitted to the other robot, the estimated position 810' of the other robot is calculated at the time the robot receives the control command. A safe area is set to include the expected position 810' of the other robot. For example, the safe area 820 corresponding to the other robot may be formed in an elliptical shape extending in a moving direction of the other robot.

한편, 서버는 장애물의 이동 방향을 예측할 수 없는 경우, 장애물을 중심으로 하는 원형으로 안전 영역을 설정할 수 있다. 일 실시 예에 있어서, 도 9를 참조하면, 장애물(910)의 종류가 사람인 경우, 장애물의 이동 방향을 예측할 수 없기 때문에, 안전 영역은 장애물을 중심으로 하는 원형으로 설정될 수 있으며, 안전을 위해 다른 종류의 장애물보다 안전 영역의 넓이가 상대적으로 클 수 있다. Meanwhile, when the moving direction of the obstacle cannot be predicted, the server may set the safety area in a circular shape centered on the obstacle. In one embodiment, referring to FIG. 9 , when the type of obstacle 910 is a person, since the movement direction of the obstacle cannot be predicted, the safety area may be set in a circular shape centered on the obstacle. The width of the safety area may be relatively larger than that of other types of obstacles.

한편, 서버는 장애물(910)의 이동 속도에 기반하여, 안전 영역의 크기를 제2크기(920b)에서 제1크기(920a)로 축소하거나, 제2크기(920b)에서 제3크기(930c)로 확장할 수 있다. Meanwhile, the server reduces the size of the safety area from the second size 920b to the first size 920a or from the second size 920b to the third size 930c based on the movement speed of the obstacle 910. can be extended to

상술한 바와 같이, 본 발명은 장애물의 특징을 고려한 안전 영역을 설정함으로써, 통신 지연으로 인하여 로봇이 장애물의 상태 변화에 곧바로 대처할 수 없는 상황에서도, 로봇이 장애물과 충돌하지 않고 안전하게 주행하도록 할 수 있다.As described above, the present invention sets the safety area considering the characteristics of the obstacle, so that the robot can drive safely without colliding with the obstacle even in a situation where the robot cannot immediately cope with the change in the state of the obstacle due to communication delay. .

한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.Meanwhile, the present invention described above is executed by one or more processes in a computer and can be implemented as a program that can be stored in a computer-readable medium.

나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention described above can be implemented as computer readable codes or instructions in a medium on which a program is recorded. That is, the present invention may be provided in the form of a program.

한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. On the other hand, the computer-readable medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. there is

나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or cloud storage that includes storage and can be accessed by electronic devices through communication. In this case, the computer may download the program according to the present invention from a server or cloud storage through wired or wireless communication.

나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.Furthermore, in the present invention, the above-described computer is an electronic device equipped with a processor, that is, a CPU (Central Processing Unit), and there is no particular limitation on its type.

한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.On the other hand, the above detailed description should not be construed as limiting in all respects and should be considered as illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (17)

로봇들과 서버 간의 통신을 통해 로봇들을 원격으로 제어하는 방법에 있어서,
상기 로봇들과 상기 서버 간에 송수신되는 시간 정보에 근거하여, 기 저장된 지도 정보에 따라 구분되는 복수의 구역 중 동일한 구역에 위치한 복수의 로봇과 서버 간의 평균 통신 지연 시간을 산출하는 단계;
상기 로봇들과 상기 서버 간의 상기 평균 통신 지연 시간을, 상기 복수의 구역 각각에 대한 대표 통신 지연 시간을 설정하는 단계;
특정 로봇이 상기 복수의 구역 중 특정 구역에 진입하는 경우, 상기 특정 구역에 대응되는 대표 통신 지연 시간에 기반하여, 상기 특정 로봇의 주행과 관련된 제어명령을 생성하는 단계; 및
상기 제어 명령에 따라 상기 특정 로봇이 주행하도록 상기 특정 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고,
상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 특정 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 방법.
A method for remotely controlling robots through communication between robots and a server,
Calculating an average communication delay time between a plurality of robots and a server located in the same zone among a plurality of zones classified according to pre-stored map information based on time information transmitted and received between the robots and the server;
setting the average communication delay time between the robots and the server as a representative communication delay time for each of the plurality of zones;
generating a control command related to driving of the specific robot based on a representative communication delay time corresponding to the specific region when the specific robot enters a specific region among the plurality of regions; and
Transmitting the control command to the specific robot so that the specific robot drives according to the control command;
The control command is a robot remote control method, characterized in that generated based on the expected position of the specific robot at the time when the robot receives the control command.
제1항에 있어서,
상기 특정 로봇의 예상 위치는 상기 통신 지연 시간에 기반하여 산출되는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 1,
Robot remote control method, characterized in that the expected position of the specific robot is calculated based on the communication delay time.
제2항에 있어서,
상기 특정 로봇이 상기 제어명령을 수신하는 시점은 상기 통신 지연 시간에 기반하여 산출되고,
상기 특정 로봇의 예상 위치는,
상기 제어명령을 상기 특정 로봇으로 전송하기 전 상기 특정 로봇으로 기 전송된 제어명령에 따라 상기 특정 로봇이 상기 제어명령을 수신하는 시점까지 주행하였을 때 상기 특정 로봇의 예상 위치인 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 2,
The time point at which the specific robot receives the control command is calculated based on the communication delay time,
The expected position of the specific robot is,
The robot remote, characterized in that the expected position of the specific robot when the specific robot travels to the point of receiving the control command according to the control command previously transmitted to the specific robot before transmitting the control command to the specific robot control method.
제3항에 있어서,
상기 로봇들로부터 시간 정보가 포함된 제1메시지를 수신하는 단계;
상기 로봇들로 상기 제1메시지에 대응되는 제2메시지를 전송하는 단계; 및
상기 로봇들로부터 상기 제1메시지 및 상기 제2메시지에 기반하여 산출된 상기 통신 지연 시간에 대한 제3 메시지를 수신하는 단계를 더 포함하고,
상기 제2메시지는,
상기 제1메시지를 수신한 시점 및 상기 제2메시지를 전송하는 시점과 관련된 시간 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 3,
Receiving a first message including time information from the robots;
transmitting a second message corresponding to the first message to the robots; and
Receiving a third message for the communication delay time calculated based on the first message and the second message from the robots;
The second message,
Robot remote control method characterized in that it comprises time information related to the time of receiving the first message and the time of transmitting the second message.
제3항에 있어서,
상기 로봇들로 시간 정보가 포함된 제1메시지를 전송하는 단계;
상기 로봇들로부터 상기 제1메시지에 대응되는 제2메시지를 수신하는 단계;
상기 제1메시지에 포함된 시간 정보 및 상기 제2메시지를 수신한 시점에 기반하여 상기 통신 지연 시간을 산출하는 단계를 더 포함하고,
상기 제2메시지는,
상기 제1메시지를 수신한 시점 및 상기 제2메시지를 전송하는 시점과 관련된 시간 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 3,
Transmitting a first message including time information to the robots;
Receiving a second message corresponding to the first message from the robots;
Calculating the communication delay time based on time information included in the first message and a time point at which the second message is received;
The second message,
Robot remote control method characterized in that it comprises time information related to the time of receiving the first message and the time of transmitting the second message.
제5항에 있어서,
상기 통신 지연 시간은 상기 제1메시지 송수신 시 발생된 지연 시간 및 상기 제2메시지 송수신 시 발생된 지연 시간의 평균값인 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 5,
The communication delay time is a robot remote control method, characterized in that the average value of the delay time generated during transmission and reception of the first message and the delay time generated during transmission and reception of the second message.
제2항에 있어서,
상기 특정 로봇으로부터 장애물에 대한 센싱 정보를 수신하는 단계를 더 포함하고,
상기 제어명령은,
상기 특정 로봇이 주행하는 공간에 위치한 상기 장애물을 회피하도록 하는 상기 특정 로봇의 주행 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 2,
Further comprising receiving sensing information about an obstacle from the specific robot,
The control command is
Robot remote control method characterized in that it comprises driving information of the specific robot to avoid the obstacle located in the space in which the specific robot travels.
제7항에 있어서,
상기 특정 로봇의 주행 정보는,
상기 특정 로봇의 이동 속도, 이동 방향 및 이동 거리 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 7,
The driving information of the specific robot,
Robot remote control method characterized in that it comprises information related to at least one of the movement speed, movement direction and movement distance of the specific robot.
제8항에 있어서,
상기 특정 로봇이 주행하는 공간에 포함된 장애물을 센싱하는 단계; 및
상기 장애물의 센싱에 근거하여, 상기 특정 로봇이 상기 장애물과의 충돌을 회피하도록 하는 상기 장애물에 대한 안전 영역을 설정하는 단계를 더 포함하고,
상기 제어명령은,
상기 장애물의 안전 영역 내부로 상기 특정 로봇이 진입하는 경우, 상기 특정 로봇의 주행을 정지하거나, 상기 특정 로봇이 상기 안전 영역 밖으로 이동하도록 하는 제어명령을 포함하고,
상기 안전 영역의 크기 및 형태 중 적어도 하나는 통신 지연 시간에 기반하여 설정되는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 8,
Sensing an obstacle included in a space in which the specific robot travels; and
Based on the sensing of the obstacle, further comprising setting a safe area for the obstacle to avoid collision with the specific robot,
The control command is
When the specific robot enters the safety area of the obstacle, a control command is included to stop the driving of the specific robot or to move the specific robot out of the safety area,
At least one of the size and shape of the safety area is set based on the communication delay time.
제9항에 있어서,
상기 장애물에 대한 안전 영역은,
상기 장애물을 기준으로 설정되고,
통신 지연 시간이 증가하는 경우 상기 장애물을 기준으로 확장되고,
통신 지연 시간이 감소하는 경우 상기 장애물을 기준으로 축소되는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 9,
The safety area for the obstacle is,
It is set based on the obstacle,
When the communication delay time increases, it is expanded based on the obstacle,
Robot remote control method characterized in that when the communication delay time is reduced, it is reduced based on the obstacle.
제9항에 있어서,
상기 장애물에 대한 안전 영역은,
상기 장애물의 이동 경로 및 이동 속도 중 적어도 하나에 근거하여, 크기 및 형상 중 적어도 하나가 결정되는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 9,
The safety area for the obstacle is,
Based on at least one of the moving path and moving speed of the obstacle, at least one of the size and shape is determined, characterized in that the robot remote control method.
제10항에 있어서,
상기 장애물의 이동 경로 산출이 가능한 경우, 상기 안전 영역은 상기 특정 로봇이 제어명령을 수신하는 시점에서 상기 장애물이 위치하는 영역을 포함하도록 생성되는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 10,
When the movement path of the obstacle can be calculated, the safe area is generated to include an area where the obstacle is located at a time when the specific robot receives a control command.
제10항에 있어서,
상기 장애물의 이동 경로 산출이 불가능한 경우, 상기 안전 영역은 상기 특정 로봇의 이동 속도에 대응되는 형태로 생성되는 것을 특징으로 하는 로봇 원격 제어 방법.
According to claim 10,
When it is impossible to calculate the moving path of the obstacle, the safe area is generated in a form corresponding to the moving speed of the specific robot.
삭제delete 삭제delete 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서,
상기 프로그램은,
로봇들과 서버 간에 송수신되는 시간 정보에 근거하여, 기 저장된 지도 정보에 따라 구분되는 복수의 구역 중 동일한 구역에 위치한 복수의 로봇과 서버 간의 평균 통신 지연 시간을 산출하는 단계;
상기 로봇들과 상기 서버 간의 상기 평균 통신 지연 시간을, 상기 복수의 구역 각각에 대한 대표 통신 지연 시간을 설정하는 단계;
특정 로봇이 상기 복수의 구역 중 특정 구역에 진입하는 경우, 상기 특정 구역에 대응되는 대표 통신 지연 시간에 기반하여, 상기 특정 로봇의 주행과 관련된 제어명령을 생성하는 단계; 및
상기 제어 명령에 따라 상기 특정 로봇이 주행하도록 상기 특정 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고,
상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 특정 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.
A program that is executed by one or more processes in an electronic device and can be stored in a computer-readable recording medium,
said program,
Calculating an average communication delay time between a plurality of robots and a server located in the same zone among a plurality of zones classified according to pre-stored map information based on time information transmitted and received between the robots and the server;
setting the average communication delay time between the robots and the server as a representative communication delay time for each of the plurality of zones;
generating a control command related to driving of the specific robot based on a representative communication delay time corresponding to the specific region when the specific robot enters a specific region among the plurality of regions; and
Transmitting the control command to the specific robot so that the specific robot drives according to the control command;
The control command is a program storable on a computer-readable recording medium, characterized in that generated based on the expected position of the specific robot at the time the robot receives the control command.
로봇들과 서버 간의 통신을 통해 로봇들을 원격으로 제어하는 시스템에 있어서,
상기 로봇들과 데이터를 송수신하도록 이루어지는 통신부; 및
상기 로봇들과 상기 서버 간에 송수신되는 시간 정보에 근거하여, 기 저장된 지도 정보에 따라 구분되는 복수의 구역 중 동일한 구역에 위치한 복수의 로봇과 서버 간의 평균 통신 지연 시간을 산출하고,
상기 로봇들과 상기 서버 간의 상기 평균 통신 지연 시간을, 상기 복수의 구역 각각에 대한 대표 통신 지연 시간을 설정하고,
특정 로봇이 상기 복수의 구역 중 특정 구역에 진입하는 경우, 상기 특정 구역에 대응되는 대표 통신 지연 시간에 기반하여, 상기 특정 로봇의 주행과 관련된 제어명령을 생성하고,
상기 제어 명령에 따라 상기 특정 로봇이 주행하도록 상기 특정 로봇으로 상기 제어 명령을 전송하는 제어부를 포함하고,
상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 특정 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 시스템.
In a system for remotely controlling robots through communication between robots and a server,
a communication unit configured to transmit and receive data to and from the robots; and
Based on the time information transmitted and received between the robots and the server, an average communication delay time between a plurality of robots and a server located in the same zone among a plurality of zones classified according to pre-stored map information is calculated,
Setting the average communication delay time between the robots and the server as a representative communication delay time for each of the plurality of zones,
When a specific robot enters a specific region among the plurality of regions, a control command related to driving of the specific robot is generated based on a representative communication delay time corresponding to the specific region,
And a control unit for transmitting the control command to the specific robot so that the specific robot runs according to the control command,
The control command is a robot remote control system, characterized in that generated based on the expected position of the specific robot at the time when the robot receives the control command.
KR1020210043612A 2021-04-02 2021-04-02 Control method and system for robot KR102484773B1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210043612A KR102484773B1 (en) 2021-04-02 2021-04-02 Control method and system for robot
KR1020210081914A KR102485644B1 (en) 2021-04-02 2021-06-23 A building where robots that are robust to communication delay move
PCT/KR2022/000045 WO2022211224A1 (en) 2021-04-02 2022-01-04 Robot remote control method and system, and building in which robot robust against communication latency is driven

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210043612A KR102484773B1 (en) 2021-04-02 2021-04-02 Control method and system for robot

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210081914A Division KR102485644B1 (en) 2021-04-02 2021-06-23 A building where robots that are robust to communication delay move

Publications (3)

Publication Number Publication Date
KR20220137474A KR20220137474A (en) 2022-10-12
KR102484773B1 true KR102484773B1 (en) 2023-01-05
KR102484773B9 KR102484773B9 (en) 2023-12-07

Family

ID=83597655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210043612A KR102484773B1 (en) 2021-04-02 2021-04-02 Control method and system for robot

Country Status (1)

Country Link
KR (1) KR102484773B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240079281A (en) * 2022-11-28 2024-06-05 엘지전자 주식회사 Method for controlling cloud server for communicating with multiple robots

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016520944A (en) * 2013-06-03 2016-07-14 コントロールワークス プライベート リミテッド Method and apparatus for off-board navigation of robotic devices
JP2020500763A (en) * 2016-12-01 2020-01-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Flight method of unmanned aerial vehicle for stationary and moving objects

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210015211A (en) * 2019-08-01 2021-02-10 엘지전자 주식회사 Method of cloud slam in realtime and robot and cloud server implementing thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016520944A (en) * 2013-06-03 2016-07-14 コントロールワークス プライベート リミテッド Method and apparatus for off-board navigation of robotic devices
JP2020500763A (en) * 2016-12-01 2020-01-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd Flight method of unmanned aerial vehicle for stationary and moving objects

Also Published As

Publication number Publication date
KR20220137474A (en) 2022-10-12
KR102484773B9 (en) 2023-12-07

Similar Documents

Publication Publication Date Title
US11110600B2 (en) Airport robot and operation method thereof
KR102699336B1 (en) Method and system for controling driving of robot
Islam et al. A path planning algorithm for collective monitoring using autonomous drones
KR102671223B1 (en) Method for generating map, control method and system for robot using the same
KR102462636B1 (en) A building where robots that are remotely controlled by a cloud server and robot remote control system move
KR102339002B1 (en) Control method and system for robot
EP3761062A1 (en) Position determination of mobile objects
KR102484773B1 (en) Control method and system for robot
KR102484770B1 (en) Method and system for recoverying communications disruption of robot
KR102489722B1 (en) A building having elevators used by robots that board on optimal waiting positions of the elevators
KR102485644B1 (en) A building where robots that are robust to communication delay move
KR20220027530A (en) Control method and system for robot
KR102513728B1 (en) Control method and system for robot
Choi et al. Two tier search scheme using micro UAV swarm
KR102489723B1 (en) Control method and system for robot using the same
KR102315361B1 (en) A building that evaluates motions of robots driving in an indoor space of the building
KR101874212B1 (en) Moving Device capable of moving along a trace-back path and Radio control device for radio controlling thereof
KR102691154B1 (en) A building where a robot whose drive path is controlled based on the congestion level of the space moves
US11960277B2 (en) Unmanned vehicle controlling system and method, and nontransitory computer-readable medium
KR102494840B1 (en) A building where robots that are robust to network failures move
KR102486153B1 (en) A building where robots, that respond flexibly to obstacles, move
Hodge et al. Analysing ultra-wide band positioning for geofencing in a safety assurance context
KR102585341B1 (en) Multiple unmanned mobile vehicle control system using flexible movement path information, device and method
KR102674203B1 (en) Avoidance routing method based on multi-sensor fusion using control infrastructure and control apparatus
KR20240020865A (en) Electronic device, systems and methods for robot control

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
J202 Request for trial for correction [limitation]
J301 Trial decision

Free format text: TRIAL NUMBER: 2023105000083; TRIAL DECISION FOR CORRECTION REQUESTED 20230822

Effective date: 20231116