KR20230039415A - System for remotely controlling robot and method for controlling the same - Google Patents
System for remotely controlling robot and method for controlling the same Download PDFInfo
- Publication number
- KR20230039415A KR20230039415A KR1020210122710A KR20210122710A KR20230039415A KR 20230039415 A KR20230039415 A KR 20230039415A KR 1020210122710 A KR1020210122710 A KR 1020210122710A KR 20210122710 A KR20210122710 A KR 20210122710A KR 20230039415 A KR20230039415 A KR 20230039415A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- message
- type
- ros
- robots
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000004891 communication Methods 0.000 claims abstract description 89
- 238000007726 management method Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
- 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
- B25J9/00—Programme-controlled manipulators
- B25J9/0084—Programme-controlled manipulators comprising a plurality of manipulators
-
- 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/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0027—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement involving a plurality of vehicles, e.g. fleet or convoy travelling
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/028—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal
- G05D1/0282—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using a RF signal generated in a local control room
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Mechanical Engineering (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
Description
본 발명은 원거리에 위치하는 복수의 로봇들을 원격으로 제어하기 위한 시스템 및 이를 위한 제어 방법에 관한 것이다.The present invention relates to a system for remotely controlling a plurality of robots located at a long distance and a control method therefor.
로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것도 있다. Robots have been developed for industrial use and have been in charge of a part of factory automation. In recent years, the field of application of robots has been further expanded, and medical robots, space robots, etc. have been developed, and household robots that can be used at home are also being made. Some of these robots can run on their own.
이와 같은 로봇은 주변 활동 환경의 변경, 통신 환경 변경, 관제 서버의 시스템 변경 등의 이유로 주기적 또는 비주기적으로 내부 소프트웨어가 업데이트될 필요가 있다. Internal software of such a robot needs to be updated periodically or non-periodically for reasons such as a change in the surrounding activity environment, a change in the communication environment, and a change in the system of the control server.
또한, 적어도 저전력 소비를 추구하기 위해서라도 로봇 자체에서의 연산량이 최소한으로 되도록 할 필요가 있다. Also, at least in order to pursue low power consumption, it is necessary to minimize the amount of calculation in the robot itself.
최근에는 로봇의 내부 소프트웨어를 효율적으로 업데이트하기 위한 방안과 로봇 자체의 연산량을 최소한으로 되도록 하기 위한 방안에 대해 많은 연구가 진행 중에 있다.Recently, many studies are being conducted on a method for efficiently updating the internal software of the robot and a method for minimizing the amount of operation of the robot itself.
본 발명은, 로봇의 내부 소프트웨어를 효율적으로 업데이트하고, 로봇 자체의 연산량도 최소한으로 줄일 수 있도록 하기 위한 로봇 원격 제어 시스템 및 이를 위한 제어 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide a robot remote control system and a control method therefor to efficiently update the internal software of the robot and to minimize the amount of operation of the robot itself.
상기 목적을 달성하기 위해 본 발명은, 복수의 로봇들, 상기 복수의 로봇들로부터 원거리 이격되어 상기 복수의 로봇들을 제어하는 관제 서버, 및 상기 복수의 로봇들 및 상기 관제 서버 간의 통신을 중계하는 에지 서버를 포함하고, 상기 에지 서버는, 상기 복수의 로봇들로부터 수신하는 제 1 타입의 제 1 메시지를 제 2 타입의 제 1 메시지로 변환하여 상기 관제 서버로 전송하고, 상기 관제 서버로부터 수신하는 제 2 타입의 제 2 메시지를 제 1 타입의 제 2 메시지로 변환하여 상기 복수의 로봇들에게 전송하기 위한 통합 매니지먼트 엔진을 포함하는 것을 특징으로 하는 로봇 원격 제어 시스템을 제공한다. In order to achieve the above object, the present invention provides a plurality of robots, a control server remotely separated from the plurality of robots and controlling the plurality of robots, and an edge for relaying communication between the plurality of robots and the control server. and a server, wherein the edge server converts a first message of a first type received from the plurality of robots into a first message of a second type, transmits the message to the control server, and receives the first message from the control server. It provides a robot remote control system comprising an integrated management engine for converting a second message of the second type into a second message of the first type and transmitting the message to the plurality of robots.
제 1 타입은 ROS(Robot Operation System) 통신에 기반한 ROS 타입이고, 제 2 타입은 소켓 통신에 기반한 소켓 타입일 수 있다. The first type may be a ROS type based on ROS (Robot Operation System) communication, and the second type may be a socket type based on socket communication.
상기 통합 매니지먼트 엔진은, 상기 ROS 통신을 관장하는 ROS 통신 모듈, 상기 소켓 통신을 관장하는 소켓 통신 모듈, 상기 복수의 로봇들의 정보를 저장하는 데이터베이스, 및 상기 ROS 타입의 제 1 메시지를 상기 소켓 타입의 제 1 메시지로 변환하고, 상기 소켓 타입의 제 2 메시지를 상기 ROS 타입의 제 2 메시지로 변환하는 코어 모듈을 포함할 수 있다. The integrated management engine includes a ROS communication module managing the ROS communication, a socket communication module managing the socket communication, a database storing information of the plurality of robots, and a first message of the ROS type of the socket type. It may include a core module for converting a first message and converting a second message of the socket type into a second message of the ROS type.
상기 코어 모듈은, 상기 소켓 타입의 제 2 메시지를 상기 ROS 타입의 제 2 메시지로 변환할 때, 제 2 메시지의 수신 대상 로봇의 식별자를 제 2 타입의 제 2 메시지에 포함시킬 수 있다. When converting the second message of the socket type into the second message of the ROS type, the core module may include an identifier of a robot to receive the second message in the second message of the second type.
상기 복수의 로봇들 중에서 특정 로봇과 상기 에지 서버는 서로 다른 네트워크를 통해 접속될 수도 있다. Among the plurality of robots, a specific robot and the edge server may be connected through different networks.
이 경우, 상기 에지 서버는, 상기 ROS 타입의 제 2 메시지를 상기 소켓 타입의 제 2 메시지로 변환하여 상기 특정 로봇으로 전송하기 위한 에지 브리지 엔진을 더욱 포함할 수 있다. In this case, the edge server may further include an edge bridge engine for converting the second message of the ROS type into a second message of the socket type and transmitting the converted message to the specific robot.
또한, 상기 특정 로봇은, 상기 소켓 타입의 제 2 메시지를 상기 ROS 타입의 제 2 메시지로 변환하기 위한 로봇 브리지 엔진을 포함할 수 있다.In addition, the specific robot may include a robot bridge engine for converting the second message of the socket type into the second message of the ROS type.
상기 로봇 브리지 엔진은, 상기 특정 로봇 내에서 생성되는 상기 ROS 타입의 제 1 메시지를 상기 소켓 타입의 제 1 메시지로 변환하여 상기 로봇 브리지 엔진으로 전송할 수 있다.The robot bridge engine may convert the first message of the ROS type generated in the specific robot into the first message of the socket type and transmit it to the robot bridge engine.
상기 에지 브리지 엔진은, 상기 소켓 타입의 제 1 메시지를 상기 ROS 타입의 제 1 메시지로 변환하여 상기 통합 매니지먼트 엔진에 전송할 수 있다. The edge bridge engine may convert the first message of the socket type into the first message of the ROS type and transmit it to the integrated management engine.
또한, 상기 목적을 달성하기 위해 본 발명은, 에지 서버가 복수의 로봇들로부터 제 1 타입의 제 1 메시지를 수신하는 단계, 상기 에지 서버가 제 1 타입의 제 1 메시지를 제 2 타입의 제 1 메시지로 변환하여 관제 서버로 전송하는 단계, 상기 에지 서버가 상기 관제 서버로부터 제 2 타입의 제 2 메시지를 수신하는 단계, 및 상기 에지 서버가 제 1 타입의 제 2 메시지로 변환하여 상기 복수의 로봇들에게 전송하는 단계를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법을 제공한다.In addition, in order to achieve the above object, the present invention provides an edge server receiving a first message of a first type from a plurality of robots, wherein the edge server sends a first message of a first type to a first message of a second type. converting into a message and transmitting it to the control server, the edge server receiving a second message of the second type from the control server, and the edge server converting the second message of the first type into the plurality of robots It provides a robot remote control method comprising the step of transmitting to them.
본 발명에 따른 로봇 원격 제어 시스템 및 이를 구현하기 위한 로봇의 효과에 대해 설명하면 다음과 같다.Referring to the robot remote control system according to the present invention and the effects of the robot for implementing it are as follows.
본 발명의 실시 예들 중 적어도 하나에 의하면, 로봇의 내부 소프트웨어를 효율적으로 업데이트하면서 로봇 자체의 연산량도 최소한으로 줄일 수 있다는 장점이 있다.According to at least one of the embodiments of the present invention, there is an advantage in that the amount of operation of the robot itself can be reduced to a minimum while efficiently updating the internal software of the robot.
도 1은 본 발명의 일 실시예에 의한 로봇을 구성하는 구성요소를 보여주는 블록도이다.
도 2는 본 발명의 일 실시예에 의한 로봇 내의 엔진들에 관한 블록도이다.
도 3은 본 발명의 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 상황을 도시한다.
도 4은 본 발명의 다른 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 상황을 도시한다.
도 5는 본 발명의 일실시예에 따른 통합 매니지먼트 엔진의 내부 블록도이다.
도 6은 본 발명의 또다른 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 상황을 도시한다.
도 7은 본 발명의 일실시예에 따른 브리지 엔진의 동작 순서도이다.
도 8은 도 6의 제 1 로봇 및 에지 서버 간의 통신을 설명하기 위한 블록도이다.1 is a block diagram showing components constituting a robot according to an embodiment of the present invention.
2 is a block diagram of engines in a robot according to an embodiment of the present invention.
3 illustrates a situation in which a plurality of robots communicate with a control server according to an embodiment of the present invention.
4 illustrates a situation in which a plurality of robots communicate with a control server according to another embodiment of the present invention.
5 is an internal block diagram of an integrated management engine according to an embodiment of the present invention.
6 illustrates a situation in which a plurality of robots communicate with a control server according to another embodiment of the present invention.
7 is an operation flowchart of a bridge engine according to an embodiment of the present invention.
FIG. 8 is a block diagram illustrating communication between the first robot of FIG. 6 and an edge server.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈", "부", "엔진", 및 "노드" 등은 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, the embodiments disclosed in this specification will be described in detail with reference to the accompanying drawings, but the same or similar components are given the same reference numerals regardless of reference numerals, and redundant description thereof will be omitted. The suffixes "module", "unit", "engine", and "node" for components used in the following description are given or used interchangeably in consideration of only the ease of writing the specification, meaning that they are distinguished from each other in themselves. or does not have a role. In addition, in describing the embodiments disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the embodiment disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, the technical idea disclosed in this specification is not limited by the accompanying drawings, and all changes included in the spirit and technical scope of the present invention , it should be understood to include equivalents or substitutes.
본 발명의 하기의 실시예들은 본 발명을 구체화하기 위한 것일 뿐 본 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 본 발명의 상세한 설명 및 실시예들로부터 본 발명이 속하는 기술 분야의 전문가가 용이하게 유추할 수 있는 것은 본 발명의 권리 범위에 속하는 것으로 해석된다.Of course, the following examples of the present invention are only intended to embody the present invention and are not intended to limit or limit the scope of the present invention. What can be easily inferred by an expert in the technical field to which the present invention pertains from the detailed description and embodiments of the present invention is interpreted as belonging to the scope of the present invention.
상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 안되며, 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above detailed description should not be construed as limiting in all respects, but should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
도 1을 참조하여, 본 발명의 일실시예에 따른 로봇을 구성하는 구성요소에 대해 설명하겠다. 도 1은 본 발명의 일 실시예에 의한 로봇을 구성하는 구성요소를 보여주는 블록도이다.Referring to Figure 1, the components constituting the robot according to an embodiment of the present invention will be described. 1 is a block diagram showing components constituting a robot according to an embodiment of the present invention.
로봇(1000)은 외부에 배치되는 이동 객체 혹은 고정 객체를 센싱하는 센싱모듈(100), 다양한 종류의 맵을 저장하는 맵 저장부(200), 로봇의 이동을 제어하는 이동부(300), 로봇의 소정의 기능을 수행하는 기능부(400), 다른 로봇 또는 서버와 맵 또는 이동 객체, 고정 객체, 혹은 외부의 변동되는 상황에 관한 정보를 송수신하는 통신부(500), 그리고 이들 각각의 구성요소들을 제어하는 제어부(900)를 할 수 있다. The
도 1에서는 로봇의 구성을 계층적으로 구성하고 있으나, 이는 로봇의 구성요소들을 논리적으로 나타낸 것이다. 물리적 구성인 경우에는 이와 다를 수 있다. 즉, 하나의 물리적 구성요소에 다수의 논리적 구성요소가 포함되거나, 다수의 물리적 구성요소가 하나의 논리적 구성요소를 구현할 수 있다. Although the configuration of the robot is hierarchically configured in FIG. 1, this logically represents the components of the robot. In the case of physical configuration, this may be different. That is, a plurality of logical elements may be included in one physical element, or a plurality of physical elements may implement one logical element.
센싱모듈(100)는 장애물과 같은 외부의 객체들을 센싱하여 센싱한 정보를 제어부(900)에게 제공한다. 일 실시예로 센싱모듈(100)는 로봇의 현재 위치에서 벽, 유리, 금속성 문 등 외부 객체들의 재질과 거리를 신호의 강도(intensity)와 반사된 시간(속도)로 산출하는 라이다(Lidar) 센싱부(110)를 포함할 수 있다. 또한, 센싱모듈(100)는 로봇(1000)으로부터 일정 거리 내에 배치된 객체들의 온도 정보를 산출하는 온도 센싱부(120)를 포함할 수 있다. 온도 센싱부(120)의 일 실시예는 로봇(1000)으로부터 일정 거리 내에 배치된 사물의 온도, 특히 사람들의 체온을 감지하는 적외선 센서를 포함한다. 적외선 어레이 센서(Infrared Array sensor)로 온도 센싱부(120)를 구성할 경우 접촉 없이도 객체의 온도를 센싱할 수 있다. 적외선 센서 혹은 적외선 어레이 센서가 온도 센싱부(120)를 구성할 경우, 이동 객체가 사람인지 여부를 확인하는 주요한 정보를 제공할 수 있다.The
뿐만 아니라, 센싱모듈(100)은 전술한 센싱부들 외에 로봇과 외부 객체와의 뎁스 정보를 산출하는 뎁스 센싱부(130) 및 비전 센싱부(140)를 더 포함할 수 있다.In addition, the
뎁스 센싱부(130)는 뎁스 카메라를 포함할 수 있다. 뎁스 센싱부(130)는 로봇과 외부 객체 사이의 거리를 판단할 수 있도록 하는데, 특히 라이다 센싱부(110)와 결합하여 외부 객체와 로봇 사이의 거리의 센싱 정확도를 높일 수 있다.The
비전 센싱부(140)는 카메라를 포함할 수 있다. 비전 센싱부(140)는 로봇의 주변의 객체들의 이미지를 촬영할 수 있다. 특히, 로봇은 고정 객체와 같이 변화가 많지 않은 이미지와 이동 객체가 배치된 이미지를 구분하여 외부의 객체가 이동 객체인지를 식별할 수 있다.The
그 외에도 열감지 센싱부, 초음파 센싱부 등을 일 실시예로 하는 보조 센싱부(145)가 다수 배치될 수 있다. 이들 보조 센싱부들은 맵을 생성하거나 외부 객체를 센싱하는데 필요한 보조적인 센싱 정보를 제공한다. 또한, 이들 보조 센싱부들 역시 로봇이 주행함에 있어 외부에 배치되는 객체를 센싱하여 정보를 제공한다.In addition, a plurality of
[0032] 센싱 데이터 분석부(150)는 다수의 센싱부들이 센싱한 정보들을 분석하여 이를 제어부(900)에게 전달한다. 예를 들어 다수의 센싱부들에 의해 외부에 배치된 객체가 감지될 경우, 해당 객체의 특성과 거리에 대한 정보를 각각의 센싱부가 제공할 수 있다. 센싱 데이터 분석부(150)는 이들의 값을 조합하여 산출하고 이를 제어부(900)에게 전달할 수 있다.[0032] The sensing data analyzer 150 analyzes information sensed by a plurality of sensing units and transmits it to the
맵 저장부(200)는 로봇이 이동하는 공간에 배치되는 객체들의 정보를 저장한다. 맵 저장부(200)는 로봇이 이동하는 전체 공간에 배치되는 객체들 중에서 변동이 없거나 혹은 고정되어 배치되는 고정 객체들에 대한 정보를 저장하는 고정맵(210)을 포함할 수 있다. 고정맵(210)은 공간에 따라 필수적으로 하나가 포함될 수 있다. 고정맵(210)은 해당 공간에서 가장 변동이 낮은 객체들만 배치된 것이므로, 로봇이 해당 공간을 이동할 경우 맵(210)에서 지시하는 객체들보다는 더 많은 객체를 센싱할 수 있다.The
고정맵(210)은 고정 객체들의 위치 정보를 필수적으로 저장하며, 추가적으로 고정 객체들의 특성, 예를 들어 재질 정보, 색상 정보, 혹은 기타 높이 정보 등을 포함할 수 있다. 이러한 추가적인 정보들은 고정 객체들에 변동 사항이 발생한 경우 로봇이 보다 쉽게 확인할 수 있도록 한다.The fixed
또한 로봇은 이동하는 과정에서 주변을 센싱하여 임시맵(220)을 생성하여 이를 과거 저장했던 전체 공간에 대한 고정맵(210)과 비교할 수 있다. 비교 결과 로봇은 현재의 위치를 확인할 수 있다.In addition, the robot can sense the surroundings in the process of moving to create a
이동부(300)는 바퀴와 같이 로봇(1000)을 이동시키는 수단으로, 제어부(900)의 제어에 따라 로봇(1000)을 이동시킨다. 이때, 제어부(900)는 맵 저장부(200)에 저장된 영역에서 로봇(1000)의 현재 위치를 확인하여 이동부(300)에 이동 신호를 제공할 수 있다. 제어부(900)는 맵 저장부(200)에 저장된 다양한 정보들을 이용하여 경로를 실시간으로 생성하거나 혹은 이동 과정에서 경로를 생성할 수 있다.The moving
이동부(300)는 주행거리 산출부(310)와 주행거리 보정부(320)를 포함할 수 있다. 주행거리 산출부(310)는 이동부(300)가 이동한 거리에 대한 정보를 제공할 수 있다. 일 실시예로 특정 지점에서 출발한 로봇(1000)이 이동한 누적 거리를 제공할 수 있다. 또는 로봇(1000)이 특정한 지점에서 회전한 후 직선으로 이동한 누적 거리를 제공할 수 있다. 또는 로봇(1000)이 특정한 시간부터 이동한 누적 거리를 제공할 수 있다.The moving
또한, 본 발명의 일 실시예에 의하면 누적 거리뿐만 아니라 일정한 단위 내에 이동 거리에 대한 정보를 주행거리 산출부(310)가 제공할 수 있다. 주행거리 산출부(310)는 이동부(300)의 특성에 따라 다양하게 거리를 산출할 수 있는데, 이동부(300)가 바퀴인 경우 바퀴의 회전 횟수를 카운팅하여 주행 거리를 산출할 수 있다.In addition, according to an embodiment of the present invention, the
주행거리 보정부(320)는 주행거리 산출부(310)가 산출한 거리가 실제 로봇(1000)의 센싱 모듈(100)이 산출한 거리 정보와 상이한 경우 주행 거리 산출부(310)가 산출한 거리 정보를 보정한다. 또한, 주행 거리 산출부(310)에서 오차가 누적하여 발생할 경우 주행거리 산출부(310)의 주행거리 산출 로직을 변경하도록 제어부(900) 또는 이동부(300)에게 통지할 수 있다.The travel
기능부(400)는 로봇의 특화된 기능을 제공하는 것을 의미한다. 예를 들어, 청소 로봇인 경우 기능부(400)는 청소에 필요한 구성요소를 포함한다. 안내 로봇인 경우 기능부(400)는 안내에 필요한 구성요소를 포함한다. 보안로봇인 경우 기능부(400)는 보안에 필요한 구성요소를 포함한다. 기능부(400)는 로봇이 제공하는 기능에 따라 다양한 구성요소를 포함할 수 있으며, 본 발명이 이에 한정되는 것은 아니다.The
로봇(1000)의 제어부(900)는 맵 저장부(200)의 맵을 생성하거나 업데이트할 수 있다. 또한, 제어부(900)는 주행 과정에서 센싱 모듈(100)이 제공하는 객체의 정보를 식별하여 이동 객체인지 고정 객체인지를 구분하여 로봇(1000)의 주행을 제어할 수 있다.The
정리하면, 로봇(1000)의 제어부(900)는 센싱 모듈(100)이 외부에 배치된 객체를 센싱하면, 센싱된 객체의 특성 정보에 기반하여 센싱된 객체 중에서 이동 객체를 식별하여, 이동 객체를 제외하고 상기 센싱 모듈이 고정 객체로 센싱한 정보에 기반하여 로봇의 현재 위치를 설정할 수 있다.In summary, when the
이하, 도 2를 참조하여, 본 발명의 일실시예에 따른 로봇을 좀더 소프트웨어 관점에서 설명하겠다. 도 2는 본 발명의 일 실시예에 의한 로봇 내의 엔진들에 관한 블록도이다.Hereinafter, with reference to FIG. 2, a robot according to an embodiment of the present invention will be described from a software point of view. 2 is a block diagram of engines in a robot according to an embodiment of the present invention.
상기 로봇(1000)은 디바이스 엔진(device engine)(1110), 내비게이션 엔진(navigation engine)(1120), 매니풀레이션 엔진(manipulation engine)(1130), 시스템 엔진(system engine)(1140), 및 매니지먼트 엔진(management engine)(1150) (이에 한정되지 않음)을 포함하여 구성될 수 있다. The
상기 디바이스 엔진(1110)은 상기 로봇(1000) 내에서 사용되는 상기 센싱모듈(100), 상기 맵 저장부(200), 상기 이동부(300), 상기 기능부(400), 상기 통신부(500) 등과 관련된 하드웨어 상태를 관리할 수 있다. The
상기 내비게이션 엔진(1120)은, 상기 맵 저장부(200) 및 상기 이동부(300)와 관련이 있는 것으로서, 상기 로봇(1000)이 이동하는데 필요한 기능을 담당할 수 있다. 즉, 상기 내비게이션 엔진(1120)은 상기 로봇(1000)이 구동하기 위한 지도, 좌표 정보 등을 관리하면서 상기 로봇을 이동하거나/하고 회전하는 역할을 담당할 수 있다. The
상기 매니풀레이션 엔진(1130)은, 상기 로봇(1000)의 팔, 다리 등에 구비된 관절을 관리할 수 있다. The
상기 시스템 엔진(1140)은, 상기 로봇의 전력과 배터리 정보를 관리할 수 있다. The
상기 매니지먼트 엔진(1150)은 관제서버와 통신하면서 관제 서버에 메시지를 전달하고, 관제 서버로부터 명령을 수신하는 경우 상기 로봇(1000)이 상기 수신된 명령을 수행할 수 있도록 상기 수신된 명령을 상기 엔진들에 전달하는 역할을 수행할 수 있다. The
상기 로봇(1000)이 자체 디스플레이(미도시)를 구비하거나 외부 디스플레이에 연결될 수 있는 경우에는, 상기 로봇(1000)은 상기 디스플레이에 상기 로봇(1000)의 동작 상황 등을 디스플레이하기 위한 유저인터페이스 앱(User Interface App)(1200)을 구비할 수도 있다. When the
상기 로봇(1000)은 ROS(Robot Operating System)이라는 운영체제에 기반하여 동작할 수 있다. 상기 ROS는 로봇용 공개소스 메타 운영체제로서, 일반 운영체제에서 제공하는 하드웨어 추상화, 저수준 기기제어, 빈번히 사용되는 기능들이 구현되어 있으며, 프로세스 간의 메시지 전달, 패키지 관리 기능들을 제공할 수 있다. 상기 ROS에서는 DDS(Data Distribution Service) 통신으로 메시지가 전송될 수 있다. 상기 DDS 통신는 UDP(User Datagram Protocol)/TCP 기반에서 동작하는데, 피어-투-피어(Peer-to-Peer) 통신 방식으로 별도의 마스터가 없다. 따라서, 상기 ROS에서의 상기 DDS 통신은 동일 네트워크 내에서만 통신 가능하다. 이하, 상기 ROS에 기반한 통신을 "ROS 통신"이라고 하겠으며, 상기 ROS 통신에 따른 메시지를 "ROS 메시지"라고 하겠다. The
이하, 도 3을 참조하여, 본 발명의 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 것에 대해 설명하겠다. 도 3은 본 발명의 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 상황을 도시한다. Hereinafter, referring to FIG. 3, communication between a plurality of robots and a control server according to an embodiment of the present invention will be described. 3 illustrates a situation in which a plurality of robots communicate with a control server according to an embodiment of the present invention.
도 3에서는 두 개의 로봇들(1000-1, 1000-2)이 관제서버(2000)와 통신하는 것이 예시되어 있다. 물론 이보다 더 많이 로봇들이 있을 수 있음은 물론이다. 두 개의 로봇들(1000-1, 1000-2) 각각은 앞서 설명된 상기 로봇(1000)에 따른 것이다. 본 명세서에서는 상기 두 개의 로봇들(1000-1, 1000-2)을 서로 구분하기 위해 "제 1" 및 "제 2"와 같은 수식어를 사용하여 제 1 로봇(1000-1)과 제 2 로봇(1000-2)으로 호칭하겠다. 그리고, 제 1 로봇(1000-1) 내의 구성요소 및/또는 엔진을 제 2 로봇(1000-2)의 구성요소 및/또는 엔진과 구별할 필요가 있는 경우에는, 각 구성요소에 대해서도 "제 1" 및 "제 2"와 같은 수식어를 사용하여 서로 구별하겠다. 예를 들어, 제 1 매니지먼트 모듈(1150-1)는 제 1 로봇(1000-1) 내의 것이고, 제 2 매니지먼트 모듈(1150-2)는 제 2 로봇(1000-2) 내의 것이다. In FIG. 3, it is illustrated that two robots 1000-1 and 1000-2 communicate with the
도 3에 도시된 바와 같이 제 1 로봇(1000-1)은 제 1 매니지먼트 모듈(1150-1)을 통해 관제서버(2000)와 통신하고, 제 2 로봇(1000-2)은 제 2 매니지먼트 모듈(1150-2)을 통해 관제서버(2000)와 통신할 수 있다. 상기 관제서버(2000)는 제 1 로봇(1000-1)과 제 2 로봇(1000-2)와는 원거리에 이격된 서버이거나, 또는 클라우드 서버일 수 있다. As shown in FIG. 3, the first robot 1000-1 communicates with the
여기서의 통신은 소켓을 이용한 통신일 수 있다. "소켓"이라 함은, 패킷 통신 방식의 인터넷 프로토콜인 IP(Internet Protocol)와 전송 조절 프로토콜인 TCP(Transfer Control Protocol)로 이루어진 TCP/IP 통신을 네트워크를 통해 두 프로그램이 수행할 수 있도록 생성되는 링크의 단자를 의미할 수 있다. 즉, 상기 관제서버(2000)는 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)와 TCP/IP 기반의 소켓 통신을 하여 이들의 동작을 관제할 수 있다. Communication here may be communication using a socket. "Socket" refers to a link created so that two programs can perform TCP/IP communication through a network, which consists of IP (Internet Protocol), an Internet protocol of packet communication, and TCP (Transfer Control Protocol), a transmission control protocol. It can mean the terminal of. That is, the
예를 들어, 상기 관제서버(2000)은 제 1 로봇(1000-1) 및/또는 제 2 로봇(1000-2)에게 예컨대 이동을 명령하기 위한 메시지를 상기 소켓 통신을 통해 전송할 수 있다. 이하, 상기 소켓 통신을 통해 전송되는 메시지를 "소켓 메시지"라고 칭하겠다. 소켓 메시지의 경우 TCP/IP에 기반하므로 수신자 및 송신자 정보가 포함되어야 함은 물론이다. For example, the
해당 로봇(1000)은 상기 매니지먼트 모듈(1150)를 통해 상기 소켓 메시지를 수신하고, 상기 소켓 메시지를 상기 ROS 메시지로 변환하고, 상기 변환된 ROS 메시지를 내부의 관련 엔진들에게 전달함으로써 상기 명령이 상기 해당 로봇에서 수행될 수 있도록 할 수 있다. The corresponding
반대로, 상기 해당 로봇(1000)이 상기 관제 서버(2000)로 소정 데이터를 보낼 필요가 있는 경우에는 상기 매니지먼트 모듈(1150)이 상기 데이터에 ROS 메시지를 상기 소켓 메시지로 변환하여 상기 소켓 통신을 통해 상기 관제 서버(2000)로 전송할 수 있다. Conversely, when the
이와 같이 상기 매니지먼트 모듈(1150)는 상기 관제 서버(2000)와 통신을 주고 받기 때문에 이들은 서로 밀접하게 연관(coupling)되어 있다. 따라서, 상기 관제 서버(2000) 측에서 어떤 기능이 추가되거나 통신 프로토콜이 업데이트되는 등의 이유로 수정사항이 있으면 상기 매니지먼트 모듈(1150) 측에도 이에 맞추어 같이 수정되어야 할 사항이 있는 경우가 있다. 이 경우에는 각 로봇 별로 모든 매니지먼트 모듈(100)이 개별적으로 일일이 수정되어야 할 필요가 있다. As such, since the
또한, 상기 매니지먼트 모듈(1150)과 상기 관제 서버(2000)는 서로 밀접하게 연관되어 있으므로, 상기 관제 서버(2000)의 프론트-엔드(front-end) (예를 들면, 상기 관제 서버(2000)를 접속하기 위한 웹사이트)를 업데이트하려는 경우에도 조차 상기 매니지먼트 모듈(1150)을 이에 맞추어 같이 수정해야 하는 경우가 있다. 따라서, 상기 프론트-엔드를 업데이트하는데 많이 제약이 있을 수 있다. In addition, since the
이하에서는, 상기 불편함을 해결하기 위해 또다른 방식으로 상기 복수의 로봇들이 관제 서버와 통신하는 다른 실시예에 대해 도 4를 참조하여 설명하겠다. 도 4은 본 발명의 다른 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 상황을 도시한다.Hereinafter, another embodiment in which the plurality of robots communicate with the control server in another way to solve the inconvenience will be described with reference to FIG. 4 . 4 illustrates a situation in which a plurality of robots communicate with a control server according to another embodiment of the present invention.
도 4에서는 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 에지 서버(edge server)(3000)를 통해 상기 관제 서버(2000)와 통신하는 것이 예시되어 있다. 또한, 도 4에서는 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 에지 서버(edge server)(3000)가 동일한 네트워크 내에서 통신하는 것이 예시되어 있다. 여기서 동일한 네트워크 내에서 통신한다는 것은 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 에지 서버(3000)가 예컨대 동일한 와이파이 라우터 또는 억세스 포인트에 접속하여 서로 통신하는 것을 의미할 수 있다. 4 illustrates that the first robot 1000-1 and the second robot 1000-2 communicate with the
상기 에지 서버(3000)는 제 1 로봇(1000-1) 및/또는 제 2 로봇(1000-2)과, 상기 관제 서버(2000) 간의 통신을 중계하는 역할을 하기 때문에, 일종의 중계 서버(relay server) 또는 게이트웨이 서버(gateway server)라고 이해될 수 있다. 상기 에지 서버(3000)는 제 1 로봇(1000-1) 및/또는 제 2 로봇(1000-2)들과 같은 에지 디바이스에 물리적으로 가깝게 에지(edge) 측에 위치할 수 있다는 이유로 "에지"라고 명명되었다. Since the
제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 관제 서버(2000)에 대해서는 앞서 설명되었으므로, 이하에서는 앞서 설명된 바와 다른 부분에 대해서 중점적으로 설명하겠다. Since the first robot 1000-1, the second robot 1000-2, and the
제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버 (3000)가 동일한 네트워크 내에서 통신하는 것이 가능할 때 상기 에지 서버(3000)을 통해 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 상기 관제 서버(2000)와 통신하는 경우에는 제 1 로봇(1000-1) 및 제 2 로봇(1000-2) 각각에서 제 1 매니지먼트 엔진(1150-1) 및 제 2 매니지먼트 엔진(1150-2)이 생략될 수 있다. 그 대신에 상기 에지 서버(3000)에 제 1 매니지먼트 엔진(1150-1) 및 제 2 매니지먼트 엔진(1150-2)의 역할을 대신하는 통합 매니지먼트 엔진(unified management engine)(3150)이 구비될 수 있다. 상기 통합 매니지먼트 엔진(3150)은 에지 측에 구비된다는 이유로 EBME(Edge based Management Engine)라고도 명명될 수도 있다. When it is possible for the first robot 1000-1, the second robot 1000-2, and the
한편, 상기 관제 서버(2000)는 사용자가 상기 관제 서버(2000)에 억세스하기 위한 프론트-엔드(2030)를 제공할 수 있다. Meanwhile, the
이하, 도 5를 참조하여 상기 통합 매니지먼트 엔진(3150)에 대해 좀더 자세히 살펴보겠다. 도 5는 본 발명의 일실시예에 따른 통합 매니지먼트 엔진의 내부 블록도이다.Hereinafter, the
상기 통합 매니지먼트 엔진(3150)은, ROS 통신 모듈(3151), 소켓 통신 모듈(3153), 데이터베이스(3155), 및 코어 모듈(3157)을 포함하여 구성될 수 있다. The
상기 ROS 통신 모듈(3151)은, 상기 ROS 통신을 관장하는 모듈로서, 상기 로봇(1000)으로부터 수신하는 ROS 메시지를 상기 코어 모듈(3157)로 전달하는 한편, 상기 코어 모듈(3157)로부터 수신하는 ROS 메시지를 상기 로봇(1000)으로 전송할 수 있다. The
상기 소켓 통신 모듈(3153)은, 상기 소켓 통신을 관장하는 모듈로서, 상기 관제 서버(2000)로부터 수신하는 소켓 메시지를 상기 코어 모듈(3157)로 전달하는 한편, 상기 코어 모듈(3157)로부터 수신하는 ROS 메시지를 상기 관제 서버(2000)로 전송할 수 있다. The
상기 데이터베이스(3155)는 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)의 각종 정보를 저장할 수 있다. The
상기 코어 모듈(3157)는 상기 ROS 통신 모듈(3151)로부터 수신하는 ROS 메시지를 소켓 메시지로 변환하여 상기 소켓 통신 모듈(3153)로 전달할 수 있고, 그 역으로, 상기 관제 서버(2000)로부터 수신하는 소켓 메시지를 ROS 메시지로 변환하여 상기 ROS 통신 모듈(3151)로 전달할 수 있다. 또한, 상기 코어 모듈(3157)은 상기 데이터베이스(3155)에 접근하여 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)의 각종 정보를 참조할 수 있다. The
이하 다시 도 4로 돌아가서, 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)가 동일한 네트워크 내에서 통신하는 경우, 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 상기 에지 서버(3000)를 통해 상기 관제 서버(2000)와 통신하는 것에 대해 좀더 구체적으로 살펴보겠다.4 again, when the first robot 1000-1, the second robot 1000-2, and the
상기 서버(2000)는 예컨대 제 1 로봇(1000-1) 및 제 2 로봇(1000-2) 중에서 제 1 로봇(1000-1)을 이동시키기 위한 이동 명령을 담은 소켓 메시지를 상기 소켓 통신을 통해 상기 에지 서버(3000)에 전송할 수 있다. The
그러면, 상기 에지 서버(3000)는 상기 수신한 소켓 메시지를 상기 ROS 메시지로 변환할 수 있다. 이 때, 상기 에지 서버(3000)는 상기 소켓 메시지는 제 1 로봇에 대한 것임을 고려하여 상기 데이터베이스(3155)를 참조하여 상기 ROS 메시지에 제 1 로봇의 식별자를 포함시킬 수 있다. Then, the
그리고, 상기 에지 서버(3000)는 상기 ROS 메시지를 상기 ROS 통신을 통해 상기 네트워크 내에 전송할 수 있다. And, the
그러면, 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)를 포함한 상기 네트워크 내에 있는 모든 ROS 기반 기기들을 상기 ROS 메시지를 수신할 수 있다. Then, all ROS-based devices in the network including the first robot 1000-1 and the second robot 1000-2 can receive the ROS message.
상기 모든 ROS 기반 기기들 중에서 제 1 로봇(1000-1)은 상기 ROS 메시지 내에 있는 식별자를 확인함으로써 상기 ROS 메시지는 자신을 위한 것임을 인식하고 상기 ROS 메시지 내에 있는 상기 이동 명령을 수행할 수 있다. Among all the ROS-based devices, the first robot 1000-1 can recognize that the ROS message is for itself by checking the identifier in the ROS message and execute the movement command in the ROS message.
한편, 제 1 로봇(1000-1)이 상기 관제 서버(2000)로 소정 데이터를 보낼 필요가 있는 경우에는 제 1 로봇(1000-1)은 상기 소정 데이터를 포함하는 ROS 메시지를 생성할 수 있다. 이 때 제 1 로봇(1000-1)는 상기 ROS 메시지는 상기 관제 서버(2000)에 대한 것임을 고려하여 상기 ROS 메시지에 상기 관제 서버(2000) 또는 상기 에지 서버(3000)의 식별자를 포함시킬 수 있다.On the other hand, when the first robot 1000-1 needs to send predetermined data to the
그리고, 제 1 로봇(1000-1)는 상기 ROS 메시지를 상기 ROS 통신을 통해 상기 네트워크 내에 전송할 수 있다. Also, the first robot 1000-1 may transmit the ROS message within the network through the ROS communication.
그러면, 제 2 로봇(1000-2) 및 상기 에지 서버를 포함한 상기 네트워크 내에 있는 모든 ROS 기반 기기들을 상기 ROS 메시지를 수신할 수 있다.Then, all ROS-based devices in the network including the second robot 1000-2 and the edge server can receive the ROS message.
상기 모든 ROS 기반 기기들 중에서 상기 에지 서버(3000)는 상기 ROS 메시지 내에 있는 식별자를 확인함으로써 상기 ROS 메시지는 자신을 위한 것임을 인식하고 이를 소켓 메시지로 변환할 수 있다. Among all the ROS-based devices, the
그 다음, 상기 에지 서버(3000)는 상기 변환된 소켓 메시지를 상기 관제 서버(2000)로 상기 소켓 통신을 통해 전송할 수 있다. Then, the
상기 관제 서버(2000)는 필요에 따라 상기 소켓 메시지에 포함된 상기 데이터에 관한 정보를 상기 프론트-엔드(2030)을 통해 사용자에게 제공할 수 있다.The
이상에서는 제 1 로봇(1000-1)과 상기 관제 서버(2000)가 상기 에지 서버(3000)를 통해 서로 통신하는 것에 대해 설명하였다. 이는 제 2 로봇(1000-2)과 상기 관제 서버(2000)가 상기 에지 서버(3000)를 통해 서로 통신하는 것에도 그대로 적용될 수 있음은 물론이다. In the above, it has been described that the first robot 1000-1 and the
도 4에서 설명된 바와 같이 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 상기 에지 서버(3000)를 통해 상기 관제 서버(2000)와 통신하는 경우에는 다음과 같은 장점이 있을 수 있다. As described in FIG. 4, when the first robot 1000-1 and the second robot 1000-2 communicate with the
첫 번째, 본 발명에 따른 복수의 로봇들은 각기 매니지먼트 모듈을 구비할 필요가 없다. 따라서, 상기 관제 서버 측에서 어떤 기능이 추가되거나 통신 프로토콜이 업데이트되는 등의 이유로 수정사항이 있더라도 이에 맞추어 상기 복수의 로봇들을 일일이 수정할 필요가 없다. 대신에 상기 에지 서버(3000)의 통합 매니지먼트 모듈만을 이에 맞추어 수정하면 된다. 따라서, 로봇의 유지 및 관리가 더 편리해질 수 있다. First, a plurality of robots according to the present invention need not have a management module, respectively. Therefore, even if there is a modification due to a reason such as a function being added or a communication protocol being updated on the control server side, there is no need to individually modify the plurality of robots accordingly. Instead, only the integrated management module of the
두 번째, 앞서 살펴본 것처럼 본 발명의 로봇은 상기 매니지먼트 모듈을 개별적으로 구비할 필요가 없으므로, 상기 개별 로봇 입장에서는 기존의 매니지먼트 모듈이 담당하던 만큼의 연산량을 줄일 수 있다. 이는 로봇의 전력 소모 절감에도 도움될 수 있을 뿐 아니라, 상기 로봇의 연산 리소스를 절감하여 다른 연산 프로세싱에 활용할 수 있다는 장점이 있다. Second, as described above, since the robot of the present invention does not need to have the management module individually, the amount of calculations that the existing management module was in charge of can be reduced from the standpoint of the individual robot. This can not only help to reduce the power consumption of the robot, but also has the advantage of saving the robot's computational resources so that they can be used for other computational processing.
세 번째, 상기 에지 서버(3000)는 기존에 상기 관제 서버(2000)가 담당하던 기능을 맡을 수가 있다. 예를 들면, 상기 에지 서버(3000)는 제 1 로봇 및 제 2 로봇에 관한 정보를 포함하는 상기 데이터베이스(3155)를 포함함으로써, 기존에는 상기 관제 서버(2000)가 수행하던 상기 데이터베이스(3155)를 참조하는 기능을 상기 에지 서버(3000)가 수행할 수 있다. 그렇기 때문에, 상기 에지 서버(3000) 내의 상기 통합 매니지먼트 엔진(3150)과 상기 관제 서버(2000) 간의 연관성이 낮아질 수 있고, 그만큼 상기 통합 매니지먼트 엔진(3150)과는 독립적으로 자유롭게 상기 관제 서버(000)의 프론트-엔드(2030)를 수정하거나 업데이트할 수 있다는 장점이 있다. Thirdly, the
네 번째, 상기 동일한 네트워크 내에 있는 ROS 기반 기기들 사이에는 ROS 통신이 가능하므로, 기존의 소켓 통신을 할 때보다 통신 속도가 더 빨라질 수 있다는 장점이 있다. Fourth, since ROS communication is possible between ROS-based devices in the same network, there is an advantage that communication speed can be higher than that of conventional socket communication.
이상에서는 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)가 동일한 네트워크 내에서 통신하는 경우, 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 상기 에지 서버(3000)를 통해 상기 관제 서버(2000)와 통신하는 것에 대해 설명하였다. 그런데, 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000) 중 적어도 하나는 다른 네트워크를 통해 통신하는 경우도 있을 수 있다. 이 경우에 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 상기 에지 서버(3000)를 통해 상기 관제 서버(2000)와 통신하는 것에 대해 도 6을 더욱 참조하여 설명하겠다. 도 6은 본 발명의 또다른 일실시예에 따라 복수의 로봇들이 관제 서버와 통신하는 상황을 도시한다. In the above, when the first robot 1000-1, the second robot 1000-2, and the
도 6에서는 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)가 상기 에지 서버 (3000)를 통해 상기 관제 서버(2000)와 통신하는 것이 예시되어 있다. 제 1 로봇(1000-1), 제 2 로봇(1000-2), 상기 관제 서버(2000), 및 상기 에지 서버(3000)에 대해서는 앞서 설명되었으므로, 이하에서는 앞서 설명된 바와 다른 부분에 대해서 중점적으로 설명하겠다. 6 illustrates that the first robot 1000-1 and the second robot 1000-2 communicate with the
또한, 도 6에서는 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)가 모두 다른 네트워크를 통해 통신하는 것이 예시되어 있다. 여기서 다른 네트워크 내에서 통신한다는 것은 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 에지 서버 (3000)가 예컨대 서로 다른 와이파이 라우터 또는 억세스 포인트에 접속하여 서로 통신하는 것을 의미할 수 있다. 도 6에서는 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)이 서로 다른 제 1 네트워크, 제 2 네트워크, 및 제 3 네트워크에 각각 접속해 있는 것이 예시되어 있다. 6 illustrates that the first robot 1000-1, the second robot 1000-2, and the
이 경우에는 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000) 각각에는 브리지 엔진(bridge engine)(1160-1, 1160-2, 3160)이 필요할 수 있다. 이하에서는 설명의 간편함을 위해 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)에 각각 구비되는 브리지 엔진을, 제 1 브리지 엔진(1160-1), 제 2 브리지 엔진(1160-2), 및 에지 브리지 엔진(3160)이라고 호칭하겠다. In this case, each of the first robot 1000-1, the second robot 1000-2, and the
이하, 도 7을 더욱 참조하여, 상기 브리지 엔진에 대해 좀더 자세히 살펴보겠다. 도 7은 본 발명의 일실시예에 따른 브리지 엔진의 동작 순서도이다. Hereinafter, with further reference to FIG. 7 , the bridge engine will be described in more detail. 7 is an operation flowchart of a bridge engine according to an embodiment of the present invention.
제 1 브리지 엔진(1160-1), 제 2 브리지 엔진(1160-2), 및 상기 에지 브리지 엔진(3160)은 사실상 동일한 동작을 수행한다. 이에 제 1 네트워크에 속해 있는 제 1 브리지 엔진(1160-1)과 제 3 네트워크에 속해 있는 상기 에지 브리지 엔진(3160) 간의 통신을 예로 들어 상기 브리지 엔진의 동작에 설명하겠다. 이는 설명의 간편함을 위한 것으로서, 제 1 브리지 엔진(1160-1) 및 제 2 브리지 엔진(1160-2) 간의 통신, 제 2 브리지 엔진(1160-2) 및 상기 에지 브리지 엔진(3160) 간의 통신에도 그대로 적용될 수 있음은 물론이다. The first bridge engine 1160-1, the second bridge engine 1160-2, and the
먼저 제 1 네트워크에 속해 있는 제 1 브리지 엔진(1160-1)은 제 1 네트워크 내에서 상기 ROS 통신을 통해 게시(publish)된 ROS 메시지를 구독(subscribe)할 수 있다[S71]. First, the first bridge engine 1160-1 belonging to the first network may subscribe to the ROS message published through the ROS communication within the first network [S71].
제 1 브리지 엔진(1160-1)은 상기 ROS 메시지를 소켓 메시지로 변환할 수 있다[S72]. The first bridge engine 1160-1 may convert the ROS message into a socket message [S72].
그 다음, 제 1 브리지 엔진(1160-1)은 상기 소켓 메시지를 소켓 통신을 통해 제 3 네트워크에 속해 있는 상기 에지 브리지 엔진(3160)으로 전송할 수 있다[S73]. Next, the first bridge engine 1160-1 may transmit the socket message to the
상기 에지 브리지 엔진(3160)은 상기 소켓 통신을 통해 상기 소켓 메시지를 수신할 수 있다[S74]. The
그리고, 상기 에지 브리지 엔진(3160)은 상기 소켓 메시지를 다시 ROS 메시지로 변환할 수 있다[S75]. And, the
그 다음, 상기 에지 브리지 엔진(3160)은 상기 ROS 메시지를 상기 ROS 통신을 통해 제 3 네트워크 내에서 게시할 수 있다[S76]. Then, the
이와 같이, 제 1 브리지 엔진(1160-1) 및 상기 에지 브리지 엔진(3160)은 서로 다른 네트워크에 속해 있는 제 1 로봇(1000-1) 및 상기 에지 서버(3000)가 마치 동일한 네트워크에 있는 것처럼 상기 ROS 통신을 하도록 지원하는 역할을 한다.In this way, the first bridge engine 1160-1 and the
따라서, 도 4에 도시된 바와 같이 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)가 동일한 네트워크 내에서 상기 ROS 통신하는 통신 매커니즘은, 도 6에 도시된 바와 같이 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)가 서로 다른 네트워크에 속해 있더라도 제 1 브리지 엔진(1160-1), 제 2 브리지 엔진(1160-2), 및 상기 에지 브리지 엔진(3160)의 덕택에 그대로 적용될 수 있다. Therefore, as shown in FIG. 4, the communication mechanism for the ROS communication between the first robot 1000-1, the second robot 1000-2, and the
이하, 도 8을 더욱 참조하여, 제 1 네트워크에 속해 있는 제 1 브리지 엔진(1160-1)과 제 3 네트워크에 속해 있는 상기 에지 브리지 엔진(3160) 간의 통신에 대해 좀더 자세히 살펴 보겠다. 도 8은 도 6의 제 1 로봇 및 에지 서버 간의 통신을 설명하기 위한 블록도이다. Hereinafter, with further reference to FIG. 8 , communication between the first bridge engine 1160-1 belonging to the first network and the
도 8에서 설명되는 제 1 네트워크에 속해 있는 제 1 브리지 엔진(1160-1)과 제 3 네트워크에 속해 있는 상기 에지 브리지 엔진(3160) 간의 통신은, 제 1 브리지 엔진(1160-1) 및 제 2 브리지 엔진(1160-2) 간의 통신, 제 2 브리지 엔진(1160-2) 및 상기 에지 브리지 엔진(3160) 간의 통신에도 그대로 적용될 수 있음은 물론이다.Communication between the first bridge engine 1160-1 belonging to the first network described in FIG. 8 and the
먼저, 제 1 로봇(1000-1) 내의 한 엔진이 제 1 네트워크 내에서 상기 ROS 통신을 통해 ROS 메시지를 게시할 수 있다[S81]. First, an engine in the first robot 1000-1 may post a ROS message through the ROS communication within the first network [S81].
이에, 제 1 로봇(1000-1)의 제 1 브리지 엔진(1160-1)은 상기 ROS 통신을 통해 상기 ROS 메시지를 구독할 수 있다[S81]. 그리고, 제 1 로봇(1000-1)의 제 1 브리지 엔진(1160-1)은 상기 ROS 메시지를 소켓 메시지로 변환할 수 있다[S82]. Accordingly, the first bridge engine 1160-1 of the first robot 1000-1 may subscribe to the ROS message through the ROS communication [S81]. And, the first bridge engine 1160-1 of the first robot 1000-1 may convert the ROS message into a socket message [S82].
그 다음, 제 1 로봇(1000-1)의 제 1 브리지 엔진(1160-1)은 상기 소켓 메시지를 상기 소켓 통신을 통해 상기 에지 브리지 엔진(3160)으로 전송할 수 있다[S83]. Then, the first bridge engine 1160-1 of the first robot 1000-1 may transmit the socket message to the
그러면, 상기 에지 브리지 엔진(3160)은 상기 소켓 메시지를 수신하여 ROS 메시지로 변환할 수 있다[S84]. Then, the
그 다음, 상기 에지 브리지 엔진(3160)은 상기 ROS 메시지를 제 3 네트워크 내에서 상기 ROS 통신을 통해 게시할 수 있다[S85]. Then, the
이에, 상기 통합 매지니먼트 엔진(EBME)(3150)은 상기 ROS 통신을 통해 상기 ROS 메시지를 구독할 수 있다[S85]. 그리고, 상기 통합 매지니먼트 엔진(EBME)(3150)은 상기 ROS 메시지를 소켓 메시지로 변환할 수 있다[S86]. Accordingly, the integrated management engine (EBME) 3150 may subscribe to the ROS message through the ROS communication [S85]. In addition, the integrated management engine (EBME) 3150 may convert the ROS message into a socket message [S86].
그 다음, 상기 통합 매지니먼트 엔진(EBME)(3150)은 상기 소켓 메시지를 상기 소켓 통신을 통해 상기 관제 서버로 전송할 수 있다[S87].Then, the integrated management engine (EBME) 3150 may transmit the socket message to the control server through the socket communication [S87].
한편, 상기 통합 매지니먼트 엔진(EBME)(3150)은 상기 소켓 통신을 통해 상기 관제 서버로부터 소켓 메시지를 수신할 수도 있다[S91]. 그리고, 상기 통합 매지니먼트 엔진(EBME)(3150)은 상기 소켓 메시지를 ROS 메시지로 변환할 수 있다[S92].Meanwhile, the integrated management engine (EBME) 3150 may receive a socket message from the control server through the socket communication [S91]. And, the integrated management engine (EBME) 3150 may convert the socket message into a ROS message [S92].
그 다음, 상기 통합 매지니먼트 엔진(EBME)(3150)은 상기 ROS 메시지를 제 3 네트워크 내에서 상기 ROS 통신을 통해 게시할 수 있다[S93].Then, the integrated management engine (EBME) 3150 may post the ROS message through the ROS communication within the third network [S93].
그 다음, 상기 에지 브리지 엔진(3160)은 상기 ROS 통신을 통해 상기 ROS 메시지를 구독할 수 있다[S93]. 그리고, 상기 에지 브리지 엔진(3160)은 상기 ROS 메시지를 소켓 메시지로 변환할 수 있다[S94].Then, the
그 다음, 상기 에지 브리지 엔진(3160)은 상기 소켓 메시지를 상기 소켓 통신을 통해 제 1 로봇(1000-1)의 제 1 브리지 엔진(1160-1)로 전송할 수 있다[S95]. Then, the
그러면, 제 1 로봇(1000-1)의 제 1 브리지 엔진(1160-1)은 상기 소켓 메시지를 수신하여 ROS 메시지로 변환할 수 있다[S96].Then, the first bridge engine 1160-1 of the first robot 1000-1 may receive the socket message and convert it into a ROS message [S96].
그 다음, 제 1 로봇(1000-1)의 제 1 브리지 엔진(1160-1)은 제 1 네트워크 내에서 상기 ROS 통신을 통해 ROS 메시지를 게시할 수 있다[S97].Then, the first bridge engine 1160-1 of the first robot 1000-1 may post a ROS message through the ROS communication within the first network [S97].
그러면, 제 1 로봇(1000-1) 내의 한 엔진이 제 1 네트워크 내에서 상기 ROS 통신을 통해 상기 ROS 메시지를 구독할 수 있다[S97].Then, one engine in the first robot 1000-1 can subscribe to the ROS message through the ROS communication within the first network [S97].
이상에서는 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)이 서로 다른 제 1 네트워크, 제 2 네트워크, 및 제 3 네트워크에 각각 접속해 있는 경우에 대해 설명하였다. 그런데, 제 1 로봇(1000-1), 제 2 로봇(1000-2), 및 상기 에지 서버(3000)가 이동통신(예를 들면, 5G 통신)에 기반하여 통신하는 경우에는 제 1 네트워크, 제 2 네트워크, 및 제 3 네트워크에 각각 접속해 있는 경우와 마찬가지로 제 1 브리지 엔진(1160-1), 제 2 브리지 엔진(1160-2), 및 상기 에지 브리지 엔진(3160)이 필요하다. 왜냐하면, 이동통신의 경우 소켓 통신에 기반하기 때문이다. In the above, for the case where the first robot 1000-1, the second robot 1000-2, and the
한편, 제 1 로봇(1000-1)과 제 2 로봇(1000-2)이 제 1 네트워크에 접속하여 있고, 상기 에지 서버(3000)가 제 3 네트워크에 접속되는 경우도 있을 수 있다. 이 경우에는 제 1 로봇(1000-1)과 제 2 로봇(1000-2) 간에는 ROS 통신이 가능하므로 제 1 브리지 엔진(1160-1) 및 제 2 브리지 엔진(1160-2) 중 하나만 구비되어도 충분하다. 즉 네트워크 별로 하나씩의 브리지 엔진만 있으면 본 발명이 구현 가능하다. Meanwhile, there may be cases in which the first robot 1000-1 and the second robot 1000-2 are connected to the first network and the
또한 한편, 이상에서는 제 1 로봇(1000-1)의 제 1 매니지먼트 엔진(1150-1) 및 제 2 로봇(1000-2)의 제 2 매니지먼트 엔진(1150-2)가 상기 에지 서버(3000)의 통합 매니지먼트 엔진(3150)으로 구현되는 것에 대해 설명하였다. 그러나, 본 발명은 이에 한정되지 않는다. 제 1 로봇(1000-1) 및 제 2 로봇(1000-2)의 다른 엔진이 상기 에지 서버(3000)에 통합 엔진으로 구현될 수도 있다. 예를 들면, 제 1 내비게이션 엔진(1120-1) 및 제 2 로봇(1000-2)의 제 2 내비게이션 엔진(1120-2)가 상기 에지 서버(3000)에서 통합 내비게이션 엔진(미도시)로 구현될 수도 있다. On the other hand, in the above, the first management engine 1150-1 of the first robot 1000-1 and the second management engine 1150-2 of the second robot 1000-2 of the
전술한 본 발명은, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The above-described present invention can be implemented as computer readable code on a medium on which a program is recorded. The computer-readable medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable media include Hard Disk Drive (HDD), Solid State Disk (SSD), Silicon Disk Drive (SDD), ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc. , and also includes those implemented in the form of a carrier wave (eg, transmission over the Internet). Accordingly, the above detailed description should not be construed as limiting in all respects and should be considered illustrative. The scope of the present invention should be determined by reasonable interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.
1000: 로봇
100: 센싱모듈
200: 맵 저장부
300: 이동부
400: 기능부
500: 통신부
1110: 디바이스 엔진
1120: 내비게이션 엔진
1130: 매니풀레이션 엔진
1140: 시스템 엔진
1150: 매니지먼트 엔진
2000: 관제 서버
3000: 에지 서버
3150: 통합 매니지먼트 엔진1000: robot 100: sensing module
200: map storage unit 300: moving unit
400: functional unit 500: communication unit
1110: device engine 1120: navigation engine
1130: Manipulation engine 1140: System engine
1150: management engine 2000: control server
3000: Edge Server 3150: Integrated Management Engine
Claims (10)
상기 복수의 로봇들로부터 원거리 이격되어 상기 복수의 로봇들을 제어하는 관제 서버; 및
상기 복수의 로봇들 및 상기 관제 서버 간의 통신을 중계하는 에지 서버를 포함하고,
상기 에지 서버는,
상기 복수의 로봇들로부터 수신하는 제 1 타입의 제 1 메시지를 제 2 타입의 제 1 메시지로 변환하여 상기 관제 서버로 전송하고, 상기 관제 서버로부터 수신하는 제 2 타입의 제 2 메시지를 제 1 타입의 제 2 메시지로 변환하여 상기 복수의 로봇들에게 전송하기 위한 통합 매니지먼트 엔진을 포함하는 것을 특징으로 하는 로봇 원격 제어 시스템.a plurality of robots;
a control server remotely spaced from the plurality of robots and controlling the plurality of robots; and
Including an edge server for relaying communication between the plurality of robots and the control server,
The edge server,
The first message of the first type received from the plurality of robots is converted into a first message of the second type and transmitted to the control server, and the second message of the second type received from the control server is converted into a first message of the first type. A robot remote control system characterized in that it comprises an integrated management engine for converting the second message of and transmitting it to the plurality of robots.
제 1 타입은 ROS(Robot Operation System) 통신에 기반한 ROS 타입이고,
제 2 타입은 소켓 통신에 기반한 소켓 타입인 것을 특징으로 하는 로봇 원격 제어 시스템.According to claim 1,
The first type is a ROS type based on ROS (Robot Operation System) communication,
The second type is a robot remote control system, characterized in that the socket type based on socket communication.
상기 ROS 통신을 관장하는 ROS 통신 모듈;
상기 소켓 통신을 관장하는 소켓 통신 모듈;
상기 복수의 로봇들의 정보를 저장하는 데이터베이스; 및
상기 ROS 타입의 제 1 메시지를 상기 소켓 타입의 제 1 메시지로 변환하고, 상기 소켓 타입의 제 2 메시지를 상기 ROS 타입의 제 2 메시지로 변환하는 코어 모듈;을 포함하는 것을 특징으로 하는 로봇 원격 제어 시스템.The method of claim 2, wherein the integrated management engine,
a ROS communication module in charge of the ROS communication;
a socket communication module managing the socket communication;
a database for storing information of the plurality of robots; and
and a core module for converting the first message of the ROS type into the first message of the socket type and converting the second message of the socket type into the second message of the ROS type. system.
상기 소켓 타입의 제 2 메시지를 상기 ROS 타입의 제 2 메시지로 변환할 때, 제 2 메시지의 수신 대상 로봇의 식별자를 제 2 타입의 제 2 메시지에 포함시키는 것을 특징으로 하는 로봇 원격 제어 시스템.The method of claim 3, wherein the core module,
When converting the second message of the socket type into the second message of the ROS type, the robot remote control system, characterized in that, to include the identifier of the robot to receive the second message in the second message of the second type.
상기 복수의 로봇들 중에서 특정 로봇과 상기 에지 서버는 서로 다른 네트워크를 통해 접속되는 것을 특징으로 하는 로봇 원격 제어 시스템.According to claim 4,
A robot remote control system, characterized in that a specific robot and the edge server among the plurality of robots are connected through different networks.
상기 ROS 타입의 제 2 메시지를 상기 소켓 타입의 제 2 메시지로 변환하여 상기 특정 로봇으로 전송하기 위한 에지 브리지 엔진을 더욱 포함하는 것을 특징으로 하는 로봇 원격 제어 시스템.The method of claim 5, wherein the edge server,
The robot remote control system further comprising an edge bridge engine for converting the second message of the ROS type into a second message of the socket type and transmitting the second message to the specific robot.
상기 소켓 타입의 제 2 메시지를 상기 ROS 타입의 제 2 메시지로 변환하기 위한 로봇 브리지 엔진을 포함하는 것을 특징으로 하는 로봇 원격 제어 시스템.The method of claim 6, wherein the specific robot,
and a robot bridge engine for converting the second message of the socket type into the second message of the ROS type.
상기 특정 로봇 내에서 생성되는 상기 ROS 타입의 제 1 메시지를 상기 소켓 타입의 제 1 메시지로 변환하여 상기 로봇 브리지 엔진으로 전송하는 것을 특징으로 하는 로봇 원격 제어 시스템.The method of claim 7, wherein the robot bridge engine,
The robot remote control system, characterized in that for converting the first message of the ROS type generated in the specific robot into the first message of the socket type and transmitting it to the robot bridge engine.
상기 소켓 타입의 제 1 메시지를 상기 ROS 타입의 제 1 메시지로 변환하여 상기 통합 매니지먼트 엔진에 전송하는 것을 특징으로 하는 로봇 원격 제어 시스템. The method of claim 8, wherein the edge bridge engine,
The robot remote control system characterized in that the first message of the socket type is converted into the first message of the ROS type and transmitted to the integrated management engine.
상기 에지 서버가 제 1 타입의 제 1 메시지를 제 2 타입의 제 1 메시지로 변환하여 관제 서버로 전송하는 단계;
상기 에지 서버가 상기 관제 서버로부터 제 2 타입의 제 2 메시지를 수신하는 단계; 및
상기 에지 서버가 제 1 타입의 제 2 메시지로 변환하여 상기 복수의 로봇들에게 전송하는 단계;를 포함하는 것을 특징으로 하는 로봇 원격 제어 방법.Receiving, by an edge server, a first message of a first type from a plurality of robots;
converting, by the edge server, a first message of a first type into a first message of a second type and transmitting the converted message to a control server;
receiving, by the edge server, a second message of a second type from the control server; and
The robot remote control method comprising the; step of converting the second message of the first type into a second message of the edge server and transmitting the message to the plurality of robots.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210122710A KR20230039415A (en) | 2021-09-14 | 2021-09-14 | System for remotely controlling robot and method for controlling the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210122710A KR20230039415A (en) | 2021-09-14 | 2021-09-14 | System for remotely controlling robot and method for controlling the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20230039415A true KR20230039415A (en) | 2023-03-21 |
Family
ID=85800858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210122710A KR20230039415A (en) | 2021-09-14 | 2021-09-14 | System for remotely controlling robot and method for controlling the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20230039415A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102638951B1 (en) * | 2023-08-09 | 2024-02-21 | (주)모빌리티원 | Heterogeneous drone/robot Unified Remote-Control system and method |
-
2021
- 2021-09-14 KR KR1020210122710A patent/KR20230039415A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102638951B1 (en) * | 2023-08-09 | 2024-02-21 | (주)모빌리티원 | Heterogeneous drone/robot Unified Remote-Control system and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8380349B1 (en) | Methods and systems for providing instructions to a robotic device | |
US20040139110A1 (en) | Sensor network control and calibration system | |
EP2686993B1 (en) | Adapter device for coupling an industrial field instrument to an industrial wireless network and related system and method | |
US20180147721A1 (en) | Systems and methods for remote operating and/or monitoring of a robot | |
CN101970187A (en) | Methods for repurposing temporal-spatial information collected by service robots | |
KR20170131603A (en) | Cloud-based analysis of the use of robotic system components | |
US20210221001A1 (en) | Map-based framework for the integration of robots and smart devices | |
JP2019534516A (en) | How to operate an autonomous mobile robot | |
KR20230039415A (en) | System for remotely controlling robot and method for controlling the same | |
US20210232149A1 (en) | Systems and methods for persistent mapping of environmental parameters using a centralized cloud server and a robotic network | |
US20230004166A1 (en) | Systems and methods for route synchronization for robotic devices | |
CN113642243A (en) | Multi-robot deep reinforcement learning system, training method, device and medium | |
US20210266374A1 (en) | Caching sticker profiles within a sticker communication system | |
CN113642137A (en) | 5G network transmission access conversion protocol control system | |
US11886194B1 (en) | Robotic surface cleaning service | |
US20230054574A1 (en) | Building environmental sensor method and system for collecting data from same | |
US20230053901A1 (en) | Method and system for collecting sensor data in buildings | |
US11825342B2 (en) | Systems, apparatuses, and methods for reducing network bandwidth usage by robots | |
Gionfriddo | Design and implementation of internal and external communication systems for a fleet of autonomous robots | |
KR20230109333A (en) | Method and system for multiple robot scheduling | |
US20240004399A1 (en) | Method and system for remotely controlling robots, and building having traveling robots flexibly responding to obstacles | |
Jiménez et al. | Towards an open testbed for the cooperation of robots and wireless sensor networks | |
Lim | Smart sensor networks | |
WO2020213545A1 (en) | Robot, transmission method, and transmission estimation method | |
Olave | Towards Cloud Native Context Aware Autonomous Robotics for IoT Applications |