KR102038052B1 - Method for Collective Decision Making and Robot Performing the Same - Google Patents

Method for Collective Decision Making and Robot Performing the Same Download PDF

Info

Publication number
KR102038052B1
KR102038052B1 KR1020190046939A KR20190046939A KR102038052B1 KR 102038052 B1 KR102038052 B1 KR 102038052B1 KR 1020190046939 A KR1020190046939 A KR 1020190046939A KR 20190046939 A KR20190046939 A KR 20190046939A KR 102038052 B1 KR102038052 B1 KR 102038052B1
Authority
KR
South Korea
Prior art keywords
robot
robots
byzantine
data
decision
Prior art date
Application number
KR1020190046939A
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 KR1020190046939A priority Critical patent/KR102038052B1/en
Application granted granted Critical
Publication of KR102038052B1 publication Critical patent/KR102038052B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

Disclosed is a collective decision-making method of a plurality of robots cooperating with each other for a target task to perform individual tasks. According to an embodiment of the present invention, the collective decision-making method comprises: a step where the robots generate individual decision-making data required to achieve the target task based on collected sensor data; a step where the robots sample the individual decision-making data generated by the robots to acquire individual decision-making sample data; a step where the robots distinguish a Byzantine robot which is a robot disturbing achievement of the target task based on the individual decision-making sample data; and a step where the remaining robots among the plurality of robots excluding a robot determined as the Byzantine robot in accordance with distinguishing results of the robots derive collective decision-making data as a performing result for the target task based on the individual decision-making data of the remaining robots.

Description

군집 의사결정 방법 및 이를 수행하는 로봇{Method for Collective Decision Making and Robot Performing the Same}Method for Collective Decision Making and Robot Performing the Same}

본 개시는 군집 로봇 시스템에서의 군집 의사결정 방법 및 이를 수행하는 로봇에 관한 것이다.The present disclosure relates to a cluster decision method in a cluster robot system and a robot performing the same.

블록체인 기술은 분산원장 기술(Distributed Ledger Technology)의 하나로, 분산 데이터베이스, 해시 암호화 및 노드 간 합의 알고리즘 기술을 적용하여 비동기 네트워크와 분산화된 환경에서 시스템의 신뢰성과 안정성을 증가시킨다. 더욱 상세하게, 블록체인 기술은 데이터를 자산(Asset)으로 간주하여 트랜잭션의 형태로 블록에 담아 블록 간 해시 체인(Hash Chain)을 형성하여 각 노드에 저장하며, 시간 순서에 따라 데이터 내역을 기록하고, 블록 생성 시에 노드 간 합의를 요구한다. 이에 따라, 보호 및 관리되어야 할 시스템의 다양한 형태의 자산 이력을 추적할 수 있으며, 노드 간 합의를 통해 외부에 의한 데이터 위변조를 방지할 수 있어 해킹으로부터 강건하다. 또한, 애플리케이션 기능으로서 개발자가 직접 계약 조건과 내용을 코딩할 수 있는 스마트 계약이 존재한다.Blockchain technology is one of the distributed ledger technologies. It applies distributed database, hash encryption and inter-node consensus algorithm technology to increase the reliability and stability of the system in asynchronous network and distributed environment. More specifically, blockchain technology regards data as an asset, puts it in blocks in the form of transactions, forms a hash chain between blocks, stores them in each node, records the data in chronological order, For example, when a block is created, an agreement between nodes is required. As a result, it is possible to track the history of various forms of the system to be protected and managed, and it is robust from hacking because it prevents data forgery by outside through agreement between nodes. In addition, smart contracts exist that allow developers to code contract terms and content directly as application functions.

군집 로봇 기술(Swarm Robotics)은 전체 군집의 임무를 달성하기 위해, 지능을 가진 분산화된 로봇들이 서로 정보를 교환하며 각자 임무를 수행함으로써, 각 로봇의 낮은 지능에도 불구하고 높은 지능의 군집으로 발현되는 기술이다. 군집 로봇 운용의 장점은 다음과 같다. 예를 들어, 넓고 척박한 야외 환경의 수색 임무 수행에 군집 드론을 활용하는 경우, 개별 드론의 일부 오류 또는 유실이 발생하더라도 군집 내 타 드론으로 대체하여 활용함으로써 사전에 부여받은 수색 임무를 효과적으로 달성할 수 있다. 또한, 드론의 운용 시간이 짧더라도 군집 드론을 릴레이로 활용함으로써 공백 시간을 줄여 임무를 수행할 수 있다. 따라서, 인명 구조, 농업 분야부터 군사 작전과 같은 방위 분야까지 다양한 분야에서 군집 로봇이 활용될 수 있다.Swarm Robotics uses intelligent, decentralized robots to exchange information with each other in order to achieve the mission of the entire cluster. Technology. The advantages of cluster robot operation are as follows. For example, if a cluster drone is used to perform a search mission in a large, sparse outdoor environment, even if some errors or losses of the individual drone occur, it can be replaced with other drones within the cluster to effectively accomplish the previously assigned search mission. Can be. In addition, even if the drone's operation time is short, the cluster drone can be used as a relay to reduce the empty time to perform the mission. Therefore, the community robot can be utilized in various fields from lifesaving and agriculture to defense fields such as military operations.

현재 군집 로봇에 대한 연구는 주로 불확실성이 상대적으로 적고 통제가 가능한 연구실 환경을 기준으로 진행되고 있어, 외부 환경에서 군집 로봇이 활용되는 경우에 여러 위협요소들로 인한 보안 문제가 야기된다. 따라서, 다양한 불확실 변수가 존재하고 통제가 불가능한 외부 환경에서 군집 로봇을 활용하기 위해, 군집 로봇의 보안을 강화하는 연구가 필수적으로 이루어져야 한다. 군집 로봇의 보안에 대한 주요 위협요소의 예로 통신채널의 불안정과 비잔틴(Byzantine) 개체의 존재를 들 수 있다. 비잔틴 개체는 일시적 불능 상태의 개체 또는 군집 임무 실패를 야기하는 악의적 의사결정을 내리는 개체를 뜻하며, 이는 집단 의사결정 또는 군집 의사결정(Collective Decision Making)의 정확성 및 신뢰성을 낮춘다. 따라서, 군집 임무의 달성을 위해 의사결정 과정에서 비잔틴 개체를 색출하여 배제해야 한다.Currently, research on clustered robots is mainly conducted based on relatively low uncertainty and controllable laboratory environment, which causes security problems caused by various threats when clustered robots are used in an external environment. Therefore, in order to utilize the cluster robot in an external environment in which various uncertain variables exist and cannot be controlled, studies to strengthen the security of the cluster robot must be made essential. Examples of major threats to the security of cluster robots include instability in communication channels and the presence of Byzantine entities. Byzantine individuals refer to individuals who are incapacitated or who make malicious decisions that cause cluster mission failures, which lowers the accuracy and reliability of collective decision making or collective decision making. Therefore, byzantine individuals must be identified and excluded from the decision-making process in order to achieve the cluster mission.

대한민국 등록특허공보 제10-1668078호Republic of Korea Patent Publication No. 10-1668078

본 개시는 보안이 강화된 군집 의사결정 방법 및 이를 수행하는 로봇을 제공하고자 한다. 본 개시가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.The present disclosure is to provide a security enhanced cluster decision method and a robot performing the same. The technical problem to be solved by the present disclosure is not limited to the technical problems as described above, and further technical problems can be inferred from the following embodiments.

전술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 일 측면에 따른 군집 의사결정 방법은, 상기 로봇들 각각이, 수집된 센서데이터를 기초로 상기 목표임무의 달성을 위해 필요한 개별 의사결정 데이터를 생성하는 단계; 상기 로봇들 각각이, 상기 로봇들에 의해 생성된 상기 개별 의사결정 데이터들을 샘플링하여 개별 의사결정 샘플데이터들을 획득하는 단계; 상기 로봇들 각각이, 상기 개별 의사결정 샘플데이터들을 기초로 상기 목표임무의 달성을 방해하는 로봇인 비잔틴 로봇을 판별하는 단계; 및 상기 복수의 로봇들 중, 상기 로봇들 각각의 판별 결과에 따라 상기 비잔틴 로봇으로 결정된 로봇을 제외한 나머지 로봇들이, 자신들의 상기 개별 의사결정 데이터들에 기초하여, 상기 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출하는 단계를 포함한다.As a technical means for achieving the above-described technical problem, the cluster decision method according to an aspect of the present disclosure, each of the robots, the individual decision data required for achieving the target mission based on the collected sensor data Generating a; Each of the robots obtaining the individual decision sample data by sampling the individual decision data generated by the robots; Determining, by each of the robots, a Byzantine robot that is a robot that prevents the achievement of the target mission based on the individual decision sample data; And among the plurality of robots, the robots other than the robot determined as the Byzantine robot according to the determination result of each of the robots are clustered as a result of performing the target mission based on their individual decision data. Deriving decision data.

상기 비잔틴 로봇을 판별하는 단계는, 상기 로봇들 각각이, 상기 개별 의사결정 샘플데이터들을 비잔틴 로봇 판별 알고리즘에 적용함으로써 상기 복수의 로봇들로부터 상기 비잔틴 로봇을 분류하고, 분류 결과에 기초하여 상기 비잔틴 로봇을 지목하는 투표 정보를 생성하는 단계; 및 상기 로봇들에 의해 생성된 상기 투표 정보들이 상기 복수의 로봇들 각각에 전달되고, 상기 투표 정보들을 기초로 상기 비잔틴 로봇의 존재 여부에 대해 판단하는 단계를 포함할 수 있다.The determining of the Byzantine robot may include: classifying the Byzantine robots from the plurality of robots by applying the individual decision sample data to the Byzantine robot discrimination algorithm, respectively, based on the classification result. Generating voting information pointing to the question; And transmitting the voting information generated by the robots to each of the plurality of robots, and determining whether the Byzantine robot is present based on the voting information.

상기 비잔틴 로봇의 존재 여부에 대해 판단하는 단계는, 상기 로봇들 각각에 의해 생성된 상기 투표 정보들의 총 개수의 과반수를 초과하는 상기 투표 정보들로부터 상기 비잔틴 로봇으로 지목된 로봇이 존재하는 경우, 해당 로봇을 상기 비잔틴 로봇으로 최종적으로 결정하는 단계를 포함할 수 있다.The determining of the presence of the Byzantine robot may include determining that the Byzantine robot is present from the ballot information exceeding a majority of the total number of the ballot information generated by each of the robots. And finally determining the robot as the Byzantine robot.

상기 비잔틴 로봇 판별 알고리즘은, 준지도 학습 알고리즘이 적용된 적응형 판별 알고리즘으로서 상기 개별 의사결정 샘플데이터를 학습 데이터로 이용할 수 있다.The Byzantine robot discrimination algorithm is an adaptive discrimination algorithm to which a quasi-directed learning algorithm is applied, and the individual decision sample data may be used as learning data.

상기 복수의 로봇들은 블록체인 네트워크를 구성하는 참여노드일 수 있다.The plurality of robots may be participating nodes forming a blockchain network.

상기 개별 의사결정 데이터는, 트랜잭션의 형태로 생성되어, 상기 복수의 로봇들에 의해 검증 및 합의가 이루어진 뒤, 블록에 포함되어 상기 블록체인 네트워크의 블록체인에 추가되는 것일 수 있다.The individual decision data may be generated in the form of a transaction, verified and agreed by the plurality of robots, and then included in a block and added to the blockchain of the blockchain network.

상기 개별 의사결정 샘플데이터는, 상기 블록체인에 대한 쿼리를 통해 조회된 상기 개별 의사결정 데이터를 샘플링하여 획득될 수 있다.The individual decision sample data may be obtained by sampling the individual decision data queried through a query for the blockchain.

본 개시의 다른 측면에 따른 컴퓨터로 읽을 수 있는 기록매체는 전술한 일 측면에 따른 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된다.The computer-readable recording medium according to another aspect of the present disclosure records one or more programs including instructions for executing the method according to the aforementioned aspect.

본 개시의 또 다른 측면에 따른 로봇은 상기 임무를 수행하기 위해 필요한 센서데이터를 수집하는 데이터수집부; 상기 다른 로봇들과 통신하는 통신부; 및 제어부를 포함한다. 상기 제어부는, 수집된 상기 센서데이터를 기초로 상기 목표임무의 달성을 위해 필요한 개별 의사결정 데이터를 생성하고, 상기 다른 로봇들에 의해 생성된 개별 의사결정 데이터들을 샘플링하여 개별 의사결정 샘플데이터들을 획득하고, 상기 개별 의사결정 샘플데이터들을 기초로 상기 목표임무의 달성을 방해하는 로봇인 비잔틴 로봇을 판별하고, 상기 다른 로봇들로부터 수신한 상기 비잔틴 로봇에 대한 각각의 판단 결과 및 자신의 판단 결과에 기초하여 상기 비잔틴 로봇을 최종적으로 결정하고, 최종적으로 결정된 상기 비잔틴 로봇을 제외한 나머지 상기 다른 로봇들에 의해 생성된 개별 의사결정 데이터들 및 자신의 상기 개별 의사결정 데이터를 기초로, 상기 나머지 다른 로봇들과 통신하여 상기 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출한다.According to another aspect of the present disclosure, a robot includes a data collecting unit collecting sensor data necessary to perform the task; Communication unit for communicating with the other robots; And a control unit. The controller generates individual decision data necessary for achieving the target task based on the collected sensor data, and obtains individual decision sample data by sampling the individual decision data generated by the other robots. Determine a Byzantine robot that is a robot that prevents the achievement of the target task based on the individual decision sample data, and based on each judgment result of the Byzantine robot received from the other robots and its own judgment result. Finally determining the Byzantine robot, and based on the individual decision data generated by the other robots except for the finally determined Byzantine robot and its individual decision data, Communicate and make a group decision as a result of performing the mission. To derive the data.

상기 제어부는, 상기 개별 의사결정 샘플데이터들을 비잔틴 로봇 판별 알고리즘에 적용함으로써 상기 다른 로봇들로부터 상기 비잔틴 로봇을 분류하고, 분류 결과에 기초하여 상기 비잔틴 로봇을 지목하는 투표 정보를 생성하고, 상기 다른 로봇들로부터 수신한 투표 정보들 및 자신의 상기 투표 정보를 기초로 상기 비잔틴 로봇의 존재 여부에 대해 판단할 수 있다.The control unit classifies the Byzantine robot from the other robots by applying the individual decision sample data to the Byzantine robot discrimination algorithm, generates voting information for the Byzantine robot based on the classification result, and generates the other robot. The presence of the Byzantine robot can be determined based on the voting information received from them and their own voting information.

상기 제어부는, 상기 다른 로봇들로부터 수신한 투표 정보들 및 자신의 상기 투표 정보를 포함한 총 투표 정보 개수의 과반수를 초과하는 상기 투표 정보들로부터 상기 비잔틴 로봇으로 지목된 로봇이 존재하는 경우, 해당 로봇을 상기 비잔틴 로봇으로 최종적으로 결정할 수 있다.The controller, when there is a robot designated as the Byzantine robot from the voting information received from the other robots and the voting information exceeding a majority of the total voting information including the own voting information, the robot Can finally be determined by the Byzantine robot.

본 개시의 다양한 실시예들에 따른 군집 로봇의 군집 의사결정 방법은, 외부 환경에서의 특정 임무가 주어졌을 때, 개체 관점에서의 의사결정 결과들을 종합하여 군집 의사결정을 도출함으로써 전체 관점에서의 판단을 요구하는 군집 로봇 임무수행을 가능하게 한다.The cluster decision method of the cluster robot according to various embodiments of the present disclosure, when given a specific task in the external environment, by determining the cluster decision by combining the decision results from the individual view point of view from the overall point of view Enables cluster robot missions that require

일부 실시예에 따르면, 목표임무 실패를 유도하는 비잔틴 로봇을 색출하여 군집 의사결정에서 배제함으로써, 군집 의사결정의 정확성 및 신뢰성을 향상시키고 목표임무 달성 가능성을 향상시킬 수 있다.According to some embodiments, the Byzantine robot that induces a target mission failure can be extracted and excluded from the cluster decision, thereby improving the accuracy and reliability of the cluster decision and improving the probability of achieving the target mission.

일부 실시예에 따르면, 복수의 로봇들로 이루어진 메쉬 네트워크에 기반하여 비동기 통신 방식으로 각 로봇의 개별 의사결정 데이터를 관리함으로써, 군집 로봇 임무 수행의 신뢰도를 높일 수 있다.According to some embodiments, by managing individual decision data of each robot in an asynchronous communication method based on a mesh network composed of a plurality of robots, it is possible to increase the reliability of performing a cluster robot task.

일부 실시예에 따르면, 각 로봇의 개별 의사결정 데이터 내역이 블록체인 네트워크 상의 노드들인 다수의 로봇들에 분산 저장되고, 비동기 통신으로 개별 의사결정 데이터가 송수신됨으로써, 군집 의사결정에 사용될 개별 의사결정 내역에 대한 외부로부터의 악의적인 위변조를 방지할 수 있다. 또한, 이러한 실시예에 따르면, 단일지점 고장에 의해 개별 의사결정 데이터 관리가 불가능해지는 상황을 방지할 수 있고, 군집 로봇의 임무 수행 실패의 위험성을 낮출 수 있다.According to some embodiments, individual decision data details of each robot are distributed and stored in multiple robots, which are nodes on a blockchain network, and individual decision data is transmitted and received by asynchronous communication, thereby making individual decision details to be used for cluster decision making. Malicious forgery from the outside can be prevented. In addition, according to this embodiment, it is possible to prevent the situation where the individual decision data management becomes impossible due to a single point of failure, and it is possible to reduce the risk of failure of the group robot to perform the task.

도 1은 일부 실시예에 따른 군집 로봇의 군집 의사결정 과정을 설명하기 위한 예시도이다.
도 2는 일부 실시예에 따른 군집 로봇의 군집 의사결정을 위한 블록체인 네트워크의 개념도이다.
도 3은 일부 실시예에 따른 로봇의 구성을 나타내는 블록도이다.
도 4는 일부 실시예에 따른 군집 의사결정 방법을 나타내는 흐름도이다.
도 5는 일부 실시예에 따른 블록체인 기반 군집 의사결정 방법을 나타내는 흐름도이다.
도 6은 일부 실시예에 따른 비잔틴 로봇 판별 알고리즘을 설명하기 위한 개념도이다.
1 is an exemplary diagram for describing a cluster decision process of a cluster robot according to some embodiments.
2 is a conceptual diagram of a blockchain network for cluster decision making of a cluster robot according to some embodiments.
3 is a block diagram illustrating a configuration of a robot according to some embodiments.
4 is a flowchart illustrating a cluster decision method according to some embodiments.
5 is a flowchart illustrating a blockchain based cluster decision method according to some embodiments.
6 is a conceptual diagram illustrating a Byzantine robot discrimination algorithm according to some embodiments.

이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예들을 상세히 설명하기로 한다. 하기 설명은 실시예들을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 당해 기술분야의 전문가가 용이하게 유추할 수 있는 것은 권리범위에 속하는 것으로 해석된다.Hereinafter, exemplary embodiments will be described in detail with reference to the accompanying drawings. It is to be understood that the following description is only intended to embody the embodiments, but not to limit or limit the scope of the invention. It can be interpreted to fall within the scope of rights that can be easily inferred by those skilled in the art from the detailed description and examples.

본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.Terms such as “consisting of” or “comprising” as used herein are not to be construed as necessarily including all of the various components, or various steps described in the specification, some of the components or some of the steps Should not be included, or should be construed to further include additional components or steps.

본 명세서에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terminology used herein is to select general terms that are currently widely used as possible in consideration of the functions in the present invention, but may vary according to the intention or precedent of the person skilled in the art, the emergence of new technologies and the like. In addition, in certain cases, there is also a term arbitrarily selected by the applicant, in which case the meaning will be described in detail in the description of the invention. Therefore, the terms used in the present invention should be defined based on the meanings of the terms and the contents throughout the present invention, rather than the names of the simple terms.

본 명세서에서, "블록체인"은 무결성을 확보하고 유지하기 위해 순서에 따라 연결된 블록들이 각 로봇의 개별 의사결정 데이터를 암호화 기법과 보안기술을 이용해 협상하는 알고리즘으로 구성된 소프트웨어 요소를 활용하는 원장(Ledger)의 분산 P2P (Peer to Peer)시스템을 의미할 수 있다. 여기서, 분산 P2P 시스템은 분산 시스템의 특수한 형태일 수 있다. 또한, P2P 시스템은 중앙 노드의 조정 없이 네크워크의 모든 노드들이 서로에게 자원(처리 능력, 저장 공간, 데이터 또는 네트워크 대역폭 등)을 제공할 수 있다. 또한, "블록체인"은 각 로봇의 개별 의사결정 데이터를 기록한 원장을 특정 기관의 중앙 서버가 아닌 P2P 네트워크에 분산하여 네트워크 내의 노드들이 공동으로 기록하고 관리하는 분산원장(Distributed Ledger) 기술을 의미할 수 있다. 분산원장은 데이터를 트랜잭션의 형태로 블록에 기록하여, 블록 간 해시 체인으로 블록들을 연결한 연결 리스트(Linked List)를 의미할 수 있다.In the present specification, a "blockchain" is a ledger that utilizes a software element composed of algorithms in which blocks connected in order negotiate individual decision data of each robot by using encryption and security techniques to secure and maintain integrity. ) Can mean a distributed peer-to-peer system. Here, the distributed P2P system may be a special type of distributed system. In addition, a P2P system allows all nodes of a network to provide resources (processing capacity, storage space, data or network bandwidth, etc.) to each other without coordination of a central node. In addition, "blockchain" refers to a distributed ledger technology in which ledgers that record individual decision data of each robot are distributed to P2P networks, not central servers of specific institutions, so that nodes in the network jointly record and manage them. Can be. The distributed ledger may refer to a linked list in which data is written to a block in the form of a transaction and linked the blocks by a hash chain between blocks.

본 명세서에서, "노드"는 블록체인 네트워크 내의 구성요소를 의미할 수 있다. 예를 들면, 노드는 군집 로봇에 대해 주어진 목표임무를 달성하기 위해 소정의 데이터를 수집하고 다른 로봇과 협력하여 다양한 임무를 수행할 수 있는 지능을 가진 이동 가능한 로봇일 수 있다.In the present specification, "node" may mean a component in a blockchain network. For example, a node may be a mobile robot with intelligence that can collect certain data and perform various tasks in cooperation with other robots to achieve a given goal for a clustered robot.

본 명세서에서, "군집 로봇"은 지능을 가지며 이동 가능한 복수의 로봇들로 이루어진 집합체를 의미할 수 있다. 군집 로봇에 속하는 각 로봇은 다른 로봇들과 정보 교환이 가능하며, 군집에 대하여 주어진 임무(이하, "목표임무")를 위해 다른 로봇들과 협력하여 각자의 임무를 수행할 수 있다. 각 로봇은 목표임무와 관련된 개별적인 의사결정(이하, "개별 의사결정")을 스스로 내릴 수 있으며, 다른 로봇들과 서로의 개별적인 의사결정들을 교환하여 최종적으로 군집 로봇 전체의 결론적인 의사결정(이하, "군집 의사결정")을 도출할 수 있다.In the present specification, the "crowd robot" may refer to an assembly composed of a plurality of robots which are intelligent and movable. Each robot belonging to a cluster robot can exchange information with other robots, and can perform its own task in cooperation with other robots for a given task (hereinafter, "target mission") for the cluster. Each robot can make individual decisions (“Individual Decisions”) on its own with regard to its mission, and by exchanging individual decisions with other robots, the final decision of the entire cluster robot (hereinafter, "Cluster decision making").

본 명세서에서, "비잔틴 로봇"은 목표임무에 반하는 의사결정을 내리거나 목표임무 수행을 방해하는 행동을 하는 로봇으로서, 목표임무 수행의 실패를 유도하는 로봇을 의미할 수 있다. 예를 들어, 비잔틴 로봇에는 목표임무 수행의 실패를 야기하는 악의적인 의사결정을 내리는 로봇, 불능 상태에 있어 목표임무 수행을 위해 필요한 의사결정을 내리지 못하는 로봇, 장애 상태에 있어 목표임무 수행을 교란시키는 의사결정을 내리는 로봇 등이 포함될 수 있다.In the present specification, the "byzantine robot" is a robot that makes an action against a target mission or interferes with a target mission, and may mean a robot that induces a failure of the target mission. For example, Byzantine robots can be used to make malicious decisions that lead to failures in task performance, robots that fail to make the necessary decisions to perform target tasks in the disabled state, and disturb the performance of target tasks in the disabled state. Robots that make decisions.

도 1은 일부 실시예에 따른 군집 로봇의 군집 의사결정 과정을 설명하기 위한 예시도이다.1 is an exemplary diagram for describing a cluster decision process of a cluster robot according to some embodiments.

도 1을 참조하면, 군집 로봇의 일 구현예로서 군집 드론(100-1, 100-2, 100-3, 100-4)이 도시되어있다. 본 예시에서 군집 드론(100-1, 100-2, 100-3, 100-4)의 목표임무는 실종자를 수색하여 총 몇 명의 실종자가 존재하는지를 파악하는 것이다. 드론들(100-1, 100-2, 100-3, 100-4) 간의 통신을 위해 비동기 방식의 메쉬 네트워크(Mesh Network)가 형성되며, 각 드론(100-1, 100-2, 100-3, 100-4)의 획득 데이터가 다른 드론들(100-1, 100-2, 100-3, 100-4)과 공유되는 분산 데이터 공유 시스템이 전제된다. 이러한 메쉬 네트워크 및 분산 데이터 공유 시스템은 후술할 본 개시의 다른 실시예들에도 적용될 수 있다.Referring to FIG. 1, cluster drones 100-1, 100-2, 100-3, and 100-4 are illustrated as an embodiment of a cluster robot. In this example, the goal of the cluster drones (100-1, 100-2, 100-3, 100-4) is to search for missing persons to determine the total number of missing persons. An asynchronous mesh network is formed for communication between the drones 100-1, 100-2, 100-3, and 100-4, and each drone 100-1, 100-2, 100-3 is formed. , A distributed data sharing system in which the acquired data of 100-4 is shared with other drones 100-1, 100-2, 100-3, and 100-4. This mesh network and distributed data sharing system may be applied to other embodiments of the present disclosure to be described later.

목표임무는 전체 관점(World View)을 확인할 수 없는 상황에서 개체 관점(Individual View)에서의 판단을 종합하여 수색 지역 내 존재하는 모든 실종자 수를 찾아야 하는 것이다. 예를 들면, 드론들(100-1, 100-2, 100-3, 100-4)의 임무 수행 과정은 다음과 같다. 각 드론(100-1, 100-2, 100-3, 100-4)은 센서를 통해 데이터를 수집하고, 수집한 센서데이터를 분석하여 몇 명의 실종자가 존재하는지에 대한 의사결정에 필요한 데이터를 생성한다. 각 드론(100-1, 100-2, 100-3, 100-4)은 의사결정에 필요한 데이터를 네트워크를 통해 다른 드론들(100-1, 100-2, 100-3, 100-4)과 공유하고 합의하여 군집 의사결정을 도출함으로써, 최종적으로 총 몇 명의 실종자가 존재하는지 판단한다. 즉, 개체 관점에서의 의사결정 결과들을 종합하여 군집 의사결정을 도출함으로써 전체 관점에서의 판단을 가능하게 한다.The mission is to find the total number of missing persons in the searched area by combining judgments from the Individual View in situations where the World View is not available. For example, the mission process of the drones 100-1, 100-2, 100-3, 100-4 is as follows. Each drone (100-1, 100-2, 100-3, 100-4) collects data through the sensor and analyzes the collected sensor data to generate data for decision making on how many missing persons exist. do. Each drone (100-1, 100-2, 100-3, 100-4) uses data necessary for decision making with other drones (100-1, 100-2, 100-3, 100-4) through the network. By sharing and consensus, cluster decisions are made to determine the total number of missing persons. In other words, it is possible to make a decision from the whole point of view by deriving a cluster decision by combining decision results from an individual point of view.

도 1에는 드론이 도시되어 있으나, 이는 예시에 불과하며, 본 개시의 실시예들에 따른 로봇은 드론에 한정되지 않는다.Although a drone is illustrated in FIG. 1, this is merely an example, and a robot according to embodiments of the present disclosure is not limited to a drone.

도 2는 일부 실시예에 따른 군집 로봇의 군집 의사결정을 위한 블록체인 네트워크의 개념도이다. 도 2에 도시된 로봇들의 개수는 예시적인 것으로, 이에 한정되는 것은 아니다.2 is a conceptual diagram of a blockchain network for cluster decision making of a cluster robot according to some embodiments. The number of robots shown in FIG. 2 is exemplary, but is not limited thereto.

본 개시의 실시예들에 따르면, 군집 로봇을 이루는 복수의 로봇들은 블록체인 네트워크를 기반으로 한다. 블록체인 네트워크는 비동기 방식의 메쉬 네트워크로 구성될 수 있으며, 미인증된 외부 참여자를 배제하는 프라이빗 블록체인 네트워크일 수 있다. 각 로봇(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)은 블록체인 네트워크에 참여하는 노드(즉, 참여노드)이자 클라이언트로서 미리 승인 및 등록된 것이며, 목표임무의 달성을 위해 필요한 의사결정 데이터가 기록되는 분산원장을 갖는다. 이와 같은 블록체인 네트워크 기반의 군집 의사결정 시스템은 군집 데이터 관리에 있어 단일지점 고장의 위험성을 최소화할 수 있다.According to embodiments of the present disclosure, a plurality of robots forming a clustered robot are based on a blockchain network. The blockchain network may be configured as an asynchronous mesh network and may be a private blockchain network that excludes unauthorized external participants. Each robot (200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8) is a node participating in the blockchain network (i.e. participating node) It has been approved and registered in advance as a client and has a distributed ledger in which the decision data needed to achieve the target mission is recorded. Such a blockchain network-based cluster decision system can minimize the risk of single point failure in cluster data management.

분산원장에는 모든 로봇들(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)의 의사결정 내역이 블록 형태로 포함될 수 있다. 블록이 생성되기 위해서는, 로봇들(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)이 자신의 개별 의사결정 데이터를 포함하는 의사결정 트랜잭션을 생성하여 참여노드들로 전송하고, 생성된 의사결정 트랜잭션에 대한 참여노드들 간의 합의가 이루어져야 한다.The distributed ledger may include decision-making details of all robots 200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8 in the form of blocks. . In order for the block to be generated, the robots 200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8 contain their individual decision data. A decision transaction must be created and transmitted to the participating nodes, and agreement between the participating nodes on the generated decision transaction must be made.

구체적으로, 의사결정 트랜잭션은 블록체인 클라이언트로서 트랜잭션 생성 권한을 가진 로봇(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)에 의해 생성되고, 생성된 의사결정 트랜잭션에 대한 검증과, 블록체인 참여노드 간 정보 일치 여부를 통한 합의가 이루어지면, 해당 의사결정 트랜잭션을 포함하는 블록의 생성이 완료된다.Specifically, the decision transaction is a robot (200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8) having a transaction creation authority as a blockchain client. After the verification of the generated decision transaction and agreement of the information between the blockchain participating nodes is made, the generation of the block including the decision transaction is completed.

이와 같은 과정을 통해 블록체인 네트워크 내 모든 로봇들(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)의 의사결정 내역이 블록체인에 저장될 수 있으며, 각 로봇(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)은 쿼리(Query)를 통해 블록체인 내 의사결정 내역에 접근할 수 있다.Through this process, the decision history of all robots (200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8) in the blockchain network Can be stored in the blockchain, each robot (200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8) through a query Access to decision history in the blockchain.

일부 실시예들에 따르면, 각 로봇(200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8)은 풀 노드(Full Node) 또는 라이트 노드(Light Node)로서 블록체인 네트워크에 참여할 수 있다.According to some embodiments, each robot 200-1, 200-2, 200-3, 200-4, 200-5, 200-6, 200-7, 200-8 may be a full node or a full node. You can participate in the blockchain network as a light node.

풀 노드는 블록체인 네트워크의 노드로서 수행될 수 있는 대부분의 기능들을 수행할 수 있다. 예를 들면, 풀 노드는 블록체인에 관한 대부분의 정보를 저장하거나, 블록체인 네트워크에 새로 제출된 데이터를 새로운 블록으로 추가할지 여부를 결정하기 위한 검증을 수행할 수 있다.A full node can perform most of the functions that can be performed as a node of a blockchain network. For example, the full node may store most of the information about the blockchain or perform verification to determine whether to add newly submitted data to the blockchain network as a new block.

라이트 노드는 풀 노드와는 달리, 블록체인 네트워크의 노드로서 수행될 수 있는 기능들 중 일부만을 수행할 수 있다. 예를 들면, 라이트 노드는 블록체인에 관한 정보 중 일부 정보를 저장할 수 있으며, 일 예로 블록체인의 모든 블록에 대한 모든 정보를 저장하는 대신 적어도 하나의 블록에 대하여 요약된 일부 정보를 저장할 수 있다. 경우에 따라 라이트 노드는 풀 노드를 통하여 필요한 기능을 수행할 수 있다. 예를 들면, 라이트 노드는 블록체인 네트워크에 새로 제출된 데이터를 새로운 블록으로 추가할지 여부를 결정하기 위한 검증을 수행하지 않을 수 있다. 일부 실시예에서, 라이트 노드는 블록체인에 대한 분산원장 전체를 저장하는 대신, 블록체인에 대한 일부 정보만을 저장하고, 다른 노드(예: 풀 노드)에 저장된 분산원장에 접근하여 블록체인 네트워크의 노드로서 동작할 수 있다.Unlike a full node, a light node may perform only some of the functions that can be performed as a node of a blockchain network. For example, the light node may store some information of the blockchain information. For example, instead of storing all information of all blocks of the blockchain, the light node may store some information summarized for at least one block. In some cases, the light node may perform a necessary function through a full node. For example, the light node may not perform verification to determine whether to add newly submitted data to the blockchain network as a new block. In some embodiments, instead of storing the entire distributed ledger for the blockchain, the light node only stores some information about the blockchain, and accesses the distributed ledger stored in other nodes (e.g., full nodes) to access nodes in the blockchain network. Can operate as

도 3은 일부 실시예에 따른 로봇의 구성을 나타내는 블록도이다. 도 3을 참조하여 설명하는 이하의 내용은 군집 로봇에 포함되는 각각의 로봇에 적용될 수 있다.3 is a block diagram illustrating a configuration of a robot according to some embodiments. The following description described with reference to FIG. 3 may be applied to each robot included in the cluster robot.

일부 실시예에 따르면, 군집 로봇을 구성하는 개별 로봇(200)은 데이터수집부(210), 제어부(220), 통신부(230) 및 저장부(240)를 포함한다.According to some embodiments, the individual robot 200 constituting the clustered robot includes a data collector 210, a controller 220, a communicator 230, and a storage 240.

데이터수집부(210)는 로봇(200)이 동작하는 동안 각종 데이터를 수집한다. 데이터수집부(210)는 임무 수행을 위해 필요한 다양한 데이터수집장치를 포함할 수 있다. 예를 들면, 데이터수집장치는 시각정보, 생체정보, 온/습도정보, 대기정보 등 임무 수행에 필요한 각종 데이터를 수집할 수 있는 하나 이상의 센서 및 장치를 포함할 수 있다. 또한, 데이터수집부(210)는 GPS 위성으로부터 소정의 정보를 수신하여 로봇(200)의 위치를 파악할 수도 있다. 이 경우, 데이터수집부(210)는 하나 이상의 GPS 위성을 포착할 수 있으며, 여러 개의 GPS 위성으로부터 송신되는 정보를 이용하여 보다 정확한 위치정보를 생성할 수 있다.The data collector 210 collects various data while the robot 200 operates. The data collector 210 may include various data collectors necessary for performing a task. For example, the data collecting device may include one or more sensors and devices capable of collecting various data necessary for performing a task such as visual information, biometric information, temperature / humidity information, and atmospheric information. In addition, the data collector 210 may determine the position of the robot 200 by receiving predetermined information from the GPS satellite. In this case, the data collector 210 may capture one or more GPS satellites, and generate more accurate location information by using information transmitted from several GPS satellites.

제어부(220)는 로봇(200)에 포함된 구성요소들의 전반적인 동작을 제어한다. 예를 들면, 제어부(220)는 저장부(240)에 저장된 프로그램들을 실행함으로써, 로봇(200)의 이동 제어 및, 데이터수집부(210), 통신부(230) 및 저장부(240)의 동작 제어를 수행할 수 있다. 제어부(220)는 하나 또는 복수 개의 프로세서에 의하여 구현될 수 있다. 예를 들어, 제어부(220)는 다수의 논리 게이트들의 어레이로 구현될 수 있고, 범용적인 마이크로 프로세서와 마이크로 프로세서에서 실행될 수 있는 프로그램이 저장된 메모리의 조합으로 구현될 수도 있다.The controller 220 controls the overall operation of the components included in the robot 200. For example, the controller 220 executes programs stored in the storage 240 to control movement of the robot 200 and to control operations of the data collector 210, the communicator 230, and the storage 240. Can be performed. The controller 220 may be implemented by one or a plurality of processors. For example, the controller 220 may be implemented as an array of a plurality of logic gates, or may be implemented as a combination of a general purpose microprocessor and a memory storing a program that may be executed in the microprocessor.

일부 실시예에 따르면, 제어부(220)는 데이터수집부(210)에 의해 수집된 데이터를 기초로, 주어진 목표임무의 달성을 위해 필요한 개별 의사결정 데이터를 생성한다. 제어부(220)는 임무 수행 시 주변 환경으로부터 수집한 데이터를 이용하여, 저장부(240)에 미리 저장된 의사결정 알고리즘에 따라 개별 의사결정을 내릴 수 있다.According to some embodiments, the controller 220 generates individual decision data necessary for achieving a given goal based on the data collected by the data collector 210. The controller 220 may make individual decisions according to a decision algorithm stored in advance in the storage unit 240 using data collected from the surrounding environment when performing a task.

일부 실시예에 따르면, 제어부(220)는 개별 의사결정 데이터를 포함하는 의사결정 트랜잭션을 생성하여, 블록체인 네트워크 상의 다른 참여노드들(즉, 다른 로봇들)로 의사결정 트랜잭션을 전송할 수 있다. 제어부(220)는 다른 참여노드들로부터 수신한 의사결정 트랜잭션을 검증하고, 검증된 트랜잭션이 기록된 블록을 블록체인에 추가할지 여부에 대한 합의과정을 수행할 수 있다. 제어부(220)는 합의된 블록을 블록체인에 추가할 수 있다. 이러한 과정을 통해 군집 로봇의 각 로봇들의 모든 개별 의사결정 데이터 내역이 블록체인 네트워크에 저장될 수 있다. 저장된 개별 의사결정 데이터 내역들은 블록체인 노드 간 합의를 통해, 외부 해킹 등에 의한 위변조 시도로부터 보호될 수 있다.According to some embodiments, the control unit 220 may generate a decision transaction including individual decision data and transmit a decision transaction to other participating nodes (ie, other robots) on the blockchain network. The controller 220 may verify a decision transaction received from other participating nodes and perform a consensus process on whether to add a block in which the verified transaction is recorded to the blockchain. The controller 220 may add the agreed block to the blockchain. Through this process, all the individual decision data of each robot of the cluster robot can be stored in the blockchain network. Stored individual decision data histories can be protected from forgery attempts by external hacking through consensus among blockchain nodes.

블록체인 네트워크에 등록된 각 로봇은 저장된 의사결정 내역을 쿼리를 통해 조회할 수 있다. 일부 실시예에 따르면, 제어부(220)는 쿼리를 통해 블록체인 네트워크에 저장된 모든 로봇에 대한 개별 의사결정 데이터들을 획득하고, 획득된 데이터들을 이용하여 임무 수행, 비잔틴 로봇 판별 및 군집 의사결정 도출을 할 수 있다.Each robot registered in the blockchain network can query the stored decision details through queries. According to some embodiments, the control unit 220 obtains individual decision data for all robots stored in the blockchain network through a query, and performs the task, Byzantine robot determination, and cluster decision derivation using the acquired data. Can be.

일부 실시예에 따르면, 제어부(220)는 다른 로봇들에 의해 생성된 개별 의사결정 데이터들을 샘플링하여 개별 의사결정 샘플데이터들을 획득할 수 있다. 예를 들어, 제어부(220)는 각 로봇의 개별 의사결정 데이터를 여러 번 샘플링하여 각 로봇에 대한 개별 의사결정 샘플데이터를 샘플링 횟수만큼 획득할 수 있다. 이러한 샘플링 과정은 디지털 포렌식(Digital Forensic)과 유사한 방식으로, 각 로봇의 자취를 추적함에 있어서 증거가 되는 데이터를 제공할 수 있다. 또한, 획득된 샘플데이터는 비잔틴 로봇 판별 알고리즘의 학습을 위한 데이터베이스 구축에 활용될 수 있다.According to some embodiments, the controller 220 may obtain individual decision sample data by sampling individual decision data generated by other robots. For example, the controller 220 may sample individual decision data of each robot several times to obtain individual decision sample data for each robot by the number of sampling times. This sampling process is similar to Digital Forensic, and can provide evidence of evidence in tracking each robot's traces. In addition, the obtained sample data can be used to build a database for learning the Byzantine robot discrimination algorithm.

제어부(220)는 로봇 별로 획득된 개별 의사결정 샘플데이터들을 기초로 목표임무의 달성을 방해하는 비잔틴 로봇을 판별할 수 있다. 즉, 제어부(220)는 로봇 A의 개별 의사결정 데이터를 샘플링하여 획득한 개별 의사결정 샘플데이터들을 기초로 로봇 A가 비잔틴 로봇인지 판별하고, 로봇 B의 개별 의사결정 데이터를 샘플링하여 획득한 개별 의사결정 샘플데이터들을 기초로 로봇 B가 비잔틴 로봇인지 판별할 수 있다.The controller 220 may determine the Byzantine robot that prevents the achievement of the target task based on the individual decision sample data acquired for each robot. That is, the controller 220 determines whether the robot A is a Byzantine robot based on the individual decision sample data obtained by sampling the individual decision data of the robot A, and the individual doctor obtained by sampling the individual decision data of the robot B. Based on the determination sample data, it may be determined whether the robot B is a Byzantine robot.

일부 실시예에 있어서, 제어부(220)는 저장부(240)에 미리 저장된 비잔틴 로봇 판별 알고리즘에 따라 각 로봇이 비잔틴 로봇에 해당하는지 판별할 수 있다. 이 때, 제어부(220)는 군집 로봇에 속하는 모든 로봇들에 대하여 비잔틴 로봇 판별 알고리즘을 적용할 수 있다.In some embodiments, the controller 220 may determine whether each robot corresponds to a Byzantine robot according to a Byzantine robot discrimination algorithm stored in the storage 240. In this case, the controller 220 may apply the Byzantine robot discrimination algorithm to all the robots belonging to the cluster robot.

또한, 제어부(220)는 다른 로봇들로부터 비잔틴 로봇 판별 결과를 수신할 수 있다. 제어부(220)는 다른 로봇들로부터 수신한 비잔틴 로봇 판별 결과 및 자신의 판단 결과에 기초하여 비잔틴 로봇을 최종적으로 결정할 수 있다.In addition, the controller 220 may receive a Byzantine robot determination result from other robots. The controller 220 may finally determine the Byzantine robot based on the Byzantine robot determination result and its own determination result received from other robots.

예를 들면, 제어부(220)는 각 로봇에 대한 개별 의사결정 샘플데이터들을 비잔틴 로봇 판별 알고리즘에 적용함으로써 군집 로봇으로부터 비잔틴 로봇을 분류할 수 있다. 제어부(220)는 분류 결과에 기초하여 비잔틴 로봇을 지목하는 투표 정보를 생성하고, 다른 로봇들로부터 그들이 생성한 투표 정보들을 수신할 수 있다. 즉, 각 로봇에 의해 생성된 투표 정보들은 분산 네트워크를 통해 수집되고 각 로봇에 전달되어 공유될 수 있다. 제어부(220)는 다른 로봇들로부터 수신한 투표 정보들 및 자신의 투표 정보를 기초로 비잔틴 로봇의 존재 여부에 대해 판단할 수 있다.For example, the controller 220 may classify the Byzantine robot from the cluster robot by applying individual decision sample data for each robot to the Byzantine robot discrimination algorithm. The controller 220 may generate voting information for the Byzantine robot based on the classification result, and receive voting information generated by other robots. That is, the voting information generated by each robot may be collected through a distributed network, transferred to each robot, and shared. The controller 220 may determine whether the Byzantine robot is present based on voting information received from other robots and its own voting information.

예를 들면, 제어부(220)는 전체 투표 정보의 개수(즉, 다른 로봇들로부터 수신한 투표 정보들 및 자신의 투표 정보를 포함한 총 투표 정보 개수)의 과반수를 초과하는 투표 정보들로부터 비잔틴 로봇으로 지목된 로봇이 존재하는 경우, 해당 로봇을 비잔틴 로봇으로 최종적으로 결정할 수 있다.For example, the control unit 220 transfers from the voting information to the Byzantine robot that exceeds the majority of the total voting information (ie, the total voting information including the voting information received from other robots and their own voting information). If the indicated robot exists, the robot can be finally determined as a Byzantine robot.

일부 실시예에 따르면, 제어부(220)는 최종적으로 결정된 비잔틴 로봇을 군집 의사결정에서 배제한다. 또한, 제어부(220)는 최종적으로 결정된 비잔틴 로봇을 블록체인 네트워크에서도 배제할 수 있다. 제어부(220)는 비잔틴 로봇을 제외한 나머지 로봇들에 의해 생성된 개별 의사결정 데이터들을 기초로, 비잔틴 로봇을 제외한 나머지 로봇들과 통신하여, 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출할 수 있다.According to some embodiments, the controller 220 excludes the finally determined Byzantine robot from the cluster decision. In addition, the controller 220 may exclude the finally determined Byzantine robot from the blockchain network. The controller 220 may communicate with the robots except the Byzantine robot based on the individual decision data generated by the robots except the Byzantine robot, and derive the cluster decision data as a result of performing the target mission. have.

통신부(230)는 군집 로봇 내의 다른 로봇들과 통신하게 하는 하나 이상의 구성요소를 포함한다. 일부 실시예에 따르면, 통신부(230)는 제어부(220)에 의해 생성된 의사결정 트랜잭션을 블록체인 네트워크 상의 다른 참여노드들(즉, 다른 로봇들)로 전송할 수 있고, 다른 참여노드들에 의해 생성된 의사결정 트랜잭션을 수신할 수 있다. 또한, 통신부(230)는 블록체인 네트워크에 저장된 개별 의사결정 데이터를 수신할 수 있고, 다른 로봇들로부터 비잔틴 로봇을 지목하는 투표 정보들을 수신할 수 있다. 또한, 통신부(230)는 군집 의사결정 도출을 위해 다른 로봇들과 소정의 정보를 송수신할 수 있다.The communicator 230 includes one or more components for communicating with other robots in the crowded robot. According to some embodiments, the communication unit 230 may transmit a decision transaction generated by the control unit 220 to other participating nodes (ie, other robots) on the blockchain network, and may be generated by other participating nodes. The received decision transaction. In addition, the communicator 230 may receive individual decision data stored in the blockchain network, and receive voting information pointing to the Byzantine robot from other robots. In addition, the communication unit 230 may transmit and receive predetermined information with other robots to derive the cluster decision.

저장부(240)는 제어부(220)의 처리 및 제어를 위한 프로그램을 저장할 수 있고, 데이터수집부(210)에 의해 수집된 데이터를 저장할 수 있다. 일부 실시예에 따르면, 저장부(240)는 로봇 별 개별 의사결정 데이터에 대한 분산원장과 관련된 정보를 저장할 수 있다. 예를 들어, 저장부(240)는 전체 블록체인 중 전부 또는 일부의 블록을 저장하는 블록체인 데이터베이스일 수 있다.The storage unit 240 may store a program for processing and control of the controller 220, and may store data collected by the data collector 210. According to some embodiments, the storage unit 240 may store information related to distributed ledgers for individual decision data for each robot. For example, the storage unit 240 may be a blockchain database that stores all or some blocks of the entire blockchain.

일부 실시예에 따르면, 저장부(240)는 데이터수집부(210)에 의해 수집된 데이터(예: 센서데이터)를 기초로, 목표임무 달성을 위해 필요한 로봇(200) 자신의 개별적인 의사결정을 내리기 위한 의사결정 알고리즘을 저장할 수 있다. 또한, 저장부(240)는 군집 로봇으로부터 비잔틴 로봇을 분류하기 위한 비잔틴 로봇 판별 알고리즘을 저장할 수 있다.According to some embodiments, the storage unit 240 may make an individual decision of the robot 200 required to accomplish a target mission based on data collected by the data collector 210 (eg, sensor data). The decision algorithm can be stored. In addition, the storage unit 240 may store a Byzantine robot discrimination algorithm for classifying the Byzantine robot from the cluster robot.

도 4는 일부 실시예에 따른 군집 의사결정 방법을 나타내는 흐름도이다.4 is a flowchart illustrating a cluster decision method according to some embodiments.

단계 S410에서, 각 로봇은 센서데이터를 수집하고, 수집한 센서데이터를 기초로 개별 의사결정 데이터를 생성한다. 일부 실시예에 있어서, 전술한 바와 같이, 각 로봇에 의해 생성되는 개별 의사결정 데이터는 트랜잭션 형태로 생성되어, 블록체인 네트워크 상의 참여노드인 다른 로봇들에 의해 검증 및 합의가 이루어진 뒤, 블록에 포함되어 블록체인에 추가될 수 있다.In step S410, each robot collects sensor data and generates individual decision data based on the collected sensor data. In some embodiments, as described above, the individual decision data generated by each robot is generated in the form of a transaction and included in the block after being verified and agreed by other robots that are participating nodes on the blockchain network. Can be added to the blockchain.

단계 S420에서, 각 로봇은 로봇들에 의해 생성된 개별 의사결정 데이터들을 샘플링하여 개별 의사결정 샘플데이터들을 획득한다. 각 로봇은 군집 로봇에 속하는 모든 로봇의 개별 의사결정 데이터들을 여러 번 샘플링하여, 로봇 별 개별 의사결정 샘플데이터들을 샘플링 횟수만큼 획득할 수 있다. 일부 실시예에 있어서, 각 로봇은 블록체인에 대한 쿼리를 통해 개별 의사결정 데이터들을 조회하여, 이들에 대한 샘플링을 수행할 수 있다.In step S420, each robot samples individual decision data generated by the robots to obtain individual decision sample data. Each robot may sample the individual decision data of all the robots belonging to the cluster robot several times, thereby obtaining the individual decision sample data for each robot as many times as the sampling number. In some embodiments, each robot may query individual decision data through a query on the blockchain and sample them.

단계 S430에서, 각 로봇은 개별 의사결정 샘플데이터들을 기초로 목표임무의 달성을 방해하는 비잔틴 로봇을 판별한다. 각 로봇은 미리 저장된 비잔틴 로봇 판별 알고리즘에 따라 각 로봇 별로 비잔틴 로봇에 해당하는지를 판별할 수 있다. 단계 S430에서, 각 로봇은 다른 로봇들로부터 비잔틴 로봇 판별 결과를 수신할 수 있고, 다른 로봇들로부터 수신한 비잔틴 로봇 판별 결과 및 자신의 판단 결과에 기초하여 비잔틴 로봇을 최종적으로 결정할 수 있다. 일부 실시예에 따르면, 비잔틴 로봇으로 최종적으로 결정된 로봇은 군집 의사결정뿐만 아니라 블록체인 네트워크에서도 배제될 수 있다.In step S430, each robot determines the Byzantine robot that hinders the achievement of the target mission based on the individual decision sample data. Each robot may determine whether each robot corresponds to the Byzantine robot according to a previously stored Byzantine robot identification algorithm. In operation S430, each robot may receive a Byzantine robot determination result from other robots, and finally determine the Byzantine robot based on the Byzantine robot determination result received from the other robots and its own determination result. According to some embodiments, a robot finally determined to be a Byzantine robot may be excluded from the blockchain network as well as from cluster decision making.

단계 S440에서, 비잔틴 로봇으로 결정된 로봇을 제외한 나머지 로봇들이 자신들의 개별 의사결정 데이터들에 기초하여, 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출한다. 즉, 비잔틴 로봇으로 결정된 로봇은 군집 의사결정 과정에서 배제되며, 비잔틴 로봇으로 결정된 로봇이 생성한 개별 의사결정 데이터도 군집 의사결정 도출을 위해 이용되는 개별 의사결정 데이터들에서 배제될 수 있다.In step S440, the robots other than the robot determined as the Byzantine robot derive the cluster decision data as a result of performing the target mission based on their individual decision data. That is, the robot determined as a Byzantine robot is excluded from the cluster decision process, and the individual decision data generated by the robot determined as the Byzantine robot may also be excluded from the individual decision data used for deriving the cluster decision.

도 5는 일부 실시예에 따른 블록체인 기반 군집 의사결정 방법을 나타내는 흐름도이다.5 is a flowchart illustrating a blockchain based cluster decision method according to some embodiments.

단계 S510에서, 각 로봇은 센서데이터를 수집한다.In step S510, each robot collects sensor data.

단계 S520에서, 각 로봇은 수집한 센서데이터를 기초로, 목표임무 달성을 위해 필요한 개별 의사결정 데이터가 포함된 개별 의사결정 트랜잭션을 생성한다.In step S520, each robot generates individual decision transactions including individual decision data necessary to achieve a target mission based on the collected sensor data.

단계 S530에서, 각 로봇이 생성한 개별 의사결정 트랜잭션은 검증 과정을 거치고, 해당 개별 의사결정 트랜잭션이 기록된 의사결정 블록을 생성하여 블록체인에 추가할지 여부에 대한 합의 과정이 이루어진다. 합의가 도출된 각 로봇의 개별 의사결정 트랜잭션은 의사결정 블록에 포함되어 블록체인에 추가된다.In step S530, the individual decision transaction generated by each robot undergoes a verification process, and a consensus process is performed on whether to generate a decision block in which the respective decision transaction is recorded and add it to the blockchain. Each decision-making transaction of each robot with consensus is included in the decision block and added to the blockchain.

단계 S540에서, 각 로봇은 쿼리를 통해 블록체인에 기록된 로봇 별 개별 의사결정 트랜잭션을 획득하고, 로봇 별 개별 의사결정 트랜잭션에 포함된 개별 의사결정 데이터를 샘플링하여 로봇 별 개별 의사결정 샘플데이터를 획득한다. 여러 번의 샘플링을 통해, 각 로봇에 대한 개별 의사결정 샘플데이터는 샘플링 횟수만큼 획득될 수 있다.In step S540, each robot acquires individual decision transactions for each robot recorded in the blockchain through a query, and acquires individual decision sample data for each robot by sampling individual decision data included in the individual decision transactions for each robot. do. Through multiple sampling, individual decision sample data for each robot can be obtained by the number of sampling.

단계 S550에서, 각 로봇은 로봇 별 개별 의사결정 샘플데이터들을 비잔틴 로봇 판별 알고리즘에 적용함으로써 군집 로봇으로부터 비잔틴 로봇을 분류한다. 각 로봇은 군집 로봇에 속하는 모든 로봇(자신은 제외될 수도 있음)의 개별 의사결정 샘플데이터들에 대해 비잔틴 로봇 판별 알고리즘을 적용하여 로봇 별로 분류 결과를 생성할 수 있고, 분류 결과에 기초하여 비잔틴 로봇을 지목하는 투표 정보를 생성할 수 있다.In step S550, each robot classifies the Byzantine robot from the cluster robot by applying individual decision sample data for each robot to the Byzantine robot discrimination algorithm. Each robot can generate a classification result for each robot by applying the Byzantine robot discrimination algorithm to individual decision sample data of all robots belonging to the cluster robot (which may be excluded), and based on the classification result, the Byzantine robot Vote information can be generated.

예를 들어, 로봇 A가 로봇 B, C , D 및 E에 대하여 비잔틴 로봇 판별 알고리즘을 적용한 결과, 로봇 B가 비잔틴 로봇으로 분류된 경우, 로봇 A는 로봇 B를 지목하는 투표 정보를 생성할 수 있다. 다른 예로, 로봇 B 및 C가 비잔틴 로봇으로 분류된 경우, 로봇 A는 로봇 B 및 C를 지목하는 투표 정보를 생성할 수 있다. 실시예에 따라, 비잔틴 로봇으로 하나의 로봇만이 지목될 수도 있고, 여러 개의 로봇이 지목될 수도 있다.For example, when Robot A applies the Byzantine robot discrimination algorithm to the robots B, C, D, and E, and the robot B is classified as a Byzantine robot, the robot A may generate voting information pointing to the robot B. . As another example, when robots B and C are classified as Byzantine robots, robot A may generate voting information pointing to robots B and C. In some embodiments, only one robot may be designated as a Byzantine robot, and several robots may be designated.

단계 S560에서, 각 로봇 별로 생성된 투표 정보들은 분산 네트워크를 통해 수집되어 각 로봇들에게 전달된다.In step S560, the voting information generated for each robot is collected through the distributed network and delivered to each robot.

단계 S570에서, 각 로봇은 전달받은 투표 정보들과 자신의 투표 정보를 기초로 비잔틴 로봇의 존재 여부에 대해 판단한다. 예를 들어, 각 로봇에 의해 생성된 투표 정보들의 총 개수의 과반수를 초과하는 투표 정보들로부터 비잔틴 로봇으로 지목된 로봇이 존재하는 경우, 해당 로봇은 비잔틴 로봇으로 최종적으로 결정될 수 있다. 예를 들어, 각 로봇은 수학식 1에 기초하여 비잔틴 로봇의 존재 여부에 대해 판단할 수 있다.In step S570, each robot determines whether a Byzantine robot exists based on the received voting information and its own voting information. For example, if there is a robot designated as a Byzantine robot from voting information exceeding a majority of the total number of voting information generated by each robot, the robot may be finally determined as a Byzantine robot. For example, each robot may determine whether the Byzantine robot exists based on Equation 1.

Figure 112019041438419-pat00001
Figure 112019041438419-pat00001

각 로봇은 전체 투표 정보 수에 대한 지목 투표 정보 수의 비율이 0.5를 초과하는 로봇이 존재하는 경우, 해당 로봇을 비잔틴 로봇으로 최종적으로 결정할 수 있다.Each robot may finally determine the robot as a Byzantine robot when there is a robot whose ratio of the number of voting information to the total voting information exceeds 0.5.

단계 S580에서, 최종적으로 비잔틴 로봇으로 결정된 로봇은 군집 의사결정 및 블록체인 네트워크에서 배제되고, 단계 S590에서, 비잔틴 로봇으로 결정된 로봇을 제외한 나머지 로봇들이, 자신들의 개별 의사결정 데이터들에 기초하여, 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출한다.In step S580, the robot finally determined as a Byzantine robot is excluded from the cluster decision and blockchain network, and in step S590, the remaining robots except for the robot determined as the Byzantine robot are based on their individual decision data. Derived cluster decision data as a result of the performance of the mission.

한편, 비잔틴 로봇이 존재하지 않는 것으로 판단되는 경우(예: 수학식 1의 비율이 0.5를 초과하는 로봇이 존재하지 않는 경우), 단계 S590에서, 모든 로봇들이 군집 의사결정 과정에 참여하여 군집 의사결정 데이터를 도출할 수 있다.On the other hand, if it is determined that the Byzantine robot does not exist (for example, when there is no robot whose ratio in Equation 1 exceeds 0.5), in step S590, all the robots participate in the cluster decision process and make a cluster decision. Data can be derived.

도 6은 일부 실시예에 따른 비잔틴 로봇 판별 알고리즘을 설명하기 위한 개념도이다.6 is a conceptual diagram illustrating a Byzantine robot discrimination algorithm according to some embodiments.

일부 실시예에 따르면, 비잔틴 로봇 판별 알고리즘은 기계학습이 적용된 적응형 판별 알고리즘으로서, 새로운 패턴이 나타날 때마다 학습을 통해 개선될 수 있다. 비잔틴 로봇 판별 알고리즘은 전술한 개별 의사결정 샘플데이터들을 학습 데이터로 하여, 비잔틴 로봇 패턴에 대한 학습을 지속할 수 있다. 이를 통해, 다양한 비잔틴 로봇 패턴에 대응하여 효과적으로 비잔틴 로봇이 판별될 수 있다.According to some embodiments, the Byzantine robot discrimination algorithm is an adaptive discrimination algorithm to which machine learning is applied and may be improved through learning whenever a new pattern appears. The Byzantine robot discrimination algorithm can continue learning about the Byzantine robot pattern by using the individual decision sample data described above as learning data. Through this, the Byzantine robot can be effectively determined in response to various Byzantine robot patterns.

일부 실시예에서, 비잔틴 로봇 판별 알고리즘에는 지도 학습 알고리즘과 비지도 학습 알고리즘을 융합한 준지도 학습 방식이 적용될 수 있다. 예를 들어, 희귀하게 발생(Rare Event)하는 패턴이어서 지도학습 알고리즘에서 검출하기 어려운 경우 및 비잔틴 로봇에 대한 대량의 데이터 획득이 어려운 경우에서도 판별 모델의 학습을 가능하게 함으로써 비잔틴 로봇이 정확히 판별될 수 있다.In some embodiments, the Byzantine robot discrimination algorithm may be a semi-supervised learning method in which a supervised learning algorithm and a non-supervised learning algorithm are applied. For example, Byzantine robots can be accurately identified by enabling the learning of the discrimination model even when it is a rare event pattern that is difficult to detect in a supervised learning algorithm and when a large amount of data about the Byzantine robot is difficult to obtain. have.

예를 들어, 지도 학습 알고리즘으로 의사 결정 나무(Decision Trees), 최근접 이웃(Nearest Neighbor) 및 나이브 베이즈(Naive Bayes) 중 적어도 하나가 활용될 수 있고, 비지도 학습 알고리즘으로 군집 분석(Clustering Analysis) 및 주성분 분석(Principle Component Analysis, PCA) 중 적어도 하나가 활용될 수 있으나, 이에 한정되지 않는다.For example, at least one of Decision Trees, Nearest Neighbor, and Naive Bayes may be utilized as the supervised learning algorithm, and Cluster Analysis may be used as the unsupervised learning algorithm. ) And Principal Component Analysis (PCA) may be used, but is not limited thereto.

한편, 본 개시의 실시예들에 따른 군집 의사결정 방법은 그 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체에 기록될 수 있다. 컴퓨터로 읽을 수 있는 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM, DVD와 같은 광기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.Meanwhile, the cluster decision method according to the embodiments of the present disclosure may be recorded on a computer-readable recording medium having one or more programs including instructions for executing the method. Examples of computer-readable recording media include hard disks, magnetic media such as floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and floppy disks. Magnetic-Optical Media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code, such as produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like.

본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.Those skilled in the art will appreciate that the present invention may be embodied in a modified form without departing from the essential characteristics of the above-described substrate. Therefore, the disclosed methods should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown not in the foregoing description but in the claims, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

Claims (11)

목표임무를 위해 협력하여 각자의 임무를 수행하는 복수의 로봇들의 군집 의사결정 방법에 있어서,
상기 로봇들 각각이, 수집된 센서데이터를 기초로 상기 목표임무의 달성을 위해 필요한 개별 의사결정 데이터를 생성하는 단계;
상기 로봇들 각각이, 상기 로봇들에 의해 생성된 상기 개별 의사결정 데이터들을 샘플링하여 개별 의사결정 샘플데이터들을 획득하는 단계;
상기 로봇들 각각이, 상기 개별 의사결정 샘플데이터들을 기초로 상기 목표임무의 달성을 방해하는 로봇인 비잔틴 로봇을 판별하는 단계; 및
상기 복수의 로봇들 중, 상기 로봇들 각각의 판별 결과에 따라 상기 비잔틴 로봇으로 결정된 로봇을 제외한 나머지 로봇들이, 자신들의 상기 개별 의사결정 데이터들에 기초하여, 상기 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출하는 단계를 포함하고,
상기 비잔틴 로봇을 판별하는 단계는,
상기 로봇들 각각이, 상기 개별 의사결정 샘플데이터들을 대해 비잔틴 로봇 판별 알고리즘에 적용함으로써 상기 복수의 로봇들로부터 상기 비잔틴 로봇을 분류하고, 분류 결과에 기초하여 상기 비잔틴 로봇을 지목하는 투표 정보를 생성하는 단계; 및
상기 로봇들에 의해 생성된 상기 투표 정보들이 상기 복수의 로봇들 각각에 전달되고, 상기 투표 정보들을 기초로 상기 비잔틴 로봇의 존재 여부에 대해 판단하는 단계를 포함하는, 군집 의사결정 방법.
In a cluster decision making method of a plurality of robots that cooperate to perform a mission and perform their respective tasks,
Generating, by each of the robots, individual decision data necessary for accomplishing the target mission based on the collected sensor data;
Each of the robots obtaining the individual decision sample data by sampling the individual decision data generated by the robots;
Determining, by each of the robots, a Byzantine robot that is a robot that prevents the achievement of the target mission based on the individual decision sample data; And
Among the plurality of robots, robots other than the robot determined as the Byzantine robot according to the determination result of each of the robots are clustered as a result of performing the target mission based on their individual decision data. Deriving the decision data,
The determining of the Byzantine robot,
Each of the robots classifies the Byzantine robots from the plurality of robots by applying the individual decision sample data to the Byzantine robot discrimination algorithm, and generates voting information that points to the Byzantine robot based on the classification result. step; And
And the voting information generated by the robots is transmitted to each of the plurality of robots, and determining whether the Byzantine robot is present based on the voting information.
삭제delete 제1항에 있어서,
상기 비잔틴 로봇의 존재 여부에 대해 판단하는 단계는,
상기 로봇들 각각에 의해 생성된 상기 투표 정보들의 총 개수의 과반수를 초과하는 상기 투표 정보들로부터 상기 비잔틴 로봇으로 지목된 로봇이 존재하는 경우, 해당 로봇을 상기 비잔틴 로봇으로 최종적으로 결정하는 단계를 포함하는, 군집 의사결정 방법.
The method of claim 1,
The determining of the presence of the Byzantine robot,
If there is a robot designated as the Byzantine robot from the voting information exceeding a majority of the total number of the voting information generated by each of the robots, finally determining the robot as the Byzantine robot Cluster decision making method.
제1항에 있어서,
상기 비잔틴 로봇 판별 알고리즘은,
준지도 학습 알고리즘이 적용된 적응형 판별 알고리즘으로서 상기 개별 의사결정 샘플데이터를 학습 데이터로 이용하는, 군집 의사결정 방법.
The method of claim 1,
The Byzantine robot discrimination algorithm,
An adaptive discrimination algorithm to which a semi-supervised learning algorithm is applied, using the individual decision sample data as learning data.
제1항에 있어서,
상기 복수의 로봇들은 블록체인 네트워크를 구성하는 참여노드인, 군집 의사결정 방법.
The method of claim 1,
The plurality of robots are participating nodes constituting a blockchain network, cluster decision method.
제5항에 있어서,
상기 개별 의사결정 데이터는,
트랜잭션의 형태로 생성되어, 상기 복수의 로봇들에 의해 검증 및 합의가 이루어진 뒤, 블록에 포함되어 상기 블록체인 네트워크의 블록체인에 추가되는 것인, 군집 의사결정 방법.
The method of claim 5,
The individual decision data,
Generated in the form of a transaction, verified and agreed upon by the plurality of robots, and then included in a block and added to the blockchain of the blockchain network.
제5항에 있어서,
상기 개별 의사결정 샘플데이터는,
상기 블록체인에 대한 쿼리를 통해 조회된 상기 개별 의사결정 데이터를 샘플링하여 획득되는, 군집 의사결정 방법.
The method of claim 5,
The individual decision sample data,
And obtaining the individual decision data queried through a query for the blockchain.
제1항 및 제3항 내지 제7항 중 어느 한 항의 방법을 실행하는 명령어들을 포함하는 하나 이상의 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon one or more programs comprising instructions for executing the method of claim 1. 목표임무를 위해 다른 로봇들과 협력하여 임무를 수행하는 로봇에 있어서,
상기 임무를 수행하기 위해 필요한 센서데이터를 수집하는 데이터수집부;
상기 다른 로봇들과 통신하는 통신부; 및
수집된 상기 센서데이터를 기초로 상기 목표임무의 달성을 위해 필요한 개별 의사결정 데이터를 생성하고, 상기 다른 로봇들에 의해 생성된 개별 의사결정 데이터들을 샘플링하여 개별 의사결정 샘플데이터들을 획득하고, 상기 개별 의사결정 샘플데이터들을 기초로 상기 목표임무의 달성을 방해하는 로봇인 비잔틴 로봇을 판별하고, 상기 다른 로봇들로부터 수신한 상기 비잔틴 로봇에 대한 각각의 판단 결과 및 자신의 판단 결과에 기초하여 상기 비잔틴 로봇을 최종적으로 결정하고, 최종적으로 결정된 상기 비잔틴 로봇을 제외한 나머지 상기 다른 로봇들에 의해 생성된 개별 의사결정 데이터들 및 자신의 상기 개별 의사결정 데이터를 기초로, 상기 나머지 다른 로봇들과 통신하여 상기 목표임무에 대한 수행 결과로서 군집 의사결정 데이터를 도출하는 제어부를 포함하고,
상기 제어부는,
상기 개별 의사결정 샘플데이터들을 비잔틴 로봇 판별 알고리즘에 적용함으로써 상기 다른 로봇들로부터 상기 비잔틴 로봇을 분류하고, 분류 결과에 기초하여 상기 비잔틴 로봇을 지목하는 투표 정보를 생성하고, 상기 다른 로봇들로부터 수신한 투표 정보들 및 자신의 상기 투표 정보를 기초로 상기 비잔틴 로봇의 존재 여부에 대해 판단하는, 로봇.
In a robot that performs a task in cooperation with other robots for a mission,
A data collecting unit collecting sensor data necessary to perform the task;
Communication unit for communicating with the other robots; And
Generate individual decision data necessary for achieving the target mission based on the collected sensor data, sample individual decision data generated by the other robots to obtain individual decision sample data, and Based on the decision sample data, the Byzantine robot, which is a robot that hinders the achievement of the target mission, is determined, and the Byzantine robot is based on each judgment result and its own judgment result about the Byzantine robot received from the other robots. Is finally determined and communicates with the other robots based on the individual decision data generated by the other robots except the Byzantine robot and its own decision data. Deriving cluster decision data as a result of performance on a mission Including a control unit
The control unit,
By applying the individual decision sample data to the Byzantine robot discrimination algorithm, the Byzantine robot is classified from the other robots, the vote information indicating the Byzantine robot is generated based on the classification result, and received from the other robots. And determine whether the Byzantine robot is present based on voting information and its own voting information.
삭제delete 제9항에 있어서,
상기 제어부는,
상기 다른 로봇들로부터 수신한 투표 정보들 및 자신의 상기 투표 정보를 포함한 총 투표 정보 개수의 과반수를 초과하는 상기 투표 정보들로부터 상기 비잔틴 로봇으로 지목된 로봇이 존재하는 경우, 해당 로봇을 상기 비잔틴 로봇으로 최종적으로 결정하는, 로봇.
The method of claim 9,
The control unit,
When there is a robot designated as the Byzantine robot from the voting information received from the other robots and the voting information exceeding a majority of the total voting information including the own voting information, the robot is designated as the Byzantine robot. Finally decided by, robot.
KR1020190046939A 2019-04-22 2019-04-22 Method for Collective Decision Making and Robot Performing the Same KR102038052B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190046939A KR102038052B1 (en) 2019-04-22 2019-04-22 Method for Collective Decision Making and Robot Performing the Same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190046939A KR102038052B1 (en) 2019-04-22 2019-04-22 Method for Collective Decision Making and Robot Performing the Same

Publications (1)

Publication Number Publication Date
KR102038052B1 true KR102038052B1 (en) 2019-10-29

Family

ID=68423803

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190046939A KR102038052B1 (en) 2019-04-22 2019-04-22 Method for Collective Decision Making and Robot Performing the Same

Country Status (1)

Country Link
KR (1) KR102038052B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110180113A (en) * 2019-06-05 2019-08-30 山东国兴智能科技股份有限公司 A kind of concentrating type fire-fighting robot cooperation scouting extinguishing method
CN111859466A (en) * 2020-07-22 2020-10-30 上海乂学教育科技有限公司 Learning competition system based on block chain
KR102216858B1 (en) * 2019-10-30 2021-02-18 (주)유미테크 An Automated Method of Electing and Dismissing Delegate Node of Blockchain Network
CN116214527A (en) * 2023-05-09 2023-06-06 南京泛美利机器人科技有限公司 Three-body collaborative intelligent decision-making method and system for enhancing man-machine collaborative adaptability

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101668078B1 (en) 2015-04-23 2016-10-19 국방과학연구소 Autonomous robot collaborative system and method
JP2019029988A (en) * 2017-08-01 2019-02-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Management system, vehicle, and information processing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101668078B1 (en) 2015-04-23 2016-10-19 국방과학연구소 Autonomous robot collaborative system and method
JP2019029988A (en) * 2017-08-01 2019-02-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Management system, vehicle, and information processing method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AMEER TAMOOR KHAN, ET AL., INTERNATIONAL JOURNAL OF ROBOTICS AND CONTROL, NO. 1, VOL. 2(2019.01.29) *
Volker Strobel 외 2명, "Managing Byzantine Robots via Blockchain Technology in a Swarm Robotics Collective Decision Making Scenario", AAMAS ‘18 Proceedings of the 17th Internationa Conference on Autonomous Agents and MultiAgent Systems, pp.541-549 (2018.07.)* *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110180113A (en) * 2019-06-05 2019-08-30 山东国兴智能科技股份有限公司 A kind of concentrating type fire-fighting robot cooperation scouting extinguishing method
KR102216858B1 (en) * 2019-10-30 2021-02-18 (주)유미테크 An Automated Method of Electing and Dismissing Delegate Node of Blockchain Network
CN111859466A (en) * 2020-07-22 2020-10-30 上海乂学教育科技有限公司 Learning competition system based on block chain
CN116214527A (en) * 2023-05-09 2023-06-06 南京泛美利机器人科技有限公司 Three-body collaborative intelligent decision-making method and system for enhancing man-machine collaborative adaptability
CN116214527B (en) * 2023-05-09 2023-08-11 南京泛美利机器人科技有限公司 Three-body collaborative intelligent decision-making method and system for enhancing man-machine collaborative adaptability

Similar Documents

Publication Publication Date Title
KR102038052B1 (en) Method for Collective Decision Making and Robot Performing the Same
EP3511881B1 (en) Information fusion in multi-domain operational environment
Ambika Machine learning and deep learning algorithms on the Industrial Internet of Things (IIoT)
Ganapathy et al. Intelligent feature selection and classification techniques for intrusion detection in networks: a survey
Süzen Developing a multi-level intrusion detection system using hybrid-DBN
US10885020B1 (en) Splitting incorrectly resolved entities using minimum cut
Alghuried A model for anomalies detection in internet of things (IoT) using inverse weight clustering and decision tree
Kalnoor et al. A model for intrusion detection system using hidden Markov and variational Bayesian model for IoT based wireless sensor network
de Souza et al. Intrusion detection and prevention in fog based IoT environments: A systematic literature review
CN113313170A (en) Full-time global training big data platform based on artificial intelligence
Chakraborty et al. Deep learning for situational understanding
Almarshdi et al. Hybrid Deep Learning Based Attack Detection for Imbalanced Data Classification.
Rajadurai et al. An empirical model in intrusion detection systems using principal component analysis and deep learning models
Kaushik et al. Performance evaluation of learning models for intrusion detection system using feature selection
Prakash et al. Optimized ensemble classifier based network intrusion detection system for RPL based internet of things
Rohini et al. Intrusion detection system with an ensemble learning and feature selection framework for IoT networks
Roldán-Gomez et al. An automatic unsupervised complex event processing rules generation architecture for real-time IoT attacks detection
Jabbar et al. A novel intelligent ensemble classifier for network intrusion detection system
Aileni et al. Data fusion-based ai algorithms in the context of iiots
Nagarajan et al. Optimization of BPN parameters using PSO for intrusion detection in cloud environment
Biradar et al. BotHook: A supervised machine learning approach for botnet detection using DNS query data
Abidi et al. Mutated Leader Sine-Cosine Algorithm for Secure Smart IoT-Blockchain of Industry 4.0.
Pandeeswari et al. Analysis of Intrusion Detection Using Machine Learning Techniques
Ahakonye et al. Trees Bootstrap Aggregation for Detection and Characterization of IoT-SCADA Network Traffic
Thiruvenkatasamy et al. Blockchain Assisted Fireworks Optimization with Machine Learning based Intrusion Detection System (IDS)

Legal Events

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