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

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

Info

Publication number
KR20240009526A
KR20240009526A KR1020240001976A KR20240001976A KR20240009526A KR 20240009526 A KR20240009526 A KR 20240009526A KR 1020240001976 A KR1020240001976 A KR 1020240001976A KR 20240001976 A KR20240001976 A KR 20240001976A KR 20240009526 A KR20240009526 A KR 20240009526A
Authority
KR
South Korea
Prior art keywords
robot
role
service
tasks
task
Prior art date
Application number
KR1020240001976A
Other languages
English (en)
Inventor
박인준
Original Assignee
아리카 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 아리카 주식회사 filed Critical 아리카 주식회사
Priority to KR1020240001976A priority Critical patent/KR20240009526A/ko
Publication of KR20240009526A publication Critical patent/KR20240009526A/ko

Links

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

Abstract

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

Description

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

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)을 비교하여 작업을 로봇에게 할당함으로써 상기 다중 로봇 서비스의 역할 서비스를 개별 로봇에 분배하며, 상기 개별 로봇 각각으로 하여금 분배된 상기 역할 서비스에 기초하여 서비스 수행을 위해 필요한 실제 작업, 상황 및 지식 정보 중 적어도 하나를 수집하여 로봇 서비스 구성을 유도하되, 개별 로봇으로 하여금 상기 로봇 서비스를 수행하도록 명령하는, 다중 로봇 작업의 처리 장치.
KR1020240001976A 2021-11-30 2024-01-05 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치 KR20240009526A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020240001976A KR20240009526A (ko) 2021-11-30 2024-01-05 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치

Applications Claiming Priority (2)

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

Related Parent Applications (1)

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

Publications (1)

Publication Number Publication Date
KR20240009526A true KR20240009526A (ko) 2024-01-22

Family

ID=86612689

Family Applications (2)

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

Family Applications Before (1)

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

Country Status (2)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117119500B (zh) * 2023-10-25 2024-01-12 国网山东省电力公司东营供电公司 基于智能cpe模组的巡检机器人数据传输优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200079703A (ko) 2018-12-26 2020-07-06 서울시립대학교 산학협력단 서비스 패키지 생성 방법 및 이를 수행하는 로봇 서비스 개발 시스템

Family Cites Families (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 국방과학연구소 다중 로봇의 임무할당을 위한 로봇의 과업 적합도 산정방법
US10456912B2 (en) * 2017-05-11 2019-10-29 King Fahd University Of Petroleum And Minerals Dynamic multi-objective task allocation
KR102212352B1 (ko) * 2018-10-08 2021-02-04 국방과학연구소 로봇 제어 방법 및 장치
KR102109886B1 (ko) * 2018-11-09 2020-05-12 서울시립대학교 산학협력단 로봇 시스템 및 이의 서비스 제공 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
WO2023101368A1 (ko) 2023-06-08

Similar Documents

Publication Publication Date Title
US6237020B1 (en) Task-oriented automatic distribution of software
Han et al. A taxonomy of adaptive workflow management
Limbourg et al. Comparing task models for user interface design
Johnson et al. Beyond cooperative robotics: The central role of interdependence in coactive design
US7240324B2 (en) Event-based scheduling method and system for workflow activities
US5299287A (en) Information processing system
KR20240009526A (ko) 로봇에 작업을 할당하는 다중 로봇 작업의 처리 방법 및 장치
Baldoni et al. A commitment-based infrastructure for programming socio-technical systems
Devin et al. About decisions during human-robot shared plan achievement: Who should act and how?
Elyasaf et al. A Context-Based Behavioral Language for IoT.
Sitek et al. A declarative framework for constrained search problems
Natarajan et al. Issues in building dynamic real-time systems
Dal Moro et al. Developing BDI-based robotic systems with ROS2
KR102610426B1 (ko) 조직 기반 작업 명세를 이용하는 다중 로봇 작업의 처리 방법 및 장치
Bocciarelli et al. Resource Modeling in Business Process Simulation
Farhat et al. Safe Dynamic Reconfiguration of Concurrent Component-based Applications
Holocher et al. AMBAS—An Adaptive Method Base Shell
Kosak et al. Ensemble programming for multipotent systems
CN112395100A (zh) 一种数据驱动的复杂产品云服务数据包调用方法及系统
Gil et al. Mission specification and decomposition for multi-robot systems
KR102583146B1 (ko) 이종 타입의 멀티 rpa 통합 운영관리 시스템 및 방법
Fleischmann et al. Requirements Specification as Executable Software Design-A Behavior Perspective.
Zeroual et al. KBMS: a knowledge-based system for modeling software system specifications
Adadi et al. Modeling and simulation of Web Services composition based on MARDS model
Champagne et al. Towards automation of performance architectural tactics application

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal