KR20180044486A - Robot for generating 3d indoor map using autonomous driving and method for controlling the robot - Google Patents

Robot for generating 3d indoor map using autonomous driving and method for controlling the robot Download PDF

Info

Publication number
KR20180044486A
KR20180044486A KR1020160137865A KR20160137865A KR20180044486A KR 20180044486 A KR20180044486 A KR 20180044486A KR 1020160137865 A KR1020160137865 A KR 1020160137865A KR 20160137865 A KR20160137865 A KR 20160137865A KR 20180044486 A KR20180044486 A KR 20180044486A
Authority
KR
South Korea
Prior art keywords
robot
mapping
service
sensor
indoor
Prior art date
Application number
KR1020160137865A
Other languages
Korean (ko)
Other versions
KR102096875B1 (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 KR1020160137865A priority Critical patent/KR102096875B1/en
Publication of KR20180044486A publication Critical patent/KR20180044486A/en
Application granted granted Critical
Publication of KR102096875B1 publication Critical patent/KR102096875B1/en

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/003Maps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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

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

Disclosed are a robot for automatically generating a 3d indoor precise map using an autonomous driving technology and a method for controlling a robot. A mapping robot comprises: a sensor for sensing surrounding information for collecting internal environments of a target facility; a drive line for movement of the interior of the target facility; and a controller for generating a path plan for the indoor self-driving in the target facility of the mapping robot using the information sensed by the sensor, controlling the drive line depending on the generated path plan to move the mapping robot and collecting information for producing the indoor map of the target facility through the sensor in the course of the indoor self-driving.

Description

자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법{ROBOT FOR GENERATING 3D INDOOR MAP USING AUTONOMOUS DRIVING AND METHOD FOR CONTROLLING THE ROBOT}TECHNICAL FIELD [0001] The present invention relates to an automatic generation of a three-dimensional indoor precision map using a self-driving technique, and a control method of the robot.

아래의 설명은 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법에 대한 것이다.The following explanation is about the control method of the robot and the robot that generates the 3D precision map automatically using the autonomous driving technology.

자율 주행 로봇은 스스로 주변을 살피고 장애물을 감지하면서 바퀴나 다리를 이용하여 목적지까지 최적 경로를 찾아가는 로봇으로, 자율 주행 차량이나, 물류, 호텔 서비스, 로봇 청소기 등 다양한 분야를 위해 개발 및 활용되고 있다. 예를 들어, 한국공개특허 제10-2005-0024840호는 자율이동로봇을 위한 경로계획방법에 관한 기술로, 가정이나 사무실에서 자율적으로 이동하는 이동로봇이 장애물을 회피하면서 목표점까지 안전하고 빠르게 이동할 수 있는 최적경로를 계획하는 방법에 대해 개시하고 있다. An autonomous mobile robot is a robot that looks for the optimal route to a destination by using wheels or legs while looking around itself and detecting obstacles. It is being developed and used for various fields such as autonomous vehicles, logistics, hotel service, and robot cleaner. Korean Patent Laid-Open No. 10-2005-0024840, for example, describes a route planning method for an autonomous mobile robot, in which a mobile robot autonomously moving at home or office can safely and quickly move to a target point while avoiding obstacles Lt; RTI ID = 0.0 > a < / RTI > optimal path.

도 1은 종래기술에 있어서, 실내 자율 주행을 위해 로봇에 적용되는 기본 기술의 예를 도시한 도면이다. 도 1은 종래기술의 서비스 로봇(100)에 적용되는 기술들로서, 맵핑(Mapping, 110), 로컬리제이션(Localization, 120), 경로 계획(Path Planning, 130), 장애물 회피(Obstacle Avoidance, 140) 및 센싱(Sensing, 150)의 기술들을 나타내고 있다.1 is a diagram showing an example of a basic technique applied to a robot for indoor autonomous navigation in the prior art. 1 is a diagram illustrating mapping robots 110, localization 120, path planning 130, and obstacle avoidance 140, which are applied to the service robot 100 of the related art. And sensing (150).

맵핑(110)은 서비스 로봇(100)이 자율 주행을 수행하면서 주변 지도를 작성하기 위한 기술 및/또는 이미 제작된 지도를 반입하여 관리하기 위한 기술을 포함할 수 있다. 예를 들어, 서비스 로봇(100)이 미지의 환경을 돌아다니면서 로봇에 부착되어 있는 센서만으로 외부의 도움 없이 환경에 대한 정확한 지도를 작성하거나 주변 환경과 기 저장된 지도를 매칭하여 현재위치를 추정하기 위해, SLAM(Simultaneous Localization And Mapping)이나 CML(Concurrent Mapping and Localization)과 같은 기술이 활용될 수 있으며, 또한 카메라의 2차원 데이터를 3차원 정보로 변환하기 위한 SFM(Structure from motion)과 같은 기술이 3차원 지도의 생성을 위해 활용될 수 있다.The mapping 110 may include a technique for creating a peripheral map while the service robot 100 performs an autonomous running and / or a technique for importing and managing a map already prepared. For example, when the service robot 100 travels in an unknown environment, it is possible to precisely map the environment without external help by only the sensors attached to the robot, or to estimate the current position by matching the surrounding environment with the stored map , Technology such as SLAM (Simultaneous Localization And Mapping) or CML (Concurrent Mapping and Localization) can be utilized, and a technique such as SFM (Structure from motion) for converting two-dimensional data of a camera into three- And can be utilized for generation of a dimensional map.

로컬리제이션(120)은 서비스 로봇(100)이 주변 환경을 인식하고 자신의 위치를 추정하기 위한 기술을 포함할 수 있다. 예를 들어, GPS(Global Positioning System) 좌표나 IMU(Inertial Measurement Unit)의 센싱값, 그리고 상술한 SLAM 등의 기술이 활용될 수 있다.The localization 120 may include a technique for the service robot 100 to recognize the surrounding environment and estimate its own location. For example, GPS (Global Positioning System) coordinates, sensing values of IMU (Inertial Measurement Unit), and SLAM described above can be utilized.

경로 계획(130)은 서비스 로봇(100)의 자율 주행을 위한 경로를 설정하기 위한 기술을 포함할 수 있다. 예를 들어, RRT(Rapidly-exploring Random Tree), 경로를 찾기 위한 A 스타 알고리즘, D 스타 알고리즘, 다익스트라 알고리즘(Dijkstra algorithm) 등이 활용될 수 있다.The path planning 130 may include a technique for setting a path for an autonomous running of the service robot 100. For example, a Rapidly-exploring Random Tree (RRT), an A star algorithm for finding a path, a D star algorithm, and a Dijkstra algorithm can be utilized.

장애물 회피(140)는 서비스 로봇(100)이 경로 계획(130)에 따라 설정된 경로에 따라 자율 주행을 진행하는 중에 계획되지 않은 장애물(일례로, 사람 또는 사물)을 회피하기 위한 기술을 포함할 수 있다.The obstacle avoidance 140 may include a technique for avoiding an unplanned obstacle (for example, a person or an object) while the service robot 100 proceeds the autonomous travel according to the route set according to the route plan 130 have.

센싱(150)은 카메라, 라이더(lidar), IMU, 초음파 센서, GPS 모듈 등과 같이 서비스 로봇(100)이 포함하는 다양한 센서들을 이용하여 앞서 설명한 맵핑(110), 로컬리제이션(120), 경로 계획(130) 및 장애물 회피(140)를 위해 요구되는 정보를 제공하기 위한 기술을 포함할 수 있다.The sensing 150 may be implemented using various sensors included in the service robot 100 such as a camera, a lidar, an IMU, an ultrasonic sensor, a GPS module and the like and performs the mapping 110, the localization 120, (130) and obstacle avoidance (140).

구동(160)은 경로 계획(130)에 따라 또는 장애물 회피(140)를 위해 서비스 로봇(100)이 포함하는 바퀴나 다리 등을 제어하여 서비스 로봇(100)을 실제로 이동시키기 위한 기술을 포함할 수 있다.The drive 160 may include a technique for actually moving the service robot 100 in accordance with the path plan 130 or by controlling the wheels, legs, etc. included in the service robot 100 for obstacle avoidance 140 have.

이처럼, 종래기술에서는 서비스 로봇(100)의 자율 주행을 위해 다양한 센서들을 포함해야 하고, 이러한 센서들의 정보를 처리하며, 얻어지는 정보들로부터 맵핑(110), 로컬리제이션(120), 경로 계획(130) 및 장애물 회피(140)와 같은 다양한 연산을 처리하기 위한 프로세서를 포함해야 하며, 동시에 프로세서의 처리 결과에 따라 서비스 로봇(100)의 이동을 처리하기 위한 바퀴나 다리 등의 구성요소들을 포함해야 한다. 뿐만 아니라, 서비스 로봇(100)은, 서비스 로봇(100)의 이용자들이 원하는 서비스의 제공을 위한 특정 구성요소를 더 포함해야 한다. 예를 들어, 청소 로봇은 개별 특징에 알맞게 먼지를 빨아들여 저장하기 위한 구성요소를 더 포함해야 하며, 물류 관리를 위한 로봇은 물건들의 식별과 이동 등을 위한 구성요소를 더 포함해야 한다.In this way, in the prior art, it is necessary to include various sensors for autonomous navigation of the service robot 100, process the information of these sensors, and obtain the mapping 110, localization 120, And obstacle avoidance 140 and at the same time should include components such as wheels or legs to handle the movement of the service robot 100 according to the processing results of the processor . In addition, the service robot 100 should further include specific components for providing services desired by the users of the service robot 100. For example, a cleaning robot should further include components for sucking and storing dust to suit individual characteristics, and a robot for logistics management should further include components for identifying and moving objects, and the like.

이처럼, 실내 자율 주행 로봇은 밀접한 연계가 요구되는 다양한 구성요소들을 포함해야 하는 관계로 제작 비용이 매우 크다는 문제점이 있다.As described above, the indoor autonomous mobile robot has a problem that the manufacturing cost is very large because the robot must include various components requiring close connection.

서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있는 실내 자율 주행 로봇을 위한 제어 방법 및 시스템을 제공한다.The service provider generates an indoor map of the facilities of a user such as a large shopping mall, an airport, a hotel, and the like, communicates with the user's individual service robots through the cloud service, and generates localization and route plans for the individual service robots A control method for an indoor autonomous mobile robot which can reduce autonomous mobile robots based on result data provided by individual service robots by innovatively reducing the production cost of the service robots by processing based on indoor maps and providing the resultant data And a system.

하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있는 실내 자율 주행 로봇을 위한 제어 방법 및 시스템을 제공한다.When a plurality of service robots operate in one facility, a service plan for a plurality of service robots is controlled through the cloud service, so that a plurality of service robots share a target service more efficiently in one facility The present invention provides a control method and system for an indoor autonomous mobile robot that can be used for an indoor autonomous mobile robot.

이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있는 실내 자율 주행 맵핑 로봇을 위한 시스템 및 그 제어 방법을 제공한다.In making indoors maps of users' facilities, it is not necessary to create indoors maps by controlling the observation equipment directly on the service provider side, but it is also possible to automatically create indoors maps including functions for indoor self-running and mapping functions The present invention also provides a system and a control method thereof for an indoor autonomous navigation mapping robot.

맵핑 로봇에 있어서, 목표 시설물의 내부 환경의 수집을 위해 주변 정보를 센싱하는 센서, 상기 목표 시설물의 내부의 이동을 위한 드라이브라인 및 상기 센서를 통해 센싱되는 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 상기 드라이브라인을 제어하여 상기 맵핑 로봇을 이동시키며, 상기 실내 자율 주행의 과정에서 상기 목표 시설물의 실내 지도를 제작하기 위한 정보를 상기 센서를 통해 수집하는 컨트롤러를 포함하는 것을 특징으로 하는 맵핑 로봇을 제공한다.A mapping robot comprising: a sensor for sensing peripheral information for collecting an internal environment of a target facility; a drive line for movement inside the target facility; and information sensed by the sensor, The method includes generating a path plan for indoor self-running, controlling the drive line according to the generated path plan to move the mapping robot, and generating an indoor map of the target facility in the course of the indoor self- And a controller for collecting information via the sensor.

일측에 따르면, 상기 맵핑 로봇은 배터리 팩을 이용하여 상기 센서, 상기 드라이브라인 및 상기 컨트롤러로 전원을 공급하기 위한 전원공급부를 더 포함하는 것을 특징으로 할 수 있다.According to an aspect of the present invention, the mapping robot further includes a power supply unit for supplying power to the sensor, the drive line, and the controller using a battery pack.

다른 측면에 따르면, 상기 센서는, 상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및 상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라를 포함하고, 상기 컨트롤러는 상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하는 것을 특징으로 할 수 있다.According to another aspect, the sensor includes: a three-dimensional real-time rider measuring a distance to an object around the mapping robot; And a camera for photographing an image around the mapping robot, wherein the controller collects the output values of the three-dimensional real-time rider and the camera as information for manufacturing the indoor map.

또 다른 측면에 따르면, 상기 센서는, 근거리 장애물의 탐지를 위한 로컬리제이션 센서를 더 포함하고, 상기 컨트롤러는 상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 상기 드이라브라인을 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 할 수 있다.According to another aspect of the present invention, the sensor further includes a localization sensor for detecting a near obstacle, and the controller controls the deira blade to move the mapping robot in accordance with the path plan for the indoor self- Wherein the obstacle avoiding process is performed based on the output value of the localization sensor.

또 다른 측면에 따르면, 상기 컨트롤러는 상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역의 촬영이 가능한 위치를 계산하여 상기 실내 자율 주행을 위한 경로 계획을 갱신하는 것을 특징으로 할 수 있다.According to another aspect of the present invention, the controller analyzes a distance between the image photographed by the camera and the distance measured through the 3D real-time rider to determine a shaded area obscured by an object, and calculates a position at which the shaded area can be photographed And updates the route plan for the indoor self-driving.

맵핑 로봇의 제어 방법에 있어서, 목표 시설물의 내부에 위치한 맵핑 로봇에서 센서를 통해 주변 정보를 센싱하는 단계; 상기 센싱되는 주변 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하는 단계; 상기 생성된 경로 계획에 따라 상기 맵핑 로봇의 이동을 제어하는 단계; 상기 맵핑 로봇의 이동에 따라 변경되는 주변 정보를 상기 센서를 통해 센싱하는 단계; 상기 변경되는 주변 정보를 이용하여 상기 경로 계획을 갱신하는 단계; 및 상기 센서를 통해 지속적으로 센싱되는 주변 정보들을 상기 목표 시설물의 실내 지도의 제작을 위한 정보로서 기록하는 단계를 포함하는 것을 특징으로 하는 제어 방법을 제공한다.A method of controlling a mapping robot, the method comprising: sensing peripheral information from a mapping robot located inside a target facility through a sensor; Generating a path plan for the indoor self-running in the target facility of the mapping robot using the sensed peripheral information; Controlling movement of the mapping robot according to the generated path plan; Sensing peripheral information that is changed according to movement of the mapping robot through the sensor; Updating the route plan using the changed peripheral information; And recording surrounding information continuously sensed through the sensor as information for manufacturing an indoor map of the target facility.

상기 제어 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.There is provided a computer-readable recording medium having recorded thereon a program for causing a computer to execute the control method.

컴퓨터와 결합되어 상술한 제어 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.There is provided a computer program stored in a computer-readable recording medium for causing a computer to execute the control method described above in combination with a computer.

서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있다.The service provider generates an indoor map of the facilities of a user such as a large shopping mall, an airport, a hotel, and the like, communicates with the user's individual service robots through the cloud service, and generates localization and route plans for the individual service robots By processing based on the indoor map and providing the resultant data, the individual service robots can process the autonomous travel based on the provided result data, and the production cost of the service robot can be innovatively reduced.

하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있다.When a plurality of service robots operate in one facility, a service plan for a plurality of service robots is controlled through the cloud service, so that a plurality of service robots share a target service more efficiently in one facility can do.

이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있다.In making indoors maps of users' facilities, it is not necessary to create indoors maps by controlling the observation equipment directly on the service provider side, but it is also possible to automatically create indoors maps including functions for indoor self-running and mapping functions have.

도 1은 종래기술에 있어서 실내 자율 주행을 위한 로봇에 적용되는 기술의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 로봇의 실내 자율 주행을 위한 전체 제어 시스템의 예를 도시한 도면이다.
도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 클라우드 시스템을 구성하는 물리적인 서버의 내부 구성을 설명하기 위한 블록도이다.
도 7은 본 발명의 일실시예에 있어서, 제어 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일실시예에 있어서, 서비스 로봇의 위치를 한정하기 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 있어서, 클라우드 시스템이 서비스 로봇이 제공하는 서비스를 제어하는 과정의 예를 흐름도이다.
도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이다.
도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.
도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다.
도 20 및 도 21은 본 발명의 일실시예에 따른 맵핑 로봇의 동작 구조의 예를 도시한 도면들이다.
1 is a diagram showing an example of a technique applied to a robot for indoor autonomous navigation in the prior art.
2 is a diagram illustrating an example of an overall control system for indoor self-running of a robot according to an embodiment of the present invention.
3 is a block diagram illustrating an example of a schematic configuration of a mapping robot according to an embodiment of the present invention.
4 is a block diagram illustrating an example of a schematic configuration of a cloud system according to an embodiment of the present invention.
5 is a block diagram illustrating an example of a schematic configuration of a service robot according to an embodiment of the present invention.
6 is a block diagram for explaining an internal configuration of a physical server constituting a cloud system according to an embodiment of the present invention.
7 is a flowchart for explaining a control method in an embodiment of the present invention.
8 is a diagram illustrating an example of limiting the position of a service robot in an embodiment of the present invention.
9 is a flowchart illustrating an example of a process in which a cloud system controls a service provided by a service robot, according to an embodiment of the present invention.
10 to 13 are photographs showing an embodiment of a mapping robot according to an embodiment of the present invention.
14 to 18 are diagrams showing an internal configuration of an embodiment of a mapping robot according to an embodiment of the present invention.
19 is a diagram showing a configuration example of a mapping robot according to an embodiment of the present invention.
20 and 21 are views showing an example of the operation structure of a mapping robot according to an embodiment of the present invention.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

본 발명의 실시예들에 따른 로봇의 실내 자율 주행 위한 전체 제어 시스템은 크게 시설물의 실내에서 지도 데이터를 수집하는 맵핑 로봇을 위한 제어 시스템(이하, '맵핑 로봇 시스템')과, 맵핑 로봇이 수집한 지도 데이터에 기반하여 해당 시설물의 실내 지도를 제작하고 시설물에서 동작하는 서비스 로봇의 자율 주행을 위한 로컬리제이션과 경로 계획을 처리하는 클라우드 서비스를 위한 제어 시스템(이하, '클라우드 시스템'), 그리고 시설물의 내부에서 자율 주행을 통해 시설물의 이용자에 의해 목적된 서비스를 제공하는 서비스 로봇을 위한 제어 시스템(이하, '서비스 로봇 시스템')을 포함할 수 있다.The overall control system for the indoor self-running of the robot according to the embodiments of the present invention includes a control system (hereinafter referred to as a 'mapping robot system') for collecting map data in a room of a facility A control system (hereinafter referred to as a "cloud system") for producing indoor maps of the facilities based on the map data, a cloud service for localization and route planning for self-running service robots operating in the facilities (Hereinafter, referred to as a " service robot system ") for providing a service targeted by the user of the facility through autonomous travel within the service robot.

도 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)으로 전송될 수도 있다.2 is a diagram illustrating an example of an overall control system for indoor self-running of a robot according to an embodiment of the present invention. 2 shows the cloud system 210 and the mapping robot 220 on the service provider side, and the service robots 230 for users' facilities and the user side. First, the service provider can input the mapping robot 220 to create an indoor map of facilities of users. At this time, the service provider may generate an indoor map of various facilities such as a large-sized shopping mall, a hospital, an airport, a hotel, etc., or may generate an indoor map of facilities of a user requesting service through a separate contract have. For example, the service provider can generate the indoor map of the facility A by inputting the mapping robot 220 into the facility A at the request of the user of the facility A. The mapping robot 220 may include various sensors such as a 3D rider, a 360-degree camera, and an IMU (Inertial Measurement Unit) for autonomous navigation and guidance as an indoor autonomous mobile robot, The generated sensing data may be transmitted to the cloud system 210. At this time, the sensing data may be input to the cloud system 210 through the computer-readable recording medium in which the sensing data is stored after the self-running of the mapping robot 220 for generating the indoor map is completed, The mapping robot 220 may transmit the communication module to the cloud system 210 via the network. The sensing data generated by the mapping robot 220 may be transmitted to the cloud system 210 in real time from the mapping robot 220. After the mapping robot 220 completes the sensing of the facility, (Not shown).

클라우드 시스템(210)은 맵핑 로봇(220)이 제공하는 센싱 데이터에 기반하여 시설물 A에 대한 실내 지도를 제작할 수 있으며, 제작된 실내 지도에 기반하여 시설물 A에 배치된 서비스 로봇(230)과 통신하면서 서비스 로봇(230)을 제어할 수 있다. 예를 들어, 클라우드 시스템(210)은 서비스 로봇(230)이 포함하는 센서들을 통해 생성된 센싱 데이터(일례로, 서비스 로봇(230)의 현재 위치를 파악하기 위한 데이터)를 수신하고, 수신된 센싱 데이터와 시설물 A의 실내 지도를 이용하여 서비스 로봇(230)을 위한 로컬리제이션과 경로 계획을 처리하여 그 결과 데이터(일례로, 서비스 로봇(230)이 자율 주행 시 이동해야 할 경로 데이터)를 서비스 로봇(230)으로 제공할 수 있다. 이때, 서비스 로봇(230)은 클라우드 시스템(210)이 제공하는 결과 데이터에 기반하여 자율 주행을 처리하면서 목적된 서비스를 시설물 A 내에서 제공할 수 있게 된다.The cloud system 210 can create an indoor map of the facility A based on the sensing data provided by the mapping robot 220 and communicate with the service robot 230 disposed in the facility A based on the created indoor map The service robot 230 can be controlled. For example, the cloud system 210 receives sensing data (for example, data for grasping the current position of the service robot 230) generated through the sensors included in the service robot 230, The service robot 230 processes the localization and path planning for the service robot 230 using the data and the indoor map of the facility A and outputs the resultant data (for example, route data that the service robot 230 should move in the autonomous traveling) To the robot 230. At this time, the service robot 230 can provide the desired service in the facility A while processing the autonomous running based on the result data provided by the cloud system 210. [

맵핑 로봇(220)은 시설물 A에 대해 최초 1회만 또는 실내 지도에 대해 변경이 발생되는 경우에만, 또는 실내 지도에 대해 변경이 발생될 정도로 상당히 긴 시간 주기(일례로, 1년)로 해당 시설물에서 동작하면 된다. 따라서, 실내 지도의 제작이 요구되는 시설물들의 수와 시간 스케줄링에 따라 하나의 맵핑 로봇(220)이 다수의 시설물들의 실내 지도를 제작하는데 활용될 수 있기 때문에 다수의 맵핑 로봇들이 요구되지 않고 따라서 고가의 장비를 활용하여 제작되더라도 서비스 사용자 측에 큰 부담을 주지 않는다. 반면 이용자들 각각에서 개별 목적을 위해 동작하는 서비스 로봇들을 개별적으로 제작하여 이용할 때, 서비스 로봇들 각각은 해당하는 하나의 시설물에서 지속적으로 동작되어야 하며, 하나의 시설물 내에서 동시에 여러 대가 동작되어야 하는 경우가 다수 존재한다. 따라서 이용자의 측면에서는 고가의 장비를 활용하기 어려운 문제점이 있다. 이에, 본 발명의 실시예들에서는 서비스 제공자 측에서 맵핑 로봇(220)을 투입하여 시설물 A의 실내 지도를 제작하고, 클라우드 시스템(210)을 통해 서비스 로봇(230)을 제어함으로써, 서비스 로봇(230)이 고가의 장비를 사용하지 않고도 목적된 서비스를 해당 시설물 내에서 처리하도록 할 수 있다.The mapping robot 220 can be used only when the facility A is changed for the first time only or when changes are made to the indoor map, or when the indoor map is changed at a time period (for example, one year) It works. Accordingly, since one mapping robot 220 can be used to produce an indoor map of a plurality of facilities in accordance with the number of facilities required to produce indoor maps and time scheduling, a large number of mapping robots are not required, Even if it is made using the equipment, it does not put a heavy burden on the service user side. On the other hand, when service robots operating individually for individual purposes are individually manufactured and used by users, service robots must be continuously operated in the corresponding one facility, and multiple services must be operated simultaneously in one facility . Therefore, there is a problem that it is difficult to use expensive equipment in terms of the user. Accordingly, in the embodiments of the present invention, the mapping robot 220 is put on the service provider side to produce an indoor map of the facility A, and the service robot 230 is controlled through the cloud system 210, ) May allow the targeted service to be processed within the facility without using expensive equipment.

예를 들어, 라이더(lidar)는 전파에 가까운 성질을 가진 레이저 광선을 이용하여 개발한 레이더로서, 자율 주행을 위해 탑재되는 고가의 센서 장비이며 이러한 라이더를 활용하는 경우, 기본적으로 둘 이상의 라이더들이 하나의 자율 주행 유닛에 포함된다. 일례로, 물류 관리를 위해 이용자가 60 대의 서비스 로봇들을 사용한다 가정할 때, 종래기술에서는 고가의 라이더가 120 개 이상이 요구된다. 반면, 본 발명의 실시예들에서는 자율 주행을 위해 요구되는 로컬리제이션과 경로 계획을 서비스 제공자 측의 클라우드 시스템(210)이 처리하고 그 결과 데이터를 제공하면, 서비스 로봇들이 클라우드 시스템(210)으로부터 제공되는 결과 데이터에 따라 주행하기 때문에 고가의 센서 장비 없이 저가형 초음파 센서 및/또는 저가형 카메라만으로도 실내 주행이 가능해진다. 실질적으로 본 발명의 실시예들에 따른 서비스 로봇들은 클라우드 시스템(210)으로부터 제공되는 결과 데이터에 따라 동작하기 때문에 실내 자율 주행을 위한 별도의 센서 없이 실내 주행이 가능하다. 다만, 저가형 초음파 센서 및/또는 저가형 카메라와 같은 저가의 센서들이 서비스 로봇(230)의 현재 위치 파악과 서비스 로봇(230)의 장애물 회피 등을 위해 사용될 수 있다. 따라서, 이용자들은 저렴한 비용으로 제작되는 서비스 로봇들을 활용할 수 있으며, 서비스 로봇을 이용하고자 하는 다수의 이용자들이 존재하고, 이러한 다수의 이용자들 각각이 다수의 서비스 로봇들을 활용할 수 있음을 고려할 때, 서비스 로봇들의 제작 비용을 획기적으로 줄일 수 있게 된다. 예를 들어, 스마트폰 수준의 센싱 능력만으로도 서비스 로봇의 자율 주행을 처리할 수 있다.For example, a lidar is a radar developed by using a laser beam having a property close to radio waves. It is an expensive sensor device mounted for autonomous driving. When utilizing such a rider, basically, two or more riders Of the vehicle. For example, assuming that a user uses 60 service robots for logistics management, more than 120 expensive riders are required in the prior art. On the other hand, in the embodiments of the present invention, when the cloud system 210 on the service provider side processes the localization and path planning required for the autonomous travel and provides the resultant data, the service robots are notified from the cloud system 210 It travels in accordance with the provided result data, so that it is possible to drive the vehicle indoors with only an inexpensive ultrasonic sensor and / or an inexpensive camera without expensive sensor equipment. The service robots according to the embodiments of the present invention substantially operate in accordance with the result data provided from the cloud system 210, and thus can travel indoors without a separate sensor for indoor self-running. However, inexpensive sensors such as low-cost ultrasonic sensors and / or low-cost cameras can be used for grasping the current position of the service robot 230 and avoiding obstacles of the service robot 230. Therefore, users can utilize service robots manufactured at low cost, and there are a large number of users who want to use service robots. Considering that each of these users can utilize a plurality of service robots, It is possible to reduce the manufacturing cost of the apparatus. For example, it is possible to handle the self-running of the service robot with the smartphone-level sensing capability alone.

또한, 서비스 로봇(230)이 클라우드 시스템(210)으로 전송하는 센싱 데이터는 시설물의 내부에서 서비스 로봇(230)의 현재 위치를 한정하기 위한 정보를 포함할 수 있다. 이러한 위치를 한정하기 위한 정보는 저가형 카메라를 통해 인식된 이미지 정보를 포함할 수 있다. 예를 들어, 클라우드 시스템(210)은 수신된 이미지 정보와 실내 지도의 이미지를 비교하여 서비스 로봇(230)의 위치를 파악할 수 있다. 다른 예로, 기존의 실내 위치를 파악하기 위해 잘 알려진 기술들이 활용될 수도 있다. 예를 들어, 시설물 내에서 인식되는 와이파이 신호나 비컨(beacon), 사람이 인식하지 못하는 사운드나 블루투스 핑커프린트 등을 활용하여 실내 위치를 파악하는 기존의 잘 알려진 기술들이 서비스 로봇(230)의 현재 위치를 파악하기 위해 활용될 수 있음을 당업자가 용이하게 이해할 수 있을 것이다. 또한, 이러한 기존의 기술들을 통해 서비스 로봇(230)의 대략적인 위치를 파악한 후, 이미지 매칭을 통해 서비스 로봇(230)의 정확한 위치를 파악할 수도 있다. 이 경우, 전체 실내 지도에 대응하는 이미지들과의 매칭을 처리할 필요 없이 대략적으로 파악된 위치를 통해 이미지 매칭의 범위를 줄일 수도 있다.The sensing data transmitted by the service robot 230 to the cloud system 210 may include information for defining the current position of the service robot 230 within the facility. The information for defining the position may include image information recognized by the low-cost camera. For example, the cloud system 210 can compare the received image information with the image of the indoor map to determine the position of the service robot 230. As another example, well known techniques may be utilized to identify existing indoor locations. For example, existing well-known technologies for identifying the indoor location by utilizing a Wi-Fi signal, a beacon recognized by the facility, a sound not recognized by a person, a Bluetooth fingerprint, etc., It will be understood by those skilled in the art that the present invention can be utilized for understanding the present invention. In addition, it is possible to grasp the approximate position of the service robot 230 through such existing technologies, and then grasp the exact position of the service robot 230 through image matching. In this case, it is not necessary to process the matching with the images corresponding to the entire indoor map, and the range of the image matching can be reduced through the roughly grasped position.

도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이고, 도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이며, 도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.FIG. 3 is a block diagram for explaining an example of a schematic configuration of a mapping robot according to an embodiment of the present invention. FIG. 4 is a block diagram for explaining an example of a schematic configuration of a cloud system according to an embodiment of the present invention And FIG. 5 is a block diagram for explaining an example of a schematic configuration of a service robot according to an embodiment of the present invention.

도 3을 참조하면, 맵핑 로봇은 물리적인 장치일 수 있으며, 도 3에 도시된 바와 같이, 제어부(310), 구동부(320), 센서부(330) 및 통신부(340)를 포함할 수 있다.3, the mapping robot may be a physical device, and may include a control unit 310, a driving unit 320, a sensor unit 330, and a communication unit 340, as shown in FIG.

제어부(310)는 맵핑 로봇(220)에 내장된 물리적인 프로세서일 수 있으며, 도 3에 도시된 바와 같이 경로 계획 처리 모듈(311), 맵핑 처리 모듈(312), 구동 제어 모듈(313), 로컬리제이션 처리 모듈(314) 및 데이터 처리 모듈(315)을 포함할 수 있다. 여기서, 제어부(310)가 포함하는 구성요소들은 물리적인 프로세서로서 제어부(310)가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 제어부(310)는 OS나 펌웨어와 같은 컴퓨터 프로그램의 코드에 따른 제어 명령에 따라 다양한 기능들을 처리할 수 있다.3, the control unit 310 may include a path planning module 311, a mapping module 312, a drive control module 313, a local And a data processing module 315. The data processing module 315 may be a microprocessor, Here, the components included in the control unit 310 may be representations of different functions performed by the control unit 310 as a physical processor. For example, the control unit 310 may process various functions according to a control command according to a code of a computer program such as an OS or firmware.

구동부(320)는 맵핑 로봇(220)의 이동을 위한 바퀴나 다리, 또는 드론과 같은 비행체 형태의 맵핑 로봇(220)의 비행을 위한 물리적인 장비를 포함할 수 있다.The driving unit 320 may include physical equipment for flight of the mapping robot 220 in the form of a wheel or a bridge for moving the mapping robot 220, or a flying object such as a drones.

센서부(330)는 맵핑 로봇(220)이 위치한 시설물의 내부 환경에 대한 정보를 수집하기 위한 다양한 센서들을 포함할 수 있다. 예를 들어, 라이더(lidar), 360도 카메라, IMU, 초음파 센서, GPS 모듈, PDS(Position Sensitive Detector) 등과 같이 다양한 센서들 중 요구되는 센서들이 센서부(330)에 포함될 수 있다.The sensor unit 330 may include various sensors for collecting information on the internal environment of the facility where the mapping robot 220 is located. For example, the sensor unit 330 may include sensors required among various sensors such as a lidar, a 360-degree camera, an IMU, an ultrasonic sensor, a GPS module, and a PDS (Position Sensitive Detector).

통신부(340)는 센서부(330)를 통해 센싱된 데이터를 네트워크를 통해 클라우드 시스템(210)으로 전송하기 위한 통신 기능을 포함할 수 있다.The communication unit 340 may include a communication function for transmitting the sensed data through the sensor unit 330 to the cloud system 210 through the network.

목표 시설물의 내부에 위치한 맵핑 로봇(220)이 구동되면, 센서부(330)는 다양한 센서들의 출력값을 포함하는 제1센서 데이터를 생성하여 제어부(310)로 전달할 수 있다. 이때, 제어부(310)의 데이터 처리 모듈(415)은 전달받은 제1 센서 데이터를 맵핑 로봇(220)의 자율 주행을 위해 로컬리제이션 처리 모듈(314)로 전달할 수 있고, 또한 클라우드 시스템(210)에서 목표 시설물의 실내 지도를 생성할 수 있도록 제1 센서 데이터를 네트워크를 통해 클라우드 시스템(210)으로 전송하도록 통신부(340)를 제어할 수 있다.When the mapping robot 220 located inside the target facility is driven, the sensor unit 330 may generate first sensor data including output values of various sensors and transmit the generated first sensor data to the control unit 310. The data processing module 415 of the control unit 310 may transmit the received first sensor data to the localization processing module 314 for autonomous navigation of the mapping robot 220, The controller 310 may control the communication unit 340 to transmit the first sensor data to the cloud system 210 via the network so that an indoor map of the target facility can be generated.

로컬리제이션 처리 모듈(314)은 맵핑 로봇(220)이 주변 환경을 인식하고 자신의 위치를 추정하기 위한 기술로, 목표 시설물에서의 맵핑 로봇(220)의 현재 위치를 판단하기 위해 동작할 수 있다. 이때, 로컬리제이션 처리 모듈(314)은 맵핑 처리 모듈(312)과의 연동을 통해 기 저장된 목표 시설물의 실내 지도(일례로, 목표 시설물의 설계 청사진)와 현재 위치와의 맵핑을 처리하거나 또는 기 저장된 실내 지도가 없는 경우에는 목표 시설물의 실내 지도를 생성해나갈 수 있다. The localization processing module 314 is a technique for the mapping robot 220 to recognize the surrounding environment and estimate its own position and can operate to determine the current position of the mapping robot 220 in the target facility . At this time, the localization processing module 314 processes the mapping between the indoor map (for example, the design blueprint of the target facility) and the current location of the pre-stored target facilities through interlocking with the mapping processing module 312, If there is no stored indoor map, the indoor map of the target facility can be generated.

이때, 경로 계획 처리 모듈(311)은 맵핑 로봇(220)의 자율 주행을 위한 경로를 생성해나갈 수 있다. 이 경우, 경로 계획 처리 모듈(311)에서 결정된 경로에 대한 정보는 구동 제어 모듈(313)로 전달될 수 있고, 구동 제어 모듈(313)는 제공된 경로에 따라 맵핑 로봇(220)을 이동시키기 위해 구동부(320)를 제어할 수 있다.At this time, the path planning processing module 311 can generate a path for the autonomous running of the mapping robot 220. In this case, the information about the path determined by the path planning processing module 311 can be transferred to the drive control module 313, and the drive control module 313 controls the drive robot 300 to move the mapping robot 220 according to the provided path. (320).

맵핑 로봇(220)은 이러한 제1 센싱 데이터의 생성 및 전송, 제1 센싱 데이터를 이용한 자율 주행 경로의 결정 및 결정된 자율 주행 경로에 따른 이동의 과정을 반복하면서 목표 시설물을 자율 주행할 수 있고, 목표 시설물에 대한 제1 센싱 데이터를 클라우드 시스템(210)으로 지속적으로 전송할 수 있다.The mapping robot 220 can autonomously run the target facility while repeating the process of generating and transmitting the first sensing data, determining the autonomous travel route using the first sensing data, and moving according to the determined autonomous travel route, The first sensing data for the facilities can be continuously transmitted to the cloud system 210.

도 4를 참조하면, 클라우드 시스템(210)은 하나의 물리적인 서버 장치나 둘 이상의 물리적인 서버 장치들의 연계를 통해 구현될 수 있으며, 도 4에 도시된 바와 같이 맵 생성 모듈(410), 로컬리제이션 처리 모듈(420), 경로 계획 처리 모듈(430) 및 서비스 운영 모듈(440)을 포함할 수 있다. 이러한 클라우드 시스템(210)이 포함하는 구성요소들은, 운영체제의 코드나 적어도 하나의 컴퓨터 프로그램의 코드에 따른 제어 명령(instruction)에 따라 클라우드 시스템(210)이 포함하는 적어도 하나의 프로세서가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다. Referring to FIG. 4, the cloud system 210 may be implemented by linking one physical server device or two or more physical server devices. As shown in FIG. 4, the map generation module 410, Processing module 420, a path planning processing module 430, and a service operating module 440. The components of the cloud system 210 may be implemented in different ways by at least one processor included in the cloud system 210 in accordance with the operating system code or control instructions according to the code of the at least one computer program May be expressions of different functions.

맵 생성 모듈(410)은 도 3에서 설명한 바와 같이 목표 시설물의 내부에서 자율 주행하는 맵핑 로봇(220)이 목표 시설물의 내부에 대해 생성한 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성하기 위한 구성요소일 수 있다.The map generating module 410 generates an indoor map of the target facility using the first sensing data generated by the mapping robot 220 autonomously traveling within the target facility, as described in FIG. 3, with respect to the interior of the target facility Lt; / RTI >

이때, 로컬리제이션 처리 모듈(420)은 서비스 로봇(230)으로부터 네트워크를 통해 수신되는 제2 센싱 데이터와 맵 생성 모듈(410)을 통해 생성된 목표 시설물의 실내 지도를 이용하여 목표 시설물 내부에서의 서비스 로봇(230)의 위치를 결정할 수 있다.At this time, the localization processing module 420 uses the second sensing data received through the network from the service robot 230 and the indoor map of the target facility generated through the map generation module 410, The position of the service robot 230 can be determined.

경로 계획 처리 모듈(430)은 상술한 제2 센싱 데이터와 생성된 실내 지도를 이용하여 서비스 로봇(230)의 실내 자율 주행을 제어하기 위한 제어 신호를 생성할 수 있다. 예를 들어, 경로 계획 처리 모듈(430)은 서비스 로봇(230)의 경로 데이터를 생성할 수 있다. 클라우드 시스템(210)은 생성된 경로 데이터를 네트워크를 통해 서비스 로봇(230)으로 전송할 수 있다. 일례로, 경로를 위한 정보는 서비스 로봇(230)의 현재 위치를 나타내는 정보, 현재 위치와 실내 지도를 맵핑하기 위한 정보, 그리고 경로 계획 정보를 포함할 수 있다. The path planning processing module 430 may generate a control signal for controlling the indoor autonomous travel of the service robot 230 using the second sensing data and the generated indoor map. For example, the path planning processing module 430 may generate path data of the service robot 230. The cloud system 210 may transmit the generated path data to the service robot 230 via the network. For example, the information for the path may include information indicating the current position of the service robot 230, information for mapping the current position and the indoor map, and path planning information.

서비스 운영 모듈(440)은 서비스 로봇(230)이 목표 시설물 내에서 제공하는 서비스를 제어하기 위한 기능을 포함할 수 있다. 예를 들어, 클라우드 시스템(210)을 운영하는 서비스 제공자는 서비스 로봇(230)의 이용자나 제작자에게 클라우드 시스템(210)이 제공하는 클라우드 서비스를 위한 IDE(Integrated Development Environment)를 제공할 수 있다. 이때, 서비스 로봇(230)의 이용자나 제작자는 서비스 로봇(230)이 목표 시설물 내에서 제공하는 서비스를 제어하기 위한 소프트웨어를 IDE를 통해 제작하여 클라우드 시스템(210)에 등록할 수 있다. 이 경우, 서비스 운영 모듈(440)은 해당 서비스 로봇(230)과 연관하여 등록된 소프트웨어를 이용하여 서비스 로봇(230)이 제공하는 서비스를 제어할 수 있다. 구체적인 예로, 서비스 로봇(230)이 호텔에서 고객이 요청한 물건을 해당 고객의 객실로 전달하는 서비스를 제공한다고 가정한다. 이때, 클라우드 시스템(210)은 서비스 로봇(230)의 실내 자율 주행을 제어하여 서비스 로봇(230)이 해당 객실 앞으로 이동하도록 제어할 뿐만 아니라, 목적 위치에 도착한 경우 객실 출입문의 벨을 누르고 고객 응대 음성을 출력하고 목적한 물건을 고객에게 전달하는 일련의 서비스를 서비스 로봇(230)이 진행하도록 관련 명령을 서비스 로봇(230)에게 전달할 수 있다.The service operation module 440 may include a function for controlling the service provided by the service robot 230 in the target facility. For example, a service provider operating the cloud system 210 may provide an integrated development environment (IDE) for a cloud service provided by the cloud system 210 to a user or producer of the service robot 230. At this time, the user or producer of the service robot 230 can create software for controlling the service provided by the service robot 230 in the target facility through the IDE and register the software in the cloud system 210. In this case, the service operation module 440 can control the service provided by the service robot 230 using the registered software in association with the service robot 230. As a concrete example, it is assumed that the service robot 230 provides a service of delivering the goods requested by the customer to the guest room of the customer at the hotel. At this time, the cloud system 210 controls the indoor autonomous travel of the service robot 230 to control the service robot 230 to move to the guest room, and when it reaches the destination location, the cloud system 210 presses the bell of the room door, And transmit the related command to the service robot 230 so that the service robot 230 proceeds a series of services for delivering the desired object to the customer.

도 5를 참조하면, 서비스 로봇(230)은 물리적인 장치일 수 있으며, 도 5에 도시된 바와 같이, 제어부(510), 구동부(520), 센서부(530) 및 통신부(540)를 포함할 수 있다.5, the service robot 230 may be a physical device and includes a control unit 510, a driving unit 520, a sensor unit 530, and a communication unit 540, as shown in FIG. 5 .

제어부(510)는 서비스 로봇(230)에 내장된 물리적인 프로세서일 수 있으며, 도 5에 도시된 바와 같이 경로 계획 처리 모듈(511), 맵핑 처리 모듈(512), 구동 제어 모듈(513), 로컬리제이션 처리 모듈(514), 데이터 처리 모듈(515) 및 서비스 처리 모듈(516)을 포함할 수 있다. 이때, 경로 계획 처리 모듈(511), 맵핑 처리 모듈(512) 및 로컬리제이션 처리 모듈(514)은 클라우드 시스템(210)과의 통신이 이루어지지 않는 경우에도 실내 자율 주행이 이루어질 수 있도록 하기 위해 실시예에 따라 선택적으로 제어부(510)에 포함될 수 있다.5, the control unit 510 may include a path planning module 511, a mapping module 512, a drive control module 513, a local Processing module 514, a data processing module 515, and a service processing module 516. The service processing module 516 may be, At this time, the path planning processing module 511, the mapping processing module 512, and the localization processing module 514 are executed in order to enable indoor autonomous travel even when communication with the cloud system 210 is not performed And may be selectively included in the control unit 510 according to the example.

데이터 처리 모듈(515)은 센서부(530)의 센서들의 출력값을 포함하는 제2 센싱 데이터를 수신하여 통신부(540)를 통해 클라우드 시스템(210)으로 전송할 수 있다. 앞서 설명한 바와 같이 클라우드 시스템(210)은 제2 센싱 데이터와 목표 시설물의 실내 지도를 이용하여 경로 데이터를 생성할 수 있고, 생성된 경로 데이터를 서비스 로봇(230)으로 전송할 수 있다. 이 경우, 경로 데이터는 통신부(540)를 통해 데이터 처리 모듈(515)로 전달될 수 있다.The data processing module 515 may receive the second sensing data including the output value of the sensors of the sensor unit 530 and transmit the second sensing data to the cloud system 210 through the communication unit 540. As described above, the cloud system 210 can generate route data using the second sensing data and the indoor map of the target facility, and can transmit the generated route data to the service robot 230. In this case, the path data may be transmitted to the data processing module 515 through the communication unit 540. [

일반적인 경우, 데이터 처리 모듈(515)은 경로 데이터를 바로 구동 제어 모듈(513)로 전달할 수 있고, 구동 제어 모듈(513)은 경로 데이터에 따라 구동부(520)를 제어하여 서비스 로봇(230)의 실내 자율 주행을 제어할 수 있다.The drive control module 513 controls the drive unit 520 in accordance with the path data to transmit the path data to the interior of the service robot 230 Autonomous driving can be controlled.

만약, 통신 장애로 인해 클라우드 시스템(210)과 통신할 수 없는 경우, 데이터 처리 모듈(515)은 제2 센싱 데이터를 로컬리제이션 처리 모듈(514)로 전송하고, 경로 계획 처리 모듈(511)와 맵핑 처리 모듈(512)을 통해 경로 데이터를 생성하여 서비스 로봇(230)의 실내 자율 주행을 직접 처리할 수도 있다. 다만, 이 경우, 서비스 로봇(230)은 맵핑 로봇(220)과 달리 고가의 센싱 장비를 포함하지 않기 때문에 저가형 초음파 센서 및/또는 저가형 카메라 등과 같은 센서의 출력값을 이용하여 실내 자율 주행을 처리할 수 있다. 그러나 서비스 로봇(230)이 기존에 클라우드 시스템(210)과의 통신을 통해 실내 자율 주행을 처리한 적이 있다면, 클라우드 시스템(210)으로부터 기존에 수신한 경로 데이터가 포함하는 맵핑 데이터 등을 더 활용함으로써 저가의 센서들을 이용하면서도 보다 정확한 실내 자율 주행이 가능해질 수 있다.The data processing module 515 transmits the second sensing data to the localization processing module 514 and the path planning processing module 511 and the path planning processing module 511. [ The path data may be generated through the mapping processing module 512 to directly process the indoor autonomous travel of the service robot 230. Unlike the mapping robot 220, the service robot 230 does not include an expensive sensing device. Therefore, the service robot 230 can process the indoor self-running using the output values of sensors such as a low-cost ultrasonic sensor and / have. However, if the service robot 230 has already processed indoor autonomous travel through communication with the cloud system 210, mapping data or the like included in the path data received from the cloud system 210 may be further utilized More accurate indoor autonomous travel can be achieved while using low-cost sensors.

한편, 서비스 처리 모듈(516)은 클라우드 시스템(210)을 통해 수신되는 명령을 통신부(540)를 통해 또는 통신부(540)와 데이터 처리 모듈(515)을 통해 전달받을 수 있다. 이 경우, 구동부(520)는 서비스 로봇(230)의 이동을 위한 장비뿐만 아니라, 서비스 로봇(230)이 제공하는 서비스와 관련된 장비를 더 포함할 수 있다. 상술한 호텔 서비스의 예에서 서비스 로봇(230)의 구동부(520)는 객실 출입문의 벨을 누르기 위한 로봇 암(arm)이나 고객 응대 음성을 출력하기 위한 스피커 등을 더 포함할 수 있다. 이 경우, 서비스 처리 모듈(516)은 제공해야 할 서비스를 위한 구동 명령을 구동 제어 모듈(513)로 전달할 수 있고, 구동 제어 모듈(513)은 구동 명령에 따라 구동부(520)가 더 포함할 수 있는 로봇 암이나 스피커를 제어하여 서비스가 제공될 수 있도록 할 수 있다.The service processing module 516 may receive a command received through the cloud system 210 through the communication unit 540 or through the communication unit 540 and the data processing module 515. [ In this case, the driving unit 520 may further include equipment related to the service provided by the service robot 230, as well as equipment for moving the service robot 230. In the above-described hotel service, the driving unit 520 of the service robot 230 may further include a robot arm for pressing a bell of a door of a passenger compartment or a speaker for outputting a customer-facing voice. In this case, the service processing module 516 may transmit a drive command for the service to be provided to the drive control module 513, and the drive control module 513 may further include, A robot arm or a speaker can be controlled so that a service can be provided.

도 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)에 로딩될 수도 있다.6 is a block diagram for explaining an internal configuration of a physical server constituting a cloud system according to an embodiment of the present invention. The cloud system 210 described above may be implemented as a single physical server device or may be implemented through interworking of two or more physical server devices. The server 600 configuring the cloud system 210 may include a memory 610, a processor 620, a communication module 630, and an input / output interface 640 as shown in FIG. The memory 610 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. Here, the ROM and the non-decaying mass storage device may be separate from the memory 610 and included as a separate persistent storage device. The memory 610 may also store an operating system and at least one program code. These software components may be loaded from a computer readable recording medium separate from the memory 610. [ Such a computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, and a memory card. In other embodiments, the software components may be loaded into the memory 610 via the communication module 630 rather than from a computer readable recording medium.

프로세서(620)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(610) 또는 통신 모듈(630)에 의해 프로세서(620)로 제공될 수 있다. 예를 들어 프로세서(620)는 메모리(610)에 로딩된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다. 이러한 프로세서(620)는 도 4를 통해 설명한 클라우드 시스템(210)이 포함하는 적어도 하나의 프로세서에 포함될 수 있다.The processor 620 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and I / O operations. The command may be provided to the processor 620 by the memory 610 or the communication module 630. [ For example, the processor 620 may be configured to execute instructions received in accordance with the program code loaded into the memory 610. The processor 620 may be included in at least one processor included in the cloud system 210 described with reference to FIG.

통신 모듈(630)은 실제 컴퓨터 네트워크를 통해 다른 물리적인 기기들과 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 통신 모듈(630)은 서버(600)가 맵핑 로봇(220)이나 서비스 로봇(230)과 통신과 통신하기 위한 기능을 제공할 수 있다. The communication module 630 may provide functionality for communicating with other physical devices via an actual computer network. For example, the communication module 630 may provide a function for the server 600 to communicate with and communicate with the mapping robot 220 or the service robot 230.

입출력 인터페이스(640)는 입출력 장치(650)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입출력 장치(650)에서 입력 장치는 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이나 스피커와 같은 장치를 포함할 수 있다. 도 6에서 입출력 장치(650)는 서버(600)와 별도의 장치로 표현되었으나, 실시예에 따라 입출력 장치(650)가 서버(600)에 포함되도록 서버(600)가 구현될 수도 있다.The input / output interface 640 may be a means for interfacing with the input / output device 650. For example, in the input / output device 650, the input device may include a device such as a keyboard or a mouse, and the output device may include a device such as a display or a speaker. 6, the input / output device 650 is illustrated as a separate device from the server 600. However, the server 600 may be implemented such that the input / output device 650 is included in the server 600 according to the embodiment.

또한, 다른 실시예들에서 서버(600)는 도 6의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 서버(600)는 각종 물리적인 버튼이나 터치패널, 또는 광출력 장치 등의 다양한 구성요소들을 더 포함하도록 구현될 수도 있다.Also, in other embodiments, the server 600 may include more components than the components of FIG. However, there is no need to clearly illustrate most prior art components. For example, the server 600 may be implemented to further include various components such as various physical buttons, touch panels, or optical output devices.

도 7은 본 발명의 일실시예에 있어서, 제어 방법을 설명하기 위한 흐름도이다.7 is a flowchart for explaining a control method in an embodiment of the present invention.

단계(S710)에서 맵핑 로봇(220)은 목표 시설물의 내부를 자율 주행하면서 센서를 통해 목표 시설물의 내부에 대한 제1 센싱 데이터를 생성할 수 있다. 예를 들어, 도 3을 통해 설명한 바와 같이, 맵핑 로봇(220)은 센싱부(330)를 통해 센서들의 출력값을 포함하는 제1 센싱 데이터를 데이터 처리 모듈(315)로 전송할 수 있다. 이러한 맵핑 로봇(220)은 클라우드 시스템(210)을 통해 서비스 로봇(230)의 실내 자율 주행을 제어하기 위한 클라우드 서비스를 제공하는 서비스 제공자 측에서 운용하는 장비일 수 있다. 또한, 서비스 로봇(230)은 목표 시설물과 연관하여 클라우드 서비스를 요청한 이용자 측에서 운용하는 장비일 수 있다.In operation S710, the mapping robot 220 may generate the first sensing data for the interior of the target facility through the sensor while autonomously running the interior of the target facility. For example, as described with reference to FIG. 3, the mapping robot 220 may transmit the first sensing data including the output values of the sensors to the data processing module 315 through the sensing unit 330. The mapping robot 220 may be a device operating on the service provider side providing cloud services for controlling the indoor self-running of the service robot 230 through the cloud system 210. [ In addition, the service robot 230 may be a device operating on the user side requesting the cloud service in association with the target facility.

단계(S720)에서 맵핑 로봇(220)은 생성된 제1 센싱 데이터를 전송할 수 있다. 예를 들어, 도 3을 통해 설명한 바와 같이 데이터 처리 모듈(315)은 센싱부(330)로부터 수신한 제1 센싱 데이터를 통신부(340)를 통해 클라우드 시스템(210)으로 전송할 수 있다.In step S720, the mapping robot 220 may transmit the generated first sensing data. For example, as described with reference to FIG. 3, the data processing module 315 may transmit the first sensing data received from the sensing unit 330 to the cloud system 210 through the communication unit 340.

단계(S730)에서 클라우드 시스템(210)은 수신된 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성할 수 있다. 예를 들어, 클라우드 시스템(210)은 도 6을 통해 설명한 통신 모듈(630)을 통해 맵핑 로봇(220)으로부터 제1 센싱 데이터를 수신할 수 있으며, 도 4를 통해 설명한 맵 생성 모듈(410)을 통해 수신한 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성할 수 있다. 이때, 실내 지도는 이미지 기반의 3차원 실내 지도로 생성될 수 있다. 이미 설명한 바와 같이, 제1 센싱 데이터는 맵핑 로봇(220)의 자율 주행이 끝난 후에 일괄적으로 클라우드 시스템으로 전달될 수도 있다.In step S730, the cloud system 210 may generate an indoor map of the target facility using the received first sensing data. For example, the cloud system 210 may receive the first sensing data from the mapping robot 220 through the communication module 630 described with reference to FIG. 6, and the map generation module 410 described with reference to FIG. 4 The indoor map of the target facility can be generated using the first sensing data received via the first sensing data. At this time, the indoor map can be generated as an image-based three-dimensional indoor map. As described above, the first sensing data may be transmitted to the cloud system collectively after the autonomous running of the mapping robot 220.

실시예에 따라 클라우드 시스템(210)은 복수의 이용자들 각각의 목표 시설물들에 대한 실내 지도를 생성할 수도 있다. 예를 들어, 목표 시설물들마다 맵핑 로봇(220)을 투입하여 목표 시설물별 제1 센싱 데이터를 얻을 수 있고, 목표 시설물별로 실내 지도를 생성할 수 있다. 이 경우, 클라우드 시스템(210)은 목표 시설물별로 생성된 실내 지도를 이용자의 식별자, 대응하는 목표 시설물의 식별자 및 대응하는 이용자의 서비스 로봇의 식별자 중 적어도 하나의 식별자와 연관하여 저장 및 관리될 수 있다. 추후, 다수의 이용자들의 다수의 서비스 로봇들 중 하나의 실내 자율 주행을 제어하는 경우, 클라우드 시스템(210)은 실내 지도와 연관된 식별자를 통해 해당 서비스 로봇을 위한 실내 지도를 식별할 수 있으며, 식별되는 실내 지도를 이용하여 해당 서비스 로봇을 위한 실내 자율 주행을 제어할 수 있다.According to an embodiment, the cloud system 210 may generate an indoor map of the target facilities of each of a plurality of users. For example, mapping robots 220 may be input for each target facility to obtain first sensing data for each target facility, and an indoor map may be generated for each target facility. In this case, the cloud system 210 can be stored and managed by associating the indoor map generated for each target facility with at least one identifier of the user's identifier, the corresponding target facility identifier, and the identifier of the corresponding service robot of the user . When the indoor autonomous travel of one of the plurality of service robots of a plurality of users is controlled, the cloud system 210 can identify the indoor map for the service robot through the identifier associated with the indoor map, Indoor self-driving for the service robot can be controlled using the indoor map.

단계(S740)에서 서비스 로봇(230)은 목표 시설물의 내부에서 센서를 통해 목표 시설물의 내부에 대한 제2 센싱 데이터 생성할 수 있다. 예를 들어, 도 5를 통해 설명한 바와 같이, 서비스 로봇(230)은 센싱부(530)를 통해 센서들의 출력값을 포함하는 제2 센싱 데이터를 데이터 처리 모듈(515)로 전송할 수 있다. 맵핑 로봇(220)이 라이더 및 360도 카메라와 같은 고가의 센싱 장비들을 센서들로서 이용하는 반면, 서비스 로봇(230)은 저가용 카메라 및/또는 저가용 초음파 센서와 같은 저가의 센싱 장비를 센서들로 이용하여 제2 센싱 데이터를 생성할 수 있다. 이처럼 클라우드 시스템(210)은 맵핑 로봇(220)을 통해 해당 목표 시설물의 실내 지도를 이미 생성하였고, 따라서 단순한 이미지 맵핑만으로도 서비스 로봇(230)의 실내 자율 주행을 제어할 수 있기 때문에 서비스 로봇(230)은 저가의 센서들로 구성될 수 있고 이에 따라 이용자들이 운용하는 서비스 로봇(230)의 제작 비용을 획기적으로 낮출 수 있게 된다.In step S740, the service robot 230 may generate second sensing data for the interior of the target facility through the sensor within the target facility. For example, as described with reference to FIG. 5, the service robot 230 may transmit the second sensing data including the output values of the sensors to the data processing module 515 through the sensing unit 530. While the mapping robot 220 uses expensive sensing devices such as a rider and a 360 degree camera as sensors, the service robot 230 uses low-cost sensing devices such as low-cost cameras and / or low-cost ultrasonic sensors as sensors So that the second sensing data can be generated. The cloud system 210 has already generated the indoor map of the target facility through the mapping robot 220 and thus can control the indoor autonomous travel of the service robot 230 by only mere image mapping. The cost of the service robot 230 operated by the users can be significantly lowered.

단계(S750)에서 서비스 로봇(230)은 생성된 제2 센싱 데이터를 전송할 수 있다. 예를 들어, 도 5를 통해 설명한 바와 같이, 서비스 로봇(230)의 데이터 처리 모듈(515)은 제2 센싱 데이터를 통신부(540)를 통해 클라우드 시스템(210)으로 전송할 수 있다.In step S750, the service robot 230 may transmit the generated second sensing data. 5, the data processing module 515 of the service robot 230 may transmit the second sensing data to the cloud system 210 through the communication unit 540. For example, as shown in FIG.

단계(S760)에서 클라우드 시스템(210)은 수신된 제2 센싱 데이터 및 생성된 실내 지도를 이용하여 경로 데이터를 생성할 수 있다. 경로 데이터는 클라우드 시스템(210)에서 목표 시설물의 실내 지도에 따른 가공된 맵핑 데이터와 경로 계획 데이터 및 서비스 로봇(230)에 대해 결정된 위치 데이터를 포함할 수 있다. 가공된 맵핑 데이터는 일례로, 현 시점에서 서비스 로봇(230)에 대해 결정된 위치 데이터 및 경로 계획 데이터와 관련된 실내 지도의 일부분일 수 있다. 보다 구체적인 예로, 맵핑 데이터는 서비스 로봇(230)이 현재 위치부터 이동해야 할 위치까지에 대응하는 실내 지도 데이터를 포함할 수 있다.In step S760, the cloud system 210 may generate path data using the received second sensing data and the generated indoor map. The path data may include processed mapping data according to an indoor map of the target facility and path planning data in the cloud system 210 and location data determined for the service robot 230. The processed mapping data may be, for example, a portion of the indoor map associated with the location data and path planning data determined for the service robot 230 at the current time. As a more specific example, the mapping data may include the indoor map data corresponding to the position where the service robot 230 should move from the current position.

단계(S770)에서 클라우드 시스템(210)은 생성된 경로 데이터를 전송할 수 있다. 예를 들어, 클라우드 시스템(210)은 도 4를 통해 설명한 경로 계획 처리 모듈(430)이 로컬리제이션 처리 모듈(420) 및 맵 생성 모듈(410)과 연동하여 생성한 경로 데이터를 도 6을 통해 설명한 통신 모듈(630)을 통해 서비스 로봇(230)으로 전송할 수 있다. 이러한 경로 데이터의 생성 및 전송을 위한 단계(760) 및 단계(770)은 제2 센싱 데이터 및 생성된 실내 지도를 이용하여 서비스 로봇(230)의 목표 시설물에 대한 실내 자율 주행을 제어하기 위한 과정일 수 있다. 앞서 설명한 바와 같이 클라우드 시스템(210)은 복수의 이용자들이 클라우드 서비스를 이용하는 경우, 복수의 목표 시설물들 각각에 대해 실내 지도를 생성하고, 생성된 실내 지도를 대응하는 이용자의 식별자, 대응하는 목표 시설물의 식별자 및 대응하는 이용자의 서비스 로봇의 식별자 중 적어도 하나의 식별자와 연관하여 저장 및 관리함으로써, 실내 자율 주행을 제어할 서비스 로봇과 연관된 실내 지도를 식별할 수 있다.In step S770, the cloud system 210 may transmit the generated path data. For example, the cloud system 210 may route the path data generated by the path planning processing module 430 described with reference to FIG. 4 in cooperation with the localization processing module 420 and the map generation module 410, To the service robot 230 through the communication module 630 described above. Steps 760 and 770 for generating and transmitting the route data are a process for controlling the indoor self-running of the target facility of the service robot 230 using the second sensing data and the generated indoor map . As described above, when a plurality of users use the cloud service, the cloud system 210 generates an indoor map for each of a plurality of target facilities, generates an indoor map corresponding to the corresponding user's identifier, An indoor map associated with the service robot to control the indoor self-running can be identified by storing and managing the indoor map in association with at least one identifier of the identifier of the service robot of the corresponding user.

또한, 하나의 목표 시설물에 복수의 서비스 로봇들이 존재할 수 있다. 다시 말해, 한 명의 이용자가 다수의 서비스 로봇들을 운용할 수도 있다. 이 경우, 클라우드 시스템(210)은 단계(760)에서 복수의 서비스 로봇들 각각으로부터 제2 센싱 데이터를 수신할 수 있다. 또한, 클라우드 시스템(210)은 단계(770)에서 복수의 서비스 로봇들 각각으로부터 수신된 제2 센싱 데이터를 통해 파악되는 복수의 서비스 로봇들의 위치를 이용하여 생성된 실내 지도의 구획에 따라 또는 서비스 로봇이 목표 시설물에서 제공하는 서비스에 따라 복수의 서비스 로봇들 각각의 실내 자율 주행을 제어할 수 있다. 예를 들어 복수의 서비스 로봇들이 물류 창고내에서 물류 관리 서비스를 제공할 수 있다. 이 경우, 복수의 서비스 로봇들이 물류 창고내에서 물류를 관리하기 위한 영역들(구획들)이 미리 나뉘어져 있을 수 있고, 클라우드 시스템(210)은 이러한 실내 지도의 구획에 따라 복수의 서비스 로봇들 각각의 실내 자율 주행을 제어할 수 있다. 또한, 서비스에 따라, 복수의 서비스 로봇들의 이동 경로가 겹치거나 또는 복수의 서비스 로봇들 각각이 실내 지도의 전체 구획들을 모두 이동할 가능성이 존재할 수 있다. 이를 위해, 클라우드 시스템(210)은 복수의 서비스 로봇들이 제공하는 서비스에 따라 복수의 서비스 로봇들 각각의 실내 자율 주행을 제어할 수도 있다. 예를 들어, 클라우드 시스템(210)은 복수의 서비스 로봇들의 현재 위치를 통해 복수의 서비스 로봇들 전체를 위한 최적의 이동 경로를 계산할 수도 있다. 또 다른 예로, 하나의 목표 시설물에서 서로 다른 서비스를 제공하는 서비스 로봇들이 존재할 수도 있다. 이처럼, 클라우드 서비스(210)는 하나의 목표 시설물에 복수의 서비스 로봇들이 존재하는 경우, 복수의 서비스 로봇들 각각의 위치를 알 수 있기 때문에 복수의 서비스 로봇들 전체를 고려하여 최적의 이동 경로를 계산할 수도 있다.In addition, a plurality of service robots may exist in one target facility. In other words, a single user may operate multiple service robots. In this case, the cloud system 210 may receive the second sensing data from each of the plurality of service robots in step 760. In step 770, the cloud system 210 determines whether or not the service robot 210 is located on the basis of the compartment of the indoor map generated by using the positions of the plurality of service robots grasped through the second sensing data received from each of the plurality of service robots, According to the service provided by the target facility, it is possible to control the indoor self-running of each of the plurality of service robots. For example, a plurality of service robots can provide a logistics management service in a logistics warehouse. In this case, the areas (zones) for managing the distribution within the warehouse may be divided in advance by the plurality of service robots, and the cloud system 210 may classify the service robots The indoor self-running can be controlled. Depending on the service, there may be a possibility that the movement paths of a plurality of service robots are overlapped or each of a plurality of service robots moves all the divisions of the indoor map. To this end, the cloud system 210 may control the indoor self-running of each of a plurality of service robots according to a service provided by a plurality of service robots. For example, the cloud system 210 may calculate an optimal travel path for all of the plurality of service robots through the current location of the plurality of service robots. As another example, there may be service robots that provide different services at one target facility. In this way, when there are a plurality of service robots in one target facility, the cloud service 210 can calculate the optimal travel route considering the entirety of the plurality of service robots since the location of each of the plurality of service robots can be known It is possible.

단계(780)에서 서비스 로봇(230)은 수신된 경로 데이터에 기반하여 이동을 제어할 수 있다. 예를 들어, 서비스 로봇(230)은 도 5를 통해 설명한 통신부(540)를 통해 경로 데이터를 수신하여 데이터 처리 모듈(515)로 전달할 수 있다. 이때, 데이터 처리 모듈(515)은 일반적인 경우, 경로 데이터를 구동 제어 모듈(513)로 전송하여 구동 제어 모듈(513)이 경로 데이터에 따라 구동부(520)를 제어하도록 할 수 있다. 이때, 단계(S740) 내지 단계(S780)는 서비스 로봇(230)이 자신의 서비스를 종료할 때까지 반복될 수 있다.In step 780, the service robot 230 may control the movement based on the received path data. For example, the service robot 230 may receive the path data through the communication unit 540 described with reference to FIG. 5 and transmit the path data to the data processing module 515. In this case, the data processing module 515 may transmit the path data to the drive control module 513 in a general case so that the drive control module 513 controls the drive unit 520 according to the path data. At this time, steps S740 to S780 may be repeated until the service robot 230 terminates its service.

도 8은 본 발명의 일실시예에 있어서, 서비스 로봇의 위치를 한정하기 예를 도시한 도면이다. 도 8은 목표 시설물의 2차원 실내 지도(800)의 간략한 예를 나타내고 있다. 이때, 실선 원(810)이 서비스 로봇(230)의 위치를 나타내고, 점선들(820, 830)이 서비스 로봇(230)이 포함하는 저가형 카메라의 시야각이라 가정한다. 이때, 저가형 카메라를 통해 촬영된 이미지를 포함하는 제2 센싱 데이터가 서비스 로봇(230)에서 클라우드 시스템(210)으로 전송될 수 있다. 이 경우, 클라우드 시스템(210)은 서비스 로봇(230)의 위치를 확인하고자 할 때마다 2차원 실내 지도(800)에 대응하여 수집된 이미지들 전체에 대해 제2 센싱 데이터가 포함하는 이미지와 매칭되는 이미지가 발견될 때까지 이미지 매칭을 진행해야 하기 때문에 많은 연산 비용이 소모될 수 있다.8 is a diagram illustrating an example of limiting the position of a service robot in an embodiment of the present invention. 8 shows a simplified example of a two-dimensional indoor map 800 of a target facility. It is assumed that the solid line circle 810 indicates the position of the service robot 230 and the dotted lines 820 and 830 are the view angle of the low cost camera included in the service robot 230. At this time, the second sensing data including the image photographed through the low-cost camera may be transmitted from the service robot 230 to the cloud system 210. In this case, each time the cloud system 210 wants to check the position of the service robot 230, the cloud system 210 matches all the images collected corresponding to the two-dimensional indoor map 800 with the image included in the second sensing data Since the image must be matched until an image is found, a lot of operation costs may be incurred.

이에, 본 실시예에 따른 클라우드 시스템(210)이 수신하는 제1 센싱 데이터와 제2 센싱 데이터는 목표 시설물의 내부 이미지 정보뿐만 아니라, 목표 시설물의 특정 구역에서 발생하여 상기 특정 구역을 식별하기 위한 신호 정보를 더 포함할 수 있다. 예를 들어, 맵핑 로봇(220)과 서비스 로봇(230)은 목표 시설물 내에 설치된 AP(Access Point)들이 발생시키는 와이파이 신호나 목표 시설물에 별도로 구축되는 신호 발생기들에서 발생하는 전파 신호나 소리 신호(사람이 인지하지 못하는 사운드)를 감지하기 위한 신호 감지 센서를 더 포함할 수 있고, 해당 신호 감지 센서를 통해 인식된 신호 정보가 각각 제1 센싱 데이터와 제2 센싱 데이터에 더 포함되어 클라우드 시스템(210)으로 전송될 수 있다. 이때, 서로 다른 AP의 와이파이 신호는 구분될 수 있으며, 별도로 구축되는 신호 발생기들 역시 서로 구분 가능한 신호 정보를 발생시킬 수 있다.Accordingly, the first sensing data and the second sensing data received by the cloud system 210 according to the present embodiment include not only the internal image information of the target facility, but also a signal for identifying the specific zone And may further include information. For example, the mapping robot 220 and the service robot 230 may transmit a radio wave signal or a sound signal (e.g., a radio wave) generated by a Wi-Fi signal generated by access points (APs) installed in a target facility, And the signal information recognized by the signal sensing sensor is included in the first sensing data and the second sensing data, respectively, so that the cloud system 210, Lt; / RTI > At this time, Wi-Fi signals of different APs can be distinguished, and signal generators separately constructed can generate signal information that can be distinguished from each other.

이 경우, 클라우드 시스템(210)은 맵핑 로봇(220)의 위치는 쉽게 파악할 수 있기 때문에 제1 센싱 데이터가 포함하는 신호 정보에 대응하는 구역을 식별할 수 있게 된다. 이 경우, 클라우드 시스템(210)은 제2 센싱 데이터가 포함하는 신호 정보를 통해 서비스 로봇(230)의 구역을 한정할 수 있고, 따라서 이미지 매칭을 위한 연산 비용을 줄일 수 있다.In this case, since the location of the mapping robot 220 can be easily grasped by the cloud system 210, the zone corresponding to the signal information included in the first sensing data can be identified. In this case, the cloud system 210 can limit the area of the service robot 230 through the signal information included in the second sensing data, thereby reducing the computation cost for image matching.

예를 들어, 도 8에 도시된 점선 원들이 각각 목표 시설물에서 발생하는 신호 정보들의 인식 가능 범위라 가정한다. 이때, 실선 원(810)의 위치에 존재하는 서비스 로봇(230)은 제1 점선 원(840)에 대응하는 신호 정보를 제2 센싱 데이터에 포함시켜 클라우드 시스템(210)으로 전송하게 된다. 이 경우, 클라우드 시스템(210)은 맵핑 로봇(220)이 동일한 신호 정보를 제1 센싱 데이터에 포함시켜 전송한 구역의 이미지들만을 이미지 매칭의 대상으로 한정함으로써 이미지 매칭을 위한 연산 비용을 줄일 수 있게 된다. 맵핑 로봇(220)이나 서비스 로봇(230)의 위치에 따라 둘 이상의 서로 다른 신호 정보가 포함될 수도 있으나, 이 경우에도 전체 실내 지도에 대응하는 모든 이미지들과의 이미지 매칭에 비해 연산 비용을 줄일 수 있게 된다.For example, it is assumed that the dotted circles shown in FIG. 8 are each the recognizable range of signal information generated at the target facility. At this time, the service robot 230 located at the position of the solid line circle 810 transmits signal information corresponding to the first dotted circle 840 to the cloud system 210 by including the signal information in the second sensing data. In this case, the cloud system 210 can limit the computation cost for image matching by limiting only the images of the region transmitted by the mapping robot 220 including the same signal information as the first sensing data to the object of image matching do. Two or more different signal information may be included depending on the position of the mapping robot 220 or the service robot 230. In this case, however, the calculation cost may be reduced as compared with image matching with all images corresponding to the entire indoor map do.

도 9는 본 발명의 일실시예에 있어서, 클라우드 시스템이 서비스 로봇이 제공하는 서비스를 제어하는 과정의 예를 흐름도이다. 앞서 설명한 바와 같이 클라우드 시스템(210)이 서비스 로봇의 서비스를 제어해야 할 필요성이 존재한다. 이를 위해, 클라우드 시스템(210)을 통해 서비스 로봇(230)의 실내 자율 주행을 제어하도록 제공되는 클라우드 서비스를 위한 IDE(Integrated Development Environment)가 이용자 또는 서비스 로봇(230)의 제작자에게 제공될 수 있다. IDE는 효율적으로 소프트웨어를 개발하기 위한 통합개발환경 소프트웨어 어플리케이션 인터페이스로서 클라우드 시스템(210)은 이러한 IDE를 통해 서비스 로봇(230)의 서비스를 제어하기 위한 기능을 제공받을 수 있다.9 is a flowchart illustrating an example of a process in which a cloud system controls a service provided by a service robot, according to an embodiment of the present invention. There is a need for the cloud system 210 to control the service of the service robot as described above. To this end, an integrated development environment (IDE) for a cloud service provided to control the indoor self-running of the service robot 230 through the cloud system 210 may be provided to the user or the manufacturer of the service robot 230. The IDE is an integrated development environment software application interface for efficiently developing software, and the cloud system 210 can be provided with a function for controlling the service of the service robot 230 through the IDE.

단계(S910)에서 클라우드 시스템(210)은 IDE를 통해 서비스 로봇(230)이 목표 시설물에서 제공하는 서비스를 제어하기 위한 소프트웨어를 등록받을 수 있다. 이러한 단계(S910)는 도 7을 통해 설명한 단계(S740) 이전에 수행될 수 있다. 다시 말해, 클라우드 시스템(210)이 서비스 로봇(230)의 실내 자율 주행을 제어하기 위해 서비스 로봇(230)과 통신하기 이전에 미리 소프트웨어를 등록받을 수 있다. 예를 들어, 클라우드 시스템(210)은 도 4를 통해 설명한 서비스 운영 모듈(440)을 통해 소프트웨어를 등록받고 소프트웨어를 관리할 수 있다.In step S910, the cloud system 210 may register software for controlling the service provided by the service robot 230 in the target facility through the IDE. This step S910 may be performed before the step S740 described with reference to FIG. In other words, the cloud system 210 can register the software in advance before communicating with the service robot 230 to control the indoor autonomous travel of the service robot 230. For example, the cloud system 210 can register software and manage software through the service operation module 440 described with reference to FIG.

단계(S920)에서 클라우드 시스템(210)은 등록된 소프트웨어를 이용하여 서비스 로봇(230)이 목표 시설물에서 제공하는 서비스를 제어할 수 있다. 이때, 클라우드 시스템(210)은 도 4를 통해 설명한 서비스 운영 모듈(440)을 통해 등록된 소프트웨어의 프로그램 코드에 따라 서비스 관련 명령을 서비스 로봇(230)으로 전달할 수 있다. 따라서 클라우드 시스템(210)이 서비스 로봇(230)의 서비스를 어떻게 제어하는 가는 클라우드 시스템(210)에 등록되는 소프트웨어에 따라 달라질 수 있다. 이러한 단계(S920)은 단계(S740) 내지 단계(S780)을 통한 서비스 로봇(230)의 실내 자율 주행을 통해 서비스 로봇(230)이 서비스를 제공하고자 하는 위치에 도달한 후에 이루어질 수 있다. 예를 들어, 호텔의 실시예에서 서비스 로봇(230)이 목적된 객실 앞에 도착한 이후에 객실 출입문 벨을 누르거나 고객 응대 음성을 출력하는 등의 서비스의 시작이 클라우드 시스템(210)을 통해 제어될 수 있다. 클라우드 시스템(210)을 통해 시작된 서비스는 도 5를 통해 설명한 서비스 로봇(230)의 서비스 처리 모듈(516)을 통해 제공될 수 있다. 예를 들어, 서비스 로봇(230)은 클라우드 시스템(210)이 제공하는 제어 명령에 따라 대응하는 서비스를 제공할 수 있다. 이를 위해, 서비스 처리 모듈(516)은 제어 명령에 알맞은 서비스의 제공을 위한 처리 절차를 진행할 수 있다.In step S920, the cloud system 210 can use the registered software to control the service provided by the service robot 230 in the target facility. At this time, the cloud system 210 can transmit a service related command to the service robot 230 according to the program code of the registered software through the service operation module 440 described with reference to FIG. Thus, how the cloud system 210 controls the service of the service robot 230 may vary depending on the software registered in the cloud system 210. This step S920 may be performed after the service robot 230 reaches a position to provide the service through the indoor self-running of the service robot 230 through steps S740 to S780. For example, in the embodiment of the hotel, after the service robot 230 arrives at the desired room, the start of a service such as pressing a room door bell or outputting a customer service voice can be controlled through the cloud system 210 have. The service started through the cloud system 210 may be provided through the service processing module 516 of the service robot 230 described with reference to FIG. For example, the service robot 230 may provide a corresponding service according to a control command provided by the cloud system 210. [ To this end, the service processing module 516 may proceed with a processing procedure for providing a service suitable for the control command.

도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이고, 도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.FIGS. 10 to 13 are photographs showing an embodiment of a mapping robot according to an embodiment of the present invention, and FIGS. 14 to 18 show an internal structure of an embodiment of a mapping robot according to an embodiment of the present invention admit.

맵핑 로봇(220)의 구현 예(1000)는 360도 카메라(1010)와 두 개의 라이더들(1020, 1030)을 포함하는 상단의 센서부와 맵핑 로봇의 이동을 처리하기 위한 구동부(1040), 그리고 센서부로부터의 출력값을 처리하여 맵핑 로봇(220)의 실내 자율 주행이 가능하도록 구동부(1040)를 제어하는 제어부(1050)를 나타내고 있다. 이때, 센서부로부터의 출력값(일례로, 360도 카메라(1010)가 촬영한 이미지들과 두 개의 라이더들(1020, 1030)의 출력값)은 앞서 설명한 바와 같이 클라우드 시스템(210)으로 전달되어 맵핑 로봇(220)이 자율 주행 중인 시설물의 실내 지도를 클라우드 시스템(210)이 생성하도록 할 수 있다. 이미 설명한 바와 같이, 센서부로부터의 출력값은 실시간으로, 또는 일정 주기로 네트워크를 통해 맵핑 로봇(220)에서 클라우드 시스템(210)으로 전달될 수도 있으나, 실시예에 따라서는 일차적으로 맵핑 로봇(220)에 저장되고, 시설물 내부에 대한 센싱이 완료된 후에 별도의 기록매체를 통해 클라우드 시스템(210)으로 입력될 수도 있다.An embodiment 1000 of the mapping robot 220 includes an upper sensor unit including a 360 degree camera 1010 and two riders 1020 and 1030 and a driving unit 1040 for processing movement of the mapping robot, And a control unit 1050 that processes the output value from the sensor unit and controls the driving unit 1040 so that the mapping robot 220 can autonomously travel. At this time, the output values from the sensor unit (for example, the images taken by the 360 degree camera 1010 and the output values of the two riders 1020 and 1030) are transmitted to the cloud system 210 as described above, So that the cloud system 210 can generate an indoor map of the self-running facility. As described above, the output value from the sensor unit may be transmitted to the cloud system 210 from the mapping robot 220 through the network in real time or at regular intervals. However, according to the embodiment, And may be input to the cloud system 210 through a separate recording medium after the inside of the facility is completely sensed.

본 실시예에 따른 맵핑 로봇(220)의 구현 예(1000)는 설명의 이해를 돕기 위한 것으로, 본 발명의 실시예들에 따른 맵핑 로봇이 도 10 내지 도 13의 형태로 한정되는 것은 아니다. 예를 들어, 제어부(1050)에도 추가적인 라이더가 포함되거나 구동부(1040)가 다리 형태 또는 바퀴가 달린 다리 형태로 구현될 수도 있다. 보다 구체적인 예로, 바퀴가 달린 다리 형태의 맵핑 로봇(220)은 평지에서는 바퀴를 이용하여 이동하고, 계단이나 에스컬레이터에서는 다리를 이용하여 이동하는 시나리오를 고려할 수 있다.The embodiment of the mapping robot 220 according to the present embodiment is intended to facilitate understanding of the explanation and the mapping robot according to the embodiments of the present invention is not limited to the forms of FIGS. 10 to 13. For example, the control unit 1050 may include an additional rider, or the driving unit 1040 may be implemented as a bridge type or a wheeled bridge type. More specifically, it is possible to consider a scenario in which a bridge-shaped mapping robot 220 with wheels is moved on a flat ground using wheels, and on a staircase or an escalator using a bridge.

이러한 맵핑 로봇(220)은 목표 시설물의 청사진과 같은 기본 레이아웃을 입력 받고, 기본 레이아웃에 따른 모든 지역을 자율 주행하면서 3차원 실내 지도의 생성을 위한 제1 센싱 데이터를 생성할 수 있다. 또한, 맵핑 로봇(220)은 기둥과 같은 장애물에 의해 시설물 내부에서 360도 카메라(1010)의 시야를 제한함에 따라 발생하는 음영을 없애기 위해 장애물에 의해 시야가 가려지지 않는 위치에서 시설물의 실내를 촬영할 수 있도록 맵핑 로봇(220)의 이동을 제어할 수 있는 알고리즘을 포함할 수 있다. The mapping robot 220 receives the basic layout such as the blueprint of the target facility, and generates the first sensing data for generating the three-dimensional indoor map while autonomously running the entire area according to the basic layout. In addition, the mapping robot 220 photographs the room of the facility at a position where the view is not blocked by the obstacle in order to eliminate the shade caused by obstacles such as pillars due to limitation of the view of the 360 degrees camera 1010 inside the facility And an algorithm capable of controlling the movement of the mapping robot 220 in order to allow the robot 220 to move.

도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다. 도 19는 맵핑 로봇(220)이 컨트롤러(Controller, 1910), PMS(Power Management System, 1920), 센서(Sensor, 1930) 및 드라이브라인(Driveline, 1940)을 포함하여 구성된 실시예를 나타내고 있다.19 is a diagram showing a configuration example of a mapping robot according to an embodiment of the present invention. 19 shows an embodiment in which the mapping robot 220 includes a controller 1910, a power management system 1920, a sensor 1930, and a drive line 1940.

컨트롤러(1910)는 도 3을 통해 설명한 제어부(310)에 대응할 수 있으며, 도 19에 도시된 바와 같이 컴퓨팅 모듈(Computing Module, 1911)과 통신 모듈(Communication Module, 1912)을 포함할 수 있다.The controller 1910 may correspond to the control unit 310 described with reference to FIG. 3 and may include a computing module 1911 and a communication module 1912 as shown in FIG.

컴퓨팅 모듈(1911)은 PC와 같은 하나 이상의 컴퓨터로 구현될 수 있으며, 이러한 컴퓨터를 통해 맵핑 로봇(220)의 자율 주행을 위한 연산이 처리될 수 있다. 예를 들어, 도 3을 통해 설명한 경로 계획 처리 모듈(311), 맵핑 처리 모듈(312), 구동 제어 모듈(313), 로컬리제이션 처리 모듈(314) 및 데이터 처리 모듈(315) 등이 컴퓨터에 포함될 수 있다.The computing module 1911 may be implemented by one or more computers, such as a PC, and operations for autonomous navigation of the mapping robot 220 may be processed through such a computer. For example, the path planning processing module 311, the mapping processing module 312, the drive control module 313, the localization processing module 314, and the data processing module 315 described with reference to FIG. .

통신 모듈(1912)은 이더넷 스위칭 허브, USB 허브, LTE 모듈, 무선 제어 수신부, 와이파이 브릿지 등과 같이 외부와의 통신을 위한 다양한 모듈들을 포함할 수 있다. 이러한 통신 모듈(1912)는 맵핑 로봇(220)의 운영자가 맵핑 로봇(220)을 제어하기 위한 인터페이스로서 무선 마우스와 키보드 등과 통신하기 위한 모듈 역시 포함할 수 있다.The communication module 1912 may include various modules for communicating with the outside such as an Ethernet switching hub, a USB hub, an LTE module, a wireless control receiver, a WiFi bridge, and the like. The communication module 1912 may include a module for communicating with a wireless mouse and a keyboard as an interface for the operator of the mapping robot 220 to control the mapping robot 220.

PSM(1920)은 맵핑 로봇(220)의 전원을 관리하기 위한 구성요소로, 배터리 팩(Battery Pack, 1921)과 파워 서플라이(Power Supply, 1922)를 포함할 수 있다.The PSM 1920 is a component for managing power of the mapping robot 220 and may include a battery pack 1921 and a power supply 1922.

배터리 팩(1921)은 시설물 내부를 자율 주행하는 맵핑 로봇(220)의 전원 공급원일 수 있다.The battery pack 1921 may be a power supply source of the mapping robot 220 that autonomously travels inside the facility.

파워 서플라이(1922)는 컨트롤러와 센서에 안정화 전원(Regulated Power)를 공급하고, 드라이브라인(1940)에 비안정화 전원(Unregulated Power)를 각각 공급하기 위한 구성요소일 수 있다.The power supply 1922 may be a component for supplying a regulated power to the controller and the sensor and supplying the unregulated power to the drive line 1940, respectively.

센서(1930)는 3차원 라이더(3D Lidar, 1931)와 카메라 시스템(Camera System, 1932)을 포함할 수 있으며, 필요 시 장애물 회피를 위해 근거리 장애물을 탐지하기 위한 LCLS(Low Cost Localization Sensor)를 더 포함할 수 있다. 예를 들어, 초음파 센서, IMU, PSD 센서 등이 센서(1930)에 더 포함될 수 있다.The sensor 1930 may include a 3D lidar 1931 and a camera system 1932 and may include an LCLS (Low Cost Localization Sensor) for detecting a local obstacle for obstacle avoidance . For example, an ultrasonic sensor, an IMU, a PSD sensor, or the like may be further included in the sensor 1930.

드라이브라인(1940)은 맵핑 로봇(220)을 이동시키기 위한 바퀴나 다리, 그리고 이러한 바퀴나 다리를 실제로 구동시키기 위한 구성요소들을 포함할 수 있다. 기본적으로 드라이브라인(1940)은 컨트롤러(1910)의 제어에 따라 동작할 수 있다. 한편, 맵핑 로봇(220)은 컨트롤러(1910)가 아닌 운영자의 제어에 따라 동작해야 할 필요성도 있다. 예를 들어, 시설물 내에서의 실내 자율 주행 중이 아닌 경우(일례로 시설물까지 맵핑 로봇(220)을 옮겨야 하는 경우)나 실내 자율 주행 중에 오류가 발생한 경우 등에는 맵핑 로봇(220)의 운영자가 직접 맵핑 로봇(220)의 이동을 제어해야 할 필요성이 존재할 수 있다. 이를 위해, 드라이브라인(1940)은 운영자의 단말(일례로, 모바일 기기)과 통신하여 운영자로부터의 제어 명령을 수신하기 위한 커멘드 모듈(Command Module, 1941)을 포함할 수 있다. 또한, 드라이브라인(1940)은 모터와 구동축, 그리고 바퀴와 같은 맵핑 로봇(220)의 이동을 실제 처리하는 드라이브 모듈(Drive Module, 1942)을 포함할 수 있다. 구체적인 예로, 도 10 내지 도 18을 통해 설명한 맵핑 로봇(220)의 구현 예(1000)에서 드라이브라인(1940)은 각각 독립적으로 동작하는 네 개의 바퀴를 위한 네 개의 드라이브 모듈 집합을 포함할 수 있다. 이러한 네 개의 드라이브 모듈 집합은 하나의 마스터 드라이브 모듈과 세 개의 슬레이브 드라이브 모듈로 구현될 수도 있다.The drive line 1940 may include wheels or legs for moving the mapping robot 220, and components for actually driving such wheels or legs. Basically, the drive line 1940 can operate under the control of the controller 1910. On the other hand, the mapping robot 220 needs to be operated under the control of the operator, not the controller 1910. For example, in a case where the indoor robot is not in the indoor self-running mode (for example, when the mapping robot 220 is to be moved to the facility) or when an error occurs during the indoor self-running, There may be a need to control the movement of the robot 220. To this end, the drive line 1940 may include a command module 1941 for communicating with an operator's terminal (e.g., a mobile device) to receive control commands from an operator. The drive line 1940 may also include a drive module 1942 that actually handles movement of the mapping robot 220, such as a motor, a drive shaft, and a wheel. As a specific example, the drive line 1940 in the embodiment 1000 of the mapping robot 220 described with reference to FIGS. 10 to 18 may include four drive module sets for four wheels operating independently. Such a set of four drive modules may be implemented as one master drive module and three slave drive modules.

이때, 컨트롤러(1910)는 센서(1930)를 통해 센싱되는 정보를 이용하여 맵핑 로봇(230)의 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 드라이브라인(1940)을 제어하여 맵핑 로봇(220)을 이동시킬 수 있으며, 실내 자율 주행의 과정에서 목표 시설물의 실내 지도를 제작하기 위한 정보를 센서(1930)를 통해 수집할 수 있다. 이때, 컨트롤러(1910)는 맵핑 로봇(220)이 이동함에 따라 변경되는 주변 정보를 센서(1930)를 통해 지속적으로 수집할 수 있으며, 지속적으로 수집되며 맵핑 로봇(220)의 이동에 따라 변경되는 주변 정보를 이용하여 경로 계획을 지속적으로 갱신할 수 있다. 경로 계획이 변경되면, 컨트롤러(1910)는 변경된 경로 계획에 따라 맵핑 로봇(220)이 이동하도록 드라이브라인(1940)을 제어할 수 있다.At this time, the controller 1910 generates a path plan for the indoor self-running in the target facility of the mapping robot 230 using the information sensed by the sensor 1930, 1940 to move the mapping robot 220 and collect information for producing the indoor map of the target facility through the sensor 1930 in the course of the indoor autonomous travel. At this time, the controller 1910 can continuously collect surrounding information that is changed according to the movement of the mapping robot 220 through the sensor 1930, and continuously collects peripheral information, which is continuously collected and changed according to the movement of the mapping robot 220 Information can be used to continually update the route plan. When the path plan is changed, the controller 1910 can control the drive line 1940 so that the mapping robot 220 moves according to the changed path plan.

또한, 컨트롤러(1910)는 센서(1930)가 포함하는 카메라(카메라 시스템(1932))를 통해 촬영된 이미지와 3차원 실시간 라이더(3차원 라이더(1931))를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 음영 지역의 촬영이 가능한 위치를 계산하여 맵핑 로봇(220)의 실내 자율 주행을 위한 경로 계획을 갱신할 수 있다. 이를 통해 맵핑 로봇(220)은 목표 시설물 내부의 전체에 대한 이미지와 거리 정보 등을 획득하여 목표 시설물에 대한 보다 정확한 실내 지도를 획득할 수 있다.The controller 1910 also analyzes the distance measured through the image captured through the camera (camera system 1932) included in the sensor 1930 and the three-dimensional real-time rider (three-dimensional rider 1931) It is possible to determine a shaded area covered by the obstacle, and calculate a position at which the shaded area can be photographed, thereby updating the path plan for the indoor autonomous travel of the mapping robot 220. Accordingly, the mapping robot 220 acquires images and distance information of the entire interior of the target facility, and obtains a more accurate indoor map of the target facility.

또한, 컨트롤러(1910)는 실내 자율 주행을 위한 경로 계획에 따라 맵핑 로봇(220)이 이동하도록 드라이브라인(1940)을 제어하되, 센서(1930)의 로컬리제이션 센서(LCLS(Low Cost Localization Sensor))의 출력값에 기반하여 장애물 회피를 처리할 수 있다.The controller 1910 controls the drive line 1940 so that the mapping robot 220 moves according to the path plan for the indoor autonomous travel while a localization sensor (LCLS) ), ≪ / RTI > the obstacle avoidance can be handled.

도 20 및 도 21은 본 발명의 일실시예에 따른 맵핑 로봇의 동작 구조의 예를 도시한 도면들이다. 도 20은 컨트롤러(1910)가 맵핑 로봇(220)의 자율 주행과 맵핑을 처리하기 위해 포함할 수 있는 기능 모듈들의 예를 나타나고 있고, 도 21은 이러한 기능 모듈들을 통한 맵핑 로봇(220)의 동작 구조의 예를 나타내고 있다.20 and 21 are views showing an example of the operation structure of a mapping robot according to an embodiment of the present invention. FIG. 20 shows an example of function modules that the controller 1910 can include for processing autonomous running and mapping of the mapping robot 220, FIG. 21 shows an example of the operation structure of the mapping robot 220 through the function modules, Fig.

인터페이스 모듈(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))와의 연결, 모터 컨트롤러의 입출력 관리, 속도 필터링 및 인코더 필터링 등의 기능을 처리할 수 있다.The interface module may include a Camera Wizard, a Velodyne Wizard, an IMU Wizard, a Control Wizard, and a Motor Wizard. The Camera Wizard can manage functions such as automatic camera connection, camera input / output management, and spherical projection. The Velodyne Wizard can be a function for managing 3D real-time riders and can handle the projection and colorization of 3D particles sensed through a 3D real-time rider. The IMU Wizard can handle connections with IMU sensors, gyro calibration, IMU sensor input / output management, and Euler angle filtering. The control wizard can correspond to the controller 1910 and can handle functions such as connection between the controller 1910 and other components, input / output management of the controller 1910, and input / output management of control packets. The motor wizard may correspond to the motor controller and may handle functions such as connection of the motor to other components (e.g., controller 1910), input / output management of the motor controller, speed filtering, and encoder filtering.

로깅 모듈(Logging Module)은 맵핑 로봇(220)의 시스템의 작동 상태를 기록하기 위한 요소로, 3차원 파티클의 클라우드 기록, 구면 이미지 기록(Spherical Image Logging), SLAM 자세 기록(SLAM Pose Logging), 맵핑 로봇(220)의 주행 거리(odometry) 기록, IMU 센서의 출력값 기록 등을 처리하는 로깅 위자드(Logging Wizard)를 포함할 수 있다.The Logging Module is an element for recording the operating state of the system of the mapping robot 220 and includes a cloud recording of three-dimensional particles, a spherical image logging, a SLAM Pose Logging, An odometry recording of the robot 220, and an output value recording of the IMU sensor.

인식 모듈(Perception Module)은 맵핑 로봇(220)의 자율 주행 시 주변 환경의 인식을 위한 모듈로서, 라이더 스캔매칭, 3차원 맵 생성 및 3차원 자세 로컬리제이션을 처리하는 SLAM 위자드(SLAM Wizard)와 장애물 회피를 위한 장애물 위자드(Obstacle Wizard)를 포함할 수 있다. 장애물 위자드는 가능성 영역의 갱신, 높이 맵의 갱신, 주행성 맵(traversability map)의 갱신, 경계(frontier) 갱신 및 밸류 맵(value map) 갱신 등의 기능을 처리할 수 있다.The recognition module (Perception Module) is a module for recognizing the surrounding environment during autonomous navigation of the mapping robot 220, and includes a SLAM Wizard for processing rider scan matching, three-dimensional map generation, and three-dimensional postural localization And an Obstacle Wizard for obstacle avoidance. The obstacle wizard can handle functions such as update of the probability area, update of the height map, update of the traversability map, frontier update, and value map update.

지능 모듈(Intelligence Module)은 행위 FSM(Finite State Machine)와 동작 FSM을 포함할 수 있다. 행위 FSM은 사용자 오버라이드 핸들링(user override handling), 목표 자세 갱신, 모션 계획 갱신, 대상 자세와 대상 속도의 갱신 등의 기능을 처리할 수 있다. 또한, 동작 FSM은 맵핑 로봇(220)의 전진과 후진 등의 운동학적 문제의 처리와 바퀴 속도의 처리 등의 기능을 처리할 수 있다.An intelligence module may include an action FSM (Finite State Machine) and an action FSM. Behavior FSM can handle functions such as user override handling, target posture update, motion plan update, target posture and target rate update. In addition, the operation FSM can handle functions such as processing of kinematic problems such as forward and backward movement of the mapping robot 220 and processing of the wheel speed.

도 21은 이러한 도 20의 기능 모듈들간의 상호 작용을 통한 맵핑 로봇(220)의 동작 구조의 예를 나타내고 있다.FIG. 21 shows an example of the operation structure of the mapping robot 220 through the interaction between the functional modules of FIG.

이처럼 본 발명의 실시예들에 따르면, 서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있다. 또한, 하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있다. 또한, 이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있다.As described above, according to the embodiments of the present invention, it is possible for a service provider to generate an indoor map of facilities of a user such as a large shopping mall, an airport, and a hotel in advance and communicate with individual service robots of users through a cloud service, By processing the localization and route plan based on the generated indoor map and providing the resultant data, the individual service robot can process the autonomous travel based on the provided result data, thereby reducing the production cost of the service robot . Further, when a plurality of service robots operate in one facility, a service plan for a plurality of service robots is controlled through the cloud service, so that a plurality of service robots share a target service more efficiently in one facility . In addition, in producing the indoor map of the facilities of the users, the service provider does not create the indoor map by controlling the observation equipment directly, but the indoor map including the functions for the indoor self-driving and the mapping function is automatically provided. Can be produced.

이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The system or apparatus described above may be implemented as a hardware component, a software component or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be embodyed temporarily. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (10)

맵핑 로봇에 있어서,
목표 시설물의 내부 환경의 수집을 위해 주변 정보를 센싱하는 센서;
상기 목표 시설물의 내부의 이동을 위한 드라이브라인; 및
상기 센서를 통해 센싱되는 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 상기 드라이브라인을 제어하여 상기 맵핑 로봇을 이동시키며, 상기 실내 자율 주행의 과정에서 상기 목표 시설물의 실내 지도를 제작하기 위한 정보를 상기 센서를 통해 수집하는 컨트롤러
를 포함하는 것을 특징으로 하는 맵핑 로봇.
In the mapping robot,
A sensor that senses ambient information for acquisition of the internal environment of the target facility;
A drive line for movement of the interior of the target facility; And
Generating a path plan for indoor self-running in the target facility of the mapping robot using information sensed by the sensor, controlling the drive line according to the generated path plan to move the mapping robot, A controller for collecting, through the sensor, information for producing an indoor map of the target facility in the course of the indoor self-
And a mapping robot for mapping the robot to the robot.
제1항에 있어서,
배터리 팩을 이용하여 상기 센서, 상기 드라이브라인 및 상기 컨트롤러로 전원을 공급하기 위한 전원공급부
를 더 포함하는 것을 특징으로 하는 맵핑 로봇.
The method according to claim 1,
A power supply for supplying power to the sensor, the drive line and the controller using a battery pack
Further comprising: a mapping processor for mapping the robot to the mapping robot.
제1항에 있어서,
상기 센서는,
상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및
상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라
를 포함하고,
상기 컨트롤러는 상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하는 것을 특징으로 하는 맵핑 로봇.
The method according to claim 1,
The sensor includes:
A three-dimensional real time rider measuring a distance to an object around the mapping robot; And
A camera for photographing an image around the mapping robot,
Lt; / RTI >
Wherein the controller collects the output values of the three-dimensional real-time rider and the camera as information for producing the indoor map.
제3항에 있어서,
상기 센서는,
근거리 장애물의 탐지를 위한 로컬리제이션 센서
를 더 포함하고,
상기 컨트롤러는 상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 상기 드이라브라인을 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 하는 맵핑 로봇.
The method of claim 3,
The sensor includes:
Localization sensor for detecting near obstacles
Further comprising:
Wherein the controller controls the deira brine to move the mapping robot according to the path plan for the indoor self-running, and processes the obstacle avoidance based on the output value of the localization sensor.
제3항에 있어서,
상기 컨트롤러는 상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역의 촬영이 가능한 위치를 계산하여 상기 실내 자율 주행을 위한 경로 계획을 갱신하는 것을 특징으로 하는 맵핑 로봇.
The method of claim 3,
The controller analyzes a distance between the image photographed by the camera and the distance measured through the 3D real-time rider to determine a shaded area covered by an object, calculates a position at which the shaded area can be photographed, And updates the path plan for the mapping robot.
맵핑 로봇의 제어 방법에 있어서,
목표 시설물의 내부에 위치한 맵핑 로봇에서 센서를 통해 주변 정보를 센싱하는 단계;
상기 센싱되는 주변 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하는 단계;
상기 생성된 경로 계획에 따라 상기 맵핑 로봇의 이동을 제어하는 단계;
상기 맵핑 로봇의 이동에 따라 변경되는 주변 정보를 상기 센서를 통해 센싱하는 단계;
상기 변경되는 주변 정보를 이용하여 상기 경로 계획을 갱신하는 단계; 및
상기 센서를 통해 지속적으로 센싱되는 주변 정보들을 상기 목표 시설물의 실내 지도의 제작을 위한 정보로서 기록하는 단계
를 포함하는 것을 특징으로 하는 제어 방법.
A method of controlling a mapping robot,
Sensing a surrounding information through a sensor in a mapping robot located inside the target facility;
Generating a path plan for the indoor self-running in the target facility of the mapping robot using the sensed peripheral information;
Controlling movement of the mapping robot according to the generated path plan;
Sensing peripheral information that is changed according to movement of the mapping robot through the sensor;
Updating the route plan using the changed peripheral information; And
Recording surrounding information continuously sensed through the sensor as information for producing an indoor map of the target facility
The control method comprising the steps of:
제6항에 있어서,
상기 센서는, 상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및 상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라를 포함하고,
상기 기록하는 단계는,
상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하는 것을 특징으로 하는 제어 방법.
The method according to claim 6,
Wherein the sensor comprises: a three-dimensional real-time rider measuring a distance to an object around the mapping robot; And a camera for photographing an image around the mapping robot,
Wherein the recording step comprises:
Wherein the 3D real time rider and the camera output values are collected as information for producing the indoor map.
제7항에 있어서,
상기 센서는, 근거리 장애물의 탐지를 위한 로컬리제이션 센서를 더 포함하고,
상기 맵핑 로봇의 이동을 제어하는 단계는,
상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 하는 제어 방법.
8. The method of claim 7,
The sensor further includes a localization sensor for detecting a near obstacle,
The step of controlling the movement of the mapping robot includes:
Wherein the controller controls the mapping robot to move according to the path plan for the indoor self-running, and processes the obstacle avoidance based on the output value of the localization sensor.
제7항에 있어서,
상기 경로 계획을 갱신하는 단계는,
상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역의 촬영이 가능한 위치를 계산하여 상기 실내 자율 주행을 위한 경로 계획을 갱신하는 것을 특징으로 하는 제어 방법.
8. The method of claim 7,
The step of updating the path plan comprises:
A controller for determining a shadow area obscured by an object by analyzing an image photographed by the camera and a distance measured through the three-dimensional real-time rider, calculating a position at which the shaded area can be photographed, Is updated.
제6항 내지 제9항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium storing a program for causing a computer to execute the method according to any one of claims 6 to 9.
KR1020160137865A 2016-10-21 2016-10-21 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot KR102096875B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160137865A KR102096875B1 (en) 2016-10-21 2016-10-21 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160137865A KR102096875B1 (en) 2016-10-21 2016-10-21 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020200038024A Division KR102112162B1 (en) 2020-03-30 2020-03-30 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot

Publications (2)

Publication Number Publication Date
KR20180044486A true KR20180044486A (en) 2018-05-03
KR102096875B1 KR102096875B1 (en) 2020-05-28

Family

ID=62244767

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160137865A KR102096875B1 (en) 2016-10-21 2016-10-21 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot

Country Status (1)

Country Link
KR (1) KR102096875B1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200014536A (en) * 2018-08-01 2020-02-11 한화디펜스 주식회사 Interior-map generation system and interior-exploration robot
KR20200055239A (en) * 2018-11-13 2020-05-21 주식회사 케이티 Method for controlling robot group and system thereof
KR20200083360A (en) * 2018-12-31 2020-07-08 주식회사 도구공간 Method and apparatus for detecting an object
CN111507501A (en) * 2019-01-31 2020-08-07 斯特拉德视觉公司 Method and device for executing personalized path planning through reinforcement learning
WO2020226187A1 (en) * 2019-05-03 2020-11-12 엘지전자 주식회사 Robot generating map on basis of multi-sensor and artificial intelligence and traveling by using map
WO2020230931A1 (en) * 2019-05-16 2020-11-19 엘지전자 주식회사 Robot generating map on basis of multi-sensor and artificial intelligence, configuring correlation between nodes and running by means of map, and method for generating map
WO2020241930A1 (en) * 2019-05-30 2020-12-03 엘지전자 주식회사 Method for estimating location using multi-sensor and robot for implementing same
CN112363491A (en) * 2019-07-24 2021-02-12 杭州萤石软件有限公司 Robot turning control method and device
KR102275682B1 (en) * 2020-05-08 2021-07-12 한국건설기술연구원 SLAM-based mobile scan backpack system for rapid real-time building scanning
CN113807585A (en) * 2021-09-18 2021-12-17 北京声智科技有限公司 Tour path recommendation method and device and related equipment
KR102433595B1 (en) * 2021-11-22 2022-08-19 (주)메트로텍 Unmanned transportation apparatus based on autonomous driving for smart maintenance of railroad vehicles
WO2023224391A1 (en) * 2022-05-18 2023-11-23 주식회사 인티그리트 Method and system for creating virtual meta map using spatial data acquired by intelligent indoor autonomous mobile robot
WO2024049069A1 (en) * 2022-09-01 2024-03-07 엘케이시스(주) Map generation device for autonomous driving

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12094196B2 (en) 2019-12-03 2024-09-17 Samsung Electronics Co., Ltd. Robot and method for controlling thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040023925A (en) * 2002-09-12 2004-03-20 엘지전자 주식회사 Work space mapping method using robot
KR20130002834A (en) * 2011-06-29 2013-01-08 엘지전자 주식회사 Method for autonomous movement and apparatus thereof
KR20150126235A (en) * 2014-05-02 2015-11-11 에브리봇 주식회사 A robot cleaner and a method for operating it

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040023925A (en) * 2002-09-12 2004-03-20 엘지전자 주식회사 Work space mapping method using robot
KR20130002834A (en) * 2011-06-29 2013-01-08 엘지전자 주식회사 Method for autonomous movement and apparatus thereof
KR20150126235A (en) * 2014-05-02 2015-11-11 에브리봇 주식회사 A robot cleaner and a method for operating it

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200014536A (en) * 2018-08-01 2020-02-11 한화디펜스 주식회사 Interior-map generation system and interior-exploration robot
KR20200055239A (en) * 2018-11-13 2020-05-21 주식회사 케이티 Method for controlling robot group and system thereof
KR20200083360A (en) * 2018-12-31 2020-07-08 주식회사 도구공간 Method and apparatus for detecting an object
CN111507501B (en) * 2019-01-31 2024-02-09 斯特拉德视觉公司 Method and apparatus for performing personalized path planning through reinforcement learning
CN111507501A (en) * 2019-01-31 2020-08-07 斯特拉德视觉公司 Method and device for executing personalized path planning through reinforcement learning
WO2020226187A1 (en) * 2019-05-03 2020-11-12 엘지전자 주식회사 Robot generating map on basis of multi-sensor and artificial intelligence and traveling by using map
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 (en) * 2019-05-16 2020-11-19 엘지전자 주식회사 Robot generating map on basis of multi-sensor and artificial intelligence, configuring correlation between nodes and running by means of map, and method for generating map
US11614747B2 (en) 2019-05-16 2023-03-28 Lg Electronics Inc. Robot generating map and configuring correlation of nodes based on multi sensors and artificial intelligence, and moving based on map, and method of generating map
US11554495B2 (en) 2019-05-30 2023-01-17 Lg Electronics Inc. Method of localization using multi sensor and robot implementing same
KR20200137943A (en) * 2019-05-30 2020-12-09 엘지전자 주식회사 A method for estimating a location using multi-sensors and a robot implementing the same
WO2020241930A1 (en) * 2019-05-30 2020-12-03 엘지전자 주식회사 Method for estimating location using multi-sensor and robot for implementing same
CN112363491A (en) * 2019-07-24 2021-02-12 杭州萤石软件有限公司 Robot turning control method and device
CN112363491B (en) * 2019-07-24 2024-04-26 杭州萤石软件有限公司 Robot turning control method and device
KR102275682B1 (en) * 2020-05-08 2021-07-12 한국건설기술연구원 SLAM-based mobile scan backpack system for rapid real-time building scanning
CN113807585A (en) * 2021-09-18 2021-12-17 北京声智科技有限公司 Tour path recommendation method and device and related equipment
CN113807585B (en) * 2021-09-18 2024-04-30 北京声智科技有限公司 Tour path recommending method and device and related equipment
KR102433595B1 (en) * 2021-11-22 2022-08-19 (주)메트로텍 Unmanned transportation apparatus based on autonomous driving for smart maintenance of railroad vehicles
WO2023224391A1 (en) * 2022-05-18 2023-11-23 주식회사 인티그리트 Method and system for creating virtual meta map using spatial data acquired by intelligent indoor autonomous mobile robot
WO2024049069A1 (en) * 2022-09-01 2024-03-07 엘케이시스(주) Map generation device for autonomous driving

Also Published As

Publication number Publication date
KR102096875B1 (en) 2020-05-28

Similar Documents

Publication Publication Date Title
KR101876968B1 (en) Method and system for controlling indoor autonomous robot
KR102096875B1 (en) Robot for generating 3d indoor map using autonomous driving and method for controlling the robot
US11858628B2 (en) Image space motion planning of an autonomous vehicle
KR102242714B1 (en) Moving robot and contorlling method and a moving robot system
TWI827649B (en) Apparatuses, systems and methods for vslam scale estimation
KR102697721B1 (en) Systems and methods for autonomous robot motion planning and navigation
CN108475059B (en) Autonomous visual navigation
CN112399813B (en) Multiple autonomous mobile robots and control method thereof
KR102112162B1 (en) Robot for generating 3d indoor map using autonomous driving and method for controlling the robot
CN110475717A (en) Indoor mapping and modularity control and related system and method for UAV and other autonomous vehicles
CN112384119B (en) Multiple autonomous mobile robots and control method thereof
CN111033561A (en) System and method for navigating a robotic device using semantic information
CN108073167A (en) A kind of positioning and air navigation aid based on depth camera and laser radar
US11852484B2 (en) Method for determining the orientation of a robot, orientation determination apparatus of a robot, and robot
JP2022511359A (en) Autonomous map traversal with waypoint matching
KR20180081481A (en) Method and system for controlling indoor autonomous robot
KR101959814B1 (en) Physical distribution system and method using indoor autonomous riding robot for handicapped person and indoor autonomous riding robot
AU2018311699A1 (en) Systems and methods for navigation path determination for unmanned vehicles
KR102262378B1 (en) A method and system for managing maps
JP2021196487A (en) Map conversion system and map conversion program
Lee et al. Localization method for mobile robots moving on stairs in multi-floor environments
Mohan et al. A comprehensive review of SLAM techniques
Abdulla An intelligent multi-floor mobile robot transportation system in life science laboratories
US20240264606A1 (en) Method and system for generating scan data of an area of interest
WO2023228283A1 (en) Information processing system, movable body, information processing method, and program

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