KR20210089646A - 데이터 프로세싱 디바이스 및 데이터 프로세싱 방법 - Google Patents

데이터 프로세싱 디바이스 및 데이터 프로세싱 방법 Download PDF

Info

Publication number
KR20210089646A
KR20210089646A KR1020217011654A KR20217011654A KR20210089646A KR 20210089646 A KR20210089646 A KR 20210089646A KR 1020217011654 A KR1020217011654 A KR 1020217011654A KR 20217011654 A KR20217011654 A KR 20217011654A KR 20210089646 A KR20210089646 A KR 20210089646A
Authority
KR
South Korea
Prior art keywords
cooking
state
data
robot
command
Prior art date
Application number
KR1020217011654A
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 KR20210089646A publication Critical patent/KR20210089646A/ko

Links

Images

Classifications

    • 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
    • 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
    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23LFOODS, FOODSTUFFS, OR NON-ALCOHOLIC BEVERAGES, NOT COVERED BY SUBCLASSES A21D OR A23B-A23J; THEIR PREPARATION OR TREATMENT, e.g. COOKING, MODIFICATION OF NUTRITIVE QUALITIES, PHYSICAL TREATMENT; PRESERVATION OF FOODS OR FOODSTUFFS, IN GENERAL
    • A23L5/00Preparation or treatment of foods or foodstuffs, in general; Food or foodstuffs obtained thereby; Materials therefor
    • A23L5/10General methods of cooking foods, e.g. by roasting or frying
    • AHUMAN NECESSITIES
    • A23FOODS OR FOODSTUFFS; TREATMENT THEREOF, NOT COVERED BY OTHER CLASSES
    • A23PSHAPING OR WORKING OF FOODSTUFFS, NOT FULLY COVERED BY A SINGLE OTHER SUBCLASS
    • A23P30/00Shaping or working of foodstuffs characterised by the process or apparatus
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J36/00Parts, details or accessories of cooking-vessels
    • A47J36/32Time-controlled igniting mechanisms or alarm devices
    • A47J36/321Time-controlled igniting mechanisms or alarm devices the electronic control being performed over a network, e.g. by means of a handheld device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0045Manipulators used in the food industry
    • 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/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/00718
    • G06K9/6267
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • G06K2009/00738
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Resources & Organizations (AREA)
  • Multimedia (AREA)
  • Food Science & Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Chemical & Material Sciences (AREA)
  • Polymers & Plastics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Databases & Information Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Nutrition Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Primary Health Care (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)

Abstract

데이터 프로세싱 디바이스는 적어도 하나의 팔을 구비한 로봇에 의해 프로세스 동안 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하도록 구성된 커맨드 생성 유닛을 포함하고, 여기서 지시 커맨드는 프로세스 동안 또는 프로세스 이후에 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및 프로세스에서 이용될 객체 또는 프로세스 동안 실행될 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하는 지시 데이터에 기초하여 생성된다.

Description

데이터 프로세싱 디바이스 및 데이터 프로세싱 방법
본 기술은 데이터 프로세싱 디바이스 및 데이터 프로세싱 방법에 관한 것으로, 더 상세하게는 이미지 데이터 및 텍스트 데이터를 포함하는 지시 데이터에 기초하여 로봇의 제어를 가능하게 하기 위한 데이터 프로세싱 디바이스 및 데이터 프로세싱 방법에 관한 것이다.
<관련 출원의 상호 참조>
본 출원은 참조에 의해 그 전체 내용이 본 명세서에 포함되는, 2018년 11월 5일에 출원된 일본 우선권 특허 출원 JP 2018-208192의 이익을 주장한다.
요리의 레시피를 포함하는 지시 데이터를 대중에게 보여주는 서비스가 있다. 사용자는 카테고리에 의해 레시피를 검색하거나 재료의 이름을 키워드로서 입력하는 것에 의해 좋아하는 레시피를 검색할 수 있다. 레시피에는, 완성된 요리의 사진, 재료, 및 조리 프로세스와 같은 다양한 유형의 정보가 설명되어 있다.
물론, 그러한 서비스에 의해 제공되는 지시는 사람들이 보도록 준비되어 있다. 대략적인 절차에 대한 설명만이 기술되는 경우에도, 사람들은 과거의 경험 및 다른 요리들에 대한 지식 등으로부터 세부 절차를 추정할 수 있고 조리할 수 있다.
그런데, 인공 지능(AI)과 감지 기술의 발달로, 조리 프로세스를 자동으로 수행하는 조리 로봇이 주목을 받고 있다. 일부 조리 로봇은 인간과 동일한 방식으로 두 팔을 사용하여 조리 프로세스를 수행한다.
인용 목록
특허 문헌
PTL 1: JP 2017-506169A
사람들이 보도록 준비된 지시에 기초하여 로봇이 구동될 수 있다면 편리할 것이다. 레시피 데이터와 같은 지시 데이터에 기술된 대로 팔 등을 구동하기 위한 프로그램을 사람이 준비할 필요가 없다.
본 기술은 전술한 바를 고려하여 이루어졌으며, 이미지 데이터 및 텍스트 데이터를 포함하는 지시 데이터에 기초하여 로봇의 제어를 가능하게 한다.
본 기술의 일 양태에 따른 데이터 프로세싱 디바이스는 적어도 하나의 팔을 구비한 로봇에 의해 프로세스 동안 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하도록 구성된 커맨드 생성 유닛을 포함하고, 여기서 지시 커맨드는 프로세스 동안 또는 프로세스 이후에 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및 프로세스에서 이용될 객체 또는 프로세스 동안 실행될 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하는 지시 데이터에 기초하여 생성된다.
본 기술의 다른 양태에 따르면, 데이터 프로세싱 방법은, 데이터 프로세싱 디바이스에 의해, 적어도 하나의 팔을 구비한 로봇에 의해 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하는 단계를 포함하며, 여기서 지시 커맨드는 프로세스 동안 또는 프로세스 이후에 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및 프로세스에서 이용될 객체 또는 프로세스 동안 실행되는 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하는 지시 데이터에 기초하여 생성된다.
도 1은 본 기술의 일 실시예에 따른 제어 시스템의 구성 예를 예시하는 다이어그램이다.
도 2는 데이터 프로세싱 디바이스의 배치 예를 예시하는 다이어그램이다.
도 3은 조리 로봇의 외관을 예시하는 사시도이다.
도 4는 조리 팔의 확대된 상황을 예시하는 도면이다.
도 5는 조리 팔의 외관을 예시하는 도면이다.
도 6은 조리 팔의 각자의 부분의 가동 범위의 예를 예시하는 도면이다.
도 7은 조리 팔과 제어기 사이의 연결의 예를 예시하는 도면이다.
도 8은 레시피 데이터의 예를 예시하는 다이어그램이다.
도 9는 레시피 데이터의 예를 예시하는 다이어그램이다.
도 10은 데이터 프로세싱 디바이스에 의해 수행되는 전체 프로세싱의 흐름을 예시하는 다이어그램이다.
도 11은 상태의 기술(description)의 예를 예시하는 다이어그램이다.
도 12는 목표 상태의 기술의 특정 예를 예시하는 다이어그램이다.
도 13은 상태 시퀀스의 계획의 예를 예시하는 다이어그램이다.
도 14는 전체 조리 시퀀스의 예를 예시하는 다이어그램이다.
도 15는 상태 천이의 예를 예시하는 다이어그램이다.
도 16은 데이터베이스의 예를 예시하는 다이어그램이다.
도 17은 재료 DB에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 18은 조리 방법 DB의 구성 예를 예시하는 다이어그램이다.
도 19는 상태 천이 DB에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 20은 액션 DB에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 21은 서빙 방법 DB에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 22는 액션의 표현 예를 예시하는 다이어그램이다.
도 23은 상태 천이를 예시하는 다이어그램이다.
도 24는 액션의 상황을 예시하는 다이어그램이다.
도 25는 데이터 프로세싱 디바이스의 하드웨어의 구성 예를 예시하는 블록 다이어그램이다.
도 26은 데이터 프로세싱 디바이스의 기능 구성 예를 예시하는 블록 다이어그램이다.
도 27은 조리 로봇의 구성 예를 예시하는 블록 다이어그램이다.
도 28은 데이터 프로세싱 디바이스를 제어하는 프로세싱을 설명하기 위한 플로차트이다.
도 29는 데이터 프로세싱 디바이스를 제어하는 프로세싱을 설명하기 위한, 도 28에 계속되는 플로차트이다.
도 30은 액션의 선택의 예를 예시하는 다이어그램이다.
도 31은 액션 후보의 선택의 예를 예시하는 다이어그램이다.
도 32는 액션 후보의 평가의 예를 예시하는 다이어그램이다.
도 33은 지시 커맨드의 생성의 예를 나타내는 다이어그램이다.
도 34는 조리 로봇에 의한 조리 프로세싱을 설명하기 위한 플로차트이다.
도 35는 레시피 데이터의 프로세싱의 예를 예시하는 다이어그램이다.
이하에서, 본 기술을 수행하기 위한 모드가 기술될 것이다. 설명은 다음과 같은 순서로 제공될 것이다.
1. 조리 로봇의 제어 시스템
2. 상태 시퀀스의 계획 및 액션
3. 디바이스의 구성 및 동작
4. 변형예
<<조리 로봇의 제어 시스템>>
<시스템 구성>
도 1은 본 기술의 일 실시예에 따른 제어 시스템의 구성 예를 예시하는 다이어그램이다.
도 1에 예시된 바와 같이, 제어 시스템은 데이터 프로세싱 디바이스(1) 및 조리 로봇(2)에 의해 구성된다. 조리 로봇(2)은 조리 팔과 같은 구동 시스템 디바이스 및 다양한 센서들을 포함하고 조리 기능을 갖는 로봇이다. 조리 로봇(2)은, 예를 들어, 가정에 설치된다.
데이터 프로세싱 디바이스(1)는 조리 로봇(2)을 제어하는 디바이스이다. 데이터 프로세싱 디바이스(1)는 컴퓨터 등에 의해 구성된다.
도 1의 좌측단에 예시된 바와 같이, 데이터 프로세싱 디바이스(1)에 의한 조리 로봇(2)의 제어는 각각의 요리에 대해 준비된 레시피 데이터에 기초하여 수행된다. 레시피 데이터에는, 완성된 요리의 이미지를 캡처하는 것에 의해 획득되는 이미지인 요리 이미지, 요리의 이름, 재료의 이름, 조리 프로세스를 설명하는 문장 등이 기술되어 있다. 레시피 데이터는 또한 레시피 데이터에 의해 디스플레이되는 레시피를 보고 조리하기 위해 사람에 의해 사용된다.
요리가 조리 후에 완성된 성과물을 의미한다는 점에 유의한다. 조리는 요리를 만드는 프로세스 또는 요리를 만드는 행위(작업)를 의미한다.
데이터 프로세싱 디바이스(1)는 요리를 만들기 위해 사람에 의한 조리에 대해서도 사용되는 레시피 데이터에 기초하여 조리 로봇(2)을 제어한다.
화살표 A1에 의해 예시된 바와 같이, 예를 들어, 요리 X의 레시피 데이터가 입력된 경우에, 데이터 프로세싱 디바이스(1)는 레시피 데이터의 기술에 기초하여 요리 X가 완성될 때까지 계획을 수행한다.
계획은, 예를 들어, 시작 상태로부터 목표 상태까지의 상태 천이를 설정하는 것에 의해 수행된다. 조리되지 않은 재료의 상태는 시작 상태로서 설정되고, 완성된 요리 X의 상태는 목표 상태로서 설정된다. 조리 로봇(2)의 동작 등으로 인해 재료의 상태가 변화할 때 상태의 천이가 발생한다.
데이터 프로세싱 디바이스(1)는 조리 로봇(2)으로 하여금 현재 상태로부터 다음 상태로의 천이를 야기하기 위한 동작을 취하게 하는 지시 커맨드를 생성하고, 화살표 A2에 의해 예시된 바와 같이 지시 커맨드를 조리 로봇(2)에 출력한다.
조리 로봇(2)은 데이터 프로세싱 디바이스(1)로부터 공급된 지시 커맨드에 따라 조리 팔과 같은 각각의 부분을 구동하여 조리에 관련된 동작을 수행한다. 지시 커맨드는 조리 팔에 구비된 모터의 토크, 구동 방향, 구동량을 제어하기 위한 정보 등을 포함한다.
지시 커맨드는 상태가 목표 상태에 도달할 때까지 데이터 프로세싱 디바이스(1)로부터 조리 로봇(2)으로 순차적으로 출력된다. 조리 로봇(2)이 지시 커맨드에 따라 동작을 취함에 따라 요리 X가 최종적으로 완성된다.
위에서 설명된 바와 같이, 데이터 프로세싱 디바이스(1)는 조리 로봇(2)에 대해서는 불완전한 정보라고 말해질 수 있는 레시피 데이터를 지시 커맨드로 변환하고 조리 로봇(2)의 동작을 제어하는 디바이스로서 기능한다. 레시피 데이터가 사람이 조리 프로세스 등을 확인하기 위해 준비된 정보이기 때문에, 레시피 데이터는 조리 로봇(2)을 제어하기 위한 정보로서는 불완전한 정보라고 말해질 수 있다.
사람이 조리하기 위한 레시피 데이터에 기초하여 조리 로봇(2)이 제어될 수 있기 때문에, 제어 시스템의 관리자는, 예를 들어, 각각의 요리에 대해 조리 로봇(2)을 제어하기 위한 프로그램을 준비할 필요가 없다.
사람이 조리하기 위한 레시피 데이터는 레시피를 대중에게 보여주기 위한 서비스로서 준비되는 것에 의해 풍부하게 존재한다. 사용자는 조리 로봇(2)으로 하여금 많은 요리들 중에서 선택된 요리를 만들게 할 수 있다. 예를 들어, 레시피 데이터는 사용자에 의한 선택에 따라 레시피를 대중에게 보여주기 위한 서비스를 제공하는 서버로부터 획득되고, 데이터 프로세싱 디바이스(1)에 입력된다.
도 2는 데이터 프로세싱 디바이스(1)의 배치 예를 예시하는 다이어그램이다.
도 2의 A에 예시된 바와 같이, 데이터 프로세싱 디바이스(1)는, 예를 들어, 조리 로봇(2) 외부의 디바이스로서 구비되어 있다. 도 2의 A에서의 예에서, 데이터 프로세싱 디바이스(1)와 조리 로봇(2)은 인터넷과 같은 네트워크(3)를 통해 연결된다.
데이터 프로세싱 디바이스(1)로부터 송신된 지시 커맨드는 네트워크(3)를 통해 조리 로봇(2)에 의해 수신된다. 조리 로봇(2)의 카메라에 의해 캡처된 이미지, 조리 로봇(2)에 구비된 센서에 의해 측정된 센서 데이터와 같은 다양한 데이터는 네트워크(3)를 통해 조리 로봇(2)으로부터 데이터 프로세싱 디바이스(1)로 송신된다.
하나의 조리 로봇(2)이 하나의 데이터 프로세싱 디바이스(1)에 연결되는 대신에, 복수의 조리 로봇(2)이 하나의 데이터 프로세싱 디바이스(1)에 연결될 수 있다.
도 2의 B에 예시된 바와 같이, 데이터 프로세싱 디바이스(1)는 조리 로봇(2)의 하우징 내부에 구비되어 있을 수 있다. 이 경우에, 조리 로봇(2)의 각각의 부분의 동작은 데이터 프로세싱 디바이스(1)에 의해 생성된 지시 커맨드에 따라 제어된다.
이하에서, 데이터 프로세싱 디바이스(1)가 조리 로봇(2) 외부의 디바이스로서 구비되어 있다는 가정 하에 설명이 주어질 것이다.
<조리 로봇의 구성>
도 3은 조리 로봇(2)의 외관을 예시하는 사시도이다.
도 3에 예시된 바와 같이, 조리 로봇(2)은 길쭉한 직육면체 하우징(11)을 갖는 주방형 로봇이다. 조리 로봇(2)의 본체인 하우징(11) 내부에는 다양한 구성이 구비되어 있다.
하우징(11)의 후면 측에는 하우징(11)의 상부 표면으로부터 세워져 있도록 조리 보조 시스템(12)이 구비되어 있다. 박판형 부재로 구분되는 것에 의해 조리 보조 시스템(12)에 형성된 공간은 냉장고, 오븐 레인지, 수납장과 같은, 조리 팔(21-1 내지 21-4)에 의한 조리를 보조하기 위한 기능을 갖는다.
상판(11A)에는 종방향으로 레일이 구비되고, 레일에는 조리 팔(21-1 내지 21-4)이 구비되어 있다. 조리 팔(21-1 내지 21-4)은 이동 메커니즘인 레일을 따라 위치가 변경될 수 있다.
조리 팔(21-1 내지 21-4)은 원통형 부재를 관절부와 연결시키는 것에 의해 구성된 로봇 팔이다. 조리에 관련된 다양한 동작이 조리 팔(21-1 내지 21-4)에 의해 수행된다.
상판(11A) 위의 공간은 조리 팔(21-1 내지 21-4)이 조리하는 조리 공간이다. 조리 공간은 조리 팔(21-1 내지 21-4)이 조리하는 공간과 완전히 일치하는 공간뿐만 아니라 그러한 공간에 포함되는 부분적인 공간도 포함한다.
4개의 조리 팔이 도 3에 예시되어 있지만, 조리 팔의 개수가 4개로 제한되지 않는다. 이하에서, 조리 팔(21-1 내지 21-4)을 구분할 필요가 없는 경우에, 조리 팔(21-1 내지 21-4)은 집합적으로 조리 팔(21)이라고 지칭될 것이다.
도 4는 조리 팔(21)의 확대된 상황을 예시하는 도면이다.
도 4에 예시된 바와 같이, 다양한 조리 기능을 갖는 부속물이 조리 팔(21)의 원위단에 부착된다. 조리 팔(21)을 위한 부속물로서, 재료, 식기 등을 파지하기 위한 머니퓰레이터 기능(손 기능)을 갖는 부속물, 및 재료를 절단하기 위한 칼 기능을 갖는 부속물과 같은 다양한 부속물이 준비되어 있다.
도 4의 예에서, 칼 기능을 갖는 부속물인 칼 부속물(31-1)이 조리 팔(21-1)에 부착된다. 상판(11A)에 놓인 고깃덩어리가 칼 부속물(31-1)을 사용하여 절단된다.
재료를 고정하거나 재료를 회전시키는 데 사용되는 부속물인 스핀들 부속물(31-2)이 조리 팔(21-2)에 부착된다.
재료의 껍질을 벗기는 필러(peeler) 기능을 갖는 부속물인 필러 부속물(31-3)이 조리 팔(21-3)에 부착된다.
스핀들 부속물(31-2)을 사용하여 조리 팔(21-2)에 의해 들어올려진 감자는 필러 부속물(31-3)을 사용하여 조리 팔(21-3)에 의해 껍질이 벗겨진다. 위에서 설명된 바와 같이, 복수의 조리 팔(21)은 서로 협력하여 하나의 작업을 수행할 수 있다.
머니퓰레이터 기능을 갖는 부속물인 머니퓰레이터 부속물(31-4)이 조리 팔(21-4)에 부착된다. 치킨이 담긴 프라이팬이 머니퓰레이터 부속물(31-4)을 사용하여 오븐 기능을 갖는 조리 보조 시스템(12)의 공간으로 운반된다.
그러한 조리 팔(21)에 의한 조리는 작업의 내용에 따라 부속물을 적절히 교체하여 진행된다. 부속물의 교체는, 예를 들어, 조리 로봇(2)에 의해 자동으로 수행된다.
머니퓰레이터 부속물(31-4)을 4개의 조리 팔(21) 각각에 부착하는 것과 같이, 동일한 부속물을 복수의 조리 팔(21)에 부착하는 것도 가능하다.
조리 로봇(2)에 의한 조리는 조리 팔을 위한 도구로서 준비된 이상의 부속물을 사용하여 수행될뿐만 아니라, 조리를 위해 사람에 의해 사용되는 도구와 동일한 도구를 사용하여 적절하게 수행된다. 예를 들어, 사람에 의해 사용되는 칼은 머니퓰레이터 부속물(31-4)에 의해 파지되고, 재료의 절단과 같은 조리는 칼을 사용하여 수행된다.
<조리 팔의 구성>
도 5는 조리 팔(21)의 외관을 예시하는 도면이다.
도 5에 예시된 바와 같이, 조리 팔(21)은 일반적으로 가는 원통형 부재를 관절부로서 역할하는 힌지부에 의해 연결시키는 것에 의해 구성된다. 각각의 힌지부는 각각의 부재를 구동하기 위한 힘을 발생시키는 모터 등을 구비하고 있다.
원통형 부재로서, 원위단으로부터 순서대로 착탈 부재(51), 중계 부재(53) 및 베이스 부재(55)가 구비되어 있다. 착탈 부재(51)는 중계 부재(53) 길이의 약 1/5의 길이를 갖는 부재이다. 착탈 부재(51)의 길이와 중계 부재(53)의 길이를 합친 길이는 베이스 부재(55)의 길이와 실질적으로 동일하다.
착탈 부재(51)와 중계 부재(53)는 힌지부(52)에 의해 연결되고, 중계 부재(53)와 베이스 부재(55)는 힌지부(54)에 의해 연결된다. 중계 부재(53)의 양단에 힌지부(52)와 힌지부(54)가 구비되어 있다.
이 예에서, 조리 팔(21)은 3개의 원통형 부재에 의해 구성된다. 그렇지만, 조리 팔(21)은 4개 이상의 원통형 부재에 의해 구성될 수 있다. 이 경우에, 복수의 중계 부재(53)가 구비되어 있다.
착탈 부재(51)의 원위단에는 부속물이 착탈되는 착탈부(51A)가 구비되어 있다. 착탈 부재(51)는 다양한 부속물이 착탈되는 착탈부(51A)를 포함하고, 부속물을 동작시키는 것에 의해 조리하는 조리 기능 팔 유닛으로서 기능한다.
베이스 부재(55)의 후단에는 레일에 장착되는 착탈부(56)가 구비되어 있다. 베이스 부재(55)는 조리 팔(21)의 이동을 실현하는 이동 기능 팔 유닛으로서 기능한다.
도 6은 조리 팔(21)의 각자의 부분의 가동 범위의 예를 예시하는 도면이다.
타원 #1에 의해 예시된 바와 같이, 착탈 부재(51)는 원형 단면의 중심 축을 중심으로 회전 가능하다. 타원 #1의 중앙에 예시된 편평한 작은 원은 일점쇄선의 회전축의 방향을 나타낸다.
원 #2에 의해 예시된 바와 같이, 착탈 부재(51)는 힌지부(52)와의 감합부(fitting portion)(51B)를 통과하는 축을 중심으로 회전 가능하다. 게다가, 중계 부재(53)는 힌지부(52)와의 감합부(53A)를 통과하는 축을 중심으로 회전 가능하다.
원 #2 내부에 예시된 2개의 작은 원은 각자의 회전축의 방향(지면에 수직인 방향)을 나타낸다. 감합부(51B)를 통과하는 축을 중심으로 한 착탈 부재(51)의 가동 범위와 감합부(53A)를 통과하는 축을 중심으로 한 중계 부재(53)의 가동 범위는, 예를 들어, 90도의 범위이다.
중계 부재(53)는 원위단 측의 부재(53-1)와 후단 측의 부재(53-2)에 의해 분리되도록 구성된다. 타원 #3에 의해 예시된 바와 같이, 중계 부재(53)는 부재(53-1)와 부재(53-2) 사이의 연결부(53B)에서 원형 단면의 중심 축을 중심으로 회전 가능하다.
다른 가동부는 기본적으로 유사한 가동 범위를 갖는다.
환언하면, 원 #4에 의해 예시된 바와 같이, 중계 부재(53)는 힌지부(54)와의 감합부(53C)를 통과하는 축을 중심으로 회전 가능하다. 게다가, 베이스 부재(55)는 힌지부(54)와의 감합부(55A)를 통과하는 축을 중심으로 회전 가능하다.
베이스 부재(55)는 원위단 측의 부재(55-1)와 후단 측의 부재(55-2)에 의해 분리되도록 구성된다. 타원 #5에 의해 예시된 바와 같이, 베이스 부재(55)는 부재(55-1)와 부재(55-2) 사이의 연결부(55B)에서 원형 단면의 중심 축을 중심으로 회전 가능하다.
원 #6에 의해 예시된 바와 같이, 베이스 부재(55)는 착탈부(56)와의 감합부(55C)를 통과하는 축을 중심으로 회전 가능하다.
타원 #7에 의해 예시된 바와 같이, 착탈부(56)는 원형 단면의 중심 축을 중심으로 회전 가능하게 되기 위해 레일에 장착된다.
따라서, 원위단에 착탈부(51A)를 갖는 착탈 부재(51), 착탈 부재(51)와 베이스 부재(55)를 연결시키는 중계 부재(53), 및 후단에서 착탈부(56)에 연결되는 베이스 부재(55)는, 제각기, 힌지부에 의해 회전 가능하게 연결된다. 각각의 가동부의 움직임은 지시 커맨드에 따라 조리 로봇(2) 내의 제어기에 의해 제어된다.
도 7은 조리 팔과 제어기 사이의 연결의 예를 예시하는 도면이다.
도 7에 예시된 바와 같이, 조리 팔(21)과 제어기(61)는 하우징(11) 내부에 형성된 공간(11B) 내에서 배선을 통해 연결된다. 도 7의 예에서, 조리 팔(21-1 내지 21-4) 및 제어기(61)는, 제각기, 배선(62-1 내지 62-4)을 통해 연결된다. 가요성을 갖는 배선(62-1 내지 62-4)은 조리 팔(21-1 내지 21-4)의 위치에 따라 적절하게 구부러진다.
위에서 설명된 바와 같이, 조리 로봇(2)은 조리 팔(21)을 구동하는 것에 의해 조리에 관련된 다양한 작업을 수행할 수 있는 로봇이다.
<레시피 데이터>
도 8 및 도 9는 레시피 데이터의 예를 예시하는 다이어그램이다.
도 8 및 도 9에서의 레시피 데이터는“니스풍 샐러드”의 레시피 데이터이다. 도 8에 예시된 바와 같이, "니스풍 샐러드"의 레시피 데이터는 완성된 "니스풍 샐러드"의 이미지를 캡처하는 것에 의해 획득되는 요리 이미지인 요리 이미지(P1)와 재료를 나타내는 텍스트 데이터를 포함한다.
도 8의 예에서는, "상추 1/2개, 양파 1개, 아보카도 1개 등"의 텍스트 데이터가 3 내지 4인분의 재료를 나타내는 텍스트 데이터로서 포함되어 있다. 요리의 이름을 나타내는 “니스풍 샐러드”의 텍스트 데이터가 또한 “니스풍 샐러드”의 레시피 데이터에 포함된다.
레시피 데이터는 일반적으로, 조리 상황의 이미지를 캡처하는 것에 의해 획득되는 이미지와 함께, 대략적인 조리 프로세스를 설명하는 도 9에 예시된 바와 같은 텍스트 데이터를 포함한다.
도 9의 예에서, “토마토를 절단하고 상추를 한 입 크기 조각으로 손으로 찢는다. 참치 통조림을 열어둔다.”라는 텍스트 데이터가 이미지(P11)와 함께 1 단계 작업에 관한 정보로서 포함되어 있다. 이미지(P11)는 1 단계 작업 이후의 상황의 이미지를 캡처하는 것에 의해 획득되는 이미지이다.
게다가, “오이를 슬라이싱하고 양파를 고리 모양으로 절단한다. 삶은 계란을 한 입 크기 조각으로 절단한다”라는 텍스트 데이터가 이미지(P12)와 함께 2 단계 작업에 관한 정보로서 포함되어 있다. 이미지(P12)는 2 단계 작업 이후의 상황의 이미지를 캡처하는 것에 의해 획득되는 이미지이다.
“모든 재료를 접시에 담고 기호에 따라 샐러드에 드레싱을 곁들인다”라는 텍스트 데이터가 이미지(P13)와 함께 3 단계 작업에 관한 정보로서 포함되어 있다. 이미지(P13)는 3 단계 작업 이후의 상황으로서 완성된 '니스풍 샐러드'의 이미지를 캡처하는 것에 의해 획득되는 이미지이다. 이미지(P13)과 요리 이미지(P1)는 동일한 이미지이다.
위에서 설명된 바와 같이, 조리 로봇(2)의 동작을 제어하기 위해 데이터 프로세싱 디바이스(1)에 의해 사용되는 레시피 데이터는 적어도 이미지 및 텍스트 데이터를 포함한다. 레시피 데이터에 포함된 이미지는 정지 이미지 또는 동영상일 수 있다.
도 9에서의 조리 프로세스에 대한 설명은 레시피 데이터에 포함될 수 있거나 포함되지 않을 수 있다. 도 9에서의 조리 프로세스에 대한 설명이 포함되지 않은 경우에, 조리 로봇(2)의 동작은 도 8에 예시된 요리 이미지(P1) 및 재료를 나타내는 텍스트 데이터에 기초하여 제어된다.
이하에서, "니스풍 샐러드" 등의 레시피 데이터에 기초한 프로세싱이 기술될 것이다. 다른 요리의 레시피 데이터에 기초한 프로세싱도 유사하게 수행된다.
<<상태 시퀀스의 계획 및 액션>>
<레시피 데이터에 기초한 계획>
도 10은 데이터 프로세싱 디바이스(1)에 의해 수행되는 전체 프로세싱의 흐름을 예시하는 다이어그램이다.
"니스풍 샐러드"의 레시피 데이터가 입력되는 경우에, 데이터 프로세싱 디바이스(1)는, 화살표 A11의 끝 및 화살표 A12의 끝에 의해 예시된 바와 같이, 레시피 데이터에 포함된 요리 이미지 및 텍스트 데이터에 기초하여 목표 상태를 설정한다.
예를 들어, “니스풍 샐러드”에 필요한 재료는 텍스트 데이터에 기초하여 추정된다. 게다가, 상추, 양파, 및 아보카도와 같은 재료들 각각의 상태는 “니스풍 샐러드”의 요리 이미지(P1)를 분석하는 것에 의해 추정된다. 각각의 재료의 상태는 재료에 어떤 종류의 조리가 적용되는지와 같은 조리의 상태, 및 조리된 재료를 어떻게 서빙하는지와 같은 배치의 상태를 포함한다. 요리 이미지(P1)에 나오는 "니스풍 샐러드"의 상태가 목표 상태로 설정된다.
도 11은 목표 상태를 포함한 상태들의 기술의 예를 예시하는 다이어그램이다.
도 11에 예시된 바와 같이, 데이터 프로세싱 디바이스(1)에 의해 설정된 각각의 상태는 상태의 식별자인 ID와 파라미터 세트의 조합에 의해 이산적인 상태로서 표현된다.
각각의 상태는 ID와 벡터 데이터의 조합, 또는 ID와 파라미터 세트와 벡터 데이터의 조합에 의해 적절하게 표현된다.
도 12는 목표 상태의 기술의 특정 예를 예시하는 다이어그램이다.
“니스풍 샐러드”의 목표 상태인 목표 상태 SG에 미리 결정된 ID가 할당된다.
도 12에 예시된 바와 같이, 목표 상태 SG를 나타내는 파라미터 세트는 서빙에 사용되는 식기에 관한 파라미터를 포함한다. 식기에 관한 파라미터는 식기의 유형을 나타내는 파라미터와 식기의 개수를 나타내는 파라미터를 포함한다.
식기의 유형과 개수는, 예를 들어, 요리 이미지(P1)를 분석하는 것에 의해 추정된다. 예를 들어, 식기의 유형으로서 “대형 접시(platter)”를 그리고 식기의 개수로서 “1”을 나타내는 파라미터가 설정된다.
목표 상태 SG를 나타내는 파라미터 세트는 재료인 토마토에 관한 파라미터를 포함한다. 토마토에 관한 파라미터는 토마토를 절단하는 방법을 나타내는 파라미터, 절단 이후의 토마토 조각의 개수를 나타내는 파라미터, 및 절단 이후의 토마토의 방향/배치를 나타내는 파라미터를 포함한다.
재료에 토마토가 포함되어 있는 것은, 예를 들어, 재료의 텍스트 데이터에 기초하여 추정된다. 토마토를 절단하는 방법, 절단 이후의 토마토 조각의 개수, 및 절단 이후의 토마토의 방향/배치는 조리 프로세스를 설명하는 텍스트 데이터에 기초하여 또는 요리 이미지(P1)를 분석하는 것에 의해 추정된다. 도 12의 예에서, 절단 이후의 토마토 조각의 개수가 "6"임을 나타내는 파라미터가 설정되어 있다.
목표 상태 SG를 나타내는 파라미터 세트는 재료인 계란에 관한 파라미터를 포함한다. 계란에 관한 파라미터는 조리 이후의 계란의 상태를 나타내는 파라미터, 계란을 절단하는 방법을 나타내는 파라미터, 절단 이후의 계란 조각의 개수를 나타내는 파라미터, 및 절단 이후의 계란의 방향/배치를 나타내는 파라미터를 포함한다.
재료에 계란이 포함되어 있는 것은, 예를 들어, 재료의 텍스트 데이터에 기초하여 추정된다. 조리 이후의 계란의 상태, 계란을 절단하는 방법, 절단 이후의 계란 조각의 개수, 및 절단 이후의 계란의 방향/배치는 조리 프로세스를 설명하는 텍스트 데이터에 기초하여 또는 요리 이미지(P1)를 분석하는 것에 의해 추정된다. 도 12의 예에서, 조리 이후의 계란의 상태는 "반숙"이고 계란을 절단하는 방법은 "반으로 절단"임을 나타내는 파라미터가 설정되어 있다.
유사하게, 목표 상태 SG를 나타내는 파라미터 세트는 토핑에 대한 파라미터, 드레싱에 대한 파라미터 및 온도에 대한 파라미터를 포함한다.
"니스풍 샐러드"의 목표 상태 SG는 레시피 데이터로부터 추정된 그러한 파라미터들의 세트에 의해 표현된다. 시작 상태로부터 목표 상태까지의 각각의 상태가 또한 ID와 파라미터 세트의 조합에 의해 구성된다.
도 10의 설명으로 돌아가면, 그러한 기술에 의해 표현되는 목표 상태 SG가 설정된 후에, 화살표 A13의 끝에 의해 예시된 바와 같이, 시작 상태로부터 목표 상태까지의 상태 시퀀스의 계획이 수행된다.
상태 시퀀스의 계획은, 화살표 A14에 의해 예시된 바와 같이, 레시피 데이터에 포함된 텍스트 데이터에 기초하여 수행된다. 상태 시퀀스의 계획을 위해, 요리 이미지(P1)의 이미지 데이터 및 조리 프로세스의 설명에 포함된 이미지가 적절하게 사용될 수 있다.
상태 시퀀스의 계획이 완료된 경우에, 화살표 A15의 끝에 의해 예시된 바와 같이, 조리 로봇(2)의 제어가 수행된다. 화살표 A16에 의해 예시된 바와 같이 조리 로봇(2)의 제어를 위해 적절하게 레시피 데이터의 기술이 또한 사용된다.
조리 로봇(2)으로 하여금 상태 시퀀스를 구성하는 상태들 사이의 천이를 야기하기 위한 액션을 실행하게 하기 위한 제어가 반복되고, 최종적으로, 상태는 화살표 A17의 끝에 의해 예시된 바와 같이, 목표 상태 SG로서 설정된 "니스풍 샐러드"의 상태에 도달한다. 상태가 목표 상태 SG에 도달할 때까지, 화살표 A18에 의해 표시된 바와 같이, 천이 시퀀스의 변경이 적절하게 수행된다.
도 13은 시작 상태로부터 목표 상태까지의 상태 시퀀스의 계획의 예를 예시하는 다이어그램이다.
우측 상부에 예시된 상태 S0은 시작 상태이다. 도 13의 예에서, 상태 S0의 파라미터 세트는 "토마토" "1개 전체"를 나타내는 파라미터, "상추" "3 장"을 나타내는 파라미터, "참치" "통조림"을 나타내는 파라미터 등에 의해 구성된다.
상태 S0을 나타내는 파라미터 세트는, 예를 들어, 재료의 텍스트 데이터에 기초하여 설정된다. 재료의 준비는 재료의 텍스트 데이터에 기초하여 수행될 수 있으며, 준비된 재료를 나타내는 상태는 시작 상태로서 설정될 수 있다.
화살표 A21의 끝에 예시된 상태 S1은 상태 S0의 다음 상태이다. 상태 S1의 파라미터 세트는 "여섯 조각(쐐기)"으로 된 "토마토" "6개"가 "접시 1"에 배치된 상태를 나타내는 파라미터, 열려 있는 "참치 통조림"을 나타내는 파라미터 등에 의해 구성된다.
상태 S1을 나타내는 파라미터 세트는, 예를 들어, 재료의 텍스트 데이터, 및 화살표 A31에 의해 예시된 조리 프로세스의 설명에 포함된 1 단계 작업에 관한 정보에 기초하여 설정된다. 도 13에서 좌측에 예시된 조리 프로세스는 도 9를 참조하여 기술된 조리 프로세스와 동일하다.
위에서 설명된 바와 같이, '니스풍 샐러드'의 레시피 데이터는, 1 단계 작업에 관한 정보로서, '토마토를 절단하고 상추를 한 입 크기 조각으로 손으로 찢는다. 참치 통조림을 열어둔다.”라는 텍스트 데이터, 및 작업 후의 상황을 예시하는 이미지(P11)를 포함한다.
이러한 정보를 분석하는 것에 의해, 토마토를 절단하는 방법, 참치 통조림을 보관하는 방법 등이 추정될 수 있으며, 상태 S1의 파라미터 세트가 설정될 수 있다. 예를 들어, 토마토를 여섯 조각으로 절단하는 것에 의해 획득되는 6개의 토마토가 작은 접시에 배치된 상황이 이미지(P11)에 캡처되어 있다. 게다가, 열려 있는 참치 통조림의 상황이 이미지(P11)에 캡처되어 있다.
화살표 A22의 끝에 예시된 상태 S2는 상태 S1의 다음 상태이다. 상태 S2의 파라미터 세트는 "반으로 절단된" "반숙" "계란" "네 조각"이 "접시 3"에 배치된 상태를 나타내는 파라미터, "3 mm"의 두께로 슬라이싱된 "오이"가 "접시 4"에 배치되어 있는 상태를 나타내는 파라미터 등에 의해 구성된다.
상태 S2를 나타내는 파라미터 세트는, 예를 들어, 재료의 텍스트 데이터, 및 화살표 A32에 의해 예시된 조리 프로세스의 설명에 포함된 1 단계 작업 및 2 단계 작업에 관한 정보에 기초하여 설정된다.
위에서 설명된 바와 같이, "니스풍 샐러드"의 레시피 데이터는, 2 단계 작업에 관한 정보로서, "오이를 슬라이싱하고 양파를 고리 모양으로 절단한다. 삶은 계란을 한 입 크기 조각으로 절단한다”라는 텍스트 데이터 및 작업 이후의 상황을 예시하는 이미지(P12)를 포함한다.
이러한 정보를 분석하는 것에 의해, 오이를 절단하는 방법, 계란을 보관하는 방법 등이 추정될 수 있으며, 상태 S2의 파라미터 세트가 설정될 수 있다.
화살표 A23의 끝에 의해 예시된 바와 같이, 상태 S2의 다음 상태는 목표 상태 SG이다. 목표 상태 SG를 나타내는 파라미터 세트는 레시피 데이터에 포함된 "니스풍 샐러드"의 요리 이미지(P1) 및 재료의 텍스트 데이터, 및 화살표 A33에 의해 예시된 조리 프로세스에 관한 모든 정보에 기초하여 설정된다.
위에서 설명된 바와 같이, 시작 상태로부터 목표 상태까지의 상태 시퀀스의 계획은, 예를 들어, 레시피 데이터에 기술된 조리 프로세스의 각각의 단계의 설명을 상태 표현으로 번역하고 각각의 상태를 순서대로 연결시키는 것에 의해 수행된다. 상태 S0을 시작 상태로 하여, 상태는 상태 S1 및 상태 S2를 통한 상태 천이에 의해 목표 상태 SG인 "니스풍 샐러드"에 도달할 수 있다.
이하에서, 레시피 데이터에 기초하여 적절하게 설정되는, 시작 상태로부터 목표 상태까지의 전체 상태 시퀀스는 전체 조리 시퀀스라고 지칭된다.
도 14는 전체 조리 시퀀스의 예를 예시하는 다이어그램이다.
도 14에 예시된 바와 같이, “니스풍 샐러드”의 레시피 데이터에 기초하여 설정된 전체 조리 시퀀스는 상태 S0, 상태 S1, 상태 S2, 목표 상태 SG, 및 상태들을 연결시키는 에지에 의해 구성된다.
각각의 에지에 대응하는 상태 천이는 상태 S0, 상태 S1, 상태 S2, 및 목표 상태 SG를 연결하는 상태 시퀀스인 개별 시퀀스에 의해 표현된다. 전체 조리 시퀀스를 구성하는 하나의 상태로부터 다음 상태까지의 상태 천이를 야기하기 위해, 보통 복수의 재료의 상태가 변경될 필요가 있다. 각각의 재료의 상태를 변경하기 위한 조리는 개별 시퀀스에 의해 표현된다.
도 14에서 윤곽선 화살표에 의해 예시된 바와 같이, 상태 S0과 상태 S1 사이, 상태 S1과 상태 S2 사이, 및 상태 S2와 목표 상태 SG 사이의 각자의 개별 시퀀스는 개별 시퀀스 #0 내지 #2에 의해 표현된다. 개별 시퀀스 #0 내지 #2 각각은 또한 복수의 상태 및 상태들을 연결시키는 에지에 의해 구성된다.
예를 들어, 현재 상태가 상태 S0인 경우에, 개별 시퀀스 #0에 따라 상태 천이가 수행됨에 따라 상태는 상태 S1에 도달한다. 게다가, 현재 상태가 상태 S1인 경우에, 개별 시퀀스 #1에 따라 상태 천이가 수행됨에 따라 상태는 상태 S2에 도달한다. 현재 상태가 상태 S2인 경우에, 개별 시퀀스 #2에 따라 상태 천이가 수행됨에 따라 상태는 목표 상태 SG에 도달한다.
전체 조리 시퀀스가 레시피 데이터에 기초하여 설정되지만, 개별 시퀀스는 기본적으로 데이터베이스(DB)에 준비된 정보에 기초하여 설정된다. 예를 들어, 전체 조리 시퀀스를 구성하는 상태들을 연결시키기 위한 시퀀스인 개별 시퀀스에 관한 정보가, 예를 들어, 데이터 프로세싱 디바이스(1)에 미리 준비되어 있다.
시작 상태로부터 목표 상태까지의 전체 상태 시퀀스가 레시피 데이터에만 기초하여 완전히 계획될 수 있는 경우에, 개별 시퀀스가 필요하지 않다는 점에 유의한다.
도 15는 상태 천이의 예를 예시하는 다이어그램이다.
개별 시퀀스를 구성하는 상태들 간의 천이는 도 15에 예시된 바와 같이 조리 로봇(2)의 액션에 의해 야기된다. 상태 천이를 야기하기 위한 조리 로봇(2)의 액션은 데이터 프로세싱 디바이스(1)의 데이터베이스를 참조하여 선택된다.
도 15의 예에서, 천이 이전 상태인 "전체 토마토(whole tomato)" 상태로부터 천이 이후 상태인 "절단된 토마토"의 상태로의 천이를 야기하기 위한 액션으로서 "절단"이 선택된다.
데이터 프로세싱 디바이스(1)의 데이터베이스는 천이 이전 상태와 천이 이후 상태의 2개의 상태를 2개의 상태 사이의 천이를 야기하기 위한 액션과 연관시키는 정보를 저장한다. 데이터 프로세싱 디바이스(1)의 데이터베이스가 아래에서 설명될 것이다.
설명의 편의를 위해 도 15에 예시된 액션 및 상태가 단순화되어 있다는 점에 유의한다. 실제로는, 절단 방법과 힘을 가하는 방법과 같은 사양을 지정하는 더 상세한 액션이 선택된다.
도 15에 예시된 바와 같이, 하나의 재료에 대한 복수의 상태 천이를 연결시키는 것에 의해 개별 시퀀스가 구성되며, 그러한 개별 시퀀스는 전체 조리 시퀀스를 구성하는 상태들을 연결시킨다.
<데이터베이스의 예>
도 16은 개별 시퀀스를 설정하고 액션을 실행하는 데 사용되는 데이터베이스의 예를 예시하는 다이어그램이다.
도 16에 예시된 바와 같이, 재료 DB(101), 조리 방법 DB(102) 및 서빙 방법 DB(103)가 준비되어 있다. 각각의 데이터베이스는, 예를 들어, 데이터 프로세싱 디바이스(1)에 구비되어 있다.
각각의 데이터베이스는 데이터 프로세싱 디바이스(1) 또는 조리 로봇(2) 중 어느 하나에 구비될 수 있거나, 또는 각각의 데이터베이스는 데이터 프로세싱 디바이스(1) 및 조리 로봇(2) 둘 모두로부터 액세스 가능한 서버에 구비될 수 있다. 재료 DB(101)가 조리 로봇(2)에 구비되고 조리 방법 DB(102) 및 서빙 방법 DB(103)가 데이터 프로세싱 디바이스(1)에 구비되는 것과 같이 데이터베이스들이 상이한 디바이스들에 구비될 수 있다.
화살표 A51의 끝에 의해 예시된 바와 같이, 레시피 데이터에 기초하여 재료의 준비가 수행된다. 재료의 준비는 재료 DB(101)를 참조하여 수행된다.
재료 DB(101)는, 예를 들어, 미리 결정된 재료에 대한 액션을 수행하는 경우에, 대상 재료를 인식하는 데 사용된다. 재료 준비의 액션을 수행하기 위해, 재료 인식을 위한 정보가 준비될 필요가 있다. 데이터베이스에 저장되는 정보의 세부 사항은 아래에서 설명될 것이다.
재료가 준비된 후에, 화살표 A52에 의해 예시된 바와 같이, 상태 시퀀스에 따라 재료에 대한 절단과 같은 조리가 수행된다. 재료에 대한 조리는 조리 방법 DB(102)를 복수 회 참조하여 수행된다. 조리 방법 DB(102)는 재료의 조리에 관한 액션을 수행하는 경우뿐만 아니라 위에서 설명된 개별 시퀀스를 설정하는 경우에도 사용된다.
모든 재료가 조리된 후에, 화살표 A53에 의해 예시된 바와 같이, 조리된 재료의 서빙이 수행된다. 조리된 재료의 서빙은 서빙 방법 DB(103)를 복수 회 참조하여 수행된다.
- 재료 DB(101)
도 17은 재료 DB(101)에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 17에 예시된 바와 같이, 재료 DB(101)는 재료 이름과 연관하여 재료의 외관의 이미지 데이터를 저장한다.
도 17의 예에서, “오이”, “토마토”, “아보카도”, 및 “피망”의 재료의 이미지 데이터가 예시되어 있다. 재료의 이미지 데이터로서, 재료의 이미지를 캡처하는 것에 의해 획득되는 이미지를 분석하는 것에 의해 추출된 재료의 특성을 나타내는 데이터가 준비된다.
도 17에서, 하나의 이미지 데이터는 하나의 재료와 연관되어 있다. 그렇지만, 실제로는, 크기, 형상, 색상, 부드러움, 배향 등이 상이한 재료의 이미지를 캡처하는 것에 의해 획득되는 복수의 이미지 데이터가 하나의 재료와 연관된다.
예를 들어, 상태 시퀀스의 계획은 어떤 재료가 준비되었는지와 같은 현재 상태의 추정을 필요로 한다. 재료 DB(101)에 저장된 정보는 현재 상태의 추정 시에 사용된다.
데이터 프로세싱 디바이스(1)는 조리 로봇(2)의 카메라에 의해 캡처된 이미지를 분석하고 조리 로봇(2) 주위에 있는 각각의 재료의 특성을 추출한다. 데이터 프로세싱 디바이스(1)는 조리 로봇(2) 주위에 있는 재료의 특성과 재료 DB(101)에 저장된 정보가 나타내는 각각의 재료의 특성을 매칭시켜 조리 로봇(2) 주위에 있는 재료를 인식하고, 현재 상태를 추정한다.
재료 DB(101)에 저장된 정보는 액션을 실행할 시에도 사용된다. 예를 들어, "오이"를 준비하는 경우에, 데이터 프로세싱 디바이스(1)는 재료 DB(101)를 참조하는 것에 의해 "오이"의 이미지 데이터를 판독한다. 데이터 프로세싱 디바이스(1)는 판독된 이미지 데이터를 지시 커맨드에 포함시키고 지시 커맨드를 조리 로봇(2)으로 송신한다.
조리 로봇(2)은 카메라에 의해 캡처된 이미지를 분석하고, 조리 로봇(2) 주위에 있는 각각의 재료의 특성을 추출한다. 조리 로봇(2)은 조리 로봇(2) 주위에 있는 재료의 특성과 지시 커맨드에 포함되어 데이터 프로세싱 디바이스(1)로부터 송신된 “오이”의 이미지 데이터에 의해 표현되는 특성을 매칭시켜 조리 로봇(2) 주위에 있는 “오이”의 위치 및 방향을 인식한다.
이에 의해, 조리 로봇(2)은 "오이"를 파지하거나 또는 "오이"를 미리 결정된 위치로 이동시킬 수 있다. 다른 재료의 준비가 유사하게 수행된다.
재료 DB(101)에 저장된 정보는 재료를 준비할 때뿐만 아니라 재료의 인식을 필요로 하는 다양한 액션을 실행할 때에도 참조된다.
-조리 방법 DB(102)
도 18은 조리 방법 DB(102)의 구성 예를 예시하는 다이어그램이다.
도 18에 예시된 바와 같이, 조리 방법 DB(102)는 상태 천이 DB(111) 및 액션 DB(112)를 포함한다.
상태 천이 DB(111)는 조리 이전의 상태로부터 조리 이후의 상태로의 상태 천이에 관한 정보를 저장하는 데이터베이스이다. 상태 천이 DB(111)에, 그러한 상태 천이에 관한 정보가, 예를 들어, 각각의 재료, 각각의 조리 방법 등과 같은 다양한 상태의 조합에 따라 준비된다. 위에서 설명된 개별 시퀀스는 상태 천이 DB(111)에 저장된 정보에 기초하여 설정된다.
한편, 액션 DB(112)는 재료의 상태 천이를 야기하기 위한 액션의 사양에 관한 정보를 저장하는 데이터베이스이다. 재료의 조리에 관한 액션을 실행하기 위한 지시 커맨드가 액션 DB(112)에 저장된 정보에 기초하여 생성된다.
조리 방법 DB(102)에서, 재료의 상태 천이에 관한 정보와 각자의 상태 천이를 야기하기 위한 액션의 사양에 관한 정보가 서로 연관되어 관리된다.
도 19는 상태 천이 DB(111)에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 19에 예시된 바와 같이, 상태 천이 DB(111)에, 재료 이름, 조리 방법, 및 조리 이전의 상태로부터 조리 이후의 상태로의 상태 천이에 대한 정보가 서로 연관되어 저장된다. 상태 천이를 구성하는 각각의 상태는, 예를 들어, 위에서 설명된 바와 같이, ID 및 파라미터 세트에 의해 표현된다.
도 19의 예에서, 절단하는 방식(절단 방법) 및 절단 이전의 상태로부터 절단 이후의 상태로의 상태 천이가 "오이", "토마토", 및 "아보카도"의 재료들 각각과 연관된다. “오이”를 절단하는 방법으로서, “슬라이싱”, “채썰기”, 및 “깍뚝 썰기”가 설정되어 있다.
예를 들어, "오이"가 "슬라이싱"된 상태를 포함하는 개별 시퀀스를 설정하는 경우에, 데이터 프로세싱 디바이스(1)는 "슬라이싱" 이전의 상태로부터 "슬라이싱" 이후의 상태로의 상태 천이에 관한 정보를 상태 천이 DB(111)로부터 취득한다. 데이터 프로세싱 디바이스(1)는 취득된 정보에 의해 표시되는 상태 천이를 포함하도록 개별 시퀀스를 설정한다.
레시피 데이터의 조리 프로세스에 대한 설명은 위에서 설명된 바와 같이 "오이를 슬라이싱하고, ..."와 같은 기술을 포함할 수 있다. 그러한 기술에 기초하여 "오이"가 "슬라이싱"된 상태를 포함하는 개별 시퀀스가 설정될 수 있다.
다른 재료와 관련하여, 각각의 조리 방법에 대한 상태 천이에 관한 정보가 유사하게 상태 천이 DB(111)에 저장된다. 절단 방법 외에도, 씻는 방법, 껍질을 벗기는 방법, 삶는 방법, 및 굽는 방법과 같은 다양한 유형의 조리 방법에 대한 정보가 저장된다.
위에서 기술된 바와 같이, 상태 천이 DB(111)에는, 재료가 다양한 방법에 의해 조리되는 경우의 조리 이전의 상태로부터 조리 이후의 상태로의 상태 천이에 관한 정보가 저장된다. 상태 천이 DB(111)에 저장된 정보는 위에서 기술된 바와 같이 파라미터 세트를 사용하여 다양한 방법에 의해 조리될 때의 재료의 상태를 표현하는 것에 의해 생성된다.
상태 천이 DB(111)에 저장된 정보의 생성은 조리 동안 상황의 이미지를 캡처하는 것에 의해 획득되는 동영상을 분석하는 것에 의해 미리 결정된 디바이스에 의해 수행될 수 있거나, 또는 데이터 프로세싱 디바이스(1)의 관리자에 의해 수동으로 수행될 수 있다.
도 20은 액션 DB(112)에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 20에 예시된 바와 같이, 액션 DB(112)는 재료 사양 정보의 데이터베이스인 재료 다이내믹스 DB, 조리 도구 사양 정보의 데이터베이스인 조리 도구 다이내믹스 DB, 및 로봇 동작 사양 정보의 데이터베이스인 로봇 동작 다이내믹스 DB에 의해 구성된다.
재료 사양 정보, 조리 도구 사양 정보, 및 로봇 동작 사양 정보는 상태 천이 DB(111)에 저장된 정보에 의해 표시되는 상태 천이를 야기하기 위한 각각의 액션과 연관되어 저장된다.
재료 사양 정보는 액션의 대상이 되는 재료의 사양에 관한 정보이다. 재료 사양은 크기, 형상 및 부드러움과 같은 재료의 다양한 상태를 포함한다.
액션의 실행 동안의 각각의 시간에서의 재료의 상태를 나타내는 재료 사양 정보는, 예를 들어, 재료 다이내믹스 DB에 저장된다.
조리 도구 사양 정보는 액션에 사용되는 도구(조리 도구)의 사양에 관한 정보이다. 도구의 사양은 조리 로봇(2)이 조리하기 위해 사용하는 부속물과 같은 다양한 도구의 사양, 기능 등을 포함한다. 액션을 수행할 때 도구의 상태가 변화하는 경우에, 그 변화를 나타내는 정보가 조리 도구 사양 정보에 포함된다.
액션의 실행 동안의 각각의 시간에서의 도구의 사양, 기능 및 변화의 상태를 서로 연관시키는 조리 도구 사양 정보는, 예를 들어, 조리 도구 다이내믹스 DB에 저장된다.
로봇 동작 사양 정보는 액션을 수행할 때의 조리 로봇(2)의 동작의 사양에 관한 정보이다. 조리 로봇(2)의 동작의 사양은 액션을 실행하는 조리 팔(21)의 레일 상의 위치, 조리 팔(21)을 구성하는 각각의 모터의 속도, 회전량 및 토크 등을 포함한다. 조리 로봇(2)의 동작의 사양은 액션의 실행 동안 피드백으로서 측정된 센서 데이터를 또한 포함한다.
조리 팔(21)의 레일 상의 위치, 조리 팔(21)을 구성하는 각각의 모터의 속도, 회전량, 및 토크, 그리고 피드백으로서 역할하는 센서 데이터를, 벡터 표현을 사용하여, 표현하는 정보가 로봇 동작 사양 정보로서 준비된다.
조리 팔(21) 이외의 하드웨어를 사용하여 액션이 수행되는 경우에, 하드웨어의 동작의 사양에 관한 정보도 로봇 동작 사양 정보로서 준비된다.
액션의 실행 동안의 각각의 시간에서의 조리 팔(21)의 동작의 사양을 나타내는 로봇 동작 사양 정보는, 예를 들어, 로봇 동작 다이내믹스 DB에 저장된다.
예를 들어, 미리 결정된 도구를 사용하여 액션을 실행할 시에, 액션을 실행하는 조리 팔(21)을 구성하는 모터의 구동량은 대상 재료의 크기에 따라 달라진다. 다양한 도구를 사용하여 다양한 상태의 재료를 조리하는 경우의 조리 로봇(2)의 동작에 관한 정보는 액션 DB(112)에 저장된다.
환언하면, 액션을 실행하기 위해 어떤 종류의 재료에 대해 어떤 도구의 어떤 기능을 사용하여 조리 팔(21)을 어떻게 동작시킬지를 나타내는 정보가 액션 DB(112)에 저장된다.
액션 DB(112)에 저장된 정보는, 예를 들어, 데이터 프로세싱 디바이스(1)의 관리자가 조리 팔(21)의 동작을 조정하면서 다양한 도구를 사용하여 다양한 상태의 재료를 조리하는 것에 의해 생성된다.
다양한 도구를 이용하여 다양한 상태의 재료를 조리하는 상황의 이미지를 캡처하는 것에 의해 획득되는 동영상을 분석하는 것에 의해 미리 결정된 디바이스에 의해 생성된 정보가 액션 DB(112)에 저장될 수 있다.
재료 사양 정보, 조리 도구 사양 정보, 및 로봇 동작 사양 정보 각각은 다른 정보로부터 적절하게 추정되는 것에 의해 생성될 수 있다.
예를 들어, 특정 상태의 고기를 칼로 둘로 나누는 액션을 고려하는 경우에, 재료 사양 정보와 조리 도구 사양 정보가 특정되어 있는 경우, 대략적인 로봇 동작 사양 정보가 추정될 수 있다. 이와 같이 다른 정보에 기초하여 추정된 정보가 액션 DB(112)에 준비될 수 있다.
위에서 기술된 바와 같이, 조리 방법 DB(102)에는, 재료와 상태 천이에 의해 표시되는 조리 방법을 연관시키는 데이터 세트인 상태 천이 DB(111)가 준비된다. 게다가, 조리 방법 DB(102)에는, 재료의 사양, 조리 방법에 따라 조리(액션)를 수행할 때 사용되는 도구의 사양, 및 조리 로봇(2)의 동작의 사양의 데이터 세트인 액션 DB(112)가 조리 방법과 연관되어 준비된다.
- 서빙 방법 DB(103)
도 21은 서빙 방법 DB(103)에 저장되는 정보의 예를 예시하는 다이어그램이다.
도 21에 예시된 바와 같이, 서빙 방법 DB(103)에는, 요리를 완성하는 데 필요한 조리된 재료의 식별자인 재료 ID가 요리와 연관되어 저장된다.
조리된 재료에 대해 서빙 위치에 관한 정보인 서빙 위치 정보가 설정된다. 서빙에 사용되는 식기에서의 각각의 재료의 평면 상의 위치와 층(계층)는 서빙 위치 정보에 의해 표시된다.
도 21의 예는 "니스풍 샐러드", "시저 샐러드" 및 "햄버그 스테이크" 각각에 관한 정보를 예시한다.
“니스풍 샐러드”에 대해, 절단된 상추를 나타내는 ID1, 절단된 토마토를 나타내는 ID2, 및 절단된 오이를 나타내는 ID3이 조리된 재료의 식별자로서 연관된다.
게다가, "x1, y1, L0"은 절단된 상추의 위치를 나타내는 정보로서 설정된다. “x1, y1”은 절단된 상추의 평면 상의 위치를 나타내고, “L0”은 절단된 상추가 최하층인 제1 층에 놓여 있음을 나타낸다.
게다가, "x2, y2, L3"은 절단된 토마토의 위치를 나타내는 정보로서 설정된다. “x2, y2”는 절단된 토마토의 평면 상의 위치를 나타내고, “L3”은 절단된 토마토가 제4 층에 놓여 있음을 나타낸다.
절단된 오이를 포함한 다른 재료에 대해서도 마찬가지로 서빙 위치를 나타내는 정보가 설정된다.
예를 들어, "니스풍 샐러드"에 필요한 "상추", "토마토", "오이" 등의 절단이 완료된 경우에, 데이터 프로세싱 디바이스(1)는 조리된 재료의 서빙에 관한 상태 시퀀스를 설정한다. 데이터 프로세싱 디바이스(1)는 상태 시퀀스에 따라 서빙 위치 정보에 의해 표시되는 위치에 각각의 재료를 놓기 위한 지시 커맨드를 생성하고, 커맨드를 조리 로봇(2)에 출력한다.
위에서 기술된 바와 같이, 서빙 방법 DB(103)에는 각각의 요리에 대한 필요한 재료와 서빙 위치를 나타내는 데이터 세트가 저장되어 있다. 서빙 방법 DB(103)에 저장된 정보는, 예를 들어, 레시피 데이터에 포함된 요리 이미지를 분석하는 것에 의해 생성된다.
이미지에 캡처되어 있지 않은 재료 및 그의 서빙 위치는 적절하게 일반 서빙 방법에 대한 지식으로서 미리 준비된 정보에 기초하여 생성된다. 서빙 방법 DB(103)에 저장된 정보는 데이터 프로세싱 디바이스(1)의 관리자에 의해 수동으로 설정될 수 있다.
식기에서의 평면 상의 위치와 계층 위치의 조합을 나타내는 정보가 서빙 위치 정보로서 준비되어 있다. 그렇지만, 식기에서의 평면 상의 위치만을 나타내는 정보 또는 계층 위치만을 나타내는 정보가 서빙 위치 정보로서 준비될 수 있다.
게다가, 재료가 동일한 계층에 미리 결정된 패턴으로 배치되는 평면 배치 패턴을 나타내는 정보 또는 재료가 상이한 계층에 미리 결정된 패턴으로 배치되는 계층 배치 패턴을 나타내는 정보가 서빙 위치 정보로서 준비될 수 있다.
각각의 데이터베이스에 저장된 정보는 조리 로봇(2)이 액션을 실제로 실행하는 것에 따라 적절히 변경될 수 있다.
<액션의 기술 예>
조리 로봇(2)의 동작이 상태 시퀀스에 의해 표현되지만, 조리 로봇(2)의 동작이 트리 구조에 의해 표현될 수 있다.
도 22는 액션의 표현 예를 예시하는 다이어그램이다.
도 22에 예시된 바와 같이, 하나의 액션이 트리 구조에 의해 표현될 수 있다. 트리 구조에 의해 표현된 다양한 액션에 관한 정보는 데이터 프로세싱 디바이스(1)의 미리 결정된 데이터베이스에 준비되어 있다. 도 22에 예시된 트리 구조는 하나의 액션인 "Cut Method 1"을 예시하고 있다.
"Cut Method 1"은 상태 S11인 "Select PickUp Tool"과 상태 S12인 "Select Cut Tools"로 분기한다. 상태 S11은 “Cut Method 1”의 액션을 실행하는 조리 팔(21-1)의 상태이다. 게다가, 상태 S12는 조리 팔(21-1)과 협력하여 “Cut Method 1”의 액션을 실행하는 조리 팔(21-2)의 상태이다.
“Select PickUp Tool”은, 예를 들어, 재료를 파지하는 데 사용되는 도구인 머니퓰레이터 부속물을 사용하여 수행되는 상태이다. 게다가, “Select Cut Tools”는, 예를 들어, 재료를 절단하는 데 사용되는 도구인 칼 부속물을 사용하여 수행되는 상태이다.
상태 S11과 상태 S12의 각각의 상태는 리프로서 역할하는 복수의 상태의 시퀀스에 의해 구성된다.
도 22의 예에서, 상태 S11은 상태 S11-1인 “Find Target”, 상태 S11-2인 “Pick up Target”, 상태 S11-3인 “Move it The position”, 및 상태 S11-4인 로 “Fix The target”의 시퀀스에 의해 구성된다.
“Find Target”은 대상 재료를 검색하는 상태이고, “Pick up Target”은 머니퓰레이터 부속물로 재료를 파지하는 상태이다. "Move it The position"은 재료를 미리 결정된 위치로 이동시키는 상태이고, "Fix The target"은 머니퓰레이터 부속물로 재료를 고정하는 상태이다.
한편, 상태 S12는 상태 S12-1인 “Find Target”, 상태 S12-2인 “Place The Tool”, 및 상태 S12-3인 "Move The Tool"의 시퀀스에 의해 구성된다.
“Find Target”은 절단 대상이 되는 재료를 검색하는 상태이고, “Place The Tool”은 칼 부속물을 재료에 가깝게 이동시키는 상태이다. “Move it The position”은 재료에 가깝게 있는 칼 부속물을 재료를 향해 이동시키는 것에 의해 재료를 절단하는 상태이다.
리프로서 역할하는 각각의 상태는 시작 상태로부터 목표 상태까지의 도 23에 예시된 바와 같은 상태 천이에 의해 표현된다.
도 24는 액션의 상황을 예시하는 다이어그램이다.
도 24의 예에서, 머니퓰레이터 부속물이 부착된 조리 팔(21-1)에 의해 재료인 고깃덩어리가 고정되고, 칼 부속물이 부착된 조리 팔(21-2)에 의해 고기가 절단된다.
머니퓰레이터 부속물에 의해 고깃덩어리를 고정하기 위한 조리 팔(21-1)의 동작은 도 22에서의 기술에 따라 “Select PickUp Tool”을 실행하는 것에 의해 실현된다. 게다가, 칼 부속물에 의해 고기를 절단하기 위한 조리 팔(21-2)의 동작은 도 22에서의 기술에 따라 “Select Cut Tools”를 실행하는 것에 의해 실현된다.
조리 로봇(2)의 액션은 위에서 기술된 바와 같이 트리 구조에 의해 표현된 액션들을 조합하는 것에 의해 제어될 수 있다.
트리 구조의 표현을 갖는 액션은 천이 이전 상태 및 천이 이후 상태에 따라 선택될 수 있으며, 개별 시퀀스를 구성하는 상태들 간의 에지로서 설정될 수 있다. 이 경우에, 조리 로봇(2)의 동작은 상태 시퀀스와 트리 구조의 표현을 갖는 액션의 조합을 사용하여 제어된다.
위에서 설명된 바와 같이, 조리 로봇(2)의 제어는 상태 천이 또는 트리 구조를 사용하여 수행된다. 조리 로봇(2)의 제어는 딥 신경 네트워크(deep neural network)(DNN) 또는 순환 신경 네트워크(recurrent neural network)(RNN)와 같은 신경 네트워크(neural network)(NN)를 사용하여 수행될 수 있다.
<<디바이스의 구성 및 동작>>
<디바이스의 구성>
- 데이터 프로세싱 디바이스(1)의 구성
도 25는 데이터 프로세싱 디바이스(1)의 하드웨어의 구성 예를 예시하는 블록 다이어그램이다.
도 25에 예시된 바와 같이, 데이터 프로세싱 디바이스(1)는 컴퓨터에 의해 구성된다. 중앙 프로세싱 유닛(CPU)(201), 판독 전용 메모리(ROM)(202) 및 랜덤 액세스 메모리(RAM)(203)는 버스(204)에 의해 상호 연결된다.
더욱이, 입/출력 인터페이스(205)가 버스(204)에 연결된다. 키보드, 마우스 등을 포함한 입력 유닛(206)과 디스플레이, 스피커 등을 포함한 출력 유닛(207)이 입/출력 인터페이스(205)에 연결된다.
게다가, 하드 디스크, 비휘발성 메모리 등을 포함한 저장 유닛(208), 네트워크 인터페이스 등을 포함한 통신 유닛(209), 및 이동식 매체(211)를 구동하기 위한 드라이브(210)가 입/출력 인터페이스(205)에 연결된다.
위에서 기술된 바와 같이 구성된 컴퓨터에서, CPU(201)는, 예를 들어, 저장 유닛(208)에 저장된 프로그램을 입/출력 인터페이스(205) 및 버스(204)를 통해 RAM(203)에 로딩하고 프로그램을 실행하며, 이에 의해 일련의 프로세싱을 수행한다.
도 26은 데이터 프로세싱 디바이스(1)의 기능 구성 예를 예시하는 블록 다이어그램이다.
도 26에 예시된 기능 유닛들 중 적어도 일부는 도 25에서의 CPU(201)가 미리 결정된 프로그램을 실행하는 것에 의해 실현된다.
도 26에 예시된 바와 같이, 데이터 프로세싱 디바이스(1)에서, 커맨드 생성 유닛(221)이 실현된다. 커맨드 생성 유닛(221)은 레시피 데이터 취득 유닛(231), 레시피 데이터 분석 유닛(232), 로봇 상태 추정 유닛(233), 상태 제어 유닛(234), 데이터베이스 관리 유닛(235) 및 커맨드 출력 유닛(236)을 포함한다.
레시피 데이터 취득 유닛(231)은 레시피 데이터를 관리하는 서버와 통신하는 것에 의해 레시피 데이터를 취득하도록 통신 유닛(209)을 제어한다. 레시피 데이터 취득 유닛(231)에 의해 취득된 레시피 데이터는, 예를 들어, 사용자에 의해 선택된 요리의 레시피 데이터이다.
레시피 데이터의 데이터베이스는 저장 유닛(208)에 구비될 수 있다. 이 경우에, 레시피 데이터는 저장 유닛(208)에 구비된 데이터베이스로부터 취득된다. 레시피 데이터 취득 유닛(231)에 의해 취득된 레시피 데이터는 레시피 데이터 분석 유닛(232)에 공급된다.
레시피 데이터 분석 유닛(232)은 레시피 데이터 취득 유닛(231)에 의해 취득된 레시피 데이터에 포함된 이미지 및 텍스트 데이터를 분석한다. 레시피 데이터 분석 유닛(232)에 의한 분석 결과는 상태 제어 유닛(234)에 공급된다.
로봇 상태 추정 유닛(233)은 조리 로봇(2)으로부터 송신된 이미지 및 센서 데이터를 수신하도록 통신 유닛(209)을 제어한다. 조리 로봇(2)으로부터, 조리 로봇(2)의 카메라에 의해 캡처된 이미지와 조리 로봇(2)의 미리 결정된 위치에 구비된 센서에 의해 측정된 센서 데이터가 미리 결정된 사이클로 송신된다. 조리 로봇(2) 주위의 상황이 조리 로봇(2)의 카메라에 의해 캡처된 이미지에 캡처되어 있다.
로봇 상태 추정 유닛(233)은 조리 로봇(2)으로부터 송신된 이미지 및 센서 데이터를 분석하는 것에 의해 조리 팔(21)의 상태 및 재료의 상태와 같은 조리 로봇(2) 주위의 상태를 추정한다. 로봇 상태 추정 유닛(233)에 의해 추정된 조리 로봇(2) 주위의 상태를 나타내는 정보가 상태 제어 유닛(234)에 공급된다.
상태 제어 유닛(234)은 레시피 데이터 분석 유닛(232)에 의한 레시피 데이터의 분석 결과에 기초하여 목표 상태를 설정한다. 상태 제어 유닛(234)은 레시피 데이터의 분석 결과에 기초하여, 로봇 상태 추정 유닛(233)에 의해 추정된 상태를 현재 상태로서 사용하여, 현재 상태로부터 목표 상태까지의 전체 조리 시퀀스의 계획을 수행한다.
게다가, 상태 제어 유닛(234)은 데이터베이스 관리 유닛(235)에 의해 관리되는 조리 방법 DB(102)(상태 천이 DB(111))를 참조하고, 전체 조리 시퀀스를 구성하는 상태들을 연결시키기 위한 상태 시퀀스인 개별 시퀀스를 설정한다.
상태 제어 유닛(234)은 조리 방법 DB(102)를 참조하여 천이 이전 상태 및 천이 이후 상태에 따라 액션을 선택한다. 상태 제어 유닛(234)은 액션 DB(112)로부터 선택된 액션에 관한 로봇 동작 사양 정보를 판독하고, 지시 커맨드를 생성한다.
상태 제어 유닛(234)에 의해 생성된 지시 커맨드는 조리 로봇(2)으로 하여금 로봇 동작 사양 정보에 의해 표시되는 사양에 따라 천이 이전 상태 및 천이 이후 상태에 따른 액션을 실행하게 하기 위한 커맨드이다. 따라서, 상태 제어 유닛(234)은 지시 커맨드를 생성하는 기능을 갖는다. 상태 제어 유닛(234)에 의해 생성된 지시 커맨드는 커맨드 출력 유닛(236)에 공급된다.
상태 제어 유닛(234)에 의해 생성된 지시 커맨드가 특정 상태 천이를 야기하기 위한 액션 전체의 실행의 지시를 제공하기 위한 커맨드일 수 있거나, 또는 액션의 일부의 실행의 지시를 제공하기 위한 커맨드일 수 있음에 유의한다. 환언하면, 하나의 액션이 하나의 지시 커맨드에 따라 실행될 수 있거나 또는 복수의 지시 커맨드에 따라 실행될 수 있다.
데이터베이스 관리 유닛(235)은 재료 DB(101), 조리 방법 DB(102) 및 서빙 방법 DB(103)를 관리한다. 재료 DB(101), 조리 방법 DB(102) 및 서빙 방법 DB(103)는, 예를 들어, 저장 유닛(208)에 구축된다.
커맨드 출력 유닛(236)은 상태 제어 유닛(234)에 의해 생성된 지시 커맨드를 조리 로봇(2)으로 송신하도록 통신 유닛(209)을 제어한다.
- 조리 로봇(2)의 구성
도 27은 조리 로봇(2)의 구성 예를 예시하는 블록 다이어그램이다.
조리 로봇(2)은 각각의 부분을 조리 로봇(2)의 동작을 제어하는 제어 디바이스인 제어기(61)(도 7)에 연결시키는 것에 의해 구성된다. 도 27에 예시된 구성 중 위에서 설명된 구성과 동일한 구성은 동일한 부호로 표기된다. 중복되는 설명은 적절하게 생략될 것이다.
조리 팔(21) 외에도, 카메라(251), 센서(252) 및 통신 유닛(253)이 제어기(61)에 연결된다.
제어기(61)는 CPU, ROM, RAM, 플래시 메모리 등을 갖는 컴퓨터에 의해 구성된다. 제어기(61)는 조리 로봇(2)의 전체적인 동작을 제어하기 위해 CPU에 의해 미리 결정된 프로그램을 실행한다. 위에서 기술된 바와 같이, 데이터 프로세싱 디바이스(1)는 제어기(61)에 의해 구성될 수 있다.
예를 들어, 제어기(61)는 카메라(251)에 의해 캡처된 이미지와 센서(252)에 의해 측정된 센서 데이터를 데이터 프로세싱 디바이스(1)로 송신하도록 통신 유닛(253)을 제어한다.
제어기(61)에서, 지시 커맨드 취득 유닛(261) 및 팔 제어 유닛(262)을 구현하기 위해 미리 결정된 프로그램이 실행된다.
지시 커맨드 취득 유닛(261)은 데이터 프로세싱 디바이스(1)로부터 송신되고 통신 유닛(253)에 의해 수신되는 지시 커맨드를 취득한다. 지시 커맨드 취득 유닛(261)에 의해 취득된 지시 커맨드는 팔 제어 유닛(262)에 공급된다.
팔 제어 유닛(262)은 지시 커맨드 취득 유닛(261)에 의해 취득된 지시 커맨드에 따라 조리 팔(21)의 동작을 제어한다.
카메라(251)는 조리 로봇(2) 주위의 상황의 이미지를 캡처하고 캡처에 의해 획득되는 이미지를 제어기(61)에 출력한다. 카메라(251)는 조리 보조 시스템(12)의 전방 및 조리 팔(21)의 원위단과 같은 다양한 위치에 구비되어 있다.
센서(252)는 온습도 센서, 압력 센서, 광학 센서, 거리 센서, 모션 센서, 측위 센서, 및 진동 센서와 같은 다양한 센서에 의해 구성된다. 센서(252)에 의한 측정은 미리 결정된 사이클로 수행된다. 센서(252)에 의한 측정 결과를 나타내는 센서 데이터는 제어기(61)에 공급된다.
카메라(251) 및 센서(252)는 조리 로봇(2)의 하우징(11)으로부터 떨어진 위치에 구비되어 있을 수 있다.
통신 유닛(253)은 무선 LAN 모듈 또는 LTE(long term evolution)와 호환되는 휴대 통신 모듈과 같은 무선 통신 모듈이다. 통신 유닛(253)은 데이터 프로세싱 디바이스(1) 또는 인터넷 상의 서버와 같은 외부 디바이스와 통신한다.
게다가, 통신 유닛(253)은 사용자에 의해 사용되는 스마트 폰 또는 태블릿 단말과 같은 휴대 단말과 통신한다. 요리의 선택과 같은 조리 로봇(2)에 대한 사용자의 조작은 휴대 단말 상에서의 조작에 의해 입력될 수 있다.
도 27에 예시된 바와 같이, 조리 팔(21)은 모터(271) 및 센서(272)를 구비하고 있다.
모터(271)는 조리 팔(21)의 각각의 관절부에 구비되어 있다. 모터(271)는 팔 제어 유닛(262)의 제어 하에서 축을 중심으로 한 회전 동작을 수행한다. 모터(271)의 회전량을 측정하기 위한 인코더, 인코더에 의한 측정 결과에 기초하여 모터(271)의 회전을 적응적으로 제어하기 위한 드라이버 등이 또한 각각의 관절부에 구비되어 있다.
센서(272)는, 예를 들어, 자이로 센서, 가속도 센서, 터치 센서 등에 의해 구성된다. 센서(272)는 조리 팔(21)의 동작 동안 각각의 관절부의 각속도, 가속도 등을 측정하고, 측정 결과를 나타내는 정보를 제어기(61)에 출력한다. 센서(272)의 측정 결과를 나타내는 센서 데이터도 조리 로봇(2)으로부터 데이터 프로세싱 디바이스(1)로 적절하게 송신된다.
조리 팔(21)의 개수와 같은 조리 로봇(2)의 능력에 관한 사양에 대한 정보는 미리 결정된 타이밍에서 조리 로봇(2)으로부터 데이터 프로세싱 디바이스(1)에 제공된다. 데이터 프로세싱 디바이스(1)에서, 조리 로봇(2)의 능력에 관한 사양에 따라 데이터베이스 내의 정보를 참조하는 것에 의해 위에서 기술된 계획이 수행한다. 데이터 프로세싱 디바이스(1)에서 생성된 지시 커맨드도 조리 로봇(2)의 능력에 관한 사양에 대응한다.
<디바이스의 동작>
여기서, 위에서 기술된 구성을 갖는 데이터 프로세싱 디바이스(1) 및 조리 로봇(2)의 동작이 기술될 것이다.
- 데이터 프로세싱 디바이스(1)의 동작
먼저, 조리 로봇(2)의 동작을 제어하기 위한 데이터 프로세싱 디바이스(1)의 프로세싱이 도 28 및 도 29의 플로차트를 참조하여 기술될 것이다.
도 28 및 도 29에서의 프로세싱은, 예를 들어, 사용자가 미리 결정된 요리를 조리하는 것을 선택할 때 시작된다.
단계(S1)에서, 레시피 데이터 취득 유닛(231)은 레시피 데이터를 취득한다.
단계(S2)에서, 레시피 데이터 분석 유닛(232)은 레시피 데이터 취득 유닛(231)에 의해 취득된 레시피 데이터를 분석한다.
단계(S3)에서, 상태 제어 유닛(234)은 레시피 데이터 분석 유닛(232)에 의한 분석 결과에 기초하여 레시피 데이터에 포함된 요리 이미지에 나오는 요리의 상태를 목표 상태로서 설정한다. 목표 상태는, 예를 들어, 위에서 기술된 바와 같이 ID와 파라미터 세트에 의해 표현된다.
단계(S4)에서, 로봇 상태 추정 유닛(233)은 조리 로봇(2)으로부터 송신된 이미지 및 센서 데이터에 기초하여 현재 상태를 추정한다.
단계(S5)에서, 상태 제어 유닛(234)은 목표 상태의 보정이 필요한지 여부를 결정한다.
단계(S5)에서 상태 제어 유닛(234)이 목표 상태의 보정이 필요하다고 결정하는 경우에, 단계(S6)에서 상태 제어 유닛(234)은 목표 상태를 보정한다.
예를 들어, "토마토"가 목표 상태로서 설정된 "니스풍 샐러드"를 위한 재료로서 사용되고 있지만 조리 로봇(2) 주위에 "토마토"가 없는 경우에, 목표 상태의 보정이 필요하다고 결정된다. 조리 로봇(2) 주위에 "토마토"가 없는 것은 로봇 상태 추정 유닛(233)에 의한 현재 상태의 추정 결과에 의해 특정된다.
이 경우에, 상태 제어 유닛(234)은, 예를 들어, 파라미터 세트로부터 "토마토"에 관한 파라미터를 삭제하는 것에 의해 목표 상태를 보정한다. 조리에 사용 가능한 재료의 상태가 목표 상태로서 설정된 재료의 상태를 충족시키지 못하는 것과 같이, 도달 불가능한 상태가 목표 상태로서 설정된 경우에, 목표 상태가 도달 가능한 상태이도록 보정된다. 재료를 변경하도록 목표 상태를 보정하지 않고 조리 방법을 변경하도록 목표 상태가 보정될 수 있다. 게다가, 재료와 조리 방법 둘 모두를 변경하도록 목표 상태가 보정될 수 있다.
조리에 사용 가능한 재료의 상태가 목표 상태를 충족시키지 못하는 경우에, 조리에 사용 가능한 재료로 조리될 수 있는 요리가 새로 선택될 수 있고 상이한 요리를 조리하기 위한 프로세싱이 계속될 수 있다.
단계(S5)에서 목표 상태의 보정이 필요하지 않다고 결정되는 경우에, 단계(S6)에서의 프로세싱은 생략된다.
단계(S7)에서, 상태 제어 유닛(234)은 레시피 데이터의 분석 결과에 기초하여 현재 상태로부터 목표 상태까지의 전체 조리 시퀀스의 계획을 수행한다.
도 29의 단계(S8)에서, 상태 제어 유닛(234)은 하위 목표 상태를 선택한다. 예를 들어, 전체 조리 시퀀스를 구성하는 상태들 중에서, 현재 상태를 기준으로 하여 다음 상태가 하위 목표 상태로서 선택된다.
단계(S9)에서, 상태 제어 유닛(234)은 데이터베이스 관리 유닛(235)에 의해 관리되는 상태 천이 DB(111)를 참조하고, 현재 상태와 하위 목표 상태를 연결시키기 위한 개별 시퀀스를 설정한다.
도 19를 참조하여 기술된 바와 같이, 상태 천이 DB(111)는 각각의 재료가 다양한 방법에 의해 조리될 때의 상태 천이에 관한 정보를 저장한다. 예를 들어, 상태 천이 DB(111)에 저장된 정보에 의해 표시되는 상태 천이들을 조합하는 것에 의해 개별 시퀀스가 설정된다.
개별 시퀀스를 설정할 때 액션 DB(112)에 저장된 정보가 참조될 수 있다.
예를 들어, 천이 이전 상태 s와 천이 이후 상태 s'을 연결시키는 "상태 천이 T"가 발견되지 않는다고 가정된다. 이 경우에, 상태 제어 유닛(234)은 천이 소스의 상태 세트 SS 및 천이 목적지의 상태 세트 SD를 설정한다. 상태 세트 SS는 상태 s를 포함하고, 상태 세트 SD는 상태 s'을 포함한다.
상태 제어 유닛(234)은 상태 세트 SS에 포함된 상태 si를 천이 소스로서 갖는 모든 액션을 액션 DB(112)에 저장된 정보를 갖는 액션들 중에서 검색한다. 상태 제어 유닛(234)은 검색에 의해 발견된 액션을 상태 si에 적용하고(순방향으로의 상태 천이를 가상적으로 야기함), 천이 목적지의 상태를 상태 세트 SS에 추가한다.
상태 세트 SD에 포함된 상태들 중에 상태 세트 SS에 추가된 상태와 동일한 상태가 있는 경우에, 상태 제어 유닛(234)은 상태 si와 상태 세트 SS에 추가된 상태를 연결시키는 상태 천이를 "상태 천이 T"로서 선택한다.
게다가, 상태 세트 SD에 포함된 상태들 중에 상태 세트 SS에 추가된 상태와 동일한 상태가 없는 경우에, 상태 제어 유닛(234)은 상태 세트 SD에 포함된 상태 sj를 천이 목적지로서 갖는 모든 액션을 액션 DB(112)에 저장된 정보를 갖는 액션들 중에서 검색한다. 상태 제어 유닛(234)은 검색에 의해 발견된 액션을 상태 sj에 적용하고(역방향으로의 상태 천이를 가상적으로 야기함), 천이 목적지의 상태를 상태 세트 SD에 추가한다.
상태 세트 SS에 포함된 상태들 중에 상태 세트 SD에 추가된 상태와 동일한 상태가 있는 경우에, 상태 제어 유닛(234)은 상태 sj와 상태 세트 SD에 추가된 상태를 연결시키는 상태 천이를 "상태 천이 T"로서 선택한다.
단계(S10)에서, 상태 제어 유닛(234)은 조리 방법 DB(102)를 참조하고, 현재 상태로부터 다음 상태로의 상태 천이를 야기하기 위한 액션을 선택하며, 지시 커맨드를 생성한다. 액션의 선택에 대한 세부 사항은 아래에서 기술될 것이다.
단계(S11)에서, 커맨드 출력 유닛(236)은 지시 커맨드를 조리 로봇(2)으로 송신하고, 조리 로봇(2)으로 하여금 상태 제어 유닛(234)에 의해 선택된 액션을 실행하게 한다.
단계(S12)에서, 로봇 상태 추정 유닛(233)은 조리 로봇(2)으로부터 송신된 이미지 및 센서 데이터에 기초하여 현재 상태를 추정한다.
단계(S13)에서, 상태 제어 유닛(234)은 로봇 상태 추정 유닛(233)에 의해 추정된 현재 상태에 기초하여 다음 상태로의 상태 천이가 완료되었는지 여부를 결정한다.
단계(S13)에서 상태 제어 유닛(234)이 상태 천이가 완료되지 않았다고 결정하는 경우에, 단계(S14)에서 상태 제어 유닛(234)은 상태 천이가 어려운 상태에 있는지 여부를 결정한다.
단계(S14)에서 상태 제어 유닛(234)이 상태 천이가 어려운 상태에 있지 않다고 결정하는 경우에, 프로세싱은 단계(S10)로 돌아가고 후속 프로세싱이 반복된다.
다른 한편으로, 단계(S14)에서 상태 제어 유닛(234)이 상태 천이가 어려운 상태에 있다고 결정하는 경우에, 프로세싱은 단계(S8)로 돌아가고 하위 목표 상태가 새로 선택된다.
예를 들어, 절단의 액션의 실행의 결과로서 절단될 재료가 상판(11A)으로부터 떨어지고, 재료의 절단이 가능하지 않게 되는 것이 로봇 상태 추정 유닛(233)에 의해 추정된다고 가정된다. 이 경우에, 상태 천이가 어려운 상태에 있다고 결정되고, 그 후에, 절단될 재료가 사용되지 않은 상태가 새로운 하위 목표 상태로서 선택된다.
단계(S13)에서 상태 제어 유닛(234)이 다음 상태로의 상태 천이가 완료되었다고 결정하는 경우에, 단계(S15)에서 상태 제어 유닛(234)은 상태가 하위 목표 상태로 천이했는지 여부를 결정한다.
단계(S15)에서 상태가 하위 목표 상태로 천이되지 않았다고 결정되는 경우에, 프로세싱은 단계(S10)로 돌아가고, 개별 시퀀스에 따라 상태 천이를 수행하기 위해 상기 프로세싱이 반복된다.
단계(S15)에서 상태 제어 유닛(234)이 상태가 하위 목표 상태에 도달했다고 결정하는 경우에, 단계(S16)에서 상태 제어 유닛(234)은 상태가 목표 상태에 도달했는지 여부를 결정한다.
단계(S16)에서 상태 천이가 목표 상태에 도달하지 않았다고 결정되는 경우에, 프로세싱은 단계(S5)로 돌아가고, 후속 프로세싱이 반복된다. 환언하면, 상태가 하나의 하위 목표 상태에 도달할 때마다 목표 상태의 보정이 필요한지 여부가 결정되고, 목표 상태가 적절하게 보정되며 프로세싱이 진행된다.
목표 상태의 보정과 함께 전체 조리 시퀀스를 구성하는 목표 상태까지의 각자의 상태들이 보정될 수 있다.
단계(S16)에서 상태가 목표 상태에 도달했다고 결정되는 경우에, 프로세싱이 종료된다. 이때, 현재 상태는 목표 상태로서 설정된 요리가 완성된 상태이다.
위에서 기술된 바와 같이, 조리 로봇(2)의 제어는 상태 천이가 발생할 때마다 목표 상태를 자율적으로 보정(변경)하면서 진행된다. 도달 가능한 상태를 목표 상태로서 설정하기 위해 보정이 수행되기 때문에, 요리가 미완성인 동안에는 프로세싱이 종료되지 않는다.
로봇을 제어하는 방법으로서, 예를 들어, 상태가 설정된 목표 상태에 도달할 수 없는 상태로 될 때 목표 상태에 도달하는 것을 포기하고 프로세싱을 종료시키는 방법이 있다.
조리 로봇(2)의 상태가 목표 상태에 도달할 수 없는 상태로 되는 것에 응답하여 프로세싱이 종료되는 경우, 지금까지 사용된 재료는 쓸모없게 된다.
목표 상태를 적절하게 보정하면서 프로세싱을 진행시키고, 목표 상태에 확실히 도달하도록 조리 로봇(2)을 제어하는 것에 의해, 재료 낭비의 발생이 방지될 수 있다.
- 액션의 선택
도 30은 도 29의 단계(S10)에서 수행될 액션의 선택의 예를 예시하는 다이어그램이다.
조리 로봇(2)에 의해 실행될 액션의 선택은 조리 방법 DB(102)를 참조하여 수행된다. 위에서 기술된 바와 같이, 데이터베이스 관리 유닛(235)에 의해 관리되는 조리 방법 DB(102)에서, 개별 시퀀스를 구성하는 상태 천이와 액션의 사양이 서로 연관되어 관리된다.
도 30에서 좌측단에 예시된 바와 같이, 상태 제어 유닛(234)은 천이 이전 상태의 ID와 천이 이후 상태의 ID의 쌍(<from_state_id, to_state_id> )을 키로서 사용하여 조리 방법 DB(102)를 검색한다. 검색을 수행하는 것에 의해, 키인 ID 쌍과 연관되어 관리되는 액션이 액션 후보로서 취득된다.
예를 들어, 현재 상태가 천이 이전 상태이고 개별 시퀀스에서의 현재 상태의 다음 상태가 천이 이후 상태인 ID 쌍에 대응하는 액션 후보가 취득된다. 액션 후보가 또한 상태를 나타내는 파라미터 세트에 기초하여 취득될 수 있다.
복수의 액션 후보가 취득되는 경우에, 상태 제어 유닛(234)는 각자의 액션 후보에 따른 액션이 수행되는 경우의 상태 천이를 평가한다. 상태 천이를 평가하는 데 사용되는 평가기는 각각의 액션 후보에 연계된 형태로 준비된다.
풍선 #11에 예시된 바와 같이, 액션 후보의 평가 결과는 성공률, 분산 값, 액션을 실행하는 데 걸리는 시간, 액션의 실행 이후의 정리에 가해지는 부하 등에 의해 표현된다.
상태 제어 유닛(234)은, 예를 들어, 최상의 평가 결과를 갖는 상태 천이를 야기하는 액션 후보를 조리 로봇(2)에 의해 실행될 액션으로서 선택한다. 예를 들어, 높은 성공률을 갖는 액션 후보는 낮은 성공률을 갖는 액션 후보보다 높은 평가 결과를 갖는다. 상태 천이의 평가를 위해, 현재 상태에 따른 제약, 우선 순위 등도 적절하게 사용된다.
도 31은 액션 후보의 선택의 예를 예시하는 다이어그램이다.
도 31에 예시된 바와 같이, 천이 이전 상태가 “whole tomato”이고 천이 이후 상태가 “1/8 tomato wedge”인 경우에, 전술한 상태의 ID 쌍을 키로서 사용한 검색에 의해 “cut by a knife”의 액션 후보가 취득된다.
다른 액션 후보로서, 풍선 #21에 예시된 바와 같이 “cut by scissors”, “cut by a slicer”, 및 “tear by hands”가 취득된다.
도 32는 액션 후보의 평가의 예를 예시하는 다이어그램이다.
“cut by a knife”의 액션 후보와 연관된 평가기를 사용하는 것에 의해 도 32에 예시된 바와 같이 액션 후보 “cut by a knife”의 평가 결과가 출력된다. 도 32의 예에서, “cut by a knife”의 액션 후보의 성공률은 99%이고, 액션을 실행하는 데 걸리는 시간은 20초이다. 게다가, 액션의 실행 이후의 정리에 가해지는 부하는 0.5이다.
액션 후보를 평가하기 위해 평가 결과를 구성하는 각각의 요소가 가중될 수 있다.
도 29의 단계(S10)에서, 예를 들어, 그러한 평가에 기초하여 하나의 액션이 선택된다.
- 지시 커맨드의 생성
조리 로봇(2)에 의해 실행될 액션이 선택된 후에 액션 DB(112)에 저장된 정보에 기초하여 지시 커맨드가 생성되었다. 그렇지만, 지시 커맨드가 신경 네트워크(NN)를 사용하여 생성될 수 있다.
도 33은 지시 커맨드의 생성의 예를 나타내는 다이어그램이다.
도 33에 예시된 바와 같이, 지시 커맨드를 생성하는 데 사용되는 NN이 각각의 액션에 대해 준비된다. 지시 커맨드를 생성하는 데 사용되는 NN은, 예를 들어, 천이 이전 상태와 천이 이후 상태를 나타내는 파라미터 세트, 현재 상태를 나타내는 정보 등을 입력으로 하여 지시 커맨드를 출력하는 NN이다.
현재 상태는, 예를 들어, 조리 로봇(2)에 의해 캡처된 이미지를 변환하는 것에 의해 획득되는 벡터 데이터, 조리 로봇(2)에 의해 측정된 센서 데이터를 변환하는 것에 의해 획득되는 벡터 데이터 등에 의해 표현된다. 각각의 액션을 위한 NN은 벡터 데이터의 시계열과 같은 다양한 학습 데이터를 사용한 학습에 의해 미리 생성되며, 예를 들어, 데이터베이스 관리 유닛(235)에 의해 관리된다.
도 33의 NN은 “cut by a knife”의 액션을 위한 NN이다. “cut by a knife”의 액션이 선택되는 경우에, 화살표 A101에 의해 예시된 바와 같이, 조리 로봇(2)에 의해 캡처된 이미지(P)가 다른 정보와 함께 “cut by a knife”의 액션을 위한 NN에 입력된다. 이미지(P)는 "칼"을 "토마토"에 갖다 댄 상황의 이미지를 캡처하는 것에 의해 획득되는 이미지이다.
“cut by a knife”의 액션을 위한 NN으로부터 출력된 미리 결정된 지시 커맨드가 조리 로봇(2)으로 송신되어 실행됨에 따라, 화살표 A102의 끝에 의해 예시된 바와 같이, 다음 상태로 천이하기 위한 액션이 수행된다.
- 조리 로봇(2)의 동작
다음으로, 조리 로봇(2)의 조리 프로세싱이 도 34의 플로차트를 참조하여 기술될 것이다.
도 34에 예시된 프로세싱은, 예를 들어, 통신 유닛(253)이 데이터 프로세싱 디바이스(1)로부터 송신된 지시 커맨드를 수신할 때 시작된다.
단계(S31)에서, 지시 커맨드 취득 유닛(261)은 데이터 프로세싱 디바이스(1)로부터 송신된 지시 커맨드를 취득한다.
단계(S32)에서, 팔 제어 유닛(262)은 지시 커맨드에 따라 조리 팔(21)의 동작을 제어한다. 그 후에, 프로세싱은 단계(S31)로 돌아가고, 지시 커맨드가 데이터 프로세싱 디바이스(1)로부터 송신될 때마다 상기 프로세싱이 반복된다.
데이터 프로세싱 디바이스(1)는 위에서 기술된 일련의 프로세싱에 의해 레시피 데이터에 포함된 이미지 및 텍스트 데이터로부터 요리에 사용되는 재료, 각각의 재료를 조리하는 방법 및 조리된 재료를 서빙하는 방법을 추정할 수 있다.
재료의 다양한 상태 등에 따른 조리 방법에 관한 정보가 데이터베이스에 준비되어 있으므로, 데이터 프로세싱 디바이스(1)는 조리 로봇(2)으로 하여금 다양한 상태에 대응하는 형태로 조리하게 할 수 있다. 데이터베이스에 준비된 정보는 사람이 가지고 있는 조리에 관한 지식에 대응하는 정보라고 말해질 수 있다.
위에서 기술된 바와 같이, 사람이 가지고 있는 재료의 시각 정보에 대응하는 이미지가 재료 DB(101)에 준비되어 있다. 게다가, 조리의 유형, 조리를 진행하는 방법과 같은 조리 방법에 관한 지식에 대응하는 정보가 조리 방법 DB(102)에 준비되어 있다. 게다가, 서빙 방법에 관한 지식에 대응하는 정보가 서빙 방법 DB(103)에 준비되어 있다.
데이터 프로세싱 디바이스(1)는 그러한 지식에 대응하는 정보로 레시피 데이터에 표현되지 않은 내용을 보완함으로써 조리 로봇(2)으로 하여금 다양한 상태에 대응하는 형태로 조리를 수행하게 할 수 있다.
한편, 조리 로봇(2)은 데이터 프로세싱 디바이스(1)의 추정 결과에 기초하여 재료를 조리하고 조리된 재료를 서빙함으로써 요리를 완성할 수 있다. 상태 천이의 계획이 반복적으로 수행되므로, 조리 로봇(2)은 상태에 관계없이 요리를 완성할 수 있다.
위에서 기술된 바와 같이, 도 1에 예시된 제어 시스템은 조리 로봇(2)으로 하여금, 이미지 및 텍스트 데이터를 포함하고 로봇을 제어하기 위한 불완전한 정보일 수 있는, 레시피 데이터에 기초하여 조리를 수행하게 하는 것을 구현한다.
<<변형예>>
조리의 계획이 레시피 데이터와 데이터베이스에 준비된 정보에 기초하여 수행되었지만, 계획이 사용자의 선호도를 고려하여 수행될 수 있다. 예를 들어, 사용자가 좋아하는 재료를 추가하거나 싫어하는 재료를 제외시키는 것에 의해 계획이 수행된다.
조리에 사용 가능한 재료의 종류 및 개수와 같은 제한에 따라 재료를 변경하거나 재료의 양을 변경하는 것에 의해 계획이 수행할 수 있다.
엔터테인먼트 속성을 갖는 조리가 수행될 수 있다. 예를 들어, 재료를 절단하기 전에 절단 방법을 음성으로 설명하거나 요리가 완성되었을 때 음악을 재생하는 프로세싱이 조리 로봇(2)에 의해 수행됨으로써, 엔터테인먼트 속성이 조리 로봇(2)의 조리에 부여될 수 있다.
하나의 레시피 데이터에 기초하여 하나의 요리를 조리하는 경우가 기술되었다. 그렇지만, 복수의 레시피 데이터가 데이터 프로세싱 디바이스(1)에 입력될 수 있고, 요리의 계획 등이 복수의 레시피 데이터에 기초하여 수행될 수 있다. 복수의 레시피 데이터가 입력되는 경우에, 데이터 프로세싱 디바이스(1)는 레시피 데이터를 프로세싱하여 하나의 레시피 데이터로 결합한다.
도 35는 레시피 데이터의 프로세싱의 예를 예시하는 다이어그램이다.
복수의 종류의 요리를 만드는 경우에, 한 번에 한 종류의 요리를 순서대로 만드는 것이 아니라 복수의 종류의 요리를 병렬로 만드는 조리가 수행된다.
예를 들어, 요리 A와 요리 B를 만드는 것이 선택된 경우에, 상태 제어 유닛(234)은, 도 35에 예시된 바와 같이, 요리 A의 레시피 데이터와 요리 B의 레시피 데이터를 결합하여 요리 A와 요리 B를 만들기 위한 레시피 데이터를 생성한다.
프로세싱된 레시피 데이터에는, 요리 A를 만들기 위한 작업과 요리 B를 만들기 위한 작업이 결합되어 있다.
조리 팔(21)의 개수 또는 사용 가능한 부속물의 유형에 따라 요리 A를 만들기 위한 작업 동안 요리 B를 만들기 위한 다른 작업이 수행될 수 있다.
복수의 종류의 요리를 만드는 경우에 각자의 요리들을 만들기 위한 작업들이 적절하게 병렬로 수행될 수 있도록 레시피 데이터의 기술 내용을 변경하는 것에 의해, 조리 시간이 단축될 수 있다.
<컴퓨터의 구성 예>
위에서 기술된 일련의 프로세싱이 하드웨어 또는 소프트웨어에 의해 실행될 수 있다. 일련의 프로세싱이 소프트웨어에 의해 실행되는 경우에, 소프트웨어를 구성하는 프로그램은 프로그램 기록 매체로부터 전용 하드웨어에 통합된 컴퓨터, 범용 개인용 컴퓨터 등에 설치된다.
위에서 기술된 일련의 프로세싱이 하드웨어 또는 소프트웨어에 의해 실행될 수 있다. 일련의 프로세싱이 소프트웨어에 의해 실행되는 경우에, 소프트웨어를 구성하는 프로그램은 전용 하드웨어에 통합된 컴퓨터, 범용 개인용 컴퓨터 등에 설치된다.
설치될 프로그램은 광학 디스크(CD-ROM(compact disc-read only memory), DVD(digital versatile disc) 등), 반도체 메모리 등을 포함하는 도 25에 예시된 이동식 매체(211)에 기록되어 제공된다. 게다가, 프로그램은 로컬 영역 네트워크, 인터넷 또는 디지털 방송과 같은 유선 또는 무선 송신 매체를 통해 제공될 수 있다. 프로그램은 ROM(202) 또는 저장 유닛(208)에 미리 설치될 수 있다.
컴퓨터에 의해 실행되는 프로그램은 본 명세서에 기술된 순서에 따라 시간순으로 프로세싱되는 프로그램일 수 있거나, 또는 병렬로 또는 호출이 이루어질 때와 같이 필요한 타이밍에서 실행되는 프로그램일 수 있다.
본 명세서에서, "시스템"이라는 용어가 복수의 구성 요소(디바이스, 모듈(부품) 등)의 그룹을 의미하며, 모든 구성 요소가 동일한 케이스에 있는지 여부는 문제가 되지 않음에 유의한다. 따라서, 별개의 하우징에 수용되고 네트워크를 통해 연결된 복수의 디바이스와 하나의 케이스에 복수의 모듈을 수용하는 하나의 디바이스 둘 모두는 시스템이다.
본 명세서에서 기술되는 효과는 예에 불과하고 제한되지 않으며, 다른 효과가 나타날 수 있다.
본 기술의 실시예는 위에서 기술된 실시예로 제한되지 않고, 본 기술의 요지를 벗어나지 않으면서 다양한 변형이 이루어질 수 있다.
예를 들어, 본 기술에서는, 하나의 기능이 네트워크를 통해 복수의 디바이스에 의해 분담되고 협력하여 프로세싱되는 클라우드 컴퓨팅의 구성이 채택될 수 있다.
게다가, 위에서 기술된 플로차트에서 기술된 단계는 하나의 디바이스에 의해 실행될 수 있거나 또는 복수의 디바이스에 의해 분담되어 실행될 수 있다.
더욱이, 하나의 단계에 복수의 프로세스가 포함되는 경우에, 하나의 단계에 포함된 복수의 프로세스는 하나의 디바이스에 의해 실행될 수 있거나 또는 복수의 디바이스에 의해 분담되어 실행될 수 있다.
본 기술 분야의 통상의 기술자라면, 첨부된 청구항 또는 그 균등물의 범위 내에 있는 한, 설계 요구사항 및 다른 인자에 따라 다양한 변형, 조합, 부분 조합 및 변경이 이루어질 수 있음을 이해할 것이다.
본 기술이 다음과 같은 구성을 채택할 수 있음에 유의해야 한다.
(1) 데이터 프로세싱 디바이스로서,
적어도 하나의 팔을 구비한 로봇에 의해 프로세스 동안 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하도록 구성된 커맨드 생성 유닛을 포함하고,
지시 커맨드는 지시 데이터에 기초하여 생성되며, 지시 데이터는
프로세스 동안 또는 프로세스 이후의 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및
프로세스에서 이용될 객체 또는 프로세스 동안 실행될 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하며,
커맨드 생성 유닛은 적어도 하나의 프로세서를 통해 구현되는, 데이터 프로세싱 디바이스.
(2) (1)에 있어서, 하나 이상의 동작은 조리 프로세스 동안 실행될 하나 이상의 조리 동작을 포함하고, 지시 데이터는 요리의 레시피 데이터를 포함하며, 프로세스에서 이용되는 적어도 하나의 객체는 조리 프로세스에서 사용되는 적어도 하나의 재료를 포함하고, 커맨드 생성 유닛은 적어도 하나의 재료와 적어도 하나의 재료를 사용하여 실행될 조리 동작을 서로 연관시키는 정보를 포함하는 조리 데이터 세트를 참조하여 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(3) (1) 또는 (2)에 있어서, 조리 데이터 세트는 조리 동작과 조리 동작이 수행될 때 사용되는 조리 도구를 서로 연관시키는 정보인, 데이터 프로세싱 디바이스.
(4) (1) 내지 (3) 중 어느 하나에 있어서, 조리 데이터 세트는 조리 동작, 조리 동작이 수행될 때 사용되는 조리 도구, 및 조리 도구의 사양을 서로 연관시키는 정보인, 데이터 프로세싱 디바이스.
(5) (1) 내지 (4) 중 어느 하나에 있어서, 커맨드 생성 유닛은 로봇의 능력에 관한 사양 및 조리 데이터 세트를 참조하여 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(6) (1) 내지 (5) 중 어느 하나에 있어서, 커맨드 생성 유닛은 요리에서의 적어도 하나의 재료를 서빙하는 방법에 관한 정보를 포함하는 서빙 데이터 세트를 참조하여 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(7) (1) 내지 (6) 중 어느 하나에 있어서, 서빙 데이터 세트는 적어도 하나의 재료의 식별자와 서빙에 사용되는 식기에서의 적어도 하나의 재료의 위치를 나타내는 위치 데이터를 서로 연관시키는 정보인, 데이터 프로세싱 디바이스.
(8) (1) 내지 (7) 중 어느 하나에 있어서, 위치 데이터는 적어도 하나의 재료의 평면 위치 또는 적어도 하나의 재료의 계층 위치 중 적어도 하나를 나타내는 정보인, 데이터 프로세싱 디바이스.
(9) (1) 내지 (8) 중 어느 하나에 있어서, 위치 데이터는 재료들을 동일한 계층에 미리 결정된 패턴으로 배치하는 평면 배치 패턴을 적어도 하나의 재료의 평면 위치로서 나타내고, 재료들을 상이한 계층들에 미리 결정된 패턴으로 배치하는 계층 배치 패턴을 재료들의 계층 위치로서 나타내는 정보인, 데이터 프로세싱 디바이스.
(10) (1) 내지 (9) 중 어느 하나에 있어서, 이미지 데이터는 프로세스 동안 또는 프로세스 이후의 상황들을 캡처하는 것에 의해 획득되는 하나 이상의 정지 이미지 또는 프로세스 동안 실행되는 하나 이상의 동작을 캡처하는 것에 의해 획득되는 동영상의 데이터를 포함하는, 데이터 프로세싱 디바이스.
(11) (1) 내지 (10) 중 어느 하나에 있어서, 지시 데이터는 객체의 이름을 나타내는 텍스트 데이터 또는 프로세스를 나타내는 텍스트 데이터 중 적어도 하나를 텍스트 데이터로서 추가로 포함하는, 데이터 프로세싱 디바이스.
(12) (1) 내지 (11) 중 어느 하나에 있어서, 커맨드 생성 유닛은 이미지 데이터에 나타나는 상황이 목표 상태로서 설정된 상태 천이에 따라 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(13) (1) 내지 (12) 중 어느 하나에 있어서, 프로세스에서 이용되는 객체의 상태가 지시 데이터에 기술된 객체의 상태를 충족시키지 못하는 경우에, 커맨드 생성 유닛은 프로세스에서 이용되는 객체의 상태에 따라 상태 천이를 설정하고 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(14) (1) 내지 (13) 중 어느 하나에 있어서, 커맨드 생성 유닛은 사용자의 선호도에 따라 상태 천이를 설정하고 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(15) (1) 내지 (14) 중 어느 하나에 있어서, 커맨드 생성 유닛은 프로세스 동안 실행될 하나 이상의 동작의 상태에 따라 상태 천이를 자율적으로 변경하고 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(16) (1) 내지 (15) 중 어느 하나에 있어서, 커맨드 생성 유닛은 하나 이상의 동작의 상태에 따라 객체 또는 프로세스 중 적어도 하나가 변경되는 상태 천이를 설정하고, 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(17) (1) 내지 (16) 중 어느 하나에 있어서, 커맨드 생성 유닛은 조리 프로세스에서 이용될 객체와 객체를 사용하여 실행될 동작을 서로 연관시키는 정보를 포함하는 데이터 세트를 복수 회 참조하면서 상태 천이를 설정하는, 데이터 프로세싱 디바이스.
(18) (1) 내지 (17) 중 어느 하나에 있어서, 커맨드 생성 유닛은 객체가 프로세스에서 이용된 후에 객체를 서빙하는 방법에 관한 정보를 포함하는 서빙 데이터 세트를 복수 회 참조하면서 상태 천이를 설정하는, 데이터 프로세싱 디바이스.
(19) (1) 내지 (18) 중 어느 하나에 있어서, 커맨드 생성 유닛은 복수의 지시 데이터를 결합하는 것에 의해 획득되는 결합된 지시 데이터에 기초하여 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
(20) 데이터 프로세싱 방법으로서,
데이터 프로세싱 디바이스에 의해, 적어도 하나의 팔을 구비한 로봇에 의해 프로세스 동안 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하는 단계를 포함하며,
지시 커맨드는 지시 데이터에 기초하여 생성되며, 지시 데이터는 프로세스 동안 또는 프로세스 이후에 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및
프로세스에서 이용될 객체 또는 프로세스 동안 실행될 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하는, 방법.
1 데이터 프로세싱 디바이스
2 조리 로봇
21-1 내지 21-4 조리 팔
61 제어기
221 커맨드 생성 유닛
231 레시피 데이터 취득 유닛
232 레시피 데이터 분석 유닛
233 로봇 상태 추정 유닛
234 상태 제어 유닛
235 데이터베이스 관리 유닛
236 커맨드 출력 유닛
251 카메라
252 센서
253 통신 유닛
261 지시 커맨드 취득 유닛
262 팔 제어 유닛

Claims (20)

  1. 데이터 프로세싱 디바이스로서,
    적어도 하나의 팔을 구비한 로봇에 의해 프로세스 동안 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하도록 구성된 커맨드 생성 유닛
    을 포함하고,
    상기 지시 커맨드는 지시 데이터에 기초하여 생성되며, 상기 지시 데이터는
    상기 프로세스 동안 또는 상기 프로세스 이후의 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및
    상기 프로세스에서 이용될 객체 또는 상기 프로세스 동안 실행될 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하며,
    상기 커맨드 생성 유닛은 적어도 하나의 프로세서를 통해 구현되는, 데이터 프로세싱 디바이스.
  2. 제1항에 있어서,
    상기 하나 이상의 동작은 조리 프로세스 동안 실행될 하나 이상의 조리 동작을 포함하고, 상기 지시 데이터는 요리의 레시피 데이터를 포함하며, 상기 프로세스에서 이용되는 상기 적어도 하나의 객체는 상기 조리 프로세스에서 사용되는 적어도 하나의 재료를 포함하고, 상기 커맨드 생성 유닛은 상기 적어도 하나의 재료와 상기 적어도 하나의 재료를 사용하여 실행될 조리 동작을 서로 연관시키는 정보를 포함하는 조리 데이터 세트를 참조하여 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  3. 제2항에 있어서,
    상기 조리 데이터 세트는 상기 조리 동작과 상기 조리 동작이 수행될 때 사용되는 조리 도구를 서로 연관시키는 정보인, 데이터 프로세싱 디바이스.
  4. 제2항에 있어서,
    상기 조리 데이터 세트는 상기 조리 동작, 상기 조리 동작이 수행될 때 사용되는 조리 도구, 및 상기 조리 도구의 사양을 서로 연관시키는 정보인, 데이터 프로세싱 디바이스.
  5. 제2항에 있어서,
    상기 커맨드 생성 유닛은 상기 로봇의 능력에 관한 사양 및 상기 조리 데이터 세트를 참조하여 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  6. 제2항에 있어서,
    상기 커맨드 생성 유닛은 상기 요리에서의 상기 적어도 하나의 재료를 서빙하는 방법에 관한 정보를 포함하는 서빙 데이터 세트를 참조하여 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  7. 제6항에 있어서,
    상기 서빙 데이터 세트는 상기 적어도 하나의 재료의 식별자와 서빙에 사용되는 식기에서의 상기 적어도 하나의 재료의 위치를 나타내는 위치 데이터를 서로 연관시키는 정보인, 데이터 프로세싱 디바이스.
  8. 제7항에 있어서,
    상기 위치 데이터는 상기 적어도 하나의 재료의 평면 위치 또는 상기 적어도 하나의 재료의 계층 위치 중 적어도 하나를 나타내는 정보인, 데이터 프로세싱 디바이스.
  9. 제8항에 있어서,
    상기 위치 데이터는 재료들을 동일한 계층에 미리 결정된 패턴으로 배치하는 평면 배치 패턴을 상기 적어도 하나의 재료의 상기 평면 위치로서 나타내고, 상기 재료들을 상이한 계층들에 미리 결정된 패턴으로 배치하는 계층 배치 패턴을 상기 재료들의 상기 계층 위치로서 나타내는 정보인, 데이터 프로세싱 디바이스.
  10. 제1항에 있어서,
    상기 이미지 데이터는 상기 프로세스 동안 또는 상기 프로세스 이후의 상황들을 캡처하는 것에 의해 획득되는 하나 이상의 정지 이미지 또는 상기 프로세스 동안 실행되는 하나 이상의 동작을 캡처하는 것에 의해 획득되는 동영상의 데이터를 포함하는, 데이터 프로세싱 디바이스.
  11. 제1항에 있어서,
    상기 지시 데이터는 상기 객체의 이름을 나타내는 텍스트 데이터 또는 상기 프로세스를 나타내는 텍스트 데이터 중 적어도 하나를 상기 텍스트 데이터로서 추가로 포함하는, 데이터 프로세싱 디바이스.
  12. 제1항에 있어서,
    상기 커맨드 생성 유닛은 상기 이미지 데이터에 나타나는 상황이 목표 상태로서 설정된 상태 천이에 따라 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  13. 제12항에 있어서,
    상기 프로세스에서 이용되는 상기 객체의 상태가 상기 지시 데이터에 기술된 상기 객체의 상태를 충족시키지 못하는 경우에, 상기 커맨드 생성 유닛은 상기 프로세스에서 이용되는 상기 객체의 상기 상태에 따라 상기 상태 천이를 설정하고 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  14. 제12항에 있어서,
    상기 커맨드 생성 유닛은 사용자의 선호도에 따라 상기 상태 천이를 설정하고 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  15. 제12항에 있어서,
    상기 커맨드 생성 유닛은 상기 프로세스 동안 실행될 상기 하나 이상의 동작의 상태에 따라 상기 상태 천이를 자율적으로 변경하고 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  16. 제15항에 있어서,
    상기 커맨드 생성 유닛은 상기 하나 이상의 동작의 상태에 따라 상기 객체 또는 상기 프로세스 중 적어도 하나가 변경되는 상기 상태 천이를 설정하고, 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  17. 제12항에 있어서,
    상기 커맨드 생성 유닛은 상기 조리 프로세스에서 이용될 상기 객체와 상기 객체를 사용하여 실행될 동작을 서로 연관시키는 정보를 포함하는 데이터 세트를 복수 회 참조하면서 상기 상태 천이를 설정하는, 데이터 프로세싱 디바이스.
  18. 제12항에 있어서,
    상기 커맨드 생성 유닛은 상기 객체가 상기 프로세스에서 이용된 후에 상기 객체를 서빙하는 방법에 관한 정보를 포함하는 서빙 데이터 세트를 복수 회 참조하면서 상기 상태 천이를 설정하는, 데이터 프로세싱 디바이스.
  19. 제1항에 있어서,
    상기 커맨드 생성 유닛은 복수의 상기 지시 데이터를 결합하는 것에 의해 획득되는 결합된 지시 데이터에 기초하여 상기 지시 커맨드를 생성하는, 데이터 프로세싱 디바이스.
  20. 데이터 프로세싱 방법으로서,
    데이터 프로세싱 디바이스에 의해, 적어도 하나의 팔을 구비한 로봇에 의해 프로세스 동안 실행될 하나 이상의 동작의 지시를 제공하기 위한 지시 커맨드를 생성하는 단계
    를 포함하며,
    상기 지시 커맨드는 지시 데이터에 기초하여 생성되며, 상기 지시 데이터는
    상기 프로세스 동안 또는 상기 프로세스 이후에 상황들의 하나 이상의 이미지를 캡처하는 것에 의해 획득되는 이미지 데이터, 및
    상기 프로세스에서 이용될 객체 또는 상기 프로세스 동안 실행될 동작 중 적어도 하나를 나타내는 텍스트 데이터를 포함하는, 방법.
KR1020217011654A 2018-11-05 2019-10-24 데이터 프로세싱 디바이스 및 데이터 프로세싱 방법 KR20210089646A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JPJP-P-2018-208192 2018-11-05
JP2018208192A JP7259269B2 (ja) 2018-11-05 2018-11-05 データ処理装置、データ処理方法
PCT/JP2019/041606 WO2020095687A1 (en) 2018-11-05 2019-10-24 Data processing device and data processing method

Publications (1)

Publication Number Publication Date
KR20210089646A true KR20210089646A (ko) 2021-07-16

Family

ID=68501985

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217011654A KR20210089646A (ko) 2018-11-05 2019-10-24 데이터 프로세싱 디바이스 및 데이터 프로세싱 방법

Country Status (6)

Country Link
US (1) US11995580B2 (ko)
EP (1) EP3877928A1 (ko)
JP (1) JP7259269B2 (ko)
KR (1) KR20210089646A (ko)
CN (1) CN113168604A (ko)
WO (1) WO2020095687A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022102287A1 (ja) 2020-11-11 2022-05-19 ソニーグループ株式会社 情報処理装置、及び調理システム
US20220172107A1 (en) * 2020-12-01 2022-06-02 X Development Llc Generating robotic control plans
US20230030633A1 (en) * 2021-07-28 2023-02-02 Bear Robotics, Inc. Method, system, and non-transitory computer-readable recording medium for controlling a serving robot

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003058771A (ja) * 2001-08-09 2003-02-28 Matsushita Electric Ind Co Ltd 投稿レシピ記憶方法及び投稿レシピ提供方法
CN100445948C (zh) * 2001-09-29 2008-12-24 张晓林 自动烹调方法及系统
KR100745815B1 (ko) * 2006-01-26 2007-08-02 엘지전자 주식회사 조리기기의 가족별 메뉴관리방법과 장치
JP2008123131A (ja) * 2006-11-09 2008-05-29 Toshiba Corp 調理レシピ抽出装置および方法、並びに調理レシピ抽出プログラム
CN112068526B (zh) 2014-02-20 2024-05-17 M·奥利尼克 用于在机器人烹饪厨房中制备食物的方法和系统
JP6561562B2 (ja) * 2014-06-30 2019-08-21 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 加熱調理装置、情報表示装置、制御方法、調理器具、およびコンピュータプログラム
TR201708738T4 (tr) * 2014-09-01 2018-11-21 Vorwerk Co Interholding Tarif kontrollü çok-fonksiyonlu pişirme aygıtı.
US10518409B2 (en) * 2014-09-02 2019-12-31 Mark Oleynik Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
US11645444B2 (en) * 2016-05-10 2023-05-09 Trustees Of Tufts College Systems and methods enabling online one-shot learning and generalization by intelligent systems of task-relevant features and transfer to a cohort of intelligent systems
CN106647475A (zh) * 2016-12-08 2017-05-10 美的集团股份有限公司 实现智能烹饪的控制方法及装置
WO2018165038A1 (en) 2017-03-06 2018-09-13 Miso Robotics, Inc. Augmented reality-enhanced food preparation system and related methods
WO2021156647A1 (en) * 2020-02-06 2021-08-12 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library

Also Published As

Publication number Publication date
JP2020075301A (ja) 2020-05-21
US20210379766A1 (en) 2021-12-09
WO2020095687A1 (en) 2020-05-14
JP7259269B2 (ja) 2023-04-18
CN113168604A (zh) 2021-07-23
EP3877928A1 (en) 2021-09-15
US11995580B2 (en) 2024-05-28

Similar Documents

Publication Publication Date Title
US11738455B2 (en) Robotic kitchen systems and methods with one or more electronic libraries for executing robotic cooking operations
WO2019021058A2 (en) SYSTEMS AND METHODS FOR OPERATING A ROBOTIC SYSTEM AND EXECUTING ROBOTIC INTERACTIONS
US11995580B2 (en) Data processing device and data processing method
US20170348854A1 (en) Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with containers and electronic minimanipulation libraries
US20230031545A1 (en) Robotic kitchen systems and methods in an instrumented environment with electronic cooking libraries
WO2020095688A1 (en) Robot, robot control device, and control method
Sundaresan et al. Learning sequential acquisition policies for robot-assisted feeding
CN112025692A (zh) 一种自学习机器人的控制方法、装置和电子设备
WO2021024830A1 (ja) 情報処理装置、情報処理方法、調理ロボット、調理方法、および調理器具
US20220338671A1 (en) Information processing device, information processing method, cooking robot, cooking method, and cooking equipment
WO2021200306A1 (ja) 情報処理装置、情報処理端末、情報処理方法
KR20240072447A (ko) 지식과 학습이 결합된 계층적 로봇 작업 프레임워크
Yi et al. Routine based models of anticipation in natural behaviors
CN111966001A (zh) 一种生成数字菜谱的方法及装置

Legal Events

Date Code Title Description
A201 Request for examination