KR20240016704A - 관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법 - Google Patents

관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법 Download PDF

Info

Publication number
KR20240016704A
KR20240016704A KR1020220094777A KR20220094777A KR20240016704A KR 20240016704 A KR20240016704 A KR 20240016704A KR 1020220094777 A KR1020220094777 A KR 1020220094777A KR 20220094777 A KR20220094777 A KR 20220094777A KR 20240016704 A KR20240016704 A KR 20240016704A
Authority
KR
South Korea
Prior art keywords
robot
service
time
end time
learning
Prior art date
Application number
KR1020220094777A
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 KR1020220094777A priority Critical patent/KR20240016704A/ko
Publication of KR20240016704A publication Critical patent/KR20240016704A/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/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
    • B25J13/00Controls for manipulators
    • B25J13/006Controls for manipulators by means of a wireless system for controlling one or several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Fuzzy Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Manipulator (AREA)

Abstract

본 명세서는 로봇 제어장치가 관측학습을 이용하여 로봇이 제공하는 서비스의 종료시간 추정방법에 있어서, 상기 서비스를 제공하는 로봇의 동작과 관련된 상태정보를 수집하는 단계;로서, 상기 서비스는 상기 로봇이 수행하는 일련의 동작에 근거하여, 제공됨; 특정 시점의 상기 상태정보와 관련된 서비스의 실제 종료시간을 수집하는 단계; 수집된 상기 실제 종료시간을 빈도수에 따라 정렬한 집합을 생성하는 단계; 상기 집합에 근거하여, 인공지능 모델의 관측학습을 수행하는 단계; 및 상기 인공지능 모델을 이용하여, 특정 서비스의 종료시간을 예측하는 단계; 를 포함할 수 있다.

Description

관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법 {METHOD FOR ESTIMATION OF REMAINING MOTION TIME OF ROBOT SYSTEM USING OBSERVATIONAL LEARNING}
본 명세서는 관측학습을 이용하여 로봇 시스템의 남은 잔여모션 소요 시간을 추정하기 위한 방법 및 이를 위한 장치에 관한 것이다.
고객은 식당에서 음료 또는 음식을 주문하면, 얼마나 기다려야 하는지 궁금해하는 경우가 있다. 일반적으로 고객은 서비스 이용과정에서 허용/대기를 신호등처럼 초록불과 빨간불로 판단할 수 있다. 또는, 푸드코트를 이용하는 경우에서 고객은 주문번호를 가지고 막연히 대기해야 한다.
사람이 아닌 프로그래밍된 로봇이 식음료를 제조해서 제공하는 시스템에서, 식음료를 제공하기 위해 남은 시간은 이미 정해져있을 것이고 해당 정보는 손님에게 제공될 수 있다.
본 명세서의 목적은 로봇 시스템에 손님이 식음료를 주문했을 때 남은 시간을 추정하기 위한 방법 및 이를 위한 장치를 제공하는 것이다.
또한, 본 명세서의 목적은 적용 대상 시스템의 로봇이 어떻게 움직이는지에 대하여 모른다는 가정하에 인공지능 강화학습에서 영감을 얻어 개발한 관측학습 알고리즘을 이용하는 방법 및 이를 위한 장치를 제공하는 것이다.
본 명세서가 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 이하의 명세서의 상세한 설명으로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 명세서의 일 양상은 로봇 제어장치가 관측학습을 이용하여 로봇이 제공하는 서비스의 종료시간 추정방법에 있어서, 상기 서비스를 제공하는 로봇의 동작과 관련된 상태정보를 수집하는 단계;로서, 상기 서비스는 상기 로봇이 수행하는 일련의 동작에 근거하여, 제공됨; 특정 시점의 상기 상태정보와 관련된 서비스의 실제 종료시간을 수집하는 단계; 수집된 상기 실제 종료시간을 빈도수에 따라 정렬한 집합을 생성하는 단계; 상기 집합에 근거하여, 인공지능 모델의 관측학습을 수행하는 단계; 및 상기 인공지능 모델을 이용하여, 특정 서비스의 종료시간을 예측하는 단계; 를 포함할 수 있다.
또한, 상기 상태정보는 상기 서비스가 제공되는 배출구의 식별자, 상기 동작의 순서정보, 및 상기 동작의 직전에 서비스가 제공된 다른 배출구의 식별자에 근거하여, 수집될 수 있다.
또한, 상기 실제 종료시간을 수집하는 단계는 상기 특정 시점의 상태정보가 수집된 시각을 수집하는 단계; 및 상기 특정 시점의 상태정보와 관련된 서비스가 종료한 시각을 수집하는 단계;를 포함할 수 있다.
또한, 상기 관측학습은 상기 빈도수에 근거하여, 수행될 수 있다.
또한, 상기 특정 서비스의 최종 소요시간을 사용자에게 제공하는 단계; 를 더 포함하며, 상기 최종 소요시간은 1) 상기 집합의 최대값 또는 2) 상기 집합의 평균값일 수 있다.
또한, 상기 최종 소요시간이 상기 집합의 평균값인 경우, 상기 집합에서 노이즈를 제거하는 단계; 를 더 포함할 수 있다.
본 명세서의 또 다른 일 양상은 강화학습을 이용하여 로봇이 제공하는 서비스의 종료시간 추정하기 위한 로봇 제어장치에 있어서, 상기 로봇과 데이터를 송수신할 수 있는 통신부; 인공지능 모델이 포함된 메모리; 상기 통신부 및 상기 메모리를 기능적으로 제어하기 위한 프로세서; 를 포함하고, 상기 프로세서는 상기 서비스를 제공하는 로봇의 동작과 관련된 상태정보를 수집하고, 상기 서비스는 상기 로봇이 수행하는 일련의 동작에 근거하여, 제공되며, 특정 시점의 상기 상태정보와 관련된 서비스의 실제 종료시간을 수집하고, 수집된 상기 실제 종료 시간을 빈도수에 따라 정렬한 집합을 생성하며, 상기 집합에 근거하여, 상기 인공지능 모델의 관측학습을 수행하고, 상기 인공지능 모델을 이용하여, 특정 서비스의 종료시간을 예측할 수 있다.
본 명세서의 실시예에 따르면, 소비자에게 로봇 시스템의 상황을 공유함으로써, 서비스를 제공받는 상황에서 편의성을 제공할 수 있다.
또한, 본 명세서의 실시예에 따르면, 관측학습을 이용하여, 범용적으로 다양한 로봇에 적용가능한 방법으로서, 다양한 로봇시스템에 적용이 가능하다. 본 명세서에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 명세서가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 명세서와 관련된 전자 기기를 설명하기 위한 블록도이다.
도 2는 본 명세서의 일 실시예에 따른 AI 장치의 블록도이다.
도 3은 본 명세서에 적용될 수 있는 로봇 시스템의 예시이다.
도 4는 본 명세서에 적용될 수 있는 동작의 예시이다.
도 5는 본 명세서에 적용될 수 있는 상태 정보의 예시이다.
도 6은 본 명세서에 적용될 수 있는 일 실시예이다.
도 7 및 도 8은 본 명세서가 적용될 수 있는 최종 소요시간 제공의 예시이다.
본 명세서에 관한 이해를 돕기 위해 상세한 설명의 일부로 포함되는, 첨부 도면은 본 명세서에 대한 실시예를 제공하고, 상세한 설명과 함께 본 명세서의 기술적 특징을 설명한다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 명세서의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
도 1은 본 명세서와 관련된 전자 기기를 설명하기 위한 블록도이다.
상기 전자 기기(100)는 무선 통신부(110), 입력부(120), 센싱부(140), 출력부(150), 인터페이스부(160), 메모리(170), 제어부(180) 및 전원 공급부(190) 등을 포함할 수 있다. 도 1에 도시된 구성요소들은 전자 기기를 구현하는데 있어서 필수적인 것은 아니어서, 본 명세서 상에서 설명되는 전자 기기는 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
보다 구체적으로, 상기 구성요소들 중 무선 통신부(110)는, 전자 기기(100)와 무선 통신 시스템 사이, 전자 기기(100)와 다른 전자 기기(100) 사이, 또는 전자 기기(100)와 외부서버 사이의 무선 통신을 가능하게 하는 하나 이상의 모듈을 포함할 수 있다. 또한, 상기 무선 통신부(110)는, 전자 기기(100)를 하나 이상의 네트워크에 연결하는 하나 이상의 모듈을 포함할 수 있다.
이러한 무선 통신부(110)는, 방송 수신 모듈(111), 이동통신 모듈(112), 무선 인터넷 모듈(113), 근거리 통신 모듈(114), 위치정보 모듈(115) 중 적어도 하나를 포함할 수 있다.
입력부(120)는, 영상 신호 입력을 위한 카메라(121) 또는 영상 입력부, 오디오 신호 입력을 위한 마이크로폰(microphone, 122), 또는 오디오 입력부, 사용자로부터 정보를 입력받기 위한 사용자 입력부(123, 예를 들어, 터치키(touch key), 푸시키(mechanical key) 등)를 포함할 수 있다. 입력부(120)에서 수집한 음성 데이터나 이미지 데이터는 분석되어 사용자의 제어명령으로 처리될 수 있다.
센싱부(140)는 전자 기기 내 정보, 전자 기기를 둘러싼 주변 환경 정보 및 사용자 정보 중 적어도 하나를 센싱하기 위한 하나 이상의 센서를 포함할 수 있다. 예를 들어, 센싱부(140)는 근접센서(141, proximity sensor), 조도 센서(142, illumination sensor), 터치 센서(touch sensor), 가속도 센서(acceleration sensor), 자기 센서(magnetic sensor), 중력 센서(G-sensor), 자이로스코프 센서(gyroscope sensor), 모션 센서(motion sensor), RGB 센서, 적외선 센서(IR 센서: infrared sensor), 지문인식 센서(finger scan sensor), 초음파 센서(ultrasonic sensor), 광 센서(optical sensor, 예를 들어, 카메라(121 참조)), 마이크로폰(microphone, 122 참조), 배터리 게이지(battery gauge), 환경 센서(예를 들어, 기압계, 습도계, 온도계, 방사능 감지 센서, 열 감지 센서, 가스 감지 센서 등), 화학 센서(예를 들어, 전자 코, 헬스케어 센서, 생체 인식 센서 등) 중 적어도 하나를 포함할 수 있다. 한편, 본 명세서에 개시된 전자 기기는, 이러한 센서들 중 적어도 둘 이상의 센서에서 센싱되는 정보들을 조합하여 활용할 수 있다.
출력부(150)는 시각, 청각 또는 촉각 등과 관련된 출력을 발생시키기 위한 것으로, 디스플레이부(151), 음향 출력부(152), 햅팁 모듈(153), 광 출력부(154) 중 적어도 하나를 포함할 수 있다. 디스플레이부(151)는 터치 센서와 상호 레이어 구조를 이루거나 일체형으로 형성됨으로써, 터치 스크린을 구현할 수 있다. 이러한 터치 스크린은, 전자 기기(100)와 사용자 사이의 입력 인터페이스를 제공하는 사용자 입력부(123)로써 기능함과 동시에, 전자 기기(100)와 사용자 사이의 출력 인터페이스를 제공할 수 있다.
인터페이스부(160)는 전자 기기(100)에 연결되는 다양한 종류의 외부 기기와의 통로 역할을 수행한다. 이러한 인터페이스부(160)는, 유/무선 헤드셋 포트(port), 외부 충전기 포트(port), 유/무선 데이터 포트(port), 메모리 카드(memory card) 포트, 식별 모듈이 구비된 장치를 연결하는 포트(port), 오디오 I/O(Input/Output) 포트(port), 비디오 I/O(Input/Output) 포트(port), 이어폰 포트(port) 중 적어도 하나를 포함할 수 있다. 전자 기기(100)에서는, 상기 인터페이스부(160)에 외부 기기가 연결되는 것에 대응하여, 연결된 외부 기기와 관련된 적절할 제어를 수행할 수 있다.
또한, 메모리(170)는 전자 기기(100)의 다양한 기능을 지원하는 데이터를 저장한다. 메모리(170)는 전자 기기(100)에서 구동되는 다수의 응용 프로그램(application program 또는 애플리케이션(application)), 전자 기기(100)의 동작을 위한 데이터들, 명령어들을 저장할 수 있다. 이러한 응용 프로그램 중 적어도 일부는, 무선 통신을 통해 외부 서버로부터 다운로드 될 수 있다. 또한 이러한 응용 프로그램 중 적어도 일부는, 전자 기기(100)의 기본적인 기능(예를 들어, 전화 착신, 발신 기능, 메시지 수신, 발신 기능)을 위하여 출고 당시부터 전자 기기(100)상에 존재할 수 있다. 한편, 응용 프로그램은, 메모리(170)에 저장되고, 전자 기기(100) 상에 설치되어, 제어부(180)에 의하여 상기 전자 기기의 동작(또는 기능)을 수행하도록 구동될 수 있다.
제어부(180)는 상기 응용 프로그램과 관련된 동작 외에도, 통상적으로 전자 기기(100)의 전반적인 동작을 제어한다. 제어부(180)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(170)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.
또한, 제어부(180)는 메모리(170)에 저장된 응용 프로그램을 구동하기 위하여, 도 1과 함께 살펴본 구성요소들 중 적어도 일부를 제어할 수 있다. 나아가, 제어부(180)는 상기 응용 프로그램의 구동을 위하여, 전자 기기(100)에 포함된 구성요소들 중 적어도 둘 이상을 서로 조합하여 동작시킬 수 있다.
전원공급부(190)는 제어부(180)의 제어 하에서, 외부의 전원, 내부의 전원을 인가받아 전자 기기(100)에 포함된 각 구성요소들에 전원을 공급한다. 이러한 전원공급부(190)는 배터리를 포함하며, 상기 배터리는 내장형 배터리 또는 교체가능한 형태의 배터리가 될 수 있다.
상기 각 구성요소들 중 적어도 일부는, 이하에서 설명되는 다양한 실시 예들에 따른 전자 기기의 동작, 제어, 또는 제어방법을 구현하기 위하여 서로 협력하여 동작할 수 있다. 또한, 상기 전자 기기의 동작, 제어, 또는 제어방법은 상기 메모리(170)에 저장된 적어도 하나의 응용 프로그램의 구동에 의하여 전자 기기 상에서 구현될 수 있다.
본 명세서에서 로봇 제어장치는 전자기기(100)의 적어도 일부 구성을 포함하고 로봇 시스템을 제어하기 위한 장치를 의미할 수 있다.
도 2는 본 명세서의 일 실시예에 따른 AI 장치의 블록도이다.
상기 AI 장치(20)는 AI 프로세싱을 수행할 수 있는 AI 모듈을 포함하는 전자 기기 또는 상기 AI 모듈을 포함하는 서버 등을 포함할 수 있다. 또한, 상기 AI 장치(20)는 도 1에 도시된 전자기기(100)의 적어도 일부의 구성으로 포함되어 AI 프로세싱 중 적어도 일부를 함께 수행하도록 구비될 수도 있다.
상기 AI 장치(20)는 AI 프로세서(21), 메모리(25) 및/또는 통신부(27)를 포함할 수 있다.
상기 AI 장치(20)는 신경망을 학습할 수 있는 컴퓨팅 장치로서, 서버, 데스크탑 PC, 노트북 PC, 태블릿 PC 등과 같은 다양한 전자 장치로 구현될 수 있다.
AI 프로세서(21)는 메모리(25)에 저장된 프로그램을 이용하여 신경망을 학습할 수 있다. 특히, AI 프로세서(21)는 로봇의 서비스에 소요되는 시간을 추정하기 위한 인공지능 모델을 생성할 수 있고, 로봇 제어장치에서 수집될 수 있는 데이터를 이용하여, 이러한 인공지능 모델을 강화화학습시킬 수 있다.
한편, 전술한 바와 같은 기능을 수행하는 AI 프로세서(21)는 범용 프로세서(예를 들어, CPU)일 수 있으나, 인공지능 학습을 위한 AI 전용 프로세서(예를 들어, GPU, graphics processing unit)일 수 있다.
메모리(25)는 AI 장치(20)의 동작에 필요한 각종 프로그램 및 데이터를 저장할 수 있다. 메모리(25)는 비 휘발성 메모리, 휘발성 메모리, 플래시 메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SDD) 등으로 구현할 수 있다. 메모리(25)는 AI 프로세서(21)에 의해 액세스되며, AI 프로세서(21)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 또한, 메모리(25)는 본 명세서의 일 실시예에 따른 데이터 분류/인식을 위한 학습 알고리즘을 통해 생성된 신경망 모델(예를 들어, 딥 러닝 모델)을 저장할 수 있다.
한편, AI 프로세서(21)는 데이터 분류/인식을 위한 신경망을 학습하는 데이터 학습부를 포함할 수 있다. 예를 들어, 데이터 학습부는 학습에 이용될 학습 데이터를 획득하고, 획득된 학습데이터를 딥러닝 모델에 적용함으로써, 딥러닝 모델을 학습할 수 있다.
통신부(27)는 AI 프로세서(21)에 의한 AI 프로세싱 결과를 외부 전자 기기로 전송할 수 있다.
여기서 외부 전자 기기는 다른 단말, 서버를 포함할 수 있다.
한편, 도 2에 도시된 AI 장치(20)는 AI 프로세서(21)와 메모리(25), 통신부(27) 등으로 기능적으로 구분하여 설명하였지만, 전술한 구성요소들이 하나의 모듈로 통합되어 AI 모듈 또는 인공지능(AI) 모델로 호칭될 수도 있다.
도 3은 본 명세서에 적용될 수 있는 로봇 시스템의 예시이다.
도 3을 참조하면, 로봇 시스템(300)은 전술한 로봇 제어장치에 의해 제어될 수 있다.
보다 자세하게, 로봇 시스템(300)은 사용자에게 서비스를 제공하기 위한 움직임을 수행할 수 있는 로봇(310) 및 최종적으로 서비스가 제공될 수 있는 배출부(320)를 포함한다.
배출부(320)는 하나 이상의 배출구를 포함할 수 있으며, 로봇 제어장치는 이러한 배출구들에 번호를 지정하여(예를 들어, x(x=1,2,3,...)) 구분할 수 있다.
또한, 로봇 제어장치는 로봇(310)이 사용자에게 서비스를 제공하기 위해 수행하는 일련의 동작들을 y(y=0,1,2,3,...)로 정의하고 마지막 동작에 대응되는 y 값을 특정값(예를 들어, 상수 e)로 설정하여, 로봇(310)이 일련의 동작들을 수행하고, 마지막 특정 동작 이후에 서비스를 제공하도록 제어할 수 있다.
따라서, 로봇 제어장치는 전술한 두 개의 변수(x,y)의 조합 으로 로봇(310)의 동작을 정의할 수 있다. 예를 들어, 로봇 제어장치는 총 10개 동작으로 서비스를 제공할 수 있는 로봇(310)의 x번 배출구의 서비스 제공을 위한 동작의 시작을 로 설정하고, 로봇이 , , ... 의 동작을 수행하고, 동작으로 서비스를 제공하도록 설정할 수 있다(총 10개 동작).
또한, 로봇 제어장치는 로봇(310)을 두 개 이상의 서비스 준비를 병렬로 처리하도록 설정할 수 있다. 예를 들어, 로봇(310)이 끓는 물을 이용하는 요리를 준비중이라면, 다음 동작을 수행하기까지, 물이 끓는 시간, 요리가 익는 시간을 로봇(310)은 대기하여야 한다. 따라서, 로봇 제어장치는 이러한 시간을 활용하여 로봇(310)이 두 개 이상의 서비스를 병렬로 준비할 수 있도록 명령할 수 있다.
도 4는 본 명세서에 적용될 수 있는 동작의 예시이다.
도 4를 참조하면, 로봇 제어장치는 로봇(310)이 각 5단계의 동작으로 이루어진 조리 서비스를 병렬로 수행할 수 있도록 설정할 수 있다. 예를 들어, 배출구 1번과 2번에 두 개의 서비스, 즉 조리하는 과정은 도 4와 같이 설정될 수 있다.
도 5는 본 명세서에 적용될 수 있는 상태 정보의 예시이다.
도 5를 참조하면, 로봇 제어장치는 로봇(310)이 동작하는 현재 상태를 (, z)로 정의할 수 있다. 예를 들어, z는 로봇(310)이 현재 동작 직전에 서비스를 제공한 다른 배출구의 번호를 의미할 수 있다. 만일, 로봇(310)이 서비스를 제공중인 다른 배출구가 없는 경우, z는 0으로 설정될 수 있다.
또한, z는 x가 갖을 수 있는 값으로 설정되 거나, 로봇의 서비스가 동시에 이루어질 수 있다면, 두 개 이상의 배출구를 나타내기 위해, 두개 이상의 x가 갖을 수 있는 값으로 설정될 수 있다.
본 명세서에서 로봇 제어장치는 도 4의 형태를 갖는 데이터 를 도 5의 형태를 갖는 (, z)로 가공하여, 로봇(310)의 현재 상태를 저장할 수 있다. 예를 들어, 현재 상태를 S라고 정의하면, "S = (, z), z = 0, n, [n, n], ..."로 정의될 수 있다.
또한, 로봇 제어장치는 특정 시점 t 에서의 S를 로 정의할 수 있고, 의 다음 상태를 로 정의할 수 있다.
본 명세서에서, 관측 학습이란, 본 명세서에서 제안하는 학습방법으로, 로봇 시스템에서 로봇의 움직임을 관찰하면서 동작의 흐름을 학습하는 방법이다. 예를 들어, 특정 업무를 수행하고 있는 로봇 시스템의 로봇은 상황에 알맞은 정해진 일련의 움직임을 수행한다. 로봇 시스템은 현재 처한 환경(environment)안에서 어떤 행동(action)을 수행할지 정해진 프로그램에 의해 판단하여 움직인다. 어떤 행동을 수행할지 판단하는 기준은 로봇 시스템의 모델(Model)에 기반하여 사전에 정의된 정책에 의해 결정될 수 있다. 또는 학습 방법을 이용하여 로봇의 움직임을 결정할 수 있다. 학습 알고리즘 들은 일반적으로 로봇의 행동(action)에 대하여 옳다면 보상(reward)를, 잘못되었다면 벌점(penalty)이 부여하는 방식으로 점차 옳은 결정을 하도록 강화(reinforcement)된다. 관측학습은 로봇 시스템 외부에서 로봇의 움직임을 관찰함으로써 역으로 로봇이 처한 환경에서 어떤 행동을 하는지 데이터를 수집하여 학습함으로써 궁극적으로 먼 미래를 예측할 수 있으며, 학습하는 컴퓨터를 에이전트 라고 한다.
에이전트는 로봇(310)의 서비스에 소요되는 시간을 추정하기 위한 인공지능 모델을 포함할 수 있다. 환경은 로봇(310)이 서비스를 제공하기 위한 동작에서 발생할 수 있는 상태 S를 포함할 수 있고, 액션은 인공지능 모델이 추정한 소요 시간일 수 있다.
로봇 제어장치는 에이전트의 관측 학습을 위해, 로봇(310)이 설치되어 사용자에게 서비스를 제공하는 동작들과 관련된 를수집하고, 이를 이용하여, 모든 에 대해여, t()를 생성할 수 있다.
t()는 가 수집된 시점부터, 해당 배출구의 서비스 종료 동작에 해당하는 (y=e)까지 걸리는 시간을 의미할 수 있다.
예를 들어, 4번 배출구와 관련된 2번 배출구 동작을 수행중인 로봇(310)이 오후 3시20분15초에 동작을 하고, 로봇 제어장치가 를 수집하면, 로봇 제어장치는 에 해당하는 시점을 3시 20분 15초로 기록할 수 있다. 이후, 로봇 제어장치가 를 3시 21분 35초에 수집하는 경우, 로봇 제어장치는 t(), 즉, =(,4)인 경우, 80으로 설정할 수 있다.
또한, 배출구마다 로봇(310)의 동작이 다를 수 있다. 예를 들어, 라면을 끓이는 서비스를 제공하기 위한 로봇(310)에 있어서, 배출구 1,2는 면을 2분간 삶고, 3,4에서는 면을 3분간 삶을 수 있다.
또한, 로봇(310)이 설치된 이후 같은 동작에 대해서 로봇 사용자의 요청으로 제3의 엔지니어가 로봇의 속도를 빠르게 변경할 수 있다. 이러한 경우 모델 베이스 기반 알고리즘은 해당 변경내용을 반영해 주어야 하는데, 관측학습 기반 알고리즘은 관측된 데이터에 기반하여 변경된 내용을 학습하여 강화할 수 있다.
또한, 배출구 별로 로봇(310)의 이동거리가 다를 수 있고, 동작이 다르기 때문에 똑같은 요리 두 개를 병렬로 처리하는 과정에서도 처리하는 순서에 따라 소요되는 시간이 다를 수 있다. 예를 들어, 1,2번 배출구에 서비스 요청이 동시에 들어왔을 때, 로봇(310)이 1번 배출구의 서비스를 먼저 시작하는 경우와 2번 배출구의 서비스를 먼저 시작하는 경우가 소요되는 시간이 다를 수 있다.
또한, 동시에 두 개의 주문이 들어왔을때와 하나의 주문을 처리하는 도중 다른 주문이 추가로 접수되는 경우도 소요되는 시간이 다를 수 있다.
이러한 로봇 시스템(300)의 최적화를 위한 모델링이 안되는 상황에서, 로봇 제어장치는 강화학습 기반으로 사용자가 서비스를 받기까지 걸리는 대기시간을 추정할 수 있다.
같은 현재상태 에 대하여 향후 로봇의 동작에 따라 다양한 t()값이 생성될 수 있다. 예를 들어, 배출구 번호 i,j,k에 대하여, i시작->i끝, i시작->j시작->i끝, i시작->j시작->k시작->i끝. 세 경우에 대하여 시간 t(), 여기서, 는 3가지 값을 갖을 수 있다.
로봇 제어장치는 특정 상태()에 대하여, 로봇(310)이 서비스를 반복적으로 제공하는 과정에서, 사용자의 패턴과 로봇(310)의 패턴에 따라서 수집된 t()값들을 가장 많이 분포하는 순으로 , , , ... 으로 정의하고, 해당 데이터의 수를 , , , ... 이라고 정의할 수 있다(예를 들어, > > ... ). 이 경우, t()는 다음의 집합 t() = {개의 ,개의 ,개의 ... }을 갖을 수 있다.
이렇게 획득된 집합 t()는 인공지능 모델의 관측학습에 이용될 수 있다.
도 6은 본 명세서에 적용될 수 있는 일 실시예이다.
도 6을 참조하면, 로봇 제어장치는 로봇과 데이터를 송수신할 수 있는 통신부, 인공지능 모델이 포함된 메모리, 통신부 및 상기 메모리를 기능적으로 제어하기 위한 프로세서를 포함할 수 있다.
로봇 제어장치는 서비스를 제공하는 로봇의 동작과 관련된 상태 정보를 수집한다(S7010). 이러한 서비스는 로봇이 수행하는 일련의 동작에 근거하여, 제공될 수 있다. 또한, 상태 정보는 S일 수 있다. 예를 들어, S는 당해 서비스가 제공되는 배출구 식별자(예를 들어, x), 특정 배출구 식별자에서 서비스가 제공되기 위한 동작의 순서 정보(예를 들어, y) 및 현재 동작 직전에 서비스를 제공된 다른 배출구의 식별자에 근거하여, 수집될 수 있다.
로봇 제어장치는 특정 시점의 상태 정보에 관련된 서비스의 실제 종료 시간을 수집한다(S7020). 예를 들어, 특정 시점의 상태 정보에 대응되는 서비스의 종료 시간은 t()일 수 있다. 여기서, 는 특정 시점(t)의 상태정보일 수 있다. 이를 위해, 로봇 제어장치는 서비스 종료 시간은 특정 시점의 상태 정보가 수집된 시각 및 특정 시점의 상태 정보와 관련된 서비스가 종료한 시각을 수집할 수 있다.
로봇 제어장치는 수집된 실제 종료 시간이 빈도수에 따라 정렬된 집합을 생성한다(S7030). 예를 들어, 정렬된 집합은 t() = {개의 ,개의 ,개의 ... }일 수 있다.
로봇 제어장치는 정렬된 집합에 근거하여, 인공지능 모델의 강화학습을 수행한다(S7040). 강화학습은 빈도수에 근거하여, 수행될 수 있다. 예를 들어, 로봇 제어장치는 인공지능 모델을 통해, 특정 시점의 상태에서 서비스가 종료할 때까지의 소요 시간을 추정할 수 있고, 추정된 소요 시간이 에 가까우면, 인공지능 모델에 보상을 할 수 있다.
로봇 제어장치는 관측학습된 인공지능 모델을 통해, 특정 서비스의 소요시간을 예측한다(S7050).
도 7 및 8은 본 명세서가 적용될 수 있는 최종 소요시간 제공의 예시이다.
도 7 및 도 8을 참조하면, 로봇 제어장치는 최종 소요시간을 사용자에게 제공하기 위해, 최다 학습값, 최대값, 평균값 세가지 중에서 상황에 맞는 값을 사용할 수 있다. 예를 들어, 최종 소요시간은 디스플레이부를 통해, 사용자에게 표시될 수 있다.
첫 번째로, 최다 학습값은 인공지능 모델을 통해, 예측된 값으로 확률적으로 정확도가 가장 높은 값일 수 있다. 이는 높은 정확도를 갖을 수 있으나 만일, 중간에 다른 고객의 주문이 접수될 경우 시간이 늘어날 수 있다는 단점이 있다.
두 번째로, 최대값으로서, 로봇 제어장치는 max() 값으로 정렬된 집합에 포함된 시간 중에서 가장 높은 값을 제공할 수 있다. 이는 시간이 지나면서 다른 고객의 주문이 접수되지 않는다면, 단독 주문일 확률이 높아지면서, 남은 소요시간은 비연속적으로 감소할 수 있다.
세번째로는, 평균값으로 로봇 제어장치는 다음과 같이 평균값을 산출할 수 있다.
먼저, 로봇 제어장치는 t() 에 포함된 데이터의 노이즈가 제거된 집합 ( )를 생성할 수 있다.
예를 들어, ( ) = {개의 , 개의 , 개의 , ... }, , , MAX는 총 데이터 수일 수 있다.
로봇 제어장치는 ( )의 평균을 이용하여, 평균값 를 제공할 수 있다.
예를 들어, = , 일 수 있다.
이를 통해, 로봇 제어장치는 사용자에게 로봇 시스템(300)의 상황을 공유함고, 사용자는 서비스를 제공받는 상황에서 편의성을 느낄 수 있다.
또한, 관측학습을 이용함으로써 범용적으로 다양한 로봇에 적용 가능하고, 다양한 로봇시스템에 적용 가능하다.
전술한 본 명세서는, 프로그램이 기록된 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 매체는, 컴퓨터 시스템에 의하여 읽혀 질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 매체의 예로는, HDD(Hard Disk Drive), SSD(Solid State Disk), SDD(Silicon Disk Drive), ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 따라서, 상기의 상세한 설명은 모든 면에서 제한적으로 해석되어서는 아니되고 예시적인 것으로 고려되어야 한다. 본 명세서의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 명세서의 등가적 범위 내에서의 모든 변경은 본 명세서의 범위에 포함된다.
또한, 이상에서 서비스 및 실시 예들을 중심으로 설명하였으나 이는 단지 예시일 뿐 본 명세서를 한정하는 것이 아니며, 본 명세서가 속하는 분야의 통상의 지식을 가진 자라면 본 서비스 및 실시 예의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 실시 예들에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부한 청구 범위에서 규정하는 본 명세서의 범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (7)

  1. 로봇 제어장치가 관측학습을 이용하여 로봇이 제공하는 서비스의 종료시간 추정방법에 있어서,상기 서비스를 제공하는 로봇의 동작과 관련된 상태정보를 수집하는 단계;로서,
    상기 서비스는 상기 로봇이 수행하는 일련의 동작에 근거하여, 제공됨;
    특정 시점의 상기 상태정보와 관련된 서비스의 실제 종료시간을 수집하는 단계;
    수집된 상기 실제 종료시간을 빈도수에 따라 정렬한 집합을 생성하는 단계;
    상기 집합에 근거하여, 인공지능 모델의 관측학습을 수행하는 단계; 및
    상기 인공지능 모델을 이용하여, 특정 서비스의 종료시간을 예측하는 단계;
    를 포함하는 종료시간 추정방법.
  2. 제1항에 있어서,
    상기 상태정보는
    상기 서비스가 제공되는 배출구의 식별자, 상기 동작의 순서정보, 및 상기 동작의 직전에 서비스가 제공된 다른 배출구의 식별자에 근거하여, 수집되는, 종료시간 추정방법.
  3. 제2항에 있어서,
    상기 실제 종료시간을 수집하는 단계는
    상기 특정 시점의 상태정보가 수집된 시각을 수집하는 단계; 및
    상기 특정 시점의 상태정보와 관련된 서비스가 종료한 시각을 수집하는 단계;
    를 포함하는, 종료시간 추정방법
    .
  4. 제3항에 있어서,
    상기 관측학습은
    상기 빈도수에 근거하여, 수행되는, 종료시간 추정방법.
  5. 제4항에 있어서,
    상기 특정 서비스의 최종 소요시간을 사용자에게 제공하는 단계;
    를 더 포함하며,
    상기 최종 소요시간은 1) 상기 집합의 최대값 또는 2) 상기 집합의 평균값인, 종료시간 추정방법.
  6. 제5항에 있어서,
    상기 최종 소요시간이 상기 집합의 평균값인 경우, 상기 집합에서 노이즈를 제거하는 단계;
    를 더 포함하는, 종료시간 추정방법.
  7. 강화학습을 이용하여 로봇이 제공하는 서비스의 종료시간 추정하기 위한 로봇 제어장치에 있어서,
    상기 로봇과 데이터를 송수신할 수 있는 통신부;
    인공지능 모델이 포함된 메모리;
    상기 통신부 및 상기 메모리를 기능적으로 제어하기 위한 프로세서;
    를 포함하고,
    상기 프로세서는
    상기 서비스를 제공하는 로봇의 동작과 관련된 상태정보를 수집하고,
    상기 서비스는 상기 로봇이 수행하는 일련의 동작에 근거하여, 제공되며,
    특정 시점의 상기 상태정보와 관련된 서비스의 실제 종료시간을 수집하고, 수집된 상기 실제 종료 시간을 빈도수에 따라 정렬한 집합을 생성하며, 상기 집합에 근거하여, 상기 인공지능 모델의 강화학습을 수행하고, 상기 인공지능 모델을 이용하여, 특정 서비스의 종료시간을 예측하는, 로봇 제어장치.
KR1020220094777A 2022-07-29 2022-07-29 관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법 KR20240016704A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220094777A KR20240016704A (ko) 2022-07-29 2022-07-29 관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220094777A KR20240016704A (ko) 2022-07-29 2022-07-29 관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법

Publications (1)

Publication Number Publication Date
KR20240016704A true KR20240016704A (ko) 2024-02-06

Family

ID=89858807

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220094777A KR20240016704A (ko) 2022-07-29 2022-07-29 관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법

Country Status (1)

Country Link
KR (1) KR20240016704A (ko)

Similar Documents

Publication Publication Date Title
KR102012676B1 (ko) 콘텐츠 추천 방법, 장치 및 시스템
WO2019114696A1 (zh) 一种增强现实的处理方法、对象识别的方法及相关设备
US10593322B2 (en) Electronic device and method for controlling the same
CN111260665B (zh) 图像分割模型训练方法和装置
CN106919918B (zh) 一种人脸跟踪方法和装置
JP2019535055A (ja) ジェスチャに基づく操作の実施
WO2020140772A1 (zh) 一种人脸检测方法、装置、设备以及存储介质
WO2018113512A1 (zh) 图像处理方法以及相关装置
KR20210067604A (ko) 인공 지능을 이용한 주방 환경의 통합 관리 방법 및 그 시스템
US11876925B2 (en) Electronic device and method for controlling the electronic device to provide output information of event based on context
US20200070839A1 (en) Electronic device and method using machine learning for identifying characteristics of users located within a specific space
CN108491394A (zh) 一种语义分析方法、装置、计算机设备及存储介质
CN110785775A (zh) 用于光学跟踪的系统和方法
US20220287500A1 (en) Cooking appliance control method using artificial intelligence and system thereof
WO2017105866A1 (en) Control system using input-aware stacker
KR20240016704A (ko) 관측학습을 이용한 로봇 시스템의 남은 잔여모션 소요 시간 추정 방법
JP7005463B2 (ja) 学習装置、学習方法及びプログラム
KR102384821B1 (ko) 자동화 머신 러닝을 위한 작업 스케줄링 방법
KR102251076B1 (ko) 실내 이미지를 사용하여 설계도면을 추정하는 방법
US11903476B2 (en) Information processing apparatus, method of controlling information processing apparatus, and method of generating learning model
WO2020207294A1 (zh) 服务处理方法、装置、存储介质及电子设备
US12019438B2 (en) Teleoperation with a wearable sensor system
KR20220042598A (ko) 미래 상호작용 예측 기반의 개인화 추천 방법 및 시스템
CN109358755A (zh) 用于移动终端的手势检测方法、装置和移动终端
KR20210048270A (ko) 복수 객체에 대한 오디오 포커싱 방법 및 장치

Legal Events

Date Code Title Description
E902 Notification of reason for refusal