KR20220135138A - 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물 - Google Patents

실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물 Download PDF

Info

Publication number
KR20220135138A
KR20220135138A KR1020210081075A KR20210081075A KR20220135138A KR 20220135138 A KR20220135138 A KR 20220135138A KR 1020210081075 A KR1020210081075 A KR 1020210081075A KR 20210081075 A KR20210081075 A KR 20210081075A KR 20220135138 A KR20220135138 A KR 20220135138A
Authority
KR
South Korea
Prior art keywords
node
robot
zone
nodes
information
Prior art date
Application number
KR1020210081075A
Other languages
English (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 KR1020210081075A priority Critical patent/KR20220135138A/ko
Publication of KR20220135138A publication Critical patent/KR20220135138A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • 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

본 발명은 로봇의 이동 경로 제공을 위한 맵 생성하는 방법 및 이를 활용하여 로봇을 원격으로 제어하는 방법에 관한 것이다. 본 발명에 따른 대상 공간에서 로봇의 이동 경로를 제공하기 위한 맵을 생성하는 방법은 기 설정된 노드 할당 기준에 근거하여, 상기 대상 공간에 대응되도록, 복수의 노드를 할당하는 단계, 상기 대상 공간에 포함된 설비를 기준으로, 상기 복수의 노드에 대해 클러스터링(clustering)을 수행하는 단계, 상기 클러스터링의 수행 결과에 근거하여, 상기 대상 공간을 상기 복수의 노드 중 적어도 하나를 포함하는 복수의 구역으로 구분하는 단계 및 상기 복수의 노드 및 상기 복수의 구역 간의 구역 연결 정보를 포함하는 상기 대상 공간에 대한 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 맵 생성 방법을 제공한다.

Description

실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물{A BUILDING HAVING FACILITIES USED BY ROBOTS THAT DRIVE IN THE BUILDING}
본 발명은 로봇의 이동 경로 제공을 위한 맵을 생성하는 방법, 이를 활용하여 로봇을 원격으로 제어하는 방법 및 시스템에 관한 것이다.
기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.
나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 로봇의 활용도가 점차적으로 높아지고 있다.
한편, 로봇으로 다양한 작업 또는 서비스를 제공하기 위해서는, 로봇을 목표 지점 상으로 정확하게 이동시키기 위한 이동 경로를 설정하는 것이 매우 중요하다.
한편, 종래에는 로봇의 이동 경로를 효율적으로 설정하기 위해 공간을 복수의 노드(node)들로 연결한 노드맵(node map)을 활용하였다. 노드맵이란 공간의 특성을 고려하여 로봇이 이동할 수 있는 경로를 연결 관계로 표현한 지도이다.
대한민국 공개특허 제10-2018-0118500호(2차원 레이저 스캐너를 이용한 계층적 구조 기반의 맵 제작 방법 및 장치)에서는, 노드맵에 포함된 노드들을 활용하여 로봇의 이동 경로를 설정하는 구성이 개시되어 있다.
나아가, 공간에는 다양한 설비(예를 들어, 엘리베이터(elevator), 스피드 게이트(speed gate)) 등이 배치될 수 있으며, 이러한 설비는 로봇의 이동에 영향을 미치는 중요한 요소가 될 수 있다.
특히, 로봇이 공간 내의 설비를 이용하는 경우, 설비의 사용 환경에 따라 로봇의 이동 경로에도 영향을 미치게 되므로 이를 고려하여 로봇의 이동 경로를 생성하는 것은 매우 중요하다.
이에, 공간 내의 설비가 포함된 구역과 설비가 포함되지 않은 구역의 특성을 고려하여 체계적인 방식으로 로봇의 이동 경로를 설정하는 방법에 대한 고려가 필요하다.
본 발명은 로봇의 이동 경로 제공을 위한 맵을 생성하는 방법에 관한 것으로서, 특히, 공간 내에 배치된 다양한 설비의 특성이 반영된 맵을 생성하는 방법을 제공하는 것이다.
나아가, 본 발명은 로봇이 공간 내에 배치된 설비를 고려하여 효율적으로 이동할 수 계층에 따라 순차적으로 로봇의 이동 계획을 설정하는 로봇의 원격 제어 방법 및 시스템을 제공하는 것이다.
또한, 본 발명은 로봇이 공간 내 설비를 효율적으로 이용할 수 있도록 하는 로봇의 원격 제어 방법 및 시스템을 제공하는 것이다.
위에서 살펴본 과제를 해결하기 위하여 본 발명에 따른 대상 공간에서 로봇의 이동 경로를 제공하기 위한 맵을 생성하는 방법은 기 설정된 노드 할당 기준에 근거하여, 상기 대상 공간에 대응되도록, 복수의 노드를 할당하는 단계, 상기 대상 공간에 포함된 설비를 기준으로, 상기 복수의 노드에 대해 클러스터링(clustering)을 수행하는 단계, 상기 클러스터링의 수행 결과에 근거하여, 상기 대상 공간을 상기 복수의 노드 중 적어도 하나를 포함하는 복수의 구역으로 구분하는 단계 및 상기 복수의 노드 및 상기 복수의 구역 간의 구역 연결 정보를 포함하는 상기 대상 공간에 대한 맵을 생성하는 단계를 포함하는 것을 특징으로 하는 맵 생성 방법을 제공한다.
또한, 본 발명에 따른 로봇의 이동 경로를 생성하여 로봇을 원격으로 제어하는 방법은 상기 로봇의 목적지에 대한 정보를 수신하는 단계, 복수의 구역을 포함하는 맵을 이용하여, 상기 복수의 구역 중 상기 로봇이 상기 목적지에 도달하기 위하여 경유해야 하는 적어도 하나의 경유 구역을 특정하는 단계, 상기 경유 구역을 연결하는 구역 경로를 생성하는 단계 및 상기 로봇의 이동 정도에 따라, 상기 경유 구역 중 특정 구역에 대한 세부 경로를 생성하는 단계를 포함는 로봇 원격 제어 방법을 제공한다.
위에서 살펴본 것과 같이, 본 발명은 공간 내에 설비가 배치된 영역과 설비가 배치되지 않은 영역을 구분하고, 이러한 설비 특성이 반영된 노드맵을 생성할 수 있다. 따라서, 본 발명은 로봇의 이동 경로를 생성함에 있어, 설비 특성이 반영된 노드맵을 활용하며, 결과 적으로 설비의 특성을 고려한 로봇의 이동 경로를 효율적으로 생성할 수 있다.
또한, 본 발명은 로봇의 이동 경로를 계층을 두어 생성함으로써, 공간 내 환경의 변화에 따라 로봇이 적절히 대응할 수 있도록 한다. 특히, 본 발명은 공간 내에서 로봇의 이동 정도에 따라, 로봇이 이동할 대상이 되는 특정 구역에 대한 세부 경로를 설정함으로써, 설비 이용 환경에 대한 변동성이 큰 상황에서도 최적의 로봇의 이동 경로를 설정할 수 있도록 한다.
도 1 및 도 2는 본 발명에 따른 로봇 원격 제어 방법 및 시스템을 설명하기 위한 개념도들이다.
도 3은 본 발명에 따른 로봇 원격 제어 방법 및 시스템에서, 로봇에서 수집되는 영상 및 로봇의 현재 위치를 추정하는 방법을 설명하기 위한 개념도이다.
도 4는 로봇의 경로 설정에 활용되는 지도 정보를 나타내는 개념도이다.
도 5는 본 발명에 따른 노드맵 설정 방법을 설명하기 위한 흐름도이다.
도 6a, 도 6b, 도 6c, 도 6d 및 도 6e는 본 발명에 따른 노드맵 설정 방법을 나타내는 개념도들이다.
도 7a는 본 발명에 따른 노드맵을 활용하여 로봇의 이동 경로를 설정하는 일 실시 예를 설명하기 위한 흐름도이다.
도 7b 및 7c는 본 발명에 따른 노드맵을 활용하여 로봇의 이동 경로를 설정하는 일 실시 예를 설명하기 위한 개념도들이다.
도 8a, 8b, 8c는 본 발명의 일 실시 예에 따른 클러스터링 방법을 나타내는 개념도이다.
도 9a 및 9b는 본 발명의 일 실시 예에 따른 가상 벽 생성 방법을 나타내는 개념도이다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제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)는 로봇 원격 제어 시스템(300)에 대한 정보 뿐만 아니라, 설비 제어 시스템(400a 및 400b)과 관련된 다양한 정보를 저장하도록 이루어질 수 있다.
먼저, 저장부(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)에는 다양한 정보가 저장될 수 있다.
다음으로, 저장부(320)에는, 카메라(20)에 대한 정보가 저장될 수 있다.
카메라(20)에 대한 정보를 매우 다양할 수 있으며, 카메라(20)에 대한 정보는, i) 각각의 카메라(20a, 20b…)의 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii) 각각의 카메라(20a, 20b…)의 배치 위치 정보(예를 들어, 공간 내에서 각각의 카메라(20a, 20b…)가 어느 위치에 배치되었는지에 대한 정보), iii) 각각의 카메라(20a, 20b…)의 화각 정보(angle of view , 예를 들어, 각각의 카메라(20a, 20b…)가 공간의 어느 뷰를 촬영하고 있는지에 대한 정보), iv) 각각의 카메라(20a, 20b…)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 배터리 상태 등), vi) 각각의 카메라(20a, 20b…)로부터 수신된 영상 정보 등이 존재할 수 있다.
한편, 위에서 열거된 카메라(20)에 대한 정보는 각각의 카메라(20a, 20b…)를 기준으로 서로 매칭되어 존재할 수 있다.
예를 들어, 저장부(320)에는, 특정 카메라(20a)의 식별정보, 위치 정보, 화각 정보, 상태 정보, 및 영상 정보 중 적어도 하나가 매칭되어 매칭 정보로서 존재할 수 있다. 이러한 매칭 정보는, 추후 영상을 보고자 하는 위치가 특정되는 경우, 해당 위치의 카메라를 특정하는데 유용하게 활용될 수 있다.
다음으로 디스플레이부(330)는 로봇(100)에 구비된 카메라 및 공간(10)에 배치된 카메라(20) 중 적어도 하나로부터 수신되는 영상을 출력하도록 이루어질 수 있다. 디스플레이부(330)는 로봇(100)을 원격으로 관리하는 관리자의 디바이스에 구비된 것으로서, 도 2에 도시된 것과 같이, 원격 관제실(300a)에 구비될 수 있다. 나아가, 이와 다르게, 디스플레이부(330)는 모바일 디바이스에 구비된 디스플레이일 수 있다. 이와 같이, 본 발명에서는 디스플레이부의 종류에 대해서는 제한을 두지 않는다.
다음으로, 입력부(340)는 사용자(또는 관리자)로부터 입력되는 정보의 입력을 위한 것으로서, 입력부(340)는 사용자(또는 관리자)와 로봇 원격 제어 시스템(300) 사이의 매개체가 될 수 있다. 보다 구체적으로, 입력부(340)는 사용자로부터 로봇(100)을 제어하기 위한 제어 명령을 수신하는 입력 수단을 의미할 수 있다.
이때, 입력부(340)의 종류에는 특별한 제한이 없으며, 입력부(340)는 기계식 (mechanical) 입력수단(또는, 메커니컬 키, 예를 들어, 마우스(mouse), 조이스틱(joy stick ), 물리적인 버튼, 돔 스위치 (dome switch), 조그 휠, 조그 스위치 등) 및 터치식 입력수단 중 적어도 하나를 포함할 수 있다. 일 예로서, 터치식 입력수단은, 소프트웨어적인 처리를 통해 터치스크린에 표시되는 가상 키(virtual key), 소프트 키(soft key) 또는 비주얼 키(visual key)로 이루어지거나, 상기 터치스크린 이외의 부분에 배치되는 터치 키(touch key)로 이루어질 수 있다. 한편, 상기 가상키 또는 비주얼 키는, 다양한 형태를 가지면서 터치스크린 상에 표시되는 것이 가능하며, 예를 들어, 그래픽(graphic), 텍스트(text), 아이콘(icon), 비디오(video) 또는 이들의 조합으로 이루어질 수 있다. 이때, 입력부(340)가 터치 스크린을 포함하는 경우, 디스플레이부(330)는 터치 스크린으로 이루어 질 수 있다. 이 경우, 디스플레이부(330)는 정보를 출력하는 역할과, 정보를 입력받는 역할을 모두 수행할 수 있다.
다음으로 제어부(350)는 본 발명과 관련된 로봇 원격 제어 시스템(300)의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(350)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
특히, 제어부(350)는 로봇의 이동 경로 설정을 위한 맵을 생성하고, 상기 맵을 이용하여 로봇의 이동 경로를 설정하는데 필요한 제어를 수행할 수 있다.
한편, 로봇의 이동 경로 설정의 대상이 되는 공간에는 복수의 설비들이 배치될 수 있다. 본 발명은 상기 설비들 각각에 대한 제어를 수행하고, 로봇이 상기 설비들과 연동할 수 있도록 하는 설비 제어 시스템(400a 및 400b)을 더 포함할 수 있다.
한편, 본 발명에서는 설비의 종류에 대하여 제한을 두지 않으며, 이는 사람 또는 로봇이 생활하는 공간에서, 이들의 편의를 위하여 설치된 설비이거나, 공간의 기능 또는 다른 필요에 따라 설치된 설비일 수 있다. 설비는 스피드 게이트, 엘리베이터, 에스컬레이터, 자동문 등 매우 다양할 수 있다.
설비 제어 시스템(400a 및 400b)은 공간 내 설치된 설비 별로 구성될 수 있으나, 이에 한정되는 것은 아니다. 설비 제어 시스템 각각은 설비 제어부(410), 설비 DB(420), 설비 통신부(430)를 포함할 수 있다.
설비 제어부(410)는 설비의 동작과 관련된 제어를 수행하고, 설비의 상태를 모니터링하도록 이루어진다. 설비 제어부(410)는 설비 제어 시스템에 포함된 구성을 활용하거나, 로봇(10) 및 로봇 원격 제어 시스템(300)과의 통신을 통해 설비의 상태를 모니터링하여 설비 정보를 생성할 수 있다.
예를 들어, 설비 제어부(410)는 설비 이용자 수를 모니터링 하여 설비의 현재 혼잡도를 산출할 수 있다.
다른 예를 들어, 특정 설비가 복수의 장치(예를 들어, 복수의 엘리베이터)를 포함하는 경우, 현재 이용 가능한 장치를 모니터링할 수 있다.
한편, 설비 통신부(430)는 로봇(10) 또는 로봇 원격 제어 시스템(300)과 데이터를 송수신한다. 제어부(410)는 로봇의 현재 위치를 기반으로, 로봇 또는 로봇 원격 제어 시스템(300)으로 설비 정보를 전송할 수 있다. 로봇 또는 로봇 원격 제어 시스템(300)은 설비 시스템으로부터 수신된 데이터를 로봇의 이동 경로를 설정하는데 활용할 수 있다.
한편, 설비 DB(420)에는 설비와 관련된 정보가 저장될 수 있다. 특히, 설비 DB(420)에는 설비의 종류, 설비에 대응하는 서버와 관련된 정보, 설비가 배치된 위치에 대응하는 노드의 노드 정보 중 적어도 하나가 저장될 수 있다. 다만, 설비 DB(420) 저장되는 데이터의 종류는 이에 한정되지 않는다.
상술한 설비 제어 시스템은 설비에 대응하는 서버로 명명될 수 있다.
한편, 위의 설명에 의하면, 본 발명에서, 설비 제어 시스템(400a 및 400b)과 로봇 원격 제어 시스템(300)을 별개의 구성으로 설명하였다. 그러나, 본 발명은 이에 제한되지 않으며, 설비 제어 시스템(400a 및 400b)과 로봇 원격 제어 시스템(300)은 하나의 통합된 시스템으로 이루어질 수 있다.
이하에서는, 로봇(100)에서 수신되는 영상에 기반하여 로봇(100)의 현재 위치를 추정하는 방법에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 3은 본 발명에 따른 로봇 원격 제어 방법 및 시스템에서, 로봇에서 수집되는 영상 및 로봇의 현재 위치를 추정하는 방법을 설명하기 위한 개념도이다.
앞서 살펴본 것과 같이, 본 발명에 따른 제어부(350)는 로봇(100)에 구비된 카메라(미도시됨)를 이용하여 공간(10)에 대한 영상을 수신하고, 수신된 영상으로부터 로봇의 위치를 추정하는 Visual Localization수행하도록 이루어진다. 이때, 로봇(100)에 구비된 카메라는 공간(10)에 대한 영상, 즉, 로봇(100) 주변에 대한 영상을 촬영(또는 센싱)하도록 이루어진다. 이하에서는, 설명의 편의를 위하여, 로봇(100)에 구비된 카메라를 이용하여 획득된 영상을 “로봇 영상”이라고 명명하기로 한다. 그리고, 공간(10)에 배치된 카메라를 통하여 획득된 영상을 “공간 영상”이라고 명명하기로 한다.
제어부(350)는 도 3의 (a)에 도시된 것과 같이, 로봇(100)에 구비된 카메라를 통하여 로봇 영상(110)을 획득하도록 이루어진다. 그리고, 제어부(350)는 획득된 로봇 영상(110)을 이용하여, 로봇(100)의 현재 위치를 추정할 수 있다.
제어부(350)는 로봇 영상(110)과 저장부(320)에 저장된 지도 정보를 비교하여, 도 3의 (b)에 도시된 것과 같이, 로봇(100)의 현재 위치에 대응하는 위치 정보(예를 들어, “3층 A구역 (3, 1, 1)”를 추출할 수 있다.
앞서 살펴본 것과 같이, 본 발명에서 공간(10)에 대한 지도는 사전에 공간(10)을 이동하는 적어도 하나의 로봇에 의해, SLAM(Simultaneous Localization and Mapping)에 기반하여 작성된 지도일 수 있다. 특히, 공간(10)에 대한 지도는, 영상 정보를 기반으로 생성된 지도일 수 있다.
즉, 공간(10)에 대한 지도는 vision(또는 visual)기반의 SLAM기술에 의하여 생성된 지도일 수 있다.
따라서, 제어부(350)는 로봇(100)에서 획득된 로봇 영상(110)에 대해 도 3의 (b)에 도시된 것과 같이 좌표 정보(예를 들어, (3층, A구역(3, 1,1,))를 특정할 수 있다. 이와 같이, 특정된 좌표 정보는 곧, 로봇(100)의 현재 위치 정보가 될 수 있다.
이때, 제어부(350)는, 로봇(100)에서 획득된 로봇 영상(110)과 vision(또는 visual)기반의 SLAM 기술에 의하여 생성된 지도를 비교함으로써, 로봇(100)의 현재 위치를 추정할 수 있다. 이 경우, 제어부(350)는 i)로봇 영상(110)과 기 생성된 지도를 구성하는 이미지들 간의 이미지 비교를 이용하여, 로봇 영상(110)과 가장 비슷한 이미지를 특정하고, ii)특정된 이미지에 매칭된 위치 정보를 획득하는 방식으로 로봇(100)의 위치 정보를 특정할 수 있다.
이와 같이, 제어부(350)는 도 3의 (a)에 도시된 것과 같이, 로봇(100)에서 로봇 영상(110)이 획득되면, 획득된 로봇 영상(110)을 이용하여, 로봇의 현재 위치를 특정할 수 있다. 앞서 살펴본 것과 같이, 제어부(350)는 저장부(320)에 기 저장된 지도 정보(예를 들어, “노드 맵”으로도 명명 가능)로부터, 상기 로봇 영상(110)에 대응되는 위치 정보(예를 들어, 좌표 정보)를 추출할 수 있다.
한편, 위의 설명에서는, 제어부(350)에서 로봇(100)의 위치를 추정하는 예에 대하여 설명하였으나, 앞서 살펴본 것과 같이, 로봇(100)의 위치 추정은 로봇(100) 자체에서 이루어질 수 있다. 즉, 로봇(100)은 로봇(100) 자체에서 수신되는 영상에 근거하여, 앞서 살펴본 방식으로 현재 위치를 추정할 수 있다. 그리고, 로봇(100)은, 추정된 위치 정보를 제어부(350)에 전송할 수 있다. 이 경우, 제어부(350)는 로봇으로부터 수신되는 위치 정보에 기반하여, 일련의 제어를 수행할 수 있다.
한편, 위의 예에서는 로봇(100)에서 수신되는 영상 또는 공간에 구비된 카메라를 통해 수신되는 영상에 기반하여 로봇의 위치를 추정하는 방법에 대하여 살펴보았으나, 본 발명은 이에 한정되는 것이 아니다. 즉, 본 발명은 영상을 이용한 방법외에도, 로봇 또는 공간에 배치된 다양한 센서를 통하여 로봇의 위치를 추정하는 것이 가능하며, 이에 대한 특별한 한정을 두지 않는다.
한편, 위에서 살펴본 것과 같이, 본 발명은 저장부(320)에 기 저장된 지도 정보를 이용하여, 공간 내에서 로봇의 이동 경로를 설정할 수 있다. 제어부(350)는 로봇(100)이 현재 위치로부터, 특정 목적지까지 이동하도록 제어할 수 있다. 구체적으로, 본 발명은 로봇의 현재 위치 정보와 목적지 위치 정보를 특정하고, 목적지에 도달하는 경로를 설정하여, 로봇이 설정된 경로에 따라 이동하여 목적지에 도달할 수 있도록 제어한다.
이에, 본 발명은 로봇의 이동 경로를 효율적으로 설정하기 위한 지도 정보를 생성하는 방법을 제안한다. 이하에서는 제어부(350)에 의하여 지도(또는 지도 정보)가 생성되는 방법을 설명하나, 지동 정보의 생성은 제어부(350)가 아닌 다른 시스템에 의하여 생성될 수 있다. 이는 지도 정보 생성을 위하여 구축된 시스템일 수 있으며, 본 발명은 이에 대한 특별한 한정을 두지 않는다. 이하에서는, 설명의 편의를 위하여, 제어부(350)에서 지도 정보가 생성되는 것으로 설명하도록 한다.
먼저, 도 4는 로봇의 경로 설정에 활용되는 지도 정보를 나타내는 개념도이다.
앞서 설명한 바와 같이, 저장부(320)에는, 대상 공간(또는 공간, 10)에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 도 4를 참조하면, 저장부(320)에 저장되는 대상 공간(10)에 대한 지도는 2차원 평면도 형태로 이루어질 수 있으나, 이에 한정되는 것은 아니다.
한편, 지도 정보는 복수의 노드(node, 511, 521)를 포함할 수 있다. 본 명세서에서 ‘노드’란 로봇의 이동에 단위 목표가 되는 지점 또는 영역을 의미하며, 각각의 노드는 대상 공간의 특정 지점 또는 특정 영역에 대응한다.
각각의 노드 별로 노드 정보가 대응될 수 있다. 노드 정보는 적어도 세 가지 정보를 포함할 수 있다.
첫 번째로, 노드 정보는 좌표 정보를 포함한다. 단일 노드는 지도 상의 특정 좌표 또는 좌표 범위를 지정한다. 예를 들어, 노드는 지도 상에서 소정 면적을 가지는 원형의 영역을 지정하도록 이루어질 수 있다. 이를 위해, 노드에 포함된 좌표 정보는 특정 좌표 또는 좌표 범위로 이루어질 수 있다.
두 번째로, 노드 정보는 노드 연결 정보를 포함한다. 단일 노드는 해당 노드로부터 로봇이 이동 가능한 다른 노드를 정의하는 정보를 포함한다. 노드 연결 정보는 로봇이 해당 노드로부터 이동 가능한 다른 노드의 고유 번호 또는 상기 다른 노드가 지정하는 좌표 정보를 포함할 수 있다.
세 번째로, 노드 정보는 설비 정보를 포함한다. 설비 정보는 대상 공간에 배치된 설비와 관련된 정보를 정의한다. 구체적으로, 설비 정보는 설비의 종류, 설비에 대응하는 서버와 관련된 정보, 설비가 배치된 위치에 대응하는 노드의 노드 정보 중 적어도 하나를 포함할 수 있다.
또한, 노드 연결 정보는 노드들 간에 로봇이 이동 가능한 방향을 정의하는 방향 정보를 포함할 수 있다. 상기 방향 정보는 두 개의 노드 중 어느 하나에서 다른 하나로 로봇이 이동 가능할 때, 로봇이 단방향으로만 이동 가능한지, 아니면 양방향으로 모두 이동 가능한지 정의한다.
한편, 제어부(350)는 로봇이 어느 하나의 노드에서 다른 하나의 노드로 이동하도록 제어하고, 이러한 과정을 반복하여 로봇이 목표 지점에 도달할 수 있도록 제어한다. 본 명세서에서 로봇이 특정 노드로 이동한다 함은 특정 노드가 지정하는 좌표 정보 또는 좌표 범위 내로 로봇이 이동함을 의미한다.
본 발명은 상술한 위치 정보 추정 방법, 지도 정보를 이용하여 로봇을 현재 위치(S)로부터 목적지(A)까지 이동시키기 위한 이동 경로를 설정한 후, 로봇으로 전송한다.
이하에서는, 도 4를 참조하여, 본 발명에 따른 방법으로 생성되는 노드맵에 대하여 설명한다. 다만, 노드맵을 활용한 방법은 로봇의 주행을 제어하는 일 실시 예에 해당하며, 본 발명은 상술한 노드맵 이외의 다른 방법을 이용하여 로봇의 이동 경로를 설정할 수 있다. 즉, 로봇의 이동 경로를 설정하기 위한 맵(지도)의 구현 방식은 매우 다양할 수 있다.
노드맵은 노드로 이루어진다. 본 명세서에서 노드는 대상 공간에 배치된 설비와의 관련성에 따라 두 가지 타입을 가질 수 있다. 제1노드 타입을 가지는 노드는 대상 공간에 배치된 설비가 위치한 곳에 대응되는 영역에 할당되는 노드이고, 제2노드 타입은 설비가 위치한 곳과 대응되지 않는 영역에 할당되는 노드를 의미한다.
여기서, 제1노드 타입의 노드(511)는 대상 공간에서 특정 설비가 위치한 특정 지점 및 로봇이 상기 특정 설비(예를 들어, 스피드 게이트, 엘리베이터 등)를 통과하기 위하여 필수적으로 경유해야 하는 특정 영역 중 적어도 하나와 대응되는 영역에 할당된다. 즉, 로봇이 특정 설비를 이용하는 경우, 로봇은 상기 특정 설비에 대응하는 복수의 제1노드 타입의 노드 중 적어도 일부로 이동해야 한다.
한편, 대상 공간은 복수의 구역(510, 520)으로 구획될 수 있다. 노드맵은 복수의 구역(510, 520)을 포함한다. 각각의 구역에는 적어도 하나의 노드(511, 521)가 할당된다. 각각의 구역들은 구역에 포함된 적어도 하나의 노드를 기준으로 구분된다.
한편, 본 명세서에서 구역은 구역에 할당된 노드의 타입에 따라 두 가지 타입을 가질 수 있다. 구체적으로, 구역은 설비가 위치한 곳에 대응되는 영역에 할당되는 노드를 포함하는 제1구역 타입의 구역과 설비가 위치한 곳과 대응되지 않는 영역에 할당되는 노드를 포함하는 제2구역 타입의 구역으로 이루어질 수 있다.
제1 및 제2구역 타입 각각에는 동일 타입의 구역만 할당될 수 있다. 예를 들어, 제1구역 타입의 구역에는 제1노드 타입의 노드만 할당되며, 제2구역 타입의 구역에는 제2노드 타입의 노드만 할당될 수 있다.
각각의 구역에는 해당 구역에 대응하는 구역 정보가 대응될 수 있다. 구역 정보는, 해당 구역에 포함된 노드 각각의 일련 번호 및 위치 정보, 해당 구역에 포함된 노드 간의 연결 정보, 인접한 구역 간의 구역 연결 정보 및 설비 정보 중 적어도 하나를 포함할 수 있다.
구역 연결 정보는 해당 구역과 인접한 구역 별로 생성될 수 있다. 서로 이웃한 제1구역 및 제2구역에 대한 구역 연결 정보는 제1구역에 포함된 노드들 중 상기 제2구역과 가장 가깝게 배치된 제1노드의 노드 정보 및 제2구역에 포함된 노드들 중 상기 제1구역과 가장 가깝게 배치된 제2노드의 노드 정보를 포함할 수 있다. 즉, 구역 연결 정보는 구역 간 이동을 위해 이동해야 하는 노드를 정의한다.
설비 정보는 특정 구역에 배치된 설비와 관련된 정보를 정의한다. 구체적으로, 설비 정보는 설비의 종류, 설비에 대응하는 서버와 관련된 정보, 설비가 배치된 위치에 대응하는 노드의 노드 정보 중 적어도 하나를 포함할 수 있다.
한편, 로봇 원격 제어 시스템(300)은 대상 공간에 일시적인(또는 임시적인) 노드(임시 노드)를 할당하여 로봇의 주행 제어에 활용할 수 있다. 일시적으로 생성되는 노드에도 노드 정보가 대응될 수 있다. 이때, 일시적으로 생성되는 노드에 대응되는 노드 정보는 로봇 원격 제어 시스템(300)에 의해 설정되는 위치 정보 및 일시적으로 생성된 노드의 위치를 기준으로 소정 거리 이내에 위치한 노드 간의 연결 정보를 포함할 수 있다.
일 실시 예에 있어서, 도 4를 참조하면, 대상 공간에서 로봇의 이동 경로를 제공하기 위한 노드맵은 복수의 구역(510 내지 550)으로 구획될 수 있다. 여기서, 복수의 구역들은 반드시 동일 평면 상에 위치할 필요 없으며, 각각의 구역들은 공간 내 다른 층에 대응될 수 있다.
한편, 특정 구역은 서로 다른 두 개의 층 각각에 할당될 수 있다. 일 실시 예에 있어서, 대상 공간에 할당된 복수의 구역 중 어느 하나(530)는 1층 및 2층 각각에 할당되어, 1층 및 2층을 연결할 수 있도록 이루어진다. 이에 대한 구체적인 내용은 후술한다.
복수의 구역(510 내지 550) 각각에는 적어도 하나의 노드가 할당될 수 있다. 설비가 배치된 위치에 대응되는 제1구역 타입의 구역(510)에는 특정 설비와 관련된 제1노드 타입을 가지는 복수의 노드가 할당된다. 한편, 설비가 배치된 위치에 대응되지 않는 제2구역 타입의 구역(520)에는 제2노드 타입을 가지는 복수의 노드가 할당된다.
*본 발명은 상술한 대상 공간에 대응하는 노드맵을 생성한 후, 로봇의 이동 경로를 설정하는데 활용한다. 도 5에서 설명한 바와 같이, 노드맵은 설비가 배치된 구역에 대응되는 노드와 설비가 배치된 구역에 대응되지 않는 노드를 포함한다. 본 발명은 설비가 배치되지 않은 영역과 설비가 배치된 영역을 효율적으로 활용하여 로봇의 이동 경로를 설정할 수 있는 노드맵을 설정하는 방법을 제공한다.
이하, 노드맵을 설정하는 방법에 대하여 구체적으로 설명한다.
도 5는 본 발명에 따른 노드맵 설정 방법을 설명하기 위한 흐름도이고, 도 6a, 도 6b, 도 6c, 도 6d 및 도 6e는 본 발명에 따른 노드맵 설정 방법을 나타내는 개념도들이다.
도 5를 참조하면, 기 설정된 노드 할당 기준에 근거하여, 상기 대상 공간에 대응되도록, 복수의 노드를 할당하는 단계가 진행된다(S120).
대상 공간 상에 로봇이 이동 가능한 영역 중 일부에는 노드가 할당될 수 있다. 노드는 기 설정된 간격으로 할당될 수 있으며, 로봇이 이동 가능한 면적에 비례하여 할당되는 노드의 수가 증가할 수 있다.
특정 영역에 대응하는 노드가 할당되는 경우, 상기 노드에 대응하는 노드 정보가 생성된다. 노드 정보는 해당 노드에 대응하는 위치 정보와 다른 노드와의 연결 정보를 포함한다.
상기 연결 정보는 로봇이 다른 노드를 경유하지 않고, 해당 노드에서 곧바로 이동할 수 있는 노드를 정의한다. 상기 연결 정보는 해당 노드와 인접한 위치에 새로운 노드가 생성될 때마다 갱신될 수 있다.
한편, 노드는 설비의 배치 여부에 따라 다르게 할당될 수 있다. 구체적으로, 설비가 배치된 위치에 대응되는 영역은 제1노드 타입의 노드가 할당될 수 있다. 이때, 제1노드 타입의 노드는 설비가 위치한 특정 지점 및 상기 로봇이 상기 설비를 통과하기 위하여 필수적으로 경유해야 하는 특정 영역 중 적어도 하나와 대응되는 영역에 할당된다.
한편, 본 발명에서는 설비의 종류에 대하여 제한을 두지 않으며, 이는 사람 또는 로봇이 생활하는 공간에서, 이들의 편의를 위하여 설치된 설비이거나, 공간의 기능 또는 다른 필요에 따라 설치된 설비일 수 있다. 설비는 스피드 게이트, 엘리베이터, 에스컬레이터, 자동문 등 매우 다양할 수 있다.
한편, 제1노드 타입의 노드는 대응되는 설비의 종류에 따라 다른 방식으로 할당될 수 있다.
일 실시 예에 있어서, 도 6c를 참조하면, 자동문이 배치된 위치에 대응하는 노드를 할당하는 경우, 자동문에 의해 구획되는 두 영역 각각에 노드(N26 및 N27)가 할당되며, 각각의 노드는 자동문으로부터 소정 거리 이내의 영역에 할당될 수 있다. 상기 소정 거리는 자동문의 물체 인식 범위 및 로봇의 이동 속도에 기반하여 설정될 수 있다.
자동문에 대응하는 노드 정보는 자동문에 의해 구획되는 두 영역 각각의 노드를 연결하는 연결 정보를 포함한다.
다른 일 실시 예에 있어서, 도 6d를 참조하면, 스피드 게이트가 배치된 위치에 대응하는 노드를 할당하는 경우, 크게 세 종류의 노드가 할당될 수 있다. 구체적으로, 스피드 게이트에 대응하는 설비 노드는 스피드 게이트가 위치한 지점에 할당되는 게이트 노드(N7 및 N10), 개방 대기 노드(N6, N8, N9, N11), 스피드 게이트의 이용을 대기해야 하는 지점에 할당되는 이용 대기 노드(N5, N12)를 포함할 수 있다.
게이트 노드(N7 및 N10)는 스피드 게이트의 개수 만큼 할당되며, 스피드 게이트가 개방되는 것과 연동하여 로봇이 통과해야 하는 영역에 할당된다. 게이트 노드에 대응하는 노드 정보는 특정 게이트 노드와 연결되는 개방 대기 노드와의 연결 정보를 포함한다.
개방 대기 노드(N6, N8, N9, N11)는 각각의 스피드 게이트마다 두 개씩 할당될 수 있다. 구체적으로, 제1스피드 게이트가 위치한 지점에 할당되는 N10 노드 주변에는 N9, N11노드가 할당되며, 제2스피드 게이트가 위치한 지점에 할당되는 N7 노드 주변에는 N6, N8노드가 할당된다. 개방 대기 노드(N6, N8, N9, N11)는 이용하고자 하는 스피드 게이트가 개방될 때까지 로봇이 대기해야 하는 위치에 할당된다. 개방 대기 노드에 대응하는 노드 정보는 개방 대기 노드와 관련된 게이트 노드 및 이용 대기 노드와의 연결 정보를 포함한다.
이용 대기 노드(N5, N12)는 스피드 게이트에 의해 구획되는 두 영역 각각에 할당되며, 로봇이 이용 대기 노드에 도착하면, 복수의 게이트 중 로봇이 이용할 게이트가 결정된다. 이용 대기 노드는 개방 대기 노드와 소정 거리 이내의 영역에 할당된다.
이용 대기 노드에 대응하는 노드 정보는 적어도 하나의 개방 대기 노드와의 연결 정보를 포함한다.
정리하면, 로봇이 스피드 게이트 이용 시 로봇은 이용 대기 노드, 개방 대기 노드, 게이트 노드, 반대편 개방 대기 노드를 경유하여 스피드 게이트 반대편으로 이동할 수 있다.
한편, 일부 설비에는 임시 노드가 할당될 수 있다. 예를 들어, 도 6d를 참조하면, 스피드 게이트가 동작하지 않을 때, 스피드 게이트를 통과할 수 있는 임시 출입구가 개방될 수 있다. 이때, 임시 출입구에는 임시 노드(S1, S2)가 할당될 수 있다. 로봇은 임시 노드(S1, S2)를 통해 임시 출입구를 통과할 수 있게 된다. 스피드 게이트의 기능이 복구되는 경우, 상기 임시 노드는 지도 정보에서 삭제될 수 있다.
다른 일 실시 예에 있어서, 도 6e를 참조하면, 엘리베이터가 배치된 위치에 대응하는 노드를 할당하는 경우, 크게 두 종류의 노드가 할당될 수 있다. 구체적으로, 엘리베이터에 대응하는 설비 노드는 엘리베이터 내부 공간에 할당되는 노드(N37), 엘리베이터의 문이 개방되는 것을 대기해야 하는 위치에 할당되는 개방 대기 노드(N35, N39)를 포함할 수 있다.
엘리베이터 내부 공간에 할당되는 노드(N37)는 엘리베이터마다 할당될 수 있으며, 엘리베이터의 현재 위치에 따라 노드의 위치가 달라질 수 있다. 엘리베이터 내부 공간에 할당되는 노드(N37)에 대응되는 노드 정보는 엘리베이터를 이용할 수 있는 층 각각에 할당되는 개방 대기 노드와의 연결 정보를 포함한다.
한편, 개방 대기 노드는 엘리베이터를 이용할 수 있는 각 층마다 할당되며, 엘리베이터마다 할당될 수 있다. 개방 대기 노드(N35, N39)는 이용하고자 하는 엘리베이터가 개방될 때까지 로봇이 대기해야 하는 위치에 할당된다. 개방 대기 노드에 대응되는 노드 정보는 엘리베이터 내부 공간에 할당되는 노드(N37)와의 연결 정보를 포함한다.
정리하면, 로봇이 엘리베이터 시 로봇은 개방 대기 노드, 엘리베이터 내부 공간에 할당되는 노드, 다른 층의 개방 대기 노드를 경유하여 다른 층으로 이동할 수 있다. 한편, 도시되지 않았지만, 엘리베이터와 관련된 노드는 스피드 게이트와 관련된 노드와 마찬가지로 이용 대기 노드를 포함할 수 있다.
위에서 살펴본 것과 같이, 설비에 대응되는 위치에는 설비의 종류에 따른 제1노드 타입의 노드가 할당될 수 있다.
일 실시 예에 있어서, 설비에 대응되지 않는 위치에는 기 설정된 간격으로 제2노드 타입의 노드가 할당될 수 있다.
한편, 상기 노드는 일시적으로 대상 공간의 특정 위치에 대응되도록 할당될 수 있다. 예를 들어, 로봇의 이동 경로를 설정하는 경우, 로봇의 현재 위치 및 로봇의 목적지 각각에 대응되는 노드가 일시적으로 할당될 수 있다. 다른 예를 들어, 특정 설비의 혼잡으로 인하여 로봇이 특정 설비를 곧바로 이용할 수 없는 경우, 상기 특정 설비와 소정 거리 이내의 영역에 대기 노드가 일시적으로 할당될 수 있다.
일 실시 예에 있어서, 도 6a를 참조하면, 대상 공간에 대하여 복수의 노드(N1 내지 N40)이 할당되며, 상기 노드들 간의 연결 정보(M1 및 M2)가 정의될 수 있다.
위에서 살펴본 것과 같이, 노드를 할당한 후, 상기 대상 공간에 포함된 설비를 기준으로, 상기 복수의 노드에 대해 클러스터링(clustering)을 수행하는 단계가 수행된다(S120).
노드에 대한 클러스터링은 기준이 되는 노드를 중심으로 인접한 노드를 하나의 그룹으로 분류해가는 과정을 의미한다. 클러스터링은 노드에 대응하는 노드 정보에 포함된 연결 정보에 기반하여 수행될 수 있다. 구체적으로, 기준 노드에 대응하는 연결 정보에 정의된 노드를 상기 기준 노드와 동일한 그룹으로 분류한다. 이후, 기준 노드와 동일한 그룹으로 분류된 노드에 대응하는 노드 정보에 포함된 연결 정보에 정의된 노드를 상기 기준 노드와 동일한 그룹으로 분류한다. 이때, 특정 연결 정보가 다른 타입의 노드 정보를 정의하는 경우, 상기 다른 타입의 노드는 기준 노드와 동일한 그룹으로 분류하지 않는다. 상기 클러스터링은 동일한 노드 타입의 노드들이 서로 이웃하지 않을 때까지 수행된다.
한편, 노드에 대한 클러스터링은 설비가 포함된 영역과 설비가 포함되지 않은 영역을 구분하여 수행된다.
일 실시 예에 있어서, 노드에 대한 클러스터링은 설비가 포함된 영역에 우선적으로 수행될 수 있다. 먼저, 설비가 포함된 영역 별로 기준 노드를 선택하고, 기준 노드에 대응되는 노드 정보에 포함된 연결 정보에서 정의하는 노드(인접 노드)를 상기 기준 노드와 동일한 그룹으로 분류한다. 이후, 상기 인접 노드에 대응되는 노드 정보에 포함된 연결 정보에서 정의하는 노드를 상기 기준 노드와 동일한 그룹으로 분류한다. 상기 클러스터링은 동일한 노드 타입 및 동일한 설비에 대응되는 노드가 다른 타입의 노드와 이웃할 때까지 수행된다. 이때, 상기 동일한 노드 타입의 노드 들이 포함된 구역의 경계는, 상기 다른 타입의 노드가 이웃한 노드에 의해 정의될 수 있다.
제1노드 타입을 가지는 노드에 대한 클러스터링 결과, 동일 설비에 대응하는 노드는 하나의 그룹으로 분류되며, 대상 공간에 포함된 설비들 각각에 대응하는 노드들이 각각의 독립된 그룹으로 분류된다.
다음으로, 설비가 포함되지 않은 영역에 대한 클러스터링을 수행한다. 설비가 포함되지 않은 영역에 대한 클러스터링도 마찬가지로, 다른 타입의 노드와 이웃할 때까지 수행될 수 있다. 이때, 상기 동일한 노드 타입의 노드 들이 포함된 구역의 경계는, 상기 다른 타입의 노드가 이웃한 노드에 의해 정의될 수 있다.
제2노드 타입을 가지는 노드에 대한 클러스터링 결과, 설비를 포함하지 않으며, 로봇이 특정 설비를 이용하지 않고 이동할 수 있는 복수의 노드가 하나의 그룹으로 분류된다.
이후, 상기 클러스터링의 수행 결과에 근거하여, 상기 대상 공간을 복수의 노드 중 적어도 하나를 포함하는 복수의 구역으로 구분하는 단계가 수행된다(S130).
상기 클러스터링 결과 동일한 그룹으로 분류된 노드들을 기준으로 하나의 구역이 할당된다. 이에 따라, 하나의 구역은 클러스터링 결과 동일한 그룹으로 분류된 노드로만 구성된다.
구역 생성 시, 해당 구역에 대응되는 구역 정보가 생성될 수 있다.
각각의 구역에는 해당 구역에 대응하는 구역 정보가 대응될 수 있다. 이 때, 해당 구역에 포함된 노드 각각의 일련 번호 및 위치 정보, 해당 구역에 포함된 노드 간의 연결 정보, 인접한 구역 간의 구역 연결 정보 및 설비 정보 중 적어도 하나가 생성될 수 있다.
구역 연결 정보는 해당 구역 및 인접한 구역에 포함된 노드의 노드 연결 정보에 기반하여 생성될 수 있다. 구체적으로, 서로 이웃한 제1구역 및 제2구역에 대한 구역 연결 정보는 제1구역에 포함된 노드들 중 상기 제2구역과 가장 가깝게 배치된 제1노드의 노드 연결 정보 및 제2구역에 포함된 노드들 중 상기 제1구역과 가장 가깝게 배치된 제2노드의 노드 연결 정보에 기반하여 생성될 수 있다.
설비 정보는 구역에 포함된 노드에 대응되는 설비 정보에 기반하여 생성될 수 있다. 상기 설비 정보는 해당 설비에 대응되는 서버에 의해 주기적으로 갱신될 수 있다. 구체적으로, 설비 정보는 설비의 상태 정보를 포함할 수 있다. 설비의 상태 정보는 설비의 구동 상태, 혼잡도, 예상 대기 시간 중 적어도 하나를 정의할 수 있다. 상기 설비의 상태 정보는 상기 서버에 의해 주기적으로 업데이트 된다.
일 실시 예에 있어서, 도 6b를 참조하면, 복수의 노드는 노드 각각에 대응되는 연결 정보 및 노드 타입에 기반하여 복수의 그룹들로 분류된다. 대상 공간은 상기 그룹들을 기준으로 복수의 그룹(C1 내지 C7)로 구획될 수 있다. 로봇은 특정 그룹과 인접한 그룹으로 이동하는 것이 가능하다.
상기 그룹들은 설비가 배치된 위치에 대응되는 그룹(C2, C4, C6, C7)과 설비가 배치된 위치에 대응되지 않는 그룹(C1, C3)으로 이루어질 수 있다.
마지막으로, 복수의 노드 및 상기 복수의 구역 간의 구역 연결 정보를 포함하는 상기 대상 공간에 대한 맵을 생성하는 단계가 수행된다(S140).
상술한 방법으로 생성된 노드맵은 설비 구역과 설비가 배치되지 않은 구역(일반 구역)을 구분하며, 설비 구역 및 일반 구역 중 어느 하나에서 다른 하나로 이동하기 위한 구역 연결 정보를 제공한다.
상기 노드맵은 대상 공간의 상태 변화 및 사용자 요청에 의해 변경될 수 있다. 상기 노드맵이 변경되는 실시 예에 대하여는 후술한다.
위에서 살펴본 것과 같이, 본 발명은 설비가 배치된 영역과 설비가 배치되지 않은 영역을 구분하여 노드맵을 생성하기 때문에, 설비의 특성을 고려한 이동 경로의 설정이 가능해진다.
본 발명은 상술한 방법으로 생성된 노드맵을 활용하여 설비가 포함된 구역과 설비가 포함되지 않은 구역을 효율적으로 활용하여 로봇의 이동 경로를 설정할 수 있는 방법 및 시스템을 제공한다. 이하에서는, 상술한 노드맵을 활용한 로봇의 원격 제어 방법 및 시스템에 대하여 설명한다.
도 7a는 본 발명에 따른 노드맵을 활용하여 로봇의 이동 경로를 설정하는 일 실시 예를 설명하기 위한 흐름도이고, 도 7b 및 7c는 본 발명에 따른 노드맵을 활용하여 로봇의 이동 경로를 설정하는 일 실시 예를 설명하기 위한 개념도들이다.
도 7a를 참조하면, 로봇의 목적지를 설정하는 단계가 수행된다(S210).
로봇의 목적지는 다양한 루트를 통해 수신되거나, 설정될 수 있다. 로봇의 목적지는 제어부(350)의 제어 하에 설졍될 수 있다. 제어부(350)는 로봇에 임무를 할당하고, 할당된 임무가 수행되도록 적절한 로봇의 목적지를 설정할 수 있다.
한편, 로봇의 목적지는 로봇에 의해 설정되어, 로봇 원격 제어 시스템(300)으로 전송되거나, 로봇 원격 제어 시스템(300)에 의해 설정될 수 있다.
목적지는 노드맵 상의 특정 지점에 대응하는 위치로 설정된다. 상기 목적지는 기 할당된 노드 중 어느 하나이거나, 노드로 할당되지 않은 영역일 수 있다.
상기 목적지가 노드로 할당되지 않은 영역인 경우, 상기 목적지를 포함하는 노드가 일시적으로 할당될 수 있다. 이 경우, 상기 목적지 노드 주변 노드들의 연결 정보가 갱신될 수 있다.
목적지가 설정되는 경우, 복수의 구역 각각에 대한 구역 정보에 기반하여, 목적지에 도달하기 위해 상기 로봇이 경유하는 구역을 포함하는 구역 경로를 설정하는 단계가 수행된다(S220).
여기서, 구역 경로의 설정은 복수의 구역 및 상기 복수의 구역 각각에 포함된 복수의 노드를 포함하는 맵(노드맵)을 이용하여 수행될 수 있다. 제어부(350)는 상기 복수의 구역 중 상기 로봇이 상기 목적지에 도달하기 위하여 경유해야 하는 적어도 하나의 경유 구역을 특정하고, 상기 경유 구역에 기반하여 구역 경로를 생성할 수 있다.
제어부(350)는 상기 경유 구역 특정을 위해, 로봇의 현재 위치로부터 상기 목적지에 도달하기 위하여 로봇이 경유하는 구역의 조합을 생성한다. 이때, 가능한 구역의 조합은 적어도 한 개 생성될 수 있는데, 상기 경유 구역은 상기 조합들 각각에 대한 이동 비용, 이동 예상 시간, 로봇에 할당된 임무 중 적어도 하나에 기반하여, 상기 조합들 중 어느 하나로 특정될 수 있다.
일 실시 예에 있어서, 제어부(350)는 상기 이동 비용, 상기 이동 예상 시간은 구역 각각에 대한 구역 정보를 기반으로 산출할 수 있다. 이때, 구역 정보에 포함된 설비 정보가 활용될 수 있다. 제어부(350)는 상기 이동 비용, 상기 이동 예상 시간은 설비 정보에 포함된 설비의 종류, 특정 설비의 구동 상태 및 설비의 혼잡도 중 적어도 하나에 기반하여 산출할 수 있다.
제어부(350)는 상기 구역 정보에 기반하여 상기 조합들 각각에 대한 이동 비용 또는 이동 예상 시간을 산출하고, 산출된 이동 비용 또는 이동 예상 시간을 가지는 조합을 경유 구역으로 특정할 수 있다.
여기서, 목적지까지의 경로 중 동일한 종류의 설비와 관련된 복수의 구역이 존재하는 경우, 제어부(350)는 상기 구역 각각에 대응하는 혼잡도를 기반으로 복수의 구역 중 어느 하나를 선택할 수 있다.
다른 일 실시 예에 있어서, 로봇에 할당된 임무에 기반하여, 상기 임무에 대응하는 설비를 포함하는 구역이 상기 경유 구역에 포함될 수 있다. 예를 들어, 로봇에 할당된 임무가 화물을 다른 층으로 운송하는 임무인 경우, 상기 경유 구역은 화물용 엘리베이터를 포함하는 구역을 포함할 수 있다.
다른 일 실시 예에 있어서, 다른 로봇의 이동 경로에 기반하여, 상기 경유 구역이 특정될 수 있다. 구체적으로, 제어부(350)는 경유 구역 특정 시 기 할당된 다른 로봇들의 이동 경로를 기반으로 구역 혼잡도를 산출할 수 있다. 제어부(350)는 상기 구역 혼잡도를 상기 조합들 각각에 대한 이동 비용 또는 이동 예상 시간 산출에 활용할 수 있다.
경유 구역이 특정되면, 제어부(350)는 경유 구역에 포함된 구역에 대응되는 구역 정보를 이용하여 구역 경로를 생성할 수 있다. 구체적으로, 구역 경로는 로봇이 경유하는 구역을 특정하는 정보 및 상기 특정 된 구역에 대한 구역 연결 정보를 포함할 수 있다.
일 실시 예에 있어서, 도 7b를 참조하면, 로봇의 목적지(A)가 N39로 설정되면, 로봇(R)의 현재 위치(S) 및 목적지(A) 정보에 기반하여, 상기 로봇(R)이 목적지에 도달하기 위해 경유해야 하는 경유 구역(C1, C2, C3, C6, C7)이 특정된다. 이후, 상기 경유 구역(C1, C2, C3, C6, C7) 각각에 대응되는 구역 연결 정보에 기반하여 구역 경로가 생성된다.
상기 구역 경로는 로봇(R)이 1) 현재 위치에서 N4로 이동, 2) N4에서 N5 로 이동, 3) N5에서 N13으로 이동, 4) N13에서 N14로 이동, 5), N14에서 N33으로 이동, 6) N33에서 N35(또는 N36)으로 이동, 7) N35(또는 N36)에서 N37(또는 N38)로 이동, 8) N37(또는 N38)에서 N39(또는 N40)로 이동하는 이동 경로를 정의한다. 즉, 상기 구역 경로는 구역 내에서의 세부적인 이동 경로를 정의하지 않고, 경유 구역 내에서의 최초 노드 및 마지막 노드와 경유 구역 간의 연결 정보만을 정의한다.
위에서 살펴본 것과 같이, 본 발명은 로봇의 이동 계획 수립 시, 구역 단위로 1차 계획을 수립한다. 이후, 구역 경로에 포함된 구역 각각에 대한 세부 경로를 설정하는 단계가 수행된다(S130).
세부 경로는 경유 구역 별로 생성되며, 구역 단위에서 로봇이 경유 해야하는 노드를 정의한다.
경유 구역에 포함된 구역 각각에 대한 세부 경로는 함께 생성되거나, 서로 다른 시점에 생성될 수 있다. 구체적으로, 경유 구역에 포함된 구역 각각에 대한 세부 경로 생성 시점은 로봇의 이동 정도에 따라 정해질 수 있다. 구체적으로, 제어부(350)는 상기 로봇의 현재 위치를 파악하고, 구역 경로 상의 로봇의 위치에 따라 특정 구역에 대한 세부 경로 생성 시점을 결정할 수 있다.
일 실시 예에 있어서, 제어부(350)는 로봇의 현재 위치를 모니터링하여 로봇이 특정 구역에 진입하는 것이 모니터링 되는 경우, 상기 특정 구역에 대한 세부 경로를 설정할 수 있다.
다른 일 실시 예에 있어서, 제어부(350)는 로봇의 현재 위치로부터 특정 구역에 도달하기까지의 예상 시간을 산출하고, 상기 예상 시간이 기준 값보다 작은 경우, 특정 구역에 대한 세부 경로를 설정할 수 있다.
다른 일 실시 예에 있어서, 제어부(350)는 로봇이 특정 구역의 이전 구역의 마지막 노드에 도착하거나, 상기 마지막 노드를 통과하는 것이 모니터링 되는 경우, 특정 구역에 대한 세부 경로를 설정할 수 있다.
한편, 제1구역 타입의 구역에 대한 세부 경로를 설정하는 경우, 상기 세부 경로는 해당 구역에 대응하는 설비와 관련된 서버로부터 수신된 정보에 기반하여 설정될 수 있다.
구체적으로, 특정 설비와 관련된 서버는 로봇 또는 로봇 원격 제어 시스템(300)으로 특정 설비와 관련된 정보를 전송할 수 있다.
여기서, 특정 설비의 상태 정보는 특정 설비의 구동 여부, 특정 설비에 포함된 복수의 장치 중 현재 이용 가능한 장치를 특정하는 정보, 특정 설비 이용에 대한 예상 대기 시간 중 적어도 하나를 포함할 수 있다.
일 실시 예에 있어서, 엘리베이터와 관련된 서버는 로봇 또는 로봇 원격 제어 시스템(300)으로 복수의 엘리베이터 각각의 현재 층 수, 이용 가능한 엘리베이터 정보, 엘리베이터 이용 혼잡도 중 적어도 하나를 전송할 수 있다.
다른 일 실시 예에 있어서, 스피드 게이트와 관련된 서버는 로봇 또는 로봇 원격 제어 시스템(300)으로 현재 운행 중인 게이트 정보 및 운행 중인 게이트별 현재 대기 인원 수 정보 중 적어도 하나를 전송할 수 있다.
제어부(350)는 특정 설비와 관련된 서버로부터 수신된 설비의 상태 정보에 기반하여 세부 경로를 생성할 수 있다.
다른 일 실시 예에 있어서, 상기 세부 경로 중 적어도 일부는 특정 설비와 관련된 서버에 의해 설정될 수 있다. 상기 서버는 현재 설비 상태 정보에 기반하여, 로봇이 특정 설비를 이용하기 위해 이동해야 하는 노드를 선택하고, 상기 선택된 노드 정보를 로봇 또는 로봇 원격 제어 시스템(300)으로 전송할 수 있다.
예를 들어, 도 7c 에 도시된 구역은 스피드 게이트에 대응하는 구역(C2)이다. 상기 로봇이 상기 구역(C2)의 이용 대기 노드(N5)에 진입하는 것이 감지되면, 스피드 게이트에 대응하는 서버는 스피드 게이트의 상태 정보에 기반하여 두 개의 개방 대기 노드(N6, N9) 중 로봇이 이동해야 하는 노드를 선택하여 로봇 또는 로봇 원격 제어 시스템(300)으로 전송할 수 있다. 제어부(350)는 상기 서버로부터 수신된 노드 정보에 기반하여, N5에서 N9로 이동하여 게이트 노드(N10)를 통과한 후, N11, N12, N13을 순차적으로 통과하는 세부 경로를 설정할 수 있다.
한편, 로봇 또는 로봇 원격 제어 시스템(300)과 특정 설비가 통신을 하는 시점은 로봇의 현재 위치에 따라 정해질 수 있다. 구체적으로, 제어부(350)는 상기 로봇의 현재 위치를 파악하고, 구역 경로 상의 로봇의 위치에 따라 특정 설비에 대응하는 서버로 특정 설비의 상태 정보를 요청하거나, 상기 로봇이 상기 특정 설비에 대응하는 서버로 상태 정보를 요청하도록 제어할 수 있다.
예를 들어, 로봇이 제1구역 타입의 구역에 진입하는 것이 모니터링되는 경우, 제어부(350)는 상기 제1구역 타입의 구역에 대응하는 서버로 설비의 상태 정보를 요청할 수 있다.
마지막으로, 로봇이 구역 경로 및 세부 경로를 따라 주행하도록, 구역 경로 및 세부 경로를 로봇으로 전송하는 단계가 수행될 수 있다(S240).
상기 구역 경로 및 세부 경로는 서로 다른 시점에 로봇으로 전송될 수 있다. 구체적으로, 특정 구역에 대한 세부 경로는 로봇이 특정 구역으로 이동하는 중, 로봇이 특정 구역에 진입하였을 때, 로봇으로 전송될 수 있다.
로봇은 구역 경로에 포함된 순서로 적어도 하나의 구역을 경유하여 목적지에 도달한다. 한편, 각각의 구역에서 로봇은 세부 경로에 포함된 노드를 차례대로 경유하여 다음 구역으로 이동할 수 있다.
위에서 살펴본 것과 같이, 본 발명은 로봇의 이동 정도에 따라 특정 구역에 대한 세부 경로를 설정함으로써, 설비 이용 환경에 대한 변동성이 큰 상황에서도 최적의 로봇의 이동 경로를 설정할 수 있도록 한다.
위에서 살펴본 것과 같이, 로봇의 이동 경로는 기 생성된 노드맵을 통해 생성될 수 있다. 동일한 목적지로의 이동 경로를 설정하더라도, 노드맵의 형태에 따라 로봇의 이동 경로가 달라질 수 있다. 이하에서는, 로봇의 효율적인 이동 경로 설정을 통해, 노드맵의 일부를 변경하는 실시 예에 대하여 설명한다.
노드맵을 변경하는 실시 예에 대한 설명에 앞서, 도 4에서 설명한 클러스터링 단계에 대하여 보다 구체적으로 설명한 후, 클러스터링 결과에 대하 관리자가 개입하여 노드맵을 변경할 수 있는 방법에 대하여 설명한다.
도 8a, 8b, 8c는 본 발명의 일 실시 예에 따른 클러스터링 방법을 나타내는 개념도이고, 도 9a 및 9b는 본 발명의 일 실시 예에 따른 가상 벽 생성 방법을 나타내는 개념도이다.
클러스터링 방법에 대한 설명은 도 8a, 8b, 8c에 도시된 노드를 이용하여 설명한다.
먼저, 대상 공간에 할당된 복수의 노드 중 제1노드 타입을 가지는 노드에 대한 클러스터링을 먼저 수행한다. 이에 따라, 설비와 관련된 두 개의 그룹(820 및 830)이 생성된다.
이후, 제2노드 타입을 가지는 노드 중 임의의 노드를 기준 노드로 설정한다. 이때, 임의의 노드는 복수 개(N57, N66, N72) 선택되거나, 한 개의 노드(N57)만 선택될 수 있다. 선택된 노드 각각을 기준으로 그룹(810, 840, 850)이 설정된다.
이하 설명하는 도 8b, 8c에서는 기준 노드로 한 개의 노드(N57)를 선택한 후 클러스터링 하는 방법에 대하여 설명한다.
도 8b를 참조하면, 기준 노드(N57)에 대응되는 노드 연결 정보에 기반하여, 기준 노드와 인접한 복수의 노드(N54, N56, N58)을 기준 노드(N57)와 동일한 노드에 포함시킨다. 이에 따라, 그룹(810’)의 크기가 확장된다.
클러스터링을 계속 수행할 경우, N50 내지 N58이 기준 노드와 동일한 그룹(810’’)에 포함될 수 있다. 상기 그룹(810’’) 주변에 로봇이 이동 가능한 제2노드 타입의 노드가 없기 때문에, 상기 그룹(810’’)에 대한 클러스터링을 종료된다.
상기 그룹(810’’)에 대한 클러스터링 종료 후, 제어부(350)는 할당된 노드 중 그룹에 포함되지 않은 노드가 있는지 판단한다. 상기 그룹(810’’)에 대한 클러스터링을 종료한 상태에서는 N65 내지 N70, N71 내지 N76이 어느 그룹에도 속하지 않은 상태이다. 로봇 원격 제어 시스템(300)은 N65 내지 N70, N71 내지 N76 중 임의의 노드를 기준 노드로 선택하여 클러스터링을 수행한다. 이러한 과정은 할당된 노드 중 어느 그룹에도 속하지 않은 노드가 존재하지 않을 때까지 계속된다. 결과적으로, 도 8c과 같이, 추가적인 두 개의 그룹(840 및 850)이 더 생성된다.
이후, 제어부(350)는 생성된 그룹에 기반하여 구역을 설정한다.
상술한 방식으로 클러스터링을 수행하는 경우, 관리자가 원하지 않는 노드가 동일한 구역에 포함될 수 있다.
예를 들어, 도 9a를 참조하면, N77, N78, N79는 우회 통로로, N50 내지 N58(제1영역), N65 내지 N70(제2영역)과는 물리적으로 매우 멀리 떨어져 있기만, 로봇은 상기 우회 통로를 이용하여 제1영역 및 제2영역 중 어느 하나에서 다른 하나로 이동할 수 있다. 상기 우회 통로는 특정 설비(930에 대응하는 설비)에 문제가 발생되었을 때만 선택적으로 이용하는 통로이다.
로봇이 상기 특정 설비를 이용할 경우, 우회 통로를 이용하는 경우보다 빠르게 제1 및 제2영역 사이를 이동할 수 있다.
상술한 클러스터링 방법에 따르면, 제1영역, 제2영역 및 우회 통로에 할당된 노드는 모두 동일한 그룹으로 분류(910)될 수 있다. 이에 따라, 제1 및 제2영역 중 어느 하나에서 다른 하나로 이동하는 이동 경로 설정 시 우회 통로가 우선적으로 이용될 수 있다.
이를 방지하기 위해, 클러스터링 결과는 관리자의 요청에 의해 적어도 일부가 변경될 수 있다. 구체적으로, 제어부(350)는 관리자의 요청에 기반하여 특정 노드 사이에 가상의 벽을 생성하여, 특정 노드들이 하나의 그룹으로 분류되는 것을 방지하거나, 로봇이 특정 경로 이동하는 것을 방지할 수 있다.
예를 들어, 도 9b를 참조하면, 관리자 요청에 의해 우회 통로에 대응하는 노드(N77, N78, N79)는 제1 및 제2영역에 대응되는 노드와 별도의 그룹(960)으로 분류될 수 있다.
이에 따라, 제1영역에 대응하는 노드와 제2영역에 대응하는 노드는 서로 다른 그룹(910 및 950)으로 분류될 수 있다.
한편, 도시되지 않았지만, 제어부(350)는 N52 및 N77 사이 N68 및 N79사이에 가상의 벽을 생성하여, 제1영역에 대응되는 그룹(910) 및 제2영역에 대응되는 그룹(950) 각각에서 우회 통로로 로봇이 이동하는 것을 방지할 수 있다.
위에서 살펴본 것과 같이, 본 발명은 관리자가 노드맵을 자유롭게 변경할 수 있도록 함으로써, 의도하지 않은 경로로 로봇이 이동하는 것을 미연에 방지할 수 있다.
위에서 살펴본 것과 같이, 본 발명은 공간 내에 설비가 배치된 영역과 설비가 배치되지 않은 영역을 구분하고, 이러한 설비 특성이 반영된 노드맵을 생성할 수 있다. 따라서, 본 발명은 로봇의 이동 경로를 생성함에 있어, 설비 특성이 반영된 노드맵을 활용하며, 결과 적으로 설비의 특성을 고려한 로봇의 이동 경로를 효율적으로 생성할 수 있다.
또한, 본 발명은 로봇의 이동 경로를 계층을 두어 생성함으로써, 공간 내 환경의 변화에 따라 로봇이 적절히 대응할 수 있도록 한다. 특히, 본 발명은 공간 내에서 로봇의 이동 정도에 따라, 로봇이 이동할 대상이 되는 특정 구역에 대한 세부 경로를 설정함으로써, 설비 이용 환경에 대한 변동성이 큰 상황에서도 최적의 로봇의 이동 경로를 설정할 수 있도록 한다.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명은 프로그램의 형태로 제공될 수 있다.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.
나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.
한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.

Claims (12)

  1. 복수의 로봇이 주행하는 실내 공간을 포함하는 건물에 있어서,
    상기 건물은,
    상기 실내 공간에 배치되며, 상기 복수의 로봇이 이용하는 적어도 하나의 설비를 포함하고,
    상기 실내 공간은,
    상기 설비가 위치하는지 여부에 따라 제1 구역 및 제2 구역 중 어느 하나로 각각 구분되는 복수의 구역을 포함하며,
    상기 복수의 로봇은,
    상기 실내 공간에 대응되도록 형성되며, 상기 설비에 근거하여 상기 제1 구역 및 상기 제2 구역으로 구분된 맵(map)에 근거하여, 상기 실내 공간을 주행하도록 이루어지는 것을 특징으로 하는 건물.
  2. 제1항에 있어서,
    상기 맵에는, 상기 실내 공간에 상기 설비가 위치하는지에 따라 구분된 상기 제1 구역 및 상기 제2구역에, 서로 다른 타입의 노드들이 할당된 것을 특징으로 하는 건물.
  3. 제1항에 있어서,
    상기 복수의 로봇은,
    상기 맵에 할당된 상기 서로 다른 타입의 노드들을 따라 상기 실내 공간에 배치된 상기 설비를 이용하여, 기 할당된 목적지까지의 이동을 위해 상기 실내 공간을 주행하는 것을 특징으로 하는 건물.
  4. 제3항에 있어서,
    상기 설비는, 스피드 게이트, 엘리베이터, 에스컬레이터 및 자동문 중 적어도 하나를 포함하는 것을 특징으로 하는 건물.
  5. 제3항에 있어서,
    상기 제1 구역은,
    상기 실내 공간에서 상기 설비가 위치한 특정 지점 및 상기 복수의 로봇이 상기 설비를 통과하기 위하여 경유해야 하는 특정 영역 중 적어도 하나를 포함하는 영역이며,
    상기 맵에서 상기 제1 구역에 대응되는 영역에는,
    제1 노트 타입을 갖는 적어도 하나의 노드가 할당되는 것을 특징으로 하는 건물.
  6. 제5항에 있어서,
    상기 설비가 상기 실내 공간의 서로 다른 층을 이동하는 엘리베이터인 경우,
    상기 엘리베이터에 대응되도록 할당되는 상기 제1 노트 타입의 노드들은,
    상기 엘리베이터의 내부 공간에 할당되는 내부 공간 노드 및
    상기 엘리베이터의 내부 공간 밖에 위치하며, 상기 엘리베이터의 탑승을 위하여 상기엘리베이터의 문이 개방되는 것을 대기하기 위한 대기 공간에 위치하는 개방 대기 노드를 포함하는 것을 특징으로 하는 건물.
  7. 제6항에 있어서,
    상기 개방 대기 노드는,
    상기 실내 공간의 복수의 층 중 상기 엘리베이터를 이용할 수 있는 각각의 층에 할당되는 것을 특징으로 하는 건물.
  8. 제7항에 있어서,
    상기 복수의 로봇은.
    상기 복수의 층 중 특정 층에 위치한 개방 대기 노드,
    상기 엘리베이터 내부 공간에 할당된 내부 공간 노드 및
    상기 목적지에 해당하는 다른 층의 개방 대기 노드를 경유하여 상기 다른 층으로 이동하는 것을 특징으로 하는
  9. 제5항에 있어서,
    상기 제2 구역은,
    상기 실내 공간에서, 상기 제1 구역을 제외한 나머지 영역이며,
    상기 맵에서 상기 제2 구역에 대응되는 영역에는,
    상기 제1 노드 타입과 다른 제2 노드 타입을 갖는 적어도 하나의 노드가 할당되는 것을 특징으로 하는 건물.
  10. 제9항에 있어서,
    상기 맵에는,
    상기 복수의 구역들 중 서로 이웃한 제1 구역 및 제2 구역을 연결하는 구역 연결 정보가 포함되고,
    상기 구역 연결 정보는,
    상기 1 구역에 포함된 노드들 중 상기 제1 구역과 이웃한 제2 구역과 가장 가깝게 배치된 제1 노드의 노드 정보 및
    상기 제2 구역에 포함된 노드들 중 상기 제2 구역과 이웃한 제1 구역과 가장 가깝게 배치된 제2 노드의 노드 정보인 것을 특징으로 하는 건물.
  11. 제10항에 있어서,
    상기 복수의 로봇은,
    상기 구역 연결 정보에 근거하여, 서로 이웃하게 위치한 제1 구역 및 제2 구역 간을 이동하는 것을 특징으로 하는 건물.
  12. 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물에 있어서,
    상기 실내 공간에 배치된 적어도 하나의 설비를 기준으로, 서로 다른 타입의 복수의 노드들을 할당하는 단계;
    상기 복수의 노드들 중 서로 동일한 타입을 갖는 노드들 간에 그룹이 형성되도록, 상기 복수의 노드들에 대해 클러스터링(clustering)을 수행하는 단계;
    상기 클러스터링의 수행 결과에 근거하여, 상기 실내 공간을 상기 복수의 노드들 중 적어도 하나를 포함하는 복수의 구역으로 구분하는 단계; 및
    상기 복수의 노드들 및 상기 복수의 구역 간의 구역 연결 정보를 포함하는 상기 실내 공간에 대한 맵을 생성하는 단계를 통해 생성된 상기 맵에 근거하여 상기 복수의 로봇이 주행하는 실내 공간을 포함하는 건물.
KR1020210081075A 2021-03-29 2021-06-22 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물 KR20220135138A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210081075A KR20220135138A (ko) 2021-03-29 2021-06-22 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210040111A KR20220134883A (ko) 2021-03-29 2021-03-29 맵 생성 방법, 이를 이용한 로봇 원격 제어 방법 및 시스템
KR1020210081075A KR20220135138A (ko) 2021-03-29 2021-06-22 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020210040111A Division KR20220134883A (ko) 2021-03-29 2021-03-29 맵 생성 방법, 이를 이용한 로봇 원격 제어 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR20220135138A true KR20220135138A (ko) 2022-10-06

Family

ID=83597026

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020210040111A KR20220134883A (ko) 2021-03-29 2021-03-29 맵 생성 방법, 이를 이용한 로봇 원격 제어 방법 및 시스템
KR1020210081075A KR20220135138A (ko) 2021-03-29 2021-06-22 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020210040111A KR20220134883A (ko) 2021-03-29 2021-03-29 맵 생성 방법, 이를 이용한 로봇 원격 제어 방법 및 시스템

Country Status (1)

Country Link
KR (2) KR20220134883A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102573512B1 (ko) * 2022-11-09 2023-09-04 주식회사 클로봇 이동 로봇을 엘리베이터에 탑승시키기 위한 방법 및 서버
KR102626501B1 (ko) * 2022-12-30 2024-01-18 한국로봇융합연구원 로봇 청소 시스템 및 오염물 확산 맵을 통한 오염량 산출 방법
KR102626500B1 (ko) * 2022-12-30 2024-01-18 한국로봇융합연구원 로봇 청소 시스템 및 오염물 확산 맵을 통한 오염물 추정 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102573512B1 (ko) * 2022-11-09 2023-09-04 주식회사 클로봇 이동 로봇을 엘리베이터에 탑승시키기 위한 방법 및 서버
KR102626501B1 (ko) * 2022-12-30 2024-01-18 한국로봇융합연구원 로봇 청소 시스템 및 오염물 확산 맵을 통한 오염량 산출 방법
KR102626500B1 (ko) * 2022-12-30 2024-01-18 한국로봇융합연구원 로봇 청소 시스템 및 오염물 확산 맵을 통한 오염물 추정 방법

Also Published As

Publication number Publication date
KR20220134883A (ko) 2022-10-06

Similar Documents

Publication Publication Date Title
KR20220135138A (ko) 실내 공간에 배치된 설비를 이용하는 복수의 로봇이 주행하는 건물
JP6949835B2 (ja) 半自律的モバイルロボットのナビゲーティング
KR20220134928A (ko) 로봇 주행 제어 방법 및 시스템
KR102370873B1 (ko) 로봇 원격 제어 방법 및 시스템
KR102339001B1 (ko) 클라우드 서버를 이용하여 실내 공간을 주행하는 로봇을 모니터링하는 건물
KR102558767B1 (ko) 로봇 친화형 건물
KR20240042369A (ko) 로봇 친화형 건물, 로봇 및 건물을 주행하는 멀티-로봇 제어 시스템
US11656625B2 (en) System for evacuating one or more mobile robots
KR102484770B1 (ko) 로봇의 통신 장애 복구 방법 및 시스템
US20240045432A1 (en) Method and system for remote control of robot, and building having elevators for robots
KR102462634B1 (ko) 공간을 주행하는 로봇을 관제하는 건물, 로봇 관제 방법 및 시스템
KR102315361B1 (ko) 실내 공간을 주행하는 로봇의 동작을 평가하는 건물
KR102489723B1 (ko) 로봇 원격 제어 방법 및 시스템
KR102390127B1 (ko) 로봇 평가 방법 및 시스템
KR20220131131A (ko) 장애물에 유연하게 대처하는 로봇이 주행하는 건물
KR20220131060A (ko) 로봇 원격 제어 방법 및 시스템
KR102494840B1 (ko) 네트워크 장애 상황에 강인한 로봇이 주행하는 건물
KR20220135139A (ko) 공간의 혼잡도에 기반하여 이동 경로가 제어되는 로봇이 주행하는 건물
JP6728002B2 (ja) 空間情報配信システム、経路提供システム、移動装置、空間情報配信方法およびプログラム
KR20230041353A (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템
KR102657615B1 (ko) 로봇 친화형 건물, 로봇의 충전 제어 방법 및 시스템
KR102620941B1 (ko) 건물을 주행하는 로봇 제어 방법 및 시스템
KR102355263B1 (ko) 로봇 제어 방법 및 시스템
KR102485644B1 (ko) 통신 지연에 강인한 로봇이 주행하는 건물
KR20230056272A (ko) 로봇 친화형 건물, 건물을 주행하는 로봇 제어 방법 및 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right