KR20230015144A - Different typed robot system having edge server and cloud server and control method thereof - Google Patents

Different typed robot system having edge server and cloud server and control method thereof Download PDF

Info

Publication number
KR20230015144A
KR20230015144A KR1020210096536A KR20210096536A KR20230015144A KR 20230015144 A KR20230015144 A KR 20230015144A KR 1020210096536 A KR1020210096536 A KR 1020210096536A KR 20210096536 A KR20210096536 A KR 20210096536A KR 20230015144 A KR20230015144 A KR 20230015144A
Authority
KR
South Korea
Prior art keywords
model
cloud
edge server
server
control
Prior art date
Application number
KR1020210096536A
Other languages
Korean (ko)
Inventor
구세완
김영재
백승민
양현석
강성규
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020210096536A priority Critical patent/KR20230015144A/en
Priority to PCT/KR2022/009756 priority patent/WO2023003226A1/en
Publication of KR20230015144A publication Critical patent/KR20230015144A/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • G05D1/0285Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using signals transmitted via a public communication network, e.g. GSM network
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Remote Sensing (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Manipulator (AREA)

Abstract

The present invention relates to a cloud-based robot control method for controlling a plurality of robots which are positioned in a plurality of spaces divided arbitrarily. The method comprises the steps of: generating a control base model which can be applied to the plurality of robots in a cloud server; distributing the control base model to edge servers allocated to respective spaces; upgrading the control base model in accordance with the plurality of robots of the spaces, in the edge server; directly transmitting the upgraded control model from the edge server to another edge server; and controlling the plurality of robots by means of the upgraded control model in the edge server. Therefore, by sharing a deep-learning model among edge servers, supporting heterogeneous robots and heterogeneous services is possible. Moreover, a base deep-learning model from the cloud server is tuned into a customized deep-learning model to be suitable for respective robots in the edge server, and the deep-learning model is upgraded to an adaptive deep-learning model to be suitable for a service provided by respective robots. Therefore, an optimized service can be provided.

Description

에지 서버 및 클라우드 서버를 포함하는 이종 로봇 시스템 및 그의 제어 방법{Different typed robot system having edge server and cloud server and control method thereof }Different typed robot system having edge server and cloud server and control method thereof

본 발명은 이종의 로봇을 제어하는 복수의 에지 서버와 송수신을 수행하는 클라우드 서버를 포함하는 로봇 시스템을 제공한다. 구체적으로, 본 발명은 베이스 모델을 제공하는 클라우드 서버를 활용하는 이종 로봇 시스템의 제어 방법에 관한 것이다.The present invention provides a robot system including a plurality of edge servers that control heterogeneous robots and a cloud server that performs transmission and reception. Specifically, the present invention relates to a method for controlling a heterogeneous robot system using a cloud server providing a base model.

로봇은 산업용으로 개발되어 공장 자동화의 일 부분을 담당하여 왔다. 최근에는 로봇을 응용한 분야가 더욱 확대되어, 의료용 로봇, 우주 항공 로봇 등이 개발되고, 일반 가정에서 사용할 수 있는 가정용 로봇도 만들어지고 있다. 이러한 로봇 중에서 자력으로 주행이 가능한 것을 인공지능 로봇이라고 한다. 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. Among these robots, those that can drive on their own are called artificial intelligence robots.

로봇 이용의 증가에 따라, 단순 기능의 반복 수행을 넘어서 다양한 정보, 재미, 서비스를 제공할 수 있는 로봇에 대한 요구가 많아지고 있다.With the increase in the use of robots, there is an increasing demand for robots that can provide various information, fun, and services beyond the repetitive performance of simple functions.

이에 따라, 가정, 식당, 매장, 공공 장소 등에 배치되어 사람에게 편의를 제공하는 다양한 로봇이 개발되고 있다.Accordingly, various robots are being developed that provide convenience to people by being placed in homes, restaurants, shops, public places, and the like.

또한, 규정되어 있는 하나의 공간에 서로 다른 종류의 로봇이 배치되어 각각의 직무를 수행하는 이종 로봇 시스템이 개발되고 있다.In addition, heterogeneous robot systems are being developed in which different types of robots are arranged in a defined space to perform respective tasks.

이와 같은 이종 로봇 시스템은 정보통신기술(ICT, Information and Communication Technologies)과 기존의 서비스업의 융합으로 정의될 수 있다.Such a heterogeneous robot system can be defined as the convergence of Information and Communication Technologies (ICT) and the existing service industry.

예를 들어, 이종 로봇 시스템은 사물인터넷(Internet of Things), 빅데이터(Big data), 클라우드 컴퓨팅(Cloud computing) 및 CPS(Cyber-Physical System) 등의 기술을 기반으로 해당 공간의 다양한 이벤트에 대하여 처리 및 소통의 체계로 정의된다.For example, the heterogeneous robot system is based on technologies such as Internet of Things, Big data, Cloud computing, and CPS (Cyber-Physical System) for various events in the space. It is defined as a system of processing and communication.

클라우드 컴퓨팅은 인터넷 기술을 활용하여 가상화된 정보통신기술 자원을 서비스로 제공한다. Cloud computing utilizes Internet technology to provide virtualized ICT resources as a service.

사용자는 클라우드 컴퓨팅을 통해 정보통신기술의 자원(예를 들어, 서버, 스토리지, 네트워크 및 소프트웨어 등)을 필요에 따라 사용할 수 있다.Users can use information and communication technology resources (eg, servers, storage, networks, and software) as needed through cloud computing.

또한, 사용자는 클라우드 컴퓨팅을 통해 제공되는 서비스의 부하에 따라 실시간으로 서비스 확장성을 지원받을 수 있고, 서비스의 제공에 대하여 비용을 지불한다. In addition, the user can receive service scalability in real time according to the load of the service provided through cloud computing, and pays for the provision of the service.

클라우드 컴퓨팅을 통해 클라우드 서버가 수많은 이종 로봇에 대한 제어를 수행하는 경우, 제어 또는 통신의 편의를 위해 각 공간에 대하여 에지 서버를 더 포함할 수 있다.When a cloud server controls numerous heterogeneous robots through cloud computing, an edge server may be further included for each space for control or communication convenience.

이와 같이 복수의 로봇을 근거리에서 제어하는 에지 서버 및 복수의 에지 서버와 송수신하는 클라우드 서버를 포함하는 로봇 시스템이 개발되어 왔다.As such, a robot system including an edge server that controls a plurality of robots at a short distance and a cloud server that transmits and receives data to and from the plurality of edge servers has been developed.

이러한 로봇 시스템은 클라우드 서버 및 에지 서버 사이에 매우 많은 데이터 트래픽이 발생한다.This robot system generates a lot of data traffic between the cloud server and the edge server.

미국 공개특허 2020-0050951 호의 경우, 에지 노드 중 하나가 머신 러닝 모델의 스펙을 생성하고, 그 스펙을 복수의 에지 노드에 배포하는 것이 개시되어 있다.US Patent Publication No. 2020-0050951 discloses that one of the edge nodes generates a specification of a machine learning model and distributes the specification to a plurality of edge nodes.

즉, 복수의 에지 노드들 사이에 파라미터 교환을 통해 서로 머신 러닝을 수행하여 모델을 갱신한다.That is, a model is updated by performing machine learning with each other through parameter exchange between a plurality of edge nodes.

그러나, 이와 같이 에지 노드와 에지 노드 사이에 파라미터를 교환하는 경우, 이종 로봇 또는 이종 서비스 사이의 지원이 어려운 단점이 있다.However, when parameters are exchanged between edge nodes, it is difficult to support heterogeneous robots or heterogeneous services.

또한, 미국 공개특허 2020-0079898 호의 경우, 에지 서버가 머신 러닝 모델을 통한 추론을 통해 특정 행동을 수행하고, 특정 행동의 정확도 여부를 평가하며, 특정 행동이 부정확한 경우, 에지 서버가 특정 행동에 관한 데이터를 수집하여 클라우드 서버로 전송하고, 클라우드 서버에서 수집된 데이터를 이용하여 새로운 머신 러닝 모델을 학습하는 것이 개시되어 있다.In addition, in the case of US Patent Publication No. 2020-0079898, the edge server performs a specific action through reasoning through a machine learning model, evaluates whether the specific action is accurate, and if the specific action is incorrect, the edge server responds to the specific action It is disclosed to collect and transmit related data to a cloud server, and to learn a new machine learning model using the data collected in the cloud server.

그러나, 이와 같은 경우, 에지 서버와 클라우드 서버 사이에 대용량의 데이터를 송수신하여야 하므로 많은 시간 및 비용이 발생하게 되며, 새로운 머신 러닝 모델을 학습하여야 하므로 에지 서버에서 매우 비효율적이다.However, in this case, since a large amount of data must be transmitted and received between the edge server and the cloud server, a lot of time and cost are incurred, and a new machine learning model must be learned, which is very inefficient in the edge server.

한편, 한국 공개특허 2020-0063340호에서는 에지 서버가 실시간을 요하는 데이터를 처리하고, 중앙 처리 서버는 고도화된 기계학습 및 대용량 데이터를 처리하는 것이 개시되어 있다. 이때, 중앙 처리 서버는 학습이 요구되는 특정 제품과 유사한 제품의 딥러닝 뉴럴 네트워크로 범용 딥러닝 뉴럴 네트워크를 변환하고, 변환된 딥러닝 뉴럴 네트워크를 특정 제품의 학습 데이터 세트로 재학습하는 것이 개시된다.Meanwhile, Korean Patent Publication No. 2020-0063340 discloses that an edge server processes data requiring real-time, and a central processing server processes advanced machine learning and large-capacity data. At this time, the central processing server starts converting the general-purpose deep learning neural network into a deep learning neural network of a product similar to the specific product to be learned, and relearning the converted deep learning neural network as a training data set of the specific product. .

그러나, 이와 같은 경우, 재학습에 굉장히 많은 시간과 프로세싱이 요구되는 단점이 있다.However, in this case, there is a disadvantage in that a lot of time and processing are required for re-learning.

미국 공개특허 2020-0050951 호, 공개일자 2020년 02월 13일US Patent Publication No. 2020-0050951, published on February 13, 2020 미국 공개특허 2020-0079898 호, 공개일자 2019년 03월 14일US Patent Publication No. 2020-0079898, published on March 14, 2019 한국 공개특허 2020-0063340 호, 공개일자 2020년 06월 05일Korean Patent Publication No. 2020-0063340, published on June 05, 2020

본 발명의 제1 과제는 이종 로봇의 제어를 위한 딥러닝 모델을 에지 서버 사이에서 공유하여 효율적인 지능 증강을 위한 서비스를 제공하는 것이다.A first object of the present invention is to provide a service for efficient intelligence augmentation by sharing a deep learning model for controlling heterogeneous robots between edge servers.

이를 위하여, 본 발명의 제2 과제는 베이스 딥러닝 모델을 각각의 로봇에 적합하도록 맞춤형 딥러닝 모델로 튜닝하고, 각각의 로봇이 제공하는 서비스에 적합하도록 적응형 딥러닝 모델로 업그레이드하여 사용하는 에지 서버를 활용한 제어 방법을 제공하는 것이다.To this end, the second task of the present invention is to tune the base deep learning model to a custom deep learning model suitable for each robot, and upgrade to an adaptive deep learning model suitable for the service provided by each robot. It is to provide a control method using a server.

또한, 본 발명의 제3 과제는 에지 서버 사이에서, 지능 증강을 위해 필요한 딥러닝 모델을 선별하고, 직접 공유하며, 에지 서버에서 기존 딥러닝 모델을 공유받은 딥러닝 모델로 교체하여 확장함으로써, 클라우드 서버를 통과하는 처리 데이터를 최소화할 수 있는 제어 방법을 제공하는 것이다.In addition, the third task of the present invention is to select a deep learning model necessary for intelligence augmentation between edge servers, share it directly, and replace and expand the existing deep learning model with the shared deep learning model in the edge server, It is to provide a control method capable of minimizing the processing data passing through the server.

본 발명은 임의적으로 분할되어 있는 복수의 공간에 배치되어 있는 복수의 로봇; 상기 복수의 로봇에 적용 가능한 제어 베이스 모델을 생성하고, 배포하는 클라우드 서버; 및 각각의 공간에 할당되며, 상기 클라우드 서버와 송수신하며, 상기 제어 베이스 모델을 수신하고 상기 공간의 복수의 로봇에 따라 업그레이드하여 업그레이드된 제어 모델로 상기 복수의 로봇을 제어하는 복수의 에지 서버를 포함하며, 상기 에지 서버는 업그레이드된 제어 모델은 다른 에지 서버에 직접 전송되는 것을 특징으로 하는 클라우드 기반 로봇 시스템을 제공한다.The present invention includes a plurality of robots disposed in a plurality of spaces that are arbitrarily divided; a cloud server generating and distributing a control base model applicable to the plurality of robots; And a plurality of edge servers allocated to each space, transmitting and receiving data to and from the cloud server, receiving the control base model, upgrading the plurality of robots in the space, and controlling the plurality of robots with the upgraded control model. And, the edge server provides a cloud-based robot system, characterized in that the upgraded control model is directly transmitted to other edge servers.

상기 복수의 로봇은 서로 다른 종류의 로봇을 포함할 수 있다.The plurality of robots may include different types of robots.

상기 제어 베이스 모델은 다른 종류의 상기 로봇의 복수의 기능에 대한 각각의 제어 모델이 패키징될 수 있다.As the control base model, each control model for a plurality of functions of the robot of a different type may be packaged.

상기 에지 서버는 상기 제어 베이스 모델을 수신하고, 상기 에지 서버에 의해 관제되는 로봇의 종류에 따라 상기 제어 베이스 모델을 튜닝하여 실행할 수 있다.The edge server may receive the control base model, tune and execute the control base model according to the type of robot controlled by the edge server.

상기 에지 서버는 튜닝된 상기 제어 베이스 모델에 대한 딥러닝 에러 학습을 수행하여 업그레이드된 제어 모델을 생성할 수 있다.The edge server may generate an upgraded control model by performing deep learning error learning on the tuned control base model.

상기 클라우드 서버는 상기 업그레이드된 제어 모델에 대한 정보를 수득하고, 상기 업그레이드된 제어 모델이 적용되는 다른 에지 서버를 선별하여 상기 에지 서버 사이에 직접 상기 업그레이드된 제어 모델의 전송할 수 있다.The cloud server may obtain information about the upgraded control model, select another edge server to which the upgraded control model is applied, and transmit the upgraded control model directly between the edge servers.

상기 클라우드 서버는 상기 업그레이드한 제어 모델이 적용되는 로봇이 포함되어 있는 상기 에지 서버를 선별하여 상기 업그레이드된 제어 모델을 전송할 수 있다.The cloud server may transmit the upgraded control model by selecting the edge server including the robot to which the upgraded control model is applied.

상기 에지 서버는 제어 베이스 모델을 실행하면서 임계값을 초과하는 에러 값이 소정 수효 이상인 때, 상기 딥러닝 에러 학습을 수행하여 상기 업그레이드된 제어 모델을 생성할 수 있다.The edge server may generate the upgraded control model by performing the deep learning error learning when an error value exceeding a threshold value is equal to or greater than a predetermined number while executing the control base model.

상기 클라우드 서버는 복수의 상기 에지 서버를 분류하여 복수의 그룹으로 관리할 수 있다.The cloud server may classify the plurality of edge servers and manage them into a plurality of groups.

하나의 그룹은 소정의 거리 또는 소정의 응답 시간 내에 위치할 수 있다.One group can be located within a predetermined distance or within a predetermined response time.

한편, 본 발명의 다른 실시예는, 임의적으로 분할되어 있는 복수의 공간에 배치되어 있는 복수의 로봇을 제어하는 클라우드 기반 로봇 제어 방법에 있어서, 클라우드 서버에서 상기 복수의 로봇에 적용 가능한 제어 베이스 모델을 생성하는 단계; 각각의 공간에 할당되어 있는 에지 서버로 상기 제어 베이스 모델이 배포되는 단계; 상기 에지 서버에서 상기 공간의 복수의 로봇에 따라 상기 제어 베이스 모델을 업그레이드하는 단계; 상기 에지 서버에서 상기 업그레이드된 제어 모델을 다른 에지 서버에 직접 전송하는 단계; 및 상기 에지 서버에서 상기 업그레이드된 제어 모델로 상기 복수의 로봇을 제어하는 단계를 포함한다.On the other hand, another embodiment of the present invention, in the cloud-based robot control method for controlling a plurality of robots disposed in a plurality of spaces that are arbitrarily divided, a control base model applicable to the plurality of robots in the cloud server generating; distributing the control base model to an edge server allocated to each space; upgrading the control base model according to the plurality of robots in the space at the edge server; directly transmitting the upgraded control model from the edge server to another edge server; and controlling the plurality of robots with the upgraded control model in the edge server.

상기 복수의 로봇은 서로 다른 종류의 로봇을 포함할 수 있다.The plurality of robots may include different types of robots.

상기 제어 베이스 모델 생성 단계는, 다른 종류의 상기 로봇의 복수의 기능에 대한 각각의 제어 모델을 생성하여 패키징할 수 있다.In the control base model generating step, each control model for a plurality of functions of the robot of a different type may be generated and packaged.

상기 에지 서버에서 상기 제어 베이스 모델을 수신하고, 상기 에지 서버에 의해 관제되는 로봇의 종류에 따라 상기 제어 베이스 모델을 튜닝하는 단계를 더 포함할 수 있다. The method may further include receiving the control base model from the edge server and tuning the control base model according to a type of robot controlled by the edge server.

상기 업그레이드하는 단계는, 튜닝된 상기 제어 베이스 모델에 대한 딥러닝 에러 학습을 수행하여 업그레이드된 제어 모델을 생성할 수 있다.In the upgrading, an upgraded control model may be generated by performing deep learning error learning on the tuned control base model.

상기 클라우드 서버에서 상기 업그레이드된 제어 모델에 대한 정보를 수득하는 단계, 상기 업그레이드된 제어 모델이 적용되는 다른 에지 서버를 선별하는 단계, 업그레이드한 에지 서버로 선별된 다른 에지 서버의 정보를 전송하는 단계, 그리고 상기 업그레이드한 에지 서버로부터 상기 선별된 다른 에지 서버로 직접 상기 업그레이드된 제어 모델을 전송하는 단계를 포함할 수 있다.Obtaining information on the upgraded control model from the cloud server, selecting another edge server to which the upgraded control model is applied, transmitting information of the selected other edge server to the upgraded edge server, and directly transmitting the upgraded control model from the upgraded edge server to the selected other edge server.

상기 다른 에지 서버를 선별하는 단계는, 상기 클라우드 서버는 상기 업그레이드한 제어 모델이 적용되는 로봇이 포함되어 있는 에지 서버를 선별할 수 있다.In the step of selecting another edge server, the cloud server may select an edge server including a robot to which the upgraded control model is applied.

상기 업그레이드 단계는, 상기 에지 서버에서 제어 베이스 모델을 실행하면서 임계값을 초과하는 에러 값이 소정 수효 이상인 때, 상기 딥러닝 에러 학습을 수행하여 상기 업그레이드된 제어 모델을 생성할 수 있다.In the upgrading step, the upgraded control model may be generated by performing the deep learning error learning when an error value exceeding a threshold value is equal to or greater than a predetermined number while executing the control base model in the edge server.

상기 클라우드 서버에서 복수의 상기 에지 서버를 분류하여 그룹핑하는 단계를 더 포함할 수 있다.The method may further include classifying and grouping a plurality of edge servers in the cloud server.

하나의 그룹은 소정의 거리 또는 소정의 응답 시간 내에 위치할 수 있다.One group can be located within a predetermined distance or within a predetermined response time.

상기 해결 수단을 통해, 본 발명은 에지 서버간 딥러닝 모델을 공유함으로써 이종 로봇 및 이종 서비스의 지원이 가능해진다.Through the above solution, the present invention makes it possible to support heterogeneous robots and heterogeneous services by sharing deep learning models between edge servers.

또한, 클라우드 서버로부터의 베이스 딥러닝 모델을 에지 서버에서 각각의 로봇에 적합하도록 맞춤형 딥러닝 모델로 튜닝하고, 각각의 로봇이 제공하는 서비스에 적합하도록 적응형 딥러닝 모델로 업그레이드하여 최적화된 서비스의 제공이 가능하다.In addition, the base deep learning model from the cloud server is tuned to a custom deep learning model suitable for each robot on the edge server, and upgraded to an adaptive deep learning model suitable for the service provided by each robot, thereby providing optimized services. it is possible to provide

에지 서버 사이에서, 지능 증강을 위해 필요한 딥러닝 모델을 선별하고, 직접 공유하며, 에지 서버에서 기존 딥러닝 모델을 공유받은 딥러닝 모델로 교체하여 확장함으로써, 클라우드 서버를 통과하는 처리 데이터를 최소화할 수 있다.Between the edge servers, the deep learning model required for intelligence augmentation is selected and directly shared, and the existing deep learning model in the edge server is replaced and expanded with the shared deep learning model, thereby minimizing the processing data passing through the cloud server. can

또한, 클라우스 서버로부터의 하나의 베이스 모델을 기초로 공유받은 다른 에지 서버의 딥러닝 모델로 기존 딥러닝 모델을 업데이트하여 학습함으로써 효율적인 지식 증식이 가능하다. In addition, it is possible to efficiently increase knowledge by learning by updating an existing deep learning model with a shared deep learning model of another edge server based on one base model from the cloud server.

도 1은 본 발명의 일 실시예에 따른 클라우드 및 에지 기반의 환경을 설명하기 위한 개략도이다.
도 2는 본 발명의 클라우드 서버의 존 분류를 나타내는 개념도이다.
도 3은 본 발명의 하나의 에지 서버를 기준으로 이종 로봇 시스템을 설명하기 위한 상세도이다.
도 4는 도 3의 클라우드 서버 또는 에지 서버의 일 적용예에 따른 구성도이다.
도 5는 본 발명의 일 실시예에 따른 클라우드 및 에지 서버의 모델링을 도식화한 개념도이다.
도 6은 본 발명의 로봇 클라우드 시스템의 전체 순서도이다.
도 7은 하나의 에지 서버가 도 6의 시스템에 진입하는 방법을 나타내는 상세 순서도이다.
도 8은 도 6의 하나의 에지 서버가 베이스 모델을 업그레이드하는 것을 나타내는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 다른 에지 서버의 업그레이드 모델 공유 방법을 나타내는 순서도이다.
1 is a schematic diagram illustrating a cloud and edge-based environment according to an embodiment of the present invention.
2 is a conceptual diagram illustrating zone classification of a cloud server according to the present invention.
3 is a detailed view for explaining a heterogeneous robot system based on one edge server of the present invention.
4 is a configuration diagram according to an application example of the cloud server or edge server of FIG. 3 .
5 is a conceptual diagram illustrating modeling of a cloud and an edge server according to an embodiment of the present invention.
6 is an overall flowchart of the robot cloud system of the present invention.
FIG. 7 is a detailed flow chart illustrating how one edge server enters the system of FIG. 6 .
8 is a flowchart illustrating that one edge server of FIG. 6 upgrades a base model.
9 is a flowchart illustrating a method for sharing an upgrade model of another edge server according to an embodiment of the present invention.

이하에서 언급되는 “전(F)/후(R)/좌(Le)/우(Ri)/상(U)/하(D)” 등의 방향을 지칭하는 표현은 도면에 표시된 바에 따라 정의하나, 이는 어디까지나 본 발명이 명확하게 이해될 수 있도록 설명하기 위한 것이며, 기준을 어디에 두느냐에 따라 각 방향들을 다르게 정의할 수도 있음은 물론이다. Expressions referring to directions such as “front (F) / back (R) / left (Le) / right (Ri) / up (U) / down (D)” mentioned below are defined as shown in the drawings, , This is only for explaining the present invention so that it can be clearly understood, and each direction may be defined differently depending on where the reference is placed, of course.

이하에서 언급되는 구성요소 앞에 ‘제1, 제2' 등의 표현이 붙는 용어 사용은, 지칭하는 구성요소의 혼동을 피하기 위한 것일 뿐, 구성요소 들 사이의 순서, 중요도 또는 주종관계 등과는 무관하다. 예를 들면, 제1 구성요소 없이 제2 구성요소 만을 포함하는 발명도 구현 가능하다. The use of terms with expressions such as 'first, second' in front of the components mentioned below is only to avoid confusion between the components referred to, and has nothing to do with the order, importance, or master-servant relationship between the components. . For example, an invention including only the second component without the first component may be implemented.

도면에서 각 구성의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장되거나 생략되거나 또는 개략적으로 도시되었다. 또한 각 구성요소의 크기와 면적은 실제크기나 면적을 전적으로 반영하는 것은 아니다. In the drawings, the thickness or size of each component is exaggerated, omitted, or schematically illustrated for convenience and clarity of explanation. Also, the size and area of each component do not entirely reflect the actual size or area.

또한, 본 발명의 구조를 설명하는 과정에서 언급하는 각도와 방향은 도면에 기재된 것을 기준으로 한다. 명세서에서 구조에 대한 설명에서, 각도에 대한 기준점과 위치관계를 명확히 언급하지 않은 경우, 관련 도면을 참조하도록 한다. In addition, angles and directions mentioned in the process of describing the structure of the present invention are based on those described in the drawings. In the description of the structure in the specification, when reference points and positional relationships for angles are not clearly mentioned, reference is made to related drawings.

도 1은 본 발명의 일 실시예에 따른 클라우드 및 에지 기반의 환경을 설명하기 위한 개략도이고, 도 2는 본 발명의 클라우드 서버의 존 분류를 나타내는 개념도이며, 도 3은 본 발명의 하나의 에지 서버를 기준으로 이종 로봇 시스템을 설명하기 위한 상세도이다.1 is a schematic diagram for explaining a cloud and edge-based environment according to an embodiment of the present invention, FIG. 2 is a conceptual diagram showing zone classification of a cloud server of the present invention, and FIG. 3 is an edge server of the present invention It is a detailed diagram for explaining the heterogeneous robot system based on .

도 1을 참고하면, 본 발명의 일 실시예에 따른 클라우드 기반 로봇 시스템은 클라우드 서버(10), 복수의 에지 서버(20) 및 복수의 로봇(30)을 포함할 수 있다.Referring to FIG. 1 , a cloud-based robot system according to an embodiment of the present invention may include a cloud server 10, a plurality of edge servers 20, and a plurality of robots 30.

클라우드 기반 로봇(30) 시스템은 서로 이격되어 있는 다양한 공간에 분산되어 있는 복수의 로봇(30)을 통합적으로 관리하고 제어한다.The cloud-based robot 30 system integrally manages and controls a plurality of robots 30 distributed in various spaces spaced apart from each other.

이때, 각 공간은 기능적 또는 지리적으로 분리되어 있으며, 각 공간 내에 배치되어 있는 복수의 로봇(30)을 제어하기 위한 각각의 에지 서버(20)가 설정되어 있다.At this time, each space is functionally or geographically separated, and each edge server 20 for controlling a plurality of robots 30 disposed in each space is set.

각 공간 내에는 동종의 로봇(30)이 배치되어 있을 수 있으나, 이와 달리 서로 다른 종류의 로봇(30)이 배치되어 있을 수 있다.The robots 30 of the same type may be disposed in each space, but unlike this, different types of robots 30 may be disposed.

일 예로, 공간 1(A1)에는 에지 서버 1(21)이 설정되어 있으며, 1개의 주문 로봇 1(313) 및 2개의 안내 로봇(311, 312)이 배치되어 있을 수 있다. 한편, 공간 2에는 에지 서버 2(22)가 설정되어 있을 수 있으며, 2개의 배송 로봇(321, 323), 1개의 안내 로봇(322)이 배치될 수 있다. 한편, 공간 3에는 에지 서버 n(23)이 설정되어 있을 수 있으며, 엔터테이닝 로봇(331)과 안내로봇(332)이 배치되어 있을 수 있다.For example, an edge server 1 (21) is set in space 1 (A1), and one ordering robot 1 (313) and two guide robots 311 and 312 may be disposed. Meanwhile, the edge server 2 22 may be set in space 2, and two delivery robots 321 and 323 and one guide robot 322 may be disposed. Meanwhile, in space 3, an edge server n 23 may be set, and an entertaining robot 331 and a guide robot 332 may be disposed.

각 공간에 배치되어 있는 이종 또는 동종의 로봇(30)은 해당 공간에 설정되어 있는 에지 서버(20)와 송수신하며, 가정 또는 사업장 등에서 사용자와 인터랙션(interaction)하여 할당된 서비스를 제공할 수 있다.The heterogeneous or homogeneous robots 30 disposed in each space transmit/receive with the edge server 20 set in the corresponding space, and interact with users at home or business sites to provide assigned services.

바람직하게는, 본 발명의 일 실시예에 따른 클라우드 로봇 시스템은, 각 공간에 복수의 이종 로봇(30) 및 각각의 에지 서버(20)가 설정되고 각각의 에지 서버(20)와 송수신하며 통합 관리를 제공하는 클라우드 서버(10)를 포함한다.Preferably, in the cloud robot system according to an embodiment of the present invention, a plurality of heterogeneous robots 30 and each edge server 20 are set in each space, transmit and receive data with each edge server 20, and manage the integrated It includes a cloud server 10 that provides.

에지 서버(20)는 원격에서 복수의 로봇(30)의 상태를 모니터링하고, 제어할 수 있어 클라우드 로봇 시스템은 복수의 로봇(30)을 이용하여 더 효과적인 서비스 제공이 가능하다.The edge server 20 can monitor and control the status of the plurality of robots 30 remotely, so that the cloud robot system can provide more effective services using the plurality of robots 30 .

복수의 이종 로봇(30), 에지 서버(20) 및 클라우드 서버(10)는 하나 이상의 통신 규격을 지원하는 통신 수단(미도시)을 구비하여, 상호 통신할 수 있다. The plurality of heterogeneous robots 30, the edge server 20, and the cloud server 10 are equipped with communication means (not shown) supporting one or more communication standards, and can communicate with each other.

예를 들어, 복수의 이종 로봇(30), 에지 서버(20) 및 클라우드 서버(10)는 IEEE 802.11 WLAN, IEEE 802.15 WPAN, UWB, Wi-Fi, Zigbee, Z-wave, Blue-Tooth 등과 같은 무선 통신 기술로 무선 통신하게 구현될 수 있다. 로봇(30)은 통신하고자 하는 다른 장치 또는 서버(2)의 통신 방식이 무엇인지에 따라 달라질 수 있다. For example, the plurality of heterogeneous robots 30, the edge server 20, and the cloud server 10 are wireless devices such as IEEE 802.11 WLAN, IEEE 802.15 WPAN, UWB, Wi-Fi, Zigbee, Z-wave, and Blue-Tooth. It may be implemented in wireless communication as a communication technology. The robot 30 may vary depending on the communication method of the server 2 or another device to communicate with.

특히, 복수의 로봇(30)은 5G 네트워크를 통해 다른 로봇(30) 및/또는 에지 서버(20) 및 클라우드 서버(10)와 무선통신을 구현할 수 있다. 로봇(30)이 5G 네트워크를 통해 무선 통신하는 경우, 초저지연/초대용량 데이터 전송 네트워크를 수행할 수 있다. In particular, the plurality of robots 30 may implement wireless communication with other robots 30 and/or the edge server 20 and the cloud server 10 through a 5G network. When the robot 30 wirelessly communicates through a 5G network, an ultra-low latency/ultra-high-capacity data transmission network can be performed.

보다 상세히, 5G 네트워크는 무선 구간에서 수십 Gbps의 전송속도를 제공하는 통신기술로서, 초저지연/초대용량/초실감 데이터를 서비스별 품질 요구사항에 대응하여 다수의 모듈에서 Gbps 이상의 속도와 msec단위의 초저지연 데이터 전송이 가능한 기술이다. 이러한 5G 네트워크는 고속의 유선망과 대등한 망품질을 제공하면서도 무선이라는 장점을 동시에 제공할 수 있다. In more detail, the 5G network is a communication technology that provides a transmission speed of several tens of Gbps in a wireless section. It is a technology capable of ultra-low-latency data transmission. Such a 5G network can provide network quality equivalent to that of a high-speed wired network while simultaneously providing the advantage of being wireless.

이러한 5G 네트워크는 클라우드 머신러닝/딥러닝 기반의 로봇 시스템에서 로봇(30)과 에지 서버(20) 사이, 에지 서버(20)와 클라우드 서버(10) 사이에서 이종 로봇(30) 각각에 최적화된 각종 서비스를 제공하도록 제어할 수 있다.This 5G network is a cloud machine learning / deep learning-based robot system between the robot 30 and the edge server 20, between the edge server 20 and the cloud server 10, and various types of robots optimized for each of the heterogeneous robots 30. control to provide services.

또한, 복수의 로봇(30) 및 에지 서버(20)는 MQTT(Message Queueing Telemetry Transport) 방식으로 통신할 수 있고, HTTP(HyperText Transfer Protocol) 방식으로 통신할 수 있으나, 이에 한정되는 것은 아니다. In addition, the plurality of robots 30 and the edge server 20 may communicate in a message queuing telemetry transport (MQTT) method or in a hypertext transfer protocol (HTTP) method, but are not limited thereto.

경우에 따라서, 복수의 로봇(30) 및 에지 서버(20), 클라우드 서버(10) 사이는 2이상의 통신 규격을 지원하고, 통신 데이터의 종류, 통신에 참여하는 기기의 종류에 따라 최적의 통신 규격을 사용할 수 있다.Depending on the case, two or more communication standards are supported between the plurality of robots 30, the edge server 20, and the cloud server 10, and the optimal communication standard according to the type of communication data and the type of device participating in communication can be used.

사용자는 에지 서버(20)와 송수신하면서 로봇(30) 시스템 내의 로봇(30)들에 관한 정보를 확인할 수 있다.The user can check information about the robots 30 in the robot 30 system while transmitting and receiving with the edge server 20 .

본 명세서에서 '사용자'는 복수의 로봇(30)을 통한 서비스를 이용하는 사람으로, 로봇(30)들을 구매 또는 대여하여 사업장 등에서 사용하는 개인 고객 및 로봇(30)을 이용하여 직원 또는 고객에게 서비스를 제공하는 기업의 관리자, 직원들과 이러한 기업이 제공하는 서비스를 이용하는 고객들을 포함할 수 있다. 따라서, '사용자'는 개인 고객(Business to Consumer: B2C)과 기업 고객(Business to Business : B2B)을 포함할 수 있다.In this specification, a 'user' is a person who uses a service through a plurality of robots 30, an individual customer who purchases or rents robots 30 and uses them in a workplace, and provides services to employees or customers using robots 30. This may include managers, employees of the companies providing them, and customers who use the services provided by these companies. Accordingly, 'users' may include individual customers (Business to Consumer: B2C) and corporate customers (Business to Business: B2B).

클라우드 서버(10)는 물리적으로 분산되어 있는 복수의 로봇(30)을 제어하기 위한 모델을 설계/생성하고, 해당 모델을 각각의 공간에 설정되어 있는 에지 서버(20)에 분포한다.The cloud server 10 designs/creates a model for controlling a plurality of physically distributed robots 30 and distributes the model to the edge servers 20 set in each space.

구체적으로, 상기 클라우드 서버(10)는 클라우드(10)에서 모델 또는 엔진을 생성한다. 이종 로봇 시스템의 환경 상, 이종 로봇(30)에 적용되는 범용 모델 또는 범용 엔진은 베이스 모델로서, 특정 상황에 대하여 구체화되어 있는 모델로 설계되지 않는다.Specifically, the cloud server 10 creates a model or engine in the cloud 10 . In the environment of the heterogeneous robot system, the general-purpose model or general-purpose engine applied to the heterogeneous robot 30 is a base model, and is not designed as a specific model for a specific situation.

클라우드 서버(10)는 복수의 이종 로봇(30)에 대하여, 기능적 또는 구조적으로 구분되어지는 복수의 모델 또는 엔진을 각각 형성하여 패키지화할 수 있으며, 에지 서버(20)에서 구현이 어려운 복잡한 머신 러닝/딥러닝을 수행할 수 있다. The cloud server 10 can form and package a plurality of models or engines that are functionally or structurally distinguished for a plurality of heterogeneous robots 30, respectively, and complex machine learning / deep learning can be performed.

기계학습(즉, 머신 러닝)이란, 인공지능의 한 분야로서, 컴퓨터가 스스로 학습할 수 있도록 하는 알고리즘과 기술을 기반으로 수많은 데이터를 일반화하고 분류해 평가할 수 있는 모델을 생성하는 기술을 말한다.Machine learning (i.e., machine learning) is a field of artificial intelligence, and refers to a technology that generates a model that can generalize, classify, and evaluate numerous data based on algorithms and techniques that allow computers to learn on their own.

이와 같은 베이스 모델을 생성하고, 복수의 에지 서버(20)에 배포함으로써 물리적으로 이격되어 있는 복수의 이종 로봇(30)에 대한 제어를 수행할 수 있다.By generating such a base model and distributing it to a plurality of edge servers 20, it is possible to control a plurality of heterogeneous robots 30 that are physically separated.

또한, 클라우드 서버(10)는 복수의 에지 서버(20)를 존(zone) 별로 구분하여 그룹핑할 수 있으며, 이와 같이 그룹핑되어 있는 에지 서버(20)에 대하여 그룹별로 관리 가능하다.In addition, the cloud server 10 may classify and group a plurality of edge servers 20 by zone, and manage the grouped edge servers 20 by group.

이때, 그룹핑되는 존은 클라우드 서버(10)로부터 에지 서버(20)까지의 물리적 거리 또는 응답 시간에 따라 설정가능하다.At this time, the zones to be grouped can be set according to the physical distance or response time from the cloud server 10 to the edge server 20 .

도 2와 같이, 클라우드 서버(10)로부터 제1 거리(d1) 또는 제1 응답 시간 내에 존재하는 복수의 에지 서버(21, 22)를 제1 존(z1)으로 분류하고, 제1 거리(d1)보다 큰 제2 거리(d2) 또는 제1 응답 시간보다 긴 제2 응답 시간 내에 존재하는 복수의 에지 서버(23, 24, 25)를 제2 존(z2)으로 분류하고, 그 외의 에지 서버(26, 27)를 제3 거리(d3) 또는 제3 응답 시간으로 분류하면서 제3 존(z3)에 분류할 수 있다.As shown in FIG. 2 , a plurality of edge servers 21 and 22 existing within a first distance d1 or a first response time from the cloud server 10 are classified into a first zone z1, and the first distance d1 ) Classify a plurality of edge servers 23, 24, and 25 existing within a second distance d2 greater than or a second response time longer than the first response time into the second zone z2, and other edge servers ( 26 and 27) can be classified into the third zone z3 while being classified into the third distance d3 or the third response time.

이때, 제1 거리(d1)와 제2 거리(d2) 및 제3 거리(d3) 사이의 거리는 서로 동일할 수 있으나, 이에 한정되는 것은 아니다.In this case, the distances between the first distance d1, the second distance d2, and the third distance d3 may be equal to each other, but are not limited thereto.

또한, 제1 내지 제3 응답 시간의 차는 서로 동일할 수 있으나, 이에 한정되는 것은 아니다. 이때, 응답 시간은 패킷이 도달하기까지 네트워크 노드들의 수 또는 ping을 통해 오는 응답 시간으로 정의할 수 있으나, 이에 한정되는 것은 아니다. In addition, the difference between the first to third response times may be equal to each other, but is not limited thereto. At this time, the response time may be defined as the number of network nodes until the packet arrives or the response time coming through ping, but is not limited thereto.

이와 같이 복수의 에지 서버(20)에 대하여 존 별로 분류하는 경우, 클라우드 서버(10)에서 각 에지 서버(20)의 모델링 배포 스케쥴링 등에 유용하게 적용 가능하다.In this way, when the plurality of edge servers 20 are classified according to zones, modeling distribution scheduling of each edge server 20 in the cloud server 10 can be usefully applied.

에지 서버(20)는 도 3과 같이 각각의 공간에 설정되어 있으며, 해당 공간에 배치되어 있는 복수의 이종 또는 동종의 로봇(30)에 적합하도록 베이스 모델을 적응형 모델로 튜닝 및 업그레이드하여 각 로봇(30)을 제어한다.The edge server 20 is set in each space as shown in FIG. 3, and tunes and upgrades the base model to an adaptive model to be suitable for a plurality of heterogeneous or homogeneous robots 30 disposed in the space, so that each robot (30) to control.

일반적인 에지 서버(20)는 데이터를 클라우드 서버(10)에서 처리하던 방식에서 벗어나 데이터가 만들어지는 가장자리 영역(Edge)에서 데이터를 처리하는 기술로, 실시간을 요하는 데이터는 에지 서버(20)에서 처리하고 필요 시 2차 작업으로 중앙 클라우드와 소통하는 방식으로 구현된다. The general edge server 20 is a technology that processes data in the edge area (Edge) where data is created, departing from the way data is processed in the cloud server 10. Data that requires real time is processed by the edge server 20 It is implemented by communicating with the central cloud as a secondary task when necessary.

그러나, 본 발명에서는 클라우드 서버(10)에서는 이종 로봇(30) 및 서비스에 대한 범용 모델 또는 엔진인 베이스 딥러닝 모델링을 수행하고, 에지 서버(20)에서 해당 베이스 모델을 수신하고, 이를 해당 공간에 적합하도록 튜닝하여 적응형 딥러닝 모델로 서비스를 제공한다.However, in the present invention, the cloud server 10 performs base deep learning modeling, which is a general-purpose model or engine for the heterogeneous robot 30 and service, receives the base model from the edge server 20, and It is tuned to suit and provides service as an adaptive deep learning model.

구체적으로, 에지 서버(20)는 다양한 복수의 로봇(30)들로부터 이전에 수집된 해당 공간의 학습 데이터를 활용하여 클라우드 서버(10)로부터의 베이스 딥러닝 모델을 각 로봇(30) 및 서비스에 적합하도록 맞춤형으로 업그레이드하여 실행한다.Specifically, the edge server 20 utilizes learning data of a corresponding space previously collected from a plurality of various robots 30 to transfer the base deep learning model from the cloud server 10 to each robot 30 and service. Customize and upgrade to suit your needs.

이때, 에지 서버(20)는 해당 공간에 대한 다양한 환경 정보 등을 함께 고려할 수 있으며, 최적의 맞춤형 딥러닝 모델로 업그레이드 가능하다.At this time, the edge server 20 may consider various environmental information about the space together, and can upgrade to an optimal customized deep learning model.

또한, 에지 서버(20)는 서비스 제공 시, 복수의 이종 로봇(30)으로부터의 피드백(에러, 성능 정보 등)을 클라우드 서버(10)로 전송하고, 다른 에지 서버(20)에 업그레이드한 모델을 공유할 수 있다. 따라서, 공유 받은 다른 에지 서버(20)는 기존의 모델을 제거하고, 공유받은 모델로 갱신하여 해당 공간의 로봇(30)들에 적합하게 튜닝하고 실행가능하다.In addition, when providing the service, the edge server 20 transmits feedback (error, performance information, etc.) from the plurality of heterogeneous robots 30 to the cloud server 10, and sends the upgraded model to the other edge server 20. can be shared Accordingly, the other shared edge server 20 removes the existing model and updates the shared model to perform tuning suitable for the robots 30 in the corresponding space.

각각의 에지 서버(20)는 도 3과 같이, 하나의 구분된 가상의 공간 또는 물리적으로 분리된 공간(A1)에 배치되어 있으며, 해당 공간(A1)에서 배치되어 서비스를 제공하는 복수의 로봇(30) 및 로봇(30)이 제공하는 서비스를 제어한다.As shown in FIG. 3, each edge server 20 is disposed in one divided virtual space or physically separated space A1, and a plurality of robots disposed in the space A1 to provide services ( 30) and the service provided by the robot 30 is controlled.

일 예로, 도 3과 같이, 에지 서버(21)는 스마트 식당 내에서 서비스를 제공하는 복수의 로봇(30:31, 32, 33, 34, 35)들을 제어할 수 있으며, 복수의 로봇(30)은 안내 로봇, 주문 로봇, 배송 로봇, 엔터테이닝 로봇, 청소 로봇 또는 요리 로봇, 바리스타 로봇 등을 포함할 수 있다.As an example, as shown in FIG. 3, the edge server 21 may control a plurality of robots 30: 31, 32, 33, 34, and 35 providing services in a smart restaurant, and the plurality of robots 30 may include a guide robot, an ordering robot, a delivery robot, an entertaining robot, a cleaning robot or cooking robot, a barista robot, and the like.

이와 같이, 해당 공간(A1)에 배치되어 있는 복수의 이종 로봇(30)들은 해당 에지 서버(21)에 종속되어 데이터를 송수신하면서 서비스를 제공한다.In this way, the plurality of heterogeneous robots 30 disposed in the corresponding space A1 are subordinate to the corresponding edge server 21 and provide services while transmitting and receiving data.

이러한 클라우드 서버(10) 또는 에지 서버(21)는 일반적으로 유사한 구성을 가질 수 있다.The cloud server 10 or the edge server 21 may have a generally similar configuration.

도 4는 도 3의 클라우드 서버(10) 또는 에지 서버(20)의 일 적용예에 따른 구성도이다.4 is a configuration diagram according to an application example of the cloud server 10 or the edge server 20 of FIG. 3 .

도 4를 참고하면, 에지 서버(20) 또는 클라우드 서버(10)는 메모리, 컴퓨팅 데이터 콜렉션 데이터베이스(110: Computing data collection database), 제어부(100) 및 통신부(120)을 포함할 수 있다.Referring to FIG. 4 , the edge server 20 or the cloud server 10 may include a memory, a computing data collection database 110, a control unit 100, and a communication unit 120.

구체적으로, 클라우드 서버(10) 또는 에지 서버(20)는 메모리와 메모리에 저장된 프로그램을 독출하여 특정 기능을 수행하는 프로세서로 구성된 적어도 하나 이상의 컴퓨팅 장치로 구현될 수 있다.Specifically, the cloud server 10 or the edge server 20 may be implemented as at least one computing device including a memory and a processor that reads a program stored in the memory and performs a specific function.

먼저, 메모리(110)는, 에지 서버(20)의 경우, 공간 내의 복수의 동종 또는 이종 로봇(30)들로부터 IoT기술에 기반해 획득한 데이터들을 저장하여 관리할 수 있으며, 클라우드 서버(10)로부터 수신하는 베이스 딥러닝 모델을 저장할 수 있다.First, in the case of the edge server 20, the memory 110 can store and manage data obtained based on IoT technology from a plurality of the same or heterogeneous robots 30 in the space, and the cloud server 10 A base deep learning model received from may be stored.

클라우드 서버(10)의 경우, 베이스 딥러닝을 위한 프로세싱을 수행할 수 있는 알고리즘을 저장할 수 있다. In the case of the cloud server 10, an algorithm capable of performing processing for base deep learning may be stored.

또한, 메모리(110)는 본 발명의 실시예에 따른 기능 동작에 필요한 응용 프로그램, 데이터 및 명령어 중 어느 하나 이상을 저장할 수 있다.In addition, the memory 110 may store any one or more of application programs, data, and commands necessary for functional operations according to an embodiment of the present invention.

이러한 메모리(110)는, ROM, RAM, EPROM, 플래시 드라이브, 하드 드라이브 등과 같은 다양한 저장기기일 수 있고, 인터넷(internet)상에서 상기 메모리(110)의 저장 기능을 수행하는 웹 스토리지(web storage)일 수도 있다.The memory 110 may be various storage devices such as ROM, RAM, EPROM, flash drive, hard drive, etc., and may be a web storage that performs the storage function of the memory 110 on the Internet. may be

또한, 일부 실시예들에서, 메모리(110)에 저장된 소프트웨어 컴포넌트들은, 운영 체제, 통신 모듈(또는 명령어들의 세트), 접촉/모션 모듈(또는 명령어들의 세트), 그래픽 모듈(또는 명령어들의 세트), 텍스트 입력 모듈(또는 명령어들의 세트), 위성 위치확인 시스템(GPS) 모듈(또는 명령어들의 세트), 및 어플리케이션들(또는 명령어들의 세트들)을 포함할 수 있다.Also, in some embodiments, software components stored in memory 110 may include an operating system, a communication module (or set of instructions), a contact/motion module (or set of instructions), a graphics module (or set of instructions), A text input module (or set of instructions), a global positioning system (GPS) module (or set of instructions), and applications (or sets of instructions).

프로세서(100)는 에지 서버(20)의 경우, 복수의 로봇(30)의 전반적인 동작을 제어하고 구동할 수 있다.In the case of the edge server 20, the processor 100 may control and drive overall operations of the plurality of robots 30.

이러한 프로세서(100)는, ASICs (application specific integrated circuits), DSPs(digital signal processors), DSPDs(digital signal processing devices), PLDs(programmable logic devices), FPGAs(field programmable gate arrays), 제어기(controllers), 마이크로 컨트롤러(micro-controllers), 마이크로 프로세스 (microprocessors), 기타 기능 수행을 위한 전기적 유닛 중 적어도 하나를 이용하여 구현될 수 있다.These processors 100 include application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, It may be implemented using at least one of micro-controllers, microprocessors, and electrical units for performing other functions.

에지 서버(20)의 프로세서(100)는 복수의 로봇(30)들로부터 획득된 각종 데이터를 분석하여 적합한 처리를 수행할 수 있으며, 자체적으로 머신 러닝/딥러닝을 수행하여 해당 베이스 딥러닝 모델링의 업그레이드를 위한 학습을 수행할 수 있다.The processor 100 of the edge server 20 can analyze various data obtained from the plurality of robots 30 and perform appropriate processing, and performs machine learning/deep learning on its own to obtain the corresponding base deep learning modeling. You can perform learning for upgrade.

에지 서버(20)는 로봇(30)으로부터 수신한 데이터, 사용자에 의해 입력되는 데이터 등에 기초하여, 머신러닝/딥러닝한 후, 업그레이드된 데이터를 로봇(30)으로 전송할 수 있다. 이에 따라, 로봇(30)이 구비하는 제어 프로그램이 업데이트될 수 있다.The edge server 20 may perform machine learning/deep learning based on data received from the robot 30, data input by a user, and the like, and then transmit upgraded data to the robot 30. Accordingly, a control program of the robot 30 may be updated.

에지 서버(20)의 프로세서(100)는 복수의 로봇(30)들로부터 획득된 데이터들을 각각 분석하고, 분석된 각 데이터별로 해당 모델 또는 엔진에 적용할 수 있다.The processor 100 of the edge server 20 may analyze each of the data obtained from the plurality of robots 30 and apply the analyzed data to a corresponding model or engine.

클라우드 서버(10)의 프로세서(100)는 머신러닝/딥러닝을 수행할 수 있는 보다 고도화된 프로세서를 구비할 수 있다. The processor 100 of the cloud server 10 may have a more advanced processor capable of performing machine learning/deep learning.

한편, 클라우드 서버(10) 또는 에지 서버(20)는 통신부(120)을 포함할 수 있으며, 앞서 설명한 바와 같이 환경에 요구되는 통신 방식에 따라 다양한 통신이 가능하다. 특히, 5G 네트워크를 이용하여 로봇(30)-에지 서버(20), 에지 서버(20)-클라우드 서버(10), 에지 서버(20)-에지 서버(20) 사이의 통신이 가능하며 대용량의 딥러닝 모델링의 알고리즘 자체가 송수신 가능하다.Meanwhile, the cloud server 10 or the edge server 20 may include the communication unit 120, and as described above, various communications are possible according to communication methods required in the environment. In particular, communication between the robot 30-edge server 20, edge server 20-cloud server 10, and edge server 20-edge server 20 is possible using a 5G network, and large-capacity deep The algorithm itself of learning modeling can transmit and receive.

한편, 각각의 공간에 배치되는 다양한 이종 또는 동종의 로봇(30)은 에지 서버(20)로 공간(space), 사물(Object), 사용(Usage) 관련 데이터(Data)를 에지 서버(20)로 전송할 수 있다.On the other hand, various heterogeneous or homogeneous robots 30 disposed in each space transfer space, object, and usage-related data to the edge server 20. can transmit

여기서, 데이터는 공간(space), 사물(Object) 관련 데이터는 로봇(30)이 인식한 공간(space)과 사물(Object)의 인식 관련 데이터이거나, 영상획득부가 획득한 공간(space)과 사물(Object)에 대한 이미지 데이터일 수 있다. Here, the data is space, and the object-related data is recognition-related data of the space and object recognized by the robot 30, or the space and object acquired by the image acquisition unit ( It may be image data for Object).

실시예에 따라서, 로봇(30) 및 에지 서버(20)는 사용자, 음성, 공간의 속성, 장애물 등 사물의 속성 중 적어도 하나를 인식하도록 학습된 소프트웨어 또는 하드웨어 형태의 인공신경망(Artificial Neural Networks: ANN)을 포함할 수 있다. According to an embodiment, the robot 30 and the edge server 20 are artificial neural networks (ANNs) in the form of software or hardware learned to recognize at least one of the properties of objects such as user, voice, property of space, and obstacles. ) may be included.

본 발명의 일 실시예에 따르면, 클라우드 서버(10) 및 에지 서버(20)는 딥러닝(Deep Learning)으로 학습된 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network), DBN(Deep Belief Network) 등 심층신경망(Deep Neural Network: DNN)을 포함할 수 있다. 예를 들어, 에지 서버(20)의 프로세서에는 CNN(Convolutional Neural Network) 등 심층신경망 구조(DNN)가 탑재될 수 있다.According to an embodiment of the present invention, the cloud server 10 and the edge server 20 use deep learning-trained convolutional neural networks (CNNs), recurrent neural networks (RNNs), and deep belief networks (DBNs). A deep neural network (DNN) may be included. For example, a deep neural network structure (DNN) such as a convolutional neural network (CNN) may be installed in the processor of the edge server 20 .

또한, 사용(Usage) 관련 데이터(Data)는 로봇(30)의 사용에 따라 획득되는 데이터로, 사용 이력 데이터, 센서부(110)에서 획득된 감지 신호 등이 해당될 수 있다.In addition, the usage related data is data obtained according to the use of the robot 30, and may correspond to usage history data, a detection signal obtained from the sensor unit 110, and the like.

로봇(30)은 학습된 심층신경망 구조(DNN)는 인식용 입력 데이터를 입력받고, 입력 데이터에 포함된 사람, 사물, 공간의 속성을 인식하여, 그 결과를 출력할 수 있다.The robot 30 may receive input data for recognition through the learned deep neural network structure (DNN), recognize attributes of people, objects, and spaces included in the input data, and output the result.

또한, 상기 학습된 심층신경망 구조(DNN)는 인식용 입력 데이터를 입력받고, 로봇(30)의 사용(Usage) 관련 데이터(Data)를 분석하고 학습하여 사용 패턴, 사용 환경 등을 인식할 수 있다.In addition, the learned deep neural network structure (DNN) receives input data for recognition, analyzes and learns usage related data of the robot 30, and recognizes usage patterns, usage environments, etc. .

한편, 공간(space), 사물(Object), 사용(Usage) 관련 데이터(Data)는 로봇(30)의 통신부를 통하여 에지 서버(20)로 전송될 수 있다. Meanwhile, data related to space, objects, and usage may be transmitted to the edge server 20 through the communication unit of the robot 30 .

에지 서버(20)는 수신한 데이터에 기초하여, 심층신경망(DNN)을 학습시킨 후, 업데이트된 심층신경망(DNN) 구조 데이터를 해당 로봇(30)으로 전송하여 업데이트하게 할 수 있다.The edge server 20 may train a deep neural network (DNN) based on the received data, and then transmit updated deep neural network (DNN) structure data to the corresponding robot 30 so that it is updated.

본 발명의 일 실시예에 따른 로봇(30)은 각 공간을 주행하며 설정되어 있는 서비스 또는 임무를 수행하는 이동 로봇(30)일 수 있다.The robot 30 according to an embodiment of the present invention may be a mobile robot 30 that travels in each space and performs a set service or mission.

이와 같은 로봇(30)은 전반적인 동작을 제어하는 제어부, 각종 데이터를 저장하는 저장부, 에지 서버(20) 등 다른 기기와 데이터를 송수신하는 통신부를 포함할 수 있다. Such a robot 30 may include a control unit for controlling overall operation, a storage unit for storing various data, and a communication unit for transmitting and receiving data to and from other devices such as the edge server 20 .

제어부는, 로봇(30) 내 통신부, 각종 센서 등을 제어하여, 로봇(30)의 동작 전반을 제어할 수 있다. The control unit may control the overall operation of the robot 30 by controlling the communication unit and various sensors in the robot 30 .

통신부는 적어도 하나의 통신모듈을 포함하여 인공지능 로봇(30)이 인터넷, 또는 소정의 네트워크에 연결되도록 할 수 있고 다른 기기와 통신하게 할 수 있다. The communication unit includes at least one communication module so that the artificial intelligence robot 30 can be connected to the Internet or a predetermined network and communicate with other devices.

또한, 통신부는 에지 서버(20)에 구비되는 통신 모듈과 연결하여 로봇(30)과 에지 서버(20) 간의 데이터 송수신을 처리할 수 있다. In addition, the communication unit may process data transmission and reception between the robot 30 and the edge server 20 by connecting to a communication module provided in the edge server 20 .

본 발명의 일 실시예에 따른 로봇(30)은 마이크를 통하여 사용자의 음성 입력을 수신하는 음성 입력부를 더 포함할 수 있다.The robot 30 according to an embodiment of the present invention may further include a voice input unit for receiving a user's voice input through a microphone.

음성 입력부는, 아날로그 소리를 디지털 데이터로 변환하는 처리부를 포함하거나 처리부에 연결되어, 사용자 입력 음성 신호를 제어부 또는 에지 서버(20)에서 인식할 수 있도록 데이터화할 수 있다. The voice input unit includes a processing unit that converts analog sound into digital data or is connected to the processing unit, and converts the user input voice signal into data so that the control unit or the edge server 20 can recognize it.

한편, 제어부는 음성 인식 결과에 기초하여 로봇(30)이 소정 동작을 수행하도록 제어할 수 있다.Meanwhile, the controller may control the robot 30 to perform a predetermined operation based on the voice recognition result.

한편, 로봇(30)은 그 종류에 따라 소정 정보를 영상으로 표시하거나 음향으로 출력하는 각종 모듈을 포함할 수 있다. Meanwhile, the robot 30 may include various modules that display predetermined information as an image or output sound according to its type.

로봇(30)은 명령 입력에 대응하는 정보, 사용자의 명령 입력에 대응하는 처리 결과, 동작모드, 동작상태, 에러상태 등을 영상으로 표시하는 디스플레이를 포함할 수 있다. The robot 30 may include a display for displaying information corresponding to a command input, a processing result corresponding to a user's command input, an operation mode, an operation state, an error state, and the like as images.

실시예에 따라서는, 상기 디스플레이 중 적어도 일부는 터치패드와 상호 레이어 구조를 이루어 터치스크린으로 구성될 수 있다. 이 경우에, 터치스크린으로 구성되는 디스플레이는 출력 장치 이외에 사용자의 터치에 의한 정보의 입력이 가능한 입력 장치로도 사용될 수 있다. Depending on the embodiment, at least a part of the display may be configured as a touch screen by forming a mutual layer structure with a touch pad. In this case, a display composed of a touch screen may be used as an input device capable of inputting information by a user's touch in addition to an output device.

또한, 음향 출력부는 제어부의 제어에 따라 경고음, 동작모드, 동작상태, 에러상태 등의 알림 메시지, 사용자의 명령 입력에 대응하는 정보, 사용자의 명령 입력에 대응하는 처리 결과 등을 음향으로 출력할 수 있다. 음향 출력부는, 제어부로부터의 전기 신호를 오디오 신호로 변환하여 출력할 수 있다. 이를 위해, 스피커 등을 구비할 수 있다.In addition, the sound output unit may output a notification message such as a warning sound, an operation mode, an operation state, an error state, information corresponding to a user's command input, a processing result corresponding to a user's command input, and the like according to the control of the control unit. there is. The audio output unit may convert an electrical signal from the control unit into an audio signal and output the converted audio signal. To this end, a speaker or the like may be provided.

실시예에 따라서, 로봇(30)은 소정 범위를 촬영할 수 있는 영상획득부를 더 포함할 수 있다.According to the embodiment, the robot 30 may further include an image acquisition unit capable of capturing a predetermined range.

영상획득부는 인공지능 로봇(30) 주변, 외부 환경 등을 촬영하는 것으로, 카메라 모듈을 포함할 수 있다. 이러한 카메라는 촬영 효율을 위해 각 부위별로 여러 개가 설치될 수도 있다.The image acquisition unit captures the surroundings of the artificial intelligence robot 30 and the external environment, and may include a camera module. Several such cameras may be installed for each part for shooting efficiency.

영상획득부는, 사용자 인식용 영상을 촬영할 수 있다. 제어부는 상기 영상획득부가 촬영하여 획득된 영상에 기초하여 외부 상황을 판단하거나, 사용자(안내 대상)를 인식할 수 있다.The image acquisition unit may capture an image for user recognition. The controller may determine an external situation or recognize a user (guidance target) based on an image acquired by the image acquisition unit.

또한, 로봇(30)이 인공지능 로봇(30)인 경우에, 상기 제어부는, 상기 영상획득부가 촬영하여 획득하는 영상에 기초하여 로봇(30)이 주행하도록 제어할 수 있다.In addition, when the robot 30 is an artificial intelligence robot 30, the control unit may control the robot 30 to drive based on an image obtained by photographing by the image acquisition unit.

로봇(30)은 이동을 위한 구동부를 더 포함할 수 있고, 상기 구동부는 제어부의 제어에 따라, 본체를 이동시킬 수 있다.The robot 30 may further include a driving unit for movement, and the driving unit may move the main body under the control of the controller.

구동부는 로봇(30)의 주행부 내에 배치될 수 있으며, 본체를 이동시키는 적어도 하나의 구동 바퀴(미도시)를 포함할 수 있다. 구동부는 구동 바퀴에 연결되어 구동 바퀴를 회전시키는 구동 모터(미도시)를 포함할 수 있다. 구동 바퀴는 본체의 좌, 우측에 각각 구비될 수 있으며, 이하, 각각 좌륜과 우륜이라고 한다.The driving unit may be disposed within the driving unit of the robot 30 and may include at least one driving wheel (not shown) for moving the main body. The driving unit may include a driving motor (not shown) connected to the driving wheel to rotate the driving wheel. Driving wheels may be provided on the left and right sides of the main body, respectively, and are hereinafter referred to as a left wheel and a right wheel, respectively.

좌륜과 우륜은 하나의 구동 모터에 의해 구동될 수도 있으나, 필요에 따라 좌륜을 구동시키는 좌륜 구동 모터와 우륜을 구동시키는 우륜 구동 모터가 각각 구비될 수도 있다. 좌륜과 우륜의 회전 속도에 차이를 두어 좌측 또는 우측으로 본체의 주행방향을 전환할 수 있다.The left wheel and the right wheel may be driven by a single drive motor, but a left wheel drive motor for driving the left wheel and a right wheel drive motor for driving the right wheel may be provided, respectively, if necessary. The driving direction of the main body can be switched to the left or right by making a difference in the rotational speed of the left wheel and the right wheel.

한편, 로봇(30)은 로봇(30)의 동작, 상태와 관련된 각종 데이터를 센싱하는 센서들을 포함하는 센서부를 포함할 수 있다.Meanwhile, the robot 30 may include a sensor unit including sensors for sensing various data related to the operation and state of the robot 30 .

상기 센서부는 로봇(30)의 동작을 감지하고 동작 정보를 출력하는 동작 감지 센서를 더 포함할 수 있다. 예를 들어, 동작 감지 센서로는, 자이로 센서(Gyro Sensor), 휠 센서(Wheel Sensor), 가속도 센서(Acceleration Sensor) 등을 사용할 수 있다.The sensor unit may further include a motion detection sensor that senses motion of the robot 30 and outputs motion information. For example, as a motion detection sensor, a gyro sensor, a wheel sensor, an acceleration sensor, or the like may be used.

상기 센서부는 장애물을 감지하는 장애물 감지 센서를 포함할 수 있고, 상기 장애물 감지 센서는, 적외선 센서, 초음파 센서, RF 센서, 지자기 센서, PSD(Position Sensitive Device) 센서, 주행구역 내 바닥에 낭떠러지의 존재 여부를 감지하는 절벽 감지 센서, 라이다(light detection and ranging: Lidar) 등 포함할 수 있다.The sensor unit may include an obstacle detection sensor for detecting an obstacle, and the obstacle detection sensor may include an infrared sensor, an ultrasonic sensor, an RF sensor, a geomagnetic sensor, a Position Sensitive Device (PSD) sensor, and the presence of a cliff on the floor in the driving area. It may include a cliff detection sensor that detects whether or not, a LiDAR (Light Detection and Ranging: Lidar), and the like.

한편, 상기 장애물 감지 센서는 인공지능 로봇(30)의 주행(이동) 방향에 존재하는 물체, 특히 장애물을 감지하여 장애물 정보를 제어부에 전달한다. 이때, 제어부는, 감지된 장애물의 위치에 따라 로봇(30)의 움직임을 제어할 수 있다.Meanwhile, the obstacle detection sensor detects an object, particularly an obstacle, present in the driving (moving) direction of the artificial intelligence robot 30 and transmits obstacle information to the control unit. At this time, the controller may control the movement of the robot 30 according to the detected position of the obstacle.

한편, 제어부는 통신부를 통해 인공지능 로봇(30)의 동작상태 또는 사용자 입력 등을 에지 서버(20) 등으로 전송하도록 제어할 수 있다. On the other hand, the control unit may control to transmit the operating state of the artificial intelligence robot 30 or a user input to the edge server 20 or the like through the communication unit.

이와 같은 로봇(30)은 도 3과 같이, 하나의 공간에 배송 로봇, 주문 로봇, 안내 로봇과 같은 특정 임무가 배정되며, 해당 임무에 맞게 작업부를 별도로 포함할 수 있는 구조를 가질 수 있다.As shown in FIG. 3, such a robot 30 may have a structure in which a specific task such as a delivery robot, an ordering robot, and a guide robot is assigned to one space, and a work unit may be separately included to suit the task.

각각의 로봇(30)은 배정된 임무에 따라 각각의 에지 서버(20)로부터 제어될 수 있다.Each robot 30 may be controlled from each edge server 20 according to assigned tasks.

이하에서는 도 5 내지 도 7을 참고하여 이종 로봇(30)을 포함하는 로봇(30) 시스템의 제어에 대하여 상세히 설명한다.Hereinafter, control of the robot 30 system including the heterogeneous robot 30 will be described in detail with reference to FIGS. 5 to 7 .

도 5는 본 발명의 일 실시예에 따른 클라우드 및 에지 서버(20)의 모델링을 도식화한 개념도이고, 도 6은 본 발명의 로봇(30) 클라우드 시스템의 전체 순서도이고, 도 7은 하나의 에지 서버(20)가 도 6의 시스템에 진입하는 방법을 나타내는 상세 순서도이다.5 is a conceptual diagram illustrating modeling of a cloud and an edge server 20 according to an embodiment of the present invention, FIG. 6 is an overall flow chart of a robot 30 cloud system of the present invention, and FIG. 7 is a single edge server (20) is a detailed flow chart showing how to enter the system of FIG.

도 6을 참고하면, 본 발명의 일 실시예에 따른 로봇(30) 클라우드 시스템은 클라우드 서버(10)와 송수신하는 복수의 에지 서버(20) 사이에 모델 생성/배포/공유가 이루어진다.Referring to FIG. 6 , in the cloud system of the robot 30 according to an embodiment of the present invention, model creation/distribution/sharing is performed between the cloud server 10 and a plurality of edge servers 20 that transmit/receive.

구체적으로, 클라우드 서버(10)는 해당 클라우드 서버(10)가 관제하는 모든 로봇(30), 즉, 해당 클라우드 서버(10)로부터 제어되거나, 정보를 저장하도록 연계되어 있는 로봇(30)들, 또는 에지 서버(20)와 연계되어 있는 로봇(30)들에 범용적으로 적용될 수 있는 베이스 모델을 생성한다(S10).Specifically, the cloud server 10 is all robots 30 controlled by the corresponding cloud server 10, that is, robots 30 controlled from the corresponding cloud server 10 or connected to store information, or A base model that can be universally applied to the robots 30 associated with the edge server 20 is created (S10).

먼저, 클라우드 서버(10)는 프로세서(100)에서 머신러닝/딥러닝을 수행하여 복수의 이종 로봇(30)의 제어에 범용적으로 사용 가능한 모델을 생성한다.First, the cloud server 10 performs machine learning/deep learning in the processor 100 to generate a model that can be used universally for controlling the plurality of heterogeneous robots 30 .

클라우드 서버(10)와 송수신하는 에지 서버(20)를 통해 관제되는 이종 로봇(30)이 도 5와 같이, 배송 로봇, 바리스타 로봇, 주문 로봇, 요리 로봇, 안내 로봇 등인 경우, 각각의 로봇들(30)에 선택적으로 활용될 수 있는 모델로서, 객체 인식 모델(101), 내비게이션 모델(102), 음성 인식 모델(103), 위치 인식 모델(104), 감성 인식 모델(105), 제어 지능 모델(106) 등을 각각 생성할 수 있다.When the heterogeneous robot 30 controlled through the edge server 20 transmitting and receiving with the cloud server 10 is a delivery robot, a barista robot, an ordering robot, a cooking robot, a guide robot, etc. as shown in FIG. 5, each robot As a model that can be selectively used in (30), object recognition model 101, navigation model 102, voice recognition model 103, location recognition model 104, emotion recognition model 105, control intelligence model (106), etc., respectively.

이와 같은 모델(101-106)은 특정 로봇(30)에 대하여 선택적으로 적용 가능하며, 클라우드 서버(10)의 경우, 합집합의 개념으로 요구되는 모든 모델들(101-106)을 각각 생성한다.Such models 101 to 106 are selectively applicable to a specific robot 30, and in the case of the cloud server 10, all models 101 to 106 required as a union concept are generated, respectively.

이와 같은 각각의 딥러닝 모델링은 에지 서버(20)에 범용의 패키징된 베이스 모델을 제공하고, 각각의 에지 서버(20)가 각각의 환경 및 로봇(30)에 따라 튜닝/업그레이드함으로써 최적화하는 과정을 통해 학습된다.Each such deep learning modeling provides a general-purpose packaged base model to the edge server 20, and each edge server 20 optimizes the process by tuning/upgrading according to each environment and robot 30 learned through

구체적으로, 클라우드 서버(10)는 생성된 패키징된 베이스 모델을 생성하고, 등록된 각각의 에지 서버(20)에 해당 패키징된 베이스 모델을 배포한다(S10).Specifically, the cloud server 10 creates a generated packaged base model and distributes the packaged base model to each registered edge server 20 (S10).

한편, 클라우드 서버(10)는 복수의 에지 서버(20)를 등록 및 특정 존에 분류하는 그룹화를 진행한다(S20).Meanwhile, the cloud server 10 registers the plurality of edge servers 20 and performs grouping to classify into a specific zone (S20).

도 7과 같이, 등록된 각각의 에지 서버(20)의 거리 또는 응답 시간에 따라 존을 설정하고, 같은 존에 있는 복수의 에지 서버(20)에게 할당된 존에 대한 정보 및 같은 존에 등록되어 있는 다른 에지 서버(20)에 대한 정보를 전송한다(S100).As shown in FIG. 7, zones are set according to the distance or response time of each registered edge server 20, and information about zones allocated to a plurality of edge servers 20 in the same zone and registered in the same zone Information about other edge servers 20 there is transmitted (S100).

이때, 신규 에지 서버(22)로부터의 서비스 등록 요청이 수신되면, 클라우드 서버(10)는 해당 신규 에지 서버(22)에 대한 존 할당을 수행한다(S101).At this time, when a service registration request is received from the new edge server 22, the cloud server 10 performs zone assignment for the corresponding new edge server 22 (S101).

즉, 신규 에지 서버(22)의 IP 주소를 통한 에지 서버(22)의 물리적 위치를 판단하고, Ping 또는 traceroute를 통해 응답 시간을 측정한다(S102).That is, the physical location of the edge server 22 is determined through the IP address of the new edge server 22, and the response time is measured through ping or traceroute (S102).

클라우드 서버(10)는 응답 시간 또는 물리적인 위치에 따른 클라우드 서버(10)와의 거리를 읽어 신규 에지 서버(20)를 특정 존에 할당한다(S103).The cloud server 10 reads the distance to the cloud server 10 according to the response time or physical location and allocates the new edge server 20 to a specific zone (S103).

클라우드 서버(10)는 이와 같이 존 할당에 대한 정보, 일 예로, 해당 존의 범위, 해당 존 내에 등록되어 있는 다른 에지 서버(21, 23,,,,) 정보를 신규 에지 서버(22)에 전송한다(S104). 또한, 해당 존의 다른 에지 서버(21, 23,,,,)에 신규 에지 서버(22)가 등록되었음을 전송한다(S105).In this way, the cloud server 10 transmits information about zone allocation, for example, the range of the corresponding zone, and other edge servers 21, 23,,,, registered in the corresponding zone to the new edge server 22 Do (S104). In addition, it transmits that the new edge server 22 has been registered to other edge servers 21 and 23 in the corresponding zone (S105).

도 6으로 돌아와서, 클라우드 서버(10)는 등록된 신규 에지 서버(22)에 해당 패키징된 베이스 모델을 배포한다(S31).Returning to FIG. 6 , the cloud server 10 distributes the packaged base model to the registered new edge server 22 (S31).

이때, 배포되는 베이스 모델은 다양한 이종 로봇(30)을 관리 또는 제어 가능한 다양한 기능에 관련된 모델 또는 모듈이 패키징된 것으로서, 베이스 모델의 전송 시에 해당하는 베이스 모델의 업그레이드 또는 튜닝을 위한 응용 프로그램 또한 함께 배포될 수 있다.At this time, the distributed base model is a packaged model or module related to various functions capable of managing or controlling various heterogeneous robots 30, and an application for upgrading or tuning the base model is also included when the base model is transmitted. can be distributed

신규 에지 서버(22)는 해당 베이스 모델을 수신하면, 이를 에지 서버(22)가 관장하는 복수의 이종 로봇(30)에 적합하도록 해당 베이스 모델을 튜닝한다(S40).Upon receiving the base model, the new edge server 22 tunes the base model to be suitable for the plurality of heterogeneous robots 30 managed by the edge server 22 (S40).

이와 같은 튜닝은 도 5에서, 신규 에지 서버(22)가 배송 로봇(30), 주문 로봇(30), 및 안내 로봇(30)만을 제어하는 경우, 수신된 베이스 모델 중 제어 지능 모델은 활성화하지 않고, 다른 모델인 객체 인식 모델(101), 내비게이션 모델(102), 음성 인식 모델(103), 위치 인식 모델(104), 및 감성 인식 모델(105)만을 활성화하도록 튜닝할 수 있다.In this tuning, in FIG. 5, when the new edge server 22 controls only the delivery robot 30, the ordering robot 30, and the guide robot 30, the control intelligence model among the received base models is not activated. , can be tuned to activate only the object recognition model 101, the navigation model 102, the voice recognition model 103, the location recognition model 104, and the emotion recognition model 105, which are other models.

즉, 각 영역에서 필요한 모델만을 활성화하고, 필요하지 않은 모델은 활성화하지 않은 상태로 저장하는 과정을 튜닝으로 정의한다.In other words, the process of activating only necessary models in each area and storing unnecessary models in an inactive state is defined as tuning.

신규 에지 서버(22)는 구역(A2)의 이종의 로봇(30)에 필요한 모델만을 선별하여 활성화함으로써 연산 프로그램을 감소시켜 비용 및 시간을 절감시킬 수 있다.The new edge server 22 selects and activates only models necessary for the heterogeneous robots 30 in the zone A2, thereby reducing operation programs and reducing cost and time.

일 예로, 도 5의 제1 에지 서버(21)의 경우, 배송 로봇, 바리스타 로봇, 주문 로봇, 요리 로봇 및 안내 로봇이 구역(A1) 내에 배치되어 잇는 경우, 베이스 모델로 패키징된 모든 모델들이 활성화될 수 있다.For example, in the case of the first edge server 21 of FIG. 5 , when a delivery robot, a barista robot, an ordering robot, a cooking robot, and a guide robot are disposed in the zone A1, all models packaged as a base model can be activated.

제3 에지 서버(23)와 같이, 바리스타 로봇, 주문 로봇, 요리 로봇만이 존재하는 경우, 로봇들의 이동이 이루어지지 않아, 내비게이션 모델(102), 위치 인식 모델(104) 등이 활성화되지 않은 채로 제어를 진행할 수 있다.Like the third edge server 23, when there are only barista robots, ordering robots, and cooking robots, the robots do not move, so the navigation model 102, the location recognition model 104, etc. are not activated. control can proceed.

다음으로, 에지 서버(20)는 튜닝된 베이스 모델을 구동하여 각각의 이종 로봇(30)의 제어를 수행하면서 소정의 데이터가 확보되면, 각각의 베이스 모델을 업그레이드할 수 있다(S50).Next, the edge server 20 may upgrade each base model when predetermined data is secured while performing control of each heterogeneous robot 30 by driving the tuned base model (S50).

이와 같은 베이스 모델의 업그레이드는 도 8 및 도 9를 참고하여, 이후에 상세히 설명한다.The upgrade of the base model will be described in detail later with reference to FIGS. 8 and 9 .

하나의 에지 서버(20)에서 베이스 모델에 대한 업그레이드가 이루어지면, 에지 서버(20)는 해당 업그레이드 정보를 클라우드 서버(10)에 전송한다(S61).When an upgrade of the base model is performed in one edge server 20, the edge server 20 transmits the corresponding upgrade information to the cloud server 10 (S61).

클라우드 서버(10)는 업그레이드 정보를 수신하고, 업그레이드된 베이스 모델이 필요한 에지 서버(20)를 선별하여 선별된 에지 서버(20)에 대한 정보를 에지 서버(20)에 전송한다(S62).The cloud server 10 receives the upgrade information, selects an edge server 20 requiring an upgraded base model, and transmits information about the selected edge server 20 to the edge server 20 (S62).

에지 서버(20)는 선별된 에지 서버(20)에 업그레이드된 베이스 모델을 전송함으로써, 업그레이드된 베이스 모델을 다른 에지 서버(20)들과 공유할 수 있다(S63).The edge server 20 may share the upgraded base model with other edge servers 20 by transmitting the upgraded base model to the selected edge server 20 (S63).

이때, 업그레이드된 베이스 모델을 수신한 선별된 에지 서버(20)는 이전의 베이스 모델을 삭제하고, 업그레이드된 베이스 모델로 변환, 업데이트하여 할당된 영역 내의 로봇(30)을 제어할 수 있다(S70).At this time, the selected edge server 20 that has received the upgraded base model can control the robot 30 within the allocated area by deleting the previous base model, converting and updating the upgraded base model (S70). .

이와 같이 본 발명의 클라우드 서버(10)를 이용한 이종 로봇(30)의 제어 시스템은, 원거리의 로봇(30)들을 제어하기 위한 에지 서버(20)를 포함하며, 각 에지 서버(20)에서 클라우드 서버(10)가 제공하는 베이스 모델을 적합하게 튜닝하여 사용하면서, 해당 베이스 모델을 업그레이드하여 머신러닝/딥러닝을 수행함으로써 업그레이드한다.As such, the control system of the heterogeneous robot 30 using the cloud server 10 of the present invention includes the edge server 20 for controlling the remote robots 30, and each edge server 20 has a cloud server While the base model provided by (10) is suitably tuned and used, the base model is upgraded and upgraded by performing machine learning/deep learning.

이와 같이 에지 서버(20)에서 각각의 환경에 특화되도록 업그레이드된 베이스 모델은 이를 필요로 하는 다른 에지 서버(20)에 직접 송수신될 수 있다.In this way, the base model upgraded to be specialized for each environment in the edge server 20 can be directly transmitted and received to other edge servers 20 that require it.

이와 같이, 클라우드 서버(10)를 통하여 업그레이드된 베이스 모델이 송수신되는 것이 아닌, 에지 서버(20) 단에서 직접 필요한 다른 에지 서버(20)로 업그레이드한 베이스 모델이 송수신되므로, 불필요한 트래픽을 줄일 수 있으며, 클라우드 서버(10)의 저장 공간을 충분히 확보할 수 있다.In this way, since the upgraded base model is not transmitted and received through the cloud server 10, but the upgraded base model is directly transmitted and received from the edge server 20 to another edge server 20 that is necessary, unnecessary traffic can be reduced. , It is possible to sufficiently secure the storage space of the cloud server 10.

이하에서는 각 에지 서버(20)에서의 베이스 모델의 업그레이드 및 업그레이드된 베이스 모델의 공유에 대하여 도 8 및 도 9를 참고하여 설명한다.Hereinafter, upgrade of the base model in each edge server 20 and sharing of the upgraded base model will be described with reference to FIGS. 8 and 9 .

도 8은 도 6의 하나의 에지 서버가 베이스 모델을 업그레이드하는 것을 나타내는 순서도이고, 도 9는 본 발명의 일 실시예에 따른 다른 에지 서버의 업그레이드 모델 공유 방법을 나타내는 순서도이다.8 is a flowchart illustrating that one edge server of FIG. 6 upgrades a base model, and FIG. 9 is a flowchart illustrating a method of sharing an upgrade model of another edge server according to an embodiment of the present invention.

먼저, 도 8을 참고하면, 하나의 에지 서버(20)는 클라우드 서버(10)로부터 그룹화된 베이스 모델을 수신하면, 베이스 모델을 해당 에지 서버(20)가 관제하는 복수의 이종 로봇(30)에 적합하도록 튜닝한다.First, referring to FIG. 8 , when one edge server 20 receives a grouped base model from the cloud server 10, the base model is transmitted to a plurality of heterogeneous robots 30 controlled by the corresponding edge server 20. tune to fit

일 예로, 도 5의 제1 에지 서버(21)와 같이 모든 모델이 필요한 경우, 별도의 튜닝 없이 사용 가능하며, 제2 에지 서버(22)와 같이 제어 지능 모델을 불활성화하는 방법으로 튜닝할 수 있다.For example, if all models are required, as in the first edge server 21 of FIG. 5, it can be used without additional tuning, and can be tuned by inactivating the control intelligence model as in the second edge server 22. there is.

이와 같이 튜닝된 베이스 모델에 대하여, 복수의 로봇(30)에 적용하여 제어를 수행할 때, 딥러닝 에러 학습을 위한 임계값 및 최소 데이터 수를 설정한다(S51).For the base model thus tuned, when applying control to a plurality of robots 30, a threshold value and minimum data number for deep learning error learning are set (S51).

구체적으로, 임계값(Eth) 및 최소 데이터 수(N)을 설정할 수 있다.Specifically, a threshold value (Eth) and a minimum data number (N) may be set.

임계값(Eth)은 각각의 베이스 모델에 대하여 수신되는 값 중 에러의 값으로 분류된 값들의 선별을 위한 기준값으로 정의될 수 있으며, 최소 데이터 수(N)는 딥러닝 모델 학습이 가능한 최소 데이터 수로 정의될 수 있다.The threshold value (Eth) may be defined as a reference value for selecting values classified as error values among values received for each base model, and the minimum number of data (N) is the minimum number of data capable of learning the deep learning model. can be defined

이때, 각각의 모델에 대하여 임계 값(Eth)과 최소 데이터 수(N)가 서로 다르게 설정될 수 있다.In this case, the threshold value (Eth) and the minimum data number (N) may be set differently for each model.

다음으로, 에지 서버(20)는 각각의 모델을 모두 활용하여 복수의 이종 로봇(30)의 제어를 수행한다(S52).Next, the edge server 20 utilizes all of the respective models to control the plurality of heterogeneous robots 30 (S52).

이때, 에지 서버(20)가 각 로봇(30)에 전송하는 입력값 및 각 로봇(30)으로부터 출력되는 출력값 과 에러값(E)을 각각 수신한다.At this time, the edge server 20 receives an input value transmitted to each robot 30, an output value output from each robot 30, and an error value E.

이와 같은 입력값, 출력값 및 에러값(E)은 각 서비스 또는 각 기능의 진행마다 수신가능하며, 이벤트 발생마다 수신가능하다.Such an input value, an output value, and an error value E can be received whenever each service or function progresses, and can be received whenever an event occurs.

에지 서버(20)는 하나의 모델에 대하여, 각각의 에러값(E)을 임계값(Eth)과 비교한다(S53).The edge server 20 compares each error value (E) with a threshold value (Eth) for one model (S53).

이대, 에러값(E)이 임계값(Eth)보다 큰 경우, 이는 참인 것으로 판단하여, 학습 데이터로 저장하고, 데이터 수(n=n+1)를 카운트한다(S54.) In this case, if the error value E is greater than the threshold value Eth, it is determined to be true, stored as learning data, and the number of data (n=n+1) is counted (S54.)

이와 같이 연속적으로 데이터들에 대한 에러값(E)이 임계값(Eth)보다 큰지 여부를 판단하면서 카운트된 데이터 수가 최소 데이터 수(N)를 충족하지 않으면 다음 데이터들을 읽어들여 다시 에러값(E)에 대한 참/거짓을 판단하고, 임계값(Eth)보다 큰 에러값의 데이터 수가 최소 데이터 수(N)를 충족하면 딥러닝 모델 학습이 가능한 상태로 판단하여 해당 모델의 딥러닝 학습을 통한 업그레이드를 수행한다(S55).In this way, while determining whether the error value (E) for the consecutive data is greater than the threshold value (Eth), if the number of counted data does not meet the minimum number of data (N), the next data is read and the error value (E) , and if the number of data with an error value greater than the threshold value (Eth) meets the minimum number of data (N), it is determined that the deep learning model can be trained, and the model is upgraded through deep learning learning. It is performed (S55).

이때, 에지 서버(20)는 추가된 에러값들과 함께 각 노드 수, layer 수, 활성화 함수(activation function) 값들을 변경하면서 업그레이드 가능하며, 이때, 활성화 함수는 복수의 후보군을 미리 저장하여 활용 가능하다(S56).At this time, the edge server 20 can be upgraded while changing the number of nodes, the number of layers, and activation function values along with the added error values. At this time, the activation function can store and utilize a plurality of candidate groups in advance. do (S56).

일 예로, 해당 음성 인식 모델을 적용하면서 에러값이 최소 데이터 값 이상으로 발생하는 경우, 그에 따라 다른 활성화 함수를 적용하여 에러를 최소화하도록 프로그램할 수 있다.For example, when an error value greater than or equal to a minimum data value occurs while applying the corresponding voice recognition model, a program may be performed to minimize the error by applying another activation function accordingly.

이와 같이 업그레이드된 모델은 version 2(V2)로 에지 서버(20)의 메모리(101)에 저장될 수 있으며, 이를 이전 버전인 version 1(V1)과 대체하여 활용할 수 있다.The upgraded model may be stored in the memory 101 of the edge server 20 as version 2 (V2), and may be used by replacing the previous version, version 1 (V1).

에지 서버(20)는 업그레이드된 모델에 대하여 변경이 이루어지면, 이와 같은 변경 내역을 클라우드 서버(10)에 전송하고, 다시 이종 로봇(30)을 관제한다(S57).When a change is made to the upgraded model, the edge server 20 transmits the change history to the cloud server 10 and controls the heterogeneous robot 30 again (S57).

이와 같이, 각각의 에지 서버(20)가 고유의 피드백에 따라 베이스 모델을 업그레이드함으로써 환경에 가장 최적화된 버전의 모델링이 가능하며 기본 모델을 클라우드 서버(10)로 전송받아 업그레이드하는 것으로서 베이스 모델 자체를 생성하기 위한 매우 많은 연산이 요구되지 않는다.In this way, each edge server 20 upgrades the base model according to its own feedback, so that the most optimized version for the environment can be modeled, and the base model itself is upgraded by receiving and upgrading the base model to the cloud server 10. It does not require very many operations to create.

또한, 각각의 활성화 함수 및 변경 옵션이 이미 저장되어 있어 이를 변경하는 것으로 업그레이드가 가능하여 비교적 간단한 업그레이드가 가능하다.In addition, since each activation function and change option are already stored, it is possible to upgrade by changing them, enabling a relatively simple upgrade.

이와 같이, 특정 에지 서버(20)에서 업그레이드된 베이스 모델은 유사한 로봇(30)을 관제하는 다른 에지 서버(20)에 공유 가능하다.In this way, the upgraded base model in a specific edge server 20 can be shared with other edge servers 20 that control similar robots 30 .

구체적으로 도 9를 참고하면, 에지서버 A(21)에서 모델 업그레이드가 발생한 경우(S200), 에지 서버 A(21)는 클라우드 서버(10)로 이와 같은 업그레이드 변경 내역을 전송한다(S201).Specifically, referring to FIG. 9 , when a model upgrade occurs in the edge server A 21 (S200), the edge server A 21 transmits such upgrade change details to the cloud server 10 (S201).

이때, 에지 서버 A(21)는 다른 에지 서버(22)와 통신 필요성의 발생 이벤트가 발생하였음을 통보할 수 있다.At this time, the edge server A 21 may notify the other edge server 22 that an event requiring communication has occurred.

즉, 해당 모델에 오류가 많이 발생하여 다른 에지 서버(22)에서 유사한 에러 발생이 예상되는 바, 이와 같은 에러를 방지하기 위한 모델 업그레이드의 필요성을 클라우드 서버(10)에 전송한다.That is, since a lot of errors occur in the model and similar errors are expected to occur in other edge servers 22, the need for model upgrade to prevent such errors is transmitted to the cloud server 10.

또한, 에지 서버 A(21)는 업그레이드한 모델에 대하여 업그레이드한 베이스 모델 전체가 아닌 변경점 및 관련된 로봇(30) 모델명을 전송한다(S202).In addition, the edge server A 21 transmits the changed points and the model name of the robot 30 related to the upgraded model, not the entire upgraded base model (S202).

즉, 업그레이드된 변경점에 대한 정보 및 관련 로봇(30) 모델만을 전송함으로써, 클라우드 서버(10)는 해당 정보에 기초하여 이와 같이 업그레이드한 베이스 모델의 적용이 요구되는 에지 서버(20)를 선별한다(S203).That is, by transmitting only the information on the upgraded change point and the related robot 30 model, the cloud server 10 selects the edge server 20 for which the application of the upgraded base model is required based on the information ( S203).

즉, 클라우드 서버(10)는 동일한 로봇(30)을 관제하는 다른 에지 서버(22)들을 선별할 수 있으며, 해당 업그레이드된 모델을 주로 활용하는 에지 서버(22)를 선별할 수도 있다.That is, the cloud server 10 may select other edge servers 22 that control the same robot 30, and may select an edge server 22 that mainly utilizes the upgraded model.

이때, 클라우드 서버(10)는 각 에지 서버(20)의 존 별 관련성을 참고하여, 업그레이드한 에지 서버 A(21)가 속한 존 내의 에지 서버(22)들에 대하여만 선별을 진행할 수 있으나, 이에 한정되는 것은 아니다.At this time, the cloud server 10 may select only the edge servers 22 in the zone to which the upgraded edge server A 21 belongs by referring to the relevance of each edge server 20 for each zone. It is not limited.

이와 같이, 클라우드 서버(10)가 필요한 에지 서버(20)를 선별하여, 해당 에지 서버(22)에 대한 정보를 에지 서버 A(21)에 전송한다(S204).In this way, the cloud server 10 selects the required edge server 20 and transmits information about the corresponding edge server 22 to the edge server A 21 (S204).

에지서버 A(21)는 선별된 에지 서버들(22)에 대한 정보, 즉 IP 주소등을 수신하고, 해당 에지 서버(22)들에 대하여 업그레이드한 베이스 모델의 전송을 준비한다.The edge server A 21 receives information about the selected edge servers 22, that is, IP addresses, etc., and prepares to transmit the upgraded base model to the corresponding edge servers 22.

한편, 클라우드 서버(10)는 선별된 에지 서버(22)들에 대하여 업그레이드 베이스 모델의 전송을 예정한다(S205).Meanwhile, the cloud server 10 schedules transmission of the upgrade base model to the selected edge servers 22 (S205).

즉, 각각의 선별된 에지 서버(22)에 해당 베이스 모델의 업그레이드가 발생하였음을 통지하고, 에지 서버 A(21)로부터 업그레이드된 베이스 모델의 전송될 것을 알림 한다.That is, each selected edge server 22 is notified that an upgrade of the corresponding base model has occurred, and transmission of the upgraded base model from the edge server A 21 is notified.

각각 선별된 에지 서버(22)들은 이와 같은 클라우드 서버(10)의 알림에 의해 해당 업그레이드한 베이스 모델의 수신을 준비한다.Each of the selected edge servers 22 prepares to receive the upgraded base model by notification from the cloud server 10 .

이때, 에지 서버 A(21)는 선별된 에지 서버들(22)에 딥러닝 모델 변경 및 관련 로봇(30) 모델명을 통지하고, 업그레이드한 베이스 모델로의 업데이트를 준비할 것을 요청할 수 있다(S206).At this time, the edge server A 21 may notify the selected edge servers 22 of the deep learning model change and the model name of the related robot 30, and request preparation of an update to the upgraded base model (S206). .

선별된 에지 서버(22)들은 현재 저장되어 있는 딥러닝 베이스 모델을 temp에 이동시켜 일시적으로 저장한다(S207).The selected edge servers 22 move the currently stored deep learning base model to temp and temporarily store it (S207).

다음으로 선별된 에지 서버(22)들은 각각 에지 서버 A(21)에 준비 완료를 회신하고 업데이트 요청을 전송한다(S208).Next, each of the selected edge servers 22 returns a completion of preparation to the edge server A 21 and transmits an update request (S208).

에지 서버 A(21)는 각각의 선별된 에지 서버(22)에 업그레이드된 딥러닝 모델을 배포한다(S209).The edge server A 21 distributes the upgraded deep learning model to each selected edge server 22 (S209).

선별된 에지 서버(22)는 업그레이드된 딥러닝 모델을 수신하면, 해당 모델을 저장하고 시운전한다.Upon receiving the upgraded deep learning model, the selected edge server 22 stores and test-runs the model.

해당 업그레이드된 딥러닝 모델의 시행에 오류가 없으면, temp를 폐기하여 이전 딥러닝 베이스 모델을 삭제한다(S210).If there is no error in the implementation of the upgraded deep learning model, temp is discarded to delete the previous deep learning base model (S210).

이와 같은 동작으로 딥러닝 베이스 모델의 업데이트를 수행하고, 클라우드 서버(10)로 업데이트된 모델의 버전을 version2(V2)로 통보한다(S211).In this way, the deep learning base model is updated, and the version of the updated model is notified to the cloud server 10 as version 2 (V2) (S211).

이때, 에지 서버 A(21)에도 모델 업데이트 완료를 통보한다(S212).At this time, the completion of the model update is notified to the edge server A 21 (S212).

이와 같이 선별된 에지 서버(22)는 클라우드 서버(10)로부터 수신된 베이스 모델을 튜닝하여 각각 실행하면서 다른 에지 서버(20)로부터의 업그레이드 정보 및 선별 정보가 수신되면 해당 업그레이드된 모델을 수신하여 튜닝된 베이스 모델을 다음 버전으로 업데이트하고 업그레이드된 버전으로 해당 영역의 로봇(30)들을 관제할 수 있다.As such, the selected edge server 22 tunes and executes the base model received from the cloud server 10, and when upgrade information and selection information are received from other edge servers 20, the upgraded model is received and tuned. The updated base model can be updated to the next version and the robots 30 in the corresponding area can be controlled with the upgraded version.

또한, 각각의 에지 서버(20)는 업그레이드된 버전으로의 제어 시에도 도 8과 같이 소정 데이터 수의 카운트 및 에러 판단에 의해 각각 다음 버전으로 딥러닝하여 모델을 업그레이드할 수 있으며, 이 또한 다른 에지 서버(20)와 공유 가능하다.In addition, even when controlling to the upgraded version, each edge server 20 can upgrade the model by deep learning to the next version by counting a predetermined number of data and determining an error, as shown in FIG. It can be shared with the server 20.

본 발명의 실시예는 두 개 이상의 에지 서버(20) 사이에서 지능을 공유함으로써, 서로 각각의 환경에서 진화하면서 진화된 모델을 공유하여 연속적으로 업그레이드 가능하다. In an embodiment of the present invention, by sharing intelligence between two or more edge servers 20, it is possible to continuously upgrade by sharing an evolved model while evolving in each environment.

따라서, 클라우드 서버(10)에 버전업되는 모델의 저장 없이, 특징점과 히스토리만을 저장하므로 클라우드 서버(10)의 저장 공간이 확보될 수 있다.Accordingly, since only feature points and history are stored in the cloud server 10 without storing a model to be upgraded, the storage space of the cloud server 10 can be secured.

또한, 실질적으로 필요한 에지 서버(20) 단에서 업그레이드가 이루어짐으로써 적응형 모델링이 가능하다. In addition, adaptive modeling is possible by performing an upgrade at the edge server 20 that is actually necessary.

본 발명에 따른 로봇 시스템은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.The robot system according to the present invention is not limited to the configuration and method of the embodiments described above, but all or part of each embodiment is selectively combined so that various modifications can be made. may be configured.

한편, 본 발명의 실시예에 따른 로봇 시스템의 제어 방법은, 프로세서가 읽을 수 있는 기록매체에 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Meanwhile, the control method of the robot system according to an embodiment of the present invention can be implemented as a processor-readable code on a processor-readable recording medium. The processor-readable recording medium includes all types of recording devices in which data readable by the processor is stored. Examples of the processor-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., and also include those implemented in the form of carrier waves such as transmission through the Internet. . In addition, the processor-readable recording medium is distributed in computer systems connected through a network, so that the processor-readable code can be stored and executed in a distributed manner.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.In addition, although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and the technical field to which the present invention belongs without departing from the gist of the present invention claimed in the claims. Of course, various modifications are possible by those skilled in the art, and these modifications should not be individually understood from the technical spirit or perspective of the present invention.

10: 클라우드 서버 20: 에지 서버
30: 로봇
10: cloud server 20: edge server
30: robot

Claims (20)

임의적으로 분할되어 있는 복수의 공간에 배치되어 있는 복수의 로봇;
상기 복수의 로봇에 적용 가능한 제어 베이스 모델을 생성하고, 배포하는 클라우드 서버; 및
각각의 공간에 할당되며, 상기 클라우드 서버와 송수신하며, 상기 제어 베이스 모델을 수신하고 상기 공간의 복수의 로봇에 따라 업그레이드하여 업그레이드된 제어 모델로 상기 복수의 로봇을 제어하는 복수의 에지 서버
를 포함하며,
상기 에지 서버는 업그레이드된 제어 모델은 다른 에지 서버에 직접 전송되는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
A plurality of robots disposed in a plurality of spaces arbitrarily divided;
a cloud server generating and distributing a control base model applicable to the plurality of robots; and
A plurality of edge servers assigned to each space, transmitting and receiving with the cloud server, receiving the control base model and upgrading according to the plurality of robots in the space to control the plurality of robots with the upgraded control model
Including,
The edge server is a cloud-based robot system, characterized in that the upgraded control model is directly transmitted to another edge server.
제1항에 있어서,
상기 복수의 로봇은 서로 다른 종류의 로봇을 포함하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 1,
The plurality of robots are cloud-based robot systems, characterized in that they include different types of robots.
제2항에 있어서,
상기 제어 베이스 모델은 다른 종류의 상기 로봇의 복수의 기능에 대한 각각의 제어 모델이 패키징되어 있는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 2,
The control base model is a cloud-based robot system, characterized in that each control model for a plurality of functions of the robot of a different type is packaged.
제1항에 있어서,
상기 에지 서버는 상기 제어 베이스 모델을 수신하고, 상기 에지 서버에 의해 관제되는 로봇의 종류에 따라 상기 제어 베이스 모델을 튜닝하여 실행하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 1,
The cloud-based robot system, characterized in that the edge server receives the control base model, tunes and executes the control base model according to the type of robot controlled by the edge server.
제4항에 있어서,
상기 에지 서버는 튜닝된 상기 제어 베이스 모델에 대한 딥러닝 에러 학습을 수행하여 업그레이드된 제어 모델을 생성하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 4,
The cloud-based robot system, characterized in that the edge server generates an upgraded control model by performing deep learning error learning on the tuned control base model.
제5항에 있어서,
상기 클라우드 서버는 상기 업그레이드된 제어 모델에 대한 정보를 수득하고, 상기 업그레이드된 제어 모델이 적용되는 다른 에지 서버를 선별하여 상기 에지 서버 사이에 직접 상기 업그레이드된 제어 모델의 전송하도록 하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 5,
The cloud server obtains information on the upgraded control model, selects another edge server to which the upgraded control model is applied, and transmits the upgraded control model directly between the edge servers Cloud, characterized in that based robotic system.
제6항에 있어서,
상기 클라우드 서버는 상기 업그레이드한 제어 모델이 적용되는 로봇이 포함되어 있는 상기 에지 서버를 선별하여 상기 업그레이드된 제어 모델을 전송하도록하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 6,
The cloud-based robot system, characterized in that the cloud server selects the edge server containing the robot to which the upgraded control model is applied and transmits the upgraded control model.
제7항에 있어서,
상기 에지 서버는 제어 베이스 모델을 실행하면서 임계값을 초과하는 에러 값이 소정 수효 이상인 때, 상기 딥러닝 에러 학습을 수행하여 상기 업그레이드된 제어 모델을 생성하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 7,
Wherein the edge server generates the upgraded control model by performing the deep learning error learning when an error value exceeding a threshold value is more than a predetermined number while executing the control base model Cloud-based robot system.
제1항에 있어서,
상기 클라우드 서버는 복수의 상기 에지 서버를 분류하여 복수의 그룹으로 관리하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 1,
The cloud-based robot system, characterized in that the cloud server classifies a plurality of the edge servers and manages them into a plurality of groups.
제9항에 있어서,
하나의 그룹은 소정의 거리 또는 소정의 응답 시간 내에 위치하는 것을 특징으로 하는 클라우드 기반 로봇 시스템.
According to claim 9,
One group is a cloud-based robot system, characterized in that located within a predetermined distance or predetermined response time.
임의적으로 분할되어 있는 복수의 공간에 배치되어 있는 복수의 로봇을 제어하는 클라우드 기반 로봇 제어 방법에 있어서,
클라우드 서버에서 상기 복수의 로봇에 적용 가능한 제어 베이스 모델을 생성하는 단계;
각각의 공간에 할당되어 있는 에지 서버로 상기 제어 베이스 모델이 배포되는 단계;
상기 에지 서버에서 상기 공간의 복수의 로봇에 따라 상기 제어 베이스 모델을 업그레이드하는 단계;
상기 에지 서버에서 상기 업그레이드된 제어 모델을 다른 에지 서버에 직접 전송하는 단계; 및
상기 에지 서버에서 상기 업그레이드된 제어 모델로 상기 복수의 로봇을 제어하는 단계
를 포함하는 클라우드 기반 로봇 제어 방법.
In the cloud-based robot control method for controlling a plurality of robots disposed in a plurality of spaces that are arbitrarily divided,
generating a control base model applicable to the plurality of robots in a cloud server;
distributing the control base model to an edge server allocated to each space;
upgrading the control base model according to the plurality of robots in the space at the edge server;
directly transmitting the upgraded control model from the edge server to another edge server; and
Controlling the plurality of robots with the upgraded control model in the edge server.
Cloud-based robot control method comprising a.
제11항에 있어서,
상기 복수의 로봇은 서로 다른 종류의 로봇을 포함하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 11,
The plurality of robots cloud-based robot control method, characterized in that including different types of robots.
제12항에 있어서,
상기 제어 베이스 모델 생성 단계는, 다른 종류의 상기 로봇의 복수의 기능에 대한 각각의 제어 모델을 생성하여 패키징하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 12,
The control base model generating step is a cloud-based robot control method, characterized in that for packaging by generating each control model for a plurality of functions of the different types of the robot.
제11항에 있어서,
상기 에지 서버에서 상기 제어 베이스 모델을 수신하고, 상기 에지 서버에 의해 관제되는 로봇의 종류에 따라 상기 제어 베이스 모델을 튜닝하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 11,
The cloud-based robot control method further comprising receiving the control base model from the edge server and tuning the control base model according to the type of robot controlled by the edge server.
제14항에 있어서,
상기 업그레이드하는 단계는,
튜닝된 상기 제어 베이스 모델에 대한 딥러닝 에러 학습을 수행하여 업그레이드된 제어 모델을 생성하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 14,
The upgrade step is
A cloud-based robot control method, characterized in that for generating an upgraded control model by performing deep learning error learning on the tuned control base model.
제15항에 있어서,
상기 클라우드 서버에서 상기 업그레이드된 제어 모델에 대한 정보를 수득하는 단계,
상기 업그레이드된 제어 모델이 적용되는 다른 에지 서버를 선별하는 단계,
업그레이드한 에지 서버로 선별된 다른 에지 서버의 정보를 전송하는 단계, 그리고
상기 업그레이드한 에지 서버로부터 상기 선별된 다른 에지 서버로 직접 상기 업그레이드된 제어 모델을 전송하는 단계
를 포함하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 15,
Obtaining information about the upgraded control model from the cloud server;
Selecting another edge server to which the upgraded control model is applied;
Transmitting information of other selected edge servers to the upgraded edge server, and
Transmitting the upgraded control model directly from the upgraded edge server to the selected other edge server.
Cloud-based robot control method comprising a.
제16항에 있어서,
상기 다른 에지 서버를 선별하는 단계는,
상기 클라우드 서버는 상기 업그레이드한 제어 모델이 적용되는 로봇이 포함되어 있는 에지 서버를 선별하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 16,
The step of selecting the other edge server,
The cloud-based robot control method, characterized in that the cloud server selects an edge server containing a robot to which the upgraded control model is applied.
제17항에 있어서,
상기 업그레이드 단계는,
상기 에지 서버에서 제어 베이스 모델을 실행하면서 임계값을 초과하는 에러 값이 소정 수효 이상인 때, 상기 딥러닝 에러 학습을 수행하여 상기 업그레이드된 제어 모델을 생성하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 17,
The upgrade step is
When the error value exceeding the threshold value is more than a predetermined number while executing the control base model in the edge server, the deep learning error learning is performed to generate the upgraded control model. Cloud-based robot control method.
제11항에 있어서,
상기 클라우드 서버에서 복수의 상기 에지 서버를 분류하여 그룹핑하는 단계를 더 포함하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 11,
Cloud-based robot control method further comprising the step of classifying and grouping a plurality of the edge servers in the cloud server.
제19항에 있어서,
하나의 그룹은 소정의 거리 또는 소정의 응답 시간 내에 위치하는 것을 특징으로 하는 클라우드 기반 로봇 제어 방법.
According to claim 19,
A cloud-based robot control method, characterized in that one group is located within a predetermined distance or predetermined response time.
KR1020210096536A 2021-07-22 2021-07-22 Different typed robot system having edge server and cloud server and control method thereof KR20230015144A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210096536A KR20230015144A (en) 2021-07-22 2021-07-22 Different typed robot system having edge server and cloud server and control method thereof
PCT/KR2022/009756 WO2023003226A1 (en) 2021-07-22 2022-07-06 Heterogeneous robot system comprising edge server and cloud server, and method for controlling same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210096536A KR20230015144A (en) 2021-07-22 2021-07-22 Different typed robot system having edge server and cloud server and control method thereof

Publications (1)

Publication Number Publication Date
KR20230015144A true KR20230015144A (en) 2023-01-31

Family

ID=85109321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210096536A KR20230015144A (en) 2021-07-22 2021-07-22 Different typed robot system having edge server and cloud server and control method thereof

Country Status (1)

Country Link
KR (1) KR20230015144A (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200050951A1 (en) 2018-08-09 2020-02-13 International Business Machines Corporation Collaborative distributed machine learning
US20200079898A1 (en) 2015-12-22 2020-03-12 Carbon, Inc. Cyclic ester dual cure resins for additive manufacturing
KR20200063340A (en) 2018-11-22 2020-06-05 한국클라우드컴퓨팅연구조합 Method and system that machine learning-based quality inspection using the cloud

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200079898A1 (en) 2015-12-22 2020-03-12 Carbon, Inc. Cyclic ester dual cure resins for additive manufacturing
US20200050951A1 (en) 2018-08-09 2020-02-13 International Business Machines Corporation Collaborative distributed machine learning
KR20200063340A (en) 2018-11-22 2020-06-05 한국클라우드컴퓨팅연구조합 Method and system that machine learning-based quality inspection using the cloud

Similar Documents

Publication Publication Date Title
US11413764B2 (en) Serving robot and method for receiving customer using the same
US8428777B1 (en) Methods and systems for distributing tasks among robotic devices
US10507577B2 (en) Methods and systems for generating instructions for a robotic system to carry out a task
US20170083005A1 (en) Methods and Systems for Multirobotic Management
US10168674B1 (en) System and method for operator control of heterogeneous unmanned system teams
US20170076194A1 (en) Apparatuses, methods and systems for defining hardware-agnostic brains for autonomous robots
US8886829B1 (en) Methods and systems for robot cloud computing using slug trails
Schwartz et al. Hybrid teams: flexible collaboration between humans, robots and virtual agents
US20180202819A1 (en) Automatic routing to event endpoints
US11433548B2 (en) Robot system and control method thereof
US11210567B2 (en) Artificial intelligence apparatus and method for recognizing object
Sharma et al. Path planning for robots: an elucidating draft
Zeb et al. Towards defining industry 5.0 vision with intelligent and softwarized wireless network architectures and services: A survey
JP2022502791A (en) Systems and methods for estimating robot posture, robots, and storage media
KR20230015144A (en) Different typed robot system having edge server and cloud server and control method thereof
Mendes et al. Automatic wireless mapping and tracking system for indoor location
KR20230015145A (en) Different typed robot system having edge server and cloud server and control method thereof
KR20210042537A (en) Method of estimating position in local area in large sapce and robot and cloud server implementing thereof
KR20210073001A (en) Robot and robot system
Afrin et al. Dynamic Task Allocation for Robotic Edge System Resilience Using Deep Reinforcement Learning
Subramanian et al. Design of navigation control architecture for an autonomous mobile robot agent
US10635981B2 (en) Automated movement orchestration
US20220335714A1 (en) Autonomous agent task priority scheduling
US20230089452A1 (en) Apparatuses, computer-implemented methods, and computer program products for improved object pathing
Bhushan et al. The Industrial Internet of Things: Advanced Analytic Framework

Legal Events

Date Code Title Description
A201 Request for examination