KR102096875B1 - 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 - Google Patents
자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 Download PDFInfo
- Publication number
- KR102096875B1 KR102096875B1 KR1020160137865A KR20160137865A KR102096875B1 KR 102096875 B1 KR102096875 B1 KR 102096875B1 KR 1020160137865 A KR1020160137865 A KR 1020160137865A KR 20160137865 A KR20160137865 A KR 20160137865A KR 102096875 B1 KR102096875 B1 KR 102096875B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- service
- sensor
- mapping
- indoor
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/023—Optical sensing devices including video camera means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Educational Technology (AREA)
- Multimedia (AREA)
- Educational Administration (AREA)
- Business, Economics & Management (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법이 개시된다. 맵핑 로봇은, 목표 시설물의 내부 환경의 수집을 위해 주변 정보를 센싱하는 센서, 상기 목표 시설물의 내부의 이동을 위한 드라이브라인 및 상기 센서를 통해 센싱되는 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 상기 드라이브라인을 제어하여 상기 맵핑 로봇을 이동시키며, 상기 실내 자율 주행의 과정에서 상기 목표 시설물의 실내 지도를 제작하기 위한 정보를 상기 센서를 통해 수집하는 컨트롤러를 포함할 수 있다.
Description
아래의 설명은 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법에 대한 것이다.
자율 주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇으로, 자율 주행 차량이나, 물류, 호텔 서비스, 로봇 청소기 등 다양한 분야를 위해 개발 및 활용되고 있다. 예를 들어, 한국공개특허 제10-2005-0024840호는 자율이동로봇을 위한 경로계획방법에 관한 기술로, 가정이나 사무실에서 자율적으로 이동하는 이동로봇이 장애물을 회피하면서 목표점까지 안전하고 빠르게 이동할 수 있는 최적경로를 계획하는 방법에 대해 개시하고 있다.
도 1은 종래기술에 있어서, 실내 자율 주행을 위해 로봇에 적용되는 기본 기술의 예를 도시한 도면이다. 도 1은 종래기술의 서비스 로봇(100)에 적용되는 기술들로서, 맵핑(Mapping, 110), 로컬리제이션(Localization, 120), 경로 계획(Path Planning, 130), 장애물 회피(Obstacle Avoidance, 140) 및 센싱(Sensing, 150)의 기술들을 나타내고 있다.
맵핑(110)은 서비스 로봇(100)이 자율 주행을 수행하면서 주변 지도를 작성하기 위한 기술 및/또는 이미 제작된 지도를 반입하여 관리하기 위한 기술을 포함할 수 있다. 예를 들어, 서비스 로봇(100)이 미지의 환경을 돌아다니면서 로봇에 부착되어 있는 센서만으로 외부의 도움 없이 환경에 대한 정확한 지도를 작성하거나 주변 환경과 기 저장된 지도를 매칭하여 현재위치를 추정하기 위해, SLAM(Simultaneous Localization And Mapping)이나 CML(Concurrent Mapping and Localization)과 같은 기술이 활용될 수 있으며, 또한 카메라의 2차원 데이터를 3차원 정보로 변환하기 위한 SFM(Structure from motion)과 같은 기술이 3차원 지도의 생성을 위해 활용될 수 있다.
로컬리제이션(120)은 서비스 로봇(100)이 주변 환경을 인식하고 자신의 위치를 추정하기 위한 기술을 포함할 수 있다. 예를 들어, GPS(Global Positioning System) 좌표나 IMU(Inertial Measurement Unit)의 센싱값, 그리고 상술한 SLAM 등의 기술이 활용될 수 있다.
경로 계획(130)은 서비스 로봇(100)의 자율 주행을 위한 경로를 설정하기 위한 기술을 포함할 수 있다. 예를 들어, RRT(Rapidly-exploring Random Tree), 경로를 찾기 위한 A 스타 알고리즘, D 스타 알고리즘, 다익스트라 알고리즘(Dijkstra algorithm) 등이 활용될 수 있다.
장애물 회피(140)는 서비스 로봇(100)이 경로 계획(130)에 따라 설정된 경로에 따라 자율 주행을 진행하는 중에 계획되지 않은 장애물(일례로, 사람 또는 사물)을 회피하기 위한 기술을 포함할 수 있다.
센싱(150)은 카메라, 라이더(lidar), IMU, 초음파 센서, GPS 모듈 등과 같이 서비스 로봇(100)이 포함하는 다양한 센서들을 이용하여 앞서 설명한 맵핑(110), 로컬리제이션(120), 경로 계획(130) 및 장애물 회피(140)를 위해 요구되는 정보를 제공하기 위한 기술을 포함할 수 있다.
구동(160)은 경로 계획(130)에 따라 또는 장애물 회피(140)를 위해 서비스 로봇(100)이 포함하는 바퀴나 다리 등을 제어하여 서비스 로봇(100)을 실제로 이동시키기 위한 기술을 포함할 수 있다.
이처럼, 종래기술에서는 서비스 로봇(100)의 자율 주행을 위해 다양한 센서들을 포함해야 하고, 이러한 센서들의 정보를 처리하며, 얻어지는 정보들로부터 맵핑(110), 로컬리제이션(120), 경로 계획(130) 및 장애물 회피(140)와 같은 다양한 연산을 처리하기 위한 프로세서를 포함해야 하며, 동시에 프로세서의 처리 결과에 따라 서비스 로봇(100)의 이동을 처리하기 위한 바퀴나 다리 등의 구성요소들을 포함해야 한다. 뿐만 아니라, 서비스 로봇(100)은, 서비스 로봇(100)의 이용자들이 원하는 서비스의 제공을 위한 특정 구성요소를 더 포함해야 한다. 예를 들어, 청소 로봇은 개별 특징에 알맞게 먼지를 빨아들여 저장하기 위한 구성요소를 더 포함해야 하며, 물류 관리를 위한 로봇은 물건들의 식별과 이동 등을 위한 구성요소를 더 포함해야 한다.
이처럼, 실내 자율 주행 로봇은 밀접한 연계가 요구되는 다양한 구성요소들을 포함해야 하는 관계로 제작 비용이 매우 크다는 문제점이 있다.
서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있는 실내 자율 주행 로봇을 위한 제어 방법 및 시스템을 제공한다.
하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있는 실내 자율 주행 로봇을 위한 제어 방법 및 시스템을 제공한다.
이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있는 실내 자율 주행 맵핑 로봇을 위한 시스템 및 그 제어 방법을 제공한다.
맵핑 로봇에 있어서, 목표 시설물의 내부 환경의 수집을 위해 주변 정보를 센싱하는 센서, 상기 목표 시설물의 내부의 이동을 위한 드라이브라인 및 상기 센서를 통해 센싱되는 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 상기 드라이브라인을 제어하여 상기 맵핑 로봇을 이동시키며, 상기 실내 자율 주행의 과정에서 상기 목표 시설물의 실내 지도를 제작하기 위한 정보를 상기 센서를 통해 수집하는 컨트롤러를 포함하는 것을 특징으로 하는 맵핑 로봇을 제공한다.
일측에 따르면, 상기 맵핑 로봇은 배터리 팩을 이용하여 상기 센서, 상기 드라이브라인 및 상기 컨트롤러로 전원을 공급하기 위한 전원공급부를 더 포함하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 센서는, 상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및 상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라를 포함하고, 상기 컨트롤러는 상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 센서는, 근거리 장애물의 탐지를 위한 로컬리제이션 센서를 더 포함하고, 상기 컨트롤러는 상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 상기 드이라브라인을 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 컨트롤러는 상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역의 촬영이 가능한 위치를 계산하여 상기 실내 자율 주행을 위한 경로 계획을 갱신하는 것을 특징으로 할 수 있다.
맵핑 로봇의 제어 방법에 있어서, 목표 시설물의 내부에 위치한 맵핑 로봇에서 센서를 통해 주변 정보를 센싱하는 단계; 상기 센싱되는 주변 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하는 단계; 상기 생성된 경로 계획에 따라 상기 맵핑 로봇의 이동을 제어하는 단계; 상기 맵핑 로봇의 이동에 따라 변경되는 주변 정보를 상기 센서를 통해 센싱하는 단계; 상기 변경되는 주변 정보를 이용하여 상기 경로 계획을 갱신하는 단계; 및 상기 센서를 통해 지속적으로 센싱되는 주변 정보들을 상기 목표 시설물의 실내 지도의 제작을 위한 정보로서 기록하는 단계를 포함하는 것을 특징으로 하는 제어 방법을 제공한다.
상기 제어 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.
컴퓨터와 결합되어 상술한 제어 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있다.
하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있다.
이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있다.
도 1은 종래기술에 있어서 실내 자율 주행을 위한 로봇에 적용되는 기술의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 로봇의 실내 자율 주행을 위한 전체 제어 시스템의 예를 도시한 도면이다.
도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 클라우드 시스템을 구성하는 물리적인 서버의 내부 구성을 설명하기 위한 블록도이다.
도 7은 본 발명의 일실시예에 있어서, 제어 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일실시예에 있어서, 서비스 로봇의 위치를 한정하기 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 있어서, 클라우드 시스템이 서비스 로봇이 제공하는 서비스를 제어하는 과정의 예를 흐름도이다.
도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이다.
도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.
도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다.
도 20 및 도 21은 본 발명의 일실시예에 따른 맵핑 로봇의 동작 구조의 예를 도시한 도면들이다.
도 2는 본 발명의 일실시예에 따른 로봇의 실내 자율 주행을 위한 전체 제어 시스템의 예를 도시한 도면이다.
도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 클라우드 시스템을 구성하는 물리적인 서버의 내부 구성을 설명하기 위한 블록도이다.
도 7은 본 발명의 일실시예에 있어서, 제어 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일실시예에 있어서, 서비스 로봇의 위치를 한정하기 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 있어서, 클라우드 시스템이 서비스 로봇이 제공하는 서비스를 제어하는 과정의 예를 흐름도이다.
도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이다.
도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.
도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다.
도 20 및 도 21은 본 발명의 일실시예에 따른 맵핑 로봇의 동작 구조의 예를 도시한 도면들이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 로봇의 실내 자율 주행 위한 전체 제어 시스템은 크게 시설물의 실내에서 지도 데이터를 수집하는 맵핑 로봇을 위한 제어 시스템(이하, '맵핑 로봇 시스템')과, 맵핑 로봇이 수집한 지도 데이터에 기반하여 해당 시설물의 실내 지도를 제작하고 시설물에서 동작하는 서비스 로봇의 자율 주행을 위한 로컬리제이션과 경로 계획을 처리하는 클라우드 서비스를 위한 제어 시스템(이하, '클라우드 시스템'), 그리고 시설물의 내부에서 자율 주행을 통해 시설물의 이용자에 의해 목적된 서비스를 제공하는 서비스 로봇을 위한 제어 시스템(이하, '서비스 로봇 시스템')을 포함할 수 있다.
도 2는 본 발명의 일실시예에 따른 로봇의 실내 자율 주행을 위한 전체 제어 시스템의 예를 도시한 도면이다. 도 2는 서비스 제공자 측의 클라우드 시스템(210)과 맵핑 로봇(220), 그리고 이용자들의 시설물들과 이용자 측을 위한 서비스 로봇(230)을 나타내고 있다. 우선, 서비스 제공자 측은 맵핑 로봇(220)을 투입하여 이용자들의 시설물들의 실내 지도를 생성할 수 있다. 이때, 서비스 제공자 측은 대형 마트나 병원, 공항, 호텔 등과 같이 다양한 시설물들의 실내 지도를 미리 생성해놓을 수도 있고, 별도의 계약을 통해 서비스를 요청하는 이용자들의 시설물들의 실내 지도를 요청에 따라 생성할 수도 있다. 예를 들어, 서비스 제공자 측은 시설물 A의 이용자로부터의 요청에 따라 맵핑 로봇(220)을 시설물 A에 투입하여 시설물 A의 실내 지도를 생성할 수 있다. 맵핑 로봇(220)은 실내 자율 주행 로봇으로서 자율 주행과 지도 생성을 위해 3D 라이더(lidar), 360도 카메라, IMU(Inertial Measurement Unit)와 같은 다양한 센서들을 포함할 수 있고, 시설물 A를 자율 주행하면서 생성된 센싱 데이터를 클라우드 시스템(210)으로 전송할 수 있다. 이때 실시예에 따라 센싱 데이터는 실내 지도의 생성을 위한 맵핑 로봇(220)의 자율 주행이 완료된 후에 센싱 데이터가 저장된 컴퓨터 판독 가능 기록매체를 통해 클라우드 시스템(210)에 입력될 수도 있으나, 바람직하게는 맵핑 로봇(220)이 통신 모듈을 포함하여 네트워크를 통해 클라우드 시스템(210)으로 전송할 수 있다. 또한, 맵핑 로봇(220)에서 생성되는 센싱 데이터는 맵핑 로봇(220)에서 클라우드 시스템(210)으로 실시간으로 전송될 수도 있고, 맵핑 로봇(220)이 시설물의 센싱을 완료한 후에 일괄적으로 클라우드 시스템(210)으로 전송될 수도 있다.
클라우드 시스템(210)은 맵핑 로봇(220)이 제공하는 센싱 데이터에 기반하여 시설물 A에 대한 실내 지도를 제작할 수 있으며, 제작된 실내 지도에 기반하여 시설물 A에 배치된 서비스 로봇(230)과 통신하면서 서비스 로봇(230)을 제어할 수 있다. 예를 들어, 클라우드 시스템(210)은 서비스 로봇(230)이 포함하는 센서들을 통해 생성된 센싱 데이터(일례로, 서비스 로봇(230)의 현재 위치를 파악하기 위한 데이터)를 수신하고, 수신된 센싱 데이터와 시설물 A의 실내 지도를 이용하여 서비스 로봇(230)을 위한 로컬리제이션과 경로 계획을 처리하여 그 결과 데이터(일례로, 서비스 로봇(230)이 자율 주행 시 이동해야 할 경로 데이터)를 서비스 로봇(230)으로 제공할 수 있다. 이때, 서비스 로봇(230)은 클라우드 시스템(210)이 제공하는 결과 데이터에 기반하여 자율 주행을 처리하면서 목적된 서비스를 시설물 A 내에서 제공할 수 있게 된다.
맵핑 로봇(220)은 시설물 A에 대해 최초 1회만 또는 실내 지도에 대해 변경이 발생되는 경우에만, 또는 실내 지도에 대해 변경이 발생될 정도로 상당히 긴 시간 주기(일례로, 1년)로 해당 시설물에서 동작하면 된다. 따라서, 실내 지도의 제작이 요구되는 시설물들의 수와 시간 스케줄링에 따라 하나의 맵핑 로봇(220)이 다수의 시설물들의 실내 지도를 제작하는데 활용될 수 있기 때문에 다수의 맵핑 로봇들이 요구되지 않고 따라서 고가의 장비를 활용하여 제작되더라도 서비스 사용자 측에 큰 부담을 주지 않는다. 반면 이용자들 각각에서 개별 목적을 위해 동작하는 서비스 로봇들을 개별적으로 제작하여 이용할 때, 서비스 로봇들 각각은 해당하는 하나의 시설물에서 지속적으로 동작되어야 하며, 하나의 시설물 내에서 동시에 여러 대가 동작되어야 하는 경우가 다수 존재한다. 따라서 이용자의 측면에서는 고가의 장비를 활용하기 어려운 문제점이 있다. 이에, 본 발명의 실시예들에서는 서비스 제공자 측에서 맵핑 로봇(220)을 투입하여 시설물 A의 실내 지도를 제작하고, 클라우드 시스템(210)을 통해 서비스 로봇(230)을 제어함으로써, 서비스 로봇(230)이 고가의 장비를 사용하지 않고도 목적된 서비스를 해당 시설물 내에서 처리하도록 할 수 있다.
예를 들어, 라이더(lidar)는 전파에 가까운 성질을 가진 레이저 광선을 이용하여 개발한 레이더로서, 자율 주행을 위해 탑재되는 고가의 센서 장비이며 이러한 라이더를 활용하는 경우, 기본적으로 둘 이상의 라이더들이 하나의 자율 주행 유닛에 포함된다. 일례로, 물류 관리를 위해 이용자가 60 대의 서비스 로봇들을 사용한다 가정할 때, 종래기술에서는 고가의 라이더가 120 개 이상이 요구된다. 반면, 본 발명의 실시예들에서는 자율 주행을 위해 요구되는 로컬리제이션과 경로 계획을 서비스 제공자 측의 클라우드 시스템(210)이 처리하고 그 결과 데이터를 제공하면, 서비스 로봇들이 클라우드 시스템(210)으로부터 제공되는 결과 데이터에 따라 주행하기 때문에 고가의 센서 장비 없이 저가형 초음파 센서 및/또는 저가형 카메라만으로도 실내 주행이 가능해진다. 실질적으로 본 발명의 실시예들에 따른 서비스 로봇들은 클라우드 시스템(210)으로부터 제공되는 결과 데이터에 따라 동작하기 때문에 실내 자율 주행을 위한 별도의 센서 없이 실내 주행이 가능하다. 다만, 저가형 초음파 센서 및/또는 저가형 카메라와 같은 저가의 센서들이 서비스 로봇(230)의 현재 위치 파악과 서비스 로봇(230)의 장애물 회피 등을 위해 사용될 수 있다. 따라서, 이용자들은 저렴한 비용으로 제작되는 서비스 로봇들을 활용할 수 있으며, 서비스 로봇을 이용하고자 하는 다수의 이용자들이 존재하고, 이러한 다수의 이용자들 각각이 다수의 서비스 로봇들을 활용할 수 있음을 고려할 때, 서비스 로봇들의 제작 비용을 획기적으로 줄일 수 있게 된다. 예를 들어, 스마트폰 수준의 센싱 능력만으로도 서비스 로봇의 자율 주행을 처리할 수 있다.
또한, 서비스 로봇(230)이 클라우드 시스템(210)으로 전송하는 센싱 데이터는 시설물의 내부에서 서비스 로봇(230)의 현재 위치를 한정하기 위한 정보를 포함할 수 있다. 이러한 위치를 한정하기 위한 정보는 저가형 카메라를 통해 인식된 이미지 정보를 포함할 수 있다. 예를 들어, 클라우드 시스템(210)은 수신된 이미지 정보와 실내 지도의 이미지를 비교하여 서비스 로봇(230)의 위치를 파악할 수 있다. 다른 예로, 기존의 실내 위치를 파악하기 위해 잘 알려진 기술들이 활용될 수도 있다. 예를 들어, 시설물 내에서 인식되는 와이파이 신호나 비컨(beacon), 사람이 인식하지 못하는 사운드나 블루투스 핑커프린트 등을 활용하여 실내 위치를 파악하는 기존의 잘 알려진 기술들이 서비스 로봇(230)의 현재 위치를 파악하기 위해 활용될 수 있음을 당업자가 용이하게 이해할 수 있을 것이다. 또한, 이러한 기존의 기술들을 통해 서비스 로봇(230)의 대략적인 위치를 파악한 후, 이미지 매칭을 통해 서비스 로봇(230)의 정확한 위치를 파악할 수도 있다. 이 경우, 전체 실내 지도에 대응하는 이미지들과의 매칭을 처리할 필요 없이 대략적으로 파악된 위치를 통해 이미지 매칭의 범위를 줄일 수도 있다.
도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이고, 도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이며, 도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 3을 참조하면, 맵핑 로봇은 물리적인 장치일 수 있으며, 도 3에 도시된 바와 같이, 제어부(310), 구동부(320), 센서부(330) 및 통신부(340)를 포함할 수 있다.
제어부(310)는 맵핑 로봇(220)에 내장된 물리적인 프로세서일 수 있으며, 도 3에 도시된 바와 같이 경로 계획 처리 모듈(311), 맵핑 처리 모듈(312), 구동 제어 모듈(313), 로컬리제이션 처리 모듈(314) 및 데이터 처리 모듈(315)을 포함할 수 있다. 여기서, 제어부(310)가 포함하는 구성요소들은 물리적인 프로세서로서 제어부(310)가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 제어부(310)는 OS나 펌웨어와 같은 컴퓨터 프로그램의 코드에 따른 제어 명령에 따라 다양한 기능들을 처리할 수 있다.
구동부(320)는 맵핑 로봇(220)의 이동을 위한 바퀴나 다리, 또는 드론과 같은 비행체 형태의 맵핑 로봇(220)의 비행을 위한 물리적인 장비를 포함할 수 있다.
센서부(330)는 맵핑 로봇(220)이 위치한 시설물의 내부 환경에 대한 정보를 수집하기 위한 다양한 센서들을 포함할 수 있다. 예를 들어, 라이더(lidar), 360도 카메라, IMU, 초음파 센서, GPS 모듈, PDS(Position Sensitive Detector) 등과 같이 다양한 센서들 중 요구되는 센서들이 센서부(330)에 포함될 수 있다.
통신부(340)는 센서부(330)를 통해 센싱된 데이터를 네트워크를 통해 클라우드 시스템(210)으로 전송하기 위한 통신 기능을 포함할 수 있다.
목표 시설물의 내부에 위치한 맵핑 로봇(220)이 구동되면, 센서부(330)는 다양한 센서들의 출력값을 포함하는 제1센서 데이터를 생성하여 제어부(310)로 전달할 수 있다. 이때, 제어부(310)의 데이터 처리 모듈(415)은 전달받은 제1 센서 데이터를 맵핑 로봇(220)의 자율 주행을 위해 로컬리제이션 처리 모듈(314)로 전달할 수 있고, 또한 클라우드 시스템(210)에서 목표 시설물의 실내 지도를 생성할 수 있도록 제1 센서 데이터를 네트워크를 통해 클라우드 시스템(210)으로 전송하도록 통신부(340)를 제어할 수 있다.
로컬리제이션 처리 모듈(314)은 맵핑 로봇(220)이 주변 환경을 인식하고 자신의 위치를 추정하기 위한 기술로, 목표 시설물에서의 맵핑 로봇(220)의 현재 위치를 판단하기 위해 동작할 수 있다. 이때, 로컬리제이션 처리 모듈(314)은 맵핑 처리 모듈(312)과의 연동을 통해 기 저장된 목표 시설물의 실내 지도(일례로, 목표 시설물의 설계 청사진)와 현재 위치와의 맵핑을 처리하거나 또는 기 저장된 실내 지도가 없는 경우에는 목표 시설물의 실내 지도를 생성해나갈 수 있다.
이때, 경로 계획 처리 모듈(311)은 맵핑 로봇(220)의 자율 주행을 위한 경로를 생성해나갈 수 있다. 이 경우, 경로 계획 처리 모듈(311)에서 결정된 경로에 대한 정보는 구동 제어 모듈(313)로 전달될 수 있고, 구동 제어 모듈(313)는 제공된 경로에 따라 맵핑 로봇(220)을 이동시키기 위해 구동부(320)를 제어할 수 있다.
맵핑 로봇(220)은 이러한 제1 센싱 데이터의 생성 및 전송, 제1 센싱 데이터를 이용한 자율 주행 경로의 결정 및 결정된 자율 주행 경로에 따른 이동의 과정을 반복하면서 목표 시설물을 자율 주행할 수 있고, 목표 시설물에 대한 제1 센싱 데이터를 클라우드 시스템(210)으로 지속적으로 전송할 수 있다.
도 4를 참조하면, 클라우드 시스템(210)은 하나의 물리적인 서버 장치나 둘 이상의 물리적인 서버 장치들의 연계를 통해 구현될 수 있으며, 도 4에 도시된 바와 같이 맵 생성 모듈(410), 로컬리제이션 처리 모듈(420), 경로 계획 처리 모듈(430) 및 서비스 운영 모듈(440)을 포함할 수 있다. 이러한 클라우드 시스템(210)이 포함하는 구성요소들은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 클라우드 시스템(210)이 포함하는 적어도 하나의 프로세서가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다.
맵 생성 모듈(410)은 도 3에서 설명한 바와 같이 목표 시설물의 내부에서 자율 주행하는 맵핑 로봇(220)이 목표 시설물의 내부에 대해 생성한 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성하기 위한 구성요소일 수 있다.
이때, 로컬리제이션 처리 모듈(420)은 서비스 로봇(230)으로부터 네트워크를 통해 수신되는 제2 센싱 데이터와 맵 생성 모듈(410)을 통해 생성된 목표 시설물의 실내 지도를 이용하여 목표 시설물 내부에서의 서비스 로봇(230)의 위치를 결정할 수 있다.
경로 계획 처리 모듈(430)은 상술한 제2 센싱 데이터와 생성된 실내 지도를 이용하여 서비스 로봇(230)의 실내 자율 주행을 제어하기 위한 제어 신호를 생성할 수 있다. 예를 들어, 경로 계획 처리 모듈(430)은 서비스 로봇(230)의 경로 데이터를 생성할 수 있다. 클라우드 시스템(210)은 생성된 경로 데이터를 네트워크를 통해 서비스 로봇(230)으로 전송할 수 있다. 일례로, 경로를 위한 정보는 서비스 로봇(230)의 현재 위치를 나타내는 정보, 현재 위치와 실내 지도를 맵핑하기 위한 정보, 그리고 경로 계획 정보를 포함할 수 있다.
서비스 운영 모듈(440)은 서비스 로봇(230)이 목표 시설물 내에서 제공하는 서비스를 제어하기 위한 기능을 포함할 수 있다. 예를 들어, 클라우드 시스템(210)을 운영하는 서비스 제공자는 서비스 로봇(230)의 이용자나 제작자에게 클라우드 시스템(210)이 제공하는 클라우드 서비스를 위한 IDE(Integrated Development Environment)를 제공할 수 있다. 이때, 서비스 로봇(230)의 이용자나 제작자는 서비스 로봇(230)이 목표 시설물 내에서 제공하는 서비스를 제어하기 위한 소프트웨어를 IDE를 통해 제작하여 클라우드 시스템(210)에 등록할 수 있다. 이 경우, 서비스 운영 모듈(440)은 해당 서비스 로봇(230)과 연관하여 등록된 소프트웨어를 이용하여 서비스 로봇(230)이 제공하는 서비스를 제어할 수 있다. 구체적인 예로, 서비스 로봇(230)이 호텔에서 고객이 요청한 물건을 해당 고객의 객실로 전달하는 서비스를 제공한다고 가정한다. 이때, 클라우드 시스템(210)은 서비스 로봇(230)의 실내 자율 주행을 제어하여 서비스 로봇(230)이 해당 객실 앞으로 이동하도록 제어할 뿐만 아니라, 목적 위치에 도착한 경우 객실 출입문의 벨을 누르고 고객 응대 음성을 출력하고 목적한 물건을 고객에게 전달하는 일련의 서비스를 서비스 로봇(230)이 진행하도록 관련 명령을 서비스 로봇(230)에게 전달할 수 있다.
도 5를 참조하면, 서비스 로봇(230)은 물리적인 장치일 수 있으며, 도 5에 도시된 바와 같이, 제어부(510), 구동부(520), 센서부(530) 및 통신부(540)를 포함할 수 있다.
제어부(510)는 서비스 로봇(230)에 내장된 물리적인 프로세서일 수 있으며, 도 5에 도시된 바와 같이 경로 계획 처리 모듈(511), 맵핑 처리 모듈(512), 구동 제어 모듈(513), 로컬리제이션 처리 모듈(514), 데이터 처리 모듈(515) 및 서비스 처리 모듈(516)을 포함할 수 있다. 이때, 경로 계획 처리 모듈(511), 맵핑 처리 모듈(512) 및 로컬리제이션 처리 모듈(514)은 클라우드 시스템(210)과의 통신이 이루어지지 않는 경우에도 실내 자율 주행이 이루어질 수 있도록 하기 위해 실시예에 따라 선택적으로 제어부(510)에 포함될 수 있다.
데이터 처리 모듈(515)은 센서부(530)의 센서들의 출력값을 포함하는 제2 센싱 데이터를 수신하여 통신부(540)를 통해 클라우드 시스템(210)으로 전송할 수 있다. 앞서 설명한 바와 같이 클라우드 시스템(210)은 제2 센싱 데이터와 목표 시설물의 실내 지도를 이용하여 경로 데이터를 생성할 수 있고, 생성된 경로 데이터를 서비스 로봇(230)으로 전송할 수 있다. 이 경우, 경로 데이터는 통신부(540)를 통해 데이터 처리 모듈(515)로 전달될 수 있다.
일반적인 경우, 데이터 처리 모듈(515)은 경로 데이터를 바로 구동 제어 모듈(513)로 전달할 수 있고, 구동 제어 모듈(513)은 경로 데이터에 따라 구동부(520)를 제어하여 서비스 로봇(230)의 실내 자율 주행을 제어할 수 있다.
만약, 통신 장애로 인해 클라우드 시스템(210)과 통신할 수 없는 경우, 데이터 처리 모듈(515)은 제2 센싱 데이터를 로컬리제이션 처리 모듈(514)로 전송하고, 경로 계획 처리 모듈(511)와 맵핑 처리 모듈(512)을 통해 경로 데이터를 생성하여 서비스 로봇(230)의 실내 자율 주행을 직접 처리할 수도 있다. 다만, 이 경우, 서비스 로봇(230)은 맵핑 로봇(220)과 달리 고가의 센싱 장비를 포함하지 않기 때문에 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서의 출력값을 이용하여 실내 자율 주행을 처리할 수 있다. 그러나 서비스 로봇(230)이 기존에 클라우드 시스템(210)과의 통신을 통해 실내 자율 주행을 처리한 적이 있다면, 클라우드 시스템(210)으로부터 기존에 수신한 경로 데이터가 포함하는 맵핑 데이터 등을 더 활용함으로써 저가의 센서들을 이용하면서도 보다 정확한 실내 자율 주행이 가능해질 수 있다.
한편, 서비스 처리 모듈(516)은 클라우드 시스템(210)을 통해 수신되는 명령을 통신부(540)를 통해 또는 통신부(540)와 데이터 처리 모듈(515)을 통해 전달받을 수 있다. 이 경우, 구동부(520)는 서비스 로봇(230)의 이동을 위한 장비뿐만 아니라, 서비스 로봇(230)이 제공하는 서비스와 관련된 장비를 더 포함할 수 있다. 상술한 호텔 서비스의 예에서 서비스 로봇(230)의 구동부(520)는 객실 출입문의 벨을 누르기 위한 로봇 암(arm)이나 고객 응대 음성을 출력하기 위한 스피커 등을 더 포함할 수 있다. 이 경우, 서비스 처리 모듈(516)은 제공해야 할 서비스를 위한 구동 명령을 구동 제어 모듈(513)로 전달할 수 있고, 구동 제어 모듈(513)은 구동 명령에 따라 구동부(520)가 더 포함할 수 있는 로봇 암이나 스피커를 제어하여 서비스가 제공될 수 있도록 할 수 있다.
도 6은 본 발명의 일실시예에 있어서, 클라우드 시스템을 구성하는 물리적인 서버의 내부 구성을 설명하기 위한 블록도이다. 앞서 설명한 클라우드 시스템(210)은 하나의 물리적인 서버 장치로 구현되거나 또는 둘 이상의 물리적인 서버 장치의 연동을 통해 구현될 수 있다. 이때, 클라우드 시스템(210)을 구성하는 서버(600)는 도 6에 도시된 바와 같이 메모리(610), 프로세서(620), 통신 모듈(630) 그리고 입출력 인터페이스(640)를 포함할 수 있다. 메모리(610)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 비소멸성 대용량 기록장치는 메모리(610)와 분리되어 별도의 영구 저장 장치로서 포함될 수도 있다. 또한, 메모리(610)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(610)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 모듈(630)을 통해 메모리(610)에 로딩될 수도 있다.
프로세서(620)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(610) 또는 통신 모듈(630)에 의해 프로세서(620)로 제공될 수 있다. 예를 들어 프로세서(620)는 메모리(610)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 이러한 프로세서(620)는 도 4를 통해 설명한 클라우드 시스템(210)이 포함하는 적어도 하나의 프로세서에 포함될 수 있다.
통신 모듈(630)은 실제 컴퓨터 네트워크를 통해 다른 물리적인 기기들과 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 통신 모듈(630)은 서버(600)가 맵핑 로봇(220)이나 서비스 로봇(230)과 통신과 통신하기 위한 기능을 제공할 수 있다.
입출력 인터페이스(640)는 입출력 장치(650)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입출력 장치(650)에서 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이나 스피커와 같은 장치를 포함할 수 있다. 도 6에서 입출력 장치(650)는 서버(600)와 별도의 장치로 표현되었으나, 실시예에 따라 입출력 장치(650)가 서버(600)에 포함되도록 서버(600)가 구현될 수도 있다.
또한, 다른 실시예들에서 서버(600)는 도 6의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 서버(600)는 각종 물리적인 버튼이나 터치패널, 또는 광출력 장치 등의 다양한 구성요소들을 더 포함하도록 구현될 수도 있다.
도 7은 본 발명의 일실시예에 있어서, 제어 방법을 설명하기 위한 흐름도이다.
단계(S710)에서 맵핑 로봇(220)은 목표 시설물의 내부를 자율 주행하면서 센서를 통해 목표 시설물의 내부에 대한 제1 센싱 데이터를 생성할 수 있다. 예를 들어, 도 3을 통해 설명한 바와 같이, 맵핑 로봇(220)은 센싱부(330)를 통해 센서들의 출력값을 포함하는 제1 센싱 데이터를 데이터 처리 모듈(315)로 전송할 수 있다. 이러한 맵핑 로봇(220)은 클라우드 시스템(210)을 통해 서비스 로봇(230)의 실내 자율 주행을 제어하기 위한 클라우드 서비스를 제공하는 서비스 제공자 측에서 운용하는 장비일 수 있다. 또한, 서비스 로봇(230)은 목표 시설물과 연관하여 클라우드 서비스를 요청한 이용자 측에서 운용하는 장비일 수 있다.
단계(S720)에서 맵핑 로봇(220)은 생성된 제1 센싱 데이터를 전송할 수 있다. 예를 들어, 도 3을 통해 설명한 바와 같이 데이터 처리 모듈(315)은 센싱부(330)로부터 수신한 제1 센싱 데이터를 통신부(340)를 통해 클라우드 시스템(210)으로 전송할 수 있다.
단계(S730)에서 클라우드 시스템(210)은 수신된 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성할 수 있다. 예를 들어, 클라우드 시스템(210)은 도 6을 통해 설명한 통신 모듈(630)을 통해 맵핑 로봇(220)으로부터 제1 센싱 데이터를 수신할 수 있으며, 도 4를 통해 설명한 맵 생성 모듈(410)을 통해 수신한 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성할 수 있다. 이때, 실내 지도는 이미지 기반의 3차원 실내 지도로 생성될 수 있다. 이미 설명한 바와 같이, 제1 센싱 데이터는 맵핑 로봇(220)의 자율 주행이 끝난 후에 일괄적으로 클라우드 시스템으로 전달될 수도 있다.
실시예에 따라 클라우드 시스템(210)은 복수의 이용자들 각각의 목표 시설물들에 대한 실내 지도를 생성할 수도 있다. 예를 들어, 목표 시설물들마다 맵핑 로봇(220)을 투입하여 목표 시설물별 제1 센싱 데이터를 얻을 수 있고, 목표 시설물별로 실내 지도를 생성할 수 있다. 이 경우, 클라우드 시스템(210)은 목표 시설물별로 생성된 실내 지도를 이용자의 식별자, 대응하는 목표 시설물의 식별자 및 대응하는 이용자의 서비스 로봇의 식별자 중 적어도 하나의 식별자와 연관하여 저장 및 관리될 수 있다. 추후, 다수의 이용자들의 다수의 서비스 로봇들 중 하나의 실내 자율 주행을 제어하는 경우, 클라우드 시스템(210)은 실내 지도와 연관된 식별자를 통해 해당 서비스 로봇을 위한 실내 지도를 식별할 수 있으며, 식별되는 실내 지도를 이용하여 해당 서비스 로봇을 위한 실내 자율 주행을 제어할 수 있다.
단계(S740)에서 서비스 로봇(230)은 목표 시설물의 내부에서 센서를 통해 목표 시설물의 내부에 대한 제2 센싱 데이터 생성할 수 있다. 예를 들어, 도 5를 통해 설명한 바와 같이, 서비스 로봇(230)은 센싱부(530)를 통해 센서들의 출력값을 포함하는 제2 센싱 데이터를 데이터 처리 모듈(515)로 전송할 수 있다. 맵핑 로봇(220)이 라이더 및 360도 카메라와 같은 고가의 센싱 장비들을 센서들로서 이용하는 반면, 서비스 로봇(230)은 저가용 카메라 및/또는 저가용 초음파 센서와 같은 저가의 센싱 장비를 센서들로 이용하여 제2 센싱 데이터를 생성할 수 있다. 이처럼 클라우드 시스템(210)은 맵핑 로봇(220)을 통해 해당 목표 시설물의 실내 지도를 이미 생성하였고, 따라서 단순한 이미지 맵핑만으로도 서비스 로봇(230)의 실내 자율 주행을 제어할 수 있기 때문에 서비스 로봇(230)은 저가의 센서들로 구성될 수 있고 이에 따라 이용자들이 운용하는 서비스 로봇(230)의 제작 비용을 획기적으로 낮출 수 있게 된다.
단계(S750)에서 서비스 로봇(230)은 생성된 제2 센싱 데이터를 전송할 수 있다. 예를 들어, 도 5를 통해 설명한 바와 같이, 서비스 로봇(230)의 데이터 처리 모듈(515)은 제2 센싱 데이터를 통신부(540)를 통해 클라우드 시스템(210)으로 전송할 수 있다.
단계(S760)에서 클라우드 시스템(210)은 수신된 제2 센싱 데이터 및 생성된 실내 지도를 이용하여 경로 데이터를 생성할 수 있다. 경로 데이터는 클라우드 시스템(210)에서 목표 시설물의 실내 지도에 따른 가공된 맵핑 데이터와 경로 계획 데이터 및 서비스 로봇(230)에 대해 결정된 위치 데이터를 포함할 수 있다. 가공된 맵핑 데이터는 일례로, 현 시점에서 서비스 로봇(230)에 대해 결정된 위치 데이터 및 경로 계획 데이터와 관련된 실내 지도의 일부분일 수 있다. 보다 구체적인 예로, 맵핑 데이터는 서비스 로봇(230)이 현재 위치부터 이동해야 할 위치까지에 대응하는 실내 지도 데이터를 포함할 수 있다.
단계(S770)에서 클라우드 시스템(210)은 생성된 경로 데이터를 전송할 수 있다. 예를 들어, 클라우드 시스템(210)은 도 4를 통해 설명한 경로 계획 처리 모듈(430)이 로컬리제이션 처리 모듈(420) 및 맵 생성 모듈(410)과 연동하여 생성한 경로 데이터를 도 6을 통해 설명한 통신 모듈(630)을 통해 서비스 로봇(230)으로 전송할 수 있다. 이러한 경로 데이터의 생성 및 전송을 위한 단계(760) 및 단계(770)은 제2 센싱 데이터 및 생성된 실내 지도를 이용하여 서비스 로봇(230)의 목표 시설물에 대한 실내 자율 주행을 제어하기 위한 과정일 수 있다. 앞서 설명한 바와 같이 클라우드 시스템(210)은 복수의 이용자들이 클라우드 서비스를 이용하는 경우, 복수의 목표 시설물들 각각에 대해 실내 지도를 생성하고, 생성된 실내 지도를 대응하는 이용자의 식별자, 대응하는 목표 시설물의 식별자 및 대응하는 이용자의 서비스 로봇의 식별자 중 적어도 하나의 식별자와 연관하여 저장 및 관리함으로써, 실내 자율 주행을 제어할 서비스 로봇과 연관된 실내 지도를 식별할 수 있다.
또한, 하나의 목표 시설물에 복수의 서비스 로봇들이 존재할 수 있다. 다시 말해, 한 명의 이용자가 다수의 서비스 로봇들을 운용할 수도 있다. 이 경우, 클라우드 시스템(210)은 단계(760)에서 복수의 서비스 로봇들 각각으로부터 제2 센싱 데이터를 수신할 수 있다. 또한, 클라우드 시스템(210)은 단계(770)에서 복수의 서비스 로봇들 각각으로부터 수신된 제2 센싱 데이터를 통해 파악되는 복수의 서비스 로봇들의 위치를 이용하여 생성된 실내 지도의 구획에 따라 또는 서비스 로봇이 목표 시설물에서 제공하는 서비스에 따라 복수의 서비스 로봇들 각각의 실내 자율 주행을 제어할 수 있다. 예를 들어 복수의 서비스 로봇들이 물류 창고내에서 물류 관리 서비스를 제공할 수 있다. 이 경우, 복수의 서비스 로봇들이 물류 창고내에서 물류를 관리하기 위한 영역들(구획들)이 미리 나뉘어져 있을 수 있고, 클라우드 시스템(210)은 이러한 실내 지도의 구획에 따라 복수의 서비스 로봇들 각각의 실내 자율 주행을 제어할 수 있다. 또한, 서비스에 따라, 복수의 서비스 로봇들의 이동 경로가 겹치거나 또는 복수의 서비스 로봇들 각각이 실내 지도의 전체 구획들을 모두 이동할 가능성이 존재할 수 있다. 이를 위해, 클라우드 시스템(210)은 복수의 서비스 로봇들이 제공하는 서비스에 따라 복수의 서비스 로봇들 각각의 실내 자율 주행을 제어할 수도 있다. 예를 들어, 클라우드 시스템(210)은 복수의 서비스 로봇들의 현재 위치를 통해 복수의 서비스 로봇들 전체를 위한 최적의 이동 경로를 계산할 수도 있다. 또 다른 예로, 하나의 목표 시설물에서 서로 다른 서비스를 제공하는 서비스 로봇들이 존재할 수도 있다. 이처럼, 클라우드 서비스(210)는 하나의 목표 시설물에 복수의 서비스 로봇들이 존재하는 경우, 복수의 서비스 로봇들 각각의 위치를 알 수 있기 때문에 복수의 서비스 로봇들 전체를 고려하여 최적의 이동 경로를 계산할 수도 있다.
단계(780)에서 서비스 로봇(230)은 수신된 경로 데이터에 기반하여 이동을 제어할 수 있다. 예를 들어, 서비스 로봇(230)은 도 5를 통해 설명한 통신부(540)를 통해 경로 데이터를 수신하여 데이터 처리 모듈(515)로 전달할 수 있다. 이때, 데이터 처리 모듈(515)은 일반적인 경우, 경로 데이터를 구동 제어 모듈(513)로 전송하여 구동 제어 모듈(513)이 경로 데이터에 따라 구동부(520)를 제어하도록 할 수 있다. 이때, 단계(S740) 내지 단계(S780)는 서비스 로봇(230)이 자신의 서비스를 종료할 때까지 반복될 수 있다.
도 8은 본 발명의 일실시예에 있어서, 서비스 로봇의 위치를 한정하기 예를 도시한 도면이다. 도 8은 목표 시설물의 2차원 실내 지도(800)의 간략한 예를 나타내고 있다. 이때, 실선 원(810)이 서비스 로봇(230)의 위치를 나타내고, 점선들(820, 830)이 서비스 로봇(230)이 포함하는 저가형 카메라의 시야각이라 가정한다. 이때, 저가형 카메라를 통해 촬영된 이미지를 포함하는 제2 센싱 데이터가 서비스 로봇(230)에서 클라우드 시스템(210)으로 전송될 수 있다. 이 경우, 클라우드 시스템(210)은 서비스 로봇(230)의 위치를 확인하고자 할 때마다 2차원 실내 지도(800)에 대응하여 수집된 이미지들 전체에 대해 제2 센싱 데이터가 포함하는 이미지와 매칭되는 이미지가 발견될 때까지 이미지 매칭을 진행해야 하기 때문에 많은 연산 비용이 소모될 수 있다.
이에, 본 실시예에 따른 클라우드 시스템(210)이 수신하는 제1 센싱 데이터와 제2 센싱 데이터는 목표 시설물의 내부 이미지 정보뿐만 아니라, 목표 시설물의 특정 구역에서 발생하여 상기 특정 구역을 식별하기 위한 신호 정보를 더 포함할 수 있다. 예를 들어, 맵핑 로봇(220)과 서비스 로봇(230)은 목표 시설물 내에 설치된 AP(Access Point)들이 발생시키는 와이파이 신호나 목표 시설물에 별도로 구축되는 신호 발생기들에서 발생하는 전파 신호나 소리 신호(사람이 인지하지 못하는 사운드)를 감지하기 위한 신호 감지 센서를 더 포함할 수 있고, 해당 신호 감지 센서를 통해 인식된 신호 정보가 각각 제1 센싱 데이터와 제2 센싱 데이터에 더 포함되어 클라우드 시스템(210)으로 전송될 수 있다. 이때, 서로 다른 AP의 와이파이 신호는 구분될 수 있으며, 별도로 구축되는 신호 발생기들 역시 서로 구분 가능한 신호 정보를 발생시킬 수 있다.
이 경우, 클라우드 시스템(210)은 맵핑 로봇(220)의 위치는 쉽게 파악할 수 있기 때문에 제1 센싱 데이터가 포함하는 신호 정보에 대응하는 구역을 식별할 수 있게 된다. 이 경우, 클라우드 시스템(210)은 제2 센싱 데이터가 포함하는 신호 정보를 통해 서비스 로봇(230)의 구역을 한정할 수 있고, 따라서 이미지 매칭을 위한 연산 비용을 줄일 수 있다.
예를 들어, 도 8에 도시된 점선 원들이 각각 목표 시설물에서 발생하는 신호 정보들의 인식 가능 범위라 가정한다. 이때, 실선 원(810)의 위치에 존재하는 서비스 로봇(230)은 제1 점선 원(840)에 대응하는 신호 정보를 제2 센싱 데이터에 포함시켜 클라우드 시스템(210)으로 전송하게 된다. 이 경우, 클라우드 시스템(210)은 맵핑 로봇(220)이 동일한 신호 정보를 제1 센싱 데이터에 포함시켜 전송한 구역의 이미지들만을 이미지 매칭의 대상으로 한정함으로써 이미지 매칭을 위한 연산 비용을 줄일 수 있게 된다. 맵핑 로봇(220)이나 서비스 로봇(230)의 위치에 따라 둘 이상의 서로 다른 신호 정보가 포함될 수도 있으나, 이 경우에도 전체 실내 지도에 대응하는 모든 이미지들과의 이미지 매칭에 비해 연산 비용을 줄일 수 있게 된다.
도 9는 본 발명의 일실시예에 있어서, 클라우드 시스템이 서비스 로봇이 제공하는 서비스를 제어하는 과정의 예를 흐름도이다. 앞서 설명한 바와 같이 클라우드 시스템(210)이 서비스 로봇의 서비스를 제어해야 할 필요성이 존재한다. 이를 위해, 클라우드 시스템(210)을 통해 서비스 로봇(230)의 실내 자율 주행을 제어하도록 제공되는 클라우드 서비스를 위한 IDE(Integrated Development Environment)가 이용자 또는 서비스 로봇(230)의 제작자에게 제공될 수 있다. IDE는 효율적으로 소프트웨어를 개발하기 위한 통합개발환경 소프트웨어 어플리케이션 인터페이스로서 클라우드 시스템(210)은 이러한 IDE를 통해 서비스 로봇(230)의 서비스를 제어하기 위한 기능을 제공받을 수 있다.
단계(S910)에서 클라우드 시스템(210)은 IDE를 통해 서비스 로봇(230)이 목표 시설물에서 제공하는 서비스를 제어하기 위한 소프트웨어를 등록받을 수 있다. 이러한 단계(S910)는 도 7을 통해 설명한 단계(S740) 이전에 수행될 수 있다. 다시 말해, 클라우드 시스템(210)이 서비스 로봇(230)의 실내 자율 주행을 제어하기 위해 서비스 로봇(230)과 통신하기 이전에 미리 소프트웨어를 등록받을 수 있다. 예를 들어, 클라우드 시스템(210)은 도 4를 통해 설명한 서비스 운영 모듈(440)을 통해 소프트웨어를 등록받고 소프트웨어를 관리할 수 있다.
단계(S920)에서 클라우드 시스템(210)은 등록된 소프트웨어를 이용하여 서비스 로봇(230)이 목표 시설물에서 제공하는 서비스를 제어할 수 있다. 이때, 클라우드 시스템(210)은 도 4를 통해 설명한 서비스 운영 모듈(440)을 통해 등록된 소프트웨어의 프로그램 코드에 따라 서비스 관련 명령을 서비스 로봇(230)으로 전달할 수 있다. 따라서 클라우드 시스템(210)이 서비스 로봇(230)의 서비스를 어떻게 제어하는 가는 클라우드 시스템(210)에 등록되는 소프트웨어에 따라 달라질 수 있다. 이러한 단계(S920)은 단계(S740) 내지 단계(S780)을 통한 서비스 로봇(230)의 실내 자율 주행을 통해 서비스 로봇(230)이 서비스를 제공하고자 하는 위치에 도달한 후에 이루어질 수 있다. 예를 들어, 호텔의 실시예에서 서비스 로봇(230)이 목적된 객실 앞에 도착한 이후에 객실 출입문 벨을 누르거나 고객 응대 음성을 출력하는 등의 서비스의 시작이 클라우드 시스템(210)을 통해 제어될 수 있다. 클라우드 시스템(210)을 통해 시작된 서비스는 도 5를 통해 설명한 서비스 로봇(230)의 서비스 처리 모듈(516)을 통해 제공될 수 있다. 예를 들어, 서비스 로봇(230)은 클라우드 시스템(210)이 제공하는 제어 명령에 따라 대응하는 서비스를 제공할 수 있다. 이를 위해, 서비스 처리 모듈(516)은 제어 명령에 알맞은 서비스의 제공을 위한 처리 절차를 진행할 수 있다.
도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이고, 도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.
맵핑 로봇(220)의 구현 예(1000)는 360도 카메라(1010)와 두 개의 라이더들(1020, 1030)을 포함하는 상단의 센서부와 맵핑 로봇의 이동을 처리하기 위한 구동부(1040), 그리고 센서부로부터의 출력값을 처리하여 맵핑 로봇(220)의 실내 자율 주행이 가능하도록 구동부(1040)를 제어하는 제어부(1050)를 나타내고 있다. 이때, 센서부로부터의 출력값(일례로, 360도 카메라(1010)가 촬영한 이미지들과 두 개의 라이더들(1020, 1030)의 출력값)은 앞서 설명한 바와 같이 클라우드 시스템(210)으로 전달되어 맵핑 로봇(220)이 자율 주행 중인 시설물의 실내 지도를 클라우드 시스템(210)이 생성하도록 할 수 있다. 이미 설명한 바와 같이, 센서부로부터의 출력값은 실시간으로, 또는 일정 주기로 네트워크를 통해 맵핑 로봇(220)에서 클라우드 시스템(210)으로 전달될 수도 있으나, 실시예에 따라서는 일차적으로 맵핑 로봇(220)에 저장되고, 시설물 내부에 대한 센싱이 완료된 후에 별도의 기록매체를 통해 클라우드 시스템(210)으로 입력될 수도 있다.
본 실시예에 따른 맵핑 로봇(220)의 구현 예(1000)는 설명의 이해를 돕기 위한 것으로, 본 발명의 실시예들에 따른 맵핑 로봇이 도 10 내지 도 13의 형태로 한정되는 것은 아니다. 예를 들어, 제어부(1050)에도 추가적인 라이더가 포함되거나 구동부(1040)가 다리 형태 또는 바퀴가 달린 다리 형태로 구현될 수도 있다. 보다 구체적인 예로, 바퀴가 달린 다리 형태의 맵핑 로봇(220)은 평지에서는 바퀴를 이용하여 이동하고, 계단이나 에스컬레이터에서는 다리를 이용하여 이동하는 시나리오를 고려할 수 있다.
이러한 맵핑 로봇(220)은 목표 시설물의 청사진과 같은 기본 레이아웃을 입력 받고, 기본 레이아웃에 따른 모든 지역을 자율 주행하면서 3차원 실내 지도의 생성을 위한 제1 센싱 데이터를 생성할 수 있다. 또한, 맵핑 로봇(220)은 기둥과 같은 장애물에 의해 시설물 내부에서 360도 카메라(1010)의 시야를 제한함에 따라 발생하는 음영을 없애기 위해 장애물에 의해 시야가 가려지지 않는 위치에서 시설물의 실내를 촬영할 수 있도록 맵핑 로봇(220)의 이동을 제어할 수 있는 알고리즘을 포함할 수 있다.
도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다. 도 19는 맵핑 로봇(220)이 컨트롤러(Controller, 1910), PMS(Power Management System, 1920), 센서(Sensor, 1930) 및 드라이브라인(Driveline, 1940)을 포함하여 구성된 실시예를 나타내고 있다.
컨트롤러(1910)는 도 3을 통해 설명한 제어부(310)에 대응할 수 있으며, 도 19에 도시된 바와 같이 컴퓨팅 모듈(Computing Module, 1911)과 통신 모듈(Communication Module, 1912)을 포함할 수 있다.
컴퓨팅 모듈(1911)은 PC와 같은 하나 이상의 컴퓨터로 구현될 수 있으며, 이러한 컴퓨터를 통해 맵핑 로봇(220)의 자율 주행을 위한 연산이 처리될 수 있다. 예를 들어, 도 3을 통해 설명한 경로 계획 처리 모듈(311), 맵핑 처리 모듈(312), 구동 제어 모듈(313), 로컬리제이션 처리 모듈(314) 및 데이터 처리 모듈(315) 등이 컴퓨터에 포함될 수 있다.
통신 모듈(1912)은 이더넷 스위칭 허브, USB 허브, LTE 모듈, 무선 제어 수신부, 와이파이 브릿지 등과 같이 외부와의 통신을 위한 다양한 모듈들을 포함할 수 있다. 이러한 통신 모듈(1912)는 맵핑 로봇(220)의 운영자가 맵핑 로봇(220)을 제어하기 위한 인터페이스로서 무선 마우스와 키보드 등과 통신하기 위한 모듈 역시 포함할 수 있다.
PSM(1920)은 맵핑 로봇(220)의 전원을 관리하기 위한 구성요소로, 배터리 팩(Battery Pack, 1921)과 파워 서플라이(Power Supply, 1922)를 포함할 수 있다.
배터리 팩(1921)은 시설물 내부를 자율 주행하는 맵핑 로봇(220)의 전원 공급원일 수 있다.
파워 서플라이(1922)는 컨트롤러와 센서에 안정화 전원(Regulated Power)를 공급하고, 드라이브라인(1940)에 비안정화 전원(Unregulated Power)를 각각 공급하기 위한 구성요소일 수 있다.
센서(1930)는 3차원 라이더(3D Lidar, 1931)와 카메라 시스템(Camera System, 1932)을 포함할 수 있으며, 필요 시 장애물 회피를 위해 근거리 장애물을 탐지하기 위한 LCLS(Low Cost Localization Sensor)를 더 포함할 수 있다. 예를 들어, 초음파 센서, IMU, PSD 센서 등이 센서(1930)에 더 포함될 수 있다.
드라이브라인(1940)은 맵핑 로봇(220)을 이동시키기 위한 바퀴나 다리, 그리고 이러한 바퀴나 다리를 실제로 구동시키기 위한 구성요소들을 포함할 수 있다. 기본적으로 드라이브라인(1940)은 컨트롤러(1910)의 제어에 따라 동작할 수 있다. 한편, 맵핑 로봇(220)은 컨트롤러(1910)가 아닌 운영자의 제어에 따라 동작해야 할 필요성도 있다. 예를 들어, 시설물 내에서의 실내 자율 주행 중이 아닌 경우(일례로 시설물까지 맵핑 로봇(220)을 옮겨야 하는 경우)나 실내 자율 주행 중에 오류가 발생한 경우 등에는 맵핑 로봇(220)의 운영자가 직접 맵핑 로봇(220)의 이동을 제어해야 할 필요성이 존재할 수 있다. 이를 위해, 드라이브라인(1940)은 운영자의 단말(일례로, 모바일 기기)과 통신하여 운영자로부터의 제어 명령을 수신하기 위한 커멘드 모듈(Command Module, 1941)을 포함할 수 있다. 또한, 드라이브라인(1940)은 모터와 구동축, 그리고 바퀴와 같은 맵핑 로봇(220)의 이동을 실제 처리하는 드라이브 모듈(Drive Module, 1942)을 포함할 수 있다. 구체적인 예로, 도 10 내지 도 18을 통해 설명한 맵핑 로봇(220)의 구현 예(1000)에서 드라이브라인(1940)은 각각 독립적으로 동작하는 네 개의 바퀴를 위한 네 개의 드라이브 모듈 집합을 포함할 수 있다. 이러한 네 개의 드라이브 모듈 집합은 하나의 마스터 드라이브 모듈과 세 개의 슬레이브 드라이브 모듈로 구현될 수도 있다.
이때, 컨트롤러(1910)는 센서(1930)를 통해 센싱되는 정보를 이용하여 맵핑 로봇(230)의 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 드라이브라인(1940)을 제어하여 맵핑 로봇(220)을 이동시킬 수 있으며, 실내 자율 주행의 과정에서 목표 시설물의 실내 지도를 제작하기 위한 정보를 센서(1930)를 통해 수집할 수 있다. 이때, 컨트롤러(1910)는 맵핑 로봇(220)이 이동함에 따라 변경되는 주변 정보를 센서(1930)를 통해 지속적으로 수집할 수 있으며, 지속적으로 수집되며 맵핑 로봇(220)의 이동에 따라 변경되는 주변 정보를 이용하여 경로 계획을 지속적으로 갱신할 수 있다. 경로 계획이 변경되면, 컨트롤러(1910)는 변경된 경로 계획에 따라 맵핑 로봇(220)이 이동하도록 드라이브라인(1940)을 제어할 수 있다.
또한, 컨트롤러(1910)는 센서(1930)가 포함하는 카메라(카메라 시스템(1932))를 통해 촬영된 이미지와 3차원 실시간 라이더(3차원 라이더(1931))를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 음영 지역의 촬영이 가능한 위치를 계산하여 맵핑 로봇(220)의 실내 자율 주행을 위한 경로 계획을 갱신할 수 있다. 이를 통해 맵핑 로봇(220)은 목표 시설물 내부의 전체에 대한 이미지와 거리 정보 등을 획득하여 목표 시설물에 대한 보다 정확한 실내 지도를 획득할 수 있다.
또한, 컨트롤러(1910)는 실내 자율 주행을 위한 경로 계획에 따라 맵핑 로봇(220)이 이동하도록 드라이브라인(1940)을 제어하되, 센서(1930)의 로컬리제이션 센서(LCLS(Low Cost Localization Sensor))의 출력값에 기반하여 장애물 회피를 처리할 수 있다.
도 20 및 도 21은 본 발명의 일실시예에 따른 맵핑 로봇의 동작 구조의 예를 도시한 도면들이다. 도 20은 컨트롤러(1910)가 맵핑 로봇(220)의 자율 주행과 맵핑을 처리하기 위해 포함할 수 있는 기능 모듈들의 예를 나타나고 있고, 도 21은 이러한 기능 모듈들을 통한 맵핑 로봇(220)의 동작 구조의 예를 나타내고 있다.
인터페이스 모듈(Interface Module)은 카메라 위자드(Camera Wizard), 벨로다인 위자드(Velodyne Wizard), IMU 위자드(IMU Wizard), 컨트롤 위자드(Control Wizard) 및 모터 위자드(Motor Wizard)를 포함할 수 있다. 카메라 위자드는 카메라의 자동 연결, 카메라의 입출력 관리 및 구면 투영(Spherical Projection) 등의 기능을 관리할 수 있다. 벨로다인 위자드는 3차원 실시간 라이더를 관리하기 위한 기능일 수 있으며, 3차원 실시간 라이더를 통해 센싱되는 3차원 파티클(particle)의 투영과 전자 채색(Colorization) 등을 처리할 수 있다. IMU 위자드는 IMU 센서와의 연결, 자동 자이로 조정(gyro calibration), IMU 센서의 입출력 관리, 오일러 각(Euler angle)의 필터링 등을 처리할 수 있다. 컨트롤 위자드는 컨트롤러(1910)에 대응할 수 있으며, 컨트롤러(1910)와 다른 구성요소들간의 연결, 컨트롤러(1910)의 입출력 관리 및 제어 패킷의 입출력 관리 등의 기능을 처리할 수 있다. 모터 위자드는 모터 컨트롤러에 대응할 수 있으며, 모터와 다른 구성요소(일례로, 컨트롤러(1910))와의 연결, 모터 컨트롤러의 입출력 관리, 속도 필터링 및 인코더 필터링 등의 기능을 처리할 수 있다.
로깅 모듈(Logging Module)은 맵핑 로봇(220)의 시스템의 작동 상태를 기록하기 위한 요소로, 3차원 파티클의 클라우드 기록, 구면 이미지 기록(Spherical Image Logging), SLAM 자세 기록(SLAM Pose Logging), 맵핑 로봇(220)의 주행 거리(odometry) 기록, IMU 센서의 출력값 기록 등을 처리하는 로깅 위자드(Logging Wizard)를 포함할 수 있다.
인식 모듈(Perception Module)은 맵핑 로봇(220)의 자율 주행 시 주변 환경의 인식을 위한 모듈로서, 라이더 스캔매칭, 3차원 맵 생성 및 3차원 자세 로컬리제이션을 처리하는 SLAM 위자드(SLAM Wizard)와 장애물 회피를 위한 장애물 위자드(Obstacle Wizard)를 포함할 수 있다. 장애물 위자드는 가능성 영역의 갱신, 높이 맵의 갱신, 주행성 맵(traversability map)의 갱신, 경계(frontier) 갱신 및 밸류 맵(value map) 갱신 등의 기능을 처리할 수 있다.
지능 모듈(Intelligence Module)은 행위 FSM(Finite State Machine)와 동작 FSM을 포함할 수 있다. 행위 FSM은 사용자 오버라이드 핸들링(user override handling), 목표 자세 갱신, 모션 계획 갱신, 대상 자세와 대상 속도의 갱신 등의 기능을 처리할 수 있다. 또한, 동작 FSM은 맵핑 로봇(220)의 전진과 후진 등의 운동학적 문제의 처리와 바퀴 속도의 처리 등의 기능을 처리할 수 있다.
도 21은 이러한 도 20의 기능 모듈들간의 상호 작용을 통한 맵핑 로봇(220)의 동작 구조의 예를 나타내고 있다.
이처럼 본 발명의 실시예들에 따르면, 서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있다. 또한, 하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있다. 또한, 이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (10)
- 맵핑 로봇에 있어서,
목표 시설물의 내부 환경의 수집을 위해 주변 정보를 센싱하는 센서;
상기 목표 시설물의 내부의 이동을 위한 드라이브라인; 및
상기 센서를 통해 센싱되는 정보를 이용하여 상기 목표 시설물 내부에서의 상기 맵핑 로봇의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 상기 드라이브라인을 제어하여 상기 맵핑 로봇을 이동시키며, 상기 맵핑 로봇이 이동하는 상기 실내 자율 주행의 과정에서 상기 목표 시설물의 실내 지도를 제작하기 위한 정보를 상기 센서를 통해 수집하는 컨트롤러
를 포함하고,
상기 센서는,
상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및
상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라
를 포함하고,
상기 컨트롤러는 상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하고, 상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역의 촬영이 가능한 위치를 계산하여 상기 실내 자율 주행을 위한 경로 계획을 갱신하는 것을 특징으로 하는 맵핑 로봇. - 제1항에 있어서,
배터리 팩을 이용하여 상기 센서, 상기 드라이브라인 및 상기 컨트롤러로 전원을 공급하기 위한 전원공급부
를 더 포함하는 것을 특징으로 하는 맵핑 로봇. - 삭제
- 제1항에 있어서,
상기 센서는,
근거리 장애물의 탐지를 위한 로컬리제이션 센서
를 더 포함하고,
상기 컨트롤러는 상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 상기 드라이브라인을 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 하는 맵핑 로봇. - 삭제
- 맵핑 로봇의 제어 방법에 있어서,
목표 시설물의 내부에 위치한 맵핑 로봇에서 센서를 통해 주변 정보를 센싱하는 단계;
상기 센싱되는 주변 정보를 이용하여 상기 목표 시설물 내부에서의 상기 맵핑 로봇의 실내 자율 주행을 위한 경로 계획을 생성하는 단계;
상기 생성된 경로 계획에 따라 상기 맵핑 로봇의 이동을 제어하는 단계;
상기 맵핑 로봇의 이동에 따라 변경되는 주변 정보를 상기 센서를 통해 센싱하는 단계;
상기 변경되는 주변 정보를 이용하여 상기 경로 계획을 갱신하는 단계; 및
상기 맵핑 로봇이 이동하는 상기 실내 자율 주행의 과정에서, 상기 센서를 통해 지속적으로 센싱되는 주변 정보들을 상기 목표 시설물의 실내 지도의 제작을 위한 정보로서 기록하는 단계
를 포함하고,
상기 센서는, 상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및 상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라를 포함하고,
상기 기록하는 단계는,
상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하고,
상기 경로 계획을 갱신하는 단계는,
상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역의 촬영이 가능한 위치를 계산하여 상기 실내 자율 주행을 위한 경로 계획을 갱신하는 것을 특징으로 하는 제어 방법. - 삭제
- 제6항에 있어서,
상기 센서는, 근거리 장애물의 탐지를 위한 로컬리제이션 센서를 더 포함하고,
상기 맵핑 로봇의 이동을 제어하는 단계는,
상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 하는 제어 방법. - 삭제
- 제6항 또는 제8항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160137865A KR102096875B1 (ko) | 2016-10-21 | 2016-10-21 | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160137865A KR102096875B1 (ko) | 2016-10-21 | 2016-10-21 | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200038024A Division KR102112162B1 (ko) | 2020-03-30 | 2020-03-30 | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180044486A KR20180044486A (ko) | 2018-05-03 |
KR102096875B1 true KR102096875B1 (ko) | 2020-05-28 |
Family
ID=62244767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160137865A KR102096875B1 (ko) | 2016-10-21 | 2016-10-21 | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102096875B1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102586966B1 (ko) * | 2018-08-01 | 2023-10-10 | 한화에어로스페이스 주식회사 | 실내-지도 생성 시스템 및 실내-탐사 로봇 |
KR102257746B1 (ko) * | 2018-11-13 | 2021-05-31 | 주식회사 케이티 | 로봇군 제어 방법 및 시스템 |
KR102368856B1 (ko) * | 2018-12-31 | 2022-03-02 | 주식회사 도구공간 | 오브젝트 탐지 방법 및 장치 |
US11074480B2 (en) * | 2019-01-31 | 2021-07-27 | StradVision, Inc. | Learning method and learning device for supporting reinforcement learning by using human driving data as training data to thereby perform personalized path planning |
US11960297B2 (en) | 2019-05-03 | 2024-04-16 | Lg Electronics Inc. | Robot generating map based on multi sensors and artificial intelligence and moving based on map |
WO2020230931A1 (ko) * | 2019-05-16 | 2020-11-19 | 엘지전자 주식회사 | 다중 센서 및 인공지능에 기반하여 맵을 생성하고 노드들의 상관 관계를 설정하며 맵을 이용하여 주행하는 로봇 및 맵을 생성하는 방법 |
WO2020241930A1 (ko) * | 2019-05-30 | 2020-12-03 | 엘지전자 주식회사 | 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를 구현하는 로봇 |
CN112363491B (zh) * | 2019-07-24 | 2024-04-26 | 杭州萤石软件有限公司 | 机器人掉头控制方法及装置 |
KR102275682B1 (ko) * | 2020-05-08 | 2021-07-12 | 한국건설기술연구원 | 시설물 실시간 스캔을 위한 이동형 스캔 백팩 장치 |
CN113807585B (zh) * | 2021-09-18 | 2024-04-30 | 北京声智科技有限公司 | 一种游览路径推荐方法、装置及相关设备 |
KR102433595B1 (ko) * | 2021-11-22 | 2022-08-19 | (주)메트로텍 | 철도차량 스마트 유지보수용 자율주행 기반 무인 운송 장치 |
WO2023224391A1 (ko) * | 2022-05-18 | 2023-11-23 | 주식회사 인티그리트 | 지능형 실내 자율주행 로봇이 취득한 공간데이터를 이용한 가상화된 메타지도 제작 방법 및 시스템 |
KR102491670B1 (ko) * | 2022-09-01 | 2023-01-27 | 엘케이시스(주) | 자율주행용 지도 생성장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100486578B1 (ko) * | 2002-09-12 | 2005-05-03 | 엘지전자 주식회사 | 로봇을 이용한 작업공간 매핑방법 |
KR101700764B1 (ko) * | 2011-06-29 | 2017-01-31 | 엘지전자 주식회사 | 자율 이동 방법 및 그 장치 |
KR101578893B1 (ko) * | 2014-05-02 | 2015-12-18 | 에브리봇 주식회사 | 로봇 청소기 및 그 제어 방법 |
-
2016
- 2016-10-21 KR KR1020160137865A patent/KR102096875B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20180044486A (ko) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102096875B1 (ko) | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 | |
JP6731388B2 (ja) | 室内自律走行ロボットのための制御方法、プログラム、システム、マッピングロボット及びサービスロボット | |
US20210039779A1 (en) | Indoor mapping and modular control for uavs and other autonomous vehicles, and associated systems and methods | |
US11592845B2 (en) | Image space motion planning of an autonomous vehicle | |
KR102112162B1 (ko) | 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법 | |
TWI827649B (zh) | 用於vslam比例估計的設備、系統和方法 | |
CN112399813B (zh) | 多个自主移动机器人及其控制方法 | |
KR102043421B1 (ko) | 실내 자율 주행 로봇을 위한 제어 방법 및 시스템 | |
JP2019500693A (ja) | 自律視覚ナビゲーション | |
CN113453851B (zh) | 多个自主移动机器人及其控制方法 | |
CN108073167A (zh) | 一种基于深度相机与激光雷达的定位与导航方法 | |
JP2022511359A (ja) | ウェイポイントマッチングを用いた自律マップトラバーサル | |
JP6927937B2 (ja) | 三次元骨格表現を生成するためのシステム及び方法 | |
Zaki et al. | Microcontroller-based mobile robot positioning and obstacle avoidance | |
KR101959814B1 (ko) | 발달 장애인을 위한 탑승형 실내 자율 주행 로봇을 활용한 물류 시스템 및 물류 운반 방법, 탑승형 실내 자율 주행 로봇 | |
Taylor et al. | Intensity-based navigation with global guarantees | |
Mortezapoor et al. | Photogrammabot: an autonomous ROS-based mobile photography robot for precise 3d reconstruction and mapping of large indoor spaces for mixed reality | |
JP7004374B1 (ja) | 移動体の移動経路生成方法及びプログラム、管理サーバ、管理システム | |
Lee et al. | Localization method for mobile robots moving on stairs in multi-floor environments | |
JP2021196487A (ja) | 地図変換システム、及び地図変換プログラム | |
JP7441579B1 (ja) | 情報処理システム及び情報処理方法 | |
Mohan et al. | A comprehensive review of SLAM techniques | |
WO2023228283A1 (ja) | 情報処理システム及び移動体、情報処理方法、プログラム | |
Santoro | Design and implementation of a Sensory System for an Autonomous Mobile Robot in a Connected Industrial Environment | |
Joshi et al. | Simultaneous Navigator for Autonomous Identification and Localization Robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |