WO2023101368A1 - 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치 - Google Patents

로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치 Download PDF

Info

Publication number
WO2023101368A1
WO2023101368A1 PCT/KR2022/019103 KR2022019103W WO2023101368A1 WO 2023101368 A1 WO2023101368 A1 WO 2023101368A1 KR 2022019103 W KR2022019103 W KR 2022019103W WO 2023101368 A1 WO2023101368 A1 WO 2023101368A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
role
task
service
tasks
Prior art date
Application number
PCT/KR2022/019103
Other languages
English (en)
French (fr)
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 WO2023101368A1 publication Critical patent/WO2023101368A1/ko

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
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • 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/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages

Definitions

  • the present invention relates to a technology for controlling multiple robots, and more particularly, to a multi-robot task processing method and apparatus for controlling individual robots to perform respective roles by assigning appropriate tasks to individual robots in a multi-robot environment.
  • the technical problem to be solved by the present invention is to overcome the limitation that flexible task assignment is impossible because it remains at the level of matching the function of the robot and the required function in allocating tasks to individual robots in the conventional multi-robot control process, We want to address the weakness of the non-existent interaction between the robot's function developer and the task developer.
  • a multi-robot job processing method describes a job including a role, interaction, and organizational structure for a job to be performed by a multi-robot. Converting an organization task from an 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; Distributing the role service of the multi-robot service to individual robots by comparing a skill required for the role and a capability of the robot by the task processing device and assigning a task to the robot; and inducing, by the task processing device, robot service configuration by collecting at least one of actual tasks, situations, and knowledge information required for service execution based on the distributed role services to each of the individual robots.
  • the skill required for the role is knowledge to be created and utilized by the role, and is determined by inference rules and task hierarchical structures included in the service from the robot's ability. It is inferred as a capability of the robot, and the capability of the robot is knowledge that the robot can generate, and can be derived through modules and inference rules possessed by the robot.
  • the distributing the role service of the multi-robot service to individual robots includes acquiring target actor information to which roles and tasks of the organization-based job specification are to be assigned, and Inferring a required capability set according to the knowledge declared in the role, comparing the capability of the target actor and the capability set of the role to check whether the actor can perform the role, and according to the test result It is possible to assign a suitable role to the actor.
  • an apparatus for processing multi-robot tasks is an organization-based task specification describing tasks including roles, interactions, and organizational structures for tasks to be performed by multiple robots.
  • an input unit that receives input; and a processing unit that executes a program that assigns tasks to multiple robots based on the roles of the inputted organization-based job specifications and controls them to perform robot services, wherein the program performs an organization task from the organization-based job specifications.
  • the role service of the multi-robot service is distributed to individual robots, and the robot service is configured by collecting at least one of actual work, situation, and knowledge information necessary for service execution based on the distributed role service for each of the individual robots. , but commands individual robots to perform the robot service.
  • Embodiments of the present invention by modeling and comparing the capability required for performing a task and the capability of the robot, to describe the situation necessary for performing a role (Skill) and the ability to describe a situation that can be basically created by the robot (Capability) ), multi-robot tasks can be automatically distributed according to the capabilities of each robot, and openness to robots can be provided in the process of distributing multi-robot tasks.
  • FIG. 1 is a flowchart illustrating a method of processing a multi-robot job for assigning a job to a robot according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing an overview of a system for processing multi-robot tasks proposed by embodiments of the present invention.
  • 3 is a diagram showing the structure of organization-based job specification and multi-robot service.
  • FIG. 4 is a diagram for explaining a process of allocating tasks of multiple robots based on skills required for roles and capabilities of robots.
  • 5 is a diagram for explaining a situation hierarchy-based reasoning process for robot role assignment.
  • FIG. 6 is a flowchart illustrating a multi-robot task assignment process based on skills required for roles and capabilities of robots.
  • 7 to 12 are diagrams for explaining a sequential process of generating a multi-robot service.
  • FIG. 13 is a diagram for explaining a process of configuring a robot service package.
  • FIG. 14 is a block diagram illustrating a multi-robot task processing device for allocating tasks to robots according to another embodiment of the present invention.
  • a task processing device obtains an organization task from an organization-based task specification describing tasks including roles, interactions, and organizational structures for tasks to be performed by the multi-robots. Transforming 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; Distributing the role service of the multi-robot service to individual robots by comparing a skill required for the role and a capability of the robot by the task processing device and assigning a task to the robot; and inducing, by the task processing device, robot service configuration by collecting at least one of actual tasks, situations, and knowledge information required for service execution based on the distributed role services to each of the individual robots.
  • 'Robot service' refers to a set of information such as tasks, situations, and knowledge necessary for a robot to perform a service
  • '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.
  • FIG. 1 is a flowchart illustrating a multi-robot task processing method for allocating tasks to robots according to an embodiment of the present invention, in which tasks to be performed by multiple robots are described through one specification, and based on this, each individual robot's Suggest how to configure the service.
  • 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.
  • the task processing device converts the organizational task from an organization-based task specification that describes tasks including roles, interactions, and organizational structures for tasks to be performed by multiple robots and reconstructs them into the form of tasks to be performed by individual robots. Create multiple robot services including at least one role service.
  • 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.
  • the organizational tasks from the organization-based task specification are converted to a single robot task level to distribute to individual robots, but converted into a form of role service, and the knowledge used within the role.
  • knowledge is created, organization-based job specification policies are converted into role service policies, and multi-robot services can be created through keyword-based matching and item delivery.
  • step S130 the task processing device compares the skills required for the role with the capabilities of the robot and allocates the task to the robot, thereby distributing the role service of the multi-robot service to individual robots.
  • roles that can be performed can be identified and assigned from situation decomposition based on the situation hierarchy for matching between the high-level situation described through the role of the organization-based task specification (RoOTS) and the capabilities of the robot.
  • RoOTS organization-based task specification
  • step S150 the task processing device induces robot service configuration by collecting at least one of actual tasks, situations, and knowledge information required for service execution based on the distributed role services to each of the individual robots.
  • FIG. 2 is a block diagram showing an overview of a system for processing multi-robot tasks proposed by embodiments of the present invention.
  • 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 . More specifically, a single robot job and a multi-robot job are divided into multi-robot service 230 that is a form for distributing to individual robots by receiving the organizational job specification 210 described and converting the organizational job. Then, a role service is distributed to each robot, and each robot collects information necessary for service execution to configure a robot service (250).
  • the organization-based job specification 210 describes work in the form of organization, role, and interaction
  • the multi-robot service 230 uses the organization-based job specification 210 to describe the tasks required for each robot to configure the service. It consists of role services that declaratively describe information, and the robot service 250 is configured by collecting actual tasks, situations, and knowledge information necessary for service execution based on role services.
  • 3 is a diagram showing the structure of organization-based job specification and multi-robot service.
  • FIG. 3 (a) showing an organization-based task specification, 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 provided. You can check that each is defined. 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.
  • 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.
  • a role which represents the service procedures and configurations to be performed by each agent in an organization, includes components that hold a sequence of services that can be assigned to agents to perform complex tasks by organizing the organization. Represents abstract service procedures and units described regardless of 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 which represents the relationship between roles that make up an organization, is a component that describes the relationship between roles to identify collaboration targets for each agent. Recycling is possible.
  • the policy which represents the standard for evaluating and comparing general suitability of tasks, is a component whose value is determined through contextual information to support the comparison of usefulness of tasks. It is applied differently depending on the ability of the role assigned to the agent. It supports the selection of the optimal operation according to each situation.
  • interaction which represents a service unit in which a plurality of agents participate to exchange knowledge and perform tasks
  • interaction is a component that describes information necessary for creating an interaction task based on an interaction template, and is a component that describes a task or environment. It provides an inter-agent communication protocol that uses the same vocabulary for etc.
  • 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.
  • the multi-robot service model is a service configuration model required for robots to perform services.
  • a model consisting of the minimum information required to create a service before a service is assigned to an individual robot is stored, but activity from an organization-based job specification is stored. After converting components such as activity and interaction to configure the task, situation, and knowledge to be performed for each role, they are distributed to individual robots and then converted into role services and completed.
  • the role service represents 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.
  • the 4 is a diagram for explaining a process of allocating tasks of multiple robots based on skills required for roles and capabilities of robots.
  • the skill required for the role 410 is knowledge that the role must create and utilize, and is inferred from the robot's ability through the inference rules and task hierarchical structure included in the service, and the robot (or ,
  • the capability of the actor 420 is knowledge that the robot can generate, and can be derived through modules and inference rules possessed by the robot.
  • FIG. 5 is a diagram for explaining a situation hierarchy-based reasoning process for robot role assignment.
  • the ability set required for each role is inferred through the knowledge described through activities, permissions, etc. within the role, but considering the roles that the robot itself can interact with, If a role can create a high-level situation, inference is performed only up to matching context information.
  • FIG. 6 is a flowchart illustrating a multi-robot task assignment process based on skills required for roles and capabilities of robots.
  • the process of distributing the role service of multiple robot services to individual robots acquires target actor information to which the roles and tasks of the organization-based task specification (RoOTS) are to be assigned (step S610), and requests are made according to the knowledge declared in the roles.
  • RoOTS organization-based task specification
  • Inferring a capability set to be performed step S620
  • comparing the capability of the target actor with the capability set of the role step S630
  • step S640 thereby checking whether the actor can perform the role
  • the inspection result if the condition is satisfied, the corresponding role is assigned to the actor (step S650).
  • 7 to 12 are diagrams for explaining a sequential process of generating a multi-robot service.
  • RoleService which is a basic component of a multi-robot service
  • RoOTS organization-based task specification
  • Fig. 8 which transforms an activity into a task to collect a single robot task
  • RoOTS organization-based task specification
  • Interaction template information and participating role names for each interaction can be configured as task conditions through keyword matching of interactions declared in roles and interactions of organization-based task specifications (RoOTS).
  • the context is converted from permission for obtaining a situation profile and necessary inference rules for configuring a robot service. While converting, a context is created for each situation described in the permission, and a method for obtaining an inference rule situation can be described according to the scope of the permission. For example, if the permission is 'Read', the situation can be obtained through interaction with other agents, and if the permission is 'Change', the situation can be obtained through interaction with other agents and the necessary inference rule conditions are described. and if the permission is 'Create', the necessary reasoning rule condition can be described.
  • the policy for applying the policy declaratively described in the organization task to the individual robot service is converted, but the knowledge available to each role is applied as a policy query condition. It can be added to the role service (RoleService).
  • FIG. 13 is a diagram for explaining a process of configuring a robot service package based on a role service (RoleService).
  • a knowledge collection query is automatically generated through linking a role service (RoleService) component and a meta model, and a service package can be configured through tasks, situations, and knowledge models acquired through query results.
  • RoleService role service
  • FIG. 14 is a block diagram showing a multi-robot task processing apparatus 10 for allocating tasks to robots 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.
  • the input unit 11 is a component that receives organization-based job specifications describing jobs including roles, interactions, and organizational structures for jobs to be performed by the multi-robot 20 .
  • the processing unit 13 is a component that executes a program that controls robot services to be performed by allocating tasks to multiple robots based on the roles of the input organization-based job specifications.
  • This program converts the organization task from the organization-based task specification and creates a multi-robot service including at least one or more role services reconstructed in the form of work to be performed by individual robots, and the skills required for the role and the robot.
  • the role service of the multi-robot service is distributed to individual robots by comparing the capabilities of and allocating tasks to robots, and the actual work required to perform the service based on the distributed role service for each robot, At least one of context and knowledge information is collected to derive robot service configuration, but commands individual robots to perform the robot service.
  • 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.
  • Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
  • 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.
  • 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.
  • the capability (Skill) describing the situation necessary for performing the role and the situation that the robot can basically create are described.
  • Skill describing the situation necessary for performing the role and the situation that the robot can basically create.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)

Abstract

본 발명은 다수의 로봇을 제어하는 기술에 관한 것으로, 작업 처리 장치가 다중 로봇 작업을 처리하는 방법은, 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고, 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하며, 개별 로봇 각각으로 하여금 분배된 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도한다.

Description

로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
본 발명은 다수의 로봇을 제어하는 기술에 관한 것으로, 특히 다중 로봇 환경에서 개별 로봇에게 적합한 작업을 할당하여 개별 로봇이 각각의 역할을 수행하도록 제어하는 다중 로봇 작업의 처리 방법 및 장치에 관한 것이다.
최근 인식, 이동, 조작, 상호작용(Human-Robot Interaction, HRI), 학습, 추론 등의 지능적인 요소를 활용하여 다양한 서비스를 제공할 수 있는 로봇에 대한 연구가 활발하다.
로봇을 제어하는 전통적인 관점에서는 다수의 로봇이 존재하는 상황에서도 개별적인 로봇의 수행 동작 내지 행위를 직접 프로그램하여 각각의 역할을 수행하도록 제어하였다. 그러나, 다수의 로봇이 모두 동일한 기능과 능력을 갖추고 있지 않는 상황에서는 개별 로봇의 능력에 따른 임무를 직접 설계하여야 하는 부담이 존재하고, 또한 이들 개별 로봇이 함께 동작을 수행하는 환경에서 상호 간의 관계를 고려하여야 하므로 다중 로봇에게 작업을 수행하도록 제어하는 상황을 더욱 복잡하게 만든다.
이러한 개발 방식은 서비스를 수행하는데 있어 개별 로봇이 수행하는 행위를 각각 정의하여 다자간의 작업을 필요로 하는 서비스를 표현하는데 어려움을 발생시켰으며, 이를 수행하는 로봇 타입 또한 한정될 수 밖에 없어 로봇이 개발될 때마다 서비스를 새롭게 개발해야 하는 불편이 뒤따른다. 따라서, 이하의 선행기술문헌을 통해 소개된 바와 같이 다자간 작업을 필요로 하는 서비스를 수행하는 로봇 서비스 기술을 등장하였다.
(선행기술문헌) 한국특허공개공보 제2020-0079703호, "서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템"
그러나, 로봇의 기능과 역할이 점차 다양해지고 다수의 액터(actor)가 참여하여 대규모 임무를 수행하여야만 하는 상황을 고려할 때, 다수의 로봇 전체가 수행하여야 하는 일을 임무 명세를 통해 지정함으로써 자동으로 개별 로봇이 적합한 역할을 수행하도록 제어할 수 있는 하향식(top-down) 접근 방식이 고려될 필요가 있으며, 특히 개별 로봇에게 적합한 작업을 어떻게 할당할 것인지에 관한 고민이 요구된다.
본 발명이 해결하고자 하는 기술적 과제는, 종래의 다중 로봇 제어 과정에서 개별 로봇에게 작업을 할당함에 있어서 로봇의 기능과 요구되는 기능을 매칭하는 수준에 머물러 있어 유연한 작업 할당이 불가능하였던 한계를 극복하고, 로봇의 기능 개발자와 작업 개발자 간의 상호작용이 존재하지 않았던 약점을 해소하고자 한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 다중 로봇 작업의 처리 방법은, 작업 처리 장치가 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하는 단계; 상기 작업 처리 장치가 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하는 단계; 및 상기 작업 처리 장치가 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하는 단계;를 포함한다.
일 실시예에 따른 다중 로봇 작업의 처리 방법에서, 상기 역할에 필요한 능력(Skill)은, 역할이 생성하여 활용하여야 하는 지식으로서, 로봇의 능력으로부터 서비스에 포함된 추론 규칙 및 작업 계층 구조를 통해 로봇의 능력으로 추론되며, 상기 로봇의 능력(Capability)은, 로봇이 생성할 수 있는 지식으로서, 로봇이 보유한 모듈 및 추론 규칙을 통해 도출될 수 있다.
일 실시예에 따른 다중 로봇 작업의 처리 방법에서, 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하는 단계는, 상기 조직 기반 작업 명세의 역할 및 작업을 할당하고자 하는 대상 액터 정보를 획득하고, 상기 역할 내에 선언된 지식에 따라 요구되는 능력 세트(Capability Set)를 추론하고, 상기 대상 액터의 능력(Capability)과 역할의 상기 능력 세트를 비교함으로써 액터의 역할 수행 가능 여부를 검사하며, 검사 결과에 따라 상기 액터에게 부합하는 역할을 할당할 수 있다.
나아가, 이하에서는 상기 기재된 다중 로봇 작업의 처리 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상기 기술적 과제를 해결하기 위하여, 본 발명의 다른 실시예에 따른 다중 로봇 작업의 처리 장치는, 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는 입력부; 및 입력된 상기 조직 기반 작업 명세의 역할에 기반하여 다중 로봇에게 작업을 할당하여 로봇 서비스를 수행하도록 제어하는 프로그램을 실행하는 처리부;를 포함하고, 상기 프로그램은, 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고, 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하며, 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되, 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 명령한다.
본 발명의 실시예들은, 작업 수행을 위해 필요한 능력과 로봇의 능력을 모델화하고 이를 비교함으로써 역할 수행을 위해 필요한 상황을 서술하는 능력(Skill)과 로봇이 기본적으로 생성 가능한 상황을 서술하는 능력(Capability)을 제시함으로써 다중 로봇 작업을 각 로봇의 능력에 따라 자동으로 분배할 수 있고, 다중 로봇 작업을 분배하는 과정에서 로봇에 대한 개방성을 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법을 도시한 흐름도이다.
도 2는 본 발명의 실시예들이 제안하는 다중 로봇 작업을 처리하는 시스템 개요를 도시한 블록도이다.
도 3은 조직 기반 작업 명세 및 다중 로봇 서비스의 구조를 도시한 도면이다.
도 4는 역할에 필요한 능력(Skill) 및 로봇의 능력(Capability)에 기반하여 다중 로봇의 작업을 할당하는 과정을 설명하기 위한 도면이다.
도 5는 로봇 역할 할당을 위한 상황 계층 구조 기반의 추론 과정을 설명하기 위한 도면이다.
도 6은 역할에 필요한 능력(Skill) 및 로봇의 능력(Capability)에 기반한 다중 로봇 작업 할당 과정을 도시한 흐름도이다.
도 7 내지 도 12는 다중 로봇 서비스를 생성하는 순차적인 과정을 설명하기 위한 도면이다.
도 13은 로봇 서비스 패키지를 구성하는 과정을 설명하기 위한 도면이다.
도 14는 본 발명의 다른 실시예에 따른 로봇에 작업을 할당하는 다중 로봇 작업의 처리 장치를 도시한 블록도이다.
<부호의 설명>
10: 다중 로봇 작업의 처리 장치
11: 입력부
13: 처리부
20: 다중 로봇
본 발명의 일 실시예에 따른 다중 로봇 작업의 처리 방법은, 작업 처리 장치가 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하는 단계; 상기 작업 처리 장치가 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하는 단계; 및 상기 작업 처리 장치가 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하는 단계;를 포함한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명하도록 한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 덧붙여, 명세서 전체에서, 어떤 구성 요소를 '포함'한다는 것은, 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구비하다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
특별히 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 실시예들은 설명하기에 앞서, 공통되는 용어를 먼저 소개한다. '로봇 서비스'는 로봇이 서비스를 수행하기 위해 필요한 작업, 상황 및 지식 등의 정보의 집합을 의미하고, '액터(actor)'는 작업을 수행하는 주체를 의미하는 것으로, 로봇, 카메라, 사람 등 다양한 유형이 될 수 있으며, '상황 정보'는 센서를 통해 관찰된 환경 정보를 로봇이 이해할 수 있는 형태로 가공한 것을 나타낸다. 상황 정보는 술어의 형태로 정의될 수 있으며, 예를 들어, 화물위치("box01", 3, 10, 1), 사람요청("입고운반") 등과 같이 나타낼 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법을 도시한 흐름도로서, 다중 로봇이 수행할 작업을 하나의 명세를 통해 서술하고 이를 기반으로 각 개별 로봇의 서비스를 구성하는 방법을 제안한다. 이를 위해 도 1에 기술되는 일련의 처리 과정은 시계열적으로 수행하는 명령어로 구성된 프로그램을 통해 구현될 수 있으며, 적어도 하나의 프로세서를 구비하는 작업 처리 장치에 의해 실행될 수 있다.
S110 단계에서, 작업 처리 장치는 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성한다. 여기서, 조직 기반 작업 명세(Robot Organization Task Specification)(이하에서 'RoOTS'로 병기)는 조직(organization) 방법론 내의 아키텍처 설계 모델을 명세화하여 이를 기반으로 조직 구성과 역할을 구체적이고 기술적으로 도출하기 위한 수단이다. 따라서, 조직 기반 작업 명세는 조직의 구성과 조직 내 역할, 역할 간의 상호작용, 공통적인 정책 및 규범 등을 서술하여 복수의 로봇에게 상황에 따라 적합한 서비스를 분배하고 상호작용을 수행하는 방법을 정의하여야 한다.
보다 구체적으로, 다중 로봇 서비스를 생성하는 S110 단계에서는, 조직 기반 작업 명세로부터 조직 작업을 개별 로봇에게 분배하기 위해 단일 로봇 작업 수준으로 변환하되, 역할 서비스의 형태로 변환하고, 역할 내에서 사용되는 지식에 따라 지식을 생성하고, 조직 기반 작업 명세의 정책을 역할 서비스의 정책으로 변환하되, 키워드 기반 매치 및 항목 전달을 통해 다중 로봇 서비스를 생성할 수 있다.
S130 단계에서, 상기 작업 처리 장치는 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배한다. 이 과정에서는, 조직 기반 작업 명세(RoOTS)의 역할(role)을 통해 서술된 고수준 상황과 로봇의 능력 간 매칭을 위한 상황 계층구조 기반 상황 분해로부터 수행 가능한 역할을 파악하여 할당할 수 있다.
S150 단계에서, 상기 작업 처리 장치는 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도한다. 이 과정에서는, 로봇의 능력에 따라 개별 로봇에게 역할 서비스를 분배하고, 역할 서비스의 각 요소별 질의를 통해 로봇 서비스 수행을 위해 필요한 작업 및 상황을 수집하여 역할 서비스 기반의 로봇 서비스를 생성할 수 있다.
도 2는 본 발명의 실시예들이 제안하는 다중 로봇 작업을 처리하는 시스템 개요를 도시한 블록도이다.
조직 기반 작업 명세(210)는 다중 로봇의 작업을 일관된 방법으로 서술하기 위한 수단이다. 다중 로봇 서비스(230)는 이러한 조직 기반 작업 명세(210)를 이용하여 각 로봇이 서비스를 구성하기 위해 필요한 정보를 서술한다. 로봇 서비스(250)는 다중 로봇 서비스(230)가 분배되어 개별 로봇이 수행하기 위한 서비스를 의미한다. 보다 구체적으로, 단일 로봇 작업과 다중 로봇의 작업이 분할되어 서술된 조직 작업 명세(210)를 입력받아 조직 작업을 변환함으로써 개별 로봇에게 분배하기 위한 형태인 다중 로봇 서비스(230)로 변환한다. 그런 다음, 각 로봇에게 역할 서비스를 분배하고, 각 로봇이 서비스 수행을 위해 필요한 정보를 수집하여 로봇 서비스를 구성(250)한다. 여기서, 조직 기반 작업 명세(210)는 조직, 역할 및 상호작용의 형태로 작업을 서술하고, 다중 로봇 서비스(230)는 조직 기반 작업 명세(210)를 이용하여 각 로봇이 서비스를 구성하기 위해 필요한 정보를 선언적으로 서술하는 역할 서비스로 구성되며, 로봇 서비스(250)는 역할 서비스를 기반으로 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 등을 수집하여 구성된다.
도 3은 조직 기반 작업 명세 및 다중 로봇 서비스의 구조를 도시한 도면이다.
조직 기반 작업 명세를 나타내는 도 3의 (a)를 참조하면, 조직을 구성하는 역할, 역할 간의 관계, 상호작용 요소, 공통적인 정책, 규범 등 복수 로봇이 일관성 있는 작업을 수행하기 위해 필요한 추상적 요소가 각각 정의되어 있음을 확인할 수 있다. 또한, 역할과 상호작용, 정책 및 규범을 통해 각 로봇에 할당하여야 할 서비스 및 지식의 범위를 정의하여 이후 변환을 통해 각 로봇의 서비스를 구성할 수 있음을 보여준다. 요약하건대, 본 발명의 실시예들이 제안하는 조직 기반 작업 명세는, 조직을 구성하는 역할, 상호작용 및 조직을 구성하는 역할 간의 관계를 나타내는 조직 구조를 포함하되, 공통적인 정책 및 규범을 서술하여 다중 로봇에게 주어진 상황에 따라 적합한 서비스를 분배하여 상호작용을 수행하는데 필요한 요소를 정의하고, 역할, 상호작용, 정책 및 규범을 통해 개별 로봇에 할당하여야 하는 서비스 및 지식의 범위를 정의할 수 있다.
조직 내 각 에이전트가 수행할 서비스 절차 및 구성을 나타내는 역할(role)은, 조직을 구성하여 복잡한 작업을 수행하기 위해 에이전트에 할당할 수 있는 서비스 시퀀스를 보유하고 있는 구성 요소를 포함하며, 에이전트의 능력과 상관없이 서술된 추상적 서비스 절차 및 구성 단위를 나타낸다. 역할의 세부 구성으로는, 역할이 수행할 작업 및 상호작용 전체의 선언을 통해 역할이 할당된 에이전트의 능력에 따라 수행 가능한 작업으로 적용되는 인터랙션(Interaction) 및 액티비티(Activity), 역할이 주로 수행하는 행위 및 상호작용으로 구성된 추상적 서비스 절차를 나타내는 라이브니스(Liveness), 역할이 작업 수행 과정에서 유지하여야 할 상황으로서 에이전트가 수행하는 작업에 대한 제약 조건으로 반영되는 세이프티(Safety) 및 조직 내 역할들이 서비스를 수행하는 환경 및 상황 정보에 대한 생성, 수정 및 접근 권한을 나타내는 퍼미션(Permission)을 포함할 수 있다.
조직을 구성하는 역할 간의 관계를 나타내는 조직 구조(Organization Structure)는, 각 에이전트의 협업 대상 파악을 위한 역할 간 관계를 서술하는 구성 요소로서, 조직 작업을 적용하고자 하는 시스템의 구조에 따라 기존 조직 구조를 재활용하는 것이 가능하다.
작업의 범용적인 적합도 평가 및 비교하기 위한 기준을 나타내는 정책(Policy)은, 상황 정보 등을 통해 값이 결정되어 작업의 유용성 비교를 지원하는 구성 요소로서, 에이전트에게 할당된 역할의 능력에 따라 다르게 적용되어 각 상황에 따른 최적의 작업 선택을 지원한다.
또한, 복수의 에이전트가 참여하여 지식 교환 및 작업을 수행하는 서비스 단위를 나타내는 상호작용(Interaction)은, 상호작용 템플릿을 기반으로 상호작용 작업 생성을 위해 필요한 정보를 서술하는 구성 요소로서, 작업이나 환경 등에 대해 동일한 어휘를 사용하는 에이전트 간 통신 프로토콜을 제공한다. 상호작용의 세부 구성으로는, 상호작용 작업을 구성하기 위한 템플릿과 상호작용에서 사용될 어휘를 서술하는 인터랙션 템플릿(InteractionTemplate), 상호작용을 시간하는 역할을 하는 개시자(Initiator) 및 상호작용에 참여하는 역할 전체를 나타내는 참가자(Participant)를 포함할 수 있다.
한편, 다중 로봇 서비스 모델은 로봇이 서비스를 수행하기 위해 필요한 서비스 구성 모델로서, 개별 로봇에 서비스가 할당되기 전 서비스를 생성하기 위해 필요한 최소한의 정보로 구성된 모델을 저장하되, 조직 기반 작업 명세로부터 액티비티(Activity), 인터랙션(Interaction) 등의 구성 요소를 변환하여 각 역할별로 수행할 작업, 상황 및 지식을 구성함으로써 개별 로봇에게 분배된 후 역할 서비스로 변환 및 완성된다.
각 로봇이 서비스 생성을 위해 필요한 작업, 상황 등의 조건으로 구성된 서비스 모델을 나타내는 역할 서비스(RoleService)를 예시한 도 3의 (b)를 참조하면, 역할 서비스는, 로봇의 서비스 수행을 위한 작업 절차를 나타내는 워크플로우(Workflow), 액티비티(Activity) 및 인터랙션(Interaction)과 같이 에이전트가 서비스 수행을 위해 필요한 작업의 조건을 서술하는 태스크(Task), 서비스에서 활용되는 상황 정보 및 상황 생성 규칙 획득을 위한 조건을 서술하는 컨텍스트(Context) 및 서비스 구성을 위해 필요한 도메인 지식 모델을 선언하는 지식(Knowledge)을 구성요소로서 포함할 수 있다.
도 4는 역할에 필요한 능력(Skill) 및 로봇의 능력(Capability)에 기반하여 다중 로봇의 작업을 할당하는 과정을 설명하기 위한 도면이다. 여기서, 역할(410)에 필요한 능력(Skill)은, 역할이 생성하여 활용하여야 하는 지식으로서, 로봇의 능력으로부터 서비스에 포함된 추론 규칙 및 작업 계층 구조를 통해 로봇의 능력으로 추론되며, 로봇(또는, 액터(420))의 능력(Capability)은, 로봇이 생성할 수 있는 지식으로서, 로봇이 보유한 모듈 및 추론 규칙을 통해 도출될 수 있다.
도 5는 로봇 역할 할당을 위한 상황 계층 구조 기반의 추론 과정을 설명하기 위한 도면이다. 이 과정에서는, 역할 내의 액티비티(Activity), 퍼미션(Permission) 등을 통해 서술된 지식을 통해 각 역할 수행을 위해 필요한 능력 세트(capability set)을 추론하되, 로봇 자신이 상호작용 가능한 역할을 고려하여 그 역할이 고수준 상황을 생성 가능한 경우 부합하는 상황 정보까지만 추론을 수행한다.
도 6은 역할에 필요한 능력(Skill) 및 로봇의 능력(Capability)에 기반한 다중 로봇 작업 할당 과정을 도시한 흐름도이다. 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하는 과정은, 조직 기반 작업 명세(RoOTS)의 역할 및 작업을 할당하고자 하는 대상 액터 정보를 획득하고(S610 단계), 상기 역할 내에 선언된 지식에 따라 요구되는 능력 세트(Capability Set)를 추론하고(S620 단계), 상기 대상 액터의 능력(Capability)과 역할의 상기 능력 세트를 비교함(S630 단계)으로써 액터의 역할 수행 가능 여부를 검사하며(S640 단계), 검사 결과에 따라, 조건을 만족할 경우 상기 액터에게 부합하는 역할을 할당하게 된다(S650 단계).
도 7 내지 도 12는 다중 로봇 서비스를 생성하는 순차적인 과정을 설명하기 위한 도면이다.
역할(Role)을 다중 로봇 서비스의 기초 구성 요소인 역할 서비스(RoleService)로 변환하는 도 7을 참조하면, 다중 로봇 서비스 구성의 기본 틀을 마련하기 위해 조직 기반 작업 명세(RoOTS)의 각 역할마다 다중 로봇 서비스의 역할 서비스를 생성하되, 로봇 서비스 구성시 변환되는 상기 라이브니스(Liveness)는 변경없이 전달할 수 있다.
단일 로봇 작업 수집을 위해 액티비티(Activity)를 태스크(Task)로 변환하는 도 8을 참조하면, 조직 기반 작업 명세(RoOTS)의 역할이 사용 가능한 지식의 범위 내에서 단일 로봇 작업을 질의하기 위한 액티비티를 태스크(Task)로 변환하되, 상기 액티비티의 변수 타입 및 퍼미션에 서술된 상황을 작업 조건으로 구성할 수 있다.
상호작용 작업 생성을 위한 인터랙션(Interaction)을 태스크(Task)로 변환하는 도 9를 참조하면, 상호작용 템플릿에 기반하여 상호작용 작업을 생성하기 위해 필요한 정보를 구성하여 상호작용으로부터 태스크로 변환하되, 조직 기반 작업 명세(RoOTS)의 상호작용 및 역할 내에 선언된 인터랙션의 키워드 매칭을 통해 각 상호작용별 인터랙션 템플릿 정보 및 참여 역할 이름을 작업 조건으로 구성할 수 있다.
로봇 서비스에 사용되는 상황 서술을 위한 퍼미션(Permission)을 컨텍스트(Context)로 변환하는 도 10을 참조하면, 로봇 서비스 구성을 위해 필요한 상황 프로파일 및 필요 추론 규칙을 획득하기 위한 퍼미션으로부터 컨텍스트(Context)를 변환하되, 퍼미션에 서술된 상황별로 컨텍스트를 생성하며, 퍼미션의 범위에 따라 추론 규칙 상황 획득 방법 등을 서술할 수 있다. 예를 들어, 퍼미션이 'Read' 인 경우 다른 에이전트와의 상호작용을 통해 상황을 획득할 수 있고, 퍼미션이 'Change' 인 경우다른 에이전트와의 상호작용을 통해 상황 획득 및 필요 추론 규칙 조건을 서술할 수 있으며, 퍼미션이 'Create'인 경우 필요 추론 규칙 조건을 서술할 수 있다.
로봇 서비스 구성을 위해 필요한 지식(Knowledge)을 선언하는 도 11을 참조하면, 조직 기반 작업 명세(RoOTS)의 역할 내에서 활용 및 참조하는 지식 모델 수집을 위한 필요 지식(Knowledge)을 선언하되, 액티비티 및 퍼미션에서 사용되는 변수 타입 및 프리픽스(prefix)에 따라 필요 지식 모델 수집을 위한 선언문을 생성할 수 있다.
정책(Policy) 변환을 나타내는 도 12를 참조하면, 조직 작업 내에 선언적으로 서술된 정책(Policy)를 개별 로봇 서비스에 적용하기 위한 정책을 변환하되, 각 역할이 사용 가능한 지식을 정책 질의 조건으로 적용하여 역할 서비스(RoleService)에 추가할 수 있다.
도 13은 역할 서비스(RoleService)에 기반하여 로봇 서비스 패키지를 구성하는 과정을 설명하기 위한 도면이다. 도 13에서는, 역할 서비스(RoleService)의 구성요소 및 메타 모델 연계를 통해 지식 수집 질의문을 자동으로 생성하고, 질의 결과를 통해 획득한 작업, 상황 및 지식 모델을 통해 서비스 패키지를 구성할 수 있다.
도 14는 본 발명의 다른 실시예에 따른 로봇에 작업을 할당하는 다중 로봇 작업의 처리 장치(10)를 도시한 블록도로서, 앞서 기술된 도 1을 하드웨어 관점에서 재구성한 도면이다. 따라서 여기서는 설명의 중복을 피하고자 각 구성 요소의 기능 및 동작을 약술하도록 한다.
입력부(11)는, 다중 로봇(20)이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는 구성이다.
처리부(13)는, 입력된 상기 조직 기반 작업 명세의 역할에 기반하여 다중 로봇에게 작업을 할당하여 로봇 서비스를 수행하도록 제어하는 프로그램을 실행하는 구성이다. 이러한 프로그램은, 상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고, 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하며, 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되, 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 명령한다.
한편, 본 발명의 실시예들은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.
이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
상기된 본 발명의 실시예들에 따르면, 작업 수행을 위해 필요한 능력과 로봇의 능력을 모델화하고 이를 비교함으로써 역할 수행을 위해 필요한 상황을 서술하는 능력(Skill)과 로봇이 기본적으로 생성 가능한 상황을 서술하는 능력(Capability)을 제시함으로써 다중 로봇 작업을 각 로봇의 능력에 따라 자동으로 분배할 수 있고, 다중 로봇 작업을 분배하는 과정에서 로봇에 대한 개방성을 제공할 수 있다.

Claims (10)

  1. 작업 처리 장치가 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하는 단계;
    상기 작업 처리 장치가 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하는 단계; 및
    상기 작업 처리 장치가 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하는 단계;를 포함하는, 다중 로봇 작업의 처리 방법.
  2. 제 1 항에 있어서,
    상기 역할에 필요한 능력(Skill)은, 역할이 생성하여 활용하여야 하는 지식으로서, 로봇의 능력으로부터 서비스에 포함된 추론 규칙 및 작업 계층 구조를 통해 로봇의 능력으로 추론되며,
    상기 로봇의 능력(Capability)은, 로봇이 생성할 수 있는 지식으로서, 로봇이 보유한 모듈 및 추론 규칙을 통해 도출되는, 다중 로봇 작업의 처리 방법.
  3. 제 1 항에 있어서,
    상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하는 단계는,
    상기 조직 기반 작업 명세의 역할 및 작업을 할당하고자 하는 대상 액터 정보를 획득하고,
    상기 역할 내에 선언된 지식에 따라 요구되는 능력 세트(Capability Set)를 추론하고,
    상기 대상 액터의 능력(Capability)과 역할의 상기 능력 세트를 비교함으로써 액터의 역할 수행 가능 여부를 검사하며,
    검사 결과에 따라 상기 액터에게 부합하는 역할을 할당하는, 다중 로봇 작업의 처리 방법.
  4. 제 3 항에 있어서,
    상기 역할 내의 액티비티 및 퍼미션을 통해 서술된 지식을 통해 각 역할 수행을 위해 필요한 상기 능력 세트를 추론하되, 로봇이 상호작용 가능한 역할을 고려하여 부합하는 상황 정보까지만 추론을 수행하는, 다중 로봇 작업의 처리 방법.
  5. 제 1 항에 있어서,
    상기 역할은,
    작업을 수행하는 에이전트의 능력과 상관없이 서비스 절차 및 구성 단위를 서술하되,
    역할이 수행할 작업 및 상호작용 전체의 선언을 통해 역할이 할당된 에이전트의 능력에 따라 수행 가능한 작업으로 적용되는 인터랙션(Interaction) 및 액티비티(Activity) 역할이 수행하는 행위 및 상호작용으로 구성된 서비스 절차를 나타내는 라이브니스(Liveness) 역할이 작업 수행 과정에서 유지하여야 할 상황으로서 에이전트가 수행하는 작업에 대한 제약 조건으로 반영되는 세이프티(Safety) 및 조직 내 역할들이 서비스를 수행하는 환경 및 상황 정보에 대한 생성, 수정 및 접근 권한을 나타내는 퍼미션(Permission)을 포함하는, 다중 로봇 작업의 처리 방법.
  6. 제 5 항에 있어서,
    상기 다중 로봇 서비스를 생성하는 단계는,
    조직 기반 작업 명세로부터 조직 작업을 개별 로봇에게 분배하기 위해 단일 로봇 작업 수준으로 변환하되, 역할 서비스의 형태로 변환하고,
    역할 내에서 사용되는 지식에 따라 지식을 생성하고,
    조직 기반 작업 명세의 정책을 역할 서비스의 정책으로 변환하되,
    키워드 기반 매치 및 항목 전달을 통해 다중 로봇 서비스를 생성하는, 다중 로봇 작업의 처리 방법.
  7. 제 5 항에 있어서,
    상기 다중 로봇 서비스를 생성하는 단계는,
    상기 조직 기반 작업 명세의 각 역할마다 다중 로봇 서비스의 역할 서비스를 생성하되, 로봇 서비스 구성시 변환되는 상기 라이브니스는 변경없이 전달하고,
    상기 조직 기반 작업 명세의 역할이 사용 가능한 지식의 범위 내에서 단일 로봇 작업을 질의하기 위한 액티비티를 태스크(Task)로 변환하되, 상기 액티비티의 변수 타입 및 퍼미션에 서술된 상황을 작업 조건으로 구성하고,
    상호작용 작업을 생성하기 위해 필요한 정보를 구성하여 상호작용으로부터 태스크로 변환하되, 상기 조직 기반 작업 명세의 상호작용 및 역할 내에 선언된 인터랙션의 키워드 매칭을 통해 각 상호작용별 인터랙션 템플릿 정보 및 참여 역할 이름을 작업 조건으로 구성하고,
    로봇 서비스 구성을 위해 필요한 상황 프로파일 및 필요 추론 규칙을 획득하기 위한 퍼미션으로부터 컨텍스트(Context)를 변환하되, 상기 퍼미션에 서술된 상황별로 컨텍스트를 생성하고,
    상기 조직 기반 작업 명세의 역할 내에서 활용 및 참조하는 지식 모델 수집을 위한 필요 지식(Knowledge)을 선언하되, 액티비티 및 퍼미션에서 사용되는 변수 타입 및 프리픽스(prefix)에 따라 필요 지식 모델을 선언하며,
    조직 작업 내에 선언적으로 서술된 정책(Policy)를 개별 로봇 서비스에 적용하기 위한 정책을 변환하되, 각 역할이 사용 가능한 지식을 정책 질의 조건으로 적용하는, 다중 로봇 작업의 처리 방법.
  8. 제 1 항에 있어서,
    상기 로봇 서비스 구성을 유도하는 단계는,
    로봇의 능력에 따라 개별 로봇에게 역할 서비스를 분배하고, 역할 서비스의 각 요소별 질의를 통해 로봇 서비스 수행을 위해 필요한 작업 및 상황을 수집하여 역할 서비스 기반의 로봇 서비스를 생성하는, 다중 로봇 작업의 처리 방법.
  9. 제 1 항 내지 제 8 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  10. 다중 로봇이 수행할 작업에 대하여 역할, 상호작용 및 조직 구조를 포함하여 작업을 서술하는 조직 기반 작업 명세를 입력받는 입력부; 및
    입력된 상기 조직 기반 작업 명세의 역할에 기반하여 다중 로봇에게 작업을 할당하여 로봇 서비스를 수행하도록 제어하는 프로그램을 실행하는 처리부;를 포함하고,
    상기 프로그램은,
    상기 조직 기반 작업 명세로부터 조직 작업을 변환하고 개별 로봇이 수행할 작업의 형태로 재구성된 적어도 하나 이상의 역할 서비스를 포함하는 다중 로봇 서비스를 생성하고, 역할에 필요한 능력(Skill)과 로봇의 능력(Capability)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하며, 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되, 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 명령하는, 다중 로봇 작업의 처리 장치.
PCT/KR2022/019103 2021-11-30 2022-11-29 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치 WO2023101368A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020210169374A KR102623326B1 (ko) 2021-11-30 2021-11-30 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
KR10-2021-0169374 2021-11-30

Publications (1)

Publication Number Publication Date
WO2023101368A1 true WO2023101368A1 (ko) 2023-06-08

Family

ID=86612689

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/019103 WO2023101368A1 (ko) 2021-11-30 2022-11-29 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치

Country Status (2)

Country Link
KR (2) KR102623326B1 (ko)
WO (1) WO2023101368A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102623326B1 (ko) * 2021-11-30 2024-01-10 아리카 주식회사 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
CN117119500B (zh) * 2023-10-25 2024-01-12 国网山东省电力公司东营供电公司 基于智能cpe模组的巡检机器人数据传输优化方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101866048B1 (ko) * 2016-08-26 2018-06-08 국방과학연구소 다중 로봇의 임무할당을 위한 로봇의 과업 적합도 산정방법
KR101871430B1 (ko) * 2011-11-14 2018-06-26 한국전자통신연구원 소형 로봇의 다중 운용 방법 및 그 운용 시스템
US20200009729A1 (en) * 2017-05-11 2020-01-09 King Fahd University Of Petroleum And Minerals Task assignment method for wheeled robot network
KR102109886B1 (ko) * 2018-11-09 2020-05-12 서울시립대학교 산학협력단 로봇 시스템 및 이의 서비스 제공 방법
KR20200079703A (ko) * 2018-12-26 2020-07-06 서울시립대학교 산학협력단 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102212352B1 (ko) * 2018-10-08 2021-02-04 국방과학연구소 로봇 제어 방법 및 장치
KR102623326B1 (ko) * 2021-11-30 2024-01-10 아리카 주식회사 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871430B1 (ko) * 2011-11-14 2018-06-26 한국전자통신연구원 소형 로봇의 다중 운용 방법 및 그 운용 시스템
KR101866048B1 (ko) * 2016-08-26 2018-06-08 국방과학연구소 다중 로봇의 임무할당을 위한 로봇의 과업 적합도 산정방법
US20200009729A1 (en) * 2017-05-11 2020-01-09 King Fahd University Of Petroleum And Minerals Task assignment method for wheeled robot network
KR102109886B1 (ko) * 2018-11-09 2020-05-12 서울시립대학교 산학협력단 로봇 시스템 및 이의 서비스 제공 방법
KR20200079703A (ko) * 2018-12-26 2020-07-06 서울시립대학교 산학협력단 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템

Also Published As

Publication number Publication date
KR102623326B1 (ko) 2024-01-10
KR20230081380A (ko) 2023-06-07
KR102672394B1 (ko) 2024-06-05
KR20240009526A (ko) 2024-01-22

Similar Documents

Publication Publication Date Title
WO2023101368A1 (ko) 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
Blandford et al. DiCoT: a methodology for applying distributed cognition to the design of teamworking systems
Tavares et al. A gentle introduction to OSGi
Mizoguchi et al. Smart office robot collaboration based on multi-agent programming
CN107145673B (zh) 一种联合仿真系统和方法
WO2019235884A1 (ko) 임상 의사 결정 시스템 구축을 위한 의료 정보 변환 방법 및 시스템
WO2022004978A1 (ko) 건축 장식재 디자인 업무 시스템 및 방법
WO2022107995A1 (ko) 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치
WO2023101365A1 (ko) 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법 및 장치
Wikarski An introduction to modular process nets
Woetzel et al. The use of Petri nets for modeling workflow in the DOMINO system
Ginés et al. Depicting probabilistic context awareness knowledge in deliberative architectures
Holocher et al. AMBAS—An Adaptive Method Base Shell
WO2020138747A1 (ko) 초소형의 일회용 IoT 서비스 인프라 운용 방법
Papamargaritis et al. Applying the domain theory to design for reuse
Lian et al. A modeling methodology for conflict control in multi-agent systems
WO2021070998A1 (ko) 지식 통합을 위한 분산 시스템 및 방법
JPH0245832A (ja) オペレーションエキスパートシステム
Nowostawski et al. A multi-level approach and infrastructure for agent-oriented software development
Beard et al. A cost measure for efficient scheduling in intelligent machines
Saint-Voirin et al. Distributed Cooperative Systems Meta-Model for Maintenance Using Petri Nets and Multi-Agent Systems.
Davies CAREL: A visible distributed lisp
Bouarioua et al. From UML statecharts diagrams to labeled Generalized Stochastic Petri Net models using graph transformation
MATSUSAKA et al. System Architecture to Realize Widely Applicable and Interactive Behavior of the Robot
Müller et al. Automatic distribution of vision-tasks on computing clusters

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: 22901726

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE