KR102699803B1 - Robot-friendly building, method and system for controling robot divinging in the building - Google Patents
Robot-friendly building, method and system for controling robot divinging in the building Download PDFInfo
- Publication number
- KR102699803B1 KR102699803B1 KR1020210124854A KR20210124854A KR102699803B1 KR 102699803 B1 KR102699803 B1 KR 102699803B1 KR 1020210124854 A KR1020210124854 A KR 1020210124854A KR 20210124854 A KR20210124854 A KR 20210124854A KR 102699803 B1 KR102699803 B1 KR 102699803B1
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- building
- virtual obstacle
- virtual
- information
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1684—Tracking a line or surface by means of sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1689—Teleoperation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
- G05D1/622—Obstacle avoidance
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electromagnetism (AREA)
Abstract
본 발명은 로봇 친화형 건물, 건물을 주행하는 로봇의 제어 방법 및 시스템에 관한 것이다. 보다 구체적으로 본 발명은 같은 공간 속에서 로봇과 사람이 함께 공존하며 사람에게 유용한 서비스를 제공할 수 있도록 하는 로봇 제어 방법 및 시스템에 관한 것이다. 본 발명은 건물에 대한 지도에 기반하여, 상기 건물을 주행하는 로봇을 제어하는 방법을 제공할 수 있다. 본 발명은 상기 건물에서 가상 장애물의 위치를 특정하는 단계, 특정된 상기 가상 장애물의 위치를 이용하여, 상기 가상 장애물에 대한 가상 장애물 정보를 상기 지도에 반영하는 단계, 상기 건물에 위치한 로봇 중 상기 가상 장애물에 대한 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계 및 상기 특정된 로봇이 상기 가상 장애물을 회피하여 주행하도록, 상기 특정된 로봇으로 상기 가상 장애물 정보를 전송하는 단계를 포함하는 로봇 제어 방법을 제공할 수 있다.The present invention relates to a robot-friendly building, and a control method and system for a robot that runs through a building. More specifically, the present invention relates to a robot control method and system that enable a robot and a person to coexist in the same space and provide useful services to the person. The present invention can provide a method for controlling a robot that runs through a building based on a map of the building. The present invention can provide a robot control method including a step of specifying a location of a virtual obstacle in the building, a step of reflecting virtual obstacle information about the virtual obstacle on the map using the location of the specified virtual obstacle, a step of specifying at least one robot that satisfies a preset distance condition to the virtual obstacle among the robots located in the building, and a step of transmitting the virtual obstacle information to the specified robot so that the specified robot runs while avoiding the virtual obstacle.
Description
본 발명은 로봇 친화형 건물, 건물을 주행하는 로봇의 제어 방법 및 시스템에 관한 것이다. 보다 구체적으로 본 발명은 같은 공간 속에서 로봇과 사람이 함께 공존하며 사람에게 유용한 서비스를 제공할 수 있도록 하는 로봇 제어 방법 및 시스템에 관한 것이다.The present invention relates to a robot-friendly building, and a control method and system for a robot that moves through a building. More specifically, the present invention relates to a robot control method and system that enable robots and humans to coexist in the same space and provide useful services to humans.
기술이 발전함에 따라, 다양한 서비스 디바이스들이 나타나고 있으며, 특히 최근에는 다양한 작업 또는 서비스를 수행하는 로봇에 대한 기술 개발이 활발하게 이루어지고 있다.As technology advances, various service devices are appearing, and in particular, technology development for robots that perform various tasks or services is actively underway recently.
나아가 최근에는, 인공 지능 기술, 클라우드 기술 등이 발전함에 따라, 로봇을 보다 정밀하고, 안전하게 제어하는 것이 가능해지고 있으며, 이에 따라 로봇의 활용도가 점차적으로 높아지고 있다. 특히, 기술의 발전으로 인하여, 로봇은 실내 공간에서 인간과 안전하게 공존할 수 있을 정도의 수준에 이르렀다.Furthermore, with the recent development of artificial intelligence technology, cloud technology, etc., it is becoming possible to control robots more precisely and safely, and accordingly, the utilization of robots is gradually increasing. In particular, due to the development of technology, robots have reached a level where they can safely coexist with humans in indoor spaces.
이에, 최근에는 로봇이 인간의 업무 또는 작업을 대체하고 있으며, 특히 실내 공간에서 사람을 대상으로 로봇이 직접 서비스를 제공하는 다양한 방법들이 활발하게 연구되고 있다. Accordingly, robots are recently replacing human work or tasks, and various methods for robots to directly provide services to people, especially in indoor spaces, are being actively studied.
예를 들어, 공항, 역사, 백화점 등 공공 장소에서는 로봇들이 길안내 서비스를 제공하고 있으며, 음식점에서는 로봇들이 서빙 서비스를 제공하고 있다. 나아가, 오피스 공간, 공동 주거 공간 등에서는 로봇들이 우편물, 택배 등을 배송하는 배송 서비스를 제공하고 있다. 이 밖에도 로봇들은 청소 서비스, 방범 서비스, 물류 처리 서비스 등 다양한 서비스들을 제공하고 있으며, 로봇이 제공하는 서비스의 종류 및 범위는 앞으로도 기하급수적으로 늘어날 것이며, 서비스 제공 수준 또한 계속적으로 발전할 것으로 기대된다.For example, in public places such as airports, stations, and department stores, robots provide guidance services, and in restaurants, robots provide serving services. Furthermore, in office spaces and shared living spaces, robots provide delivery services, delivering mail and packages. In addition, robots provide various services such as cleaning services, security services, and logistics processing services, and the types 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 premises) such as offices, apartments, department stores, schools, hospitals, and amusement facilities. In this case, the robots are controlled to move around the indoor spaces of the buildings and provide various services.
한편, 서비스 로봇의 발달에 따라, 자유롭게 이동하는 로봇 서비스들이 출현하고 있다. 건물 내에서 서비스 로봇을 운용할 경우, 로봇이 내장된 센서만으로는 인식할 수 없는 장애물을 회피해야하거나, 로봇의 진입을 막아야하는 상황이 발생될 수 있다.Meanwhile, with the development of service robots, freely moving robot services are emerging. When operating a service robot inside a building, there may be situations where the robot must avoid obstacles that cannot be recognized by the built-in sensors alone, or where the robot's entry must be blocked.
다만, 종래기술은 로봇 각각에 가상 벽 정보를 전송하여, 로봇 개별 제어를 통해 장애물을 회피하거나, 특정 영역에 진입하지 않도록 하는 제어를 수행하고 있으나, 가상 장애물에 대한 정보 업데이트와 함께 로봇 제어를 위한 연산도 중앙 시스템에서 하는 것이 필요하다.However, the conventional technology transmits virtual wall information to each robot, and performs control to avoid obstacles or prevent them from entering a specific area through individual robot control. However, it is necessary to perform calculations for robot control along with information updates on virtual obstacles in a central system.
한국 공개특허 제10-2019-0098734(2019.08.22)호와 같이, 종래에는 복잡 영역에 로봇이 진입하지 못하도록 가상 벽 모델을 생성하고, 이를 지도에 반영하여, 로봇의 청소 동선을 결정하는 기술이 존재하나, 이는 가상 벽이 단일 로봇에만 설정되며 다른 로봇에는 반영되지 않는다. 즉, 종래에는 가상 장애물을 활용한 로봇 제어가 단일 로봇 단위로 이루어진다. As in Korean Patent Publication No. 10-2019-0098734 (2019.08.22), there is a technology to create a virtual wall model to prevent a robot from entering a complex area, reflect it on a map, and determine the robot's cleaning route. However, this virtual wall is set only for a single robot and is not reflected for other robots. In other words, in the past, robot control using virtual obstacles was performed on a single robot basis.
이에, 가상 장애물과 관련된 정보를 지도에 업데이트하고 로봇 제어를 위한 연산도 중앙 시스템에서 이루어질 수 있도록 하는 기술에 대한 니즈가 여전히 존재한다.Therefore, there is still a need for technology that can update information related to virtual obstacles on the map and enable calculations for robot control to be performed in a central system.
이에, 건물 내에서 로봇을 이용한 보다 수준 높은 서비스를 제공하기 위해서는 서비스 단위(예를 들어, 길안내 서비스, 배송 서비스, 서빙 서비스 등)의 로봇 제어 기술에 대한 연구 뿐만 아니라, 로봇이 서비스를 제공하는 건물 자체에서, 로봇에 필요한 다양한 인프라를 지원할 수 있는 본질적인 연구가 필요하다.Accordingly, in order to provide higher-level services using robots within a building, in addition to research on robot control technology for each service unit (e.g., guidance service, delivery service, serving service, etc.), fundamental research is needed to support various infrastructures required for robots within the building itself where the robots provide the services.
한편, 로봇들이 실내 공간에서 다양한 서비스를 제공하거나, 생활하기 위해서는 로봇들은, 건물의 실내 공간을 자유롭게 이동하거나, 통과해야 하며, 경우에 따라 건물에 구비된 다양한 설비 인프라들(예를 들어, 엘리베이터, 에스컬레이터, 출입 통제 게이트 등)을 이용해야 하는 니즈가 존재한다.Meanwhile, in order for robots to provide various services or live in indoor spaces, there is a need for robots to freely move or pass through the indoor spaces of buildings, and in some cases, to use various facility infrastructures (e.g., elevators, escalators, access control gates, etc.) provided in the building.
이에, 건물 내에서 로봇을 이용한 보다 수준 높은 서비스를 제공하기 위해서는 서비스 단위(예를 들어, 길안내 서비스, 배송 서비스, 서빙 서비스 등)의 로봇 제어 기술에 대한 연구 뿐만 아니라, 로봇이 서비스를 제공하는 건물 자체에서, 로봇에 필요한 다양한 인프라를 지원할 수 있는 본질적인 연구가 필요하다.Accordingly, in order to provide higher-level services using robots within a building, in addition to research on robot control technology for each service unit (e.g., guidance service, delivery service, serving service, etc.), fundamental research is needed to support various infrastructures required for robots within the building itself where the robots provide the services.
본 발명은 건물 내에서 주행하는 로봇에 대한 제어 방법 및 시스템을 제공하는 것이다. The present invention provides a control method and system for a robot that moves within a building.
보다 구체적으로 본 발명은, 경우에 따라 건물에서 로봇이 접근이 불가능한 구역에 존재하는 경우, 접근이 불가능한 구역으로 로봇의 주행을 제한하기 위한 로봇 제어 방법 및 시스템을 제공하기 위한 것이다.More specifically, the present invention provides a robot control method and system for restricting the movement of a robot to an inaccessible area, when the robot is in an inaccessible area in a building, depending on the case.
보다 구체적으로 본 발명은 가상의 장애물을 두어, 건물 내에서 주행하는 복수의 로봇이 건물 내 설정된 가상의 장애물을 효율적으로 회피할 수 있도록 하는 건물, 로봇 제어 방법 및 시스템을 제공하는 것이다.More specifically, the present invention provides a building, a robot control method, and a system that enable a plurality of robots running inside a building to efficiently avoid virtual obstacles set inside the building by placing virtual obstacles.
또한, 본 발명은 가상 장애물을 회피하지 못한 로봇이 가상 장애물을 통과하기 전 위치로 복귀할 수 있도록 하는 로봇 제어 방법 및 시스템을 제공하는 것이다.In addition, the present invention provides a robot control method and system that enables a robot that fails to avoid a virtual obstacle to return to a position before passing through the virtual obstacle.
나아가, 본 발명은 로봇과 사람이 함께 공존하며, 사람에게 유용한 서비스를 제공하는 로봇 친화형 건물을 제공하기 위한 것이다.Furthermore, the present invention provides a robot-friendly building in which robots and people coexist and provide useful services to people.
나아가, 본 발명에 따른 로봇 친화형 건물은, 로봇이 이용 가능한 로봇 친화형의 다양한 설비 인프라를 제공함으로써, 로봇이 제공할 수 있는 서비스의 종류 및 범위를 확장할 수 있다.Furthermore, the robot-friendly building according to the present invention can expand the types and scope of services that robots can provide by providing various robot-friendly facility infrastructures that can be used by robots.
나아가, 본 발명에 따른 로봇 친화형 건물은 다수의 로봇과 연동하는 클라우드 시스템을 이용하여, 다수의 로봇 및 설비 인프라를 유기적으로 제어함으로써, 보다 체계적으로 서비스를 제공하는 로봇의 주행을 관리할 수 있다. 이를 통해, 본 발명에 따른 로봇 친화형 건물은, 보다 안전하고, 신속하게, 그리고 정확하게 사람들에게 다양한 서비스를 제공할 수 있다.Furthermore, the robot-friendly building according to the present invention can manage the operation of robots that provide services more systematically by organically controlling a plurality of robots and facility infrastructure using a cloud system that is linked to a plurality of robots. 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, not only can a large number of robots placed in the building be manufactured inexpensively without expensive sensors, but they can also be controlled with high performance/high precision.
상술한 목적을 달성하기 위하여, 본 발명은 건물에 대한 지도에 기반하여, 상기 건물을 주행하는 로봇을 제어하는 방법을 제공할 수 있다. 본 발명은 상기 건물에서 가상 장애물의 위치를 특정하는 단계, 특정된 상기 가상 장애물의 위치를 이용하여, 상기 가상 장애물에 대한 가상 장애물 정보를 상기 지도에 반영하는 단계, 상기 건물에 위치한 로봇 중 상기 가상 장애물에 대한 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계 및 상기 특정된 로봇이 상기 가상 장애물을 회피하여 주행하도록, 상기 특정된 로봇으로 상기 가상 장애물 정보를 전송하는 단계를 포함하는 로봇 제어 방법을 제공할 수 있다. In order to achieve the above-described object, the present invention can provide a method for controlling a robot driving in a building based on a map of the building. The present invention can provide a robot control method including a step of specifying a location of a virtual obstacle in the building, a step of reflecting virtual obstacle information about the virtual obstacle on the map using the specified location of the virtual obstacle, a step of specifying at least one robot among robots located in the building that satisfies a preset distance condition to the virtual obstacle, and a step of transmitting the virtual obstacle information to the specified robot so that the specified robot drives while avoiding the virtual obstacle.
또한, 본 발명은 클라우드 서버에 의해 제어되는 로봇이 주행하는 건물을 제공한다. 상기 건물은 상기 클라우드 서버로부터 상기 로봇의 주행과 제어 명령을 수신하여, 상기 로봇으로 전송하는 통신부를 포함하고, 상기 클라우드 서버는 상기 건물에서 가상 장애물의 위치를 특정하고 특정된 상기 가상 장애물의 위치를 이용하여, 상기 가상 장애물에 대한 가상 장애물 정보를 상기 지도에 반영하며, 상기 건물에 위치한 로봇 중 상기 가상 장애물에 대한 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하고, 상기 특정된 로봇이 상기 가상 장애물을 회피하여 주행하도록, 상기 특정된 로봇으로 상기 가상 장애물 정보를 전송하는 것을 특징으로 할 수 있다.In addition, the present invention provides a building in which a robot controlled by a cloud server drives. The building includes a communication unit that receives a driving and control command of the robot from the cloud server and transmits the command to the robot, and the cloud server specifies a location of a virtual obstacle in the building, and reflects virtual obstacle information about the virtual obstacle on the map using the location of the specified virtual obstacle, specifies at least one robot among the robots located in the building that satisfies a preset distance condition to the virtual obstacle, and transmits the virtual obstacle information to the specified robot so that the specified robot drives while avoiding the virtual obstacle.
또한, 본 발명은 건물을 주행하는 로봇을 제공할 수 있다. 상기 로봇은 본체, 상기 본체에 구비되는 주행부, 상기 본체에 구비되며, 상기 본체 주변의 장애물을 센싱하는 센싱부, 클라우드 서버와 통신하는 통신부, 상기 클라우드 서버로부터 수신되는 정보 및 상기 센싱부를 통해 수집되는 정보 중 적어도 하나에 근거하여, 상기 건물을 주행하도록 상기 주행부를 제어하는 제어부를 포함하고, 상기 제어부는 상기 클라우드 서버로부터 수신되는 정보에, 상기 가상 장애물에 대한 정보가 포함된 경우, 상기 가상 장애물을 넘어선 영역으로 이동하지 않도록 상기 주행부를 제어하는 것을 특징으로 할 수 있다.In addition, the present invention can provide a robot that drives around a building. The robot includes a main body, a driving unit provided in the main body, a sensing unit provided in the main body and configured to sense obstacles around the main body, a communication unit that communicates with a cloud server, and a control unit that controls the driving unit to drive around the building based on at least one of information received from the cloud server and information collected through the sensing unit, and the control unit may be characterized in that, if information on the virtual obstacle is included in the information received from the cloud server, the driving unit is controlled not to move to an area beyond the virtual obstacle.
본 발명에 따른 건물, 건물을 주행하는 로봇 제어 방법 및 시스템은, 가상 장애물과 관련된 정보를 지도에 함께 관리하고, 로봇의 경로 정보에 가상 장애물에 대한 정보를 함께 제공함으로써, 로봇의 접근이 제한된 구역에 대한 관리를 효율적으로 할 수 있다.The building, the method for controlling a robot driving in a building, and the system according to the present invention can efficiently manage areas where access by the robot is restricted by managing information related to virtual obstacles together on a map and providing information about virtual obstacles together with the path information of the robot.
나아가, 본 발명에 따른 건물, 건물을 주행하는 로봇 제어 방법 및 시스템은, 가상 장애물에 대한 회피가 요구되는 로봇에게 개별적으로 가상 장애물에 대한 정보를 제공함으로써, 로봇 마다의 위치 특성에 맞는 효율적인 관리가 가능하다. Furthermore, the building and the method and system for controlling a robot driving in a building according to the present invention provide information on virtual obstacles individually to robots that are required to avoid virtual obstacles, thereby enabling efficient management suited to the location characteristics of each robot.
나아가, 본 발명은 가상 장애물에 근접한 일부 로봇에만 가상 장애물과 관련된 정보를 전송함으로써, 로봇과 서버간의 불필요한 통신을 최소화할 수 있다.Furthermore, the present invention can minimize unnecessary communication between robots and servers by transmitting information related to virtual obstacles only to some robots close to the virtual obstacles.
나아가, 본 발명에 따르면, 로봇이 측위 오차로 인해 가상 장애물을 통과하는 경우, 가상 장애물의 위치를 변경함으로써, 로봇이 가상의 장애물을 통과하기 전 위치로 복귀할 수 있도록 유도한다. 이를 통해, 본 발명은 로봇의 접근을 제한하는 영역으로 로봇이 진입하더라도, 접근 제한 영역에서의 로봇의 주행을 최소화함과 동시에 로봇이 자연스럽게 접근 제한 영역 밖으로 주행할 수 있도록 유도한다.Furthermore, according to the present invention, when a robot passes through a virtual obstacle due to a positioning error, the position of the virtual obstacle is changed so that the robot can return to the position before passing through the virtual obstacle. Through this, the present invention minimizes the robot's driving in the restricted access area while simultaneously allowing the robot to naturally drive out of the restricted access area even when the robot enters an area where the robot's access is restricted.
나아가, 본 발명에 따른 로봇 친화형 건물은 로봇, 자율주행, AI, 클라우드 기술이 융합되고, 연결되는 테크 컨버전스(Technological Convergence)를 이용하며, 이러한 기술과, 로봇 그리고 건물내 구비되는 설비 인프라가 유기적으로 결합되는 새로운 공간을 제공할 수 있다.Furthermore, the robot-friendly building according to the present invention utilizes technological convergence in which robots, autonomous driving, AI, and cloud technologies are integrated and connected, and can provide a new space in which these technologies, robots, and facility infrastructure provided within the building are organically combined.
나아가, 본 발명에 따른 로봇 친화형 건물은 다수의 로봇과 연동하는 클라우드 서버를 이용하여, 다수의 로봇 및 설비 인프라를 유기적으로 제어함으로써, 보다 체계적으로 서비스를 제공하는 로봇의 주행을 체계적으로 관리할 수 있다. 이를 통해, 본 발명에 따른 로봇 친화형 건물은, 보다 안전하고, 신속하게, 그리고 정확하게 사람들에게 다양한 서비스를 제공할 수 있다.Furthermore, the robot-friendly building according to the present invention can systematically manage the operation of robots that provide services more systematically by organically controlling a plurality of robots and facility infrastructure using a cloud server that is linked to a plurality of robots. 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, not only can a large number of robots placed in the building be manufactured inexpensively without expensive sensors, but they can also be controlled with high performance/high precision.
나아가, 본 발명에 따른 건물에서는 건물에 배치된 다수의 로봇에 할당된 임무와 이동 상황을 고려함은 물론, 사람을 배려하도록 주행이 제어됨으로써, 같은 공간 속에서 자연스럽게 로봇과 사람이 공존 할 수 있다.Furthermore, in a building according to the present invention, the driving is controlled to take into consideration the tasks and movement situations assigned to a number of robots placed in the building, as well as people, so that robots and people can coexist naturally in the same space.
나아가, 본 발명에 따른 건물에서는 로봇에 의한 사고 방지 및 예기치 못한 상황에 대응할 수 있도록 다양한 제어를 수행함으로써, 사람들에게 로봇이 위험한 것이 아닌, 친근하고 안전하다는 인식을 심어줄 수 있다.Furthermore, in a building according to the present invention, by performing various controls to prevent accidents caused by robots and to respond to unexpected situations, it is possible to instill 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 illustrating a robot-friendly building according to the present invention.
FIGS. 4, 5, and 6 are conceptual diagrams for explaining a system for controlling a robot that drives 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.
FIGS. 9 to 11 are conceptual diagrams for explaining a method for estimating the position of a robot moving through a robot-friendly building according to the present invention.
Figure 12 is a conceptual diagram for explaining a robot included in a robot system according to the present invention.
Figure 13 is a conceptual diagram explaining a node map used to set the robot's movement path.
Figure 14 is a flow chart for explaining a robot control method according to the present invention.
Figures 15 and 16 are conceptual diagrams showing a robot control method according to the present invention.
Figure 17 is a conceptual diagram showing the shape of a virtual obstacle.
Figures 18 and 19 are conceptual diagrams showing virtual obstacles installed inside a building.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소에는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, embodiments disclosed in this specification will be described in detail with reference to the attached drawings. Regardless of the drawing symbols, identical or similar components will be given the same reference numerals and redundant descriptions thereof will be omitted. The suffixes "module" and "part" used for components in the following description are assigned or used interchangeably only for the convenience of writing the specification, and do not have distinct meanings or roles in themselves. In addition, when describing embodiments disclosed in this specification, if it is determined that a specific description of a related known technology may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof will be omitted. In addition, the attached drawings are only intended to facilitate easy understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the attached drawings, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.Terms that include ordinal numbers, such as first, second, etc., may be used to describe various components, but the components are not limited by the terms. The terms are used only to distinguish one component from another.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When it is said that a component is "connected" or "connected" to another component, it should be understood that it may be directly connected or connected to that other component, but that there may be other components in between. On the other hand, when it is said 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 indicates otherwise.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this application, it should be understood that terms such as “comprises” or “has” are intended to specify the presence of a feature, number, step, operation, component, part or combination thereof described in the specification, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.
본 발명은 로봇 친화형 건물에 관한 것으로서, 사람과 로봇이 안전하게 공존하고, 나아가 건물 내에서 로봇이 유익한 서비스를 제공할 수 있는 로봇 친화형 건물을 제안한다. The present invention relates to a robot-friendly building, and proposes a robot-friendly building in which people and robots can safely coexist and, further, in which robots can provide useful services within the building.
보다 구체적으로, 본 발명은 로봇, 로봇 친화 인프라 및 이를 제어하는 다양한 시스템을 이용하여, 사람에게 유용한 서비스를 제공하는 방법을 제공한다. 본 발명에 따른 건물에서는 사람과 다수의 로봇이 공존할 수 있으며, 다수의 로봇이 건물 내에서 자유롭게 이동할 수 있는 다양한 인프라(또는 설비 인프라)가 제공될 수 있다. More specifically, the present invention provides a method for providing useful services to people by using robots, robot-friendly infrastructure, and various systems for controlling the same. In a building according to the present invention, people and a plurality of robots can coexist, and various infrastructures (or facility infrastructures) can be provided that allow a plurality of robots to move freely within the building.
본 발명에서, 건물은 지속적인 거주, 생활, 업무 등을 위하여 만들어진 구조물로서, 상업용 건물, 산업용 건물, 기관용 건물, 거주용 건물 등과 같이 다양한 형태를 가질 수 있다. 또한, 상기 건물은 복수의 층을 가진 다층 건물과 이에 반대되는 단층 건물이 될 수 있다. 다만, 본 발명에서는 설명의 편의상 다층 건물에 적용되는 인프라 또는 설비 인프라를 예시로서 설명한다.In the present invention, a building is a structure built for continuous residence, living, work, etc., and may have various forms such as a commercial building, an industrial building, an institutional building, a residential building, etc. In addition, the building may be a multi-story building with multiple floors, or a single-story building as opposed to a multi-story building. However, in the present invention, for the convenience of explanation, the infrastructure or facility infrastructure applied to a multi-story building is described as an example.
본 발명에서, 인프라 또는 설비 인프라는, 서비스 제공, 로봇의 이동, 기능 유지, 청결 유지 등을 위하여 건물에 구비되는 시설로서, 그 종류 및 형태는 매우 다양할 수 있다. 예를 들어, 건물에 구비되는 인프라는 이동 설비(예를 들어, 로봇 이동 통로, 엘리베이터, 에스컬레이터 등), 충전 설비, 통신 설비, 세척 설비, 구조물(예를 들어, 계단 등) 등과 같이 다양할 수 있다. 본 명세서에서는 이러한 설비들은 시설, 인프라, 시설 인프라 또는 설비 인프라로 명명하도록 하며, 경우에 따라 용어를 혼용하여 사용하도록 한다.In the present invention, the infrastructure or facility infrastructure refers to facilities installed in a building for providing services, moving robots, maintaining functions, maintaining cleanliness, etc., and their types and forms may vary greatly. For example, the infrastructure installed in a building may include various types of moving facilities (e.g., robot moving passageways, elevators, escalators, etc.), charging facilities, communication facilities, cleaning facilities, structures (e.g., stairs, etc.), etc. In this specification, these facilities are referred to as facilities, infrastructure, facility infrastructure, or facility infrastructure, and the terms may be used interchangeably in some cases.
나아가, 본 발명에 따른 건물에서는 건물, 건물에 구비된 다양한 설비 인프라 및 로봇 중 적어도 하나가 서로 연동하여 제어됨으로써, 로봇이 안전하고, 정확하게 건물 내에서 다양한 서비스를 제공하도록 이루어질 수 있다. Furthermore, in a building according to the present invention, at least one of the building, various facility infrastructures provided in the building, and a robot 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 proposes a building equipped with various facility infrastructures that enable a plurality of robots to run within the building, provide services according to their tasks (or work), and support standby or charging functions, and further repair and cleaning functions for the robots as needed. Such a building provides an integrated solution (or system) for robots, and the building according to the present invention can be named with various modifiers. For example, the building according to the present invention can be expressed in various ways, such as 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, and v) a building that provides various services using robots.
한편, 본 발명에서 “로봇 친화”의 의미는, 로봇이 공존하는 건물에 대한 것으로서, 보다 구체적으로, 로봇의 주행을 허용하거나, 로봇이 서비스를 제공하거나, 로봇이 이용 가능한 설비 인프라가 구축되어 있거나, 로봇에게 필요한 기능(ex: 충전, 수리, 세척 등)을 제공하는 설비 인프라가 구축되어 있음을 의미할 수 있다. 이 경우에, 본 발명에서 “로봇 친화”는 로봇과 사람의 공존을 위한 통합 솔루션을 가지고 있다는 의미로 사용될 수 있다.Meanwhile, the meaning of “robot friendly” in the present invention refers to a building where robots coexist, and more specifically, it can mean that there is a facility infrastructure built that allows robots to run, that robots provide services, that robots can use, or that there is a facility infrastructure built that provides functions necessary for robots (ex: charging, repair, cleaning, etc.). In this case, “robot friendly” in the present invention can be used to mean that there is an integrated solution for coexistence of robots and humans.
이하에서는 첨부된 도면과 함께, 본 발명에 대해 보다 구체적으로 살펴본다.Below, the present invention will be described in more detail with reference to the attached drawings.
도 1, 도 2 및 도 3은 본 발명에 따른 로봇 친화형 건물을 설명하기 위한 개념도들이고, 도 4, 도 5 및 도 6은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇 및 로봇 친화형 건물에 구비된 다양한 설비를 제어하는 시스템을 설명하기 위한 개념도들이다. 나아가, 도 7 및 도 8은 본 발명에 따른 로봇 친화형 건물에 구비된 설비 인프라를 설명하기 위한 개념도들이다.FIGS. 1, 2 and 3 are conceptual diagrams for explaining a robot-friendly building according to the present invention, and FIGS. 4, 5 and 6 are conceptual diagrams for explaining a system for controlling a robot that drives a robot-friendly building according to the present invention and various facilities equipped in the robot-friendly building. Furthermore, FIGS. 7 and 8 are conceptual diagrams for explaining facility infrastructure equipped in a robot-friendly building according to the present invention.
먼저, 설명의 편의를 위하여, 대표적인 도면 부호를 정의하기로 한다.First, for convenience of explanation, we will define representative drawing symbols.
본 발명에서, 건물은 도면 부호 “1000” 부여하며, 건물(1000)의 공간(실내 공간 또는 실내 영역)은 도면 부호 “10”을 부여한다(도 8참조). 나아가, 건물(1000)의 실내 공간을 구성하는 복수의 층들(floors)에 각각 해당하는 실내 공간은 도면 부호 10a, 10b, 10c등을 부여한다(도 8 참조). 본 발명에서 실내 공간 또는 실내 영역은 건물의 외부와 반대되는 개념으로 외벽에 의하여 보호되는 건물의 내부를 의미하는 것으로서, 공간을 의미하는 것으로 한정되지 않는다.In the present invention, a building is given the drawing symbol “1000”, and a space (indoor space or indoor area) of the building (1000) is given the drawing symbol “10” (see FIG. 8). Furthermore, indoor spaces corresponding to a plurality of floors constituting the indoor space of the building (1000) are given drawing symbols 10a, 10b, 10c, etc. (see FIG. 8). In the present invention, the indoor space or indoor area means the interior of a building protected by an exterior wall as opposed to the exterior of the building, and is not limited to meaning a space.
나아가, 본 발명에서 로봇은 도면 부호 “R”을 부여하며, 도면 또는 명세서에서는 로봇에 대하여 도면 부호를 기입하지 않더라도, 모두 로봇(R)으로 이해되어질 수 있다.Furthermore, in the present invention, the robot is given a drawing symbol “R”, and even if a drawing symbol is not indicated for the robot in the drawing or specification, it can all be understood as a robot (R).
나아가, 본 발명에서 사람 또는 인간은 도면 부호 “U”를 부여하며, 사람 또는 인간은 동적인 객체로서 명명이 가능하다. 이때 동적인 객체는 반드시 사람만을 의미하는 것이 아니라, 강아지, 고양이와 같은 동물 또는 다른 적어도 하나의 로봇(예를 들어, 사용자의 개인 로봇, 다른 서비스를 제공하는 로봇 등), 드론, 청소기(예를 들어, 로봇 청소기)와 같이 움직임이 가능한 사물을 포함하는 의미로 받아들여질 수 있다.Furthermore, in the present invention, a person or a human is given the drawing symbol “U”, and a person or a human can be named as a dynamic object. At this time, the dynamic object does not necessarily mean only a person, but can be understood to include an animal such as a dog or a cat, or at least one other robot (e.g., a user’s personal robot, a robot providing other services, etc.), a drone, a vacuum cleaner (e.g., a robot vacuum cleaner), and other things that can move.
한편, 본 발명에서 설명되는 건물(建物, building, structure, edifice, 1000)은 특별한 종류에 제한을 두지 않으며, 사람이 들어 살거나, 일을 하거나, 동물을 사육하거나, 또는 물건을 넣어 두기 위하여 지은 구조물을 의미할 수 있다.Meanwhile, the building (building, structure, edifice, 1000) described in the present invention is not limited to a specific type, and may mean a structure built for people to live in, work in, raise animals, or store objects.
예를 들어, 건물(1000)은 사무실, 오피스, 오피스텔, 아파트, 주상복합 아파트, 주택, 학교, 병원, 음식점, 관공서 등이 될 수 있으며, 본 발명은 이러한 다양한 종류의 건물들에 적용될 수 있다.For example, the building (1000) may be an office, an officetel, an apartment, a multi-use apartment, a house, a school, a hospital, a restaurant, a government office, etc., and the present invention may be applied to these various types of buildings.
도 1에 도시된 것과 같이, 본 발명에 따른 건물(1000)에서는 로봇이 주행하며 다양한 서비스를 제공할 수 있다.As illustrated in Fig. 1, in a building (1000) according to the present invention, a robot can move and provide various services.
건물(1000)내에는 하나 또는 그 이상의 서로 다른 종류의 복수의 로봇들이 위치할 수 있으며, 이러한 로봇들은 서버(20)의 제어 하에, 건물(1000) 내를 주행하고, 서비스를 제공하며, 건물(1000)에 구비된 다양한 설비 인프라를 이용할 수 있다.One or more different types of multiple robots may be positioned within the building (1000), and these robots may run within the building (1000), provide services, and utilize various facility infrastructures provided within the building (1000) under the control of the server (20).
본 발명에서 서버(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 some of the servers (20) may be located inside the building (1000), and the remaining some may be located outside the building (1000). Alternatively, the servers (20) may be located entirely inside the building (1000), or only outside the building (1000). Accordingly, in the present invention, no particular 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) may be configured to use at least one of a cloud computing-type server (cloud server, 21) and an edge computing-type server (edge server, 22). Furthermore, in addition to the cloud computing or edge computing methods, the server (20) may be applied to the present invention as long as it is capable of controlling a robot.
한편, 본 발명에 따른 서버(20)는 경우에 따라, 클라우드 컴퓨팅(Cloud Computing) 방식의 서버(21) 및 엣지 컴퓨팅(Edge computing) 방식을 혼합하여 로봇 및 건물(1000)내 구비된 설비 인프라 중 적어도 하나에 대한 제어를 수행할 수 있다.Meanwhile, the server (20) according to the present invention may, in some cases, perform control of at least one of the robot and the facility infrastructure provided in the building (1000) by combining the server (21) of the cloud computing method and the edge computing method.
한편, 클라우드 서버(21)와 엣지 서버(22)에 대해서 보다 구체적으로 살펴보면, 엣지 서버(22)는 전자 장치로서, 로봇(R)의 브레인(brain)으로 동작할 수 있다. 즉 각각의 엣지 서버(22)는 적어도 하나의 로봇(R)을 무선으로 제어할 수 있다. 이 때 엣지 서버(22)는 정해지는 제어 주기에 기반하여, 로봇(R)을 제어할 수 있다. 제어 주기는 로봇(R)과 관련된 데이터를 처리(processing)하도록 주어지는 시간과 로봇(R)에 제어 명령을 제공하도록 주어지는 시간의 합으로 결정될 수 있다. 클라우드 서버(21)는 로봇(R) 또는 엣지 서버(22) 중 적어도 어느 하나를 관리할 수 있다. 이 때 엣지 서버(22)는 로봇(R)에 대응하여 서버로서 동작하고, 클라우드 서버(21)에 대응하여 클라이언트로 동작할 수 있다. Meanwhile, looking more specifically at the cloud server (21) and the edge server (22), the edge server (22) is an electronic device that 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 set 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 a control command 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) can operate as a server corresponding to the robot (R) and as a client corresponding 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 wiredly or wirelessly. At this time, the robot (R) and the edge server (22) can communicate via 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 may have features that not only enable ultra-reliable and low latency communications, but also enable enhanced mobile broadband (eMBB) and massive machine type communications (mMTC). As an example, the edge server (22) may include an MEC (mobile edge computing, multi-access edge computing) server and may be deployed at 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, as the time given to provide a control command to the robot (R) in the control cycle of the edge server (22) is shortened, the time given to process data can be extended. Meanwhile, the edge server (22) and the cloud server (21) can communicate via a wireless network, such as the Internet, for example.
한편, 경우에 따라, 복수 개의 엣지 서버들은 무선 메시 네트워크(mesh network)를 통하여 연결될 수 있으며, 클라우드 서버(21)의 기능은 복수 개의 엣지 서버들에 분산될 수 있다. 이러한 경우, 어떤 로봇(R)에 대하여, 엣지 서버들 중 어느 하나가 로봇(R)을 위한 엣지 서버(22)로서 동작하고, 엣지 서버들 중 적어도 다른 하나가 엣지 서버들 중 어느 하나와 협력 하에, 로봇(R)을 위한 클라우드 서버(21)로서 동작할 수 있다. Meanwhile, in some cases, a plurality of edge servers may be connected via a wireless mesh network, and the function of the cloud server (21) may be distributed to the plurality of edge servers. In this case, for a certain robot (R), one of the edge servers may operate as an edge server (22) for the robot (R), and at least one other of the edge servers may operate as a cloud server (21) for the robot (R) in cooperation with one of the edge servers.
본 발명에 따른 건물(1000)에 형성되는 네트워크 또는 통신망은 데이터를 수집하도록 구성되는 적어도 하나의 로봇(R), 로봇(R)을 무선으로 제어하도록 구성되는 적어도 하나의 엣지 서버(22), 및 엣지 서버(22)와 연결되고, 로봇(R)과 엣지 서버(22)를 관리하도록 구성되는 클라우드 서버(21) 간의 통신을 포함할 수 있다. A network or communication network formed in a building (1000) according to the present invention may include communication between at least one robot (R) configured to collect data, at least one edge server (22) configured to wirelessly control the robot (R), and a cloud server (21) connected to the edge server (22) and configured to manage the robot (R) and the edge server (22).
엣지 서버(22)는, 로봇(R)으로부터 상기 데이터를 무선으로 수신하고, 상기 데이터를 기반으로 제어 명령을 결정하고, 로봇(R)에 상기 제어 명령을 무선으로 전송하도록 구성될 수 있다. The edge server (22) can 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) may be configured to determine 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), determine the control command and transmit the control command within a set control period.
다양한 실시예들에 따르면, 엣지 서버(22)는, 클라우드 서버(21)와 협력해야 하는 것으로 판단되면, 상기 데이터를 기반으로 클라우드 서버(21)와 통신하여, 상기 제어 명령을 결정하도록 구성될 수 있다. According to various embodiments, the edge server (22) may be configured to communicate with the cloud server (21) based on the data to determine the control command when it is determined that cooperation with the cloud server (21) is required.
한편, 로봇(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 can perform software updates.
본 발명에서는, 설명의 편의를 위하여, 서버(20)를 “클라우드 서버”로 통일하여 명명하도록 하며, 도면 부호 “20”을 부여하도록 한다. 한편, 이러한 클라우드 서버(20)는 엣지 컴퓨팅의 엣지 서버(22)의 용어로도 대체될 수 있음은 물론이다.In the present invention, for the convenience of explanation, the server (20) is uniformly named as a “cloud server” and is given the drawing symbol “20”. Meanwhile, it goes without saying that the cloud server (20) can also be replaced with 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 can perform integrated control for a plurality of robots running in a building (1000). That is, the cloud server (20) can i) monitor a plurality of robots (R) located in the building (1000), ii) assign tasks (or work) to the plurality of robots, iii) directly control the facility infrastructure provided in the building (1000) so that the plurality of robots (R) successfully perform the tasks, or iv) control the facility infrastructure through communication with a control system that controls the facility infrastructure.
나아가, 클라우드 서버(20)는 건물에 위치한 로봇들의 상태 정보를 확인하고, 로봇들에 필요한 다양한 기능을 제공(또는 지원)할 수 있다. 여기에서, 다양한 기능은, 로봇들에 대한 충전 기능, 오염된 로봇에 대한 세척 기능, 임무가 완료된 로봇들에 대한 대기 기능 등이 존재할 수 있다.In addition, the cloud server (20) can check the status information of robots located in the building and provide (or support) various functions required 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 tasks have been completed.
클라우드 서버(20)는 로봇들에 대해 다양한 기능을 제공하기 위하여, 로봇들이 건물(1000)에 구비된 다양한 설비 인프라를 이용하도록, 로봇들을 제어할 수 있다. 나아가, 클라우드 서버는, 로봇들에 대해 다양한 기능을 제공하기 위하여, 건물(1000)내 구비된 설비 인프라를 직접적으로 제어하거나, 설비 인프라를 제어하는 제어 시스템과 통신을 통하여 설비 인프라가 제어되도록 할 수 있다.The cloud server (20) can control the robots so that the robots can use various facility infrastructures equipped in the building (1000) to provide various functions to the robots. Furthermore, the cloud server can directly control the facility infrastructure equipped in the building (1000) or control the facility infrastructure through communication with a control system that controls the facility infrastructure to provide various functions to the robots.
이와 같이, 클라우드 서버(20)에 의해 제어되는 로봇들은 건물(1000)을 주행하며, 다양한 서비스를 제공할 수 있다.In this way, robots controlled by the cloud server (20) can move around the building (1000) and provide various services.
한편, 클라우드 서버(20)는 데이터베이스에 저장된 정보를 근거로, 다양한 제어를 수행할 수 있으며, 본 발명에서 데이터베이스의 종류 및 위치에는 특별한 한정을 두지 않는다. 이러한 데이터베이스의 용어는 메모리, 저장부, 저장소, 클라우드 저장소, 외부 저장소, 외부 서버 등, 정보가 저장되는 수단을 의미하는 용어이면 자유롭게 변형되어 사용되어질 수 있다. 이하에서는 “데이터베이스”의 용어로 통일하여 설명하도록 한다.Meanwhile, the cloud server (20) can perform various controls based on the 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 of the database can be freely modified and used as long as it means a means for storing information, such as memory, storage, storage, cloud storage, external storage, external server, etc. In the following, the term “database” will be used for explanation.
한편, 본 발명에 따른 클라우드 서버(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, the type of control for the robots, etc., and in this case, the cloud server (20) can have sub-servers of lower concept.
나아가, 본 발명에 따른 클라우드 서버(20)는 다양한 인공지능 알고리즘에 근거하여, 건물(1000)을 주행하는 로봇을 제어할 수 있다.Furthermore, the cloud server (20) according to the present invention can control a robot moving through a building (1000) based on various artificial intelligence algorithms.
나아가, 클라우드 서버(20)는 로봇을 제어하는 과정에서 수집되는 데이터들을 학습 데이터로서 활용하는 인공지능 기반의 학습을 수행하고, 이를 로봇의 제어에 활용함으로써, 로봇에 대한 제어가 이루어질수록 로봇을 보다 정확하고, 효율적으로 운용할 수 있다. 즉, 클라우드 서버(20)는 딥러닝 또는 머신 러닝을 수행하도록 이루어질 수 있다. 또한, 클라우드 서버(20)는 시뮬레이션 등을 통하여 딥러닝 또는 머신 러닝을 수행하고, 그 결과로서 구축된 인공지능 모델을 이용하여 로봇에 대한 제어를 수행할 수 있다.Furthermore, the cloud server (20) performs artificial intelligence-based learning that utilizes data collected in the process of controlling the robot as learning data, and utilizes this to control the robot, so that the robot can be operated more accurately and efficiently as the control of the robot is performed. 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 perform control of the robot using the artificial intelligence model constructed as a result.
한편, 건물(1000)에는 로봇의 주행, 로봇의 기능 제공, 로봇의 기능 유지, 로봇의 임무 수행 또는 로봇과 사람의 공존을 위하여 다양한 설비 인프라가 구비될 수 있다. Meanwhile, the building (1000) may be equipped with various facility infrastructures for robot driving, robot function provision, robot function maintenance, robot mission performance, or coexistence of robots and humans.
예를 들어, 도 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 illustrated in (a) of FIG. 1, various facility infrastructures (1, 2) capable of supporting the driving (or movement) of the robot (R) may be provided within the building (1000). These facility infrastructures (1, 2) may support horizontal movement of the robot (R) within a floor of the building (1000) or vertical movement of the robot (R) between different floors of the building (1000). In this way, the facility infrastructures (1, 2) may be provided with a transportation system that supports the movement of the robot. The cloud server (20) may control the robot (R) to utilize these various facility infrastructures (1, 2) so that the robot (R) may move within the building (1000) to provide a service, as illustrated in (b) of FIG. 1.
한편, 본 발명에 따른 로봇들은 클라우드 서버(20) 및 로봇 자체에 구비된 제어부 중 적어도 하나에 근거하여 제어되어, 건물(1000) 내를 주행하거나, 부여된 임무에 해당하는 서비스를 제공하도록 이루어질 수 있다.Meanwhile, robots according to the present invention can be controlled based on at least one of a cloud server (20) and a control unit provided in the robot itself to drive within a building (1000) or provide a service corresponding to an assigned task.
나아가, 도 1의 (c)에 도시된 것과 같이, 본 발명에 따른 건물은 로봇과 사람들이 공존하는 건물로서, 로봇들은 사람(U), 사람이 사용하는 물건(예를 들어 유모차, 카트 등), 동물과 같은 장애물을 피하여 주행하도록 이루어지며, 경우에 따라 로봇의 주행과 관련된 알림 정보(3)를 출력하도록 이루어질 수 있다. 이러한 로봇의 주행은 클라우드 서버(20) 및 로봇에 구비된 제어부 중 적어도 하나의 근거 하에 장애물을 피하도록 이루어질 수 있다. 클라우드 서버(20)는 로봇에 구비된 다양한 센서(예를 들어, 카메라(이미지 센서), 근접 센서, 적외선 센서 등)를 통해 수신되는 정보에 근거하여, 로봇이 장애물을 피하여 건물(1000) 내를 이동하도록 로봇에 대한 제어를 수행할 수 있다.Furthermore, as illustrated in (c) of FIG. 1, a building according to the present invention is a building where robots and people coexist, and the robots are configured to avoid obstacles such as people (U), objects used by people (e.g., baby strollers, carts, etc.), and animals while driving, and in some cases, may be configured to output notification information (3) related to the driving of the robot. Such driving of the robot may be configured to avoid obstacles based on at least one of a cloud server (20) and a control unit equipped in the robot. The cloud server (20) may control the robot so that the robot moves within the building (1000) while avoiding obstacles based on information received through various sensors equipped in the robot (e.g., a camera (image sensor), a proximity sensor, an infrared sensor, etc.).
또한, 도 1의 (a) 내지 (c)의 과정을 거쳐 건물 내를 주행하는 로봇은, 도 1의 (d)에 도시된 것과 같이, 건물 내에 존재하는 사람 또는 타겟 객체에게 서비스를 제공하도록 이루어질 수 있다. In addition, a robot that moves inside a building through the processes of (a) to (c) of FIG. 1 can be configured to provide a service to a person or target object existing inside the building, as shown in (d) of FIG. 1.
로봇이 제공하는 서비스의 종류는, 로봇 마다 상이할 수 있다. 즉, 로봇은 용도에 따라 다양한 종류가 존재할 수 있으며, 로봇은 용도 마다 상이한 구조를 가지고, 로봇에는 용도에 적합한 프로그램이 탑재될 수 있다.The types of services provided by robots may vary from robot to robot. In other words, robots may exist in various types depending on their purpose, robots may have different structures depending on their purpose, and robots may be equipped with programs appropriate for their purpose.
예를 들어, 건물(1000)에는 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.For example, a building (1000) may be equipped with robots that provide at least one of the following services: delivery, logistics, guidance, interpretation, parking assistance, security, crime prevention, guarding, public safety, cleaning, quarantine, disinfection, laundry, beverage preparation, food preparation, serving, fire suppression, medical assistance, and entertainment. The services provided by the robots may vary in addition to the examples listed above.
한편, 클라우드 서버(20)는 로봇들 각각의 용도를 고려하여, 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다.Meanwhile, the cloud server (20) can assign appropriate tasks to the robots by considering the purpose 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 tasks under the control of a cloud server (20), and in this case, the amount of data processed by the robot itself for driving or performing tasks can be minimized. In the present invention, such a robot can be called a brainless robot. Such a brainless robot can depend on the control of the cloud server (20) for at least some of the control when performing actions such as driving, performing tasks, charging, waiting, and washing within a building (1000).
다만, 본 명세서에서는 브레인 리스 로봇을 구분하여 명명하지 않고, 모두 “로봇”으로 통일하여 명명하도록 한다.However, in this specification, brainless robots are not named separately, but are all referred to as “robots.”
앞서 설명한 것과 같이, 본 발명에 따른 건물(1000)은 로봇이 이용 가능한 다양한 설비 인프라가 구비될 수 있으며, 도 2, 도 3 및 도 4에 도시된 것과 같이, 설비 인프라는 건물(1000)내에 배치되어, 건물(1000) 및 클라우드 서버(20)와의 연동을 통해, 로봇의 이동(또는 주행)을 지원하거나, 로봇에게 다양한 기능을 제공할 수 있다.As described above, the building (1000) according to the present invention can be equipped with various facility infrastructures that can be used by the robot, and as shown in FIGS. 2, 3, and 4, the facility infrastructures are placed within the building (1000) and, through linkage with the building (1000) and a cloud server (20), can support movement (or driving) of the robot or provide various functions to the robot.
보다 구체적으로, 설비 인프라는 건물 내에서 로봇의 이동을 지원하기 위한 설비들을 포함할 수 있다.More specifically, the facility infrastructure may include facilities to support the movement of the robot within the building.
로봇의 이동을 지원하는 설비들은, 로봇이 전용으로 사용하는 로봇 전용 설비 및 사람과 공동으로 사용하는 공용 설비 중 어느 하나의 타입을 가질 수 있다.The facilities that support the movement of the robot can have either a robot-only facility for exclusive use by the robot or a shared facility for joint use with people.
나아가, 로봇의 이동을 지원하는 설비들은 로봇의 수평 방향으로의 이동을 지원하거나, 로봇의 수직 방향으로의 이동을 지원할 수 있다. 로봇들은 건물(1000)내에서 설비들을 이용하여, 수평 또는 수직 방향으로 이동할 수 있다. 수평 방향으로의 이동은, 동일 층 내에서의 이동을 의미하며, 수직 방향으로의 이동은 서로 다른 층간 사이를 이동하는 것을 의미할 수 있다. 따라서 본 발명에서는 동일 층 내에서 상하로 이동하는 것은 수평 방향의 이동으로 지칭할 수 있다.Furthermore, the facilities supporting the movement of the robot can support the horizontal movement of the robot or the vertical movement of the robot. The robots can move horizontally or vertically using the facilities within the building (1000). Movement in the horizontal direction means movement within the same floor, and movement in the vertical direction can mean movement between different floors. Therefore, in the present invention, moving up and down within the same floor can be referred to as movement in the horizontal direction.
로봇의 이동을 지원하는 설비들은 다양할 수 있으며, 예를 들어, 도 2 및 도 3에 도시된 것과 같이, 건물(1000)에는 로봇의 수평 방향으로의 이동을 지원하는 로봇 통로(로봇 도로, 201, 202, 203)가 구비될 수 있다. 이러한 로봇 통로는, 로봇이 전용으로 이용하는 로봇 전용 통로를 포함할 수 있다. 한편, 로봇 전용 통로는 사람의 접근이 원천적으로 차단되도록 이루어지는 것이 가능하나, 반드시 이에 한정되지 않을 수 있다. 즉, 로봇 전용 통로는 사람이 통행하거나, 접근할 수 있는 구조로 이루어질 수 있다.The facilities supporting the movement of the robot may be diverse, and for example, as shown in FIGS. 2 and 3, a building (1000) may be provided with a robot passage (robot road, 201, 202, 203) supporting the horizontal movement of the robot. This robot passage may include a robot-only passage exclusively used by the robot. Meanwhile, the robot-only passage may be formed so that access by humans is fundamentally blocked, but may not necessarily be limited thereto. That is, the robot-only passage may be formed in a structure that allows humans to pass through or access it.
한편, 도 3에 도시된 것과 같이, 로봇 전용 통로는 제1 전용 통로(또는 제1 타입 통로, 201) 및 제2 전용 통로(또는 제2 타입 통로, 202) 중 적어도 하나로 이루어질 수 있다. 제1 전용 통로 및 제2 전용 통로(201, 202)는 동일 층에 함께 구비되거나, 서로 다른 층에 구비될 수 있다.Meanwhile, as illustrated in FIG. 3, the robot-only passage may be formed of at least one of a first-only passage (or a first-type passage, 201) and a second-only passage (or a second-type passage, 202). The first-only passage and the second-only passage (201, 202) may be provided together on the same floor or on different floors.
또 다른 예로서, 도 2 및 도 3에 도시된 것과 같이, 건물(1000)에는 로봇의 수직 방향으로의 이동을 지원하는 이동 수단(204, 205)이 구비될 수 있다. 이러한 이동 수단(204, 205)은 엘리베이터(elevator) 또는 에스컬레이터(escalator) 중 적어도 하나를 포함할 수 있다. 로봇은 건물(1000)에 구비된 엘리베이터(204) 또는 에스컬레이터(205)를 이용하여, 서로 다른 층 사이를 이동할 수 있다.As another example, as illustrated in FIGS. 2 and 3, the building (1000) may be equipped with a moving means (204, 205) that supports vertical movement of the robot. The moving means (204, 205) may include at least one of an elevator or an escalator. The robot may move between different floors using the elevator (204) or the escalator (205) equipped in the building (1000).
한편, 이러한 엘리베이터(204) 또는 에스컬레이터(205)는 로봇 전용으로 이루어지거나, 사람과 함께 이용하는 공용으로 이루어질 수 있다.Meanwhile, these elevators (204) or escalators (205) may be for robot use only or may be for shared use with people.
예를 들어, 건물(1000)에는 로봇 전용 엘리베이터 또는 공용 엘리베이터 중 적어도 하나가 포함될 수 있다. 마찬가지로, 나아가, 건물(1000)에는 로봇 전용 에스컬레이터 또는 공용 에스컬레이터 중 적어도 하나가 포함될 수 있다. For example, the building (1000) may include at least one of a robot-only elevator or a public elevator. Likewise, further, 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 means of movement that can be utilized for both vertical and horizontal movement. For example, a means of movement in the form of a moving walkway may support horizontal movement of the robot within a floor or vertical movement between floors.
로봇은 자체적인 제어 또는 클라우드 서버(20)에 의한 제어 하에, 수평 방향 또는 수직 방향으로 건물(1000) 내를 이동할 수 있으며, 이때, 로봇의 이동을 지원하는 다양한 설비를 이용하여, 건물(1000) 내를 이동할 수 있다.The robot can move within the building (1000) in a horizontal or vertical direction under its own control or under the control of a cloud server (20), and at this time, the robot can move within the building (1000) using various facilities that support the movement of the robot.
나아가, 건물(1000)에는 건물(1000) 또는 건물(1000)내 특정 영역으로의 출입을 제어하는 출입문(206, 또는 자동문) 및 출입 통제 게이트(gate, 207) 중 적어도 하나를 포함할 수 있다. 출입문(206) 및 출입 통제 게이트(207) 중 적어도 하나는 로봇이 이용 가능하도록 이루어질 수 있다. 로봇은 클라우드 서버(20)의 제어 하에 출입문(또는 자동문, 206) 또는 출입 통제 게이트(207)를 통과하도록 이루어질 수 있다.Furthermore, the building (1000) may include at least one of an entrance door (206, or automatic door) and an access control gate (gate, 207) that control access to the building (1000) or a specific area within the building (1000). At least one of the entrance door (206) and the access control gate (207) may be configured to be accessible to a robot. The robot may be configured to pass through the entrance door (or automatic door, 206) or the 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)가 더 포함될 수 있다.In addition, 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 cleaning facility (210) for cleaning the robot.
나아가, 건물(1000)에는 로봇이 제공하는 특정 서비스에 특화된 설비(211)가 포함될 수 있으며, 예를 들어 배송 서비스를 위한 설비가 포함될 수 있다.Additionally, the building (1000) may include facilities (211) specialized for specific services provided by the robot, for example facilities for delivery services.
또한, 건물(1000)에는 로봇을 모니터링하기 위한 설비가 포함될 수 있으며(도면부호 212 참조), 이러한 설비의 예로는 다양한 센서들(예를 들어, 카메라(또는 이미지 센서, 121)가 존재할 수 있다.Additionally, the building (1000) may include equipment for monitoring the robot (see drawing symbol 212), examples of which may include various sensors (e.g., cameras (or image sensors, 121).
도 2 및 도 3과 함께 살펴본 것과 같이, 본 발명에 따른 건물(1000)에는 서비스 제공, 로봇의 이동, 주행, 기능 유지, 청결 유지 등을 위한 다양한 설비들이 구비될 수 있다.As seen with reference to FIGS. 2 and 3, the building (1000) according to the present invention may be equipped with various facilities for providing services, moving the robot, driving, maintaining functions, maintaining cleanliness, etc.
한편, 도 4에 도시된 것과 같이, 본 발명에 따른 건물(1000)은 클라우드 서버(20), 로봇(R), 설비 인프라(200)와 상호 연결되어, 건물(1000) 내에서 로봇들이 다양한 서비스를 제공함은 물론, 이를 위하여 설비들을 적절하게 이용하도록 할 수 있다.Meanwhile, as illustrated in FIG. 4, a building (1000) according to the present invention is interconnected with a cloud server (20), a robot (R), and equipment infrastructure (200), so that the robots can provide various services within the building (1000) and use the equipment appropriately for this purpose.
여기에서, “상호 연결”된다고 함은, 건물 내에서 제공되는 서비스, 로봇의 이동, 주행, 기능 유지, 청결 유지 등과 관련된 다양한 데이터, 제어명령이 네트워크(또는 통신망)을 통하여 적어도 하나의 주체에서 다른 적어도 하나의 주체로 단방향 또는 쌍방향으로 송수신되는 것을 의미할 수 있다.Here, “interconnected” may mean that various data and control commands related to services provided within a building, movement, driving, function maintenance, and cleaning of the robot are transmitted and received unidirectionally or bidirectionally from at least one entity to at least one other entity through a network (or communication network).
여기에서, 주체는, 건물(1000), 클라우드 서버(20), 로봇(R), 설비 인프라(200) 등이 될 수 있다.Here, the subject can 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) may include at least one of the various facilities (see drawing symbols 201 to 213) examined together with FIGS. 2 and 3 and a control system (201a, 202a, 203a, 204a, ...) that controls them.
건물(1000)을 주행하는 로봇(R)은 네트워크(40)를 통하여, 클라우드 서버(20)와 통신하도록 이루어지며, 클라우드 서버(20)와의 제어 하에 건물(1000) 내에서 서비스를 제공할 수 있다.A robot (R) running in a building (1000) is configured to communicate with a cloud server (20) via a 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 various facilities provided in the building (1000) or directly controlling the facilities. As illustrated 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), thereby connecting 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). That is, the communication unit (110) can act as a medium for communication between different entities. This communication unit (110) can also be referred to as a base station, a router, etc., and the communication unit (110) can form a communication network or network so that the robot (R), the cloud server (20), and the facility infrastructure (200) can communicate with each other within the building (1000).
한편, 본 명세서에서, 건물(1000)과 통신망을 통해 연결된다고 함은, 건물 시스템(1000a)에 포함된 구성요소 중 적어도 하나와 연결됨을 의미할 수 있다.Meanwhile, in this specification, being connected to a building (1000) through a communication network may mean being connected to at least one of the components included in the building system (1000a).
도 5에 도시된 것과 같이, 건물(1000)에 배치되는 복수의 로봇들(R)은 통신부(110)를 통해 형성되는 유선 통신망 및 무선 통신망 중 적어도 하나를 통하여, 클라우드 서버(20)와 통신을 수행함으로써, 클라우드 서버(20)에 의해 원격 제어되도록 이루어질 수 있다. 이러한 유선 통신망 또는 무선 통신망과 같은 통신망은 네트워크(40)라고 이해되어질 수 있다.As illustrated in FIG. 5, a plurality of robots (R) placed in a building (1000) can be remotely controlled by a cloud server (20) by performing communication with the cloud server (20) through at least one of a wired communication network and a wireless communication network formed through a communication unit (110). Such a communication network, such as a wired communication network or a wireless communication network, can 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 equipment 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 a service corresponding to an assigned task by utilizing various equipment provided within 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) may include at least one of the various facilities (see drawing symbols 201 to 213) examined with reference to FIGS. 2 and 3 and the control systems (201a, 202a, 203a, 204a, …) that control them (such control systems may also be referred to as “control servers”).
도 4에 도시된 것과 같이, 서로 다른 종류의 설비들은 고유의 제어 시스템을 구비할 수 있다. 예를 들어, 로봇 통로(또는 로봇 전용 통로, 로봇 도로, 로봇 전용 도로, 201, 202, 203)의 경우, 로봇 통로(201, 202, 203)를 각각 독립적으로 제어하기 위한 제어 시스템(201a, 202a, 203a)이 존재하고, 엘리베이터(또는 로봇 전용 엘리베이터, 204)의 경우, 엘리베이터(204)를 제어하기 위한 제어 시스템(204)이 존재할 수 있다.As illustrated in FIG. 4, different types of equipment may have their own control systems. For example, in the case of a robot passageway (or a robot-only passageway, a robot road, a robot-only road, 201, 202, 203), there may be a control system (201a, 202a, 203a) for independently controlling each of the robot passageways (201, 202, 203), and in the case of an elevator (or a robot-only elevator, 204), there may be a control system (204) for controlling the elevator (204).
이러한, 설비들을 제어하기 위한 고유의 제어 시스템들은 클라우드 서버(20), 로봇(R), 건물(1000) 중 적어도 하나와 통신하여, 로봇(R)이 설비를 이용하도록 각각의 설비에 대한 적절한 제어를 수행할 수 있다.These unique control systems for controlling the facilities can communicate with at least one of the cloud server (20), the robot (R), and the building (1000) to perform appropriate control of each facility so that the robot (R) can use the facility.
한편, 각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)에 포함된 센싱부(201b, 202b, 203b, 204b, …)는, 설비 자체에 구비되어, 설비와 관련된 다양한 정보를 센싱하도록 이루어질 수 있다. Meanwhile, the sensing unit (201b, 202b, 203b, 204b, ...) included in each facility control system (201a, 202a, 203a, 204a, ...) may be provided in the facility itself and configured to sense various information related to the facility.
나아가, 각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)에 포함된 제어부(201c, 202c, 203c, 204c, …)는 각각의 설비의 구동을 위한 제어를 수행하며, 클라우드 서버(20)와의 통신을 통하여, 로봇(R)이 설비를 이용하도록 적절한 제어를 수행할 수 있다. 예를 들어, 엘리베이터(204)의 제어 시스템(204b)은, 클라우드 서버(20)와의 통신을 통해, 로봇(R)이 엘리베이터(204)에 탑승하도록 로봇(R)이 위치한 층에, 엘리베이터(204)가 정차하도록 엘리베이터(204)를 제어할 수 있다.Furthermore, the control unit (201c, 202c, 203c, 204c, ...) included in each facility control system (201a, 202a, 203a, 204a, ...) performs control for driving each facility, and can perform appropriate control so that the robot (R) can use the facility through communication with the cloud server (20). For example, the control system (204b) of the elevator (204) can control the elevator (204) to stop at the floor where the robot (R) is located so that the robot (R) can board the elevator (204) through communication with the cloud server (20).
각각의 설비 제어 시스템(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, …) may be located within the building (1000) together with each facility (201, 202, 203, 204, …) or may be located outside the building (1000).
나아가, 본 발명에 따른 건물(1000)에 포함된 설비들 중 적어도 일부는, 클라우드 서버(20)에 의해 제어되거나, 건물(1000)의 제어부(150)에 의하여 제어되는 것 또한 가능하다. 이 경우, 설비는 별도의 설비 제어 시스템을 구비하지 않을 수 있다.Furthermore, at least some of the facilities included in the building (1000) according to the present invention may be controlled by a cloud server (20) or by a control unit (150) of the building (1000). In this case, the facilities 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 is provided with an example of having its own control system. However, as mentioned above, it goes without saying that the role of the control system for controlling the facility can be replaced by the control unit (150) of the cloud server (20) or the building (1000). In this case, it goes without saying that the term of the control unit (201c, 202c, 203c, 204c, ...) of the facility control system described in this specification can be replaced with the term of the cloud server (20) or the control unit (150, or the control unit (150) of the building.
한편, 도 4에서 각각의 설비 제어 시스템(201a, 202a, 203a, 204a, …)의 구성요소들은 일 예에 대한 것으로서, 각각의 설비 특성에 따라 다양한 구성요소들이 추가되거나, 제외될 수 있다.Meanwhile, the components of each facility control system (201a, 202a, 203a, 204a, …) in FIG. 4 are for example only, and various components may be added or excluded depending on the characteristics of each facility.
이와 같이, 본 발명에서는 로봇(R), 클라우드 서버(20) 및 설비 제어 시스템(201a, 202a, 203a, 204a, …)이 설비 인프라를 이용하여 건물(1000) 내에서 다양한 서비스를 제공한다. In this way, in the present invention, a robot (R), a cloud server (20), and a facility control system (201a, 202a, 203a, 204a, …) provide various services within a building (1000) by utilizing the facility infrastructure.
이 경우에, 로봇(R)은 주로 건물 내를 주행하여 다양한 서비스를 제공하게 된다. 이를 위하여, 로봇(R)은 바디부, 구동부, 센싱부, 통신부, 인터페이스부 및 전원공급부 중 적어도 하나를 구비할 수 있다.In this case, the robot (R) mainly drives inside the building to provide various services. To this end, the robot (R) may be equipped 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.) forming the exterior. In the present 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 can be formed in different shapes according to various services exemplified in the present invention. For example, in the case of a robot providing a delivery service, a storage compartment for storing items can be provided on the upper part of the body part. As another example, in the case of a robot providing a cleaning service, a suction port for sucking dust using a vacuum can be provided on the lower part of the body part.
구동부는 클라우드 서버(20)에서 전송하는 제어 명령에 따른 특정 동작을 수행하도록 이루어진다. The driving unit is configured to perform specific operations according to control commands transmitted from the cloud server (20).
구동부는 주행과 관련하여 로봇의 바디부가 특정 공간 내를 이동할 수 있는 수단을 제공한다. 보다 구체적으로, 구동부는 모터 및 복수의 바퀴를 포함하며, 이들이 조합되어, 로봇(R)을 주행, 방향 전환, 회전시키는 기능을 수행한다. 다른 예로서, 구동부는 주행 외의 다른 동작, 예를 들어 픽업 등의 수행을 위하여 엔드 이펙터, 매니퓰레이터, 액추에이터 중 적어도 하나를 구비할 수 있다. The drive unit provides a means for the body of the robot to move within a specific space in relation to driving. More specifically, the drive unit includes a motor and a plurality of wheels, which are combined to perform functions of driving, turning, and rotating the robot (R). As another example, the drive unit may include at least one of an end effector, a manipulator, and an actuator to perform other operations 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 operating status of the robot), information about the surrounding environment surrounding the robot, location information of the robot, and user information.
예를 들어, 센싱부는 카메라(이미지 센서), 근접 센서, 적외선 센서, 레이저 스캐너(라이다 센서), RGBD 센서, 지자기 센서, 초음파 센서, 관성 센서, UWB 센서 등을 구비할 수 있다.For example, the sensing unit may be equipped with 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 is configured to transmit and receive wireless signals in the robot in order to perform wireless communication between the robot (R) and the communication unit of the building, between the robot (R) and another robot, or between the robot (R) and the control system of the facility. As examples of this, the communication unit may be equipped with a wireless Internet module, a short-distance communication module, a location information module, etc.
인터페이스부는 로봇(R)을 외부기기와 연결시킬 수 있는 통로로서 구비될 수 있다. 예를 들어, 상기 인터페이스부는 단자(충전단자, 접속단자, 전원단자), 포트 또는 커넥터 등이 될 수 있다. 전원공급부는 외부의 전원, 내부의 전원을 인가받아 로봇(R)에 포함된 각 구성요소들에 전원을 공급하는 장치가 될 수 있다. 다른 예로서, 전원공급부는 로봇(R)의 내부에서 전기에너지를 생성하여 각 구성요소에 공급하는 장치가 될 수 있다.The interface unit may be provided as a passage that can connect the robot (R) to an external device. For example, the interface unit may be a terminal (a charging terminal, a connection terminal, a power terminal), a port, or a connector. The power supply unit may be a device that receives external power or 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 electric energy inside the robot (R) and supplies it to each component.
이상에서, 로봇(R)은 주로 건물 내를 주행하는 것을 기준으로 설명하였으나, 본 발명은 반드시 이에 한정되는 것은 아니다. 예를 들어, 본 발명의 로봇은 드론 등과 같이 건물 내를 비행하는 로봇의 형태도 가능하다. 보다 구체적으로, 안내 서비스를 제공하는 로봇이 건물 내에서 사람의 주변을 비행하면서 사람에게 건물에 대한 안내를 제공할 수 있다. In the above, the robot (R) was mainly described as driving inside a building, but the present invention is not necessarily limited to this. For example, the robot of the present invention can also be in the form of a robot that flies inside a building, such as a drone. More specifically, a robot that provides guidance services can fly around a person inside a building and provide guidance to the person about 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 may be equipped with a separate control unit as a sub-controller of the cloud server (20). For example, the control unit of the robot receives a control command for driving from the cloud server (20) and controls the driving unit of the robot. In this case, the control unit may calculate the torque or current to be applied to the motor using data sensed by the sensing unit of the robot. The motor, etc. is driven by a position controller, a speed controller, a current controller, etc. using the calculated result, 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 various facilities provided in the building (1000) or directly controlling the facilities. As illustrated 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).
통신부(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), thereby connecting 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). That is, the communication unit (110) can act as a medium for communication between different entities.
도 5 및 도 6에 도시된 것과 같이, 통신부(110)는 이동통신 모듈(111), 유선 인터넷 모듈(112), 무선 인터넷 모듈(113) 및 근거리 통신 모듈(114) 중 적어도 하나를 포함하도록 이루어질 수 있다.As illustrated in FIGS. 5 and 6, the communication unit (110) may be 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).
통신부(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) may be configured to transmit and receive wireless signals with at least one of a building system (1000a), a cloud server (20), a robot (R), and facility infrastructure (200) on a mobile communication network constructed according to technical standards or communication methods for mobile communications (e.g., 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), etc.). At this time, as a more specific example, the robot (R) can 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) provides communication in a wired manner, and can be configured to transmit and receive signals with at least one of a cloud server (20), a robot (R), and equipment infrastructure (200) using a physical communication line as a medium.
나아가, 무선 인터넷 모듈(113)은 이동 통신 모듈(111)을 포함하는 개념으로서, 무선 인터넷 접속이 가능한 모듈을 의미할 수 있다. 무선 인터넷 모듈(113)은 건물(1000) 내에 배치되어, 무선 인터넷 기술들에 따른 통신망에서 건물 시스템(1000a), 클라우드 서버(20), 로봇(R) 및 설비 인프라(200) 중 적어도 하나와 무선 신호를 송수신하도록 이루어진다.In addition, the wireless Internet module (113) is a concept that includes a mobile communication module (111), and may mean a module capable of wireless Internet access. The wireless Internet module (113) is placed in a building (1000) and is configured to transmit and receive wireless signals with at least one of a building system (1000a), a cloud server (20), a robot (R), and facility infrastructure (200) in a communication network according to wireless Internet technologies.
무선 인터넷 기술은 매우 다양할 수 있으며, 앞서 살펴본 이동 통신 모듈(111)의 통신 기술을 뿐만 아니라, WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), Wi-Fi(Wireless Fidelity) Direct, DLNA(Digital Living Network Alliance), WiBro(Wireless Broadband), WiMAX(World Interoperability for Microwave Access) 등이 있다. 나아가, 본 발명에서는, 상기 무선 인터넷 모듈(113)은 상기에서 나열되지 않은 인터넷 기술까지 포함한 범위에서 적어도 하나의 무선 인터넷 기술에 따라 데이터를 송수신하게 된다.Wireless Internet technologies can be very diverse, and in addition to the communication technology of the mobile communication module (111) discussed above, there are WLAN (Wireless LAN), Wi-Fi (Wireless-Fidelity), Wi-Fi (Wireless Fidelity) Direct, DLNA (Digital Living Network Alliance), WiBro (Wireless Broadband), WiMAX (World Interoperability for Microwave Access), 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(Wireless-Fidelity), 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, and can perform short-range communication with at least one of the building system (1000a), the cloud server (20), the robot (R), and the facility infrastructure (200) by using at least one of Bluetooth™, RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee, NFC (Near Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus) technologies.
통신부(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) the cloud server (20) and the robot (R), ii) the cloud server (20) and the building (1000), iii) the cloud server (20) and the facility infrastructure (200, iv) the facility infrastructure (200) and the robot (R), and 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 be configured to include various sensors. At least some of the information sensed through the sensing unit (120) of the building (1000) may be transmitted to at least one of the cloud server (20), the robot (R), and the facility infrastructure (200) through a communication network formed through the communication unit (110). At least one of the cloud server (20), the robot (R), and the facility infrastructure (200) may control the robot (R) or the facility infrastructure (200) using the information sensed through the sensing unit (120).
센싱부(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 installed in the building (1000) and configured to sense various pieces of information about the building (1000). The information sensed by the sensing unit (120) may be information about a robot (R) moving in the building (1000), a person located in the building (1000), an obstacle, etc., and may include various environmental information related to the building (e.g., temperature, humidity, etc.).
도 5에 도시된 것과 같이, 센싱부(120)는 이미지 센서(121), 마이크(122), 바이오 센서(123), 근접센서(124), 조도센서(125), 적외선 센서(126), 온도 센서(127) 및 습도 센서(128) 중 적어도 하나를 포함할 수 있다.As illustrated in FIG. 5, the sensing unit (120) may include at least one of an image sensor (121), a microphone (122), a biosensor (123), a proximity sensor (124), an illuminance sensor (125), an infrared sensor (126), a temperature sensor (127), and a 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 camera is given the same drawing symbol “121” as the image sensor (121).
한편, 건물(1000)에 배치되는 카메라(121)의 수는 그 제한이 없다. 건물(1000)에 배치된 카메라(121)의 종류는 다양할 수 있으며, 일 예로서, 건물(1000)에 배치된 카메라(121)는 CCTV(closed circuit television)일 수 있다. 한편, 카메라(121)가 건물(1000)에 배치되었다 함은, 건물(1000)의 실내 공간(10)에 카메라(121)가 배치됨을 의미할 수 있다.Meanwhile, there is no limitation on the number of cameras (121) placed in the building (1000). The types of cameras (121) placed in the building (1000) may vary, and as an example, the camera (121) placed in the building (1000) may be a CCTV (closed circuit television). Meanwhile, the fact 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 occurring in the building (1000).
바이오 센서(123)는 생체 정보를 센싱하기 위한 것으로서, 건물(1000)에 위치한 사람 또는 동물에 대한 생체 정보(예를 들어, 지문 정보, 얼굴 정보, 홍채 정보 등)를 센싱할 수 있다.The biosensor (123) is for sensing biometric information and can sense biometric information (e.g., fingerprint information, facial information, iris information, etc.) about a person or animal located in a building (1000).
근접 센서(124)는 근접 센서(124)에 대해 접근하거나 근접 센서(124) 주변에 위치한 대상(로봇 또는 사람 등)을 센싱하도록 이루어질 수 있다.The proximity sensor (124) can be configured to sense an object (such as a robot or a person) approaching the proximity sensor (124) or located around the proximity sensor (124).
나아가, 조도 센서(125)는 조도 센서(125) 센서 주변의 조도를 센싱하도록 이루어지며, 적외선 센서(126)는 적외선 센서(LED)가 내장되어 이를 이용해 어두운 실내나 야간에 건물(1000)에 대한 촬영을 수행할 수 있다.In addition, the light sensor (125) is configured to sense the light around the light sensor (125), and the infrared sensor (126) has a built-in infrared sensor (LED) that can be used to take pictures of a building (1000) in a dark room or at night.
나아가, 온도 센서(127)는 온도 센서(127) 주변의 온도를 센싱하며, 습도 센서(128)는 습도 센서(128) 주변의 온도를 센싱할 수 있다.Furthermore, the temperature sensor (127) can sense the temperature around the temperature sensor (127), and the humidity sensor (128) can sense the temperature around the humidity sensor (128).
한편, 본 발명에서 센싱부(120)를 구성하는 센서의 종류에는 특별한 제한이 없으며, 각각의 센서에 의해 정의되는 기능이 구현되기만 하면 족하다.Meanwhile, there is no particular limitation on the type of sensor constituting the sensing unit (120) in the present invention, 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) may include at least one of a display unit (131), an audio output unit (132), and a lighting unit (133) as a means for outputting at least one of visual, auditory, and tactile information to a person or a robot (R) in the building (1000). This output unit (130) may be placed at an appropriate location in the indoor space of the building (1000) depending on necessity or circumstances.
다음으로, 저장부(140)는 건물(1000), 로봇 및 설비 인프라 중 적어도 하나와 관련된 다양한 정보를 저장하도록 이루어질 수 있다. 본 발명에서 저장부(140)는 건물(1000) 자체에 구비될 수 있다. 이와 다르게, 이와 다르게, 저장부(140)의 적어도 일부는, 클라우드 서버(20) 또는 외부 데이터베이스 중 적어도 하나를 의미할 수 있다. 즉, 저장부(140)는 본 발명에 따른 다양한 정보가 저장되는 공간이면 충분하며, 물리적인 공간에 대한 제약은 없는 것으로 이해될 수 있다. Next, the storage (140) may be configured to store various information related to at least one of the building (1000), the robot, and the facility infrastructure. In the present invention, the storage (140) may be provided in the building (1000) itself. Alternatively, at least a part of the storage (140) may mean at least one of a cloud server (20) or an external database. That is, the storage (140) may be sufficient as long as it is a space where various information according to the present invention is stored, and it may be understood that there is no limitation on the 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 for 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). The control unit (150) can perform control of the robot by linking with the cloud server (20). Furthermore, the control unit (150) can 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). Alternatively, the cloud server controlling the building (1000) can exist separately from the cloud server (20) controlling the robot (R). In this case, the cloud server controlling the building (1000) and the cloud server (20) controlling the robot (R) may be interconnected with each other through mutual communication so that the robot (R) can provide services, or may be interconnected with each other for the movement, function maintenance, and cleanliness maintenance of the robot. 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 described 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, so that various services using the robot can be provided within the building (1000).
이상에서 살펴본 것과 같이, 본 발명에 따른 건물(1000)에서는, 로봇에 의해 다양한 서비스가 제공되도록, 로봇(R), 건물 내 구비되는 설비 인프라(200) 및 클라우드 서버(20)가 유기적으로 연결될 수 있다. 이러한 로봇(R), 설비 인프라(200) 및 클라우드 서버(20) 중 적어도 일부는 로봇 친화형 건물을 구축하기 위한 플랫폼 형태로 존재할 수 있다.As described above, in a building (1000) according to the present invention, a robot (R), facility infrastructure (200) provided within the building, and a cloud server (20) can be organically connected so that various services can be provided by the robot. At least some of the robot (R), facility infrastructure (200), and cloud server (20) can exist in the form of a platform for constructing a robot-friendly building.
이하에서는, 위에서 살펴본 건물(1000), 건물 시스템(1000a), 설비 인프라(200), 클라우드 서버(20)의 내용을 참고하여, 로봇(R)이 설비 인프라(200)를 이용하는 과정에 대하여 보다 구체적으로 살펴본다. 이때, 로봇(R)은, 임무 수행(또는 서비스 제공), 주행, 충전, 청결 유지, 대기 등의 목적으로, 건물(1000)의 실내 공간(10)을 주행거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.Hereinafter, with reference to the contents of the building (1000), building system (1000a), facility infrastructure (200), and cloud server (20) discussed above, the process in which the robot (R) utilizes the facility infrastructure (200) will be examined in more detail. At this time, the robot (R) may drive in the indoor space (10) of the building (1000) or move using the facility infrastructure (200) for the purpose of performing a task (or providing a service), driving, charging, maintaining cleanliness, waiting, etc., and may further utilize the facility infrastructure (200).
이와 같이, 로봇(R)은 어떠한 “목적”에 근거하여, “목적”을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.In this way, the robot (R) can drive within the indoor space of the building (1000) or move using the facility infrastructure (200) to achieve the “purpose” based on a certain “purpose”, and further, can utilize the facility infrastructure (200).
이때, 로봇이 달성해야할 목적은 다양한 원인에 근거하여 특정될 수 있다. 로봇이 달성해야 할 목적은, 제1 타입의 목적과 제2 타입의 목적이 존재할 수 있다.At this time, the purpose that the robot must achieve can be specified based on various reasons. The purpose that the robot must achieve can exist as a first type purpose and a second type 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 its original mission.
즉, 제1 타입에 따른 로봇이 달성해야하는 목적은, 로봇 본연의 임무를 수행하기 위한 목적일 수 있다. 이러한 목적은, 로봇의 “임무(task)”라고도 이해되어질 수 있다.That is, the purpose that a robot of the first type must achieve may be the purpose of performing the robot's original mission. This purpose may also be understood as the robot's "task."
예를 들어, 로봇이 서빙 서비스를 제공하는 로봇인 경우, 로봇은 서빙 서비스를 제공하기 위한 목적 또는 임무을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다. 또한, 로봇이 길 안내 서비스를 제공하는 로봇인 경우, 로봇은 길 안내 서비스를 제공하기 위한 목적 또는 임무을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.For example, if the robot is a robot that provides a serving service, the robot may drive in an indoor space of a building (1000) or move using the facility infrastructure (200) and further utilize the facility infrastructure (200) in order to achieve the purpose or mission of providing the serving service. In addition, if the robot is a robot that provides a route guidance service, the robot may drive in an indoor space of a building (1000) or move using the facility infrastructure (200) and further utilize the facility infrastructure (200) in order to achieve the purpose or mission of providing the route guidance service.
한편, 본 발명에 따른 건물에는 서로 다른 목적에 따른 운용되는 복수의 로봇이 위치할 수 있다. 즉, 건물에는 서로 다른 임무를 수행가능한 서로 다른 로봇들이 배치될 수 있으며, 이는 건물의 관리자, 건물에 입주한 다양한 주체들의 필요에 의하여, 건물에는 서로 다른 종류의 로봇들이 배치될 수 있다.Meanwhile, a plurality of robots operating for different purposes may be positioned in the building according to the present invention. That is, different robots capable of performing different tasks may be placed in the building, and different types of robots may be placed in the building according to the needs of the building manager and various entities occupying the building.
예를 들어, 건물에는 배송, 물류 작업, 안내, 통역, 주차지원, 보안, 방범, 경비, 치안, 청소, 방역, 소독, 세탁, 음료 제조, 음식 제조, 서빙, 화재 진압, 의료 지원 및 엔터테인먼트 서비스 중 적어도 하나의 서비스를 제공하는 로봇들이 배치될 수 있다. 로봇들이 제공하는 서비스는 위에서 열거된 예들 외에도 다양할 수 있다.For example, a building may be equipped with robots that provide at least one of the following services: delivery, logistics, guidance, interpretation, parking assistance, security, crime prevention, guarding, public safety, cleaning, quarantine, disinfection, laundry, beverage preparation, food preparation, serving, fire suppression, medical assistance, and entertainment services. The services provided by the robots may vary in addition to the examples listed above.
한편, 제2 타입의 목적은 로봇이 로봇 본연의 임무 외의 임무 또는 기능을 수행하기 위한 것으로서, 이는, 로봇 본연의 임무와 관련 없는 목적일 수 있다. 이러한 제2 타입의 목적은, 로봇이 로봇 본연의 임무를 수행하는 것과 직접적으로 연관되지는 않으나, 간접적으로 필요한 임무 또는 기능일 수 있다.Meanwhile, the second type of purpose is for the robot to perform a task or function other than the robot's original task, which may be a purpose unrelated to the robot's original task. This second type of purpose may be a task or function that is not directly related to the robot performing the robot's original task, but is indirectly necessary.
예를 들어, 로봇이 본연의 임무 수행을 위해서는, 동작에 필요한 충분한 전원이 필요하고, 로봇이 사람들에게 쾌적한 서비스를 제공하기 위해서는 청결을 유지해야 한다. 나아가, 복수의 로봇이 건물 내에서 효율적으로 운용되기 위해서는, 때로는 일정한 공간에서 대기하는 상황이 존재할 수 있다.For example, in order for a robot to perform its original mission, it needs sufficient power for its operation, and in order for the robot to provide pleasant services to people, it needs to be kept clean. Furthermore, in order for multiple robots to operate efficiently within a building, there may be times when they have to wait in a certain space.
이와 같이, 본 발명에서 로봇은 제2 타입의 목적을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.In this way, in order to achieve the second type of purpose, the robot in the present invention can drive in an indoor space of a building (1000) or move using the facility infrastructure (200), and further, can utilize the facility infrastructure (200).
예를 들어, 로봇은 충전 기능에 따른 목적을 달성하기 위하여, 충전 설비 인프라를 이용할 수 있고, 세척 기능에 따른 목적을 달성하기 위하여 세척 설비 인프라를 이용할 수 있다.For example, a robot may utilize charging infrastructure to achieve a purpose according to its charging function, and may utilize washing infrastructure to achieve a purpose according to its washing function.
이와 같이, 본 발명에서 로봇은 어떠한 목적을 달성하기 위하여, 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용할 수 있다.In this way, in the present invention, the robot can drive in an indoor space of a building (1000) or move using the facility infrastructure (200) to achieve a certain purpose, and further, can utilize the facility infrastructure (200).
한편, 클라우드 서버(20)는 데이터베이스(database) 상에 저장된 건물에 위치한 복수의 로봇들 각각에 대응되는 정보에 근거하여, 건물 내 위치한 로봇들 각각에 대한 적절한 제어를 수행할 수 있다.Meanwhile, the cloud server (20) can perform appropriate control on each of the robots located in the building based on information corresponding to each of the multiple robots located in the building stored in the 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. For example, there may be i) identification information for identifying the robot (R) placed in the space (10) (e.g., serial number, TAG information, QR code information, etc.), ii) mission information assigned to the robot (R) (e.g., type of mission, operation according to the mission, target user information that is the subject of the mission, mission performance location, mission performance scheduled time, etc.), iii) driving path information set for the robot (R), iv) location information of the robot (R), v) status information of the robot (R) (e.g., power status, breakdown status, cleaning status, battery status, etc.), vi) image information received from a camera equipped in the robot (R), vii) operation information related to the operation of the robot (R), etc.
한편, 로봇들에 대한 적절한 제어는, 앞서 살펴본 제1 타입의 목적 또는 제2 타입의 목적에 따라 로봇을 운용하는 제어와 관련된 것일 수 있다.Meanwhile, appropriate control of robots may be related to the control of operating robots according to the purpose of the first type or the purpose of the second type discussed above.
여기에서, 로봇의 운용은 로봇이 건물(1000)의 실내 공간을 주행하거나, 설비 인프라(200)를 이용하여 이동하고, 나아가, 설비 인프라(200)를 이용하도록 하는 제어를 의미할 수 있다.Here, operation of the robot may mean control to enable the robot to drive within the indoor space of the building (1000), move using the facility infrastructure (200), and further, utilize the facility infrastructure (200).
로봇의 이동은 로봇의 주행으로 지칭될 수 있으며, 따라서 본 발명에서 이동 경로와 주행 경로는 혼용되어 사용될 수 있다.The movement of the robot may be referred to as the driving of the robot, and therefore, in the present invention, the movement path and the driving path may be used interchangeably.
클라우드 서버(20)는 데이터베이스에 저장된 로봇 각각에 대한 정보에 근거하여, 로봇들 각각의 용도(또는 본연의 임무)에 따라 로봇들에게 적절한 임무를 할당하고, 할당된 임무가 수행되도록 로봇들에 대한 제어를 수행할 수 있다. 이때 할당되는 임무는 앞서 살펴본 제1 타입의 목적을 달성하기 위한 임무일 수 있다.The cloud server (20) can assign appropriate tasks to the robots based on the information about each robot stored in the database according to the purpose (or original mission) of each robot, and control the robots so that the assigned tasks are performed. At this time, the assigned tasks may be tasks for achieving the first type of purpose discussed above.
나아가, 클라우드 서버(20)는 데이터베이스에 저장된 로봇 각각에 대한 정보에 근거하여, 로봇들 각각에 제2 타입의 목적을 달성하기 위한 제어를 수행할 수 있다.Furthermore, the cloud server (20) can perform control on each robot to achieve a second type of purpose based on information about each robot stored in the database.
이때, 클라우드 서버(20)로부터 제2 타입의 목적을 달성하기 위한 제어명령을 수신한 로봇은, 제어 명령에 근거하여, 충전 설비 인프라로 이동하거나, 세척 설비 인프라 등으로 이동하여, 제2 타입의 목적을 달성할 수 있다.At this time, the robot that has received a control command to achieve the second type of purpose from the cloud server (20) can move to the charging facility infrastructure or the washing facility infrastructure, etc., based on the control command, to achieve the second type of purpose.
한편, 이하에서는, 제1 타입 또는 제2 타입의 목적을 구분하지 않고, “목적” 또는 “임무”의 용어를 사용하도록 한다. 이하에서 설명되는 목적은, 제1 타입의 목적 또는 제2 타입의 목적 중 어느 하나일 수 있다. Meanwhile, in the following, the terms “purpose” or “mission” will be used without distinguishing between the first type or the second type of purpose. The purpose described below may be either the first type of purpose or the second type of purpose.
마찬가지로, 이하에서 설명되는 임무 역시, 제1 타입의 목적을 달성하기 위한 임무 또는 제2 타입의 목적을 달성하기 위한 임무일 수 있다.Likewise, the mission described below may be a mission to achieve the first type of objective or a mission to achieve the second type of objective.
예를 들어, 서빙 서비스 제공이 가능한 로봇이 존재하고, 서빙할 대상(타겟 유저(target user))이 존재하는 경우, 클라우드 서버(20)는 로봇이 타겟 유저에게 서빙에 대항하는 임무를 수행하도록, 로봇에 대한 제어를 수행할 수 있다.For example, if there is a robot capable of providing a serving service and there is a target user to serve, the cloud server (20) can control the robot so that the robot performs the task of serving the target user.
또 다른 예를 들어, 충전이 필요한 로봇이 존재하는 경우, 클라우드 서버(20)는 로봇이 충전에 해당하는 임무를 수행하도록, 충전 설비 인프라로 로봇이 이동하도록 하는 제어를 수행할 수 있다.As another example, if there is a robot that needs to be charged, the cloud server (20) can perform control to move the robot to the charging facility infrastructure so that the robot performs a task corresponding to charging.
이에, 이하에서는, 제1 타입의 목적 또는 제2 타입의 목적에 대한 구분 없이, 클라우드 서버(20)의 제어 하에, 로봇이 설비 인프라(200)를 이용하여 목적 또는 임무을 수행하는 방법에 대하여 보다 구체적으로 살펴본다. 한편, 본 명세서에서 클라우드 서버(20)는 임무를 수행하기 위하여 클라우드 서버(20)에 의해 제어 되는 로봇은 “타겟 로봇”으로 명명되는 것 또한 가능하다.Hereinafter, a method in which a robot performs a purpose or task by using the facility infrastructure (200) under the control of a cloud server (20), regardless of whether the purpose is a first type or a second type, will be examined in more detail. Meanwhile, in this specification, a robot controlled by a cloud server (20) to perform a task may also be referred to as a “target robot.”
클라우드서 서버(20)는 요청 또는 자체적인 판단하에, 임무를 수행할 적어도 하나의 로봇을 특정할 수 있다.The cloud server (20) can, upon request or at its own discretion, specify at least one robot to perform a task.
여기에서, 요청은 다양한 주체로부터 수신되는 것이 가능하다. 예를 들어, 클라우드 서버는 건물에 위치한 방문객, 관리자, 입주민, 근로자 등과 같은 다양한 주체로부터 다양한 방식(예를 들어, 전자기기를 통한 사용자 입력, 제스처 방식의 사용자 입력)으로 요청을 수신할 수 있다. 여기에서, 요청은 로봇에 의해 특정 서비스(또는 특정 임무)가 제공되도록 하는 서비스 요청일 수 있다.Here, the request can be received from various subjects. For example, the cloud server can receive requests in various ways (e.g., user input via electronic devices, user input via gestures) from various subjects such as visitors, managers, residents, and workers located in the building. Here, the request can be a service request for a specific service (or a specific task) to be provided by the robot.
클라우드 서버(20)는 이러한 요청에 기반하여, 건물(1000)내 위치한 복수의 로봇 중 해당 서비스를 수행 가능한 로봇을 특정할 수 있다. 클라우드 서버(20)는 i)로봇이 수행 가능한 서비스 종류, ii)로봇이 기 할당받은 임무, iii)로봇의 현재 위치, iv)로봇의 상태(ex: 전원 상태, 청결 상태, 배터리 상태 등)에 근거하여, 상기 요청에 대응 가능한 로봇을 특정할 수 있다. 앞서 살펴본 것과 같이, 데이터베이스 상에는 로봇 각각에 대한 다양한 정보 존재하며, 클라우드 서버(20)는 이러한 데이터베이스에 근거하여, 상기 요청에 기반하여 임무를 수행할 로봇을 특정할 수 있다.Based on the request, the cloud server (20) can specify a robot among multiple robots located within the building (1000) that can perform the service. The cloud server (20) can specify a robot that can respond to the request based on i) the type of service that the robot can perform, ii) the task assigned to the robot, iii) the current location of the robot, and iv) the status of the robot (e.g., power status, cleanliness status, battery status, etc.). As described above, there is various information about each robot in the database, and the cloud server (20) can specify a robot that will perform the task based on the request based on the database.
나아가, 클라우드 서버(20)는 자체적인 판단에 근거하여, 임무를 수행할 적어도 하나의 로봇을 특정할 수 있다.Furthermore, the cloud server (20) can, based on its own judgment, specify at least one robot to perform the task.
여기에서, 클라우드 서버(20)는 다양한 원인에 근거하여 자체적인 판단을 수행할 수 있다. Here, the cloud server (20) can perform its own judgment based on various causes.
일 예로서, 클라우드 서버(20)는, 건물(1000)내에 존재하는 특정 사용자 또는 특정 공간에 서비스의 제공이 필요한지를 판단할 수 있다. 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 기반하여, 서비스의 제공이 필요한 특정 대상을 추출할 수 있다.As an example, the cloud server (20) can determine whether a specific user or a specific space within a building (1000) requires provision of a service. The cloud server (20) can extract a specific target requiring provision of a service based on information sensed and received from at least one of a sensing unit (120, see FIGS. 4 to 6) within the building (1000), a sensing unit included in the facility infrastructure (200), and a sensing unit equipped in a robot.
여기에서, 특정 대상은, 사람, 공간 또는 객체 중 적어도 하나를 포함할 수 있다. 객체는, 건물(1000)내 위치하는 시설물, 물체 등을 의미할 수 있다. 그리고, 클라우드 서버(20)는 추출된 특정 대상에게 필요한 서비스의 종류를 특정하고, 특정 대상에게 특정 서비스가 제공되도록 로봇을 제어할 수 있다.Here, a specific target may include at least one of a person, a space, or an object. The object may mean a facility, an object, etc. located within a building (1000). In addition, the cloud server (20) may 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) can specify at least one robot that will 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 requires service provision based on various judgment algorithms. For example, the cloud server (20) can specify a type of service, such as route guidance, serving, or stairway movement, based on information sensed and received from at least one of a sensing unit (120, see FIGS. 4 to 6) existing in a building (1000), a sensing unit included in the facility infrastructure (200), and a sensing unit equipped in a robot. In addition, the cloud server (20) can specify a target that requires the service. Furthermore, the cloud server (20) can specify a robot capable of providing a specified service so that the service is provided by the robot.
나아가, 클라우드 서버(20)는 다양한 판단 알고리즘에 근거하여, 서비스의 제공이 필요한 특정 공간을 판단할 수 있다. 예를 들어, 클라우드 서버(20)는 건물(1000)에 존재하는 센싱부(120, 도 4 내지 도 6 참조), 설비 인프라(200)에 포함된 센싱부 및 로봇에 구비된 센싱부 중 적어도 하나로부터 센싱 및 수신된 정보에 근거하여, 배송의 타겟 유저, 안내가 필요한 게스트, 오염된 공간, 오염된 시설물, 화재 구역 등과 같이 서비스의 제공이 필요한 특정 공간 또는 객체를 추출하고, 해당 특정 공간 또는 객체에 로봇에 의한 서비스가 제공되도록, 해당 서비스 제공이 가능한 로봇을 특정할 수 있다.Furthermore, the cloud server (20) can determine a specific space requiring service provision based on various judgment algorithms. For example, the cloud server (20) can extract a specific space or object requiring service provision, such as a target user for delivery, a guest requiring guidance, a contaminated space, a contaminated facility, a fire zone, etc., based on information sensed and received from at least one of a sensing unit (120, see FIGS. 4 to 6) existing in a building (1000), a sensing unit included in the facility infrastructure (200), and a sensing unit equipped in a robot, and can specify a robot capable of providing the service so that the service is provided by the robot to the specific space or object.
이와 같이, 특정 임무(또는 서비스)를 수행할 로봇이 특정되면, 클라우드 서버(20)는 로봇에 임무를 할당하고, 로봇이 임무를 수행하기 위하여 필요한 일련의 제어를 수행할 수 있다.In this way, when a robot to perform a specific task (or service) is specified, the cloud server (20) can assign a 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 may include at least one of i) setting a movement path of the robot, ii) specifying a facility infrastructure to be used for moving to a destination where the mission is to be performed, iii) communicating with a specific facility infrastructure, iv) controlling a specific facility infrastructure, v) monitoring the robot performing the mission, vi) evaluating the driving of the robot, and vii) monitoring whether the robot has completed the mission.
클라우드 서버(20)는 로봇의 임무가 수행될 목적지를 특정하고, 로봇이 해당 목적지에 도달하기 위한 이동 경로를 설정할 수 있다. 로봇(R)은 클라우드 서버(20)에 의해 이동 경로가 설정되면, 임무의 수행을 위하여, 해당 목적지까지 이동하도록 제어될 수 있다.The cloud server (20) can specify the destination where the robot's mission is to be performed and set a movement path for the robot to reach the destination. When the movement path is set by the cloud server (20), the robot (R) can be controlled to move to the destination in order to perform the mission.
한편, 클라우드 서버(20)는 로봇이 임무 수행을 시작(개시)하는 위치(이하, “임무 수행 시작 위치”로 명명함)부터 목적지까지 도달하기 위한 이동 경로를 설정할 수 있다. 여기에서, 로봇이 임무 수행을 시작하는 위치는 로봇의 현재 위치이거나, 로봇이 임무 수행을 시작하는 시점에서의 로봇의 위치일 수 있다. Meanwhile, the cloud server (20) can set a movement path from the location where the robot starts (initiates) performing a task (hereinafter referred to as “task performance start location”) to reach the destination. Here, the location where the robot starts performing a task can be the current location of the robot or the location of the robot at the time when the robot starts performing the task.
클라우드 서버(20)는, 건물(1000)의 실내 공간(10)에 대응되는 지도(map, 또는 지도 정보))에 근거하여, 임무를 수행할 로봇의 이동 경로를 생성할 수 있다.The cloud server (20) can generate a movement path of a robot to perform a mission based on a map (or map information) corresponding to an indoor space (10) of a building (1000).
여기에서, 지도는, 건물의 실내 공간을 구성하는 복수의 층(10a, 10b, 10c, …) 각각의 공간에 대한 지도 정보를 포함할 수 있다.Here, the map may include map information for each space of multiple floors (10a, 10b, 10c, …) that constitute the interior space of the building.
나아가, 이동 경로는, 임무 수행 시작 위치로부터, 임무가 수행되는 목적지까지의 이동 경로 일 수 있다.Furthermore, the movement path may be a movement path from a mission execution start location to a destination where the mission is performed.
본 발명에서는 이러한 지도 정보와 이동 경로에 대하여, 실내 공간에 대한 것으로 설명하나, 본 발명은 반드시 이에 한정되는 것은 아니다. 예를 들어, 지도 정보는 실외 공간의 정보를 포함할 수 있으며, 이동 경로는 실내 공간에서 실외 공간까지 이어지는 경로가 될 수 있다.In the present invention, the map information and movement path are described as being for indoor spaces, but the present invention is not necessarily limited thereto. For example, the map information may include information on outdoor spaces, and the movement path may be a path connecting an indoor space to an outdoor space.
도 8에 도시된 것과 같이, 건물(1000)의 실내 공간(10)은 서로 다른 복수의 층들(10a, 10b, 10c, 10d, …)로 구성될 수 있으며, 임무 수행 시작 위치와 목적지는 서로 동일한 층에 위치하거나, 서로 다른 층에 위치할 수 있다.As illustrated 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 execution start location and destination may be located on the same floor or on different floors.
클라우드 서버(20)는 복수의 층들(10a, 10b, 10c, 10d, …)에 대한 지도 정보를 이용하여, 건물(1000) 내에서 서비스를 수행할 로봇의 이동 경로를 생성할 수 있다.The cloud server (20) can generate a movement path of a robot that performs a service within a building (1000) by using map information for multiple floors (10a, 10b, 10c, 10d, …).
클라우드 서버(20)는 건물(1000)에 배치된 설비 인프라(복수의 설비) 중 로봇이 목적지까지 이동하기 위하여 이용 또는 통과해야 하는 적어도 하나의 설비를 특정할 수 있다. The cloud server (20) can specify at least one facility among the facility infrastructure (multiple facilities) placed in the building (1000) that the robot must use or pass through to move to the destination.
예를 들어, 클라우드 서버(20)는 로봇이 1층(10a)에서 2층(10b)으로 이동해야 하는 경우, 로봇의 층간 이동을 보조할 적어도 하나의 설비(204, 205)를 특정하고, 특정된 설비가 위치한 지점을 포함하여 이동 경로를 생성할 수 있다. 여기에서, 로봇의 층간 이동을 보조하는 설비는 로봇 전용 엘리베이터(204), 공용 엘리베이터(213), 에스컬레이터(205) 중 적어도 하나일 수 있다. 이 밖에도, 로봇의 층간 이동을 보조하는 설비는 다양한 종류가 존재할 수 있다.For example, when a robot needs to move from the first floor (10a) to the second floor (10b), the cloud server (20) can specify at least one facility (204, 205) to assist the robot in moving between floors, and generate a movement path including the point where the specified facility is located. Here, the facility assisting the robot in moving between floors can be at least one of a robot-only elevator (204), a public elevator (213), and an escalator (205). In addition, there can be various types of facilities assisting the robot in moving between floors.
일 예로서, 클라우드 서버(20)는 실내 공간(10)의 복수의 층들(10a, 10b, 10c, …) 중 목적지에 해당하는 특정 층을 확인하고, 로봇의 임무 수행 시작 위치(ex: 서비스에 대응되는 임무를 개시하는 시점에서의 로봇의 위치)를 기준으로, 로봇이 서비스를 수행하기 위하여 층간 이동이 필요한지 판단할 수 있다.As an example, the cloud server (20) can identify a specific floor corresponding to a destination among multiple floors (10a, 10b, 10c, ...) of an indoor space (10), and determine whether the robot needs to move between floors to perform a service based on the robot's task execution start position (ex: the robot's position at the time of starting a task corresponding to the service).
그리고, 클라우드 서버(20)는 판단 결과에 근거하여, 상기 이동 경로 상에 로봇의 층간 이동을 보조하는 설비(수단)를 포함할 수 있다. 이때, 로봇의 층간 이동을 보조하는 설비는 로봇 전용 엘리베이터(204), 공용 엘리베이터(213), 에스컬레이터(205) 중 적어도 하나일 수 있다. 예를 들어, 클라우드 서버(20)는 로봇의 층간 이동이 필요한 경우, 로봇의 층간 이동을 보조하는 설비가 로봇의 이동 경로 상에 포함되도록, 이동 경로를 생성할 수 있다. And, the cloud server (20) may include a facility (means) that assists the movement of the robot between floors on the movement path based on the judgment result. At this time, the facility that assists the movement of the robot 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 movement of the robot between floors is required, the cloud server (20) may generate a movement path so that the facility that assists the movement of the robot between floors is included on the movement path of the robot.
또 다른 예를 들어, 클라우드 서버(20)는 로봇의 이동 경로 상에 로봇 전용 통로(201, 202)가 위치하는 경우, 로봇 전용 통로(201, 202)를 이용하여 로봇이 이동하도록, 로봇 전용 통로(201, 202)가 위치한 지점을 포함하여 이동 경로를 생성할 수 있다. 앞서 도 3과 함께 살펴본 것과 같이, 로봇 전용 통로는 제1 전용 통로(또는 제1 타입 통로, 201) 및 제2 전용 통로(또는 제2 타입 통로, 202) 중 적어도 하나로 이루어질 수 있다. 제1 전용 통로 및 제2 전용 통로(201, 202)는 동일 층에 함께 구비되거나, 서로 다른 층에 구비될 수 있다. 제1 전용 통로(201) 및 상기 제2 전용 통로(202)는 건물의 바닥면을 기준으로 서로 다른 높이를 가질 수 있다. As another example, if a robot-only passageway (201, 202) is located on the movement path of the robot, the cloud server (20) can generate a movement path including a point where the robot-only passageway (201, 202) is located so that the robot can move using the robot-only passageway (201, 202). As discussed above with reference to FIG. 3, the robot-only passageway can be formed of at least one of a first-only passageway (or a first-type passageway, 201) and a second-only passageway (or a second-type passageway, 202). The first-only passageway and the second-only passageway (201, 202) can be provided together on the same floor or can be provided on different floors. The first-only passageway (201) and the second-only passageway (202) can have different heights with respect to the floor surface of the building.
한편, 클라우드 서버(20)는 로봇이 이용하는 로봇 전용 통로의 타입 및 로봇 전용 통로 주변의 혼잡도에 근거하여, 로봇 전용 통로 상에서의 로봇의 주행 특성이 달라지도록 제어할 수 있다. 클라우드 서버(20)는 도 3 및 도 8에 도시된 것과 같이, 제2 전용 통로를 로봇이 주행하는 경우, 로봇 전용 통로 주변의 혼잡도에 근거하여, 로봇의 주행 특성이 달라지도록 할 수 있다. 제2 전용 통로는, 사람 또는 동물이 접근 가능한 통로이기 때문에, 안전성 및 이동 효율성을 함께 고려하기 위함이다.Meanwhile, the cloud server (20) can control the driving characteristics of the robot on the robot-only passage to vary based on the type of the robot-only passage used by the robot and the degree of congestion around the robot-only passage. As shown in FIG. 3 and FIG. 8, the cloud server (20) can control the driving characteristics of the robot to vary based on the degree of congestion around the robot-only passage when the robot is driving on the second dedicated passage. Since the second dedicated passage is a passage accessible to people or animals, this is 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 degree of congestion 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 these images, the cloud server (20) may control the driving speed of the robot to be lower than (or below) a preset speed when the robot-only passageway at the point where the robot is located and in the direction of travel is congested.
이와 같이, 클라우드 서버(20)는 복수의 층들(10a, 10b, 10c, 10d, …)에 대한 지도 정보를 이용하여, 건물(1000) 내에서 서비스를 수행할 로봇의 이동 경로를 생성하며, 이때, 건물(1000)에 배치된 설비 인프라(복수의 설비) 중 로봇이 목적지까지 이동하기 위하여 이용 또는 통과해야 하는 적어도 하나의 설비를 특정할 수 있다. 그리고, 특정된 적어도 하나의 설비가 이동 경로 상에 포함되도록 하는 이동 경로를 생성할 수 있다. In this way, the cloud server (20) uses map information for multiple floors (10a, 10b, 10c, 10d, ...) to generate a movement path of a robot that will perform a service within a building (1000), and at this time, among the facility infrastructure (multiple facilities) placed in the building (1000), at least one facility that the robot must use or pass through to move to a destination can be specified. In addition, a movement path can be generated so that at least one specified facility is included in the movement path.
한편, 서비스를 수행하기 위하여 실내 공간(10)을 주행하는 로봇은 클라우드 서버(20)로부터 수신되는 이동 경로를 따라 상기 적어도 하나의 설비를 순차적으로 이용 또는 통과하며 목적지까지 주행을 수행할 수 있다.Meanwhile, a robot driving in an indoor space (10) to perform a service can drive to a destination by sequentially using or passing through at least one of the facilities along a movement path received from a cloud server (20).
한편, 로봇이 이용해야 하는 설비의 순서는, 클라우드 서버(20)의 제어 하에 결정될 수 있다. 나아가, 로봇이 이용해야 하는 설비의 순서는, 클라우드 서버(20)로부터 수신되는 이동 경로에 대한 정보에 포함될 수 있다.Meanwhile, the order of the facilities to be used by the robot can be determined under the control of the cloud server (20). Furthermore, the order of the facilities to be used by the robot can 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 illustrated in FIG. 7, the building (1000) may include at least one of robot-only facilities (201, 202, 204, 208, 209, 211) exclusively used by robots and common facilities (205, 206, 207, 213) jointly used by people.
로봇이 전용하여 사용하는 로봇 전용 설비는, 로봇에 필요한 기능(ex: 충전 기능, 세척 기능, 대기 기능)을 제공하는 설비(208. 209)와 로봇의 이동에 이용되는 설비(201, 202, 204, 211)를 포함할 수 있다.Robot-specific equipment exclusively used by the robot may include equipment (208, 209) that provides functions required by the robot (e.g., charging function, washing function, standby function) and equipment (201, 202, 204, 211) used for movement of the robot.
클라우드 서버(20)는, 로봇이 이동 경로를 생성함에 있어, 임무 수행 시작 위치로부터 목적지까지의 경로 상에, 로봇 전용 설비가 존재하는 경우, 로봇이 로봇 전용 설비를 이용하여 이동(또는 통과)하도록 하는 이동 경로를 생성할 수 있따. 즉, 클라우드 서버(20)는 로봇 전용 설비를 우선하여 이동 경로를 생성할 수 있다. 이는 로봇의 이동의 효율성을 높이기 위함이다. 예를 들어, 클라우드 서버(20)는 목적지까지의 이동 경로 상에 로봇 전용 엘리베이터(204)와 공용 엘리베이터(213)가 모두 존재하는 경우, 로봇 전용 엘리베이터(204)가 포함된 이동 경로를 생성할 수 있다.When the cloud server (20) generates a movement path for the robot, if there is a robot-only facility on the path from the task execution start position to the destination, the cloud server (20) can generate a movement path that allows the robot to move (or pass) using the robot-only facility. That is, the cloud server (20) can generate a movement path by giving priority to the robot-only facility. This is to increase the efficiency of the robot's movement. For example, if there is both a robot-only elevator (204) and a public elevator (213) on the movement path to the destination, the cloud server (20) can generate a movement path that includes the robot-only elevator (204).
위에서 살펴본 것과 같이, 본 발명에 따른 건물(1000)을 주행하는 로봇은, 건물(1000)에 구비된 다양한 설비를 이용하여, 임무 수행을 위하여 건물(1000)이 실내 공간을 주행할 수 있다.As described above, a robot that drives a building (1000) according to the present invention can drive within an indoor space of the building (1000) to perform a task by utilizing various facilities provided in the building (1000).
클라우드 서버(20)는 로봇의 원활할 이동을 위하여, 로봇이 이용하는 또는 이용이 예정된 적어도 하나의 설비의 제어 시스템(또는 제어 서버)와 통신하도록 이루어질 수 있다. 앞서, 도 4와 함께 살펴본 것과 같이, 설비들을 제어하기 위한 고유의 제어 시스템들은 클라우드 서버(20), 로봇(R), 건물(1000) 중 적어도 하나와 통신하여, 로봇(R)이 설비를 이용하도록 각각의 설비에 대한 적절한 제어를 수행할 수 있다.The cloud server (20) may be configured to communicate with a control system (or control server) of at least one facility used or scheduled to be used by the robot for smooth movement of the robot. As previously discussed with reference to FIG. 4, unique control systems for controlling the facilities may communicate with at least one of the cloud server (20), the robot (R), and the building (1000) to perform appropriate control of each facility so that the robot (R) may use the facility.
한편, 클라우드 서버(20)는 건물(1000) 내에서 로봇의 위치 정보를 확보해야 하는 니즈가 존재한다. 즉, 클라우드 서버(200은 실시간 또는 기 설정된 시간 간격으로 건물(1000)을 주행하는 로봇의 위치를 모니터링할 수 있다. 클라우드 서버(1000은 건물(1000)을 주행하는 복수의 로봇 모두에 대한 위치 정보를 모니터링하거나, 필요에 따라 선택적으로 특정 로봇에 대해서만 위치 정보를 모니터링할 수 있다. 모니터링 되는 로봇의 위치 정보는 로봇의 정보가 저장된 데이터베이스 상에 저장될 수 있으며, 로봇의 위치 정보는 시간의 흐름에 따라 연속적으로 업데이트될 수 있다. Meanwhile, the cloud server (20) has a need to secure the location information of the robot within the building (1000). That is, the cloud server (200) can monitor the location of the robot running in the building (1000) in real time or at preset time intervals. The cloud server (1000) can monitor the location information of all the robots running in the building (1000), or selectively monitor the location information of only a specific robot as needed. The location information of the monitored robot can be stored in a database where the robot information is stored, and the location information of the robot can be continuously updated over time.
건물(1000)에 위치한 로봇의 위치 정보를 추정하는 방법은 매우 다양할 수 있으며, 이하에서는 로봇의 위치 정보를 추정하는 실시 예에 대하여 살펴보도록 한다.There are many different ways to estimate the location information of a robot located in a building (1000), and below, we will look at an example of estimating the location information of a robot.
도 9 내지 도 11은 본 발명에 따른 로봇 친화형 건물을 주행하는 로봇의 위치를 추정하는 방법을 설명하기 위한 개념도들이다. FIGS. 9 to 11 are conceptual diagrams for explaining a method for estimating the position of a robot moving through a robot-friendly building according to the present invention.
일 예로서, 도 9에 도시된 것과 같이, 본 발명에 따른 클라우드 서버(20)는 로봇(R)에 구비된 카메라(미도시됨)를 이용하여 공간(10)에 대한 영상을 수신하고, 수신된 영상으로부터 로봇의 위치를 추정하는 Visual Localization수행하도록 이루어진다. 이때, 카메라는 공간(10)에 대한 영상, 즉, 로봇(R) 주변에 대한 영상을 촬영(또는 센싱)하도록 이루어진다. 이하에서는, 설명의 편의를 위하여, 로봇(R)에 구비된 카메라를 이용하여 획득된 영상을 “로봇 영상”이라고 명명하기로 한다. 그리고, 공간(10)에 배치된 카메라를 통하여 획득된 영상을 “공간 영상”이라고 명명하기로 한다.As an example, as illustrated in FIG. 9, the cloud server (20) according to the present invention is configured to receive an image of a space (10) using a camera (not illustrated) equipped on a robot (R) and perform Visual Localization to estimate the location of the robot from the received 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 the convenience of explanation, an image acquired using a camera equipped on the robot (R) will be referred to as a “robot image.” And, an image acquired through a camera placed in a space (10) will be referred to as a “space image.”
클라우드 서버(20)는 도 9의 (a)에 도시된 것과 같이, 로봇(R)에 구비된 카메라(미도시)를 통하여 로봇 영상(910)을 획득하도록 이루어진다. 그리고, 클라우드 서버(20)는 획득된 로봇 영상(910)을 이용하여, 로봇(R)의 현재 위치를 추정할 수 있다.The cloud server (20) is configured to obtain a robot image (910) through a camera (not shown) equipped on the robot (R), as shown in (a) of Fig. 9. Then, the cloud server (20) can estimate the current location of the robot (R) using the obtained robot image (910).
클라우드 서버(20)는 로봇 영상(910)과 데이터베이스에 저장된 지도 정보를 비교하여, 도 9의 (b)에 도시된 것과 같이, 로봇(R)의 현재 위치에 대응하는 위치 정보(예를 들어, “3층 A구역 (3, 1, 1)”)를 추출할 수 있다. The cloud server (20) can compare the robot image (910) with the map information stored in the database to extract location information corresponding to the current location of the robot (R) (e.g., “3rd floor, Zone A (3, 1, 1)”), as shown in (b) of FIG. 9.
앞서 살펴본 것과 같이, 본 발명에서 공간(10)에 대한 지도는 사전에 공간(10)을 이동하는 적어도 하나의 로봇에 의해, SLAM(Simultaneous Localization and Mapping)에 기반하여 작성된 지도일 수 있다. 특히, 공간(10)에 대한 지도는, 영상 정보를 기반으로 생성된 지도일 수 있다. As previously discussed, in the present invention, the map for the space (10) may be a map created based on SLAM (Simultaneous Localization and Mapping) by at least one robot moving through the space (10) in advance. In particular, the map for the space (10) may be a map created based on image information.
즉, 공간(10)에 대한 지도는 vision(또는 visual)기반의 SLAM기술에 의하여 생성된 지도일 수 있다.That is, 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)의 현재 위치 정보가 될 수 있다.Accordingly, the cloud server (20) can specify coordinate information (e.g., (3rd floor, area A (3, 1, 1,)) for the robot image (910) acquired from the robot (R) as shown in (b) of FIG. 9. 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) can estimate the current location of the robot (R) by comparing the robot image (910) obtained from the robot (R) with the map generated by the vision (or visual)-based SLAM technology. In this case, the cloud server (20) can specify the location information of the robot (R) by i) specifying the image most similar to the robot image (910) by using image comparison between the robot image (910) and the images constituting the previously generated map, and ii) obtaining location information matching the specified image.
이와 같이, 클라우드 서버(20)는 도 9의 (a)에 도시된 것과 같이, 로봇(R)에서 로봇 영상(910)이 획득되면, 획득된 로봇 영상(910)을 이용하여, 로봇의 현재 위치를 특정할 수 있다. 앞서 살펴본 것과 같이, 클라우드 서버(20)는 데이터베이스에 기 저장된 지도 정보(예를 들어, “참조 맵”으로도 명명 가능)로부터, 상기 로봇 영상(910)에 대응되는 위치 정보(예를 들어, 좌표 정보)를 추출할 수 있다.In this way, when a robot image (910) is acquired from a robot (R) as shown in (a) of FIG. 9, the cloud server (20) can use the acquired robot image (910) to identify the current location of the robot. As described above, the cloud server (20) can extract location information (e.g., coordinate information) corresponding to the robot image (910) from map information (e.g., also called a “reference map”) stored in a database.
한편, 위의 설명에서는, 클라우드 서버(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) was described, but as previously discussed, the position estimation of the robot (R) can be performed in the robot (R) itself. That is, the robot (R) can estimate the current position based on the image received from the robot (R) itself in the previously discussed manner. Then, the robot (R) can transmit the estimated position information to the cloud server (20). In this case, the cloud server (20) can perform a series of controls based on the position 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) positioned in an indoor space (10) corresponding to the location information. The cloud server (20) can specify the camera (121) positioned in an 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 utilized not only for estimating the location of the robot but also for controlling the robot. For example, the cloud server (20) can output the robot image (910) acquired from the robot (R) itself and the image acquired from the camera (121) placed in the space where the robot (R) is located together on the display unit of the control system for controlling the robot (R). Accordingly, a manager who remotely manages and controls the robot (R) inside or outside the building (1000) can perform remote control of the robot (R) by considering not only the robot image (910) acquired from the robot (R) but also the image of the space where the robot (R) is located.
다른 예로서, 실내 공간(10)을 주행하는 로봇의 위치 추정은, 도 10의 (a)에 도시된 것과 같이, 실내 공간(10)에 구비된 태그(1010)에 기반하여 이루어질 수 있다.As another example, position estimation of a robot moving in an indoor space (10) can be performed based on a 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 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 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 may exist in the database.
나아가, 태그(1010)에는, 각각의 태그(1010)에 매칭된 위치 정보를 포함하도록 이루어질 수 있다.Furthermore, the tags (1010) may be configured to include location information matching each tag (1010).
로봇(R)은 로봇(R)에 구비된 센서를 이용하여, 공간(10)에 구비된 태그(1010)를 인식할 수 있다. 이러한 인식을 통해, 로봇(R)은 태그(1010)에 포함된 위치 정보를 추출함으로써, 로봇(R)의 현재 위치를 파악할 수 있다. 이러한 추출된 위치 정보는 통신부(110)를 통해, 로봇(R)에서 클라우드 서버(20)로 전송될 수 있다. 따라서, 클라우드 서버(20)는 태그를 센싱한 로봇(R)으로부터 수신된 위치 정보에 근거하여, 건물(20)을 주행하는 로봇들의 위치를 모니터링할 수 있다.The robot (R) can recognize a tag (1010) equipped in a space (10) using a sensor equipped in the robot (R). Through this recognition, the robot (R) can extract location information included in the tag (1010) to determine the current location of the robot (R). This extracted location information can be transmitted from the robot (R) to the cloud server (20) through the communication unit (110). Accordingly, the cloud server (20) can monitor the locations of robots moving in the building (20) based on the location information received from the robot (R) that sensed the tag.
나아가, 로봇(R)은 인식된 태그(1010)의 식별 정보를, 클라우드 서버(20)로 전송할 수 있다. 클라우드 서버(20)는 데이터베이스로부터, 태그(1010)의 식별 정보에 매칭된 위치 정보를 추출하여, 건물(1000) 내에서 로봇의 위치를 모니터링할 수 있다. Furthermore, the robot (R) can transmit the identification information of the recognized tag (1010) to the cloud server (20). The cloud server (20) can 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 term of the tag (1010) described above may be named in various ways. For example, the tag (1010) may be named in various ways, such as QR code, barcode, identification mark, etc. Meanwhile, the term of the tag examined above may be used instead of “marker.”
이하에서는, 건물(1000)의 실내 공간(10)에 위치한 로봇(R)의 위치를 모니터링 하는 방법 중 로봇(R)에 구비된 식별 표지를 이용하여, 로봇(R)을 모니터링 하는 방법에 대하여 살펴본다.Below, a method of monitoring the location of a robot (R) located in an indoor space (10) of a building (1000) by using an identification mark provided on the robot (R) will be described.
앞서, 데이터베이스에는, 로봇(R)에 대한 다양한 정보가 저장될 수 있음을 살펴보았다. 로봇(R)에 대한 다양한 정보는 실내 공간(10)에 위치한 로봇(R)을 식별하기 위한 식별 정보(예를 들어, 일련번호, TAG 정보, QR코드 정보 등),를 포함할 수 있다. As mentioned above, we have seen that various information about a robot (R) can be stored in a database. The various information about a robot (R) can include identification information (e.g., serial number, TAG information, QR code information, etc.) for identifying a robot (R) located in an 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, the identification information of the robot (R) may be included in an identification mark (or identification mark) provided on the robot (R), as illustrated in FIG. 11. This identification mark may be sensed or scanned by the building control system (1000a) or the facility infrastructure (200). As illustrated in (a), (b), and (c) of FIG. 11, the identification marks (1101, 1102, 1103) of the robot (R) may include identification information of the robot. As illustrated, the identification marks (1101, 1102, 1103) may be represented by a barcode (1101), serial information (or serial information, 1102), a QR code (1103), an RFID tag (not illustrated), or an NFC tag (not illustrated). A barcode (1101), serial information (or serial information, 1102), QR code (1103), RFID tag (not shown), or NFC tag (not shown) may be used to include identification information of a robot equipped with (or attached to) an identification mark.
로봇의 식별 정보는, 로봇 각각을 구분하기 위한 정보로서, 동일한 종류의 로봇이더라도, 서로 다른 식별 정보를 가질 수 있다. 한편, 식별 표지를 구성하는 정보는, 위에서 살펴본 바코드, 일련 정보, QR코드, RFID태그(미도시됨) 또는 NFC 태그(미도시됨) 외에도 다양하게 구성될 수 있다.The identification information of the robot is information for distinguishing each robot, and even if they are the same type of robot, they may have different identification information. Meanwhile, the information constituting the identification mark may be composed of various other than 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) can extract identification information of the robot (R) from images received from a camera placed in the indoor space (10), a camera equipped on another robot, or a camera equipped on the facility infrastructure, and can identify and monitor the location of the robot in the indoor space (10). Meanwhile, the means for sensing the identification mark is not necessarily limited to a camera, and a sensing unit (e.g., a scanning unit) can be used depending on the shape of the identification mark. Such a sensing unit can be equipped in at least one of the indoor space (10), the robots, and the facility infrastructure (200).
일 예로서, 카메라에서 촬영된 영상으로부터 식별 표지가 센싱된 경우, 클라우드 서버(20)는 카메라로부터 수신되는 영상으로부터 로봇(R)위 위치를 파악할 수 있다. 이때, 클라우드 서버(20)는 카메라가 배치된 위치 정보 및 영상에서의 로봇의 위치 정보(정확하게는, 로봇를 피사체하여 촬영된 영상에서, 로봇에 대응되는 그래픽 객체의 위치 정보) 중 적어도 하나에 근거하여, 로봇(R)이 위치를 파악할 수 있다.For example, when an identification mark is sensed from an image captured by a camera, the cloud server (20) can identify the location of the robot (R) from the image received from the camera. At this time, the cloud server (20) can identify the location of the robot (R) based on at least one of the location information of the camera placement 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).
데이터베이스 상에는, 실내 공간(10)에 배치된 카메라에 대한 식별 정보와 함께, 카메라가 배치된 장소에 대한 위치 정보가 매칭되어 존재할 수 있다. 따라서, 클라우드 서버(20)는 영상을 촬영한 카메라의 식별정보와 매칭된 위치 정보를 데이터베이스로부터 추출하여, 로봇(R)이 위치정보를 추출할 수 있다.In the database, location information about the location where the camera is placed can be matched with identification information about the camera placed in the indoor space (10). Accordingly, the cloud server (20) can extract location information matched with the identification information of the camera that captured the image from the database, so that the robot (R) can extract location information.
다른 예로서, 스캔부에 의해 식별 표지가 센싱된 경우, 클라우드 서버(20)는 스캔부로터 센싱된 스캔 정보로부터 로봇(R)위 위치를 파악할 수 있다. 데이터베이스 상에는, 실내 공간(10)에 배치된 스캔부에 대한 식별 정보와 함께, 스캔부가 배치된 장소에 대한 위치 정보가 매칭되어 존재할 수 있다. 따라서, 클라우드 서버(20)는 로봇에 구비된 식별 표지를 스캔한 스캔부에 매칭된 위치 정보를 데이터베이스로부터 추출하여, 로봇(R)이 위치정보를 추출할 수 있다.As another example, when an identification mark is sensed by a scanning unit, the cloud server (20) can identify the location of the robot (R) from the scan information sensed by the scanning unit. In the database, the location information for the place where the scanning unit is placed can be matched with the identification information for the scanning unit placed in the indoor space (10). Accordingly, the cloud server (20) can extract the location information matched to the scanning unit that scanned the identification mark equipped on the robot from the database, and extract the location information of the robot (R).
위에서 살펴본 것과 같이, 본 발명에 따른 건물에서는, 건물에 구비된 다양한 인프라를 이용하여, 로봇의 위치를 추출하고, 모니터링하는 것이 가능하다. 나아가, 클라우드 서버(20)는 이러한 로봇의 위치를 모니터링 함으로써, 건물 내에서 로봇을 효율적이고, 정확하게 제어하는 것이 가능하다.As discussed above, in a building according to the present invention, it is possible to extract and monitor the location of a robot by utilizing various infrastructures provided in the building. Furthermore, the cloud server (20) monitors the location of the robot, thereby enabling efficient and accurate control of 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 explained in more detail.
도 12는 본 발명에 따른 로봇 시스템에 포함된 로봇을 설명하기 위한 개념도이다.Figure 12 is a conceptual diagram for explaining a robot included in a 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 driving unit (1203), a control unit (1204), and a sensor unit. The communication unit (1201) and the storage unit (1202) have been described above, so a detailed description thereof will be omitted.
주행부(1203)는 로봇을 공간 내에서 이동할 수 있도록 이루어진다. 주행부(1203)는 로봇의 이동 방향 및 이동 속도 중 적어도 하나를 제어할 수 있도록 이루어지며, 제어부(1204)는 주행부(1203)를 제어하여 로봇이 설정된 이동 경로대로 주행할 수 있도록 한다. The driving unit (1203) is configured to enable the robot to move within a space. The driving 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 driving unit (1203) to enable the robot to move along a set moving path.
주행부(1203)는 로봇에 포함된 제어부(1204) 및 클라우드 서버(20)에 의해 제어될 수 있다. 본 명세서에서 별도로 한정하지 않는 한, 로봇에 포함된 제어부(1204) 및 클라우드 서버(20) 중 어느 하나에 의한 로봇 제어는 다른 하나에 의해서도 가능하다. The driving unit (1203) can be controlled by the control unit (1204) included in the robot and the cloud server (20). Unless otherwise specified in this specification, the robot control by either the control unit (1204) included in the robot or the cloud server (20) can also be controlled 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) may 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 specified in this specification, the control unit (1204) means a control unit equipped 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 generates an avoidance path by utilizing at least one of the control command received from the server and the control command generated within the robot. Unless otherwise specified in this specification, the second control command and the generation of the avoidance path are performed by the control unit (1204) provided within the robot.
한편, 로봇 각각에는 적어도 하나의 센서가 포함될 수 있으며, 상기 적어도 하나의 센서는 주기적으로 주변 환경을 센싱하여 센싱 정보를 생성한다. 로봇은 생성된 센싱 정보를 서버로 전송한다. Meanwhile, each robot may include at least one sensor, and the at least one sensor periodically senses the surrounding environment to generate sensing information. The robot transmits the generated sensing information to a server.
한편, 위에서 살펴본 것과 같이, 본 발명은 서버(20)에 기 저장된 지도 정보를 이용하여, 공간 내에서 로봇의 주행 경로를 설정할 수 있다. 이하에서는, 서버(20)가 로봇의 주행 경로를 설정함에 있어서 노드맵을 활용하는 실시 예에 대하여 보다 구체적으로 설명한다. Meanwhile, as examined above, the present invention can set a driving path of a robot within a space by using map information previously stored in a server (20). Hereinafter, an embodiment in which the server (20) utilizes a node map to set a driving path of a robot will be described in more detail.
도 13은 로봇의 이동 경로 설정에 활용되는 노드맵을 설명하기 위한 개념도이다.Figure 13 is a conceptual diagram explaining a node map used to set the robot's movement path.
서버(20)는 로봇이 현재 위치로부터, 특정 목적지까지 이동하도록 제어할 수 있다. 구체적으로, 본 발명은 로봇의 현재 위치 정보와 목적지 위치 정보를 특정하고, 목적지에 도달하는 경로를 설정하여, 로봇이 설정된 경로에 따라 이동하여 목적지에 도달할 수 있도록 제어한다.The server (20) can control the robot to move from its current location to a specific destination. Specifically, the present invention specifies the current location information and the destination location information of the robot, sets a path to reach the destination, and controls the robot to move along the set path to reach the destination.
이에, 본 발명은 로봇의 주행 경로를 효율적으로 설정하기 위한 지도 정보(노드맵)에 대하여 제안한다. 다만, 후술하는 지도 정보는 로봇의 주행 경로를 설정하기 위해 활용되는 지도 정보의 일 예를 설명하는 것일 뿐, 본 발명에 따른 로봇 주행 제어 방법이 후술하는 지도 정보에 의해서만 수행되는 것은 아니다.Accordingly, the present invention proposes map information (node map) for efficiently setting a driving path of a robot. However, the map information described below only describes an example of map information utilized for setting a driving path of a robot, and the robot driving control method according to the present invention is not performed solely by the map information described below.
앞서 설명한 바와 같이, 서버(20)에는, 건물에 대한 지도(map, 또는 지도 정보)가 저장될 수 있다. 도 13을 참조하면, 서버(20)에 저장되는 건물에 대한 지도는 2차원 평면도 형태로 이루어질 수 있으나, 이에 한정되는 것은 아니다.As described above, a map (or map information) for a building may be stored in the server (20). Referring to FIG. 13, the map for a building stored in the server (20) may be in the form of a two-dimensional plan view, but is not limited thereto.
한편, 도 13과 같이, 지도 정보는 복수의 노드(node)를 포함할 수 있다. 본 명세서에서 ‘노드’란 로봇의 이동에 단위 목표가 되는 지점 또는 영역을 의미한다. 노드는 두 가지 정보를 포함할 수 있다. Meanwhile, as shown in Fig. 13, map information may include multiple nodes. In this specification, a ‘node’ means a point or area that serves as a unit target for the movement of a robot. A node may include two pieces of information.
첫 번째로, 노드는 좌표 정보를 포함한다. 단일 노드는 지도 상의 특정 좌표 또는 좌표 범위를 지정한다. 예를 들어, 노드는 지도 상에서 소정 면적을 가지는 원형의 영역을 지정하도록 이루어질 수 있다. 이를 위해, 노드에 포함된 좌표 정보는 특정 좌표 또는 좌표 범위로 이루어질 수 있다. 즉, 각각의 노드는 건물의 서로 다른 위치에 대응된다.First, the node contains coordinate information. A single node specifies a specific coordinate or coordinate range on the map. For example, a node may be configured to specify a circular area having a certain area on the map. To this end, the coordinate information contained in the node may be configured as a specific coordinate or coordinate range. That is, each node corresponds to a different location in the building.
두 번째로, 노드는 연결 정보를 포함한다. 단일 노드는 해당 노드로부터 로봇이 이동 가능한 다른 노드를 정의하는 정보를 포함한다. 연결 정보는 로봇이 해당 노드로부터 이동 가능한 다른 노드의 고유 번호 또는 상기 다른 노드가 지정하는 좌표 정보를 포함할 수 있다.Second, nodes contain connection information. A single node contains information defining other nodes to which the robot can move from that node. Connection information may include a unique number of another node to which the robot can move from that node, or coordinate information specified by said other node.
서버(20)는 로봇이 어느 하나의 노드에서 다른 하나의 노드로 이동하도록 제어하고, 이러한 과정을 반복하여 로봇이 목표 지점에 도달할 수 있도록 제어한다. 본 명세서에서 로봇이 특정 노드로 이동한다 함은 특정 노드가 지정하는 좌표 정보 또는 좌표 범위 내로 로봇이 이동함을 의미한다. The server (20) controls the robot to move from one node to another, and repeats this process so that the robot can reach the target point. In this specification, the robot moving to a specific node means that the robot moves within coordinate information or a coordinate range specified by a specific node.
본 발명은 상술한 위치 정보 추정 방법, 지도 정보를 이용하여 로봇을 현재 위치(S)로부터 목적지(A)까지 이동시키기 위한 이동 경로를 설정한 후, 로봇으로 전송한다. 다만, 노드맵을 활용한 방법은 로봇의 주행을 제어하는 일 실시 예에 해당하며, 본 발명은 상술한 노드맵 이외의 다른 방법을 이용하여 로봇의 이동 경로를 설정할 수 있다. 즉, 로봇의 이동 경로를 설정하기 위한 맵(지도)의 구현 방식은 매우 다양할 수 있다. The present invention uses the above-described location information estimation method and map information to set a movement path for moving a robot from a current location (S) to a destination (A), and then transmits the same to the robot. However, the method using a node map corresponds to one embodiment of controlling the driving of the robot, and the present invention can set the movement path of the robot using a method other than the above-described node map. In other words, the implementation method of the map (map) for setting the movement path of the robot can be very diverse.
본 명세서에서는 설명의 편의를 위하여 상술한 노드맵을 활용하여 가상 장애물의 위치, 형태 등을 특정하는 것으로 설명하나, 가상 장애물과 관련된 설정이 반드시 노드맵을 통해 이루어질 필요는 없다.In this specification, for convenience of explanation, the node map described above is used to specify the location, shape, etc. of virtual obstacles, but settings related to virtual obstacles do not necessarily have to be made through the node map.
본 발명에서는 로봇의 주행과 관련된 제어를 수행함에 있어서, 건물 내에서 주행하는 복수의 로봇이 건물 내 설정된 가상의 장애물을 효율적으로 회피할 수 있도록 하는 로봇 제어 방법 및 시스템을 제공할 수 있다. 이하에서는, 이에 대하여 첨부된 도면과 함께 보다 구체적으로 살펴본다. 도 14는 본 발명에 따른 로봇 제어 방법을 설명하기 위한 흐름도이고, 도 15 및 16은 본 발명에 따른 로봇 제어 방법을 나타내는 개념도이다.The present invention provides a robot control method and system that enables a plurality of robots driving within a building to efficiently avoid virtual obstacles set within the building when performing control related to the driving of the robot. Hereinafter, this will be examined in more detail with reference to the attached drawings. FIG. 14 is a flowchart for explaining a robot control method according to the present invention, and FIGS. 15 and 16 are conceptual diagrams showing a robot control method according to the present invention.
먼저, 상기 건물에서 가상 장애물의 위치를 특정하는 단계가 수행된다(S120).First, a step of specifying the location of a virtual obstacle in the building is performed (S120).
서버(20)는 가상 장애물의 위치를 입력받거나, 기 설정된 단말기로부터 가상 장애물의 위치를 수신할 수 있다. 구체적으로, 건물 관리자는 기 설정된 단말기를 통해 건물 내 특정 영역에 가상 장애물이 설정되도록, 가상 장애물의 위치를 서버(20)로 전송할 수 있다. The server (20) can input the location of a virtual obstacle or receive the location of a virtual obstacle from a preset terminal. Specifically, the building manager can transmit the location of a virtual obstacle to the server (20) through a preset terminal so that a virtual obstacle is set in a specific area within the building.
가상 장애물의 위치는 지도 내 좌표 또는 좌표 범위로 설정되거나, 상술한 노드 단위로 설정될 수 있다. The location of a virtual obstacle can be set as a coordinate or coordinate range within the map, or as a node unit as described above.
예를 들어, 가상 장애물의 위치 특정은 사용자로부터 지도 내 적어도 하나의 좌표를 선택받음으로써 수행될 수 있다. 가상 장애물 위치 특정을 위한 화면 정보에는 건물 내 지도가 표시수 있다. 사용자는 화면 정보에 가상 장애물을 설치하고자 하는 위치 또는 범위를 선택함으로써, 가상 장애물의 위치를 특정할 수 있다.For example, the location specification of the virtual obstacle can be performed by having the user select at least one coordinate within the map. The screen information for specifying the location of the virtual obstacle can display a map within the building. The user can specify the location of the virtual obstacle by selecting a location or range where the virtual obstacle is to be installed in the screen information.
다른 예를 들어, 가상 장애물의 위치 특정은 사용자로부터 복수의 노드 중 적어도 하나를 선택받음으로써 수행될 수 있다. 가상 장애물 위치 특정을 위한 화면 정보에는 건물 내 지도와 함께 복수의 노드가 출력될 수 있다. 사용자는 화면 정보에 표시된 복수의 노드 중 적어도 하나를 선택함으로써, 가상 장애물의 위치를 특정할 수 있다.For another example, the location specification of a virtual obstacle can be performed by having the user select at least one of a plurality of nodes. The screen information for specifying the location of the virtual obstacle can output a plurality of nodes together with a map within the building. The user can specify the location of the virtual obstacle by selecting at least one of the plurality of nodes displayed in the screen information.
다음으로, 서버(20)가 특정된 상기 가상 장애물의 위치를 이용하여, 상기 가상 장애물에 대한 가상 장애물 정보를 상기 지도에 반영하는 단계가 진행된다(S120).Next, a step is performed in which the server (20) uses the location of the specified virtual obstacle to reflect virtual obstacle information about the virtual obstacle on the map (S120).
서버(20)는 특정된 가상 장애물의 위치를 이용하여, 가상 장애물에 대한 가상 장애물 정보를 생성한다. 여기서, 가상 장애물 정보는 상기 특정된 가상 장애물의 위치를 정의하는 장애물 위치 정보, 가상 장애물의 종류, 가상 장애물의 형태 및 가상 장애물의 크기 중 적어도 하나에 대한 정보를 포함한다.The server (20) generates virtual obstacle information for the virtual obstacle by using the location of the specified virtual obstacle. Here, the virtual obstacle information includes information on at least one of obstacle location information defining the location of the specified virtual obstacle, the type of the virtual obstacle, the shape of the virtual obstacle, and the size of the virtual obstacle.
가상 장애물 정보에 포함된 장애물 위치 정보는 건물에 대한 지도 상 특정 라인 또는 특정 구역을 정의할 수 있다. 즉, 장애물 위치 정보는 선 또는 면으로 장애물의 위치를 선 또는 면의 형태로 정의할 수 있다. Obstacle location information included in virtual obstacle information can define a specific line or a specific area on a map for a building. That is, obstacle location information can define the location of an obstacle in the form of a line or surface.
예를 들어, 장애물 위치 정보는 복수의 좌표를 잇는 선을 정의할 수 있다. 이와 달리, 장애물 위치 정보는 지도 상의 일정 구역에 대한 테두리의 좌표 정보를 포함하여, 장애물의 설치된 구역을 정의할 수 있다.For example, obstacle location information may define a line connecting multiple coordinates. Alternatively, obstacle location information may define an installed area of an obstacle by including coordinate information of a border for a certain area on a map.
본 명세서에서는 설명의 편의를 위하여, 장애물 위치 정보에 의해 정의되는 장애물의 위치를 ‘가상 장애물이 설치된 영역’이라 표현한다.For convenience of explanation, in this specification, the location of an obstacle defined by obstacle location information is expressed as an ‘area where a virtual obstacle is installed.’
여기서, 상기 특정된 가상 장애물의 위치와 가상 장애물 정보에 포함된 장애물 위치 정보는 다를 수 있다. Here, the location of the specified virtual obstacle and the obstacle location information included in the virtual obstacle information may be different.
예를 들어, 상기 특정된 가상 장애물의 위치는 지도 상의 복수의 점인 반면, 가상 장애물 정보에 포함된 장애물 위치 정보는 상기 복수의 점을 잇는 선을 정의할 수 있다. For example, while the location of the specified virtual obstacle may be a plurality of points on the map, the obstacle location information included in the virtual obstacle information may define a line connecting the plurality of points.
다른 예를 들어, 상기 특정된 가상 장애물의 위치는 지도 상의 복수의 점인 반면, 가상 장애물 정보에 포함된 장애물 위치 정보는 지도 상의 특정 영역을 정의할 수 있다.For another example, the location of the specified virtual obstacle may be a plurality of points on the map, while the obstacle location information included in the virtual obstacle information may define a specific area on the map.
다른 예를 들어, 장애물의 위치 정보는 적어도 하나의 노드 정보를 포함할 수 있다. 구체적으로, 장애물의 위치 정보는 복수의 노드 정보를 포함하고, 상기 복수의 노드를 잇는 가상의 선 또는 복수의 노드 각각을 포함하는 가상의 면이 장애물이 설치된 영역으로 정의될 수 있다.For another example, the location information of the obstacle may include at least one node information. Specifically, the location information of the obstacle may include a plurality of node information, and a virtual line connecting the plurality of nodes or a virtual surface including each of the plurality of nodes may be defined as an area where the obstacle is installed.
서버(20)는 가상 장애물 정보를 지도에 업데이트 한다. 이에 따라, 상기 지도는 장애물 위치 정보에 대응되는 위치에 설치된 가상 장애물에 관한 정보를 포함하게 된다.The server (20) updates virtual obstacle information on the map. Accordingly, the map includes information about virtual obstacles installed at locations corresponding to obstacle location information.
다음으로, 상기 건물에 위치한 로봇 중 상기 가상 장애물에 대한 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계가 수행되고(S130), 상기 특정된 로봇이 상기 가상 장애물을 회피하여 주행하도록 , 상기 특정된 로봇으로 상기 가상 장애물 정보를 전송하는 단계(S140)가 수행된다.Next, a step of specifying at least one robot among the robots located in the building that satisfies a preset distance condition for the virtual obstacle is performed (S130), and a step of transmitting the virtual obstacle information to the specified robot so that the specified robot can drive while avoiding the virtual obstacle is performed (S140).
서버(20)는 가상 장애물 정보를 건물 내를 주행하는 복수의 로봇으로 전송한다. 이때, 불필요한 통신을 최소화하기 위해, 가상 장애물 정보는 복수의 로봇 중 일부에만 전송될 수 있다. The server (20) transmits virtual obstacle information to multiple robots moving within the building. At this time, in order to minimize unnecessary communication, the virtual obstacle information may be transmitted only to some of the multiple robots.
구체적으로, 서버(20)는 건물에 위치한 로봇 중 기 설정된 거리 조건을 만족하는 로봇에만 선택적으로 가상 장애물 정보를 전송할 수 있다.Specifically, the server (20) can selectively transmit virtual obstacle information only to robots that satisfy preset distance conditions among robots located in the building.
일 실시 예에 있어서, 기 설정된 거리 조건은 가상 장애물이 설치된 영역으로부터 기 설정된 거리 이내에 위치한 로봇일 수 있다. 서버(20)는 건물 내 위치한 로봇의 위치를 주기적으로 모니터링하고, 로봇이 가상 장애물이 설치된 영역으로부터 기 설정된 거리 이내로 접근하는 경우, 가상 장애물 정보를 상기 로봇으로 전송할 수 있다.In one embodiment, the preset distance condition may be a robot located within a preset distance from an area where a virtual obstacle is installed. The server (20) may periodically monitor the location of a robot located within a building, and when the robot approaches within a preset distance from an area where a virtual obstacle is installed, virtual obstacle information may be transmitted to the robot.
다른 일 실시 예에 있어서, 기 설정된 거리 조건은 로봇의 주행이 예정된 경로 상에 가상 장애물이 설치된 영역이 위치하는 것일 수 있다. 서버(20)는 가상 장애물이 설치되는 경우, 상기 가상 장애물이 설치된 영역으로의 주행이 예정된 로봇으로 상기 가상 장애물 정보를 전송할 수 있다.In another embodiment, the preset distance condition may be that an area where a virtual obstacle is installed is located on the path where the robot is scheduled to drive. When a virtual obstacle is installed, the server (20) may transmit information about the virtual obstacle to the robot scheduled to drive to the area where the virtual obstacle is installed.
다른 일 실시 예에 있어서, 서버(20)는 로봇의 임무에 기반하여 가상 장애물 정보를 전송할 로봇을 특정할 수 있다. 구체적으로, 서버(20)는 상기 건물을 주행하는 로봇 마다 할당된 임무에 근거하여, 상기 가상 장애물을 넘어선 영역으로 접근이 불가능한 로봇을, 상기 가상 장애물을 회피하여 주행하는 로봇으로서 특정할 수 있다. 즉, 서버(20)는 로봇에 할당된 임무에 기반하여 가상 장애물을 넘어선 영역으로 접근이 가능한 로봇과 접근이 불가능한 로봇을 구분하고, 가상 장애물을 넘어선 영역으로 접근이 불가능한 로봇에게만 가상 장애물 정보를 전송할 수 있다. 가상 장애물을 넘어서 영역으로 접근이 가능한 로봇이 상기 가상 장애물과 기 설정된 거리 이내로 접근하더라도, 서버(20)는 상기 로봇으로 가상 장애물 정보를 전송하지 않을 수 있다. In another embodiment, the server (20) may specify a robot to which virtual obstacle information is to be transmitted based on the task of the robot. Specifically, the server (20) may specify a robot that cannot access an area beyond the virtual obstacle as a robot that drives while avoiding the virtual obstacle based on the task assigned to each robot driving the building. That is, the server (20) may distinguish a robot that can access an area beyond the virtual obstacle and a robot that cannot access it based on the task assigned to the robot, and may transmit virtual obstacle information only to a robot that cannot access an area beyond the virtual obstacle. Even if a robot that can access an area beyond the virtual obstacle approaches within a preset distance from the virtual obstacle, the server (20) may not transmit virtual obstacle information to the robot.
한편, 건물 내 위치하는 가상 장애물은 복수 개일 수 있다. 건물 내 위치하는 가상 장애물이 복수인 경우, 복수의 가상 장애물 마다 각각의 가상 장애물에 대해 회피가 필요한 적어도 하나의 로봇이 특정되고, 특정된 로봇 각각에게 상기 복수의 가상 장애물 중 회피가 필요한 적어도 하나의 가상 장애물에 대한 정보가 전송될 수 있다. 서버(20)는 복수의 로봇, 복수의 가상 장애물 각각에 대하여 기 설정된 거리 조건을 판단한 후 복수의 가상 장애물 각각에 대하여 회피가 필요한 로봇을 특정한다. Meanwhile, there may be multiple virtual obstacles located within the building. When there are multiple virtual obstacles located within the building, at least one robot that needs to avoid each virtual obstacle is specified for each of the multiple virtual obstacles, and information about at least one virtual obstacle that needs to be avoided among the multiple virtual obstacles can be transmitted to each of the specified robots. The server (20) determines a preset distance condition for each of the multiple robots and the multiple virtual obstacles, and then specifies a robot that needs to avoid each of the multiple virtual obstacles.
한편, 가상 장애물 정보를 수신한 로봇은 가상 장애물 정보 및 상기 로봇에 포함된 센서로부터 수집된 센싱 정보에 기반하여, 상기 가상 장애물을 회피한다. 구체적으로, 가상 장애물 정보를 수신한 특정 로봇은 가상 장애물이 설치된 영역 이외의 영역을 주행하여 목적지에 도달할 수 있도록 로봇의 주행을 제어한다.Meanwhile, a robot that has received virtual obstacle information avoids the virtual obstacle based on the virtual obstacle information and sensing information collected from sensors included in the robot. Specifically, a specific robot that has received virtual obstacle information controls the robot's driving so that it can drive in an area other than an area where the virtual obstacle is installed and reach the destination.
일 실시 예에 있어서, 상기 특정 로봇은 로봇에 포함된 영상 센서로부터 수집된 영상 정보를 이용하여 상기 특정 로봇의 현재 위치를 파악하고, 상기 가상 장애물 정보에 포함된 장애물 위치 정보를 이용하여, 상기 특정 로봇의 현재 위치를 기준으로 한 가상 장애물과 상기 특정 로봇 간의 거리, 상기 가상 장애물이 위치한 방향 중 적어도 하나를 특정한다. 상기 특정 로봇의 주행 경로 상에 가상 장애물이 위치한 경우, 상기 특정 로봇은 주행 방향을 수정하여 가상 장애물을 회피할 수 있도록 한다.In one embodiment, the specific robot determines the current location of the specific robot by using image information collected from an image sensor included in the robot, and, using obstacle location information included in the virtual obstacle information, specifies at least one of a distance between a virtual obstacle and the specific robot based on the current location of the specific robot and a direction in which the virtual obstacle is located. If a virtual obstacle is located on the driving path of the specific robot, the specific robot changes its driving direction to avoid the virtual obstacle.
예를 들어, 도 15를 참조하면, 가상 장애물의 위치는 지도에 포함된 복수의 노드(1521)를 통해 특정될 수 있다. 가상 장애물(1520)이 위치한 영역은 복수의 노드(1521)를 잇는 선으로 특정될 수 있다. 특정 로봇이 기설정된 주행 경로(1511)를 따라 주행 중 가상 장애물(1520)이 위치한 영역에 기 설정된 거리 이내로 접근하는 경우, 서버(20)는 상기 특정 로봇으로 가상 장애물 정보를 전송한다. 로봇은 수신된 가상 장애물 정보 및 로봇에 포함된 센서를 이용하여 상기 가상 장애물(1520)을 회피할 새로운 주행경로(1512)를 설정하고, 새로운 주행 경로(1512)를 통해 목적지에 도달한다.For example, referring to FIG. 15, the location of a virtual obstacle can be specified through a plurality of nodes (1521) included in the map. The area where the virtual obstacle (1520) is located can be specified by a line connecting the plurality of nodes (1521). When a specific robot approaches an area where the virtual obstacle (1520) is located within a preset distance while driving along a preset driving path (1511), the server (20) transmits virtual obstacle information to the specific robot. The robot sets a new driving path (1512) to avoid the virtual obstacle (1520) by using the received virtual obstacle information and a sensor included in the robot, and reaches the destination through the new driving path (1512).
상술한 바와 같이, 본 발명에 따른 건물, 건물을 주행하는 로봇 제어 방법 및 시스템은, 가상 장애물과 관련된 정보를 서버에 저장하고, 건물 내에서 운영하는 복수의 로봇 각각에 공유함으로써, 건물 관리자는 로봇의 접근이 제한 되어야 하는 영역에 대한 설정을 쉽게할 수 있게 된다. 나아가, 본 발명은 가상 장애물에 근접한 일부 로봇에만 가상 장애물과 관련된 정보를 전송함으로써, 로봇과 서버간의 불필요한 통신을 최소화할 수 있다.As described above, the building according to the present invention, the method and system for controlling a robot running in a building, and the building manager can easily set an area to which access by the robots should be restricted by storing information related to a virtual obstacle in a server and sharing it with each of a plurality of robots operating within the building. Furthermore, the present invention can minimize unnecessary communication between the robots and the server by transmitting information related to a virtual obstacle only to some robots close to the virtual obstacle.
한편, 가상 장애물은 공간 상에 실제로 위치하는 것이 아니기 때문에, 로봇의 측위 오차 등으로 인하여 가상 장애물을 통과할 수 있다. 본 발명은 로봇이 가상 장애물을 회피하지 못하고, 통과하는 경우 가상 장애물 밖으로 복귀할 수 있도록 하는 로봇 제어 방법을 제공한다.Meanwhile, since the virtual obstacle is not actually located in space, the robot may pass through the virtual obstacle due to positioning errors, etc. The present invention provides a robot control method that enables the robot to return outside the virtual obstacle when it fails to avoid the virtual obstacle and passes through it.
서버(20)는 상기 가상 장애물을 정보를 전송한 특정 로봇의 위치를 모니터링하고, 모니터링 결과에 근거하여 상기 특정 로봇이 상기 가상 장애물을 통과하였는지 판단한다. 이후, 서버(20)는 판단 결과에 근거하여, 상기 특정 로봇과 관련하여 상기 가상 장애물에 대한 업데이트를 수행한다.The server (20) monitors the location of a specific robot that has transmitted information about the virtual obstacle, and determines whether the specific robot has passed the virtual obstacle based on the monitoring result. Thereafter, the server (20) performs an update on the virtual obstacle with respect to the specific robot based on the determination result.
구체적으로, 서버(20)는 서로 다른 시점에 모니터링된 특정 로봇의 위치를 이용하여 상기 특정 로봇이 가상 장애물을 통과하였는지 판단한다. 서버(20)는 가상 장애물의 위치를 기준으로 제1영역 및 제2영역을 구분할 수 있다. 상기 제1영역은 상기 특정 로봇이 상기 가상 장애물을 넘어서기 전 위치하였던 영역이고, 상기 제2영역은 상기 특정 로봇이 상기 가상 장애물을 넘어선 영역에 대응되는 영역이다. Specifically, the server (20) determines whether a specific robot has passed a virtual obstacle by using the location of a specific robot monitored at different times. The server (20) can divide a first area and a second area based on the location of the virtual obstacle. The first area is an area where the specific robot was located before passing over the virtual obstacle, and the second area is an area corresponding to an area where the specific robot passed over the virtual obstacle.
상기 제1 및 제2영역은 로봇의 위치를 기준으로 가변되는 영역일 수 있다. 구체적으로, 상기 로봇이 가상 장애물을 기준으로 제1방향에 위치한 경우, 상기 제1영역은 상기 가상 장애물을 기준으로 제1방향에 위치하고, 상기 제2영역은 상기 가상 장애물을 기준으로 상기 제1방향의 반대 방향인 제2방향에 위치한다. 이와 달리, 상기 로봇이 가상 장애물을 기준으로 제2방향에 위치한 경우, 상기 제1영역은 상기 가상 장애물을 기준으로 제2방향에 위치하고, 상기 제2영역은 상기 가상 장애물을 기준으로 상기 제2방향의 반대 방향인 제1방향에 위치한다.The first and second regions may be variable regions based on the position of the robot. Specifically, when the robot is positioned in a first direction relative to a virtual obstacle, the first region is positioned in the first direction relative to the virtual obstacle, and the second region is positioned in a second direction opposite to the first direction relative to the virtual obstacle. In contrast, when the robot is positioned in a second direction relative to the virtual obstacle, the first region is positioned in the second direction relative to the virtual obstacle, and the second region is positioned in the first direction opposite to the second direction relative to the virtual obstacle.
서버(20)는 상기 제1영역에 위치하던 로봇이 상기 가상 장애물을 넘어선 제2영역으로 주행하는 경우, 상기 가상 장애물을 통과한 것으로 판단하고, 가상 장애물에 대한 업데이트를 진행한다.When a robot located in the first area moves to the second area beyond the virtual obstacle, the server (20) determines that the robot has passed the virtual obstacle and performs an update on the virtual obstacle.
이때, 서버(20)는 상기 가상 장애물의 적어도 일부가 상기 제2영역에 위치하도록, 상기 건물에서 상기 가상 장애물의 위치를 적어도 일부 변경할 수 있다. 즉, 서버(20)는 로봇이 가상 장애물을 통과한 후 로봇의 위치에 기반하여 가상 장애물의 위치를 적어도 일부 변경한다.At this time, the server (20) can change at least part of the location of the virtual obstacle in the building so that at least part of the virtual obstacle is located in the second area. That is, the server (20) changes at least part of the location of the virtual obstacle based on the location of the robot after the robot passes through the virtual obstacle.
이후, 서버(20)는 상기 가상 장애물을 넘어선 상기 제2 영역으로 주행한 상기 특정 로봇이 상기 제2 영역에서 상기 제1 영역으로 복귀하도록, 업데이트된 상기 가상 장애물에 대한 정보를 전송할 수 있다. Thereafter, the server (20) can transmit updated information about the virtual obstacle so that the specific robot, which has driven to the second area over the virtual obstacle, returns from the second area to the first area.
변경된 가상 장애물은 로봇이 기존 가상 장애물을 통과한 후 추가적으로 제2영역을 주행하는 것을 방지하도록 업데이트된다. 구체적으로, 상기 업데이트된 가상 장애물은, 상기 가상 장애물 일 방향을 따라 상기 가상 장애물로부터 특정 거리만큼 이격되도록 형성된다. The changed virtual obstacle is updated to prevent the robot from further driving in the second area after passing through the existing virtual obstacle. Specifically, the updated virtual obstacle is formed to be spaced apart from the virtual obstacle by a specific distance along one direction of the virtual obstacle.
여기서, 상기 가상 장애물 일 방향은 가상 장애물이 연장되는 방향을 의미한다. 예를 들어, 가상 장애물이 특정 폭을 가지고 특정 방향으로 연장되는 형태를 가지거나, 특정 방향으로 연장되는 선 형태를 가지는 경우, 가상 장애물이 연장되는 방향은 상기 특정 방향을 의미한다.Here, the direction of the virtual obstacle refers to the direction in which the virtual obstacle extends. For example, if the virtual obstacle has a shape that extends in a specific direction with a specific width, or has a line shape that extends in a specific direction, the direction in which the virtual obstacle extends refers to the specific direction.
한편, 상기 특정 거리는 상기 가상 장애물로부터 상기 가상 장애물이 연장되는 방향에 수직한 방향으로의 거리를 의미한다.Meanwhile, the specific distance means the distance in the direction perpendicular to the direction in which the virtual obstacle extends from the virtual obstacle.
상기 특정 거리는 상기 특정된 로봇의 크기 및 상기 특정된 로봇의 주행 속도 중 적어도 하나에 근거하여 결정될 수 있다. 상기 특정 거리는 로봇이 기존 가상 장애물로부터 멀리 떨어질수록 멀어질 수 있다.The above specific distance may be determined based on at least one of a size of the above specific robot and a driving speed of the above specific robot. The above specific distance may increase as the robot moves further away from an existing virtual obstacle.
한편, 상기 지도는 상기 건물의 서로 다른 위치에 각각 대응되는 복수의 노드들을 포함하고, 상기 건물에 위치한 로봇은, 상기 복수의 노드들 중 적어도 일부를 따라 상기 건물을 주행할 수 있다. 이 경우, 상기 가상 장애물 정보는 상기 가상 장애물의 위치에 각각 대응하는 노드들에 대한 노드 정보를 포함할 수 있다.Meanwhile, the map includes a plurality of nodes, each corresponding to a different location of the building, and a robot located in the building can drive through the building along at least some of the plurality of nodes. In this case, the virtual obstacle information may include node information for nodes each corresponding to the location of the virtual obstacle.
가상 장애물 정보가 노드 정보를 포함하는 경우, 가상 장애물의 변경은 지도에 포함된 복수의 노드를 기준으로 수행될 수 있다. 구체적으로, 서버(20)는 가상 장애물에 대한 업데이트 수행 시, 상기 가상 장애물의 위치에 각각 대응하는 상기 노드들에 대한 수정을 수행할 수 있다.When the virtual obstacle information includes node information, changes to the virtual obstacle can be performed based on multiple nodes included in the map. Specifically, when performing an update on the virtual obstacle, the server (20) can perform modifications to the nodes each corresponding to the location of the virtual obstacle.
예를 들어, 가상 장애물이 복수의 노드를 잇는 선으로 설정된 경우, 서버(20)는 가상 장애물과 관련된 복수의 노드 중 적어도 일부를 다른 노드로 변경할 수 있다. 이에 따라, 가상 장애물의 위치 및 형태가 달라질 수 있다. 도 16을 참조하면, 서버(20)는 가상 장애물과 관련된 네 개의 노드(1620a이 지나는 네 개의 점) 중 두 개의 노드를 다른 노드로 변경할 수 있다. 이에 따라, 가상 장애물의 일부의 위치가 변경되며, 가상 장애물의 형태가 변하게 된다.For example, if a virtual obstacle is set as a line connecting multiple nodes, the server (20) can change at least some of the multiple nodes related to the virtual obstacle to other nodes. Accordingly, the position and shape of the virtual obstacle can change. Referring to FIG. 16, the server (20) can change two of the four nodes (four points through which 1620a passes) related to the virtual obstacle to other nodes. Accordingly, the positions of some of the virtual obstacle change, and the shape of the virtual obstacle changes.
이때, 상기 가상 장애물의 위치에 각각 대응하는 상기 노드들에 대한 수정은, 상기 가상 장애물의 위치에 각각 대응하는 상기 노드들 중 적어도 하나를 제외하고, 상기 가상 장애물의 위치에 각각 대응하는 상기 노드들과 다른 적어도 하나의 노드를 추가하는 것일 수 있다. 여기서, 상기 제외된 적어도 하나의 노드는, 상기 특정된 로봇이 상기 가상 장애물을 넘어선 위치에 대응되는 노드이고, 상기 다른 적어도 하나의 노드는, 상기 제2 영역에 포함된 노드일 수 있다. At this time, the modification to the nodes respectively corresponding to the positions of the virtual obstacles may be to exclude at least one of the nodes respectively corresponding to the positions of the virtual obstacles and add at least one node different from the nodes respectively corresponding to the positions of the virtual obstacles. Here, the excluded at least one node may be a node corresponding to a position where the specified robot has overcome the virtual obstacle, and the other at least one node may be a node included in the second area.
상기 가상 장애물을 넘어선 위치에 대응되는 노드란, 상기 가상 장애물의 적어도 일부를 변경할 때 로봇의 위치와 소정 거리 이내의 노드 또는 거리가 가까운 순으로 선정된 적어도 하나의 노드일 수 있다. The node corresponding to the position beyond the above virtual obstacle may be at least one node selected in order of proximity to the position of the robot or a node within a predetermined distance when changing at least a part of the above virtual obstacle.
한편, 상기 추가되는 노드는 로봇이 가상 장애물을 통과하여 진입한 제2영역에 위치하는 노드일 수 있다. 즉, 본 발명은 로봇의 진행 방향을 고려하여 가상 장애물의 위치를 변경한다.Meanwhile, the node added above may be a node located in the second area that the robot entered by passing through the virtual obstacle. That is, the present invention changes the location of the virtual obstacle by considering the moving direction of the robot.
한편, 상기 노드들에 대한 수정 시, 수정되는 노드의 개수는 로봇이 기존 가상 장애물로부터 벗어난 거리, 로봇의 크기 및 로봇의 가동 범위를 고려하여 설정될 수 있다. Meanwhile, when modifying the above nodes, the number of nodes to be modified can be set by considering the distance the robot has escaped from an existing virtual obstacle, the size of the robot, and the operating range of the robot.
예를 들어, 로봇이 기존 가상 장애물로부터 벗어난 거리가 멀수록, 로봇의 크기가 클수록 수정되는 노드의 개수가 커질 수 있다.For example, the further the robot is from an existing virtual obstacle, or the larger the robot is, the greater the number of nodes that need to be modified.
다른 예를 들어, 로봇이 가동 범위가 좁을수록 수정되는 노드의 개수가 커질 수 있다. 이를 통해, 본 발명은 로봇이 급격하게 주행 경로 및 주행 방향을 변경하지 않고, 가상 장애물을 통과하기 전 영역으로 복귀할 수 있도록 한다.For another example, the narrower the robot's operating range, the greater the number of nodes that can be modified. Through this, the present invention allows the robot to return to the area before passing through the virtual obstacle without abruptly changing the driving path and driving direction.
다시 도 16을 참조하면, 로봇이 제1방향으로 주행하여 가상 장애물(1620a)를 통과하는 경우, 서버(20)는 변경된 가상 장애물(1620b)과 관련된 정보를 로봇으로 전송한다. 로봇이 변경된 가상 장애물(1620b)과 관련된 정보를 수신하는 경우, 로봇은 변경된 가상 장애물(1620b) 회피를 위하여 더 이상 제1방향으로 주행하지 못하고, 주행 방향을 변경하게 된다. 로봇이 변경된 가상 장애물(1620b)을 회피하여 주행함에 따라, 기존 가상 장애물(1620a)을 통과하기 전 로봇이 위치하던 영역으로 복귀하게 된다. Referring again to FIG. 16, when the robot drives in the first direction and passes the virtual obstacle (1620a), the server (20) transmits information related to the changed virtual obstacle (1620b) to the robot. When the robot receives information related to the changed virtual obstacle (1620b), the robot can no longer drive in the first direction to avoid the changed virtual obstacle (1620b) and changes its driving direction. As the robot drives to avoid the changed virtual obstacle (1620b), it returns to the area where it was located before passing the existing virtual obstacle (1620a).
한편, 서버(20)는 특정된 로봇이 상기 가상 장애물을 통과한 경우, 상기 특정된 로봇의 주행이 정지되도록 하는 제어명령을 상기 특정된 로봇으로 전송할 수 있다. 특히, 서버(20)는 로봇이 업데이트된 가상 장애물을 통과하는 경우, 로봇의 기능에 문제가 발생된 것으로 판단하고, 로봇의 운행을 정지하고 수리 또는 회수 조치가 이루어질 수 있도록 할 수 있다.Meanwhile, the server (20) may transmit a control command to the specified robot to stop the operation of the specified robot when the specified robot passes through the virtual obstacle. In particular, the server (20) may determine that there is a problem with the function of the robot when the robot passes through the updated virtual obstacle, and may stop the operation of the robot so that repair or recovery measures can be taken.
상술한 바와 같이 본 발명에 따르면, 로봇이 측위 오차로 인해 가상 장애물을 통과하는 경우, 가상 장애물의 위치를 변경함으로써, 로봇이 가상의 장애물을 통과하기 전 위치로 복귀할 수 있도록 유도한다. 이를 통해, 본 발명은 로봇의 접근을 제한하는 영역으로 로봇이 진입하더라도, 접근 제한 영역에서의 로봇의 주행을 최소화함과 동시에 로봇이 자연스럽게 접근 제한 영역 밖으로 주행할 수 있도록 유도한다.As described above, according to the present invention, when a robot passes through a virtual obstacle due to a positioning error, the position of the virtual obstacle is changed so that the robot can return to the position before passing through the virtual obstacle. Through this, the present invention minimizes the robot's driving in the restricted access area while simultaneously allowing the robot to naturally drive out of the restricted access area even when the robot enters an area where the robot's access is restricted.
한편, 가상 장애물은 다양한 형태로 건물 내 다양한 위치에 설치될 수 있다. 이하에서는, 가상 장애물의 형태와 가상 장애물이 설치되는 위치에 대하여 보다 구체적으로 설명한다.Meanwhile, virtual obstacles can be installed in various forms and various locations within a building. Below, the forms of virtual obstacles and the locations where they are installed are described in more detail.
도 17은 가상 장애물의 형태를 나타내는 개념도이고, 도 18 및 19는 건물 내 설치된 가상 장애물을 나타내는 개념도이다.Figure 17 is a conceptual diagram showing the shape of a virtual obstacle, and Figures 18 and 19 are conceptual diagrams showing virtual obstacles installed inside a building.
일 실시 예에 있어서, 도 17의 (a)를 참조하면, 가상 장애물은 사용자가 복수의 노드를 특정함으로써 지도 상에 설치될 수 있다. 구체적으로, 사용자가 가상 장애물의 위치 특정을 위해 일렬로 배열된 복수의 노드를 선택하는 경우, 선택된 노드를 기준으로 가상 장애물이 설치된다.In one embodiment, referring to (a) of FIG. 17, a virtual obstacle can be installed on a map by a user specifying a plurality of nodes. Specifically, when a user selects a plurality of nodes arranged in a row to specify the location of a virtual obstacle, a virtual obstacle is installed based on the selected nodes.
도 17의 (b)를 참조하면, 가상 장애물이 위치하는 영역은 선 형태일 수 있다. 구체적으로, 사용자가 복수의 노드를 선택하는 경우, 가상 장애물은 복수의 노드를 연결하는 선의 형태로 설치될 수 있다. Referring to (b) of Fig. 17, the area where the virtual obstacle is located may be in the form of a line. Specifically, when a user selects multiple nodes, the virtual obstacle may be installed in the form of a line connecting the multiple nodes.
이와 달리, 도 17의 (c)를 참조하면, 가상 장애물이 위치하는 영역은 면 형태일 수 있다. 구체적으로, 사용자가 복수의 노드를 선택하는 경우, 가상 장애물은 선택된 복수의 노드가 배열된 방향으로 연장되며 소정 두께를 가지는 면 형태의 영역상에 설치될 수 있다. In contrast, referring to (c) of Fig. 17, the area where the virtual obstacle is located may be in the form of a plane. Specifically, when the user selects multiple nodes, the virtual obstacle may be installed on an area in the form of a plane that extends in the direction in which the multiple selected nodes are arranged and has a predetermined thickness.
한편, 가상 장애물은 건물 내 다양한 위치에 설치될 수 있다. Meanwhile, virtual obstacles can be installed in various locations within the building.
한편, 도 18을 참조하면, 가상 장애물은 건물 내 설치된 시설물 주변에 설치될 수 있다. 예를 들어, 가상 장애물(1820)은 로봇에 포함된 센서를 통해 감지하기 어려운 시설물(1830) 주변에 설치될 수 있다. 구체적으로, 가상 장애물(1820)은 투명한 재질로 이루어지는 시설물(예를 들어, 유리문) 주변에 설치되어 로봇이 시설물에 충돌하는 것을 방지할 수 있다. Meanwhile, referring to FIG. 18, virtual obstacles may be installed around facilities installed in a building. For example, virtual obstacles (1820) may be installed around facilities (1830) that are difficult to detect through sensors included in the robot. Specifically, virtual obstacles (1820) may be installed around facilities made of transparent materials (e.g., glass doors) to prevent the robot from colliding with the facilities.
이 경우, 가상 장애물(1820)은 시설물(1830)로부터 소정 거리 이격되도록 설치될 수 있다. 가상 장애물(1820)은 시설물(1830)로부터 소정 거리 이격된 제1노드(1821)를 기준으로 설치될 수 있다. 로봇이 가상 장애물(1820)을 통과하는 경우, 가상 장애물(1820)의 위치를 상기 제1노드(1821)보다 시설물(1830)에 가깝게 위치한 제2노드(1821’)로 변경하여, 로봇이 시설물(1830)이 위치하는 방향으로 주행하는 것을 방지한다. 이를 통해, 본 발명은 로봇이 측위로 오차 등으로 인해 가상 장애물을 통과하더라도, 가상 장애물의 위치를 시설물과 인접하게 변경함으로써 로봇이 시설물에 충돌하는 것을 방지할 수 있다.In this case, the virtual obstacle (1820) can be installed to be spaced apart from the facility (1830) by a predetermined distance. The virtual obstacle (1820) can be installed based on the first node (1821) spaced apart from the facility (1830) by a predetermined distance. When the robot passes the virtual obstacle (1820), the location of the virtual obstacle (1820) is changed to a second node (1821') located closer to the facility (1830) than the first node (1821), thereby preventing the robot from driving in the direction in which the facility (1830) is located. Through this, the present invention can prevent the robot from colliding with the facility by changing the location of the virtual obstacle to be adjacent to the facility even if the robot passes the virtual obstacle due to a positioning error or the like.
한편, 도 19을 참조하면, 가상 장애물은 건물 임의의 구역에 설치될 수 있다. 예를 들어, 가상 장애물(1820)은 건물 내 임시로 배치된 구조물(1930) 주변에 설치될 수 있다. 구체적으로, 건물 내에서 진행하는 행사 등을 위해 구조물(1930)이 배치되는 경우, 지도에는 상기 구조물(1930)에 대한 정보가 없으므로, 상기 구조물(1930)이 설치된 영역에 로봇이 진입하는 것을 막을 수 없다. Meanwhile, referring to FIG. 19, a virtual obstacle can be installed in any area of a building. For example, a virtual obstacle (1820) can be installed around a structure (1930) temporarily placed in a building. Specifically, if a structure (1930) is placed for an event held in a building, the map does not contain information about the structure (1930), so the robot cannot be prevented from entering the area where the structure (1930) is installed.
로봇이 건물 내 특정 영역(이하, 진입 금지 영역)으로 진입하는 것을 막고자하는 경우, 가상 장애물은 진입 금지 영역 주변에 설치될 수 있다. 이 경우, 가상 장애물(1920)은 진입 금지 영역으로부터 소정 거리 이격되도록 설치될 수 있다. 가상 장애물(1920)은 진입 금지 영역으로부터 소정 거리 이격된 제1노드(1921)를 기준으로 설치될 수 있다. 로봇이 가상 장애물(1920)을 통과하는 경우, 가상 장애물(1920)의 위치를 상기 제1노드(1921)보다 진입 금지 영역에 가깝게 위치한 제2노드(1921’)로 변경하여, 로봇이 진입 금지 영역이 위치하는 방향으로 주행하는 것을 방지한다. 이를 통해, 본 발명은 로봇이 측위로 오차 등으로 인해 가상 장애물을 통과하더라도, 진입 금지 영역에서 주행하는 시간을 최소화 함과 동시에 진입 금지 영역에서 빠르게 이탈하도록 유도할 수 있다. In a case where it is desired to prevent a robot from entering a specific area (hereinafter, a no-entry area) within a building, a virtual obstacle may be installed around the no-entry area. In this case, the virtual obstacle (1920) may be installed at a predetermined distance from the no-entry area. The virtual obstacle (1920) may be installed based on a first node (1921) located at a predetermined distance from the no-entry area. When the robot passes through the virtual obstacle (1920), the location of the virtual obstacle (1920) is changed to a second node (1921') located closer to the no-entry area than the first node (1921), thereby preventing the robot from driving in the direction where the no-entry area is located. Through this, even if the robot passes through the virtual obstacle due to a positioning error, the present invention can minimize the time the robot spends driving in the no-entry area and at the same time induce the robot to quickly escape from the no-entry area.
한편, 위에서 살펴본 본 발명은, 컴퓨터에서 하나 이상의 프로세스에 의하여 실행되며, 이러한 컴퓨터로 판독될 수 있는 매체에 저장 가능한 프로그램으로서 구현될 수 있다.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 on a medium that can be read by the computer.
나아가, 위에서 살펴본 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드 또는 명령어로서 구현하는 것이 가능하다. 즉, 본 발명에 따른 다양한 제어방법은 통합하여 또는 개별적으로 프로그램의 형태로 제공될 수 있다. Furthermore, the present invention discussed above can be implemented as a computer-readable code or command on a medium in which a program is recorded. That is, various control methods according to the present invention can be provided in the form of a program, either integrated or individually.
한편, 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. Meanwhile, computer-readable media include all types of recording devices that store data that can be read by a computer system. Examples of computer-readable media include hard disk drives (HDDs), solid state disks (SSDs), silicon disk drives (SDDs), ROMs, RAMs, CD-ROMs, magnetic tapes, floppy disks, and optical data storage devices.
나아가, 컴퓨터가 읽을 수 있는 매체는, 저장소를 포함하며 전자기기가 통신을 통하여 접근할 수 있는 서버 또는 클라우드 저장소일 수 있다. 이 경우, 컴퓨터는 유선 또는 무선 통신을 통하여, 서버 또는 클라우드 저장소로부터 본 발명에 따른 프로그램을 다운로드 받을 수 있다.Furthermore, the computer-readable medium may be a server or cloud storage that includes storage and that the electronic device can access through communication. In this case, the computer can download the program according to the present invention from the 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, i.e., 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 but should be considered as illustrative. The scope of the present invention should be determined by a 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 (19)
상기 건물에서 가상 장애물의 위치를 특정하는 단계;
특정된 상기 가상 장애물의 위치를 이용하여, 상기 가상 장애물에 대한 가상 장애물 정보를 상기 지도에 반영하는 단계;
상기 건물에 위치한 로봇 중 상기 가상 장애물에 대한 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계; 및
상기 특정된 로봇이 상기 가상 장애물을 회피하여 주행하도록, 상기 특정된 로봇으로 상기 가상 장애물 정보를 전송하는 단계를 포함하고,
상기 가상 장애물 정보를 상기 지도에 반영하는 단계의 다음으로 상기 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계가 수행되어, 상기 건물에 위치한 복수의 로봇 중 일부의 로봇에만 상기 가상 장애물 정보를 전송하는 것을 특징으로 하는 로봇 제어 방법.A method for controlling a robot moving through a building based on a map of the building,
A step of specifying the location of a virtual obstacle in the above building;
A step of reflecting virtual obstacle information about the virtual obstacle on the map by using the location of the specified virtual obstacle;
A step of specifying at least one robot among the robots located in the building that satisfies a preset distance condition to the virtual obstacle; and
Including a step of transmitting the virtual obstacle information to the specified robot so that the specified robot can drive while avoiding the virtual obstacle,
A robot control method characterized in that, following the step of reflecting the virtual obstacle information on the map, a step of specifying at least one robot satisfying the preset distance condition is performed, and the virtual obstacle information is transmitted to only some of the plurality of robots located in the building.
모니터링 결과에 근거하여, 상기 특정된 로봇이 상기 가상 장애물을 통과하였는지 판단하는 단계; 및
판단 결과에 근거하여, 상기 특정된 로봇과 관련하여 상기 가상 장애물에 대한 업데이트를 수행하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.In the first paragraph, a step of monitoring the position of the specified robot;
A step of determining whether the specified robot has passed the virtual obstacle based on the monitoring result; and
A robot control method, characterized by including a step of performing an update on the virtual obstacle with respect to the specified robot based on the judgment result.
상기 판단 결과, 상기 특정된 로봇이 상기 가상 장애물을 넘어선 영역으로 주행함에 따라 상기 가상 장애물을 통과한 경우, 상기 가상 장애물에 대한 업데이트가 이루어지고,
상기 건물은,
상기 특정된 로봇이 상기 가상 장애물을 넘어서기 전 위치하였던 제1 영역 및
상기 특정된 로봇이 상기 가상 장애물을 넘어선 영역에 대응되는 제2 영역을 포함하고,
상기 특정된 로봇과 관련하여 상기 가상 장애물에 대한 업데이트를 수행하는 단계에서는,
상기 가상 장애물의 적어도 일부가 상기 제2 영역에 위치하도록, 상기 건물에서 상기 가상 장애물의 위치를 적어도 일부 변경하는 것을 특징으로 하는 로봇 제어 방법. In the second paragraph,
As a result of the above judgment, if the specified robot passes through the virtual obstacle as it drives to an area beyond the virtual obstacle, an update is made to the virtual obstacle.
The above building,
The first area where the above-mentioned specific robot was located before it overcame the above-mentioned virtual obstacle, and
The above-mentioned specific robot includes a second area corresponding to an area beyond the virtual obstacle,
In the step of performing an update on the virtual obstacle in relation to the above-mentioned specific robot,
A robot control method characterized by changing at least a part of the position of the virtual obstacle in the building so that at least a part of the virtual obstacle is located in the second area.
상기 가상 장애물의 위치는, 상기 특정된 로봇을 사이에 두고, 상기 제1 영역보다 상기 제2 영역에 가깝게 위치되도록 업데이트 되는 것을 특징으로 로봇 제어 방법.In the third paragraph,
A robot control method, characterized in that the position of the virtual obstacle is updated so as to be closer to the second area than to the first area, with the specified robot in between.
상기 가상 장애물을 넘어선 상기 제2 영역으로 주행한 상기 특정된 로봇이, 업데이트된 가상 장애물을 따라 상기 제2 영역에서 상기 제1 영역으로 복귀하도록, 상기 특정된 로봇으로 상기 업데이트된 가상 장애물에 대한 정보를 전송하는 단계를 포함하는 것을 특징으로 하는 로봇 제어 방법.In the third paragraph,
A robot control method, characterized in that it comprises a step of transmitting information about the updated virtual obstacle to the specified robot so that the specified robot, which has driven to the second area over the virtual obstacle, returns from the second area to the first area along the updated virtual obstacle.
상기 지도는, 상기 건물의 서로 다른 위치에 각각 대응되는 복수의 노드들을 포함하고,
상기 건물에 위치한 로봇은, 상기 복수의 노드들 중 적어도 일부를 따라 상기 건물을 주행하며,
상기 가상 장애물 정보는,
상기 가상 장애물의 위치에 각각 대응하는 노드들에 대한 노드 정보를 포함하는 것을 특징으로 하는 로봇 제어 방법.In the third paragraph,
The above map includes a plurality of nodes, each corresponding to a different location in the building,
A robot located in said building drives through said building along at least some of said plurality of nodes,
The above virtual obstacle information is,
A robot control method characterized in that it includes node information for nodes each corresponding to the location of the virtual obstacle.
상기 특정된 로봇과 관련하여 상기 가상 장애물에 대한 업데이트를 수행하는 단계에서는,
상기 가상 장애물의 위치에 각각 대응하는 상기 노드들에 대한 수정을 수행하는 것을 특징으로 하는 로봇 제어 방법.In Article 6,
In the step of performing an update on the virtual obstacle in relation to the above-mentioned specific robot,
A robot control method characterized by performing modifications to the nodes respectively corresponding to the positions of the virtual obstacles.
상기 가상 장애물의 위치에 각각 대응하는 상기 노드들에 대한 수정은,
상기 가상 장애물의 위치에 각각 대응하는 상기 노드들 중 적어도 하나를 제외하고, 상기 가상 장애물의 위치에 각각 대응하는 상기 노드들과 다른 적어도 하나의 노드를 추가하는 것을 특징으로 하며,
제외된 적어도 하나의 노드는, 상기 특정된 로봇이 상기 가상 장애물을 넘어선 위치에 대응되는 노드이고,
상기 다른 적어도 하나의 노드는, 상기 제2 영역에 포함된 노드인 것을 특징으로 하는 로봇 제어 방법.In Article 7,
Modifications to the nodes corresponding to the positions of the virtual obstacles are as follows:
It is characterized by adding at least one node different from the nodes corresponding to the positions of the virtual obstacles, excluding at least one of the nodes corresponding to the positions of the virtual obstacles,
At least one node excluded is a node corresponding to a location where the specified robot has overcome the virtual obstacle,
A robot control method, characterized in that the at least one other node is a node included in the second area.
상기 업데이트된 가상 장애물은, 상기 가상 장애물 일 방향을 따라 상기 가상 장애물로부터 특정 거리만큼 이격되도록 형성되는 것을 특징으로 하는 로봇 제어 방법.In Article 8,
A robot control method, characterized in that the updated virtual obstacle is formed to be spaced apart from the virtual obstacle by a specific distance along one direction of the virtual obstacle.
상기 특정 거리는,
상기 특정된 로봇의 크기 및 상기 특정된 로봇의 주행 속도 중 적어도 하나에 근거하여 결정되는 것을 특징으로 하는 로봇 제어 방법.In Article 9,
The above specific distance is,
A robot control method characterized in that the method is determined based on at least one of the size of the specified robot and the driving speed of the specified robot.
상기 판단 결과, 상기 특정된 로봇이 상기 가상 장애물을 통과한 경우, 상기 특정된 로봇의 주행이 정지되도록 하는 제어명령을 상기 특정된 로봇으로 전송하는 단계를 더 포함하는 것을 특징으로 하는 로봇 제어 방법.In the second paragraph,
A robot control method characterized by further comprising a step of transmitting a control command to the specified robot to stop driving of the specified robot if the specified robot passes the virtual obstacle as a result of the determination.
상기 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계에서는,
상기 건물을 주행하는 로봇 중 상기 가상 장애물로부터 기 설정된 거리 이내에 위치하거나, 상기 가상 장애물 주변으로 주행이 예정된 적어도 하나의 로봇을 특정하는 것을 특징으로 하는 로봇 제어 방법.In the first paragraph,
In the step of specifying at least one robot that satisfies the above preset distance condition,
A robot control method characterized by specifying at least one robot among the robots driving in the building that is located within a preset distance from the virtual obstacle or is scheduled to drive around the virtual obstacle.
상기 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하는 단계에서는,
상기 건물을 주행하는 로봇 마다 할당된 임무에 근거하여, 상기 가상 장애물을 넘어선 영역으로 접근이 불가능한 로봇을, 상기 가상 장애물을 회피하여 주행하는 로봇으로서 특정하는 것을 특징으로 하는 로봇 제어 방법.In the first paragraph,
In the step of specifying at least one robot that satisfies the above preset distance condition,
A robot control method characterized in that, based on the tasks assigned to each robot driving through the building, a robot that cannot access an area beyond the virtual obstacle is specified as a robot that drives while avoiding the virtual obstacle.
상기 건물 내 위치하는 가상 장애물이 복수인 경우,
복수의 가상 장애물 마다 각각의 가상 장애물에 대해 회피가 필요한 적어도 하나의 로봇이 특정되고,
특정된 로봇 각각에게 상기 복수의 가상 장애물 중 회피가 필요한 적어도 하나의 가상 장애물에 대한 정보가 전송되는 것을 특징으로 하는 로봇 제어 방법.In Article 13,
If there are multiple virtual obstacles located within the above building,
For each of the multiple virtual obstacles, at least one robot that needs to avoid each virtual obstacle is specified,
A robot control method, characterized in that information about at least one virtual obstacle that needs to be avoided among the plurality of virtual obstacles is transmitted to each specific robot.
상기 건물은,
상기 클라우드 서버로부터 상기 로봇의 주행과 제어 명령을 수신하여, 상기 로봇으로 전송하는 통신부를 포함하고,
상기 클라우드 서버는,
상기 건물에서 가상 장애물의 위치를 특정하고,
특정된 상기 가상 장애물의 위치를 이용하여, 상기 가상 장애물에 대한 가상 장애물 정보를 지도에 반영하며,
상기 건물에 위치한 로봇 중 상기 가상 장애물에 대한 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하고,
상기 특정된 로봇이 상기 가상 장애물을 회피하여 주행하도록, 상기 특정된 로봇으로 상기 가상 장애물 정보를 전송하며,
상기 가상 장애물 정보를 상기 지도에 반영한 다음으로 상기 기 설정된 거리 조건을 만족하는 적어도 하나의 로봇을 특정하여, 상기 건물에 위치한 복수의 로봇 중 일부의 로봇에만 상기 가상 장애물 정보를 전송하는 것을 특징으로 하는 건물.In a building where robots run and are controlled by cloud servers,
The above building,
Includes a communication unit that receives driving and control commands for the robot from the cloud server and transmits them to the robot.
The above cloud server,
Identify the location of the virtual obstacle in the above building,
By using the location of the specified virtual obstacle, virtual obstacle information about the virtual obstacle is reflected on the map,
Identify at least one robot among the robots located in the above building that satisfies the preset distance condition for the above virtual obstacle,
Transmitting the virtual obstacle information to the specified robot so that the specified robot can drive while avoiding the virtual obstacle,
A building characterized in that the virtual obstacle information is reflected on the map, and then at least one robot satisfying the preset distance condition is specified, and the virtual obstacle information is transmitted only to some of the plurality of robots located in the building.
상기 클라우드 서버는,
모니터링 결과에 근거하여, 상기 특정된 로봇이 상기 가상 장애물을 통과하였는지 판단하고, 판단 결과에 근거하여, 상기 특정된 로봇과 관련하여 상기 가상 장애물에 대한 업데이트를 수행하는 것을 특징으로 하는 건물.In Article 15,
The above cloud server,
A building characterized in that, based on the monitoring result, it is determined whether the specified robot has passed the virtual obstacle, and, based on the determination result, an update is performed on the virtual obstacle with respect to the specified robot.
상기 클라우드 서버는,
상기 가상 장애물을 넘어선 영역으로 주행한 상기 특정된 로봇이, 업데이트된 가상 장애물을 따라 상기 가상 장애물을 넘어서기 전 영역으로 복귀하도록, 상기 특정된 로봇으로 상기 업데이트된 가상 장애물에 대한 정보를 전송하는 것을 특징으로 하는 건물.In Article 16,
The above cloud server,
A building characterized in that information about the updated virtual obstacle is transmitted to the specified robot so that the specified robot, having driven to an area beyond the virtual obstacle, returns to the area before overcoming the virtual obstacle along the updated virtual obstacle.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210124854A KR102699803B1 (en) | 2021-09-17 | 2021-09-17 | Robot-friendly building, method and system for controling robot divinging in the building |
| PCT/KR2022/013413 WO2023043117A1 (en) | 2021-09-17 | 2022-09-07 | Robot-friendly building, and method and system for controlling robot traveling in building |
| KR1020240113196A KR102862589B1 (en) | 2021-09-17 | 2024-08-23 | Robot-friendly building, method and system for controling robot divinging in the building |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020210124854A KR102699803B1 (en) | 2021-09-17 | 2021-09-17 | Robot-friendly building, method and system for controling robot divinging in the building |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020240113196A Division KR102862589B1 (en) | 2021-09-17 | 2024-08-23 | Robot-friendly building, method and system for controling robot divinging in the building |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| KR20230041353A KR20230041353A (en) | 2023-03-24 |
| KR102699803B1 true KR102699803B1 (en) | 2024-08-29 |
Family
ID=85603156
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020210124854A Active KR102699803B1 (en) | 2021-09-17 | 2021-09-17 | Robot-friendly building, method and system for controling robot divinging in the building |
| KR1020240113196A Active KR102862589B1 (en) | 2021-09-17 | 2024-08-23 | Robot-friendly building, method and system for controling robot divinging in the building |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020240113196A Active KR102862589B1 (en) | 2021-09-17 | 2024-08-23 | Robot-friendly building, method and system for controling robot divinging in the building |
Country Status (2)
| Country | Link |
|---|---|
| KR (2) | KR102699803B1 (en) |
| WO (1) | WO2023043117A1 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102735360B1 (en) * | 2024-09-02 | 2024-11-28 | 빅웨이브로보틱스 주식회사 | Multi-type robot integrated control and monitoring device and method for providing a standardization map based on standardization variable calculation user interface |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2020509500A (en) | 2017-03-02 | 2020-03-26 | ロブアート ゲーエムベーハーROBART GmbH | Control method of autonomous mobile robot |
| KR102235270B1 (en) * | 2017-01-18 | 2021-04-01 | 엘지전자 주식회사 | Moving Robot and controlling method |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10025305B2 (en) * | 2014-02-28 | 2018-07-17 | Samsung Electronics Co., Ltd. | Cleaning robot and remote controller included therein |
| KR101692602B1 (en) * | 2015-01-13 | 2017-01-03 | 서울시립대학교 산학협력단 | System and method for control robot based cloud knowledge sharing |
| US11007644B2 (en) * | 2018-09-04 | 2021-05-18 | Irobot Corporation | Mapping interface for mobile robots |
-
2021
- 2021-09-17 KR KR1020210124854A patent/KR102699803B1/en active Active
-
2022
- 2022-09-07 WO PCT/KR2022/013413 patent/WO2023043117A1/en not_active Ceased
-
2024
- 2024-08-23 KR KR1020240113196A patent/KR102862589B1/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102235270B1 (en) * | 2017-01-18 | 2021-04-01 | 엘지전자 주식회사 | Moving Robot and controlling method |
| JP2020509500A (en) | 2017-03-02 | 2020-03-26 | ロブアート ゲーエムベーハーROBART GmbH | Control method of autonomous mobile robot |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2023043117A1 (en) | 2023-03-23 |
| KR20230041353A (en) | 2023-03-24 |
| KR102862589B1 (en) | 2025-09-19 |
| KR20240134783A (en) | 2024-09-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR102705200B1 (en) | Method and system for controling robot driving in a building | |
| KR102773624B1 (en) | Robot-friendly building, robot and system for controling multi-robot driving in the building | |
| KR102790357B1 (en) | Robot-friendly building, method and system for robot charging control | |
| KR102809452B1 (en) | Robot-friendly building, method and system for collaboration using multiple robots | |
| KR20250047708A (en) | Robot-friendly buildings, methods and systems for map creation for robot operation | |
| KR102862589B1 (en) | Robot-friendly building, method and system for controling robot divinging in the building | |
| KR20250049997A (en) | Robot-friendly building, method and system for controlling tasks of robot | |
| KR20250016349A (en) | Robot-friendly building, method and system for controlling robot driving in the building | |
| KR20250037427A (en) | Robot-friendly building, methods and systems for map creation for robot operation | |
| KR102620941B1 (en) | Method and system for controling robot driving in a building | |
| KR102707348B1 (en) | Robot-friendly building, method and system for controling robot driving in the building | |
| KR20250143725A (en) | Robot-friendly building, method and system for controling robot divinging in the building | |
| KR102770996B1 (en) | Robot-friendly buildings, methods and systems for monitoring robot operations | |
| KR102870992B1 (en) | Robot-friendly building, method and system for delivering using robot | |
| KR102667685B1 (en) | Robot-friendly building, method and system for controlling robot driving in the building | |
| KR20250011993A (en) | Robot-friendly building, method and system for deliverying using robot |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
| PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
| R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-3-3-R10-R18-oth-X000 |
|
| D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
| D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
| PG1501 | Laying open of application |
St.27 status event code: A-1-1-Q10-Q12-nap-PG1501 |
|
| E902 | Notification of reason for refusal | ||
| PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
| E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
| P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
| P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-2-2-P10-P22-nap-X000 |
|
| E701 | Decision to grant or registration of patent right | ||
| PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
| PN2301 | Change of applicant |
St.27 status event code: A-3-3-R10-R13-asn-PN2301 St.27 status event code: A-3-3-R10-R11-asn-PN2301 |
|
| R17-X000 | Change to representative recorded |
St.27 status event code: A-3-3-R10-R17-oth-X000 |
|
| PA0107 | Divisional application |
St.27 status event code: A-0-1-A10-A18-div-PA0107 St.27 status event code: A-0-1-A10-A16-div-PA0107 |
|
| PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
| PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
| PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
| P22-X000 | Classification modified |
St.27 status event code: A-4-4-P10-P22-nap-X000 |