KR20200035930A - 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
KR20200035930A
KR20200035930A KR1020200038024A KR20200038024A KR20200035930A KR 20200035930 A KR20200035930 A KR 20200035930A KR 1020200038024 A KR1020200038024 A KR 1020200038024A KR 20200038024 A KR20200038024 A KR 20200038024A KR 20200035930 A KR20200035930 A KR 20200035930A
Authority
KR
South Korea
Prior art keywords
robot
service
sensor
mapping
indoor
Prior art date
Application number
KR1020200038024A
Other languages
Korean (ko)
Other versions
KR102112162B1 (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 KR1020200038024A priority Critical patent/KR102112162B1/en
Publication of KR20200035930A publication Critical patent/KR20200035930A/en
Application granted granted Critical
Publication of KR102112162B1 publication Critical patent/KR102112162B1/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)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Robotics (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Automation & Control Theory (AREA)
  • Multimedia (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 a self-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}A robot that automatically generates a 3D indoor precision map using autonomous driving technology and a control method of the robot {ROBOT FOR GENERATING 3D INDOOR MAP USING AUTONOMOUS DRIVING AND METHOD FOR CONTROLLING THE ROBOT}

아래의 설명은 자율 주행 기술을 응용한 3차원 실내 정밀 지도 자동 생성 로봇 및 로봇의 제어 방법에 대한 것이다.The description below relates to a robot for automatically generating a 3D indoor precision map using autonomous driving technology and a control method for the robot.

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

도 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 autonomous driving indoors in the prior art. 1 is a technique applied to the service robot 100 of the prior art, mapping (Mapping, 110), localization (Localization, 120), path planning (Path Planning, 130), obstacle avoidance (Obstacle Avoidance, 140) 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 surrounding map while the service robot 100 performs autonomous driving and / or a technique for importing and managing a map that has already been produced. For example, as the service robot 100 roams the unknown environment, the sensor attached to the robot creates an accurate map of the environment without external assistance, or matches the surrounding environment with a previously stored map to estimate the current location. , SLAM (Simultaneous Localization And Mapping) or CML (Concurrent Mapping and Localization) can be used, and also technologies such as SFM (Structure from Motion) for converting 2D data of the camera into 3D information. It can be used to create dimensional maps.

로컬리제이션(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, IMU (Inertial Measurement Unit) sensing values, and the above-described techniques such as SLAM may be utilized.

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

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

센싱(150)은 카메라, 라이더(lidar), IMU, 초음파 센서, GPS 모듈 등과 같이 서비스 로봇(100)이 포함하는 다양한 센서들을 이용하여 앞서 설명한 맵핑(110), 로컬리제이션(120), 경로 계획(130) 및 장애물 회피(140)를 위해 요구되는 정보를 제공하기 위한 기술을 포함할 수 있다.The sensing 150 uses the 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, the mapping 110, localization 120, and route planning described above. It may include a technique for providing information required for the 130 and obstacle avoidance 140.

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

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

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

서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있는 실내 자율 주행 로봇을 위한 제어 방법 및 시스템을 제공한다.The service provider pre-generates indoor maps of users 'facilities, such as large shopping malls, airports, hotels, etc., and communicates with users' individual service robots through cloud services, creating localization and route plans for individual service robots in advance. A control method for indoor autonomous driving robots that can process autonomous driving based on the result data provided by individual service robots by processing based on the indoor map and providing the result data. And systems.

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

이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있는 실내 자율 주행 맵핑 로봇을 위한 시스템 및 그 제어 방법을 제공한다.In creating indoor maps of users' facilities, the service provider does not directly control the observation equipment to produce indoor maps, but can automatically produce indoor maps including both indoor autonomous driving functions and mapping functions. Provides a system for an indoor autonomous driving mapping robot and a control method thereof.

맵핑 로봇에 있어서, 목표 시설물의 내부 환경의 수집을 위해 주변 정보를 센싱하는 센서, 상기 목표 시설물의 내부의 이동을 위한 드라이브라인 및 상기 센서를 통해 센싱되는 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하고, 생성된 경로 계획에 따라 상기 드라이브라인을 제어하여 상기 맵핑 로봇을 이동시키며, 상기 실내 자율 주행의 과정에서 상기 목표 시설물의 실내 지도를 제작하기 위한 정보를 상기 센서를 통해 수집하는 컨트롤러를 포함하는 것을 특징으로 하는 맵핑 로봇을 제공한다.In the mapping robot, the target facility of the mapping robot using a sensor that senses surrounding information to collect the internal environment of the target facility, a drive line for moving inside the target facility, and information sensed through the sensor. To create a route plan for indoor autonomous driving inside, to control the drive line according to the generated route plan, move the mapping robot, and to produce an indoor map of the target facility in the process of indoor autonomous driving It provides a mapping robot characterized in that it comprises a controller for collecting information through the sensor.

일측에 따르면, 상기 맵핑 로봇은 배터리 팩을 이용하여 상기 센서, 상기 드라이브라인 및 상기 컨트롤러로 전원을 공급하기 위한 전원공급부를 더 포함하는 것을 특징으로 할 수 있다.According to one side, the mapping robot may be characterized in that it further comprises a power supply 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 3D real-time rider measuring a distance to an object around the mapping robot; And a camera for photographing an image around the mapping robot, and the controller may collect the output values of the 3D real-time rider and the camera as information for producing the indoor map.

또 다른 측면에 따르면, 상기 센서는, 근거리 장애물의 탐지를 위한 로컬리제이션 센서를 더 포함하고, 상기 컨트롤러는 상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 상기 드이라브라인을 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 할 수 있다.According to another aspect, the sensor further includes a localization sensor for the detection of short-range obstacles, and the controller controls the dragline to move the mapping robot according to a route plan for indoor autonomous driving. However, it may be characterized in that the obstacle avoidance processing is performed based on the output value of the localization sensor.

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

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

상기 제어 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체를 제공한다.It provides a computer-readable recording medium, characterized in that a program for executing the control method in a computer is recorded.

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

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

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

이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있다.In creating indoor maps of users' facilities, the service provider does not directly control the observation equipment to produce indoor maps, but can automatically produce indoor maps including both indoor autonomous driving functions and mapping functions. have.

도 1은 종래기술에 있어서 실내 자율 주행을 위한 로봇에 적용되는 기술의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 로봇의 실내 자율 주행을 위한 전체 제어 시스템의 예를 도시한 도면이다.
도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.
도 6은 본 발명의 일실시예에 있어서, 클라우드 시스템을 구성하는 물리적인 서버의 내부 구성을 설명하기 위한 블록도이다.
도 7은 본 발명의 일실시예에 있어서, 제어 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 일실시예에 있어서, 서비스 로봇의 위치를 한정하기 예를 도시한 도면이다.
도 9는 본 발명의 일실시예에 있어서, 클라우드 시스템이 서비스 로봇이 제공하는 서비스를 제어하는 과정의 예를 흐름도이다.
도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이다.
도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.
도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다.
도 20 및 도 21은 본 발명의 일실시예에 따른 맵핑 로봇의 동작 구조의 예를 도시한 도면들이다.
1 is a view showing an example of a technique applied to a robot for indoor autonomous driving in the prior art.
2 is a diagram showing an example of an overall control system for indoor autonomous driving 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 illustrating an internal configuration of a physical server constituting a cloud system in an embodiment of the present invention.
7 is a flowchart illustrating a control method in an embodiment of the present invention.
8 is a view showing an example of limiting the position of the service robot in one 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 in an embodiment of the present invention.
10 to 13 are pictures showing an example of the implementation of the mapping robot according to an embodiment of the present invention.
14 to 18 are views showing an internal configuration of an example of the implementation of a mapping robot according to an embodiment of the present invention.
19 is a view showing a configuration example of a mapping robot according to an embodiment of the present invention.
20 and 21 are diagrams illustrating an example of an 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 entire control system for autonomous indoor driving of the robot according to the embodiments of the present invention is largely collected by a control system (hereinafter referred to as a 'mapping robot system') for a mapping robot that collects map data indoors of a facility. A control system (hereinafter referred to as a 'cloud system') for a cloud service that handles localization and route planning for autonomous driving of service robots that operate on facilities based on map data and creates indoor maps of the facilities. It may include a control system for a service robot (hereinafter, referred to as a 'service robot system') that provides a targeted service by a user of a facility through autonomous driving inside the interior.

도 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 showing an example of an overall control system for indoor autonomous driving of a robot according to an embodiment of the present invention. 2 shows a cloud system 210 and a mapping robot 220 on the service provider side, and a service robot 230 for users' facilities and the user side. First, the service provider side can input the mapping robot 220 to generate indoor maps of users' facilities. At this time, the service provider side may generate indoor maps of various facilities in advance, such as a large mart, hospital, airport, or hotel, or may generate indoor maps of facilities of users requesting service through a separate contract. have. For example, the service provider side may input the mapping robot 220 into the facility A according to a request from the user of the facility A to generate an indoor map of the facility A. The mapping robot 220 is an indoor autonomous driving robot, and may include various sensors such as a 3D lidar, a 360-degree camera, and an inertial measurement unit (IMU) for autonomous driving and map generation, while autonomously driving the facility A The generated sensing data may be transmitted to the cloud system 210. In this case, the sensing data may be input to the cloud system 210 through a computer-readable recording medium in which the sensing data is stored after autonomous driving of the mapping robot 220 for generating the indoor map is completed, according to an embodiment. The mapping robot 220 may transmit to the cloud system 210 through a network including a communication module. In addition, the sensing data generated by the mapping robot 220 may be transmitted in real time from the mapping robot 220 to the cloud system 210, or after the mapping robot 220 completes sensing of the facility, the cloud system is collectively. It may be transmitted to 210.

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

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

예를 들어, 라이더(lidar)는 전파에 가까운 성질을 가진 레이저 광선을 이용하여 개발한 레이더로서, 자율 주행을 위해 탑재되는 고가의 센서 장비이며 이러한 라이더를 활용하는 경우, 기본적으로 둘 이상의 라이더들이 하나의 자율 주행 유닛에 포함된다. 일례로, 물류 관리를 위해 이용자가 60 대의 서비스 로봇들을 사용한다 가정할 때, 종래기술에서는 고가의 라이더가 120 개 이상이 요구된다. 반면, 본 발명의 실시예들에서는 자율 주행을 위해 요구되는 로컬리제이션과 경로 계획을 서비스 제공자 측의 클라우드 시스템(210)이 처리하고 그 결과 데이터를 제공하면, 서비스 로봇들이 클라우드 시스템(210)으로부터 제공되는 결과 데이터에 따라 주행하기 때문에 고가의 센서 장비 없이 저가형 초음파 센서 및/또는 저가형 카메라만으로도 실내 주행이 가능해진다. 실질적으로 본 발명의 실시예들에 따른 서비스 로봇들은 클라우드 시스템(210)으로부터 제공되는 결과 데이터에 따라 동작하기 때문에 실내 자율 주행을 위한 별도의 센서 없이 실내 주행이 가능하다. 다만, 저가형 초음파 센서 및/또는 저가형 카메라와 같은 저가의 센서들이 서비스 로봇(230)의 현재 위치 파악과 서비스 로봇(230)의 장애물 회피 등을 위해 사용될 수 있다. 따라서, 이용자들은 저렴한 비용으로 제작되는 서비스 로봇들을 활용할 수 있으며, 서비스 로봇을 이용하고자 하는 다수의 이용자들이 존재하고, 이러한 다수의 이용자들 각각이 다수의 서비스 로봇들을 활용할 수 있음을 고려할 때, 서비스 로봇들의 제작 비용을 획기적으로 줄일 수 있게 된다. 예를 들어, 스마트폰 수준의 센싱 능력만으로도 서비스 로봇의 자율 주행을 처리할 수 있다.For example, a lidar is a radar developed using a laser beam with properties close to radio waves, and is an expensive sensor device mounted for autonomous driving. When using such a rider, two or more riders are basically one. It is included in the autonomous driving unit. 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, if the cloud system 210 on the service provider side processes the localization and route plan required for autonomous driving and provides data as a result, the service robots from the cloud system 210 Because it runs according to the result data provided, indoor driving is possible only with a low-cost ultrasonic sensor and / or a low-cost camera without expensive sensor equipment. Since service robots according to embodiments of the present invention operate according to result data provided from the cloud system 210, indoor driving is possible without a separate sensor for indoor autonomous driving. However, low-cost sensors, such as low-cost ultrasonic sensors and / or low-cost cameras, may be used to identify the current location of the service robot 230 and avoid obstacles of the service robot 230. Therefore, users can utilize service robots that are manufactured at low cost, and considering that there are a large number of users who want to use service robots, and each of these multiple users can utilize multiple service robots, the service robot It is possible to dramatically reduce the production cost of the people. For example, autonomous driving of the service robot can be handled only with a smartphone-level sensing capability.

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

도 3 은 본 발명의 일실시예에 따른 맵핑 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이고, 도 4는 본 발명의 일실시예에 따른 클라우드 시스템의 개략적인 구성의 예를 설명하기 위한 블록도이며, 도 5는 본 발명의 일실시예에 따른 서비스 로봇의 개략적인 구성의 예를 설명하기 위한 블록도이다.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, and FIG. 4 is for explaining 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.

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

제어부(310)는 맵핑 로봇(220)에 내장된 물리적인 프로세서일 수 있으며, 도 3에 도시된 바와 같이 경로 계획 처리 모듈(311), 맵핑 처리 모듈(312), 구동 제어 모듈(313), 로컬리제이션 처리 모듈(314) 및 데이터 처리 모듈(315)을 포함할 수 있다. 여기서, 제어부(310)가 포함하는 구성요소들은 물리적인 프로세서로서 제어부(310)가 수행하는 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 제어부(310)는 OS나 펌웨어와 같은 컴퓨터 프로그램의 코드에 따른 제어 명령에 따라 다양한 기능들을 처리할 수 있다.The control unit 310 may be a physical processor embedded in the mapping robot 220, and as shown in FIG. 3, the path planning processing module 311, the mapping processing module 312, the driving control module 313, and the local It may include a regeneration processing module 314 and a data processing module 315. Here, the components included in the control unit 310 may be expressions 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 the 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 vehicle such as a drone or a wheel or leg for movement of the mapping robot 220.

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

통신부(340)는 센서부(330)를 통해 센싱된 데이터를 네트워크를 통해 클라우드 시스템(210)으로 전송하기 위한 통신 기능을 포함할 수 있다.The communication unit 340 may include a communication function for transmitting data sensed through the sensor unit 330 to the cloud system 210 through a 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 it to the control unit 310. At this time, 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 driving of the mapping robot 220, and also the cloud system 210 In order to generate an indoor map of the target facility, the communication unit 340 may be controlled to transmit the first sensor data to the cloud system 210 through a network.

로컬리제이션 처리 모듈(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 location, and may operate to determine the current location of the mapping robot 220 in the target facility. . At this time, the localization processing module 314 processes the mapping between the pre-stored indoor map (for example, the design blueprint of the target facility) and the current location through interworking with the mapping processing module 312 or If no indoor map is stored, an indoor map of the target facility may be generated.

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

맵핑 로봇(220)은 이러한 제1 센싱 데이터의 생성 및 전송, 제1 센싱 데이터를 이용한 자율 주행 경로의 결정 및 결정된 자율 주행 경로에 따른 이동의 과정을 반복하면서 목표 시설물을 자율 주행할 수 있고, 목표 시설물에 대한 제1 센싱 데이터를 클라우드 시스템(210)으로 지속적으로 전송할 수 있다.The mapping robot 220 may autonomously drive the target facility while repeating the process of generating and transmitting the first sensing data, determining the autonomous driving route using the first sensing data, and moving according to the determined autonomous driving route, The first sensing data for the facility may 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 through one physical server device or two or more physical server devices, and as shown in FIG. 4, the map generation module 410 and locally It may include a gestation processing module 420, a route planning processing module 430 and a service operation module 440. The components included in the cloud system 210 are different from each other performed by at least one processor included in the cloud system 210 according to control instructions according to code of an operating system or code of at least one computer program. It can be expressions of different functions.

맵 생성 모듈(410)은 도 3에서 설명한 바와 같이 목표 시설물의 내부에서 자율 주행하는 맵핑 로봇(220)이 목표 시설물의 내부에 대해 생성한 제1 센싱 데이터를 이용하여 목표 시설물의 실내 지도를 생성하기 위한 구성요소일 수 있다.As illustrated in FIG. 3, the map generation module 410 generates an indoor map of the target facility using the first sensing data generated by the mapping robot 220 autonomously driving inside the target facility for the inside of the target facility. It may be a component for.

이때, 로컬리제이션 처리 모듈(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 to perform the The location of the service robot 230 may be determined.

경로 계획 처리 모듈(430)은 상술한 제2 센싱 데이터와 생성된 실내 지도를 이용하여 서비스 로봇(230)의 실내 자율 주행을 제어하기 위한 제어 신호를 생성할 수 있다. 예를 들어, 경로 계획 처리 모듈(430)은 서비스 로봇(230)의 경로 데이터를 생성할 수 있다. 클라우드 시스템(210)은 생성된 경로 데이터를 네트워크를 통해 서비스 로봇(230)으로 전송할 수 있다. 일례로, 경로를 위한 정보는 서비스 로봇(230)의 현재 위치를 나타내는 정보, 현재 위치와 실내 지도를 맵핑하기 위한 정보, 그리고 경로 계획 정보를 포함할 수 있다. The route planning processing module 430 may generate a control signal for controlling indoor autonomous driving of the service robot 230 using the above-described second sensing data and the generated indoor map. For example, the route planning processing module 430 may generate route data of the service robot 230. The cloud system 210 may transmit the generated route data to the service robot 230 through a network. As an example, the information for the route may include information indicating the current location of the service robot 230, information for mapping the current location to the indoor map, and route 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 cloud services 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 may register the cloud system 210 by creating software for controlling the service provided by the service robot 230 through the IDE through the IDE. In this case, the service operation module 440 may control the service provided by the service robot 230 using software registered in association with the service robot 230. As a specific example, it is assumed that the service robot 230 provides a service that delivers the object requested by the customer from the hotel to the guest room. At this time, the cloud system 210 not only controls the service robot 230 to move in front of the corresponding room by controlling the indoor autonomous driving of the service robot 230, but also presses the bell on the door of the room door and reaches the customer when it reaches the target location. The service robot 230 may transmit a related command to the service robot 230 so that the service robot 230 performs a series of services for outputting and delivering the desired object to the customer.

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

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

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

일반적인 경우, 데이터 처리 모듈(515)은 경로 데이터를 바로 구동 제어 모듈(513)로 전달할 수 있고, 구동 제어 모듈(513)은 경로 데이터에 따라 구동부(520)를 제어하여 서비스 로봇(230)의 실내 자율 주행을 제어할 수 있다.In a general case, the data processing module 515 may directly transmit the route data to the driving control module 513, and the driving control module 513 controls the driving unit 520 according to the route data to thereby provide an indoor space for the service robot 230. Autonomous driving can be controlled.

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

한편, 서비스 처리 모듈(516)은 클라우드 시스템(210)을 통해 수신되는 명령을 통신부(540)를 통해 또는 통신부(540)와 데이터 처리 모듈(515)을 통해 전달받을 수 있다. 이 경우, 구동부(520)는 서비스 로봇(230)의 이동을 위한 장비뿐만 아니라, 서비스 로봇(230)이 제공하는 서비스와 관련된 장비를 더 포함할 수 있다. 상술한 호텔 서비스의 예에서 서비스 로봇(230)의 구동부(520)는 객실 출입문의 벨을 누르기 위한 로봇 암(arm)이나 고객 응대 음성을 출력하기 위한 스피커 등을 더 포함할 수 있다. 이 경우, 서비스 처리 모듈(516)은 제공해야 할 서비스를 위한 구동 명령을 구동 제어 모듈(513)로 전달할 수 있고, 구동 제어 모듈(513)은 구동 명령에 따라 구동부(520)가 더 포함할 수 있는 로봇 암이나 스피커를 제어하여 서비스가 제공될 수 있도록 할 수 있다.Meanwhile, 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 example of the hotel service described above, the driving unit 520 of the service robot 230 may further include a robot arm for pressing a bell on the door of the cabin, a speaker for outputting a voice for customer response, and the like. In this case, the service processing module 516 may transmit a driving command for a service to be provided to the driving control module 513, and the driving control module 513 may further include a driving unit 520 according to the driving command. The robot arm or speaker can be controlled so that the 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 illustrating an internal configuration of a physical server constituting a cloud system in an embodiment of the present invention. The cloud system 210 described above may be implemented as one physical server device or may be implemented through interworking of two or more physical server devices. At this time, the server 600 constituting 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 is a computer-readable recording medium, and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. Here, the ROM and the non-destructive mass storage device may be separated from the memory 610 and included as separate permanent storage devices. In addition, an operating system and at least one program code may be stored in the memory 610. These software components may be loaded from a computer-readable recording medium separate from the memory 610. Such a separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, disk, tape, DVD / CD-ROM drive, and memory card. In other embodiments, software components may be loaded into memory 610 through communication module 630 rather than 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 input / output operations. Instructions 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 an instruction received according to program code loaded in 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. 4.

통신 모듈(630)은 실제 컴퓨터 네트워크를 통해 다른 물리적인 기기들과 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 통신 모듈(630)은 서버(600)가 맵핑 로봇(220)이나 서비스 로봇(230)과 통신과 통신하기 위한 기능을 제공할 수 있다. The communication module 630 may provide a function for communicating with other physical devices through an actual computer network. In one example, the communication module 630 may provide a function for the server 600 to 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 speaker. In FIG. 6, the input / output device 650 is represented as a separate device from the server 600, but the server 600 may be implemented so that the input / output device 650 is included in the server 600 according to an embodiment.

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

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

단계(S710)에서 맵핑 로봇(220)은 목표 시설물의 내부를 자율 주행하면서 센서를 통해 목표 시설물의 내부에 대한 제1 센싱 데이터를 생성할 수 있다. 예를 들어, 도 3을 통해 설명한 바와 같이, 맵핑 로봇(220)은 센싱부(330)를 통해 센서들의 출력값을 포함하는 제1 센싱 데이터를 데이터 처리 모듈(315)로 전송할 수 있다. 이러한 맵핑 로봇(220)은 클라우드 시스템(210)을 통해 서비스 로봇(230)의 실내 자율 주행을 제어하기 위한 클라우드 서비스를 제공하는 서비스 제공자 측에서 운용하는 장비일 수 있다. 또한, 서비스 로봇(230)은 목표 시설물과 연관하여 클라우드 서비스를 요청한 이용자 측에서 운용하는 장비일 수 있다.In step S710, the mapping robot 220 may autonomously drive the interior of the target facility and generate first sensing data about the interior of the target facility through a sensor. For example, as described through 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 equipment operated by a service provider providing a cloud service for controlling indoor autonomous driving of the service robot 230 through the cloud system 210. In addition, the service robot 230 may be equipment operated by a user who requested a cloud service in connection with a 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 through FIG. 6, and the map generation module 410 described through FIG. 4. An indoor map of the target facility may be generated using the first sensing data received through. At this time, the indoor map may be generated as an image-based 3D indoor map. As already described, the first sensing data may be collectively transmitted to the cloud system after autonomous driving of the mapping robot 220 is finished.

실시예에 따라 클라우드 시스템(210)은 복수의 이용자들 각각의 목표 시설물들에 대한 실내 지도를 생성할 수도 있다. 예를 들어, 목표 시설물들마다 맵핑 로봇(220)을 투입하여 목표 시설물별 제1 센싱 데이터를 얻을 수 있고, 목표 시설물별로 실내 지도를 생성할 수 있다. 이 경우, 클라우드 시스템(210)은 목표 시설물별로 생성된 실내 지도를 이용자의 식별자, 대응하는 목표 시설물의 식별자 및 대응하는 이용자의 서비스 로봇의 식별자 중 적어도 하나의 식별자와 연관하여 저장 및 관리될 수 있다. 추후, 다수의 이용자들의 다수의 서비스 로봇들 중 하나의 실내 자율 주행을 제어하는 경우, 클라우드 시스템(210)은 실내 지도와 연관된 식별자를 통해 해당 서비스 로봇을 위한 실내 지도를 식별할 수 있으며, 식별되는 실내 지도를 이용하여 해당 서비스 로봇을 위한 실내 자율 주행을 제어할 수 있다.According to an embodiment, the cloud system 210 may generate an indoor map for target facilities of each of a plurality of users. For example, the first sensing data for each target facility may be obtained by inputting the mapping robot 220 for each target facility, and an indoor map may be generated for each target facility. In this case, the cloud system 210 may store and manage the indoor map generated for each target facility in association with at least one of a user identifier, a corresponding target facility identifier, and a corresponding user service robot identifier. . In the future, when controlling indoor autonomous driving of one of a plurality of service robots of a plurality of users, the cloud system 210 may identify the indoor map for the corresponding service robot through an identifier associated with the indoor map, and is identified. The indoor autonomous driving for the corresponding 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 about the inside of the target facility through a sensor inside the target facility. For example, as described with reference to FIG. 5, the service robot 230 may transmit second sensing data including output values of sensors to the data processing module 515 through the sensing unit 530. While mapping robot 220 uses expensive sensing equipment such as riders and 360-degree cameras as sensors, service robot 230 uses low-cost sensing equipment such as low-cost cameras and / or low-cost ultrasonic sensors as sensors. By doing so, the second sensing data can be generated. As described above, the cloud system 210 has already generated the indoor map of the target facility through the mapping robot 220, and thus the service robot 230 can control the indoor autonomous driving of the service robot 230 only by simple image mapping. It may be composed of low-cost sensors, and accordingly, the production cost of the service robot 230 operated by users can be significantly reduced.

단계(S750)에서 서비스 로봇(230)은 생성된 제2 센싱 데이터를 전송할 수 있다. 예를 들어, 도 5를 통해 설명한 바와 같이, 서비스 로봇(230)의 데이터 처리 모듈(515)은 제2 센싱 데이터를 통신부(540)를 통해 클라우드 시스템(210)으로 전송할 수 있다.In step S750, the service robot 230 may transmit the generated second sensing data. For example, as described with reference to FIG. 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.

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

단계(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 route data. For example, the cloud system 210 transmits route data generated by the route planning processing module 430 described with reference to FIG. 4 in conjunction with the localization processing module 420 and the map generation module 410 through FIG. 6. It can be transmitted to the service robot 230 through the communication module 630 described. Steps 760 and 770 for generating and transmitting the route data are processes for controlling indoor autonomous driving for the target facility of the service robot 230 using the second sensing data and the generated indoor map. You can. As described above, the cloud system 210 generates an indoor map for each of a plurality of target facilities when a plurality of users use the cloud service, an identifier of a user corresponding to the generated indoor map, and a corresponding target facility By storing and managing in association with an identifier and at least one identifier of a corresponding user's service robot, an indoor map associated with a service robot to control indoor autonomous driving can be identified.

또한, 하나의 목표 시설물에 복수의 서비스 로봇들이 존재할 수 있다. 다시 말해, 한 명의 이용자가 다수의 서비스 로봇들을 운용할 수도 있다. 이 경우, 클라우드 시스템(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 addition, the cloud system 210 is based on the partition of the indoor map generated using the positions of the plurality of service robots identified through the second sensing data received from each of the plurality of service robots in step 770 or the service robot. The indoor autonomous driving of each of the plurality of service robots may be controlled according to the service provided by the target facility. For example, a plurality of service robots can provide a logistics management service in a distribution warehouse. In this case, areas (compartments) for managing logistics in a plurality of service robots in a distribution warehouse may be pre-divided, and the cloud system 210 may include each of the plurality of service robots according to the partition of the indoor map. Indoor autonomous driving can be controlled. In addition, depending on the service, there may be a possibility that the movement paths of the plurality of service robots overlap, or each of the plurality of service robots may move all the entire sections of the indoor map. To this end, the cloud system 210 may control indoor autonomous driving of each of the plurality of service robots according to the service provided by the plurality of service robots. For example, the cloud system 210 may calculate an optimal movement path for the entire plurality of service robots through the current positions of the plurality of service robots. As another example, there may be service robots that provide different services in one target facility. As described above, when a plurality of service robots exist in one target facility, the cloud service 210 can know the location of each of the plurality of service robots, and thus calculates an optimal movement path in consideration of the entire plurality of service robots. It might be.

단계(780)에서 서비스 로봇(230)은 수신된 경로 데이터에 기반하여 이동을 제어할 수 있다. 예를 들어, 서비스 로봇(230)은 도 5를 통해 설명한 통신부(540)를 통해 경로 데이터를 수신하여 데이터 처리 모듈(515)로 전달할 수 있다. 이때, 데이터 처리 모듈(515)은 일반적인 경우, 경로 데이터를 구동 제어 모듈(513)로 전송하여 구동 제어 모듈(513)이 경로 데이터에 따라 구동부(520)를 제어하도록 할 수 있다. 이때, 단계(S740) 내지 단계(S780)는 서비스 로봇(230)이 자신의 서비스를 종료할 때까지 반복될 수 있다.In step 780, the service robot 230 may control movement based on the received route data. For example, the service robot 230 may receive route data through the communication unit 540 described with reference to FIG. 5 and transmit the route 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, so that the drive control module 513 controls the driver 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 view showing an example of limiting the position of the service robot in one embodiment of the present invention. 8 shows a brief example of a two-dimensional indoor map 800 of a target facility. In this case, it is assumed that the solid circle 810 indicates the location of the service robot 230, and the dotted lines 820 and 830 are the viewing angles of the low-cost camera included in the service robot 230. At this time, the second sensing data including the image captured through the low-cost camera may be transmitted from the service robot 230 to the cloud system 210. In this case, the cloud system 210 is matched with the image included in the second sensing data for all of the images collected corresponding to the 2D indoor map 800 whenever the service robot 230 wants to check the location of the service robot 230 Since image matching must be performed until an image is found, a lot of computational cost can be consumed.

이에, 본 실시예에 따른 클라우드 시스템(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 generate signals in a specific area of the target facility, as well as the internal image information of the target facility, and signals for identifying the specific area. It may further include information. For example, the mapping robot 220 and the service robot 230 may be a radio wave signal or a sound signal (a person generated from signal generators separately built in the target facility or a Wi-Fi signal generated by APs (Access Points) installed in the target facility. This may include a signal detection sensor for detecting sound), and the signal information recognized through the signal detection sensor is further included in the first sensing data and the second sensing data, respectively, and the cloud system 210 Can be sent to At this time, the Wi-Fi signals of different APs may be distinguished, and signal generators that are separately constructed may also generate distinguishable signal information.

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

예를 들어, 도 8에 도시된 점선 원들이 각각 목표 시설물에서 발생하는 신호 정보들의 인식 가능 범위라 가정한다. 이때, 실선 원(810)의 위치에 존재하는 서비스 로봇(230)은 제1 점선 원(840)에 대응하는 신호 정보를 제2 센싱 데이터에 포함시켜 클라우드 시스템(210)으로 전송하게 된다. 이 경우, 클라우드 시스템(210)은 맵핑 로봇(220)이 동일한 신호 정보를 제1 센싱 데이터에 포함시켜 전송한 구역의 이미지들만을 이미지 매칭의 대상으로 한정함으로써 이미지 매칭을 위한 연산 비용을 줄일 수 있게 된다. 맵핑 로봇(220)이나 서비스 로봇(230)의 위치에 따라 둘 이상의 서로 다른 신호 정보가 포함될 수도 있으나, 이 경우에도 전체 실내 지도에 대응하는 모든 이미지들과의 이미지 매칭에 비해 연산 비용을 줄일 수 있게 된다.For example, it is assumed that the dashed circles shown in FIG. 8 are each a recognizable range of signal information generated in the target facility. At this time, the service robot 230 existing at the location of the solid circle 810 transmits the signal information corresponding to the first dotted circle 840 to the cloud system 210 by including the second sensing data. In this case, the cloud system 210 can reduce the computational cost for image matching by limiting only the images in the area that the mapping robot 220 transmits by including the same signal information in the first sensing data as an object of image matching. do. Depending on the location of the mapping robot 220 or the service robot 230, two or more different signal information may be included, but in this case, the computational cost can be reduced compared to 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 in an embodiment of the present invention. As described above, there is a need for the cloud system 210 to control the service of the service robot. To this end, an integrated development environment (IDE) for a cloud service provided to control indoor autonomous driving of the service robot 230 through the cloud system 210 may be provided to a user or a producer of the service robot 230. The IDE is an integrated development environment software application interface for efficiently developing software, and the cloud system 210 may 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 through the IDE through the IDE. This step S910 may be performed before the step S740 described with reference to FIG. 7. In other words, the software may be registered in advance before the cloud system 210 communicates with the service robot 230 to control indoor autonomous driving of the service robot 230. For example, the cloud system 210 may register software and manage software through the service operation module 440 described with reference to FIG. 4.

단계(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 may control the service provided by the service robot 230 in the target facility using the registered software. At this time, the cloud system 210 may transmit a service related command to the service robot 230 according to the program code of the software registered through the service operation module 440 described with reference to FIG. 4. Therefore, how the cloud system 210 controls the service of the service robot 230 may vary depending on software registered in the cloud system 210. The step S920 may be performed after the service robot 230 reaches a location to provide a service through indoor autonomous driving of the service robot 230 through steps S740 to S780. For example, in the embodiment of the hotel, after the service robot 230 arrives in front of the intended room, the start of a service such as pressing a room door bell or outputting a customer response voice may 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. 5. 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 a control command.

도 10 내지 도 13은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예를 도시한 사진들이고, 도 14 내지 도 18은 본 발명의 일실시예에 따른 맵핑 로봇의 구현 예의 내부 구성을 도시한 도면들이다.10 to 13 are pictures showing an implementation example of a mapping robot according to an embodiment of the present invention, and FIGS. 14 to 18 are views showing an internal configuration of an implementation example 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)으로 입력될 수도 있다.The implementation example 1000 of the mapping robot 220 includes a 360 ° camera 1010 and an upper sensor part including two riders 1020 and 1030, and a driving part 1040 for processing the movement of the mapping robot, and The control unit 1050 which controls the driving unit 1040 to process the output value from the sensor unit to enable indoor autonomous driving of the mapping robot 220 is shown. At this time, the output value from the sensor unit (for example, images captured by the 360-degree camera 1010 and the output values of the two riders 1020, 1030) is transferred to the cloud system 210 as described above, and the mapping robot The cloud system 210 may generate the indoor map of the facility 220 that is driving autonomously. As already described, the output value from the sensor unit may be transmitted from the mapping robot 220 to the cloud system 210 in real time or through a network at regular intervals, but depending on the embodiment, it is primarily to the mapping robot 220. It may be stored and input to the cloud system 210 through a separate recording medium after sensing for the interior of the facility is completed.

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

이러한 맵핑 로봇(220)은 목표 시설물의 청사진과 같은 기본 레이아웃을 입력 받고, 기본 레이아웃에 따른 모든 지역을 자율 주행하면서 3차원 실내 지도의 생성을 위한 제1 센싱 데이터를 생성할 수 있다. 또한, 맵핑 로봇(220)은 기둥과 같은 장애물에 의해 시설물 내부에서 360도 카메라(1010)의 시야를 제한함에 따라 발생하는 음영을 없애기 위해 장애물에 의해 시야가 가려지지 않는 위치에서 시설물의 실내를 촬영할 수 있도록 맵핑 로봇(220)의 이동을 제어할 수 있는 알고리즘을 포함할 수 있다. The mapping robot 220 may receive a basic layout, such as a blueprint of a target facility, and generate first sensing data for generating a 3D indoor map while autonomously driving through all regions according to the basic layout. In addition, the mapping robot 220 photographs the interior of the facility at a location where the field of view is not obscured by the obstacle to remove the shadow generated by limiting the field of view of the 360-degree camera 1010 inside the facility by an obstacle such as a pillar In order to be able to include an algorithm that can control the movement of the mapping robot 220.

도 19는 본 발명의 일실시예에 따른 맵핑 로봇의 구성 예를 도시한 도면이다. 도 19는 맵핑 로봇(220)이 컨트롤러(Controller, 1910), PMS(Power Management System, 1920), 센서(Sensor, 1930) 및 드라이브라인(Driveline, 1940)을 포함하여 구성된 실시예를 나타내고 있다.19 is a view 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 (Controller, 1910), a PMS (Power Management System, 1920), a sensor (Sensor, 1930), and a driveline (Driveline, 1940).

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

컴퓨팅 모듈(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 calculations for autonomous driving of the mapping robot 220 may be processed through such computers. For example, the route planning processing module 311, the mapping processing module 312, the driving control module 313, the localization processing module 314, and the data processing module 315 described with reference to FIG. 3 are connected to the computer. Can be included.

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

PSM(1920)은 맵핑 로봇(220)의 전원을 관리하기 위한 구성요소로, 배터리 팩(Battery Pack, 1921)과 파워 서플라이(Power Supply, 1922)를 포함할 수 있다.The PSM 1920 is a component for managing the 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 autonomously driving 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 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 rider (3D Lidar, 1931) and a camera system (1932), and further includes a low cost localization sensor (LCLS) for detecting short-range obstacles to avoid obstacles when necessary. It can contain. For example, an ultrasonic sensor, an IMU, a PSD sensor, and 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 the wheels or legs. Basically, the drive line 1940 may operate under the control of the controller 1910. On the other hand, the mapping robot 220 is also required to operate under the control of the operator, not the controller 1910. For example, the operator of the mapping robot 220 directly maps when the vehicle is not autonomous indoor driving in a facility (for example, when the mapping robot 220 needs to be moved to the facility) or when an error occurs during indoor autonomous driving. There may be a need to control the movement of the robot 220. To this end, the driveline 1940 may include a command module (Command Module, 1941) for receiving a control command from the operator in communication with the operator's terminal (eg, a mobile device). Also, the drive line 1940 may include a drive module 1942 that actually processes movement of the mapping robot 220 such as a motor, a drive shaft, and wheels. As a specific example, in the implementation example 1000 of the mapping robot 220 described with reference to FIGS. 10 to 18, the drive line 1940 may include a set of four drive modules for four wheels each operating independently. This set of four drive modules may be implemented with 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 route plan for indoor autonomous driving inside the target facility of the mapping robot 230 by using the information sensed through the sensor 1930, and drives the line according to the generated route plan ( 1940), the mapping robot 220 may be moved, and information for producing an indoor map of the target facility in the process of indoor autonomous driving may be collected through the sensor 1930. At this time, the controller 1910 may continuously collect the surrounding information that changes as the mapping robot 220 moves through the sensor 1930, and continuously collects and changes the surrounding information as the mapping robot 220 moves. Information can be used to continuously update the route plan. When the route plan is changed, the controller 1910 may control the drive line 1940 such that the mapping robot 220 moves according to the changed route plan.

또한, 컨트롤러(1910)는 센서(1930)가 포함하는 카메라(카메라 시스템(1932))를 통해 촬영된 이미지와 3차원 실시간 라이더(3차원 라이더(1931))를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하고, 음영 지역의 촬영이 가능한 위치를 계산하여 맵핑 로봇(220)의 실내 자율 주행을 위한 경로 계획을 갱신할 수 있다. 이를 통해 맵핑 로봇(220)은 목표 시설물 내부의 전체에 대한 이미지와 거리 정보 등을 획득하여 목표 시설물에 대한 보다 정확한 실내 지도를 획득할 수 있다.In addition, the controller 1910 analyzes an image captured through a camera (camera system 1932) included in the sensor 1930 and a distance measured through a 3D real-time rider (3D rider 1931) to the object. By determining the shaded area obscured by, and calculating a position capable of photographing the shaded area, the route plan for indoor autonomous driving of the mapping robot 220 may be updated. Through this, the mapping robot 220 may acquire an image and distance information for the entire interior of the target facility, thereby obtaining a more accurate indoor map for the target facility.

또한, 컨트롤러(1910)는 실내 자율 주행을 위한 경로 계획에 따라 맵핑 로봇(220)이 이동하도록 드라이브라인(1940)을 제어하되, 센서(1930)의 로컬리제이션 센서(LCLS(Low Cost Localization Sensor))의 출력값에 기반하여 장애물 회피를 처리할 수 있다.In addition, the controller 1910 controls the drive line 1940 such that the mapping robot 220 moves according to a route plan for indoor autonomous driving, but a localization sensor (LCLS (Low Cost Localization Sensor) of the sensor 1930) ) Based on the output value.

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

인터페이스 모듈(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 connection of the camera, input / output management of the camera, and spherical projection. The Velodyne Wizard may be a function for managing a 3D real-time rider, and may process projection and electronic coloring of 3D particles sensed through the 3D real-time rider. The IMU Wizard can handle connection with the IMU sensor, automatic gyro calibration, input / output management of the IMU sensor, and filtering of the Euler angle. The control wizard may correspond to the controller 1910, and may process 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 a motor controller, and may process functions such as connection between the motor and other components (for example, the 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, cloud recording of 3D particles, spherical image logging, SLAM pose logging, and mapping It may include a logging wizard that processes the odometer recording of the robot 220, the output value recording of the IMU sensor, and the like.

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

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

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

이처럼 본 발명의 실시예들에 따르면, 서비스 제공자가 대형 쇼핑몰이나 공항, 호텔 등과 같은 이용자들의 시설물들의 실내 지도를 미리 생성하고, 클라우드 서비스를 통해 이용자들의 개별 서비스 로봇들과 통신하면서 개별 서비스 로봇들을 위한 로컬리제이션과 경로 계획을 미리 생성된 실내 지도에 기반하여 처리하여 그 결과 데이터를 제공해줌으로써, 개별 서비스 로봇들이 제공된 결과 데이터에 기반하여 자율 주행을 처리할 수 있어 서비스 로봇의 제작 비용을 혁신적으로 줄일 수 있다. 또한, 하나의 시설물 내에 다수의 서비스 로봇들이 동작하는 경우, 상기 클라우드 서비스를 통해 다수의 서비스 로봇들을 위한 서비스 계획을 관제함으로써, 다수의 서비스 로봇들이 하나의 시설물 내에서 보다 효율적으로 목적하는 서비스를 분담하여 처리할 수 있다. 또한, 이용자들의 시설물들의 실내 지도를 제작함에 있어서 서비스 제공자 측에서 사람이 직접 관측 장비를 제어하여 실내 지도를 제작하는 것이 아니라, 실내 자율 주행을 위한 기능과 맵핑 기능을 모두 포함하여 자동적으로 실내 지도를 제작할 수 있다.As described above, according to embodiments of the present invention, a service provider generates an indoor map of facilities of users, such as a large shopping mall, an airport, or a hotel, in advance, and communicates with individual service robots of users through a cloud service, thereby providing for individual service robots. By processing localization and route planning based on pre-generated indoor maps and providing the result data, individual service robots can process autonomous driving based on the provided result data, thereby dramatically reducing the production cost of service robots. You can. In addition, when a plurality of service robots operate in one facility, by controlling the service plan for the plurality of service robots through the cloud service, the service robots share the desired service more efficiently in one facility. Can be processed. In addition, when creating indoor maps of users' facilities, the service provider does not directly control the observation equipment to produce indoor maps, but automatically generates indoor maps including both indoor autonomous driving functions and mapping functions. 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 device described above may be implemented as a hardware component, a software component, or a combination of hardware components and software components. For example, the devices and components described in the embodiments include, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors (micro signal processors), microcomputers, field programmable gate arrays (FPGAs). , A programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose computers or special purpose computers. The processing device may perform an operating system (OS) and one or more software applications running on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of the software. For convenience of understanding, a processing device may be described as one being used, but a person having ordinary skill in the art, the processing device may include a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that may include. For example, the processing device may include a plurality of processors or a processor and a controller. In addition, other processing configurations, such as parallel processors, are possible.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. Can be embodied permanently or temporarily. The software may be distributed on networked computer systems, and stored or executed in a distributed manner. 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 the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by a limited embodiment and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.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 surrounding information to collect the internal environment of the target facility;
A drive line for movement inside the target facility; And
Using the information sensed through the sensor to generate a route plan for indoor autonomous driving in the target facility of the mapping robot, and controls the drive line according to the generated route plan to move the mapping robot, A controller that collects information for producing an indoor map of the target facility in the process of indoor autonomous driving through the sensor
Including,
The controller,
Based on the collected information, a shaded area obscured by an object is determined, and a route plan generated for the indoor autonomous driving is calculated to obtain information about the shaded area by calculating a location for obtaining information about the shaded area. A mapping robot characterized by updating.
제1항에 있어서,
배터리 팩을 이용하여 상기 센서, 상기 드라이브라인 및 상기 컨트롤러로 전원을 공급하기 위한 전원공급부
를 더 포함하는 것을 특징으로 하는 맵핑 로봇.
According to claim 1,
Power supply for supplying power to the sensor, the drive line and the controller using a battery pack
Mapping robot characterized in that it further comprises.
제1항에 있어서,
상기 센서는,
상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및
상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라
를 포함하고,
상기 컨트롤러는 상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하는 것을 특징으로 하는 맵핑 로봇.
According to claim 1,
The sensor,
A 3D real-time rider measuring a distance to an object around the mapping robot; And
Camera for taking images around the mapping robot
Including,
The controller is a mapping robot characterized in that it collects the output values of the 3D real-time rider and the camera as information for producing the indoor map.
제3항에 있어서,
상기 센서는,
근거리 장애물의 탐지를 위한 로컬리제이션 센서
를 더 포함하고,
상기 컨트롤러는 상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 상기 드라이브라인을 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 하는 맵핑 로봇.
According to claim 3,
The sensor,
Localization sensor for the detection of short distance obstacles
Further comprising,
The controller controls the drive line so that the mapping robot moves according to the route plan for the indoor autonomous driving, but maps the mapping robot, characterized by processing obstacle avoidance based on the output value of the localization sensor.
제3항에 있어서,
상기 컨트롤러는 상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하는 것을 특징으로 하는 맵핑 로봇.
According to claim 3,
The controller is a mapping robot characterized in that to determine the shaded area obscured by the object by analyzing the distance measured by the 3D real-time rider and the image taken through the camera.
맵핑 로봇의 제어 방법에 있어서,
목표 시설물의 내부에 위치한 맵핑 로봇에서 센서를 통해 주변 정보를 센싱하는 단계;
상기 센싱되는 주변 정보를 이용하여 상기 맵핑 로봇의 상기 목표 시설물 내부에서의 실내 자율 주행을 위한 경로 계획을 생성하는 단계;
상기 생성된 경로 계획에 따라 상기 맵핑 로봇의 이동을 제어하는 단계;
상기 맵핑 로봇의 이동에 따라 변경되는 주변 정보를 상기 센서를 통해 센싱하는 단계;
상기 변경되는 주변 정보를 이용하여 상기 경로 계획을 갱신하는 단계;
상기 센서를 통해 지속적으로 센싱되는 주변 정보들을 상기 목표 시설물의 실내 지도의 제작을 위한 정보로서 기록하는 단계
를 포함하고,
상기 경로 계획을 갱신하는 단계는,
상기 센싱된 정보를 통해 사물에 의해 가려진 음영 지역을 판단하고, 상기 음영 지역에 대한 정보를 획득하기 위한 위치를 계산하여 상기 음영 지역에 대한 정보를 획득하도록 상기 실내 자율 주행을 위해 생성된 경로 계획을 갱신하는 것을 특징으로 하는 제어 방법.
In the control method of the mapping robot,
Sensing surrounding information through a sensor in a mapping robot located inside the target facility;
Generating a path plan for indoor autonomous driving inside the target facility of the mapping robot using the sensed surrounding information;
Controlling the movement of the mapping robot according to the generated route plan;
Sensing surrounding information changed according to the movement of the mapping robot through the sensor;
Updating the route plan using the changed surrounding information;
Recording surrounding information continuously sensed through the sensor as information for producing an indoor map of the target facility.
Including,
The step of updating the route plan,
The route plan generated for the indoor autonomous driving is determined to determine the shaded area obscured by an object through the sensed information and calculate a location for acquiring information about the shaded area to obtain information about the shaded area. Control method characterized by updating.
제6항에 있어서,
상기 센서는, 상기 맵핑 로봇 주변의 사물에 대한 거리를 측정하는 3차원 실시간 라이더; 및 상기 맵핑 로봇 주변의 이미지를 촬영하기 위한 카메라를 포함하고,
상기 기록하는 단계는,
상기 3차원 실시간 라이더 및 상기 카메라의 출력값을 상기 실내 지도를 제작하기 위한 정보로서 수집하는 것을 특징으로 하는 제어 방법.
The method of claim 6,
The sensor includes a 3D real-time rider measuring a distance to an object around the mapping robot; And a camera for photographing an image around the mapping robot,
The recording step,
Control method characterized in that the output value of the three-dimensional real-time rider and the camera is collected as information for producing the indoor map.
제7항에 있어서,
상기 센서는, 근거리 장애물의 탐지를 위한 로컬리제이션 센서를 더 포함하고,
상기 맵핑 로봇의 이동을 제어하는 단계는,
상기 실내 자율 주행을 위한 경로 계획에 따라 상기 맵핑 로봇이 이동하도록 제어하되, 상기 로컬리제이션 센서의 출력값에 기반하여 장애물 회피를 처리하는 것을 특징으로 하는 제어 방법.
The method of claim 7,
The sensor further includes a localization sensor for the detection of short-range obstacles,
Controlling the movement of the mapping robot,
A control method for controlling the mapping robot to move according to the route plan for the indoor autonomous driving, but processing obstacle avoidance based on the output value of the localization sensor.
제7항에 있어서,
상기 경로 계획을 갱신하는 단계는,
상기 카메라를 통해 촬영된 이미지와 상기 3차원 실시간 라이더를 통해 측정된 거리를 분석하여 사물에 의해 가려진 음영 지역을 판단하는 것을 특징으로 하는 제어 방법.
The method of claim 7,
The step of updating the route plan,
A control method characterized in that the image captured by the camera and the distance measured by the 3D real-time rider are analyzed to determine a shaded area obscured by an object.
제6항 내지 제9항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.A computer-readable recording medium, characterized in that a program for executing the method of any one of claims 6 to 9 is recorded on a computer.
KR1020200038024A 2020-03-30 2020-03-30 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot KR102112162B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200038024A KR102112162B1 (en) 2020-03-30 2020-03-30 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
KR1020200038024A KR102112162B1 (en) 2020-03-30 2020-03-30 Robot for generating 3d indoor map using autonomous driving and method for controlling the robot

Related Parent Applications (1)

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

Publications (2)

Publication Number Publication Date
KR20200035930A true KR20200035930A (en) 2020-04-06
KR102112162B1 KR102112162B1 (en) 2020-05-19

Family

ID=70282209

Family Applications (1)

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

Country Status (1)

Country Link
KR (1) KR102112162B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221333A1 (en) * 2020-04-29 2021-11-04 주식회사 모빌테크 Method for predicting position of robot in real time through map information and image matching, and robot
WO2021230503A1 (en) * 2020-05-15 2021-11-18 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN113776516A (en) * 2021-09-03 2021-12-10 上海擎朗智能科技有限公司 Method and device for adding obstacles, electronic equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220527B1 (en) * 2011-03-02 2013-01-21 한국과학기술원 Sensor system, and system and method for preparing environment map using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101220527B1 (en) * 2011-03-02 2013-01-21 한국과학기술원 Sensor system, and system and method for preparing environment map using the same

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021221333A1 (en) * 2020-04-29 2021-11-04 주식회사 모빌테크 Method for predicting position of robot in real time through map information and image matching, and robot
KR20210134117A (en) * 2020-04-29 2021-11-09 주식회사 모빌테크 Real-time robot position estimation metod through map information and image matching and the robot
WO2021230503A1 (en) * 2020-05-15 2021-11-18 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
US11880209B2 (en) 2020-05-15 2024-01-23 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof
CN113776516A (en) * 2021-09-03 2021-12-10 上海擎朗智能科技有限公司 Method and device for adding obstacles, electronic equipment and storage medium
CN113776516B (en) * 2021-09-03 2024-05-14 上海擎朗智能科技有限公司 Method and device for adding barriers, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR102112162B1 (en) 2020-05-19

Similar Documents

Publication Publication Date Title
KR102096875B1 (en) Robot for generating 3d indoor map using autonomous driving and method for controlling the robot
JP6731388B2 (en) Control method, program, system, mapping robot and service robot for indoor autonomous robot
US11858628B2 (en) Image space motion planning of an autonomous vehicle
US10649469B2 (en) Indoor mapping and modular control for UAVs and other autonomous vehicles, and associated systems and methods
KR102112162B1 (en) Robot for generating 3d indoor map using autonomous driving and method for controlling the robot
TWI827649B (en) Apparatuses, systems and methods for vslam scale estimation
KR102043421B1 (en) Method and system for controlling indoor autonomous robot
JP2019500693A (en) Autonomous visual navigation
WO2010038353A1 (en) Autonomous movement device
JP2022511359A (en) Autonomous map traversal with waypoint matching
Zaki et al. Microcontroller-based mobile robot positioning and obstacle avoidance
KR101959814B1 (en) Physical distribution system and method using indoor autonomous riding robot for handicapped person and indoor autonomous riding robot
JP2022524108A (en) Collaborative decision on cargo footprint of robot vehicle
Mortezapoor et al. Photogrammabot: an autonomous ROS-based mobile photography robot for precise 3d reconstruction and mapping of large indoor spaces for mixed reality
JP7004374B1 (en) Movement route generation method and program of moving object, management server, management system
Wagner et al. Online aerial 2.5 d terrain mapping and active aerial vehicle exploration for ground robot navigation
KR102262378B1 (en) A method and system for managing maps
WO2021024665A1 (en) Information processing system, information processing device, and information processing method
Lee et al. Localization method for mobile robots moving on stairs in multi-floor environments
JP2021196487A (en) Map conversion system and map conversion program
JP7441579B1 (en) Information processing system and information processing method
WO2023228283A1 (en) Information processing system, movable body, information processing method, and program
Mohan et al. A comprehensive review of SLAM techniques
JP7072311B1 (en) Movement route generation method and program of moving object, management server, management system
Santoro Design and implementation of a Sensory System for an Autonomous Mobile Robot in a Connected Industrial Environment

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant