KR20220137474A - 로봇 원격 제어 방법 및 시스템 - Google Patents

로봇 원격 제어 방법 및 시스템 Download PDF

Info

Publication number
KR20220137474A
KR20220137474A KR1020210043612A KR20210043612A KR20220137474A KR 20220137474 A KR20220137474 A KR 20220137474A KR 1020210043612 A KR1020210043612 A KR 1020210043612A KR 20210043612 A KR20210043612 A KR 20210043612A KR 20220137474 A KR20220137474 A KR 20220137474A
Authority
KR
South Korea
Prior art keywords
robot
control command
obstacle
server
time
Prior art date
Application number
KR1020210043612A
Other languages
English (en)
Other versions
KR102484773B9 (ko
KR102484773B1 (ko
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/ko
Priority to KR1020210081914A priority patent/KR102485644B1/ko
Priority to PCT/KR2022/000045 priority patent/WO2022211224A1/ko
Publication of KR20220137474A publication Critical patent/KR20220137474A/ko
Application granted granted Critical
Publication of KR102484773B1 publication Critical patent/KR102484773B1/ko
Publication of KR102484773B9 publication Critical patent/KR102484773B9/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0011Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot associated with a remote control arrangement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • 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

Abstract

본 발명은 로봇 원격 제어에 관한 것으로서, 통신 지연을 고려하여 로봇을 제어할 수 있는 로봇 원격 제어 방법 및 시스템이다. 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 방법은 상기 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계 및 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 방법을 제공한다.

Description

로봇 원격 제어 방법 및 시스템{CONTROL METHOD AND SYSTEM FOR ROBOT}
본 발명은 로봇 원격 제어에 관한 것으로서, 통신 지연을 고려하여 로봇을 제어할 수 있는 로봇 원격 제어 방법 및 시스템이다.
기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.
나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 복수의 로봇을 효율적으로 제어하기 위한 브레인리스 로봇 시스템에 대한 개발이 이루어지고 있다.
브레인리스 로봇 시스템은 복수의 브레인리스 로봇 및 브레인 서버를 포함하고, 브레인리스 로봇 시스템에서 각 브레인리스 로봇은 원격 또는 엣지(edge)에 위치한 브레인 서버에 센서 정보 및 각종 로봇의 상태를 리포트하고 이동 등의 제어 명령을 수신하여 처리하게 된다.
이 때, 로봇과 서버 사이에 통신으로 인한 지연이 발생될 수 있다. 통신 지연은 브레인리스 로봇 시스템에서 불가피하게 발생되는 것으로, 로봇의 제어에 큰 영향을 줄 수 있다.
이에, 대한민국 공개특허 제10-2011-0079872호(통신 네트워크에서 시간 및 주파수 전송을 위한 방법 및 장치)에서는, 클라이언트 장치와 서버 간에 메시지를 주기적으로 교환하여 통신지연을 산출하는 방법이 개시되어 있으나, 통신 지연을 지속적으로 계측하여 제어에 반영하는 방법에 대하여 알려진 연구 결과가 없다.
따라서, 로봇으로 보내는 명령 정보가 시간 차이를 두고 적용된다는 점, 로봇에서 보내는 정보가 지연되어 브레인 서버로 도착한다는 점을 제어 명령에 선제적으로 반영하는 방법에 대한 니즈가 여전히 필요하다.
본 발명은 로봇에 대한 원격 제어 방법 및 시스템을 제공하는 것이다. 보다 구체적으로 본 발명은, 로봇과 서버 간의 통신 지연을 고려하여 로봇을 제어할 수 있는 로봇 원격 제어 방법 및 시스템을 제공하는 것이다.
나아가, 본 발명은 통신 지연을 고려하여 로봇의 이동 경로 상에 포함된 장애물을 안전하게 회피할 수 있도록 하는 로봇 원격 제어 방법 및 시스템을 제공하는 것이다.
위에서 살펴본 과제를 해결하기 위하여 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 방법은 상기 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계 및 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 방법을 제공한다.
또한, 본 발명에 따른 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 시스템은, 로봇과 데이터를 송수신하도록 이루어지는 통신부 및 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하고, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하고, 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 제어부를 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 한다.
나아가, 본 발명에 따른 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램은, 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계, 상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계 및 상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 수행하도록 하는 명령어들을 포함하고, 상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성될 수 있다.
위에서 살펴본 것과 같이, 본 발명에 따른 로봇 원격 제어 방법 및 시스템은, 로봇과 서버 간의 통신 지연 시간에 기반하여 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치를 산출하고, 산출된 예상 위치에 기반하여 로봇에 대한 주행 제어를 수행할 수 있게 된다. 이를 통해, 본 발명은 통신 지연을 고려한 선제적인 예측 제어를 수행할 수 있게 된다.
나아가, 본 발명은 통신 지연 시간에 기반하여 장애물에 대한 안전 영역을 설정함으로써, 로봇과 서버 간의 통신 지연에 따른 불확실성을 해소할 수 있게 된다.
또한, 본 발명은 장애물의 특징을 고려한 안전 영역을 설정함으로써, 통신 지연으로 인하여 로봇이 장애물의 상태 변화에 곧바로 대처할 수 없는 상황에서도, 로봇이 장애물과 충돌하지 않고 안전하게 주행하도록 할 수 있다.
도 1 및 도 2는 본 발명에 따른 로봇 주행 제어 방법 및 시스템을 설명하기 위한 개념도들이다.
도 3은 본 발명에 따른 로봇 주행 제어 방법을 설명하기 위한 흐름도이다.
도 4a, 4b는 본 발명의 일 실시 예에 따른 통신 지연 시간 산출방법을 나타내는 개념도이다.
도 5는 본 발명에 따른 로봇 원격 제어 방법을 설명하기 위한 개념도이다.
도 6은 본 발명의 일 실시 예에 따라 로봇이 장애물을 회피하는 모습을 나타내는 개념도이다.
도 7은 로봇이 안전 영역 내로 진입하였을 때, 로봇의 주행을 나타내는 개념도이다.
도 8a, 8b 및 9는 장애물의 종류 및 이동 상태에 따라 안전 영역의 크기 및 형태를 다르게 설정하는 일 실시 예를 나타내는 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 로봇에 대한 주행 제어 방법 및 시스템을 제공하는 것으로서, 보다 구체적으로, 통신 지연을 고려하여 로봇의 주행을 제어할 수 있는 방법 및 시스템을 제공하는 것이다. 이하에서는, 첨부된 도면과 함께, 로봇(robot) 주행 제어 시스템에 대하여 살펴보도록 한다. 도 1 및 도 2는 본 발명에 따른 로봇 주행 제어 방법 및 시스템을 설명하기 위한 개념도들이다.
예를 들어, 도 1에 도시된 것과 같이, 기술이 발전함에 따라 로봇의 활용도는 점차적으로 높아지고 있다. 종래 로봇은 특수한 산업분야(예를 들어, 산업 자동화 관련 분야)에서 활용되었으나, 점차적으로 인간이나 설비를 위해 유용한 작업을 수행할 수 있는 서비스 로봇으로 변모하고 있다.
이와 같이 다양한 서비스를 제공할 수 있는 로봇은, 부여된 임무를 수행하기 위하여 도 1에 도시된 것과 같은 공간(10)을 주행하도록 이루어질 수 있다. 로봇이 주행하는 공간의 종류에는 제한이 없으며, 필요에 따라 실내 공간 및 실외 공간 중 적어도 하나를 주행하도록 이루어 질 수 있다. 예를 들어, 실내 공간은 백화점, 공항, 호텔, 학교, 빌딩, 지하철역, 기차역, 서점 등과 같이 다양한 공간일 수 있다. 로봇은, 이와 같이, 다양한 공간에 배치되어 인간에게 유용한 서비스를 제공하도록 이루어질 수 있다.
한편, 로봇을 이용하여 다양한 서비스를 제공하기 위해서는, 로봇을 정확하게 제어하는 것이 매우 중요한 요소이다. 이에, 본 발명은 공간에 배치된 카메라를 함께 이용하여 로봇을 원격으로 보다 정확하게 제어할 수 있는 방법에 대하여 제안한다.
도 1에 도시된 것과 같이, 로봇이 위치한 공간(10)에는 카메라(20)가 배치될 수 있다. 도시와 같이, 공간(10)에 배치된 카메라(20)의 수는 그 제한이 없다. 도시와 같이, 공간(10)에는 복수개의 카메라들(20a, 20b)이 배치될 수 있다. 공간(10)에 배치된 카메라(20)의 종류는 다양할 수 있으며, 본 발명에서는 특히 공간에 배치된 CCTV(closed circuit television)를 활용할 수 있다.
도 2에 도시된 것과 같이, 본 발명에 의하면 로봇 원격 제어 시스템(300)에서, 로봇(100)을 원격으로 관리하고, 제어할 수 있다.
본 발명에 따른 로봇 원격 제어 시스템(300)은 공간(10)에 배치된 카메라(20, 예를 들어, CCTV)에서 수신되는 영상, 로봇으로부터 수신되는 영상, 로봇에 구비된 센서로부터 수신되는 정보 및 공간에 구비된 다양한 센서로부터 수신되는 정보 중 적어도 하나를 활용하여, 로봇의 주행을 제어하거나, 로봇에 대한 적절한 제어를 수행할 수 있다.
도 2에 도시된 것과 같이, 본 발명에 따른 로봇 원격 제어 시스템(300)은, 통신부(310), 저장부(320), 디스플레이부(330), 입력부(340) 및 제어부(350) 중 적어도 하나를 포함할 수 있다.
통신부(310)는, 공간(10)에 배치된 다양한 디바이스와 유선 또는 무선으로 통신하도록 이루어질 수 있다. 통신부(310)는 도시와 같이 로봇(100)과 통신할 수 있다. 통신부(310)는 로봇(100)과의 통신을 통해, 로봇(100)에 구비된 카메라로부터 촬영되는 영상을 수신하도록 이루어질 수 있다.
나아가, 통신부(310)는 적어도 하나의 외부 서버(또는 외부 저장소, 200)와 통신하도록 이루어질 수 있다. 여기에서, 외부 서버(200)는, 도시된 것과 같이, 클라우드 서버(210) 또는 데이터베이스(220) 중 적어도 하나를 포함하도록 구성될 수 있다. 한편, 외부 서버(200)에서는, 제어부(350)의 적어도 일부의 역할을 수행하도록 구성될 수 있다. 즉, 데이터 처리 또는 데이터 연산 등의 수행은 외부 서버(200)에서 이루어지는 것이 가능하며, 본 발명에서는 이러한 방식에 대한 특별한 제한을 두지 않는다.
한편, 통신부(310)는 통신하는 디바이스의 통신 규격에 따라 다양한 통신 방식을 지원할 수 있다.
예를 들어, 통신부(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) 내외에 위치한 디바이스(클라우드 서버 포함)와 통신하도록 이루어질 수 있다.
다음으로 저장부(320)는, 본 발명과 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(320)는 로봇 원격 제어 시스템(300) 자체에 구비될 수 있다. 이와 다르게, 저장부(320)의 적어도 일부는, 클라우드 서버(210) 및 데이터베이스(220) 중 적어도 하나를 의미할 수 있다. 즉, 저장부(320)는 본 발명에 따른 로봇 관제를 위하여 필요한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. 이에, 이하에서는, 저장부(320), 클라우드 서버(210) 및 데이터베이스(220)를 별도로 구분하지 않고, 모두 저장부(320)라고 표현하도록 한다. 이때, 클라우드 서버(210)는 “클라우드 저장소”를 의미할 수 있다.
먼저, 저장부(320)에는, 로봇(100)에 대한 정보가 저장될 수 있다.
로봇(100)에 대한 정보는 매우 다양할 수 있으며, 로봇(100)에 대한 정보는 일 예로서, i)공간(10)에 배치된 로봇(100)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii)로봇(100)에 부여된 임무 정보, iii)로봇(100)에 설정된 주행 경로 정보, iv)로봇(100)의 위치 정보, v)로봇(100)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 배터리 상태 등), vi)로봇(100)에 구비된 카메라로부터 수신된 영상 정보 등이 존재할 수 있다.
다음으로 저장부(320)에는, 공간(10)에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 여기에서, 지도는, 2차원 또는 3차원 지도 중 적어도 하나로 이루어 질 수 있다. 공간(10)에 대한 지도는 로봇(100)위 현재 위치를 파악하거나, 로봇의 주행 경로를 설정하는데 활용될 수 있는 지도를 의미할 수 있다.
특히, 본 발명에 따른 로봇 원격 제어 시스템(300)에서는, 로봇(100)에서 수신되는 영상 또는 로봇(100)으로부터 수신되는 정보를 기반으로 로봇(100)의 위치를 파악할 수 있다. 이를 위하여, 저장부(320)에 저장된 공간(10)에 대한 지도는 영상 또는 센싱 정보에 기반하여 위치를 추정할 수 있도록 하는 데이터로 구성될 수 있다.
이때, 공간(10)에 대한 지도는 사전에 공간(10)을 이동하는 적어도 하나의 로봇에 의해, SLAM(Simultaneous Localization and Mapping)에 기반하여 작성된 지도일 수 있다.
한편, 위에서 열거한 정보의 종류 외에도 저장부(320)에는 다양한 정보가 저장될 수 있다.
다음으로 디스플레이부(330)는 로봇(100)에 구비된 카메라 및 공간(10)에 배치된 카메라(20) 중 적어도 하나로부터 수신되는 영상을 출력하도록 이루어질 수 있다. 디스플레이부(330)는 로봇(100)을 원격으로 관리하는 관리자의 디바이스에 구비된 것으로서, 도 2에 도시된 것과 같이, 원격 관제실(300a)에 구비될 수 있다. 나아가, 이와 다르게, 디스플레이부(330)는 모바일 디바이스에 구비된 디스플레이일 수 있다. 이와 같이, 본 발명에서는 디스플레이부의 종류에 대해서는 제한을 두지 않는다.
다음으로, 입력부(340)는 사용자(또는 관리자)로부터 입력되는 정보의 입력을 위한 것으로서, 입력부(340)는 사용자(또는 관리자)와 로봇 원격 제어 시스템(300) 사이의 매개체가 될 수 있다. 보다 구체적으로, 입력부(340)는 사용자로부터 로봇(100)을 제어하기 위한 제어 명령을 수신하는 입력 수단을 의미할 수 있다.
이때, 입력부(340)의 종류에는 특별한 제한이 없으며, 입력부(340)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 마우스(mouse), 조이스틱(joy stic), 물리적인 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단 중 적어도 하나를 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다. 이때, 입력부(340)가 터치 스크린을 포함하는 경우, 디스플레이부(330)는 터치 스크린으로 이루어 질 수 있다. 이 경우, 디스플레이부(330)는 정보를 출력하는 역할과, 정보를 입력받는 역할을 모두 수행할 수 있다.
다음으로 제어부(350)는 본 발명과 관련된 로봇 원격 제어 시스템(300)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(350)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
한편, 위의 설명에서는, 제어부(350)에서 로봇(100)의 위치를 추정하는 예에 대하여 설명하였으나, 본 발명은 이에 한정되지 않는다. 즉, 로봇(100)의 위치 추정은 로봇(100) 자체에서 이루어질 수 있다. 즉, 로봇(100)은 로봇(100) 자체에서 수신되는 영상에 근거하여, 앞서 살펴본 방식으로 현재 위치를 추정할 수 있다. 그리고, 로봇(100)은, 추정된 위치 정보를 제어부(350)에 전송할 수 있다. 이 경우, 제어부(350)는 로봇으로부터 수신되는 위치 정보에 기반하여, 일련의 제어를 수행할 수 있다.
한편, 위에서 살펴본 것과 같이, 본 발명은 저장부(320)에 기 저장된 지도 정보를 이용하여, 공간 내에서 로봇의 이동 경로를 설정할 수 있다. 제어부(350)는 로봇(100)이 현재 위치로부터, 특정 목적지까지 이동하도록 제어할 수 있다. 구체적으로, 본 발명은 로봇의 현재 위치 정보와 목적지 위치 정보를 특정하고, 목적지에 도달하는 경로를 설정하여, 로봇이 설정된 경로에 따라 이동하여 목적지에 도달할 수 있도록 제어한다.
이때, 로봇이 목적지로 이동하도록 하기 위한 제어는 로봇 원격 제어 시스템(300)(이하, 서버라 함)을 통해 이루어질 수 있다. 구체적으로, 서버는 로봇의 위치를 모니터링하고, 모니터링된 로봇의 위치에 기반하여 로봇의 주행과 관련된 주행 정보를 생성한다.
서버는 일정 시간 간격으로 주행 정보를 로봇으로 전송하고, 로봇은 주행 정보에 포함된 정보에 기반하여 공간 내에서 주행을 한다.
주행 정보는 로봇이 주행 정보를 수신한 후, 다음 주행 정보를 수신할 때까지 로봇의 주행과 관련된 정보를 포함한다. 구체적으로, 주행 정보는 로봇의 이동 속도, 이동 방향 및 이동 거리 중 적어도 하나와 관련된 정보를 포함한다. 로봇은 주행 정보를 수신하면, 주행 정보에 기반하여 이동 속도, 이동 방향 및 이동 거리 중 적어도 하나를 제어하여 주행한다.
일 실시 예에 있어서, 주행 정보는 1초마다 로봇으로 전송되며, 로봇으로 전송된 제1주행 정보는 제1방향으로 1m/s로 주행할 것을 정의한다. 로봇으로 전송된 제2주행 정보는 제2방향으로 2m/s로 0.5초간 주행할 것을 정의한다. 로봇이 제1주행 정보를 수신한 시점부터 제2주행 정보를 수신한 시점까지 로봇은 제1방향으로 1m주행한다. 이후, 제2주행 정보를 수신한 시점부터 로봇은 제2방향으로 1m 주행한 후 정지한다. 다만, 상기 주행 정보를 전송하는 주기는 설명의 편의를 위한 것으로, 실제 주행 정보 전송 주기는 0.1초 이하일 수 있다.
서버는 주기적으로 로봇으로 주행 정보를 전송함으로써, 로봇이 기 설정된 이동 경로를 따라 주행하여 목적지에 도달할 수 있도록 한다. 본 명세서에서 로봇으로 전송되는 제어명령은 상술한 주행 정보를 포함할 수 있다.
한편, 서버는 로봇에 포함된 적어도 하나의 센서로부터 센싱된 정보 및 로봇에 포함된 카메라로 촬영된 영상 정보 중 적어도 하나를 수신하여, 로봇에 대한 주행 정보를 생성한다.
예를 들어, 서버가 로봇으로부터 로봇의 이동 경로 상에 배치된 장애물에 대한 센싱 정보를 수신하는 경우, 서버는 로봇이 상기 장애물을 회피하도록 하는 주행 정보를 생성한다.
상술한 바와 같이, 로봇은 로봇에서 수집된 센싱 정보 또는 영상 정보를 서버로 전송하고, 서버는 로봇으로부터 수신된 정보에 기반하여 주행 정보를 생성한 후 로봇으로 전송한다.
여기서, 서버와 로봇 간의 데이터 송수신 시 통신 지연이 발생될 수 있다. 상술한 서버가 로봇의 주행을 직접적으로 제어하는 경우, 서버와 로봇 간의 통신 지연은 로봇의 주행 제어를 어렵게 한다.
예를 들어, 로봇으로부터 수신된 정보에 기반하여 로봇의 현재 위치를 모니터링하는 경우, 통신 지연에 의해 로봇이 서버로 정보를 전송한 시점과 서버가 정보를 수신한 시점이 다르게 된다. 이로 인하여, 로봇으로부터 수신된 정보에 기반하여 로봇의 현재 위치를 산출할 경우, 산출된 위치는 통신 지연만큼 과거의 로봇의 위치에 해당하게 된다.
다른 예를 들어, 서버는 모니터링된 로봇의 위치를 기준으로 주행 정보를 생성하고, 생성된 주행 정보를 로봇으로 전송한다. 통신 지연에 의해 서버가 로봇으로 주행 정보를 전송한 시점과 로봇이 주행 정보를 수신한 시점이 다르게 된다. 이로 인하여, 로봇은 서버가 주행 정보를 전송하는 시점의 위치와 다른 위치에서 주행 정보에 따른 주행을 하게 된다.
본 발명은 서버와 로봇 간의 통신 지연 시간을 고려한 로봇의 주행 제어 방법을 제공한다. 이하, 통신 지연 시간을 고려한 로봇의 원격 제어 방법에 대하여 구체적으로 설명한다.
도 3은 본 발명에 따른 로봇 원격 제어 방법을 설명하기 위한 흐름도이고, 도 4a, 4b는 본 발명의 일 실시 예에 따른 통신 지연 시간 산출방법을 나타내는 개념도이고, 도 5는 본 발명에 따른 로봇 원격 제어 방법을 설명하기 위한 개념도이다.
도 3을 참조하면, 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 로봇과 서버 간의 통신 지연 시간을 산출하는 단계가 수행된다(S110).
통신 지연 시간은 로봇 및 서버 간의 시간 정보를 포함하는 메시지를 송수신하고, 메시지에 포함된 시간 정보를 이용하여 산출될 수 있다.
여기서, 시간 정보란 기준 시간체계를 기준으로 특정 시점에 대한 정보를 정의하는 것이다. 예를 들어, 시간 정보는 메시지를 수신하는 시점에 관한 정보이거나, 메시지를 전송하는 시점에 관한 정보를 포함할 수 있다. 다만, 이에 한정되지 않고, 시간 정보는 다양한 시점에 관한 정보를 포함할 수 있다.
여기에서, 기준 시간체계는, 다양할 수 있으며 예를 들어, 만국 표준시(UT, Universal Time), 협정세계시(UTC, Coordinated Universal Time), 대한민국 표준시(KST, Korea Standard Time), 그리니치 평균시(GMT, Greenwich Mean Time), 유닉스 시간(Unix time) 및 GPS 시간(GPS Time) 중 적어도 하나일 수 있다. 또한, 기준 시간체계는 위에서 열거한 예들 외에도, 다양한 다른 예들이 존재할 수 있다.
한편, 통신 지연 시간은 서버 또는 로봇에서 산출될 수 있다. 본 명세서에서는 통신 지연 시간을 산출하는 주체를 별도로 한정하지 않는다.
일 실시 예에 있어서, 도 4a를 참조하면, 통신 지연 시간은 로봇에서 산출될 수 있다. 구체적으로, 서버가 로봇으로부터 시간 정보가 포함된 제1메시지를 수신하는 단계, 서버가 로봇으로 상기 제1메시지에 대응되는 제2메시지를 전송하는 단계가 수행될 수 있다.
제1메시지는 로봇이 제1메시지를 전송하는 시점(t1)에 대한 시간 정보를 포함한다. 제2메시지는 제1메시지를 전송하는 시점(t1) 및 서버가 제1메시지를 수신한 시점부터 제2메시지를 생성해서 전송하기까지 걸린 시간(tp)과 관련된 시간 정보를 포함할 수 있다.
일 실시 예에 있어서, 제2메시지는 서버가 제1메시지를 전송하는 시점(t1)에 관한 정보, 상기 제1메시지를 수신한 시점부터 상기 로봇과 관련된 제어명령을 생성하고, 상기 제어명령을 포함하는 제2메시지를 전송하기까지 소요된 시간 정보(tp)를 포함할 수 있다. 다만, 상기 제2메시지가 반드시 제어명령을 포함할 필요는 없다. 상기 제2메시지가 지연시간을 측정하기 위한 용도로 활용되는 메시지인 경우, 상기 제2메시지는 제어명령과 관련된 정보는 포함하지 않을 수 있다.
로봇이 제2메시지를 수신하는 경우, 로봇은 제2메시지를 수신한 시점(t2)에 대한 시간 정보, 제2메시지에 포함된 시간 정보 및 제1메시지에 포함된 시간 정보를 이용하여 통신 지연시간을 산출한다.
구체적으로, 로봇이 제2메시지를 수신한 시점(t2)과 로봇이 제1메시지를 전송한 시점(t1)간의 시간 간격은 서버에서 로봇과 관련된 제어를 수행하기 위해 소요된 시간(tp) 및 두 번의 데이터 전송에 따른 통신 지연 시간을 포함한다. 통신 지연 시간(tlatency1)은 하기 수학식 1과 같이 산출될 수 있다.
[수학식 1]
tlatency1 = (t2 - t1 - tp)/2
상기 수학식 1을 참조하면 상기 통신 지연 시간은 상기 제1메시지 송수신 시 발생된 지연 시간 및 상기 제2메시지 송수신 시 발생된 지연 시간의 평균값이다.
로봇에서 통신 지연 시간 산출이 완료되면, 로봇은 서버로 통신 지연 시간을 포함하는 제3 메시지를 전송한다. 이를 통해, 서버는 로봇과 서버 간의 통신 지연 시간을 로봇에 관한 제어명령을 생성하는데 활용할 수 있다.
한편, 로봇은 별도의 시간 정보를 포함하는 메시지를 생성하여 서버로 전송하거나, 로봇이 서버로 주기적으로 전송하는 특정 정보에 시간 정보를 포함시켜 전송할 수 있다.
예를 들어, 로봇은 로봇에 포함된 센서로부터 센싱된 센싱 정보를 주기적으로 서버로 전송한다. 이때, 상기 센싱 정보에 별도의 채널을 형성하여, 시간 정보가 포함되도록 할 수 있다.
다른 일 실시 예에 있어서, 도 4b를 참조하면, 통신 지연 시간은 서버에서 산출될 수 있다. 구체적으로, 서버가 로봇으로 시간 정보가 포함된 제1메시지를 전송하는 단계, 서버가 로봇으로부터 상기 제1메시지에 대응되는 제2메시지를 수신하는 단계가 수행될 수 있다.
제1메시지는 서버가 제1메시지를 전송하는 시점(t1)에 대한 시간 정보를 포함한다. 제2메시지는 서버가 제1메시지를 전송한 시점(t1) 및 상기 제1메시지를 수신한 시점을 기준으로 로봇이 제2메시지를 전송하기까지 걸린 시간(tp1)과 관련된 시간 정보를 포함한다.
서버가 제2메시지를 수신하는 경우, 서버는 제2메시지를 수신한 시점(t2)에 대한 시간 정보, 제2메시지에 포함된 시간 정보 및 제1메시지에 포함된 시간 정보를 이용하여 통신 지연시간을 산출한다.
구체적으로, 서버가 제2메시지를 수신한 시점(t2)과 서버가 제1메시지를 전송한 시점(t1)간의 시간 간격은 로봇에서 제1메시지에 대응되는 제2메시지를 전송하기 위해 소요된 시간(tp1) 및 두 번의 데이터 전송에 따른 통신 지연 시간을 포함한다. 통신 지연 시간(tlatency1)은 상기 수학식 1과 같이 산출될 수 있다.
상기 통신 지연 시간을 활용하면, 로봇으로부터 수신된 정보가 어느 시점에 대한 정보인지, 로봇으로 제어 명령을 전송할 경우 어느 시점에 로봇이 제어명령을 수신하는 지 예상할 수 있게 된다.
한편, 통신 지연 시간은 복수의 다른 제어 대상 로봇들에서 산출된 통신 지연 시간을 기반으로 산출될 수 있다.
서버는 특정 로봇의 현재 위치에 대응되는 영역에 위치하는 다른 제어 대상 로봇으로부터 수신된 통신 지연 시간을 특정 로봇의 통신 지연 시간으로 활용하거나, 복수의 다른 제어 대상 로봇으로부터 수신된 통신 지연 시간의 평균 값을 특정 로봇의 통신 지연 시간으로 활용할 수 있다.
일 실시 예에 있어서, 서버는 동일한 구역에 위치한 복수의 로봇에 대한 통신 지연 시간에 기반하여 평균 통신 지연 시간을 산출할 수 있다. 구체적으로, 서버는 기 저장된 지도 정보를 복수의 구역으로 구분하고, 특정 구역에 위치하는 복수의 로봇의 통신 지연 시간의 평균 값을 특정 구역에 대한 대표 통신 지연 시간으로 설정할 수 있다. 상기 대표 통신 지연 시간은 기 설정된 시간마다 업데이트될 수 있다. 서버는 복수의 구역 각각에 대한 대표 통신 지연 시간을 설정하고, 특정 로봇이 특정 구역에 진입하는 경우, 특정 구역에 대응되는 대표 통신 지연 시간에 기반하여 제어명령을 생성할 수 있다.
이를 통해, 본 발명은 제어 대상의 모든 로봇에 대한 통신 지연 시간을 산출하지 않고도, 통신 지연 시간을 제어 대상의 모든 로봇의 주행 제어에 활용할 수 있게 된다.
다음으로, 통신 지연 시간이 산출되면, 통신 지연 시간에 기반하여 로봇에 대한 제어 명령을 생성하고, 생성된 제어명령을 로봇으로 전송한다(S120 및 S130).
서버는 통신 지연 시간에 기반하여 로봇의 주행과 관련된 제어명령을 생성한다. 상기 제어명령은 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치에 기반하여 생성될 수 있다.
구체적으로, 서버는 로봇으로부터 로봇의 위치 정보를 수신하거나, 로봇으로부터 수신된 정보에 기반하여 로봇의 공간 내 위치를 산출한다.
서버는 통신 지연 시간에 기반하여 로봇의 위치 정보를 보정할 수 있다. 구체적으로, 서버는 로봇으로부터 수신된 위치 정보 또는 로봇으로부터 수신된 정보에 기반하여 산출된 위치 정보를 기준으로 통신 지연 시간 동안 로봇이 이동한 위치를 산출한다. 이때, 서버는 로봇으로 기 전송된 주행 정보에 기반하여 로봇이 제어명령을 수신하는 시점까지 주행하였을 때, 로봇의 예상 위치를 산출한다.
예를 들어, 서버는 로봇에 마지막으로 전송된 주행 정보를 이용하여 로봇의 위치를 보정한다. 구체적으로, 통신 지연시간이 1초이고, 마지막으로 로봇에 전송된 주행 정보는 12시 방향으로 1m/s의 속도로 주행하도록 하는 정보를 포함하는 경우, 서버는 로봇으로부터 수신된 위치 정보에 대응되는 위치에서 12시 방향으로 1m 이동한 위치로 로봇의 현재 위치를 보정한다. 다만, 상기 지연시간은 설명의 편의를 위한 것으로, 실제 지연시간은 100ms 이내일 수 있다.
상기 로봇의 위치를 보정하는 방법과 동일한 방법으로, 서버는 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치를 산출한다. 구체적으로, 서버는 로봇과 관련된 제어명령을 생성하여 로봇으로 전송하는데 소요되는 예상 소요 시간 및 기 산출된 통신 지연 시간을 이용하여, 로봇이 제어명령을 수신하는 예상 시점을 산출한다.
예를 들어, 로봇이 주행하는 중 주기적으로, 로봇의 위치 정보를 서버로 전송하고, 서버는 이에 응답하여 주기적으로 주행 정보를 로봇으로 전송하는 경우를 예로 든다. 로봇은 서버로 로봇의 위치 정보를 전송하는 시점부터 '통신 지연 시간+서버 처리 시간+통신 지연 시간'만큼 지난 후 서버로부터 주행 정보를 수신하게 된다.
이후, 서버는 로봇으로부터 위치 정보를 수신한 시점과 로봇이 제어명령을 수신하는 예상 시점 간의 시간 간격 동안 로봇이 이동 경로를 산출한다. 구체적으로, 서버는 로봇으로부터 수신된 위치 정보를 기준으로 로봇이 제어명령을 수신하는 예상 시점에서의 로봇의 예상 위치를 산출한다. 이때, 서버는 제어명령을 상기 로봇으로 전송하기 전 상기 로봇으로 기 전송된 제어명령에 따라 상기 예상 시점까지 주행할 경우 예상 위치를 산출한다.
예를 들어, 서버는 '통신 지연 시간+서버 처리 시간+통신 지연 시간'만큼 지난 후 로봇의 예상 위치를 산출하고, 예상 위치에 기반하여 로봇의 주행 정보를 생성한다.
일 실시 예에 있어서, 도 5를 참조하면, 로봇(100)은 현재 로봇의 위치 정보를 서버로 전송하고, 로봇에 기 설정된 주행 정보에 따른 경로(530)로 이동한다.
로봇의 초기 위치에서 목적지(510)에 도달하기 위해서는 제1경로(520a)를 따라 주행해야 한다. 하지만, 제1경로(520a)에 대응되는 주행 정보를 로봇이 수신하는 시점에서 로봇은 다른 위치(100')로 이동한 상태이다. 로봇이 다른 위치(100')에서 제1경로(520a)대로 주행할 경우, 목적지에 도달할 수 없다.
서버는 로봇(100)으로 새로운 제어명령을 로봇으로 전송하기 전 상기 로봇으로 기 전송된 주행 정보에 기반하여 상기 로봇의 예상 위치를 산출한다. 예를 들어, 기 전송된 주행 정보는 530에 대응되는 주행 방향 및 1m/s의 주행 속도를 정의한다. 서버는 로봇이 초기 위치에서 위치 정보를 서버로 전송한 시점부터 로봇이 제어명령을 수신하는 시점까지의 예상 시간 간격을 0.5초로 산출한다. 이후, 서버는 로봇의 초기 위치에서 530에 대응되는 주행 방향으로 0.5m 이동한 위치를 로봇의 예상 위치(100')로 산출한다.
이후, 상기 로봇의 예상 위치를 기준으로, 로봇이 주행 정보를 수신하는 시점에서의 로봇의 위치(100')에서 목적지에 도달할 수 있는 제2경로(520b)를 로봇으로 전송한다.
상술한 바와 같이, 본 발명에 따르면 로봇과 서버 간의 통신 지연 시간에 기반하여 로봇이 제어명령을 수신하는 시점에서의 로봇의 예상 위치를 산출하고, 산출된 예상 위치에 기반하여 로봇에 대한 주행 제어를 수행할 수 있게 된다. 이를 통해, 본 발명은 통신 지연을 고려한 선제적인 예측 제어를 수행할 수 있게 된다.
한편, 본 발명은 통신 지연 시간을 고려하여, 로봇이 공간 내에 배치된 장애물을 회피할 수 있는 주행 제어를 수행한다.
도 6은 본 발명의 일 실시 예에 따라 로봇이 장애물을 회피하는 모습을 나타내는 개념도이고, 도 7은 로봇이 안전 영역 내로 진입하였을 때, 로봇의 주행을 나타내는 개념도이고, 도 8a, 8b 및 9는 장애물의 종류 및 이동 상태에 따라 안전 영역의 크기 및 형태를 다르게 설정하는 일 실시 예를 나타내는 개념도이다.
로봇은 주행하는 공간에 포함된 장애물을 센싱하고, 센싱된 정보를 서버로 전송한다. 서버는 상기 장애물의 센싱에 근거하여, 상기 로봇이 상기 장애물과의 충돌을 회피하도록 하는 상기 장애물에 대한 안전 영역을 설정할 수 있다.
여기서, 안전 영역은 장애물이 배치된 위치를 기준으로 장애물 주변으로 형성되는 가상의 영역을 의미하는 것으로, 로봇이 장애물을 회피하는데 필요한 최소한의 안전거리를 설정한 영역이다.
로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 로봇이 장애물을 회피하기 위한 제어명령을 수신하는 시점까지 로봇은 기 설정된 주행 정보대로 주행할 수 있다. 안전 영역은 로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 로봇이 장애물을 회피하기 위한 제어명령을 수신하는 시점까지 로봇에 아무런 제어명령이 입력되지 않더라도 로봇과 장애물이 충돌하지 않을 수 있는 거리에 기반하여 설정될 수 있다.
상기 안전 영역 밖에서 로봇이 장애물 향해 이동하는 경우, 로봇은 서버와의 통신을 통해 그 이동 경로를 수정할 수 있지만, 안전 영역 내에서 장애물을 향해 이동하는 경우, 장애물과 충돌할 가능성이 있다. 이에, 로봇에 의해 장애물이 감지되는 경우, 서버는 장애물에 대한 안전 영역을 설정하여, 로봇이 안전 영역 밖에서 주행하도록 한다.
상기 안전 영역의 위치, 크기, 형태와 관련된 정보는 지도 정보에 매칭되어 저장되거나, 장애물을 센싱한 로봇으로 전송될 수 있다.
서버는 장애물에 대한 안전 영역을 설정하고, 설정된 안전 영역을 피해 주행할 수 있는 이동 경로를 생성한다.
예를 들어, 도 6을 참조하면, 서버가 로봇(100)으로부터 장애물에 대한 센싱 정보를 수신하는 경우, 서버는 감지된 장애물(610)을 기준으로 안전 영역(620)을 설정한다. 이후, 서버는 상기 안전 영역을 회피하여 이동할 수 있는 이동 경로(630)를 설정한다. 서버는 안전 영역(620)에 관한 정보와 이동 경로(630)에 관한 주행 정보를 로봇으로 전송한다.
한편, 서버는 로봇이 상기 안전 영역 내부로 진입하는 경우, 상기 로봇의 주행을 정지하거나, 상기 로봇이 상기 안전 마진 영역 밖으로 이동하도록 하는 제어명령을 로봇으로 전송한다.
이와 달리, 로봇에는 안전 영역에 대한 정보가 저장될 수 있으며, 로봇은 기 저장된 안전 영역으로 진입하는 경우, 주행을 정지하거나, 상기 안전 영역 밖으로 이동하도록 프로그래밍 되어 있을 수 있다. 이때, 로봇에 저장되는 안전 영역에 관한 정보는 서버에 의해 업데이트 될 수 있다.
일 실시 예에 있어서, 도 7을 참조하면, 로봇이 특정 장애물(710)을 기준으로 안전 영역(720)이 설정된다. 로봇이 장애물을 향하는 방향(730a)으로 주행하는 도중 안전 영역(720) 내부로 진입하는 경우, 로봇은 정지한 후 서버로부터 새로운 제어명령을 수신할 때까지 대기하거나, 서버로부터 제어명령을 수신하지 않더라도 안전 영역 밖으로 이동하는 방향(730b)으로 주행할 수 있다.
서버는 로봇으로부터 장애물에 대한 센싱 정보를 수신하는 경우, 통신 지연 시간에 기반하여 장애물에 대한 안전 영역을 설정한다. 구체적으로, 서버는 로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 장애물 회피를 위한 제어명령을 수신하는 시점까지의 시간 간격을 고려하여 안전 영역의 크기 및 형태를 다르게 한다.
로봇이 장애물 회피를 위한 제어명령을 수신하는 시점은 기 산출된 통신 지연 시간 및 서버 예상 처리 시간에 기반하여 산출될 수 있다. 서버는 로봇이 장애물에 대한 센싱 정보를 서버로 전송한 시점부터 장애물 회피를 위한 제어명령을 수신하는 시점까지의 시간 간격에 비례하여 안전 영역의 크기를 설정할 수 있다.
일 실시 예에 있어서, 서버는 로봇 간의 통신 지연 시간을 주기적으로 갱신할 수 있다. 특정 장애물에 대한 안전 영역이 설정된 상태에서 통신 지연 시간이 증가하는 경우, 서버는 상기 특정 장애물을 기준으로 상기 안전 영역을 확장시키고, 통신 지연 시간이 감소하는 경우, 서버는 상기 특정 장애물을 기준으로 상기 안전 영역을 축소시킨다.
한편, 상기 안전 영역의 위치, 크기 및 형태는 장애물의 종류, 장애물의 이동 방향, 장애물의 이동 경로, 장애물의 이동 속도에 따라 달라질 수 있다.
상술한 바와 같이, 본 발명은 통신 지연 시간에 기반하여 장애물에 대한 안전 영역을 설정함으로써, 로봇과 서버 간의 통신 지연에 따른 불확실성을 해소할 수 있게 된다.
한편, 서버는 장애물의 종류에 기반하여, 안전 영역의 크기 및 형상 중 적어도 하나를 결정할 수 있다. 구체적으로, 서버는 로봇으로부터 수신된 장애물과 관련된 정보에 근거하여 장애물의 종류를 판단한다.
일 실시 예에 있어서, 서버는 장애물의 종류로서, 고정된 장애물 및 이동하는 장애물 중 어느 하나를 선택하여 장애물의 종류를 선택할 수 있다. 장애물이 이동하는 경우, 서버는 장애물의 종류로서 다른 제어 가능 로봇, 고정된 장애물, 사람, 기타 이동하는 장애물 중 어느 하나를 선택하여 장애물의 종류를 설정할 수 있다.
장애물의 종류가 지도 상에 존재하는 장애물이거나, 고정된 장애물인 경우, 장애물이 이동하지 않기 때문에, 로봇과 충돌할 가능성이 낮다. 이 경우, 서버는 통신 지연 시간동안 로봇이 이동하는 거리만 고려하여 안전 영역을 설정한다. 이에 따라, 고정된 장애물에 대한 안전 영역의 크기는 이동하는 장애물에 대한 안전 영역의 크기보다 작을 수 있다.
한편, 장애물이 이동하는 경우, 서버는 장애물의 이동 경로 및 이동 속도 중 적어도 하나에 근거하여, 안전 영역의 크기 및 형상 중 적어도 하나를 결정할 수 있다.
구체적으로, 도 8a를 참조하면, 서버는 로봇(100)으로부터 수신된 장애물과 관련된 정보에 기반하여 장애물의 위치를 파악한다. 상술한 방법으로 파악된 장애물의 위치는 로봇이 장애물과 관련된 정보를 전송하는 시점에서의 장애물의 위치이다. 로봇이 장애물을 회피하기 위한 제어명령을 수신하는 시점에서 장애물은 다른 위치(810')로 이동할 수 있으며, 로봇 또한 다른 위치(100')로 이동할 수 있다. 이에 따라, 장애물과 로봇 간의 거리가 빠르게 가까워질 수 있다.
서버는 장애물의 이동 속도에 비례하여 장애물에 대한 안전 영역의 크기를 결정할 수 있다. 장애물의 이동 속도가 빠를수록 로봇과 가까워지는 속도가 빠르기 때문에, 서버는 빠른 속도로 이동하는 장애물에 대한 안전 영역을 상대적으로 크게 설정할 수 있다.
한편, 서버는 장애물의 이동 방향에 근거하여, 안전 영역의 형태를 결정할 수 있다. 구체적으로, 서버는 장애물이 이동하는 방향으로 안전 영역이 상대적으로 넓게 형성되고, 장애물이 이동하지 않는 방향으로 안전 영역이 상대적으로 좁게 형성되도록 할 수 있다.
한편, 서버는 상기 장애물의 이동 경로 산출이 가능 여부에 근거하여, 안전 영역의 형태를 다르게 설정할 수 있다. 구체적으로, 상기 장애물의 이동 경로 산출이 가능한 경우, 상기 안전 영역은 상기 로봇이 제어명령을 수신하는 시점에서 상기 장애물이 위치하는 영역을 포함하도록 생성된다. 이와 달리, 상기 장애물의 이동 경로 산출이 불가능한 경우, 상기 안전 마진 영역은 상기 이동 속도에 대응되는 형태로 생성된다.
일 실시 예에 있어서, 도 8b를 참조하면, 장애물의 종류가 제어 가능한 다른 로봇(810)인 경우, 서버는 다른 로봇(810)으로 전송된 주행 정보에 기반하여 다른 로봇(810)의 이동 경로를 예측할 수 있다. 다른 로봇으로 전송된 주행 정보에 기반하여 로봇이 제어명령을 수신하는 시점에서 상기 다른 로봇의 예상 위치(810')를 산출한다. 안전 영역은 상기 다른 로봇의 예상 위치(810')를 포함하도록 설정된다. 예를 들어, 다른 로봇에 대응하는 안전 영역(820)은 다른 로봇의 이동 방향으로 길게 연장되는 타원형으로 이루어질 수 있다.
한편, 서버는 장애물의 이동 방향을 예측할 수 없는 경우, 장애물을 중심으로 하는 원형으로 안전 영역을 설정할 수 있다. 일 실시 예에 있어서, 도 9를 참조하면, 장애물(910)의 종류가 사람인 경우, 장애물의 이동 방향을 예측할 수 없기 때문에, 안전 영역은 장애물을 중심으로 하는 원형으로 설정될 수 있으며, 안전을 위해 다른 종류의 장애물보다 안전 영역의 넓이가 상대적으로 클 수 있다.
한편, 서버는 장애물(910)의 이동 속도에 기반하여, 안전 영역의 크기를 제2크기(920b)에서 제1크기(920a)로 축소하거나, 제2크기(920b)에서 제3크기(930c)로 확장할 수 있다.
상술한 바와 같이, 본 발명은 장애물의 특징을 고려한 안전 영역을 설정함으로써, 통신 지연으로 인하여 로봇이 장애물의 상태 변화에 곧바로 대처할 수 없는 상황에서도, 로봇이 장애물과 충돌하지 않고 안전하게 주행하도록 할 수 있다.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (17)

  1. 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 방법에 있어서,
    상기 로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계;
    상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계; 및
    상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 포함하고,
    상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 방법.
  2. 제1항에 있어서,
    상기 로봇의 예상 위치는 상기 통신 지연 시간에 기반하여 산출되는 것을 특징으로 하는 로봇 원격 제어 방법.
  3. 제2항에 있어서,
    상기 로봇이 상기 제어명령을 수신하는 시점은 상기 통신 지연 시간에 기반하여 산출되고,
    상기 로봇의 예상 위치는,
    상기 제어명령을 상기 로봇으로 전송하기 전 상기 로봇으로 기 전송된 제어명령에 따라 상기 로봇이 상기 제어명령을 수신하는 시점까지 주행하였을 때 로봇의 예상 위치인 것을 특징으로 하는 로봇 원격 제어 방법.
  4. 제3항에 있어서,
    상기 로봇으로부터 시간 정보가 포함된 제1메시지를 수신하는 단계;
    상기 로봇으로 상기 제1메시지에 대응되는 제2메시지를 전송하는 단계; 및
    상기 로봇으로부터 상기 제1 메시지 및 상기 제2 메시지에 기반하여 산출된 상기 통신 지연 시간에 대한 제3 메시지를 수신하는 단계를 더 포함하고,
    상기 제2메시지는,
    상기 제1메시지를 수신한 시점 및 상기 제2메시지를 전송하는 시점과 관련된 시간 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
  5. 제3항에 있어서,
    상기 로봇으로 시간 정보가 포함된 제1메시지를 전송하는 단계;
    상기 로봇으로부터 상기 제1메시지에 대응되는 제2메시지를 수신하는 단계;
    상기 제1메시지에 포함된 시간 정보 및 상기 제2메시지를 수신한 시점에 기반하여 상기 통신 지연 시간을 산출하는 단계를 더 포함하고,
    상기 제2메시지는,
    상기 제1메시지를 수신한 시점 및 상기 제2메시지를 전송하는 시점과 관련된 시간 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
  6. 제5항에 있어서,
    상기 통신 지연 시간은 상기 제1메시지 송수신 시 발생된 지연 시간 및 상기 제2메시지 송수신 시 발생된 지연 시간의 평균값인 것을 특징으로 하는 로봇 원격 제어 방법.
  7. 제2항에 있어서,
    상기 제어명령은,
    상기 로봇이 주행하는 공간에 위치한 장애물을 회피하도록 하는 상기 로봇의 주행 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
  8. 제7항에 있어서,
    상기 로봇의 주행 정보는,
    상기 로봇의 이동 속도, 이동 방향 및 이동 거리 중 적어도 하나와 관련된 정보를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.
  9. 제8항에 있어서,
    상기 로봇이 주행하는 공간에 포함된 장애물을 센싱하는 단계; 및
    상기 장애물의 센싱에 근거하여, 상기 로봇이 상기 장애물과의 충돌을 회피하도록 하는 상기 장애물에 대한 안전 영역을 설정하는 단계를 더 포함하고,
    상기 제어명령은,
    상기 장애물의 안전 영역 내부로 로봇이 진입하는 경우, 상기 로봇의 주행을 정지하거나, 상기 로봇이 상기 안전 마진 영역 밖으로 이동하도록 하는 제어명령을 포함하고,
    상기 안전 영역의 크기 및 형태 중 적어도 하나는 통신 지연 시간에 기반하여 설정되는 것을 특징으로 하는 로봇 원격 제어 방법.
  10. 제9항에 있어서,
    상기 장애물에 대한 안전 영역은,
    상기 장애물을 기준으로 설정되고,
    통신 지연 시간이 증가하는 경우 상기 장애물을 기준으로 확장되고,
    통신 지연 시간이 감소하는 경우 상기 장애물을 기준으로 축소되는 것을 특징으로 하는 로봇 원격 제어 방법.
  11. 제9항에 있어서,
    상기 장애물에 대한 안전 영역은,
    상기 장애물의 이동 경로 및 이동 속도 중 적어도 하나에 근거하여, 크기 및 형상 중 적어도 하나가 결정되는 것을 특징으로 하는 로봇 원격 제어 방법.
  12. 제10항에 있어서,
    상기 장애물의 이동 경로 산출이 가능한 경우, 상기 안전 영역은 상기 로봇이 제어명령을 수신하는 시점에서 상기 장애물이 위치하는 영역을 포함하도록 생성되는 것을 특징으로 하는 로봇 원격 제어 방법.
  13. 제10항에 있어서,
    상기 장애물의 이동 경로 산출이 불가능한 경우, 상기 안전 마진 영역은 상기 이동 속도에 대응되는 형태로 생성되는 것을 특징으로 하는 로봇 원격 제어 방법.
  14. 제1항에 있어서,
    상기 통신 지연 시간은,
    상기 로봇과 다른 복수의 제어 대상 로봇으로부터 수신된 통신 지연 시간을 기반으로 산출되는 것을 특징으로 하는 로봇 원격 제어 방법.
  15. 제14항에 있어서,
    상기 통신 지연 시간은,
    상기 로봇의 현재 위치에 대응되는 영역에 위치하는 제어 대상 로봇으로부터 수신된 통신 지연 시간을 기반으로 산출되는 것을 특징으로 하는 로봇 원격 제어 방법.
  16. 전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램으로서,
    상기 프로그램은,
    로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하는 단계;
    상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하는 단계; 및
    상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 단계를 수행하도록 하는 명령어들을 포함하고,
    상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 컴퓨터로 판독될 수 있는 기록매체에 저장 가능한 프로그램.
  17. 로봇과 서버 간의 통신을 통해 로봇을 원격으로 제어하는 시스템에 있어서,
    상기 로봇과 데이터를 송수신하도록 이루어지는 통신부; 및
    로봇과 서버 간에 송수신되는 시간 정보에 근거하여 상기 로봇과 상기 서버 간의 통신 지연 시간을 산출하고,
    상기 통신 지연 시간에 기반하여 상기 로봇의 주행과 관련된 제어명령을 생성하고,
    상기 제어 명령에 따라 상기 로봇이 주행하도록 상기 로봇으로 상기 제어 명령을 전송하는 제어부를 포함하고,
    상기 제어명령은 상기 로봇이 상기 제어명령을 수신하는 시점에서의 상기 로봇의 예상 위치에 기반하여 생성되는 것을 특징으로 하는 로봇 원격 제어 시스템.
KR1020210043612A 2021-04-02 2021-04-02 로봇 원격 제어 방법 및 시스템 KR102484773B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020210043612A KR102484773B1 (ko) 2021-04-02 2021-04-02 로봇 원격 제어 방법 및 시스템
KR1020210081914A KR102485644B1 (ko) 2021-04-02 2021-06-23 통신 지연에 강인한 로봇이 주행하는 건물
PCT/KR2022/000045 WO2022211224A1 (ko) 2021-04-02 2022-01-04 로봇 원격 제어 방법 및 시스템, 그리고 통신 지연에 강인한 로봇이 주행하는 건물

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210043612A KR102484773B1 (ko) 2021-04-02 2021-04-02 로봇 원격 제어 방법 및 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210081914A Division KR102485644B1 (ko) 2021-04-02 2021-06-23 통신 지연에 강인한 로봇이 주행하는 건물

Publications (3)

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

Family

ID=83597655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210043612A KR102484773B1 (ko) 2021-04-02 2021-04-02 로봇 원격 제어 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102484773B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016520944A (ja) * 2013-06-03 2016-07-14 コントロールワークス プライベート リミテッド ロボットデバイスのオフボードナビゲーションの方法及び装置
JP2020500763A (ja) * 2016-12-01 2020-01-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 静止及び移動体に対する無人航空機の飛行方法
KR20210015211A (ko) * 2019-08-01 2021-02-10 엘지전자 주식회사 실시간으로 클라우드 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016520944A (ja) * 2013-06-03 2016-07-14 コントロールワークス プライベート リミテッド ロボットデバイスのオフボードナビゲーションの方法及び装置
JP2020500763A (ja) * 2016-12-01 2020-01-16 エスゼット ディージェイアイ テクノロジー カンパニー リミテッドSz Dji Technology Co.,Ltd 静止及び移動体に対する無人航空機の飛行方法
KR20210015211A (ko) * 2019-08-01 2021-02-10 엘지전자 주식회사 실시간으로 클라우드 슬램을 수행하는 방법 및 이를 구현하는 로봇과 클라우드 서버

Also Published As

Publication number Publication date
KR102484773B9 (ko) 2023-12-07
KR102484773B1 (ko) 2023-01-05

Similar Documents

Publication Publication Date Title
US11161238B2 (en) Multi-agent coordination under sparse networking
US10834766B2 (en) Unmanned vehicle controlling system and method of operating same
de Souza et al. Coordinating movement within swarms of UAVs through mobile networks
US20200012287A1 (en) Cart robot and system for controlling robot
JP2017188904A (ja) ビーコンで動作する端末の位置情報を処理する方法及び装置
KR20220134928A (ko) 로봇 주행 제어 방법 및 시스템
KR102339001B1 (ko) 클라우드 서버를 이용하여 실내 공간을 주행하는 로봇을 모니터링하는 건물
KR20220134883A (ko) 맵 생성 방법, 이를 이용한 로봇 원격 제어 방법 및 시스템
KR102462636B1 (ko) 클라우드 서버 및 로봇 원격 제어 시스템에 의해 원격 제어되는 로봇이 주행하는 건물
KR102484770B1 (ko) 로봇의 통신 장애 복구 방법 및 시스템
KR102484773B1 (ko) 로봇 원격 제어 방법 및 시스템
KR102485644B1 (ko) 통신 지연에 강인한 로봇이 주행하는 건물
KR102462634B1 (ko) 공간을 주행하는 로봇을 관제하는 건물, 로봇 관제 방법 및 시스템
KR102489722B1 (ko) 엘리베이터의 최적 대기 위치에 탑승하는 로봇이 주행하는 건물
US11960277B2 (en) Unmanned vehicle controlling system and method, and nontransitory computer-readable medium
KR20220135139A (ko) 공간의 혼잡도에 기반하여 이동 경로가 제어되는 로봇이 주행하는 건물
KR102494840B1 (ko) 네트워크 장애 상황에 강인한 로봇이 주행하는 건물
Hodge et al. Analysing Ultra-Wide Band Positioning for Geofencing in a Safety Assurance Context
KR102486153B1 (ko) 장애물에 유연하게 대처하는 로봇이 주행하는 건물
KR20220131060A (ko) 로봇 원격 제어 방법 및 시스템
KR102489723B1 (ko) 로봇 원격 제어 방법 및 시스템
KR102585341B1 (ko) 유동적인 이동경로 정보를 이용한 다수 무인이동체 제어 시스템, 장치 및 방법
JP7370362B2 (ja) ロボット管制方法及びシステム
JP6550579B1 (ja) 災害時脱出ルート案内システム
KR20220027745A (ko) 실내 공간을 주행하는 로봇의 동작을 평가하는 건물

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