KR102620941B1 - Method and system for controling robot driving in a building - Google Patents

Method and system for controling robot driving in a building Download PDF

Info

Publication number
KR102620941B1
KR102620941B1 KR1020210140115A KR20210140115A KR102620941B1 KR 102620941 B1 KR102620941 B1 KR 102620941B1 KR 1020210140115 A KR1020210140115 A KR 1020210140115A KR 20210140115 A KR20210140115 A KR 20210140115A KR 102620941 B1 KR102620941 B1 KR 102620941B1
Authority
KR
South Korea
Prior art keywords
robot
control command
control
obstacle
building
Prior art date
Application number
KR1020210140115A
Other languages
Korean (ko)
Other versions
KR20230056271A (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 KR1020210140115A priority Critical patent/KR102620941B1/en
Priority to PCT/KR2022/015865 priority patent/WO2023068759A1/en
Publication of KR20230056271A publication Critical patent/KR20230056271A/en
Application granted granted Critical
Publication of KR102620941B1 publication Critical patent/KR102620941B1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1684Tracking a line or surface by means of sensors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/028Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
    • G05D1/0282Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Spray Control Apparatus (AREA)
  • Automobile Manufacture Line, Endless Track Vehicle, Trailer (AREA)
  • Manipulator (AREA)

Abstract

본 발명은 건물을 주행하는 로봇의 제어 방법 및 시스템에 관한 것이다. 보다 구체적으로 본 발명은 같은 공간 속에서 로봇과 사람이 함께 공존하며 사람에게 유용한 서비스를 제공하는 건물에 관한 것이다. 본 발명은 공간을 주행하는 로봇의 주행을 제어하는 방법을 제공할 수 있다. 본 발명은 서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 단계, 상기 제1제어 명령에 기반하여 상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 로봇에서 센싱된 센싱 정보에 기반하여 상기 공간에 위치한 장애물과 관련된 장애 이벤트의 발생 여부를 판단하는 단계, 상기 로봇에서, 상기 장애 이벤트의 발생에 근거하여, 상기 장애물의 회피와 관련된 제2제어 명령을 생성하는 단계, 상기 제1 및 제2 제어 명령에 기반하여, 상기 장애 이벤트에 대한 회피 제어 명령을 생성하는 단계 및 상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 단계를 포함하는 로봇 제어 방법을 제공할 수 있다.The present invention relates to a control method and system for a robot traveling in a building. More specifically, the present invention relates to a building where robots and people coexist in the same space and provide useful services to people. The present invention can provide a method for controlling the movement of a robot traveling in space. The present invention includes the steps of receiving a first control command related to the running of the robot from a server, in a state where the robot is running in the space based on the first control command, and based on sensing information sensed by the robot. determining whether an obstacle event related to an obstacle located in the space has occurred; generating, in the robot, a second control command related to avoidance of the obstacle based on the occurrence of the obstacle event; 2 Based on a control command, a robot control method may be provided, including generating an avoidance control command for the failure event and controlling the robot to move according to the avoidance control command.

Description

건물을 주행하는 로봇 제어 방법 및 시스템{METHOD AND SYSTEM FOR CONTROLING ROBOT DRIVING IN A BUILDING}Method and system for controlling a robot driving in a building {METHOD AND SYSTEM FOR CONTROLING ROBOT DRIVING IN A BUILDING}

본 발명은 건물을 주행하는 로봇의 제어 방법 및 시스템에 관한 것이다. 보다 구체적으로 본 발명은 같은 공간 속에서 로봇과 사람이 함께 공존하며 사람에게 유용한 서비스를 제공하는 건물에 관한 것이다.The present invention relates to a control method and system for a robot traveling in a building. More specifically, the present invention relates to a building where robots and people coexist in the same space and provide useful services to people.

기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.As technology develops, various service devices appear, and in particular, technology development for robots that perform various tasks or services has been actively developed recently.

나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 로봇을 보다 정밀하고, 안전하게 제어하는 것이 가능해지고 있으며, 이에 따라 로봇의 활용도가 점차적으로 높아지고 있다. 특히, 기술의 발전으로 인하여, 로봇은 실내 공간에서 인간과 안전하게 공존할 수 있을 정도의 수준에 이르렀다.Furthermore, in recent years, as artificial intelligence technology, cloud technology, etc. have developed, it has become possible to control robots more precisely and safely, and thus the utilization of robots is gradually increasing. In particular, due to technological advancements, robots have reached a level where they can safely coexist with humans in indoor spaces.

이에, 최근에는 로봇이 인간의 업무 또는 작업을 대체하고 있으며, 특히 실내 공간에서 사람을 대상으로 로봇이 직접 서비스를 제공하는 다양한 방법들이 활발하게 연구되고 있다. Accordingly, recently, robots have been replacing human tasks or tasks, and various methods for robots to directly provide services to people, especially in indoor spaces, are being actively researched.

예를 들어, 공항, 역사, 백화점 등 공공 장소에서는 로봇들이 길안내 서비스를 제공하고 있으며, 음식점에서는 로봇들이 서빙 서비스를 제공하고 있다. 나아가, 오피스 공간, 공동 주거 공간 등에서는 로봇들이 우편물, 택배 등을 배송하는 배송 서비스를 제공하고 있다. 이 밖에도 로봇들은 청소 서비스, 방범 서비스, 물류 처리 서비스 등 다양한 서비스들을 제공하고 있으며, 로봇이 제공하는 서비스의 종류 및 범위는 앞으로도 기하급수적으로 늘어날 것이며, 서비스 제공 수준 또한 계속적으로 발전할 것으로 기대된다.For example, robots are providing navigation services in public places such as airports, stations, and department stores, and robots are providing serving services in restaurants. Furthermore, delivery services are being provided in office spaces and communal living spaces, where robots deliver mail and parcels. In addition, robots provide a variety of services such as cleaning services, crime prevention services, and logistics processing services. The type and scope of services provided by robots are expected to increase exponentially in the future, and the level of service provision is also expected to continue to develop.

이러한, 로봇들은 실외 공간 뿐만 아니라, 사무실, 아파트, 백화점, 학교, 병원, 놀이시설 등과 같은 건물(또는 빌딩(building))의 실내 공간 내에서 다양한 서비스를 제공하고 있으며, 이 경우, 로봇들은 건물의 실내 공간을 이동하며 다양한 서비스들을 제공하도록 제어되고 있다.These robots provide various services not only in outdoor spaces, but also in indoor spaces of buildings (or buildings) such as offices, apartments, department stores, schools, hospitals, amusement facilities, etc. In this case, robots provide various services in the buildings. It is controlled to move around the indoor space and provide various services.

한편, 서비스 로봇의 발달에 따라, 자유롭게 이동하는 로봇 서비스들이 출현하고 있다. 종래 네트워크 중심의 로봇들은, 중앙 서버에서 수신된 경로 정보에 근거하여, 제어되는 것이 일반적이기에, 로봇에서 센싱되는 실시간의 환경 정보를 반영하여 즉각적인 대응이 어려운 문제가 존재한다. Meanwhile, with the development of service robots, freely moving robot services are emerging. Conventional network-oriented robots are generally controlled based on path information received from a central server, so there is a problem in that it is difficult to respond immediately by reflecting real-time environmental information sensed by the robot.

한국공개특허 제10-2020-0099611(2020.08.28)호와 같이, 종래에는 서버에서 생성된 경로를 기반으로 로봇이 주행하되, 로봇에서 감지된 센싱 정보에 기반하여 서버로부터 수신된 경로에 대한 정정을 수행하였다. 하지만, 종래 방법은 갑작스러운 장애물 검출 시 서버에 의한 로봇 제어에서 로봇 자체 제어로 전환하는 것으로, 최소한의 제어 장치만 내장된 로봇에서는 그 활용도가 떨어질 수 있다. As in Korean Patent Publication No. 10-2020-0099611 (2020.08.28), conventionally, a robot runs based on a path generated by a server, but the path received from the server is corrected based on sensing information detected by the robot. was carried out. However, the conventional method switches from controlling the robot by the server to controlling the robot itself when a sudden obstacle is detected, and its usability may be low in robots with only a minimal control device built-in.

이에, 로봇이 갑작스러운 장애 상황에 대처할 수 있도록 하는 로봇 제어 기술에 대한 니즈가 여전히 존재한다.Accordingly, there is still a need for robot control technology that allows robots to cope with sudden failure situations.

한편, 로봇들이 실내 공간에서 다양한 서비스를 제공하거나, 생활하기 위해서는 로봇들은, 건물의 실내 공간을 자유롭게 이동하거나, 통과해야 하며, 경우에 따라 건물에 구비된 다양한 설비 인프라들(예를 들어, 엘리베이터, 에스컬레이터, 출입 통제 게이트 등)을 이용해야 하는 니즈가 존재한다.Meanwhile, in order for robots to provide various services or live in indoor spaces, they must freely move or pass through the indoor space of the building, and in some cases, various facility infrastructures provided in the building (e.g., elevator, There is a need to use escalators, access control gates, etc.).

이에, 건물 내에서 로봇을 이용한 보다 수준 높은 서비스를 제공하기 위해서는 서비스 단위(예를 들어, 길안내 서비스, 배송 서비스, 서빙 서비스 등)의 로봇 제어 기술에 대한 연구 뿐만 아니라, 로봇이 서비스를 제공하는 건물 자체에서, 로봇에 필요한 다양한 인프라를 지원할 수 있는 본질적인 연구가 필요하다.Accordingly, in order to provide a higher level of service using robots within buildings, it is necessary to not only research robot control technology for service units (e.g., route guidance service, delivery service, serving service, etc.), but also research the robot control technology to provide services using robots. In the building itself, essential research is needed to support the various infrastructure required for robots.

본 발명은 건물에서 주행하는 로봇에 대한 제어 방법 및 시스템을 제공하는 것이다. 보다 구체적으로 본 발명은 건물에서 발생할 수 있는 돌발 상황에 대하여 로봇이 유연하게 대처할 수 있도록 하는 로봇 제어 방법 및 시스템을 제공하는 것이다.The present invention provides a control method and system for a robot running in a building. More specifically, the present invention provides a robot control method and system that allows a robot to flexibly respond to unexpected situations that may occur in a building.

또한, 본 발명은 클라우드 서버 및 로봇 내 연산 자원을 최소한으로 활용하면서 장애물에 효과적으로 대처할 수 있도록 하는 로봇 제어 방법 및 시스템을 제공하는 것이다.In addition, the present invention provides a robot control method and system that allows the robot to effectively cope with obstacles while minimizing the use of computing resources in the cloud server and the robot.

나아가, 본 발명은 로봇과 사람이 함께 공존하며, 사람에게 유용한 서비스를 제공하는 로봇 친화형 건물을 제공하기 위한 것이다.Furthermore, the present invention is intended to provide a robot-friendly building where robots and people coexist and provide useful services to people.

나아가, 본 발명에 따른 로봇 친화형 건물은, 로봇이 이용 가능한 로봇 친화형의 다양한 설비 인프라를 제공함으로써, 로봇이 제공할 수 있는 서비스의 종류 및 범위를 확장할 수 있다.Furthermore, the robot-friendly building according to the present invention can expand the type and scope of services that robots can provide by providing a variety of robot-friendly facility infrastructure that robots can use.

나아가, 본 발명에 따른 로봇 친화형 건물은 다수의 로봇과 연동하는 클라우드 시스템을 이용하여, 다수의 로봇 및 설비 인프라를 유기적으로 제어함으로써, 보다 체계적으로 서비스를 제공하는 로봇의 주행을 관리할 수 있다. 이를 통해, 본 발명에 따른 로봇 친화형 건물은, 보다 안전하고, 신속하게, 그리고 정확하게 사람들에게 다양한 서비스를 제공할 수 있다.Furthermore, the robot-friendly building according to the present invention uses a cloud system that works with multiple robots to organically control multiple robots and facility infrastructure, thereby managing the movement of robots that provide services more systematically. . Through this, the robot-friendly building according to the present invention can provide various services to people more safely, quickly, and accurately.

나아가, 본 발명에 따른 건물에 적용된 로봇은 클라우드 서버에 의해 제어되는 브레인리스(brainless) 형식으로 구현될 수 있으며, 이에 의하면, 건물에 배치되는 다수의 로봇을 값비싼 센서 없이 저렴하게 제조할 수 있을 뿐만 아니라, 고성능/고정밀로 제어할 수 있다.Furthermore, robots applied to buildings according to the present invention can be implemented in a brainless format controlled by a cloud server, and according to this, multiple robots placed in buildings can be manufactured inexpensively without expensive sensors. In addition, it can be controlled with high performance/high precision.

상술한 목적을 달성하기 위하여, 본 발명은 공간을 주행하는 로봇의 주행을 제어하는 방법을 제공할 수 있다. 본 발명은 서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 단계, 상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하는 단계, 상기 로봇에서, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2제어 명령을 생성하는 단계, 상기 제1 및 제2 제어 명령에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하는 단계 및 상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 단계를 포함하는 로봇 제어 방법을 제공할 수 있다.In order to achieve the above-described object, the present invention can provide a method for controlling the movement of a robot traveling in space. The present invention includes the steps of receiving a first control command related to the running of the robot from a server, performing sensing of the space while the robot is traveling in the space, sensing in the robot, in the robot, Generating a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among the sensed information, an avoidance control command for the obstacle based on the first and second control commands It is possible to provide a robot control method including the step of generating and performing control on the robot to move according to the avoidance control command.

또한, 본 발명은 공간을 주행하는 로봇의 주행을 제어하는 시스템을 제공할 수 있다. 본 발명은 서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 통신부 및 상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하고, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2제어 명령을 생성하고, 상기 제1 및 제2 제어 명령에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하고, 상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 제어부를 포함하는 로봇 제어 시스템을 제공할 수 있다.Additionally, the present invention can provide a system for controlling the movement of a robot traveling in space. The present invention provides a communication unit that receives a first control command related to the running of the robot from a server, performs sensing of the space while the robot is traveling in the space, and selects the first control command from the robot among the sensing information sensed by the robot. Based on information related to an obstacle located in space, a second control command related to avoidance of the obstacle is generated, and based on the first and second control commands, an avoidance control command for the obstacle is generated, and the avoidance is performed. A robot control system including a control unit that controls the robot to move according to control commands can be provided.

본 발명에 따른 클라우드 서버에 의해 제어되는 로봇이 주행하는 건물은, 상기 클라우드 서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하여, 상기 로봇으로 전송하는 통신부를 포함하고, 상기 클라우드 서버는, 상기 로봇이 상기 건물 내 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하고, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2제어 명령을 생성하며, 상기 제1 및 제2 제어 명령에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하여, 상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 것을 특징으로 한다.A building in which a robot controlled by a cloud server according to the present invention runs includes a communication unit that receives a first control command related to the running of the robot from the cloud server and transmits it to the robot, and the cloud server includes, While the robot is traveling in a space within the building, sensing of the space is performed, and based on information related to an obstacle located in the space among the sensing information sensed by the robot, a system related to avoidance of the obstacle is generated. Generates two control commands, generates an avoidance control command for the obstacle based on the first and second control commands, and controls the robot to move according to the avoidance control command. .

본 발명에 따르면 로봇이 주행 중 돌발 상황(예를 들어, 갑작스럽게 장애물이 나타나는 경우)이 발생하는 경우, 서버로부터 미리 수신된 돌발 상황이 고려되지 않은 제어 명령 및 로봇에서 감지된 장애물을 회피하기 위한 제어 명령을 모두 고려하는 방법을 제안함으로써, 로봇에서 다양한 돌발상황에 따른 장애 이벤트를 회피할 수 있도록 한다. 이때, 본 발명은 장애물에 대한 대처 가능 시간을 고려하여 서버에서 생성된 제어 명령 및 로봇에서 생성된 제어 명령의 가중치를 다르게 설정할 수 있다. 이를 통해, 본 발명에 의해 제어되는 로봇은 장애물에 대한 대처시간이 충분하지 않은 경우, 장애물에 대한 빠른 회피를 최우선으로 하고, 장애물에 대한 대처시간이 충분한 경우, 기 설정된 주행 경로에서 벗어나는 것을 최소화 하면서 장애물에 대처할 수 있도록 함으로써, 로봇의 상황에 맞는 적절한 대처가 가능하다.According to the present invention, when an unexpected situation (for example, an obstacle suddenly appears) occurs while the robot is running, a control command received in advance from the server that does not take into account the unexpected situation and a command to avoid the obstacle detected by the robot are provided. By proposing a method that considers all control commands, the robot can avoid failure events due to various unexpected situations. At this time, the present invention can set the weights of the control command generated by the server and the control command generated by the robot differently in consideration of the time available to deal with the obstacle. Through this, the robot controlled by the present invention prioritizes quick avoidance of obstacles when there is not enough time to deal with obstacles, and when there is enough time to deal with obstacles, it minimizes deviation from the preset driving path. By allowing the robot to cope with obstacles, it is possible to respond appropriately to the robot's situation.

또한, 본 발명은 로봇이 갑작스럽게 나타난 장애물 회피 후, 로봇의 목적지까지의 기존 주행 경로로 복귀할 수 있도록 하는 짧은 복귀 경로만을 생성함으로써, 로봇이 장애물을 회피할 때마다 목적지까지의 새로운 주행 경로를 생성하지 않도록 한다. 이를 통해, 본 발명은 서버의 연산 자원이 불필요하게 소모되는 것을 방지할 수 있다.In addition, the present invention generates only a short return path that allows the robot to return to the existing driving path to the robot's destination after avoiding a suddenly appearing obstacle, thereby creating a new driving path to the destination each time the robot avoids an obstacle. Avoid creating it. Through this, the present invention can prevent the server's computational resources from being consumed unnecessarily.

나아가, 본 발명에 따른 로봇 친화형 건물은 로봇, 자율주행, AI, 클라우드 기술이 융합되고, 연결되는 테크 컨버전스(Technological Convergence)를 이용하며, 이러한 기술과, 로봇 그리고 건물내 구비되는 설비 인프라가 유기적으로 결합되는 새로운 공간을 제공할 수 있다.Furthermore, the robot-friendly building according to the present invention uses technological convergence where robots, autonomous driving, AI, and cloud technologies are converged and connected, and these technologies, robots, and facility infrastructure provided in the building are organically connected. It can provide a new space that combines.

나아가, 본 발명에 따른 로봇 친화형 건물은 다수의 로봇과 연동하는 클라우드 서버를 이용하여, 다수의 로봇 및 설비 인프라를 유기적으로 제어함으로써, 보다 체계적으로 서비스를 제공하는 로봇의 주행을 체계적으로 관리할 수 있다. 이를 통해, 본 발명에 따른 로봇 친화형 건물은, 보다 안전하고, 신속하게, 그리고 정확하게 사람들에게 다양한 서비스를 제공할 수 있다.Furthermore, the robot-friendly building according to the present invention uses a cloud server that interfaces with multiple robots to organically control multiple robots and facility infrastructure, thereby systematically managing the running of robots that provide services more systematically. You can. Through this, the robot-friendly building according to the present invention can provide various services to people more safely, quickly, and accurately.

나아가, 본 발명에 따른 건물에 적용된 로봇은 클라우드 서버에 의해 제어되는 브레인리스(brainless) 형식으로 구현될 수 있으며, 이에 의하면, 건물에 배치되는 다수의 로봇을 값비싼 센서 없이 저렴하게 제조할 수 있을 뿐만 아니라, 고성능/고정밀로 제어할 수 있다.Furthermore, the robot applied to the building according to the present invention can be implemented in a brainless format controlled by a cloud server, and according to this, multiple robots placed in the building can be manufactured inexpensively without expensive sensors. In addition, it can be controlled with high performance/high precision.

나아가, 본 발명에 따른 건물에서는 건물에 배치된 다수의 로봇에 할당된 임무와 이동 상황을 고려함은 물론, 사람을 배려하도록 주행이 제어됨으로써, 같은 공간 속에서 자연스럽게 로봇과 사람이 공존 할 수 있다.Furthermore, in the building according to the present invention, the tasks and movement situations assigned to the multiple robots placed in the building are taken into consideration as well as the running is controlled to take people into consideration, allowing robots and people to naturally coexist in the same space.

나아가, 본 발명에 따른 건물에서는 로봇에 의한 사고 방지 및 예기치 못한 상황에 대응할 수 있도록 다양한 제어를 수행함으로써, 사람들에게 로봇이 위험한 것이 아닌, 친근하고 안전하다는 인식을 심어줄 수 있다.Furthermore, the building according to the present invention can perform various controls to prevent accidents caused by robots and respond to unexpected situations, thereby instilling in people the perception that robots are friendly and safe, rather than dangerous.

도 1, 도 2 및 도 3은 본 발명에 따른 로봇 친화형 건물을 설명하기 위한 개념도들이다.
도 4, 도 5 및 도 6은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇 및 로봇 친화형 건물에 구비된 다양한 설비를 제어하는 시스템을 설명하기 위한 개념도들이다.
도 7 및 도 8은 본 발명에 따른 로봇 친화형 건물에 구비된 설비 인프라를 설명하기 위한 개념도들이다.
도 9 내지 도 11은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇의 위치를 추정하는 방법을 설명하기 위한 개념도들이다.
도 12는 본 발명에 따른 로봇 시스템에 포함된 로봇을 설명하기 위한 개념도이다.
도 13은 본 발명에 따른 로봇 제어 방법을 설명하기 위한 흐름도이다.
도 14 및 15는 본 발명에 따른 로봇 제어 방법을 나타내는 개념도이다.
도 16은 서버에 의해 수정된 제어 명령과 로봇 내에서 생성된 제어 명령을 활용하여 장애물을 회피하는 일 실시 예를 나타내는 개념도이다.
도 17은 서버에 의해 수정된 제어 명령과 로봇 내에서 생성된 제어 명령 중 어느 하나을 선택하여 장애물을 회피하는 일 실시 예를 나타내는 개념도이다.
도 18은 로봇이 장애 이벤트를 회피한 후 기존 경로로 복귀하는 모습을 나타내는 개념도이다.
도 19는 장애물을 추적하여 로봇 주행 경로에 반영하는 실시 예를 나타내는 개념도이다.
Figures 1, 2, and 3 are conceptual diagrams for explaining a robot-friendly building according to the present invention.
Figures 4, 5, and 6 are conceptual diagrams illustrating a system for controlling a robot traveling in a robot-friendly building and various facilities provided in the robot-friendly building according to the present invention.
Figures 7 and 8 are conceptual diagrams for explaining the facility infrastructure provided in a robot-friendly building according to the present invention.
9 to 11 are conceptual diagrams for explaining a method of estimating the position of a robot traveling in a robot-friendly building according to the present invention.
Figure 12 is a conceptual diagram for explaining the robot included in the robot system according to the present invention.
Figure 13 is a flowchart for explaining the robot control method according to the present invention.
14 and 15 are conceptual diagrams showing a robot control method according to the present invention.
Figure 16 is a conceptual diagram showing an embodiment of avoiding obstacles using control commands modified by the server and control commands generated within the robot.
Figure 17 is a conceptual diagram showing an embodiment of avoiding an obstacle by selecting one of a control command modified by the server and a control command generated within the robot.
Figure 18 is a conceptual diagram showing a robot returning to an existing path after avoiding an error event.
Figure 19 is a conceptual diagram showing an embodiment in which obstacles are tracked and reflected in the robot travel path.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings. However, identical or similar components will be assigned the same reference numbers regardless of drawing symbols, and duplicate descriptions thereof will be omitted. The suffixes “module” and “part” for components used in the following description are given or used interchangeably only for the ease of preparing the specification, and do not have distinct meanings or roles in themselves. Additionally, in describing the embodiments disclosed in this specification, if it is determined that detailed descriptions of related known technologies may obscure the gist of the embodiments disclosed in this specification, the detailed descriptions will be omitted. In addition, the attached drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the attached drawings, and all changes included in the spirit and technical scope of the present invention are not limited. , should be understood to include equivalents or substitutes.

제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms containing ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Singular expressions include plural expressions unless the context clearly dictates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

본 발명은 로봇 친화형 건물에 관한 것으로서, 사람과 로봇이 안전하게 공존하고, 나아가 건물 내에서 로봇이 유익한 서비스를 제공할 수 있는 로봇 친화형 건물을 제안한다. The present invention relates to a robot-friendly building, and proposes a robot-friendly building where people and robots can coexist safely and where robots can provide useful services within the building.

보다 구체적으로, 본 발명은 로봇, 로봇 친화 인프라 및 이를 제어하는 다양한 시스템을 이용하여, 사람에게 유용한 서비스를 제공하는 방법을 제공한다. 본 발명에 따른 건물에서는 사람과 다수의 로봇이 공존할 수 있으며, 다수의 로봇이 건물 내에서 자유롭게 이동할 수 있는 다양한 인프라(또는 설비 인프라)가 제공될 수 있다. More specifically, the present invention provides a method of providing useful services to people using robots, robot-friendly infrastructure, and various systems that control them. In the building according to the present invention, people and multiple robots can coexist, and various infrastructures (or facility infrastructure) can be provided that allow multiple robots to move freely within the building.

본 발명에서, 건물은 지속적인 거주, 생활, 업무 등을 위하여 만들어진 구조물로서, 상업용 건물, 산업용 건물, 기관용 건물, 거주용 건물 등과 같이 다양한 형태를 가질 수 있다. 또한, 상기 건물은 복수의 층을 가진 다층 건물과 이에 반대되는 단층 건물이 될 수 있다. 다만, 본 발명에서는 설명의 편의상 다층 건물에 적용되는 인프라 또는 설비 인프라를 예시로서 설명한다.In the present invention, a building is a structure created for continuous residence, living, work, etc., and may have various forms such as commercial buildings, industrial buildings, institutional buildings, residential buildings, etc. Additionally, the building may be a multi-story building with multiple floors and, oppositely, a single-story building. However, in the present invention, for convenience of explanation, infrastructure or facility infrastructure applied to a multi-story building is explained as an example.

본 발명에서, 인프라 또는 설비 인프라는, 서비스 제공, 로봇의 이동, 기능 유지, 청결 유지 등을 위하여 건물에 구비되는 시설로서, 그 종류 및 형태는 매우 다양할 수 있다. 예를 들어, 건물에 구비되는 인프라는 이동 설비(예를 들어, 로봇 이동 통로, 엘리베이터, 에스컬레이터 등), 충전 설비, 통신 설비, 세척 설비, 구조물(예를 들어, 계단 등) 등과 같이 다양할 수 있다. 본 명세서에서는 이러한 설비들은 시설, 인프라, 시설 인프라 또는 설비 인프라로 명명하도록 하며, 경우에 따라 용어를 혼용하여 사용하도록 한다.In the present invention, infrastructure or facility infrastructure is a facility provided in a building for the purpose of providing services, moving robots, maintaining functions, maintaining cleanliness, etc., and its types and forms can be very diverse. For example, the infrastructure provided in a building can be diverse, such as mobile facilities (e.g., robot passageways, elevators, escalators, etc.), charging facilities, communication facilities, cleaning facilities, and structures (e.g., stairs, etc.). there is. In this specification, these facilities are referred to as facilities, infrastructure, facility infrastructure, or facility infrastructure, and in some cases, the terms are used interchangeably.

나아가, 본 발명에 따른 건물에서는 건물, 건물에 구비된 다양한 설비 인프라 및 로봇 중 적어도 하나가 서로 연동하여 제어됨으로써, 로봇이 안전하고, 정확하게 건물 내에서 다양한 서비스를 제공하도록 이루어질 수 있다. Furthermore, in the building according to the present invention, at least one of the building, various facility infrastructures, and robots provided in the building are controlled in conjunction with each other, so that the robot can safely and accurately provide various services within the building.

본 발명은 다수의 로봇이 건물 내에서 주행하고, 임무(또는 업무)에 따른 서비스를 제공하며, 필요에 따라 대기 또는 충전 기능, 나아가 로봇에 대한 수리 및 세척 기능을 지원할 수 있는 다양한 설비 인프라가 구비된 건물을 제안한다. 이러한 건물은 로봇에 대한 통합 솔루션(또는 시스템)을 제공하며, 본 발명에 따른 건물은 다양한 수식어로서 명명될 수 있다. 예를 들어, 본 발명에 따른 건물은, i)로봇이 이용하는 인프라를 구비하는 건물, ii)로봇 친화 인프라를 구비하는 건물, iii)로봇 친화형 건물, iv) 로봇과 사람이 함께 생활하는 건물, v)로봇을 이용한 다양한 서비스를 제공하는 건물과 등과 같이, 다양하게 표현될 수 있다.The present invention allows multiple robots to run within a building, provide services according to missions (or tasks), and is equipped with various facility infrastructures that can support standby or charging functions, as well as repair and cleaning functions for robots, as needed. We propose a building that is These buildings provide an integrated solution (or system) for robots, and the buildings according to the present invention may be named with various modifiers. For example, the building according to the present invention includes: i) a building equipped with infrastructure used by robots, ii) a building equipped with robot-friendly infrastructure, iii) a robot-friendly building, iv) a building where robots and people live together, v) It can be expressed in various ways, such as a building that provides various services using robots.

한편, 본 발명에서 “로봇 친화”의 의미는, 로봇이 공존하는 건물에 대한 것으로서, 보다 구체적으로, 로봇의 주행을 허용하거나, 로봇이 서비스를 제공하거나, 로봇이 이용 가능한 설비 인프라가 구축되어 있거나, 로봇에게 필요한 기능(ex: 충전, 수리, 세척 등)을 제공하는 설비 인프라가 구축되어 있음을 의미할 수 있다. 이 경우에, 본 발명에서 “로봇 친화”는 로봇과 사람의 공존을 위한 통합 솔루션을 가지고 있다는 의미로 사용될 수 있다.Meanwhile, in the present invention, the meaning of “robot-friendly” refers to a building where robots coexist, and more specifically, whether robots are allowed to drive, robots provide services, or facility infrastructure that robots can use is built. , This may mean that facility infrastructure that provides necessary functions for robots (ex: charging, repair, cleaning, etc.) has been established. In this case, in the present invention, “robot-friendly” can be used to mean having an integrated solution for the coexistence of robots and people.

이하에서는 첨부된 도면과 함께, 본 발명에 대해 보다 구체적으로 살펴본다.Hereinafter, the present invention will be looked at in more detail along with the attached drawings.

도 1, 도 2 및 도 3은 본 발명에 따른 로봇 친화형 건물을 설명하기 위한 개념도들이고, 도 4, 도 5 및 도 6은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇 및 로봇 친화형 건물에 구비된 다양한 설비를 제어하는 시스템을 설명하기 위한 개념도들이다. 나아가, 도 7 및 도 8은 본 발명에 따른 로봇 친화형 건물에 구비된 설비 인프라를 설명하기 위한 개념도들이다.Figures 1, 2, and 3 are conceptual diagrams for explaining a robot-friendly building according to the present invention, and Figures 4, 5, and 6 show a robot driving a robot-friendly building and a robot-friendly building according to the present invention. These are conceptual diagrams to explain the system that controls the various facilities provided in. Furthermore, Figures 7 and 8 are conceptual diagrams for explaining the facility infrastructure provided in a robot-friendly building according to the present invention.

먼저, 설명의 편의를 위하여, 대표적인 도면 부호를 정의하기로 한다.First, for convenience of explanation, representative reference symbols will be defined.

본 발명에서, 건물은 도면 부호 “1000”을 부여하며, 건물(1000)의 공간(실내 공간 또는 실내 영역)은 도면 부호 “10”을 부여한다(도 8 참조). 나아가, 건물(1000)의 실내 공간을 구성하는 복수의 층들(floors)에 각각 해당하는 실내 공간은 도면 부호 10a, 10b, 10c등을 부여한다(도 8 참조). 본 발명에서 실내 공간 또는 실내 영역은 건물의 외부와 반대되는 개념으로 외벽에 의하여 보호되는 건물의 내부를 의미하는 것으로서, 공간을 의미하는 것으로 한정되지 않는다.In the present invention, the building is assigned the reference numeral “1000,” and the space (indoor space or indoor area) of the building 1000 is assigned the reference numeral “10” (see FIG. 8). Furthermore, indoor spaces corresponding to a plurality of floors constituting the indoor space of the building 1000 are assigned reference numerals 10a, 10b, 10c, etc. (see FIG. 8). In the present invention, indoor space or indoor area refers to the inside of a building protected by an exterior wall as opposed to the outside of the building, and is not limited to meaning space.

나아가, 본 발명에서 로봇은 도면 부호 “R”을 부여하며, 도면 또는 명세서에서는 로봇에 대하여 도면 부호를 기입하지 않더라도, 모두 로봇(R)으로 이해되어질 수 있다.Furthermore, in the present invention, the robot is given the reference symbol “R,” and even if the robot is not given a reference number in the drawings or specifications, it can all be understood as a robot (R).

나아가, 본 발명에서 사람 또는 인간은 도면 부호 “U”를 부여하며, 사람 또는 인간은 동적인 객체로서 명명이 가능하다. 이때 동적인 객체는 반드시 사람만을 의미하는 것이 아니라, 강아지, 고양이와 같은 동물 또는 다른 적어도 하나의 로봇(예를 들어, 사용자의 개인 로봇, 다른 서비스를 제공하는 로봇 등), 드론, 청소기(예를 들어, 로봇 청소기)와 같이 움직임이 가능한 사물을 포함하는 의미로 받아들여질 수 있다.Furthermore, in the present invention, a person or human being is given the reference symbol “U”, and a person or human being can be named as a dynamic object. At this time, the dynamic object does not necessarily mean only a person, but also an animal such as a dog or cat, or at least one other robot (e.g., the user's personal robot, a robot that provides another service, etc.), a drone, or a vacuum cleaner (e.g. For example, it can be taken to mean including objects that can move, such as a robot vacuum cleaner).

한편, 본 발명에서 설명되는 건물(建物, building, structure, edifice, 1000)은 특별한 종류에 제한을 두지 않으며, 사람이 들어 살거나, 일을 하거나, 동물을 사육하거나, 또는 물건을 넣어 두기 위하여 지은 구조물을 의미할 수 있다.On the other hand, the building (building, structure, edifice, 1000) described in the present invention is not limited to a particular type, and is a structure built for people to live, work, raise animals, or store goods. It can mean.

예를 들어, 건물(1000)은 사무실, 오피스, 오피스텔, 아파트, 주상복합 아파트, 주택, 학교, 병원, 음식점, 관공서 등이 될 수 있으며, 본 발명은 이러한 다양한 종류의 건물들에 적용될 수 있다.For example, the building 1000 may be an office, an officetel, an apartment, a residential-commercial complex, a house, a school, a hospital, a restaurant, a government office, etc., and the present invention can be applied to these various types of buildings.

도 1에 도시된 것과 같이, 본 발명에 따른 건물(1000)에서는 로봇이 주행하며 다양한 서비스를 제공할 수 있다.As shown in FIG. 1, a robot can run in the building 1000 according to the present invention and provide various services.

건물(1000)내에는 하나 또는 그 이상의 서로 다른 종류의 복수의 로봇들이 위치할 수 있으며, 이러한 로봇들은 서버(20)의 제어 하에, 건물(1000) 내를 주행하고, 서비스를 제공하며, 건물(1000)에 구비된 다양한 설비 인프라를 이용할 수 있다.One or more robots of different types may be located in the building 1000, and these robots drive within the building 1000, provide services, and operate the building (1000) under the control of the server 20. You can use the various facility infrastructure provided by 1000).

본 발명에서 서버(20)의 위치는 다양하게 존재할 수 있다. 예를 들어, 서버(20)는 건물(1000)의 내부 및 건물(1000)의 외부 중 적어도 하나에 위치할 수 있다. 즉, 서버(20)의 적어도 일부는 건물(1000)의 내부에 위치하고, 나머지 일부는 건물(1000)의 외부에 위치할 수 있다. 또는, 서버(20)는 건물(1000) 내부에 모두 위치하거나, 건물(1000) 외부에만 위치할 수 있다. 이에, 본 발명에서는, 서버(20)의 구체적인 위치에 대해서는 특별한 한정을 두지 않기로 한다.In the present invention, the location of the server 20 may exist in various ways. For example, the server 20 may be located at least one of the inside of the building 1000 and the outside of the building 1000. That is, at least part of the server 20 may be located inside the building 1000, and the remaining part may be located outside the building 1000. Alternatively, the server 20 may be located entirely inside the building 1000 or may be located only outside the building 1000. Accordingly, in the present invention, no special limitation is placed on the specific location of the server 20.

나아가, 본 발명에서 서버(20)는 클라우드 컴퓨팅(Cloud Computing) 방식의 서버(클라우드 서버, 21) 및 엣지 컴퓨팅(Edge computing) 방식의 서버(엣지 서버, 22) 중 적어도 하나의 방식을 이용하도록 이루어질 수 있다. 나아가, 서버(20)는 클라우드 컴퓨팅 또는 엣지 컴퓨팅 방식 외에도, 로봇을 제어 가능한 방식이기만 하면 본 발명에 적용될 수 있다.Furthermore, in the present invention, the server 20 is configured to use at least one of a cloud computing type server (cloud server, 21) and an edge computing type server (edge server, 22). You can. Furthermore, the server 20 can be applied to the present invention as long as it is a method capable of controlling a robot, in addition to cloud computing or edge computing.

한편, 본 발명에 따른 서버(20)는 경우에 따라, 클라우드 컴퓨팅(Cloud Computing) 방식의 서버(21) 및 엣지 컴퓨팅(Edge computing) 방식을 혼합하여 로봇 및 건물(1000)내 구비된 설비 인프라 중 적어도 하나에 대한 제어를 수행할 수 있다.Meanwhile, in some cases, the server 20 according to the present invention combines the server 21 of the cloud computing method and the edge computing method to use the server 20 among the robots and facility infrastructure provided in the building 1000. Control can be performed on at least one.

한편, 클라우드 서버(21)와 엣지 서버(22)에 대해서 보다 구체적으로 살펴보면, 엣지 서버(22)는 전자 장치로서, 로봇(R)의 브레인(brain)으로 동작할 수 있다. 즉 각각의 엣지 서버(22)는 적어도 하나의 로봇(R)을 무선으로 제어할 수 있다. 이 때 엣지 서버(22)는 정해지는 제어 주기에 기반하여, 로봇(R)을 제어할 수 있다. 제어 주기는 로봇(R)과 관련된 데이터를 처리(processing)하도록 주어지는 시간과 로봇(R)에 제어 명령을 제공하도록 주어지는 시간의 합으로 결정될 수 있다. 클라우드 서버(21)는 로봇(R) 또는 엣지 서버(22) 중 적어도 어느 하나를 관리할 수 있다. 이 때 엣지 서버(22)는 로봇(R)에 대응하여 서버로서 동작하고, 클라우드 서버(21)에 대응하여 클라이언트로 동작할 수 있다. Meanwhile, looking at the cloud server 21 and the edge server 22 in more detail, the edge server 22 is an electronic device and can operate as the brain of the robot R. That is, each edge server 22 can wirelessly control at least one robot R. At this time, the edge server 22 can control the robot R based on a determined control cycle. The control cycle can be determined as the sum of the time given to process data related to the robot R and the time given to provide control commands to the robot R. The cloud server 21 can manage at least one of the robot R or the edge server 22. At this time, the edge server 22 may operate as a server in response to the robot R and may operate as a client in response to the cloud server 21.

로봇(R)과 엣지 서버(22)는 무선으로 통신할 수 있으며, 엣지 서버(22)와 클라우드 서버(21)는 유선 또는 무선으로 통신할 수 있다. 이 때 로봇(R)과 엣지 서버(22)는, 초고신뢰 저지연 통신(ultra-reliable and low latency communications; URLLC)이 가능한 무선 네트워크를 통하여, 통신할 수 있다. 예를 들면, 무선 네트워크는 5G 네트워크 또는 WiFi-6(WiFi ad/ay) 중 적어도 어느 하나를 포함할 수 있다. 여기서, 5G 네트워크는, 초고신뢰 저지연 통신이 가능할 뿐 아니라, 초광대역 이동 통신(enhanced mobile broadband; eMBB) 및 대규모 사물 통신(massive machine type communications; mMTC)이 가능한 특징들을 가질 수 있다. 일 예로, 엣지 서버(22)는 MEC(mobile edge computing, multi-access edge computing) 서버를 포함하며, 기지국에 배치될 수 있다. 이를 통해, 로봇(R)과 엣지 서버(22) 간 통신에 따른 지연(latency) 시간이 단축될 수 있다. 이 때 엣지 서버(22)의 제어 주기에서, 로봇(R)으로 제어 명령을 제공하도록 주어지는 시간이 단축됨에 따라, 데이터를 처리하도록 주어지는 시간이 확대될 수 있다. 한편, 엣지 서버(22)와 클라우드 서버(21)는, 예컨대 인터넷(internet)과 같은 무선 네트워크를 통하여, 통신할 수 있다. The robot (R) and the edge server 22 can communicate wirelessly, and the edge server 22 and the cloud server 21 can communicate by wire or wirelessly. At this time, the robot R and the edge server 22 can communicate through a wireless network capable of ultra-reliable and low latency communications (URLLC). For example, the wireless network may include at least one of a 5G network or WiFi-6 (WiFi ad/ay). Here, the 5G network can have features that not only enable ultra-reliable, low-latency communications, but also enable ultra-broadband mobile communications (enhanced mobile broadband (eMBB)) and massive machine type communications (mMTC). As an example, the edge server 22 includes a mobile edge computing (MEC) server and may be deployed in a base station. Through this, the latency time due to communication between the robot R and the edge server 22 can be shortened. At this time, in the control cycle of the edge server 22, as the time given to provide a control command to the robot R is shortened, the time given to process data may be expanded. Meanwhile, the edge server 22 and the cloud server 21 may communicate, for example, through a wireless network such as the Internet.

한편, 경우에 따라, 복수 개의 엣지 서버들은 무선 메시 네트워크(mesh network)를 통하여 연결될 수 있으며, 클라우드 서버(21)의 기능은 복수 개의 엣지 서버들에 분산될 수 있다. 이러한 경우, 어떤 로봇(R)에 대하여, 엣지 서버들 중 어느 하나가 로봇(R)을 위한 엣지 서버(22)로서 동작하고, 엣지 서버들 중 적어도 다른 하나가 엣지 서버들 중 어느 하나와 협력 하에, 로봇(R)을 위한 클라우드 서버(21)로서 동작할 수 있다. Meanwhile, in some cases, a plurality of edge servers may be connected through a wireless mesh network, and the functions of the cloud server 21 may be distributed to a plurality of edge servers. In this case, for a robot R, one of the edge servers operates as an edge server 22 for the robot R, and at least another one of the edge servers cooperates with one of the edge servers. , It can operate as a cloud server 21 for the robot R.

본 발명에 따른 건물(1000)에 형성되는 네트워크 또는 통신망은 데이터를 수집하도록 구성되는 적어도 하나의 로봇(R), 로봇(R)을 무선으로 제어하도록 구성되는 적어도 하나의 엣지 서버(22), 및 엣지 서버(22)와 연결되고, 로봇(R)과 엣지 서버(22)를 관리하도록 구성되는 클라우드 서버(21) 간의 통신을 포함할 수 있다. The network or communication network formed in the building 1000 according to the present invention includes at least one robot R configured to collect data, at least one edge server 22 configured to wirelessly control the robot R, and It is connected to the edge server 22 and may include communication between the robot R and the cloud server 21 configured to manage the edge server 22.

엣지 서버(22)는, 로봇(R)으로부터 상기 데이터를 무선으로 수신하고, 상기 데이터를 기반으로 제어 명령을 결정하고, 로봇(R)에 상기 제어 명령을 무선으로 전송하도록 구성될 수 있다. The edge server 22 may be configured to wirelessly receive the data from the robot R, determine a control command based on the data, and wirelessly transmit the control command to the robot R.

다양한 실시예들에 따르면, 엣지 서버(22)는, 상기 데이터에 기반하여, 클라우드 서버(21)와 협력할 지의 여부를 판단하고, 클라우드 서버(21)와 협력하지 않아도 되는 것으로 판단되면, 정해진 제어 주기 내에서, 상기 제어 명령을 결정하고 상기 제어 명령을 전송하도록 구성될 수 있다. According to various embodiments, the edge server 22 determines whether to cooperate with the cloud server 21 based on the data, and if it is determined that there is no need to cooperate with the cloud server 21, performs a predetermined control. Within a period, it may be configured to determine the control command and transmit the control command.

다양한 실시예들에 따르면, 엣지 서버(22)는, 클라우드 서버(21)와 협력해야 하는 것으로 판단되면, 상기 데이터를 기반으로 클라우드 서버(21)와 통신하여, 상기 제어 명령을 결정하도록 구성될 수 있다. According to various embodiments, if it is determined that the edge server 22 needs to cooperate with the cloud server 21, it may be configured to communicate with the cloud server 21 based on the data and determine the control command. there is.

한편, 로봇(R)은 제어 명령에 따라 구동될 수 있다. 예를 들면, 로봇(R)은 움직임을 변경함으로써 위치를 이동하거나 자세를 변경할 수 있으며, 소프트웨어 업데이트를 수행할 수 있다.Meanwhile, the robot R can be driven according to control commands. For example, the robot R can move its position or change its posture by changing its movement, and perform software updates.

본 발명에서는, 설명의 편의를 위하여, 서버(20)를 “클라우드 서버”로 통일하여 명명하도록 하며, 도면 부호 “20”을 부여하도록 한다. 한편, 이러한 클라우드 서버(20)는 엣지 컴퓨팅의 엣지 서버(22)의 용어로도 대체될 수 있음은 물론이다.In the present invention, for convenience of explanation, the server 20 is collectively named “cloud server” and is given the reference numeral “20”. Meanwhile, of course, the cloud server 20 can also be replaced by the term edge server 22 of edge computing.

나아가, “클라우드 서버”의 용어는 클라우드 로봇 시스템, 클라우드 시스템, 클라우드 로봇 제어 시스템, 클라우드 제어 시스템 등의 용어로 다양하게 변경될 수 있다.Furthermore, the term “cloud server” can be variously changed to terms such as cloud robot system, cloud system, cloud robot control system, and cloud control system.

한편, 본 발명에 따른 클라우드 서버(20)는 건물(1000)을 주행하는 복수의 로봇에 대한 통합 제어를 수행하는 것이 가능하다. 즉, 클라우드 서버(20)는 건물(1000)내 위치한 i)복수의 로봇(R)에 대한 모니터링을 수행하고, ii)복수의 로봇에 대해 임무(또는 업무)를 할당하며, iii)복수의 로봇(R)이 임무를 성공적으로 수행하도록 건물(1000)내 구비된 설비 인프라를 직접적으로 제어하거나, iv)설비 인프라를 제어하는 제어 시스템과 통신을 통하여 설비 인프라가 제어되도록 할 수 있다.Meanwhile, the cloud server 20 according to the present invention is capable of performing integrated control on a plurality of robots traveling around the building 1000. That is, the cloud server 20 monitors i) a plurality of robots (R) located in the building 1000, ii) assigns tasks (or tasks) to the plurality of robots, and iii) monitors the plurality of robots. (R) To successfully perform this mission, the facility infrastructure provided in the building 1000 can be directly controlled, or iv) the facility infrastructure can be controlled through communication with a control system that controls the facility infrastructure.

나아가, 클라우드 서버(20)는 건물에 위치한 로봇들의 상태 정보를 확인하고, 로봇들에 필요한 다양한 기능을 제공(또는 지원)할 수 있다. 여기에서, 다양한 기능은, 로봇들에 대한 충전 기능, 오염된 로봇에 대한 세척 기능, 임무가 완료된 로봇들에 대한 대기 기능 등이 존재할 수 있다.Furthermore, the cloud server 20 can check the status information of robots located in the building and provide (or support) various functions necessary for the robots. Here, various functions may exist, such as a charging function for robots, a cleaning function for contaminated robots, and a standby function for robots whose missions have been completed.

클라우드 서버(20)는 로봇들에 대해 다양한 기능을 제공하기 위하여, 로봇들이 건물(1000)에 구비된 다양한 설비 인프라를 이용하도록, 로봇들을 제어할 수 있다. 나아가, 클라우드 서버는, 로봇들에 대해 다양한 기능을 제공하기 위하여, 건물(1000)내 구비된 설비 인프라를 직접적으로 제어하거나, 설비 인프라를 제어하는 제어 시스템과 통신을 통하여 설비 인프라가 제어되도록 할 수 있다.The cloud server 20 can control the robots so that they use various facility infrastructure provided in the building 1000 in order to provide various functions to the robots. Furthermore, in order to provide various functions to robots, the cloud server can directly control the facility infrastructure provided in the building 1000 or allow the facility infrastructure to be controlled through communication with a control system that controls the facility infrastructure. there is.

이와 같이, 클라우드 서버(20)에 의해 제어되는 로봇들은 건물(1000)을 주행하며, 다양한 서비스를 제공할 수 있다.In this way, robots controlled by the cloud server 20 can drive around the building 1000 and provide various services.

한편, 클라우드 서버(20)는 데이터베이스에 저장된 정보를 근거로, 다양한 제어를 수행할 수 있으며, 본 발명에서 데이터베이스의 종류 및 위치에는 특별한 한정을 두지 않는다. 이러한 데이터베이스의 용어는 메모리, 저장부, 저장소, 클라우드 저장소, 외부 저장소, 외부 서버 등, 정보가 저장되는 수단을 의미하는 용어이면 자유롭게 변형되어 사용되어질 수 있다. 이하에서는 “데이터베이스”의 용어로 통일하여 설명하도록 한다.Meanwhile, the cloud server 20 can perform various controls based on information stored in the database, and there is no particular limitation on the type and location of the database in the present invention. The term database can be freely modified and used as long as it refers to a means by which information is stored, such as memory, storage unit, repository, cloud storage, external storage, external server, etc. Hereinafter, the explanation will be unified using the term “database.”

한편, 본 발명에 따른 클라우드 서버(20)는 로봇들이 제공하는 서비스의 종류, 로봇에 대한 제어의 종류 등 다양한 기준에 근거하여 로봇에 대한 분산 제어를 수행할 수 있으며, 이 경우, 클라우드 서버(20)에는 하위 개념의 종속적인 서브 서버들이 존재할 수 있다.Meanwhile, the cloud server 20 according to the present invention can perform distributed control of robots based on various criteria such as the type of service provided by the robots and the type of control for the robot. In this case, the cloud server 20 ), there may be subordinate sub servers of lower level concepts.

나아가, 본 발명에 따른 클라우드 서버(20)는 다양한 인공지능 알고리즘에 근거하여, 건물(1000)을 주행하는 로봇을 제어할 수 있다.Furthermore, the cloud server 20 according to the present invention can control a robot traveling around the building 1000 based on various artificial intelligence algorithms.

나아가, 클라우드 서버(20)는 로봇을 제어하는 과정에서 수집되는 데이터들을 학습 데이터로서 활용하는 인공지능 기반의 학습을 수행하고, 이를 로봇의 제어에 활용함으로써, 로봇에 대한 제어가 이루어질수록 로봇을 보다 정확하고, 효율적으로 운용할 수 있다. 즉, 클라우드 서버(20)는 딥러닝 또는 머신 러닝을 수행하도록 이루어질 수 있다. 또한, 클라우드 서버(20)는 시뮬레이션 등을 통하여 딥러닝 또는 머신 러닝을 수행하고, 그 결과로서 구축된 인공지능 모델을 이용하여 로봇에 대한 제어를 수행할 수 있다.Furthermore, the cloud server 20 performs artificial intelligence-based learning that utilizes the data collected in the process of controlling the robot as learning data, and uses this to control the robot, so that the more the robot is controlled, the more the robot becomes better. It can be operated accurately and efficiently. That is, the cloud server 20 can be configured to perform deep learning or machine learning. In addition, the cloud server 20 can perform deep learning or machine learning through simulation, etc., and control the robot using the artificial intelligence model built as a result.

한편, 건물(1000)에는 로봇의 주행, 로봇의 기능 제공, 로봇의 기능 유지, 로봇의 임무 수행 또는 로봇과 사람의 공존을 위하여 다양한 설비 인프라가 구비될 수 있다. Meanwhile, the building 1000 may be equipped with various facility infrastructure for driving the robot, providing robot functions, maintaining robot functions, performing robot missions, or coexisting between robots and people.

예를 들어, 도 1의 (a)에 도시된 것과 같이, 건물(1000) 내에는 로봇(R)의 주행(또는 이동)을 지원할 수 있는 다양한 설비 인프라(1, 2)가 구비될 수 있다. 이러한 설비 인프라(1, 2)는 건물(1000)의 층 내에서 로봇(R)의 수평 방향으로의 이동을 지원하거나, 건물(1000)의 서로 다른 층 사이를 로봇(R)이 이동하도록 수직 방향으로의 이동을 지원할 수 있다. 이와 같이, 상기 설비 인프라(1, 2)는 로봇의 이동을 지원하는 운송체계를 구비할 수 있다. 클라우드 서버(20)는 이러한 다양한 설비 인프라(1, 2)를 이용하도록 로봇(R)을 제어하여, 도 1의 (b)에 도시된 것과 같이, 로봇(R)이 서비스를 제공하기 위하여 건물(1000) 내를 이동하도록 할 수 있다.For example, as shown in (a) of FIG. 1, various facility infrastructures 1 and 2 that can support the driving (or movement) of the robot R may be provided within the building 1000. These facility infrastructures (1, 2) support the horizontal movement of the robot (R) within the floors of the building (1000) or the vertical direction to allow the robot (R) to move between different floors of the building (1000). Can support movement to . In this way, the facility infrastructure 1, 2 may be equipped with a transportation system that supports the movement of the robot. The cloud server 20 controls the robot R to use these various facility infrastructures 1 and 2, so that the robot R operates in a building (R) to provide services, as shown in (b) of FIG. 1. 1000) can be moved within.

한편, 본 발명에 따른 로봇들은 클라우드 서버(20) 및 로봇 자체에 구비된 제어부 중 적어도 하나에 근거하여 제어되어, 건물(1000) 내를 주행하거나, 부여된 임무에 해당하는 서비스를 제공하도록 이루어질 수 있다.Meanwhile, the robots according to the present invention can be controlled based on at least one of the cloud server 20 and the control unit provided in the robot itself to run within the building 1000 or provide services corresponding to the assigned mission. there is.

나아가, 도 1의 (c)에 도시된 것과 같이, 본 발명에 따른 건물은 로봇과 사람들이 공존하는 건물로서, 로봇들은 사람(U), 사람이 사용하는 물건(예를 들어 유모차, 카트 등), 동물과 같은 장애물을 피하여 주행하도록 이루어지며, 경우에 따라 로봇의 주행과 관련된 알림 정보(3)를 출력하도록 이루어질 수 있다. 이러한 로봇의 주행은 클라우드 서버(20) 및 로봇에 구비된 제어부 중 적어도 하나의 근거 하에 장애물을 피하도록 이루어질 수 있다. 클라우드 서버(20)는 로봇에 구비된 다양한 센서(예를 들어, 카메라(이미지 센서), 근접 센서, 적외선 센서 등)를 통해 수신되는 정보에 근거하여, 로봇이 장애물을 피하여 건물(1000) 내를 이동하도록 로봇에 대한 제어를 수행할 수 있다.Furthermore, as shown in (c) of Figure 1, the building according to the present invention is a building where robots and people coexist, and the robots are people (U) and objects used by people (e.g., strollers, carts, etc.) , it is made to drive while avoiding obstacles such as animals, and in some cases, it can be made to output notification information (3) related to the robot's driving. The robot may be driven to avoid obstacles based on at least one of the cloud server 20 and the control unit provided in the robot. The cloud server 20 allows the robot to avoid obstacles and navigate within the building 1000 based on information received through various sensors (e.g., cameras (image sensors), proximity sensors, infrared sensors, etc.) provided in the robot. You can control the robot to move.

또한, 도 1의 (a) 내지 (c)의 과정을 거쳐 건물 내를 주행하는 로봇은, 도 1의 (d)에 도시된 것과 같이, 건물 내에 존재하는 사람 또는 타겟 객체에게 서비스를 제공하도록 이루어질 수 있다. In addition, the robot that runs inside the building through the process of (a) to (c) of FIG. 1 is configured to provide services to people or target objects present in the building, as shown in (d) of FIG. 1. You can.

로봇이 제공하는 서비스의 종류는, 로봇 마다 상이할 수 있다. 즉, 로봇은 용도에 따라 다양한 종류가 존재할 수 있으며, 로봇은 용도 마다 상이한 구조를 가지고, 로봇에는 용도에 적합한 프로그램이 탑재될 수 있다.The types of services provided by robots may be different for each robot. In other words, there may be various types of robots depending on the purpose, the robots have different structures for each purpose, and the robots may be equipped with programs suitable for the purpose.

예를 들어, 건물(1000)에는 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.For example, building 1000 includes delivery, logistics work, guidance, interpretation, parking assistance, security, crime prevention, security, public order, cleaning, quarantine, disinfection, laundry, beverage production, food production, serving, fire suppression, and medical support. and robots that provide at least one service among entertainment services may be deployed. The services provided by robots can vary beyond the examples listed above.

한편, 클라우드 서버(20)는 로봇들 각각의 용도를 고려하여, 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다.Meanwhile, the cloud server 20 can assign appropriate tasks to the robots, taking into account the purposes of each robot, and control the robots so that the assigned tasks are performed.

본 발명에서 설명되는 로봇들 중 적어도 일부는 클라우드 서버(20)의 제어 하에 주행하거나, 임무를 수행할 수 있으며, 이 경우, 로봇 자체에서 주행 또는 임무를 수행하기 위하여 처리되는 데이터의 양은 최소화될 수 있다. 본 발명에서는 이러한 로봇을 브레인리스(brainless) 로봇이라고 명명할 수 있다. 이러한 브레인리스 로봇은, 건물(1000) 내에서 주행, 임무 수행, 충전 수행, 대기, 세척 등의 행위를 하는데 있어서, 적어도 일부의 제어를 클라우드 서버(20)의 제어에 의존할 수 있다.At least some of the robots described in the present invention can drive or perform missions under the control of the cloud server 20, and in this case, the amount of data processed by the robot itself to drive or perform missions can be minimized. there is. In the present invention, such a robot can be called a brainless robot. Such a brainless robot may rely on the control of the cloud server 20 for at least some control when performing activities such as driving, performing missions, performing charging, waiting, and washing within the building 1000.

다만, 본 명세서에서는 브레인리스 로봇을 구분하여 명명하지 않고, 모두 “로봇”으로 통일하여 명명하도록 한다.However, in this specification, brainless robots are not named separately, but are all collectively named “robots.”

앞서 설명한 것과 같이, 본 발명에 따른 건물(1000)은 로봇이 이용 가능한 다양한 설비 인프라가 구비될 수 있으며, 도 2, 도 3 및 도 4에 도시된 것과 같이, 설비 인프라는 건물(1000)내에 배치되어, 건물(1000) 및 클라우드 서버(20)와의 연동을 통해, 로봇의 이동(또는 주행)을 지원하거나, 로봇에게 다양한 기능을 제공할 수 있다.As described above, the building 1000 according to the present invention may be equipped with various facility infrastructures that robots can use, and as shown in FIGS. 2, 3, and 4, the facility infrastructure is placed within the building 1000. By linking with the building 1000 and the cloud server 20, it is possible to support the movement (or driving) of the robot or provide various functions to the robot.

보다 구체적으로, 설비 인프라는 건물 내에서 로봇의 이동을 지원하기 위한 설비들을 포함할 수 있다.More specifically, facility infrastructure may include facilities to support the movement of robots within a building.

로봇의 이동을 지원하는 설비들은, 로봇이 전용으로 사용하는 로봇 전용 설비 및 사람과 공동으로 사용하는 공용 설비 중 어느 하나의 타입을 가질 수 있다.Facilities that support the movement of the robot may be of either type: robot-specific facilities used exclusively by the robot and public facilities jointly used by humans.

나아가, 로봇의 이동을 지원하는 설비들은 로봇의 수평 방향으로의 이동을 지원하거나, 로봇의 수직 방향으로의 이동을 지원할 수 있다. 로봇들은 건물(1000)내에서 설비들을 이용하여, 수평 또는 수직 방향으로 이동할 수 있다. 수평 방향으로의 이동은, 동일 층 내에서의 이동을 의미하며, 수직 방향으로의 이동은 서로 다른 층간 사이를 이동하는 것을 의미할 수 있다. 따라서 본 발명에서는 동일 층 내에서 상하로 이동하는 것은 수평 방향의 이동으로 지칭할 수 있다.Furthermore, facilities that support the movement of the robot may support the movement of the robot in the horizontal direction or may support the movement of the robot in the vertical direction. Robots can move horizontally or vertically using facilities within the building 1000. Movement in the horizontal direction may mean movement within the same floor, and movement in the vertical direction may mean movement between different floors. Therefore, in the present invention, moving up and down within the same floor can be referred to as horizontal movement.

로봇의 이동을 지원하는 설비들은 다양할 수 있으며, 예를 들어, 도 2 및 도 3에 도시된 것과 같이, 건물(1000)에는 로봇의 수평 방향으로의 이동을 지원하는 로봇 통로(로봇 도로, 201, 202, 203)가 구비될 수 있다. 이러한 로봇 통로는, 로봇이 전용으로 이용하는 로봇 전용 통로를 포함할 수 있다. 한편, 로봇 전용 통로는 사람의 접근이 원천적으로 차단되도록 이루어지는 것이 가능하나, 반드시 이에 한정되지 않을 수 있다. 즉, 로봇 전용 통로는 사람이 통행하거나, 접근할 수 있는 구조로 이루어질 수 있다.Facilities that support the movement of the robot may vary. For example, as shown in FIGS. 2 and 3, the building 1000 is equipped with a robot passageway (robot road, 201) that supports the movement of the robot in the horizontal direction. , 202, 203) may be provided. These robot passages may include a robot-only passage exclusively used by the robot. Meanwhile, it is possible to create a robot-only passageway so that human access is fundamentally blocked, but it may not necessarily be limited to this. In other words, the robot-only passage may be structured so that people can pass through or access it.

한편, 도 3에 도시된 것과 같이, 로봇 전용 통로는 제1 전용 통로(또는 제1 타입 통로, 201) 및 제2 전용 통로(또는 제2 타입 통로, 202) 중 적어도 하나로 이루어질 수 있다. 제1 전용 통로 및 제2 전용 통로(201, 202)는 동일 층에 함께 구비되거나, 서로 다른 층에 구비될 수 있다.Meanwhile, as shown in FIG. 3, the robot-only passage may be comprised of at least one of a first dedicated passage (or first type passage, 201) and a second dedicated passage (or second type passage, 202). The first dedicated passage and the second dedicated passage 201 and 202 may be provided together on the same floor or may be provided on different floors.

또 다른 예로서, 도 2 및 도 3에 도시된 것과 같이, 건물(1000)에는 로봇의 수직 방향으로의 이동을 지원하는 이동 수단(204, 205)이 구비될 수 있다. 이러한 이동 수단(204, 205)은 엘리베이터(elevator) 또는 에스컬레이터(escalator) 중 적어도 하나를 포함할 수 있다. 로봇은 건물(1000)에 구비된 엘리베이터(204) 또는 에스컬레이터(205)를 이용하여, 서로 다른 층 사이를 이동할 수 있다.As another example, as shown in FIGS. 2 and 3, the building 1000 may be equipped with movement means 204 and 205 that support the robot's movement in the vertical direction. These transportation means 204 and 205 may include at least one of an elevator or an escalator. The robot can move between different floors using the elevator 204 or escalator 205 provided in the building 1000.

한편, 이러한 엘리베이터(204) 또는 에스컬레이터(205)는 로봇 전용으로 이루어지거나, 사람과 함께 이용하는 공용으로 이루어질 수 있다.Meanwhile, the elevator 204 or escalator 205 may be used exclusively for robots or may be used jointly with people.

예를 들어, 건물(1000)에는 로봇 전용 엘리베이터 또는 공용 엘리베이터 중 적어도 하나가 포함될 수 있다. 마찬가지로, 나아가, 건물(1000)에는 로봇 전용 에스컬레이터 또는 공용 에스컬레이터 중 적어도 하나가 포함될 수 있다. For example, the building 1000 may include at least one of a robot-only elevator or a public elevator. Likewise, the building 1000 may include at least one of a robot-only escalator or a public escalator.

한편, 건물(1000)은 수직 방향 이동과 수평 방향 이동에 모두 활용될 수 있는 형태의 이동 수단이 구비될 수 있다. 예를 들어, 무빙워크(moving walkway) 형태의 이동 수단이 로봇에게 층 내에서 수평 방향 이동을 지원하거나, 층 간에서 수직 방향 이동을 지원할 수 있다.Meanwhile, the building 1000 may be equipped with a type of movement means that can be used for both vertical and horizontal movement. For example, a means of movement in the form of a moving walkway may support robots in horizontal movement within a floor or vertical movement between floors.

로봇은 자체적인 제어 또는 클라우드 서버(20)에 의한 제어 하에, 수평 방향 또는 수직 방향으로 건물(1000) 내를 이동할 수 있으며, 이때, 로봇의 이동을 지원하는 다양한 설비를 이용하여, 건물(1000) 내를 이동할 수 있다.The robot can move within the building 1000 in the horizontal or vertical direction under its own control or under the control of the cloud server 20. At this time, the robot can move within the building 1000 using various facilities that support the movement of the robot. I can move around.

나아가, 건물(1000)에는 건물(1000) 또는 건물(1000)내 특정 영역으로의 출입을 제어하는 출입문(206, 또는 자동문) 및 출입 통제 게이트(gate, 207) 중 적어도 하나를 포함할 수 있다. 출입문(206) 및 출입 통제 게이트(207) 중 적어도 하나는 로봇이 이용 가능하도록 이루어질 수 있다. 로봇은 클라우드 서버(20)의 제어 하에 출입문(또는 자동문, 206) 또는 출입 통제 게이트(207)를 통과하도록 이루어질 수 있다.Furthermore, the building 1000 may include at least one of an access door 206 (or automatic door) and an access control gate 207 that control access to the building 1000 or a specific area within the building 1000. At least one of the access door 206 and the access control gate 207 may be made available to the robot. The robot can be made to pass through an access door (or automatic door, 206) or an access control gate 207 under the control of the cloud server 20.

한편, 출입 통제 게이트(207)는 다양하게 명명될 수 있으며, 스피드 게이트(speed gate)등으로 명명될 수 있다.Meanwhile, the access control gate 207 may be named in various ways, such as a speed gate.

나아가, 건물(1000)에는, 로봇이 대기하는 대기 공간에 해당하는 대기 공간 설비(208), 로봇의 충전을 위한 충전 설비(209), 로봇의 세척을 위한 세척 설비(210)가 더 포함될 수 있다.Furthermore, the building 1000 may further include a waiting space facility 208 corresponding to a waiting space where the robot waits, a charging facility 209 for charging the robot, and a washing facility 210 for cleaning the robot. .

나아가, 건물(1000)에는 로봇이 제공하는 특정 서비스에 특화된 설비(211)가 포함될 수 있으며, 예를 들어 배송 서비스를 위한 설비가 포함될 수 있다.Furthermore, the building 1000 may include facilities 211 specialized for specific services provided by robots, for example, facilities for delivery services.

또한, 건물(1000)에는 로봇을 모니터링하기 위한 설비가 포함될 수 있으며(도면부호 212 참조), 이러한 설비의 예로는 다양한 센서들(예를 들어, 카메라(또는 이미지 센서, 121)가 존재할 수 있다.Additionally, the building 1000 may include equipment for monitoring robots (see reference numeral 212), and examples of such equipment may include various sensors (eg, cameras (or image sensors) 121).

도 2 및 도 3과 함께 살펴본 것과 같이, 본 발명에 따른 건물(1000)에는 서비스 제공, 로봇의 이동, 주행, 기능 유지, 청결 유지 등을 위한 다양한 설비들이 구비될 수 있다.As seen with FIGS. 2 and 3, the building 1000 according to the present invention may be equipped with various facilities for service provision, robot movement, driving, function maintenance, cleanliness, etc.

한편, 도 4에 도시된 것과 같이, 본 발명에 따른 건물(1000)은 클라우드 서버(20), 로봇(R), 설비 인프라(200)와 상호 연결되어, 건물(1000) 내에서 로봇들이 다양한 서비스를 제공함은 물론, 이를 위하여 설비들을 적절하게 이용하도록 할 수 있다.Meanwhile, as shown in FIG. 4, the building 1000 according to the present invention is interconnected with the cloud server 20, the robot (R), and the facility infrastructure 200, so that the robots within the building 1000 provide various services. Not only can it be provided, but facilities can be used appropriately for this purpose.

여기에서, “상호 연결”된다고 함은, 건물 내에서 제공되는 서비스, 로봇의 이동, 주행, 기능 유지, 청결 유지 등과 관련된 다양한 데이터, 제어명령이 네트워크(또는 통신망)을 통하여 적어도 하나의 주체에서 다른 적어도 하나의 주체로 단방향 또는 쌍방향으로 송수신되는 것을 의미할 수 있다.Here, “interconnected” means that various data and control commands related to services provided within the building, robot movement, driving, function maintenance, cleanliness, etc. are transmitted from at least one subject to another through a network (or communication network). It may mean unidirectional or bidirectional transmission and reception with at least one subject.

여기에서, 주체는, 건물(1000), 클라우드 서버(20), 로봇(R), 설비 인프라(200) 등이 될 수 있다.Here, the subject may be a building 1000, a cloud server 20, a robot (R), facility infrastructure 200, etc.

나아가, 설비 인프라(200)는 도 2 및 도 3과 함께 살펴본 다양한 설비들(도면부호 201 내지 213 참조) 각각 및 이들을 제어하는 제어 시스템(201a, 202a, 203a, 204a, …) 중 적어도 하나를 포함할 수 있다.Furthermore, the facility infrastructure 200 includes at least one of the various facilities (see reference numerals 201 to 213) shown in FIGS. 2 and 3 and control systems (201a, 202a, 203a, 204a, ...) that control them. can do.

건물(1000)을 주행하는 로봇(R)은 네트워크(40)를 통하여, 클라우드 서버(20)와 통신하도록 이루어지며, 클라우드 서버(20)와의 제어 하에 건물(1000) 내에서 서비스를 제공할 수 있다.The robot R running in the building 1000 is configured to communicate with the cloud server 20 through the network 40 and can provide services within the building 1000 under the control of the cloud server 20. .

보다 구체적으로, 건물(1000)은 건물(1000)에 구비된 다양한 설비들과 통신하거나, 설비들을 직접적으로 제어하기 위한 건물 시스템(1000a)을 포함할 수 있다. 도 4에 도시된 것과 같이, 건물 시스템(1000a)은 통신부(110), 센싱부(120), 출력부(130), 저장부(140) 및 제어부(150)를 포함할 수 있다.More specifically, the building 1000 may include a building system 1000a for communicating with or directly controlling various facilities provided in the building 1000. As shown in FIG. 4, the building system 1000a may include a communication unit 110, a sensing unit 120, an output unit 130, a storage unit 140, and a control unit 150.

통신부(110)는 건물(1000) 내에서 유선 통신망 및 무선 통신망 중 적어도 하나를 형성함으로써, i)클라우드 서버(20)와 로봇(R) 사이, ii)클라우드 서버(20)와 건물(1000) 사이, iii)클라우드 서버(20)와 설비 인프라(200) 사이, iv)설비 인프라(200)와 로봇(R) 사이, v)설비 인프라(200)와 건물(1000) 사이를 연결할 수 있다. 즉, 통신부(110)는 서로 다른 주체 간에 통신의 매개체 역할을 수행할 수 있다. 이러한 통신부(110)는 기지국, 공유기 등으로도 명명될 수 있으며, 통신부(110)는 건물(1000) 내에서, 로봇(R), 클라우드 서버(20), 설비 인프라(200)가 상호 통신할 수 있도록 통신망 또는 네트워크를 형성할 수 있다.The communication unit 110 forms at least one of a wired communication network and a wireless communication network within the building 1000, i) between the cloud server 20 and the robot (R), ii) between the cloud server 20 and the building 1000. , iii) between the cloud server 20 and the facility infrastructure 200, iv) between the facility infrastructure 200 and the robot (R), and v) between the facility infrastructure 200 and the building 1000. In other words, the communication unit 110 can serve as a communication medium between different entities. This communication unit 110 may also be called a base station, a router, etc., and the communication unit 110 allows the robot (R), the cloud server 20, and the facility infrastructure 200 to communicate with each other within the building 1000. A communication network or network can be formed so that

한편, 본 명세서에서, 건물(1000)과 통신망을 통해 연결된다고 함은, 건물 시스템(1000a)에 포함된 구성요소 중 적어도 하나와 연결됨을 의미할 수 있다.Meanwhile, in this specification, being connected to the building 1000 through a communication network may mean connected to at least one of the components included in the building system 1000a.

도 5에 도시된 것과 같이, 건물(1000)에 배치되는 복수의 로봇들(R)은 통신부(110)를 통해 형성되는 유선 통신망 및 무선 통신망 중 적어도 하나를 통하여, 클라우드 서버(20)와 통신을 수행함으로써, 클라우드 서버(20)에 의해 원격 제어되도록 이루어질 수 있다. 이러한 유선 통신망 또는 무선 통신망과 같은 통신망은 네트워크(40)라고 이해되어질 수 있다.As shown in FIG. 5, a plurality of robots R disposed in the building 1000 communicate with the cloud server 20 through at least one of a wired communication network and a wireless communication network formed through the communication unit 110. By performing this, it can be remotely controlled by the cloud server 20. A communication network such as a wired communication network or a wireless communication network may be understood as a network 40.

이와 같이, 건물(1000), 클라우드 서버(20), 로봇(R) 및 설비 인프라(200)는 건물(1000)내에 형성되는 통신망에 근거하여 네트워크(40)를 형성할 수 있다. 로봇(R)은 이러한 네트워크에 기반하여, 클라우드 서버(20)의 제어 하에 건물(1000)내에 구비된 다양한 설비를 이용하여, 할당된 임무에 해당하는 서비스를 제공할 수 있다.In this way, the building 1000, the cloud server 20, the robot R, and the facility infrastructure 200 can form a network 40 based on the communication network formed within the building 1000. Based on this network, the robot R can provide services corresponding to the assigned mission using various facilities provided in the building 1000 under the control of the cloud server 20.

한편, 설비 인프라(200)는 도 2 및 도 3과 함께 살펴본 다양한 설비들(도면부호 201 내지 213 참조) 각각 및 이들을 제어하는 제어 시스템(201a, 202a, 203a, 204a, …) 중 적어도 하나를 포함할 수 있다(이러한 제어 시스템은 “제어 서버”로도 명명될 수 있다).Meanwhile, the facility infrastructure 200 includes at least one of the various facilities (see reference numerals 201 to 213) shown in FIGS. 2 and 3 and control systems (201a, 202a, 203a, 204a, ...) that control them. (Such control systems may also be named “control servers”).

도 4에 도시된 것과 같이, 서로 다른 종류의 설비들은 고유의 제어 시스템을 구비할 수 있다. 예를 들어, 로봇 통로(또는 로봇 전용 통로, 로봇 도로, 로봇 전용 도로, 201, 202, 203)의 경우, 로봇 통로(201, 202, 203)를 각각 독립적으로 제어하기 위한 제어 시스템(201a, 202a, 203a)이 존재하고, 엘리베이터(또는 로봇 전용 엘리베이터, 204)의 경우, 엘리베이터(204)를 제어하기 위한 제어 시스템(204)이 존재할 수 있다.As shown in Figure 4, different types of equipment may be equipped with unique control systems. For example, in the case of a robot passage (or robot-only passage, robot road, robot-only road, 201, 202, 203), a control system (201a, 202a) for independently controlling the robot passages (201, 202, 203) , 203a) exists, and in the case of an elevator (or a robot-only elevator, 204), a control system 204 for controlling the elevator 204 may exist.

이러한, 설비들을 제어하기 위한 고유의 제어 시스템들은 클라우드 서버(20), 로봇(R), 건물(1000) 중 적어도 하나와 통신하여, 로봇(R)이 설비를 이용하도록 각각의 설비에 대한 적절한 제어를 수행할 수 있다.These unique control systems for controlling facilities communicate with at least one of the cloud server 20, the robot R, and the building 1000, and appropriately control each facility so that the robot R uses the facility. can be performed.

한편, 각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)에 포함된 센싱부(201b, 202b, 203b, 204b, …)는, 설비 자체에 구비되어, 설비와 관련된 다양한 정보를 센싱하도록 이루어질 수 있다. Meanwhile, the sensing units (201b, 202b, 203b, 204b, ...) included in each facility control system (201a, 202a, 203a, 204a, ...) are provided in the facility itself to sense various information related to the facility. It can be done.

나아가, 각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)에 포함된 제어부(201c, 202c, 203c, 204c, …)는 각각의 설비의 구동을 위한 제어를 수행하며, 클라우드 서버(20)와의 통신을 통하여, 로봇(R)이 설비를 이용하도록 적절한 제어를 수행할 수 있다. 예를 들어, 엘리베이터(204)의 제어 시스템(204b)은, 클라우드 서버(20)와의 통신을 통해, 로봇(R)이 엘리베이터(204)에 탑승하도록 로봇(R)이 위치한 층에, 엘리베이터(204)가 정차하도록 엘리베이터(204)를 제어할 수 있다.Furthermore, the control units (201c, 202c, 203c, 204c, ...) included in each facility control system (201a, 202a, 203a, 204a, ...) perform control for operating each facility, and the cloud server (20) ) Through communication with the robot (R), appropriate control can be performed so that the robot (R) can use the facility. For example, the control system 204b of the elevator 204, through communication with the cloud server 20, sends the elevator 204 to the floor where the robot R is located so that the robot R gets on the elevator 204. ) can control the elevator 204 to stop.

각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)에 포함된 제어부(201c, 202c, 203c, 204c, …) 중 적어도 일부는 각각의 설비(201, 202, 203, 204, …)와 함께 건물(1000)내에 위치하거나, 건물(1000)의 외부에 위치할 수 있다.At least some of the control units (201c, 202c, 203c, 204c, ...) included in each facility control system (201a, 202a, 203a, 204a, ...) are connected to each facility (201, 202, 203, 204, ...). Together, they may be located within the building 1000 or may be located outside the building 1000.

나아가, 본 발명에 따른 건물(1000)에 포함된 설비들 중 적어도 일부는, 클라우드 서버(20)에 의해 제어되거나, 건물(1000)의 제어부(150)에 의하여 제어되는 것 또한 가능하다. 이 경우, 설비는 별도의 설비 제어 시스템을 구비하지 않을 수 있다.Furthermore, it is also possible that at least some of the facilities included in the building 1000 according to the present invention are controlled by the cloud server 20 or by the control unit 150 of the building 1000. In this case, the facility may not be equipped with a separate facility control system.

이하의 설명에서는 각각의 설비가 고유의 제어 시스템을 구비하는 것을 예를 들어 설명하도록 하나, 위에서 언급한 것과 같이, 설비를 제어하기 위한 제어 시스템의 역할은 클라우드 서버(20) 또는 건물(1000)의 제어부(150)에 의해 대체될 수 있음은 물론이다. 이 경우, 본 명세서에서 설명되는 설비 제어 시스템의 제어부(201c, 202c, 203c, 204c, …)의 용어는, 클라우드 서버(20) 또는 제어부(150, 또는 건물의 제어부(150))의 용어로 대체되어 표현될 수 있음은 물론이다.In the following description, each facility has its own control system as an example. However, as mentioned above, the role of the control system for controlling the facility is that of the cloud server 20 or the building 1000. Of course, it can be replaced by the control unit 150. In this case, the terminology of the control unit (201c, 202c, 203c, 204c, ...) of the facility control system described in this specification is replaced with the terminology of the cloud server 20 or the control unit 150, or the building control unit 150. Of course, it can be expressed as

한편, 도 4에서 각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)의 구성요소들은 일 예에 대한 것으로서, 각각의 설비 특성에 따라 다양한 구성요소들이 추가되거나, 제외될 수 있다.Meanwhile, the components of each facility control system (201a, 202a, 203a, 204a, ...) in FIG. 4 are examples, and various components may be added or excluded depending on the characteristics of each facility.

이와 같이, 본 발명에서는 로봇(R), 클라우드 서버(20) 및 설비 제어 시스템(201a, 202a, 203a, 204a, …)이 설비 인프라를 이용하여 건물(1000) 내에서 다양한 서비스를 제공한다. As such, in the present invention, the robot R, the cloud server 20, and the facility control systems 201a, 202a, 203a, 204a, ... provide various services within the building 1000 using the facility infrastructure.

이 경우에, 로봇(R)은 주로 건물 내를 주행하여 다양한 서비스를 제공하게 된다. 이를 위하여, 로봇(R)은 바디부, 구동부, 센싱부, 통신부, 인터페이스부 및 전원공급부 중 적어도 하나를 구비할 수 있다.In this case, the robot (R) mainly travels within the building to provide various services. For this purpose, the robot R may be provided with at least one of a body part, a driving part, a sensing part, a communication part, an interface part, and a power supply part.

바디부는 외관을 이루는 케이스(케이싱, 하우징, 커버 등)를 포함한다. 본 실시예에서, 케이스는 복수의 파트로 구분될 수 있으며, 케이스에 의하여 형성된 공간에는 각종 전자부품들이 내장된다. 이 경우에, 바디부는 본 발명에서 예시하는 다양한 서비스에 따라 서로 다른 형태로 이루어질 수 있다. 예를 들어, 배송 서비스를 제공하는 로봇의 경우에, 바디부의 상부에 물건을 보관하는 수용함이 구비될 수 있다. 다른 예로서, 청소 서비스를 제공하는 로봇의 경우에 바디부의 하부에 진공을 이용하여 먼지를 흡입하는 흡입구가 구비될 수 있다.The body part includes a case (casing, housing, cover, etc.) that forms the exterior. In this embodiment, the case can be divided into a plurality of parts, and various electronic components are built into the space formed by the case. In this case, the body part may have different forms depending on the various services exemplified in the present invention. For example, in the case of a robot that provides delivery services, a storage box for storing items may be provided on the upper part of the body. As another example, in the case of a robot that provides cleaning services, a suction port that suctions dust using a vacuum may be provided at the bottom of the body.

구동부는 클라우드 서버(20)에서 전송하는 제어 명령에 따른 특정 동작을 수행하도록 이루어진다. The driving unit is configured to perform a specific operation according to a control command transmitted from the cloud server 20.

구동부는 주행과 관련하여 로봇의 바디부가 특정 공간 내를 이동할 수 있는 수단을 제공한다. 보다 구체적으로, 구동부는 모터 및 복수의 바퀴를 포함하며, 이들이 조합되어, 로봇(R)을 주행, 방향 전환, 회전시키는 기능을 수행한다. 다른 예로서, 구동부는 주행 외의 다른 동작, 예를 들어 픽업 등의 수행을 위하여 엔드 이펙터, 매니퓰레이터, 액추에이터 중 적어도 하나를 구비할 수 있다. The driving unit provides a means for the body part of the robot to move within a specific space in relation to driving. More specifically, the driving unit includes a motor and a plurality of wheels, which are combined to perform the functions of driving, changing direction, and rotating the robot R. As another example, the driving unit may be provided with at least one of an end effector, a manipulator, and an actuator to perform operations other than driving, such as picking up.

센싱부는 로봇 내 정보(특히, 로봇의 구동상태), 로봇을 둘러싼 주변 환경 정보, 로봇의 위치 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다.The sensing unit may include one or more sensors for sensing at least one of information within the robot (in particular, the driving state of the robot), information on the surrounding environment surrounding the robot, location information of the robot, and user information.

예를 들어, 센싱부는 카메라(이미지 센서), 근접 센서, 적외선 센서, 레이저 스캐너(라이다 센서), RGBD 센서, 지자기 센서, 초음파 센서, 관성 센서, UWB 센서 등을 구비할 수 있다.For example, the sensing unit may include a camera (image sensor), proximity sensor, infrared sensor, laser scanner (LIDAR sensor), RGBD sensor, geomagnetic sensor, ultrasonic sensor, inertial sensor, UWB sensor, etc.

로봇의 통신부는 로봇(R)과 건물의 통신부 사이, 로봇(R)과 다른 로봇의 사이, 또는 로봇(R)과 설비의 제어 시스템의 사이에서 무선 통신을 수행하기 위하여, 로봇에서 무선 신호를 송수신하도록 이루어진다. 이러한 예로서, 통신부는 무선 인터넷 모듈, 근거리 통신 모듈, 위치정보 모듈 등을 구비할 수 있다.The communication unit of the robot transmits and receives wireless signals from the robot to perform wireless communication between the robot (R) and the communication unit of the building, between the robot (R) and other robots, or between the robot (R) and the facility control system. It is done so that As an example of this, the communication unit may be equipped with a wireless Internet module, a short-range communication module, a location information module, etc.

인터페이스부는 로봇(R)을 외부기기와 연결시킬 수 있는 통로로서 구비될 수 있다. 예를 들어, 상기 인터페이스부는 단자(충전단자, 접속단자, 전원단자), 포트 또는 커넥터 등이 될 수 있다. 전원공급부는 외부의 전원, 내부의 전원을 인가받아 로봇(R)에 포함된 각 구성요소들에 전원을 공급하는 장치가 될 수 있다. 다른 예로서, 전원공급부는 로봇(R)의 내부에서 전기에너지를 생성하여 각 구성요소에 공급하는 장치가 될 수 있다.The interface unit may be provided as a passage through which the robot R can be connected to an external device. For example, the interface unit may be a terminal (charging terminal, connection terminal, power terminal), port, or connector. The power supply unit may be a device that receives external power and internal power and supplies power to each component included in the robot (R). As another example, the power supply unit may be a device that generates electrical energy inside the robot (R) and supplies it to each component.

이상에서, 로봇(R)은 주로 건물 내를 주행하는 것을 기준으로 설명하였으나, 본 발명은 반드시 이에 한정되는 것은 아니다. 예를 들어, 본 발명의 로봇은 드론 등과 같이 건물 내를 비행하는 로봇의 형태도 가능하다. 보다 구체적으로, 안내 서비스를 제공하는 로봇이 건물 내에서 사람의 주변을 비행하면서 사람에게 건물에 대한 안내를 제공할 수 있다. In the above, the robot R was mainly explained based on traveling within a building, but the present invention is not necessarily limited thereto. For example, the robot of the present invention can be in the form of a robot that flies inside a building, such as a drone. More specifically, a robot providing guidance services can provide guidance about a building to a person while flying around the person within the building.

한편, 본 발명의 로봇의 전반적인 동작은 클라우드 서버(20)에 의하여 제어된다. 이에 더하여, 로봇은 클라우드 서버(20)의 하위 제어기로서, 제어부를 별도로 구비할 수 있다. 예를 들어, 로봇의 제어부는 클라우드 서버(20)로부터 주행에 대한 제어 명령을 수신하여 로봇의 구동부를 제어한다. 이 경우에, 제어부는 로봇의 센싱부에서 센싱한 데이터를 이용하여, 모터에 인가할 토크 또는 전류를 계산할 수 있다. 계산된 결과를 이용하여 위치 제어기, 속도 제어기, 전류 제어기 등에 의하여 모터 등을 구동하게 되며, 이를 통하여 클라우드 서버(20)의 제어명령을 로봇이 수행하게 된다.Meanwhile, the overall operation of the robot of the present invention is controlled by the cloud server 20. In addition, the robot is a subordinate controller of the cloud server 20 and may be provided with a separate control unit. For example, the robot's control unit receives driving control commands from the cloud server 20 and controls the robot's driving unit. In this case, the control unit can calculate the torque or current to be applied to the motor using data sensed by the robot's sensing unit. Using the calculated results, the motor, etc. is driven by a position controller, speed controller, current controller, etc., and through this, the robot executes the control command of the cloud server 20.

한편, 본 발명에서 건물(1000)은 건물(1000)에 구비된 다양한 설비들과 통신하거나, 설비들을 직접적으로 제어하기 위한 건물 시스템(1000a)을 포함할 수 있다. 도 4 및 도 5에 도시된 것과 같이, 건물 시스템(1000a)은 통신부(110), 센싱부(120), 출력부(130), 저장부(140) 및 제어부(150) 중 적어도 하나를 포함할 수 있다.Meanwhile, in the present invention, the building 1000 may include a building system 1000a for communicating with or directly controlling various facilities provided in the building 1000. As shown in FIGS. 4 and 5, the building system 1000a may include at least one of a communication unit 110, a sensing unit 120, an output unit 130, a storage unit 140, and a control unit 150. You can.

통신부(110)는 건물(1000) 내에서 유선 통신망 및 무선 통신망 중 적어도 하나를 형성함으로써, i)클라우드 서버(20)와 로봇(R) 사이, ii)클라우드 서버(20)와 건물(1000) 사이, iii)클라우드 서버(20)와 설비 인프라(200) 사이, iv)설비 인프라(200)와 로봇(R) 사이, v)설비 인프라(200)와 건물(1000) 사이를 연결할 수 있다. 즉, 통신부(110)는 서로 다른 주체 간에 통신의 매개체 역할을 수행할 수 있다. The communication unit 110 forms at least one of a wired communication network and a wireless communication network within the building 1000, i) between the cloud server 20 and the robot (R), ii) between the cloud server 20 and the building 1000. , iii) between the cloud server 20 and the facility infrastructure 200, iv) between the facility infrastructure 200 and the robot (R), and v) between the facility infrastructure 200 and the building 1000. In other words, the communication unit 110 can serve as a communication medium between different entities.

도 5 및 도 6에 도시된 것과 같이, 통신부(110)는 이동통신 모듈(111), 유선 인터넷 모듈(112), 무선 인터넷 모듈(113) 및 근거리 통신 모듈(114) 중 적어도 하나를 포함하도록 이루어질 수 있다.As shown in FIGS. 5 and 6, the communication unit 110 is configured to include at least one of a mobile communication module 111, a wired Internet module 112, a wireless Internet module 113, and a short-range communication module 114. You can.

통신부(110)는 위에서 열거된 통신 모듈들에 근거하여, 다양한 통신 방식을 지원할 수 있다.The communication unit 110 can support various communication methods based on the communication modules listed above.

예를 들어, 이동 통신 모듈(111)은, 이동 통신(Mobile Communications)을 위한 기술표준들 또는 통신방식(예를 들어, 5G, 4G, GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), CDMA2000(Code Division Multi Access 2000), EV-DO(Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA(Wideband CDMA), HSDPA(High Speed Downlink Packet Access), HSUPA(High Speed Uplink Packet Access), LTE(Long Term Evolution), LTE-A(Long Term Evolution-Advanced) 등)에 따라 구축된 이동 통신망 상에서 건물 시스템(1000a), 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나와 무선 신호를 송수신하도록 이루어질 수 있다. 이 때에, 보다 구체적인 예로서, 로봇(R)은 전술한 로봇(R)의 통신부를 이용하여 이동 통신 모듈(111)과 무선 신호를 송수신할 수 있다.For example, the mobile communication module 111 supports technical standards or communication methods for mobile communications (e.g., 5G, 4G, Global System for Mobile communication (GSM), and Code Division Multi Access (CDMA). ), CDMA2000 (Code Division Multi Access 2000), EV-DO (Enhanced Voice-Data Optimized or Enhanced Voice-Data Only), WCDMA (Wideband CDMA), HSDPA (High Speed Downlink Packet Access), HSUPA (High Speed Uplink Packet Access) ), LTE (Long Term Evolution), LTE-A (Long Term Evolution-Advanced), etc.) on a mobile communication network built according to the building system (1000a), cloud server (20), robot (R), and facility infrastructure (200) It may be configured to transmit and receive a wireless signal with at least one of the. At this time, as a more specific example, the robot R may transmit and receive wireless signals with the mobile communication module 111 using the communication unit of the robot R described above.

다음으로, 유선 인터넷 모듈(112)은 유선 방식으로 통신을 제공하는 방식으로서, 물리적인 통신선을 매개체로 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나와 신호를 송수신 하도록 이루어질 수 있다.Next, the wired Internet module 112 is a method of providing communication in a wired manner, so as to transmit and receive signals with at least one of the cloud server 20, the robot (R), and the facility infrastructure 200 using a physical communication line as a medium. It can be done.

나아가, 무선 인터넷 모듈(113)은 이동 통신 모듈(111)을 포함하는 개념으로서, 무선 인터넷 접속이 가능한 모듈을 의미할 수 있다. 무선 인터넷 모듈(113)은 건물(1000) 내에 배치되어, 무선 인터넷 기술들에 따른 통신망에서 건물 시스템(1000a), 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나와 무선 신호를 송수신하도록 이루어진다.Furthermore, the wireless Internet module 113 is a concept that includes the mobile communication module 111 and may mean a module capable of wireless Internet access. The wireless Internet module 113 is disposed in the building 1000 and wirelessly communicates with at least one of the building system 1000a, the cloud server 20, the robot R, and the facility infrastructure 200 in a communication network based on wireless Internet technologies. It is made to transmit and receive signals.

무선 인터넷 기술은 매우 다양할 수 있으며, 앞서 살펴본 이동 통신 모듈(111)의 통신 기술을뿐만 아니라, WLAN(Wireless LAN), Wi-Fi, Wi-Fi Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access) 등이 있다. 나아가, 본 발명에서는, 상기 무선 인터넷 모듈(113)은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.Wireless Internet technology can be very diverse, and includes not only the communication technology of the mobile communication module 111 discussed above, but also WLAN (Wireless LAN), Wi-Fi, Wi-Fi Direct, DLNA (Digital Living Network Alliance), and WiBro ( Wireless Broadband), WiMAX (World Interoperability for Microwave Access), etc. Furthermore, in the present invention, the wireless Internet module 113 transmits and receives data according to at least one wireless Internet technology, including Internet technologies not listed above.

다음으로 근거리 통신 모듈(114)은 근거리 통신(Short range communication)을 위한 것으로서, 블루투스(Bluetooth™), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), UWB(Ultra Wideband), ZigBee, NFC(Near Field Communication), Wi-Fi, Wi-Fi Direct, Wireless USB(Wireless Universal Serial Bus) 기술 중 적어도 하나를 이용하여, 건물 시스템(1000a), 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나와 근거리 통신을 수행할 수 있다.Next, the short-range communication module 114 is for short-range communication, including Bluetooth™, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), and ZigBee. , using at least one of NFC (Near Field Communication), Wi-Fi, Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technology, a building system (1000a), a cloud server (20), a robot (R), and Short-distance communication can be performed with at least one of the facility infrastructures 200.

통신부(110)는 위에서 살펴본 통신 모듈들 중 적어도 하나를 포함할 수 있으며, 이러한 통신 모듈들은 건물(1000) 내부의 다양한 공간에 배치되어, 통신망을 형성할 수 있다. 이러한 통신망을 통해, i)클라우드 서버(20)와 로봇(R), ii)클라우드 서버(20)와 건물(1000), iii)클라우드 서버(20)와 설비 인프라(200, iv)설비 인프라(200)와 로봇(R), v)설비 인프라(200)와 건물(1000)은 상호 통신하도록 이루어질 수 있다.The communication unit 110 may include at least one of the communication modules discussed above, and these communication modules may be placed in various spaces inside the building 1000 to form a communication network. Through this communication network, i) cloud server (20) and robot (R), ii) cloud server (20) and building (1000), iii) cloud server (20) and facility infrastructure (200, iv) facility infrastructure (200) ) and the robot (R), v) the facility infrastructure 200 and the building 1000 may be configured to communicate with each other.

다음으로, 건물(1000)은 센싱부(120)를 포함할 수 있으며, 이러한 센싱부(120)는 다양한 센서들을 포함하도록 이루어질 수 있다. 건물(1000)의 센싱부(120)를 통해 센싱된 정보 중 적어도 일부는, 통신부(110)를 통해 형성되는 통신망을 통해, 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나로 전송될 수 있다. 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나는, 센싱부(120)를 통해 센싱된 정보를 이용하여, 로봇(R)을 제어하거나 설비 인프라(200)를 제어할 수 있다.Next, the building 1000 may include a sensing unit 120, and the sensing unit 120 may include various sensors. At least some of the information sensed through the sensing unit 120 of the building 1000 is transmitted to at least the cloud server 20, the robot (R), and the facility infrastructure 200 through a communication network formed through the communication unit 110. It can be sent as one. At least one of the cloud server 20, the robot (R), and the facility infrastructure 200 uses information sensed through the sensing unit 120 to control the robot (R) or the facility infrastructure 200. You can.

센싱부(120)에 포함된 센서들의 종류는 매우 다양할 수 있다. 센싱부(120)는 건물(1000)에 구비되어, 건물(1000)에 대한 다양한 정보들을 센싱하도록 이루어질 수 있다. 센싱부(120)에 의해 센싱되는 정보는, 건물(1000)을 주행하는 로봇(R), 건물(1000)에 위치한 사람, 장애물, 등에 대한 정보일 수 있으며, 건물과 관련된 다양한 환경 정보(예를 들어, 온도, 습도 등)를 포함할 수 있다.The types of sensors included in the sensing unit 120 may be very diverse. The sensing unit 120 may be provided in the building 1000 to sense various information about the building 1000. Information sensed by the sensing unit 120 may be information about the robot (R) running in the building 1000, people located in the building 1000, obstacles, etc., and various environmental information related to the building (e.g. For example, temperature, humidity, etc.).

도 5에 도시된 것과 같이, 센싱부(120)는 이미지 센서(121), 마이크(122), 바이오 센서(123), 근접센서(124), 조도센서(125), 적외선 센서(126), 온도 센서(127) 및 습도 센서(128) 중 적어도 하나를 포함할 수 있다.As shown in FIG. 5, the sensing unit 120 includes an image sensor 121, a microphone 122, a bio sensor 123, a proximity sensor 124, an illumination sensor 125, an infrared sensor 126, and a temperature sensor. It may include at least one of the sensor 127 and the humidity sensor 128.

여기에서, 이미지 센서(121)는 카메라에 해당할 수 있다. 도 3에서 살펴본 것과 같이, 건물(1000)에는 이미지 센서(121)에 해당하는 카메라가 배치될 수 있다. 본 명세서에서는 카메라에 대하여 이미지 센서(121)와 동일한 도면 부호 “121”를 부여하기로 한다. Here, the image sensor 121 may correspond to a camera. As seen in FIG. 3, a camera corresponding to the image sensor 121 may be placed in the building 1000. In this specification, the same reference numeral “121” as the image sensor 121 is assigned to the camera.

한편, 건물(1000)에 배치되는 카메라(121)의 수는 그 제한이 없다. 건물(1000)에 배치된 카메라(121)의 종류는 다양할 수 있으며, 일 예로서, 건물(1000)에 배치된 카메라(121)는 CCTV(closed circuit television)일 수 있다. 한편, 카메라(121)가 건물(1000)에 배치되었다 함은, 건물(1000)의 실내 공간(10)에 카메라(121)가 배치됨을 의미할 수 있다.Meanwhile, the number of cameras 121 placed in the building 1000 is not limited. There may be various types of cameras 121 placed in the building 1000. As an example, the camera 121 placed in the building 1000 may be a closed circuit television (CCTV). Meanwhile, saying that the camera 121 is placed in the building 1000 may mean that the camera 121 is placed in the indoor space 10 of the building 1000.

다음으로, 마이크(122)는 건물(1000)에서 발생하는 다양한 소리 정보를 센싱하도록 이루어질 수 있다. Next, the microphone 122 can be configured to sense various sound information generated in the building 1000.

바이오 센서(123)는 생체 정보를 센싱하기 위한 것으로서, 건물(1000)에 위치한 사람 또는 동물에 대한 생체 정보(예를 들어, 지문 정보, 얼굴 정보, 홍채 정보 등)를 센싱할 수 있다.The biosensor 123 is for sensing biometric information and can sense biometric information (eg, fingerprint information, face information, iris information, etc.) about people or animals located in the building 1000.

근접 센서(124)는 근접 센서(124)에 대해 접근하거나 근접 센서(124) 주변에 위치한 대상(로봇 또는 사람 등)을 센싱하도록 이루어질 수 있다.The proximity sensor 124 may be configured to sense an object (such as a robot or person) that approaches the proximity sensor 124 or is located around the proximity sensor 124 .

나아가, 조도 센서(125)는 조도 센서(125) 센서 주변의 조도를 센싱하도록 이루어지며, 적외선 센서(126)는 적외선 센서가 내장되어 이를 이용해 어두운 실내나 야간에 건물(1000)에 대한 촬영을 수행할 수 있다.Furthermore, the illuminance sensor 125 is configured to sense the illuminance around the illuminance sensor 125, and the infrared sensor 126 has a built-in infrared sensor and uses it to take pictures of the building 1000 in a dark room or at night. can do.

나아가, 온도 센서(127)는 온도 센서(127) 주변의 온도를 센싱하며, 습도 센서(128)는 습도 센서(128) 주변의 온도를 센싱할 수 있다.Furthermore, the temperature sensor 127 may sense the temperature around the temperature sensor 127, and the humidity sensor 128 may sense the temperature around the humidity sensor 128.

한편, 본 발명에서 센싱부(120)를 구성하는 센서의 종류에는 특별한 제한이 없으며, 각각의 센서에 의해 정의되는 기능이 구현되기만 하면 족하다.Meanwhile, in the present invention, there is no particular limitation on the type of sensor constituting the sensing unit 120, and it is sufficient as long as the function defined by each sensor is implemented.

다음으로, 출력부(130)는 건물(1000)에서 사람 또는 로봇(R)에게, 시각적, 청각적 및 촉각적 정보 중 적어도 하나를 출력하기 위한 수단으로서, 디스플레이부(131), 음향 출력부(132) 및 조명부(133) 중 적어도 하나를 포함할 수 있다. 이러한 출력부(130)는 필요 또는 상황에 따라 건물(1000)의 실내 공간 상에 적절한 위치에 배치될 수 있다.Next, the output unit 130 is a means for outputting at least one of visual, auditory and tactile information to a person or robot (R) in the building 1000, and includes a display unit 131 and an audio output unit ( 132) and may include at least one of the lighting unit 133. This output unit 130 may be placed at an appropriate location in the indoor space of the building 1000 depending on need or circumstances.

다음으로, 저장부(140)는 건물(1000), 로봇 및 설비 인프라 중 적어도 하나와 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(140)는 건물(1000) 자체에 구비될 수 있다. 이와 다르게, 이와 다르게, 저장부(140)의 적어도 일부는, 클라우드 서버(20) 또는 외부 데이터베이스 중 적어도 하나를 의미할 수 있다. 즉, 저장부(140)는 본 발명에 따른 다양한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. Next, the storage unit 140 may be configured to store various information related to at least one of the building 1000, robots, and facility infrastructure. In the present invention, the storage unit 140 may be provided in the building 1000 itself. Alternatively, at least a portion of the storage unit 140 may refer to at least one of the cloud server 20 or an external database. In other words, the storage unit 140 is sufficient as a space for storing various information according to the present invention, and it can be understood that there are no restrictions on physical space.

다음으로 제어부(150)는 건물(1000)에 대한 전반적인 제어를 수행하는 수단으로서, 통신부(110), 센싱부(120), 출력부(130) 및 저장부(140) 중 적어도 하나를 제어할 수 있다. 제어부(150)는 클라우드 서버(20)와 연동하여, 로봇에 대한 제어를 수행할 수 있다. 나아가, 제어부(150)는 클라우드 서버(20)의 형태로 존재할 수 있다. 이 경우, 건물(1000)은 로봇(R)의 제어 수단인 클라우드 서버(20)에 의해 함께 제어될 수 있다, 이와 다르게, 건물(1000)을 제어하는 클라우드 서버는 로봇(R)을 제어하는 클라우드 서버(20)와 별개로 존재할 수 있다. 이 경우, 건물(1000)을 제어하는 클라우드 서버와 로봇(R)을 제어하는 클라우드 서버(20)는 상호 통신을 통하여, 로봇(R)에 의해 서비스 제공되도록 서로 연동하거나, 로봇의 이동, 기능 유지, 청결 유지 등을 위하여 서로 연동될 수 있다. 한편, 건물(1000)의 제어부는 “프로세서(processor)”로도 명명될 수 있으며, 프로세서는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 다양한 명령을 처리하도록 구성될 수 있다Next, the control unit 150 is a means of performing overall control of the building 1000 and can control at least one of the communication unit 110, the sensing unit 120, the output unit 130, and the storage unit 140. there is. The control unit 150 can control the robot in conjunction with the cloud server 20. Furthermore, the control unit 150 may exist in the form of a cloud server 20. In this case, the building 1000 can be controlled together by the cloud server 20, which is a control means of the robot R. In contrast, the cloud server controlling the building 1000 is the cloud server 20 controlling the robot R. It may exist separately from the server 20. In this case, the cloud server controlling the building 1000 and the cloud server 20 controlling the robot R communicate with each other to provide services by the robot R, or maintain the movement and function of the robot. , can be linked with each other to maintain cleanliness, etc. Meanwhile, the control unit of the building 1000 may also be named a “processor,” and the processor may be configured to process various commands by performing basic arithmetic, logic, and input/output operations.

이상에서 살펴본 것과 같이, 건물(1000), 로봇(R), 클라우드 서버(20) 및 설비 인프라(200)는 중 적어도 하나는 통신망을 기반으로 네트워크(40)를 형성하여, 건물(1000)내에서 로봇을 이용한 다양한 서비스가 제공되도록 이루어질 수 있다. As seen above, at least one of the building 1000, the robot (R), the cloud server 20, and the facility infrastructure 200 forms a network 40 based on a communication network, within the building 1000. Various services can be provided using robots.

이상에서 살펴본 것과 같이, 본 발명에 따른 건물(1000)에서는, 로봇에 의해 다양한 서비스가 제공되도록, 로봇(R), 건물 내 구비되는 설비 인프라(200) 및 클라우드 서버(20)가 유기적으로 연결될 수 있다. 이러한 로봇(R), 설비 인프라(200) 및 클라우드 서버(20) 중 적어도 일부는 로봇 친화형 건물을 구축하기 위한 플랫폼 형태로 존재할 수 있다.As seen above, in the building 1000 according to the present invention, the robot (R), the facility infrastructure 200 provided in the building, and the cloud server 20 can be organically connected so that various services are provided by the robot. there is. At least some of these robots (R), facility infrastructure 200, and cloud servers 20 may exist in the form of a platform for building a robot-friendly building.

이하에서는, 위에서 살펴본 건물(1000), 건물 시스템(1000a), 설비 인프라(200), 클라우드 서버(20)의 내용을 참고하여, 로봇(R)이 설비 인프라(200)를 이용하는 과정에 대하여 보다 구체적으로 살펴본다. 이때, 로봇(R)은, 임무 수행(또는 서비스 제공), 주행, 충전, 청결 유지, 대기 등의 목적으로, 건물(1000)의 실내 공간(10)을 주행거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.Below, referring to the contents of the building 1000, building system 1000a, facility infrastructure 200, and cloud server 20 discussed above, the process by which the robot (R) uses the facility infrastructure 200 is described in more detail. Let’s take a look. At this time, the robot (R) travels in the indoor space 10 of the building 1000 or uses the facility infrastructure 200 for the purposes of performing missions (or providing services), driving, charging, maintaining cleanliness, and waiting. You can move and further use the facility infrastructure 200.

이와 같이, 로봇(R)은 어떠한 “목적”에 근거하여, “목적”을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.In this way, based on a certain “purpose,” the robot (R) travels in the indoor space of the building 1000 or moves using the facility infrastructure 200 to achieve the “purpose,” and further, the facility infrastructure (200) can be used.

이때, 로봇이 달성해야할 목적은 다양한 원인에 근거하여 특정될 수 있다. 로봇이 달성해야 할 목적은, 제1 타입의 목적과 제2 타입의 목적이 존재할 수 있다.At this time, the purpose to be achieved by the robot can be specified based on various causes. The purpose to be achieved by the robot may include a first type of purpose and a second type of purpose.

여기에서, 제1 타입의 목적은 로봇이 로봇 본연의 임무를 수행하기 위한 것이고, 제2 타입의 목적은 로봇이 로봇 본연의 임무 외의 임무 또는 기능을 수행하기 위한 것일 수 있다.Here, the first type of purpose may be for the robot to perform its original mission, and the second type of purpose may be for the robot to perform a mission or function other than the robot's original mission.

즉, 제1 타입에 따른 로봇이 달성해야하는 목적은, 로봇 본연의 임무를 수행하기 위한 목적일 수 있다. 이러한 목적은, 로봇의 “임무(task)”라고도 이해되어질 수 있다.In other words, the purpose to be achieved by the robot according to the first type may be the purpose of performing the robot's original mission. This purpose can also be understood as the robot’s “task.”

예를 들어, 로봇이 서빙 서비스를 제공하는 로봇인 경우, 로봇은 서빙 서비스를 제공하기 위한 목적 또는 임무을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다. 또한, 로봇이 길 안내 서비스를 제공하는 로봇인 경우, 로봇은 길 안내 서비스를 제공하기 위한 목적 또는 임무을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.For example, if the robot is a robot that provides serving services, the robot drives around the indoor space of the building 1000 or moves using the facility infrastructure 200 to achieve the purpose or mission of providing serving services. And, furthermore, the facility infrastructure 200 can be used. In addition, if the robot is a robot that provides a route guidance service, the robot drives around the indoor space of the building (1000) or moves using the facility infrastructure (200) in order to achieve the purpose or mission of providing the route guidance service. And, furthermore, the facility infrastructure 200 can be used.

한편, 본 발명에 따른 건물에는 서로 다른 목적에 따른 운용되는 복수의 로봇이 위치할 수 있다. 즉, 건물에는 서로 다른 임무를 수행가능한 서로 다른 로봇들이 배치될 수 있으며, 이는 건물의 관리자, 건물에 입주한 다양한 주체들의 필요에 의하여, 건물에는 서로 다른 종류의 로봇들이 배치될 수 있다.Meanwhile, a plurality of robots operating for different purposes may be located in a building according to the present invention. In other words, different robots capable of performing different tasks can be deployed in a building, and different types of robots can be deployed in a building depending on the needs of the building manager and various entities residing in the building.

예를 들어, 건물에는 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.For example, buildings include delivery, logistics operations, guidance, interpretation, parking assistance, security, crime prevention, security, public order, cleaning, quarantine, disinfection, laundry, beverage preparation, food preparation, serving, fire suppression, medical support, and entertainment services. Robots that provide at least one service may be deployed. The services provided by robots can vary beyond the examples listed above.

한편, 제2 타입의 목적은 로봇이 로봇 본연의 임무 외의 임무 또는 기능을 수행하기 위한 것으로서, 이는, 로봇 본연의 임무와 관련 없는 목적일 수 있다. 이러한 제2 타입의 목적은, 로봇이 로봇 본연의 임무를 수행하는 것과 직접적으로 연관되지는 않으나, 간접적으로 필요한 임무 또는 기능일 수 있다.Meanwhile, the second type of purpose is for the robot to perform a mission or function other than the robot's original mission, which may be a purpose unrelated to the robot's original mission. This second type of purpose is not directly related to the robot performing its original mission, but may be an indirectly necessary mission or function.

예를 들어, 로봇이 본연의 임무 수행을 위해서는, 동작에 필요한 충분한 전원이 필요하고, 로봇이 사람들에게 쾌적한 서비스를 제공하기 위해서는 청결을 유지해야 한다. 나아가, 복수의 로봇이 건물 내에서 효율적으로 운용되기 위해서는, 때로는 일정한 공간에서 대기하는 상황이 존재할 수 있다.For example, in order for a robot to perform its duties, it needs sufficient power to operate, and in order for the robot to provide comfortable services to people, it must be kept clean. Furthermore, in order for multiple robots to operate efficiently within a building, there may sometimes be a situation where they wait in a certain space.

이와 같이, 본 발명에서 로봇은 제2 타입의 목적을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.As such, in the present invention, in order to achieve the second type of purpose, the robot can run in the indoor space of the building 1000, move using the facility infrastructure 200, and further use the facility infrastructure 200. there is.

예를 들어, 로봇은 충전 기능에 따른 목적을 달성하기 위하여, 충전 설비 인프라를 이용할 수 있고, 세척 기능에 따른 목적을 달성하기 위하여 세척 설비 인프라를 이용할 수 있다.For example, the robot can use the charging facility infrastructure to achieve the purpose of the charging function, and the robot can use the cleaning facility infrastructure to achieve the purpose of the cleaning function.

이와 같이, 본 발명에서 로봇은 어떠한 목적을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.As such, in the present invention, the robot can run in the indoor space of the building 1000, move using the facility infrastructure 200, and further use the facility infrastructure 200 in order to achieve a certain purpose.

한편, 클라우드 서버(20)는 데이터베이스(database) 상에 저장된 건물에 위치한 복수의 로봇들 각각에 대응되는 정보에 근거하여, 건물 내 위치한 로봇들 각각에 대한 적절한 제어를 수행할 수 있다.Meanwhile, the cloud server 20 may perform appropriate control on each of the robots located in the building based on information corresponding to each of the plurality of robots located in the building stored in a database.

한편, 데이터베이스 상에는 건물 내 위치한 복수의 로봇 각각에 대한 다양한 정보가 저장될 수 있으며, 로봇(R)에 대한 정보는 매우 다양할 수 있다. 일 예로서, i)공간(10)에 배치된 로봇(R)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등), ii)로봇(R)에 부여된 임무 정보(예를 들어, 임무의 종류, 임무에 따른 동작, 임무의 대상이 되는 타겟 유저 정보, 임무 수행 장소, 임무 수행 예정 시간 등), iii)로봇(R)에 설정된 주행 경로 정보, iv)로봇(R)의 위치 정보, v)로봇(R)의 상태 정보(예를 들어, 전원 상태, 고장 유무, 세척 상태, 배터리 상태 등), vi)로봇(R)에 구비된 카메라로부터 수신된 영상 정보, vii) 로봇(R)의 동작과 관련된 동작 정보 등이 존재할 수 있다.Meanwhile, various information about each of a plurality of robots located in a building may be stored in the database, and information about the robot R may be very diverse. As an example, i) identification information to identify the robot (R) placed in the space 10 (e.g., serial number, TAG information, QR code information, etc.), ii) mission assigned to the robot (R) Information (e.g., type of mission, actions according to the mission, target user information for the mission, mission performance location, mission performance schedule, etc.), iii) driving path information set for the robot (R), iv) robot Location information of (R), v) Status information of the robot (R) (e.g., power status, failure status, cleaning status, battery status, etc.), vi) Image information received from the camera provided in the robot (R) , vii) There may be motion information related to the motion of the robot (R).

한편, 로봇들에 대한 적절한 제어는, 앞서 살펴본 제1 타입의 목적 또는 제2 타입의 목적에 따라 로봇을 운용하는 제어와 관련된 것일 수 있다.Meanwhile, appropriate control of robots may be related to control of operating robots according to the first type of purpose or the second type of purpose discussed above.

여기에서, 로봇의 운용은 로봇이 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용하도록 하는 제어를 의미할 수 있다.Here, operation of the robot may mean controlling the robot to run in the indoor space of the building 1000, move using the facility infrastructure 200, and further use the facility infrastructure 200.

로봇의 이동은 로봇의 주행으로 지칭될 수 있으며, 따라서 본 발명에서 이동 경로와 주행 경로는 혼용되어 사용될 수 있다.The movement of the robot may be referred to as the running of the robot, and therefore, in the present invention, the movement path and driving path may be used interchangeably.

클라우드 서버(20)는 데이터베이스에 저장된 로봇 각각에 대한 정보에 근거하여, 로봇들 각각의 용도(또는 본연의 임무)에 따라 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다. 이때 할당되는 임무는 앞서 살펴본 제1 타입의 목적을 달성하기 위한 임무일 수 있다.Based on the information about each robot stored in the database, the cloud server 20 assigns appropriate tasks to the robots according to the purpose (or original mission) of each robot, and provides support to the robots so that the assigned tasks are performed. Control can be performed. The mission assigned at this time may be a mission to achieve the first type of purpose discussed above.

나아가, 클라우드 서버(20)는 데이터베이스에 저장된 로봇 각각에 대한 정보에 근거하여, 로봇들 각각에 제2 타입의 목적을 달성하기 위한 제어를 수행할 수 있다.Furthermore, the cloud server 20 may perform control to achieve the second type of purpose on each robot based on information about each robot stored in the database.

이때, 클라우드 서버(20)로부터 제2 타입의 목적을 달성하기 위한 제어명령을 수신한 로봇은, 제어 명령에 근거하여, 충전 설비 인프라로 이동하거나, 세척 설비 인프라 등으로 이동하여, 제2 타입의 목적을 달성할 수 있다.At this time, the robot that has received the control command to achieve the second type of purpose from the cloud server 20 moves to the charging facility infrastructure or the cleaning facility infrastructure based on the control command, and moves to the second type of The purpose can be achieved.

한편, 이하에서는, 제1 타입 또는 제2 타입의 목적을 구분하지 않고, “목적” 또는 “임무”의 용어를 사용하도록 한다. 이하에서 설명되는 목적은, 제1 타입의 목적 또는 제2 타입의 목적 중 어느 하나일 수 있다. Meanwhile, hereinafter, the terms “purpose” or “mission” will be used without distinguishing between the first type and the second type of purpose. The purpose described below may be either a first type purpose or a second type purpose.

마찬가지로, 이하에서 설명되는 임무 역시, 제1 타입의 목적을 달성하기 위한 임무 또는 제2 타입의 목적을 달성하기 위한 임무일 수 있다.Likewise, the mission described below may also be a mission for achieving a first type purpose or a mission for achieving a second type purpose.

예를 들어, 서빙 서비스 제공이 가능한 로봇이 존재하고, 서빙할 대상(타겟 유저(target user))이 존재하는 경우, 클라우드 서버(20)는 로봇이 타겟 유저에게 서빙에 대응하는 임무를 수행하도록, 로봇에 대한 제어를 수행할 수 있다.For example, if a robot capable of providing a serving service exists and a person to serve (target user) exists, the cloud server 20 allows the robot to perform the task of serving the target user, You can control the robot.

또 다른 예를 들어, 충전이 필요한 로봇이 존재하는 경우, 클라우드 서버(20)는 로봇이 충전에 해당하는 임무를 수행하도록, 충전 설비 인프라로 로봇이 이동하도록 하는 제어를 수행할 수 있다.For another example, if there is a robot that needs charging, the cloud server 20 may control the robot to move to the charging facility infrastructure so that the robot can perform a task corresponding to charging.

이에, 이하에서는, 제1 타입의 목적 또는 제2 타입의 목적에 대한 구분 없이, 클라우드 서버(20)의 제어 하에, 로봇이 설비 인프라(200)를 이용하여 목적 또는 임무을 수행하는 방법에 대하여 보다 구체적으로 살펴본다. 한편, 본 명세서에서 클라우드 서버(20)는 임무를 수행하기 위하여 클라우드 서버(20)에 의해 제어 되는 로봇은 “타겟 로봇”으로 명명되는 것 또한 가능하다.Accordingly, in the following, a more detailed description will be given of how the robot performs the purpose or mission using the facility infrastructure 200 under the control of the cloud server 20, without distinction between the first type of purpose or the second type of purpose. Let’s take a look. Meanwhile, in this specification, the cloud server 20 may also refer to a robot controlled by the cloud server 20 as a “target robot” in order to perform its mission.

클라우드서 서버(20)는 요청 또는 자체적인 판단하에, 임무를 수행할 적어도 하나의 로봇을 특정할 수 있다.The cloud server 20 may specify at least one robot to perform a mission upon request or at its own discretion.

여기에서, 요청은 다양한 주체로부터 수신되는 것이 가능하다. 예를 들어, 클라우드 서버는 건물에 위치한 방문객, 관리자, 입주민, 근로자 등과 같은 다양한 주체로부터 다양한 방식(예를 들어, 전자기기를 통한 사용자 입력, 제스처 방식의 사용자 입력)으로 요청을 수신할 수 있다. 여기에서, 요청은 로봇에 의해 특정 서비스(또는 특정 임무)가 제공되도록 하는 서비스 요청일 수 있다.Here, it is possible for requests to be received from various entities. For example, a cloud server can receive requests in various ways (e.g., user input through electronic devices, user input through gestures) from various entities such as visitors, managers, residents, workers, etc. located in a building. Here, the request may be a service request for a specific service (or specific task) to be provided by the robot.

클라우드 서버(20)는 이러한 요청에 기반하여, 건물(1000)내 위치한 복수의 로봇 중 해당 서비스를 수행 가능한 로봇을 특정할 수 있다. 클라우드 서버(20)는 i)로봇이 수행 가능한 서비스 종류, ii)로봇이 기 할당받은 임무, iii)로봇의 현재 위치, iv)로봇의 상태(ex: 전원 상태, 청결 상태, 배터리 상태 등)에 근거하여, 상기 요청에 대응 가능한 로봇을 특정할 수 있다. 앞서 살펴본 것과 같이, 데이터베이스 상에는 로봇 각각에 대한 다양한 정보 존재하며, 클라우드 서버(20)는 이러한 데이터베이스에 근거하여, 상기 요청에 기반하여 임무를 수행할 로봇을 특정할 수 있다.Based on this request, the cloud server 20 can specify a robot that can perform the service among the plurality of robots located in the building 1000. The cloud server 20 records i) the types of services that the robot can perform, ii) the tasks already assigned to the robot, iii) the current location of the robot, and iv) the status of the robot (ex: power status, cleanliness status, battery status, etc.). Based on this, a robot capable of responding to the request can be specified. As seen above, there is a variety of information about each robot in the database, and the cloud server 20 can specify the robot to perform the mission based on the request based on this database.

나아가, 클라우드 서버(20)는 자체적인 판단에 근거하여, 임무를 수행할 적어도 하나의 로봇을 특정할 수 있다.Furthermore, the cloud server 20 may specify at least one robot to perform the mission based on its own judgment.

여기에서, 클라우드 서버(20)는 다양한 원인에 근거하여 자체적인 판단을 수행할 수 있다. Here, the cloud server 20 can make its own judgment based on various causes.

일 예로서, 클라우드 서버(20)는, 건물(1000)내에 존재하는 특정 사용자 또는 특정 공간에 서비스의 제공이 필요한지를 판단할 수 있다. 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 기반하여, 서비스의 제공이 필요한 특정 대상을 추출할 수 있다.As an example, the cloud server 20 may determine whether provision of a service is necessary to a specific user or a specific space existing within the building 1000. The cloud server 20 senses and receives from at least one of the sensing unit 120 (see FIGS. 4 to 6) present in the building 1000, the sensing unit included in the facility infrastructure 200, and the sensing unit provided in the robot. Based on the information provided, specific targets requiring service provision can be extracted.

여기에서, 특정 대상은, 사람, 공간 또는 객체 중 적어도 하나를 포함할 수 있다. 객체는, 건물(1000)내 위치하는 시설물, 물체 등을 의미할 수 있다. 그리고, 클라우드 서버(20)는 추출된 특정 대상에게 필요한 서비스의 종류를 특정하고, 특정 대상에게 특정 서비스가 제공되도록 로봇을 제어할 수 있다.Here, the specific object may include at least one of a person, space, or object. Objects may refer to facilities, objects, etc. located within the building 1000. Additionally, the cloud server 20 can specify the type of service required for the extracted specific target and control the robot so that the specific service is provided to the specific target.

이를 위하여, 클라우드 서버(20)는 특정 대상에게 특정 서비스를 제공할 적어도 하나의 로봇을 특정할 수 있다. To this end, the cloud server 20 may specify at least one robot to provide a specific service to a specific target.

클라우드 서버(20)는 다양한 판단 알고리즘에 근거하여, 서비스의 제공이 필요한 대상을 판단할 수 있다. 예를 들어, 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 근거하여, 길 안내, 서빙, 계단 이동 등과 같이 서비스의 종류를 특정할 수 있다. 그리고, 클라우드 서버(20)는 해당 서비스가 필요한 대상을 특정할 수 있다. 나아가, 클라우드 서버(20)는 로봇에 의한 서비스가 제공이 제공되도록, 특정된 서비스의 제공이 가능한 로봇을 특정할 수 있다.The cloud server 20 can determine a target that needs to provide services based on various judgment algorithms. For example, the cloud server 20 is at least one of the sensing unit 120 (see FIGS. 4 to 6) present in the building 1000, the sensing unit included in the facility infrastructure 200, and the sensing unit provided in the robot. Based on the information sensed and received from the service, the type of service such as directions, serving, moving up stairs, etc. can be specified. And, the cloud server 20 can specify a target that needs the service. Furthermore, the cloud server 20 may specify a robot capable of providing the specified service so that the service is provided by the robot.

나아가, 클라우드 서버(20)는 다양한 판단 알고리즘에 근거하여, 서비스의 제공이 필요한 특정 공간을 판단할 수 있다. 예를 들어, 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 근거하여, 배송의 타겟 유저, 안내가 필요한 게스트, 오염된 공간, 오염된 시설물, 화재 구역 등과 같이 서비스의 제공이 필요한 특정 공간 또는 객체를 추출하고, 해당 특정 공간 또는 객체에 로봇에 의한 서비스가 제공되도록, 해당 서비스 제공이 가능한 로봇을 특정할 수 있다.Furthermore, the cloud server 20 may determine a specific space that requires provision of a service based on various judgment algorithms. For example, the cloud server 20 is at least one of the sensing unit 120 (see FIGS. 4 to 6) present in the building 1000, the sensing unit included in the facility infrastructure 200, and the sensing unit provided in the robot. Based on the information sensed and received from, specific spaces or objects that require service provision, such as delivery target users, guests requiring guidance, contaminated spaces, contaminated facilities, fire areas, etc., are extracted, and the specific space or object is extracted. In order for a service to be provided by a robot, a robot capable of providing the service can be specified.

이와 같이, 특정 임무(또는 서비스)를 수행할 로봇이 특정되면, 클라우드 서버(20)는 로봇에 임무를 할당하고, 로봇이 임무를 수행하기 위하여 필요한 일련의 제어를 수행할 수 있다.In this way, when a robot to perform a specific task (or service) is specified, the cloud server 20 can assign the task to the robot and perform a series of controls necessary for the robot to perform the task.

이때, 일련의 제어는 i)로봇의 이동 경로 설정, ii)임무가 수행될 목적지까지 이동하는데 이용되어야 할 설비 인프라 특정, iii)특정된 설비 인프라와의 통신, iv)특정된 설비 인프라에 대한 제어, v)임무를 수행하는 로봇 모니터링, vi)로봇의 주행에 대한 평가, vii)로봇의 임무 수행 완료여부 모니터링 중 적어도 하나를 포함할 수 있다.At this time, a series of controls include i) setting the robot's movement path, ii) specifying the facility infrastructure to be used to move to the destination where the mission will be performed, iii) communicating with the specified facility infrastructure, and iv) controlling the specified facility infrastructure. , v) monitoring the robot performing its mission, vi) evaluating the robot's driving, and vii) monitoring whether the robot has completed its mission.

클라우드 서버(20)는 로봇의 임무가 수행될 목적지를 특정하고, 로봇이 해당 목적지에 도달하기 위한 이동 경로를 설정할 수 있다. 로봇(R)은 클라우드 서버(20)에 의해 이동 경로가 설정되면, 임무의 수행을 위하여, 해당 목적지까지 이동하도록 제어될 수 있다.The cloud server 20 can specify a destination where the robot's mission will be performed and set a movement path for the robot to reach the destination. Once the movement path is set by the cloud server 20, the robot R can be controlled to move to the corresponding destination in order to perform its mission.

한편, 클라우드 서버(20)는 로봇이 임무 수행을 시작(개시)하는 위치(이하, “임무 수행 시작 위치”로 명명함)부터 목적지까지 도달하기 위한 이동 경로를 설정할 수 있다. 여기에서, 로봇이 임무 수행을 시작하는 위치는 로봇의 현재 위치이거나, 로봇이 임무 수행을 시작하는 시점에서의 로봇의 위치일 수 있다. Meanwhile, the cloud server 20 can set a movement path for the robot to reach the destination from the location where the robot starts (starts) mission performance (hereinafter referred to as “mission performance start location”). Here, the position where the robot starts performing its mission may be the current position of the robot or the position of the robot at the time the robot starts performing its task.

클라우드 서버(20)는, 건물(1000)의 실내 공간(10)에 대응되는 지도(map, 또는 지도 정보))에 근거하여, 임무를 수행할 로봇의 이동 경로를 생성할 수 있다.The cloud server 20 may generate a movement path for a robot to perform a mission based on a map (or map information) corresponding to the indoor space 10 of the building 1000.

여기에서, 지도는, 건물의 실내 공간을 구성하는 복수의 층(10a, 10b, 10c, …) 각각의 공간에 대한 지도 정보를 포함할 수 있다.Here, the map may include map information for each space of a plurality of floors (10a, 10b, 10c, ...) constituting the indoor space of the building.

나아가, 이동 경로는, 임무 수행 시작 위치로부터, 임무가 수행되는 목적지까지의 이동 경로 일 수 있다.Furthermore, the movement path may be a movement path from the mission performance start location to the destination where the mission is performed.

본 발명에서는 이러한 지도 정보와 이동 경로에 대하여, 실내 공간에 대한 것으로 설명하나, 본 발명은 반드시 이에 한정되는 것은 아니다. 예를 들어, 지도 정보는 실외 공간의 정보를 포함할 수 있으며, 이동 경로는 실내 공간에서 실외 공간까지 이어지는 경로가 될 수 있다.In the present invention, such map information and movement routes are described as pertaining to indoor spaces, but the present invention is not necessarily limited thereto. For example, map information may include information about an outdoor space, and the movement route may be a path extending from an indoor space to an outdoor space.

도 8에 도시된 것과 같이, 건물(1000)의 실내 공간(10)은 서로 다른 복수의 층들(10a, 10b, 10c, 10d, …)로 구성될 수 있으며, 임무 수행 시작 위치와 목적지는 서로 동일한 층에 위치하거나, 서로 다른 층에 위치할 수 있다.As shown in FIG. 8, the indoor space 10 of the building 1000 may be composed of a plurality of different floors 10a, 10b, 10c, 10d, ..., and the mission performance start location and destination are the same. It may be located on one floor or on different floors.

클라우드 서버(20)는 복수의 층들(10a, 10b, 10c, 10d, …)에 대한 지도 정보를 이용하여, 건물(1000) 내에서 서비스를 수행할 로봇의 이동 경로를 생성할 수 있다.The cloud server 20 may use map information for the plurality of floors 10a, 10b, 10c, 10d, ... to create a movement path for a robot to perform a service within the building 1000.

클라우드 서버(20)는 건물(1000)에 배치된 설비 인프라(복수의 설비) 중 로봇이 목적지까지 이동하기 위하여 이용 또는 통과해야 하는 적어도 하나의 설비를 특정할 수 있다. The cloud server 20 may specify at least one facility that the robot must use or pass through to move to the destination among the facility infrastructure (plural facilities) deployed in the building 1000.

예를 들어, 클라우드 서버(20)는 로봇이 1층(10a)에서 2층(10b)으로 이동해야 하는 경우, 로봇의 층간 이동을 보조할 적어도 하나의 설비(204, 205)를 특정하고, 특정된 설비가 위치한 지점을 포함하여 이동 경로를 생성할 수 있다. 여기에서, 로봇의 층간 이동을 보조하는 설비는 로봇 전용 엘리베이터(204), 공용 엘리베이터(213), 에스컬레이터(205) 중 적어도 하나일 수 있다. 이 밖에도, 로봇의 층간 이동을 보조하는 설비는 다양한 종류가 존재할 수 있다.For example, when the robot needs to move from the first floor (10a) to the second floor (10b), the cloud server 20 specifies at least one facility (204, 205) to assist the robot in moving between floors, and specifies You can create a movement route including the point where the installed equipment is located. Here, the equipment that assists the robot in moving between floors may be at least one of a robot-only elevator 204, a public elevator 213, and an escalator 205. In addition, various types of equipment that assist robots in moving between floors may exist.

일 예로서, 클라우드 서버(20)는 실내 공간(10)의 복수의 층들(10a, 10b, 10c, …) 중 목적지에 해당하는 특정 층을 확인하고, 로봇의 임무 수행 시작 위치(ex: 서비스에 대응되는 임무를 개시하는 시점에서의 로봇의 위치)를 기준으로, 로봇이 서비스를 수행하기 위하여 층간 이동이 필요한지 판단할 수 있다.As an example, the cloud server 20 identifies a specific floor corresponding to the destination among the plurality of floors 10a, 10b, 10c, ... of the indoor space 10, and determines the robot's mission performance start location (ex: service Based on the position of the robot at the time of starting the corresponding mission, it can be determined whether the robot needs to move between floors to perform the service.

그리고, 클라우드 서버(20)는 판단 결과에 근거하여, 상기 이동 경로 상에 로봇의 층간 이동을 보조하는 설비(수단)를 포함할 수 있다. 이때, 로봇의 층간 이동을 보조하는 설비는 로봇 전용 엘리베이터(204), 공용 엘리베이터(213), 에스컬레이터(205) 중 적어도 하나일 수 있다. 예를 들어, 클라우드 서버(20)는 로봇의 층간 이동이 필요한 경우, 로봇의 층간 이동을 보조하는 설비가 로봇의 이동 경로 상에 포함되도록, 이동 경로를 생성할 수 있다. And, based on the determination result, the cloud server 20 may include equipment (means) to assist the robot in moving between floors on the movement path. At this time, the equipment that assists the robot in moving between floors may be at least one of a robot-only elevator 204, a public elevator 213, and an escalator 205. For example, when the robot needs to move between floors, the cloud server 20 may create a movement path so that facilities that assist the robot in moving between floors are included in the robot's movement path.

또 다른 예를 들어, 클라우드 서버(20)는 로봇의 이동 경로 상에 로봇 전용 통로(201, 202)가 위치하는 경우, 로봇 전용 통로(201, 202)를 이용하여 로봇이 이동하도록, 로봇 전용 통로(201, 202)가 위치한 지점을 포함하여 이동 경로를 생성할 수 있다. 앞서 도 3과 함께 살펴본 것과 같이, 로봇 전용 통로는 제1 전용 통로(또는 제1 타입 통로, 201) 및 제2 전용 통로(또는 제2 타입 통로, 202) 중 적어도 하나로 이루어질 수 있다. 제1 전용 통로 및 제2 전용 통로(201, 202)는 동일 층에 함께 구비되거나, 서로 다른 층에 구비될 수 있다. 제1 전용 통로(201) 및 상기 제2 전용 통로(202)는 건물의 바닥면을 기준으로 서로 다른 높이를 가질 수 있다. For another example, when the robot-only passage (201, 202) is located on the robot's movement path, the cloud server 20 allows the robot to move using the robot-only passage (201, 202). A movement path can be created including the point where (201, 202) is located. As previously discussed with FIG. 3, the robot-only passage may be comprised of at least one of a first dedicated passage (or first type passage 201) and a second dedicated passage (or second type passage 202). The first dedicated passage and the second dedicated passage 201 and 202 may be provided together on the same floor or may be provided on different floors. The first exclusive passage 201 and the second exclusive passage 202 may have different heights relative to the floor surface of the building.

한편, 클라우드 서버(20)는 로봇이 이용하는 로봇 전용 통로의 타입 및 로봇 전용 통로 주변의 혼잡도에 근거하여, 로봇 전용 통로 상에서의 로봇의 주행 특성이 달라지도록 제어할 수 있다. 클라우드 서버(20)는 도 3 및 도 8에 도시된 것과 같이, 제2 전용 통로를 로봇이 주행하는 경우, 로봇 전용 통로 주변의 혼잡도에 근거하여, 로봇의 주행 특성이 달라지도록 할 수 있다. 제2 전용 통로는, 사람 또는 동물이 접근 가능한 통로이기 때문에, 안전성 및 이동 효율성을 함께 고려하기 위함이다.Meanwhile, the cloud server 20 may control the driving characteristics of the robot on the robot-only passage to vary based on the type of robot-only passage used by the robot and the level of congestion around the robot-only passage. As shown in FIGS. 3 and 8 , when the robot runs on the second dedicated passage, the cloud server 20 may change the driving characteristics of the robot based on the degree of congestion around the robot-only passage. Since the second dedicated passage is a passage accessible to people or animals, it is intended to consider both safety and movement efficiency.

여기에서, 로봇의 주행 특성은, 로봇의 주행 속도와 관련될 수 있다. 나아가, 혼잡도는, 건물(1000)에 배치된 카메라(또는 이미지 센서, 121) 및 로봇에 배치된 카메라 중 적어도 하나로부터 수신되는 영상에 근거하여 산출될 수 있다. 클라우드 서버(20)는 이러한 영상에 근거하여, 로봇이 위치하는 지점 및 진행방향 측의 로봇 전용 통로가 혼잡한 경우, 로봇의 주행 속도를 기 설정된 속도 이하(또는 미만)으로 제어할 수 있다.Here, the driving characteristics of the robot may be related to the driving speed of the robot. Furthermore, the congestion level may be calculated based on images received from at least one of a camera (or image sensor, 121) placed in the building 1000 and a camera placed in the robot. Based on this image, the cloud server 20 may control the robot's traveling speed to be below (or less than) a preset speed when the robot-only passage at the point where the robot is located and in the direction of travel is crowded.

이와 같이, 클라우드 서버(20)는 복수의 층들(10a, 10b, 10c, 10d, …)에 대한 지도 정보를 이용하여, 건물(1000) 내에서 서비스를 수행할 로봇의 이동 경로를 생성하며, 이때, 건물(1000)에 배치된 설비 인프라(복수의 설비) 중 로봇이 목적지까지 이동하기 위하여 이용 또는 통과해야 하는 적어도 하나의 설비를 특정할 수 있다. 그리고, 특정된 적어도 하나의 설비가 이동 경로 상에 포함되도록 하는 이동 경로를 생성할 수 있다. In this way, the cloud server 20 uses map information for the plurality of floors 10a, 10b, 10c, 10d, ... to generate a movement path for a robot to perform a service within the building 1000, where , Among the facility infrastructure (plural facilities) arranged in the building 1000, at least one facility that the robot must use or pass through to move to the destination can be specified. Additionally, a movement path may be created so that at least one specified facility is included in the movement route.

한편, 서비스를 수행하기 위하여 실내 공간(10)을 주행하는 로봇은 클라우드 서버(20)로부터 수신되는 이동 경로를 따라 상기 적어도 하나의 설비를 순차적으로 이용 또는 통과하며 목적지까지 주행을 수행할 수 있다.Meanwhile, a robot traveling in the indoor space 10 to perform a service may sequentially use or pass through the at least one facility along the movement path received from the cloud server 20 and drive to the destination.

한편, 로봇이 이용해야 하는 설비의 순서는, 클라우드 서버(20)의 제어 하에 결정될 수 있다. 나아가, 로봇이 이용해야 하는 설비의 순서는, 클라우드 서버(20)로부터 수신되는 이동 경로에 대한 정보에 포함될 수 있다.Meanwhile, the order of facilities that the robot must use can be determined under the control of the cloud server 20. Furthermore, the order of facilities that the robot must use may be included in the information about the movement path received from the cloud server 20.

한편, 도 7에 도시된 것과 같이, 건물(1000)에는 로봇이 전용하여 사용하는 로봇 전용 설비(201, 202, 204, 208, 209, 211)와 사람과 공동으로 사용하는 공용 설비(205, 206, 207, 213) 중 적어도 하나가 포함될 수 있다.Meanwhile, as shown in FIG. 7, the building 1000 includes robot-specific facilities (201, 202, 204, 208, 209, 211) that are exclusively used by robots and public facilities (205, 206) that are jointly used by people. , 207, 213) may be included.

로봇이 전용하여 사용하는 로봇 전용 설비는, 로봇에 필요한 기능(ex: 충전 기능, 세척 기능, 대기 기능)을 제공하는 설비(208. 209)와 로봇의 이동에 이용되는 설비(201, 202, 204, 211)를 포함할 수 있다.Robot-specific facilities used exclusively by robots include facilities that provide functions necessary for the robot (ex: charging function, cleaning function, standby function) (208, 209) and facilities used for robot movement (201, 202, 204). , 211).

클라우드 서버(20)는, 로봇이 이동 경로를 생성함에 있어, 임무 수행 시작 위치로부터 목적지까지의 경로 상에, 로봇 전용 설비가 존재하는 경우, 로봇이 로봇 전용 설비를 이용하여 이동(또는 통과)하도록 하는 이동 경로를 생성할 수 있따. 즉, 클라우드 서버(20)는 로봇 전용 설비를 우선하여 이동 경로를 생성할 수 있다. 이는 로봇의 이동의 효율성을 높이기 위함이다. 예를 들어, 클라우드 서버(20)는 목적지까지의 이동 경로 상에 로봇 전용 엘리베이터(204)와 공용 엘리베이터(213)가 모두 존재하는 경우, 로봇 전용 엘리베이터(204)가 포함된 이동 경로를 생성할 수 있다.When creating a movement path for the robot, if a robot-specific facility exists on the path from the mission performance start location to the destination, the cloud server 20 allows the robot to move (or pass) using the robot-specific facility. You can create a movement path. In other words, the cloud server 20 can create a movement path by prioritizing robot-specific facilities. This is to increase the efficiency of the robot's movement. For example, if both the robot-only elevator 204 and the public elevator 213 exist on the movement path to the destination, the cloud server 20 may create a movement path including the robot-only elevator 204. there is.

위에서 살펴본 것과 같이, 본 발명에 따른 건물(1000)을 주행하는 로봇은, 건물(1000)에 구비된 다양한 설비를 이용하여, 임무 수행을 위하여 건물(1000)이 실내 공간을 주행할 수 있다.As seen above, the robot traveling in the building 1000 according to the present invention can travel in the indoor space of the building 1000 to perform its mission using various facilities provided in the building 1000.

클라우드 서버(20)는 로봇의 원활한 이동을 위하여, 로봇이 이용하는 또는 이용이 예정된 적어도 하나의 설비의 제어 시스템(또는 제어 서버)와 통신하도록 이루어질 수 있다. 앞서, 도 4와 함께 살펴본 것과 같이, 설비들을 제어하기 위한 고유의 제어 시스템들은 클라우드 서버(20), 로봇(R), 건물(1000) 중 적어도 하나와 통신하여, 로봇(R)이 설비를 이용하도록 각각의 설비에 대한 적절한 제어를 수행할 수 있다.For smooth movement of the robot, the cloud server 20 may communicate with a control system (or control server) of at least one facility that the robot uses or is scheduled to use. As previously seen with FIG. 4, unique control systems for controlling facilities communicate with at least one of the cloud server 20, the robot (R), and the building 1000, so that the robot (R) uses the facility. Appropriate control of each facility can be performed to ensure that

한편, 클라우드 서버(20)는 건물(1000) 내에서 로봇의 위치 정보를 확보해야 하는 니즈가 존재한다. 즉, 클라우드 서버(200은 실시간 또는 기 설정된 시간 간격으로 건물(1000)을 주행하는 로봇의 위치를 모니터링할 수 있다. 클라우드 서버(1000은 건물(1000)을 주행하는 복수의 로봇 모두에 대한 위치 정보를 모니터링하거나, 필요에 따라 선택적으로 특정 로봇에 대해서만 위치 정보를 모니터링할 수 있다. 모니터링 되는 로봇의 위치 정보는 로봇의 정보가 저장된 데이터베이스 상에 저장될 수 있으며, 로봇의 위치 정보는 시간의 흐름에 따라 연속적으로 업데이트될 수 있다. Meanwhile, the cloud server 20 has a need to secure location information of the robot within the building 1000. In other words, the cloud server (200) can monitor the positions of robots traveling around the building 1000 in real time or at preset time intervals. The cloud server (1000) provides location information on all of the plurality of robots running around the building (1000). You can monitor or, if necessary, selectively monitor the location information only for a specific robot. The location information of the monitored robot can be stored in a database where the robot's information is stored, and the location information of the robot can be stored over time. It can be continuously updated accordingly.

건물(1000)에 위치한 로봇의 위치 정보를 추정하는 방법은 매우 다양할 수 있으며, 이하에서는 로봇의 위치 정보를 추정하는 실시 예에 대하여 살펴보도록 한다.Methods for estimating the location information of a robot located in the building 1000 can be very diverse. Hereinafter, we will look at an embodiment of estimating the location information of the robot.

도 9 내지 도 11은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇의 위치를 추정하는 방법을 설명하기 위한 개념도들이다. 9 to 11 are conceptual diagrams for explaining a method of estimating the position of a robot traveling in a robot-friendly building according to the present invention.

일 예로서, 도 9에 도시된 것과 같이, 본 발명에 따른 클라우드 서버(20)는 로봇(R)에 구비된 카메라(미도시됨)를 이용하여 공간(10)에 대한 영상을 수신하고, 수신된 영상으로부터 로봇의 위치를 추정하는 Visual Localization을 수행하도록 이루어진다. 이때, 카메라는 공간(10)에 대한 영상, 즉, 로봇(R) 주변에 대한 영상을 촬영(또는 센싱)하도록 이루어진다. 이하에서는, 설명의 편의를 위하여, 로봇(R)에 구비된 카메라를 이용하여 획득된 영상을 “로봇 영상”이라고 명명하기로 한다. 그리고, 공간(10)에 배치된 카메라를 통하여 획득된 영상을 “공간 영상”이라고 명명하기로 한다.As an example, as shown in FIG. 9, the cloud server 20 according to the present invention receives an image of the space 10 using a camera (not shown) provided on the robot R, and receives Visual localization is performed to estimate the location of the robot from the image. At this time, the camera is configured to capture (or sense) an image of the space 10, that is, an image of the surroundings of the robot R. Hereinafter, for convenience of explanation, the image acquired using the camera provided on the robot R will be referred to as “robot image.” And, the image acquired through the camera placed in the space 10 will be called “spatial image.”

클라우드 서버(20)는 도 9의 (a)에 도시된 것과 같이, 로봇(R)에 구비된 카메라(미도시)를 통하여 로봇 영상(910)을 획득하도록 이루어진다. 그리고, 클라우드 서버(20)는 획득된 로봇 영상(910)을 이용하여, 로봇(R)의 현재 위치를 추정할 수 있다.The cloud server 20 is configured to acquire the robot image 910 through a camera (not shown) provided on the robot R, as shown in (a) of FIG. 9. And, the cloud server 20 can estimate the current location of the robot R using the acquired robot image 910.

클라우드 서버(20)는 로봇 영상(910)과 데이터베이스에 저장된 지도 정보를 비교하여, 도 9의 (b)에 도시된 것과 같이, 로봇(R)의 현재 위치에 대응하는 위치 정보(예를 들어, “3층 A구역 (3, 1, 1)”)를 추출할 수 있다. The cloud server 20 compares the robot image 910 with the map information stored in the database and provides location information (e.g., “3rd floor area A (3, 1, 1)”) can be extracted.

앞서 살펴본 것과 같이, 본 발명에서 공간(10)에 대한 지도는 사전에 공간(10)을 이동하는 적어도 하나의 로봇에 의해, SLAM(Simultaneous Localization and Mapping)에 기반하여 작성된 지도일 수 있다. 특히, 공간(10)에 대한 지도는, 영상 정보를 기반으로 생성된 지도일 수 있다. As discussed above, in the present invention, the map of the space 10 may be a map created in advance by at least one robot moving the space 10 based on SLAM (Simultaneous Localization and Mapping). In particular, the map for the space 10 may be a map generated based on image information.

즉, 공간(10)에 대한 지도는 vision(또는 visual)기반의 SLAM기술에 의하여 생성된 지도일 수 있다.In other words, the map for space 10 may be a map generated by vision (or visual)-based SLAM technology.

따라서, 클라우드 서버(20)는 로봇(R)에서 획득된 로봇 영상(910)에 대해 도 9의 (b)에 도시된 것과 같이 좌표 정보(예를 들어, (3층, A구역(3, 1,1,))를 특정할 수 있다. 이와 같이, 특정된 좌표 정보는 곧, 로봇(R)의 현재 위치 정보가 될 수 있다.Therefore, the cloud server 20 provides coordinate information (e.g., (3rd floor, area A (3, 1) ,1,)) can be specified. In this way, the specified coordinate information can become the current location information of the robot (R).

이때, 클라우드 서버(20)는, 로봇(R)에서 획득된 로봇 영상(910)과 vision(또는 visual)기반의 SLAM 기술에 의하여 생성된 지도를 비교함으로써, 로봇(R)의 현재 위치를 추정할 수 있다. 이 경우, 클라우드 서버(20)는 i)로봇 영상(910)과 기 생성된 지도를 구성하는 이미지들 간의 이미지 비교를 이용하여, 로봇 영상(910)과 가장 비슷한 이미지를 특정하고, ii)특정된 이미지에 매칭된 위치 정보를 획득하는 방식으로 로봇(R)의 위치 정보를 특정할 수 있다.At this time, the cloud server 20 estimates the current location of the robot (R) by comparing the robot image 910 acquired from the robot (R) with the map generated by vision (or visual)-based SLAM technology. You can. In this case, the cloud server 20 uses i) image comparison between the robot image 910 and the images constituting the previously generated map to specify the image most similar to the robot image 910, and ii) the specified The location information of the robot (R) can be specified by obtaining location information matched to the image.

이와 같이, 클라우드 서버(20)는 도 9의 (a)에 도시된 것과 같이, 로봇(R)에서 로봇 영상(910)이 획득되면, 획득된 로봇 영상(910)을 이용하여, 로봇의 현재 위치를 특정할 수 있다. 앞서 살펴본 것과 같이, 클라우드 서버(20)는 데이터베이스에 기 저장된 지도 정보(예를 들어, “참조 맵”으로도 명명 가능)로부터, 상기 로봇 영상(910)에 대응되는 위치 정보(예를 들어, 좌표 정보)를 추출할 수 있다.In this way, as shown in (a) of FIG. 9, when the robot image 910 is acquired from the robot R, the cloud server 20 uses the acquired robot image 910 to determine the current location of the robot. can be specified. As seen above, the cloud server 20 receives location information (e.g., coordinates) corresponding to the robot image 910 from map information previously stored in the database (e.g., may also be called a “reference map”). information) can be extracted.

한편, 위의 설명에서는, 클라우드 서버(20)에서 로봇(R)의 위치를 추정하는 예에 대하여 설명하였으나, 앞서 살펴본 것과 같이, 로봇(R)의 위치 추정은 로봇(R) 자체에서 이루어질 수 있다. 즉, 로봇(R)은 로봇(R) 자체에서 수신되는 영상에 근거하여, 앞서 살펴본 방식으로 현재 위치를 추정할 수 있다. 그리고, 로봇(R)은, 추정된 위치 정보를 클라우드 서버(20)에 전송할 수 있다. 이 경우, 클라우드 서버(20)는 로봇으로부터 수신되는 위치 정보에 기반하여, 일련의 제어를 수행할 수 있다.Meanwhile, in the above description, an example of estimating the position of the robot (R) in the cloud server 20 has been described. However, as seen above, the position estimation of the robot (R) can be made in the robot (R) itself. . In other words, the robot R can estimate its current location in the manner described above, based on the image received from the robot R itself. And, the robot R can transmit the estimated location information to the cloud server 20. In this case, the cloud server 20 may perform a series of controls based on the location information received from the robot.

이와 같이, 로봇 영상(910)으로부터 로봇(R)의 위치 정보가 추출되면, 클라우드 서버(20)는 상기 위치 정보와 대응되는 실내 공간(10)에 배치된 적어도 하나의 카메라(121)를 특정할 수 있다. 클라우드 서버(20)는 데이터베이스에 저장된 카메라(121)와 관련된 매칭 정보로부터, 상기 위치 정보에 대응되는 실내 공간(10)에 배치된 카메라(121)를 특정할 수 있다.In this way, when the location information of the robot R is extracted from the robot image 910, the cloud server 20 can specify at least one camera 121 placed in the indoor space 10 corresponding to the location information. You can. The cloud server 20 may specify the camera 121 placed in the indoor space 10 corresponding to the location information from matching information related to the camera 121 stored in the database.

이러한 영상들은, 로봇의 위치 추정 뿐만 아니라, 로봇에 대한 관제에도 활용될 수 있다. 예를 들어, 클라우드 서버(20)는, 로봇(R)의 관제를 위하여, 로봇(R) 자체에서 획득되는 로봇 영상(910) 및 로봇(R)이 위치한 공간에 배치된 카메라(121)로부터 획득된 영상을 관제 시스템의 디스플레이부에 함께 출력시킬 수 있다. 따라서, 건물(1000) 내에서 또는 외부에서 로봇(R)을 원격으로 관리 및 제어하는 관리자가, 로봇(R)에서 획득되는 로봇 영상(910) 뿐만 아니라, 로봇(R)이 위치한 공간에 대한 영상을 고려하여 로봇(R)에 대한 원격 제어를 수행하도록 할 수 있다.These images can be used not only to estimate the location of the robot, but also to control the robot. For example, in order to control the robot R, the cloud server 20 obtains the robot image 910 from the robot R itself and the camera 121 placed in the space where the robot R is located. The image can be output together with the display unit of the control system. Accordingly, an administrator who remotely manages and controls the robot (R) within or outside the building (1000) may view not only the robot image (910) acquired from the robot (R), but also the image of the space where the robot (R) is located. Considering this, remote control of the robot (R) can be performed.

다른 예로서, 실내 공간(10)을 주행하는 로봇의 위치 추정은, 도 10의 (a)에 도시된 것과 같이, 실내 공간(10)에 구비된 태그(1010)에 기반하여 이루어질 수 있다.As another example, the location of the robot traveling in the indoor space 10 may be estimated based on the tag 1010 provided in the indoor space 10, as shown in (a) of FIG. 10.

도 10을 참조하면, 태그(1010)에는 도 10의 (b)에 도시된 것과 같이, 태그(1010)가 부착된 지점에 대응되는 위치 정보가 매칭되어 존재할 수 있다. 즉, 건물(1000)의 실내 공간(10)의 서로 다른 복수의 지점에는 서로 다른 식별 정보를 갖는 태그(1010)들이 각각 구비될 수 있다. 태그 각각의 식별 정보 및 태그가 부착된 지점의 위치 정보는 서로 매칭되어, 데이터베이스 상에 존재할 수 있다.Referring to FIG. 10, the tag 1010 may have matching location information corresponding to the point where the tag 1010 is attached, as shown in (b) of FIG. 10. That is, tags 1010 having different identification information may be provided at a plurality of different points in the indoor space 10 of the building 1000. The identification information of each tag and the location information of the point where the tag is attached may be matched with each other and exist in a database.

나아가, 태그(1010)에는, 각각의 태그(1010)에 매칭된 위치 정보를 포함하도록 이루어질 수 있다.Furthermore, the tags 1010 may include location information matched to each tag 1010.

로봇(R)은 로봇(R)에 구비된 센서를 이용하여, 공간(10)에 구비된 태그(1010)를 인식할 수 있다. 이러한 인식을 통해, 로봇(R)은 태그(1010)에 포함된 위치 정보를 추출함으로써, 로봇(R)의 현재 위치를 파악할 수 있다. 이러한 추출된 위치 정보는 통신부(110)를 통해, 로봇(R)에서 클라우드 서버(20)로 전송될 수 있다. 따라서, 클라우드 서버(20)는 태그를 센싱한 로봇(R)으로부터 수신된 위치 정보에 근거하여, 건물(20)을 주행하는 로봇들의 위치를 모니터링할 수 있다.The robot R can recognize the tag 1010 provided in the space 10 using a sensor provided on the robot R. Through this recognition, the robot (R) can determine the current location of the robot (R) by extracting the location information included in the tag (1010). This extracted location information may be transmitted from the robot R to the cloud server 20 through the communication unit 110. Accordingly, the cloud server 20 can monitor the positions of robots running around the building 20 based on the position information received from the robot R that senses the tag.

나아가, 로봇(R)은 인식된 태그(1010)의 식별 정보를, 클라우드 서버(20)로 전송할 수 있다. 클라우드 서버(20)는 데이터베이스로부터, 태그(1010)의 식별 정보에 매칭된 위치 정보를 추출하여, 건물(1000) 내에서 로봇의 위치를 모니터링할 수 있다. Furthermore, the robot R may transmit identification information of the recognized tag 1010 to the cloud server 20. The cloud server 20 may extract location information matching the identification information of the tag 1010 from the database and monitor the location of the robot within the building 1000.

한편, 위에서 설명한 태그(1010)의 용어는 다양하게 명명될 수 있다. 예를 들어, 이러한 태그(1010)는 QR코드, 바코드, 식별 표지 등으로 다양하게 명명되는 것이 가능하다. 한편, 위에서 살펴본 태그의 용어는 “마커(marker)”로 대체되어 사용되어질 수 있다.Meanwhile, the terminology for the tag 1010 described above may be named in various ways. For example, this tag 1010 can be variously named QR code, bar code, identification mark, etc. Meanwhile, the tag terminology discussed above can be replaced with “marker.”

이하에서는, 건물(1000)의 실내 공간(10)에 위치한 로봇(R)의 위치를 모니터링 하는 방법 중 로봇(R)에 구비된 식별 표지를 이용하여, 로봇(R)을 모니터링 하는 방법에 대하여 살펴본다.In the following, among the methods of monitoring the position of the robot (R) located in the indoor space (10) of the building (1000), we will look at a method of monitoring the robot (R) using the identification sign provided on the robot (R). see.

앞서, 데이터베이스에는, 로봇(R)에 대한 다양한 정보가 저장될 수 있음을 살펴보았다. 로봇(R)에 대한 다양한 정보는 실내 공간(10)에 위치한 로봇(R)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등),를 포함할 수 있다. Previously, we saw that various information about the robot (R) can be stored in the database. Various information about the robot R may include identification information (eg, serial number, TAG information, QR code information, etc.) for identifying the robot R located in the indoor space 10.

한편, 로봇(R)의 식별 정보는 도 11에 도시된 것과 같이, 로봇(R)에 구비된 식별 표지(또는 식별 마크)에 포함될 수 있다. 이러한 식별 표지는 건물 제어 시스템(1000a), 설비 인프라(200)에 의하여 센싱되거나, 스캔되는 것이 가능하다. 도 11의 (a), (b) 및 (c)에 도시된 것과 같이, 로봇(R)의 식별 표지(1101. 1102. 1103)는 로봇의 식별 정보를 포함할 수 있다. 도시와 같이, 식별 표지(1101. 1102. 1103)는 바코드 (barcode, 1101), 일련 정보(또는 시리얼 정보, 1102), QR코드(1103), RFID태그(미도시됨) 또는 NFC 태그(미도시됨) 등으로 나타내어 질 수 있다. 바코드 (barcode, 1101), 일련 정보(또는 시리얼 정보, 1102), QR코드(1103), RFID태그(미도시됨) 또는 NFC 태그(미도시됨) 등은 식별 표지가 구비된(또는 부착된) 로봇의 식별 정보를 포함하도록 이루어질 수 있다. Meanwhile, identification information of the robot R may be included in an identification sign (or identification mark) provided on the robot R, as shown in FIG. 11. These identification marks can be sensed or scanned by the building control system 1000a and the facility infrastructure 200. As shown in Figures 11 (a), (b), and (c), the identification marks 1101, 1102, and 1103 of the robot R may include identification information of the robot. As shown, the identification marks (1101, 1102, 1103) include a barcode (1101), serial information (or serial information 1102), QR code (1103), RFID tag (not shown), or NFC tag (not shown). ) can be expressed as, etc. A barcode (1101), serial information (or serial information, 1102), QR code (1103), RFID tag (not shown), or NFC tag (not shown) is provided with (or attached to) an identification mark. It may be made to include identification information of the robot.

로봇의 식별 정보는, 로봇 각각을 구분하기 위한 정보로서, 동일한 종류의 로봇이더라도, 서로 다른 식별 정보를 가질 수 있다. 한편, 식별 표지를 구성하는 정보는, 위에서 살펴본 바코드, 일련 정보, QR코드, RFID태그(미도시됨) 또는 NFC 태그(미도시됨) 외에도 다양하게 구성될 수 있다.The identification information of the robot is information for distinguishing each robot, and even robots of the same type may have different identification information. Meanwhile, the information constituting the identification mark may be composed of various types of information in addition to the barcode, serial information, QR code, RFID tag (not shown), or NFC tag (not shown) discussed above.

클라우드 서버(20)는 실내 공간(10)에 배치된 카메라, 다른 로봇에 구비된 카메라, 또는 설비 인프라에 구비된 카메라로부터 수신되는 영상으로부터 로봇(R)의 식별 정보를 추출하여, 실내 공간(10)에서 로봇의 위치를 파악하고, 모니터링할 수 있다. 한편, 식별 표지를 센싱하는 수단은 반드시 카메라에 한정될 필요 없으며, 식별 표지의 형태에 따라 센싱부(예를 들어, 스캔부)가 이용될 수 있다. 이러한 센싱부는, 실내 공간(10), 로봇들 및 설비 인프라(200) 중 적어도 하나에 구비될 수 있다.The cloud server 20 extracts identification information of the robot R from images received from a camera placed in the indoor space 10, a camera installed in another robot, or a camera installed in the facility infrastructure, and extracts identification information of the robot R from the image received from a camera installed in the indoor space 10 ), you can identify and monitor the location of the robot. Meanwhile, the means for sensing the identification mark is not necessarily limited to a camera, and a sensing unit (for example, a scanning unit) may be used depending on the type of the identification mark. This sensing unit may be installed in at least one of the indoor space 10, robots, and facility infrastructure 200.

일 예로서, 카메라에서 촬영된 영상으로부터 식별 표지가 센싱된 경우, 클라우드 서버(20)는 카메라로부터 수신되는 영상으로부터 로봇(R)의 위치를 파악할 수 있다. 이때, 클라우드 서버(20)는 카메라가 배치된 위치 정보 및 영상에서의 로봇의 위치 정보(정확하게는, 로봇를 피사체로 하여 촬영된 영상에서, 로봇에 대응되는 그래픽 객체의 위치 정보) 중 적어도 하나에 근거하여, 로봇(R)의 위치를 파악할 수 있다.As an example, when an identification mark is sensed from an image captured by a camera, the cloud server 20 can determine the location of the robot R from the image received from the camera. At this time, the cloud server 20 is based on at least one of the location information where the camera is placed and the location information of the robot in the image (more precisely, the location information of the graphic object corresponding to the robot in the image captured with the robot as the subject). Thus, the location of the robot (R) can be determined.

데이터베이스 상에는, 실내 공간(10)에 배치된 카메라에 대한 식별 정보와 함께, 카메라가 배치된 장소에 대한 위치 정보가 매칭되어 존재할 수 있다. 따라서, 클라우드 서버(20)는 영상을 촬영한 카메라의 식별정보와 매칭된 위치 정보를 데이터베이스로부터 추출하여, 로봇(R)의 위치정보를 추출할 수 있다.On the database, identification information about the camera placed in the indoor space 10 may be matched with location information about the place where the camera is placed. Accordingly, the cloud server 20 can extract the location information of the robot R by extracting the location information matched with the identification information of the camera that captured the image from the database.

다른 예로서, 스캔부에 의해 식별 표지가 센싱된 경우, 클라우드 서버(20)는 스캔부로터 센싱된 스캔 정보로부터 로봇(R)위 위치를 파악할 수 있다. 데이터베이스 상에는, 실내 공간(10)에 배치된 스캔부에 대한 식별 정보와 함께, 스캔부가 배치된 장소에 대한 위치 정보가 매칭되어 존재할 수 있다. 따라서, 클라우드 서버(20)는 로봇에 구비된 식별 표지를 스캔한 스캔부에 매칭된 위치 정보를 데이터베이스로부터 추출하여, 로봇(R)의 위치정보를 추출할 수 있다.As another example, when an identification mark is sensed by the scanning unit, the cloud server 20 can determine the location on the robot R from the scan information sensed by the scanning unit. On the database, identification information on the scanning unit placed in the indoor space 10 may be matched with location information on the place where the scanning unit is placed. Accordingly, the cloud server 20 can extract the location information of the robot R by extracting location information matched to the scanning unit that scanned the identification mark provided on the robot from the database.

위에서 살펴본 것과 같이, 본 발명에 따른 건물에서는, 건물에 구비된 다양한 인프라를 이용하여, 로봇의 위치를 추출하고, 모니터링하는 것이 가능하다. 나아가, 클라우드 서버(20)는 이러한 로봇의 위치를 모니터링 함으로써, 건물 내에서 로봇을 효율적이고, 정확하게 제어하는 것이 가능하다.As seen above, in the building according to the present invention, it is possible to extract and monitor the location of the robot using various infrastructures provided in the building. Furthermore, the cloud server 20 monitors the location of the robot, making it possible to efficiently and accurately control the robot within the building.

본 발명에 따른 로봇 제어 방법에 대하여 설명하기에 앞서, 본 발명에 따른 로봇 시스템에 포함된 로봇에 대하여 보다 구체적으로 설명한다. Before explaining the robot control method according to the present invention, the robot included in the robot system according to the present invention will be described in more detail.

도 12는 본 발명에 따른 로봇 시스템에 포함된 로봇을 설명하기 위한 개념도이다.Figure 12 is a conceptual diagram for explaining the robot included in the robot system according to the present invention.

도 12를 참조하면, 로봇은 통신부(1201), 저장부(1202), 주행부(1203), 제어부(1204) 및 센서부를 포함할 수 있다. 통신부(1201) 및 저장부(1202)는 앞서 설명하였는 바, 구체적인 설명은 생략한다.Referring to FIG. 12, the robot may include a communication unit 1201, a storage unit 1202, a traveling unit 1203, a control unit 1204, and a sensor unit. Since the communication unit 1201 and the storage unit 1202 have been previously described, detailed descriptions will be omitted.

주행부(1203)는 로봇을 공간 내에서 이동할 수 있도록 이루어진다. 주행부(1203)는 로봇의 이동 방향 및 이동 속도 중 적어도 하나를 제어할 수 있도록 이루어지며, 제어부(1204)는 주행부(1203)를 제어하여 로봇이 설정된 이동 경로대로 주행할 수 있도록 한다. The traveling unit 1203 is configured to move the robot within space. The traveling unit 1203 is configured to control at least one of the moving direction and moving speed of the robot, and the control unit 1204 controls the traveling unit 1203 to allow the robot to travel along a set movement path.

주행부(1203)는 로봇에 포함된 제어부(1204) 및 클라우드 서버(20)에 의해 제어될 수 있다. 본 명세서에서 별도로 한정하지 않는 한, 로봇에 포함된 제어부(1204) 및 클라우드 서버(20) 중 어느 하나에 의한 로봇 제어는 다른 하나에 의해서도 가능하다. The traveling unit 1203 can be controlled by the control unit 1204 and the cloud server 20 included in the robot. Unless otherwise limited in this specification, control of the robot by one of the control unit 1204 and the cloud server 20 included in the robot is also possible by the other.

다음으로, 제어부(1204)는 본 발명과 관련된 로봇의 전반적인 동작을 제어하도록 이루어질 수 있다. 제어부(1204)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다. 본 명세서에서 별도로 한정하지 않는 한, 제어부(1204)는 로봇에 구비된 제어부를 의미 한다.Next, the control unit 1204 may be configured to control the overall operation of the robot related to the present invention. The control unit 1204 can process signals, data, information, etc. input or output through the components discussed above, or provide or process appropriate information or functions to the user. Unless otherwise defined herein, the control unit 1204 refers to a control unit provided in the robot.

한편, 제어부(1204)는 본 발명에 장애물과 관련된 장애 이벤트가 발생되는 것에 근거하여, 제어 명령을 생성하고, 서버로부터 수신된 제어 명령 및 로봇 내에서 생성된 제어 명령 중 적어도 하나를 활용하여 회피 경로를 생성한다. 본 명세서에서 별도의 한정이 없는 한, 제2제어 명령 및 회피 경로 생성은 로봇 내에 구비된 제어부(1204)에 의해 수행된다. Meanwhile, the control unit 1204 generates a control command based on the occurrence of a failure event related to an obstacle in the present invention, and uses at least one of the control command received from the server and the control command generated within the robot to create an avoidance path. creates . Unless otherwise specified herein, the second control command and avoidance path generation are performed by the control unit 1204 provided in the robot.

한편, 로봇 각각에는 적어도 하나의 센서가 포함될 수 있으며, 상기 적어도 하나의 센서는 주기적으로 주변 환경을 센싱하여 센싱 정보를 생성한다. 로봇은 생성된 센싱 정보를 서버로 전송한다. Meanwhile, each robot may include at least one sensor, and the at least one sensor periodically senses the surrounding environment and generates sensing information. The robot transmits the generated sensing information to the server.

본 발명에서는 로봇의 주행과 관련된 제어를 수행함에 있어서, 로봇이 장애물에 대하여 효과적으로 대처할 수 있도록 하는 로봇 제어 방법 및 시스템을 제공할 수 있다. 이하에서는, 이에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 13은 본 발명에 따른 로봇 제어 방법을 설명하기 위한 흐름도이고, 도 14 및 15는 본 발명에 따른 로봇 제어 방법을 나타내는 개념도이다.The present invention can provide a robot control method and system that allows the robot to effectively cope with obstacles when performing control related to the running of the robot. Below, this will be looked at in more detail along with the attached drawings. Figure 13 is a flowchart for explaining the robot control method according to the present invention, and Figures 14 and 15 are conceptual diagrams showing the robot control method according to the present invention.

먼저, 서버로부터 제1제어 명령을 수신하는 단계가 진행된다(S110).First, a step of receiving a first control command from the server proceeds (S110).

본 명세서에서 별도의 한정이 없는 한, 서버는 클라우드 서버(20)를 의미한다. 한편, 상기 지도는 클라우드 서버(20)에 저장된 지도 정보를 의미한다. 서버는 로봇의 주행과 관련된 제어 명령을 로봇으로 전송한다.In this specification, unless otherwise specified, server refers to the cloud server 20. Meanwhile, the map refers to map information stored in the cloud server 20. The server transmits control commands related to the robot's driving to the robot.

서버는 로봇이 건물 내 공간을 주행할 수 있도록 하는 제1제어 명령을 생성한다. 예를 들어, 로봇에 임무가 할당되는 경우, 서버는 상기 로봇이 임무 수행을 위한 건물 내 목적지에 도달할 수 있도록하는 제1제어 명령을 생성한다. The server generates a first control command that allows the robot to travel through the space within the building. For example, when a mission is assigned to a robot, the server generates a first control command that allows the robot to reach a destination in the building to perform the mission.

로봇의 주행과 관련된 제어 명령은 주행 경로를 포함할 수 있다. 주행 경로는 목적지까지 도달하기 위해 로봇이 경유해야 하는 건물 내 공간을 정의하는 경로 정보, 로봇의 주행 방향, 주행 속도, 회전 방향 및 회전 속도 중 적어도 하나와 관련된 정보를 포함할 수 있다. Control commands related to the robot's driving may include a driving path. The driving path may include path information defining the space within the building that the robot must pass through to reach the destination, and information related to at least one of the robot's driving direction, driving speed, rotation direction, and rotation speed.

예를 들어, 서버는 로봇에 임무가 할당되는 경우, 로봇 임무 수행을 위한 건물 내 목적지를 특정하고, 로봇이 상기 목적지까지 이동하기 위한 경로를 설정한다. 또한, 로봇이 상기 경로를 따라 주행하는 중 로봇의 위치에 따른 로봇의 주행 방향, 주행 속도, 회전 방향 및 회전 속도 중 적어도 하나를 설정한다. 로봇의 주행 방향, 주행 속도, 회전 방향 및 회전 속도 중 적어도 하나는 로봇의 건물 내 위치에 따라 달라질 수 있다. 서버는 로봇이 상기 목적지까지 이동하기 위한 경로를 설정 할 때, 로봇의 위치별 주행 방향, 주행 속도, 회전 방향 및 회전 속도를 함께 설정할 수 있다. 이와 달리, 서버는 로봇이 상기 목적지까지 이동하기 위한 경로만 우선하여 설정한 후, 로봇의 위치에 따라 실시간으로 로봇의 주행 방향, 주행 속도, 회전 방향 및 회전 속도를 설정하여 로봇으로 전송할 수 있다.For example, when a mission is assigned to a robot, the server specifies a destination in the building for the robot to perform the mission and sets a path for the robot to move to the destination. In addition, while the robot is traveling along the path, at least one of the traveling direction, traveling speed, rotation direction, and rotation speed of the robot is set according to the robot's position. At least one of the robot's traveling direction, traveling speed, rotation direction, and rotation speed may vary depending on the robot's location within the building. When setting a path for the robot to move to the destination, the server can also set the traveling direction, traveling speed, rotation direction, and rotation speed for each location of the robot. In contrast, the server can set only the path for the robot to move to the destination with priority, and then set the driving direction, driving speed, rotation direction, and rotation speed of the robot in real time according to the robot's location and transmit them to the robot.

본 명세서에서 별도의 한정이 없는 한, 로봇의 제어 명령은 로봇이 건물 내 목적지까지 도달하기 위해 로봇이 경유해야 하는 건물 내 공간을 정의하는 경로 정보, 주행 방향 정보, 주행 속도 정보, 회전 방향 정보 및 회전 속도 정보 중 적어도 하나를 포함할 수 있다.Unless otherwise specified herein, the robot's control command includes path information, traveling direction information, traveling speed information, rotation direction information, and It may include at least one of rotation speed information.

본 명세서에서 제1제어 명령은 서버에서 생성되어 로봇으로 전송되는 제어 명령을 의미하며, 로봇이 목적지까지 도달하도록 하기 위한 주행 경로를 포함할 수 있다. 다만, 이에 한정되지 않고, 상기 제1제어 명령은 서버에서 생성되어 로봇으로 전송되는, 로봇의 주행과 관련된 모든 명령 정보를 포함할 수 있다.In this specification, the first control command refers to a control command generated by the server and transmitted to the robot, and may include a driving path for the robot to reach the destination. However, the first control command is not limited to this, and may include all command information related to the running of the robot that is generated in the server and transmitted to the robot.

로봇은 서버로부터 제1제어 명령을 수신한 후, 상기 제1제어 명령에 기반하여 공간을 주행한다. 특정 로봇이 상기 공간을 주행하는 중, 상기 공간에 대한 센싱을 수행하는 단계가 수행될 수 있다. 이를 기반으로, 상기 특정 로봇에서 센싱된 센싱 정보에 기반하여 상기 공간에 위치한 장애물과 관련된 장애 이벤트의 발생 여부를 판단하는 단계가 수행된다(S120).After receiving the first control command from the server, the robot travels in space based on the first control command. While a specific robot is traveling in the space, a step of performing sensing of the space may be performed. Based on this, a step of determining whether a failure event related to an obstacle located in the space has occurred based on the sensing information sensed by the specific robot is performed (S120).

상기 특정 로봇은 상기 제1제어 명령 또는 후술할 회피 제어 명령에 따라 상기 공간을 주행할 수 있다. 즉, 상기 특정 로봇이 상기 공간을 주행하도록 하는 제어 명령은 서버로부터 수신된 제어 명령이거나, 로봇에서 생성된 제어 명령일 수 있다.The specific robot can travel in the space according to the first control command or an avoidance control command to be described later. That is, the control command that causes the specific robot to travel in the space may be a control command received from a server or a control command generated by the robot.

상기 특정 로봇에는 적어도 하나에 센서가 구비되며, 상기 적어도 하나의 센서는 로봇 주변의 환경 정보를 수집할 수 있다. 로봇에 포함된 제어부는 로봇에 포함된 센서부에서 생성된 센싱 정보에 기반하여 장애물과 관련된 장애 이벤트 발생 여부를 판단할 수 있다. The specific robot is equipped with at least one sensor, and the at least one sensor can collect environmental information around the robot. The control unit included in the robot can determine whether a failure event related to an obstacle has occurred based on sensing information generated by the sensor unit included in the robot.

본 발명에 따른 건물 내 공간에는 로봇과 사람이 공존한다. 이에 따라, 로봇 관점에서 건물 내 공간에는 다양한 장애물이 존재하게 된다. 구체적으로, 건물 내에서 이동하는 사람, 사람에 의해 옮겨지는 화물, 사람이 설치한 구조물 등은 로봇의 주행을 방해하는 장애물이다. 본 명세서에서 장애물의 종류는 별도로 한정하지 않으며, 로봇의 주행을 방해하는 모든 객체를 장애물이라 한다.Robots and people coexist in the space within the building according to the present invention. Accordingly, from the robot's perspective, various obstacles exist in the space within the building. Specifically, people moving within a building, cargo carried by people, structures installed by people, etc. are obstacles that impede the robot's driving. In this specification, the type of obstacle is not specifically limited, and all objects that interfere with the robot's driving are referred to as obstacles.

다만, 서버에 관련 정보가 등록되어 있거나, 서버에 의해 제어 가능한 물체의 경우, 장애물로 정의하지 않는다. 예를 들어, 서버는 건물 내 구조 정보, 건물 내 배치된 인프라의 위치 및 크기를 정의하는 환경 정보를 저장할 수 있다. 상기 환경 정보가 정의하는 객체는 장애물로 정의되지 않는다. 한편, 주행 중인 다른 로봇의 경우, 서버에 의해 제어될 수 있는 객체이므로 장애물로 정의되지 않는다.However, if relevant information is registered on the server or an object can be controlled by the server, it is not defined as an obstacle. For example, the server may store structural information within a building and environmental information defining the location and size of infrastructure deployed within the building. Objects defined by the environment information are not defined as obstacles. Meanwhile, in the case of other running robots, they are not defined as obstacles because they are objects that can be controlled by the server.

한편, 상기 장애물과 관련된 장애 이벤트의 발생 여부는 서버에 의해 판단될 수 있다. 구체적으로, 로봇은 로봇에 포함된 센서부에서 생성된 센싱 정보를 서버로 전송하고, 서버는 수신된 센싱 정보에 기반하여 장애 이벤트의 발생 여부를 판단할 수 있다. Meanwhile, whether a failure event related to the obstacle occurs may be determined by the server. Specifically, the robot transmits sensing information generated by the sensor unit included in the robot to the server, and the server can determine whether a failure event has occurred based on the received sensing information.

본 명세서에서, 장애물과 관련된 장애 이벤트는 로봇이 공간 내 배치된 장애물로 인하여 상기 제1제어 명령에 따른 주행을 할 수 없는 상황을 의미한다. In this specification, an obstacle-related obstacle event refers to a situation in which a robot cannot drive according to the first control command due to an obstacle placed in space.

예를 들어, 상기 장애 이벤트는 로봇의 이동 경로 상에서 장애물이 감지되어 로봇이 로봇의 이동 경로에 따라 주행할 경우, 로봇과 장애물 간 충돌이 예상되는 상황을 의미할 수 있다.For example, the obstacle event may mean a situation in which a collision between the robot and the obstacle is expected when an obstacle is detected on the robot's movement path and the robot travels along the robot's movement path.

다른 예를 들어, 상기 장애 이벤트는 장애물이 로봇이 위치한 방향으로 이동하여 로봇이 상기 이동 중인 장애물을 회피하지 않을 경우, 로봇과 장애물 간 충돌이 예상되는 상황을 의미할 수 있다.For another example, the obstacle event may mean a situation in which a collision between the robot and the obstacle is expected when the obstacle moves in the direction where the robot is located and the robot does not avoid the moving obstacle.

다만, 이에 한정되지 않고, 장애물과 관련된 장애 이벤트는 로봇이 장애물로 인하여 서버로부터 수신한 제1제어 명령에 따른 제어를 수행할 수 없는 모든 상황을 의미한다.However, it is not limited to this, and a failure event related to an obstacle refers to any situation in which the robot cannot perform control according to the first control command received from the server due to the obstacle.

상기 장애 이벤트의 발생에 근거하여, 상기 장애 이벤트와 관련된 제2제어 명령을 생성하는 단계가 진행된다(S130).Based on the occurrence of the failure event, a step of generating a second control command related to the failure event is performed (S130).

상기 제2제어 명령은 로봇 내에 포함된 제어부에 의해 생성되는 제어 명령을 의미한다. 즉, 로봇은 장애 이벤트가 발생되는 경우, 로봇 내에 포함된 제어부에서 상기 제1제어 명령과 다른 새로운 제어 명령을 생성할 수 있다.The second control command refers to a control command generated by a control unit included in the robot. That is, when a failure event occurs in the robot, the control unit included in the robot can generate a new control command that is different from the first control command.

제2제어 명령은 상기 로봇이 상기 제1제어 명령에 따른 주행 방향, 주행 속도, 회전 방향 및 회전 속도 중 적어도 하나와 다르게 구동되도록 하는 제어 명령일 수 있다. 제2제어 명령은 주행 경로를 포함할 수 있고, 제2제어 명령에 포함된 주행 경로는 로봇의 주행 경로는 로봇이 건물 내 목적지까지 도달하기 위해 로봇이 경유해야 하는 건물 내 공간을 정의하는 경로 정보, 주행 방향 정보, 주행 속도 정보, 회전 방향 정보 및 회전 속도 정보 중 적어도 하나를 포함할 수 있다.The second control command may be a control command that causes the robot to be driven differently from at least one of the traveling direction, traveling speed, rotation direction, and rotation speed according to the first control command. The second control command may include a driving path, and the driving path included in the second control command may be path information defining a space within the building that the robot must pass through in order to reach the destination within the building. , may include at least one of driving direction information, driving speed information, rotation direction information, and rotation speed information.

예를 들어, 제1제어 명령은 로봇이 제1방향으로 3초간 주행하도록 하는 제어 명령일 수 있다. 제2제어 명령은 로봇이 상기 제1방향과 반대 방향인 제2방향으로 1초간 주행하도록 하는 제어 명령일 수 있다.For example, the first control command may be a control command that causes the robot to travel in the first direction for 3 seconds. The second control command may be a control command that causes the robot to travel in a second direction opposite to the first direction for 1 second.

한편, 제1제어 명령에 대응되는 주행 경로에 포함된 목적지와 제2제어 명령에 대응되는 주행 경로에 포함된 목적지는 서로 다를 수 있다. 예를 들어, 제1제어 명령에 대응되는 주행 경로에 포함된 목적지는 로봇이 임무 수행을 위해 이동해야하는 건물 내 일 지점일 수 있고, 제2제어 명령에 대응되는 주행 경로에 포함된 목적지는 장애물을 완전히 회피할 수 있는 건물 내 일 지점일 수 있다.Meanwhile, the destination included in the driving path corresponding to the first control command may be different from the destination included in the driving path corresponding to the second control command. For example, the destination included in the driving path corresponding to the first control command may be a point in a building where the robot must move to perform the mission, and the destination included in the driving path corresponding to the second control command may be a point in the building where the robot must move to perform the mission. It may be a point in the building that can be completely avoided.

상기 로봇 내에서 생성되는 제2제어 명령은 간단한 알고리즘을 통해 생성되는 제어 명령일 수 있다. 구체적으로, 로봇 내에 포함된 제어부는 장애물과 관련된 장애 이벤트가 발생되는 경우, 장애물을 회피할 수 있도록 하는 단순한 제어 명령을 생성할 수 있다. The second control command generated within the robot may be a control command generated through a simple algorithm. Specifically, the control unit included in the robot can generate a simple control command to avoid the obstacle when an obstacle-related failure event occurs.

예를 들어, 로봇 내에 포함된 제어부는 장애물이 감지되는 방향과 반대 방향으로 로봇이 주행할 수 있도록 하는 제어 명령을 생성할 수 있다.For example, a control unit included in the robot may generate a control command that allows the robot to travel in a direction opposite to the direction in which the obstacle is detected.

다른 예를 들어, 로봇 내에 포함된 제어부는 장애물이 감지되는 경우, 로봇을 기설정된 시간 동안 정지하도록 하는 제어 명령을 생성할 수 있다.For another example, the control unit included in the robot may generate a control command to stop the robot for a preset time when an obstacle is detected.

다른 예를 들어, 로봇 내에 포함된 제어부는 장애물이 감지되는 경우, 주행속도를 50% 감속하도록 하는 제어 명령을 생성할 수 있다.For another example, the control unit included in the robot may generate a control command to reduce the traveling speed by 50% when an obstacle is detected.

한편, 로봇에 포함된 제어부는 상기 장애 이벤트를 회피할 수 있는 주행 경로를 생성할 수 있다. 이에 따라, 상기 제2제어 명령은 주행 경로와 관련된 정보를 포함할 수 있다. Meanwhile, the control unit included in the robot can create a driving path that can avoid the failure event. Accordingly, the second control command may include information related to the driving path.

상술한 바와 같이, 장애 이벤트가 발생되는 경우, 로봇에 포함된 제어부는 연산량을 최소화하여 빠른 속도로 장애 이벤트를 회피할 수 있도록 하는 제어 명령을 생성할 수 있다.As described above, when a failure event occurs, the control unit included in the robot can generate control commands to quickly avoid the failure event by minimizing the amount of calculation.

다음으로, 상기 제1 및 제2제어 명령에 기반하여, 상기 장애 이벤트에 대한 회피 경로를 생성하는 단계(S140)가 진행되며, 상기 회피 경로를 따라 이동하도록 상기 특정 로봇에 대한 제어를 수행하는 단계(S150)가 수행된다.Next, based on the first and second control commands, a step of generating an avoidance path for the failure event (S140) is performed, and a step of controlling the specific robot to move along the avoidance path. (S150) is performed.

로봇에 포함된 제어부는 상기 제1 및 제2제어 명령 각각에 대응되는 주행 경로 중 적어도 하나에 기반하여 회피 경로를 생성한다.The control unit included in the robot generates an avoidance path based on at least one of the driving paths corresponding to each of the first and second control commands.

여기서, 회피 경로는 크게 두 가지 방식으로 생성될 수 있다.Here, the avoidance path can be created in two major ways.

첫 번째, 상기 제1 및 제2제어 명령을 조합함으로써, 생성될 수 있다. 구체적으로, 로봇에 포함된 제어부는 상기 서버로부터 수신된 제1제어 명령 및 로봇 내에서 생성된 제2제어 명령을 결합하여 회피 제어 명령을 생성할 수 있다. 구체적으로, 상기 제1 및 제2제어 명령은 로봇의 주행 속도, 주행 방향, 주행 거리 및 주행 경로 중 적어로 하나와 관련된 정보를 포함할 수 있다. 서버는 로봇으로 제어 명령을 전송함으로써, 로봇의 주행 속도, 주행 방향, 주행 거리 및 주행 경로 중 적어도 하나를 제어할 수 있다.First, it can be generated by combining the first and second control commands. Specifically, the control unit included in the robot may generate an avoidance control command by combining a first control command received from the server and a second control command generated within the robot. Specifically, the first and second control commands may include information related to at least one of the robot's traveling speed, traveling direction, traveling distance, and traveling path. The server can control at least one of the robot's traveling speed, traveling direction, traveling distance, and traveling path by transmitting a control command to the robot.

일 실시 예에 있어서, 상기 제1 및 제2제어 명령 각각이 로봇의 주행 속도 및 주행 방향과 관련된 정보를 포함하는 경우, 상기 제1 및 제2제어 명령을 결합하여 생성된 회피 제어 명령은 상기 제1 및 제2제어 명령 각각에 포함된 주행 속도 및 주행 방향을 결합한 주행 속도 및 주행 경로를 포함할 수 있다.In one embodiment, when each of the first and second control commands includes information related to the traveling speed and direction of the robot, the avoidance control command generated by combining the first and second control commands is the It may include a driving speed and a driving path that combine the driving speed and driving direction included in each of the first and second control commands.

다른 일 실시 예에 있어서, 상기 제1 및 제2제어 명령 각각이 로봇의 주행 경로와 관련된 정보를 포함하는 경우, 로봇에 포함된 제어부는 상기 제1 및 제2제어 명령 각각에 대응되는 주행 경로 중 적어도 하나에 기반하여 회피 경로를 생성할 수 있다. In another embodiment, when each of the first and second control commands includes information related to the driving path of the robot, the control unit included in the robot controls one of the driving paths corresponding to each of the first and second control commands. An avoidance route can be created based on at least one.

상술한 바와 같이, 로봇에 포함된 제어부는 상기 제1 및 제2제어 명령을 결합하여, 로봇의 주행 속도, 주행 방향, 주행 거리 및 주행 경로 중 적어도 하나를 포함하는 회피 제어 명령을 생성할 수 있다. 설명의 편의상, 본 명세서에서는 ‘로봇에 포함된 제어부가 회피 제어 명령을 생성’하는 것과 ‘로봇에 포함된 제어부가 회피 경로를 생성’하는 것은 같은 의미로 혼용될 수 있다. 이에 따라, ‘로봇에 포함된 제어부가 회피 경로를 생성’하는 표현은 ‘로봇에 포함된 제어부가 회피 제어 명령을 생성’하는 것으로 해석될 수 있다.As described above, the control unit included in the robot combines the first and second control commands to generate an avoidance control command including at least one of the robot's travel speed, travel direction, travel distance, and travel path. . For convenience of explanation, in this specification, ‘the control unit included in the robot generates an avoidance control command’ and ‘the control unit included in the robot generates an avoidance path’ can be used interchangeably with the same meaning. Accordingly, the expression ‘the control unit included in the robot creates an avoidance path’ can be interpreted as ‘the control unit included in the robot generates an avoidance control command.’

도 14를 참조하면, 로봇(R)이 로봇 주변에 나타난 장애물(1401)을 감지하는 경우, 로봇(R) 내에 포함된 제어부는 로봇이 주행 중이던 제1방향(1421)과 다른 제2방향(1423)으로 주행하도록 하는 제2제어 명령을 생성할 수 있다. 로봇에 포함된 제어부는 기존 로봇의 주행 경로(1410) 및 상기 제2제어 명령을 모두 고려하여, 회피 경로(1411)를 생성할 수 있다.Referring to FIG. 14, when the robot (R) detects an obstacle (1401) that appears around the robot, the control unit included in the robot (R) moves in a second direction (1423) different from the first direction (1421) in which the robot was traveling. ) can generate a second control command to drive. The control unit included in the robot may consider both the existing robot's driving path 1410 and the second control command and generate an avoidance path 1411.

다만, 이에 한정되지 않고, 회피 경로(1411)는 제어부에 의해 생성되는 것이 아니라, 장애물(1401)을 회피하기 위한 회피 제어의 결과 로봇의 주행 궤적일 수 있다. 구체적으로, 로봇(R)이 로봇 주변에 나타난 장애물(1401)을 감지하는 경우, 로봇(R) 내에 포함된 제어부는 로봇이 주행 중이던 제1방향(1421)과 다른 제2방향(1423)으로 주행하도록 하는 제2제어 명령을 생성할 수 있다. 로봇에 포함된 제어부는 기존 로봇의 주행 경로(1410) 및 상기 제2제어 명령을 모두 고려하여, 장애물 회피를 위한 로봇의 주행 속도 및 주행 방향을 포함하는 회피 제어 명령을 생성할 수 있다. 로봇이 장애물을 완전히 회피 한 후, 로봇에 포함된 제어부는 기존 로봇의 주행 경로(1410)로 복귀하도록 하는 제어를 수행할 수 있다. 이에 따라, 로봇의 주행 궤적은 1411와 같이 형성될 수 있다. However, the avoidance path 1411 is not limited to this, and the avoidance path 1411 may not be generated by the control unit, but may be a driving trajectory of the robot as a result of avoidance control to avoid the obstacle 1401. Specifically, when the robot (R) detects an obstacle (1401) that appears around the robot, the control unit included in the robot (R) moves the robot in a second direction (1423) different from the first direction (1421) in which the robot was traveling. A second control command to do so can be generated. The control unit included in the robot may consider both the existing robot's travel path 1410 and the second control command and generate an avoidance control command including the robot's travel speed and travel direction for obstacle avoidance. After the robot completely avoids the obstacle, the control unit included in the robot may perform control to return the robot to its existing travel path 1410. Accordingly, the robot's traveling trajectory can be formed as shown in 1411.

한편, 로봇에 포함된 제어부는 제1 및 제2제어 명령 각각에 대응되는 주행 방향, 주행 속도, 회전 방향, 회전 속도 중 적어도 하나와 관련된 정보를 조합하여 제1 및 제2제어 명령에 대응되는 주행 경로를 결합한 주행 경로를 생성할 수 있다.Meanwhile, the control unit included in the robot combines information related to at least one of the traveling direction, traveling speed, rotation direction, and rotation speed corresponding to each of the first and second control commands, and performs traveling corresponding to the first and second control commands. You can create a driving route by combining routes.

보다 구체적으로, 도 15의 (a)를 참조하면, 제1제어 명령이 로봇의 주행 방향 및 주행 속도를 정의하는 제1벡터(1521a)로 이루어지고, 제2제어 명령이 로봇의 주행 방향 및 주행 속도를 정의하는 제2벡터(1522a)로 이루어지는 경우, 상기 회피 경로는 상기 제1 및 제2벡터의 합성 벡터(1523a)로 정의될 수 있다.More specifically, referring to (a) of FIG. 15, the first control command is composed of a first vector 1521a that defines the traveling direction and traveling speed of the robot, and the second control command is configured to define the traveling direction and traveling speed of the robot. When comprised of a second vector 1522a defining speed, the avoidance path may be defined as a composite vector 1523a of the first and second vectors.

한편, 로봇에 포함된 제어부는 제1 및 제2제어 명령을 결합하여 회피 경로를 생성함에 있어서, 로봇에 포함된 센서부에서 생성된 센싱 정보에 기반하여 상기 제1 및 제2제어 명령 각각에 가중치를 설정할 수 있다. 이에 따라, 상기 회피 경로는 상기 제1 및 제2제어 명령 각각에 설정된 가중치를 고려하여 생성될 수 있다.Meanwhile, in generating an avoidance path by combining the first and second control commands, the control unit included in the robot applies weight to each of the first and second control commands based on sensing information generated by the sensor unit included in the robot. can be set. Accordingly, the avoidance path can be created considering the weights set for each of the first and second control commands.

상기 제1 및 제2제어 명령 각각에 부여되는 가중치는 상기 장애 이벤트와 관련된 위치, 상기 특정 로봇과 상기 장애 이벤트와 관련된 위치 간 거리, 상기 특정 로봇이 상기 장애 이벤트와 관련된 위치에 도달하는 시간, 상기 장애 이벤트의 종류, 상기 장애 이벤트와 관련된 물체의 이동 속도, 상기 장애 이벤트와 관련된 물체의 이동 방향 및 상기 제1제어 명령이 상기 장애 이벤트를 고려하여 생성되었는지 여부 중 적어도 하나에 기반하여 설정될 수 있다.The weight given to each of the first and second control commands is the location related to the failure event, the distance between the specific robot and the location related to the failure event, the time for the specific robot to reach the location related to the failure event, It can be set based on at least one of the type of failure event, the movement speed of the object related to the failure event, the movement direction of the object related to the failure event, and whether the first control command is generated in consideration of the failure event. .

일 실시 예에 있어서, 로봇에 포함된 제어부는 상기 센싱 정보에 기반하여 상기 로봇과 장애물 간의 거리를 산출하고, 상기 거리에 기반하여 상기 제1 및 제2제어 명령 각각에 가중치를 설정할 수 있다. 구체적으로, 제어부는 상기 로봇과 장애물 간의 거리가 멀수록 상기 제1제어 명령에 대한 가중치를 크게 설정하고, 상기 제2제어 명령에 대한 가중치를 작게 설정할 수 있다. 나아가, 제어부는 상기 로봇과 장애물 간의 거리가 소정 거리를 초과하는 경우, 상기 제2제어 명령을 생성하지 않고, 상기 제1제어 명령에 따라 로봇을 제어할 수 있다.In one embodiment, the control unit included in the robot may calculate the distance between the robot and the obstacle based on the sensing information, and set a weight for each of the first and second control commands based on the distance. Specifically, the controller may set the weight for the first control command to be large and the weight for the second control command to be small as the distance between the robot and the obstacle is long. Furthermore, if the distance between the robot and the obstacle exceeds a predetermined distance, the controller may control the robot according to the first control command without generating the second control command.

도 15의 (b)를 참조하면, 로봇(R)과 장애물(1501)간의 거리(d2)가 기준 거리 이내인 경우, 제2제어 명령에 대응되는 벡터(1522b)의 가중치가 제1제어 명령에 대응되는 벡터(1521b)의 가중치보다 크게 설정된다. 이에 따라, 합성 벡터(1523b)는 제2제어 명령에 대응되는 벡터(1522b)와 유사하게 생성된다.Referring to (b) of FIG. 15, when the distance d2 between the robot R and the obstacle 1501 is within the reference distance, the weight of the vector 1522b corresponding to the second control command is added to the first control command. It is set larger than the weight of the corresponding vector (1521b). Accordingly, the composite vector 1523b is generated similarly to the vector 1522b corresponding to the second control command.

이와 달리, 도 15의 (c)를 참조하면, 로봇(R)과 장애물(1501)간의 거리(d3)가 기준 거리를 초과하는 경우, 제2제어 명령에 대응되는 벡터(1522c)의 가중치가 제1제어 명령에 대응되는 벡터(1521c)의 가중치보다 크게 설정된다. 이에 따라, 합성 벡터(1523c)는 제1제어 명령에 대응되는 벡터(1521c)와 유사하게 생성된다.On the other hand, referring to (c) of FIG. 15, when the distance d3 between the robot R and the obstacle 1501 exceeds the reference distance, the weight of the vector 1522c corresponding to the second control command is It is set larger than the weight of the vector 1521c corresponding to 1 control command. Accordingly, the composite vector 1523c is generated similarly to the vector 1521c corresponding to the first control command.

다른 일 실시 예에 있어서, 로봇에 포함된 제어부는 상기 장애물이 상기 로봇 방향으로 이동하는 속도에 기반하여 상기 제1 및 제2제어 명령 각각에 가중치를 설정할 수 있다. 구체적으로, 제어부는 상기 장애물의 속도가 빠를수록 상기 제1제어 명령에 대한 가중치를 작게 설정하고, 상기 제2제어 명령에 대한 가중치를 크게 설정할 수 있다. In another embodiment, the control unit included in the robot may set a weight for each of the first and second control commands based on the speed at which the obstacle moves in the direction of the robot. Specifically, the controller may set the weight for the first control command to be small and the weight for the second control command to be large as the speed of the obstacle is fast.

다른 일 실시 예에 있어서, 로봇에 포함된 제어부는 상기 로봇의 속도, 상기 장애물의 속도 및 상기 장애물과 상기 로봇 간의 거리에 기반하여 상기 로봇과 상기 장애물간의 충돌 예상 시간을 산출하고, 상기 충돌 예상 시간에 기반하여 상기 제1 및 제2제어 명령 각각에 가중치를 설정할 수 있다. 구체적으로, 제어부는 상기 상기 충돌 예상 시간이 짧을 수록 상기 제1제어 명령에 대한 가중치를 작게 설정하고, 상기 제2제어 명령에 대한 가중치를 크게 설정할 수 있다.In another embodiment, the control unit included in the robot calculates the expected collision time between the robot and the obstacle based on the speed of the robot, the speed of the obstacle, and the distance between the obstacle and the robot, and the expected collision time Based on , weights can be set for each of the first and second control commands. Specifically, the shorter the expected collision time, the control unit may set the weight for the first control command to be small and the weight for the second control command to be large.

한편, 상기 센싱 정보가 기 설정된 조건을 만족하는 경우, 상기 제2제어 명령에 기반하여 상기 장애 이벤트에 대한 회피를 수행할 수 있다.Meanwhile, if the sensing information satisfies a preset condition, avoidance of the failure event may be performed based on the second control command.

일 실시 예에 있어서, 로봇과 장애물 간의 거리가 기설정된 범위 이내 인 경우, 로봇에 포함된 제어부는 제2제어 명령에 포함된 주행 경로, 주행 방향, 주행 속도, 회전 방향 및 회전 속도 중 적어도 하나와 관련된 정보를 이용하여 장애물에 대한 회피를 수행할 수 있다. In one embodiment, when the distance between the robot and the obstacle is within a preset range, the control unit included in the robot controls at least one of the traveling path, traveling direction, traveling speed, rotation direction, and rotation speed included in the second control command. Avoidance of obstacles can be performed using related information.

다른 일 실시 예에 있어서, 상기 로봇의 속도 및 상기 장애물의 속도 중 적어도 하나가 기준 속도보다 빠르게 이동하는 경우, 제2제어 명령만으로 회피를 수행할 수 있다. In another embodiment, when at least one of the speed of the robot and the speed of the obstacle moves faster than the reference speed, avoidance may be performed only with the second control command.

다른 일 실시 예에 있어서, 로봇에 포함된 제어부는 상기 로봇의 속도, 상기 장애물의 속도 및 상기 장애물과 상기 로봇 간의 거리에 기반하여 상기 로봇과 상기 장애물간의 충돌 예상 시간을 산출하고, 충돌 예상 시간이 기준 시간보다 작은 경우, 제2제어 명령만으로 회피를 수행할 수 있다.In another embodiment, the control unit included in the robot calculates the expected collision time between the robot and the obstacle based on the speed of the robot, the speed of the obstacle, and the distance between the obstacle and the robot, and the expected collision time is If it is less than the reference time, avoidance can be performed only with the second control command.

본 발명에 따르면 로봇이 주행 중 돌발 상황(예를 들어, 갑작스럽게 장애물이 나타나는 경우)이 발생하는 경우, 서버로부터 미리 수신된 돌발 상황이 고려되지 않은 제어 명령 및 로봇에서 감지된 장애물을 회피하기 위한 제어 명령을 모두 고려하는 방법을 제안함으로써, 로봇에서 다양한 돌발상황에 따른 장애 이벤트를 회피할 수 있도록 한다. 이때, 본 발명은 장애물에 대한 대처 가능 시간을 고려하여 서버에서 생성된 제어 명령 및 로봇에서 생성된 제어 명령의 가중치를 다르게 설정할 수 있다. 이를 통해, 본 발명에 의해 제어되는 로봇은 장애물에 대한 대처시간이 충분하지 않은 경우, 장애물에 대한 빠른 회피를 최우선으로 하고, 장애물에 대한 대처시간이 충분한 경우, 기 설정된 주행 경로에서 벗어나는 것을 최소화 하면서 장애물에 대처할 수 있도록 함으로써, 로봇의 상황에 맞는 적절한 대처가 가능하다.According to the present invention, when an unexpected situation (for example, an obstacle suddenly appears) occurs while the robot is running, a control command received in advance from the server that does not take into account the unexpected situation and a command to avoid the obstacle detected by the robot are provided. By proposing a method that considers all control commands, the robot can avoid failure events due to various unexpected situations. At this time, the present invention can set the weights of the control command generated by the server and the control command generated by the robot differently in consideration of the time available to deal with the obstacle. Through this, the robot controlled by the present invention prioritizes quick avoidance of obstacles when there is not enough time to deal with obstacles, and when there is enough time to deal with obstacles, it minimizes deviation from the preset driving path. By allowing the robot to cope with obstacles, it is possible to respond appropriately to the robot's situation.

한편, 서버는 상기 장애 이벤트의 발생에 근거하여 상기 제1제어 명령을 수정하고, 수정된 제1제어 명령을 로봇을 전송할 수 있다. 이 경우, 상기 회피 경로는 상기 수정된 제1제어 명령에 대응되는 주행 경로 및 상기 제2제어 명령에 대응되는 주행 경로를 결합하여 생성될 수 있다. Meanwhile, the server may modify the first control command based on the occurrence of the failure event and transmit the modified first control command to the robot. In this case, the avoidance path may be created by combining the driving path corresponding to the modified first control command and the driving path corresponding to the second control command.

도 16은 서버에 의해 수정된 제어 명령과 로봇 내에서 생성된 제어 명령을 활용하여 장애물을 회피하는 일 실시 예를 나타내는 개념도이다.Figure 16 is a conceptual diagram showing an embodiment of avoiding obstacles using control commands modified by the server and control commands generated within the robot.

이 때, 상기 수정전 제1제어 명령에 부여되는 가중치는 상기 수정된 제1제어 명령에 부여되는 가중치보다 높고, 상기 수정된 제1제어 명령에 부여되는 가중치는 상기 제2제어 명령에 부여되는 가중치보다 높을 수 있다. 즉, 로봇에 포함된 제어부는 서버로부터 수신된 수정된 제어 명령을 최우선적으로 고려하여 회피 경로를 생성할 수 있다.At this time, the weight given to the unmodified first control command is higher than the weight given to the modified first control command, and the weight given to the modified first control command is higher than the weight given to the second control command. It can be high. In other words, the control unit included in the robot can create an avoidance route by giving priority to the modified control command received from the server.

도 16을 참조하면, 서버는 장애 이벤트가 발생되는 경우, 종래 주행 속도 및 주행 방향을 정의하는 벡터(1621)에 포함된 주행 속도 및 주행 방향을 수정하여 수정 벡터(1624)를 생성한다. 제어부는 수정 벡터(1624)와 제2제어 명령에 대응되는 벡터(1622)를 합성하여 합성 벡터(1623)를 생성할 수 있다. Referring to FIG. 16, when a failure event occurs, the server generates a correction vector 1624 by correcting the traveling speed and direction included in the vector 1621 that defines the conventional traveling speed and direction. The control unit may generate a composite vector 1623 by combining the correction vector 1624 and the vector 1622 corresponding to the second control command.

상술한 바와 같이, 본 발명은 서버로부터 생성된 제어 명령 및 로봇 내에서 생성된 제어 명령을 모두 활용하여 장애 이벤트에 대한 회피를 수행할 수 있다. As described above, the present invention can avoid failure events by utilizing both control commands generated from the server and control commands generated within the robot.

한편, 회피 경로를 생성하는 두 번째 방식으로, 본 발명은 서버로부터 생성된 제어 명령 및 로봇 내에서 생성된 제어 명령 중 어느 하나만을 활용하여 회피 경로를 생성할 수 있다.Meanwhile, as a second method of generating an avoidance path, the present invention can generate an avoidance path by utilizing only one of a control command generated from a server and a control command generated within the robot.

도 17은 서버에 의해 수정된 제어 명령과 로봇 내에서 생성된 제어 명령 중 어느 하나을 선택하여 장애물을 회피하는 일 실시 예를 나타내는 개념도이다.Figure 17 is a conceptual diagram showing an embodiment of avoiding an obstacle by selecting one of a control command modified by the server and a control command generated within the robot.

구체적으로, 로봇 내에 포함된 제어부는 상기 제1 및 제2제어 명령 각각에 우선 순위를 설정하고, 상기 회피 경로는 상기 제1 및 제2제어 명령 각각에 설정된 우선 순위에 따라, 상기 제1 및 제2제어 명령 각각에 대응되는 주행 경로 중 어느 하나로 선택될 수 있다.Specifically, the control unit included in the robot sets priorities to each of the first and second control commands, and the avoidance path is formed according to the priorities set to each of the first and second control commands. One of the driving paths corresponding to each of the two control commands may be selected.

일 실시 예에 있어서, 도 17의 (a)를 참조하면, 로봇에 포함된 제어부는 상기 센싱 정보에 기반하여 상기 로봇과 장애물 간의 거리를 산출하고, 상기 거리에 기반하여 상기 제1 및 제2제어 명령 각각에 우선 순위를 설정할 수 있다. 구체적으로, 제어부는 상기 로봇(R)과 장애물(1601) 간의 거리(d1)가 기준 거리 이내인 경우, 상기 제2제어 명령(1622b)에 대한 우선 순위를 상기 제1제어 명령(1621a)에 대한 우선 순위보다 높게 설정할 수 있다. 이와 달리, 도 17의 (b)를 참조하면, 제어부는 상기 로봇(R)과 장애물(1601) 간의 거리(d2)가 기준 거리를 초과하는 경우, 상기 제1제어 명령(1621b)에 대한 우선 순위를 상기 제2제어 명령(1622b)에 대한 우선 순위보다 높게 설정할 수 있다. In one embodiment, referring to (a) of FIG. 17, the control unit included in the robot calculates the distance between the robot and the obstacle based on the sensing information, and performs the first and second controls based on the distance. You can set priorities for each command. Specifically, if the distance d1 between the robot R and the obstacle 1601 is within the reference distance, the control unit determines the priority for the second control command 1622b to the first control command 1621a. It can be set higher than the priority. In contrast, referring to (b) of FIG. 17, when the distance d2 between the robot R and the obstacle 1601 exceeds the reference distance, the control unit determines the priority for the first control command 1621b. can be set higher than the priority for the second control command 1622b.

다른 일 실시 예에 있어서, 로봇에 포함된 제어부는 상기 로봇의 현재 속도 또는 상기 장애물이 상기 로봇 방향으로 이동하는 속도에 기반하여 상기 제1 및 제2제어 명령 각각에 우선 순위를 설정할 수 있다. 구체적으로, 제어부는 상기 로봇의 속도 및 상기 장애물의 속도 기준 중 어느 하나가 기준 속도 이내인 경우, 상기 제1제어 명령에 대한 우선 순위를 상기 제2제어 명령에 대한 우선 순위보다 높게 설정할 수 있다. 이와 달리, 제어부는 상기 로봇의 속도 및 상기 장애물의 속도 기준 중 어느 하나가 기준 속도를 초과하는 경우, 상기 제2제어 명령에 대한 우선 순위를 상기 제1제어 명령에 대한 우선 순위보다 높게 설정할 수 있다.In another embodiment, the control unit included in the robot may set priorities to each of the first and second control commands based on the current speed of the robot or the speed at which the obstacle moves in the direction of the robot. Specifically, when either the speed of the robot or the speed of the obstacle is within the reference speed, the control unit may set the priority of the first control command to be higher than the priority of the second control command. In contrast, when either the speed of the robot or the speed of the obstacle exceeds the reference speed, the control unit may set the priority of the second control command to be higher than the priority of the first control command. .

다른 일 실시 예에 있어서, 로봇에 포함된 제어부는 상기 로봇의 속도, 상기 장애물의 속도 및 상기 장애물과 상기 로봇 간의 거리에 기반하여 상기 로봇과 상기 장애물간의 충돌 예상 시간을 산출하고, 상기 충돌 예상 시간에 기반하여 상기 제1 및 제2제어 명령 각각에 우선 순위를 설정할 수 있다. 구체적으로, 제어부는 충돌 예상 시간이 기준 시간 이내인 경우, 상기 제1제어 명령에 대한 우선 순위를 상기 제2제어 명령에 대한 우선 순위보다 높게 설정할 수 있다. 이와 달리, 제어부는 충돌 예상 시간이 기준 시간을 초과하는 경우, 상기 제1제어 명령에 대한 우선 순위를 상기 제2제어 명령에 대한 우선 순위보다 높게 설정할 수 있다.In another embodiment, the control unit included in the robot calculates the expected collision time between the robot and the obstacle based on the speed of the robot, the speed of the obstacle, and the distance between the obstacle and the robot, and the expected collision time Based on this, priorities can be set for each of the first and second control commands. Specifically, if the expected collision time is within the reference time, the control unit may set the priority for the first control command to be higher than the priority for the second control command. Alternatively, if the expected collision time exceeds the reference time, the control unit may set the priority of the first control command to be higher than the priority of the second control command.

상기 제1 및 제2제어 명령 각각에 우선 순위 중 상기 제1제어 명령에 대응되는 우선 순위가 높게 설정되는 경우, 상기 제어부는 상기 제1제어 명령에 따른 주행 경로를 유지하고 경우, 서버로부터 상기 장애 이벤트 회피와 관련된 새로운 제어 명령을 수신한다. 이후, 제어부는 상기 새로운 제어 명령에 기반하여, 상기 장애 이벤트의 회피와 관련된 제어를 수행할 수 있다.When the priority corresponding to the first control command is set high among the priorities of each of the first and second control commands, the control unit maintains the driving path according to the first control command, and the fault is transmitted from the server. Receive new control commands related to event avoidance. Thereafter, the controller may perform control related to avoidance of the failure event based on the new control command.

상술한 바와 같이, 본 발명에 따르면 로봇이 주행 중 갑작스럽게 장애물이 나타나는 경우, 장애물에 대한 대처 가능 시간을 고려하여 서버에서 생성된 제어 명령 및 로봇에서 생성된 제어 명령 중 어느 하나에 기반하여 장애물을 회피한다. 이를 통해, 장애물에 대한 대처시간이 충분하지 않은 경우, 장애물에 대한 빠른 회피를 최우선으로 하고, 장애물에 대한 대처시간이 충분한 경우, 기 설정된 주행 경로를 유지함과 동시에 서버로부터 새로운 제어 명령을 수신하여 장애 이벤트를 회피할 수 있도록 한다.As described above, according to the present invention, when an obstacle suddenly appears while the robot is running, the obstacle is removed based on either a control command generated by the server or a control command generated by the robot, taking into account the time available to deal with the obstacle. Avoid. Through this, if there is not enough time to deal with an obstacle, quick avoidance of the obstacle is prioritized, and if there is enough time to deal with the obstacle, the preset driving path is maintained and new control commands are received from the server at the same time. Allows you to avoid events.

한편, 본 발명은 상기 회피 경로를 따라 이동하도록 로봇에 대한 제어를 수행한 후, 로봇이 기존 경로로 복귀할 수 있도록 한다.Meanwhile, the present invention controls the robot to move along the avoidance path and then allows the robot to return to the existing path.

도 18은 로봇이 장애 이벤트를 회피한 후 기존 경로로 복귀하는 모습을 나타내는 개념도이다. Figure 18 is a conceptual diagram showing a robot returning to an existing path after avoiding an error event.

제어부 또는 서버는 상기 특정 로봇이 상기 회피 경로를 따라 주행한 후, 상기 제1제어 명령에 대응되는 주행 경로로 복귀하도록 하는 복귀 경로를 생성하고, 상기 특정 로봇이 상기 복귀 경로를 따라 상기 제1제어 명령에 대응되는 주행 경로 복귀하도록 상기 특정 로봇과 관련된 제어를 수행할 수 있다.The control unit or server generates a return path so that the specific robot returns to the driving path corresponding to the first control command after traveling along the avoidance path, and the specific robot performs the first control along the return path. Control related to the specific robot may be performed to return to the driving path corresponding to the command.

상기 제1제어 명령 및 제2제어 명령을 결합하여 회피 경로를 생성하거나, 상기 제2제어 명령에 기반하여 장애 이벤트를 회피하는 경우, 기존 로봇이 주행 중이던 주행 경로를 벗어나게 된다. 제어부 또는 서버는 로봇이 기존 주행 경로로 복귀할 수 있도록 하는 복귀 경로를 생성할 수 있다.When an avoidance path is created by combining the first control command and the second control command, or an obstacle event is avoided based on the second control command, the existing robot deviates from the travel path on which it was traveling. The control unit or server can create a return path that allows the robot to return to its existing driving path.

예를 들어, 도 18을 참조하면, 로봇(R)이 장애물(1801)을 회피하기 위해 회피 경로(1823)를 따라 주행한 후, 서버는 로봇(R)의 기존 경로(1810)로 복귀하기 복귀 경로(1825)를 생성할 수 있다. For example, referring to FIG. 18, after the robot R travels along the avoidance path 1823 to avoid the obstacle 1801, the server returns to the original path 1810 of the robot R. A route 1825 can be created.

상술한 바와 같이, 본 발명은 로봇이 갑작스럽게 나타난 장애물 회피 후, 로봇의 목적지까지의 기존 주행 경로로 복귀할 수 있도록 하는 짧은 복귀 경로만을 생성함으로써, 로봇이 장애물을 회피할 때마다 목적지까지의 새로운 주행 경로를 생성하지 않도록 한다. 이를 통해, 본 발명은 서버의 연산 자원이 불필요하게 소모되는 것을 방지할 수 있고, 로봇의 안정성을 강화시키며, 로봇의 성능을 개선시킬 수 있다.As described above, the present invention generates only a short return path that allows the robot to return to the existing driving path to the robot's destination after avoiding a suddenly appearing obstacle, thereby creating a new path to the destination each time the robot avoids an obstacle. Avoid creating driving routes. Through this, the present invention can prevent the server's computational resources from being consumed unnecessarily, enhance the stability of the robot, and improve the performance of the robot.

한편, 본 발명은 공간 내 특정 장애물을 추적하여, 특정 장애물에 대비한 주행 경로를 설정할 수 있다. 이 경우, 특정 장애물과 관련된 회피 경로를 생성되지 않도록 한다.Meanwhile, the present invention can track specific obstacles in space and set a driving path for specific obstacles. In this case, avoid creating an avoidance path related to a specific obstacle.

도 19는 장애물을 추적하여 로봇 주행 경로에 반영하는 실시 예를 나타내는 개념도이다. Figure 19 is a conceptual diagram showing an embodiment in which obstacles are tracked and reflected in the robot driving path.

구체적으로, 서버는 상기 로봇으로부터 수신된 센싱 정보에 기반하여, 추적 대상 장애물을 특정하고, 상기 추적 대상 장애물과 관련된 정보에 기반하여 상기 제1제어 명령을 생성한다. 즉, 서버는 특정 장애물을 지속적으로 추적하고, 추적 중인 장애물을 고려하여 로봇의 주행 경로를 생성할 수 있다.Specifically, the server specifies an obstacle to be tracked based on sensing information received from the robot and generates the first control command based on information related to the obstacle to be tracked. In other words, the server can continuously track a specific obstacle and create the robot's driving path by considering the obstacle being tracked.

이때, 장애물의 추적은 건물 내 배치된 적어도 하나의 로봇에 구비된 센서 뿐 아니라, 건물 내에 배치된 인프라를 활용하여 수행될 수 있다. 예를 들어, 서버는 건물 내벽에 배치된 CCTV를 통해 수집되는 영상 정보에서 장애물을 감지하고, 감지된 장애물의 위치를 지속적으로 추적할 수 있다. 이를 통해, 본 발명은 건물 내 인프라를 활용하여 서버가 인식하지 못하는 장애물이 로봇의 주행을 갑작스럽게 방해하는 것을 방지할 수 있다. At this time, tracking the obstacle may be performed using not only the sensor provided in at least one robot deployed in the building, but also the infrastructure deployed in the building. For example, the server can detect obstacles in video information collected through CCTV placed on the inside walls of a building and continuously track the location of the detected obstacles. Through this, the present invention can utilize the infrastructure within the building to prevent obstacles that the server does not recognize from suddenly interfering with the robot's driving.

이 경우, 제어부 또는 서버는 상기 추적 대상 장애물을 제외한 다른 장애물과 관련된 정보에 기반하여 장애 이벤트 발생 여부를 판단한다. 즉, 제어부 또는 서버는 추적 중인 장애물에 대한 회피 경로를 생성하지 않을 수 있다.In this case, the control unit or server determines whether a failure event has occurred based on information related to obstacles other than the obstacle to be tracked. That is, the control unit or server may not create an avoidance path for the obstacle being tracked.

예를 들어, 도 19을 참조하면, 로봇(R)이 제1장애물(1901)을 회피하기 위해 기존 경로(1910a)와 다른 경로 경로(1911)를 따라 주행한 후, 종래 주행 경로(1910b)로 복귀한다. 서버는 로봇(R)으로부터 수신된 센싱 정보에 기반하여 제2장애물(1902)에 대한 추적을 수행한다. 서버는 추적 중인 장애물을 고려하여 주행 경로(1910a 및 1910b)를 설정하고, 제2장애물(1902)에 대한 별도의 회피 경로를 생성하지 않는다.For example, referring to FIG. 19, the robot R travels along a path 1911 different from the existing path 1910a to avoid the first obstacle 1901, and then returns to the conventional driving path 1910b. Come back. The server performs tracking of the second obstacle 1902 based on the sensing information received from the robot R. The server sets the driving paths 1910a and 1910b in consideration of the obstacle being tracked, and does not create a separate avoidance path for the second obstacle 1902.

상술한 바와 같이, 본 발명은 특정 장애물을 추적하고, 추적 중인 장애물을 고려한 로봇의 주행 경로를 설정함으로써, 장애물 회피를 위하여 갑작스럽게 로봇의 주행 경로를 변경하는 것을 최소화 할 수 있다.As described above, the present invention tracks a specific obstacle and sets the robot's driving path in consideration of the obstacle being tracked, thereby minimizing sudden changes in the robot's driving path to avoid obstacles.

한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.Meanwhile, the present invention discussed above can be implemented as a program that is executed by one or more processes on a computer and can be stored in a medium that can be read by such a computer.

나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명에 따른 다양한 제어방법은 통합하여 또는 개별적으로 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention discussed above can be implemented as computer-readable codes or instructions on a program-recorded medium. That is, various control methods according to the present invention may be provided in the form of programs, either integrated or individually.

한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. Meanwhile, computer-readable media includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include HDD (Hard Disk Drive), SSD (Solid State Disk), SDD (Silicon Disk Drive), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. There is.

나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or cloud storage that includes storage and can be accessed by electronic devices through communication. In this case, the computer can download the program according to the present invention from a server or cloud storage through wired or wireless communication.

나아가, 본 발명에서는 위에서 설명한 컴퓨터는 프로세서, 즉 CPU(Central Processing Unit, 중앙처리장치)가 탑재된 전자기기로서, 그 종류에 대하여 특별한 한정을 두지 않는다.Furthermore, in the present invention, the computer described above is an electronic device equipped with a processor, that is, a CPU (Central Processing Unit), and there is no particular limitation on its type.

한편, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.Meanwhile, the above detailed description should not be construed as restrictive in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

Claims (21)

공간을 주행하는 로봇의 주행을 제어하는 방법에 있어서,
서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 단계;
상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하는 단계;
상기 로봇에서, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하는 단계;
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하는 단계; 및
상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 단계를 포함하고,
상기 회피 제어 명령을 생성하는 단계는,
상기 센싱 정보에 기반하여, 상기 제1 및 제2제어 명령 각각에 가중치를 설정하는 단계; 및
상기 제1 및 제2 제어 명령 각각에 설정된 가중치를 고려하여, 상기 제1 및 상기 제2 제어 명령이 결합된 상기 회피 제어 명령을 생성하는 단계;를 포함하고,
상기 장애물과 관련된 장애 이벤트의 발생에 근거하여 상기 서버로부터 수정된 제1 제어 명령을 수신하는 경우, 상기 수정된 제1 제어 명령에 부여되는 가중치는, 상기 제2 제어 명령에 부여되는 가중치보다 높은 것을 특징으로 하는 로봇 제어 방법.
In a method of controlling the movement of a robot traveling in space,
Receiving a first control command related to driving of the robot from a server;
performing sensing of the space while the robot is traveling in the space;
generating, at the robot, a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among sensing information sensed by the robot;
Generating an avoidance control command for the obstacle based on at least one of the first and second control commands; and
And performing control on the robot to move according to the avoidance control command,
The step of generating the avoidance control command is,
Setting weights for each of the first and second control commands based on the sensing information; and
Considering the weights set for each of the first and second control commands, generating the avoidance control command in which the first and second control commands are combined,
When receiving a modified first control command from the server based on the occurrence of a failure event related to the obstacle, the weight assigned to the modified first control command is higher than the weight assigned to the second control command. Characterized robot control method.
제1항에 있어서,
상기 로봇에서 센싱된 센싱 정보에 기반하여 상기 장애 이벤트의 발생 여부를 판단하는 단계를 더 포함하고,
상기 장애 이벤트에 대한 회피 제어 명령을 생성하는 단계는,
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여 수행되는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 1,
Further comprising determining whether the failure event has occurred based on sensing information sensed by the robot,
The step of generating an avoidance control command for the failure event includes:
A robot control method, characterized in that it is performed based on at least one of the first and second control commands.
제2항에 있어서,
상기 회피 제어 명령은,
제1 및 제2 제어 명령 각각에 대응되는 주행 방향, 주행 속도, 회전 방향, 회전 속도 중 적어도 하나와 관련된 정보를 조합하여 생성되는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 2,
The avoidance control command is,
A robot control method characterized in that it is generated by combining information related to at least one of the traveling direction, traveling speed, rotation direction, and rotation speed corresponding to each of the first and second control commands.
삭제delete 제3항에 있어서,
상기 제1 및 제2 제어 명령 각각에 부여되는 가중치는 상기 장애 이벤트와 관련된 위치, 상기 로봇과 상기 장애 이벤트와 관련된 위치 간 거리, 상기 로봇이 상기 장애 이벤트와 관련된 위치에 도달하는 시간, 상기 장애 이벤트의 종류, 상기 장애 이벤트와 관련된 물체의 이동 속도, 상기 장애 이벤트와 관련된 물체의 이동 방향 및 상기 제1 제어 명령이 상기 장애 이벤트를 고려하여 생성되었는지 여부 중 적어도 하나에 기반하여 설정되는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 3,
The weight given to each of the first and second control commands is the location related to the failure event, the distance between the robot and the location related to the failure event, the time for the robot to reach the location related to the failure event, and the failure event. Characterized in that it is set based on at least one of the type, the movement speed of the object related to the failure event, the movement direction of the object related to the failure event, and whether the first control command is generated in consideration of the failure event. How to control a robot.
제3항에 있어서,
상기 센싱 정보에 기반하여 상기 로봇과 상기 장애물 간의 예상 충돌 시간을 산출하는 단계를 더 포함하고,
상기 예상 충돌 시간이 기 설정된 조건을 만족하는 경우, 상기 제2 제어 명령에 기반하여 상기 장애 이벤트에 대한 회피를 수행하는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 3,
Further comprising calculating an expected collision time between the robot and the obstacle based on the sensing information,
A robot control method characterized in that, when the expected collision time satisfies a preset condition, avoidance of the failure event is performed based on the second control command.
제1항에 있어서,
상기 수정된 제1 제어 명령을 수신하는 경우 상기 회피 제어 명령은,
상기 수정된 제1 제어 명령에 대응되는 주행 경로 및 제2 제어 명령에 대응되는 주행 경로를 결합하여 생성되는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 1,
When receiving the modified first control command, the avoidance control command is:
A robot control method characterized in that it is generated by combining a driving path corresponding to the modified first control command and a driving path corresponding to the second control command.
삭제delete 공간을 주행하는 로봇의 주행을 제어하는 방법에 있어서,
서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 단계;
상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하는 단계;
상기 로봇에서, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하는 단계;
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물과 관련된 장애 이벤트에 대한 회피 제어 명령을 생성하는 단계; 및
상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 단계를 포함하고,
상기 회피 제어 명령을 생성하는 단계는,
상기 제1 및 제2 제어 명령 각각에 우선 순위를 설정하는 단계; 및
상기 제1 및 제2 제어 명령 각각에 설정된 우선 순위에 따라, 상기 제1 및 제2 제어 명령 각각에 대응되는 주행 경로 중 어느 하나를 선택하는 단계를 포함하고,
상기 제1 및 제2 제어 명령 각각의 우선 순위 중 상기 제1 제어 명령에 대응되는 우선 순위가 높게 설정되는 경우, 상기 장애 이벤트의 회피와 관련된 제어는,
상기 서버로부터 수신된 상기 장애 이벤트와 관련된 새로운 제어 명령에 기반하여 수행되는 것을 특징으로 하는 로봇 제어 방법.
In a method of controlling the movement of a robot traveling in space,
Receiving a first control command related to driving of the robot from a server;
performing sensing of the space while the robot is traveling in the space;
generating, at the robot, a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among sensing information sensed by the robot;
Based on at least one of the first and second control commands, generating an avoidance control command for an obstacle event related to the obstacle; and
And performing control on the robot to move according to the avoidance control command,
The step of generating the avoidance control command is,
Setting priorities to each of the first and second control commands; and
Comprising: selecting one of the driving paths corresponding to each of the first and second control commands, according to the priorities set for each of the first and second control commands,
When the priority corresponding to the first control command is set high among the priorities of each of the first and second control commands, the control related to avoidance of the failure event is,
A robot control method, characterized in that it is performed based on a new control command related to the failure event received from the server.
제9항에 있어서,
상기 우선 순위는,
상기 장애 이벤트와 관련된 위치, 상기 로봇과 상기 장애 이벤트와 관련된 위치 간 거리, 상기 로봇이 상기 장애 이벤트와 관련된 위치에 도달하는 시간, 상기 장애 이벤트의 종류, 상기 장애 이벤트와 관련된 물체의 이동 속도, 상기 장애 이벤트와 관련된 물체의 이동 방향 및 상기 제1 제어 명령이 상기 장애 이벤트를 고려하여 생성되었는지 여부 중 적어도 하나에 기반하여 설정되는 것을 특징으로 하는 로봇 제어 방법.
According to clause 9,
The above priorities are:
The location associated with the failure event, the distance between the robot and the location associated with the failure event, the time for the robot to reach the location associated with the failure event, the type of the failure event, the movement speed of the object associated with the failure event, the A robot control method characterized in that it is set based on at least one of the movement direction of an object related to a failure event and whether the first control command is generated in consideration of the failure event.
삭제delete 제1항에 있어서,
상기 로봇이 상기 회피 제어 명령을 따라 주행한 후, 상기 제1 제어 명령에 대응되는 주행 경로로 복귀하도록 하는 복귀 경로를 생성하는 단계; 및
상기 로봇이 상기 복귀 경로를 따라 상기 제1 제어 명령에 대응되는 주행 경로로 복귀하도록 상기 로봇과 관련된 제어를 수행하는 단계를 더 포함하는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 1,
After the robot travels according to the avoidance control command, generating a return path that allows the robot to return to the travel path corresponding to the first control command; and
A robot control method further comprising performing control related to the robot so that the robot returns to a travel path corresponding to the first control command along the return path.
제2항에 있어서,
상기 로봇으로부터 수신된 센싱 정보에 기반하여, 추적 대상 장애물을 특정하는 단계를 더 포함하고,
상기 제1 제어 명령은 상기 추적 대상 장애물과 관련된 정보에 기반하여 생성되고,
상기 제1 제어 명령에 기반하여 로봇이 주행하는 중, 상기 로봇에서 센싱된 센싱 정보에 기반하여 장애 이벤트의 발생 여부를 판단하는 단계는,
상기 추적 대상 장애물을 제외한 다른 장애물과 관련된 정보에 기반하여 수행되는 것을 특징으로 하는 로봇 제어 방법.
According to paragraph 2,
Further comprising specifying an obstacle to be tracked based on the sensing information received from the robot,
The first control command is generated based on information related to the obstacle to be tracked,
The step of determining whether a failure event occurs based on sensing information sensed by the robot while the robot is traveling based on the first control command includes:
A robot control method characterized in that it is performed based on information related to obstacles other than the obstacle to be tracked.
공간을 주행하는 로봇의 주행을 제어하는 시스템에 있어서,
서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 통신부; 및
상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하고,
상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하고,
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하고,
상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 제어부를 포함하고,
상기 제어부는,
상기 센싱 정보에 기반하여, 상기 제1 및 제2 제어 명령 각각에 가중치를 설정하고,
상기 제1 및 제2 제어 명령 각각에 설정된 가중치를 고려하여, 상기 제1 및 상기 제2 제어 명령이 결합된 상기 회피 제어 명령을 생성하며,
상기 장애물과 관련된 장애 이벤트의 발생에 근거하여 상기 서버로부터 수정된 제1 제어 명령을 수신하는 경우, 상기 수정된 제1 제어 명령에 부여되는 가중치는, 상기 제2 제어 명령에 부여되는 가중치보다 높은 것을 특징으로 하는 로봇 제어 시스템.
In a system for controlling the movement of a robot traveling in space,
a communication unit that receives a first control command related to driving of the robot from a server; and
While the robot is traveling in the space, sensing the space is performed,
Based on information related to an obstacle located in the space among the sensing information sensed by the robot, generate a second control command related to avoidance of the obstacle,
Based on at least one of the first and second control commands, generate an avoidance control command for the obstacle,
It includes a control unit that controls the robot to move according to the avoidance control command,
The control unit,
Based on the sensing information, set a weight for each of the first and second control commands,
Considering the weights set for each of the first and second control commands, generating the avoidance control command in which the first and second control commands are combined,
When receiving a modified first control command from the server based on the occurrence of a failure event related to the obstacle, the weight assigned to the modified first control command is higher than the weight assigned to the second control command. Characterized by a robot control system.
전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 매체에 저장된 프로그램으로서,
상기 프로그램은,
서버로부터 로봇의 주행과 관련된 제1 제어 명령을 수신하는 단계;
상기 로봇이 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하는 단계;
상기 로봇에서, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하는 단계;
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하는 단계; 및
상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 단계를 수행하도록 하는 명령어들을 포함하고,
상기 회피 제어 명령을 생성하는 단계는,
상기 센싱 정보에 기반하여, 상기 제1 및 제2 제어 명령 각각에 가중치를 설정하는 단계; 및
상기 제1 및 제2 제어 명령 각각에 설정된 가중치를 고려하여, 상기 제1 및 상기 제2 제어 명령이 결합된 상기 회피 제어 명령을 생성하는 단계;를 포함하고,
상기 장애물과 관련된 장애 이벤트의 발생에 근거하여 상기 서버로부터 수정된 제1 제어 명령을 수신하는 경우, 상기 수정된 제1 제어 명령에 부여되는 가중치는, 상기 제2 제어 명령에 부여되는 가중치보다 높은 것을 특징으로 하는 컴퓨터로 판독될 수 있는 매체에 저장된 프로그램.
A program that is executed by one or more processes in an electronic device and stored on a computer-readable medium,
The above program is,
Receiving a first control command related to driving of the robot from a server;
With the robot traveling in space, performing sensing of the space;
generating, at the robot, a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among sensing information sensed by the robot;
Generating an avoidance control command for the obstacle based on at least one of the first and second control commands; and
Includes instructions for performing the step of controlling the robot to move according to the avoidance control command,
The step of generating the avoidance control command is,
Setting weights for each of the first and second control commands based on the sensing information; and
Considering the weights set for each of the first and second control commands, generating the avoidance control command in which the first and second control commands are combined,
When receiving a modified first control command from the server based on the occurrence of a failure event related to the obstacle, the weight assigned to the modified first control command is higher than the weight assigned to the second control command. A program stored on a computer-readable medium characterized by:
클라우드 서버에 의해 제어되는 로봇이 주행하는 건물에 있어서,
상기 건물은,
상기 클라우드 서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하여, 상기 로봇으로 전송하는 통신부를 포함하고,
상기 클라우드 서버는,
상기 로봇이 상기 건물 내 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하고,
상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하며,
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물에 대한 회피 제어 명령을 생성하여, 상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하고,
상기 센싱 정보에 기반하여, 상기 제1 및 제2 제어 명령 각각에 가중치를 설정하고,
상기 제1 및 제2 제어 명령 각각에 설정된 가중치를 고려하여, 상기 제1 및 상기 제2 제어 명령이 결합된 상기 회피 제어 명령을 생성하며,
상기 장애물과 관련된 장애 이벤트의 발생에 근거하여 상기 클라우드 서버로부터 수정된 제1 제어 명령을 수신하는 경우, 상기 수정된 제1 제어 명령에 부여되는 가중치는, 상기 제2 제어 명령에 부여되는 가중치보다 높은 것을 특징으로 하는 것을 특징으로 하는 건물.
In a building where a robot controlled by a cloud server runs,
The building is,
A communication unit that receives a first control command related to the driving of the robot from the cloud server and transmits it to the robot,
The cloud server is,
While the robot is traveling in a space within the building, it performs sensing of the space,
Generating a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among the sensing information sensed by the robot,
Based on at least one of the first and second control commands, generate an avoidance control command for the obstacle and control the robot to move according to the avoidance control command,
Based on the sensing information, set a weight for each of the first and second control commands,
Considering the weights set for each of the first and second control commands, generating the avoidance control command in which the first and second control commands are combined,
When receiving a modified first control command from the cloud server based on the occurrence of a failure event related to the obstacle, the weight assigned to the modified first control command is higher than the weight assigned to the second control command. A building characterized by the following.
제16항에 있어서,
상기 클라우드 서버는,
상기 로봇에서 센싱된 센싱 정보에 기반하여 상기 장애물과 관련된 장애 이벤트의 발생 여부를 판단하고,
상기 로봇이 상기 회피 제어 명령을 따라 주행한 후, 상기 제1 제어 명령에 대응되는 주행 경로로 복귀하도록 하는 복귀 경로를 생성하고,
상기 로봇이 상기 복귀 경로를 따라 상기 제1 제어 명령에 대응되는 주행 경로로 복귀하도록 상기 로봇과 관련된 제어를 수행하는 것을 특징으로 하는 건물.
According to clause 16,
The cloud server is,
Based on the sensing information sensed by the robot, determine whether a failure event related to the obstacle has occurred,
After the robot travels according to the avoidance control command, a return path is generated so that the robot returns to the travel path corresponding to the first control command,
A building, characterized in that performing control related to the robot so that the robot returns to a travel path corresponding to the first control command along the return path.
제17항에 있어서,
상기 클라우드 서버는, 상기 제1 및 제2 제어 명령 각각에 대응되는 주행 경로 중 적어도 하나에 기반하여, 상기 장애 이벤트에 대한 회피 제어 명령을 생성하는 것을 특징으로 하는 건물.
According to clause 17,
The cloud server generates an avoidance control command for the failure event based on at least one of the driving paths corresponding to each of the first and second control commands.
공간을 주행하는 로봇의 주행을 제어하는 시스템에 있어서,
서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하는 통신부; 및
상기 로봇이 상기 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하고,
상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하고,
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물과 관련된 장애 이벤트에 대한 회피 제어 명령을 생성하고,
상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 제어부를 포함하고,
상기 제어부는,
상기 제1 및 제2 제어 명령 각각에 우선 순위를 설정하고,
상기 제1 및 제2 제어 명령 각각에 설정된 우선 순위에 따라, 상기 제1 및 제2 제어 명령 각각에 대응되는 주행 경로 중 어느 하나를 선택하며,
상기 제1 및 제2 제어 명령 각각의 우선 순위 중 상기 제1 제어 명령에 대응되는 우선 순위가 높게 설정되는 경우, 상기 장애 이벤트의 회피와 관련된 제어는,
상기 서버로부터 수신된 상기 장애 이벤트와 관련된 새로운 제어 명령에 기반하여 수행되는 것을 특징으로 하는 로봇 제어 시스템.
In a system for controlling the movement of a robot traveling in space,
a communication unit that receives a first control command related to driving of the robot from a server; and
While the robot is traveling in the space, sensing the space is performed,
Based on information related to an obstacle located in the space among the sensing information sensed by the robot, generate a second control command related to avoidance of the obstacle,
Based on at least one of the first and second control commands, generate an avoidance control command for an obstacle event related to the obstacle,
It includes a control unit that controls the robot to move according to the avoidance control command,
The control unit,
Setting priorities for each of the first and second control commands,
According to the priority set for each of the first and second control commands, select one of the driving paths corresponding to each of the first and second control commands,
When the priority corresponding to the first control command is set high among the priorities of each of the first and second control commands, the control related to avoiding the failure event is,
A robot control system, characterized in that it is performed based on a new control command related to the failure event received from the server.
전자기기에서 하나 이상의 프로세스에 의하여 실행되며, 컴퓨터로 판독될 수 있는 매체에 저장된 프로그램으로서,
상기 프로그램은,
서버로부터 로봇의 주행과 관련된 제1 제어 명령을 수신하는 단계;
상기 로봇이 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하는 단계;
상기 로봇에서, 상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하는 단계;
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물과 관련된 장애 이벤트에 대한 회피 제어 명령을 생성하는 단계; 및
상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하는 단계를 수행하는 명령어들을 포함하고,
상기 회피 제어 명령을 생성하는 단계는,
상기 제1 및 제2 제어 명령 각각에 우선 순위를 설정하는 단계; 및
상기 제1 및 제2 제어 명령 각각에 설정된 우선 순위에 따라, 상기 제1 및 제2 제어 명령 각각에 대응되는 주행 경로 중 어느 하나를 선택하는 단계를 포함하고,
상기 제1 및 제2 제어 명령 각각의 우선 순위 중 상기 제1 제어 명령에 대응되는 우선 순위가 높게 설정되는 경우, 상기 장애 이벤트의 회피와 관련된 제어는,
상기 서버로부터 수신된 상기 장애 이벤트와 관련된 새로운 제어 명령에 기반하여 수행되는 것을 특징으로 하는 컴퓨터로 판독될 수 있는 매체에 저장된 프로그램.
A program that is executed by one or more processes in an electronic device and stored on a computer-readable medium,
The above program is,
Receiving a first control command related to driving of the robot from a server;
With the robot traveling in space, performing sensing of the space;
generating, at the robot, a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among sensing information sensed by the robot;
Based on at least one of the first and second control commands, generating an avoidance control command for an obstacle event related to the obstacle; and
Includes instructions for performing the step of controlling the robot to move according to the avoidance control command,
The step of generating the avoidance control command is,
setting priorities to each of the first and second control commands; and
Comprising: selecting one of the driving paths corresponding to each of the first and second control commands, according to the priorities set for each of the first and second control commands,
When the priority corresponding to the first control command is set high among the priorities of each of the first and second control commands, the control related to avoiding the failure event is,
A program stored on a computer-readable medium, characterized in that it is executed based on a new control command related to the failure event received from the server.
클라우드 서버에 의해 제어되는 로봇이 주행하는 건물에 있어서,
상기 건물은,
상기 클라우드 서버로부터 상기 로봇의 주행과 관련된 제1 제어 명령을 수신하여, 상기 로봇으로 전송하는 통신부를 포함하고,
상기 클라우드 서버는,
상기 로봇이 상기 건물 내 공간을 주행하고 있는 상태에서, 상기 공간에 대한 센싱을 수행하고,
상기 로봇에서 센싱된 센싱 정보 중 상기 공간에 위치한 장애물과 관련된 정보에 기반하여, 상기 장애물의 회피와 관련된 제2 제어 명령을 생성하며,
상기 제1 및 제2 제어 명령 중 적어도 하나에 기반하여, 상기 장애물과 관련된 장애 이벤트에 대한 회피 제어 명령을 생성하여, 상기 회피 제어 명령을 따라 이동하도록 상기 로봇에 대한 제어를 수행하고,
상기 제1 및 제2 제어 명령 각각에 우선 순위를 설정하고,
상기 제1 및 제2 제어 명령 각각에 설정된 우선 순위에 따라, 상기 제1 및 제2 제어 명령 각각에 대응되는 주행 경로 중 어느 하나를 선택하며,
상기 제1 및 제2 제어 명령 각각의 우선 순위 중 상기 제1 제어 명령에 대응되는 우선 순위가 높게 설정되는 경우, 상기 장애 이벤트의 회피와 관련된 제어는,
상기 서버로부터 수신된 상기 장애 이벤트와 관련된 새로운 제어 명령에 기반하여 수행되는 것을 특징으로 하는 것을 특징으로 하는 건물.
In a building where a robot controlled by a cloud server runs,
The building is,
A communication unit that receives a first control command related to the driving of the robot from the cloud server and transmits it to the robot,
The cloud server is,
While the robot is traveling in a space within the building, it performs sensing of the space,
Generating a second control command related to avoidance of the obstacle based on information related to an obstacle located in the space among the sensing information sensed by the robot,
Based on at least one of the first and second control commands, generate an avoidance control command for an obstacle event related to the obstacle, and control the robot to move according to the avoidance control command,
Setting priorities for each of the first and second control commands,
According to the priority set for each of the first and second control commands, select one of the driving paths corresponding to each of the first and second control commands,
When the priority corresponding to the first control command is set high among the priorities of each of the first and second control commands, the control related to avoiding the failure event is,
A building, characterized in that it is performed based on a new control command related to the failure event received from the server.
KR1020210140115A 2021-10-20 2021-10-20 Method and system for controling robot driving in a building KR102620941B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210140115A KR102620941B1 (en) 2021-10-20 2021-10-20 Method and system for controling robot driving in a building
PCT/KR2022/015865 WO2023068759A1 (en) 2021-10-20 2022-10-18 Method and system for controlling robot travelling in building

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210140115A KR102620941B1 (en) 2021-10-20 2021-10-20 Method and system for controling robot driving in a building

Publications (2)

Publication Number Publication Date
KR20230056271A KR20230056271A (en) 2023-04-27
KR102620941B1 true KR102620941B1 (en) 2024-01-03

Family

ID=86059397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140115A KR102620941B1 (en) 2021-10-20 2021-10-20 Method and system for controling robot driving in a building

Country Status (2)

Country Link
KR (1) KR102620941B1 (en)
WO (1) WO2023068759A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100914904B1 (en) * 2009-03-13 2009-08-31 국방과학연구소 Unmanned vehicle machine, unmanned vehicle system and control method of unmanned vehicle machine
KR101200209B1 (en) * 2006-09-11 2012-11-09 가부시키가이샤 히타치세이사쿠쇼 Moving device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101338246B1 (en) * 2012-02-16 2013-12-09 인하대학교 산학협력단 Collision prevention system of mobile robot in unknown environment and method thereof
DE102016121320A1 (en) * 2016-11-08 2018-05-09 Vorwerk & Co. Interholding Gmbh Method for operating a self-propelled robot
KR101907548B1 (en) * 2016-12-23 2018-10-12 한국과학기술연구원 Moving and searching method of mobile robot for following human

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101200209B1 (en) * 2006-09-11 2012-11-09 가부시키가이샤 히타치세이사쿠쇼 Moving device
KR100914904B1 (en) * 2009-03-13 2009-08-31 국방과학연구소 Unmanned vehicle machine, unmanned vehicle system and control method of unmanned vehicle machine

Also Published As

Publication number Publication date
WO2023068759A1 (en) 2023-04-27
KR20230056271A (en) 2023-04-27

Similar Documents

Publication Publication Date Title
JP7395229B2 (en) Mobile cleaning robot artificial intelligence for situational awareness
US10845821B2 (en) Route planning for a mobile robot using configuration-based preferences
JP6949835B2 (en) Semi-autonomous mobile robot navigation
CN104769962A (en) Environmental management systems including mobile robots and methods using same
KR20240042369A (en) Robot-friendly building, robot and system for controling multi-robot driving in the building
KR20240025571A (en) Robot-friendly building, method and system for collaboration using multiple robots
KR102558767B1 (en) Robot-friendly building
KR102620941B1 (en) Method and system for controling robot driving in a building
Mishra et al. IoT impact and challenges on robotic waiters in automation of restaurants and hotels
JP7370362B2 (en) Robot control method and system
KR102657615B1 (en) Robot-friendly building, method and system for robot charging control
US11914363B2 (en) Mobile robot, transport system, method, and computer-readable medium
KR102667685B1 (en) Robot-friendly building, method and system for controlling robot driving in the building
KR102489723B1 (en) Control method and system for robot using the same
KR20230056272A (en) Robot-friendly building, method and system for controling robot driving in the building
JP2024514132A (en) Robot remote control method and system, and building in which a robot rides in an optimal waiting position of an elevator
KR20230041353A (en) Robot-friendly building, method and system for controling robot divinging in the building
KR20230056270A (en) Method and system for controling robot driving in a building
KR20240073246A (en) Robot-friendly building, method and system for controling robot divinging in the building
KR20230144380A (en) Robot-friendly buildings, methods and systems for monitoring robot operations
KR20220131060A (en) Control method and system for robot
KR20230094043A (en) Robot-friendly building, method and system for controlling tasks of robot
KR20230091639A (en) Robot-friendly building, method and system for deliverying using robot
KR20230171826A (en) Robot-friendly building, methods and systems for map creation for robot operation
KR20230173939A (en) Robot-friendly buildings, methods and systems for map creation for robot operation

Legal Events

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