WO2023101365A1 - Method and device for processing multi-robot work by using group-based work description - Google Patents

Method and device for processing multi-robot work by using group-based work description Download PDF

Info

Publication number
WO2023101365A1
WO2023101365A1 PCT/KR2022/019088 KR2022019088W WO2023101365A1 WO 2023101365 A1 WO2023101365 A1 WO 2023101365A1 KR 2022019088 W KR2022019088 W KR 2022019088W WO 2023101365 A1 WO2023101365 A1 WO 2023101365A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
service
organization
task
role
Prior art date
Application number
PCT/KR2022/019088
Other languages
French (fr)
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 서울시립대학교 산학협력단
Publication of WO2023101365A1 publication Critical patent/WO2023101365A1/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
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • 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/1692Calibration of manipulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

The present invention relates to a technology for controlling multiple robots. This method for processing a multi-robot work by a work processing device includes: receiving an input of a group-based work description which describes a work to be performed by multiple robots and includes the roles, interactions, and group structure with respect to the work; converting the group work based on the group-based work description which has been input, and generating a multi-robot service comprising one or more role services reconstructed in the form of works to be performed by individual robots; and allotting the role services of the multi-robot service to individual robots to guide each individual robot to construct a robot service by collecting at least one from among the actual work, situation, and knowledge information required for performing the service, on the basis of an allotted role service.

Description

조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법 및 장치Method and apparatus for processing multi-robot tasks using organization-based task specification
본 발명은 다수의 로봇을 제어하는 기술에 관한 것으로, 특히 로봇 전체가 수행해야 하는 작업 명세를 통해 개별적인 로봇이 각각의 역할을 수행하도록 제어하는 다중 로봇 작업의 처리 방법 및 장치에 관한 것이다.The present invention relates to a technology for controlling a plurality of robots, and more particularly, to a multi-robot task processing method and apparatus for controlling individual robots to perform their respective roles through the specification of tasks to be performed by the entire robot.
최근 인식, 이동, 조작, 상호작용(Human-Robot Interaction, HRI), 학습, 추론 등의 지능적인 요소를 활용하여 다양한 서비스를 제공할 수 있는 로봇에 대한 연구가 활발하다.Recently, research on robots that can provide various services by utilizing intelligent elements such as recognition, movement, manipulation, interaction (Human-Robot Interaction, HRI), learning, and reasoning is active.
로봇을 제어하는 전통적인 관점에서는 다수의 로봇이 존재하는 상황에서도 개별적인 로봇의 수행 동작 내지 행위를 직접 프로그램하여 각각의 역할을 수행하도록 제어하였다. 그러나, 다수의 로봇이 모두 동일한 기능과 능력을 갖추고 있지 않는 상황에서는 개별 로봇의 능력에 따른 임무를 직접 설계하여야 하는 부담이 존재하고, 또한 이들 개별 로봇이 함께 동작을 수행하는 환경에서 상호 간의 관계를 고려하여야 하므로 다중 로봇에게 작업을 수행하도록 제어하는 상황을 더욱 복잡하게 만든다.In the traditional point of view of controlling robots, even in the presence of multiple robots, individual robots perform actions or actions directly programmed and controlled to perform their respective roles. However, in a situation where a plurality of robots do not all have the same functions and abilities, there is a burden of directly designing tasks according to the capabilities of individual robots, and also, in an environment where these individual robots perform operations together, mutual relationships are created. This further complicates the situation of controlling multiple robots to perform tasks.
이러한 개발 방식은 서비스를 수행하는데 있어 개별 로봇이 수행하는 행위를 각각 정의하여 다자간의 작업을 필요로 하는 서비스를 표현하는데 어려움을 발생시켰으며, 이를 수행하는 로봇 타입 또한 한정될 수 밖에 없어 로봇이 개발될 때마다 서비스를 새롭게 개발해야 하는 불편이 뒤따른다. 따라서, 이하의 선행기술문헌을 통해 소개된 바와 같이 다자간 작업을 필요로 하는 서비스를 수행하는 로봇 서비스 기술을 등장하였다.This development method creates difficulties in expressing services that require multilateral work by defining the actions performed by individual robots in performing services, and the type of robots that perform them is inevitably limited. Every time it happens, the inconvenience of having to develop a new service follows. Therefore, as introduced through the prior art documents below, a robot service technology that performs a service requiring multilateral work has appeared.
(선행기술문헌) 한국특허공개공보 제2020-0079703호, "서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템"(Prior Art Literature) Korean Patent Publication No. 2020-0079703, "Method for generating service package and robot service development system performing the same"
그러나, 로봇의 기능과 역할이 점차 다양해지고 다수의 액터(actor)가 참여하여 대규모 임무를 수행하여야만 하는 상황을 고려할 때, 다수의 로봇 전체가 수행하여야 하는 일을 임무 명세를 통해 지정함으로써 자동으로 개별 로봇이 적합한 역할을 수행하도록 제어할 수 있는 하향식(top-down) 접근 방식이 고려될 필요가 있다.However, considering the situation in which the functions and roles of robots gradually diversify and a large number of actors must participate in large-scale tasks, tasks to be performed by all of the multiple robots are specified through task specifications so that each individual is automatically A top-down approach to controlling the robot to perform the appropriate role needs to be considered.
본 발명이 해결하고자 하는 기술적 과제는, 종래의 다중 로봇 제어가 개별적인 로봇 제어의 수준에 머물러 있어 다중 제어의 복잡도를 증가시키는 문제를 방지하고, 개발자에 의한 작업 지정 및 동작 설계의 부담을 가중시키는 약점을 해소하며, 상황 변화에 유연하지 못한 경직성을 극복하고자 한다.The technical problem to be solved by the present invention is to prevent the problem of increasing the complexity of the multi-robot control because the conventional multi-robot control stays at the level of individual robot control, and the weakness that increases the burden of task designation and motion design by the developer and overcome the rigidity of inflexibility in changing circumstances.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 다중 로봇 작업의 처리 방법은, 작업 처리 장치가 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는 단계; 상기 작업 처리 장치가 입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하는 단계; 및 상기 작업 처리 장치가 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하는 단계;를 포함한다.In order to solve the above technical problem, a multi-robot job processing method according to an embodiment of the present invention describes a job including a role, interaction, and organizational structure for a job to be performed by a multi-robot. Receiving an organization-based work specification; Converting an organization job from the organization-based job specification input by the job processing device and generating a multi-robot service including at least one role service reconstructed in the form of a job to be performed by an individual robot; And by distributing the role service of the multi-robot service to individual robots by the task processing device, each robot collects at least one of actual tasks, situations, and knowledge information required for service execution based on the distributed role services. and inducing a robot service configuration.
일 실시예에 따른 다중 로봇 작업의 처리 방법에서, 상기 다중 로봇 서비스를 생성하는 단계는, 조직 기반 작업 명세로부터 조직 작업을 개별 로봇에게 분배하기 위해 단일 로봇 작업 수준으로 변환하되, 역할 서비스의 형태로 변환하고, 역할 내에서 사용되는 지식에 따라 지식을 생성하고, 조직 기반 작업 명세의 정책을 역할 서비스의 정책으로 변환하되, 키워드 기반 매치 및 항목 전달을 통해 다중 로봇 서비스를 생성할 수 있다.In the multi-robot task processing method according to an embodiment, the step of generating the multi-robot service includes converting an organization-based task specification into a single robot task level in order to distribute an organization task to individual robots, but in the form of a role service. transform, create knowledge according to the knowledge used within the role, transform the policy of the organization-based job specification into the policy of the role service, and create multiple robot services through keyword-based matching and item delivery.
일 실시예에 따른 다중 로봇 작업의 처리 방법에서, 상기 로봇 서비스 구성을 유도하는 단계는, 로봇의 능력에 따라 개별 로봇에게 역할 서비스를 분배하고, 역할 서비스의 각 요소별 질의를 통해 로봇 서비스 수행을 위해 필요한 작업 및 상황을 수집하여 역할 서비스 기반의 로봇 서비스를 생성할 수 있다.In the multi-robot task processing method according to an embodiment, the step of inducing the configuration of robot services includes distributing role services to individual robots according to the capabilities of the robots and performing robot services through queries for each element of the role services. It is possible to create a role service-based robot service by collecting tasks and situations required for this.
일 실시예에 따른 다중 로봇 작업의 처리 방법은, 상기 작업 처리 장치가 요청 발생을 통해 상황의 변화를 인지하는 단계; 상기 작업 처리 장치가 인지된 상기 상황의 변화에 따라 상기 조직 기반 작업 명세로부터 적합한 조직 작업을 선택하는 단계; 상기 작업 처리 장치가 선택된 상기 조직 작업으로부터 로봇 서비스를 변환하는 단계; 및 상기 작업 처리 장치가 개별 로봇으로 하여금 변환된 상기 로봇 서비스를 수행하도록 명령하는 단계;를 더 포함할 수 있다.A method for processing a multi-robot job according to an embodiment includes recognizing, by the job processing device, a change in a situation through the generation of a request; selecting, by the task processing device, an appropriate organization task from the organization-based task specification according to the recognized change in the situation; converting, by the job processing device, a robot service from the selected organization job; and instructing, by the job processing device, individual robots to perform the converted robot service.
나아가, 이하에서는 상기 기재된 다중 로봇 작업의 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.Furthermore, hereinafter, a computer-readable recording medium in which a program for executing the multi-robot task processing method described above is recorded on a computer is provided.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 다중 로봇 작업의 처리 장치는, 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세 및 요청 발생을 통해 인지된 상황의 변화를 입력받는 입력부; 및 입력된 상기 조직 기반 작업 명세에 기반하여 로봇 서비스를 구성하여 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 제어하는 프로그램을 실행하는 처리부;를 포함하고, 상기 프로그램은, 입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고, 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고, 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되, 인지된 상기 상황의 변화에 따라 상기 조직 기반 작업 명세로부터 적합한 조직 작업을 선택하고, 선택된 상기 조직 작업으로부터 로봇 서비스를 변환하며, 개별 로봇으로 하여금 변환된 상기 로봇 서비스를 수행하도록 명령한다.In order to solve the above technical problem, an apparatus for processing multi-robot tasks according to another embodiment of the present invention is an organization-based task specification describing tasks including roles, interactions, and organizational structures for tasks to be performed by multiple robots. and an input unit that receives a change in a situation recognized through a request. and a processing unit configured to configure a robot service based on the input organization-based job specification and executing a program for controlling individual robots to perform the robot service, wherein the program is configured based on the input organization-based job specification. By transforming the organizational task, creating a multi-robot service including at least one role service reconstructed in the form of a task to be performed by an individual robot, and distributing the role service of the multi-robot service to the individual robot, each robot Based on the distributed role service, at least one of the actual work, situation, and knowledge information necessary for service execution is collected to derive the robot service configuration, and according to the recognized change in the situation, a suitable organization from the organization-based task specification Select a task, convert robot services from the selected organization tasks, and command individual robots to perform the converted robot services.
본 발명의 실시예들은, 다중 로봇이 수행할 작업을 서술하는 조직 기반 작업 명세를 통해 다중 로봇의 작업을 한번에 개발하도록 하여 각 로봇 서비스간에 어휘의 일관성을 유지한 서비스 개발이 가능하고, 로봇의 능력을 정의하는 액터와 역할의 결합을 통해 서비스가 구성되므로 로봇의 종류나 기능에 대한 조직 작업의 개방성을 제공할 수 있으며, 로봇이 환경의 변화에 따라 자신들에게 적합한 조직 작업을 스스로 선택하고 필요한 서비스를 자동으로 생성하여 적용하는 것이 가능하다.Embodiments of the present invention enable the development of multiple robot tasks at once through an organization-based task specification that describes the tasks to be performed by multiple robots, enabling service development that maintains vocabulary consistency among each robot service, and Since services are formed through the combination of actors and roles that define robots, it is possible to provide the openness of organizational work for robot types and functions. It is possible to automatically generate and apply.
도 1은 본 발명의 일 실시예에 따른 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법을 도시한 흐름도이다.1 is a flowchart illustrating a multi-robot job processing method using organization-based job specification according to an embodiment of the present invention.
도 2는 본 발명의 실시예들이 제안하는 다중 로봇 작업을 처리하는 시스템 개요를 도시한 블록도이다.2 is a block diagram showing an overview of a system for processing multi-robot tasks proposed by embodiments of the present invention.
도 3은 본 발명의 실시예들이 제안하는 다중 로봇 작업을 생성하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of generating a multi-robot task proposed by embodiments of the present invention.
도 4는 조직 기반 작업 명세의 전체 구조 및 예를 도시한 도면이다.4 is a diagram showing the overall structure and example of an organization-based job specification.
도 5는 조직 기반 작업 명세의 구성 요소를 셜명하기 위한 도면이다.5 is a diagram for explaining the components of an organization-based work specification.
도 6은 다중 로봇 서비스 모델을 설명하기 위한 도면이다.6 is a diagram for explaining a multi-robot service model.
도 7은 조직 기반 작업 명세로부터 다중 로봇 서비스를 변환하는 과정을 도시한 흐름도이다.7 is a flow diagram illustrating a process of converting multi-robot services from an organization-based job specification.
도 8은 다중 로봇 서비스로부터 로봇 서비스를 구성하는 과정을 도시한 흐름도이다.8 is a flowchart illustrating a process of constructing a robot service from multiple robot services.
도 9는 본 발명의 일 실시예에 따른 상황 변화에 따른 로봇 서비스 수행 과정을 설명하기 위한 도면이다.9 is a diagram for explaining a process of performing a robot service according to a situation change according to an embodiment of the present invention.
도 10은 본 발명의 다른 실시예에 따른 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 장치를 도시한 블록도이다.10 is a block diagram illustrating a multi-robot task processing device using organization-based task specification according to another embodiment of the present invention.
<부호의 설명><Description of codes>
10: 다중 로봇 작업의 처리 장치10: processing unit of multi-robot operation
11: 입력부11: input unit
13: 처리부13: processing unit
20: 다중 로봇20: multiple robots
본 발명의 일 실시예에 따른 다중 로봇 작업의 처리 방법은, 작업 처리 장치가 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는 단계; 상기 작업 처리 장치가 입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하는 단계; 및 상기 작업 처리 장치가 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하는 단계;를 포함한다.A multi-robot task processing method according to an embodiment of the present invention includes the steps of receiving, by a task processing device, an organization-based task specification describing a task including roles, interactions, and organizational structures for tasks to be performed by multiple robots. ; Converting an organization job from the organization-based job specification input by the job processing device and generating a multi-robot service including at least one role service reconstructed in the form of a job to be performed by an individual robot; And by distributing the role service of the multi-robot service to individual robots by the task processing device, each robot collects at least one of actual tasks, situations, and knowledge information required for service execution based on the distributed role services. and inducing a robot service configuration.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 덧붙여, 명세서 전체에서, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. However, detailed descriptions of well-known functions or configurations that may obscure the gist of the present invention will be omitted in the following description and accompanying drawings. In addition, throughout the specification, 'including' a certain component means that other components may be further included, not excluding other components unless otherwise stated.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Terms used in the present invention are only used to describe specific embodiments, and are not intended to limit the present invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, the terms "comprise" or "comprise" are intended to designate that the described feature, number, step, operation, component, part, or combination thereof exists, but that one or more other features or It should be understood that the presence or addition of numbers, steps, operations, components, parts, or combinations thereof is not precluded.
특별히 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless specifically defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the present invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in this application, they are not interpreted in an ideal or excessively formal meaning. .
본 발명의 실시예들은 설명하기에 앞서, 공통되는 용어를 먼저 소개한다. '로봇 서비스'는 로봇이 서비스를 수행하기 위해 필요한 작업, 상황 및 지식 등의 정보의 집합을 의미하고, '액터(actor)'는 작업을 수행하는 주체를 의미하는 것으로, 로봇, 카메라, 사람 등 다양한 유형이 될 수 있으며, '상황 정보'는 센서를 통해 관찰된 환경 정보를 로봇이 이해할 수 있는 형태로 가공한 것을 나타낸다. 상황 정보는 술어의 형태로 정의될 수 있으며, 예를 들어, 화물위치("box01", 3, 10, 1), 사람요청("입고운반") 등과 같이 나타낼 수 있다.Prior to description of embodiments of the present invention, common terms are first introduced. 'Robot service' refers to a set of information such as tasks, situations, and knowledge necessary for a robot to perform a service, and 'actor' refers to a subject that performs a task, such as robots, cameras, people, etc. It can be of various types, and 'circumstance information' represents the processing of environmental information observed through sensors into a form that a robot can understand. Circumstance information may be defined in the form of a predicate, and may be expressed as, for example, a cargo location (“box01”, 3, 10, 1), a person request (“warehousing and transporting”), and the like.
도 1은 본 발명의 일 실시예에 따른 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법을 도시한 흐름도로서, 다중 로봇이 수행할 작업을 하나의 명세를 통해 서술하고 이를 기반으로 각 개별 로봇의 서비스를 구성하는 방법을 제안한다. 이를 위해 도 1에 기술되는 일련의 처리 과정은 시계열적으로 수행하는 명령어로 구성된 프로그램을 통해 구현될 수 있으며, 적어도 하나의 프로세서를 구비하는 작업 처리 장치에 의해 실행될 수 있다.1 is a flowchart illustrating a multi-robot task processing method using an organization-based task specification according to an embodiment of the present invention, in which a task to be performed by multiple robots is described through one specification, and based on this, each individual robot's Suggest how to configure the service. To this end, a series of processes described in FIG. 1 may be implemented through a program composed of instructions that are executed time-sequentially, and may be executed by a task processing device having at least one processor.
S110 단계에서, 작업 처리 장치는 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는다. 여기서, 조직 기반 작업 명세(Robot Organization Task Specification)(이하에서 'RoOTS'로 병기)는 조직(organization) 방법론 내의 아키텍처 설계 모델을 명세화하여 이를 기반으로 조직 구성과 역할을 구체적이고 기술적으로 도출하기 위한 수단이다. 따라서, 조직 기반 작업 명세는 조직의 구성과 조직 내 역할, 역할 간의 상호작용, 공통적인 정책 및 규범 등을 서술하여 복수의 로봇에게 상황에 따라 적합한 서비스를 분배하고 상호작용을 수행하는 방법을 정의하여야 한다.In step S110 , the task processing device receives an organization-based task specification describing tasks including roles, interactions, and organizational structures for tasks to be performed by multiple robots. Here, the Robot Organization Task Specification (hereinafter referred to as 'RoOTS') is a means for specifying an architecture design model within an organization methodology and deriving an organization composition and role in a specific and technical manner based on this specification. am. Therefore, the organization-based job specification must define the method of distributing appropriate services to multiple robots according to the situation and performing interactions by describing the organization of the organization, roles within the organization, interactions between roles, common policies and norms, etc. do.
S130 단계에서, 상기 작업 처리 장치는 S110 단계를 통해 입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성한다. 이 과정에서는, 조직 기반 작업 명세로부터 조직 작업을 개별 로봇에게 분배하기 위해 단일 로봇 작업 수준으로 변환하되, 역할 서비스의 형태로 변환하고, 역할 내에서 사용되는 지식에 따라 지식을 생성하고, 조직 기반 작업 명세의 정책을 역할 서비스의 정책으로 변환하되, 키워드 기반 매치 및 항목 전달을 통해 다중 로봇 서비스를 생성할 수 있다.In step S130, the task processing device converts the organization task from the organization-based task specification input through step S110 and generates a multi-robot service including at least one role service reconstructed in the form of a task to be performed by an individual robot. do. In this process, from an organization-based task specification to a single robot task level for distributing organizational tasks to individual robots, but in the form of role services, generating knowledge according to the knowledge used within the role, and organization-based tasks The policy of the specification is converted into the policy of the role service, but multiple robot services can be created through keyword-based matching and item delivery.
S150 단계에서, 상기 작업 처리 장치는 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도한다. 이 과정에서는, 로봇 서비스 구성을 유도하는 단계는, 로봇의 능력에 따라 개별 로봇에게 역할 서비스를 분배하고, 역할 서비스의 각 요소별 질의를 통해 로봇 서비스 수행을 위해 필요한 작업 및 상황을 수집하여 역할 서비스 기반의 로봇 서비스를 생성할 수 있다.In step S150, the task processing device distributes the role service of the multi-robot service to individual robots, so that each robot has at least one of actual tasks, situations, and knowledge information necessary for service execution based on the distributed role service. Collect one to induce robot service configuration. In this process, the step of inducing robot service composition distributes role services to individual robots according to their capabilities, collects tasks and situations necessary for robot service performance through queries for each element of the role service, and provides role services. Based robot service can be created.
상기 일련의 처리 과정에서, 하나의 명세를 통해 다중 로봇의 서비스를 생성하므로 각 로봇의 환경의 이해 방식이나 작업의 어휘 등에 대한 일관성 유지가 가능하다. 또한, 로봇의 능력을 정의하는 액터와 역할의 결합을 통해 서비스가 구성되므로 로봇의 종류나 기능에 대한 조직 작업의 개방성을 제공할 수 있다. 나아가, 유사한 목적을 가지면서 동시에 다른 조직 구조를 가진 도메인인 경우, 역할이나 상호작용의 재사용을 지원할 수 있다.In the above series of processes, since services of multiple robots are created through one specification, it is possible to maintain consistency in the way each robot understands the environment or the vocabulary of work. In addition, since services are formed through the combination of actors and roles that define robot capabilities, it is possible to provide openness of organizational work for robot types and functions. Furthermore, in the case of domains having similar purposes and different organizational structures, reuse of roles or interactions can be supported.
도 2는 본 발명의 실시예들이 제안하는 다중 로봇 작업을 처리하는 시스템 개요를 도시한 블록도이다.2 is a block diagram showing an overview of a system for processing multi-robot tasks proposed by embodiments of the present invention.
조직 기반 작업 명세(210)는 다중 로봇의 작업을 일관된 방법으로 서술하기 위한 수단이다. 다중 로봇 서비스(230)는 이러한 조직 기반 작업 명세(210)를 이용하여 각 로봇이 서비스를 구성하기 위해 필요한 정보를 서술한다. 로봇 서비스(250)는 다중 로봇 서비스(230)가 분배되어 개별 로봇이 수행하기 위한 서비스를 의미한다.The organization-based job specification 210 is a means to describe the jobs of multiple robots in a consistent way. The multi-robot service 230 describes information necessary for each robot to configure a service using the organization-based job specification 210 . The robot service 250 refers to a service for individual robots to perform by distributing multiple robot services 230 .
도 3은 본 발명의 실시예들이 제안하는 다중 로봇 작업을 생성하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of generating a multi-robot task proposed by embodiments of the present invention.
단일 로봇 작업과 다중 로봇의 작업이 분할되어 서술된 조직 작업 명세(310)를 입력받아 조직 작업을 변환(320)함으로써 개별 로봇에게 분배하기 위한 형태인 다중 로봇 서비스(330)로 변환한다. 그런 다음, 각 로봇에게 역할 서비스를 분배(340)하고, 각 로봇이 서비스 수행을 위해 필요한 정보를 수집하여 로봇 서비스를 구성(350)한다. 여기서, 조직 기반 작업 명세(310)는 조직, 역할 및 상호작용의 형태로 작업을 서술하고, 다중 로봇 서비스(330)는 조직 기반 작업 명세(310)를 이용하여 각 로봇이 서비스를 구성하기 위해 필요한 정보를 선언적으로 서술하는 역할 서비스로 구성되며, 로봇 서비스(350)는 역할 서비스를 기반으로 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 등을 수집하여 구성된다.A single robot job and a multi-robot job are divided into a multi-robot service 330 that is a form for distributing to individual robots by receiving the organizational job specification 310 described and converting the organizational job 320 . Then, the role service is distributed to each robot (340), and each robot collects information necessary for service execution to configure a robot service (350). Here, the organization-based task specification 310 describes tasks in the form of organizations, roles, and interactions, and the multi-robot service 330 uses the organization-based task specification 310 to describe the tasks required by each robot to configure the service. It consists of role services that declaratively describe information, and the robot service 350 is configured by collecting actual tasks, situations, and knowledge information necessary for service execution based on role services.
도 4는 조직 기반 작업 명세의 전체 구조(a) 및 예(b)를 도시한 도면이다. 도 4의 (a)를 참조하면, 조직을 구성하는 역할, 역할 간의 관계, 상호작용 요소, 공통적인 정책, 규범 등 복수 로봇이 일관성 있는 작업을 수행하기 위해 필요한 추상적 요소가 각각 정의되어 있음을 확인할 수 있다. 또한, 역할과 상호작용, 정책 및 규범을 통해 각 로봇에 할당하여야 할 서비스 및 지식의 범위를 정의하여 이후 변환을 통해 각 로봇의 서비스를 구성할 수 있음을 보여준다.4 is a diagram showing an overall structure (a) and an example (b) of an organization-based job specification. Referring to (a) of FIG. 4, it can be seen that abstract elements necessary for multiple robots to perform consistent tasks, such as roles constituting an organization, relationships between roles, interaction elements, common policies, and norms, are defined respectively. can In addition, it shows that the service of each robot can be configured through transformation by defining the range of services and knowledge to be assigned to each robot through roles, interactions, policies, and norms.
요약하건대, 본 발명의 실시예들이 제안하는 조직 기반 작업 명세는, 조직을 구성하는 역할, 상호작용 및 조직을 구성하는 역할 간의 관계를 나타내는 조직 구조를 포함하되, 공통적인 정책 및 규범을 서술하여 다중 로봇에게 주어진 상황에 따라 적합한 서비스를 분배하여 상호작용을 수행하는데 필요한 요소를 정의하고, 역할, 상호작용, 정책 및 규범을 통해 개별 로봇에 할당하여야 하는 서비스 및 지식의 범위를 정의할 수 있다.In summary, the organization-based work specification proposed by the embodiments of the present invention includes an organizational structure that represents the roles constituting the organization, interactions, and relationships between roles constituting the organization, but describes common policies and norms to multiple Depending on the situation given to robots, appropriate services can be distributed to define the elements required to perform interactions, and the range of services and knowledge to be assigned to individual robots can be defined through roles, interactions, policies, and norms.
도 5는 조직 기반 작업 명세의 구성 요소를 셜명하기 위한 도면이다.5 is a diagram for explaining the components of an organization-based work specification.
조직 내 각 에이전트가 수행할 서비스 절차 및 구성을 나타내는 역할(role)을 예시한 도 5의 (a)를 참조하면, 역할은 조직을 구성하여 복잡한 작업을 수행하기 위해 에이전트에 할당할 수 있는 서비스 시퀀스를 보유하고 있는 구성 요소를 포함하며, 에이전트의 능력과 상관없이 서술된 추상적 서비스 절차 및 구성 단위를 나타낸다. 역할의 세부 구성으로는, 역할이 수행할 작업 및 상호작용 전체의 선언을 통해 역할이 할당된 에이전트의 능력에 따라 수행 가능한 작업으로 적용되는 인터랙션(Interaction) 및 액티비티(Activity), 역할이 주로 수행하는 행위 및 상호작용으로 구성된 추상적 서비스 절차를 나타내는 라이브니스(Liveness), 역할이 작업 수행 과정에서 유지하여야 할 상황으로서 에이전트가 수행하는 작업에 대한 제약 조건으로 반영되는 세이프티(Safety) 및 조직 내 역할들이 서비스를 수행하는 환경 및 상황 정보에 대한 생성, 수정 및 접근 권한을 나타내는 퍼미션(Permission)을 포함할 수 있다.Referring to FIG. 5 (a) illustrating a role representing service procedures and configurations to be performed by each agent in an organization, a role is a service sequence that can be assigned to agents to perform complex tasks by configuring an organization. It includes the component that has the agent, and represents the described abstract service procedure and component unit regardless of the agent's ability. The detailed composition of a role includes interactions and activities that are applied as tasks that can be performed according to the abilities of the agent to whom the role is assigned through the declaration of the entire interaction and tasks to be performed by the role, and activities that the role mainly performs. Liveness, which represents an abstract service procedure composed of actions and interactions, safety, which is reflected as a constraint on the work performed by an agent as a situation to be maintained in the process of performing a role, and roles in an organization It may include permission indicating creation, modification, and access rights for the environment and context information to perform.
조직을 구성하는 역할 간의 관계를 나타내는 조직 구조(Organization Structure)를 예시한 도 5의 (b)를 참조하면, 조직 구조는 각 에이전트의 협업 대상 파악을 위한 역할 간 관계를 서술하는 구성 요소로서, 조직 작업을 적용하고자 하는 시스템의 구조에 따라 기존 조직 구조를 재활용하는 것이 가능하다.Referring to FIG. 5 (b) illustrating an organization structure representing the relationship between roles constituting the organization, the organization structure is a component describing the relationship between roles for identifying collaboration targets of each agent. Depending on the structure of the system to which the work is to be applied, it is possible to reuse the existing organizational structure.
작업의 범용적인 적합도 평가 및 비교하기 위한 기준을 나타내는 정책(Policy)을 예시한 도 5의 (c)를 참조하면, 정책은 상황 정보 등을 통해 값이 결정되어 작업의 유용성 비교를 지원하는 구성 요소로서, 에이전트에게 할당된 역할의 능력에 따라 다르게 적용되어 각 상황에 따른 최적의 작업 선택을 지원한다.Referring to FIG. 5(c), which illustrates a policy representing criteria for evaluating and comparing general suitability of tasks, the policy is a component whose value is determined through context information to support comparison of usefulness of tasks. As, it is applied differently according to the ability of the role assigned to the agent to support optimal task selection according to each situation.
복수의 에이전트가 참여하여 지식 교환 및 작업을 수행하는 서비스 단위를 나타내는 상호작용(Interaction)을 예시한 도 5의 (d)를 참조하면, 상호작용은 상호작용 템플릿을 기반으로 상호작용 작업 생성을 위해 필요한 정보를 서술하는 구성 요소로서, 작업이나 환경 등에 대해 동일한 어휘를 사용하는 에이전트 간 통신 프로토콜을 제공한다. 상호작용의 세부 구성으로는, 상호작용 작업을 구성하기 위한 템플릿과 상호작용에서 사용될 어휘를 서술하는 인터랙션 템플릿(InteractionTemplate), 상호작용을 시간하는 역할을 하는 개시자(Initiator) 및 상호작용에 참여하는 역할 전체를 나타내는 참가자(Participant)를 포함할 수 있다.Referring to FIG. 5 (d) illustrating an interaction representing a service unit in which a plurality of agents participate to exchange knowledge and perform tasks, the interaction is for generating an interaction task based on an interaction template. As a component that describes necessary information, it provides a communication protocol between agents that uses the same vocabulary for work or environment. The detailed configuration of the interaction includes a template for configuring the interaction task, an interaction template (InteractionTemplate) that describes the vocabulary to be used in the interaction, an initiator that plays a role in timing the interaction, and a participant who participates in the interaction. You can include a Participant representing the entire role.
도 6은 다중 로봇 서비스 모델을 설명하기 위한 도면이다.6 is a diagram for explaining a multi-robot service model.
다중 로봇 서비스 모델은 로봇이 서비스를 수행하기 위해 필요한 서비스 구성 모델로서, 개별 로봇에 서비스가 할당되기 전 서비스를 생성하기 위해 필요한 최소한의 정보로 구성된 모델을 저장하되, 조직 기반 작업 명세로부터 액티비티(Activity), 인터랙션(Interaction) 등의 구성 요소를 변환하여 각 역할별로 수행할 작업, 상황 및 지식을 구성함으로써 개별 로봇에게 분배된 후 역할 서비스로 변환 및 완성된다.The multi-robot service model is a service configuration model required for robots to perform services. A model composed of the minimum information required to create a service before a service is assigned to an individual robot is stored, but activity (Activity ), interaction, etc. to configure the tasks, situations, and knowledge to be performed for each role, which are then distributed to individual robots and then converted into role services and completed.
각 로봇이 서비스 생성을 위해 필요한 작업, 상황 등의 조건으로 구성된 서비스 모델을 나타내는 역할 서비스(RoleService)를 예시한 도 6의 (c)를 참조하면, 역할 서비스는, 로봇의 서비스 수행을 위한 작업 절차를 나타내는 워크플로우(Workflow), 액티비티(Activity) 및 인터랙션(Interaction)과 같이 에이전트가 서비스 수행을 위해 필요한 작업의 조건을 서술하는 태스크(Task), 서비스에서 활용되는 상황 정보 및 상황 생성 규칙 획득을 위한 조건을 서술하는 컨텍스트(Context) 및 서비스 구성을 위해 필요한 도메인 지식 모델을 선언하는 지식(Knowledge)을 구성요소로서 포함할 수 있다.Referring to (c) of FIG. 6 exemplifying a role service (RoleService) representing a service model composed of conditions such as tasks and situations required for service generation by each robot, the role service includes work procedures for robots to perform services. Tasks that describe the conditions of tasks required for an agent to perform a service, such as Workflow, Activity, and Interaction, for acquiring situation information and situation creation rules used in the service. A context describing conditions and knowledge declaring a domain knowledge model necessary for configuring a service may be included as components.
도 7은 조직 기반 작업 명세로부터 다중 로봇 서비스를 변환하는 과정을 도시한 흐름도로서, 조직 작업을 각 로봇에게 분배하기 위해 단일 로봇 작업 수준으로 변환한다. 도 7을 참조하면, 우선 조직 기반 작업 명세(RoOTS)를 입력받고(S710 단계), 변환할 역할이 없을 때까지(S715 단계) 일련의 생성 및 변환 과정을 수행한다. Role을 RoleService로 변환하고 RoleService 생성한다(S720 단계). Role의 Liveness를 RoleService의 workflow로 변환하고(S730 단계), Role의 Activity를 RoleService의 Task로 변환하고(S740 단계), Role의 Interaction을 RoleService의 Task로 변환하고(S750 단계), Role의 Permission을 RoleService의 Context로 변환하고(S760 단계), Role 내에서 사용되는 지식에 따라 Knowledgefmf 생성하며(S770 단계), 조직 기반 작업 명세(RoOTS)의 Policy를 RoleService의 Policy로 변환한다(S780 단계). 이제 모든 역할이 변환되었다면, 다중 로봇 서비스 변환을 완료한다(S790 단계).Figure 7 is a flow diagram illustrating the process of converting multi-robot services from an organization-based job specification to a single-robot job level for distributing an organization job to each robot. Referring to FIG. 7 , first, an organization-based job description (RoOTS) is input (step S710), and a series of creation and conversion processes are performed until there is no role to be converted (step S715). Role is converted into RoleService and RoleService is created (step S720). The Liveness of the Role is converted into the workflow of the RoleService (Step S730), the Activity of the Role is converted into a Task of the RoleService (Step S740), the Interaction of the Role is converted into a Task of the RoleService (Step S750), and the Permission of the Role is converted into the RoleService Context of (step S760), Knowledgefmf is created according to the knowledge used in the role (step S770), and policy of organization-based work specification (RoOTS) is converted into Policy of RoleService (step S780). Now, if all roles are converted, the multi-robot service conversion is completed (step S790).
도 8은 다중 로봇 서비스로부터 로봇 서비스를 구성하는 과정을 도시한 흐름도로서, 능력 기반으로 역할을 할당하고, 역할 서비스 기반으로 서비스 패키지를 구성한다. 이 과정에서는 액터(Actor)의 능력에 따라 역할을 할당하고, 역할 서비스(RoleService) 분배를 통해 개별 로봇 서비스를 생성한다. 여기서, 역할을 수행하기 위한 능력(Skill)과 로봇의 능력(Capability) 간의 추론을 통해 역할(Role)과 액터(Actor)가 할당될 수 있다. 또한, 역할 서비스의 각 요소별 질의를 통해 로봇 서비스 수행을 위해 필요한 작업 및 상황을 수집할 수 있다. 도 8을 참조하면, 다중 로봇 서비스를 입력받고(S810 단계), 각 액터에게 역할 서비스(RoleService)를 분배하고(S820 단계), 역할 서비스의 태스크(Task), 컨텍스트(Context), 지식(Knowledge) 및 정책(Policy) 기반의 지식 질의 및 수집을 각각 수행하며(S830~S860 단계), 로봇 서비스의 구성을 완료한다(S870 단계).8 is a flowchart illustrating a process of configuring robot services from multiple robot services, assigning roles based on capabilities, and configuring service packages based on role services. In this process, roles are assigned according to the capabilities of actors, and individual robot services are created through role service distribution. Here, a role and an actor may be assigned through reasoning between a skill to perform a role and a robot's capability. In addition, it is possible to collect tasks and situations necessary for robot service performance through queries for each element of the role service. Referring to FIG. 8, multiple robot services are received (step S810), role services are distributed to each actor (step S820), tasks, contexts, and knowledge of the role services are And policy (Step S830 ~ S860 steps), each of which performs knowledge query and collection based on the policy (Step S830 ~ S860), completes the configuration of the robot service (Step S870).
도 9는 본 발명의 일 실시예에 따른 상황 변화에 따른 로봇 서비스 수행 과정을 설명하기 위한 도면이다. 도 9에서, 사람 요청 발생 등 작업 처리 장치가 요청 발생을 통해 상황의 변화를 인지하면, 인지된 상기 상황의 변화에 따라 조직 기반 작업 명세(310)로부터 적합한 조직 작업을 선택하고, 선택된 조직 작업으로부터 로봇 서비스(350)를 변환함으로써, 개별 로봇으로 하여금 변환된 로봇 서비스(350)를 수행하도록 명령하게 된다.9 is a diagram for explaining a process of performing a robot service according to a situation change according to an embodiment of the present invention. In FIG. 9 , when the task processing device, such as a human request, recognizes a change in circumstances through the occurrence of a request, an appropriate organization task is selected from the organization-based task specification 310 according to the recognized change in the situation, and from the selected organization task. By transforming the robot service 350, individual robots are commanded to perform the transformed robot service 350.
도 10은 본 발명의 다른 실시예에 따른 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 장치(10)를 도시한 블록도로서, 앞서 기술된 도 1을 하드웨어 관점에서 재구성한 도면이다. 따라서 여기서는 설명의 중복을 피하고자 각 구성 요소의 기능 및 동작을 약술하도록 한다.10 is a block diagram showing a multi-robot task processing apparatus 10 using organization-based task specification according to another embodiment of the present invention, and is a diagram reconstructed from the hardware point of view of FIG. 1 described above. Therefore, in order to avoid duplication of description, the function and operation of each component will be briefly described here.
입력부(11)는, 다중 로봇(20)이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세 및 요청 발생을 통해 인지된 상황의 변화를 입력받는 구성이다.The input unit 11 is a component that receives a change in the situation recognized through an organization-based job specification describing a job including a role, interaction, and organizational structure for a job to be performed by the multi-robot 20 and generation of a request. .
처리부(13)는 입력된 상기 조직 기반 작업 명세에 기반하여 로봇 서비스를 구성하여 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 제어하는 프로그램을 실행하는 구성이다. 이러한 프로그램은, 입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고, 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고, 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되, 인지된 상기 상황의 변화에 따라 상기 조직 기반 작업 명세로부터 적합한 조직 작업을 선택하고, 선택된 상기 조직 작업으로부터 로봇 서비스를 변환하며, 개별 로봇으로 하여금 변환된 상기 로봇 서비스를 수행하도록 명령한다.The processing unit 13 configures a robot service based on the inputted organization-based job specification and executes a program for controlling individual robots to perform the robot service. Such a program converts an organization task from the input organization-based task specification, creates a multi-robot service including at least one role service reconstructed in the form of a task to be performed by an individual robot, and creates a role of the multi-robot service. By distributing the service to individual robots, each of the individual robots collects at least one of actual work, situation, and knowledge information necessary for service execution based on the distributed role service to induce robot service configuration, According to the change of , an appropriate organization task is selected from the organization-based task specification, a robot service is converted from the selected organization task, and an individual robot is commanded to perform the converted robot service.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the embodiments of the present invention can be implemented as computer readable codes in a computer readable recording medium. The computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. In addition, the computer-readable recording medium may be distributed to computer systems connected through a network, so that computer-readable codes may be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.In the above, the present invention was examined focusing on various embodiments thereof. Those of ordinary skill in the art pertaining to the present invention will be able to understand that the present invention can be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments should be considered from an illustrative rather than a limiting point of view. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.
상기된 본 발명의 실시예들에 따르면, 다중 로봇이 수행할 작업을 서술하는 조직 기반 작업 명세를 통해 다중 로봇의 작업을 한번에 개발하도록 하여 각 로봇 서비스간에 어휘의 일관성을 유지한 서비스 개발이 가능하고, 로봇의 능력을 정의하는 액터와 역할의 결합을 통해 서비스가 구성되므로 로봇의 종류나 기능에 대한 조직 작업의 개방성을 제공할 수 있으며, 로봇이 환경의 변화에 따라 자신들에게 적합한 조직 작업을 스스로 선택하고 필요한 서비스를 자동으로 생성하여 적용하는 것이 가능하다.According to the embodiments of the present invention described above, it is possible to develop services maintaining consistency of vocabulary between each robot service by developing tasks of multiple robots at once through an organization-based task specification that describes tasks to be performed by multiple robots, and , Since services are formed through the combination of actors and roles that define robot capabilities, it is possible to provide openness of organizational work for robot types and functions, and robots can self-select organizational tasks suitable for them according to changes in the environment. It is possible to automatically generate and apply necessary services.

Claims (10)

  1. 작업 처리 장치가 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는 단계;Receiving, by the task processing device, an organization-based task specification describing tasks including roles, interactions, and organizational structures for tasks to be performed by multiple robots;
    상기 작업 처리 장치가 입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하는 단계; 및Converting an organization job from the organization-based job specification input by the job processing device and generating a multi-robot service including at least one role service reconstructed in the form of a job to be performed by an individual robot; and
    상기 작업 처리 장치가 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하는 단계;를 포함하는, 다중 로봇 작업의 처리 방법.By distributing the role service of the multi-robot service to individual robots, the task processing device collects at least one of the actual task, situation, and knowledge information required for service execution based on the distributed role service for each robot Inducing a robot service configuration; including, processing method of multi-robot work.
  2. 제 1 항에 있어서,According to claim 1,
    상기 조직 기반 작업 명세는,The organization-based job specification,
    조직을 구성하는 역할, 상호작용 및 조직을 구성하는 역할 간의 관계를 나타내는 조직 구조를 포함하되,Including an organizational structure that represents the roles that make up the organization, the interactions, and the relationships between the roles that make up the organization;
    공통적인 정책 및 규범을 서술하여 다중 로봇에게 주어진 상황에 따라 적합한 서비스를 분배하여 상호작용을 수행하는데 필요한 요소를 정의하고, 역할, 상호작용, 정책 및 규범을 통해 개별 로봇에 할당하여야 하는 서비스 및 지식의 범위를 정의하는, 다중 로봇 작업의 처리 방법.Define common policies and norms to distribute appropriate services to multiple robots according to the given situation, define the elements needed to perform interactions, and service and knowledge to be assigned to individual robots through roles, interactions, policies and norms A processing method for multi-robot tasks, which defines the scope of
  3. 제 2 항에 있어서,According to claim 2,
    상기 역할은,The role is
    작업을 수행하는 에이전트의 능력과 상관없이 서비스 절차 및 구성 단위를 서술하되,Describe service procedures and units regardless of the agent's ability to perform the task,
    역할이 수행할 작업 및 상호작용 전체의 선언을 통해 역할이 할당된 에이전트의 능력에 따라 수행 가능한 작업으로 적용되는 인터랙션(Interaction) 및 액티비티(Activity);Interactions and activities applied as tasks that can be performed according to the abilities of the agent assigned to the role through the declaration of the entire interaction and tasks to be performed by the role;
    역할이 수행하는 행위 및 상호작용으로 구성된 서비스 절차를 나타내는 라이브니스(Liveness);Liveness, which represents a service procedure composed of actions and interactions performed by a role;
    역할이 작업 수행 과정에서 유지하여야 할 상황으로서 에이전트가 수행하는 작업에 대한 제약 조건으로 반영되는 세이프티(Safety); 및Safety, which is reflected as a constraint on the task performed by the agent, as a situation to be maintained in the process of performing the role; and
    조직 내 역할들이 서비스를 수행하는 환경 및 상황 정보에 대한 생성, 수정 및 접근 권한을 나타내는 퍼미션(Permission);을 포함하는, 다중 로봇 작업의 처리 방법.A method for processing a multi-robot task, including; Permission indicating creation, modification, and access rights for environment and context information in which roles within an organization perform services.
  4. 제 2 항에 있어서,According to claim 2,
    상기 상호작용은,The interaction is
    복수의 에이전트가 참여하여 지식 교환 및 작업을 수행하는 서비스 단위로서 작업 또는 환경에 대한 에이전트 간의 통신 프로토콜을 제공하되,As a service unit in which a plurality of agents participate to exchange knowledge and perform tasks, a communication protocol between agents for tasks or environments is provided,
    상호작용 작업을 구성하기 위한 템플릿과 상호작용에서 사용될 어휘를 서술하는 인터랙션 템플릿(InteractionTemplate);an interaction template (InteractionTemplate) describing templates for constructing interaction tasks and vocabulary to be used in interactions;
    상호작용을 시간하는 역할을 하는 개시자(Initiator); 및an initiator that serves to time the interaction; and
    상호작용에 참여하는 역할 전체를 나타내는 참가자(Participant);를 포함하는, 다중 로봇 작업의 처리 방법.A method for processing a multi-robot task, including; a Participant representing all of the roles participating in the interaction.
  5. 제 1 항에 있어서,According to claim 1,
    상기 다중 로봇 서비스는,The multi-robot service,
    개별 로봇에 서비스가 할당되기 전 서비스를 생성하기 위해 필요한 최소한의 정보로 구성된 모델을 저장하되, 상기 조직 기반 작업 명세로부터 구성 요소를 변환하여 각 역할별로 수행할 작업, 상황 및 지식을 포함함으로써 상기 개별 로봇에게 분배된 후 역할 서비스를 생성하며,Before a service is assigned to an individual robot, a model consisting of the minimum information required to create a service is stored, but the individual robot is converted from the organization-based task specification to include the task, situation, and knowledge to be performed for each role. After being distributed to robots, create role services;
    상기 역할 서비스는,The role service,
    로봇의 서비스 수행을 위한 작업 절차를 나타내는 워크플로우(Workflow);Workflow representing work procedures for robot service performance;
    에이전트가 서비스 수행을 위해 필요한 작업의 조건을 서술하는 태스크(Task);A task that describes the conditions of work required for an agent to perform a service;
    서비스에서 활용되는 상황 정보 및 상황 생성 규칙 획득을 위한 조건을 서술하는 컨텍스트(Context); 및Context describing conditions for acquiring situation information and situation creation rules utilized in the service; and
    서비스 구성을 위해 필요한 도메인 지식 모델을 선언하는 지식(Knowledge);을 포함하는, 다중 로봇 작업의 처리 방법.A method for processing multi-robot tasks, including; knowledge that declares a domain knowledge model required for service configuration.
  6. 제 1 항에 있어서,According to claim 1,
    상기 다중 로봇 서비스를 생성하는 단계는,The step of generating the multi-robot service,
    조직 기반 작업 명세로부터 조직 작업을 개별 로봇에게 분배하기 위해 단일 로봇 작업 수준으로 변환하되, 역할 서비스의 형태로 변환하고,Transform organization-based task specifications from organization-based task specifications to a single robot task level for distributing organization tasks to individual robots, but in the form of role services;
    역할 내에서 사용되는 지식에 따라 지식을 생성하고,Generate knowledge according to the knowledge used within the role,
    조직 기반 작업 명세의 정책을 역할 서비스의 정책으로 변환하되,Convert the policies of the organization-based statement of work to the policies of the role service,
    키워드 기반 매치 및 항목 전달을 통해 다중 로봇 서비스를 생성하는, 다중 로봇 작업의 처리 방법.A method for processing multi-robot jobs, which creates multi-robot services through keyword-based matching and item delivery.
  7. 제 1 항에 있어서,According to claim 1,
    상기 로봇 서비스 구성을 유도하는 단계는,Inducing the robot service configuration,
    로봇의 능력에 따라 개별 로봇에게 역할 서비스를 분배하고, 역할 서비스의 각 요소별 질의를 통해 로봇 서비스 수행을 위해 필요한 작업 및 상황을 수집하여 역할 서비스 기반의 로봇 서비스를 생성하는, 다중 로봇 작업의 처리 방법.Processing of multi-robot tasks that distributes role services to individual robots according to their capabilities and collects tasks and situations necessary for performing robot services through queries for each element of the role services to create role-service-based robot services. method.
  8. 제 1 항에 있어서,According to claim 1,
    상기 작업 처리 장치가 요청 발생을 통해 상황의 변화를 인지하는 단계;Recognizing, by the task processing device, a change in circumstances through the generation of a request;
    상기 작업 처리 장치가 인지된 상기 상황의 변화에 따라 상기 조직 기반 작업 명세로부터 적합한 조직 작업을 선택하는 단계;selecting, by the task processing device, an appropriate organization task from the organization-based task specification according to the recognized change in the situation;
    상기 작업 처리 장치가 선택된 상기 조직 작업으로부터 로봇 서비스를 변환하는 단계; 및converting, by the job processing device, a robot service from the selected organization job; and
    상기 작업 처리 장치가 개별 로봇으로 하여금 변환된 상기 로봇 서비스를 수행하도록 명령하는 단계;를 더 포함하는, 다중 로봇 작업의 처리 방법.Further comprising, the method of processing a multi-robot job; the step of commanding, by the job processing device, individual robots to perform the converted robot service.
  9. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium recording a program for executing the method of any one of claims 1 to 8 in a computer.
  10. 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세 및 요청 발생을 통해 인지된 상황의 변화를 입력받는 입력부; 및An input unit that receives changes in situations recognized through organization-based task specifications and request generation that describe tasks including roles, interactions, and organizational structures for tasks to be performed by multiple robots; and
    입력된 상기 조직 기반 작업 명세에 기반하여 로봇 서비스를 구성하여 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 제어하는 프로그램을 실행하는 처리부;를 포함하고,A processing unit configured to configure a robot service based on the inputted organization-based job specification and executing a program for controlling individual robots to perform the robot service;
    상기 프로그램은,said program,
    입력된 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고, 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고,Converting an organization task from the input organization-based task specification and generating a multi-robot service including at least one role service reconstructed in the form of a task to be performed by an individual robot;
    상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배함으로써 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되,By distributing the role service of the multi-robot service to individual robots, each of the individual robots collects at least one of actual work, situation, and knowledge information necessary for service execution based on the distributed role service to induce robot service configuration. but
    인지된 상기 상황의 변화에 따라 상기 조직 기반 작업 명세로부터 적합한 조직 작업을 선택하고, 선택된 상기 조직 작업으로부터 로봇 서비스를 변환하며, 개별 로봇으로 하여금 변환된 상기 로봇 서비스를 수행하도록 명령하는, 다중 로봇 작업의 처리 장치.According to the recognized change in the situation, an appropriate organization task is selected from the organization-based task specification, a robot service is converted from the selected organization task, and a multi-robot task is commanded to perform the converted robot service. processing unit.
PCT/KR2022/019088 2021-11-30 2022-11-29 Method and device for processing multi-robot work by using group-based work description WO2023101365A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0169373 2021-11-30
KR1020210169373A KR102610426B1 (en) 2021-11-30 2021-11-30 Method for multi-robot task processing using organization based task specification and apparatus thereof

Publications (1)

Publication Number Publication Date
WO2023101365A1 true WO2023101365A1 (en) 2023-06-08

Family

ID=86612608

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019088 WO2023101365A1 (en) 2021-11-30 2022-11-29 Method and device for processing multi-robot work by using group-based work description

Country Status (2)

Country Link
KR (1) KR102610426B1 (en)
WO (1) WO2023101365A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100040073A (en) * 2008-10-09 2010-04-19 한국전자통신연구원 System for cooperation of multiple mobile robot using dynamic behavior binding and method thereof
KR20200040088A (en) * 2018-10-08 2020-04-17 국방과학연구소 Method and apparatus for controlling robots
KR102109886B1 (en) * 2018-11-09 2020-05-12 서울시립대학교 산학협력단 Robot system and service providing method thereof
KR20200079703A (en) * 2018-12-26 2020-07-06 서울시립대학교 산학협력단 Service package authoring method and robot service development system
US10807237B2 (en) * 2014-09-02 2020-10-20 The John Hopkins University System and method for flexible human-machine collaboration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100040073A (en) * 2008-10-09 2010-04-19 한국전자통신연구원 System for cooperation of multiple mobile robot using dynamic behavior binding and method thereof
US10807237B2 (en) * 2014-09-02 2020-10-20 The John Hopkins University System and method for flexible human-machine collaboration
KR20200040088A (en) * 2018-10-08 2020-04-17 국방과학연구소 Method and apparatus for controlling robots
KR102109886B1 (en) * 2018-11-09 2020-05-12 서울시립대학교 산학협력단 Robot system and service providing method thereof
KR20200079703A (en) * 2018-12-26 2020-07-06 서울시립대학교 산학협력단 Service package authoring method and robot service development system

Also Published As

Publication number Publication date
KR20230081379A (en) 2023-06-07
KR102610426B1 (en) 2023-12-06

Similar Documents

Publication Publication Date Title
Han et al. A taxonomy of adaptive workflow management
Mizoguchi et al. Smart office robot collaboration based on multi-agent programming
Werger et al. Broadcast of local eligibility: behavior-based control for strongly cooperative robot teams
Franzoni et al. Emotional affordances in human-machine interactive planning and negotiation
WO2023101368A1 (en) Multi-robot task processing method and apparatus for assigning tasks to robots
WO2023101365A1 (en) Method and device for processing multi-robot work by using group-based work description
CN109766326A (en) A method of carrying out multiple agent mission planning in smart home in a manner of semantization
Lefebvre et al. A computer architecture for intelligent machines
US20210168043A1 (en) Operation Information System Based On Pervasive Computing
US20190129723A1 (en) Pervasive computing operating system prototype based on agents
Joshi et al. CIMGEN—A computer aided software engineering tool for development of fms control software
Smith et al. A design-oriented framework for modelling the planning and control of multiple task work in secretarial office administration
Ginés et al. Depicting probabilistic context awareness knowledge in deliberative architectures
Sudha et al. Ubiquitous semantic space: A context-aware and coordination middleware for ubiquitous computing
Mrozek et al. UMAP-A Universal Multi-Agent Platform for. NET Developers
Barber et al. Allocating goals and planning responsibility in dynamic sensible agent organizations
Kim et al. Inter-module cooperation architecture for interactive robot
Tellman Designing a Framework for Conversational Interfaces: Combining the latest advances in machine learning with earlier approaches
Tellman Designing a Framework for Conversational Interfaces
Gao et al. Meta-level architecture for executing multi-agent scenarios
Djian et al. Towards human-centred intelligent systems—the intelligent assistant
Mistry et al. Impact of multi-agents in hospital environment
Pandey et al. Properties and interaction ofobject oriented software agent with system
Beard et al. A cost measure for efficient scheduling in intelligent machines
Xu et al. A machine learning application for human resource data mining problem

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22901723

Country of ref document: EP

Kind code of ref document: A1