KR20210096077A - 로봇 에이전트 관리를 위한 시스템 및 방법 - Google Patents

로봇 에이전트 관리를 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20210096077A
KR20210096077A KR1020217012563A KR20217012563A KR20210096077A KR 20210096077 A KR20210096077 A KR 20210096077A KR 1020217012563 A KR1020217012563 A KR 1020217012563A KR 20217012563 A KR20217012563 A KR 20217012563A KR 20210096077 A KR20210096077 A KR 20210096077A
Authority
KR
South Korea
Prior art keywords
robotic
steps
tasks
agent
report
Prior art date
Application number
KR1020217012563A
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 엘레먼트 에이아이 인크.
Publication of KR20210096077A publication Critical patent/KR20210096077A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0084Programme-controlled manipulators comprising a plurality of manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/046Forward inferencing; Production systems
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Abstract

복수의 로봇 에이전트들의 성능을 관리하고 향상시키는 시스템 및 방법이 개시된다.  오케스트레이터 모듈은 복수의 로봇 에이전트로부터 작업 출력을 수신하고, 다양한 로봇 에이전트가 실행하는 작업들 및/또는 스텝들의 순서를 재정렬함으로써 효율을 달성할 수 있을지 여부를 판정한다.  또한, 오케스트레이터는 에이전트가 사용하는 다양한 작업 및 값을 학습하고, 비정상적인 작업 및/또는 값이 존재하는지 확인할 수 있다.  인간이 운영하는 워크스테이션도 작업 출력을 오케스트레이터에게 보낼 수 있으며, 이 출력과 인간이 수행한 스텝들을 분석하여, 실행된 작업을 로봇 에이전트가 수행할 수 있는지 확인할 수 있다.

Description

로봇 에이전트 관리를 위한 시스템 및 방법
본 발명은 프로그래밍된 명령어 세트에 기초하여 반복적인 작업을 수행하는 로봇 프로세스 자동화(RPA: Robotic Process Automation) 시스템에 관한 것이다. 보다 구체적으로, 본 발명은 자동화 시스템의 능력을 향상시키기 위해 그러한 시스템에 적용되는 머신 러닝의 사용에 관한 것이다.
20세기 후반 이후 자동화의 부상을 보여주는 자료는 많다.  이러한 자동화 시스템을 제조에 적용하는 것은 잘 알려져 있다.  사전 프로그래밍된 반복 작업을 수행하는 이들 자동화 시스템은 이제 제조뿐만 아니라 산업 및 인간 활동의 다른 영역에서도 사용되고 있다.  이들은, 인간이 실행하는 경우 오류가 발생하기 쉬운 반복 작업을 수행하기 위해 과학 실험실에서 사용되어 왔다.  자동화 시스템은 그들이 지루하고 반복적인 작업의 오류 없는 실행을 제공할 수 있는 산업에서도 사용되기 시작했다.  지난 몇 년간의 주요 발전 중 하나는 RPA(Robotic Process Automation)의 부상이다.  물리적 로봇으로 하여금 반복적인 물리적 작업을 수행하도록 하는 것 대신 로봇 에이전트를 사용하여 그래픽 사용자 인터페이스에서 반복적인 가상 작업을 수행하는 것이다.  예로서, 한 양식(form)에서 다른 양식으로 데이터를 복사한 다음 결과를 저장하는 것은 RPA 에이전트가 수행하기에 적합한 작업이다.  에이전트는 빠를뿐만 아니라 정확하다.
로봇은 유용하고 개별적으로 이러한 반복적인 작업을 수행하는 데 탁월하지만, 이들이 하나의 그룹으로 조직화되어 있지는 않다.  따라서, 로봇 에이전트 작업을 하나의 그룹으로 볼 때 얻을 수 있는 효율성은 대개 달성되지 않는다.  이 외에도 로봇 에이전트는 본질적으로 내결함성(fault tolerant)이 없고, 자신이 작업 중인 데이터가 갖는 문제점을 감지할 수도 없다.  데이터를 처리하도록 프로그래밍 된 경우, 이들 로봇 에이전트는 데이터에 문제가 있더라도 데이터를 맹목적으로 처리한다.  따라서 이러한 로봇 에이전트는 교정이 불가능하다. 로봇 에이전트가 그러한 오류를 찾도록 특별히 프로그래밍되지 않는 한, 데이터에서 발생한 모든 오류는 그냥 무시되 버린다.
따라서, 효율성 향상을 위해 다수의 로봇 에이전트를 조직화할 수 있는 시스템 및 방법이 필요하다.  또한, 발생할 수 있는 오류 또는 이상(anomaly)의 가능한 모든 조합을 프로그래밍할 필요 없이, 이러한 시스템 및 방법이 이상 또는 오류 검사를 하는 것이 바람직하다.
본 발명은 다수의 로봇 에이전트의 성능을 관리하고 향상시키기 위한 시스템 및 방법을 제공한다.  오케스트레이터 모듈은 여러 로봇 에이전트로부터 작업 출력을 수신하고, 다양한 로봇 에이전트가 실행하는 작업들 및/또는 스텝들의 순서를 재정렬하여 효율성을 달성할 수 있는지 여부를 판정한다.  또한, 오케스트레이터는 에이전트가 사용하는 다양한 동작 및 값을 학습하고, 비정상적인 작업 및/또는 값이 존재하는지 확인할 수 있다. 인간이 운영하는 워크스테이션도 작업 출력을 오케스트레이터에게 보낼 수도 있으며, 이 출력은 인간이 수행한 스텝과 함께 분석되어 실행된 작업이 로봇 에이전트에 의해 수행될 수 있는지 또는 그 작업을 수행할 더 최적의 수단이 있는지 결정할 수 있다.
첫 번째 측면에서, 본 발명은 복수의 로봇 에이전트의 성능을 향상시키는 방법으로서, a) 로봇 에이전트에 의해 실행될 작업들의 일정을 수신하는 단계와, b) 작업들 각각에 대해, 로봇 에이전트 각각에 의해 실행되는 스텝들을 수신하는 단계와, c) 머신 러닝을 이용하여, 서로 다른 로봇 에이전트에 의해 실행되는 스텝들 간의 종속성(dependencies)을 판정하는 단계와, d) 머신 러닝을 이용하여, 스텝들에 대한 조정내용을 결정함으로써 작업들 중 적어도 하나를 최적화하는 단계를 포함한다.
제 2 측면에서, 본 발명은 적어도 하나의 로봇 에이전트에 의해 작업들이 실행되는 시스템에서 적어도 하나의 이상(anomaly)을 검출하는 방법으로서, a) 적어도 하나의 로봇 에이전트로부터 작업 출력(work output)을 지속적으로 수신하는 단계와, b) 머신 러닝 시스템이 적어도 하나의 로봇 에이전트로부터의 소정 범위의 동작(actions) 및 값(values)을 학습하도록 머신 러닝 시스템을 지속적으로 트레이닝시키기 위해 트레이닝 세트에서 작업 출력을 사용하는 단계와, c) 적어도 하나의 로봇 에이전트에 대한 소정 범위의 동작 및 값에 대해 작업 출력을 지속적으로 평가하는 단계와, d) 작업 출력의 적어도 하나의 측면이 로봇 에이전트에 대한 동작 및 값의 범위 밖에 있는 경우, 사용자에게 경고(alert)를 생성하고 사용자에게 리포트 - 이 리포트는 경고에 관한 설명을 포함함 - 를 생성하는 단계를 포함한다.
제 3 측면에서, 본 발명은 자동화를 위한 후보 작업들을 결정하기 위한 방법으로서, a) 사용자 워크스테이션으로부터 작업 출력 - 이 작업 출력은 작업을 실행함에 있어서 사용자 워크스테이션에서 인간에 의해 실행되는 스텝들을 포함함 - 을 지속적으로 수신하는 단계와, b) 머신 러닝을 이용하여, 사용자에 의해 실행되는 스텝들이 로봇 에이전트에 의해 실행가능한 것인지 판정하는 단계와, c) 스텝들이 로봇 에이전트에 의해 실행될 수 있는 것인 경우, 로봇 에이전트에 의해 실행가능한 스텝들을 상세히 설명하는 리포트를 사용자에게 생성하는 단계를 포함한다.
제 4 측면에서, 본 발명은 복수의 작업들을 실행하기 위한 시스템으로서, 복수의 로봇 에이전트 - 복수의 로봇 에이전트 각각은 복수의 작업들 중 적어도 하나의 작업을 실행함 - 와, 복수의 로봇 에이전트를 관리하기 위한 오케스트레이터 모듈 - 오케스트레이터(orchestrator) 모듈은 복수의 로봇 에이전트 중 적어도 하나로부터 작업 출력을 수신함 - 을 포함하되, 복수의 로봇 에이전트 중 적어도 하나는 오케스트레이터 모듈에 대해 적어도 하나의 작업을 실행함에 있어 수행되는 스텝들을 상세히 설명하는 것이다.
본 발명의 실시예는 후속하는 도면을 참조하여 설명될 것이며, 다른 도면에서 동일한 참조 번호는 동일한 요소를 나타낸다.
도 1은 본 발명의 일 측면에 따른 시스템의 블록도이다.
도 2는 본 발명의 다른 측면에 따른 한 방법을 상세히 설명하는 흐름도이다.
도 3은 본 발명의 또 다른 측면에 따른 다른 방법을 상세히 설명하는 다른 흐름도이다.
도 4는 본 발명의 추가 측면에 따른 추가 방법을 상세히 설명하는 추가 흐름도이다.
본 발명은 머신 러닝과 인공 지능 방법 및 시스템을 로봇 프로세스 자동화 에이전트(이하 "로봇 에이전트"라고 함)에 적용하는 것에 관련된다.  위에서 언급했듯이 이러한 로봇 에이전트는 인간의 판단이 거의 또는 전혀 필요하지 않은 반복 작업을 실행하는 데 유용하다.  특히, 본 발명의 다양한 측면은 이러한 머신 러닝 방법 및 기법을 복수의 로봇 에이전트에 적용하는 것에 관련된다.  이러한 로봇 에이전트들은 서로 다른 소스로부터의 서로 다른 데이터에 대해 서로 다른 작업을 실행할 수도 있고, 모두 서로 다른 데이터 조각에 대해 단일한 작업을 수행할 수도 있다.  실행 중인 작업에 관계없이, 로봇 에이전트들의 집합은 시스템 차원의 조직화된 작업 스케줄링의 이점을 누릴 수 있다.  뿐만 아니라, 서로 다른 로봇 에이전트가 수행하는 다양한 스텝들 간에 종속성(dependencies)이 있을 수 있다.  이러한 종속성은 작업의 스케줄링에 영향을 미칠 수 있으며, 스텝들의 순서뿐만 아니라 작업 실행의 순서를 재정렬하여 효율성을 얻을 수 있다. 또한 단일 로봇 에이전트에 대한 작업들을 재배열함으로써, 그 작업들에 대해 훨씬 더 많은 효율성을 해당 로봇 에이전트에게 제공할 수 있다.  또한, 중복 작업 및/또는 스텝을 식별하고 제거할 수도 있다.
잘 알려져 있기도 하고 위에서도 설명한 바와 같이, 로봇 에이전트는 인간의 판단이 거의 또는 전혀 요구되지 않는 지루하고 반복적인 작업을 실행하는 데 유용하다. 이 때문에 데이터의 오류는 로봇 에이전트에 의해 감지되거나 해결되지 않을 수 있다.  이러한 오류는 추가 오류로 이어질 수 있으며, 이러한 오류가 프로세스 초기에 발견되지 않는다면 전체 시스템의 작업 결과에 부정적인 영향을 미칠 수 있다.
이들 로봇 에이전트는 이러한 지루하고 반복적인 작업을 수행하는 데 유용하기 때문에, 작업의 지루함과 반복으로 인해 오류가 발생하기 쉬운 인간을 대체하는 데 매우 적합하다.  그러나, 어느 작업이 로봇 에이전트에 적합할지 결정하는 것은 간단하지 않을 수 있다.  많은 스텝들이 포함된 긴 프로세스가 관련될 수 있으며, 일부 스텝은 다른 스텝의 결과에 따라 달라질 수 있으므로 어느 스텝이 로봇 에이전트에 의해 실행될 수 있는지 결정하는 것이 어려울 수 있다.  마찬가지로, 스텝들 중 어떤 것은 반복적인 특성(또는 중복성 또는 정확성)을 갖지만, 비반복적인 스텝들이 그들 사이에 개재될 수 있기 때문에 반복적인 스텝이 가려질 수 있어서, 그러한 특성이 잘 드러나지 않을 수 있다.
이 문제에 대한 하나의 해결책은 오케스트레이터 모듈 또는 오케스트레이터 서브 시스템을 사용하는 시스템이며, 오케스트레이터는 시스템의 다양한 로봇 에이전트로부터 데이터 및/또는 작업 출력을 수신한다.  또한, 오케스트레이터는 인간 작업자가 운영하는 하나 이상의 워크스테이션에서도 작업 출력과 데이터를 수신할 수 있다.  오케스트레이터 모듈은 머신 러닝 기술과 방법을 사용하여 로봇 에이전트가 실행하는 작업 일정에 대한 변경 사항을 분석하고 권장할 수 있다. 그리고, 오케스트레이터 모듈은 로봇 에이전트가 실행하는 각 작업에 대해, 효율성을 달성하기 위해 스텝을 조정하거나 재작업하는 방법에 대한 변경을 권고할 수도 있다. 또한 서로 다른 로봇 에이전트가 필요로 하거나 생성한 데이터 간의 종속성을 결정할 수도 있다.  이러한 종속성은 작업과 스텝을 재배열 및/또는 재정렬하여 줄일 수 있으므로, 바람직하게는 서로 다른 로봇 에이전트가 서로 독립적으로 작업을 실행하도록 할 수 있다.  재정렬된 일정, 작업 및 스텝을 반복적으로 생성하고 구현하여, 시스템 전체에 최상의 효율성을 제공할 수 있는 순서 또는 일정이 무엇인지 결정할 수 있다.  로봇 에이전트 간의 독립성을 허용함으로써 서로 다른 에이전트가 병렬로 실행할 수 있으므로, 시스템 내에서 더 높은 효율성을 달성할 수 있다.
이러한 시스템은 또한 데이터 내의 오류 및 로봇 에이전트에 의한 작업 실행 중의 오류를 검사하도록 동작할 수 있다.  머신 러닝 기술을 통해 오케스트레이터 모듈은 로봇 에이전트의 입력과 출력은 물론 각 로봇 에이전트가 작업을 실행할 때 수행하는 일련의 스텝들을 학습할 수 있다.  그런 다음 각 로봇 에이전트의 입력 및 출력과 각 로봇 에이전트의 동작을 지속적으로 모니터링하여, 예상되는 스텝 및/또는 입출력 데이터 및/또는 이러한 데이터의 형식/유형으로부터 상당히 벗어난 편차가 있으면 보고할 수 있다.  나아가, 각 로봇 에이전트와의 예상 데이터 전송 또는 수신 실패를 모니터링할 수 있다.  이러한 오케스트레이터 모듈은 각 로봇 에이전트의 입력 및 출력을 학습된 입력, 출력 및 그 특정 로봇 에이전트를 위한 데이터 변환(data transformations)과 비교한다.  특정 로봇 에이전트와 주고받는 데이터가 (로봇 에이전트의 입력 및 출력 기록으로부터 학습한) 예상되는 범위 내에 있지 않은 경우, 오케스트레이터 모듈은 이 문제에 대한 충분한 설명과 함께 이 문제를 사용자에게 보고할 수 있다. 그리고, 오케스트레이터 모듈은 향후 이러한 문제를 방지하기 위한 수정 조치(corrective actions)를 권고할 수 있다.  또는, 구현에 따라 오케스트레이터 모듈은 수신된 데이터가 예상된 형식이 되도록 오류 (예를 들어, 데이터 형식 오류)를 간단히 수정할 수도 있다.
어느 작업이 워크스테이션 상에서 인간 에이전트 또는 작업자에 의해 실행되는지 결정하기 위해, 시스템의 오케스트레이터 모듈은 연결되어 인간이 수행하는 스텝을 수신하도록 연결될 수 있다.  그런 다음, 다시 머신 러닝 기술을 사용하여, 오케스트레이터 모듈은 스텝을 분석하고, 어느 작업과 하위 작업이 자동화할 수 있는 것인지 결정할 수 있다.  반복 작업 및 데이터 종속성을 결정할 수 있으며, 필요한 경우 인간 에이전트가 실행하는 스텝 및/또는 작업의 순서를 재정렬하여 로봇 에이전트에 의한 자동화를 허용할 수 있다.  이어서, 인간 작업자가 수행하는 작업 또는 스텝에 대한 잠재적 자동화 후보에 대한 리포트를 생성할 수 있다.  물론 이러한 리포트는 자동화 스크립트 제안서(suggested automation script)일 수 있다.  능동적 학습 방법도 본 발명의 이러한 측면에 적용될 수 있다.
도 1을 참조하면, 본 발명의 일 측면에 따른 시스템의 블록도가 예시된다. 시스템(10)은 복수의 로봇 에이전트 (30A, 30B, 30C)에 결합되는 오케스트레이터 모듈(20)을 포함한다.  각각의 로봇 에이전트는 서로 유사할 수도 있고 다를 수도 있는 작업들을 실행하고 있다.  또한 이러한 작업은 서로 관련되어 있을 수도 있고 서로 독립적일 수도 있다.  일 실시예에서, 오케스트레이터 모듈은 또한 인간 에이전트 또는 작업자에 의해 작동되는 적어도 하나의 워크스테이션(40)에도 연결될 수 있다.  오케스트레이터 모듈은 인간이 조작하는 워크스테이션뿐만 아니라 로봇 에이전트에도 연결될 수 있고, 또는 로봇 에이전트에만 연결될 수도 있다는 점에 유의해야 한다.  또한, 어떤 구현예에서는 오케스트레이터 모듈이 인간이 조작하는 워크스테이션에만 연결되고 로봇 에이전트에는 연결되지 않을 수도 있다.
오케스트레이터 모듈은 도 1에서 단일 장치/모듈로 도시되어 있지만, 이 모듈이 여러 모듈 또는 서브모듈의 형태를 취할 수도 있음은 분명하다.  예를 들어, 하나 이상의 서브 모듈이 로봇 에이전트에 연결될 수 있는 반면, 다른 서브 모듈은 인간이 조작하는 워크스테이션에 연결될 수 있다.  또한, 각 서브 모듈은, 그 서브 모듈이 어디에 연결되어 있는지에 따라 별도의 기능으로 작업할 수도 있다.  따라서, 하나의 서브 모듈은 로봇 에이전트에 대한 스케줄링 효율성을 갖도록 작업하고, 다른 서브 모듈은 로봇 에이전트에 대한 데이터/작업/스텝의 오류를 검사하도록 작업할 수 있다.  또 다른 서브모듈은 인간이 조작하는 워크스테이션의 자동화를 위한 효율성과 권고사항을 찾도록 작업할 수 있다.  이러한 수집기 서브모듈(collector submodule)은 서로 다른 에이전트/워크스테이션으로부터 정보를 수신하고, 수신된 정보를 조직화할 수 있다. 다른 특정 지능 모듈은 정보를 검토하고 스케줄링, 작업 최적화 등에 관한 최적의 권고사항을 생성할 수 있다.
위에서 언급한 바와 같이, 시스템(10)은 단순히 다른 로봇 에이전트에 대해 다른 작업을 리스케줄링하거나, 작업을 실행할 때 로봇 에이전트가 수행하는 스텝들의 순서를 재작업하는 것에 의해, 효율을 달성할 수 있다.  또한, 작업 및/또는 스텝 간의 데이터 종속성을 검사하고 이러한 데이터 종속성을 제거하기 위해 작업/스텝의 순서를 재정렬하는 것에 의해서도, 효율을 달성할 수 있다.
도 2를 참조하면, 본 발명의 일 측면에 따른 방법의 단계들을 상세히 설명하는 흐름도가 도시되어 있다.  이 방법에서는 머신 러닝 기법을 사용하여 복수의 로봇 에이전트와 관련된 효율성을 추구한다.  이 방법은 하나 이상의 로봇 에이전트에 의해 하나 이상의 작업을 실행하기 위한 일정을 시스템이 수신하는 단계(50)에서 시작된다.  단계(60)에서, 시스템은 각 로봇 에이전트가 작업을 실행할 때 수행하는 스텝들을 수신한다.  그 다음, 일정 및 스텝들이 단계(70)에서 분석되어, 작업 일정의 재조정 또는 스텝들의 재배열을 통해 제거될 수 있는 작업 및/또는 스텝 사이의 데이터 종속성을 검색한다.  전술한 바와 같이, 단계(70)는 신경망과 같은 머신 러닝 방법 및 기법을 사용하여 실행될 수 있다.  이러한 신경망은 최적화 기법에서, 서로 다른 데이터 흐름 간의 데이터 종속성을 검색하고 식별하도록 트레이닝될 수 있다.  또한, 신경망은 일정 및/또는 작업 및/또는 스텝의 재배열이 효율성을 달성하는지 여부를 결정하기 위해 적절한 가정 시나리오(what-if scenarios)를 생성할 수 있는 서브모듈과 쌍을 이룰 수 있다.  물론 효율성에는 더 빠른 실행 시간, 더 나은 리소스 활용, 더 높은 전체 처리량(throughput)이 포함될 수 있다.
로봇 에이전트로부터의 데이터가 분석되고 효율성 향상 조치가 결정되면, 이러한 조치는 보고 모듈로 전달될 수 있다(단계 80).  그런 다음, 이러한 조치를 권고사항으로 사용하여 사용자에게 적합한 리포트를 작성할 수 있다.  로봇 에이전트로부터 시스템으로의 데이터 흐름은 연속적일 수 있으며 이러한 데이터의 분석도 보고와 마찬가지로 연속적일 수 있다는 것은 분명하다.  이러한 방식으로, 새로운 일정, 새로운 작업 및 새로운 스텝이 시스템에 의해 지속적으로 고려되고 지속적으로 분석된다.  따라서, 일정, 스텝, 종속성 등의 최적화는 지속적이며 시스템은 거의 정적(static)이지 않다.
도 3을 참조하면, 본 발명의 다른 측면에 따른 다른 방법의 단계들을 상세히 설명하는 흐름도가 도시되어 있다.  이 방법은 다양한 로봇 에이전트의 입력, 출력 및 처리량을 지속적으로 모니터링하여, 작업이 성공적으로 완료되고, 생성되는 데이터가 예상되는 파라미터 내에 있도록 보장하는 것과 관련이 있다.  흐름도에서, 이 방법은 다양한 로봇 에이전트로부터의 작업 출력을 시스템이 수신하는 것으로 시작한다(단계 100). 작업 출력에는 로봇 에이전트가 수신하는 데이터, 로봇 에이전트가 생성하는 데이터, 로봇 에이전트가 데이터를 처리하기 위해 수행하는 스텝 및 프로세스의 정확성을 확인하기 위해 확인해야 할 수 있는 기타 데이터가 포함될 수 있다.  이어서, 이 작업 출력은 위에서 언급한대로 신경망과 같은 머신 러닝 기법 및 방법을 사용하여 시스템에 의해 학습된다.  따라서, 신경망은 각 로봇 에이전트의 작업 출력에 대해 지속적으로 (예를 들어 강화 학습 기법을 사용하여) 트레이닝될 수 있다.  단일 로봇 에이전트로부터의 예상되는 입력, 출력 및 작업 출력의 여러 인스턴스의 스텝들을 학습함으로써, 시스템은 해당 로봇 에이전트에서 예상되는 작업 및 값의 범위를 학습할 수 있다.  물론 감독 학습(supervised learning), 준지도 학습(semi-supervised learning), 딥 러닝 및 이들의 임의의 조합을 포함한 다른 머신 러닝 기법이 사용될 수도 있다.  본 문서의 어떠한 내용도 본 발명의 범위를 여기에 개시된 세부 사항으로 제한하는 것으로 간주되어서는 안 된다. 
작업 출력이 수신된 후, 이것은 동일하거나 유사한 로봇 에이전트의 이전 작업 출력으로부터 학습된 행동/학습된 범위의 동작 및 값과 비교된다(단계 110). 그런 다음, 판정 단계(120)는 최근 수신된 작업 출력이 해당 로봇 에이전트에 대해 예상되는 동작 및 값 범위 내에 있는지를 판정한다.  작업 출력이 예상 범위 내에 있으면, 이 방법의 로직은 되돌아 가서(loop back) 로봇 에이전트로부터 더 많은 작업 출력을 수신한다.  그러나, 작업 출력이 해당 로봇 에이전트에 대해 예상되는 작업 및 값을 벗어난 경우, 시스템은 단계 130에서 비정상 데이터(예컨대, 비정상 값, 로봇 에이전트가 취한 비정상 작업 또는 스텝, 또는 이 둘의 조합)에 플래그(flag)를 표시한다. 그 다음, 로봇 에이전트로부터 수신된 비정상 데이터를 사용자에게 통지하기 위해 리포트가 작성되어 사용자에게 전송된다(단계 140).  물론, 하나 이상의 트레이닝 세트에서 작업 출력을 이용하여 하나 이상의 머신 러닝 모델을 트레이닝하는 것을 포함하여, 다른 단계들이 이 방법에 추가될 수도 있다.
도 3의 방법은 로봇 에이전트 단위로 수행되지만, 이 시스템은 시스템 전체 수준에서 방법을 수행할 수도 있음이 분명하다.  이는 시스템이 다양한 로봇 에이전트 각각에 대해 예상되는 동작과 값을 학습하는 것이 아니라, 시스템이 로봇 에이전트의 모든 (또는 대부분)의 동작과 값을 학습한다는 것을 의미한다.  데이터 및/또는 작업 측면에서 시스템 전체 수준의 오류가 발생하면 리포트가 사용자에게 전송된다.
도 3의 방법은 조용한 오류(silent failure) 및 시끄러운 오류(noisy failure) 모두에 대해 다양한 로봇 에이전트를 모니터링하도록 확장될 수 있다.  시끄러운 오류란 오류 메시지 또는 이와 유사한 것을 생성하는 오류이고, 조용한 오류란 실패 발생 시에는 그 결과를 알 수 없는 오류이다.  시끄러운 오류의 예는 문자 값이 예상될 때 숫자 값을 사용하는 것인데, 이 경우 아마도 오류 메시지가 발생될 것이며 이로 인해 로봇 에이전트의 실패를 초래할 수 있다.  반대로 조용한 오류의 예는 10-15 사이의 값이 예상되지만 1000의 값이 입력된 경우일 수 있다.  값의 차이로 인해 로봇 에이전트가 실패하지는 않을 수 있지만, 명확하게 잘못된 값을 처리하게 되므로 다른 실패 및 오류가 발생할 수 있다. 따라서, 이 방법을 사용하여 이러한 유형의 오류를 모니터링할 수 있다.  시끄러운 오류의 경우 자신의 작업을 완료하지 못한 로봇 에이전트는 사용자에게 보고하도록 시스템이 플래그를 표시할 수 있다.  리포트는 오류를 자세히 설명하고, 로봇 에이전트를 식별하며, 실행 중인 프로세스, 사용 중인 값 및 발생한 오류 유형에 관한 데이터를 제공한다.  마찬가지로, 잠재적인 조용한 오류가 발생하면 (이를테면, 예상 값과 매우 다른 값이 사용된 경우), 시스템은 발생한 값이 해당 로봇 에이전트에 대한 예상 동작 및 값을 벗어난 것으로 인식한다.  따라서 로봇 에이전트의 신원, 실행 중인 프로세스, 처리 중인 값, 발생한 잠재적인 오류 유형, 발생한 오류의 원인 및 제안된 시정 조치를 자세히 설명하는 리포트가 생성된다.  또한, 그 잠재적인 오류 값에 대한 예상값 범위도 리포트에 제공될 수 있다.  이렇게 하면 잠재적인 문제를 해결 및/또는 트러블슈팅하는 데 필요한 관련 정보를 사용자에게 쉽게 제공할 수 있다.
전술한 바와 같이, 도 3에 상세히 설명된 방법은 작업 실행에 사용되는 비정상적인 값을 검출할 수 있다.  이 외에도 시스템은 로봇 에이전트가 수행하는 비정상적인 동작을 감지할 수도 있다.  예를 들어, 오작동하는 로봇 에이전트는 필드 x 에 데이터를 입력하는 대신 필드 x 및 y에 데이터를 입력할 수 있다.  필드 y에 대한 입력이 예상되지 않는 경우, 이 사건은 사용자에게 적절한 경고 및 적절한 리포트를 생성할 수 있다.  또 다른 예로서, 시스템은 로봇 에이전트가 잘못된 데이터 소스로부터 또는 잘못된 데이터 목적지로 데이터를 잘못 복사 및/또는 붙여넣기 하는지를 감지할 수 있다.  시스템은 로봇 에이전트가 취해야 할 스텝을 학습했기 때문에 예상과 다른 모든 동작을 포착할 수 있다.  따라서 이상 동작과 이상 값을 감지할 수 있다. 따라서, 오작동하는 로봇 엔진, 오류 데이터 및 시스템의 다른 문제(gremlins)들은 해결을 위해 기록되고(logged) 사용자에게 플래그 표시될 수 있다.
도 4를 참조하면, 본 발명의 다른 측면에 따른 또 다른 방법에 대한 흐름도가 예시된다.  도면에 설명된 방법은 워크스테이션 상에서 인간이 수행한 스텝들을 모니터링하고 분석하는 것과 관련이 있다.  위에서 언급한 바와 같이, 도 1에 예시 된 시스템은 이 방법을 실행하는 데 사용될 수 있다. 이 방법에서는 인간 작업자 또는 에이전트가 수행한 스텝들을 분석하고, 필요한 경우 순서를 변경하여 실행 중인 작업이 로봇 에이전트가 수행하기에 적합한 것인지 판정한다.  이를 위해 작업의 서로 다른 스텝들 간의 데이터 종속성이 판정될 수 있으며, 가능한 경우 스텝들의 순서를 재정렬하여 데이터 종속성을 줄이거나 제거할 수 있다.  또한, 작업 또는 스텝에서 요구할 수 있는 판단(또는 판단이 존재하지 않는다는 것)을 평가하여 로봇 에이전트가 해당 판단을 수행할 수 있는지 또는 인간의 판단이 필요한지 여부를 판정할 수 있다.
도 4에서, 방법은 시스템이 인간 에이전트에 의해 작동되는 워크스테이션으로부터 작업 출력을 수신하는 것으로부터 시작된다(단계 200).  이어서, 이 작업 출력은 데이터 종속성, 판단 요건 사항, (가능하다면) 데이터 종속성을 줄이기 위한 스텝의 재배열과 관련하여 단계 210에서 분석된다.  이 분석에 기초하여, 인간 작업자에 의해 실행되는 하나 이상의 스텝 또는 작업이 로봇 에이전트에 의해 실행될 수 있는지에 대한 판정이 이루어진다(단계 220).  응답이 부정적이면 논리 흐름은 워크스테이션에서 추가 작업 출력을 수신하는 단계 200으로 돌아간다.  한편, 적절한 로봇 에이전트에 의해 하나 이상의 스텝이 실행될 수 있다는 긍정적인 응답이 나오면, 시스템은 사용자에 대한 리포트를 작성한다(단계 230).  위와 같이 리포트는 자동화할 수 있는 스텝에 대해 설명하고, 작업/스텝을 자동화에 적합하게 만들기 위해 수행해야 할 수 있는 기타 변경 사항에 대해 자세히 설명한다.
본 문서의 모든 세부 사항뿐만 아니라 본 발명의 다양한 측면은, 모든 방식의 비즈니스 문제뿐만 아니라 모든 방식의 비즈니스 관련 거래에서 발생하는 이슈를 해결하기 위해 구현될 수 있다는 점에 유의해야 한다. 따라서, 이 문서의 세부 사항은, 비즈니스와 관련된 것으로 간주될 수 있는 인간 활동의 표현, 분야, 또는 해석뿐 아니라 회계, 마케팅, 제조, 관리 및/또는 인사관리 분야에 유리한 모든 결과를 포함하여, 모든 기업의 모든 부서의 목표, 희망 또는 가치를 증진하는 데 사용될 수 있다.
본 발명의 다양한 측면은 전반적으로 소프트웨어인 시스템에서 소프트웨어 모듈로 구현될 수 있음이 분명하다. 따라서, 본 발명은, 실행 시 미리 정의된 기능을 갖는 다양한 소프트웨어 모듈을 구현하는 컴퓨터 실행가능 명령어의 형태를 취할 수 있다. 
추가적으로, 달리 명시되지 않는 한, 본 명세서에서 '이미지' 또는 '이미지들'에 대한 언급은 픽셀 또는 픽처 셀을 포함하는 디지털 이미지 또는 디지털 이미지들을 지칭한다는 것이 분명하다.  마찬가지로 '오디오 파일' 또는 '오디오 파일들'에 대한 모든 언급은 달리 명시되지 않는 한 디지털 오디오 파일을 의미한다. '비디오', '비디오 파일', '데이터 개체', '데이터 파일' 및 기타 그러한 모든 용어는 달리 명시되지 않는 한 디지털 파일 및/또는 데이터 객체를 의미하는 것으로 간주되어야 한다.
본 발명의 실시예는 방법 단계의 방식으로 프로그래밍된 임의의 유형의 데이터 프로세서 또는 유사한 장치에 의해 실행될 수도 있고, 이러한 스텝을 실행하기 위한 수단이 제공되는 전자 시스템에 의해 실행될 수도 있다.  마찬가지로, 컴퓨터 디스켓, CD-ROM, 랜덤 액세스 메모리(RAM), 판독 전용 메모리 (ROM) 또는 당업계에 알려진 유사한 컴퓨터 소프트웨어 저장 매체와 같은 전자 메모리 수단이, 이러한 방법 스텝을 실행하도록 프로그래밍될 수 있다.  또한, 이러한 방법 스텝을 나타내는 전자 신호가 통신 네트워크를 통해 전송될 수도 있다.
본 발명의 실시예는 어떠한 종래의 컴퓨터 프로그래밍 언어로도 구현될 수 있다.  예를 들어, 바람직한 실시예는 절차적 프로그래밍 언어 (예컨대, "C" 또는 "Go") 또는 객체 지향 언어(이를테면, "C++", "java", "PHP", "PYTHON" 또는 "C #")으로 구현될 수 있다.  본 발명의 다른 실시예는 사전 프로그래밍된 하드웨어 구성요소, 다른 관련 컴포넌트 또는 하드웨어와 소프트웨어 컴포넌트의 조합으로 구현될 수 있다.
실시예는 컴퓨터 시스템과 함께 사용하기 위한 컴퓨터 프로그램 제품으로 구현될 수도 있다.  이러한 구현은, 컴퓨터 판독가능 매체 (예를 들어, 디스켓, CD-ROM, ROM 또는 고정 디스크)와 같은 유형의(tangible) 매체에 고정될 수도 있고, 모뎀 또는 매체를 통해 네트워크로 접속되는 통신 어댑터와 같은 기타 인터페이스장치를 컴퓨터 시스템으로 전송될 수도 있는, 일련의 컴퓨터 명령어를 포함할 수 있다. 매체는 유형의 매체(예를 들어, 광학 또는 전기 통신 라인) 또는 무선 기술 (예를 들어, 마이크로파, 적외선 또는 기타 전송 기술)로 구현된 매체일 수 있다.  일련의 컴퓨터 명령어는 여기에서 이전에 설명한 기능의 전부 또는 일부를 구현한다.  당업자는 이러한 컴퓨터 명령어가 많은 컴퓨터 아키텍처 또는 운영 체제와 함께 사용하기 위한 다수의 프로그래밍 언어로 작성될 수 있음을 인식해야 한다.  더욱이, 그러한 명령어는 반도체, 자기, 광학 또는 기타 메모리 장치와 같은 임의의 메모리 장치에 저장될 수도 있고, 광학, 적외선, 마이크로파 또는 기타 전송 기술과 같은 임의의 통신 기술을 사용하여 전송될 수도 있다.  이러한 컴퓨터 프로그램 제품은 인쇄 문서 또는 전자 문서(이를테면, 수축 포장된(shrink-wrapped) 소프트웨어)와 함께 이동식 매체로서 배포되거나, 컴퓨터 시스템(예컨대, 시스템 ROM 또는 고정 디스크)에 사전 로딩되거나, 네트워크(예를 들어, 인터넷 또는 월드 와이드 웹)를 통해 서버로부터 배포될 수 있다.  물론, 본 발명의 일부 실시예는 소프트웨어(예를 들어, 컴퓨터 프로그램 제품) 및 하드웨어의 조합으로서 구현될 수도 있다.  본 발명의 또 다른 실시예는 전체적으로 하드웨어 또는 전체적으로 소프트웨어(예를 들어, 컴퓨터 프로그램 제품)로서 구현될 수도 있다.
이제 본 발명을 이해하는 사람은 후속하는 청구 범위에 정의된 바와 같이 본 발명의 범위 내에 속하도록 의도된, 전술한 모든 사항의 대안적인 구조 및 실시예 또는 변형을 생각할 수 있을 것이다.

Claims (29)

  1. 복수의 로봇 에이전트(robotic agents)의 성능을 향상시키는 방법으로서,
    a) 상기 로봇 에이전트에 의해 실행될 작업들의 일정을 수신하는 단계와,
    b) 상기 작업들 각각에 대해, 상기 로봇 에이전트 각각에 의해 실행되는 스텝들을 수신하는 단계와,
    c) 머신 러닝을 이용하여, 서로 다른 로봇 에이전트에 의해 실행되는 상기 스텝들 간의 종속성(dependencies)을 판정하는 단계와,
    d) 머신 러닝을 이용하여, 상기 스텝들에 대한 조정내용을 결정함으로써 상기 작업들 중 적어도 하나를 최적화하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서,
    머신 러닝을 이용하여 상기 작업들의 상기 일정에 대한 조정내용을 결정하여 상기 작업들 중 적어도 하나를 최적화하는 단계
    를 더 포함하는 방법.
  3. 제 1 항에 있어서,
    상기 방법은 상기 스텝들에 대한 상기 조정내용에 관한 리포트를 작성하는 단계를 더 포함하되,
    상기 리포트는 상기 스텝들에 대한 상기 조정내용을 확인하도록 사용자에게 전송하기 위한 것인,
    방법.
  4. 제 1 항에 있어서,
    상기 스텝들에 대한 상기 조정내용은 상기 스텝들 중 적어도 일부가 실행되는 순서를 변경하는 것을 포함하는 것인,
    방법.
  5. 제 2 항에 있어서,
    상기 일정에 대한 상기 조정내용은 상기 작업들 중 적어도 일부가 실행되는 순서를 변경하는 것을 포함하는 것인,
    방법.
  6. 제 1 항에 있어서,
    상기 복수의 로봇 에이전트에 걸친 작업들의 분배를 최적화하여 상기 복수의 로봇 에이전트에 걸쳐 효율성을 달성하는 단계
    를 더 포함하는 방법.
  7. 적어도 하나의 로봇 에이전트에 의해 작업들이 실행되는 시스템에서 적어도 하나의 이상(anomaly)을 검출하는 방법으로서,
    a) 상기 적어도 하나의 로봇 에이전트로부터 작업 출력(work output)을 지속적으로 수신하는 단계와, 
    b) 머신 러닝 시스템이 상기 적어도 하나의 로봇 에이전트로부터의 소정 범위의 동작(actions) 및 값(values)을 학습하도록 상기 머신 러닝 시스템을 지속적으로 트레이닝시키기 위해 트레이닝 세트에서 상기 작업 출력을 사용하는 단계와, 
    c) 상기 적어도 하나의 로봇 에이전트에 대한 상기 소정 범위의 동작 및 값에 대해 상기 작업 출력을 지속적으로 평가하는 단계와,
    d) 상기 작업 출력의 적어도 하나의 측면이 상기 로봇 에이전트에 대한 상기 동작 및 값의 상기 범위 밖에 있는 경우, 사용자에게 경고(alert)를 생성하고 상기 사용자에게 리포트 - 상기 리포트는 상기 경고에 관한 설명을 포함함 - 를 생성하는 단계
    를 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 적어도 하나의 로봇 에이전트가 작업 중 오류를 검출하는 경우 적어도 하나의 경고가 생성되는 것인,
    방법.
  9. 제 8 항에 있어서,
    검출된 상기 작업 중 오류에 대한 상기 적어도 하나의 경고는 상기 경고에 대한 설명과 함께 리포트를 생성하는 것인,
    방법.
  10. 제 7 항에 있어서,
    상기 작업 출력은 작업을 실행함에 있어서 상기 적어도 하나의 로봇 에이전트에 의해 실행되는 스텝들을 포함하는 것인,
    방법.
  11. 제 10 항에 있어서,
    상기 작업 출력은 상기 작업을 실행함에 있어서 상기 적어도 하나의 로봇 에이전트에 의해 사용되는 데이터의 소스를 포함하는 것인,
    방법.
  12. 제 10 항에 있어서,
    상기 작업 출력은 상기 작업을 실행함에 있어서 상기 적어도 하나의 로봇 에이전트에 의해 사용되는 데이터의 목적지를 포함하는 것인,
    방법.
  13. 제 10 항에 있어서,
    상기 실행되는 스텝들이 적어도 하나의 예상치 못한 스텝을 포함하는 경우, 상기 작업 출력은 상기 동작 및 값의 상기 범위 밖에 있는 것인,
    방법.
  14. 제 11 항에 있어서,
    상기 데이터의 소스가 예상치 못한 데이터 소스인 경우, 상기 작업 출력은 상기 동작 및 값의 상기 범위 밖에 있는 것인,
    방법.
  15. 제 11 항에 있어서,
    상기 데이터의 목적지가 예상치 못한 데이터 목적지인 경우, 상기 작업 출력은 상기 동작 및 값의 상기 범위 밖에 있는 것인,
    방법.
  16. 제 7 항에 있어서,
    상기 리포트는 상기 경고를 유발한 상황을 완화하기 위한 권고사항을 포함하는 것인,
    방법.
  17. 자동화를 위한 후보 작업들을 결정하기 위한 방법으로서,
    a) 사용자 워크스테이션으로부터 작업 출력 - 상기 작업 출력은 작업을 실행함에 있어서 상기 사용자 워크스테이션에서 인간에 의해 실행되는 스텝들을 포함함 - 을 지속적으로 수신하는 단계와,
    b) 머신 러닝을 이용하여, 상기 사용자에 의해 실행되는 상기 스텝들이 로봇 에이전트에 의해 실행가능한 것인지 판정하는 단계와,
    c) 상기 스텝들이 로봇 에이전트에 의해 실행될 수 있는 것인 경우, 상기 로봇 에이전트에 의해 실행가능한 상기 스텝들을 상세히 설명하는 리포트를 사용자에게 생성하는 단계
    를 포함하는 방법.
  18. 제 17 항에 있어서,
    단계 b)는 상기 스텝들에서 사용되는 데이터의 소스를 판정하는 단계를 포함하는 것인,
    방법.
  19. 제 17 항에 있어서,
    단계 b)는 상기 스텝들에서 사용되는 데이터의 목적지를 판정하는 단계를 포함하는 것인,
    방법.
  20. 제 17 항에 있어서,
    단계 b)는 상기 스텝들의 순서를 재정렬하여 재정렬된 스텝들이 로봇 에이전트에 의해 실행가능한지 판정하는 단계를 포함하는 것인,
    방법.
  21. 복수의 작업들을 실행하기 위한 시스템으로서,
    복수의 로봇 에이전트 - 상기 복수의 로봇 에이전트 각각은 상기 복수의 작업들 중 적어도 하나의 작업을 실행함 - 와,
    상기 복수의 로봇 에이전트를 관리하기 위한 오케스트레이터(orchestrator) 모듈 - 상기 오케스트레이터 모듈은 상기 복수의 로봇 에이전트 중 적어도 하나로부터 작업 출력을 수신함 -
    을 포함하되,
    상기 복수의 로봇 에이전트 중 상기 적어도 하나는 상기 오케스트레이터 모듈에 대해 상기 적어도 하나의 작업을 실행함에 있어 수행되는 스텝들을 상세히 설명하는 것인,
    시스템.
  22. 제 21 항에 있어서,
    상기 오케스트레이터 모듈은 적어도 하나의 인간 에이전트에 의해 작동되는 워크스테이션으로부터도 작업 출력을 수신하는 것인,
    시스템.
  23. 제 22 항에 있어서,
    상기 워크스테이션으로부터의 상기 작업 출력은 상기 사용자 워크스테이션 상에서 상기 적어도 하나의 인간 에이전트에 의해 실행되는 상세한 스텝들의 표시(indication)를 상기 오케스트레이터 모듈로 전송하는 것인,
    시스템.
  24. 제 21 항에 있어서,
    상기 오케스트레이터 모듈은 사용자에게 전송하기 위한 리포트를 생성하기 위한 것이며,
    상기 리포트는 적어도 하나의 로봇 에이전트에 의해 실행되는 스텝들에 대한 조정내용을 상세히 설명하여 상기 복수의 작업들 중 적어도 하나의 실행을 최적화하는 것인,
    시스템.
  25. 제 21 항에 있어서,
    상기 오케스트레이터 모듈은 사용자에게 전송하기 위한 리포트를 생성하기 위한 것이며,
    상기 리포트는 상기 로봇 에이전트에 의한 상기 복수의 작업들의 실행 일정에 대한 조정내용을 상세히 설명하여 상기 복수의 작업들 중 적어도 하나의 실행을 최적화하는 것인,
    시스템.
  26. 제 21 항에 있어서,
    상기 오케스트레이터 모듈은 적어도 하나의 머신 러닝 모듈을 포함하는 것인,
    시스템.
  27. 제 26 항에 있어서,
    상기 적어도 하나의 머신 러닝 모듈은 상기 적어도 하나의 로봇 에이전트로부터의 상기 작업 출력으로부터 유도된 데이터에 기초하여 지속적으로 트레이닝되는 것인,
    시스템.
  28. 제 26 항에 있어서,
    상기 오케스트레이터 모듈은 상기 적어도 하나의 로봇 에이전트로부터의 상기 작업 출력이 동작 및 값의 학습된 범위 내에 있는지를 판정하기 위해 상기 작업 출력을 연속적으로 분석하되,
    상기 동작 및 값의 범위는 이전에 수신된 작업 출력에 기초하여 상기 적어도 하나의 머신 러닝 모듈에 의해 학습되는 것인,
    시스템.
  29. 제 21 항에 있어서,
    상기 오케스트레이터 모듈은 사용자에게 전송하기 위한 리포트를 생성하기 위한 것이며,
    상기 리포트는 일정에 대한 조정내용을 상세히 설명하여 상기 복수의 로봇 에이전트에 걸쳐 작업을 재할당함으로써 상기 복수의 작업들 중 적어도 하나의 실행을 최적화하는 것인,
    시스템.
KR1020217012563A 2018-09-28 2019-09-26 로봇 에이전트 관리를 위한 시스템 및 방법 KR20210096077A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862738463P 2018-09-28 2018-09-28
US62/738,463 2018-09-28
PCT/CA2019/051375 WO2020061699A1 (en) 2018-09-28 2019-09-26 System and method for robotic agent management

Publications (1)

Publication Number Publication Date
KR20210096077A true KR20210096077A (ko) 2021-08-04

Family

ID=69949229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217012563A KR20210096077A (ko) 2018-09-28 2019-09-26 로봇 에이전트 관리를 위한 시스템 및 방법

Country Status (8)

Country Link
US (1) US20210339389A1 (ko)
EP (1) EP3856469A4 (ko)
JP (1) JP2022513323A (ko)
KR (1) KR20210096077A (ko)
CN (1) CN113661035A (ko)
AU (1) AU2019348202B2 (ko)
CA (1) CA3114246C (ko)
WO (1) WO2020061699A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202022103359U1 (de) 2021-07-21 2022-09-22 Hyundai Mobis Co., Ltd. Tastenstruktur für ein Fahrzeug-AV-System

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11586463B2 (en) * 2018-04-17 2023-02-21 Oracle International Corporation Automated process flow learning
EP3871088A1 (en) * 2019-02-26 2021-09-01 Google LLC Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network
US11738453B2 (en) * 2019-10-15 2023-08-29 UiPath, Inc. Integration of heterogeneous models into robotic process automation workflows
US11748479B2 (en) 2019-10-15 2023-09-05 UiPath, Inc. Centralized platform for validation of machine learning models for robotic process automation before deployment
US20220012624A1 (en) * 2020-07-07 2022-01-13 Northrop Grumman Systems Corporation Systems and methods for evaluating a behavior of a machine-learning algorithm

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4377744B2 (ja) * 2004-05-13 2009-12-02 本田技研工業株式会社 ロボット制御装置
US8538793B2 (en) * 2011-02-17 2013-09-17 Infosys Limited System and method for managing real-time batch workflows
US8452451B1 (en) * 2011-05-06 2013-05-28 Google Inc. Methods and systems for robotic command language
US11072067B2 (en) * 2015-11-16 2021-07-27 Kindred Systems Inc. Systems, devices, and methods for distributed artificial neural network computation
EP3185124A1 (en) * 2015-12-22 2017-06-28 Tata Consultancy Services Limited System and method for monitoring, deploying, and tracking autonomous software robots
US10365799B2 (en) * 2016-02-09 2019-07-30 Wipro Limited System and methods for creating on-demand robotic process automation
JP6114421B1 (ja) * 2016-02-19 2017-04-12 ファナック株式会社 複数の産業機械の作業分担を学習する機械学習装置,産業機械セル,製造システムおよび機械学習方法
US20170293844A1 (en) * 2016-04-06 2017-10-12 Massachusetts Institute Of Technology Human-machine collaborative optimization via apprenticeship scheduling
CN105881504B (zh) * 2016-05-11 2020-06-19 武汉菲仕运动控制系统有限公司 一种具有牵引视教功能的Delta机器人控制系统
CN105835063B (zh) * 2016-06-03 2018-11-13 国网宁夏电力公司检修公司 一种变电站室内巡检机器人系统及其巡检方法
US11107090B2 (en) * 2016-06-06 2021-08-31 Epiance Software Pvt. Ltd. System and method for automated content generation
CN105856235B (zh) * 2016-06-08 2018-06-29 江苏若博机器人科技有限公司 一种无线传输两核六轴履带式天然气管道机器人控制系统
CN106003034B (zh) * 2016-06-16 2019-06-28 深圳先进技术研究院 一种主从式机器人控制系统及控制方法
US10112298B2 (en) * 2016-08-09 2018-10-30 International Business Machines Corporation Assigning tasks to a robot device for execution
US10504055B2 (en) * 2016-09-02 2019-12-10 X Development Llc Optimization of warehouse layout based on customizable goals
CN106355345A (zh) * 2016-09-08 2017-01-25 京东方科技集团股份有限公司 自动售货机器人智能调度系统及方法
US20180150256A1 (en) * 2016-11-29 2018-05-31 Intel Corporation Technologies for data deduplication in disaggregated architectures
US10782670B2 (en) * 2016-12-14 2020-09-22 The Boeing Company Robotic task system
US9817967B1 (en) * 2017-01-13 2017-11-14 Accenture Global Solutions Limited Integrated robotics and access management for target systems
US10661438B2 (en) * 2017-01-16 2020-05-26 Ants Technology (Hk) Limited Robot apparatus, methods and computer products
CN107291078B (zh) * 2017-06-06 2019-11-08 歌尔股份有限公司 一种服务机器人的调度方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE202022103359U1 (de) 2021-07-21 2022-09-22 Hyundai Mobis Co., Ltd. Tastenstruktur für ein Fahrzeug-AV-System

Also Published As

Publication number Publication date
CN113661035A (zh) 2021-11-16
US20210339389A1 (en) 2021-11-04
WO2020061699A1 (en) 2020-04-02
JP2022513323A (ja) 2022-02-07
CA3114246A1 (en) 2020-04-02
AU2019348202A1 (en) 2021-05-27
EP3856469A1 (en) 2021-08-04
CA3114246C (en) 2023-10-17
EP3856469A4 (en) 2022-03-23
AU2019348202B2 (en) 2022-07-28

Similar Documents

Publication Publication Date Title
KR20210096077A (ko) 로봇 에이전트 관리를 위한 시스템 및 방법
US11295228B2 (en) Methods for creating automated dynamic workflows of interoperable bots and devices thereof
US10867244B2 (en) Method and apparatus for machine learning
Adriansyah et al. Towards robust conformance checking
Jena et al. A novel approach for test case generation from UML activity diagram
Ali et al. Social adaptation: when software gives users a voice
CN114830156A (zh) 用于分析机器人流程自动化(rpa)的测试自动化工作流程的系统和计算机实现的方法
US11165643B1 (en) Cloud compliance drift automation and root cause analysis tool
US11762723B2 (en) Systems and methods for application operational monitoring
CN112380255A (zh) 一种业务处理方法、装置、设备和存储介质
US11169910B2 (en) Probabilistic software testing via dynamic graphs
Weber et al. Mining processes with multi-instantiation
CN116400987B (zh) 持续集成方法、装置、电子设备及存储介质
US20230072123A1 (en) Method and system for automating analysis of log data files
Dhaliwal et al. Recovering commit dependencies for selective code integration in software product lines
US20160004982A1 (en) Method and system for estimating the progress and completion of a project based on a bayesian network
JP6928182B1 (ja) 停止原因特定支援装置、停止原因特定支援プログラムおよび方法
KR101073495B1 (ko) 에스오에이 서비스의 동적 특화 방법
Ignatious et al. Identifying A Regression Test Prioritization Technique and Proposing A Tool for Automation for Trade me Website
Carmignani et al. A new perspective on Process-oriented Software Engineering based on BPMN Process Mining
CA3177203A1 (en) System and method for security analyst modeling and management
WALES Mining processes with multi-instantiation: Discovery and conformance checking
Guan et al. Prioritizing Project Interdependent Risks: A Network-based Approach
Zheng et al. Systems Engineering Approach to Identify Requirements for Digital Twins Development
CN117687756A (zh) 持续集成方法、装置、设备及计算机可读存储介质

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal