KR20220028104A - 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템 - Google Patents

전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템 Download PDF

Info

Publication number
KR20220028104A
KR20220028104A KR1020227003760A KR20227003760A KR20220028104A KR 20220028104 A KR20220028104 A KR 20220028104A KR 1020227003760 A KR1020227003760 A KR 1020227003760A KR 20227003760 A KR20227003760 A KR 20227003760A KR 20220028104 A KR20220028104 A KR 20220028104A
Authority
KR
South Korea
Prior art keywords
robotic
kitchen
chef
standardized
recipe
Prior art date
Application number
KR1020227003760A
Other languages
English (en)
Other versions
KR102586689B1 (ko
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
Priority claimed from US14/627,900 external-priority patent/US9815191B2/en
Application filed by 엠비엘 리미티드 filed Critical 엠비엘 리미티드
Publication of KR20220028104A publication Critical patent/KR20220028104A/ko
Application granted granted Critical
Publication of KR102586689B1 publication Critical patent/KR102586689B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • 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
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • B25J11/009Nursing, e.g. carrying sick persons, pushing wheelchairs, distributing drugs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/02Hand grip control means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0095Gripping heads and other end effectors with an external support, i.e. a support which does not belong to the manipulator or the object to be gripped, e.g. for maintaining the gripping head in an accurate position, guiding it or preventing vibrations
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J3/00Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
    • B25J3/04Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0009Constructional details, e.g. manipulator supports, bases
    • B25J9/0018Bases fixed on ceiling, i.e. upside down manipulators
    • 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
    • B25J9/0087Dual arms
    • 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
    • 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
    • B62LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
    • B62DMOTOR VEHICLES; TRAILERS
    • B62D57/00Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
    • B62D57/02Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
    • B62D57/032Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36184Record actions of human expert, teach by showing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40116Learn by operator observation, symbiosis, show, watch
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40391Human to robot skill transfer
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40395Compose movement with primitive movement segments from database
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/01Mobile robot
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/03Teaching system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/27Arm part
    • Y10S901/28Joint

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Food Science & Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Nursing (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Transportation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Manipulator (AREA)
  • Food-Manufacturing Devices (AREA)
  • Image Processing (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 개시의 실시형태는, 컴퓨터로 인코딩된 로봇 움직임 및 액션 프리미티브의 세트에 기초하여 휴머노이드에 대한 움직임, 액션, 및 휴머노이드의 거동을 자동적으로 구축하는 것에 의해, 복잡한 로봇 휴머노이드 움직임, 액션, 및 툴 및 환경과의 상호 작용을 생성할 수 있는 능력에 관련이 있는 기술적 피쳐를 대상으로 한다. 프리미티브는, 복잡도에서 간단한 것으로부터 복잡한 것까지의 범위에 이르는 연계된 자유도의 모션/액션에 의해 정의되며, 직렬/병렬 양식으로 임의의 형태로 결합될 수 있다. 이들 모션 프리미티브는 미소 조작으로 칭해지며, 각각은, 소정의 기능을 달성하도록 의도되는, 명확한 시간 인덱싱된 커맨드 입력 구조, 및 출력 거동/성능 프로파일을 갖는다. 미소 조작은, 휴머노이드 로봇에 대한 일반적인 예제 단위로 프로그래밍가능한 플랫폼을 생성하는 신규의 방식을 포함한다. 하나 이상의 미소 조작 전자 라이브러리는, 요리하기, 병약한 사람 돌보기, 또는 차세대 휴머노이드 로봇에 의해 수행되는 다른 태스크와 같은 복잡한 태스크에 대한 공통의 빌딩 블록인 더 고 레벨의 감지 및 실행 시퀀스의 큰 스위트를 제공한다.

Description

전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템{ROBOTIC MANIPULATION METHODS AND SYSTEMS FOR EXECUTING A DOMAIN-SPECIFIC APPLICATION IN AN INSTRUMENTED ENVIRONMENT WITH ELECTRONIC MINIMANIPULATION LIBRARIES}
본 출원은 2015년 2월 20일자로 출원되었고 발명의 명칭이 "Methods and Systems for Food Preparation in a Robotic Cooking Kitchen"인 공동 계류 중인 미국 특허 출원 제14/627,900호의 일부 계속 출원이다.
이 일부 계속 출원은, 2015년 8월 6일자로 출원되었고 발명의 명칭이 "Robotic Manipulation Methods and Systems Based on Electronic Mini-Manipulation Libraries"인 미국 가출원 제62/202,030호, 2015년 7월 7일자로 출원되었고 발명의 명칭이 "Robotic Manipulation Methods and Systems Based on Electronic Minimanipulation Libraries"인 미국 가출원 제62/189,670호, 2015년 5월 27일자로 출원되었고 발명의 명칭이 "Robotic Manipulation Methods and Systems Based on Electronic Minimanipulation Libraries"인 미국 가출원 제62/166,879호, 2015년 5월 13일자로 출원되었고 발명의 명칭이 "Robotic Manipulation Methods and Systems Based on Electronic Minimanipulation Libraries"인 미국 가출원 제62/161,125호, 2015년 4월 12일자로 출원되었고 발명의 명칭이 "Robotic Manipulation Methods and Systems Based on Electronic Minimanipulation Libraries"인 미국 가출원 제62/146,367호, 2015년 2월 16일자로 출원되었고 발명의 명칭이 "Method and System for Food Preparation in a Robotic Cooking Kitchen"인 미국 가출원 제62/116,563호, 2015년 2월 8일자로 출원되었고 발명의 명칭이 "Method and System for Food Preparation in a Robotic Cooking Kitchen"인 미국 가출원 제62/113,516호, 2015년 1월 28일자로 출원되었고 발명의 명칭이 "Method and System for Food Preparation in a Robotic Cooking Kitchen"인 미국 가출원 제62/109,051호, 2015년 1월 16일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/104,680호, 2014년 12월 10일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/090,310호, 2014년 11월 22일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/083,195호, 2014년 10월 31일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/073,846호, 2014년 9월 26일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/055,799호, 2014년 9월 2일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/044,677호에 대한 우선권을 주장한다.
미국 특허 출원 제14/627,900호는, 2015년 2월 16일자로 출원되었고 발명의 명칭이 "Method and System for Food Preparation in a Robotic Cooking Kitchen"인 미국 가출원 제62/116,563호, 2015년 2월 8일자로 출원되었고 발명의 명칭이 "Method and System for Food Preparation in a Robotic Cooking Kitchen"인 미국 가출원 제62/113,516호, 2015년 1월 28일자로 출원되었고 발명의 명칭이 "Method and System for Food Preparation in a Robotic Cooking Kitchen"인 미국 가출원 제62/109,051호, 2015년 1월 16일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/104,680호, 2014년 12월 10일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/090,310호, 2014년 11월 22일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/083,195호, 2014년 10월 31일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/073,846호, 2014년 9월 26일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/055,799호, 2014년 9월 2일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/044,677호, 2014년 7월 15일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/024,948호, 2014년 6월 18일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/013,691호, 2014년 6월 17일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/013,502호, 2014년 6월 17일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제62/013,190호, 2014년 5월 8일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제61/990,431호, 2014년 5월 1일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제61/987,406호, 2014년 3월 16일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제61/953,930호, 및 2014년 2월 20일자로 출원되었고 발명의 명칭이 "Method and System for Robotic Cooking Kitchen"인 미국 가출원 제61/942,559호에 대한 우선권을 주장한다.
상기 개시물 전체의 주제는, 참조에 의해 그 전체가 본원에 통합된다.
본 발명은 일반적으로 로봇공학 및 인공지능(AI)의 학제적 분야에 관한 것으로, 보다 구체적으로는, 움직임, 프로세스 및 기술을 실시간의 전자적 조정과 함께 복제하는 것에 의한, 변환된 로봇 명령어를 갖춘 미소 조작(minimanipulation)의 라이브러리들을 활용하는 컴퓨터화된 로봇식 시스템에 관한 것이다.
로봇공학에서의 연구 및 개발이 수십 년간 행해져 오고 있지만, 그 진행은 대부분이, 자동차 제조 자동화 또는 군사적 응용분야와 같은 중공업 응용분야에서 이루어져 왔다. 소비자 시장에 대한 간단한 로봇 시스템이 설계되었지만, 그러나 지금까지 가정의 소비자 로봇 공간에서는 광범위한 적용을 보이지 않고 있다. 기술의 발달이, 고소득의 대중과 결합됨에 따라, 시장은 사람들의 일상을 향상시키기 위한 기술적 진보에 대한 기회를 창출하도록 무르익을 수도 있다. 로봇공학은, 향상된 인공 지능 및 많은 형태의 인간 기술 및 작업의 에뮬레이션을 통해 자동화 기술을 계속 향상시켜 왔다.
소정 영역에서 인간을 대신하며 인간이 통상적으로 수행할 작업을 실행하는 로봇의 개념은, 1970년대 로봇이 처음 개발된 이후 계속 진화하고 있는 관념학이다. 제조 분야는, 펜던트(pendant) 또는 오프라인의 고정 궤적(offline fixed-trajectory) 생성 및 다운로드를 통해, 연속적으로 그리고 수정 또는 편차 없이 어떤 모션을 복제할지를 로봇이 학습받는 교수-재생 모드(teach-playback mode)에서 로봇을 오래 사용해 왔다. 기업은, 컴퓨터 학습 궤적의 사전 프로그래밍된 궤적 실행 및 로봇 모션-재생을, 음료 혼합, 차량 용접 또는 페인팅, 및 기타와 같은 응용분야 도메인으로 가져갔다. 그러나, 이들 종래의 응용분야의 모두는, 로봇으로 하여금, 모션 커맨드만을 충실히 실행하게 하도록 의도되는 1:1의 컴퓨터 대 로봇 또는 테크-재생 원칙을 사용하는데, 이것은 거의 항상, 학습된/사전 계산된 궤적을 일탈 없이 따른다.
본 개시의 실시형태는, 마치 요리사가 음식(food dish)을 준비하는 것과 실질적으로 동일한 결과를 갖는, 음식을 복제하는 로봇 명령어를 갖는 로봇 장치의 방법, 컴퓨터 프로그램 제품, 및 컴퓨터 시스템에 관한 것이다. 제1 실시형태에서, 표준화된 로봇식 키친(standardized robotic kitchen)에서의 로봇 장치는 두 개의 로봇 팔과 손을 포함하며, 이 로봇 팔과 손들은, 동일한 음식을 준비함에 있어서 요리사의 정확한 움직임의 이전에 기록된 소프트웨어 파일(레시피 스크립트)에 기초하여 음식을 준비하기 위해, 요리사의 정확한 움직임을 동일한 순서(또는 실질적으로 동일한 순서) 및 동일한 타이밍(또는 실질적으로 동일한 타이밍)에서 복제한다. 제2 실시형태에서, 컴퓨터 제어식 요리용 장치(computer-controlled cooking apparatus)는, 시간에 걸친 온도와 같은 센서류 곡선(sensory-curve)에 기초하여 음식을 준비하는데, 센서류 곡선은, 센서를 장착한 요리용 장치 상에서 요리사가 이전에 음식을 준비했을 때 시간에 걸친 센서 값을 컴퓨터가 기록했던 그 센서를 갖는 요리용 장치를 이용하여 요리사가 동일한 음식을 준비한 경우의 소프트웨어 파일에 이전에 기록되었다. 제3 실시형태에서, 키친 장치는, 로봇 팔 및 하나 이상의 센서류 곡선 양자를 결합하여 요리를 준비하기 위해, 제1 실시형태의 로봇 팔 및 제2 실시형태의 센서를 갖는 요리용 장치를 포함하는데, 이 경우 로봇 팔은 요리 프로세스 동안, 맛, 냄새, 및 외관과 같은 특성에 대한 음식의 품질 체크를 할 수 있어서, 음식의 준비 단계에 임의의 요리 조정을 허용하게 된다. 제4 실시형태에서, 키친 장치는, 재료를 저장하기 위해 그리고 요리사의 요리 지시를 따르는 것에 의해 음식을 준비하는 유저에게 재료를 공급하기 위한, 컴퓨터 제어식 컨테이너 및 컨테이너 식별자를 갖는 음식 저장 시스템을 포함한다. 제5 실시형태에서, 로봇식 요리용 키친은 팔을 갖는 로봇 및 키친 장치를 포함하는데, 로봇은, 레시피 스크립트에서 정의되는 준비 프로세스에 대한 가능한 실시간의 수정/적응을 비롯하여, 요리사의 정확한 요리하는 움직임을 에뮬레이팅하는 것에 의해 음식을 준비하기 위해 키친 장치 곳곳을 이동한다.
로봇식 요리용 엔진은, 요리하는 움직임의 검출, 기록, 및 요리사 에뮬레이팅을 포함하고, 온도 시간과 같은 중요한 파라미터를 제어하고, 지정된 어플라이언스(appliance), 기기, 및 툴을 이용한 실행을 처리하여, 요리사에 의해 준비되어 서빙되는 바로 그 요리와 동일한 맛을 내는 미식 요리를 특정하고 편리한 시간에 재현하게 된다. 하나의 실시형태에서, 로봇식 요리용 엔진은 요리사의 동일한 움직임을 복제하기 위한 로봇 팔에게, 동일한 맛을 내는 음식을 만들기 위한 동일한 재료 및 기술을 제공한다.
본 개시의 기본적인 동기 부여는, 어떤 활동의 인간의 자연스러운 실행 동안 센서를 이용하여 인간을 모니터링하는 것 및 그 다음, 하나 이상의 로봇 시스템 및/또는 자동화된 시스템을 사용하여 인간 활동을 복제하기 위한 정보 및 커맨드를 생성하기 위해 모니터링용 센서, 캡쳐용 센서, 컴퓨터 및 소프트웨어를 사용할 수 있는 것에 중점을 둔다. 다수의 이러한 활동(예를 들면, 요리, 페인팅, 악기 연주 등)을 생각할 수 있지만, 본 개시의 하나의 양태는 식사를 요리하는 것에 관한 것이며; 본질적으로는 로봇식 식사 준비 애플리케이션에 관한 것이다. 인간을 모니터링하는 것은, 기구가 구비된 애플리케이션 고유의 설정(instrumented application-specific setting)(이 경우에서는 표준화된 키친)에서 실행되며, 로봇식 키친의 로봇 시스템 또는 자동화 시스템이, 인간 요리사에 의해 준비되는 요리와 표준 및 품질에 있어서 동일한 요리를 준비하는 것을 허용할 수 있는, 환경에서의 변동 및 변화에 강건한 로봇 실행가능 커맨드의 세트를 개발하기 위해, 센서 및 컴퓨터를 사용하여 인간 요리사의 모션 및 액션을 주시하고, 모니터링하고, 기록하고 해석하는 것을 수반한다.
멀티모달 감지 시스템(multimodal sensing system)의 사용은, 필요한 원시(raw) 데이터를 수집할 때 이용되는 수단이다. 이러한 데이터를 수집하고 제공할 수 있는 센서는 환경 및 기하학적 센서, 예컨대 2차원(카메라 등등) 및 3차원(레이저, 소나, 등등) 센서뿐만 아니라, 인간 모션 캡쳐 시스템(인간이 착용하고 있는 카메라 타겟, 기구가 구비된 의류/외골격(exoskeleton), 기구가 구비된 글로브, 등등)뿐만 아니라, 레시피 생성 및 실행 동안 사용되는 기구가 구비된(센서) 그리고 전력을 공급 받는(액추에이터) 기기(기구가 구비된 어플라이언스(instrumented appliance), 요리용 기기, 툴, 재료 디스펜서, 등등)를 포함한다. 이 모든 데이터는 하나 이상의 분산형/중앙 컴퓨터에 의해 수집되고 다양한 소프트웨어 프로세스에 의해 프로세싱된다. 알고리즘은, 인간 및 컴퓨터 제어식 로봇식 키친이, 특정한 요리사의 주요(key) 스킬의 복제를 비롯하여, 활동, 태스크, 액션, 기기, 재료 및 인간에 의해 사용되는 방법과 프로세스를 이해할 수 있는 정도까지 데이터를 프로세싱하고 추상화할 것이다. 원시 데이터는, 로봇식 키친이 실행해야 할 특정한 레시피의 모든 단계에 대한 모든 액션 및 모션을 명확히 설명하는, 인간이 판독가능한, 그리고 추가적인 프로세싱을 통해, 머신이 이해할 수 있고 머신이 실행가능한 레시피 스크립트를 생성하기 위해, 하나 이상의 소프트웨어 추상화 엔진에 의해 프로세싱된다. 이들 커맨드는, 복잡도에 있어서, 개개의 관절을 제어하는 것에서부터, 시간에 걸친 특정한 관절 모션 프로파일에 이르는, 더 낮은 레벨의 모션 실행 커맨드를 내부에 임베딩된, 레시피에서의 특정 단계와 관련되는 커맨드의 추상화된 레벨까지의 범위에 이른다. 추상화된 모션 커맨드(예를 들면, "계란을 깨서 팬에 넣는 것", "양면을 노릇노릇하게 굽는 것" 등등)는 원시 데이터(raw data)로부터 생성될 수 있고, 다수의 반복적 학습 프로세스를 통해 정제 및 최적화될 수 있고, 라이브로 및/또는 오프라인으로 실행될 수 있어서, 로봇식 키친 시스템이 측정 불확실성, 재료 변동 등등을 성공적으로 다루는 것을 허용하고, 꽤 추상화된/하이 레벨 커맨드(예를 들면, "냄비 손잡이 잡기(grabbing)", "내용물 따르기", "조리대(countertop)에서 숟가락을 집어서 수프를 젖기" 등등)에 기초하여, 로봇 팔 및 손목에 장착된 손가락이 있는 손을 사용하여 복잡한(적응적) 미소 조작 모션(minimanipulation motion)을 가능하게 한다.
이제 공유/전송될 수 있는 디지털 파일 내에 포함되는 머신 실행가능 커맨드 시퀀스를 생성하는 능력은, 임의의 로봇식 키친이 이 시퀀스를 실행하는 것을 허용하며, 임의의 시간에 임의의 곳에서 음식 준비 단계를 실행하기 위한 옵션을 시작하게 된다. 그러므로, 그 능력은 레시피를 온라인에서 매매하기 위한 옵션을 허용하여, 유저가 사용 단위 기반 또는 구독(subscription) 기반으로 레시피에 액세스하고 그 레시피를 배포하는 것을 허용하게 된다.
인간에 의해 준비되는 요리의 복제는 로봇식 키친에 의해 수행되는데, 요리의 복제는, 인간의 액션이 이제 로봇 팔의 세트에 의해 실행되고 컴퓨터 모니터링되고 컴퓨터 제어가능한 어플라이언스, 기기, 툴, 디스펜서, 등등에 의해 핸들링되는 점을 제외하면, 본질적으로, 요리를 만드는 동안 인간 요리사에 의해 사용되는 기구가 구비된 키친의 표준화된 복제이다. 따라서, 요리 복제 충실도의 정도는, 로봇식 키친이, 요리를 준비하는 동안 인간 요리사가 관찰되었던 키친(및 모든 그 엘리먼트 및 재료)을 복제하는 정도에 강하게 구속될 것이다.
대략적으로 언급하면, 로봇 명령어를 갖는 로봇 운영 시스템(robot operating system; ROS)에 의해 동작되는 로봇 컴퓨터 컨트롤러를 구비하는 휴머노이드(humanoid)는, 복수의 전자 미소 조작 라이브러리 - 각각의 전자 미소 조작 라이브러리는 복수의 미소 조작 엘리먼트를 포함하고, 복수의 전자 미소 조작 라이브러리는 하나 이상의 머신 실행가능 애플리케이션 고유의 명령어 세트를 생성하도록 결합될 수 있고, 전자 미소 조작 라이브러리 내의 복수의 미소 조작 엘리먼트는 하나 이상의 머신 실행가능 애플리케이션 고유의 명령어 세트를 생성하도록 결합될 수 있음 - 를 구비하는 데이터베이스; 연계된 목(articulated neck)을 통해 헤드에 연결되는 상체(upper body) - 상체는 토르소(torso), 어깨, 팔, 및 손을 포함함 - 및 하체(lower body)를 구비하는 로봇 구조체; 및 데이터베이스, 지각 시스템(sensory system), 센서 데이터 해석 시스템, 모션 플래너, 및 액추에이터 및 관련된 컨트롤러에 통신가능하게 커플링되는 제어 시스템 - 제어 시스템은 로봇 구조체를 동작시키기 위해 애플리케이션 고유의 명령어 세트를 실행함 - 을 포함한다.
또한, 본 개시의 실시형태는, 미소 조작의 하나 이상의 라이브러리로부터 로봇 명령어를 실행하기 위한 방법, 컴퓨터 프로그램 제품, 및 로봇 장치의 컴퓨터 시스템을 대상으로 한다. 두 타입의 파라미터인 기본 파라미터(elemental parameter) 및 응용 파라미터(application parameter)는 미소 조작의 동작에 영향을 미친다. 미소 조작의 생성 국면(phase) 동안, 기본 파라미터는, 성공적인 미소 조작을 생성하기 위해, 다양한 조합, 순열, 및 자유도를 테스트하는 변수를 제공한다. 미소 조작의 실행 국면 동안, 응용 파라미터는 프로그래밍가능하거나 또는 미소 조작의 하나 이상의 라이브러리를, 음식 준비, 스시 만들기, 피아노 연주하기, 그림 그리기, 책 집어 들기, 및 다른 타입의 애플리케이션과 같은 특정한 애플리케이션에 맞추도록 커스터마이징될 수 있다.
미소 조작은, 휴머노이드 로봇에 대한 일반적인 예제 단위로 프로그래밍가능한 플랫폼(programmable-by-example platform)을 생성하는 신규의 방식을 포함한다. 최신 기술은, 주로, 로봇 액션 또는 액션 시퀀스의 각각의 그리고 모든 단계에 대한 전문 프로그래머에 의한 제어 소프트웨어의 명시적인 개발을 필요로 한다. 상기 내용에 대한 예외는, 모방 학습의 기초가 존재하는, 공장 조립(factory assembly)과 같은 아주 반복적인 저 레벨의 태스크의 경우이다. 미소 조작 라이브러리는, 요리하기, 병약한 사람 돌보기, 또는 차세대 휴머노이드 로봇에 의해 수행되는 다른 태스크와 같은 복잡한 태스크에 대한 공통의 빌딩 블록(building block)인 더 고 레벨의 감지 및 실행 시퀀스의 큰 스위트(suite)를 제공한다. 더 구체적으로는, 종래 기술과는 달리, 본 개시는 다음의 명확한 특징을 제공한다. 첫째, 미소 조작으로 칭해지는 미리 정의된/미리 학습된 감지 및 액션 시퀀스의 잠재적으로 아주 큰 라이브러리. 둘째, 각각의 미소 조작은, 잘 정의된 성공 확률(예를 미소 조작의 복잡도 및 난이도에 따라 100% 또는 97%)로 소망의 기능적 결과(즉, 사후조건(postcondition))을 성공적으로 생성하기 위해 감지 및 액션 시퀀스에 필요한 사전조건(precondition)을 인코딩한다. 셋째, 각각의 미소 조작은, 미소 조작 액션을 수행하기 이전에, 선험적으로 또는 감지 동작을 통해 값이 설정될 수도 있는 변수의 세트를 참조한다. 넷째, 각각의 미소 조작은, 미소 조작에서 액션 시퀀스를 실행하는 기능적 결과(사후조건)를 나타내기 위해 변수의 세트의 값을 변경한다. 다섯째, 미소 조작은, 인간 가정교사(예를 들면, 전문 요리사)의 반복된 관찰에 의해 감지 및 액션 시퀀스를 결정하고, 그리고 변수에 대한 허용가능한 값의 범위를 결정하는 것에 의해, 획득될 수도 있다. 여섯째, 식사를 준비하는 것, 또는 방을 청소하는 것과 같은 엔드 투 엔드 태스크(end-to-end task)를 수행하기 위해, 미소 조작은 더 큰 단위로 구성될(composed) 수도 있다. 이들 더 큰 단위는, 정확한 시퀀스의, 병렬의, 또는 몇몇 단계가 다른 것 이전에 발생해야 하지만, 전체 순서의 시퀀스에서는 그렇지 않은 부분적인 순서에 관한 미소 조작의 다중 스테이지(multistage) 적용이다(예를 들면, 주어진 요리를 준비하기 위해, 세 개의 재료를 정확한 양으로 혼합 보울에 담고, 그 다음 혼합해야 한다; 각각의 재료를 보울에 넣는 순서는 제약되지 않지만, 그러나 혼합하기 이전에 모두 넣어져야 한다). 일곱째, 미소 조작을 엔드 투 엔드 태스크로 조립하는 것은, 컴포넌트 미소 조작의 사전조건 및 사후조건을 고려하여, 로봇 계획에 의해 수행된다. 여덟째, 엔드 투 엔드 태스크를 수행하는 인간, 또는 그렇게 하는 다른 로봇의 관찰, 또는 동일한 로봇의 과거 경험이 재사용가능한 로봇 계획의 라이브러리를 획득하기 위해 사용될 수 있는 사례 기반의 추론은, 복제할 성공적인 사례, 및 피해야 할 것을 학습하는 실패 사례 둘 다의 사례(엔드 투 엔드 태스크를 수행하는 특정한 인스턴스)를 형성한다.
본 개시의 제1 양태에서, 로봇 장치는, 미소 조작의 하나 이상의 라이브러리에 액세스하는 것에 의해, 음식 준비, 피아노 연주, 또는 그림 그리기와 같은 인간 스킬 동작을 복제함으로써 태스크를 수행한다. 로봇 장치의 복제 프로세스는, 요리사가 특정한 요리를 준비하기 위해 양 손을 사용하는 방법; 또는 피아노 마에스트로가 그의 또는 그녀의 양 손을 통해(그리고 어쩌면 발 및 몸체의 모션을 통해서도) 마스터 피아노 작품을 연주하는 것과 같은, 양 손을 통해 설정되는 인간의 지능 또는 스킬의 전달을 흉내낸다. 본 개시의 제2 양태에서, 로봇 장치는 홈 애플리케이션을 위한 휴머노이드를 포함하는데, 여기서 휴머노이드는 프로그래밍 가능한 또는 커스터마이징 가능한 정신적, 감정적, 및/또는 기능적으로 편안한 로봇을 제공하도록, 그리고 그에 의해 유저에게 즐거움을 주도록 설계된다. 본 개시의 제3 양태에서, 하나 이상의 미소 조작 라이브러리가, 첫째로, 하나 이상의 일반적인 미소 조작 라이브러리로서, 그리고, 둘째로, 하나 이상의 애플리케이션 고유의 미소 조작 라이브러리로서 생성 및 실행된다. 하나 이상의 일반적인 미소 조작 라이브러리는 기본 파라미터 및 휴머노이드 또는 로봇 장치의 자유도에 기초하여 생성된다. 휴머노이드 또는 로봇 장치는 프로그래밍 가능하고, 따라서 하나 이상의 일반적인 미소 조작 라이브러리는, 휴머노이드 또는 로봇 장치의 동작 성능에서의 유저의 요구에 고유하게 맞춤되는 하나 이상의 애플리케이션 고유의 미소 조작 라이브러리가 되도록 프로그래밍될 수 있거나 또는 커스터마이징될 수 있다.
본 개시의 몇몇 실시형태는, 컴퓨터로 인코딩된 로봇 움직임 및 액션 프리미티브의 세트에 기초하여 휴머노이드에 대한 움직임, 액션, 및 휴머노이드의 거동을 자동적으로 구축하는 것에 의해, 복잡한 로봇 휴머노이드 움직임, 액션, 및 툴 및 환경과의 상호 작용을 생성할 수 있는 능력에 관련이 있는 기술적 피쳐를 대상으로 한다. 프리미티브는, 복잡도에서 간단한 것으로부터 복잡한 것까지의 범위에 이르는 연계된 자유도의 모션/액션에 의해 정의되며, 직렬/병렬 양식으로 임의의 형태로 결합될 수 있다. 이들 모션 프리미티브는 미소 조작(Minimanipulation; MM)으로 칭해지며 각각의 MM은, 소정의 기능을 달성하도록 의도되는, 명확한 시간 인덱싱된 커맨드 입력 구조(clear time-indexed command input-structure), 및 출력 거동/성능 프로파일을 갖는다. MM은 단순한 것('단일의 손가락 관절을 1도 단위로 인덱싱하는 것')으로부터, 더 복잡한 것(예컨대 '유텐실(utensil) 잡기')으로, 더욱 더 복잡한 것('칼을 가져와 빵 자르기')으로, 상당히 추상적인 것('슈베르트의 피아노 협주곡 #1의 첫 마디 연주하기')까지의 범위에 이를 수 있다.
따라서, MM은 소프트웨어 기반이며, 개별 런타임 소스 코드 내에 포함되는, 입/출력 데이터 파일 및 서브루틴을 갖는 개별 프로그램과 유사한, 입력 및 출력 데이터 세트 및 고유의 프로세싱 알고리즘 및 성능 디스크립터에 의해 표현되는데, 개별 런타임 소스 코드는, 컴파일시, 컴파일될 수 있는 그리고 다양하고 미소 조작 라이브러리(Minimanipulation-Library; MML)의 콜렉션으로 칭해지는, 다양하고 상이한 소프트웨어 라이브러리 내에 수집될 수 있는 오브젝트 코드를 생성한다. MML은, 이들이 (i) 특정한 하드웨어 엘리먼트(손가락/손, 손목, 팔, 토르소, 발, 다리, 등등)에 관련되어야 하든, (ii) 거동적 엘리먼트(접촉하기, 움켜잡기, 핸들링하기, 등등)에 관련되어야 하든, 또는 심지어 (iii) 애플리케이션 도메인(요리하기, 그림 그리기, 악기 연주하기, 등등)에 관련되어야 하든 간에, 다수의 그룹으로 그룹화될 수 있다. 또한, 이들 그룹의 각각 내에서, MML은 소망되는 거동의 복잡도에 관련이 있는 다수의 레벨(간단한 것 내지 복잡한 것)에 기초하여 정렬될 수 있다.
따라서, 미소 조작(MM)(정의 및 관련성, 측정 및 제어 변수와 그들의 조합 및 가치 사용 및 수정, 등등) 및 다수의 MML의 사용을 통한 거의 무한대 조합의 미소 조작의 구현의 개념은, 단일의 관절(손가락 관절, 등등)로부터, 관절의 조합(손가락 및 손, 팔, 등등)으로, 자유 공간에서 바람직하고 성공적인 움직임 시퀀스를 달성하는 그리고 툴, 유텐실, 및 다른 아이템을 통해 주변 세상에 대한 그리고 주변 세상과의, 로봇 시스템에 의한 바람직한 기능 또는 출력을 제정할 수 있도록 실세계와의 바람직한 상호 작용의 정도를 달성하는 시퀀스 및 조합의 보다 더 높은 자유도의 시스템(토르소, 상체, 등등)까지의 범위에 이르는 레벨에서의 하나 이상의 자유도(액추에이터 제어 하의 가동(movable) 관절)의 기본 거동(움직임 및 상호 작용)의 정의 및 제어에 관한 것임이 이해되어야 한다.
상기 정의에 대한 예는, (i) 손가락이 테이블을 따라 공깃돌을 뒤집는 간단한 커맨드 시퀀스로부터, (ii) 유텐실을 사용하여 원통형 그릇(pot) 안의 액체를 휘젓는 것을 지나, (iii) 악기(바이올린, 피아노, 하프, 등등)로 음악 작품을 연주하는 것까지의 범위에 이를 수 있다. 기본 개념은, MM이, 시간적으로 연속하는 지점에서 순서대로 그리고 병렬로 실행되는 MM 커맨드의 세트에 의해, 다수의 레벨에서 표현되고, 합쳐져서, 바람직한 성과(outcome)(파스타 소스를 요리하는 것, 바흐 협주곡 작품을 연주하는 것, 등등)를 달성하기 위한 바람직한 기능(액체를 휘젓는 것, 바이올린의 활을 켜는 것, 등등)에 도달하는 움직임 및 외부 세계와의 액션/상호 작용을 생성하는 것이다.
임의의 저-고(low-to-high) MM 시퀀스의 기본 엘리먼트는 각각의 서브시스템의 움직임을 포함하고, 이들의 조합은, 요구되는 시퀀스로 액추에이터 파워 하에서 하나 이상의 연계하는 관절에 의해 실행되는 지령된 포지션(position)/속도 및 힘/토크의 세트로서 설명된다. 실행의 충실도는, 각각의 MM 시퀀스 내에서 설명되는 폐루프 거동을 통해 보장되고 각각의 연계된 관절 컨트롤러 및 더 고 레벨의 거동 컨트롤러에 고유한 로컬 및 글로벌 제어 알고리즘에 의해 실시된다.
상기 움직임(연계하는 관절 포지션 및 속도에 의해 설명됨) 및 환경 상호 작용(관절/인터페이스 토크 및 힘에 의해 설명됨)의 구현은, 모든 필요로 되는 변수(포지션/속도 및 힘/토크)에 대해 컴퓨터 재생에 바람직한 값을 갖는 것에 의해 그리고 각각의 관절 상에서 상기 움직임 및 환경 상호 작용을 각각의 시간 단계에서 시간의 함수로서 충실하게 구현하는 컨트롤러 시스템으로 컴퓨터 재생에 바람직한 값을 제공하는 것에 의해, 달성된다. 지령된 움직임/상호 작용의 충실도를 확인하기 위한, 이들 변수와 그들의 시퀀스 및 피드백 루프(그러므로 단지 데이터 파일뿐만 아니라, 제어 프로그램도)는, 다중 레벨의 MML로 결합되는 데이터 파일에서 모두 설명되는데, 데이터 파일은, 휴머노이드 로봇이, 식사를 요리하는 것, 클래식 음악 작품을 피아노로 연주하는 것, 병약한 사람을 침대로/침대 밖으로 안아 올리는 것, 등등과 같은 다수의 액션을 실행하는 것을 허용하기 위해 다수의 방식으로 액세스 및 결합될 수 있다. 간단한 기본적인 움직임/상호 작용을 설명하는 MML이 존재하는데, 그 MML은, 그 다음, 보다 더 고 레벨의 조작, 예컨대 '움켜잡기', '들어 올리기', '자르기', 더 고 레벨의 프리미티브, 예컨대 '냄비 안의 액체 휘젓기'/'하프 스트링을 g 플랫으로 뜯기' 또는 더 고 레벨의 액션, 예컨대 '비네그레트 드레싱 만들기'/'시골풍의 브르타뉴 여름 풍경화 그리기'/'바흐 피아노 협주곡 #1 연주하기', 등등을 설명하는 보다 더 고 레벨의 MML에 대한 빌딩 블록으로서 사용된다. 더 고 레벨의 커맨드는, (각각의 MM 시퀀스 내에 포함되는 출력 데이터에서 정의되는 바와 같은) 필요로 되는 실행 충실도를 보장하기 위해, 시퀀스/경로/상호 작용 프로파일을 실행하는 플래너(planner)의 세트의 피드백 컨트롤러와의 조합에 의해 감독되는 공통의 시한부의 단계별 시퀀스(common timed stepped sequence)를 따라 실행되는 직렬/병렬의 하위 및 중간 레벨의 MM 프리미티브의 시퀀스를 향한 단순한 조합이다.
바람직한 포지션/속도 및 힘/토크에 대한 값과 그들의 실행 재생 시퀀스(들)는 다수의 방식으로 달성될 수 있다. 하나의 가능한 방식은, 동일한 태스크를 실행하는 인간의 액션 및 움직임을 보고 추출하는(distilling) 것, 및 관찰 데이터(비디오, 센서, 모델링 소프트웨어, 등등)로부터 필요한 변수 및 그들의 값을 시간의 함수로서 추출하는 것 및 필요로 되는 MM 데이터(비디오, 센서, 모델링 소프트웨어, 등등)를 다양한 타입의 저-고 MML로 추출하는 특수 소프트웨어 알고리즘을 사용하는 것에 의해 그들을 다양한 레벨에서 상이한 미소 조작과 관련시키는 것을 통하는 것이다. 이 접근 방식(approach)은 컴퓨터 프로그램이 MML을 자동적으로 생성하는 것 및 모든 시퀀스 및 관련화를 어떠한 인간 개입 없이도 자동적으로 정의하는 것을 허용할 것이다.
다른 방식은, 태스크 고유의 MML을 생성하도록 적절한 시퀀스 및 조합을 구축하기 위해, 현존하는 저 레벨의 MML을 사용하여 액션가능한 시퀀스의 필요로 되는 시퀀스를 구축하는 방법을 (다시, 특수 알고리즘을 활용하는 자동화된 컴퓨터 제어 프로세스를 통해) 온라인 데이터(비디오, 사진, 사운드 로그, 등등)로부터 학습하는 것일 것이다.
또 다른 방식은, 거의 확실히 더욱 (시간) 비효율적이고 덜 비용 효과적이지만, 인간 프로그래머가 저 레벨의 MM 프리미티브의 세트를 모아서 더 고 레벨의 MML에서 액션/시퀀스의 보다 더 고 레벨의 세트를 생성하여, 기존의 더 저 레벨의 MML로 역시 구성되는 더 복잡한 태스크 시퀀스를 달성하는 것일 것이다.
개별 변수(각각의 증분적 시간 간격에서의 관절 포지션/속도 및 토크/힘 및 그들의 관련된 이득과 조합 알고리즘을 의미함) 및 모션/상호 작용 시퀀스에 대한 수정 및 향상도 또한 가능하며 많은 상이한 방식으로 달성될 수 있다. 학습 알고리즘이 각각의 그리고 모든 모션/상호 작용 시퀀스를 모니터링하게 하는 것 및 다양한 MML의 저 레벨에서부터 고 레벨까지의 범위에 이르는 레벨에서 더 고 레벨의 실행 충실도를 달성하기 위해 간단한 변수 섭동을 수행하여 성과를 확인하고 변수(들) 및 시퀀스(들)의 수정에 대한 여부/방법/때/대상에 관해 결정하는 것이 가능하다. 이러한 프로세스는 완전히 자동일 것이고 업데이트된 데이터 세트가, 상호 접속되는 다수의 플랫폼에 걸쳐 교환되는 것을 허용할 것이고, 그에 의해 클라우드 컴퓨팅을 통한 대규모의 병렬 및 클라우드 기반의 학습을 허용할 것이다.
유익하게는, 표준화된 로봇식 키친에서의 로봇 장치는, 하나의 타입의 요리에 전문화될 수도 있는 요리사와 비교하여, 글로벌 네트워크 및 데이터베이스 액세스를 통해 전세계의 폭넓은 요리를 준비하는 성능을 갖는다. 표준화된 로봇식 키친은 또한, 당신이 가장 좋아하는 음식 중 하나를, 그 동일한 음식을 계속해서 반복적으로 준비하는 반복적인 노동 프로세스 없이, 당신이 그 음식을 즐기고 싶을 때마다 로봇 장치에 의한 복제를 위해, 캡쳐하고 기록할 수 있다.
본 발명의 구조 및 방법은 하기의 상세한 설명에서 개시된다. 이 개요는 본 발명을 정의하는 것을 의도하지 않는다. 본 발명은 특허청구범위에 의해 정의된다. 본 발명의 이들 및 다른 실시형태, 피쳐, 양태, 및 이점은, 하기의 설명, 첨부된 특허청구범위, 및 첨부의 도면과 관련하여 더 잘 이해될 것이다.
본 발명의 내용 중에 포함되어 있다.
본 발명은 본 발명의 특정 실시형태에 관련하여 설명될 것이고, 도면을 참조할 것인데, 도면에서,
도 1은, 본 발명에 따른, 하드웨어 및 소프트웨어를 갖는 전체적인 로봇식 음식 준비 키친을 예시하는 시스템 도면이다.
도 2는, 본 발명에 따른, 요리사 스튜디오 시스템(chef studio system) 및 가정용 로봇식 키친 시스템을 포함하는 음식 로봇 요리용 시스템(food robot cooking system)의 제1 실시형태를 예시하는 시스템 도면이다.
도 3은, 본 발명에 따른, 요리사의 레시피 프로세스, 기술 및 움직임을 복제하는 것에 의해 요리를 준비하기 위한 표준화된 로봇식 키친의 하나의 실시형태를 예시하는 시스템 도면이다.
도 4는, 본 발명에 따른, 요리사 스튜디오 시스템 및 가정용 로봇식 키친 시스템에서 컴퓨터와 함께 사용하기 위한 로봇식 음식 준비 엔진의 하나의 실시형태를 예시하는 시스템 도면이다.
도 5a는, 본 발명에 따른, 요리사 스튜디오 레시피 생성 프로세스를 예시하는 블록도이고; 도 5b는, 본 발명에 따른, 표준화된 교수/재생 로봇식 키친(standardized teach/playback robotic kitchen)의 하나의 실시형태를 예시하는 블록도이고; 도 5c는, 본 발명에 따른, 레시피 스크립트 생성 및 추상화 엔진(recipe script generation and abstraction engine)의 하나의 실시형태를 예시하는 블록도이고; 도 5d는 본 발명에 따른, 표준화된 로봇식 키친에서의 오브젝트 조작(object-manipulation)을 위한 소프트웨어 엘리먼트를 예시하는 블록도이다.
도 6은, 본 발명에 따른, 멀티모달 감지 및 소프트웨어 엔진 아키텍쳐를 예시하는 블록도이다.
도 7a는, 본 발명에 따른, 요리사에 의해 사용되는 표준화된 로봇식 키친 모듈을 예시하는 블록도이고; 도 7b는, 본 발명에 따른, 로봇 팔 및 손의 쌍을 갖는 표준화된 로봇식 키친 모듈을 예시하는 블록도이고; 도 7c는 본 발명에 따른, 요리사에 의해 사용되는 표준화된 로봇식 키친 모듈의 물리적 레이아웃의 하나의 실시형태를 예시하는 블록도이고; 도 7d는 본 발명에 따른, 로봇 팔 및 손의 쌍에 의해 사용되는 표준화된 로봇식 키친 모듈의 물리적 레이아웃의 하나의 실시형태를 예시하는 블록도이고; 그리고 도 7e는, 본 발명에 따른, 표준화된 로봇식 키친에 의해 실행될 때 레시피 스크립트에 기초한 레시피 복제 프로세스 동안 제어 또는 검증 포인트가 존재한다는 것을 보장하기 위한 단계별 플로우 및 방법을 묘사하는 블록도이다.
도 8a는, 본 발명에 따른, 요리사 움직임과 로봇 미러 움직임 사이의 변환 알고리즘 모듈의 하나의 실시형태를 예시하는 블록도이고; 도 8b는 요리사의 움직임을 캡쳐하여 전송하기 위한, 요리사(49)에 의해 착용되는 센서를 갖는 글로브의 쌍을 예시하는 블록도이고; 도 8c는 본 발명에 따른, 요리사의 글로브로부터의 캡쳐된 센서류 데이터에 기초한 로봇식 요리 실행(robotic cooking execution)을 예시하는 블록도이고; 도 8d는 평형상태에 관한 동적으로 안정한 그리고 동적으로 불안정한 곡선을 예시하는 그래프 도면이고; 도 8e는 본 발명에 따른, 스테이지로서 칭해지는 단계의 시퀀스를 요구하는 음식 준비의 프로세스를 예시하는 시퀀스 도면이고; 도 8f는 본 발명에 따른, 전체적인 성공의 가능성을, 음식을 준비하기 위한 다수의 스테이지의 함수로서 예시하는 그래프 도면이고; 그리고 도 8g는 미소 조작 및 액션 프리미티브를 통한 다중 스테이지 로봇식 음식 준비를 갖는 레시피의 실행을 예시하는 블록도이다.
도 9a는, 본 발명에 따른, 키친 툴, 오브젝트, 및 키친 기기의 일부를 검출하고 이들을 이동시키기 위한 햅틱 진동, 소나, 및 카메라 센서를 갖는 로봇 손 및 손목의 한 예를 예시하는 블록도이고; 도 9b는, 본 발명에 따른, 표준화된 로봇식 키친에서의 동작을 위한 센서 카메라가 로봇 팔 및 손의 쌍에 커플링된 팬 틸트 헤드를 예시하는 블록도이고; 도 9c는, 본 발명에 따른, 표준화된 로봇식 키친에서의 동작을 위한 로봇 손목 상의 센서 카메라를 예시하는 블록도이고; 도 9d는, 본 발명에 따른, 표준화된 로봇식 키친에서의 동작을 위한 로봇 손 상의 손에 있는 눈(eye-in-hand)을 예시하는 블록도이고; 그리고 도 9e 내지 도 9i는, 본 발명에 따른, 로봇 손의 변형가능한 손바닥의 양태를 예시하는 도해적 도면이다.
도 10a는, 특정 레시피에 대한 음식 준비 프로세스 동안 요리사의 움직임을 기록하고 캡쳐하기 위한 로봇식 키친 환경에서 요리사가 착용하고 있는 요리사 기록용 디바이스(chef recording device)의 예를 예시하는 블록도이고; 그리고 도 10b는, 본 발명에 따른, 요리사의 모션의 캡쳐를 로봇 자세, 모션 및 힘으로 평가함에 있어서의 프로세스의 하나의 실시형태를 예시하는 흐름도이다.
도 11은, 본 발명에 따른, 가정용 로봇식 키친 시스템에서의 사용을 위한 로봇 팔 실시형태의 측면 뷰를 예시하는 블록도이다.
도 12a 내지 도 12c는, 본 발명에 따른, 손바닥을 갖는 로봇 손과 함께 사용하기 위한 키친 핸들의 하나의 실시형태를 예시하는 블록도이다.
도 13은, 본 발명에 따른, 촉각 센서 및 분산형 압력 센서를 갖는 예시적인 로봇 손을 예시하는 도해적 도면이다.
도 14는, 본 발명에 따른, 로봇식 요리용 스튜디오에서 요리사가 착용할 감지용 코스튬(sensing costume)의 한 예를 예시하는 도해적 도면이다.
도 15a 및 도 15b는, 본 발명에 따른, 요리사에 의한 음식 준비에 대한 센서를 갖는 세 손가락의 햅틱 글로브의 하나의 실시형태 및 센서를 갖는 세 손가락의 로봇 손의 한 예를 예시하는 도해적 도면이다.
도 16은, 본 발명에 따른, 미소 조작 데이터베이스 라이브러리의 생성 모듈 및 미소 조작 데이터베이스 라이브러리의 실행 모듈을 예시하는 블록도이다.
도 17a는, 본 발명에 따른, 표준화된 동작 움직임을 실행하기 위해 요리사에 의해 사용되는 감지용 글로브를 예시하는 블록도이고; 도 17b는, 본 발명에 따른, 로봇식 키친 모듈에서의 표준화된 동작 움직임의 데이터베이스를 예시하는 블록도이다.
도 18a는, 본 발명에 따른, 인공의 인간형 소프트 스킨 글로브(artificial human-like soft-skin glove)로 코팅된 로봇 손의 각각을 예시하는 그래픽 도면이고; 도 18b는, 본 발명에 따른, 라이브러리 데이터베이스에 미리 정의되어 저장된 미소 조작의 라이브러리 데이터베이스에 기초하여 하이 레벨 미소 조작을 실행하기 위한 인공의 인간형 스킨 글로브로 코팅된 로봇 손을 예시하는 블록도이고; 도 18c는, 본 발명에 따른, 음식 준비를 위한 조작 액션의 세 타입의 분류법(taxonomy)을 예시하는 그래픽 도면이고; 도 18d는, 본 발명에 따른, 음식 준비를 위한 조작 액션의 분류법 상에서의 하나의 실시형태를 예시하는 흐름도이고; 도 18e는, 본 발명에 따른, 로봇 팔과 로봇 손 사이의 인터플레이(interplay) 및 상호작용(interaction)의 하나의 예를 예시하는 블록도이고; 그리고 도 18f는, 본 발명에 따른, 쿡웨어 헤드(cookware head)에 부착가능한 표준화된 키친 핸들을 사용하는 로봇 손 및 키친 웨어에 부착가능한 로봇 팔을 예시하는 블록도이다.
도 19는, 본 발명에 따른, 계란을 나이프로 깨는 것으로 귀결되는 미소 조작의 생성을 예시하는 블록도이다.
도 20은, 본 발명에 따른, 실시간 조정을 갖는 미소 조작에 대한 레시피 실행의 예를 예시하는 블록도이다.
도 21은, 본 발명에 따른, 표준화된 키친 모듈에서의 요리사의 음식 준비 움직임을 캡쳐하기 위한 소프트웨어 프로세스를 예시하는 흐름도이다.
도 22는, 본 발명에 따른, 로봇식 표준 키친 모듈에서의 로봇 장치에 의한 음식 준비를 위한 소프트웨어 프로세스를 예시하는 흐름도이다.
도 23은, 본 발명에 따른, 미소 조작 시스템에 대한 다양한 파라미터 조합을 생성, 테스팅, 및 확인하기 위한, 그리고 저장하기 위한 소프트웨어 프로세스의 하나의 실시형태를 예시하는 흐름도이다.
도 24는, 본 발명에 따른, 미소 조작 시스템에 대한 태스크를 생성하기 위한 소프트웨어 프로세스의 하나의 실시형태를 예시하는 흐름도이다.
도 25는, 본 발명에 따른, 표준화된 로봇식 키친에서의 표준화된 키친 툴, 표준화된 오브젝트, 및 표준화된 기기의 라이브러리를 할당하고 활용하는 프로세스를 예시하는 흐름도이다.
도 26은, 본 발명에 따른, 3차원 모델링을 갖는 표준화되지 않은(non-standardized) 오브젝트를 식별하는 프로세스를 예시하는 흐름도이다.
도 27은, 본 발명에 따른, 미소 조작의 테스팅 및 학습을 위한 프로세스를 예시하는 흐름도이다.
도 28은, 본 발명에 따른, 로봇 팔 품질 제어를 위한 프로세스 및 정렬 기능 프로세스를 예시하는 흐름도이다.
도 29는, 본 발명에 따른, 표준화된 로봇식 키친에서 사용하기 위한 미소 조작 오브젝트의 데이터베이스 라이브러리 구조를 예시하는 테이블이다.
도 30은, 본 발명에 따른, 표준화된 로봇식 키친에서 사용하기 위한 표준화된 오브젝트의 데이터베이스 라이브러리 구조를 예시하는 테이블이다.
도 31은, 본 발명에 따른, 생선의 품질 체크를 행하기 위한 로봇 손을 예시하는 도해적 도면이다.
도 32는, 본 발명에 따른, 보울(bowl) 안의 품질 체크를 행하기 위한 로봇 센서 헤드를 예시하는 도해적 도면이다.
도 33은, 본 발명에 따른, 음식의 신선도 및 품질을 결정하기 위한 센서를 갖는 검출 디바이스 또는 컨테이너를 예시하는 도해적 도면이다.
도 34는, 본 발명에 따른, 음식의 신선도 및 품질을 결정하기 위한 온라인 분석 시스템을 예시하는 시스템 도면이다.
도 35는, 본 발명에 따른, 프로그래밍가능한 디스펜서 제어를 갖는 사전에 채워진 컨테이너(pre-filled container)를 예시하는 블록도이다.
도 36은, 본 발명에 따른, 표준화된 로봇식 키친에서 사용하기 위한 레시피 시스템 구조를 예시하는 블록도이다.
도 37a 내지 도 37c는, 본 발명에 따른, 표준화된 로봇식 키친에서 사용하기 위한 레시피 검색 메뉴를 예시하는 블록도이다; 도 37은, 본 발명에 따른, 레시피를 생성하여 제출하는 옵션을 갖는 메뉴의 스크린샷이다; 도 37e 내지 도 37m은, 본 발명에 따른, 레시피 필터, 재료 필터, 기기 필터, 계정 및 소셜 네트워크 액세스, 개인적 파트너 페이지, 쇼핑 카트 페이지, 및 구매한 레시프, 등록 설정, 레시피 생성에 대한 정보를 포함하는 기능적 능력을 갖는 음식 준비 유저 인터페이스의 하나의 실시형태를 예시하는 흐름도이고; 그리고 도 37n 내지 도 37v는, 본 발명에 따른, 다양한 그래픽 유저 인터페이스 및 메뉴 옵션의 스크린샷이다.
도 38은, 본 발명에 따른, 표준화된 로봇식 키친에서 사용하기 위한 필드를 선택하는 것에 의한 레시피 검색 메뉴를 예시하는 블록도이다.
도 39는, 본 발명에 따른, 3차원 추적 및 참조 데이터 생성을 위한 증강 센서(augmented sensor)를 갖는 표준화된 로봇식 키친을 예시하는 블록도이다.
도 40은, 본 발명에 따른, 실시간 3차원 모델링을 생성하기 위한 다수의 센서를 갖는 표준화된 로봇식 키친을 예시하는 블록도이다.
도 41a 내지 도 41l은, 본 발명에 따른, 표준화된 로봇식 키친의 다양한 실시형태 및 피쳐를 예시하는 블록도이다.
도 42a는, 본 발명에 따른, 표준화된 로봇식 키친의 평면도를 예시하는 블록도이고; 그리고 도 42b는, 본 발명에 따른, 표준화된 로봇식 키친의 사시 평면도(perspective plan view)를 예시하는 블록도이다.
도 43a 및 도 43b는, 본 발명에 따른, 표준화된 로봇식 키친에서의 자동 투명 도어를 갖는 키친 모듈 프레임의 제1 실시형태를 예시하는 블록도이다; 그리고 도 43c 내지 도 43f는, 본 발명에 따른, 표준화된 로봇식 키친에서의 스크린샷 및 샘플 키친 모듈 명세를 예시하는 블록도이다.
도 44a 및 도 44b는, 본 발명에 따른, 표준화된 로봇식 키친에서의 자동 투명 도어를 갖는 키친 모듈 프레임의 제2 실시형태를 예시하는 블록도이다.
도 45는, 본 발명에 따른, 신축 액추에이터(telescopic actuator)를 갖는 표준화된 로봇식 키친을 예시하는 블록도이다.
도 46a는, 본 발명에 따른, 이동용 난간(moving railing)이 없는 고정식 로봇 팔의 쌍을 갖는 표준화된 로봇식 키친의 정면도를 예시하는 블록도이고; 도 46b는, 본 발명에 따른, 이동용 난간이 없는 고정식 로봇 팔의 쌍을 갖는 표준화된 로봇식 키친의 사시도를 예시하는 블록도이고; 그리고 도 46c 내지 도 46g는, 본 발명에 따른, 이동용 난간이 없는 고정식 로봇 팔의 쌍을 갖는 표준화된 로봇식 키친에서의 다양한 치수의 예를 예시하는 블록도이다.
도 47은, 본 발명에 따른, 표준화된 로봇식 키친과 함께 사용하기 위한 프로그램 저장 시스템을 예시하는 블록도이다.
도 48은, 본 발명에 따른, 표준화된 로봇식 키친과 함께 사용하기 위한 프로그램 저장 시스템의 정면도(elevation view)를 예시하는 블록도이다.
도 49는, 본 발명에 따른, 표준화된 로봇식 키친과 함께 사용하기 위한 재료 접근 컨테이너의 정면도를 예시하는 블록도이다.
도 50은, 본 발명에 따른, 표준화된 로봇식 키친과 함께 사용하기 위한 재료 접근 컨테이너와 관련되는 재료 품질 모니터링 대시보드를 예시하는 블록도이다.
도 51은, 본 발명에 따른, 레시피 파라미터의 데이터베이스 라이브러리를 예시하는 테이블이다.
도 52는, 본 발명에 따른, 요리사의 음식 준비 프로세스를 기록하는 하나의 실시형태의 프로세스를 예시하는 흐름도이다.
도 53은, 본 발명에 따른, 음식을 준비하는 로봇 장치의 하나의 실시형태의 프로세스를 예시하는 흐름도이다.
도 54는, 본 발명에 따른, 로봇에 의한 음식 준비에서 요리사를 기준으로 동일한 또는 실질적으로 동일한 결과를 획득함에 있어서의, 품질 및 기능 조정에서의 하나의 실시형태의 프로세스를 예시하는 흐름도이다.
도 55는, 본 발명에 따른, 로봇식 키친에서의 기록된 소프트웨어 파일로부터 요리사의 움직임을 복제하는 것에 의해 요리를 준비하는 로봇식 키친의 프로세스에서의 제1 실시형태를 예시하는 흐름도이다.
도 56은, 본 발명에 따른, 로봇식 키친에서의 저장 체크인 및 식별의 프로세스를 예시하는 흐름도이다.
도 57은, 본 발명에 따른, 로봇식 키친에서의 저장 체크아웃 및 요리 준비의 프로세스를 예시하는 흐름도이다.
도 58은, 본 발명에 따른, 로봇식 키친에서의 자동화된 요리전 준비 프로세스(pre-cooking preparation process)의 하나의 실시형태를 예시하는 흐름도이다.
도 59는, 본 발명에 따른, 로봇식 키친에서의 레시피 설계 및 스크립팅 프로세스의 하나의 실시형태를 예시하는 흐름도이다.
도 60은, 본 발명에 따른, 유저가 로봇식 음식 준비 레시피를 구매할 구독 모델을 예시하는 흐름도이다.
도 61a 및 도 61b는, 본 발명에 따른, 포털로부터의 레시피 전자상거래 플랫폼에 대한 레시피 검색 및 구매 구독 프로세스를 예시하는 흐름도이다.
도 62는, 본 발명에 따른, 앱 플랫폼 상에서의 로봇식 요리용 레시피 앱의 생성을 예시하는 흐름도이다.
도 63은, 본 발명에 따른, 요리 레시피에 대한 유저 검색, 구매, 및 구독의 프로세스를 예시하는 흐름도이다.
도 64a 및 도 64b는, 본 발명에 따른, 미리 정의된 레시피 검색 기준의 한 예를 예시하는 블록도이다.
도 65는, 본 발명에 따른, 로봇식 키친에서의 몇몇 미리 정의된 컨테이너를 예시하는 블록도이다.
도 66은, 본 발명에 따른, 동시적 음식 준비 프로세싱을 위한 다수의 쌍의 로봇 손을 갖는 직사각형 레이아웃에서 구성되는 로봇식 레스토랑 키친 모듈의 제1 실시형태를 예시하는 블록도이다.
도 67은, 본 발명에 따른, 동시적 음식 준비 프로세싱을 위한 다수의 쌍의 로봇 손을 갖는 U자 형상의 레이아웃으로 구성되는 로봇식 레스토랑 키친 모듈의 제2 실시형태를 예시하는 블록도이다.
도 68은, 본 발명에 따른, 센서류 쿡웨어 및 곡선을 갖는 로봇식 음식 준비 시스템의 제2 실시형태를 예시하는 블록도이다.
도 69는, 본 발명에 따른, 제2 실시형태에서의 로봇식 음식 준비 시스템의 몇몇 물리적 엘리먼트를 예시하는 블록도이다.
도 70은, 본 발명에 따른, 제2 실시형태에서의 사용을 위한 실시간 온도 센서를 갖는 (스마트) 팬용 센서류 쿡웨어를 예시하는 블록도이다.
도 71은, 본 발명에 따른, 요리사 스튜디오에서의 센서류 쿡웨어의 상이한 센서로부터의, 다수의 데이터 포인트를 갖는 기록된 온도 곡선을 예시하는 그래프 도면이다.
도 72는, 본 발명에 따른, 동작 제어 유닛으로의 전송을 위한, 요리사 스튜디오에서의 센서류 쿡웨어로부터의 기록된 온도 및 습도 곡선을 예시하는 그래프 도면이다.
도 73은, 본 발명에 따른, 팬 상의 상이한 구역에 대한 온도 곡선으로부터의 데이터에 기초하여 요리하기 위한 센서류 쿡웨어를 예시하는 블록도이다.
도 74는, 본 발명에 따른, 제2 실시형태에서의 사용을 위한 실시간 온도 및 습도 센서를 갖는 (스마트) 오븐의 센서류 쿡웨어를 예시하는 블록도이다.
도 75은, 본 발명에 따른, 제2 실시형태에서의 사용을 위한 실시간 온도 센서를 갖는 (스마트) 차콜 그릴용 센서류 쿡웨어를 예시하는 블록도이다.
도 76은, 본 발명에 따른, 제2 실시형태에서의 사용을 위한, 속력, 온도 및 전력 제어 기능을 갖는 (스마트) 수도꼭지(faucet)용 센서류 쿡웨어를 예시하는 블록도이다.
도 77은, 본 발명에 따른, 제2 실시형태에서의 센서류 쿡웨어를 갖는 로봇식 키친의 평면도를 예시하는 블록도이다.
도 78은, 본 발명에 따른, 제2 실시형태에서의 센서류 쿡웨어를 갖는 로봇식 키친의 사시도를 예시하는 블록도이다.
도 79는, 본 발명에 따른, 로봇식 키친에서의 하나 이상의 이전에 기록된 파라미터 곡선으로부터 요리를 준비하기 위한 로봇식 키친의 프로세스에서의 제2 실시형태를 예시하는 흐름도이다.
도 80은, 본 발명에 따른, 센서류 쿡웨어를 갖는 요리사의 요리 프로세스를 캡쳐하는 것에 의한 로봇식 음식 준비 시스템의 제2 실시형태를 예시하는 흐름도이다.
도 81은, 본 발명에 따른, 센서류 쿡웨어를 갖는 요리사의 요리 프로세스를 복제하는 것에 의한 로봇식 음식 준비 시스템의 제2 실시형태를 예시하는 흐름도이다.
도 82는, 본 발명에 따른, 요리용 동작 제어 모듈(cooking operating control module), 및 커맨드 및 시각적 모니터링 모듈을 갖는 로봇식 음식 준비 키친의 제3 실시형태를 예시하는 블록도이다.
도 83은, 본 발명에 따른, 로봇 팔 및 손 모션을 갖는 로봇식 음식 준비 키친의 제3 실시형태에서의 평면도를 예시하는 블록도이다.
도 84는, 본 발명에 따른, 로봇 팔 및 손 모션을 갖는 로봇식 음식 준비 키친의 제3 실시형태에서의 사시도를 예시하는 블록도이다.
도 85는, 본 발명에 따른, 커맨드 및 시각적 모니터링 디바이스를 갖는 로봇식 음식 준비 키친의 제3 실시형태에서의 평면도를 예시하는 블록도이다.
도 86은, 본 발명에 따른, 커맨드 및 시각적 모니터링 디바이스를 갖는 로봇식 음식 준비 키친의 제3 실시형태에서의 사시도를 예시하는 블록도이다.
도 87a는, 본 발명에 따른, 로봇을 갖는 로봇식 음식 준비 키친의 제4 실시형태를 예시하는 블록도이다; 도 87b는, 본 발명에 따른, 휴머노이드 로봇(humanoid robot)을 갖는 로봇식 음식 준비 키친의 제4 실시형태에서의 평면도를 예시하는 블록도이다; 그리고 도 87c는, 본 발명에 따른, 휴머노이드 로봇을 갖는 로봇식 음식 준비 키친의 제4 실시형태에서의 사시 평면도를 예시하는 블록도이다.
도 88은, 본 발명에 따른, 로봇의 인간 에뮬레이터 전자적 지적 재산(intellectual property; IP) 라이브러리를 예시하는 블록도이다.
도 89는, 본 발명에 따른, 로봇 인간 감정 인식 엔진(robotic human emotion recognition engine)을 예시하는 블록도이다.
도 90은, 본 발명에 따른, 로봇 인간 감정 엔진의 프로세스를 예시하는 흐름도이다.
도 91a 내지 도 91c는, 본 발명에 따른, 호르몬, 페로몬 및 다른 파라미터를 갖는 감정 프로파일의 모집단에 대해 인간의 감정 프로파일을 비교하는 프로세스를 예시하는 흐름도이다.
도 92a는, 본 발명에 따른, 호르몬의 세트, 페로몬의 세트, 및 다른 주요 파라미터를 모니터링하는 것에 의해 인간의 감정 상태의 감정 검출 및 분석을 예시하는 블록도이고; 그리고 도 92b는, 본 발명에 따른, 인간의 감정 거동에 관해 평가하고 학습하는 로봇을 예시하는 블록도이다.
도 93은, 본 발명에 따른, 사람의 감정 프로파일을 검출 및 기록하기 위해 사람에서 이식되는 포트 디바이스를 예시하는 블록도이다.
도 94a는, 본 발명에 따른, 로봇 인간 지능 엔진을 예시하는 블록도이고; 그리고 도 94b는, 본 발명에 따른, 로봇 인간 지능 엔진의 프로세스를 예시하는 흐름도이다.
도 95a는, 본 발명에 따른, 로봇식 페인팅 시스템(robotic painting system)을 예시하는 블록도이고; 도 95b는, 본 발명에 따른, 로봇식 페인팅 시스템의 다양한 컴포넌트를 예시하는 블록도이고; 그리고 도 95c는 본 발명에 따른 로봇의 인간 페인팅 스킬 복제 엔진(robotic human-painting-skill replication engine)을 예시하는 블록도이다.
도 96a는, 본 발명에 따른, 페인팅 스튜디오에서의 아티스트의 프로세스를 기록하는 것을 예시하는 흐름도이고; 그리고 도 96b는, 본 발명에 따른, 로봇식 페인팅 시스템에 의한 복제 프로세스를 예시하는 흐름도이다.
도 97a는, 본 발명에 따른, 뮤지션 복제 엔진의 한 실시형태를 예시하는 블록도이고; 그리고 도 97b는, 본 발명에 따른, 뮤지션 복제 엔진의 프로세스를 예시하는 블록도이다.
도 98은, 본 발명에 따른, 간호업무 복제 엔진(nursing replication engine)의 한 실시형태를 예시하는 블록도이다.
도 99a 및 도 99b는, 본 발명에 따른, 간호업무 복제 엔진의 프로세스를 예시하는 흐름도이다.
도 100은, 본 개시에 따른, 크리에이터(creator) 기록 시스템 및 상업적 로봇 시스템을 갖는 로봇 인간 스킬 복제 시스템(robotic human-skill replication system)의 일반적인 적용가능성(또는 범용성)을 예시하는 블록도이다.
도 101은, 본 개시에 따른, 다양한 모듈을 갖는 로봇 인간 스킬 복제 엔진(robotic human-skill replication engine)을 예시하는 소프트웨어 시스템 도면이다.
도 102는, 본 개시에 따른, 로봇 인간 스킬 복제 시스템의 하나의 실시형태를 예시하는 블록도이다.
도 103은, 본 개시에 따른, 표준화된 동작 툴, 표준화된 포지션, 및 방위(orientation), 및 표준화된 기기를 사용한 스킬 실행 또는 복제 프로세스에 대한 제어 지점을 갖는 휴머노이드를 예시하는 블록도이다.
도 104는, 본 개시에 따른, 주기적 시간 간격으로 글러브 센서의 활동을 추적하는 것에 의해 인간 스킬 움직임의 기록된 프로세스를 복제하는 휴머노이드 복제 프로그램을 예시하는 단순화된 블록도이다.
도 105는, 본 개시에 따른, 크리에이터 움직임 기록 및 휴머노이드 복제를 예시하는 블록도이다.
도 106은, 범용 휴머노이드 로봇에 대한 전체 로봇 제어 플랫폼을, 본 개시의 기능성의 하이 레벨 설명(high-level description)으로서 묘사한다.
도 107은, 본 개시에 따른, 휴머노이드 애플리케이션 태스크 복제 프로세스(humanoid application-task replication process)의 일부로서 미소 조작 라이브러리의 생성, 전달, 구현, 및 사용을 위한 개략도를 예시하는 블록도이다.
도 108은, 본 개시에 따른, 스튜디오 및 로봇 기반의 지각 데이터 입력 카테고리 및 타입을 예시하는 블록도이다.
도 109는, 본 개시에 따른, 물리적/시스템 기반의 미소 조작 라이브러리 액션 기반의 양팔(dual-arm) 및 토르소 토폴로지를 예시하는 블록도이다.
도 110은, 본 개시에 따른, 태스크 고유의 액션 시퀀스에 대한 미소 조작 라이브러리 조작 국면 조합 및 전이를 예시하는 블록도이다.
도 111은, 본 개시에 따른, 스튜디오 데이터로부터 (일반적인 및 태스크 고유의) 하나 이상의 미소 조작 라이브러리 구축 프로세스를 예시하는 블록도이다.
도 112는, 본 개시에 따른, 하나 이상의 미소 조작 라이브러리 데이터 세트를 통한 로봇 태스크 실행을 예시하는 블록도이다.
도 113은, 본 개시에 따른, 자동화된 미소 조작 파라미터 세트 구축 엔진에 대한 개략도를 예시하는 블록도이다.
도 114a는, 본 개시에 따른, 로봇 시스템의 데이터 중심 뷰를 예시하는 블록도이다.
도 114b는, 본 개시에 따른, 미소 조작 로봇 거동 데이터의 구성, 링크(linking), 및 변환에서의 다양한 미소 조작 데이터 포맷의 예를 예시하는 블록도이다.
도 115는, 본 개시에 따른, 로봇 하드웨어 기술 개념, 로봇 소프트웨어 기술 개념, 로봇 비지니스 개념, 및 로봇 기술 개념을 전달하는 수학적 알고리즘 사이의 상이한 레벨의 양방향 추상화를 예시하는 블록도이다.
도 116은, 본 개시에 따른, 한 쌍의 로봇 팔과 손, 및 다섯 손가락을 갖는 각각의 손을 예시하는 블록도이다.
도 117a는, 본 개시에 따른, 휴머노이드의 하나의 실시형태를 예시하는 블록도이고; 도 117b는, 본 개시에 따른, 자이로스코프 및 그래픽 데이터를 갖는 휴머노이드 실시형태를 예시하는 블록도이고; 그리고 도 117c는, 본 개시에 따른, 몸체 감지 수트(body sensing suit), 팔 외골격(exoskeleton), 헤드 기어, 및 감지 글러브를 포함하는, 휴머노이드 상의 크리에이터 기록 디바이스를 예시하는 그래픽 도면이다.
도 118은, 본 개시에 따른, 로봇 인간 스킬 주제 전문가 미소 조작 라이브러리(robotic human-skill subject expert minimanipulation library)를 예시하는 블록도이다.
도 119는, 본 개시에 따른, 인간 손 스킬 움직임(human-hand-skill movement)을 대체하기 위한 일반적인 미소 조작의 전자 라이브러리의 생성 프로세스를 예시하는 블록도이다.
도 120은, 본 개시에 따른, 일반적인 미소 조작을 사용한 다수의 스테이지에서의 실행에 의해 로봇에 의해 태스크를 수행하는 것을 예시하는 블록도이다.
도 121은, 본 개시에 따른, 미소 조작의 실행 국면 동안의 실시간 파라미터 조정을 예시하는 블록도이다.
도 122는, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트를 예시하는 블록도이다.
도 123은, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트에서의 생선을 자르는 제1 미소 조작을 예시하는 블록도이다.
도 124는, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트에서의 용기(container)로부터 밥을 취하는 제2 미소 조작을 예시하는 블록도이다.
도 125는, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트에서의 생선의 조각을 집어 드는 제3 미소 조작을 예시하는 블록도이다.
도 126은, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트에서의 밥과 생선을 바람직한 형상으로 단단하게 하는 제4 미소 조작을 예시하는 블록도이다.
도 127은, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트에서의 밥을 감싸도록 생선을 누르는 제5 미소 조작을 예시하는 블록도이다.
도 128은, 본 개시에 따른, 임의의 순서로 또는 임의의 조합에서 병렬로 발생하는 피아노를 연주하기 위한 미소 조작의 세트를 예시하는 블록도이다.
도 129는, 본 개시에 따른, 피아노를 연주하기 위한 미소 조작의 세트로부터 피아노를 연주하기 위해 병렬로 발생하는 미소 조작의 세트의 오른손에 대한 제1 미소 조작 및 왼손에 대한 제2 미소 조작을 예시하는 블록도이다.
도 130은, 본 개시에 따른, 피아노를 연주하기 위한 미소 조작의 세트로부터 병렬로 발생하는 미소 조작의 세트의 오른발에 대한 제3 미소 조작 및 왼발에 대한 제4 미소 조작을 예시하는 블록도이다.
도 131은, 본 개시에 따른, 피아노를 연주하기 위한 미소 조작의 세트로부터의 하나 이상의 다른 미소 조작과 병렬로 발생하는 몸체를 움직이기 위한 제5 미소 조작을 예시하는 블록도이다.
도 132은, 본 개시에 따른, 임의의 순서로 또는 임의의 조합에서 병렬로 발생하는 휴머노이드가 걷기 위한 미소 조작의 세트를 예시하는 블록도이다.
도 133은, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 다리를 사용한 스트라이드(stride) 자세의 제1 미소 조작을 예시하는 블록도이다.
도 134는, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 다리를 사용한 스쿼시(squash) 자세의 제2 미소 조작을 예시하는 블록도이다.
도 135는, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 다리를 사용한 패싱(passing) 자세의 제3 미소 조작을 예시하는 블록도이다.
도 136은, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 다리를 사용한 스트레치(stretch) 자세의 제4 미소 조작을 예시하는 블록도이다.
도 137은, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 왼쪽 다리를 사용한 스트라이드 자세의 제5 미소 조작을 예시하는 블록도이다.
도 138은, 본 개시에 따른, 삼차원 비전 시스템을 갖는 로봇 간호 모듈(robotic nursing care module)을 예시하는 블록도이다.
도 139는, 본 개시에 따른, 표준화된 캐비넷을 갖는 로봇 간호 모듈을 예시하는 블록도이다.
도 140은, 본 개시에 따른, 하나 이상의 표준화된 스토리지, 표준화된 스크린, 및 표준화된 옷장을 갖는 로봇 간호 모듈을 예시하는 블록도이다.
도 141은, 본 개시에 따른, 한 쌍의 로봇 팔 및 한 쌍의 로봇 손을 갖는 망원경 몸체를 갖는 로봇 간호 모듈을 예시하는 블록도이다.
도 142는, 본 개시에 따른, 노인을 돕기 위한 다양한 움직임을 갖는 로봇 간호 모듈을 실행하는 제1 예를 예시하는 블록도이다.
도 143은, 본 개시에 따른, 휠체어를 넣고(loading) 꺼내는(unloading) 로봇 간호 모듈을 실행하는 제2 예를 예시하는 블록도이다.
도 144는, 본 개시에 따른, 두 명의 인적 자원(human source) 사이에서 퍼실리테이터(facilitator)로서 작용하는 휴머노이드 로봇을 예시하는 도해적 도면이다.
도 145는, 본 개시에 따른, 사람 A의 직접적인 제어 하에 있는 동안 사람 B에 대한 치료사로서 기능하는 휴머노이드 로봇을 예시하는 도해적 도면이다.
도 146은, 본 개시에 따른, 팔을 움직이는 데 풀 토크가 필요로 되는 로봇 손 및 팔에 대한 모터의 배치에서의 제1 실시형태를 예시하는 블록도이다.
도 147은, 본 개시에 따른, 팔을 움직이는 데 감소된 토크가 필요로 되는 로봇 손 및 팔에 대한 모터의 배치에서의 제2 실시형태를 예시하는 블록도이다.
도 148a는, 본 개시에 따른, 오븐을 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 정면도를 예시하는 도해적 도면이고; 도 148b는, 본 개시에 따른, 오븐을 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 평면도를 예시하는 도해적 도면이다.
도 149a는, 본 개시에 따른, 추가적인 간격(additional spacing)을 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 정면도를 예시하는 도해적 도면이고; 도 149b는, 본 개시에 따른, 추가적인 간격을 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 평면도를 예시하는 도해적 도면이다.
도 150a는, 본 개시에 따른, 슬라이딩 스토리지를 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 정면도를 예시하는 도해적 도면이고; 도 150b는, 본 개시에 따른, 슬라이딩 스토리지를 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 평면도를 예시하는 도해적 도면이다.
도 151a는, 본 개시에 따른, 선반을 구비하는 슬라이딩 스토리지를 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 정면도를 예시하는 도해적 도면이고; 도 151b는, 본 개시에 따른, 선반을 구비하는 슬라이딩 스토리지를 갖는 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔의 평면도를 예시하는 도해적 도면이다.
도 152 내지 도 161은, 본 개시에 따른, 로봇 그립 옵션(robotic gripping option)의 다양한 실시형태의 도해적 도면이다.
도 162a 내지 도 162s는, 본 개시에 따른, 다양한 키친 유텐실 및 쿡웨어에 로봇 손이 부착하기에 적합한 쿡웨어 핸들을 예시하는 도해적 도면이다.
도 163은, 본 개시에 따른, 로봇식 키친에서 사용하기 위한 블렌더 부분의 도해적 도면이다.
도 164a 내지 도 164c는, 본 개시에 따른, 로봇식 키친에서 사용하기 위한 다양한 키친 홀더를 예시하는 도해적 도면이다.
도 165a 내지 도 165v는 조작의 예를 예시하는 블록도이지만 본 개시를 제한하지는 않는다.
도 166a 내지 도 166l은, 본 개시에 따른, 테이블 A의 키친 기기의 샘플 타입을 예시한다.
도 167a 내지 도 167v는, 본 개시에 따른, 테이블 B의 재료의 샘플 타입을 예시한다.
도 168a 내지 168z는, 본 개시에 따른, 테이블 C의 음식 준비, 방법, 기기, 및 요리법(cuisine)의 샘플 리스트를 예시한다.
도 169a 내지 도 169zo는, 본 개시에 따른, 테이블 C의 다양한 샘플 베이스를 예시한다.
도 170a 내지 도 170c는, 본 개시에 따른, 테이블 D의 요리법 및 음식의 샘플 타입을 예시한다.
도 171a 내지 도 171e는, 본 개시에 따른, 테이블 E의 로봇식 음식 준비 시스템의 하나의 실시형태를 예시한다.
도 172a 내지 도 172c는, 본 개시에 따른, 로봇이 실행하는 샘플 미소 조작을 예시하는데, 로봇 스시 만들기, 로봇 피아노 연주하기, 제1 포지션으로부터 제2 포지션으로 이동하는 것에 의해 로봇이 로봇 이동시키기, 제1 포지션으로부터 제2 포지션으로 로봇 점프하기, 책장으로부터 로봇 책 가져오기, 제1 포지션으로부터 제2 포지션으로 로봇 가방 가져오기, 로봇 항아리 열기, 및 고양이가 소비할 음식을 로봇이 보울에 담기를 포함한다.
도 173a 내지 도 173l은, 본 개시에 따른, 로봇이 수행할 샘플 다중레벨 미소 조작을 예시하는데, 측정, 위장 세척(lavage), 보충용 산소, 체온 유지, 카테터 삽입(catheterization), 물리치료(physiotherapy), 위생 절차(hygienic procedure), 급식, 분석용 샘플링, 장루(stoma) 및 카테터(catheter)의 케어, 상처 케어, 및 투약 방법을 포함한다.
도 174는, 본 개시에 따른, 로봇이 삽관, 소생술/심폐소생술, 출혈 보충, 지혈, 기관에 대한 응급 처치, 뼈 골절, 및 상처 봉합을 수행하기 위한 샘플 다중레벨 미소 조작을 예시한다.
도 175는, 본 개시에 따른, 샘플 의료 기기 및 의료 디바이스의 리스트를 예시한다.
도 176a 및 도 176b는, 본 개시에 따른, 미소 조작을 갖는 샘플 보육 서비스(sample nursery service)를 예시한다.
도 177은, 본 개시에 따른, 다른 기기 리스트를 예시한다.
도 178은, 본원에서 논의되는 방법론을 수행하는 컴퓨터 실행가능 명령어가 설치되거나 실행될 수 있는 컴퓨터 디바이스의 한 예를 예시하는 블록도이다.
본 발명의 구조적 실시형태 및 방법의 설명이 도 1 내지 도 178을 참조로 제공된다. 특정하게 개시된 실시형태로 본 발명을 제한하려는 의도는 없다는 것 및 그러나 본 발명은 다른 피쳐, 엘리먼트, 방법, 및 실시형태를 사용하여 실시될 수도 있다는 것이 이해되어야 한다. 다양한 실시형태에서의 동일한 엘리먼트는 동일한 도면 부호를 가지고 공통적으로 칭해진다.
하기의 정의는 본원에서 설명되는 엘리먼트 및 단계에 적용된다. 이들 용어는 또한 확장될 수도 있다.
추상화된 데이터 - 적절한 실행 및 복제를 위해 머신이 알아야 할 필요가 있는 많은 다른 데이터 엘리먼트를 갖는 머신 실행에 대한 활용의 추상화된 레시피를 가리킨다. 이 소위 메타데이터, 또는 요리 프로세스에서의 특정한 단계에 대응하는 추가 데이터는, 그것이 직접적인 센서 데이터(클록 시간, 물 온도, 카메라 이미지, 유텐실(utensil) 또는 사용되는 재료, 등등)이든 또는 더 큰 데이터 세트의 해석 또는 추상화를 통해 생성되는 데이터(예컨대, 카메라 픽쳐로부터의 컬러 맵 및 텍스쳐로 오버레이되는, 이미지에서의 오브젝트의 위치 및 타입을 추출하기 위해 사용되는 레이저로부터의 3차원 범위의 클라우드, 등등)이든 간에, 그것이 레시피에서의 단계의 시퀀스를 통해 진행함에 따라 매 시점에 요구되는 모든 프로세스 및 관련 방법 및 기기를 설정, 제어 및 모니터링하기 위해 로봇식 키친에 의해 타임스탬핑되고 사용된다.
추상화된 레시피 - 프로세스 및 방법의 시퀀스뿐만 아니라 인간 요리사의 스킬을 통해 준비되고 조합되는 소정의 재료의, 소정의 시퀀스에서의 사용에 의해 표현되는 것으로 인간이 알고 있는 요리사의 레시피의 표현을 가리킨다. 자동화된 방식에서 실행을 위해 머신에 의해 사용되는 추상화된 레시피는 상이한 타입의 분류 및 시퀀스를 요구한다. 실행되는 전체적인 단계는 인간 요리사의 것과 동일하지만, 로봇식 키친에 대한 활용의 추상화된 레시피는, 추가적인 메타데이터가 레시피의 모든 단계의 일부여야 한다는 것을 요구한다. 이러한 메타 데이터는 요리 시간, 변수 예컨대 온도(및 그 시간에 걸친 변동량), 오븐 설정, 사용되는 툴/기기, 등등을 포함한다. 기본적으로, 머신 실행가능 레시피 스크립트는, 요리 프로세스에 중요한 모든 가능한 측정된 변수(인간 요리사가 요리사 스튜디오에서 레시피를 준비하고 있었던 동안 측정되고 저장된 모든 것)를 시간, 전체 시간 및 요리 시퀀스의 각각의 프로세스 단계 내의 시간 둘 다에 상관되게 할 필요가 있다. 그러므로, 추상화된 레시피는 머신 판독가능 표현 또는 도메인으로 매핑된 요리 단계의 표현인데, 추상화된 레시피는 논리적 추상화 단계의 세트를 통한, 인간 도메인으로부터 머신 이해가능 및 머신 실행가능 도메인의 것으로의 필수 프로세스를 취한다.
가속 - 로봇 팔이 축을 중심으로 또는 짧은 거리에 걸친 공간 궤적을 따라 가속화할 수 있는 속력 변화의 최대 레이트를 가리킨다.
정확성 - 로봇이 지령을 받은 위치에 얼마나 가까이 갈 수 있는지를 가리킨다. 정확성은, 지령을 받은 위치와 비교한 로봇의 절대 위치 사이의 차이에 의해 결정된다. 정확성은, 다수의(멀티 모드) 센서를 사용하는 실시간의 3차원 모델 또는 로봇 손에 있는 센서와 같은 외부 감지를 통해 향상, 조정, 또는 캘리브레이팅될 수 있다.
액션 프리미티브 (action primitive) - 하나의 실시형태에서, 그 용어는, 로봇 장치를 위치 X1으로부터 위치 X2로 이동시키는 것, 또는 반드시 기능적 성과를 획득할 필요 없이 음식 준비를 위한 오브젝트로부터의 거리를 감지하는 것과 같은 불가분(indivisible)의 로봇 액션을 나타낸다. 다른 실시형태에서, 그 용어는 미소 조작을 달성하기 위한 하나 이상의 이러한 유닛의 시퀀스에서의 불가분의 로봇 액션을 나타낸다. 이들은 동일한 정의의 두 개의 양태이다.
자동화된 첨가 시스템(Automated Dosage System) - 적용시, 특정한 사이즈의 식품 화학 화합물(food chemical compounds)(예컨대 소금, 설탕, 후추, 양념, 임의의 종류의 액체, 예컨대 물, 오일, 에센스, 케첩, 등등)이 배출되는 표준화된 키친 모듈에서의 첨가물 컨테이너(dosage container)를 가리킨다.
자동화된 저장 및 배달 시스템 - 음식을 저장하기 위한 특정 온도 및 습도를 유지하는 표준화된 키친 모듈에서의 저장 컨테이너를 가리킨다; 각각의 저장 컨테이너는, 특정한 저장 컨테이너가 그 안에 저장된 음식 내용물을 배달하는 곳을 식별하고 검색하기 위해, 로봇식 키친에 대한 코드(예를 들면, 바코드)를 할당받는다.
데이터 클라우드 - 소정의 간격에서 수집되고 다수의 관계, 예컨대, 시간, 위치, 등등에 기초하여 집성되는 특정한 공간으로부터의 센서 또는 데이터 기반의 수치적 측정치 값(3차원 레이저/음향 범위 측정치, 카메라 이미지로부터의 RGB 값, 등등)의 집합체를 가리킨다.
자유도(Degree of Freedom; " DOF ") - 기계적 디바이스 또는 시스템이 이동할 수 있는 정의된 모드 및/또는 방향을 가리킨다. 자유도의 수는, 모션의 양태의 독립적인 변위의 전체 수와 동일하다. 자유도의 총 수는 두 개의 로봇 팔의 경우 두 배가 된다.
에지 검출 - 오브젝트 식별 및 파지(grasping) 및 핸들링을 위한 계획을 지원하기 위해, 카메라의 2차원 이미지에서 이미 성공적으로 자신들의 경계를 식별하는, 중첩할 수도 있는 다수의 오브젝트의 에지를 식별할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
평형상태 값 - 자신에게 가해지는 힘이 평형상태를 이루는, 즉, 순 힘(net force)이 없고 따라서 순 움직임(net movement)이 존재하지 않는, 로봇 팔과 같은 로봇의 부속지(appendage)의 목표 위치를 가리킨다.
실행 시퀀스 플래너 - 컴퓨터로 제어될 수 있는 하나 이상의 엘리먼트 또는 시스템, 예컨대 팔(들), 디스펜서, 어플라이언스, 등등에 대한 실행 스크립트 또는 커맨드의 시퀀스를 생성할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
음식 실행 충실도 - 인간 요리사의 방법과 프로세스 및 단계와 변수를 주시하고 측정하고 이해하는 것에 의해 요리사 스튜디오에서 생성되는 레시피 스크립트를 복제하여, 요리사의 기술 및 스킬을 에뮬레이팅하고자 시도하도록 의도되는 로봇식 키친을 가리킨다. 음식 준비의 실행이 인간 요리사의 것에 얼마나 가깝게 되는지의 충실도는, 농도(consistency), 컬러, 맛, 등등과 같은 다양한 주관적 요소에 의해 측정될 때, 로봇을 이용하여 준비되는 요리가 인간이 준비한 요리와 얼마나 비슷하게 닮았는지에 의해 측정된다. 그 개념은, 로봇식 키친에 의해 준비된 요리가 인간 요리사에 의해 준비된 것에 더 많이 가까울수록, 복제 프로세스의 충실도는 더 높다는 것이다.
음식 준비 스테이지 ("요리 스테이지 "라고도 칭해짐) - 표준화된 키친 모듈에서의 다양한 키친 기기 및 어플라이언스를 제어하기 위한 컴퓨터 명령어, 및 액션 프리미티브를 포함하는 하나 이상의 미소 조작; 특정한 레시피에 대한 전체 음식 준비 프로세스를 총체적으로 나타내는 하나 이상의 음식 준비 스테이지의 조합, 순차적이거나 병렬적인 어느 하나를 가리킨다.
기하학적 추론(geometric reasoning) - 특정한 볼륨(volume)의 실제 형상 및 사이즈에 관해 추론하기 위해 2차원(2D)/3차원(3D) 표면 데이터 및/또는 볼륨 데이터를 사용할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다; 경계 정보를 결정하거나 또는 활용하는 능력은 또한 (이미지 또는 모델에서의) 특정한 기하학적 엘리먼트의 시작 단 및 존재하는 수에 관한 추리(inference)를 허용한다.
파지 추론(Grasp Reasoning) - 로봇 엔드 이펙터(robotic end-effector)(그리퍼(gripper), 링크, 등등), 또는 심지어 엔드 이펙터에 의해 유지되는 툴/유텐실 사이의 다중 접촉(점/면/볼륨) 접촉 상호작용을 계획하여, 성공적으로 그리고 안정적으로 오브젝트와 접촉하고, 오브젝트를 파지하고 그리고 오브젝트를 유지하여 그것을 3차원 공간에서 조작하기 위해, 기하학적 및 물리적 추론에 의존할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
하드웨어 자동화 디바이스 - 사전 프로그래밍된 단계 중 어느 것도 수정하는 능력 없이 사전 프로그래밍된 단계를 연속적으로 실행할 수 있는 고정된 프로세스 디바이스; 이러한 디바이스는 어떠한 조절도 필요로 하지 않는 반복적인 모션을 위해 사용된다.
재료 관리 및 조작 - 각각의 재료를 상세히 정의하는 것(사이즈, 형상, 무게, 치수, 특성 및 속성을 포함함), 이전에 저장된 재료 상세(예컨대, 생선 필렛(fish fillet)의 사이즈, 계란의 치수, 등등)와는 상이할 수도 있는 특정한 재료와 관련되는 변수에서의 하나 이상의 실시간 조정, 및 상이한 스테이지를 실행함에 있어서의 재료에 대한 조작 움직임에 대한 프로세스를 가리킨다.
키친 모듈(또는 키친 볼륨) - 표준화된 풀 키친 모듈의 각각의 키친 엘리먼트를 보관하고, 접근하고, 동작시키기 위한 미리 정의된 공간 및 치수를 갖는, 키친 기기의 표준화된 세트, 키친 툴의 표준화된 세트, 키친 핸들의 표준화된 세트, 및 키친 컨테이너의 표준화된 세트를 갖는 표준화된 풀 키친 모듈. 키친 모듈의 하나의 목적은, 로봇 팔 및 손의 움직임에 대한 상대적으로 고정된 키친 플랫폼을 제공하기 위해, 키친 기기, 툴, 핸들, 컨테이너, 등등 중 가능한 한 많은 것을 미리 정의하는 것이다. 요리사 키친 스튜디오에 있는 요리사 및 집에서 로봇식 키친을 갖는 사람(또는 레스토랑에 있는 사람) 양자는, 요리사 키친 스튜디오와 가정용 로봇식 키친 사이의 차이, 변화 및 편차의 리스크를 극소화하면서 키친 하드웨어의 예측가능성을 극대화하기 위해 표준화된 키친 모듈을 사용한다. 독립형 키친 모듈 및 통합형 키친 모듈을 포함하는 키친 모듈의 상이한 실시형태도 가능하다. 통합형 키친 모듈은 통상의 가정의 종래의 키친 영역에 적합된다. 키친 모듈은 적어도 두 개의 모드, 로봇 모드 및 정상(수동) 모드에서 동작한다.
머신 학습 - 소프트웨어 컴포넌트 또는 프로그램이 자신의 성능을 경험 및 피드백에 기초하여 향상시키는 기술을 가리킨다. 한 종류의 머신 학습은, 소망의 액션은 보상받고 소망하지 않은 액션은 벌칙을 받게 되는, 종종 로봇공학에서 사용되는 강화 학습이다. 다른 종류는 사례 기반 학습인데, 여기서는, 인간 선생님에 의한 또는 로봇 자체에 의한 이전의 솔루션, 예를 들면, 액션의 시퀀스가, 그 솔루션에 대한 임의의 제약사항 또는 이유와 함께 기억되고, 그 다음 신규의 설정에서 적용되거나 재사용된다. 또한 추가적인 종류의 머신 학습, 예컨대 유도적 방법 및 변환적(transductive) 방법이 존재한다.
미소 조작(MM) - 일반적으로, MM은, 허용가능한 실행 충실도 임계치 내에서 최적의 레벨에 도달하는 성과에 도달하기 위해, 필요로 되는 태스크 실행 성능 레벨을 달성하기 위한, 하나 이상의 하드웨어 기반의 엘리먼트를 통해 작용하며 하나 이상의 소프트웨어 컨트롤러에 의해 다수의 레벨에서 가이드되는, 센서 구동 컴퓨터 제어 하에서 지령된 모션 시퀀스를 실행하는 로봇 장치에 의한, 임의의 수 또는 조합의 그리고 다양한 레벨의 설명적 추상화(descriptive abstraction)에서의 하나 이상의 거동 또는 태스크 실행을 가리킨다. 허용가능한 충실도 임계치는 태스크 의존적이며 따라서 각각의 태스크에 대해 정의된다("도메인 고유의 애플리케이션"으로도 또한 칭해짐). 태스크 고유의 임계치의 부재시, 통상적인 임계치는, 최적의 성능의 0.001(0.1%)일 것이다.
● 로봇 기술 관점으로부터의 하나의 실시형태에서, 용어 MM은, 개별 작동에서부터 바람직한 성능 메트릭(desirable performance metric)을 갖는 특정한 태스크를 달성하기 위한 직렬 및/또는 병렬의 다중 액추에이터 협동 모션(포지션 및 속도)/상호 작용(힘 및 토크)의 시퀀스까지의 범위에 이르는 하나 이상의 액추에이터에 대한 소망의 모션/상호 작용 거동을 달성하기 위해 하나 이상의 저-고 레벨의 제어 루프에서 사용되는, 성능 및 실행 파라미터(변수, 상수, 컨트롤러 타입 및 컨트롤러 거동, 등등)에 의해 정의되는 바와 같은, 액추에이터 액션의 잘 정의된 미리 프로그래밍된 시퀀스 및 로봇의 태스크 실행 거동에서의 지각 피드백의 콜렉션을 가리킨다. MM은, 보다 더 고 레벨의 (태스크 설명의) 추상화를 갖는 점점 더 고 레벨의 더욱 더 복잡한 애플리케이션 고유의 태스크 거동을 달성하도록 더 저 레벨의 MM 거동을 직렬 및/또는 병렬로 결합하는 것에 의해 다양한 방식으로 결합될 수 있다.
● 소프트웨어/수학적 관점으로부터의 다른 실시형태에서, 용어 MM은, 최적의 성과의 임계 값 내에서 기본적인 기능적 성과를 달성하는 하나 이상의 단계의 조합(또는 시퀀스)을 가리킨다(바람직한 디폴트로서 0.001을 갖는 최적 값의 0.1, 0.01, 0.001, 또는 0.0001 이내에서와 같은 임계 값의 예). 각각의 단계는, 감지 동작 또는 액추에이터 움직임에 대응하는 액션 프리미티브, 또는 기본적인 코딩 단계로 구성되는 컴퓨터 프로그램 또는 독립형일 수도 있거나 또는 서브루틴으로서 기능할 수도 있는 다른 컴퓨터 프로그램과 유사한 다른 (더 작은) MM일 수 있다. 예를 들면, MM은 계란 움켜잡기일 수 있는데, 계란의 위치(location) 및 방위를 감지하고, 그 다음 로봇 팔을 뻗고, 로봇 손가락을 올바른 구성으로 움직이고, 그리고 움켜잡기 위한 정확하고 정교한 양의 힘을 인가하는 데 필요한 모터 액션으로 구성되며: 모두 프리미티브 액션이다. 다른 MM은 칼로 계란 깨기일 수 있는데, 하나의 로봇 손을 이용한 움켜잡기 MM, 후속하여, 다른 손을 이용한 칼 움켜잡기 MM, 후속하여, 미리 결정된 위치에서 미리 결정된 힘을 사용하여 계란을 칼로 치는 프리미티브 액션을 포함한다.
● 고 레벨의 애플리케이션 고유의 태스크 거동 - 인간이 이해할 수 있는 자연적인 언어로 설명될 수 있고 고 레벨의 목표를 성취하거나 또는 달성함에 있어서 명확하고 필요한 단계로서 인간에 의해 바로 인식가능한 거동을 가리킨다. 많은 다른 더 저 레벨의 거동 및 액션/움직임은, 더 고 레벨의 태스크 고유의 목표를 성공적으로 달성하기 위해, 다수의 개별적으로 작동되는 그리고 제어되는 자유도에 의해, 얼마간은 직렬 및 병렬로 또는 심지어 순환적인 양식으로 발생할 필요가 있다. 따라서, 더 고 레벨의 거동은, 더 복잡한 태스크 고유의 거동을 달성하기 위해, 다수 레벨의 저 레벨의 MM으로 이루어진다. 예로서, 특정한 악보의 제1 마디의 첫 음표를 하프 상에서 연주하는 커맨드는, 음표가 알려져 있다는(즉, g 플랫) 것을 가정하지만, 이제, 특정 손가락을 구부리고, 손가락을 정확한 스트링과 접촉시키도록 전체 손을 움직이거나 또는 손바닥의 모양을 만들고, 그 다음 코드를 뜯거나 켜는 것에 의해 정확한 사운드를 내도록 적절한 속도와 움직임으로 진행하기 위한 다수의 관절에 의한 액션을 수반하는 더 저 레벨의 MM이 발생해야 한다. 분리된 손가락 및/또는 손/손바닥의 모든 이들 개별 MM은, 이들이 전체적인 목표(특정 기기로부터 특정 음표를 추출하는 것)를 모르기 때문에, 모두 다양한 저 레벨의 MM으로 간주될 수 있다. 한편, 필요한 사운드를 내기 위해 주어진 기기 상에서 특정 음표를 연주하는 태스크 고유의 액션은, 그것이 전체 목표를 알고 있고 거동/모션 사이에서 상호 작용하는 것을 필요로 하고 성공적인 완료에 필요한 더 저 레벨의 MM 전체의 제어 상태에 있기 때문에, 분명히 더 고 레벨의 애플리케이션 고유의 태스크이다. 심지어, 특정 음표를 연주하는 것을, 전체 피아노 협주곡의 연주를 의미하는 전체적으로 더 고 레벨의 애플리케이션 고유의 태스크 거동 또는 커맨드에 대한 더 저 레벨의 MM으로서 정의하는 것만큼 멀리 나아갈 수 있는데, 이 경우, 개별 음표를 연주하는 것 각각은, 작곡가가 의도한 바와 같은 악보에 의해 구성되는 저 레벨의 MM으로서 간주될 수 있다.
● 저 레벨의 미소 조작 거동 - 기본적인 그리고 더 고 레벨의 태스크 고유의 모션/움직임 또는 거동을 달성하기 위한 기본 빌딩 블록으로서 필요로 되는 움직임을 가리킨다. 저 레벨의 거동 블록 또는 엘리먼트는 중간 또는 더 고 레벨의 복잡한 거동을 달성하기 위해 하나 이상의 직렬 또는 병렬 양식으로 결합될 수 있다. 예로서, 모든 손가락 관절에서 단일의 손가락을 구부리는 것은 저 레벨의 거동인데, 단일의 손가락을 구부리는 것이, 동일한 손의 모든 다른 손가락을 구부리는 것과 소정의 시퀀스로 결합될 수 있고, 움켜잡기의 더 고 레벨의 거동을, 이것이 툴이든 또는 유텐실이든 간에, 달성하기 위해 접촉/힘 임계치에 기초하여 시작/정지하도록 트리거될 수 있기 때문이다. 그러므로, 움켜잡기의 더 고 레벨의 태스크 고유의 거동은, 손의 다섯 손가락 각각에 의한 지각 데이터에 의해 구동되는 저 레벨의 거동의 직렬/병렬 조합으로 이루어진다. 따라서, 모든 거동은, 소정 양식에서의 조합시 더 고 레벨의 태스크 거동을 달성하는 기본적인 더 저 레벨의 모션/움직임으로 분류될 수 있다. 저 레벨의 거동과 고 레벨의 거동 사이의 분류 또는 경계는 다소 임의적일 수 있지만, 그것을 생각하는 하나의 방식은, 더욱 인간 언어의 태스크 액션(예컨대 "툴 잡기")의 일부로서의, 많은 의식적인 생각 없이 인간이 행하기 쉬운 움직임 또는 액션 또는 거동(예컨대 접촉이 이루어지고 충분한 접촉력이 달성될 때까지 툴/유텐실 주위로 자신의 손가락을 구부리는 것)이 저 레벨로 간주될 수 있고 저 레벨로서 간주되어야 한다는 것이다. 머신 언어 실행 언어의 관점에서, 더 고 레벨의 태스크 인식이 전혀 없는 모든 액추에이터 고유의 커맨드는 저 레벨의 거동으로서 확실히 간주된다.
모델 엘리먼트 및 분류 - 한 장면의 엘리먼트를, 태스크의 상이한 부분에서 사용되는 또는 필요로 되는 아이템인 것으로 이해할 수 있는 하나 이상의 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다; 예컨대 믹싱용 보울 및 휘저을 스푼에 대한 필요성 등등. 한 장면 또는 실세계 모델에서의 다수의 엘리먼트는, 더 빠른 계획 및 태스크 실행을 허용하는 그룹으로 분류될 수도 있다.
모션 프리미티브 - 세세한 액션 단계의 상이한 레벨/도메인을 정의하는 모션 액션을 가리키는데, 예를 들면, 하이 레벨 모션 프리미티브는 컵을 잡는 것일 것이고, 낮은 레벨의 모션 프리미티브는 5도만큼 손목을 회전시키는 것일 것이다.
멀티모달 감지 유닛 - 다수의 모드 또는 전자기 대역 또는 스펙트럼에서 감지 및 검출할 수 있는, 특히 3차원 위치 및/또는 모션 정보를 캡쳐할 수 있는 다수의 센서로 구성되는 감지 유닛을 가리킨다. 추가적인 모드는, 터치, 냄새, 등등과 같은 다른 물리적 감지를 포함하지만, 이들로 제한되지는 않는다.
축(axis)의 수 - 공간 내 임의의 포인트에 도달하기 위해서는 세 개의 축이 필요하다. 팔의 끝(즉, 손목)의 방위를 완전히 제어하기 위해서는, 세 개의 추가적인 회전 축(요, 피치, 및 롤)이 필요하다.
파라미터 - 수치적 값 또는 수치적 값의 범위를 취할 수 있는 변수를 가리킨다. 세 종류의 파라미터가 특히 관련된다: 로봇식 디바이스에 대한 명령어에서의 파라미터(예를 들면, 팔 움직임에서의 힘 또는 거리), 유저가 설정가능한 파라미터(예를 들면, 고기(meat)를 웰던을 좋아하는 것 대 미디엄을 좋아하는 것), 및 요리사가 정의한 파라미터(예를 들면, 오븐 온도를 350F로 설정).
파라미터 조정 - 입력에 기초하여 파라미터의 값을 변경시키는 프로세스를 가리킨다. 예를 들면, 로봇식 디바이스에 대한 명령어의 파라미터에서의 변경은, 재료의 속성(예를 들면, 사이즈, 형상, 방위), 키친 툴, 기기, 어플라이언스의 위치/방위, 미소 조작의 속도 및 지속시간에 기초할 수 있지만, 이들로 제한되지는 않는다.
페이로드 또는 이송 용량 - 로봇 팔이 중력에 대해 얼마나 많은 무게를 이송하고 홀딩할 수 있는지(또는 심지어 가속시킬 수 있는지)를, 그 엔드포인트 위치의 함수로서 나타낸다.
물리적 추론 - 기하학적으로 추론된 데이터에 의존할 수 있고 물리적 정보(밀도, 텍스쳐, 통상적인 기하학적 형태 및 형상)를 사용하여 추리 엔진(프로그램)이 오브젝트를 더 잘 모델링하고 또한 실세계에서의, 특히 파지되고/되거나 조작/핸들링될 때, 오브젝트의 거동을 더 잘 예측하는 것을 보조할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
원시 데이터 - 모든 측정되고 추리된 센서류 데이터 및 인간 요리사가 요리를 준비하는 것을 주시하고/모니터링하는 동안 요리사 스튜디오 레시피 생성 프로세스의 일부로서 수집되는 표현 정보를 가리킨다. 원시 데이터는 클록 시간과 같은 간단한 데이터 포인트로부터, (시간에 걸친) 오븐 온도, 카메라 이미지, 3차원 레이저 생성 장면 표현 데이터에 이르는, 사용되는 어플라이언스/기기, 활용되는 툴, 분배되는 재료(타입 및 양)와 시기, 등등에 이르기까지의 범위에 걸칠 수 있다. 스튜디오 키친이 자신의 내장형(built-in) 센서로부터 수집하여 원시의 타임스탬핑된 형태로 저장하는 모든 정보는 원시 데이터로서 간주된다. 그 다음, 원시 데이터는 한층 더 높은 레벨의 이해 및 레시피 프로세스 이해를 생성하기 위해, 원시 데이터를 추가적으로 타임스탬핑된 프로세싱된/해석된 데이터로 변환하는 다른 소프트웨어 프로세스에 의해 사용된다.
로봇 장치 - 로봇 센서 및 이펙터의 세트를 가리킨다. 이펙터는, 표준화된 로봇식 키친에서의 동작을 위한 하나 이상의 로봇 팔, 및 하나 이상의 로봇 손을 포함한다. 센서는 카메라, 범위 센서, 힘 센서(햅틱 센서)를 포함하는데, 이들은 자신의 정보를, 이펙터를 제어하는 프로세서 또는 프로세서의 세트로 전송한다.
레시피 요리 프로세스 - 컴퓨터 제어가능 디바이스가 자신의 환경(예를 들면, 재료, 툴, 유텐실 및 어플라이언스로 가득 찬 키친) 내에서 시퀀스화된 동작을 실행하는 것을 허용하기 위해, 프로그래밍가능한 자동화 디바이스 및 하드 자동화 디바이스(hard automation device)의 집합체에 대한 추상적인 그리고 세세한 레벨의 명령어를 포함하는 로봇 스크립트(robotic script)를 가리킨다.
레시피 스크립트 - 로봇식 키친 엘리먼트(로봇 팔, 자동화된 기기, 어플라이언스, 툴, 등등)에 의한 주어진 시퀀스에서의 실행시, 스튜디오 키친에서 인간 요리사에 의해 준비된 것과 동일한 음식의 적절한 복제 및 만들기로 나타나야 하는 커맨드 및 실행 프리미티브(간단히 복합 커맨드 소프트웨어)의 리스트 및 구조를 포함하는 시간적 시퀀스로서의 레시피 스크립트를 가리킨다. 로봇식 키친의 컴퓨터 제어 엘리먼트에 의해 이해가능하고 적절한 표현임에도 불구하고, 이러한 스크립트는 시간에서 순차적이며 음식을 만들기 위해 인간 요리사에 의해 활용되는 시퀀스와 등가이다.
레시피 속도 실행 - 요리사의 움직임을 복제하는 것에 의해 음식을 준비함에 있어서 레시피 단계의 실행에서의 타임 라인을 관리하는 것을 가리는데, 여기서 레시피 단계는 표준화된 음식 준비 동작(예를 들면, 표준화된 쿡웨어, 표준화된 기기, 키친 프로세서 등등), 미소 조작, 및 표준화되지 않은 오브젝트의 요리를 포함한다.
반복가능성 - 로봇 팔/손이 프로그래밍된 위치로 얼마나 정확하게 반복적으로 리턴할 수 있는지에 있어서의 허용가능한 미리 설정된 마진을 가리킨다. 로봇 손이 소정의 X-Y-Z 위치로 그 위치의 +/- 0.1 mm 내에서 이동할 것을 제어 메모리에서의 기술적 명세가 요구하면, 로봇 손이 지시된 그리고 소망되는/명령을 받은 위치의 +/- 0.1 mm 이내로 리턴하는 반복가능성이 측정된다.
로봇식 레시피 스크립트 - 마치 요리사에 의해 요리된 것과 동일한 최종 제품에 도달하기 위해 레시피에서 요구되는 요리 단계를 반영하는 로봇을 이용하여/하드 자동화 실행의 적절한 시퀀스에 관련되는 머신이 이해가능한 명령어의 컴퓨터 생성 시퀀스를 가리킨다.
로봇 코스튬 - 레시피 요리 프로세스(들)의 모든 양태 동안 요리사의 움직임 및 활동을 모니터링하고 추적하기 위해 요리사 스튜디오에서 사용되는, 외부에 기구가 구비된 디바이스(들) 또는 의류, 예컨대 글로브, 카메라 추적가능 마커가 달린 의류, 관절 외골격, 등등.
장면 모델링 - 하나 이상의 카메라의 시야에서 한 장면을 볼 수 있는, 그리고 특정한 태스크에 중요한 오브젝트를 검출하고 식별할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다. 이들 오브젝트는 사전에 학습될 수도 있고/있거나 공지의 물리적 속성 및 사용 의도를 갖는 컴퓨터 라이브러리의 일부일 수도 있다.
스마트 키친 쿡웨어 /기기 - 하나 이상의 그래픽 곡선(예를 들면, 온도 곡선, 습도 곡선, 등등)에 기초하여 음식을 준비하는, 하나 이상의 센서를 갖는 키친 기기의 아이템(예를 들면, 오븐, 그릴, 또는 수도꼭지) 또는 키친 쿡웨어의 아이템(예를 들면, 냄비 또는 팬)을 가리킨다.
소프트웨어 추상화 음식 엔진 - 입력 데이터를 프로세싱하고, 몇몇 형태의 텍스트 또는 그래픽 출력 인터페이스를 통해 다른 소프트웨어 엔진 또는 엔드 유저에 의해 사용될 소정의 소망하는 출력 데이터의 세트를 생성하기 위해 제휴하여 동작하는 소프트웨어 루프 또는 프로그램의 집합체로서 정의되는 소프트웨어 엔진을 가리킨다. 추상화 소프트웨어 엔진은, 데이터 판독치를 3차원 공간에서의 한 오브젝트(예컨대 테이블 상부, 요리 냄비, 등등)에 속하는 것으로 식별, 검출 및 분류하기 위해, 특정한 도메인의 공지의 소스로부터 크고 방대한 양의 입력 데이터(예컨대, 하나 이상의 센서에 의해 봤을 때 3차원 측정치의 데이터 클라우드를 형성하는 3차원 범위의 측정치)를 취하고, 그 다음 그 데이터를 프로세싱하여 상이한 도메인의 데이터의 해석에 도달하는 것(예컨대 동일한 수직 데이터 값을 갖는 데이터에 기초하여 데이터 클라우드에서 테이블 표면을 검출 및 인식하는 것, 등등)에 초점을 맞춘 소프트웨어이다. 추상화의 프로세스는, 하나 이상의 도메인으로부터 많은 데이터를 취하여 더 높은 레벨의 공간에서의 구조(예컨대 기하학적 형태)를 추리하는 것(데이터 포인트를 추상화하는 것), 및 그 다음 추리치를 한층 더 추상화하고 추상화된 데이터세트 중에서 오브젝트(냄비, 등등)를 식별하여 이미지에 있는 실세계 엘리먼트를 식별하는 것으로서 기본적으로 정의되는데, 이것은 차후 추가적인 결정(주요 오브젝트에 대한 핸들링/조작 결정 등등)을 위해 다른 소프트웨어 엔진에 의해 사용될 수 있다. 또한, 본 출원에서 "소프트웨어 추상화 엔진"에 대한 동의어는 "소프트웨어 해석 엔진" 또는 심지어 "컴퓨터 소프트웨어 프로세싱 및 해석 알고리즘"일 수 있을 것이다.
태스크 추론 - 태스크 설명을 분석할 수 있고, 태스크 설명에서 정의되는 특정한 최종 결과를 달성하기 위해, 그것을 다수의 머신 실행가능(로봇 또는 하드 자동화 시스템) 단계로 분할할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
3차원 실세계 오브젝트 모델링 및 이해 - 모든 표면 및 볼륨의 시변 3차원 모델이 자신의 내부의 오브젝트를 검출, 식별 및 분류하는 것 및 오브젝트의 용도 및 의도를 이해하는 것을 가능하게 하기 위해, 센서류 데이터를 사용하여 그 모든 표면 및 볼륨의 시변 3차원 모델을 생성할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
토크 벡터 - 로봇 부속지에 가해지는, 방향 및 크기를 포함하는 비틀림 힘(torsion force)을 가리킨다.
볼륨이 있는 오브젝트 (Volumetric Object) 추리(엔진) - 오브젝트 식별 및 분류 프로세서에서 보조하기 위해, 기하학적 데이터 및 에지 정보뿐만 아니라 센서류 데이터(컬러, 형상, 텍스트, 등등)을 사용하여, 하나 이상의 오브젝트의 3차원성의 식별을 허용할 수 있는 소프트웨어 기반의 컴퓨터 프로그램(들)을 가리킨다.
도 1은, 로봇 하드웨어(robotics hardware; 12) 및 로봇 소프트웨어(robotics software; 14)를 갖는 로봇식 음식 준비 키친(robotic food preparation kitchen; 10) 전체를 예시하는 시스템 도면이다. 전체적인 로봇식 음식 준비 키친(10)은, 음식 준비를 위한 로봇 기능을 수행하도록 함께 동작하는 로봇식 음식 준비 하드웨어(12) 및 로봇식 음식 준비 소프트웨어(14)를 포함한다. 로봇식 음식 준비 하드웨어(12)는, 표준화된 키친 모듈(18)(이것은 일반적으로 하나 이상의 센서를 갖는 기구가 구비된 환경에서 동작한다), 멀티모달 3차원 센서(20), 로봇 팔(22), 로봇 손(24), 및 캡쳐용 글로브(26)의 다양한 동작 및 움직임을 제어하는 컴퓨터(16)를 포함한다. 로봇식 음식 준비 소프트웨어(14)는, 음식을 준비함에 있어서의 요리사의 움직임을 캡쳐하고 로봇 팔 및 손을 통해 요리사의 움직임을 복제하여, 음식이 인간 요리사에 의해 준비된 것처럼 동일한 또는 실질적으로 동일한 맛을 낼 동일한 결과 또는 실질적으로 동일한 결과(예를 들면, 동일한 맛, 동일한 냄새, 등등)의 음식을 획득하기 위해, 로봇식 음식 준비 하드웨어(12)와 함께 동작한다.
로봇식 음식 준비 소프트웨어(14)는, 멀티모달 3차원 센서(20), 캡쳐용 모듈(28), 캘리브레이션 모듈(30), 변환 알고리즘 모듈(32), 복제 모듈(34), 3차원 비전 시스템을 갖는 품질 체크 모듈(36), 및 동일 결과 모듈(38), 학습 모듈(40)을 포함한다. 캡쳐용 모듈(28)은, 요리사가 음식을 준비할 때 요리사의 움직임을 캡쳐한다. 캘리브레이션 모듈(30)은, 요리 프로세스 이전에, 동안에 그리고 이후에, 로봇 팔(22) 및 로봇 손(24)을 캘리브레이팅한다. 변환 알고리즘 모듈(32)은, 요리사 스튜디오에서 수집되는 요리사의 움직임으로부터 기록된 데이터를, 로봇 손이 요리사의 음식 준비를 복제하는 로봇식 키친에서 사용하기 위한 레시피 수정 데이터(recipe modified data)(또는 변환 데이터)로 변환한다. 복제 모듈(34)은 로봇식 키친에서 요리사의 움직임을 복제하도록 구성된다. 품질 체크 모듈(36)은, 음식 준비 프로세스 동안, 이전에, 또는 이후에, 로봇식 키친에 의해 준비되는 음식의 품질 체크 기능을 수행하도록 구성된다. 동일 결과 모듈(38)은, 로봇식 키친에서 로봇 팔 및 손의 쌍에 의해 준비된 음식이, 마치 요리사에 의해 준비된 것처럼 동일한 또는 실질적으로 동일한 맛을 낼 것인지의 여부를 결정하도록 구성된다. 학습 모듈(40)은, 로봇 팔 및 손을 동작시키는 컴퓨터(16)에게 학습 능력을 제공하도록 구성된다.
도 2는, 요리사의 레시피 프로세스 및 움직임을 복제하는 것에 의해 요리를 준비하기 위한 가정용 로봇식 키친 시스템과 요리사 스튜디오 시스템을 포함하는 음식 로봇 요리용 시스템의 제1 실시형태를 예시하는 시스템 도면이다. 로봇식 키친 요리용 시스템(42)은, 하나 이상의 소프트웨어 기록의 레시피 파일(46)을 로봇식 키친(48)("가정용 로봇식 키친"으로 또한 칭해짐)으로 전달하는 요리사 키친(44)("요리사 스튜디오 키친"으로 또한 칭해짐)을 포함한다. 하나의 실시형태에서, 요리사 키친(44) 및 로봇식 키친(48) 양자는, 음식 준비의 정확한 복제를 극대화하기 위해 동일한 표준화된 로봇식 키친 모듈(50)("로봇식 키친 모듈", "로봇식 키친 볼륨", 또는 "키친 모듈", 또는 "키친 볼륨"으로 또한 칭해짐)을 사용하는데, 이것은 요리사 키친(44)에서 준비된 음식과 로봇식 키친(46)에서 준비된 음식 사이의 편차에 기여할 수도 있는 변수를 감소시킨다. 요리사(52)는, 요리사의 요리하는 움직임을 캡쳐하고 기록하기 위한 외부 센서류 디바이스를 갖는 로봇 글로브 또는 코스튬을 착용한다. 표준화된 로봇식 키친(50)은 다양한 컴퓨팅 기능을 제어하기 위한 컴퓨터(16)를 포함하는데, 컴퓨터(16)는, 요리사의 움직임을 캡쳐하기 위한 글로브 또는 코스튬(54)의 센서로부터 하나 이상의 소프트웨어 레시피 파일을 저장하기 위한 메모리(52), 및 로봇식 요리용 엔진(소프트웨어)(56)을 포함한다. 로봇식 요리용 엔진(56)은 움직임 분석과 레시피 추상화 및 시퀀스화 모듈(58)을 포함한다. 로봇식 키친(48)은 통상적으로 로봇 팔 및 손의 쌍을 가지고 동작하는데, 로봇식 키친(46)을 턴온하거나 프로그래밍할 옵션사항인 유저(60)를 갖는다. 로봇식 키친(48)의 컴퓨터(16)는, 로봇 팔 및 손을 동작시키기 위한 하드 자동화 모듈(62), 및 소프트웨어 레시피(재료, 시퀀스, 프로세스, 등등)로부터 요리사의 움직임을 복제하기 위한 레시피 복제 모듈(64)을 포함한다.
표준화된 로봇식 키친(50)은, 요리사의 요리하는 움직임을 검출, 기록 및 에뮬레이팅하도록, 시간에 걸친 온도와 같은 중요한 파라미터, 및 지정된 어플라이언스, 기기 및 툴을 갖는 로봇식 키친 스테이션에서의 프로세스 실행을 제어하도록 설계된다. 요리사 키친(44)은 컴퓨팅 키친 환경(16)에게, 특정 레시피에 대한 음식 준비에서 요리사(50)의 움직임을 기록하고 캡쳐하기 위한 센서를 갖는 글로브 또는 센서를 갖는 코스튬을 제공한다. 특정한 음식에 대한 요리사(49)의 움직임 및 레시피 프로세스를 소프트웨어 레시피 파일로 메모리(52)에 기록할 때, 소프트웨어 레시피 파일은, 인터넷에 연결된 무선 네트워크 및/또는 유선 네트워크를 비롯한 통신 네트워크(46)를 통해 요리사 키친(44)으로부터 로봇식 키친(48)으로 전송되고, 그 결과, 유저(옵션사항임)(60)는 하나 이상의 소프트웨어 레시피 파일을 구매할 수 있거나 또는 유저는, 신규의 소프트웨어 레시피 파일 또는 현존하는 소프트웨어 레시피 파일의 주기적 업데이트를 수신하는 멤버로서 요리사 키친(44)에 가입할 수 있다. 가정용 로봇식 키친 시스템(48)은, 주거용 가정, 레스토랑, 및 유저(60)가 음식을 준비하도록 키친이 구축되는 다른 장소에서 로봇식 컴퓨팅 키친 환경으로서 기능한다. 가정용 로봇식 키친 시스템(48)은, 요리사 스튜디오 시스템(44)으로부터의 수신된 소프트웨어 레시피 파일에 기초하여 요리사의 요리하는 액션, 프로세스 및 움직임을 복제하기 위한 하나 이상의 로봇 팔 및 하드 자동화 디바이스를 갖는 로봇식 요리용 엔진(56)을 포함한다.
요리사 스튜디오(44) 및 로봇식 키친(48)은, 다수의 레벨의 실행 충실도를 갖는, 복잡하게 연결된 교수-재생 시스템(teach-playback system)을 나타낸다. 요리사 스튜디오(44)가 전문적으로 요리된 음식을 준비하는 방법의 고충실도 프로세스 모델을 생성하는 동안, 로봇식 키친(48)은 요리사 스튜디오에서 작업하고 있는 요리사를 통해 생성되는 레시피 스크립트에 대한 실행/복제 엔진/프로세스이다. 로봇식 키친 모듈의 표준화는, 수행 충실도(performance fidelity) 및 성공/보장을 증가시키기 위한 수단이다.
레시피 실행에 대한 다양한 레벨의 충실도는, 요리사 스튜디오(44) 및 로봇식 키친(48)에서의 센서와 기기 사이의 이들의 상관에 의존한다(물론 재료에도 의존한다). 충실도는, 스펙트럼의 (완벽한 복제/실행) 양단(ends) 중 하나에서는 인간 요리사에 의해 준비된 것과 동일하게 맛이 나는(구별불가능하게 맛이나는) 요리로서 정의되고, 한편 대향 단에서의 음식은, 품질(너무 익힌 고기 또는 파스타), 맛(탄 맛), 식용적합성(부정확한 농도)과 관련하여 또는 심지어 건강과 관련하여(살모넬라균에 노출된 치킨/돼지고기와 같은 덜 익힌 고기 등등) 하나 이상의 실질적인 또는 치명적인 결함을 가질 수 있다.
동일한 하드웨어와 센서 및 요리사 스튜디오 요리 프로세스 동안 기록되었던 요리사에 의한 것과 유사한 움직임 및 프로세스를 복제할 수 있는 작동 시스템을 갖는 로봇식 키친이 더 높은 충실도의 성과를 나타낼 가능성이 있다. 여기서 관련이 있는 것은, 셋업이 동일해야 한다는 것이고, 이것은 비용 및 볼륨 관련성을 갖는다. 그러나, 로봇식 키친(48)은 보다 표준화된 컴퓨터에 의해 제어되지 않는 또는 컴퓨터에 의해 모니터링되는 엘리먼트(센서를 갖는 냄비, 오븐과 같은 네트워크화된 어플라이언스, 등등)를 사용하여 여전히 구현될 수 있어서, 더 복잡한 실행 모니터링을 허용하기 위해서는 더 많은 센서 기반의 이해를 필요로 하게 된다. 이제, 주요 엘리먼트(정확한 양의 재료, 요리 온도, 등등) 및 프로세스(블렌더가 로봇식 홈 키친에서 이용가능하지 않은 경우의 교반기/짓이기는 도구(masher)의 사용)에 관해 불확실성이 증가했기 때문에, 요리사로부터의 것과 동일한 성과를 가질 보장은 의심할 여지 없이 더 낮아질 것이다.
본 개시에서는, 로봇식 키친과 커플링되는 요리사 스튜디오(44)의 관념이 일반적인 개념이다는 것을 강조한다. 로봇식 키친(48)의 레벨은, 저 멀리, 환경 센서 및 팔의 세트를 갖춘 홈 키친으로부터, 저 멀리, 팔과 유기적으로 관련된 모션, 툴과 어플라이언스 및 재료 공급의 세트가 요리사의 레시피를 거의 동일한 형태로 복제할 수 있는 스튜디오 키친의 동일한 복제에 이르기까지 가변적이다. 논쟁될 유일한 변수는, 품질, 외관, 맛, 식용적합성 및 건강의 관점에서 최종 결과물 또는 음식의 품질도일 것이다.
로봇식 키친에서의 입력 변수와 레시피 성과물 사이의 이 상관을 수학적으로 설명하기 위한 잠재적인 방법은 하기의 함수에 의해 가장 잘 설명될 수 있다:
Figure pat00001
상기 식은, 로봇을 이용하여 준비된 레시피의 성과물이, 인간 요리사가 준비하여 서빙할 것(Frecipe _ oucome))에 매치하는 정도를, 사용된 재료(I), 요리 프로세스 동안 모든 주요 변수(V)를 적절히 캡쳐하는 것에 의해 요리사의 프로세스(P) 및 방법(M)을 실행하는 데 이용가능한 기기(E); 및 적절한 재료(I)의 사용, 요리사 스튜디오에서의 것과 비교한 로봇식 키친에서의 기기 충실도의 레벨(Ef), 레시피 스크립트가 로봇식 키친에서 복제될 수 있는 레벨(Re), 및 가능한 최고 프로세스 모니터링 충실도(Pmf)를 달성하기 위해 보정식 액션을 모니터링하고 실행할 능력과 필요성이 어느 정도까지 존재하는지에 의해 주로 구동되는 함수(FRobkit)에 의한 로봇식 레시피 스크립트의 복제/실행 프로세스를 로봇식 키친이 얼마나 나타낼 수 있는지에 기초하여, 요리사 스튜디오(44)(Fstudio)에 의해 레시피가 적절히 캡쳐되고 표현되었던 레벨에 관련시킨다.
함수 (Fstudio) 및 (FRobKit)는, 상수, 변수, 및 임의의 형태의 알고리즘 관계를 갖는 선형 또는 비선형 함수식의 임의의 조합일 수 있다. 양 함수에 대한 이러한 대수 표현에 대한 예가 가능할 수 있을 것이다.
Figure pat00002
준비 프로세스의 충실도가, 냉장고에서 시간에 걸쳐 사인 함수처럼 변하는 재료의 온도, 재료가 특정 스테이션 상의 특정한 쿡탑 상에서 특정한 증가율로 가열될 수 있는 속도, 및 소정의 진폭 및 주기의 원형 경로에서 스푼이 얼마나 잘 이동될 수 있는지에 관련된다는 것, 및 유지될 준비 프로세스의 충실도를 위해 인간 요리사의 속도의 1/2보다 작지 않은 속도에서 프로세스가 실행되어야 한다는 것을 기술한다.
Figure pat00003
로봇식 키친에서의 복제 프로세스의 충실도를 기술하는 것은, 특정한 요리용 영역에 대한 어플라이언스 타입 및 레이아웃과 가열용 엘리먼트의 사이즈, 시어링되어 요리되고 있는 재료의 사이즈와 온도(더 두꺼운 스테이크는 더 많은 요리 시간을 필요로 한다), 또한 동시에 시어링 또는 무스 치기(mousse-beating)와 같은 특정 단계의 임의의 교반 및 담그기(bathing) 모션의 모션 프로파일을 유지하는 것, 및 로봇식 키친과 요리사 스튜디오에서의 센서 사이의 교신이, 모니터링된 센서 데이터가 정확한 것으로 신뢰할만큼 충분히 많은지 그리고 레시피에서의 모든 단계 동안 로봇식 키친에서 요리 프로세스의 적절한 모니터링 충실도를 제공할만큼 충분히 세세한지의 여부에 관련된다.
레시피의 성과는, 인간 요리사의 요리 단계/방법/프로세스/스킬이 요리사 스튜디오에 의해 얼마만큼의 충실도를 가지고 캡쳐되었는지뿐만 아니라, 이들이 로봇식 키친에 의해 얼마만큼의 충실도를 가지고 실행될 수 있는지의 함수인데, 여기서 이들의 각각은 그들 각각의 서브 시스템 성능에 영향을 미치는 주요 엘리먼트를 갖는다.
도 3은, 음식을 준비함에 있어서의 요리사의 움직임을 기록하는 것 및 로봇 팔 및 손에 의해 음식을 복제하는 것에 의해 음식을 준비하기 위한 표준화된 로봇식 키친(50)의 하나의 실시형태를 예시하는 시스템 도면이다. 이 맥락에서, 용어 "표준화된"(또는 "표준")은, 컴포넌트 또는 피쳐의 명세가 미리 설정된다는 것을 의미하는데, 이것은 하기에서 설명될 것이다. 컴퓨터(16)는, 3차원 비전 센서(66), 리트랙터블(retractable) 안전 스크린(예를 들면, 유리, 플라스틱, 또는 다른 타입의 보호 재료)(68), 로봇 팔(70), 로봇 손(72), 표준화된 요리용 어플라이언스/기기(74), 센서를 갖는 표준화된 쿡웨어(76), 표준화된 쿡웨어(78), 표준화된 핸들 및 유텐실(80), 표준화된 하드 자동화 디스펜서(들)(82)("로봇식 하드 자동화 모듈(들)"로 또한 칭해짐), 표준화된 키친 프로세서(84), 표준화된 컨테이너(86), 및 냉장고 안의 표준화된 음식 저장소(88)를 포함하는, 표준화된 로봇식 키친(50) 내의 다수의 키친 엘리먼트에 통신적으로 커플링된다.
표준화된 하드 자동화 디스펜서(들)(82)는, 양념(소금, 후추, 등등), 액체(물, 오일, 등등) 또는 다른 건조 재료(곡분(flour), 설탕, 등등)와 같은 요리 프로세스에 대한 주요 재료의 사전 패키지화된(공지의) 양 또는 전용 공급분을 공급 또는 제공하도록 요리용 컴퓨터(16)를 통해 프로그래밍가능한 및/또는 제어가능한 디바이스 또는 일련의 디바이스이다. 표준화된 하드 자동화 디스펜서(82)는 특정 스테이션에 위치될 수도 있거나 또는 로봇을 이용하여 접근될 수 있고 레시피 시퀀스에 따라 분배하도록 트리거될 수도 있다. 다른 실시형태에서, 로봇식 하드 자동화 모듈은, 다른 이러한 모듈 또는 로봇 팔 또는 요리 유텐실과 결합될 수도 있거나 또는 이들과 직렬 또는 병렬로 시퀀스화될 수도 있다. 이 실시형태에서, 표준화된 로봇식 키친(50)은, 마치 요리사 자신이 요리를 준비한 것처럼 동일한 맛을 내도록 요리를 준비함에 있어서 요리사의 정확한 움직임을 복제하기 위한 메모리(52)에 저장된 소프트웨어 레시피 파일에 따라 로봇식 음식 준비 엔진(56)에 의해 제어되는 로봇 팔(70)과 로봇 손(72) 및, 로봇 손을 포함한다. 3차원 비전 센서(66)는 오브젝트의 3차원 모델링을 가능하게 하기 위한 성능을 제공하여, 키친 활동의 시각적인 3차원 모델을 제공하고, 키친 볼륨을 스캔하여 표준화된 로봇식 키친(50) 내의 치수 및 오브젝트를 평가하게 된다. 리트랙터블 안전 유리(68)는 로봇식 키친(50) 상에 투명한 재료를 포함하는데, 로봇식 키친(50)은, 주변 인간을 로봇 팔(70) 및 손(72)의 움직임, 뜨거운 물 및 다른 액체, 스팀, 불 및 다른 위험으로부터 보호하기 하기 위해, 온 상태에 있을 때 안전 유리를 로봇식 키친 주위로 펼친다. 로봇식 음식 준비 엔진(56)은, 요리사 스튜디오 시스템(44)으로부터 이전에 전송된 소프트웨어 레시피 파일을 검색하기 위한 전자적 메모리(52)에 통신적으로 커플링되는데, 로봇식 음식 준비 엔진(56)은, 전자적 메모리(52)에 대해, 그 소프트웨어 레시피 파일에서 나타내어지는 바와 같은 요리사의 프로세스 및 요리 방법을 준비하고 복제함에 있어서의 프로세스를 실행하도록 구성된다. 로봇 팔(70) 및 로봇 손(72)의 조합은 요리를 준비함에 있어서 요리사의 정확한 움직임을 복제하도록 기능하여, 그 결과, 결과적으로 나타나는 음식은 요리사에 의해 준비된 그 음식과 동일한(또는 실질적으로 동일한) 맛을 낼 것이다. 표준화된 요리용 기기(74)는 로봇식 키친(50)의 일부로서 통합되는 여러가지의 요리용 어플라이언스(46)를 포함하는데, 스토브/인덕션/쿡탑(전기 쿡탑, 가스 쿡탑, 인덕션 쿡탑), 오븐, 그릴, 요리용 찜기(steamer), 및 전자레인지(microwave oven)를 포함하지만 이들로 제한되지는 않는다. 표준화된 쿡웨어 및 센서(76)는, 쿡웨어 상의 센서에 기초한 음식 준비 단계의 기록을 위한 그리고 센서를 갖는 쿡웨어에 기초하여 음식을 요리하기 위한 실시형태로서 사용되는데, 센서를 갖는 쿡웨어는 센서를 갖는 냄비, 센서를 갖는 팬, 센서를 갖는 오븐, 및 센서를 갖는 차콜 그릴을 포함한다. 표준화된 쿡웨어(78)는 프라이팬, 소테(saute) 팬, 그릴 팬, 멀티팟, 로스터, 중국냄비(wok), 및 브래이저(braiser)를 포함한다. 로봇 팔(70) 및 로봇 손(72)은 요리 프로세스에서 표준화된 핸들 및 유텐실(80)을 동작시킨다. 하나의 실시형태에서, 로봇 손(72) 중 하나는 표준화된 핸들과 피팅되는데, 표준화된 핸들은 필요에 따른 선택을 위해 포크 헤드, 나이프 헤드, 및 스푼 헤드에 부착된다. 표준화된 하드 자동화 디스펜서(82)는, 쉽게 측정되고/첨가되거나 사전패키지화되는 (로봇 팔(70) 및 인간 사용 양자를 통해) 편리한 주요 재료 및 공통적인/반복적인 재료를 제공하기 위해 로봇식 키친(50)에 통합된다. 표준화된 컨테이너(86)는 음식을 실온에서 저장하는 저장 위치이다. 표준화된 냉장고 컨테이너(88)는, 생선, 고기, 야채, 과일, 우유, 및 다른 부패하기 쉬운 아이템을 저장하기 위한 식별된 컨테이너를 갖는 냉장고를 가리키지만, 이것으로 제한되지는 않는다. 표준화된 컨테이너(86) 또는 표준화된 저장소(88)에서의 컨테이너는 컨테이너 식별자로 코딩될 수 있는데, 이로부터, 로봇식 음식 준비 엔진(56)은 컨테이너 식별자에 기초하여 컨테이너 안의 음식의 타입을 확인할 수 있다. 표준화된 컨테이너(86)는, 잘 부패하지 않는 음식 아이템 예컨대 소금, 후추, 설탕, 오일, 및 다른 양념에 대한 저장 공간을 제공한다. 센서를 갖는 표준화된 쿡웨어(76) 및 쿡웨어(78)는, 요리를 준비하기 위한 요리용 툴을 선택하기 위한 로봇 팔(70)에 의한 사용을 위해 선반 또는 캐비넷 상에 보관될 수도 있다. 통상적으로, 날생선, 생고기, 및 야채는 미리 잘라서 식별된 표준화된 저장소(88)에서 보관된다. 키친 조리대(90)는, 로봇 팔(70)이 고기 및 야채를 필요에 따라 핸들링하기 위한 플랫폼을 제공하는데, 핸들링은 컷팅(cutting) 또는 차핑(chopping) 액션을 포함할 수도 있거나 또는 포함하지 않을 수도 있다. 키친 수도꼭지(92)는, 요리를 위한 준비에서 음식을 세척하거나 씻기 위한 키친 싱크 공간을 제공한다. 로봇 팔(70)이 요리를 준비하기 위한 레시피 프로세스를 완료했고 요리를 서빙할 준비가 되었다면, 요리는 서빙 조리대(serving counter; 90)에 놓이는데, 서빙 조리대(90)는, 유텐실, 와인잔, 및 식사와 어울리는 선택된 와인의 배치와 같은 주변환경 설정을 로봇 팔(70)로 조정하는 것에 의해, 추가로 정찬(dining) 환경이 개선되는 것을 허용한다. 표준화된 로봇식 키친 모듈(50)에서의 기기의 하나의 실시형태는, 다양한 타입의 요리를 준비하기 위해 범용성의 매력을 증가시킬 전문가 시리즈이다.
표준화된 로봇식 키친 모듈(50)은, 요리사 키친(44)과 로봇식 키친(48) 사이의 레시피 요리의 정확한 복제로부터의 편차의 위험성을 최소화하면서 요리사 키친(44)와 로봇식 키친(48) 양자에서의 일관성을 보장하여 레시피 복제의 정확성을 극대화하기 위해, 하나의 목적으로서 키친 모듈(50) 및 키친 모듈 자체와의 다양한 컴포넌트의 표준화를 갖는다. 키친 모듈(50)의 표준화를 갖는 것의 하나의 주요 목적은, 요리사에 의해 준비되는 제1 음식과 로봇식 키친을 통한 동일한 레시피 프로세스의 후속하는 복제 사이에서 요리 프로세스(또는 동일한 요리)의 동일한 결과를 획득하는 것이다. 요리사 키친(44)과 로봇식 키친(48) 사이의 표준화된 로봇식 키친 모듈(50)에 표준화된 플랫폼을 계획하는 것은 여러 주요 고려사항: 동일한 타임 라인, 동일한 프로그램 또는 모드, 및 품질 체크를 갖는다. 요리사가 요리사 키친(44)에서 음식을 준비하는 경우와 로봇 손에 의한 복제 프로세스가 로봇식 키친(48)에서 준비하는 경우의 표준화된 로봇식 키친(50)에서의 동일한 타임 라인은, 동일한 조작의 시퀀스, 각각의 조작의 동일한 개시 및 종료 시간, 및 핸들링 동작 사이에 오브젝트를 이동시키는 동일한 속도를 가리킨다. 표준화된 로봇식 키친(50)에서의 동일한 프로그램 또는 모드는 각각의 조작 기록 및 실행 단계 동안 표준화된 기기의 사용 및 동작을 가리킨다. 품질 체크는, 임의의 편차를 보정하고 결함이 있는 결과를 방지하기 위해 음식 준비 프로세스 동안 각각의 조작 액션을 실시간으로 모니터링 및 조정하는 표준화된 로봇식 키친(50)에서의 3차원 비전 센서를 가리킨다. 표준화된 로봇식 키친 모듈(50)의 채택은, 요리사가 준비한 음식과 로봇 팔 및 손을 사용하여 로봇식 키친에 의해 준비된 음식 사이에서 동일한 결과를 획득하지 않을 위험성을 감소시키고 최소화한다. 로봇식 키친 모듈 및 로봇식 키친 모듈 내의 컴포넌트의 표준화가 없으면, 요리사 키친(44)과 로봇식 키친(48) 사이에서의 증가된 변동은, 요리사가 준비한 음식과 로봇식 키친에 의해 준비된 음식 사이에서 동일한 결과를 획득할 수 없을 위험성을 증가시키는데, 요리사 키친(44)과 로봇식 키친(48) 사이에서의 상이한 키친 모듈, 상이한 키친 기기, 상이한 키친웨어, 상이한 키친 툴, 및 상이한 재료와 함께, 더 수고스럽고 복잡한 조정 알고리즘이 필요될 것이기 때문이다.
표준화된 로봇식 키친 모듈(50)은 많은 양태의 표준화를 포함한다. 먼저, 표준화된 로봇식 키친 모듈(50)은 (키친 모듈 및 디바이스 위치에 표준화된 고정 구멍을 갖는 임의의 타입의 키친웨어, 키친 컨테이너, 키친 툴 및 키친 기기의 (XYZ 좌표 평면에서의) 표준화된 위치 및 방위를 포함한다. 둘째, 표준화된 로봇식 키친 모듈(50)은 표준화된 요리용 볼륨(cooking volume) 치수 및 아키텍쳐를 포함한다. 셋째, 표준화된 로봇식 키친 모듈(50)은 표준화된 기기 세트, 예컨대 오븐, 스토브, 식기세척기, 수도꼭지, 등등을 포함한다. 넷째, 표준화된 로봇식 키친 모듈(50)은, 형상, 치수, 구조, 재료, 용량, 성능의 관점에서, 표준화된 키친웨어, 표준화된 요리용 툴, 표준화된 요리용 디바이스, 표준화된 컨테이너, 및 냉장고의 표준화된 음식 저장소를 포함한다. 다섯째, 하나의 실시형태에서, 표준화된 로봇식 키친 모듈(50)은, 임의의 키친웨어, 툴, 기기, 컨테이너, 및 기기를 핸들링하기 위한 표준화된 범용 핸들을 포함하는데, 이것은 임의의 부적절한 파지 또는 부정확한 방위를 방지하면서 로봇 손이 하나의 정확한 위치에서 표준화된 범용 핸들을 파지하는 것을 가능하게 한다. 여섯째, 표준화된 로봇식 키친 모듈(50)은 조작의 라이브러리를 갖는 표준화된 로봇 팔 및 손을 포함한다. 일곱째, 표준화된 로봇식 키친 모듈(50)은, 표준화된 재료 조작을 위한 표준화된 키친 프로세서를 포함한다. 여덟째, 표준화된 로봇식 키친 모듈(50)은, 동적인 3차원 비전 데이터를 생성하기 위한 표준화된 3차원 비전 디바이스뿐만 아니라, 레시피 레코딩, 실행 추적, 및 품질 체크 기능을 위한 다른 가능한 표준 센서를 포함한다. 아홉째, 표준화된 로봇식 키친 모듈(50)은 표준화된 타입, 표준화된 볼륨, 표준화된 사이즈, 및 특정한 레시피 실행 동안의 각각의 재료에 대한 표준화된 가중치를 포함한다.
도 4는, 요리사 스튜디오 시스템(44) 및 가정용 로봇식 키친 시스템(48)에서 컴퓨터(16)와 함께 사용하기 위한 로봇식 요리용 엔진(56)("로봇식 음식 준비 엔진"으로 또한 칭해짐)의 하나의 실시형태를 예시하는 시스템 도면이다. 다른 실시형태는, 요리사 키친(44) 및 로봇식 키친(48)에서의 로봇식 요리용 엔진(16)의 모듈의 수정예, 추가예, 또는 변형예를 포함할 수도 있다. 로봇식 요리용 엔진(56)은, 입력 모듈(50), 캘리브레이션 모듈(94), 품질 체크 모듈(96), 요리사 움직임 기록용 모듈(98), 쿡웨어 센서 데이터 기록용 모듈(100), 소프트웨어 레시피 파일을 저장하기 위한 메모리 모듈(102), 기록된 센서 데이터를 사용하여 머신 모듈 고유의 시퀀스화된 동작 프로파일을 생성하는 레시피 추상화 모듈(104), 요리사 움직임 복제 소프트웨어 모듈(106), 하나 이상의 센서류 곡선을 사용하는 쿡웨어 센서류 복제 모듈(108), 로봇식 요리용 모듈(110)(표준화된 동작, 미소 조작, 및 비표준화된 오브젝트를 동작시키기 위한 컴퓨터 제어), 실시간 조정 모듈(112), 학습 모듈(114), 미소 조작 라이브러리 데이터베이스 모듈(116), 표준화된 키친 동작 라이브러리 데이터베이스 모듈(117), 출력 모듈(118)을 포함하는데, 이들 모듈은 이들 모듈에 버스(120)를 통해 통신적으로 커플링된다.
입력 모듈(50)은 다른 컴퓨팅 디바이스로부터 전송되는 소프트웨어 레시피 파일과 같은 임의의 타입의 입력 정보를 수신하도록 구성된다. 캘리브레이션 모듈(94)은, 자기 자신을, 로봇 팔(70), 로봇 손(72), 및 표준화된 로봇식 키친 모듈(50) 내의 다른 키친웨어 및 기기 컴포넌트와 캘리브레이팅하도록 구성된다. 품질 체크 모듈(96)은, 생고기(raw meat), 생야채, 우유 관련 재료 및 다른 날 음식(raw food)의 품질 및 신선도를, 요리를 위해 날 음식을 꺼내는 시간에 결정하도록 구성되고, 뿐만 아니라 날 음식의 품질을, 그 음식을 표준화된 음식 저장소(88)에 수용할 때 체크하도록 구성된다. 품질 체크 모듈(96)은 또한, 음식의 냄새, 음식의 색깔, 음식의 맛, 및 음식의 이미지 또는 외관과 같이, 감각에 기초하여 오브젝트의 품질 테스트를 행하도록 구성될 수 있다. 요리사 움직임 기록용 모듈(98)은, 요리사가 음식을 준비할 때 요리사의 시퀀스 및 정확한 움직임을 기록하도록 구성된다. 쿡웨어 센서 데이터 기록용 모듈(100)은, 쿡웨어 내의 상이한 구역에 놓여지는 센서를 갖춘 쿡웨어(예컨대, 센서를 갖는 팬, 센서를 갖는 그릴, 또는 센서를 갖는 오븐)로부터의 센서류 데이터를 기록하여, 하나 이상의 센서류 곡선을 생성하게 구성된다. 그 결과는, 특정한 요리에 대한 시간에 걸친 요리용 어플라이언스의 온도 변동을 반영하는 센서류 곡선, 예컨대 온도 곡선(및/또는 습도)의 생성이다. 메모리 모듈(102)은, 요리사 레시피 움직임의 복제 또는 센서류 데이터 곡선을 포함하는 다른 타입의 소프트웨어 레시피 파일 중 어느 하나에 대한 소프트웨어 레시피 파일을 저장하기 위한 저장 위치로서 구성된다. 레시피 추상화 모듈(104)은 머신 모듈 고유의 시퀀스화된 동작 프로파일을 생성하기 위해 기록된 센서 데이터를 사용하도록 구성된다. 요리사 움직임 복제 모듈(106)은, 메모리(52)의 저장된 소프트웨어 레시피 파일에 기초하여 요리를 준비함에 있어서의 요리사의 정확한 움직임을 복제하도록 구성된다. 쿡웨어 센서류 복제 모듈(108)은, 센서(76)를 갖는 표준화된 쿡웨어를 사용하는 것에 의해 요리사(49)가 요리를 준비했을 때 생성되었던 하나 이상의 이전에 기록된 센서류 곡선의 특성을 따르는 것에 의해 음식의 준비를 복제하도록 구성된다. 로봇식 요리용 모듈(110)은 표준화된 로봇식 키친(50)에서의 표준화된 키친 동작, 미소 조작, 표준화되지 않은 오브젝트, 및 다양한 키친 툴 및 기기를 제어하고 동작시키도록 구성된다. 실시간 조정 모듈(112)은, 센서류 곡선의 정확한 복제 또는 요리사 움직임의 정확한 복제로 결과적으로 나타나게 되는 프로세스를 생성하기 위해 특정한 키친 동작 또는 소형 동작과 관련되는 변수에 대한 실시간 조정을 제공하도록 구성된다. 학습 모듈(114)은, 사례 기반의(로봇식) 학습을 사용하여, 마치 음식이 요리사에 의해 준비된 것처럼, 로봇 팔(70) 및 로봇 손(72)에 의해 음식을 준비함에 있어서 정확한 복제를 최적화 하기 위해 로봇식 요리용 엔진(56)에게 학습 능력을 제공하도록 구성된다. 미소 조작 라이브러리 데이터베이스 모듈(116)은 미소 조작의 제1 데이터베이스 라이브러리를 저장하도록 구성된다. 표준화된 키친 동작 라이브러리 데이터베이스 모듈(117)은, 표준화된 키친웨어의 제2 데이터베이스 라이브러리 및 이 표준화된 키친웨어를 동작시키는 방법을 저장하도록 구성된다. 출력 모듈(118)은, 출력 컴퓨터 파일 또는 제어 신호를 로봇식 요리용 엔진 외부로 전송하도록 구성된다.
도 5a는 요리사 스튜디오 레시피 생성 프로세스를 예시하는 블록도이며, 로봇식 키친에 대한 레시피 명령어 스크립트를 생성하기 위해 확장된 멀티모달 감지의 사용을 지원하는 여러 주요 기능 블록을 나타낸다. 센서 인터페이스 모듈(148)을 통해 데이터를 수집하기 위해, 냄새(124), 비디오 카메라(126), 적외선 스캐너 및 거리측정기(128), 입체(또는 심지어 3안의(trinocular)) 카메라(130), 햅틱 글로브(132), 유기적으로 연결된 레이저 스캐너(134), 가상 세계 고글(136), 마이크(138) 또는 외골격 모션 수트(140), 인간 음성(142), 터치 센서(144) 및 심지어 다른 형태의 유저 입력(146)과 같은(그러나 이들로 제한되지는 않는), 센서의 멀티모달로부터의 센서 데이터가 사용된다. 가능한 인간 유저 입력(예를 들면; 요리사; 터치스크린 및 음성 입력)(146)을 포함하는 데이터가 획득되어 필터링되고(150); 그 후, 머신 고유의 레시피 생성 프로세스를 채우기 위해 사용되는 데이터를 생성하기 위해, 다수의(병렬) 소프트웨어 프로세스가 시간 및 공간 데이터를 활용한다. 센서는 인간 위치 및/또는 모션을 캡쳐하는 것으로 제한되지 않을 수도 있고 대신 표준화된 로봇식 키친(50)에서의 다른 오브젝트의 위치, 방위 및/또는 모션을 또한 캡쳐할 수도 있다.
이들 개개의 소프트웨어 모듈은, (i) 위치 및 구성 모듈(152)을 통한 요리사 위치 및 요리 스테이션 ID, (ii) (토르소를 통한) 팔의 구성, (iii) 취급되는 툴 및 시와 방법, (iv) 사용되는 유텐실 및 하드웨어 및 변수 추상화 모듈(154)을 통한 스테이션 상에서의 위치, (v) 이들로 실행되는 프로세스, (vi) 프로세스 모듈(B156)을 통한 모니터링을 필요로 하는 변수(온도, 덮개 유무, 교반, 등등), (vii) 시간적(시작/종료, 타입) 분포, (viii) 적용되고 있는 프로세스(교반, 접기(fold), 등등), 및 (ix) 요리 시퀀스 및 프로세스 추상화 모듈(158)을 통한, 첨가되는 재료(타입, 양, 준비 상태, 등등)와 같은 정보를 생성한다(그러나 이들 모듈에만 제한되지는 않는다).
그 다음, 모든 이러한 정보는, 독립형 모듈(160)을 통해, (단지 로봇 팔에 대한 것만 아니라, 재료 디스펜서, 툴 및 유텐실 등등에 대한) 머신 고유의 레시피 명령어의 세트를 생성하기 위해 사용되는데, 레시피 명령어는, 실행되고 모니터링될 순차적인/병렬의 중첩하는 태스크의 스크립트로서 편제된다. 이 레시피 스크립트(162)는 데이터 저장 모듈(166)에서 전체 원시 데이터 세트(164) 옆에 저장되고 로봇식 키친 인터페이스 모듈(168)을 통해 원격 로봇식 요리용 스테이션이 액세스할 수 있게 또는 그래픽 유저 인터페이스(graphical user interface; GUI)(172)를 통해 인간 유저(170)가 액세스할 수 있게 만들어진다.
도 5b는, 교수/재생 프로세스(176)를 갖는 표준화된 요리사 스튜디오(44) 및 로봇식 키친(50)의 하나의 실시형태를 예시하는 블록도이다. 교수/재생 프로세스(176)는, 기록되고 모니터링되는(182) 동안 요리사 스튜디오 표준 기기(74)의 세트 및 레시피에 의해 요구되는 재료(178)를 사용하여 요리를 만들기 위해, 요리사가 레시피 실행(180)을 실행하게 되는 요리사 스튜디오(44)에서의 요리사의 레시피 구현 프로세스/방법/스킬(49)을 캡쳐하는 단계를 설명한다. 원시 센서 데이터는 182에서 (재생을 위해) 기록되고 상이한 추상화 레벨에 있는 정보(사용되는 툴/기기, 활용되는 기술, 시작되고/종료되는 시간/온도, 등등)를 생성하기 위해 또한 프로세싱되며, 그 후, 로봇식 키친(48)에 의한 실행을 위해 레시피 스크립트(184)를 생성하기 위해 사용된다.
로봇식 키친(48)은 레시피 복제 프로세스(106)에 관여하는데, 그 프로파일은 키친이 표준화된 타입인지 또는 표준화되지 않은 타입인지의 여부에 의존하며, 표준화의 여부는 프로세스(186)에 의해 체크된다.
로봇식 키친 실행은, 유저가 이용가능한 키친의 타입에 의존한다. 로봇식 키친이 요리사 스튜디오에서 사용되는 것과 (적어도 기능적으로) 동일한/동등한 기기를 사용하면, 레시피 복제 프로세스는 주로, 원시 데이터를 사용하고 그것을 레시피 스크립트 실행 프로세스의 일부로서 재생하는 프로세스이다. 그러나, 키친이 (이상적인) 표준화된 키친과 상이하면, 실행 엔진(들)은, 유사한 단계별 결과(similar step-by-step result)를 달성하도록 노력하기 위한 키친 고유의 실행 시퀀스를 생성하기 위해 추상화된 데이터에 의존해야 할 것이다.
요리 프로세스가 모니터링 프로세스(194)를 통해 로봇식 키친의 모든 센서 유닛에 의해 연속적으로 모니터링되기 때문에, 기지의(known) 스튜디오 기기(196)가 사용되는지 또는 혼합된/전형적이지 않은 비 요리사 스튜디오 기기(non-chef studio equipment; 198)이 사용되는지의 여부에 무관하게, 시스템은 레시피 프로세스 체크(200)에 의존하여 필요에 따라 수정될 수도 있다. 표준화된 키친의 하나의 실시형태에서, 원시 데이터는 통상적으로 요리사 스튜디오 타입의 기기를 사용하여 실행 모듈(188)을 통해 재생되며, 예상되는 유일한 조정은 스크립트의 실행에서의 적응(202)(소정의 단계를 반복하는 것, 소정의 단계로 돌아가는 것, 실행을 느리게 하는 것 등등)인데, 학습된 데이터 세트와 재생되는 데이터세트 사이에 일 대 일 대응관계가 존재하기 때문이다. 그러나, 표준화되지 않은 키친의 경우, 요리사 스튜디오(44)의 것과는 상이한 이용가능한 툴/어플라이언스(192) 또는 레시피 스크립트로부터의 측정된 편차(고기 요리가 너무 느림, 냄비의 핫스팟이 루(roux)를 태우고 있음, 등등)를 적합시키기 위해서는, 시스템이 실제 레시피 자체 및 그것의 실행을 레시피 스크립트 수정 모듈(204)을 통해 수정 및 적응시켜야 할 가능성이 아주 높다. 전체적인 레시피 스크립트 진행은 유사한 프로세스(206)를 사용하여 모니터링되는데, 이것은 요리사 스튜디오 기기(208)가 사용되고 있는지 또는 혼합된/전형적이지 않은 키친 기기(210)가 사용되고 있는지의 여부에 의존하여 상이하다.
표준화되지 않은 키친은, 스튜디오 키친에서 사용되는 것을 반영하는 능력 및 기기를 구비하는 표준화된 로봇식 키친을 사용하는 것과 비교하여, 인간 요리사가 만든 요리와 비슷할 가능성이 낮다. 물론, 최종적인 주관적 결정은 맛을 보는 인간(또는 요리사)의 결정인데, 이것은 (주관적인) 품질 결정(214)을 따르는 품질 평가(212)이다.
도 5c는, 인간 요리사에 의한 요리사 스튜디오 레시피 워크 쓰루(walk-through)의 일부로서 레시피 스크립트 생성 프로세스의 구조 및 흐름에 관련되는 레시피 스크립트 생성 및 추상화 엔진의 하나의 실시형태(216)를 예시하는 블록도이다. 제1 단계는, 중앙 컴퓨터 시스템에 의해 입력되고 필터링되는 것 및 또한 메인 프로세스(218)에 의해 타임스탬핑되는 것이, 요리사로부터의 인간공학 데이터(팔/손 위치 및 속도, 햅틱 손가락 데이터, 등등)이든, 키친 어플라이언스(오븐, 냉장고, 디스펜서, 등등)의 상태이든, 특정 변수(쿡탑 온도, 재료 온도, 등등)이든, 사용되고 있는 어플라이언스 또는 툴(냄비/팬, 주걱(spatula), 등등)이든, 또는 다중 스펙트럼 센서류 기기(카메라, 레이저, 구조화된 광 시스템, 등등을 포함함)에 의해 수집되는 2차원 및 3차원 데이터이든 간에, 요리사 스튜디오(44)에서 측정가능한 모든 이용가능 데이터에 대한 것이다.
데이터 프로세스 매핑 알고리즘(220)은, 프로세스 액션이 발생하고 있는 곳(쿡탑 및/또는 오븐, 냉장고, 등등)을 결정하기 위해 더 간단한(통상적으로 단인 단위의) 변수를 사용하고, 간헐적이든 또는 연속적이든 간에, 사용되고 있는 임의의 아이템/어플라이언스/기기에 용도 태그를 할당한다. 그것은 요리 단계(베이킹, 그릴링, 재료 추가 등등)를 특정 시간 기간에 관련시키고, 어떤 재료가 언제, 어디에 그리고 무슨 재료가 얼마만큼 추가되었는지를 추적한다. 그 다음, 이(타임스탬핑된) 정보 데이터세트는 레시피 스크립트 생성 프로세스(222) 동안 데이터 융합 프로세스가 이용가능하게 만들어진다.
데이터 추출 및 매핑 프로세스(224)는, (예컨대 단안/싱글 렌즈의 카메라로부터) 2차원 정보를 취하는 것 및 그로부터 주요 정보를 추출하는 것에 주로 집중된다. 각각의 연속적인 이미지로부터 중요한 그리고 더 추상화된 설명적 정보를 추출하기 위해, 여러 알고리즘의 프로세스가 이 데이터세트에 적용되어야 한다. 이러한 프로세싱 단계는, 에지 검출, 컬러 및 텍스쳐 매핑, 및 그 다음, 데이터 감소 및 추상화 프로세스(226)로부터 추출되는 오브젝트 매칭 정보(타입 및 사이즈)에 커플링되는, 이미지에서의 도메인 지식을 사용하여, 다시 데이터 감소 및 추상화 프로세스(226)로부터 추출되는, (기기의 아이템이든 또는 재료이든 등등이든 간에) 오브젝트의 식별 및 위치를 허용하여, 이미지에서의 아이템 및 상태(및 그것을 설명되는 모든 관련 변수)를 특정한 프로세스 단계(프라이하기, 끓이기, 컷팅, 등등)에 관련시키는 것을 허용하는 것을 포함할 수 있다(그러나, 이들로 제한되지는 않는다). 이 데이터가 추출되어 특정한 시점에 특정한 이미지와 관련되면, 그것은 레시피 스크립트 생성 프로세스(222)로 전달되어 레시피 내의 시퀀스 및 단계를 정형화할 수 있다.
데이터 감소 및 추상화 엔진(소프트웨어 루틴의 세트)(226)은, 더 큰 3차원 데이터 세트를 감소시키도록 그리고 그들로부터 주요한 기하학적이고 연합하는(associative) 정보를 추출하도록 의도된다. 제1 단계는, 큰 3차원 데이터 포인트 클라우드로부터 특정 시점에 레시피에 중요한 특정한 작업 공간(workspace)만을 추출하는 것이다. 일단 데이터세트가 정리되면(trimmed), 템플릿 매칭으로 알려진 프로세스에 의해 주요한 기하학적 피쳐가 식별될 것이고; 이것은, 테이블탑, 원통형 냄비 및 팬, 팔 및 손 위치, 등등으로서의 이러한 아이템의 식별을 허용한다. 일단 통상적으로 알려진(템플릿) 기하학적 엔티티가 데이터세트에서 결정되면, 오브젝트 식별 및 매칭의 프로세스는 모든 아이템(냄비 대 팬, 등등)을 구별하도록 진행하고, 모든 아이템의 적절한 차원수(dimensionality)(냄비 또는 팬의 사이즈, 등등) 및 방위를 관련시키고, 컴퓨터에 의해 조립되어 있는 3차원 세계 모델 내에 모든 아이템을 배치한다. 그 다음, 모든 이러한 추상화된/추출된 정보는, 모두가 레시피 스크립트 생성 엔진(222)으로 공급되기 이전에, 데이터 추출 및 매핑 엔진(224)과 또한 공유된다.
레시피 스크립트 생성 엔진 프로세스(222)는 모든 변수 데이터 및 세트를, 각각의 내부에 명백한 프로세스 식별자(준비(prepping), 데치기(blanching), 프라이, 세척, 플레이팅 등등) 및 프로세스 고유의 단계를 갖는 구조화된 그리고 순차적인 요리용 스크립트로 융합하는(혼합하는/결합하는) 것을 담당하는데, 그 구조화된 그리고 순차적인 요리용 스크립트는, 나중에, 프로세스 완료 및 전체적인 요리 시간과 요리 진척도에 기초하여 동기화되는 로봇식 키친 머신 실행가능 커맨드 스크립트로 변환될 수 있다. 데이터 융합은, 각각의 (요리용) 프로세스 단계를 취하는 능력 및 실행될 단계의 시퀀스를, 적절히 관련된 엘리먼트(재료, 기기, 등등), 프로세스 단계 동안 사용될 방법 및 프로세스, 및 적절한 진척도 및 실행을 검증하기 위해, 관련된 주요 제어 변수(설정된 오븐/쿡탑 온도/설정치) 및 모니터링 변수(물 또는 고기 온도 등등)로 채우는 것을 적어도 수반할 것이지만, 이들로 전적으로 제한되지는 않을 것이다. 그 다음, 융합된 데이터는, 최소로 설명하는 단계의 세트(잡지에서의 레시피와 비슷함)를 닮을 것이지만 프로시져의 임의의 한 포인트에서의 요리 프로세스의 각각의 엘리먼트(기기, 재료, 프로세스, 방법, 변수, 등등)와 관련되는 훨씬 더 큰 세트의 변수를 갖는 구조화된 순차적 요리용 스크립트로 결합된다. 최종 단계는, 이 순차적인 요리용 스크립트를 취하여 그것을, 로봇식 키친(48) 내의 머신/로봇/기기의 세트에 의해 변환가능한 동일하게 구조화된 순차적 스크립트로 변환한다. 자동화된 레시피 실행 및 모니터링 단계를 실행하기 위해 로봇식 키친(48)이 사용하는 것은 이 스크립트이다.
모든 원시(프로세싱되지 않은) 데이터 및 프로세싱된 데이터뿐만 아니라 관련된 스크립트(구조 순차적 요리용 시퀀스 스크립트 및 머신 실행가능 요리용 시퀀스 스크립트 양자)는 데이터 및 프로파일 저장 유닛/프로세스(228)에 저장되고 타임스탬핑된다. 유저가 GUI를 통해 선택할 수 있고 로봇식 키친으로 하여금 자동화된 실행 및 모니터링 엔진(230)을 통해 소망의 레시피를 실행하게 할 수 있는 것은 이 데이터베이스로부터 유래하는데, 자동화된 실행 및 모니터링 엔진(230)은, 완벽하게 차려져서(plated) 서빙되는 요리에 도달하기 위해, 자기 자신의 내부의 자동화된 요리 프로세스에 의해 연속적으로 모니터링되며, 자기 자신의 내부의 자동화된 요리 프로세스에 의해 생성되고 로봇식 키친 엘리먼트에 의해 구현되는 스크립트에 대한 필요한 적응 및 수정을 갖는다.
도 5d는 표준화된 로봇식 키친에서의 오브젝트 조작을 위한 소프트웨어 엘리먼트를 예시하는 블록도인데, 이것은, 미소 조작 단계와 커플링되는/미소 조작 단계에 의해 보조되는 모션 복제의 개념을 사용하여, 로봇 스크립트의 로봇식 키친 실행의 오브젝트 조작부의 구조 및 플로우(250)를 도시한다. 자동화된 로봇 팔/손 기반의 요리가 실행가능하기 위해서는, 팔 및 손/손가락에 있는 모든 단일의 관절을 단순히 모니터링하는 것은 불충분하다. 많은 경우에서, 단지, 손/손목의 위치 및 방위만이 알려지지만(그리고 복제될 수 있지만), 그러면 오브젝트를 조작하는 것(위치, 방위, 포즈, 파지 위치, 파지 전략 및 태스크 실행을 식별하는 것)은, 잡기/조작 태스크를 성공적으로 완수하기 위해 손 및 손가락에 대한 국소적 감지 및 학습된 거동 및 전략이 사용되어야만 한다는 것을 필요로 한다. 이들 모션 프로파일(센서 기반의/센서 구동의) 거동 및 시퀀스는, 로봇식 키친 시스템의 미소 손 조작 라이브러리 소프트웨어 저장소 내에 저장된다. 인간 요리사는, 컴퓨터가 내장형 센서를 통해 또는 카메라 추적을 통해 손 및 손목의 정확한 3D 위치를 항상 결정하는 것을 허용하는 완전한 팔 외골격 또는 기기가 구비된/목표에 적합된 모션 조끼를 착용할 수 있을 것이다. 양 손의 열 개의 손가락이 모든 그들의 관절에 기기를 구비시키더라도(양손에 대해 30 이상의 DoF[Degree of Freedom; 자유도]이며 착용하고 사용하기에 아주 이상하고, 따라서 사용될 가능성이 낮음), 모든 관절 위치의 간단한 모션 기반의 재생은 성공적인(상호작용식) 오브젝트 조작을 보장하지 않을 것이다.
미소 조작 라이브러리는, 모션 거동 및 프로세스가 오프라인 학습 프로세스에 기초하여 저장되는 커맨드 소프트웨어 저장소인데, 특정한 추상 태스크(나이프를 쥔 다음 컷팅하기; 스푼을 들어서 젓기; 냄비들 한 손으로 들고 다른 손을 사용하여 주걱을 쥐고 고기 아래에 넣어 고기를 팬 안쪽으로 뒤집기; 등등)를 성공적으로 완수하기 위한 팔/손목/손가락 모션 및 시퀀스. 이 저장소는, "나이프를 쥐고 야채 컷팅하기", "보울 안으로 계란 깨트려 넣기, "팬 안에서 고기를 위로 뒤집기", 등등과 같은, 더 많은 추상화 언어에서 설명되는 오브젝트(어플라이언스, 기기, 툴) 및 재료 조작 태스크의 성공적인 완수를 보장하기 위해, 성공적인 센서 구동 모션 프로파일의 학습된 시퀀스 및 손/손목에 대한 시퀀스화된 거동(및 가끔은 팔 위치 보정치도 또한) 포함하도록 구축되었다. 학습 프로세스는 반복적이며 요리사 스튜디오로부터 요리사가 가르친 모션 프로파일(chef-taught motion-profile)의 다수의 시도에 기초하는데, 이것은 그 다음 실행되어, 허용가능한 실행 시퀀스가 달성된 것으로 보여질 수 있을 때까지, 오프라인 학습 알고리즘 모듈에 의해 반복적으로 수정된다. 미소 조작 라이브러리(커맨드 소프트웨어 저장소)는, 로봇식 키친 시스템이 요리 프로세스 동안 프로세싱(단지 분배하는 것을 넘어서는 단계)을 필요로 하는 메인 재료 및 모든 기기(어플라이언스, 툴, 등등)와 성공적으로 상호작용하는 것을 허용하기 위한 모든 필요한 엘리먼트로 (선험적으로 그리고 오프라인에서) 채워지도록 의도된다. 인간 요리사가 손가락 및 손바닥에 대해 임베딩된 햅틱 센서(근접, 터치, 접촉 위치/접촉 힘)를 갖는 글로브를 착용했지만, 로봇 손은 유사한 센서 타입을, 소망의 모션 프로파일 및 핸들링 커맨드를 성공적으로 실행하도록 그들의 데이터가 모션 프로파일을 생성, 수정 및 적응시키는 것을 허용하는 위치에서 구비한다.
로봇식 키친 요리 프로세스의 오브젝트 조작부(키친 환경에서의 오브젝트의 상호작용식 조작 및 핸들링을 위한 로봇식 레시피 스크립트 실행 소프트웨어 모듈)(252)는 하기에서 더 상세히 설명된다. 로봇식 레시피 스크립트 데이터베이스(254)(이것은 데이터를 원시 형태, 추상화된 요리 시퀀스 형태 및 머신 실행가능 스크립트 형태로 포함한다)를 사용하여, 레시피 스크립트 실행기 모듈(256)은 특정 레시피 실행 단계를 통해 진행한다. 구성 재생 모듈(258)은 구성 커맨드를 선택하여 로봇 팔 시스템(토르소, 팔, 손목 및 손) 컨트롤러(270)로 전달하는데, 그러면 로봇 팔 시스템 컨트롤러(270)는 필요한 구성(관절 위치/관절 속도/관절 토크, 등등) 값을 에뮬레이팅하도록 물리적 시스템을 제어한다.
적절한 환경 상호작용 조작 및 핸들링 태스크를 충실히 실행할 수 있다는 개념은, (i) 3D 세계 모델링뿐만 아니라 (ii) 미소 조작을 통한 실시간 프로세스 검증을 통해 가능하게 된다. 검증 단계 및 조작 단계 양자는, 로봇 손목 및 손 구성 수정기(robot wrist and hand configuration modifier; 260)의 추가를 통해 실행된다. 이 소프트웨어 모듈은, 로봇식 키친 시스템 및 프로세스의 구성이 레시피 스크립트(데이터베이스)에 의해 요구되는 것과 매치한다는 것을 보장하기 위해, 멀티모달 센서(들) 유닛(들)에 의해 공급되는 센서류 데이터로부터의 매 샘플링 단계에서 신규의 3D 세계 모델을 생성하는 3D 세계 구성 모델러(262)로부터의 데이터를 사용하고; 매치하지 않는다면, 그것은 태스크가 성공적으로 완수되었다는 것을 보장하기 위해 지령을 받은 시스템 구성 값에 대한 수정을 규정한다. 더구나, 로봇 손목 및 손 구성 수정기(260)는 또한 미소 조작 모션 프로파일 실행기(264)로부터의 구성 수정 입력 커맨드를 또한 사용한다. 구성 수정기(260)로 공급되는 손/손목(및 잠재적으로 또한 팔) 구성 수정 데이터는, 미소 조작 모션 프로파일 실행기(264)가 소망되는 구성 재생이 258로부터 유래해야 한다는 것을 알지만, 그러나 그것을 그것의 3D 오브젝트 모델 라이브러리(266) 및 구성 및 시퀀스화 라이브러리(268)(이것은 모든 메인 오브젝트 핸들링 및 프로세싱 단계에 대한 다수의 반복적 학습 단계에 기초하여 구축되었다)로부터의 선험적으로 학습된(그리고 저장된) 데이터에 기초하여 수정하는 것에 기초한다.
구성 수정기(260)가 수정된 커맨드의 구성 데이터를 로봇 팔 시스템 컨트롤러(270)로 계속적으로 공급하지만, 그것은, 동작이 적절히 진행되고 있다는 것뿐만 아니라 지속된 조작/핸들링이 필요한지의 여부를 검증하기 위해, 핸들링/조작 검증 소프트웨어 모듈(272)에 의존한다. 후자(결정에 대한 대답이 "아니오")인 경우에, 구성 수정기(260)는, 세계 모델러(262) 및 미소 조작 프로파일 실행기(264) 양자에게, (손목, 손/손가락 및 잠재적으로 팔 및 어쩌면 심지어 토르소에 대한) 구성 수정 업데이트를 재요청한다. 목표는, 성공적인 조작/핸들링 단계 또는 시퀀스가 성공적으로 완수되었다는 것을 간단히 검증하는 것이다. 핸들링/조작 검증 소프트웨어 모듈(272)은 이 체크를, 3D 세계 구성 모델러(262) 및 레시피 스크립트 데이터베이스(F2)의 지식을 사용하여, 레시피 스크립트 실행기(256)에 의해 현재 지령되고 있는 요리 단계에서의 적절한 진척도를 검증하는 것에 의해 실행한다. 진척도가 성공적인 것으로 간주되면, 레시피 스크립트 인덱스 증가 프로세스(274)는 레시피 스크립트 실행기(256)에게 레시피 스크립트 실행의 다음 단계로 진행할 것을 통지한다.
도 6은, 본 발명에 따른, 멀티모달 감지 및 소프트웨어 엔진 아키텍쳐(300)를 예시하는 블록도이다. 로봇식 요리용 스크립트의 계획, 실행 및 모니터링을 허용하는 메인 자율 요리 피쳐 중 하나는, (i) 세계를 이해하는 데, (ii) 장면 및 재료를 모델링하는 데, (iii) 로봇식 요리용 시퀀스에서 다음 단계를 계획하는 데, (iv) 생성된 계획을 실행하는 데, 및 (v) 적절한 동작을 검증하기 위한 실행을 모니터링하는 데 필요한 데이터를 생성하기 위해 다수의 소프트웨어 모듈에 의해 사용되는 멀티모달 센서류 입력(302)의 사용을 요구하는데, 이들 단계의 모두는 연속적인/반복적인 폐루프 형태로 발생한다.
비디오 카메라(304), IR 카메라 및 거리 측정기(306), 입체(또는 심지어 3안의) 카메라(들)(308) 및 다차원 스캐닝 레이저(310)를 포함하는 그러나 이들로 제한되지는 않는 멀티모달 센서 유닛(들)(302)은, (데이터 획득 및 필터링 모듈(314)에서 획득 & 필터링된 이후) 메인 소프트웨어 추상화 엔진(312)으로 다중 스펙트럼 센서류 데이터를 제공한다. 그 데이터는 장면 이해 모듈(316)에서, 중첩된 시각적 및 IR 스펙트럼 컬러 및 텍스쳐 비디오 정보를 갖는, 장면의 고해상도 및 더 낮은 해상도(레이저: 고해상도; 입체 카메라: 더 낮은 해상도)의 3차원 표면 볼륨을 구축하는 것, 에지 검출 및 볼륨이 있는 오브젝트 검출 알고리즘이 장면에 어떤 엘리먼트가 있는지를 추론하는 것을 허용하는 것, 프로세싱된 정보를 키친 요리 프로세스 기기 핸들링 모듈(318)로 제공하기 위해 형상 매핑/컬러 매핑/텍스쳐 매핑 및 농도 매핑 알고리즘의 사용이, 프로세싱된 데이터에 대해 실행하는 것을 허용하는 것과 같은(그러나 이들로 제한되지는 않는) 다수의 단계를 실행하기 위해 사용된다. 모듈(318)에서, 소프트웨어 기반의 엔진은, 다음 단계 계획 및 프로세스 모니터링에 대해 사용되도록 특정한 시점에서의 완전한 장면을 컴퓨터가 구축하여 이해하게 할 데이터를 생성하기 위해, 키친 툴 및 유텐실의 위치 및 방위를 식별하고 3차원적으로 위치결정하는 그리고 식별가능한 음식 엘리먼트(고기, 당근, 소스, 액체, 등등)를 식별하고 태깅하는 목적에 대해 사용된다. 이러한 데이터 및 정보 추상화를 달성하는 데 필요한 엔진은, 파지 추론 엔진, 기하학적 형태 추론 엔진, 물리적 추론 엔진 및 태스크 추론 엔진을 포함하지만, 이들로 제한되지는 않는다. 그 다음, 엔진(316 및 318) 양자로부터의 출력 데이터는 장면 모델러 및 컨텐츠 분류기(320)로 공급되도록 사용되는데, 여기서 3D 세계 모델은 로봇식 요리용 스크립트 실행기를 실행하는 데 필요한 모든 주요 컨텐츠를 가지고 생성된다. 일단 세계의 완전히 채워진 모델이 이해되면, 그것은, 팔(들) 및 부착된 엔드 이펙터(들)(그리퍼, 다수의 손가락이 있는 손)에 대한 모션 및 궤도를 계획하는 것을 허용하기 위해, 모션 및 핸들링 플래너(322)에게 공급되도록 사용될 수 있다(만약 로봇 팔 파지 및 핸들링이 필요하면, 요구되는 그립 및 배치에 의존하여 음식 및 키친 아이템을 파지하고 조작하는 것을 구별하고 계획하기 위해 동일한 데이터가 사용될 수 있다). 모든 개개의 로봇/자동화된 키친 엘리먼트에 대한 태스크 기반의 커맨드의 적절한 시퀀스화를 후속 실행 시퀀스 플래너(324)가 생성하는데, 태스크 기반의 커맨드는 나중에 로봇식 키친 작동 시스템(326)에 의해 사용된다. 상기의 전체 시퀀스는, 로봇식 레시피 스크립트 실행 및 모니터링 국면(phase) 동안 연속하는 폐루프에서 반복된다.
도 7a는, 레시피 스크립트의 생성을 허용하기 위해 인간 요리사(49)가 다중 모달 센서 시스템(66)에 의해 모니터링되는 동안 레시피 생성 및 실행을 실행하게 되는, 이 경우에서는 요리사 스튜디오의 역할을 하는 표준화된 키친(50)을 묘사한다. 표준화된 키친 내에는, 유텐실(360), 쿡탑(362), 키친 싱크(358), 식기세척기(356), 테이블탑 믹서 및 블렌더("키친 블렌더"로 또한 칭해짐)(352), 오븐(354) 및 냉장고/냉동고(freezer) 콤비네이션 유닛(353)과 같은 기기를 포함하는 메인 요리 모듈(350)을 비롯하여, 레시피의 실행에 필요한 다수의 엘리먼트가 포함된다.
도 7b는, 두 개의 팔(70) 및 두 개의 손목과 손가락이 있는 손(72)을 갖춘, 수직의 신축식의 회전하는(telescoping and rotating) 토르소 관절(360)을 갖는 듀얼 암(dual-arm) 로봇 시스템이 레시피 스크립트에서 정의되는 레시피 복제 프로세스를 수행하는, 이 경우에서는 표준화된 로봇식 키친으로서 구성되는 표준화된 키친(50)을 묘사한다. 멀티모달 센서 시스템(66)은, 레시피 복제 프로세스의 다수의 스테이지에서 로봇을 이용하여 실행되는 요리 단계를 연속적으로 모니터링한다.
도 7c는 전체적인 레시피 실행 프로세스 동안 인간 요리사(49)를 모니터링하는 것에 의해 레시피 스크립트의 생성에 수반되는 시스템을 묘사한다. 동일한 표준화된 키친(50)이 요리사 스튜디오 모드에서 사용되는데, 요리사는 작업 모듈의 어느 면으로부터든 키친을 동작시킬 수 있다. 멀티모달 센서(66)는 데이터를 모니터링하고 수집할 뿐만 아니라, 요리사에 의해 착용되는 햅틱 글로브(370) 및 기구가 구비된 쿡웨어(372) 및 기기를 통해, 모든 수집된 원시 데이터를 프로세싱 및 보관을 위해 프로세싱 컴퓨터(16)로 무선으로 중계한다.
도 7d는, 두 개의 팔(72), 두 개의 로봇 손목(71) 및 임베딩된 센서류 피부 및 포인트 센서를 갖는 다수의 손가락을 갖는 두 개의 손(72)으로 구성되는 신축식의 회전하는 토르소(374)를 갖는 듀얼 암 시스템의 사용을 통해 레시피 스크립트(19)의 복제를 위해 표준화된 키친(50)에서 수반되는 시스템을 묘사한다. 복제 프로세스가 인간 요리사에 의해 생성된 것에 가능한 한 충실하게 실행된다는 것을 보장하기 위해, 멀티모달 센서 유닛(66)에 의해 연속적으로 모니터링되는 동안, 레시피 복제 프로세스에서 특정한 단계를 실행하는 동안, 로봇의 듀얼 암 시스템은 쿡탑(12) 상의 요리용 유텐실 및 기구가 구비된 어플라이언스 및 쿡웨어(이 이미지에서는 팬)와 함께 기구가 구비된 팔 및 손을 사용한다. 멀티모달 센서(66), 토르소(74), 팔(72), 손목(71) 및 다수의 손가락이 있는 손(72)으로 구성되는 듀얼 암 로봇 시스템, 유텐실, 쿡웨어 및 어플라이언스로부터의 모든 데이터는, 컴퓨터(16)로 무선으로 전송되는데, 여기서, 데이터는, 이전에 생성된 레시피 스크립트(19)에서 정의되고 매체(18)에 저장된 바와 같은 기준 및 단계를 가능한 한 충실히 따르도록, 레시피의 복제 프로세스를 비교하고 추적하기 위해, 온보드 프로세싱 유닛(16)에 의해 프로세싱된다.
로봇식 키친(48)과 함께 사용하기 위해 수정될 수 있는 몇몇 적절한 로봇 손은, 영국 런던(London)에 위치한 Shadow Robot Company에 의해 설계된 Shadow Dexterous Hand and Hand-Lite; 독일 라우펜(Lauffen)/네카르(Neckar)에 위치한 SCHUNK GmbH & Co. KG에 의해 설계된 서보 전기 다섯 손가락 그립 핸드 SVH(servo-electric 5-finger gripping hand SVH); 및 독일 쾰른(Cologne)에 위치한 DLR Robotics and Mechatronics에 의해 설계된 DLR HIT HAND II를 포함한다.
여러 가지 로봇 팔(72)이 로봇식 키친(48)과 함께 동작하기 위한 수정에 적절한데, 덴마크 오덴스 에스(Odense S)에 위치한 Universal Robots A/S에 의한 UR3 Robot 및 UR5 Robot, 독일 바바리아(Bavaria) 아우크스부르크(Augsburg)에 위치한 KUKA Robotics에 의해 설계된 다양한 탑재 하중을 갖는 산업 로봇, 일본 키타큐슈(Kitakyushu)에 위치한 Yaskawa Motoman에 의해 설계된 산업 로봇 팔 모델(Industrial Robot Arm Models)을 포함한다.
도 7e는, 인간 요리사(49)에 의해 준비된 요리와 비교했을 때, 표준화된 로봇식 키친(50)에 의해 실행되는 바와 같은 특정한 요리에 대해 가능한 한 거의 동일한 요리 결과물을 보장하는, 표준화된 로봇식 키친(50)에 의한 실행시 레시피 스크립트에 기초한 레시피 복제 프로세스 동안 제어 또는 검증 포인트가 존재한다는 것을 보장하기 위한 단계별 플로우 및 방법(376)을 묘사하는 블록도이다. 레시피 스크립트에 의해 설명되는 그리고 요리 프로세스(380)에서의 순차적인 단계에서 실행되는 바와 같은 레시피(378)를 사용할 때, 로봇식 키친(50)에 의한 레시피의 실행의 충실도는 다음의 주요 제어 아이템을 고려하는 것에 크게 의존할 것이다. 주요 제어 아이템은, 표준화된 분량 및 형상의 고품질의 그리고 미리 손질된(pre-processed) 재료(382)를 선택하고 활용하는 프로세스, 표준화된 툴 및 유텐실의 사용, 알려진 방위에서의 적절하고 확실한 움켜잡기를 보장하기 위한 표준화된 핸들을 갖는 쿡웨어(384), 인간 요리사(49)가 요리를 준비하는 요리사 스튜디오 키친과 표준화된 로봇식 키친(50)을 비교하는 경우 가능한 한 동일한 표준화된 키친에서의 표준화된 기기(386)(오븐, 블렌더, 냉장고, 냉장고, 등등), 레시피에서 사용될 재료에 대한 위치 및 배치(388), 및 특정한 요리를 위한 레시피 스크립트의 복제 프로세스의 매 스테이지에서의 각각의 단계의 성공적인 실행을 보장하기 위해 컴퓨터 제어 액션(390)을 갖는 센서에 의해 연속적으로 모니터링되는 로봇식 키친 모듈(50)에서의 궁극적으로는 한 쌍의 로봇 팔, 손목 및 다수의 손가락이 있는 손을 포함한다. 결국, 동일한 결과(392)를 보장하는 태스크가 표준화된 로봇식 키친(50)에 대한 최종 목표이다.
도 8a는, 요리사의 움직임과 로봇 복제 움직임 사이의 레시피 변환 알고리즘 모듈(400)의 하나의 실시형태를 예시하는 블록도이다. 레시피 알고리즘 변환 모듈(404)은 요리사 스튜디오(44)에서 요리사의 움직임으로부터의 캡쳐된 데이터를, 로봇식 키친(48)에서 요리사의 움직임에 의해 준비된 음식을 복제할 것을 로봇 팔(70) 및 로봇 손(72)에게 명령하기 위한 머신 판독가능 및 머신 실행가능 언어(406)로 변환한다. 요리사 스튜디오(44)에서, 컴퓨터(16)는, 테이블(408)에서, 수직 칼럼의 복수의 센서(S0, S1, S2, S3, S4, S5, S6,…, Sn) 및 수평 로우의 시간 증가분(t0, t1, t2, t3, t4, t5, t6, …, tend)에 의해 표현되는, 요리사가 착용하고 있는 글로브(26) 상의 센서에 기초하여 요리사의 움직임을 캡쳐하고 기록한다. 시간 t0에서, 컴퓨터(16)는 복수의 센서(S0, S1, S2, S3, S4, S5, S6,…, Sn)로부터 수신되는 센서 데이터로부터 xyz 좌표 위치를 기록한다. 시간 t1에서, 컴퓨터(16)는 복수의 센서(S0, S1, S2, S3, S4, S5, S6,…, Sn)로부터 수신되는 센서 데이터로부터 xyz 좌표 위치를 기록한다. 시간 t2에서, 컴퓨터(16)는 복수의 센서(S0, S1, S2, S3, S4, S5, S6,…, Sn)로부터 수신되는 센서 데이터로부터 xyz 좌표 위치를 기록한다. 이 프로세스는, 시간 tend에서, 전체 음식 준비가 완료될 때까지 계속된다. 각각의 시간 단위(t0, t1, t2, t3, t4, t5, t6, …, tend)에 대한 지속기간은 동일하다. 캡쳐되고 기록된 센서 데이터의 결과로서, 테이블(408)은 글로브(26)에서의 센서(S0, S1, S2, S3, S4, S5, S6,…, Sn)로부터의 임의의 움직임을 xyx 좌표에서 나타내는데, 이것은 다음 특정 시간 동안의 xyx 좌표 위치에 관한 하나의 특정 시간 동안의 xyz 좌표 위치 사이의 차이를 나타낼 것이다. 유효하게, 테이블(408)은 시작 시간인 t0로부터 끝 시간인 tend까지의 전체 음식 준비 프로세스에 걸쳐 요리사의 움직임이 어떻게 변하는지를 기록한다. 이 실시형태에서의 예시는, 음식을 준비하는 동안 움직임을 캡쳐하기 위한, 요리사(49)가 착용하고 있는 센서를 갖는 두 개의 글로브(26)로 확장될 수 있다. 로봇식 키친(48)에서, 로봇 팔(70) 및 로봇 손(72)은 요리사 스튜디오(44)로부터 기록된 레시피를 복제하는데, 이것은 나중에, 로봇 팔(70) 및 로봇 손(72)이 타임 라인(416)에 따라 요리사(49)의 음식 준비를 복제하는 로봇 명령어로 변환된다. 로봇 팔(70) 및 손(72)은, 동일한 xyz 좌표 위치를 가지고, 동일한 속도에서, 타임 라인(416)에서 도시되는 바와 같이, 시작 시간 t0로부터 종료 시간 tend까지 동일한 시간 증가를 가지고, 동일한 음식 준비를 실행한다.
몇몇 실시형태에서, 요리사는 동일한 음식 준비 동작을 다수 회 수행하여, 회차별로 다소 상이한, 센서 판독치의 값, 및 대응하는 로봇 명령어에서의 파라미터를 산출한다. 동일한 음식의 준비의 다수의 반복에 걸친 각각의 센서에 대한 센서 판독치의 세트는 평균치, 표준 편차 및 최소 및 최대 값을 갖는 분포를 제공한다. 요리사에 의한 동일한 음식의 다수의 실행에 걸친 로봇 명령어에 대한 대응하는 변동치(이펙터 파라미터로도 또한 칭해짐)도 또한, 평균치, 표준 편차, 최소 및 최대 값을 갖는 분포를 정의한다. 이들 분포는 후속하는 로봇식 음식 준비의 충실도(또는 정확도)를 결정하기 위해 사용될 수도 있다.
하나의 실시형태에서, 로봇식 음식 준비의 추정된 평균 정확도는 다음에 의해 주어진다:
Figure pat00004
여기서 C는 요리사 파라미터의 세트(제1 내지 제n)를 나타내고 R은 로봇 장치 파라미터의 세트(상응하여 제1 내지 제n)를 나타낸다. 합에서의 분자는 로봇 파라미터와 요리사 파라미터 사이의 차이(즉, 에러)를 나타내고 분모는 최대 차이를 정규화한다. 합은 전체 정규화된 누적 에러(즉,
Figure pat00005
)를 제공하고, 1/n에 의한 승산은 평균 에러를 제공한다. 평균 에러의 보수(complement)는 평균 정확도에 대응한다.
정확도 계산의 다른 버전은, 중요도에 파라미터에 가중치를 부여하는데, 여기서 각각의 계수(각각 αi)는 i번째 파라미터의 중요도를 나타내고, 정규화된 누적 에러는
Figure pat00006
이고 추정된 평균 정확도는 다음에 의해 주어진다:
Figure pat00007
도 8b는, 요리사의 움직임을 캡쳐하고 전송하기 위한, 요리사(49)에 의해 착용되는, 센서를 갖는 글로브(26a 및 26b) 쌍을 예시하는 블록도이다. 효과를 제한하지 않는 하나의 예를 나타내도록 의도되는 예시적인 예에서, 오른손 글로브(26a)는 글로브(26a) 상의 다양한 데이터 포인트(D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, 및 D25)를 캡쳐하기 위한 25개의 센서를 포함하는데, 이것은 옵션적인 전자장치 및 기계 회로(420)를 구비할 수도 있다. 왼손 글로브(26b)는, 글로브(26b) 상의 다양한 센서 데이터 포인트(D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44, D45, D46, D47, D48, D49, D50)를 캡쳐하기 위한 25개의 센서를 포함하는데, 이것은 옵션적인 전자장치 및 기계 회로(422)를 구비할 수도 있다.
도 8c는, 요리사의 글로브(26a 및 26b)로부터의 캡쳐된 센서 데이터에 기초하여 로봇식 요리 실행 단계를 예시하는 블록도이다. 요리사 스튜디오(44)에서, 요리사(49)는 음식 준비 프로세스를 캡쳐하기 위한 센서를 갖는 글로브(26a 및 26b)를 착용하는데, 음식 준비 프로세스에서 센서 데이터는 테이블(430)에 기록된다. 이 예에서, 요리사(49)는 당근을 나이프로 자르는데, 당근의 각각의 슬라이스는 두께가 약 1센티미터이다. 요리사(49)에 의한 이들 액션 프리미티브는, 글로브(26a, 26b)에 의해 기록될 때, 시간 슬롯(1, 2, 3 및 4)에 걸쳐 발생하는 미소 조작(432)을 구성할 수도 있다. 레시피 알고리즘 변환 모듈(404)은 요리사 스튜디오(44)로부터의 기록된 레시피 파일을, 로봇식 키친(28)의 로봇 팔(70) 및 로봇 손(72)을 소프트웨어 테이블(434)에 따라 동작시키기 위한 로봇 명령어로 변환하도록 구성된다. 로봇 팔(70) 및 로봇 손(72)은, 미소 조작 라이브러리(116)에서 미리 정의된 바와 같이, 나이프로 당근을 자르는 미소 조작(당근의 각각의 슬라이스의 두께가 약 1센티미터임)을 위한 제어 신호(436)를 이용하여 음식을 준비한다. 로봇 팔(70) 및 로봇 손(72)은 동일한 xyz 좌표(438)를 가지고 그리고 실시간 조정 디바이스(112)로부터 당근의 시간적 3차원 모델(440)을 생성하는 것에 의해 특정한 당근의 사이즈 및 형상에 대한 가능한 실시간의 조정을 가지고 동작한다.
본 발명의 실시형태에서 설명되는 것과 같은 기계적 로봇 메커니즘을 동작시키기 위해, 숙련된 기술자는, 많은 기계적 및 제어 문제가 해결되어야 하고, 로봇에서의 문헌이 바로 그렇게 할 방법을 설명한다는 것을 실감한다. 로봇 시스템에서의 정적 및/또는 동적 안정성의 확립은 중요한 고려사항이다. 특히 로봇 조작의 경우, 동적 안정성은, 불의의 파손 또는 소망되는 또는 프로그래밍된 움직임을 넘어서는 움직임을 방지하기 위해, 강하게 소망되는 특성이다. 동적 안정성은 도 8d에서 평형상태를 기준으로 예시된다. 여기서, "평형상태 값"은 팔의 소망되는 상태이다(즉, 팔은 이동하도록 프로그래밍된 곳으로 정확히 이동하는데, 관성, 구심력 또는 원심력, 고조파 진동, 등등과 같은 임의의 수의 인자에 의해 야기되는 편차를 갖는다). 동적으로 안정한 시스템은, 곡선(450)에 의해 표현되는 바와 같이, 변동이 작고 시간에 걸쳐 약해지는 시스템이다. 동적으로 불한정한 시스템은, 곡선(452)에 의해 묘사되는 바와 같이, 시간에 걸쳐 변동이 약해지지 않고 증가할 수 있는 시스템이다. 그리고 가장 최악의 상황은, 곡선(454)에 의해 예시되는 바와 같이, 정적으로 불안정한 경우(예를 들면, 팔이 무엇을 파지하든 간에 그 무게를 유지할 수 없음), 넘어지는 경우, 또는 프로그래밍된 위치 및/또는 경로로부터의 어떠한 탈선으로부터도 복원할 수 없는 경우이다. 계획(미소 조작의 시퀀스를 형성하는 것, 또는 무언가 잘못된 경우 복원하는 것)에 대한 추가 정보에 대해서는, 『Garagnani, M.(1999) "Improving the Efficiency of Processed Domain-axioms Planning", Proceedings of PLANSIG-99, Manchester, England, pp. 190-192』를 참조하면 되는데, 이 참조문헌은 참조에 의해 그 전체가 본원에 통합된다.
언급된 문헌은, 로봇 팔의 적절한 기능수행을 가능하게 하기 위해, 참조에 의해 본원에 가져오는 동적 안정성에 대한 조건을 나타낸다. 이들 조건은 로봇 팔의 관절에 대한 토크를 계산하기 위한 기본 원칙을 포함한다:
Figure pat00008
여기서 T는 토크 벡터이고(T는 n개 성분을 가지며, 각각은 로봇 팔의 자유도에 대응함), M은 시스템의 관성 매트릭스이고(M은 양의 반 유한 n×n 매트릭스임), C는 구심력 및 원심력의 조합이고, 또한 n×n 매트릭스이며, G(q)는 중력 벡터이고, q는 위치 벡터이다. 그리고 이들은, 로봇 위치(x)가 2회 미분가능 함수(y)에 의해 설명될 수 있으면, 예를 들면, 라그랑지 식을 통해 안정한 위치 및 극소점을 찾는 것을 포함한다.
Figure pat00009
로봇 팔 및 손/그리퍼(gripper)로 구성되는 시스템이 안정화하기 위해서는, 시스템이 적절히 설계되어 만들어지고 수용가능한 성능의 경계 내에서 동작하는 적절한 감지 및 제어 시스템을 가져야 하는 것이 중요하다. 이것이 중요한 이유는, 물리적 시스템 및 그것의 컨트롤러가 그것에게 무엇을 할 것을 요구하고 있는지가 주어지면, 가능한 최상의(최고 위치/속도 및 힘/토크 추적을 갖는 최고 속력 및 안정한 조건 하에서의 모든 것) 성능을 달성하기를 원하기 때문이다.
적절한 설계를 말하는 경우, 그 개념은, 시스템의 적절한 관찰가능성 및 제어가능성을 달성하는 개념이다. 관찰가능성은, 시스템의 주요 변수(관절/손가락 위치 및 속도, 힘 및 토크)가 시스템에 의해 측정가능하다는 것을 의미하며, 이것은 이들 변수를 감지하는 능력을 가져야 한다는 것을 의미하며, 이것은 결국에는 적절한 감지 디바이스(내부 또는 외부)의 존재 및 사용을 의미한다. 제어가능성은, 내부/외부 센서로부터의 관찰된 파라미터에 기초하여 시스템의 주요 축을 성형하고 제어하는 능력을 (이 예에서는 컴퓨터가) 갖는다는 것을 의미하며; 이것은 일반적으로 모터 또는 다른 컴퓨터 제어 작동 시스템을 통한 소정의 파라미터에 대한 직접/간접 제어 또는 액추에이터를 의미한다. 시스템을 그 응답에서 가능한 한 선형으로 만들어서, 그로 인해 비선형성(정지마찰, 백래시(backlash), 히스테리시스, 등등)의 유해한 영향을 무시하는 능력은, PID 이득 스케줄링과 같은 제어 스킴 및 슬라이딩 모드 제어와 같은 비선형 컨트롤러가, 임의의 더 높은 성능의 제어 시스템에서 항상 존재하는 시스템 모델링 불확실성(질량/관성 추정에서의 에러, 차원의 기하학적 형태의 이산화, 센서/토크 이산화 이상(anomaly), 등등)의 측면에서도, 시스템 안정성 및 성능을 보장하는 것을 허용한다.
더구나, 적절한 컴퓨팅 및 샘플링 시스템의 사용은 중요한데, 소정의 최대 주파수 컨텐츠를 갖는 급격한 모션을 추종하는 시스템의 능력이, 전체 시스템이 어떤 제어 대역폭(컴퓨터 제어 시스템의 폐루프 샘플링 레이트)을 달성할 수 있는지 및 따라서 시스템이 나타낼 수 있는 주파수 응답(소정의 속력의 모션 및 모션-주파수 컨텐츠를 추적하는 능력)에 명확히 관련되기 때문이다.
동적인 방식 및 안정적인 방식 양자에서, 성공적인 레시피 스크립트 실행을 위해 인간 요리사가 필요로 하는 복잡하고 능란한 태스크를 고도로 중복적인 시스템이 실제 실행할 수 있다는 것을 보장하는 것에 관한 한, 상기 특성 모두는 중요하다.
본 발명에 관련한 로봇 조작의 맥락에서의 머신 학습은, 파라미터 조정을 위한 널리 공지된 방법, 예컨대 강화 학습을 수반할 수 있다. 본 발명에 대한 대안적이고 선호되는 실시형태는, 시간에 걸친 다수의 단계를 통해 식사를 준비하고 요리하는 것과 같은 반복적이고 복잡한 액션에 대한 상이하고 보다 적절한 학습 기술, 즉 사례 기반의 학습이다. 유추(analogical reasoning)로서 또한 알려진 사례 기반의 추론이 시간에 걸쳐 개발되어 왔다.
일반적인 개관으로서, 사례 기반의 추론은 다음의 단계를 포함한다:
A. 구축 및 기억 사례. 사례는, 목적을 달성하기 위해 성공적으로 실행되는 파라미터를 갖는 액션의 시퀀스이다. 파라미터는, 거리, 힘, 방향, 위치, 및 태스크(예를 들면, 요리 동작)를 성공적으로 실행하는 데 그 값이 필요로 되는 다른 물리적 또는 전자적 측정치를 포함한다. 먼저,
1. 방금 함께 해결한 문제의 양태를 저장하는 것:
2. 문제 및 그것의 파라미터 값을 해결하기 위한 방법(들) 및 옵션적으로는 중간 단계, 및
3. 최종 성과를 (통상적으로) 저장하는 것.
B. (나중의 시점에서의) 사례 적용
4. 자신의 문제가 신규의 문제와 강한 유사성을 하나 이상의 저장된 사례를 검색,
5. 옵션적으로 검색된 사례(들)로부터의 파라미터를 조정하여 현재의 사례에 적용하는 것(예를 들면, 한 아이템이 다소 더 많이 무게가 나갈 수도 있고, 그러므로 그것을 집어 들기 위해서는 다소 더 강한 힘이 필요로 됨),
6. 신규의 문제를 적어도 부분적으로 해결하기 위해 (필요로 되면) 조정된 파라미터를 갖는 사례(들)로부터의 동일한 방법 및 단계를 사용하는 것.
그러므로, 사례 기반 추론은 지난 문제에 대한 솔루션을 기억하는 것 및 가능한 파라미터적 수정을 가지고 그들을 신규의 아주 유사한 문제에 적용하는 것으로 구성된다. 그러나, 사례 기반의 추론을 로봇 조작 도전과제에 적용하기 위해서는, 더 많은 어떤 것이 필요로 된다. 솔루션 계획의 하나의 파라미터에서의 변동은, 하나 이상의 커플링된 파라미터에서의 변동을 야기할 것이다. 이것은, 바로 적용이 아니라, 문제 솔루션의 변환을 요구한다. 신규의 프로세스를 사례 기반의 로봇 학습으로 칭하는데, 그것이 밀접한 솔루션의 패밀리(입력 파라미터 - 예컨대 입력 재료의 정확한 무게, 형상 및 위치 - 에서의 작은 변동에 대응하는 것)에 대한 솔루션을 일반화하기 때문이다. 사례 기반의 로봇 학습은 다음과 같이 동작한다:
C. 로봇 조작 사례의 구축, 기억 및 변환
1. 방금 함께 해결한 문제의 양태를 저장하는 것:
2. 파라미터의 값(예를 들면, 식 1로부터의 관성 매트릭스, 힘, 등등),
3. 파라미터 값이 얼마나 많이 변할 수 있는지 및 여전히 소망의 결과를 획득할 수 있는지를 보기 위해, 도메인에 관한 파라미터(들)를 변경시키는 것(예를 들면, 요리에서, 재료의 무게 또는 그들의 정확한 시작 위치를 변경시키는 것)에 의한 동요(perturbation) 분석을 수행하기,
4. 모델에 대한 동요 분석을 통해, 어떤 다른 파라미터 값이 변할 것인지 및 그들이 얼마만큼 변해야 하는지를 기록하기, 및
5. 변경이 로봇 장치의 동작 명세 내에 있으면, (파라미터 사이에서의 의존성 및 그들 값의 투영된 변경 계산을 갖는) 변환된 솔루션 계획을 저장하기.
D. (나중의 시점에서의) 사례 적용
6. 변환된 정확한 값(이제, 신규의 값에 대한 범위, 또는 계산은 입력 파라미터의 값에 의존함)을 가지지만, 여전히 자신의 관성 문제가 신규의 문제에 대해 강한 유사성을 갖는 하나 이상의 저장된 사례를 검색하기, 및
7. 신규의 문제를 적어도 부분적으로 해결하기 위해 사례(들)로부터의 변환된 방법 및 단계를 사용하기.
요리사가 로봇(두 개의 팔 및 감지 디바이스, 예컨대 손가락으로부터의 햅틱 피드백, 관절로부터의 힘 피드백, 및 하나 이상의 관찰 카메라)에게 가르칠 때, 로봇은 시간 상관, 및 움직임의 특정 시퀀스뿐만 아니라, 관찰가능한 입력 파라미터에서의 중요치 않은(minor) 변동에 무관하게 동일한 요리를 준비할 수 있는 요리사의 움직임 주변의 작은 변동의 패밀리도 또한 학습하며 - 따라서 그것은 일반화된 변환 계획을 학습하여, 기계적으로 암기한 기억보다 훨씬 더 큰 활용성을 제공한다. 사례 기반 추론 및 학습에 대한 추가 정보에 대해서는, 『Leake, 1996 Book, Case-Based Reasoning: Experiences, Lessons and Future Directions, http://journals.Cambridge.org/action/displayAbstract?fromPage=online&aid=4068324&fileld=S0269888900006585dl.acm.org/citation.cfm?id=524680; Carbonell, 1983, Learning by Analogy: Formulating and Generalizing Plans from Past Experience, http://link.springer.com/chapter/10.1007/978-3-662-12405-5_5』의한 자료를 참조하면 되는데, 이들 참조문헌은 참조에 의해 그 전체가 본원에 통합된다.
도 8e에서 묘사되는 바와 같이, 요리의 프로세스는, 타임 라인(456)에서 나타내어지는 바와 같이, 복수의 스테이지(S1, S2, S3,…, Sj,…, Sn)로 칭해지는 단계의 시퀀스를 필요로 한다. 이들은 엄격한 선형적인/순차적인 순서화를 필요로 할 수도 있거나 몇몇은 병렬로 수행될 수도 있다; 어느 방식이든 스테이지의 세트 {S1, S2, …, Si,…, Sn}을 갖는데, 전체적인 성공을 달성하기 위해서는 이들 모두는 성공적으로 완수되어야만 한다. 각각의 스테이지에 대한 성공의 가능성이 P(si)이고 n개의 스테이지가 존재하면, 전체적인 성공의 확률은 각각의 스테이지에서의 성공의 확률의 곱에 의해 추정된다:
Figure pat00010
기술분야에서 숙련된 자는, 개개의 스테이지의 성공의 확률이 상대적으로 높더라도, 전체적인 성공의 확률이 낮을 수 있다는 것을 알 수 있을 것이다. 예를 들면, 10개의 스테이지 및 90%인 각각의 스테이지의 성공의 확률이 주어지면, 전체적인 성공의 확률은 (0.9)10 = 0.28 또는 28%이다.
음식을 준비함에 있어서의 스테이지는, 하나 이상의 미소 조작을 포함하는데, 여기서 각각의 미소 조작은 잘 정의된 중간 결과로 이어지는 하나 이상의 로봇 액션을 포함한다. 예를 들면, 야채를 슬라이스하는 것은, 한 손으로 야채를 파지하고, 다른 손으로 나이프를 파지하고, 야채가 슬라이스될 때까지 반복된 나이프 움직임을 적용하는 것으로 구성된다. 요리를 준비함에 있어서의 스테이지는 하나 또는 다수의 슬라이싱 미소 조작을 포함한다.
성공 확률 공식은, 미소 조작이 다른 미소 조작에 상대적으로 독립적이면, 스테이지 레벨에서 그리고 미소 조작의 레벨에서 균등하게 적용된다.
하나의 실시형태에서, 잠재적인 합성 에러로 인한 성공의 감소된 확실성의 문제를 완화하기 위해, 스테이지의 전체에서의 미소 조작의 대부분 또는 전체에 대한 표준화된 방법이 추천된다. 표준화된 동작은, 사전프로그래밍될 수 있는, 사전테스트될 수 있는, 그리고 필요한 경우, 최고 성공 확률을 갖는 동작의 시퀀스를 성공하도록 사전조정될 수 있는 동작이다. 그러므로, 스테이지 내에서의 미소 조작을 통한 표준화된 방법의 확률이 아주 높으면, 앞선 작업(work)으로 인해, 단계의 모두가 완벽하게 되고 테스트될 때까지, 음식을 준비하는 전체적인 성공 확률도 아주 높을 것이다. 예를 들면, 상기 예로 리턴하기 위해, 각각의 스테이지가 신뢰가능한 표준화된 방법을 활용하고, 그것의 성공 확률이 (앞선 예에서와 같은 90% 대신) 99%이면, 전체적인 성공 확률은, 앞서와 같이 10개의 스테이지가 존재한다고 가정하면, (0.99)10 = 90.4%가 될 것이다. 이것은 28% 확률의 전체적인 정확한 성과보다 명백히 더 양호하다.
다른 실시형태에서, 각각의 스테이지에 대해 하나보다 많은 대안적인 방법이 제공되는데, 여기서, 하나의 대안예가 실패하면, 다른 대안예가 시도된다. 이것은 각각의 스테이지의 성공 또는 실패를 결정하기 위해 동적 모니터링 및 대안적인 계획을 가질 능력을 필요로 한다. 그 스테이지에 대한 성공의 확률은, 대안예의 전체에 대한 실패의 확률의 보수인데, 이것은 수학적으로 다음과 같이 기록된다:
Figure pat00011
상기 표현에서, si는 스테이지이고 A(si)는 si를 달성하기 위한 대안예의 세트이다. 주어진 대안예에 대한 실패의 확률은, 그 대안예에 대한 성공의 확률의 보수이며, 즉
Figure pat00012
이며, 실패하는 모든 대안예의 확률은 상기 식에서의 곱이다. 그러므로, 모두가 실패하지는 않을 확률은 그 곱의 보수이다. 대안예의 방법을 사용하면, 전체적인 성공 확률은, 대안예를 갖는 각각의 스테이지의 곱으로서 추정될 수 있는데, 즉 다음과 같다:
Figure pat00013
대안예의 이 방법에서는, 10개의 스테이지의 각각이 4개의 대안예를 가지며, 각각의 스테이지에 대한 각각의 대안예의 예상된 성공이 90%이면, 성공의 전체적인 확률은, 대안예가 없는 단지 28%와 대비하여, (1-(1-(0.9))4)10 = 0.99 또는 99%일 것이다. 대안예의 방법은, 원래의 문제를, (임의의 스테이지가 실패하면) 실패의 다수의 싱글 포인트를 갖는 스테이지의 체인으로부터, 실패의 싱글 포인트가 없는 스테이지로 변환하는데, 임의의 주어진 스테이지가 실패하기 위해서는 모든 대안예가 실패하는 것을 필요로 할 것이기 때문이며, 더 강건한 성과를 제공한다.
다른 실시형태에서, 표준화된 미소 조작을 포함하는 표준화된 스테이지, 및 음식 준비 스테이지의 대안적인 수단 양자는 결합되어, 더욱더 강건한 거동을 산출한다. 이러한 경우에서, 대응하는 성공 확률은, 대안예가 스테이지 또는 미소 조작 중 일부에 대해서만 존재하더라도, 아주 높을 수 있다.
다른 실시형태에서, 실패의 경우, 더 낮은 성공 확률을 갖는 스테이지, 예를 들면 아주 신뢰성이 있는 표준화된 방법이 존재하지 않는, 또는 예를 들면, 이상한 형상의 재료에 따라, 잠재적인 가변성이 존재하는 스테이지만이 대안예를 제공받는다. 이 실시형태는 모든 스테이지에 대안예를 제공하는 것의 부담을 경감시킨다.
도 8f는, 표준화되지 않은 키친(458)을 예시하는 제1 곡선(458) 및 표준화된 키친(50)을 예시하는 제2 곡선(459)에 대한 음식을 요리하는 데 필요한 스테이지의 수(x축)의 함수로서 전체 성공의 확률(y축)을 도시하는 그래프 도면이다. 이 예에서, 음식 준비 스테이지마다의 개개의 성공 확률은 표준화되지 않은 동작에 대해 90%였고 표준화된 사전 프로그래밍된 스테이지에 대해 99%였다는 것이 가정된다. 곡선(459)과 비교한 곡선(458)에서 나타내어지는 바와 같이 합성된 에러는 이전 사례보다 훨씬 더 나쁘다.
도 8g는, 미소 조작 및 액션 프리미티브를 갖는 다중 스테이지 로봇식 음식 준비를 갖는 레시피(460)를 예시하는 블록도이다. 각각의 음식 레시피(460)는 복수의 음식 준비 스테이지: 로봇 팔(70) 및 로봇 손(72)에 의해 실행되는 바와 같은, 제1 음식 준비 스테이지(S1)(470), 제2 음식 준비 스테이지(S2), …, 제n 음식 준비 스테이지(Sn)(490)로 분할될 수 있다. 제1 음식 준비 스테이지(S1)(470)는 하나 이상의 미소 조작(MM1(471), MM2(472), 및 MM3(473)을 포함한다. 각각의 미소 조작은, 기능적 결과를 획득하는 하나 이상의 액션 프리미티브를 포함한다. 예를 들면, 제1 미소 조작(MM1)(471)은 제1 액션 프리미티브(AP1)(474), 제2 액션 프리미티브(AP2)(475), 및 제3 액션 프리미티브(AP3)(475)를 포함하는데, 이것은, 그 후, 기능적 결과(477)를 달성한다. 그 다음, 제1 스테이지(S1)(470)에서의 하나 이상의 미소 조작(MM1(471), MM2(472), MM3(473))은 스테이지 결과(479)를 달성한다. 하나 이상의 음식 준비 스테이지(S1)(470), 제2 음식 준비 스테이지(S2) 및 제n 스테이지의 음식 준비 스테이지(Sn(490))의 조합은, 요리사 스튜디오(44)에서 기록된 것과 같은 요리사(49)의 음식 준비 프로세스를 복제하는 것에 의해 실질적으로 동일한 또는 동일한 결과를 생성한다.
미리 정의된 미소 조작은 각각의 기능적 결과(예를 들면, 계란을 깨는 것)를 달성하도록 이용가능하다. 각각의 미소 조작은, 기능적 결과를 달성하도록 함께 작용하는 액션 프리미티브의 집합체를 포함한다. 예를 들면, 로봇은 자신의 손을 계란을 향해 움직이고, 계란을 터치하여 그것의 위치를 알아 내고 그것의 사이즈를 확인하고, 계란을 파지하여 기지의 그리고 미리 결정된 구성으로 집어드는 데 필요한 움직임 및 감지 동작을 실행하는 것에 의해, 시작할 수도 있다.
레시피를 이해하고 편제함에 있어서 편의성을 위해 소스를 만드는 것과 같은 다수의 미소 조작은 스테이지로 수집될 수도 있다. 미소 조작의 전체를 실행하여 스테이지의 전체를 완수한 최종 결과는, 매번 일관된 결과를 가지고 음식이 복제되는 것이다.
도 9a는, 다섯 개의 손가락을 갖는 로봇 손(72) 및 키친 툴, 오브젝트, 또는 키친 기기의 아이템을 검출 및 이동시키기 위한 RGB-D 센서, 카메라 센서 및 소나 센서 성능을 갖는 손목의 한 예를 예시하는 블록도이다. 로봇 손(72)의 손바닥은 RGB-D 센서(500), 카메라 센서 또는 소나 센서(504f)를 포함한다. 대안적으로, 로봇 손(450)의 손바닥은 카메라 센서 및 소나 센서 양자를 포함한다. RGB-D 센서(500) 또는 소나 센서(504f)는 오브젝트의 위치, 치수 및 형상을 검출하여 오브젝트의 3차원 모델을 생성할 수 있다. 예를 들면, RGB-D 센서(500)는, 오브젝트의 형상을 캡쳐하기 위한 구조화된 광, 3차원 매핑 및 위치 결정, 경로 계획, 내비게이션, 오브젝트 인식 및 사람들 추적을 사용한다. 소나 센서(504f)는 오브젝트의 형상을 캡쳐하기 위해 음향파를 사용한다. 카메라 센서(452) 및/또는 소나 센서(454)와 연계하여, 로봇식 키친의 어딘가에, 예컨대 난간 상에, 또는 로봇 상에 배치되는 비디오 카메라(66)는, 도 7a에서 예시되는 바와 같이, 요리사(49)에 의해 사용되는 것과 같은 키친 툴의 움직임을 캡쳐하거나, 추종하거나, 또는 방향지정하기 위한 방식을 제공한다. 비디오 카메라(66)는 로봇 손(72)으로부터 어떤 각도에서 약간 이격되어 위치되고, 따라서 오브젝트를 파지하는 로봇 손(72), 및 로봇 손이 오브젝트를 꽉 쥐고 있었는지 또는 오브젝트를 손에서 놓고/배출하고 있었는지의 여부의 더 높은 레벨의 뷰를 제공한다. RGB-D(레드 광 빔, 그린 광 빔, 블루 광 빔, 및 깊이) 센서의 적절한 예는 마이크로소프트(Microsoft)에 의한 키넥트(Kniect) 시스템인데, 이것은 소프트웨어 상에서 실행하는 RGB 카메라, 깊이 센서 및 다중 어레이 마이크를 특징으로 하며, 이들은 풀바디(full-body) 3D 모션 캡쳐, 얼굴 인식 및 음성 인식 성능을 제공한다.
로봇 손(72)은, 오브젝트의 거리 및 형상뿐만 아니라, 오브젝트의 거리를 검출하기 위한, 그리고 키친 툴을 핸들링하기 위한, 손바닥의 중앙에 또는 그 근처에 위치된 RGB-D 센서(500)를 구비한다. RGB-D 센서(500)는 로봇 손(72)을 오브젝트의 방향을 향해 이동함에 있어서 그리고 오브젝트를 잡기하기 위한 필요한 보정을 행하기 위해 로봇 손(72)에게 안내를 제공한다. 둘 째, 오브젝트의 거리와 형상, 및 후속하는 접촉을 검출하기 위한 소나 센서(502f) 및/또는 촉각 압력 센서가 로봇 손(72)의 손바닥 근처에 배치된다. 소나 센서(502f)도 또한, 오브젝트를 향해 이동하도록 로봇 손(72)을 가이드할 수 있다. 손에서의 추가적인 타입의 센서는 초음파 센서, 레이저, 무선 주파수 식별(radio frequency identification; RFID) 센서, 및 다른 적절한 센서를 포함할 수도 있다. 게다가, 촉각 압력 센서는, 오브젝트를 안전하게 집어 들기에 충분한 압력이 존재하는 어떤 포인트에서 오브젝트를 잡기하기 위해 로봇 손(72)이 추가적인 압력을 계속 가할지의 여부를 결정하기 위해, 피드백 메커니즘으로서 기능한다. 게다가, 로봇 손(72)의 손바닥의 소나 센서(502f)는, 키친 툴을 잡고 핸들링하기 위한 촉각 감지 기능을 제공한다. 예를 들면, 로봇 손(72)이 소고기를 컷팅하기 위해 나이프를 잡는 경우, 로봇 손이 나이프에 가하는 그리고 소고기에 인가하는 압력의 양은, 나이프가 소고기 썰기를 마친 경우에, 즉 나이프가 저항을 갖지 않는 경우에, 또는 오브젝트를 홀딩하는 경우에, 촉각 센서에 의해 검출될 수 있다. 분산되는 압력은 오브젝트를 고정시켜야할 뿐만 아니라, 그것(예를 들면, 계란)을 파괴하지 않아야 한다.
더구나, 로봇 손(72) 상의 각각의 손가락은, 엄지손가락의 손가락 끝 상의 제1 햅틱 진동 센서(502a) 및 제1 소나 센서(504a), 검지의 손가락 끝 상의 제2 햅틱 진동 센서(502b) 및 제2 소나 센서(504b), 중지의 손가락 끝 상의 제3 햅틱 진동 센서(502c) 및 제3 소나 센서(504c), 약지(ring finger)의 손가락 끝 상의 제4 햅틱 진동 센서(502d) 및 제4 소나 센서(504d), 및 새끼손가락의 손가락 끝 상의 제5 햅틱 진동 센서(502e) 및 제5 소나 센서(504e)에 의해 나타내어지는 바와 같이, 각각의 손가락 끝 상에 햅틱 진동 센서(502a-502e) 및 소나 센서(504a-504e)를 구비한다. 햅틱 진동 센서(502a, 502b, 502c, 502d 및 502e)의 각각은, 진동의 형상, 주파수, 진폭, 지속시간, 및 방향을 변경하는 것에 의해, 상이한 표면 및 효과를 시뮬레이팅할 수 있다. 소나 센서(504a, 504b, 504c, 504d 및 504e)의 각각은 오브젝트의 거리 및 형상에 대한 감지 성능, 온도 또는 습도에 대한 감지 성능뿐만 아니라 피드백 성능을 제공한다. 추가적인 소나 센서(504g 및 504h)가 로봇 손(72)의 손목 상에 배치된다.
도 9b는, 표준화된 로봇식 키친에서의 동작을 위한, 로봇 팔 및 손의 쌍에 커플링되어 있는 센서 카메라(512)를 갖는 팬 틸트 헤드(510)의 하나의 실시형태를 예시하는 블록도이다. 팬 틸트 헤드(510)는, 표준화된 로봇식 키친(50) 내에서 정보 및 3차원 이미지를 모니터링하거나, 캡쳐하거나 또는 프로세싱하기 위한 RGB-D 센서(512)를 구비한다. 팬 틸트 헤드(510)는, 팔 및 센서 모션에 무관한 양호한 상황 인식을 제공한다. 팬 틸트 헤드(510)는, 음식 준비 프로세스를 실행하기 위한 로봇 팔(70) 및 손(72)의 쌍에 커플링되지만, 로봇 팔(70) 및 손(72)의 쌍은 폐색(occlusion)을 야기할 수도 있다.
도 9c는, 표준화된 로봇식 키친(50)에서의 동작을 위한, 로봇 손목(73) 상의 센서 카메라(514)를 예시하는 블록도이다. 센서 카메라(514)의 하나의 실시형태는, 각각의 손(72)의 손목(73)에 장착되는, 컬러 이미지 및 깊이 인지를 제공하는 RGB-D 센서이다. 각각의 손목(73) 상의 카메라 센서(514)의 각각은 팔에 의한 제한된 폐색을 제공하지만, 일반적으로는 로봇 손(72)이 오브젝트를 파지할 때 폐색되지 않는다. 그러나, RGB-D 센서(514)는 각각의 로봇 손(72)에 의해 폐색될 수도 있다.
도 9d는, 표준화된 로봇식 키친(50)에서의 동작을 위한, 로봇 손(72) 상의 손에 있는 눈(518)을 예시하는 블록도이다. 각각의 손(72)은 센서, 예컨대 표준화된 로봇식 키친(50)에서 로봇 손(72)에 의한 손에 있는 눈의 기능을 제공하기 위한 RGD-D 센서를 구비한다. 각각의 손에서의 RGB-D 센서를 갖는 손에 있는 눈(518)은, 각각의 로봇 팔(70) 및 각각의 로봇 손(72)에 의한 제한된 폐색을 갖는 높은 이미지 상세를 제공한다. 그러나, 손에 있는 눈(518)을 갖는 로봇 손(72)은 오브젝트를 파지할 때 폐색과 조우할 수도 있다.
도 9e 내지 도 9g는, 로봇 손(72)에서의 변형가능한 손바닥(520)의 양태를 예시하는 도해적 도면이다. 다섯 개의 손가락이 있는 손의 손가락은, 엄지손가락을 제1 손가락(F1)(522), 검지를 제2 손가락(F2)(524), 중지를 제3 손가락(F3)(526), 약지를 제4 손가락(F4)(528), 및 새끼손가락을 제5 손가락(F5)(530)으로 라벨링된다. 엄지두덩(thenar eminence)(532)은 손의 요골(radial)(제1 손가락(F1)(522)) 측 상의 변형가능한 재료로 이루어지는 볼록한 볼륨이다. 새끼두덩(hypothenar eminence)(534)은 손의 척골(ulnar)(제5 손가락(F5)(530)) 측 상의 변형가능한 재료로 이루어지는 볼록한 볼륨이다. 중수수지 패드(metacarpophalangeal pad; MCP 패드)(536)는 제2, 제3, 제4 및 제5 손가락(F2(524), F3(526), F4(528), F5(530))의 중수수지(손가락 밑부분의 손가락 관절) 관절의 내면(ventral)(손바닥) 측 상의 볼록한 변형가능한 볼륨이다. 변형가능한 손바닥(520)을 갖는 로봇 손(72)은 소프트한 인간형 피부를 갖는 외측 상에 글로브를 착용한다.
엄지두덩(532) 및 새끼두덩(534)은 함께, 로봇 팔로부터의 오브젝트에 대한 큰 힘의 인가가 로봇 손 관절에 최소 스트레스를 주도록(예를 들면, 밀방망이(rolling pin)의 상황), 작업 공간에서 이들 힘의 인가를 지원한다. 손바닥(520) 내의 여분의 관절 그 자체는 손바닥을 변형시키기 위해 이용가능하다. 손바닥(520)은, 요리사와 유사한 방식의 툴 파지를 위해, 경사 손바닥 홈(oblique palmar gutter)의 형성을 가능하게 하는 방식으로 변형되어야 한다. 손바닥(520)은, 도 9g의 커핑 자세(cupping posture(손바닥을 찻종 모양으로 만드는 자세); 542)에 의해 도시된 바와 같이, 요리사와 유사한 방식으로 식기 및 음식 재료와 같은 볼록한 오브젝트의 조화된 파지를 위해, 커핑을 가능하게 방식으로 변경되어야 한다.
이들 모션을 지원할 수도 있는 손바닥(520) 내의 관절은, 손목 근처의 손바닥의 요골 측 상에 위치된, 두 개의 별개의 모션의 방향(굴곡/폄(flexion/extension) 및 외전/내전(abduction/adduction))을 가질 수도 있는 엄지 수근중수골 관절(carpometacarpal joint; CMC)를 포함한다. 이들 모션을 지원하는 데 필요한 추가 관절은, 손목 근처의 손바닥의 척골 측 상의 관절(제4 손가락(F4)(528) 및 제5 손가락(F5)(530) CMC 관절)을 포함할 수도 있는데, 이들은 손바닥 홈의 형성 및 새끼두덩(534)에서의 커핑을 지원하기 위해 비스듬한 각도에서의 굴곡을 허용한다.
로봇 손바닥(520)은, 인간 요리사 모션에서 관찰되는 손바닥 형상을 복제하는 데 필요되는 바와 같은 추가적인/상이한 관절을 포함할 수도 있는데, 예를 들면, 도 9f에서 예시되는 바와 같이, 엄지손가락(F1)(522))이 새끼손가락(F5)(530)을 터치할 때와 같은, 엄지두덩(532)과 새끼두덩(534) 사이의 아치(540)의 형성을 지원하여 손바닥(520)을 변형시키기 위한 일련의 커플링된 플렉셔 관절(flexure joint)을 포함할 수도 있다.
손바닥이 커핑되면, 엄지두덩(532), 새끼두덩(534), 및 MCP 패드(536)는, 손바닥이 작은 구체 오브젝트(예를 들면, 2cm) 주위를 에워싸는 것을 가능하게 하는 융기부(ridge)를 손바닥 계곡(palmar valley) 주위에 형성한다.
변형가능한 손바닥의 형상은, 도 9h 및 도 9i에서 도시되는 바와 같이, 고정된 기준 프레임에 대한 피쳐 포인트(feature point)의 위치를 사용하여 설명될 것이다. 각각의 피쳐 포인트는 시간에 걸친 x, y, 및 z 좌표 위치로서 표현된다. 피쳐 포인트 위치는, 요리사에 의해 착용되는 감지용 글로브 상에 그리고 로봇에 의해 착용되는 감지용 글로브 상에 마킹된다. 도 9h 및 도 9i에서 예시되는 바와 같이, 글로브 상에서 기준 프레임도 또한 마킹된다. 피쳐 포인트는 기준 프레임의 위치를 기준으로 글로브 상에서 정의된다.
피쳐 포인트는, 요리사가 요리 태스크를 수행할 때 작업 공간에 장착된 캘리브레이팅된 카메라에 의해 측정된다. 시간에서의 피쳐 포인트의 궤적은, 변형가능한 손바닥의 형상을 매칭시키는 것을 포함해서, 요리사의 모션을 로봇의 모션과 매치시키기 위해 사용된다. 요리사의 모션으로부터의 피쳐 포인트의 궤적은 또한, 변형가능한 손바닥 표면의 형상 및 로봇 손의 관절의 배치 및 그 모션의 범위를 포함해서, 변형가능한 손바닥 설계를 로봇에게 통지하기 위해 사용될 수도 있다.
도 9h에서 묘사되는 바와 같은 실시형태에서, 새끼두덩(534), 엄지두덩(532), 및 MCP 패드(536)에 있는 피쳐 포인트는, 손바닥의 각각의 영역에서의 피쳐 포인트를 나타내는 마킹을 갖는 체크 패턴이다. 손목의 기준 프레임은, 기준 프레임으로서 식별가능한 네 개의 직사각형을 갖는다. 피쳐 포인트(또는 마커)는 기준 프레임에 대한 그들 각각의 위치에서 식별된다. 이 실시형태에서의 피쳐 포인트 및 기준 프레임은, 음식 안전을 위해 글로브 아래에서 구현될 수 있지만 검출을 위해 글로브를 통해 비칠 수 있다.
도 9h는, 3차원 형상의 피쳐 포인트(550)의 위치를 결정하기 위해 사용될 수도 있는, 시각적 패턴을 갖는 로봇 손을 도시한다. 이들 형상의 피쳐 포인트의 위치는, 손바닥 관절이 이동함에 따라 그리고 손바닥 표면이 인가된 힘에 응답하여 변형됨에 따라, 손바닥 표면의 형상에 관한 정보를 제공한다.
시각적 패턴은, 로봇 손 상의 또는 요리사에 의해 착용되는 글로브 상의 표면 마킹(552)으로 구성된다. 이들 표면 마킹은 음식 안전 투명 글로브(554)에 의해 피복되지만, 그러나 표면 마킹(552)은 글로브를 통해 여전히 보인다.
표면 마킹(552)이 카메라 이미지에서 보이는 경우, 2차원 피쳐 포인트는, 시각적 패턴 내의 볼록 또는 오목 코너를 위치결정하는 것에 의해, 그 카메라 이미지 내에서 식별될 수도 있다. 단일의 카메라 이미지에서의 각각의 이러한 코너는 2차원 피쳐 포인트이다.
동일한 피쳐 포인트가 다수의 카메라 이미지에서 식별되는 경우, 이 포인트의 3차원 위치는, 표준화된 로봇식 키친(50)에 대해 고정되는 좌표 프레임에서 결정될 수 있다. 이 계산은, 각각의 이미지에서의 포인트의 2차원 위치 및 기지의 카메라 파라미터(위치, 방위, 시야, 등등)에 기초하여 수행된다.
로봇 손(72)에 고정되는 기준 프레임(556)은, 기준 프레임 시각적 패턴을 사용하여 획득될 수 있다. 하나의 실시형태에서, 로봇 손(72)에 고정되는 기준 프레임(556)은 원래의 세 개의 수직 좌표축을 포함한다. 그것은, 다수의 카메라에서 기준 프레임의 시각 패턴의 피쳐를 위치결정하고, 기준 프레임 시각적 패턴의 기지의 파라미터 및 카메라의 기지의 파라미터를 사용하여 원래의 좌표축을 추출하는 것에 의해 식별된다.
음식 준비 스테이션의 좌표 프레임에서 표현되는 3차원 형상 피쳐 포인트는, 일단 로봇의 기준 프레임이 관찰되면, 기준 프레임으로 변환될 수 있다.
변형가능한 손바닥의 형상은 3차원 형상 피쳐 포인트의 벡터로 구성되는데, 이들 모두는 요리사 또는 로봇의 손에 고정되는 기준 좌표 프레임에서 표현된다.
도 9i에서 예시되는 바와 같이, 실시형태의 피쳐 포인트(560)는 상이한 영역(손바닥의 새끼두덩(534), 엄지두덩(532), 및 MCP 패드(536))에서 센서, 예컨대 홀 효과 센서에 의해 표현된다. 피쳐 포인트는, 이 구현예에서는 자석인 기준 프레임을 기준으로 하는 그들 각각의 위치에서 식별가능하다. 자석은, 센서에 의해 판독가능한 자기장을 생성한다. 센서는 이 실시형태에서 글로브 아래에 임베딩된다
도 9i는, 3차원 형상 피쳐 포인트의 위치를 결정하기 위한 대안적인 메커니즘으로서 사용될 수도 있는, 임베딩된 센서 및 하나 이상의 자석(562)을 갖는 로봇 손(72)을 도시한다. 하나의 형상의 피쳐 포인트는 각각의 임베딩된 센서와 관련된다. 이들 형상의 피쳐 포인트(560)의 위치는, 손바닥 관절이 이동함에 따라 그리고 손바닥 표면이 인가된 힘에 응답하여 변형됨에 따라, 손바닥 표면의 형상에 관한 정보를 제공한다.
형상 피쳐 포인트 위치는 센서 신호에 기초하여 결정된다. 센서는, 자석에 부착되는 기준 프레임에서의 거리의 계산을 허용하는 출력을 제공하는데, 자석은 다시금 로봇 또는 요리사의 손에 부착된다.
각각의 형상 피쳐 포인트의 3차원 위치는, 센서 측정치 및 센서 캘리브레이션으로부터 획득되는 기지의 파라미터에 기초하여 계산된다. 변형가능한 손바닥의 형상은 3차원 형상 피쳐 포인트의 벡터로 구성되는데, 이들 모두는 요리사 또는 로봇의 손에 고정되는 기준 좌표 프레임에서 표현된다. 인간 손에서의 공통 접촉 영역 및 파지시 기능에 관한 추가 정보에 대해서는, Kamakura, Noriko, Michiko Matsuo, Harumi Ishii, Fumiko Mitsuboshi, 및 Yoriko Miura로부터의 『"Patterns of static prehension in normal hands." American Journal of Occupational Therapy 34, no. 7 (1980): 437-445』를 참조하면 되는데, 이 참조문헌은 참조에 의해 그 전체가 본원에 통합된다.
도 10a는, 특정 레시피에 대한 음식 준비 프로세스 동안 요리사의 움직임을 기록하고 캡쳐하기 위한, 표준화된 로봇식 키친 환경(50)에서 요리사(49)가 착용하는 요리사 기록용 디바이스(chef recording device; 550)의 예를 예시하는 블록도이다. 요리사 기록용 디바이스(550)는, 하나 이상의 로봇 글로브(또는 로봇 의류)(26), 멀티모달 센서 유닛(20) 및 로봇 안경(552)을 포함하지만, 이들로 제한되지는 않는다. 요리사 스튜디오 시스템(44)에서, 요리사(49)는 요리용 로봇 안경(26)을 착용하여, 요리사의 요리하는 움직임을 기록, 및 캡쳐한다. 대안적으로, 요리사(49)는 단지 로봇 글로브(26) 대신 로봇 장갑을 갖춘 로봇 코스튬을 착용할 수도 있다. 하나의 실시형태에서, 로봇 글로브(26)는, 임베딩된 센서를 이용하여, 요리사의 팔, 손, 및 손가락 모션의 위치, 압력 및 다른 파라미터를 xyz 좌표 시스템에서 타임스탬프와 함께 캡쳐, 기록 및 저장한다. 로봇 글로브(26)는, 특정한 음식을 준비함에 있어서의 시작 시간에서부터 종료 시간까지의 시간 지속기간에 걸쳐 3차원 좌표 프레임에서의 요리사(18)의 팔 및 손가락의 위치 및 압력을 저장한다. 요리사(49)가 로봇 글로브(26)를 착용하면, 요리사 스튜디오 시스템(44)에서 음식을 준비함에 있어서의, 움직임, 손의 위치, 파지 모션, 및 가해지는 압력의 양 모두가 매 t초와 같은 주기적 시간 간격에서 정확하게 기록된다. 멀티모달 센서 유닛(들)(20)은 비디오 카메라, IR 카메라 및 거리 측정기(306), 입체(또는 심지어 3안의) 카메라(들)(308) 및 다차원 스캐닝 레이저(310)를 포함하고, (데이터 획득 및 필터링 모듈(314)에서 획득 및 필터링된 이후) 메인 소프트웨어 추상화 엔진(312)으로 다중 스펙트럼 센서류 데이터를 제공한다. 멀티모달 센서 유닛(20)은 3차원 표면 또는 텍스쳐를 생성하고, 추상 모델 데이터를 프로세싱한다. 그 데이터는 장면 이해 모듈(316)에서, 중첩된 시각적 및 IR 스펙트럼 컬러 및 텍스쳐 비디오 정보를 갖는, 장면의 고해상도 및 더 낮은 해상도(레이저: 고해상도; 입체 카메라: 더 낮은 해상도)의 3차원 표면 볼륨을 구축하는 것, 에지 검출 및 볼륨이 있는 오브젝트 검출 알고리즘이 장면에 어떤 엘리먼트가 있는지를 추론하는 것을 허용하는 것, 프로세싱된 정보를 키친 요리 프로세스 기기 핸들링 모듈(318)로 제공하기 위해 형상 매핑/컬러 매핑/텍스쳐 매핑 및 농도 매핑 알고리즘의 사용이, 프로세싱된 데이터에 대해 실행하는 것을 허용하는 것과 같은(그러나 이들로 제한되지는 않는) 다수의 단계를 실행하기 위해 사용된다. 옵션적으로, 로봇 글로브(76) 외에, 요리사(49)는 로봇 안경(552)을 착용할 수 있는데, 이것은 로봇 수화부(robot earpiece; 556) 및 마이크(558)를 갖는 프레임 주위에 하나 이상의 로봇 센서(554)를 구비한다. 로봇 안경(552)은, 음식을 요리하는 동안 요리사(49)가 보게 되는 이미지를 기록하고 비디오를 캡쳐하기 위한 카메라와 같은 캡쳐 성능 및 추가적인 비전을 제공한다. 하나 이상의 로봇 센서(554)는, 준비되고 있는 음식의 온도 및 냄새를 캡쳐하고 기록한다. 수화부(556) 및 마이크(558)는, 요리하는 동안 요리사(49)가 듣는 사운드를 캡쳐하고 기록하는데, 그 사운드는 인간 음성, 프라이, 그릴링, 그라인딩, 등등의 사운드 특성을 포함할 수도 있다. 요리사(49)는 또한, 수화부 및 마이크(82)를 사용하는 것에 의해, 음식 준비의 동시적 음성 명령 및 실시간 준비 단계를 기록할 수도 있다. 이와 관련하여, 요리사 로봇 레코더 디바이스(550)는, 특정한 음식에 대한 음식 준비 프로세스 동안 요리사의 움직임, 속도, 온도 및 사운드 파라미터를 기록한다.
도 10b는, 캡쳐된 요리사의 움직임을 로봇 포즈, 모션 및 힘으로 평가함에 있어서의 프로세스(560)의 하나의 실시형태를 예시하는 흐름도이다. 데이터베이스(561)는, 로봇 팔(72) 및 로봇 손(72)에 의한 미리 정의된(또는 미리 결정된) 파지 포즈(562) 및 미리 정의된 손 모션을 저장하는데, 이들은 중요도에 의해 가중치를 부여받고(564), 접촉 포인트로 라벨링되고(565), 접촉력(565)을 저장한다. 동작 567에서, 요리사 움직임 기록용 모듈(98)은, 미리 정의된 파지 포즈(562) 및 미리 정의된 손 모션(563)에 부분적으로 기초하여 음식을 준비함에 있어서의 요리사의 모션을 캡쳐하도록 구성된다. 동작 568에서, 로봇식 음식 준비 엔진(56)은, 로봇 장치 구성을, 포즈, 모션 및 힘을 달성하는, 그리고 미소 조작을 달성하는 그것의 능력에 대해 평가하도록 구성된다. 후속하여, 로봇 장치 구성은, 로봇 설계 파라미터(570)를 평가함에 있어서, 스코어 및 성능(571)을 개선하도록 설계 파라미터를 조정함에 있어서, 그리고 로봇 장치 구성(572)을 수정함에 있어서 반복적인 프로세스(569)를 받게 된다.
도 11은, 가정용 로봇식 키친(48)에서 표준화된 로봇식 키친 시스템(50)과 함께 사용하기 위한 로봇 팔(70)의 측면도의 하나의 실시형태를 예시하는 블록도이다. 다른 실시형태에서, 표준화된 로봇식 키친(50)에서의 동작을 위해, 로봇 팔(70) 중 하나 이상, 예컨대 하나의 팔, 두 개의 팔, 세 개의 팔, 네 개의 팔, 또는 그 이상이 설계될 수 있다. 음식 준비 동안의 요리사의 팔, 손, 및 손가락 움직임을 저장하는, 요리사 스튜디오 시스템(44)으로부터의 하나 이상의 소프트웨어 레시피 파일(46)은 업로드되어, 요리사가 준비했던 음식을 준비하기 위한 요리사의 움직임을 에뮬레이팅하도록 하나 이상의 로봇 팔(70) 및 하나 이상의 로봇 손(72)을 제어하기 위한 로봇 명령어로 변환될 수 있다. 로봇 명령어는, 동일한 음식을 준비함에 있어서 요리사의 정확한 움직임을 복제하도록 로봇 장치를 제어한다. 로봇 팔(70)의 각각 및 로봇 손(72)의 각각은 또한 추가적인 피쳐 및 툴, 예컨대 음식 준비 프로세스를 달성하기 위한 나이프, 포크, 스푼, 주걱, 다른 타입의 유텐실, 또는 음식 준비 기구를 포함할 수도 있다.
도 12a 내지 도 12c는, 손바닥(520)을 갖는 로봇 손(72)과 함께 사용하기 위한 키친 핸들(580)의 하나의 실시형태를 예시하는 블록도이다. 키친 핸들(580)의 설계는, 동일한 키친 핸들(580)이 임의의 타입의 키친 유텐실 또는 툴, 예를 들면, 나이프, 주걱, 스키머(skimmer), 국자(ladle), 건지개(draining spoon), 뒤집개(turner), 등등에 부착할 수 있게끔, 범용적이도록(또는 표준화되도록) 의도된다. 키친 핸들(580)의 상이한 사시도가 도 12a 및 도 12b에서 도시된다. 로봇 손(72)은 도 12c에서 도시되는 바와 같이 키친 핸들(580)을 꽉 쥔다. 본 발명의 취지를 벗어나지 않으면서, 다른 타입의 표준화된(또는 범용의) 키친 핸들이 설계될 수도 있다.
도 13은, 촉각 센서(602) 및 분산형 압력 센서(604)를 갖는 예시적인 로봇 손(600)을 예시하는 도해적 도면이다. 음식 준비 프로세스 동안, 로봇 장치는, 로봇이 단계별 움직임을 복제하고 감지된 값을 유리사의 스튜디오 요리용 프로그램의 촉각 프로파일과 비교할 때, 힘, 온도, 습도 및 유독성을 검출하기 위해, 로봇의 손의 손바닥 및 손가락 끝에 있는 센서에 의해 생성되는 터치 신호를 사용한다. 시각적 센서는 로봇이 주변상황을 식별하고 적절한 요리 액션을 취하는 것을 돕는다. 로봇 장치는 시각적 센서로부터의 당면한 환경의 이미지를 분석하고 그것을 요리사의 스튜디오 요리용 프로그램의 저장된 이미지와 비교하고, 그 결과, 동일한 결과를 달성하도록 적절한 움직임이 이루어지게 된다. 로봇 장치는 또한, 요리사의 명령하는 스피치를, 음식 준비 프로세스로부터의 배경 노이즈에 비교하여 요리 동안의 인식 성능을 향상시키기 위해, 상이한 마이크를 사용한다. 옵션적으로, 로봇은, 냄새 또는 향기 및 주변 온도를 검출하기 위해 전자 코(도시되지 않음)를 사용할 수도 있다. 예를 들면, 로봇 손(600)은, 손가락 및 손바닥에 있는 햅틱 센서에 의해 생성되는 표면 텍스쳐, 온도 및 무게 신호에 의해 실제 계란을 구별할 수 있고, 따라서 계란을 깨지 않고 그것을 잡기 위한 적절한 양의 힘을 적용할 수 있을 뿐만 아니라, 흔들기 및 출렁거림(sloshing) 듣기, 계란 깨기 및 노른자 및 흰자의 관찰 및 냄새 맡기에 의해 품질 체크를 수행하여 신선도를 결정할 수 있다. 그 다음, 로봇 손(600)은 불량 계란을 폐기하거나 신선한 계란을 선택하는 액션을 취할 수도 있다. 손, 팔, 및 헤드에 있는 센서(602 및 604)는, 외부 피드백을 사용하여 음식 준비 프로세스를 실행하도록 그리고 음식 준비에서 요리사의 스튜디오 요리 결과에 동일한 결과를 획득하도록, 로봇이 이동하는 것, 터치하는 것, 보는 것 및 듣는 것을 가능하게 한다.
도 14는, (표준화된 로봇식 키친(50)에서 요리사(49)가 착용할) 감지용 코스튬(620)의 한 예를 예시하는 도해적 도면이다. 음식의 음식 준비 동안, 소프트웨어 파일(46)에 의해 기록될 때, 요리사(49)는 실시간의 요리사의 음식 준비 움직임을 시간 시퀀스로 캡쳐하기 위해 감지용 코스튬(620)을 착용한다. 감지용 코스튬(620)은, 햅틱 수트(622)(팔과 손 길이 전체의 하나의 의상으로 도시됨), 햅틱 글로브(624), 멀티모달 센서(들)(626), 헤드 코스튬(628)을 포함할 수도 있지만, 이들로 제한되지는 않는다. 센서를 갖는 햅틱 수트(622)는, XYZ 좌표 시스템에서의 인간 팔(70) 및 손/손가락(72)의 xyz 좌표 위치 및 압력을 타임스탬프와 함께 기록하기 위해, 요리사의 움직임으로부터 데이터를 캡쳐할 수 있고 캡쳐된 데이터를 컴퓨터(16)로 전송할 수 있다. 감지용 코스튬(620)은 또한, 기하학적 센서(레이저 센서, 3D 입체 센서, 또는 비디오 센서)를 갖는 표준화된 로봇식 키친(50)에서의 상대적인 위치와 상관시키기 위한 로봇 좌표 프레임에서의 인간 팔(70) 및 손/손가락(72)의 위치, 속도 및 힘/토크와 끝점 접촉 거동을 시스템 시간스탬프와 함께 감지하고 컴퓨터(16)는 이들을 기록하고, 이들을 시스템 타임스탬프와 관련시킨다. 센서를 갖는 햅틱 글로브(624)는, 글로브(624)의 촉각 센서에 의해 검출되는 힘 신호, 온도 신호, 습도 신호, 및 유독성 신호를 캡쳐하고, 기록하고 그리고 저장하기 위해 사용된다. 헤드 코스튬(628)은, 비전 카메라, 소나, 레이저, 또는 무선 주파수 식별(RFID)을 갖는 피드백 디바이스 및 음식 준비 프로세스 동안 요리사(48)가 관찰하는 이미지를 기록하고 저장하기 위한 컴퓨터(16)로, 캡쳐된 데이터를 감지, 캡쳐, 및 전송하기 위해 사용되는 커스텀 안경을 포함한다. 게다가, 헤드 코스튬(628)은 또한 표준화된 로봇식 키친(50)에서의 주변 온도 및 냄새 징후를 검출하기 위한 센서를 포함한다. 더구나, 헤드 코스튬(628)은 또한, 요리사(49)가 듣는 오디오, 예컨대 프라이, 그라인딩, 차핑, 등등의 사운드 특성을 캡쳐하기 위한 오디오 센서를 포함한다.
도 15a 및 도 15b는, 요리사(49)에 의한 음식 준비에 대한 센서를 갖는 세 손가락의 햅틱 글로브(630)의 하나의 실시형태 및 센서를 갖는 세 손가락의 로봇 손(640)의 한 예를 예시하는 도해적 도면이다. 본원에서 예시되는 실시형태는, 음식 준비를 위해 다섯 개보다 적은 손가락을 갖는 단순화된 손(640)을 나타낸다. 상응하여, 단순화된 로봇 손(640)의 설계에서의 복잡도는 상당히 감소될 뿐만 아니라, 단순화된 로봇 손(640)을 제조하기 위한 비용도 상당히 감소할 것이다. 대향하는 엄지손가락이 있는 또는 없는 두 손가락 그리퍼 또는 네 손가락 로봇 손도, 역시 가능한 대안적인 구현예이다. 이 실시형태에서, 요리사의 손 움직임은 세 손가락인 엄지손가락, 검지 및 중지의 기능성에 의해 제한되는데, 이 경우, 각각의 손가락은, 힘, 온도, 습도, 유독성 또는 촉각적 감각과 관련하여 요리사의 움직임의 데이터를 감지하기 위한 센서(632)를 구비한다. 세 손가락 햅틱 글로브(630)는 또한, 세 손가락 햅틱 글로브(630)의 손바닥 영역에 포인트 센서 또는 분산형 압력 센서를 포함한다. 엄지손가락, 검지, 및 중지를 사용하여 세 손가락 햅틱 글로브(630)를 착용한 상태에서 음식을 준비함에 있어서의 요리사의 움직임은 소프트웨어 파일에 기록된다. 후속하여, 세 손가락의 로봇 손(640)은, 로봇 손(640)의 손가락 상의 센서(642b) 및 손바닥 상의 센서(644)를 모니터링하면서, 로봇 손(640)의 엄지손가락, 검지 및 중지를 제어하기 위한 로봇 명령어로 변환된 소프트웨어 레시피 파일로부터 요리사의 움직임을 복제한다. 센서(642)는 힘 센서, 온도 센서, 습도 센서, 유독성 센서 또는 촉각 센서를 포함하고, 한편 센서(644)는 포인트 센서 또는 분산형 압력 센서를 가지고 구현될 수 있다.
도 16은, 미소 조작 라이브러리 데이터베이스의 생성 모듈(creation module)(650) 및 미소 조작 라이브러리 데이터베이스의 실행 모듈(660)을 예시하는 블록도이다. 미소 조작 데이터베이스 라이브러리의 생성 모듈(60)은, 여러 가지 가능한 조합을 생성 및 테스트하고, 특정한 기능적 결과를 달성하는 최적의 미소 조작을 선택하는 프로세스이다. 생성 모듈(60)의 하나의 목적은, 특정한 미소 조작을 수행함에 있어서 모든 상이하고 가능한 조합을 조사하여, 음식을 준비함에 있어서 로봇 팔(70) 및 로봇 손(72)에 의한 후속 실행을 위한 최적의 미소 조작의 라이브러리를 미리 정의하는 것이다. 미소 조작 라이브러리의 생성 모듈(650)은, 로봇 팔(70) 및 로봇 손(72)이 미소 조작 라이브러리 데이터베이스로부터 상이한 음식 준비 기능에 관해 학습하기 위한 교수 방법(teaching method)으로서 또한 사용될 수 있다. 미소 조작 라이브러리 데이터베이스의 실행 모듈(660)은, 음식 준비의 프로세스 동안, 제1 기능적 성과(662)를 갖는 제1 미소 조작(MM1), 제2 기능적 성과(664)를 갖는 제2 미소 조작(MM2), 제3 기능적 성과(666)를 갖는 제3 미소 조작(MM3), 제4 기능적 성과(668)를 갖는 제4 미소 조작(MM4), 및 제5 기능적 성과(670)를 갖는 제5 미소 조작(MM5)을 포함하는 미소 조작 라이브러리 데이터베이스로부터 로봇 장치(75)가 액세스할 수 있고 실행할 수 있는 미소 조작 기능의 범위를 제공하도록 구성된다.
일반화된 미소 조작: 일반화된 미소 조작은, 예상된 기능적 성과를 갖는 감지 및 액추에이터 액션의 잘 정의된 시퀀스를 포함한다. 각각의 미소 조작과 관련하여, 사전조건의 세트 및 사후조건의 세트를 갖는다. 사전조건은, 미소 조작이 발생하는 것을 가능하게 하기 위해, 세상 상태(world state)에서 참이어야 하는 것을 주장한다. 사후조건은 미소 조작에 의해 초래되는 세상 상태에 대한 변화이다.
예를 들면, 작은 오브젝트를 움켜잡기 위한 미소 조작은, 그 오브젝트의 위치 및 방위를 관찰하는 것, 로봇 손(그리퍼(gripper))을 오브젝트의 포지션과 정렬하기 위해 그것을 이동시키는 것, 오브젝트의 무게 및 강성(rigidity)에 기초하여 필수적인 힘을 인가하는 것, 및 팔을 위로 움직이는 것을 포함할 것이다.
이 예에서, 사전조건은, 움켜잡을 수 있는 오브젝트를 로봇 손의 도달 거리(reach) 내에 위치시키는 것, 및 그것의 무게가 팔의 들어올림 성능 내에 있는 것을 포함한다. 사후 조건은, 오브젝트가 이전에 발견되었던 표면에 더 이상 기대지 않고, 이제는, 로봇의 손에 의해 유지되는 것이다.
더 일반적으로는, 일반화된 미소 조작 M은 삼중 쌍 <PRE, ACT, POST>을 포함하는데, 여기서 PRE = {s1, s2, ..., sn}는, 액션 ACT = [a1, a2, ..., ak]가 발생할 수 있기 이전에 참이어야 하고, POST = {p1, p2, ..., pm}로서 표기되는 세상 상태에 대한 변화의 세트로 귀결되어야 하는 세상 상태에서의 아이템의 세트이다. 대괄호 []는 시퀀스를 의미하고, 중괄호 {}는 순서가 없는 세트를 의미한다는 것을 유의한다. 각각의 사후조건은, 성과가 소정치 미만인 경우, 확률을 또한 가질 수도 있다. 예를 들면, 계란을 움켜잡기 위한 미소 조작은, 계란이 로봇의 손에 있을 0.99 확률을 가질 수도 있다(나머지 0.01 확률은 계란을 움켜지려고 시도하는 동안 실수로 계란을 깨트리는 것, 또는 다른 원치 않는 결과에 대응할 수도 있다).
더욱 더 일반적으로, 미소 조작은 자신의 액션의 시퀀스에, 단지 원자적인 또는 기본적인 로봇 감지 또는 작동 대신, 다른 (더 작은) 미소 조작을 포함할 수 있다. 이러한 경우, 미소 조작은 시퀀스: ACT = [a1, m2, m3, ..., ak]를 포함할 것인데, 여기서 "a들"에 의해 표기되는 기본 액션은 "m들"에 의해 표기되는 미소 조작을 가지고 산재된다. 이러한 경우, 사후조건 세트는, 자신의 기본 액션에 대한 사전조건의 합집합과 자신의 하위 미소 조작(sub-minimanipulation) 전체의 사전조건의 합집합에 의해 충족될 것이다.
Figure pat00014
일반화된 미소 조작의 사후조건은 유사한 방식으로 결정될 것인데, 즉:
Figure pat00015
이다.
중요한 것은, 사전조건 및 사후조건이, 단지 수학적 심볼인 대신, 물리적 세상의 특정한 양태(위치, 방위, 무게, 형상, 등등)를 가리킨다는 것이다. 다시 말하면, 미소 조작의 선택 및 조립을 구현하는 소프트웨어 및 알고리즘은 로봇 기계류(machinery)에 직접적인 영향을 미치고, 이것은 결국에는 물리적 세상에 직접적인 영향을 미친다.
하나의 실시형태에서, 일반화된 것이든 또는 기본적이든 간에, 미소 조작의 임계 성능을 명시할 때, 측정은 POST 조건에 대해 수행되고, 실제 결과를 최적의 결과에 비교한다. 예를 들면, 조립의 태스크에서, 한 부품이 자신의 소망의 방위 및 위치의 1% 이내에 배치되고 성능의 임계치가 2%였던 경우, 미소 조작은 성공적이다. 마찬가지로, 상기 예에서 임계치가 0.5%였던 경우, 미소 조작은 실패이다.
다른 실시형태에서, 미소 조작에 대한 임계 성능을 명시하는 대신, POST 조건의 파라미터에 대해 허용가능한 범위가 정의되고, 미소 조작은, 미소 조작을 실행한 이후 결과적으로 나타나는 파라미터의 값이 명시된 범위 내에 있으면 성공적이다. 이들 범위는 태스크 종속적이며 각각의 태스크에 대해 명시된다. 예를 들면, 조립 태스크에서, 한 부품의 포지션이, 다른 부품의 0과 2 밀리미터 사이와 같은 어떤 범위(또는 허용오차) 내에서 지정될 수도 있고, 미소 조작은, 그 부품의 최종 위치가 그 범위 내에 있으면 성공적이다.
제3 실시형태에서, 미소 조작은, 그것의 POST 조건이, 로봇 태스크에서의 다음 번 미소 조작의 PRE 조건과 매치하는 경우, 성공적이다. 예를 들면, 하나의 미소 조작의 조립 태스크에서의 POST 조건이 이전에 배치된 부품으로부터 1 밀리미터 떨어져 신규의 부품을 배치하고 다음 번 미소 조작(예를 들면, 용접)이, 부품이 2 밀리미터 이내에 있어야 한다는 것을 명시하는 PRE 조건을 가지면, 제1 미소 조작은 성공적이었다.
일반적으로, 미소 조작 라이브러리에 저장되는, 기본적인 그리고 일반화된 모든 미소 조작에 대한 바람직한 실시형태는, 이들이 예상되는 환경에서 성공적으로 수행되어야 하도록 설계, 프로그래밍 및 테스트되었다.
미소 조작을 포함하는 태스크: 로봇 태스크는 하나 또는 (통상적으로) 다수의 미소 조작으로 구성된다. 이들 미소 조작은 순차적으로, 병렬로, 또는 부분적인 순서를 고수하면서 실행될 수도 있다. "순차적으로"는, 후속하는 단계가 시작하기 이전에 각각의 단계가 완료된다는 것을 의미한다. "병렬로"는, 로봇 디바이스가 단계를 동시적으로 또는 임의의 순서로 실행할 수 있다는 것을 의미한다. "부분적 순서"는, 몇몇 단계 - 그 몇몇 단계는 부분적인 순서로 명시됨 - 가 순서대로 수행되어야 하고 나머지는, 그 부분적인 순서에서 명시되는 단계 이전에, 이후에, 또는 동안에 실행될 수 있다는 것을 의미한다. 부분적인 순서는 표준 수학적 의미에서 단계 S 및 단계 i가 단계 j 이전에 실행되어야 한다는 것을 의미하는 단계 중 일부 사이에서의 순서 제약(ordering constraint) si -> sj의 세트로서 정의된다. 이들 단계는 미소 조작 또는 미소 조작의 조합일 수 있다. 로봇 요리사의 경우에, 두 개의 재료가 보울에 넣어져서 혼합되어야 한다면. 각각의 재료는 혼합 이전에 보울에 넣어져야 한다는 순서 제약이 존재하지만, 어떤 재료가 믹싱 보울에 먼저 넣어져야 하는지에 대해서는 순서 제약이 존재하지 않는다.
도 17a는, 음식을 준비하는 동안, 요리사의 움직임을 감지하고 캡쳐하기 위해 요리사(49)에 의해 사용되는 감지용 글로브(680)를 예시하는 블록도이다. 감지용 글로브(680)는, 손가락의 각각에 있는 복수의 센서(682a, 682b, 682c, 682d, 682e), 및 감지용 글로브(680)의 손바닥에 있는 복수의 센서(682f, 682g)를 구비한다. 하나의 실시형태에서, 소프트 글로브의 내부의 적어도 5개의 압력 센서(682a, 682b, 682c, 682d, 682e)는 모든 손 조작 동안 요리사의 움직임을 캡쳐하여 분석하기 위해 사용된다. 이 실시형태에서의 복수의 센서(682a, 682b, 682c, 682d, 682e, 682f, 682g)는 감지용 글로브(680)에 임베딩되지만, 외부 감지를 위해, 감지용 글로브(680)의 재료에 투명하다. 감지용 글로브(680)는, 감지용 글로브(680)에서의 다양한 더 높고 더 낮은 포인트의 손 곡률(또는 고저)를 반영하는, 복수의 센서(682a, 682b, 682c, 682d, 682e, 682f, 682g)와 관련되는 피쳐 포인트를 구비할 수도 있다. 로봇 손(72) 위에 배치되는 감지용 글로브(680)는, 인간 피부의 형상 및 컴플라이언스(compliance)를 에뮬레이팅하는 소프트 재료로 만들어진다. 로봇 손(72)에 대해 상세히 설명하는 추가 설명은 도 9a에서 발견될 수 있다.
로봇 손(72)은, 오브젝트의 거리 및 형상뿐만 아니라, 오브젝트의 거리를 검출하기 위한, 그리고 키친 툴을 핸들링하기 위한, 손바닥의 중앙에 또는 그 근처에 배치되는 카메라 센서(684), 예컨대 RGB-D 센서, 이미징 센서 또는 시각적 감지 디바이스를 포함한다. 이미징 센서(682f)는 로봇 손(72)을 오브젝트의 방향을 향해 이동함에 있어서 그리고 오브젝트를 잡기 위한 필요한 보정을 행하기 위해 로봇 손(72)에게 안내를 제공한다. 게다가, 오브젝트의 거리 및 형상을 검출하기 위한 소나 센서, 예컨대 촉각 압력 센서가 로봇 손(72)의 손바닥 근처에 배치될 수도 있다. 소나 센서(682f)도 또한, 오브젝트를 향해 이동하도록 로봇 손(72)을 가이드할 수 있다. 소나 센서(682a, 682b, 682c, 682d, 682e, 682f, 682g)의 각각은 초음파 센서, 레이저, 무선 주파수 식별(RFID), 및 다른 적절한 센서를 포함한다. 게다가, 소나 센서(682a, 682b, 682c, 682d, 682e, 682f, 682g)의 각각은, 오브젝트를 잡아서 집어 들기에 충분한 압력이 존재하는 어떤 포인트에서 오브젝트를 파지하기 위해 로봇 손(72)이 추가적인 압력을 계속 가할지의 여부를 결정하기 위해 피드백 메커니즘으로서 기능한다. 게다가, 로봇 손(72)의 손바닥의 소나 센서(682f)는, 키친 툴을 핸들링하기 위한 촉각 감지 기능을 제공한다. 예를 들면, 로봇 손(72)이 소고기를 컷팅하기 위해 나이프를 잡는 경우, 로봇 손(72)이 나이프에 가하는 그리고 소고기에 인가하는 압력의 양은, 나이프가 소고기 썰기를 마친 경우에, 즉 나이프가 저항을 갖지 않는 때를 촉각 센서가 검출하는 것을 허용한다. 분산된 압력은 오브젝트를 고정시킬뿐만 아니라, 너무 많은 압력을 가하지 않기 위한 것이다, 예를 들면, 계란을 깨지 않기 위한 것이다. 더구나, 로봇 손(72)의 각각의 손가락은, 엄지손가락의 손가락 끝의 제1 센서(682a), 검지의 손가락 끝의 제2 센서(682b), 중지의 손가락 끝의 제3 센서(682c), 약지의 손가락 끝의 제4 센서(682d), 및 새끼손가락의 손가락 끝의 제5 센서(682f)에 의해 나타내어지는 바와 같이, 손가락 끝에 센서를 구비한다. 소나 센서(682a, 682b, 682c, 682d, 682e)의 각각은 오브젝트의 거리 및 형상에 대한 감지 성능, 온도 또는 습도에 대한 감지 성능뿐만 아니라 촉각 피드백 성능을 제공한다.
각각의 손가락의 손가락 끝에 있는 소나 센서(682a, 682b, 682c, 682d, 682e) 외에, 손바닥의 RGB-D 센서(684) 및 소나 센서(682f)는, 표준화되지 않은 오브젝트, 또는 표준화되지 않은 키친 툴을 잡기 위한 수단으로서의 로봇 손(72)에 피드백을 제공한다. 로봇 손(72)은 표준화되지 않은 오브젝트를 잡기에 충분한 정도까지 압력을 조정할 수도 있다. 특정한 잡기 기능을 수행함에 있어서 특정한 시간 간격 동안 로봇 손(72)이 인출할 수 있는 샘플 잡기 기능(692, 694, 696)을 그 특정한 시간 간격에 따라 저장하는 프로그램 라이브러리(690)가 도 17b에서 예시된다. 도 17b는, 표준화된 로봇식 키친 모듈(50)에서의 표준화된 동작 움직임의 라이브러리 데이터베이스(690)를 예시하는 블록도이다. 라이브러리 데이터베이스(690)에서 미리 정의되어 저장되는 표준화된 동작 움직임은, 키친 툴 또는 키친 기기의 일부를 잡는 것, 배치하는 것, 및 동작시키는 것을 포함한다.
도 18a는, 로봇 손(72)의 각각이 인공의 인간형 소프트 스킨 글로브(700)로 코팅되어 있는 것을 예시하는 그래픽 도면이다. 인공의 인간형 소프트 스킨 글로브(700)는, 로봇 손(72)이 하이 레벨의 미소 조작을 수행하기에 충분하고 투명한 복수의 임베딩된 센서를 포함한다. 하나의 실시형태에서, 소프트 스킨 글로브(700)는 요리사의 손 움직임을 복제하기 위해 10개 또는 그 이상의 센서를 포함한다.
도 18b는, 라이브러리 데이터베이스(720)에서 미리 정의되어 저장되어 있는 미소 조작의 라이브러리 데이터베이스(720)에 기초하여 하이 레벨의 미소 조작을 실행하기 위한, 인공의 인간형 스킨 글로브로 코팅되어 있는 로봇 손을 예시하는 블록도이다. 하이 레벨의 미소 조작은, 상호작용 움직임 및 상호작용 힘의 실질적인 양 및 그것을 통한 제어를 규정하는 액션 프리미티브의 시퀀스를 가리킨다. 데이터베이스 라이브러리(720)에 저장되어 있는 미소 조작의 세 개의 예가 제공된다. 미소 조작의 제1 예는, 로봇 손(72)의 쌍을 사용하여 도우(dough; 722)를 반죽하는 것이다. 미소 조작의 제2 예는, 로봇 손(72)의 쌍을 사용하여 라비올리(ravioli; 724)를 만드는 것이다. 미소 조작의 제3 예는, 로봇 손(72)의 쌍을 사용하여 스시를 만드는 것이다. 미소 조작의 세 개의 예의 각각은, 컴퓨터(16)에 의해 추적되는 시간 지속기간 및 속도 곡선을 갖는다.
도 18c는, 소망의 목표 상태로 나타나게 되는 로봇 팔(70) 및 로봇 손(72) 모션 및 힘의 연속적인 궤적을 갖는 음식 준비를 위한 조작 액션의 세 타입의 분류법(taxonomy)을 예시하는 그래픽 도면이다. 로봇 팔(70) 및 로봇 손(72)은, 힘이 드는 상호작용(forceful interaction)에 대한 필요 없이, 확고한 파지를 통해 오브젝트를 집어 들고 그들을 목표 위치로 전달하기 위한 엄밀한 파지 및 전달(730) 움직임을 실행한다. 엄밀한 파지 및 전달의 예는, 팬을 스토브 상에 놓는 것, 소금 쉐이커를 집어드는 것, 소금을 요리 위로 뿌리는 것, 양념을 보울에 넣는 것, 내용물을 컨테이너 밖으로 쏟아 붓는 것, 샐러드를 버무리는 것, 팬케이크를 뒤집는 것을 포함한다. 로봇 팔(70) 및 로봇 손(72)은, 두 표면 또는 오브젝트 사이에 힘이 드는 접촉이 존재하는 경우, 힘이 드는 상호작용(732)을 갖는 엄격한 파지를 실행한다. 힘이 드는 상호작용을 갖는 엄격한 파지의 예는, 냄비 젓기, 박스 열기, 및 팬 뒤집기(turning a pan), 및 도마(cutting board)로부터 팬 안으로 아이템을 쓸어 넣는 것을 포함한다. 로봇 팔(70) 및 로봇 손(72)은, 두 표면 또는 오브젝트 사이에, 두 표면 중 하나의 변형으로 귀결되는 힘이 드는 접촉, 예컨대 당근 컷팅하기, 계란 깨기, 또는 도우 밀기(rolling dough)이 존재하는 경우, 변형(734)을 갖는 힘이 드는 상호작용을 실행한다. 인간 손의 기능, 인간 손바닥의 변형, 및 파지함에 있어서의 그 기능에 대한 추가적인 정보에 대해서는, 『I. A. Kapandji, "The Physiology of the Joints, Volume 1: Upper Limb, 6e," Churchill Livingstone, 6 edition, 2007』로부터의 자료를 참조하면 되는데, 이 참조문헌은 참조에 의해 그 전체가 본원에 통합된다.
도 18d는, 도우 반죽(740)에 있어서의 음식 준비를 위한 조작 액션의 분류법 상에서의 하나의 실시형태를 예시하는 단순화된 흐름도이다. 도우 반죽(740)은, 미소 조작의 라이브러리 데이터베이스에서 이미 미리 정의되어 있는 미소 조작일 수도 있다. 도우 반죽(740)의 프로세스는, 도우 파지(742), 도우를 표면 상에 두기(744), 소망의 형상을 획득할 때까지 반죽 액션을 반복하기(746)를 비롯한 액션의 시퀀스(또는 간략히 미소 소작)를 포함한다.
도 18e는, 로봇 팔(70)과 로봇 손(72) 사이의 인터플레이 및 상호작용의 하나의 예를 예시하는 블록도이다. 순응성(compliant) 로봇 팔(750)이 더 작은 페이로드, 더 높은 안전성, 더 원활한 액션을 제공하지만, 덜 정밀하다. 의인화된(anthropomorphic) 로봇 손(752)이, 인간이 사용하는 툴(human tool)을 핸들링할 수 있는 능숙함을 제공하고, 사람 손 모션을 재목표화하는 것이 더 쉽고, 더 순응적이지만, 설계는 더 많은 복잡성, 무게에서의 증가, 및 더 많은 생산 비용을 필요로 한다. 간단한 로봇 손(754)은 무게가 더 가볍고, 덜 비싸고, 더 낮은 숙련도를 가지지만, 인간이 사용하는 툴을 직접적으로 사용할 수 없다. 산업용 로봇 팔(industrial robotic arm; 756)은 더 높은 페이로드 용량과 함께 더 정확하지만, 일반적으로, 주변 인간에게 안전한 것으로 간주되지 않으며 잠재적으로는 많은 양의 힘을 가하여 해를 야기할 수 있다. 표준화된 로봇식 키친(50)의 하나의 실시형태는, 의인화된 손(752)을 갖는 순응성 팔(750)의 제1 조합을 활용하는 것이다. 다른 세 개의 조합은 본 발명의 구현에 대해 일반적으로 덜 바람직하다.
도 18f는, 커스텀 쿡웨어 헤드에 부착될 표준화된 키친 핸들(580)을 사용하는 로봇 손(72) 및 키친 웨어에 고정가능한 로봇 팔(70)을 예시하는 블록도이다. 키친 웨어를 잡기 위한 하나의 기술에서, 로봇 손(72)은, 760a, 760b, 760c, 760d, 760e 중에서의 예시된 선택사항(choice), 및 다른 것으로부터의 커스텀 쿡웨어 헤드 중 임의의 하나에 부착하기 위한 표준화된 키친 툴(580)을 잡는다. 예를 들면, 표준화된 키친 핸들(580)은 팬의 재료를 볶기(stir-fry) 위해 사용하기 위한 커스텀 주걱 헤드(760e)에 부착된다. 하나의 실시형태에서, 표준화된 키친 핸들(580)은 단지 하나의 위치에서 로봇 손(72)에 의해 유지될 수 있는데, 그 하나의 위치는 표준화된 키친 핸들(580)을 유지하기 위한 상이한 방식에서의 잠재적인 혼동을 최소화한다. 키친 웨어를 잡기 위한 다른 기술에서, 로봇 팔은 키친 웨어(762)에 고정가능한 하나 이상의 홀더(762)를 구비하는데, 이 경우 로봇 팔(70)은, 로봇 손 동작 동안 키친 웨어(762)에 압력을 가함에 있어서 필요하다면 더 많은 힘을 가할 수 있다.
도 19는, "나이프로 계란 깨기"로 귀결되는 미소 소작의 데이터베이스 라이브러리 구조(770)의 한 예를 예시하는 블록도이다. 계란 깨기의 미소 조작(770)은: 올바른 위치에서 계란을 어떻게 유지할지(772), 계란을 기준으로 나이프를 어떻게 유지할지(774), 나이프로 계란을 치기에 최적의 각도가 무엇인지(776), 그리고 및 깨진 계란을 어떻게 열지(778)를 포함한다. 특정한 움직임을 실행하기 위한 최상의 방식을 찾기 위해, 각각의 772, 774, 776, 및 778에 대한 다양한 가능한 파라미터가 테스트된다. 예를 들면, 계란 유지하기(772)에서, 계란을 유지하기 위한 최적의 방식을 찾기 위해, 계란을 유지하기 위한 상이한 위치, 방위 및 방식이 테스트된다. 둘째, 로봇 손(72)은 미리 결정된 위치에서 나이프를 집어든다. 나이프 유지(774)는, 나이프를 핸들링하기 위한 최적의 방식을 찾기 위해, 나이프를 유지하기 위한 상이한 위치, 방위, 및 방식에 관해서, 조사된다. 셋째, 나이프로 계란 치기(776), 나이프로 계란을 취기 위한 최상의 방식을 찾기 위해 계란에 나이프를 충돌시키는 다양한 조합에 대해 또한 테스트된다. 결과적으로, 나이프로 계란 깨기의 미소 조작(770)을 실행하기 위한 최적의 방식은 미소 조작의 라이브러리 데이터베이스에 저장된다. 나이프로 계란 깨기의 저장된 미소 조작(770)은, 계란을 유지하기 위한 최상의 방식(772), 나이프를 유지하기 위한 최상의 방식(774), 및 나이프를 계란과 충돌시키기 위한 최상의 방식(776)을 포함할 것이다.
나이프로 계란 깨기로 귀결되는 미소 조작을 생성하기 위해, 소망의 기능적 결과 - 계란이 깨지는 것 - 가 달성되는 것을 보장하는 파라미터의 세트를 식별하도록, 다수의 파라미터 조합이 테스트되어야만 한다. 이 예에서, 파라미터는, 계란을 깨지 않도록 하는 방식으로 계란을 파지하고 유지하는 법을 결정하도록 식별된다. 적절한 나이프는 테스팅을 통해 선택되고, 나이프가 치기(striking)용으로 유지될 수도 있도록 손가락과 손바닥에 대해 적절한 배치가 발견된다. 계란을 성공적으로 깰 치기 모션이 식별된다. 깨진 계란이 성공적으로 열리는 것을 허용하는 열기 모션(opening motion) 및/또는 힘이 식별된다.
로봇 장치에 대한 교수/학습 프로세스는, 소망의 최종 기능적 결과를 달성하기 위한 필요한 파라미터를 식별하기 위해 다수의 그리고 반복적인 테스트를 수반한다.
이들 테스트는 다양한 시나리오에 걸쳐 수행될 수도 있다. 예를 들면, 계란의 사이즈는 변할 수 있다. 깨질 위치가 변할 수 있다. 나이프는 상이한 위치에 있을 수도 있다. 미소 조작은 이들 가변적인 상황의 모두에서 성공해야만 한다.
일단 학습 프로세스가 완료되면, 결과는, 소망의 기능적 결과를 달성하는 것으로 알려져 있는 액션 프리미티브와 함께 집합체로서 저장된다.
도 20은, 실시간 조정을 갖는 미소 조작에 대한 레시피 실행(800)의 한 예를 예시하는 블록도이다. 레시피 실행(800)에서, 로봇 손(72)은 나이프로 계란 깨기의 미소 조작(770)을 실행하는데, 이 경우 계란 깨기 동작(772), 나이프 유지 동작(774), 나이프로 계란 치기 동작(776), 및 깨진 계란 열기 동작(778)에서의 각각의 움직임을 실행하기 위한 최상의 방식이 미소 조작 라이브러리 데이터베이스로부터 선택된다. 움직임(772, 774, 776, 778)의 각각을 실행하기 위한 최상의 방식을 실행하는 프로세스는, 미소 조작(770)이, 그 특정한 미소 조작에 대해, 동일한, 또는 실질적으로 동일한 결과(또는 그 보증)를 달성할 것이다는 것을 보장한다. 멀티모달 3차원 센서(20)는, 하나 이상의 재료에서의 가능한 변동, 예컨대 계란의 치수 및 무게에 관해 실시간의 조정 능력(112)을 제공한다.
도 19에서의 미소 조작의 생성과 도 20에서의 미소 조작의 실행 사이의 동작적 관계의 한 예로서, "나이프로 계란 깨기"의 미소 조작과 관련되는 특정 변수는, 계란의 초기 xyz 좌표, 계란의 초기 방위, 계란의 사이즈, 계란의 형상, 나이프의 초기 xyz 좌표, 나이프의 초기 방위, 계란을 깰 xyz 좌표, 미소 조작의 속도, 및 시간 지속기간을 포함한다. 따라서, 미소 조작 "나이프로 계란 깨기"의 식별된 변수는 생성 국면 동안 정의되는데, 이 경우 이들 식별가능한 변수는 관련된 미소 조작의 실행 국면 동안 로봇식 음식 준비 엔진(56)에 의해 조정될 수도 있다.
도 21은, 표준화된 키친 모듈에서 요리사의 음식 준비 움직임을 캡쳐하여 요리사 스튜디오(44)로부터 소프트웨어 레시피 파일(46)을 생성하기 위한 소프트웨어 프로세스(810)를 예시하는 흐름도이다. 요리사 스튜디오(44)에서, 단계(812)에서, 요리사(49)는 음식 레시피의 상이한 컴포넌트를 설계한다. 단계(814)에서, 로봇식 요리용 엔진(56)은, 요리사(49)가 선택한 레시피 설계에 대한 이름, ID 재료, 및 측정 입력을 수신하도록 구성된다. 단계(816)에서, 요리사(49)는 음식/재료를 지정된 표준 쿠킹 웨어(cooking ware)/어플라이언스로 그리고 그들의 지정된 위치로 이동시킨다. 예를 들면, 요리사(49)는 두 개의 중간 크기의 샬롯(shallot)과 중간 크기의 마늘 두 쪽을 고르고, 여덟 개의 크리미니 머쉬룸(crimini mushroom)을 차핑 조리대(chopping counter) 상에 두고, 해동된 20cm×30cm 퍼프 페이스트리 두 개를 프리저락(freezer lock) F02로부터 냉장고로 이동시킨다. 단계(818)에서, 요리사(49)는, 컴퓨터(16)로의 전송을 위한 요리사의 움직임 데이터를 캡쳐하는 센서를 구비하는 캡쳐용 글로브(26) 또는 햅틱 코스튬(622)을 착용한다. 단계(820)에서, 요리사(49)는 그 또는 그녀가 단계(122)에서 선택하는 레시피의 작업을 시작한다. 단계(822)에서, 요리사 움직임 기록용 모듈(98)은, 표준화된 로봇식 키친(50)에서의 요리사의 팔 및 손가락의 힘, 압력, XYZ 위치 및 방위의 실시간의 측정치를 비롯하여, 요리사의 정확한 움직임을 캡쳐하고 기록하도록 구성된다. 요리사의 움직임, 압력, 및 위치를 캡쳐하는 외에, 요리사 움직임 기록용 모듈(98)은, 특정한 레시피에 대한 전체 음식 준비 프로세스 동안의 (요리, 재료, 프로세스, 및 상호작용 이미지의) 비디오 및 사운드(인간 음성, 프라이, 김새는 소리(hiss), 등등)를 기록하도록 구성된다. 단계(824)에서, 로봇식 요리용 엔진(56)은, 멀티모달 3차원 센서(30) 및 캡쳐용 글로브(26) 상의 센서로부터의 요리사의 움직임을 포함하는, 단계(822)로부터의 캡쳐된 데이터를 저장하도록 구성된다. 단계(826)에서, 레시피 추상화 소프트웨어 모듈(104)은 머신 구현에 적합한 레시피 스크립트를 생성하도록 구성된다. 단계(828)에서, 레시피 데이터가 생성되어 저장된 이후, 소프트웨어 레시피 파일(46)은, 집 또는 레스토랑에 위치될 뿐만 아니라, 모바일 디바이스 상의 로봇식 요리용 레시피 앱을 통합하는 유저의 컴퓨터에 대한 앱 스토어 또는 마켓플레이스를 통해, 유저에 대한 판매 또는 유저의 구독이 이용가능하게 만들어진다.
도 22는, 요리사 스튜디오 시스템(44)으로부터 수신되는 소프트웨어 레시피 파일(22) 중 하나 이상에 기초한 로봇 장치를 갖는 로봇식 표준화된 키친의 그 로봇 장치에 의한 음식 준비를 위한 소프트웨어 프로세스를 예시하는 흐름도(830)이다. 단계(832)에서, 유저(24)는, 요리사 스튜디오(44)로부터 구매한 또는 요리사 스튜디오(44)로부터 구독되는 레시피를, 컴퓨터(15)를 통해 선택한다. 단계(834)에서, 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)은, 준비될 선택된 레시피에 대한 입력을 입력 모듈(50)로부터 수신하도록 구성된다. 단계(836)에서, 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)은, 선택된 레시피를 소프트웨어 레시피 파일(46)을 이용하여 메모리 모듈(102)에 업로드하도록 구성된다. 단계(838)에서, 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)은, 선택된 레시피를 완수하기 위한 재료 이용가능성 및 요리를 마치는 데 필요한 대략적인 요리 시간을 계산하도록 구성된다. 단계(840)에서, 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)은, 선택된 레시피에 대한 전제조건(prerequisite)을 분석하도록 그리고 재료의 부족이나 결핍이 존재하는지 또는 그렇지 않은지의 여부, 또는 선택된 레시피 및 서빙 스케줄에 따라 요리를 서빙하기에 불충분한 시간이 존재하는지의 여부를 결정하도록 구성된다. 전제조건이 충족되지 않으면, 단계(842)에서, 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)은 경고를 전송하여, 쇼핑 리스트에 재료가 추가되어야 한다는 것을 나타내거나, 대안적인 레시피 또는 서빙 스케줄을 제공한다. 그러나, 전제조건이 충족되면, 로봇식 음식 준비 엔진(56)은 단계(844)에서 레시피 선택을 확증하도록 구성된다. 단계(846)에서, 레시피 선택이 확증된 이후, 유저(60)는, 컴퓨터(16)를 통해, 음식/재료를 특정한 표준화된 컨테이너로 그리고 요구되는 위치로 이동시킨다. 재료가 지정된 컨테이너 및 식별되는 바와 같은 위치에 배치된 이후, 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)은, 단계(848)에서 시작 시간이 트리거되었는지를 체크하도록 구성된다. 이 중대한 시기에, 가정용 로봇식 음식 준비 엔진(56)은, 모든 전제조건이 충족되고 있다는 것을 보장하기 위한 제2 프로세스 체크를 공급한다. 가정용 로봇식 키친(48)에서의 로봇식 음식 준비 엔진(56)이 요리 프로세스를 시작할 준비가 되어 있지 않으면, 가정용 로봇식 음식 준비 엔진(56)은, 시작 시간이 트리거될 때까지, 단계(850)에서 전제조건을 계속 체크한다. 로봇식 음식 준비 엔진(56)이 요리 프로세스를 시작할 준비가 되면, 단계(852)에서, 로봇식 음식 준비 엔진(56)에서의 날 음식용 품질 체크 모듈(quality check for raw food module; 96)은, 선택된 레시피에 대한 전제조건을 프로세싱하도록 구성되고, 레시피에서의 설명과 비교하여 각각의 재료 아이템(예를 들면, 원 센터 컷 소고기 안심 로스트(one center-cut beef tenderloin roast)) 및 상태(예를 들면, 유효 기간/구매일자, 향, 컬러, 텍스쳐, 등등)를 검사한다. 단계(854)에서, 로봇식 음식 준비 엔진(56)은 "0" 스테이지에서 시간을 설정하고, 소프트웨어 레시피 파일(46)에 따른 선택된 요리를 만들기 위해, 요리사의 요리하는 움직임을 복제하기 위한 하나 이상의 로봇 팔(70) 및 로봇 손(72)으로 소프트웨어 레시피 파일(46)을 업로드한다. 단계(856)에서, 하나 이상의 로봇 팔(72) 및 손(74)은 재료를 손질하고, 요리사(49)의 팔, 손 및 손가락의 것과 동일한 움직임을 가지고, 정확한 압력, 정밀한 힘, 및 동일한 XYZ 위치를 가지고, 요리사의 움직임으로부터 캡쳐되어 기록된 것과 동일한 시간 증가에서, 요리 방법/기술을 실행한다. 이 시간 동안, 하나 이상의 로봇 팔(70) 및 손(72)은, 단계(858)에서 예시되는 바와 같이, 요리의 결과를, 제어된 데이터(예컨대 온도, 무게, 손실량, 등등) 및 미디어 데이터(예컨대, 컬러, 외관, 냄새, 부분 사이즈, 등등)에 비교한다. 데이터가 비교된 이후, 로봇 장치(로봇 팔(70) 및 로봇 손(72)을 포함함)는 단계(860)에서 결과를 정렬하고 조정한다. 단계(862)에서, 로봇식 음식 준비 엔진(56)은, 로봇 장치에게 완성된 요리를 지정된 서빙 식기로 옮기고 그것을 조리대에 배치할 것을 명령하도록 구성된다.
도 23은, 미소 조작 라이브러리 데이터베이스(870)에 대한 다양한 파라미터 조합을 생성, 테스팅, 및 확인하기 위한, 그리고 그것을 저장하기 위한 소프트웨어 프로세스의 하나의 실시형태를 예시하는 흐름도이다. 미소 조작 라이브러리 데이터베이스(870)는 일 회 성공 테스트 프로세스(one-time success test process; 870)(예를 들면, 계란 유지)를 수반하는데, 이것은 임시 라이브러리에 저장되며, 미소 조작 데이터베이스 라이브러리에서의 일 회 테스트 결과의 조합(890)(예를 들면, 계란 깨기의 전체 움직임)을 테스트한다. 단계(872)에서, 컴퓨터(16)는 복수의 액션 프리미티브(또는 복수의 별개의 레시피 액션)을 갖는 신규의 미소 조작(예를 들면, 계란 깨기)을 생성한다. 단계(874)에서, 신규 미소 조작과 관련되는 오브젝트(예를 들면, 계란 및 나이프)의 수가 식별된다. 컴퓨터(16)는 단계(876)에서, 다수의 별개의 액션 또는 움직임을 식별한다. 단계(878)에서, 컴퓨터는, 특정한 신규의 미소 조작과 관련되는 주요 파라미터(예컨대, 오브젝트의 위치, 오브젝트의 방위, 압력 및 속도)의 전체 가능한 범위를 선택한다. 단계(880)에서, 각각의 주요 파라미터에 대해, 컴퓨터(16)는, 주요 파라미터의 각각의 값을, 다른 주요 파라미터와의 모든 가능한 조합(예를 들면, 하나의 위치에서 계란을 유지하지만 다른 방위를 테스트하는 것)을 가지고 테스트하고 확인한다. 단계(882)에서, 컴퓨터(16)는, 주요 파라미터 조합의 특정한 세트가 신뢰가능한 결과를 생성하는지를 결정한다. 결과의 확인은 컴퓨터(16) 또는 사람에 의해 행해질 수 있다. 결정이 부정적이면, 컴퓨터(16)는, 여전히 테스트되어야 하는 다른 주요 파라미터 조합이 존재하는지를 찾기 위해 단계(886)로 진행한다. 단계(888)에서, 컴퓨터(16)는, 다음 번 파라미터 조합에 대한 추가 테스팅 및 평가를 위해 다음 번 파라미터 조합을 정형화함에 있어서 주요 파라미터를 1만큼 증가시킨다. 단계(882)에서 결정이 긍정적이면, 컴퓨터(16)는 성공적인 주요 파라미터 조합의 세트를 임시 위치 라이브러리에 저장한다. 임시 위치 라이브러리는, (가장 성공적인 테스트 결과를 갖거나 또는 최소 실패 결과를 갖는) 성공적인 주요 파라미터 조합의 하나 이상의 세트를 저장한다.
단계(892)에서, 컴퓨터(16)는 특정한 성공적인 파라미터 조합을 X 횟수(예컨대 백 회) 동안 테스트하고 확인한다. 단계(894)에서, 컴퓨터(16)는, 특정한 성공적인 파라미터 조합의 반복된 테스트 동안 실패한 결과의 수를 계산한다. 단계(896)에서, 컴퓨터(16)는 임시 라이브러리로부터 다음 번 일 회 성공한 파라미터 조합을 선택하고, 다음 번 일 회 성공한 파라미터 조합을 X 횟수 테스트하기 위한 단계(892)로 프로세스를 다시 리턴시킨다. 일 회 성공한 파라미터 조합이 더 이상 남아 있지 않으면, 컴퓨터(16)는, 단계(898)에서, 신뢰가능한(또는 보증된) 결과를 생성하는 파라미터 조합의 하나 이상의 세트의 테스트 결과를 저장한다. 단계(899)에서, 파라미터 조합의 하나보다 많은 신뢰가능한 세트가 존재하면, 컴퓨터(16)는 파라미터 조합 중 최상의 또는 최적의 세트를 결정하고, 특정한 미소 조작과 관련되는 파라미터 조합의 최적의 세트를, 레시피의 음식 준비 스테이지 동안 표준화된 로봇식 키친(50)에서의 로봇 장치에 의한 미소 조작 라이브러리 데이터베이스에서의 사용을 위해 저장한다.
도 24는 미소 조작에 대한 태스크를 생성하기 위한 소프트웨어 프로세스(900)의 하나의 실시형태를 예시하는 흐름도이다. 단계(902)에서, 컴퓨터(16)는, 데이터베이스 라이브러리에 저장될 로봇의 미소 손 조작기(a robotic mini hand manipulator )에 의한 특정한 로봇 태스크(예를 들면, 나이프로 계란 깨기)를 정의한다. 컴퓨터는, 단계(904)에서, 각각의 미소 단계에서의 오브젝트의 모든 상이하고 가능한 방위(예를 들면, 계란 유지 및 계란의 방위)를 식별하고, 단계(906)에서, 오브젝트에 대해 키친 툴을 유지할(예를 들면, 계란에 대해 나이프를 유지하는) 모든 상이한 위치적 포인트를 식별한다. 단계(908)에서, 계란을 유지하고 올바른 (컷팅) 움직임 프로파일, 압력, 및 속도를 가지고 계란을 나이프로 깨기 위한 모든 가능한 방식을 경험적으로 식별한다. 단계(910)에서, 컴퓨터(16)는, 계란을 적절히 깨기 위해, 계란 및 계란에 대한 나이프의 위치를 유지하기 위한 다양한 조합을 정의한다. 예를 들면, 오브젝트(들)의 방위, 위치, 압력 및 속도와 같은 최적의 파라미터의 조합을 찾는다. 단계(912)에서, 컴퓨터(16)는, 다양한 조합의 신뢰가능성을 검증하기 위해, 모든 변동, 변화를 테스트하는 것과 같은 트레이닝 및 테스팅 프로세스를 행하고, 각각의 미소 조작에 대해 신뢰가능성이 소정치가 될 때까지 프로세스를 X회 반복한다. 요리사(49)가 소정의 음식 준비 태스크(예를 들면, 나이프로 계란 깨기)를 수행하고 있는 경우, 그 태스크는, 단계(914)에서, 태스크의 일부로서 수행할 미소 손 조작의 여러 단계/태스크로 변환된다. 단계(916)에서, 컴퓨터(16)는 그 특정 태스크에 대한 미소 조작의 다양한 조합을 데이터베이스 라이브러리에 저장한다. 단계(918)에서, 컴퓨터(16)는, 임의의 미소 조작에 의해 정의되고 수행되어야 하는 추가적인 태스크가 존재하는지의 여부를 결정한다. 정의되어야 하는 임의의 추가적인 미소 조작이 존재하면, 프로세스는 단계(902)로 리턴한다. 독립형 키친 모듈 및 통합형 키친 모듈을 포함하는 키친 모듈의 상이한 실시형태도 가능하다. 통합형 키친 모듈은 통상의 가정의 종래의 키친 영역에 적합된다. 키친 모듈은 적어도 두 개의 모드, 로봇 모드 및 정상(수동) 모드에서 동작한다. 계란 깨기는 미소 조작의 하나의 예이다. 미소 조작 라이브러리 데이터베이스는 또한, 고기의 형상 및 깊이에 대해 올바른 방향에서 그리고 적절한 깊이까지 올바른 압력을 인가하는 것에 의해, 포크를 사용하여 소고기의 조각을 잡는 것과 같은 아주 다양한 태스크에 적용될 것이다. 단계(919)에서, 컴퓨터는 미리 정의된 키친 태스크의 데이터베이스 라이브러리를 조합하는데, 이 경우, 각각의 미리 정의된 키친 태스크는 하나 이상의 미소 조작을 포함한다.
도 25는, 표준화된 로봇식 키친에서의 표준화된 키친 툴, 표준화된 오브젝트, 및 표준화된 기기의 라이브러리를 할당하고 활용하는 프로세스(920)를 예시하는 흐름도이다. 단계(922)에서, 컴퓨터(16)는, 각각의 키친 툴, 오브젝트, 또는 기기/유텐실에게, 툴, 오브젝트, 또는 기기의 파라미터 예컨대 그것의 3차원 위치 좌표 및 방위를 미리 정의하는 코드(또는 바 코드)를 할당한다. 이 프로세스는, 다음을 포함하지만 이들로 제한되지는 않는 표준화된 로봇식 키친(50)에서의 다양한 엘리먼트를 표준화한다: 표준화된 키친 기기, 표준화된 키친 툴, 표준화된 나이프, 표준화된 포크, 표준화된 컨테이너, 표준화된 팬, 표준화된 어플라이언스, 표준화된 작업 공간, 표준화된 부속품(attachment), 및 다른 표준화된 엘리먼트. 요리 레시피의 프로세스 단계를 실행할 때, 단계(924)에서, 특정한 키친 툴, 오브젝트, 기기, 유텐실 또는 어플라이언스에 접근하도록 촉구되는 경우, 로봇식 요리용 엔진은, 키친 툴, 오브젝트, 기기의 일부, 유텐실, 또는 어플라이언스를 검색할 것을 하나 이상의 로봇 손에게 명령하도록 구성된다.
도 26은, 3차원 모델링 및 추론을 갖는 표준화되지 않은 오브젝트를 식별하는 프로세스(926)를 예시하는 흐름도이다. 단계(928)에서, 컴퓨터(16)는 표준화되지 않은 오브젝트, 예컨대 상이한 사이즈, 상이한 치수, 및/또는 상이한 무게를 가질 수도 있는 재료를 센서에 의해 검출한다. 단계(930)에서, 컴퓨터(16)는 표준화되지 않은 오브젝트를, 형상, 치수, 방위 및 위치 정보를 캡쳐하기 위한 3차원 모델링 센서(66)를 이용하여 식별하고, 로봇 손(72)은 적절한 음식 준비 태스크(예를 들면, 스테이크의 조각을 자르거나 집어드는 것)를 수행하기 위해 실시간 조정을 행한다.
도 27은 미소 조작의 테스팅 및 학습을 위한 프로세스(932)를 예시하는 흐름도이다. 단계(934)에서, 컴퓨터는, 각각의 요리 동작(예를 들면, 나이프로 계란 깨기)이 분석되고, 분류되고, 액션 프리미티브 또는 미소 조작의 시퀀스로 구축되는 음식 준비 태스크 구성 분석(food preparation task composition analysis)을 수행한다. 하나의 실시형태에서, 미소 조작은, 음식을 준비함에 있어서 특정한 결과를 향해 진행하는 기본적인 기능 성과(예를 들면, 계란이 깨어진 것, 또는 야채를 자른 것)를 달성하는 하나 이상의 액션 프리미티브의 시퀀스를 가리킨다. 이 실시형태에서, 미소 조작은 로우 레벨 조작 또는 하이 레벨 조작으로서 추가로 설명될 수 있는데, 이 경우, 로우 레벨 미소 조작은, 최소의 상호 작용 힘을 필요로 하며 로봇 장치의 사용에 거의 배타적으로 의존하는 액션 프리미티브의 시퀀스를 가리키고, 하이 레벨 미소 조작은 상당한 양의 상호 작용 및 상호 작용 힘 및 그 제어를 필요로 하는 액션 프리미티브의 시퀀스를 가리킨다. 프로세스 루프(936)은 미소 조작 및 학습 단계에 초점을 맞추며, 미소 조작의 신뢰성을 보장하기 위해 많은 횟수(예를 들면, 100회) 반복되는 테스트로 구성된다. 단계(938)에서, 로봇식 음식 준비 엔진(56)은 음식 준비 스테이지 또는 미소 조작을 수행하기 위해 모든 가능성의 지식을 평가하도록 구성되는데, 이 경우, 각각의 미소 조작은, 특정한 미소 조작에서의 방위, 위치/속도, 각도, 힘, 압력, 및 속력에 관하여 테스트된다. 미소 조작 또는 액션 프리미티브는 로봇 손(72) 및 표준 오브젝트, 또는 로봇 손(72) 및 비표준 오브젝트를 수반할 수도 있다. 단계(940)에서, 로봇식 음식 준비 엔진(56)은, 미소 조작을 실행하도록 그리고 성과가 성공적인 것으로 간주될 수 있는지 또는 실패인 것으로 간주될 있는지를 결정하도록 구성된다. 단계(942)에서, 컴퓨터(16)는, 미소 조작의 실패에 관하여 자동화된 분석 및 추론을 행한다. 예를 들면, 멀티모달 센서는, 미소 조작의 성공 또는 실패에 대한 감지 피드백 데이터를 제공할 수도 있다. 단계(944)에서, 컴퓨터(16)는 실시간 조정을 행하도록 구성되고 미소 조작 실행 프로세스의 파라미터를 조정한다. 단계(946)에서, 컴퓨터(16)는 파라미터 조정의 성공 또는 실패에 관한 신규의 정보를, 로봇식 음식 준비 엔진(56)에 대한 학습 메커니즘으로서, 미소 조작 라이브러리에 추가한다.
도 28은, 로봇 팔에 대한 품질 제어 및 정렬 기능에 대한 프로세스(950)를 예시하는 흐름도이다. 단계(952)에서, 로봇식 음식 준비 엔진(56)은 입력 모듈(50)을 통해 인간 요리사 복제 소프트웨어 레시피 파일(46)을 로딩한다. 예를 들면, 소프트웨어 레시피 파일(46)은, 미슐랭(Michelin) 스타 등급을 받은 요리사 안드 부첼(Arnd Beuchel)의 "비너 슈니첼(Wiener Schnitzel)"로부터의 음식 준비를 복제할 것이다. 단계(954)에서, 로봇 장치는 태스크를, 예컨대 토르소, 손, 손가락에 대한 움직임과 동일한 움직임을 가지고, 동일한 압력, 힘 및 xyz 위치를 가지고, 모든 움직임/모션 복제 데이터를 포함하는 저장된 레시피 스크립트에 기초하여 표준화된 기기를 가지고 표준화된 키친 모듈에서 동일한 레시피를 준비하는 인간 요리사의 액션에 기초하여 저장되어 있는 기록된 레시피 데이터와 동일한 페이스(pace)에서 실행한다. 단계(956)에서, 컴퓨터(16)는, 추상화 소프트웨어에 공급되는 원시 데이터를 생성하는 멀티모달 센서를 통해 음식 준비 프로세스를 모니터링하는데, 추상화 소프트웨어에서 로봇 장치는, 실세계 출력을, 멀티모달 센서류 데이터(시각적, 오디오, 및 임의의 다른 센서류 피드백)에 기초한 제어된 데이터에 대해 비교한다. 단계(958)에서, 컴퓨터(16)는 제어된 데이터와 멀티모달 센서류 데이터 사이에 임의의 차이가 존재하는지를 결정한다. 단계(960)에서, 컴퓨터(16)는, 멀티모달 센서류 데이터가 제어된 데이터로부터 편향하는지의 여부를 분석한다. 편향이 존재하면, 단계(962)에서, 컴퓨터(16)는, 로봇 팔(70), 로봇 손(72), 또는 다른 엘리먼트를 다시 캘리브레이팅하기 위해, 조정을 행한다. 단계(964)에서, 로봇식 음식 준비 엔진(16)은, 하나 이상의 파라미터 값에 대해 이루어진 조정을 지식 데이터베이스에 추가하는 것에 의해, 프로세스(964)에서 학습하도록 구성된다. 단계(968)에서, 컴퓨터(16)는, 보정된 프로세스, 조건, 및 파라미터에 관련이 있는 업데이트된 수정 정보를 지식 데이터베이스에 저장한다. 단계(958)로부터 편향에서 차이가 존재하지 않으면, 프로세스(950)는 단계(969)로 바로 진행하여 실행을 완료하게 된다.
도 29는 표준화된 로봇식 키친에서의 사용을 위한 미소 조작 오브젝트의 데이터베이스 라이브러리 구조(970)의 하나의 실시형태를 예시하는 테이블이다. 데이터베이스 라이브러리 구조(970)는 특정한 미소 조작에 대한 정보를 입력하고 저장하기 위한 여러 필드를 나타내는데, (1) 미소 조작의 이름, (2), 미소 조작의 할당된 코드, (3) 미소 조작의 성능과 관련되는 표준화된 기기 및 툴의 코드(들), (4) 조작된 (표준 또는 비표준) 오브젝트(재료 및 툴)의 초기 위치 및 방위, (5) 유저에 의해 정의되는(또는 실행 동안 기록된 레시피로부터 추출되는) 파라미터/변수, (6) 타임 라인 상에서의 미소 조작의 (임의의 센서 또는 비디오 모니터링 시스템으로부터의) 연결용 피드백 파라미터 및 로봇 손 움직임(모든 서보에 대한 제어 신호)의 시퀀스를 포함한다. 특정한 미소 조작에 대한 파라미터는, 미소 조작을 수행하는 데 필요한 복잡도 및 오브젝트에 따라 상이할 수도 있다. 이 예에서는, 네 개의 파라미터가 식별된다: 표준화된 키친 모듈의 볼륨에서의 시작 XYZ 위치 좌표, 속력, 오브젝트 사이즈, 및 오브젝트 형상. 오브젝트 사이즈 및 오브젝트 형상 양자는 비표준 파라미터에 의해 정의되거나 설명될 수도 있다.
도 30은, 표준화된 로봇식 키친에서 사용하기 위한 표준화된 오브젝트의 데이터베이스 라이브러리 구조(972)를 예시하는 테이블이다. 표준 오브젝트 데이터베이스 라이브러리 구조(972)는 표준 오브젝트에 관련이 있는 정보를 저장하기 위한 여러 필드를 나타내는데, (1) 오브젝트의 이름, (2), 오브젝트의 이미지, (3), 오브젝트에 대한 할당된 코드, (4), 양호한 해상도가 미리 정의된 XYZ 좌표 매트릭스에서의 오브젝트의 전체 치수를 갖는 가상 3D 모델, (5) (이용가능한 경우) 오브젝트의 가상 벡터 모델, (6) 오브젝트의 작업용 엘리먼트의 정의 및 마킹(엘리먼트는, 조작을 위해 손 및 다른 오브젝트와 접촉할 수도 있다), 및 (7) 각각의 특정 조작에 대한 오브젝트의 표준 방위를 포함한다.
도 32는, 표준화된 로봇식 키친에 의해 레시피 복제 프로세스의 일부로서 사용될 재료의 품질을 체크하기 위해 사용되는 프로세스(1000)의 실행을 묘사한다. 멀티모달 센서 시스템 비디오 감지용 엘리먼트는, 가능한 손상(spoilage)을 나타내는 변색을 검출하기 위해 컬러 검출 및 스펙트럼 분석을 사용하는 프로세스(1006)를 구현할 수 있다. 마찬가지로, 로봇 손에 의해 핸들링되는 이동식 프로브의 일부이든 또는 키친에 임베딩된 것이든 간에 암모니아 감지 센서 시스템을 사용하면, 손상에 대한 추가적인 잠재성이 검출될 수 있다. 로봇 손 및 손가락의 추가적인 햅틱 센서는, 접촉력에 대한 견고성 및 저항성(압축 거리의 함수로서의 편향의 양 및 레이트)이 측정되는 터치 감지 프로세스(1004)를 통해 재료의 신선도를 확인할 것이다. 한 예로서, 생선의 경우, 눈이 (흐리지 않고) 맑아야 하고, 적절히 해동된 생선의 살의 적절한 온도가 40도 화씨를 넘지 않아야 하는 것처럼, 아가미의 컬러(딥 레드) 및 수분 함량은 신선도의 지시자이다. 손가락 끝 상의 추가적인 접촉 센서는, 터칭, 러빙(rubbing) 및 홀딩/픽업 모션을 통해 재료의 온도, 텍스쳐 및 전체적인 무게에 관련되는 추가적인 품질 체크(1002)를 실행할 수 있다. 이들 햅틱 센서 및 비디오 이미지류(video-imagery)를 통해 수집되는 모든 데이터는, 재료의 신선도를 결정하기 위한 그리고 그것을 사용할지 또는 그것을 폐기할지에 대한 결정을 하기 위한 프로세싱 알고리즘에서 사용될 수 있다.
도 32는 로봇식 레시피 스크립트 복제 프로세스(1010)를 묘사하는데, 여기서, 멀티모달 센서를 갖춘 헤드(20), 및 재료 및 유텐실을 유지하는 다수의 손가락의 손(72)을 갖는 듀얼 암이 쿡웨어(1012)와 상호작용한다. 멀티모달 센서 유닛을 갖는 로봇 센서 헤드(20)는, 레시피에 대한 컴퓨터에 저장된 시퀀스 데이터에 따라 실행이 진행하고 있다는 것을 보장하도록 툴 및 유텐실, 어플라이언스가 요리 프로세스 시퀀스 생성 레시피 단계에 비교되는 것을 허용하기 위해, 로봇 팔 양자에 의해 작업되고 있는 3차원 태스크 공간을 연속적으로 모델링하고 모니터링하도록, 동시에, 툴 및 유텐실, 어플라이언스 및 그들의 내용물 및 변수를 식별하기 위한 데이터를 태스크 추상화 모듈로 또한 제공하도록 사용된다. 로봇 센서 헤드(20)에서의 추가적인 센서는, 요리 프로세스의 중요한 부분 동안 듣고 냄새 맡기 위해 가청 영역(audible domain)에서 사용된다. 로봇 손(72) 및 그들의 햅틱 센서는 각각의 재료, 예컨대 이 경우에서는 계란을 적절히 핸들링하기 위해 사용된다; 손가락 및 손바닥 안에 있는 센서는, 예를 들면, 표면 텍스쳐 및 무게와 그 분산에 의해 사용가능한 계란을 검출할 수 있고 계란을 깨지 않고 유지할 수 있고 일정한 방향으로 향하게 할 수 있다. 다수의 손가락이 있는 로봇 손(72)은 또한, 특정한 쿡웨어, 예컨대 이 경우에서는 보울을 가져와서 핸들링할 수 있고, 음식 재료를 적절히 프로세싱하기(예를 들면, 계란 깨기, 노른자 분리하기, 뻣뻣한 성질이 달성될 때까지 계란 흰자 치기(beating the egg-white)) 위해 적절한 모션 및 힘 인가를 통해, 요리용 유텐실(이 경우에서는 거품기)을 잡아서 핸들링한다.
도 33은 재료 보관 시스템 개념(1020)을 묘사하는데, 여기서는, 필요로 되는 요리용 재료(예를 들면, 고기, 생선, 가금류, 갑각류, 야채, 등등) 중 임의의 것을 저장할 수 있는 음식 보관 컨테이너(1022)가, 각각의 재료의 신선도를 측정하고 모니터링하기 위해 센서를 갖추고 있다. 음식 보관 컨테이너(1022)에 임베딩되는 모니터링 센서는, 암모니아 센서(1030), 휘발성 유기 화합물 센서(1032), 내부 컨테이너 온도 센서(1026) 및 습도 센서(1028)를 포함하지만, 이들로 제한되지는 않는다. 추가적으로, 인간 요리사에 의해 활용되든 또는 로봇 팔 및 손에 의해 활용되든 간에, 더 큰 재료의 볼륨 내부의 주요 측정(예컨대 온도)(예를 들면, 고기 내부 온도)을 허용하기 위해, 수동 프로브가 사용될 수 있다.
도 34는, 센서 및 검출 디바이스(예를 들면, 온도 프로브/바늘)를 포함하는 음식 보관 컨테이너(1042)에 위치되는 재료에 대한 신선도 및 품질 체크의 일부로서 실행되는 측정 및 분석 프로세스(1040)를 묘사한다. 컨테이너는, 자신의 컨테이너 ID를 특정하는, 그리고 온도 데이터(1046), 습도 데이터(1048), 암모니아 레벨 데이터(1050), 휘발성 유기 화합물 데이터(1052)를 포함하는 메타데이터 태그(1044)에 의해 자신의 데이터 세트를, 통신 단계(1056)를 통해 무선 데이터 네트워크를 거쳐, 음식 제어 품질 엔진이 컨테이너 데이터를 프로세싱하는 메인 서버로 포워딩할 수 있다. 프로세싱 단계(1060)는 컨테이너 고유의 데이터(1044)를 사용하고, 그것을, 데이터 검색 및 저장 프로세스(1054)에 의해 미디어(1058)로부터 저장 및 검색되는 허용가능한 것으로 고려되는 데이터 값 및 범위에 비교한다. 그 다음, 알고리즘의 세트는, 재료의 적합성에 관한 결정을 행하여, 실시간 음식 품질 분석 결과를 별개의 통신 프로세스(1062)를 통해 데이터 네트워크를 거쳐 제공하게 된다. 그 다음, 품질 분석 결과는 다른 프로세스(1064)에서 활용되는데, 이 경우 결과는 추가적인 액션을 위해 로봇 팔로 포워딩되고, 재료가 나중의 소비를 위해 요리 프로세스에서 사용될 것인지 또는 손상된 것으로서 폐기될 것인지를 유저가 결정하도록, 스크린(예컨대 스마트폰 또는 다른 디스플레이) 상에서 원격으로 디스플레이될 수도 있다.
도 35는, 표준화된 키친이 표준화된 로봇식 키친이든 또는 요리사 스튜디오이든 간에, 표준화된 키친에서 사용될 때의 사전에 채워진 재료 컨테이너(1070)의 기능성 및 프로세스 단계를 묘사한다. 재료 컨테이너(1070)는 상이한 사이즈(1082) 및 상이한 용도를 염두에 두고 설계되며, 특정한 보관 온도 범위를 달성하기 위한 냉장, 냉동, 칠링(chilling) 등등에 의해 상하기 쉬운 아이템을 수용할 적절한 보관 환경(1080)에 적합하다. 추가적으로, 재료 보관 컨테이너(1070)는 또한, 상이한 타입의 재료(1072)에 어울리도록 설계되는데, 컨테이너는 미리 사전 라벨링되고, 고체 재료(소금, 곡분, 쌀, 등등), 점성/패이스티 재료(겨자, 마요네즈, 마지팬(marzipan), 잼, 등등) 또는 액체 재료(물, 오일, 우유, 주스, 등등)로 사전에 채워지며, 이 경우, 분배 프로세스(1074)는 재료 타입에 따라 다양하고 상이한 애플리케이션 디바이스(점적기(dropper), 슈트(chute), 도우징 연동 펌프(peristaltic dosing pump), 등등)를 활용하고, 첨가 제어 프로세스(dosage control process; 1076)를 실행하는 첨가 제어 엔진(1084)에 의한 정확한 컴퓨터 제어가능 분배는, 적절한 양의 재료가 정확한 시간에 분배되는 것을 보장한다. 레시피 고유의 첨가는, 메뉴 인터페이스를 통해 또는 심지어 원격 전화 애플리케이션을 통해 개인의 입맛 또는 다이어트(저염, 등등)에 적합하도록 조정가능하다는 것을 주목해야 한다. 첨가 결정 프로세스(1078)는, 레시피에서 특정되는 양에 기초하여, 첨가 제어 엔진(1084)에 의해 실행되는데, 분배는, 디스펜서의 배출 포인트에서의 특정한 배출 컨테이너의 검출에 기초하여, 수동 배출 커맨드 또는 원격 컴퓨터 제어를 통해 발생한다.
도 36은 표준화된 로봇식 키친(50)에서의 사용을 위한 레시피 시스템 구조(1000)를 예시하는 블록도이다. 음식 준비 프로세스(1100)는 요리 타임 라인을 따라 다수의 스테이지로 분할되는 것으로 도시되는데, 각각의 스테이지는 각각의 스테이지(1102), 스테이지(1004), 스테이지(1106) 및 스테이지(1108)에 대한 하나 이상의 원시 데이터 블록을 구비한다. 데이터 블록은, 비디오 이미지류, 오디오 레코딩, 텍스트 설명뿐만 아니라, 제어 프로그램의 일부를 형성하는 명령어 및 커맨드의 머신 판독가능 및 머신 이해가능 세트와 같은 엘리먼트를 포함할 수 있다. 원시 데이터 세트는 레시피 구조 내에 포함되며, 레시피 복제 프로세스의 시작에서부터 요리 프로세스, 또는 그 내부의 임의의 서브 프로세스의 끝까지 줄곧 다양한 레벨의 시간 인터벌 및 시간 시퀀스를 가지고, 많은 시간 시퀀스화된 스테이지로 분할된 타임 라인을 따른 각각의 요리 스테이지를 묘사한다.
도 37a 내지 도 37c는 표준화된 로봇식 키친에서의 사용을 위한 레시피 검색 메뉴를 예시하는 블록도이다. 도 37a에서 도시되는 바와 같이, 레시피 검색 메뉴(1120)는 가장 인기 있는 카테고리, 예컨대 요리법(cuisine)의 타입(예를 들면, 이탈리아식, 프랑스식, 중국식), 기본이 되는 요리 재료(예를 들면, 생선, 돼지고기, 소고기, 파스타), 또는 기준 및 범위 예컨대 요리 시간 범위(예를 들면, 60분 미만, 20 내지 40분 사이)뿐만 아니라 키워드 검색을 행하는 것(예를 들면, 리코타 카바텔리(ricotta cavatelli), 밀리아치오(migliaccio) 케이크)을 제공한다. 선택된 개인맞춤된 레시피는 알러지 유발 재료가 포함된 레시피를 배제할 수도 있는데, 유저는 개인적 유저 프로파일에서 유저가 멀리할 수도 있는 알러지 유발 재료(allergic ingredient)를 나타낼 수 있다. 도 37b에서, 유저는, 44분 미만의 요리 시간, 7인분에 충분한 음식 차림, 채식주의자 요리 옵션 제공, 총 칼로리 4521 미만의 요건을 포함해서, 검색 기준을 선택할 수도 있다. 상이한 타입의 요리(1122)가 도 37c에서 도시되는데, 여기서, 메뉴(1120)는 계층적 레벨을 가지며, 그 결과 유저는 한 카테고리(예를 들면, 요리의 타입)(1122)를 선택할 수도 있고, 그 다음, 그 카테고리는 선택을 세밀하게 하기 위해 다음 레벨의 하위 카테고리(예를 들면, 애피타이저, 샐러드, 엔트리 등등)로 확장한다. 구현된 레시피 생성 및 제출의 스크린 샷이 도 37d에서 예시된다. 다양한 그래픽 유저 인터페이스 및 메뉴 옵션의 추가적인 스크린 샷은 도 37n 내지 도 37v에서 예시된다.
레시피 필터, 재료 필터, 기기 필터, 계정 및 소셜 네트워크 액세스, 개인적 파트너 페이지, 쇼핑 카트로서 기능함에 있어서의 플로우차트의 하나의 실시형태, 및 구매된 레시피, 등록 설정, 레시피 생성에 대한 정보가 도 37e 내지 도 37m에서 예시되는데, 이들은, 데이터베이스의 필터링에 기초하여 로봇식 음식 준비 소프트웨어(14)가 수행할 수 있는 다양한 기능 및 그 정보를 유저에게 제시하는 것을 예시한다. 도 37e에서 나타내어지는 바와 같이, 플랫폼 유저는 레시피 섹션에 액세스하여 자동 로봇식 요리에 대한 소망의 레시피 필터(1130)를 선택할 수 있다. 가장 일반적인 필터 타입은, 요리법의 타입(예를 들면, 중국식, 프랑스식, 이탈리아식), 요리의 타입(예를 들면, 굽기, 찌기, 프라이), 채식주의자 요리, 및 당뇨 음식을 포함한다. 유저는 레시피 상세, 예컨대 설명, 사진, 재료, 가격, 및 평점을 필터링된 검색 결과로부터 볼 수 있을 것이다. 도 37f에서, 유저는 자신의 목적을 위해 소망의 재료 필터(1132), 예컨대 유기농, 재료의 타입, 또는 재료의 브랜드를 선택할 수 있다. 도 37g에서, 유저는, 자동 로봇식 키친 모듈에 대에, 기기의 타입, 브랜드, 및 제조업자와 같은 기기 필터(1134)를 적용할 수 있다. 선택을 행한 후, 유저는 시스템 포털을 통해 직접적으로 관련 판매자로부터 레시피, 재료, 또는 기기 제품을 구매할 수 있을 것이다. 플랫폼은 유저가 자기 자신의 목적을 위해 추가적인 필터 및 파라미터를 생성하는 것을 허용하는데, 이것은 전체 시스템을 커스터마이징가능하게 만들고 계속적으로 새로워지게 만든다. 유저가 추가한 필터 및 파라미터는, 중재기(moderator)에 의한 승인 이후 시스템 필터로서 나타날 것이다.
도 37h에서, 유저는 유저 계정(1136)에 로그인하는 것에 의해 플랫폼의 소셜 프로페셔널 네트워크(social professional network)를 통해 다른 유저 및 판매자와 연결될 수 있다. 네트워크 유저의 아이덴티티는, 어쩌면 신용카드 및 상세 주소를 통해 검증된다. 계정 포털은 또한, 유저가 자신의 레시피를 공유하거나 매매하는 것을 허용할 뿐만 아니라 다른 유저에게 광고하기 위한 트레이딩 플랫폼으로서 또한 기능한다. 유저는 자신의 계정 금융 및 기기를 계정 포털을 통해 또한 관리할 수 있다.
플랫폼의 유저 사이의 파트너쉽의 한 예가 도 371에서 나타내어진다. 한 명의 유저는 자신의 재료에 대한 모든 정보 및 상세를 제공할 수 있고 다른 유저는 그의 기기에 대해 동일하게 행하지 않는다. 모든 정보는, 플랫폼/웹사이트 데이터베이스에 추가되기 이전에 중재기를 통해 필터링되어야 한다. 도 37j에서, 유저는 쇼핑 카트(1140)에서 자신의 구매에 대한 정보를 볼 수 있다. 다른 옵션, 예컨대 배달 및 지불 방법은 또한 변경될 수 있다. 유저는 또한, 자신의 쇼핑 카트의 레시피에 기초하여, 더 많은 재료 또는 기기를 구매할 수 있다.
도 37k는, 구매된 레시피에 대한 다른 정보가 레시피 페이지(1560)로부터 액세스될 수 있다는 것을 도시한다. 유저는, 요리하는 법을 읽고, 듣고, 볼 수 있을 뿐만 아니라 자동 로봇식 요리를 실행할 수 있다. 레시피에 관한 판매자 또는 기술지원과의 통신도 레시피 페이지로부터 또한 가능하다.
도 37l은, "내 계정" 페이지(1136) 및 설정 페이지(1138)로부터의 플랫폼의 상이한 레이어를 예시하는 블록도이다. "내 계정" 페이지로부터, 유저는 전문적 요리 뉴스 또는 블로그를 읽을 수 있고, 공개할 기사를 생성할 수 있다. "내 계정" 하의 레시피 페이지를 통해, 도 37m에서 도시되는 바와 같이, 유저가 자기 자신의 레시피(1570)를 생성할 수 있는 다수의 방식이 존재한다. 유저는, 요리사의 요리하는 움직임을 캡쳐하는 것에 의해 또는 소프트웨어 라이브러리로부터 조작 시퀀스를 선택하는 것에 의해, 자동 로봇식 요리용 스크립트를 생성하는 것에 의해 레시피를 생성할 수 있다. 유저는 또한, 재료/기기를 단순히 열거하는 것에 의해 레시피를 생성할 수 있고, 그 다음 오디오, 비디오, 또는 픽쳐를 추가할 수 있다. 유저는 레시피 페이지로부터의 모든 레시피를 편집할 수 있다.
도 38은, 표준화된 로봇식 키친에서 사용하기 위한 필드를 선택하는 것에 의한 레시피 검색 메뉴(1150)를 예시하는 블록도이다. 검색 기준 또는 범위를 가지고 카테고리를 선택하는 것에 의해, 유저(60)는 다양한 레시피 결과를 열거하는 리턴 페이지를 수신한다. 유저(60)는, 유저 평점(예를 들면, 높은 것에서부터 낮은 것으로), 전문가 평점(예를 들면, 높은 것에서부터 낮은 것으로), 또는 음식 준비의 지속시간(예를 들면, 짧은 것에서부터 더 긴 것으로)과 같은 기준에 의해 결과를 정렬할 수 있다. 컴퓨터 디스플레이는, 레시피의 사진/미디어, 타이틀, 설명, 평점, 및 가격 정보를, 그 레시피에 관한 추가 정보를 브라우징하기 위한 완전한 레시피 페이지를 화면에 띄우는 "더 읽기(read more)" 버튼의 옵션적인 탭과 함께 포함할 수도 있다.
도 39의 표준화된 로봇식 키친(50)은 증강 센서 시스템(1854)의 사용을 위한 가능한 구성을 묘사한다. 증강 센서 시스템(1854)은, 표준화된 키친의 완전한 가시적 3차원 작업 공간을 효과적으로 커버하기 위한 의도를 가지고 키친 축의 길이를 따라 이어지는 가동의(movable) 컴퓨터 제어가능 선형 레일 상에 놓여지는 단일의 증강 센서 시스템(1854)을 도시한다.
로봇식 키친의 어딘가에, 예컨대 컴퓨터 제어가능 난간 상에, 또는 팔과 손을 갖는 로봇의 토르소 상에 놓여지는 증강 센서 시스템(1854)의 적절한 배치에 기초하는 것은, 머신 고유의 레시피 스크립트 생성에 대한 요리사 모니터링 동안, 및 표준화된 로봇식 키친(50)에서의 요리 복제의 스테이지의 로봇을 이용하여 실행된 단계의 진척 및 성공적인 완수를 모니터링하는 동안의 양자(both)의 동안, 3D 추적 및 원시 데이터 생성을 허용한다.
도 39의 표준화된 로봇식 키친(50)은 증강 센서 시스템(20)의 사용을 위한 가능한 구성을 묘사한다. 표준화된 로봇식 키친(50)은, 표준화된 키친의 완전한 가시적 3차원 작업 공간을 효과적으로 커버하기 위한 의도를 가지고 키친 축의 길이를 따라 이어지는 가동의 컴퓨터 제어가능 선형 레일 상에 놓여지는 단일의 증강 센서 시스템(20)을 도시한다.
도 40은, 음식 준비 환경의 실시간 3차원 모델링(1160)을 위한 다수의 카메라 센서 및/또는 레이저(20)를 갖는 표준화된 키친 모듈(50)을 예시하는 블록도이다. 로봇식 키친 요리용 시스템(48)은, 키친 동작 환경의 3차원 모델을 생성하기 위해 컴퓨터에게 실시간 원시 데이터를 제공할 수 있는 3차원 전자 센서를 포함한다. 실시간 3차원 모델링 프로세스의 하나의 가능한 구현예는 3차원 레이저 스캐닝의 사용을 수반한다. 실시간 3차원 모델링의 대안적인 구현예는, 하나 이상의 비디오 카메라를 사용하는 것이다. 또 다른 제3 방법은, 카메라에 의해 관찰되는 투사된 광 패턴, 소위 구조화된 광 이미지의 사용을 수반한다. 3차원 전자 센서는, 키친 모듈에서의 작업 공간의 시각적 표현(형상 및 치수 데이터)(1162)을 제공하기 위해 키친 동작 환경을 실시간으로 스캔한다. 예를 들면, 3차원 전자 센서는 로봇 팔/손이 고기를 집어드는지 또는 생선을 집어드는지의 여부의 3차원 이미지를 실시간으로 캡쳐한다. 키친의 3차원 모델은 또한, 몇몇 오브젝트가 비표준 치수를 가질 수도 있기 때문에, 오브젝트를 쥐기 위해 조정을 행하는 '사람 눈'의 부류처럼 기능할 수도 있다. 컴퓨트 프로세싱 시스템(16)은, 작업 공간에서 3차원 기하학적 형태의 컴퓨터 모델 및 오브젝트를 생성하고 제어 신호(1164)를 다시 표준화된 로봇식 키친(50)으로 제공한다. 예를 들면, 키친의 3차원 모델링은, 그리드 포인트 사이에 1 센티미터의 간격을 갖는 소망의 간격을 갖는 3차원 해상도 그리드를 제공할 수 있다.
표준화된 로봇식 키친(50)은, 하나 이상의 증강 센서 시스템(20)의 사용을 위한 다른 가능한 구성을 묘사한다. 표준화된 로봇식 키친(50)은, 표준화된 로봇식 키친(50)의 완전한 가시적 3차원 작업 공간을 효과적으로 커버하기 위한 의도를 가지고 키친 축의 길이를 따라 키친 작업 표면 위의 코너에 배치되는 다수의 증강 센서 시스템(20)을 도시한다.
표준화된 로봇식 키친(50)에서의 증강 센서 시스템(20)의 적절한 배치는, 비디오 카메라, 레이저, 소나 및 다른 2차원 및 3차원 센서 시스템을 사용한 3차원 감지를 허용하여, 로봇 팔, 손, 툴, 기기 및 어플라이언스에 대한 형상, 위치, 방위 및 활동의 실시간의 동적 모델에 대한 프로세싱된 데이터의 생성을, 원시 데이터의 수집체가 보조하는 것을 가능하게 하는데, 실시간 동적 모델이 표준화된 로봇식 키친(50)의 요리 복제의 다수의 순차적 스테이지에서 상이한 단계에 관련되기 때문이다.
표준화된 로봇식 키친(50)에서 요리 복제의 다수의 순차적인 스테이지에서의 상이한 단계에 중요한 모든 오브젝트의 형상, 치수, 위치 및 방위를 추출할 수 있도록 원시 데이터가 프로세싱되는 것을 허용하기 위해, 단계(1162)에서, 원시 데이터는 각각의 포인트에서 제시간에 수집된다. 프로세싱된 데이터는 또한, 로봇 스크립트에 의해 정의되는 제어 신호를 수정하는 것에 의해, 표준화된 로봇식 키친의 컨트롤러가 로봇 팔 및 손 궤적 및 미소 조작을 조정하는 것을 허용하기 위해, 컴퓨터 시스템에 의해 분석된다. 레시피 스크립트 실행 및 따라서 제어 신호에 대한 적응은, 많은 변수(재료, 온도, 등등)에 대한 가변성을 고려하면, 특정한 요리에 대한 복제의 각각의 스테이지를 성공적으로 완수하는 데 필수적이다. 주요 측정가능한 변수에 기초한 레시피 스크립트 실행의 프로세스는, 표준화된 로봇식 키친(50)에서 특정한 요리에 대한 복제 단계의 실행 동안 증강(또는 멀티모달로 칭함) 센서 시스템(20)의 사용의 필수 부분이다.
도 41a는 로봇식 키친 프로토타입을 예시하는 도면이다. 프로토타입 키친은 세 개의 레벨로 구성되는데, 상위 레벨은, 요리시 두 개의 팔이 따라 움직일 레일 시스템, 두 개의 로봇 팔이 충전용 독으로 돌아가고, 요리에 사용되지 않을 때 또는 키친이 수동 요리 모드로 설정될 때 두 개의 팔이 보관되는 것을 허용하는 추출가능한 후드(extractible hood)를 포함한다. 중간 레벨은 재료 저장소에 접근할 수 있는 싱크, 스토브, 그릴러, 오븐, 및 작업용 조리대를 포함한다. 중간 레벨은 또한, 기기를 동작시키고, 레시피를 고르고, 비디오 및 텍스트 지시를 보고, 오디오 지시를 듣기 위한 컴퓨터 모니터를 또한 구비한다. 하위 레벨은, 레시피에 의해 요구될 때 요리용 볼륨으로 재료를 자동적으로 전달하기 위한 가능성을 가지면서, 음식/재료를 그들의 최상의 상태에서 보관하기 위한 자동 컨테이너 시스템을 포함한다. 키친 프로토타입은 또한, 오븐, 식기세척기, 요리용 툴, 액세서리, 쿡웨어 분류기(organizer), 서랍(drawer) 및 휴지통(recycle bin)을 포함한다.
도 41b는, 주변 인간에 대한 잠재적 상해를 야기하는 것을 방지하기 위해 로봇식 요리 프로세스가 발생하는 동안, 보호 메커니즘으로서 기능하는 투명 재료 엔클로저(transparent material enclosure)를 갖는 로봇식 키친 프로토타입을 예시하는 도면이다. 투명 재료 엔클로저는 다양한 투명 재료, 예컨대 유리, 유리섬유, 플라스틱, 또는 다른 적절한 재료로 만들어질 수 있다. 하나의 예에서, 투명 재료 엔클로저는 자동 유리 도어(또는 도어들)를 포함한다. 이 실시형태에서 도시되는 바와 같이, 자동 유리 도어는, 로봇 팔의 사용을 수반하는 요리 프로세스 동안 안전성의 이유 때문에 위에서 아래로 또는 (바닥부로부터) 아래에서 위로 슬라이드하여 닫히도록 위치된다. 투명 재료 엔클로저의 설계에서의 변동도 가능한데, 예컨대 수직으로 아래로 슬라이딩하는 것, 수직으로 위로 슬라이딩하는 것, 수평에서 좌에서 우로 슬라이딩하는 것, 수평에서 우에서 좌로 슬라이딩하는 것, 또는 보호 메커니즘으로서 기능하도록 투명 재료 엔클로저를 키친에 배치하는 임의의 다른 방법이 가능하다.
도 41c는 표준화된 로봇식 키친의 한 실시형태를 묘사하는데, 여기서 조리대 표면 및 후드 하측에 의해 규정되는 볼륨은, 키친 근처에 서 있는 임의의 인간을 안전하게 보호하는 것과 같은 목적을 위해, 로봇 팔/손의 작업 공간을 그 주변환경과 분리할 수 있거나, 또는 키친 작업 영역 안으로의/밖으로의 오염물을 제한하거나, 또는 심지어 엔클로징된 볼륨 내에서 더 나은 기후적 제어를 허용하기 위해, 수동으로, 또는 컴퓨터 제어 하에서, 왼쪽으로 또는 오른쪽으로 이동될 수 있는 수평으로 슬라이딩하는 유리 도어(1190)를 갖는다. 자동 슬라이딩 유리 도어는, 로봇 팔의 사용을 수반하는 요리 프로세스 동안 안전성 이유 때문에 좌우로 닫힌다.
도 41d는 표준화된 로봇식 키친의 한 실시형태를 묘사하는데, 여기서 조리대 또는 작업 표면은, 로봇식 키친 조리대의 하부 캐비넷 볼륨에 있는 재료 보관 볼륨에 접근할 수 있는 슬라이딩 도어(1200)를 갖는 영역을 포함한다. 그 도어는, 그 안의 재료 컨테이너에 대한 접근을 허용하기 위해, 수동으로, 컴퓨터 제어 하에서 슬라이딩되어 열릴 수 있다. 수동으로, 또는 컴퓨터 제어 하에서, 하나 이상의 특정 컨테이너는 재료 보관 및 공급 유닛에 의해 조리대 레벨로 공급될 수 있고, 컨테이너, 그 덮개 및 따라서 컨테이너의 내용물에 대한 (이 설명에서는 로봇 팔/손에 의한) 수동 접근을 허용하게 된다. 그 다음, 로봇 팔/손은, 컨테이너를 다시 밀봉하여 그것을 다시 재료 보관 및 공급 유닛에 또는 그 안에 두기 이전에, 덮개를 열 수 있고, 필요로 되는 재료(들)를 검색할 수 있고, 재료(들)를 적절한 장소(접시, 팬, 냄비, 등등)에 놓을 수 있다. 그 다음, 재료 보관 및 공급 유닛은, 컨테이너를, 나중의 재사용, 클리닝 또는 재고보충(re-stocking)을 위해 유닛 내의 적절한 위치에 다시 두게 된다. 로봇 팔/손에 의한 접근을 위해 재료 컨테이너를 공급하고 다시 적재하는 이 프로세스는, 레시피 스크립트의 일부를 형성하는 필수적이고(integral) 반복적인 프로세스인데, 레시피 복제 프로세스 내의 소정의 단계가, 표준화된 로봇식 키친(50)이 관련될 레시피 스크립트 실행의 단계에 기초하여, 소정의 타입을 갖는 하나 이상의 재료를 요청하기 때문이다.
재료 보관 및 공급 유닛에 접근하기 위해, 슬라이딩 도어를 갖는 조리대의 부분은 열릴 수 있고, 이 경우, 레시피 소프트웨어는 도어를 제어하고, 지정된 컨테이너 및 재료를, 로봇 팔(들)이 컨테이너를 집어 들 수 있고, 덮개를 열 수 있고, 재료를 컨테이너 밖으로 꺼내 지정된 장소로 옮길 수 있고, 덮개를 다시 덮을 수 있고 그리고 컨테이너를 다시 저장소로 이동시킬 수 있는 접근 위치로 이동시킨다. 컨테이너는 접근 위치로부터 보관 유닛의 자신의 디폴트 위치로 다시 이동되고, 그 다음, 신규의/다음 번 컨테이너 아이템이 접근 위치로 적재되어 집어 들린다.
재료 보관 및 공급 유닛(1210)에 대한 대안적인 실시형태가 도 41e에서 묘사된다. 특정한 또는 반복적으로 사용되는 재료(소금, 설탕, 곡분, 오일, 등등)는 컴퓨터 제어 공급 메커니즘을 사용하여 분배될 수 있거나 또는 특정 재료의 특정량의, 인간에 의하든 또는 로봇 손 또는 손가락에 의하든 간에, 수동 트리거된 배출을 허용할 수 있다. 분배될 재료의 양은, 터치 패널 상에서 인간 또는 로봇 손에 의해 수동으로 입력될 수 있거나, 또는 컴퓨터 제어를 통해 제공될 수 있다. 그 다음, 분배된 재료는 레시피 복제 프로세스 동안의 임의의 시간에 키친 기기(보울, 팬, 냄비 등등)으로 수집되거나 공급될 수 있다. 재료 공급 및 분배 시스템의 이 실시형태는, 보다 비용 효율적이고 공간 효율적인 방식인 것으로, 또한 동시에, 컨테이너 핸들링 복잡성뿐만 아니라 로봇 팔/손에 의한 낭비되는 모션 시간을 감소시키는 것으로 생각될 수 있다.
도 41f에서, 표준화된 로봇식 키친의 한 실시형태는 더러움방지 영역(backsplash area)(1220)을 포함하는데, 더러움방지 영역 안에는, 수동 모드에서 키친을 동작시키는 유저가 로봇식 키친 및 그 엘리먼트와 상호작용하는 것을 허용하기 위한 터치스크린 영역을 갖는 가상의 모니터/디스플레이가 마운팅된다. 컴퓨터 투사 이미지 및 투사된 이미지를 모니터링하는 별개의 카메라는, 투사된 이미지 내의 위치에 기초하여 특정한 선택을 행할 때 인간 손 및 그 손가락이 어디에 있는지를 알 수 있고, 알게 되면, 시스템은 상응하게 작용한다. 가상 터치스크린은, 표준화된 로봇식 키친(50) 내의 기기의 모든 양태에 대한 모든 제어 및 모니터링에 대한 액세스, 레시피의 검색 및 저장, 인간 요리사에 의한 완전한 또는 부분적인 레시피 실행 단계의 저장된 비디오의 검토(reviewing)뿐만 아니라 특정한 레시피에서의 특정한 단계 또는 동작에 관련되는 인간 요리사가 말로 나타내는 설명 및 지시의 가청적 재생을 청취하는 것을 허용한다.
도 41g는, 표준화된 로봇식 키친으로 구축되는 단일의 또는 일련의 로봇식 하드 자동화 디바이스(들)(1230)를 묘사한다. 디바이스 또는 디바이스들은 컴퓨터에 의해 원격으로 프로그래밍가능하고 제어가능하며, 레시피 복제 프로세스에 필요로 되는 전용 재료 엘리먼트, 예컨대 양념(소금, 후추, 등등), 액체(물, 오일, 등등) 또는 다른 건조 재료(곡분, 설탕, 베이킹 파우더, 등등)의 사전 패키지화된 또는 사전 측정된 양을 공급 또는 제공하도록 설계된다. 이들 로봇 자동화 디바이스(1230)는, 레시피 스크립트에서 특정되는 요구에 기초하여 선택된 재료의 미리 결정된 양의 배출을 설정 및/또는 트리거하기 위해, 로봇 팔/손이 이들 디바이스에 쉽게 액세스할 수 있게 하여 이들 디바이스가 로봇 팔/손 또는 인간 요리사의 팔/손에 의해 사용되는 것을 허용하도록 위치된다.
도 41h는, 표준화된 로봇식 키친으로 구축되는 단일의 또는 일련의 로봇식 하드 자동화 디바이스(들)(1340)를 묘사한다. 디바이스 또는 디바이스들은 컴퓨터에 의해 원격으로 프로그래밍가능하고 제어가능하며, 레시피 복제 프로세스에 필요로 되는 일반적으로 그리고 반복적으로 사용된 재료 엘리먼트의 사전 패키지화된 또는 사전 측정된 양을 공급 또는 제공하도록 설계되는데, 이 경우, 첨가 제어 엔진/시스템은, 보울, 냄비 또는 팬과 같은 특정 기기에 적량만을 제공할 수 있다. 이들 로봇 자동화 디바이스(1340)는, 레시피 스크립트에서 특정되는 요구에 기초하여 선택된 재료의 첨가 엔진에 의해 제어된 양의 배출을 설정 및/또는 트리거하기 위해, 로봇 팔/손이 이들 디바이스에 쉽게 액세스할 수 있게 하여 이들 디바이스가 로봇 팔/손 또는 인간 요리사의 팔/손에 의해 사용되는 것을 허용하도록 위치된다. 재료 공급 및 분배 시스템의 이 실시형태는, 보다 비용 효율적이고 공간 효율적인 방식인 것으로, 또한 동시에, 컨테이너 핸들링 복잡성뿐만 아니라 로봇 팔/손에 의한 낭비되는 모션 시간을 감소시키는 것으로 생각될 수 있다.
도 41i는, 자동화된 요리 프로세스 동안 연기 및 증기를 배출하기 위해 통풍 시스템(ventilation system; 1250)뿐만 아니라, 슬라이딩 도어의 안전 유리가, 영향을 받은 공간을 포함하도록 표준화된 로봇식 키친(50)을 엔클로징하는 것을 또한 허용하는, 유해한 연기 또는 위험한 불의 임의의 소스를 끄기 위한 자동 연기/화염 검출 및 억제 시스템(1252) 둘 다를 갖춘 표준화된 로봇식 키친을 묘사한다.
도 41j는, 제거가능한 덮개를 갖는 쓰레기 컨테이너(trash container)의 세트에 의해 재활용가능한(유리, 알루미늄, 등등) 아이템 및 재활용가능하지 않은(음식물 쓰레기(food scrap), 등등) 아이템의 쉽고 빠른 폐기를 허용하도록 하부 캐비넷의 위치 내에 위치되는 쓰레기 관리 시스템(1260)을 갖는 표준화된 로봇식 키친(50)을 묘사하는데, 제거가능한 덮개는, 악취가 표준화된 로봇식 키친(50) 안으로 스며드는 것을 방지하기 위해 기밀성을 제공하기 위한 밀봉 엘리먼트(가스켓, O 링, 등등)를 포함한다.
도 41k는, 로봇식 로딩 및 언로딩의 용이성을 위해 키친의 소정의 위치 내에 위치되는 상부 적재식(top-loaded) 식기세척기(1270)을 갖는 표준화된 로봇식 키친(50)을 묘사한다. 식기세척기는, 자동화된 레시피 복제 단계 실행 동안 일체형 배수 그루브를 갖는 도마 또는 작업 공간으로서 또한 사용될 수 있는 밀봉 덮개 포함한다.
도 41l은, 센서 및 음식 프로브를 갖는 기구가 구비된 패널로 이루어지는 기구가 구비된 재료 품질 체크 시스템(1280)을 갖는 표준화된 키친을 묘사한다. 그 영역은, 그 영역 내에 놓이는 재료의, 손상(암모니아 센서), 온도(써모커펄(thermocouple)), 휘발성 유기 화합물(바이오매스 분해시 방출됨)뿐만 아니라, 습기/습도(습도계) 함량을 포함하지만 이들로 제한되지는 않는 다수의 물리적 및 화학적 특성을 검출할 수 있는 더러움 방지판 상의 센서를 포함한다. 온도 센서(써모커플) 검출 디바이스를 사용한 음식 프로브는, 특정한 요리용 재료 또는 엘리먼트의 내부 속성(예컨대 붉은 고기(red meat), 가금류, 등등의 내부 온도)을 프로브하기 위해 로봇 팔/손에 의해 사용되도록 또한 제공될 수 있다.
도 42a는 표준화된 로봇식 키친의 한 실시형태를 평면도(50)로 묘사하는데, 이것에 의해, 그 내부의 엘리먼트는 상이한 양식으로 정렬될 수 있다는 것이 이해되어야 한다. 표준화된 로봇식 키친은 세 개의 레벨, 즉 상위 레벨(1292-1), 조리대 레벨(1292-2) 및 하위 레벨(1292-3)로 분할된다.
상위 레벨(1292-1)은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다. 가장 단순한 레벨에서, 선반/캐비넷 보관 영역(1294)은, 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1296), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(storage ripening cabinet volume; 1298), 양상추(lettuce) 및 양파와 같은 아이템용의 냉장 보관 구역(1300), 냉동 아이템(deep-frozen item)용 냉동 보관 캐비넷 볼륨(1302), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1304), 등등이 포함된다.
조리대 레벨(1292-2)은, 로봇 팔(70)을 수용할 뿐만 아니라, 서빙 조리대(1306), 싱크(1308)를 갖는 조리대 영역, 제거가능한 작업용 표면(도마/차핑 보드, 등등)을 갖는 다른 조리대 영역(1310), 차콜 기반의 슬레이트 그릴(slatted grill)(1312) 및 스토브, 쿠커, 찜기 및 포쳐(poacher)를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다.
하위 레벨(1292-3)은 통합 컨벡션 오븐 및 전자레인지(1316), 식기세척기(1318) 및 추가적인 빈번히 사용되는 쿠킹웨어 및 베이킹웨어뿐만 아니라, 테이블웨어 및 포장 재료 및 커트러리(cutlery)를 유지 보관하는 대형 캐비넷 볼륨(1320)을 수용한다.
도 42b는, 표준화된 로봇식 키친 내에서의 로봇 팔(34)의 위치결정을 위한 적절한 기하학적 참조를 허용하는 x축(1322), y축(1324) 및 z축(1326)을 갖는 xyz 좌표 프레임 내에서, 상위 레벨(1292-1), 조리대 레벨(1292-2), 하위 레벨(1294-3)을 묘사하는 표준화된 로봇식 키친의 사시도(50)를 묘사한다.
로봇식 키친(50)의 사시도는, 모두 세 개의 레벨에서의 기기에 대한 많은 가능한 레이아웃 및 위치 중 하나를 명백히 식별하는데, 세 개의 레벨은, 상위 레벨(1292-1)(보관 팬트리(1304), 표준화된 요리용 툴 및 웨어(1320), 숙성 보관 구역(1298), 냉장 보관 구역(1300), 및 냉동 보관 구역(1302)), 조리대 레벨(1292-2)(로봇 팔(70), 싱크(1308), 차핑/컷팅 영역(1310), 차콜 그릴(1312), 요리용 어플라이언스(1314) 및 서빙 조리대(1306)) 및 하위 레벨(식기세척기(1318) 및 오븐 및 전자레인지(1316))을 포함한다.
도 43a는 표준화된 로봇식 키친 레이아웃의 하나의 가능한 물리적 실시형태의 평면도를 묘사하는데, 여기서 키친은, 유저가 기기를 동작시키고, 레시피를 고르고 비디오를 보고 기록된 요리사의 지시를 보기 위한 내장형 모니터(1328)뿐만 아니라, 로봇 팔의 동작 동안 표준화된 로봇 요리용 볼륨의 오픈 페이스(open face)를 엔클로징하기 위한 자동적으로 컴퓨터 제어되는 좌/우 가동의 투명 도어(1330)를 묘사하는 더 선형의 실질적으로 직사각형의 수평 레이아웃 안으로 구축되어 있다.
도 43b는 표준화된 로봇식 키친 레이아웃의 하나의 가능한 물리적 실시형태의 사시도를 묘사하는데, 여기서 키친은, 유저가 기기를 동작시키고, 레시피를 고르고 비디오를 보고 기록된 요리사의 지시를 보기 위한 내장형 모니터(1332)뿐만 아니라, 로봇 팔의 동작 동안 표준화된 로봇 요리용 볼륨의 오픈 페이스를 엔클로징하기 위한 자동적으로 컴퓨터 제어되는 좌/우 가동의 투명 도어(1334)를 묘사하는 더 선형의 실질적으로 직사각형의 수평 레이아웃 안으로 구축되어 있다. 표준화된 로봇식 키친에서의 샘플 스크린 샷은 도 43c 내지 도 43e에서 예시되고, 한편 도 43f는 샘플 키친 모듈 명세를 묘사한다.
도 44a는 표준화된 로봇식 키친 레이아웃의 다른 가능한 물리적 실시형태의 평면도를 묘사하는데, 여기서 키친은, 유저가 기기를 동작시키고, 레시피를 고르고 비디오를 보고 기록된 요리사의 지시를 보기 위한 내장형 모니터(1336)뿐만 아니라, 로봇 팔의 동작 동안 표준화된 로봇 요리용 볼륨의 오픈 페이스를 엔클로징하기 위한 자동적으로 컴퓨터 제어되는 상하 가동의 투명 도어(1338)를 묘사하는 더 선형의 실질적으로 직사각형의 수평 레이아웃 안으로 구축되어 있다.
도 44b는 표준화된 로봇식 키친 레이아웃의 다른 가능한 물리적 실시형태의 사시도를 묘사하는데, 여기서 키친은, 유저가 기기를 동작시키고, 레시피를 고르고 비디오를 보고 기록된 요리사의 지시를 보기 위한 내장형 모니터(1340)뿐만 아니라, 로봇 팔의 동작 동안 표준화된 로봇 요리용 볼륨의 오픈 페이스를 엔클로징하기 위한 자동적으로 컴퓨터 제어되는 상하 가동의 투명 도어(1342)를 묘사하는 더 선형의 실질적으로 직사각형의 수평 레이아웃 안으로 구축되어 있다.
도 45는 표준화된 로봇식 키친(50)의 신축 라이프(telescopic life; 1350)의 사시 레이아웃을 묘사하는데, 여기서, 로봇 팔, 손목 및 다수의 손가락의 손의 쌍은, 수직 y축(1352) 및 수평 x축(1354)을 따라 (선형 스테이지의 연장을 통해) 분광적으로(prismatically) 그리고 신축적으로 작동되는 토르소 상에서 뿐만 아니라, 그 자신의 토르소의 중심선을 통해 이어지는 수직 y축을 기준으로 회전적으로, 한 단위로서 이동한다. 레시피 스크립트에서 설명되는 레시피의 복제의 모든 부분 동안 로봇 팔이 표준화된 로봇식 키친의 상이한 장소로 이동되는 것을 허용하기 위해, 레시피의 액추에이터는 토로소의 상위 레벨에 임베딩되어 이들 선형 및 회전 모션을 허용한다. 이들 다수의 모션은, 인간 요리사에 의해 요리될 때 요리를 만드는 동안 요리사 스튜디오 키친 셋업에서 관찰되는 것과 같은 인간 요리사(49)의 모션을 적절히 복제할 수 있기 위해 필요하다.
도 46a는 표준화된 로봇식 키친의 하나의 물리적 실시형태의 평면도(1356)를 묘사하는데, 여기서, 키친은 손목 및 다수의 손가락의 손을 갖는 듀얼 로봇 팔의 세트를 묘사하는 더 선형의 실질적으로 직사각형의 수평 레이아웃으로 구축되고, 암 베이스(arm base)의 각각은 가동 레일의 세트 상에도 마운팅되지 않고 회전가능한 토르소 상에도 마운팅되지 않으며, 대시 하나의 동일한 로봇식 키친 수직 표면 상에 견고하고 이동불가능하게 마운팅되고, 그 결과 로봇 토르소의 위치 및 치수를 정의하고 고정하게 되고, 또한 여전히 로봇 팔 양자가 협력적으로 작용하는 것을 허용하고 요리용 표면 및 기기의 모든 영역에 도달하는 것을 허용하게 된다.
도 46b는 표준화된 로봇식 키친의 하나의 물리적 실시형태의 사시도(1358)를 묘사하는데, 여기서, 키친은 손목 및 다수의 손가락의 손을 갖는 듀얼 로봇 팔의 세트를 묘사하는 더 선형의 실질적으로 직사각형의 수평 레이아웃으로 구축되고, 암 베이스의 각각은 가동 레일의 세트 상에도 마운팅되지 않고 회전가능한 토르소 상에도 마운팅되지 않으며, 대시 하나의 동일한 로봇식 키친 수직 표면 상에 견고하고 이동불가능하게 마운팅되고, 그 결과 로봇 토르소의 위치 및 치수를 정의하고 고정하게 되고, 또한 여전히 로봇 팔 양자가 협력적으로 작용하는 것을 허용하고 요리용 표면 및 기기(이면 상의 오븐, 로봇 팔 아래의 쿡탑 및 로봇 팔의 일측으로의 싱크)의 모든 영역에 도달하는 것을 허용하게 된다.
도 46c는 표준화된 로봇식 키친의 하나의 가능한 물리적 실시형태의 치수화된 정면도(1360)를 묘사하는데, y축을 따른 그 높이 및 x축을 따른 폭이 모두 2284mm인 것을 나타내고 있다.
도 46d는 표준화된 로봇식 키친의 하나의 가능한 물리적 실시형태의 치수화된 측단면도(1362)를 묘사하는데, y축을 따른 그 높이가, 각각, 2164mm 및 3415mm인 것을 나타내고 있다.
도 46e는 표준화된 로봇식 키친의 하나의 가능한 물리적 실시형태의 치수화된 정면도(1364)를 묘사하는데, y축을 따른 그 높이 및 z축을 따른 깊이가, 각각, 2284mm 및 1504mm인 것을 나타내고 있다.
도 46f는 표준화된 로봇식 키친의 하나의 물리적 실시형태의 치수화된 상부 단면도(1366)를 묘사하는데, 로봇 팔(1368)의 쌍을 포함하며, z축을 따른 전체 로봇식 키친 모듈의 깊이가 전체 1504mm인 것을 나타내고 있다.
도 46g는 표준화된 로봇식 키친의 하나의 물리적 실시형태의, 단면도에 의해 확대한 세 개의 뷰를 묘사하는데, x축을 따른 전체 길이가 3415mm이고, y축을 따른 전체 높이가 2164mm이고, z축을 따른 전체 깊이가 1504mm인 것을 나타내며, 여기서 단면 측면도에서의 전체 높이는 2284mm의 z축을 따른 전체 높이를 나타낸다.
도 47은, 표준화된 로봇식 키친(50)과 함께 사용하기 위한 프로그래밍가능한 보관 시스템(88)을 예시하는 블록도이다. 프로그래밍가능한 보관 시스템(88)은, 보관 시스템(88) 내에서의 상대적인 xy 위치 좌표에 기초하여 표준화된 로봇식 키친(50)에서 구조화된다. 이 예에서, 프로그래밍가능한 보관 시스템(88)은, 아홉 개의 칼럼과 세 개의 로우를 갖는 스물일곱 개(27; 9×3 매트릭스에서 정렬됨)의 보관 위치를 갖는다. 프로그래밍가능한 보관 시스템(88)은 냉동고 위치 또는 냉장 위치로서 기능한다. 이 실시형태에서, 스물일곱 개의 프로그래밍가능한 보관 위치의 각각은 네 개의 타입의 센서: 압력 센서(1370), 습도 센서(1372), 온도 센서(1374), 및 냄새(후각) 센서(1376)를 포함한다. 각각의 보관 위치가 자신의 xy 좌표에 의해 식별가능한 상태에서, 로봇 장치는, 요리를 준비하기 위해, 선택된 프로그래밍가능한 보관 위치에 접근하여 그 위치에서 필요한 음식 아이템(들)을 획득할 수 있다. 컴퓨터(16)는 또한, 특정한 음식 아이템 또는 재료에 대한 최적의 보관 상태가 모니터링되고 유지되는 것을 보장하기 위해, 적절한 온도, 적절한 습도, 적절한 압력, 및 적절한 냄새 프로파일에 대해 각각의 프로그래밍가능한 보관 위치를 모니터링할 수 있다.
도 48은 컨테이너 보관 스테이션(86)의 정면도를 묘사하는데, 여기서 온도, 습도 및 상대 산소 농도(및 다른 룸 조건)이 컴퓨터에 의해 모니터링되고 제어될 수 있다. 이 보관 컨테이너 유닛에, 팬트리/건조 보관 영역(1304), 와인에 중요한 (과일/야채에 대한) 온도 및 습도가 개별적으로 제어가능한 숙성 영역(1298), 유통 기한(shelf life)을 최적화하기 위해 제품/과일/고기에 대한 더 낮은 온도 보관을 위한 칠러 유닛(1300), 및 다른 아이템(고기, 베이킹 제품, 씨푸드, 아이스크림, 등등)의 장기간 보관을 위한 냉동고 유닛(1302)이 포함될 수 있지만, 이들로 제한되지는 않는다.
도 49는, 인간 요리사 및 로봇 팔 및 다수의 손가락의 손에 의해 접근될 재료 컨테이너(1380)의 정면도를 묘사한다. 표준화된 로봇식 키친의 이 섹션은, 재료 품질 모니터링 대시보드(디스플레이)(1382), 컴퓨터화된 측정 유닛(1384)(바코드 스캐너, 카메라 및 자를 포함함), 재료 체크인 및 체크아웃을 위한 자동화된 랙 선반(rack-shelving)을 갖는 별개의 조리대(1386), 및 재활용가능한 하드재(hard goods)(유리, 알루미늄, 금속 등등) 및 재활용에 적합한 소프트재(soft goods)(남은 음식(food rest) 및 음식물 쓰레기, 등등)의 폐기를 위한 재활용 유닛(1388)을 포함하는 다수의 유닛을 포함하지만, 이들로 제한되지는 않는다.
도 50은, 인간 요리사에 의한 사용을 위한 컴퓨터 제어된 디스플레이인 재료 품질 모니터링 대시보드(1390)를 묘사한다. 디스플레이는, 유저가, 인간 및 로봇 요리의 재료 공급 및 재료 품질 양태에 중요한 다수의 아이템을 보는 것을 허용한다. 이들은, 인간 유저가 대시보드(1390)을 통해 컴퓨터화된 재고 시스템과 상호작용하는 것을 허용하기 위해, 이용가능한 것을 개설하는(outlining) 재료 재고 개관(ingredient inventory overview)의 디스플레이(1392), 선택된 개개의 재료 및 그 영양 성분과 상대적 분포(1394), 보관 카테고리(1396)의 기능으로서의 양 및 전용 보관(고기, 야채, 등등), 계류 중인 유효 기간 및 이행/보충 날짜 및 아이템을 묘사하는 스케줄(1398), 임의의 종류의 경고(1400)에 대한 영역(감지된 손상, 비정상적인 온도 또는 부조(malfunciton), 등등), 및 음성 해석기 커맨드 입력(voice-interpreter command input; 1402)를 포함한다.
도 51은 레시피 파라미터의 라이브러리 데이터베이스(1410)의 하나의 예를 예시하는 테이블이다. 레시피 파라미터의 라이브러리 데이터베이스(1410)는 많은 카테고리: 식사 그룹화 프로파일(1402), 요리법의 타입(1404), 미디어 라이브러리(1406), 레시피 데이터(1408), 로봇식 키친 툴 및 기기(1410), 재료 그룹화(1412), 재료 데이터(1414), 및 요리 기술(1416)을 포함한다. 이들 카테고리의 각각은, 레시피를 선택함에 있어서 이용가능한 상세한 선택사항의 리스트를 제공한다. 식사 그룹 프로파일은 연령, 성별, 몸무게, 알러지, 약물치료 및 라이프스타일을 포함한다. 요리법의 타입 그룹 프로파일(1404)은, 지역, 문화, 또는 종료에 의한 요리법 타입을 포함하고, 요리용 기기 그룹 프로파일(1410)의 타입은 팬, 그릴, 또는 오븐과 같은 아이템 및 요리 지속 시간을 포함한다. 레시피 데이터 그룹화 프로파일(1408)은, 레시피 이름, 버전, 요리 및 준비 시간, 필요한 툴 및 어플라이언스, 등등과 같은 아이템을 포함한다. 재료 그룹화 아이템 프로파일(1412)은, 유제품(dairy), 과일 및 야채, 곡물 및 다른 탄수화물, 다양한 타입의 유체, 및 다양한 종류(고기, 콩)의 단백질, 등등과 같은 아이템으로 그룹화되는 재료를 포함한다. 재료 데이터 그룹 프로파일(1414)은, 이름, 설명, 영양 정보, 보관 및 핸들링 지시사항 등등과 같은 재료 디스크립터 데이터(ingredient descriptor data)를 포함한다. 요리 기술 그룹 프로파일(1416)은, 기계적 기술(베이스팅(basting), 차핑, 갈기(grating), 다지기, 등등) 및 화학적 프로세싱 기술(양념장에 재우기(marinating), 절이기(pickling), 발효하기(fermenting), 훈제하기(smoking), 등등)과 같은 영역으로 그룹화되는 특정 요리 기술에 대한 정보를 포함한다.
도 52는 요리사의 음식 준비 프로세스를 기록하는 하나의 실시형태의 프로세스(1420)의 하나의 실시형태를 예시하는 흐름도이다. 단계(1422)에서, 요리사 스튜디오(44)에서, 멀티모달 3차원 센서(20)는, 표준화된 키친 기기 및, 정적이든 또는 동적이든 간에, 그 안의 모든 오브젝트의 xyz 좌표 위치 및 방위를 정의하기 위해, 키친 모듈 볼륨을 스캔한다. 단계(1424)에서, 멀티모달 3차원 센서(20)은, 표준화되지 않은 오브젝트, 예컨대 재료의 xyz 좌표 위치를 찾기 위해, 키친 모듈의 볼륨을 스캔한다. 단계(1426)에서, 컴퓨터(16)는 모든 표준화되지 않은 오브젝트에 대한 3차원 모델을 생성하고 그들의 타입 및 속성(사이즈, 치수, 용법, 등등)을, 컴퓨팅 디바이스 상에 있거나 또는 클라우드 컴퓨팅 환경 상에 있는 컴퓨터의 시스템 메모리에 저장하고, 표준화되지 않은 오브젝트의 형상, 사이즈 및 타입을 정의한다. 단계(1428)에서 요리사 움직임 기록용 모듈(98)은 연속적인 시간 간격에서 요리사의 글로브를 통해 요리사의 팔, 손목 및 손 움직임을 감지하고 캡쳐하도록 구성된다(요리사의 손 움직임은 표준 미소 조작에 따라 식별되고 분류되는 것이 바람직하다). 단계(1430)에서, 컴퓨터(16)는, 음식을 준비함에 있어서의 요리사의 움직임의 감지되고 캡쳐된 데이터를 컴퓨터의 메모리 저장 디바이스(들)에 저장한다.
도 53은, 음식을 준비하는 로봇 장치의 하나의 실시형태의 프로세스(1440)의 하나의 실시형태를 예시하는 흐름도이다. 단계(1442)에서, 로봇식 키친(48)의 멀티모달 3차원 센서(20)는, 표준화되지 않은 오브젝트(재료, 등등)의 xyz 위치 좌표를 찾기 위해 키친 모듈의 볼륨을 스캔한다. 단계(1444)에서, 로봇식 키친(48)의 멀티모달 3차원 센서(20)는 표준화된 로봇식 키친(50)에서 검출되는 표준화되지 않은 오브젝트에 대한 3차원 모델을 생성하고 표준화되지 않은 오브젝트의 형상, 사이즈 및 타입을 컴퓨터의 메모리에 저장한다. 단계(1446)에서, 로봇식 요리용 모듈(110)은, 요리사의 음식 준비 프로세스를 동일한 페이스로, 동일한 움직임으로, 그리고 유사한 시간 지속기간을 가지고 복제하는 것에 의해 변환된 레시피 파일에 따른 레시피의 실행을 시작한다. 단계(1448)에서, 로봇 장치는, 하나 이상의 미소 조작 및 액션 프리미티브의 조합을 갖는 변환된 레시피 파일의 로봇 명령어를 실행하고, 그 결과 로봇식 표준화된 키친에서의 로봇 장치가, 마치 요리사(49) 자신이 음식을 준비한 것처럼 동일한 결과 또는 실질적으로 동일한 결과를 갖는 음식을 준비하는 것으로 나타나게 된다.
도 54는, 로봇에 의한 음식 준비에서 요리사를 기준으로 동일한 또는 실질적으로 동일한 결과를 획득함에 있어서의, 품질 및 기능 조정(1450)에서의 하나의 실시형태의 프로세스를 예시하는 흐름도이다. 단계(1452)에서, 품질 체크 모듈(56)은, 하나 이상의 멀티모달 센서, 로봇 장치 상의 센서를 통해 로봇 장치에 의한 레시피 복제 프로세스를 모니터링하고 확인하는 것, 및 로봇 장치로부터의 출력 데이터를, 동일한 레시피를 실행하는 동안 표준화된 로봇식 키친의 요리사 스튜디오 버전에서 인간 요리사에 의해 실행된 요리 프로세스를 모니터링하고 추상화하는 것에 의해 생성되는 소프트웨어 레시피 파일로부터의 제어 데이터에 대해 비교하기 위해 추상화 소프트웨어를 사용하는 것에 의해, 품질 체크를 행하도록 구성된다. 단계(1454)에서, 로봇식 음식 준비 엔진(56)은, 로봇 장치가 음식 준비 프로세스, 예컨대, 적어도, 재료의 사이즈, 형상, 또는 방위에서의 차이에 대한 모니터링에 대한 조정을 행할 것을 규정할 임의의 차이(들)를 검출하고 결정하도록 구성된다. 차이가 존재하면, 로봇식 음식 준비 엔진(56)은, 원시 센서류 입력 데이터 및 프로세싱된 센서류 입력 데이터에 기초하여 그 특정한 음식 프로세싱 단계에 대한 하나 이상의 파라미터를 조정하는 것에 의해 음식 준비 프로세스를 수정하도록 구성된다. 레시피 스크립트의 저장된 프로세스 변수에 비교한 감지되고 추상화된 프로세스 진척 사이의 잠재적인 차이에 대해 작용하는 결정이 단계(1454)에서 이루어진다. 표준화된 로봇식 키친에서의 요리 프로세스의 프로세스 결과가 그 프로세스 단계에 대해 레시피 스크립트에서 설명되는 것과 동일하면, 음식 준비 프로세스는 레시피 스크립트에서 설명되는 바와 같이 계속된다. 원시 및 프로세싱된 센서류 입력 데이터에 기초하여 프로세스에 대해 수정 또는 적응이 필요로 되면, 프로세스 변수를, 그 프로세스 단계에 대한 레시피 스크립트에서 규정되는 것과 부합하게 가져가는 것을 보장하는 데 필요한 임의의 파라미터를 조정하는 것에 의해, 적응 프로세스(1556)는 실행된다. 적응 프로세스(1456)의 성공적인 결론시, 음식 준비 프로세스(1458)은 레시피 스크립트 시퀀스에서 규정되는 바와 같이 재개한다.
도 55는, 로봇식 키친의 기록된 소프트웨어 파일로부터 요리사의 움직임을 복제하는 것에 의해 요리를 준비하는 로봇식 키친의 프로세스(1460)에서의 제1 실시형태를 예시하는 흐름도이다. 단계(1462)에서, 유저는, 컴퓨터를 통해, 로봇 장치가 음식을 준비할 특정한 레시피를 선택한다. 단계(1464)에서, 로봇식 음식 준비 엔진(56)은 음식 준비를 위해 선택된 레시피에 대한 추상화된 레시피를 검색하도록 구성된다. 단계(1468)에서, 로봇식 음식 준비 엔진(56)은, 선택된 레시피 스크립트를 컴퓨터의 메모리로 업로딩하도록 구성된다. 단계(1470)에서, 로봇식 음식 준비 엔진(56)은, 재료 이용가능성 및 필요로 되는 요리 시간을 계산한다. 단계(1472)에서, 로봇식 음식 준비 엔진(56)은, 선택된 레시피 및 서빙 스케줄에 따른 재료가 부족하거나 요리를 준비할 충분한 시간이 없으면, 경고 또는 통지를 제기하도록 구성된다. 로봇식 음식 준비 엔진(56)은, 단계(1472)에서, 누락된 또는 불충분한 재료를 쇼핑 리스트 상에 두기 위한 경고를 전송하거나 또는 대안적인 레시피를 선택한다. 유저에 의한 레시피 선택은 단계(1474)에서 확인된다. 단계(1476)에서, 로봇식 음식 준비 엔진(1476)은, 레시피를 준비할 시간인지의 여부를 체크하도록 구성된다. 프로세스(1460)는, 단계(1476)에서, 시작 시간이 도달할 때까지 일시정지한다. 단계(1460)에서, 로봇 장치는, 신선도 및 상태(예를 들면, 구매 날짜, 유효 기간, 향, 컬러)에 대해 각각의 재료를 검사한다. 단계(1462)에서, 로봇식 음식 준비 엔진(56)은, 표준화된 컨테이너로부터 음식 준비 위치로 음식 또는 재료를 이동시키기 위해 로봇 장치로 명령어를 전송하도록 구성된다. 단계(1464)에서, 로봇식 음식 준비 엔진(56)은, 소프트웨어 레시피 스크립트 파일로부터 음식을 복제하는 것에 의해 시작 시간 "0"에서 음식 준비를 시작할 것을 로봇 장치에게 명령하도록 구성된다. 단계(1466)에서, 표준화된 키친(50)의 로봇 장치는, 요리사 팔 및 손가락과 동일한 움직임으로, 동일한 재료로, 동일한 페이스로, 그리고 동일한 표준화된 키친 기기 및 툴을 사용하여 음식을 복제한다. 로봇 장치는 단계(1468)에서 임의의 필요한 파라미터 조정을 행하기 위해 음식 준비 프로세스 동안 품질 체크를 행한다. 단계(1470)에서, 로봇 장치는 음식의 복제 및 준비를 완료했고, 따라서 음식을 플레이팅하여 서빙할 준비가 되었다.
도 56은, 보관 컨테이너 체크인 및 식별(1480)의 프로세스를 묘사한다. 품질 모니터링 대시보드를 사용하여, 유저는 단계(1482)에서 재료를 체크인할 것을 선택한다. 그 다음, 단계(1484)에서, 유저는 체크인 스테이션 또는 조리대에서 재료 패키지를 스캔한다. 바코드 스캐너, 저울, 카메라 및 레이저 스캐너로부터의 추가 데이터를 사용하여, 로봇식 요리용 엔진은, 단계(1486)에서, 재료 고유의 데이터를 프로세싱하고 그 재료 고유의 데이터를 자신의 재료 및 레시피 라이브러리에 매핑하고, 임의의 잠재적인 알러지 영향에 대해 그 재료 고유의 데이터를 분석한다. 단계(1488)에 기초하여 알러지 가능성이 존재하면, 시스템은 단계(1490)에서 유저에게 통지하여 안전상의 이유로 그 재료를 폐기할 것을 결정한다. 재료가 허용가능한 것으로 간주되면, 단계(1492)에서, 그 재료는 시스템에 의해 등록되어 확인된다. 유저는, 단계(1494)에서, (아직 언패킹되지 않다면) 아이템을 언패킹하고 아이템을 드롭오프(drop off)할 수도 있다. 후속하는 단계(1496)에서, 아이템은 패킹되고(호일, 진공백, 등등), 모든 필요한 재료 데이터가 인쇄된 컴퓨터 인쇄 라벨로 라벨링되고, 식별의 결과에 기초하여 보관 컨테이너 및/또는 보관 위치로 이동된다. 그 다음, 단계(1498)에서, 로봇식 요리용 엔진은 자신의 내부 데이터베이스를 업데이트하고 이용가능한 재료를 자신의 품질 모니터링 대시보드에 디스플레이한다.
도 57은 저장소로부터의 재료의 체크아웃 및 요리 준비 프로세스(1500)를 묘사한다. 제1 단계(1502)에서, 유저는 품질 모니터링 대시보드를 사용하여 재료를 체크아웃할 것을 선택한다. 단계(1504)에서, 유저는 하나 이상의 레시피에 대해 필요한 단일의 아이템에 기초하여 체크아웃할 아이템을 선택한다. 그 다음, 컴퓨터화된 키친은 단계(1506)에서, 선택된 아이템을 포함하는 특정 컨테이너를 그 보관 위치로부터 조리대 영역으로 이동하도록 작용한다. 단계(1508)에서 유저가 아이템을 집어 드는 경우, 유저는 그 아이템을 단계(1510)에서 많은 가능한 방식(요리하기, 폐기하기, 재활용하기, 등등) 중 하나 이상으로 프로세싱하는데, 임의의 나머지 아이템(들)은 단계(1512)에서 시스템으로 다시 체크인되고, 그 다음, 단계(1514)에서, 시스템(1514)과의 유저의 상호이 종료한다. 표준화된 로봇식 키친의 로봇 팔이 검색된 재료 아이템(들)을 수신하는 경우, 단계(1516)는 실행되는데, 단계(1516)에서, 팔 및 손은 컨테이너 안의 각각의 재료 아이템을, 그들의 식별 데이터(타입 등등) 및 상태(유효 기간, 컬러, 향, 등등)에 대해 검사한다. 품질 체크 단계(1518)에서, 로봇식 요리용 엔진은, 잠재적인 아이템 불일치 또는 검출된 품질 상태에 대한 결정을 행한다. 아이템이 적절하지 않은 경우, 단계(1520)는 요리용 엔진으로 경고가 제기되게 하고 적절한 액션이 후속하게 된다. 재료가 허용가능한 타입 및 품질이면, 단계(1522)에서, 로봇 팔은 다음 요리 프로세스 스테이지에서 사용될 아이템(들)을 이동시킨다.
도 58은 자동화된 요리전 준비 프로세스(1524)를 묘사한다. 단계(1530)에서, 로봇식 요리용 엔진은 특정한 레시피에 기초하여 여분 및/또는 버려지는 재료 물질을 계산한다. 후속하여, 단계(1532)에서, 로봇식 요리용 엔진은 각각의 재료를 이용한 레시피의 실행을 위한 모든 가능한 기술 및 방법을 검색한다. 단계(1534)에서, 로봇식 요리용 엔진은, 시간 및 에너지 소비에 대한, 특히 병렬 멀티 태스크 프로세스를 필요로 하는 요리(들)에 대한 방법 및 재료 사용량을 계산하여 최적화한다. 그 다음, 로봇식 요리용 엔진은 스케줄링된 요리에 대한 다중 레벨 요리 계획을 생성하고(1536) 요리 실행에 대한 요청을 로봇식 키친 시스템으로 전송한다. 다음 단계(1538)에서, 로봇식 키친 시스템은, 재료, 요리 프로세스에 필요한 쿠킹 웨어/베이킹 웨어를 그 자동화된 선반 시스템으로부터 이동시키고, 단계(1540)에서, 툴 및 기기를 모아서 다양한 작업 스테이션을 셋업한다.
도 59는 레시피 설계 및 스크립팅 프로세스(1542)를 묘사한다. 제1 단계(1544)에서, 요리사는 특정한 레시피를 선택하고, 그 다음, 단계1546에서, 그 레시피를 위해, 그는, 이름 및 다른 메타데이터(배경, 기술, 등등)를 포함하지만 이들로 제한되지는 않는 레시피 데이터를 입력하거나 편집한다. 단계(1548)에서, 요리사는 데이터베이스 및 관련 라이브러리에 기초하여 필요한 재료를 입력하거나 편집하고 레시피에 필요한 무게/볼륨/단위별 각각의 양을 입력한다. 레시피 준비에서 활용되는 필요한 기술의 선택은, 데이터베이스 및 관련 라이브러리에서 이용가능한 것에 기초하여, 요리사에 의해 단계(1550)에서 이루어진다. 단계(1552)에서, 요리사는 유사한 선택을 행하지만, 이번에는 그 또는 그녀는 요리에 대한 레시피를 실행하는 데 필요한 요리 및 준비 방법의 선택에 초점을 맞춘다. 그 다음, 최종 단계(1554)는 시스템이, 나중의 데이터베이스 보관 및 검색에 유용할 레시피 ID를 생성하는 것을 허용한다.
도 60은 유저가 어떻게 레시피를 선택할 수도 있는지의 프로세스(1556)를 묘사한다. 제1 단계(1558)는, 유저가 컴퓨터 또는 모바일 애플리케이션을 통해 온라인 마켓플레이스 스토어로부터 레시피를 구매하거나 또는 레시피 구매 플랜에 가입하여, 복제될 수 있는 레시피 스크립트의 다운로드를 가능하게 하는 것을 수반한다. 단계(1560)에서, 유저는, 개인적 선호사항 설정 및 사이트 상에서의 재료 이용가능성에 기초하여, 온라인 데이터베이스를 검색하여 구독의 일부로서 이용가능하거나 또는 구매된 레시피로부터 특정한 레시피를 선택한다. 최종 단계(1562)로서, 유저는, 그/그녀가 요리를 서빙될 준비가 되기를 원하는 일시를 입력한다.
도 61a는, 온라인 서비스 포털 또는 그렇게 칭해지는 레시피 거래 플랫폼의 레시피 검색 및 구매 및/또는 구독 프로세스에 대한 프로세스(1570)를 묘사한다. 제1 단계로서, 신규의 유저는, 핸드헬드 디바이스 상의 앱을 통해 또는 TV 및/또는 로봇식 키친 모듈을 사용하여 레시피를 다운로드하는 것에 의해 유저가 레시피를 검색하고 브라우징할 수 있기 이전에, 단계(1572)에서 시스템에 등록해야 한다(연령, 성별 정찬 선호도, 등등을 선택하고, 후속하여 전체적으로 선호되는 요리 또는 키친 스타일을 선택함). 유저는, 단계(1574)에서, 레시피의 스타일(1576)(손으로 요리된 레시피를 포함함)과 같은 기준을 사용하여 또는 특정한 키친 또는 기기 스타일(1578)(중국냄비, 찜기, 훈연기(smoker), 등등)에 기초하여 검색을 선택할 수도 있다. 유저는 단계(1580)에서 미리 정의된 기준을 사용하도록, 그리고, 필터링 단계(1582)를 사용하여 검색 공간 및 그에 따른 결과의 범위를 좁히도록 검색을 선택하거나 설정할 수 있다. 단계(1584)에서, 유저는 공급된 검색 결과, 정보, 및 추천으로부터 레시피를 선택한다. 그 다음, 유저는, 단계(1586)에서, 선택 및 다음 단계에 관해 요리하는 친구 또는 커뮤니티와 공유, 협력 또는 협의할 것을 선택할 수도 있다.
도 61b는, 서비스 포털(1590)에 대한 레시피 검색 및 구매/구독 프로세스에 대한 도 61a에서 이어지는 부분을 묘사한다. 단계(1592)에서, 유저는 레시피의 로봇식 요리 방식 또는 파라미터 제어식 버전 중 어느 하나에 기초하여 특정한 레시피를 선택할 것을 재촉받는다. 파라미터 제어식 기반의 레시피의 경우, 시스템은, 단계(1594)에서, 모든 쿡웨어 및 어플라이언스와 같은 아이템뿐만 아니라 로봇 팔 요건에 대한 필수 기기 상세를 제공하고, 단계(1602)에서, 상세한 순서의 지시(detailed ordering instruction)를 위해 재료 및 기기 공급자에 대한 소스로의 엄선된 외부 링크를 공급한다. 그 다음, 포털 시스템은 레시피 타입 체크(1596)를 실행하는데, 이 경우, 포털 시스템은 레시피 프로그램 파일의 원격 디바이스 상에서의 직접적인 다운로드 및 설치(1598)를 허용하거나, 또는, 단계(1600)에서, 많은 가능한 지불 형태(페이팔(PayPal), 비트코인(BitCoin), 신용카드, 등등) 중 하나를 사용하여, 일시불 지불 또는 구독 기반의 지불에 기초하여 지불 정보를 유저가 입력하는 것을 요구한다.
도 62는 로봇식 레시피 요리용 애플리케이션("App")의 생성에서 사용되는 프로세스(1610)를 묘사한다. 제1 단계(1612)로서, 앱 스토어(App Store), 구글 플레이(Goole Play) 또는 윈도우즈 모바일(Window Mobile)과 같은 장소 또는 다른 이러한 마켓플레이스 상에서 개발자 계정이 생성되는 것을 필요로 하는데, 뱅킹 및 회사 정보의 제공을 포함한다. 그 다음, 유저는, 단계(1614)에서, 각각의 앱 스토어에 대해 고유한 가장 최신의 애플리케이션 프로그램 인터페이스(Application-Program-Interface; API) 문서(documentation)를 획득하고 다운로드할 것을 재촉받는다. 그 다음, 개발자는, 단계(1618)에서, 설명되는 API 요건을 따라야 하고 API 문서 요건을 충족하는 레시피 프로그램을 생성해야 한다. 단계(1620)에서, 개발자는 이름 및 다양한 사이트(애플(Apple), 구글(Google), 삼성(Samsung) 등등)에 의해 규정되며 적절한 레시피에 대한 다른 메타데이터를 제공할 필요가 있다. 단계(1622)는, 개발자가, 레시피 프로그램 및 메타데이터 파일을 승인을 위해 업로드할 것을 요구한다. 그 다음, 각각의 마켓플레이스 사이트는, 단계(1624)에서, 레시프 프로그램을 검토, 테스트 및 승인하고, 그 후, 단계(1626)에서, 각각의 사이트(들)는 그들의 구매 인터페이스를 통해 온라인 검색, 브라우징 및 구매용의 레시피 프로그램을 나열하고 이용가능하게 만든다.
도 63은, 특정 레시피를 구매하는 또는 레시피 배달 플랜에 가입하는 프로세스(1628)를 묘사한다. 제1 단계(1630)로서, 유저는 주문할 특정한 레시피를 검색한다. 유저는, 선호도 필터를 사용하여 범위가 좁혀질 수 있는 결과(단계(1634))를 갖는 키워드에 의해 브라우징할 것(단계(1632))을, 다른 미리 정의된 기준을 사용하여 브라우징할 것(단계(1636))을, 또는 심지어 판촉용, 새롭게 올라 온(released) 또는 선주문 기반의 레시피 및 심지어 라이브의 요리사 요리 이벤트에 기초하여 브라우징할 것(단계(1638))을 선택할 수도 있다. 단계(1640)에서, 레시피에 대한 검색 결과가 유저에게 디스플레이된다. 그 다음, 단계(1642)의 일부로서, 유저는 이들 레시피 결과를 브라우징할 수도 있고 각각의 레시피를 오디오 또는 짧은 비디오 클립에서 미리보기 할 수도 있다. 그 다음, 단계(1644)에서, 유저는 디바이스 및 오퍼레이팅 시스템을 선택하고 특정한 온라인 마켓플레이스 애플리케이션 사이트에 대한 특정한 다운로드 링크를 수신한다. 유저가 태스크 1648에서 신규의 공급자 사이트에 연결할 것을 선택하면, 사이트는 신규의 유저가 인증 및 동의 단계(1650)를 완료할 것을 요구할 것이고, 그 다음, 태스크 1652에서, 사이트가 사이트 고유의 인터페이스 소프트웨어를 다운로드하여 설치할 것을 허용하여, 레시피 전달 프로세스가 계속하는 것을 허용할 것이다. 단계(1646)에서, 공급자 사이트는 유저에게 로봇식 요리용 쇼핑 리스트를 생성할지의 여부를 질의할 것이고, 단계(1654)에서 유저에 의해 동의되면, 단일의 또는 구독 기반으로 특정한 레시피를 선택하고 요리가 서빙될 특정한 일시를 고를 것이다. 단계(1656)에서, 필요한 재료 및 기기에 대한 쇼핑 리스트가 유저에게 제공되고 디스플레이되는데, 가장 가까운 공급자 및 가장 멀리 떨어진 공급자 및 그들의 위치, 재료 및 기기 이용가능성 및 관련 배달 소요 시간(lead time) 및 가격을 포함한다. 단계(1658)에서, 유저는 아이템의 설명 및 그들의 디폴트 또는 추천된 소스 및 브랜드의 각각을 검토할 기회를 제공받는다. 그 다음, 유저는, 단계(1660)에서, 모든 관련 항목별 아이템 비용(line-item cost)(쉬핑, 세금, 등등)을 포함하는 재료 및 기기 리스트에 대한 모든 아이템의 관련 비용을 볼 수 있게 된다. 단계(1662)에서, 유저 또는 바이어가 제안된 쇼핑 리스트 아이템에 대한 대안품을 보기를 원하면, 단계(1664)가 실행되어, 유저 또는 바이어에게, 그들이 연결하여 대안적인 구매 및 주문 옵션을 보는 것을 허용할 대안품 소스에 대한 링크를 공급한다. 유저 또는 바이어가 제안된 쇼핑 리스트를 수용하면, 시스템은 이들 선택을 미래의 구매를 위한 개인맞춤된 선택으로서 저장하고(단계(1666)) 현재의 쇼핑 리스트를 업데이트할 뿐만 아니라(단계(1668)), 그 다음, 단계(1670)으로 또한 이동하는데, 단계(1670)에서, 시스템은 로컬/가장 가까운 공급자, 계절 및 익는 단계에 기초한 아이템 이용가능성, 또는 심지어 유효하게 동일한 성능을 가지지만 유저에게 또는 바이어에게 배달되는 비용에서 실질적으로 차이가 있는 상이한 공급자로부터의 기기에 대한 가격과 같은 추가적인 기준에 기초하여 쇼핑 리스트로부터 대안품을 선택한다.
도 64a 및 도 64b는 미리 정의된 레시피 검색 기준(1672)의 한 예를 예시하는 블록도이다. 이 예에서 미리 정의된 레시피 검색 기준은, 메인 재료, 요리 지속시간, 지리적 영역 및 타입에 의한 요리법, 요리사의 이름 검색, 유명 요리(signature dishes), 및 음식을 준비하기 위한 추정된 재료 비용과 같은 카테고리를 포함한다. 다른 가능한 레시피 검색 필드는, 식사의 타입, 스페셜 다이어트, 제외 재료, 요리 타입 및 요리 방법, 행사 및 계절(occasion and season), 리뷰 및 추천, 및 등급을 포함한다.
도 66은 로봇식 표준화된 키친(50)에서의 몇몇 미리 정의된 컨테이너를 예시하는 블록도이다. 표준화된 로봇식 키친(50)에서의 컨테이너의 각각은, 그 컨테이너에 저장되어 있는 특정 내용물을 나타내는 컨테이너 번호 또는 바코드를 갖는다. 예를 들면, 제1 컨테이너는 큰 부피의 제품, 예컨대 흰 양배추, 붉은 양배추, 사보이 양배추, 순무우(turnip) 및 꽃양배추(cauliflower)를 보관한다. 제6 컨테이너는, 아몬드 자른 것(almond shaving), 씨(해바라기씨, 호박씨, 하얀씨), 씨를 뺀 말린 살구(dried apricots pitted), 말린 파파야 및 말린 살구와 같은 아이템을 포함하는 고체의 큰 단편을 조각 단위로 보관한다. 도 66은, 동시적 음식 준비 프로세싱을 위한 다수의 쌍의 로봇 손을 갖는 직사각형 레이아웃에서 구성되는 로봇식 레스토랑 키친 모듈의 제1 실시형태를 예시하는 블록도이다. 본 발명의 다른 실시형태는, 도 66에 도시되는 전문가용의 또는 레스토랑 키친 셋업의 다수의 연속적인 또는 병렬의 로봇 팔 및 손 스테이션에 대한 스테이지식의 구성을 순환한다. 임의의 기하학적 배치물이 사용될 수 있지만, 실시형태는, 다수의 로봇 팔/손 모듈을 나타내는 더 선형적인 구성을 묘사하는데, 다수의 로봇 팔/손 모듈 각각은 특정한 엘리먼트, 요리 또는 레시피 스크립트 단계를 생성하는 것에 초점이 맞추어져 있다(예를 들면, 로봇 팔/손의 여섯 쌍은, 부주방장(sous-chef), 고기 굽는 요리사, 프라이/소테 요리사, 즉석 요리 요리사(pantry cook), 페이스트리 요리사, 수프 및 소스 요리사 등등과 같은 상업적 키친에서 상이한 역할을 담당한다). 로봇식 키친 레이아웃은, 임의의 인간과의 또는 이웃하는 팔/손 모듈 사이에서의 접근/상호작용이 단일의 전면을 향하는 표면을 따르는 그러한 것이다. 셋업은 컴퓨터 제어될 수 있고, 따라서, 팔/손 로봇 모듈이 단일의 레시피를 순차적으로(하나의 스테이션으로부터의 최종 제품은 레시피 스크립트에서의 후속 단계를 위해 다음 스테이션으로 공급됨) 실행하는지 또는 다수의 레시피/단계를 병렬로(예컨대 출퇴근 시간(rush times) 동안의 시간적 위기를 충족하기 위해 요리 복제 완료 동안 나중의 사용을 위한 식전 음식/재료 준비) 수행하는지의 여부에 무관하게, 전체적인 다중 암/손 로봇식 키친 셋업이 복제 요리 태스크를 각각 수행하는 것을 허용하게 된다.
도 67은, 동시적 음식 준비 프로세싱을 위한 다수의 쌍의 로봇 손을 갖는 U자 형상의 레이아웃에서 구성되는 로봇식 레스토랑 키친 모듈의 제2 실시형태를 예시하는 블록도이다. 본 발명의 또 다른 실시형태는, 도 67에 도시되는 전문가용의 또는 레스토랑 키친 셋업의 다수의 연속적인 또는 병렬의 로봇 팔 및 손 스테이션에 대한 다른 스테이지식의 구성을 순환한다. 임의의 기하학적 배치물이 사용될 수 있지만, 실시형태는, 다수의 로봇 팔/손 모듈을 나타내는 직사각형 구성을 묘사하는데, 다수의 로봇 팔/손 모듈 각각은 특정한 엘리먼트, 요리 또는 레시피 스크립트 단계를 생성하는 것에 초점이 맞추어져 있다. 로봇식 키친 레이아웃은, 임의의 인간과의 또는 이웃하는 팔/손 모듈 사이에서의 접근/상호작용이 U자 형상의 외향하는 표면의 세트를 따르고 U자 형상의 중앙부를 따르게 되어, 팔/손 모듈이 반대 작업 영역으로 넘어가는 것/넘어서 도달하는 것 및 레시피 복제 스테이지 동안 그들의 대향 팔/손 모듈과 상호작용하는 것을 허용하게 되는 그러한 것이다. 셋업은 컴퓨터 제어될 수 있고, 따라서, 팔/손 로봇 모듈이 단일의 레시피를 순차적으로(하나의 스테이션으로부터의 최종 제품은 레시피 스크립트에서의 후속 단계를 위해 U자형 경로를 따라 다음 스테이션으로 공급됨) 실행하는지 또는 다수의 레시피/단계를 병렬로(예컨대 출퇴근 시간 동안의 시간적 위기를 충족하기 위해 요리 복제 완료 동안 나중의 사용을 위한 식전 음식/재료 준비, 준비된 재료는 어쩌면, U자형 키친의 베이스 내에 포함되는 어플라이언스(냉장고, 등등) 또는 컨테이너에 저장됨) 수행하는지의 여부에 무관하게, 전체적인 다중 암/손 로봇식 키친 셋업이 복제 요리 태스크를 각각 수행하는 것을 허용하게 된다.
도 68은 로봇식 음식 준비 시스템(1680)의 제2 실시형태를 묘사한다. 표준화된 로봇식 키친(1682)을 갖는 요리사 스튜디오는, 레시피를 준비하거나 또는 실행하는 인간 요리사(49)를 포함하고, 한편 쿡웨어 상의 센서(1682)는 중요한 변수(온도, 등등)를 시간에 걸쳐 기록하고, 레시피 스크립트 원시 데이터 파일의 일부를 형성하는 파라미터 및 센서 곡선으로서 그들을 컴퓨터의 메모리(1684)에 저장한다. 요리사 스튜디오(1682)로부터의 이들 저장된 센서류 곡선 및 파라미터 데이터 파일은, 구매 또는 구독 기반으로 표준화된 (원격) 로봇식 키친으로 배달된다(1686). 가정에 설치된 표준화된 로봇식 키친(1688)은, 측정된 센서류 곡선 및 파라미터 데이터 파일에 대응하는 수신된 원시 데이터에 기초하여 자동화된 및/또는 로봇식 키친 기기를 동작시키기 위해 유저(60) 및 컴퓨터 제어 시스템(1690) 둘 다를 포함한다.
도 69는 표준화된 로봇식 키친(48)의 다른 실시형태를 묘사한다. 로봇식 요리용 (소프트웨어) 엔진(56)을 실행하는 컴퓨터(16)는 다수의 외부 디바이스와 인터페이싱하는데, 로봇식 요리용 (소프트웨어) 엔진(56)은, 레시피 스크립트로부터의 기록된, 분석된 및 추상화된 센서류 데이터를 프로세싱하는 요리용 동작 제어 모듈(1692), 및 파라미터 데이터 및 센서류 곡선으로 이루어지는 소프트웨어 파일을 저장하기 위한 관련 저장 매체 및 메모리(1694)를 포함한다. 이들 외부 디바이스는, 리트랙터블 안전 유리(68), 컴퓨터에 모니터링되는 그리고 컴퓨터 제어가능한 저장 유닛(88), 날 음식(raw-food) 품질 및 공급의 프로세스에 관해 보고하는 다수의 센서(198), 재료를 분배할 하드 자동화 모듈(82), 재료를 갖는 표준화된 컨테이너(86), 및 센서를 갖춘 지능형 쿡웨어(1700)을 포함하지만, 이들로 제한되지는 않는다.
도 71은, 쿡웨어 유닛의 전체 바닥면에 걸쳐 동원원으로 정렬되는, 구역1(1702), 구역2(1704) 및 구역3(1706)을 포함하는 적어도 세 개의, 그러나 이 세 개로 제한되지는 않는 평면 구역에 걸친 유닛의 바닥면에 걸친 온도 프로파일을 생성하여 무선으로 전송할 수 있는, 내장형의 실시간 온도 센서를 포함하는 지능형 쿡웨어 아이템(1700)(이 이미지에서는 소스 냄비(sauce-pot))을 묘사한다. 이들 세 개의 구역의 각각은, 커플링된 센서(1716-1, 1716-2, 1716-3, 1716-4 및 1716-5)에 기초하여 각각의 데이터1(1708), 데이터2(1710) 및 데이터3(1712)을 무선으로 전송할 수 있다.
도 71은 데이터1(1720), 데이터2(1722) 및 데이터3(1724)에 대한 기록된 온도 프로파일을 갖는 센서류 곡선(220)의 통상적인 세트를 묘사하는데, 곡선의 각각은 쿡웨어 유닛의 특정한 영역의 바닥의 세 개의 구역의 각각에서의 온도에 대응한다. 시간에 대한 측정 유닛은 시작에서부터 끝까지 분 단위의 요리 시간으로서 반영되고(독립 변수), 한편 온도는 섭씨 온도 단위로 측정된다(종속 변수).
도 72는 기록된 온도 프로파일(1732) 및 습도 프로파일(1734)을 갖는 센서류 곡선(1730)의 다수의 세트를 묘사하는데, 각각의 센서로부터의 데이터는 데이터1(1736), 데이터2(1738) 내지 데이터N(1740)으로서 표현된다. 원시 데이터의 흐름은 동작 제어 유닛(274)으로 포워딩되어 동작 제어 유닛(274)에 의해 프로세싱된다. 시간에 대한 측정 유닛은 시작에서부터 끝까지 분 단위의 요리 시간으로서 반영되고(독립 변수), 한편 온도 및 습도 값은, 각각, 섭씨 온도 단위 및 상대 습도 단위로 측정된다(종속 변수).
도 73은 스마트(프라이) 팬을 이용한 실시간 온도 제어(1700)를 위한 프로세스 셋업을 묘사한다. 전원(1750)은, 유도 코일의 세트를 활발히 가열하기 위해, 제어 유닛1(1752), 제어 유닛2(1754) 및 제어 유닛3(1756)을 포함하는, 그러나 이들로 제한될 필요는 없는 세 개의 별개의 제어 유닛을 사용한다. 제어는, 실제로, (프라이) 팬의 (세 개의) 구역(1758)(구역1), 구역(1760)(구역2) 및 구역(1762)(구역3)의 각각의 내에서 측정된 온도 값의 함수인데, 이 경우, 온도 센서(1770)(센서1), 온도 센서(1772)(센서2) 및 온도 센서(1774)(센서3)는 온도 데이터를 데이터 스트림(1776)(데이터1), 데이터 스트림(1778)(데이터2) 및 데이터 스트림(1780)(데이터3)을 통해 다시 동작 제어 유닛(274)으로 무선으로 제공하고, 동작 제어 유닛(274)은 결국에는 별개의 구역 가열 제어 유닛(1752, 1754 및 1756)을 독립적으로 제어하도록 전원(1750)을 관리한다. 그 목표는, 시간에 걸친 소망의 온도 곡선을, 요리를 준비하는 동안 인간 요리사의 소정의(프라이) 단계 동안 기록되는 센서류 곡선 데이터로서 달성하고 복제하는 것이다.
도 74는, 동작 제어 유닛(1790)에 커플링되어, 동작 제어 유닛(1790)이, 이전에 저장된 센서류(온도) 곡선에 기초하여, 오븐 어플라이언스(1792)에 대한 온도 프로파일을 실시간으로 실행하는 것을 허용하는 스마트 오븐 및 컴퓨터 제어 시스템을 묘사한다. 동작 제어 유닛(1790)은 오븐의 도어(개폐)를 제어할 수 있고, 센서류 곡선에 의해 자신에게 제공되는 온도 프로파일을 추적할 수 있고, 요리 후, 자동세척(self-clean)할 수 있다. 오븐 내부의 온도 및 습도는, 데이터 스트림(268)(데이터1)을 생성하는 다양한 위치의 내장형 온도 센서(1794), 요리 온도를 모니터링하여 요리 완료의 온도를 추리하기 위해 요리될 재료(고기, 가금류, 등등) 안으로 삽입된 프로브의 형태의 온도 센서, 및 데이터 스트림을 생성하는 추가적인 습도 센서(1796)를 통해 모니터링된다. 동작 제어 유닛(1790)은 모든 이러한 센서류 데이터를 취하고, 온도 및 습도의 양(종속적) 변수에 대한 센서류 곡선의 이전에 저장된 그리고 다운로드된 세트에서 설명되는 센서류 곡선을 오븐 파라미터가 적절히 추적하는 것을 허용하도록 오븐 파라미터를 조정한다.
도 75는, 차콜 그릴 내부에 내부적으로 분산된 하나 이상의 온도 및 습도 센서에 대한 센서류 곡선을 적절히 추적하기 위해, 차콜 그릴로의 전력(1858)을 변조하는 제어 유닛에 대한 컴퓨터 제어 점화 및 제어 시스템 셋업(1798)을 묘사한다. 전력 제어 유닛(1800)은, 그릴을 개시하기 위해 전자 제어 신호(1802)를 사용하고, 차콜까지의 그릴-표면 거리 및 차콜(1810) 위로의 물 안개(water mist)(1808)의 주입을 조정하기 위해, (상/하) 이동가능한 랙(rack)(1812)의 온도 및 습도를 조정하기 위해, 각각, 신호(1804 및 1806)를 사용한다. 제어 유닛(1800)은, 자신의 출력 신호(1804, 1806)를, 차콜 그릴 내부에 분산된 습도 센서(습도 센서1 내지 습도 센서5)(1826, 1828, 1830, 1832 및 1834)의 세트로부터의 습도 측정치(1816, 1818, 1820, 1822, 1824)에 대한 데이터 스트림(1814)(여기서는 다섯 개가 도해됨)뿐만 아니라, 분산된 온도 센서(온도 센서1 내지 온도 센서5)(1848, 1850, 1852, 1854 및 1856)로부터의 온도 측정치(1840, 1842, 1844, 1846 및 1846)에 대한 데이터 스트림(1836)의 세트에 기초한다.
도 76은, 수도꼭지에 의해 싱크(또는 쿡웨어)로 공급되는 물의 유량, 온도 및 압력을 컴퓨터가 제어하는 것을 허용하는 컴퓨터 제어식 수도꼭지(1860)를 묘사한다. 수도꼭지는, 데이터1을 제공하는 물 유량 센서(1868), 데이터2를 제공하는 온도 센서(1870), 및 데이터3 센서류 데이터를 제공하는 물 압력 센서(1872)에 대응하는 별개의 데이터 스트림(1862(데이터1), 1864(데이터2) 및 1866(데이터3))을 수신하는 제어 유닛(1862)에 의해 제어된다. 그 다음, 제어 유닛(1862)은 물꼭지에서 나오는 물의 소망의 압력, 유량 및 온도를 달성하기 위해, 적절한 냉수 온도 및 압력이 디스플레이(1876) 상에 디지털적으로 디스플레이되는 냉수(1874), 및 적절한 온수 온도 및 압력이 디스플레이(1880) 상에 디지털적으로 디스플레이되는 온수(1878)의 공급을 제어한다.
도 77은 완전히 기구가 구비된 로봇식 키친(1882)의 한 실시형태를 평면도로 묘사한다. 표준화된 로봇식 키친은 세 개의 레벨, 즉 상위 레벨, 조리대 레벨 및 하위 레벨로 분할되는데, 각각의 레벨은, 일체형으로 마운팅되는 센서(1884) 및 컴퓨터 제어 유닛(1886)을 구비하는 어플라이언스 및 기기를 포함한다.
상위 레벨은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다. 가장 단순한 레벨에서, 선반/캐비넷 보관 영역(82)은, 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1320), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(1298), 양상추 및 양파와 같은 아이템용의 냉장 보관 구역(88), 냉동 아이템용 냉동 보관 캐비넷 볼륨(1302), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1304), 등등이 포함된다. 상위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작(computer-controlled operation)을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
조리대 레벨은, 모니터링 센서(1884) 및 제어 유닛(1886)을 수용할 뿐만 아니라, 서빙 조리대(1306), 싱크(1308)를 갖는 조리대 영역, 이동가능한 작업용 표면(도마/차핑 보드, 등등)을 갖는 다른 조리대 영역(1310), 차콜 기반의 슬레이트 그릴(1312) 및 스토브, 쿠커, 찜기 및 포쳐를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다. 조리대 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
하위 레벨은, 통합 컨벡션 오븐 및 전자레인지뿐만 아니라, 찜기, 포쳐 및 그릴(1316), 식기세척기(1318), 하드 자동화 제어식 재료 디스펜서(82), 및 대형 캐비넷 볼륨(1320)을 수용하는데, 대형 캐비넷 볼륨(1320)은 추가적인 빈번하게 사용되는 쿠킹 및 베이킹 웨어뿐만 아니라 테이블웨어, 플랫웨어(flatware), 유텐실(거품기, 나이프, 등등) 및 커트러리를 유지 및 보관한다. 하위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
도 78은, 위에서 아래로 정렬된 세 개의 상이한 레벨을 갖는 로봇식 키친 요리용 시스템(1890)의 하나의 실시형태의 사시도를 묘사하는데, 세 개의 상이한 레벨의 각각은, 하나 이상의 제어 유닛(1894)으로, 또는 결국에는 센서류 데이터를 사용 및 프로세싱하여 하나 이상의 유닛(376)에게 그들의 커맨드를 작동시킬 것을 명령하는 하나 이상의 중앙 컴퓨터로 데이터를 직접적으로 공급하는 다수의 분산형 센서 유닛(1892) 구비한다.
상위 레벨은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다. 가장 단순한 레벨에서, 선반/캐비넷 보관 팬트리 볼륨(1294), 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1296), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(1298), 양상추 및 양파와 같은 아이템용의 냉장 보관 구역(88), 냉동 아이템용 냉동 보관 캐비넷 볼륨(1302), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1294), 등등이 포함된다. 상위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1894)에게 데이터를 제공하는 센서 유닛(1892)을 포함한다.
조리대 레벨은, 모니터링 센서(1892) 및 제어 유닛(1894)을 수용할 뿐만 아니라, 싱크 및 전자적으로 제어가능한 수도꼭지(1308)를 갖는 조리대 영역, 보드 등등의 상에서의 컷팅/차핑을 위한 이동가능한 작업 표면을 갖는 다른 조리대 영역(1310), 차콜 기반의 슬레이트 그릴(1312) 및 스토브, 쿠커, 찜기 및 포쳐를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다. 조리대 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1894)에게 데이터를 제공하는 센서 유닛(1892)을 포함한다.
하위 레벨은, 통합 컨벡션 오븐 및 전자레인지뿐만 아니라, 찜기, 포쳐 및 그릴(1316), 식기세척기(1318), 하드 자동화 제어식 재료 디스펜서(82), 및 대형 캐비넷 볼륨(1310)을 수용하는데, 대형 캐비넷 볼륨(1310)은 추가적인 빈번하게 사용되는 쿠킹 및 베이킹 웨어뿐만 아니라 테이블웨어, 플랫웨어, 유텐실(거품기, 나이프, 등등) 및 커트러리를 유지 및 보관한다. 하위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1896)에게 데이터를 제공하는 센서 유닛(1892)을 포함한다.
도 79는, 표준화된 로봇식 키친에서의 하나 이상의 이전에 기록된 파라미터 곡선으로부터 요리를 준비하는 로봇식 키친의 프로세스에서의 제2 실시형태(1900)를 예시하는 흐름도이다. 단계(1902)에서, 유저는, 컴퓨터를 통해, 로봇 장치가 음식을 준비할 특정한 레시피를 선택한다. 단계(1904)에서, 로봇식 음식 준비 엔진은 음식 준비를 위해 선택된 레시피에 대한 추상화된 레시피를 검색하도록 구성된다. 단계(1906)에서, 로봇식 음식 준비 엔진은, 선택된 레시피 스크립트를 컴퓨터의 메모리로 업로딩하도록 구성된다. 단계(1908)에서, 로봇식 음식 준비 엔진은, 재료 이용가능성을 계산한다. 단계(1910)에서, 로봇식 음식 준비 엔진은, 선택된 레시피 및 서빙 스케줄에 따라 요리를 준비하기에 부족한 또는 없는 재료가 있는지의 여부를 평가하도록 구성된다. 로봇식 음식 준비 엔진은, 단계(1912)에서, 누락된 또는 불충분한 재료를 쇼핑 리스트 상에 두기 위한 경고를 전송하거나 또는 대안적인 레시피를 선택한다. 유저에 의한 레시피 선택은 단계(1914)에서 확인된다. 단계(1916)에서, 로봇식 음식 준비 엔진은, 음식 또는 재료를 표준화된 컨테이너 안으로 배치하고 표준화된 컨테이너를 적절한 음식 준비 위치로 이동시키기 위해 유저에게 로봇 명령어를 전송하도록 구성된다. 단계(1918)에서, 유저는, 요리사에 의해 실행되는 동시에 이 경우에서는 재생을 위해 기록되고 있는 모든 움직임 및 프로세스에 기초한 레시피 복제 프로세스의 각각의 그리고 매 단계를 시각적으로 보기 위해, 전용 모니터이든 또는 홀로그래픽 레이저 기반의 프로젝션이든간에, 실시간의 비디오 모니터 프로젝션을 선택하는 옵션을 제공받는다. 단계(1920)에서, 로봇식 음식 준비 엔진은, 유저가 표준화된 로봇식 키친에 대한 컴퓨터식 제어 시스템을 선택하여 전력을 인가하는 시작 시간 "0"에서 유저가 음식 준비를 시작하는 것을 허용하도록 구성된다. 단계(1922)에서, 유저는 모니터/프로젝션 스크린 상의 인간 요리사에 의한 전체 레시피 생성 프로세스의 재생에 기초하여 모든 요리사의 액션의 복제를 실행하는데, 이것에 의해, 반완성된 제품이 전용 쿡웨어 및 어플라이언스로 이동되거나 또는 나중의 사용을 위해 중간의 보관 컨테이너로 이동된다. 단계(1924)에서, 표준화된 키친의 로봇 장치는 센서류 데이터 곡선에 따라 또는 요리사 스튜디오의 표준화된 로봇식 키친에서의 레시피 준비 프로세스의 동일한 단계를 요리사가 실행할 때 기록된 요리용 파라미터에 기초하여 개개의 프로세싱 단계를 실행한다. 단계(1926)에서, 로봇식 음식 준비의 컴퓨터는, 요리사가 요리사 스튜디오의 표준화된 로봇식 키친에서 레시피를 준비했던 동안 캡쳐되고 저장된 데이터에 기초하여 전체 요리에 걸친 필수 데이터 곡선을 복제하기 위해, 모든 쿡웨어 및 어플라이언스를 온도, 압력 및 습도의 관점에서 제어한다. 단계(1928)에서, 유저는, 요리사의 단계를 복제하기 위해 그리고 모니터 또는 프로젝션 스크린을 통해 유저에게 중계되는 오디오 및 비디오 지시를 통해 명백한 바와 같은 프로세스 움직임을 프로세싱하기 위해, 모든 간단한 움직임을 행한다. 단계(1930)에서, 로봇식 키친의 요리용 엔진은, 센서류 곡선 또는 파라미터 세트에 기초한 특정한 요리 단계가 완료되었던 때를 유저에게 경고한다. 일단 유저 및 컴퓨터 컨트롤러 상호작용이 레시피에서의 모든 요리 단계의 종료로 나타나게 되면, 로봇식 요리용 엔진은, 단계(1932)에서, 복제 프로세스의 컴퓨터 제어 부분을 종료하는 요청을 전송한다. 단계(1934)에서, 유저는 완료된 레시피 요리를 옮기고, 완료된 레시피 요리를 플레이팅하여 서빙하거나, 또는 임의의 나머지 요리 단계 또는 프로세스를 수동으로 계속한다.
도 80은 요리사 스튜디오에서의 센서류 데이터 캡쳐 프로세스(1936)를 묘사한다. 제1 단계(1938)은 요리사가 레시피를 생성하거나 설계하는 것이다. 다음 단계(1940)는, 요리사가 레시피에 대한 이름, 재료, 측정 및 프로세스 설명을 로봇식 요리용 엔진 안으로 입력하는 것을 요구한다. 요리사는, 단계(1942)에서, 모든 필요한 재료를 지정된 표준화된 보관 컨테이너, 어플라이언스 및 엄선된 적절한 쿡웨어 안으로 적재하는 것에 의해 시작한다. 다음 단계(1944)는, 모든 감지된 원시 데이터를 기록하고 그 감지된 원시 데이터의 프로세싱을 허용하기 위해, 요리사가 시작 시간을 설정하고 센서류 및 프로세싱 시스템에 전원을 인가하는 것을 수반한다. 일단, 요리사가 단계(1946)에서 요리를 시작하면, 모든 임베딩된 모니터링용 센서 유닛 및 어플라이언스는, 전체 요리 프로세스(1948) 동안 중앙 컴퓨터 시스템이 모든 관련 데이터를 실시간으로 기록하는 것을 허용하기 위해, 원시 데이터를 중앙 컴퓨터 시스템으로 보고 및 전송한다. 단계(1950)에서는, 추가적인 요리용 파라미터 및 가청의 요리사 코멘트가 원시 데이터로서 추가로 기록 및 저장된다. 로봇식 요리용 모듈 추상화 (소프트웨어) 엔진은, 단계(1952)의 일부로서 머신 판독가능 및 머신 실행가능 레시피 스크립트를 생성하기 위해, 2차원의 그리고 3차원의 기하학적 모션 및 오브젝트 인식 데이터를 포함해서 모든 원시 데이터를 프로세싱한다. 요리사에 의한 요리사 스튜디오 레시피 생성 및 요리 프로세스의 완료시, 로봇식 요리용 엔진은, 원격의 표준화된 로봇식 키친에 의한 나중의 레시피 복제를 위해 사용되는 움직임 및 미디어 데이터를 복제하는 시뮬레이션 시각화 프로그램(1954)을 생성한다. 원시 및 프로세싱된 데이터, 및 요리사에 의한 시뮬레이팅된 레시피 실행 시각화의 확인에 기초하여, 단계(1956)에서, 상이한(모바일) 오퍼레이팅 시스템에 대해 하드웨어 고유의 애플리케이션이 개발되어 통합되고, 직접적인 단일의 레시피 유저 구매 또는 구독 모델을 통한 다수의 레시피 구매를 위해, 온라인 소프트웨어 애플리케이션 스토어 및/또는 마켓플레이스로 제출된다.
도 81은 가정용 로봇식 요리 프로세스(1960)의 프로세스 및 플로우를 묘사한다. 제1 단계(1962)는 유저가 레시피를 선택하고 레시피의 디지털 형태를 획득하는 것을 수반한다. 단계(1964)에서, 로봇식 요리용 엔진은 선택된 레시피를 요리하는 머신 판독가능 커맨드를 포함하는 레시피 스크립트를 수신한다. 단계(1966)에서, 레시피는 스크립트가 메모리에 위치되면서 로봇식 요리용 엔진에 업로드된다. 일단 저장되면, 단계(1986)는 필요한 재료를 계산하고 그들의 이용가능성을 결정한다. 로직 체크(1970)에서, 시스템은 유저에게 경고할 지 또는 추천을 전송할지의 여부를 결정하고, 단계(1972)에서 누락 아이템을 쇼핑 리스트에 추가하는 것 또는 이용가능한 재료에 맞추기 위해, 또는 대안적인 레시피를 추천하는 것을 촉구하거나, 또는, 충분한 재료가 이용가능하면 계속 진행한다. 일단 재료 이용가능성이 단계(1974)에서 검증되면, 시스템은 레시피를 확인하고 유저는, 단계(1976)에서, 요리사가 레시피 생성 프로세스를 (요리사 스튜디오에서) 원래 시작했던 위치에서 필요한 재료를 지정된 표준화된 컨테이너 안으로 배치할 것을 질의받는다. 유저는, 단계(1978)에서, 요리 프로세스의 시작 시간을 설정할 것을 그리고 요리용 시스템을 진행시키도록 설정할 것을 촉구받는다. 개시시, 로봇식 요리용 시스템은, 레시피 스크립트 데이터 파일에서 제공되는 요리용 파라미터 데이터 및 센서류 곡선에 따라 실시간으로 요리 프로세스의 실행을 시작한다(1980). 요리 프로세스(1982) 동안, 컴퓨터는, 요리사 스튜디오 레시피 생성 프로세스 동안 원래 캡쳐되어 저장되었던 파라미터 데이터 파일 및 센서류 곡선을 복제하기 위해, 모든 어플라이언스 및 기기를 제어한다. 요리 프로세스의 완료시, 로봇식 요리용 엔진은, 단계(1984)에서 요리 프로세스가 완료했다는 것을 결정하는 것에 기초하여 리마인더를 전송한다. 후속하여, 로봇식 요리용 엔진은 전체 요리 프로세스를 종료하기 위해 컴퓨터 제어 시스템으로 종료 요청을 전송하고(1986), 단계(1988)에서, 유저는 서빙을 위해 요리를 조리대로부터 옮기거나 또는 임의의 남아 있는 요리 단계를 수동으로 계속한다.
도 82는 표준화된 로봇식 음식 준비 키친 시스템(48)의 다른 실시형태를 묘사한다. 로봇식 요리용 (소프트웨어) 엔진(56)을 실행하는 컴퓨터(16)는 다수의 외부 디바이스와 인터페이싱하는데, 로봇식 요리용 (소프트웨어) 엔진(56)은, 레시피 스크립트로부터의 기록된, 분석된 및 추상화된 센서류 데이터를 프로세싱하는 요리용 동작 제어 모듈(1990), 시각적 커맨드 모니터링 모듈(1992), 및 파라미터 데이터 및 센서류 곡선으로 이루어지는 소프트웨어 파일을 저장하기 위한 관련 저장 매체 및 메모리(1994)를 포함한다. 이들 외부 디바이스는, 기구가 구비된 키친 작업용 조리대(90), 리트랙터블 안전 유리(68), 기구가 구비된 수도꼭지(92), 임베딩된 센서를 갖는 요리용 어플라이언스(74), 임베딩된 센서를 갖는 쿡웨어(1700)(선반 상에 또는 캐비넷 안에 보관됨), 표준화된 컨테이너 및 재료 보관 유닛(78), 컴퓨터에 의해 모니터링되며 컴퓨터 제어가능한 보관 유닛(88), 날 음식 품질 및 공급의 프로세스에 대해 보고하는 다수의 센서(1996), 재료를 분배하는 하드 자동화 모듈(82), 및 동작 제어 유닛(1998)을 포함하지만, 그러나 이들로 제한되지는 않는다.
도 83은 완전히 기구가 구비된 로봇식 키친(2000)의 한 실시형태를 평면도로 묘사한다. 표준화된 로봇식 키친은 세 개의 레벨, 즉 상위 레벨, 조리대 레벨 및 하위 레벨로 분할되는데, 각각의 레벨은, 일체형으로 마운팅되는 센서(1884) 및 컴퓨터 제어 유닛(1886)을 구비하는 어플라이언스 및 기기를 포함한다.
상위 레벨은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다. 가장 단순한 레벨에서, 다수의 캐비넷 타입의 모듈은, 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1296), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(1298), 양상추 및 양파와 같은 아이템용의 냉장 보관 구역(1300), 냉동 아이템용 냉동 보관 캐비넷 볼륨(1302), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1304), 등등이 포함된다. 상위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
조리대 레벨은, 모니터링 센서(1884) 및 제어 유닛(1886)을 수용할 뿐만 아니라, 하나 이상의 로봇 팔, 손목 및 다수의 손가락의 손(72), 서빙 조리대(1306), 싱크(1308)를 갖는 조리대 영역, 이동가능한 작업용 표면(도마/차핑 보드, 등등)을 갖는 다른 조리대 영역(1310), 차콜 기반의 슬레이트 그릴(1312) 및 스토브, 쿠커, 찜기 및 포쳐를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다. 조리대 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
하위 레벨은, 통합 컨벡션 오븐 및 전자레인지뿐만 아니라, 찜기, 포쳐 및 그릴(1316), 식기세척기(1318), 하드 자동화 제어식 재료 디스펜서(82), 및 대형 캐비넷 볼륨(3=378)을 수용하는데, 대형 캐비넷 볼륨(1320)은 추가적인 빈번하게 사용되는 쿠킹 및 베이킹 웨어뿐만 아니라 테이블웨어, 플랫웨어, 유텐실(거품기, 나이프, 등등) 및 커트러리를 유지 및 보관한다. 하위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
도 84는, 중첩된 좌표 프레임이 x축(1322), y축(1324) 및 z축(1326)을 나타내게 하여, 완전히 기구가 구비된 로봇식 키친(2000)의 한 실시형태를 사시도로 묘사하는데, 모든 움직임 및 위치는 x축(1322), y축(1324) 및 z축(1326) 내에서 정의될 것이며 원점 (0,0,0)을에 대해 참조될 것이다. 표준화된 로봇식 키친은 세 개의 레벨, 즉 상위 레벨, 조리대 레벨 및 하위 레벨로 분할되는데, 각각의 레벨은, 일체형으로 마운팅되는 센서(1884) 및 컴퓨터 제어 유닛(1886)을 구비하는 어플라이언스 및 기기를 포함한다.
상위 레벨은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다.
가장 단순한 레벨에서, 다수의 캐비넷 타입의 모듈은, 표준화된 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1294), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(1298), 양상추 및 양파와 같은 아이템용의 냉장 보관 구역(1300), 냉동 아이템용 냉동 보관 캐비넷 볼륨(86), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1294), 등등이 포함된다. 상위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
조리대 레벨은, 모니터링 센서(1884) 및 제어 유닛(1886)을 수용할 뿐만 아니라, 하나 이상의 로봇 팔, 손목 및 다수의 손가락의 손(72), 싱크 및 전자적 수도꼭지(1308)를 갖는 조리대 영역, 이동가능한 작업용 표면(도마/차핑 보드, 등등)을 갖는 다른 조리대 영역(1310), 차콜 기반의 슬레이트 그릴(1312) 및 스토브, 쿠커, 찜기 및 포쳐를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다. 조리대 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
하위 레벨은, 통합 컨벡션 오븐 및 전자레인지뿐만 아니라, 찜기, 포쳐 및 그릴(1315), 식기세척기(1318), 하드 자동화 제어식 재료 디스펜서(82)(도시되지 않음), 및 대형 캐비넷 볼륨(1310)을 수용하는데, 대형 캐비넷 볼륨(1310)은 추가적인 빈번하게 사용되는 쿠킹 및 베이킹 웨어뿐만 아니라 테이블웨어, 플랫웨어, 유텐실(거품기, 나이프, 등등) 및 커트러리를 유지 및 보관한다. 하위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
도 85는 완전히 기구가 구비된 로봇식 키친(2020)의 한 실시형태를 평면도로 묘사한다. 표준화된 로봇식 키친은 세 개의 레벨, 즉 상위 레벨, 조리대 레벨 및 하위 레벨로 분할되는데, 상위 레벨 및 하위 레벨은 일체형으로 마운팅된 센서(1884) 및 컴퓨터 제어 유닛(1886)을 구비하는 기기 및 어플라이언스를 구비하고, 조리대 레벨은 하나 이상의 커맨드 및 시각적 모니터링 디바이스(2022)를 갖추고 있다.
상위 레벨은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다. 가장 단순한 레벨에서, 다수의 캐비넷 타입의 모듈은, 표준화된 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1296), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(1298), 양상추 및 양파와 같은 아이템용의 냉장 보관 구역(1300), 냉동 아이템용 냉동 보관 캐비넷 볼륨(1302), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1304), 등등이 포함된다. 상위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
조리대 레벨은, 모니터링 센서(1884) 및 제어 유닛(1886)을 수용할 뿐만 아니라, 시각적 커맨드 모니터링 디바이스(2020)를 포함하고 동시에 또한 서빙 조리대(1306), 싱크(1308)를 갖는 조리대 영역, 이동가능한 작업용 표면(도마/차핑 보드, 등등)을 갖는 다른 조리대 영역(1310), 차콜 기반의 슬레이트 그릴(1312) 및 스토브, 쿠커, 찜기 및 포쳐를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다. 조리대 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다. 추가적으로, 스튜디오 키친에서의 인간 요리사뿐만 아니라 표준화된 로봇식 키친에서의 로봇 팔 또는 인간 유저의 시각적 동작을 모니터링하기 위한 목적으로, 하나 이상의 시각적 커맨드 모니터링 디바이스(2022)가 또한 조리대 레벨 내에 제공되는데, 이 경우, 데이터는 프로세싱을 위해 하나 이상의 중앙 또는 분산형 컴퓨터로 공급되고, 후속하는 교정 또는 지원 피드백 및 커맨드는 디스플레이 또는 스크립트를 따르는 실행을 위해 로봇식 키친으로 다시 전송된다.
하위 레벨은, 통합 컨벡션 오븐 및 전자레인지뿐만 아니라, 찜기, 포쳐 및 그릴(1316), 식기세척기(1318), 하드 자동화 제어식 재료 디스펜서(86)(도시되지 않음), 및 대형 캐비넷 볼륨(1320)을 수용하는데, 대형 캐비넷 볼륨(1320)은 추가적인 빈번하게 사용되는 쿠킹 및 베이킹 웨어뿐만 아니라 테이블웨어, 플랫웨어, 유텐실(거품기, 나이프, 등등) 및 커트러리를 유지 및 보관한다. 하위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
도 86은 완전히 기구가 구비된 로봇식 키친(2020)의 한 실시형태를 사시도로 묘사한다. 표준화된 로봇식 키친은 세 개의 레벨, 즉 상위 레벨, 조리대 레벨 및 하위 레벨로 분할되는데, 상위 레벨 및 하위 레벨은 일체형으로 마운팅된 센서(1884) 및 컴퓨터 제어 유닛(1886)을 구비하는 기기 및 어플라이언스를 구비하고, 조리대 레벨은 하나 이상의 커맨드 및 시각적 모니터링 디바이스(2022)를 갖추고 있다.
상위 레벨은, 내장형 어플라이언스 및 기기에 의해 특정한 키친 기능을 수행하는 상이한 유닛을 갖는 다수의 캐비넷 타입의 모듈을 포함한다. 가장 단순한 레벨에서, 다수의 캐비넷 타입의 모듈은, 표준화된 요리용 툴 및 유텐실 및 다른 요리용 및 서빙 웨어(쿠킹, 베이킹, 플레이팅, 등등)를 보관하고 접근하기 위해 사용되는 캐비넷 볼륨(1296), 특정한 재료(예를 들면, 과일 및 야채, 등등)용의 숙성 보관 캐비넷 볼륨(1298), 양상추 및 양파와 같은 아이템용의 냉장 보관 구역(1300), 냉동 아이템용 냉동 보관 캐비넷 볼륨86), 및 다른 재료 및 잘 사용되지 않는 양념용의 다른 보관 팬트리 구역(1294), 등등이 포함된다. 상위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1886)에게 데이터를 제공하는 센서 유닛(1884)을 포함한다.
조리대 레벨은, 모니터링 센서(1884) 및 제어 유닛(1886)을 수용할 뿐만 아니라, 시각적 커맨드 모니터링 디바이스(1316)를 포함하고 동시에 또한 싱크 및 전자적 수도꼭지(1308)를 갖는 조리대 영역, 이동가능한 작업용 표면(도마/차핑 보드, 등등)을 갖는 다른 조리대 영역(1310), (스마트) 차콜 기반의 슬레이트 그릴(1312) 및 스토브, 쿠커, 찜기 및 포쳐를 비롯한 다른 요리용 어플라이언스(1314)용의 다목적 영역을 포함한다. 조리대 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(1186)에게 데이터를 제공하는 센서 유닛(1184)을 포함한다. 추가적으로, 스튜디오 키친에서의 인간 요리사뿐만 아니라 표준화된 로봇식 키친에서의 로봇 팔 또는 인간 유저의 시각적 동작을 모니터링하기 위한 목적으로, 하나 이상의 시각적 커맨드 모니터링 디바이스(도시되지 않음)가 또한 조리대 레벨 내에 제공되는데, 이 경우, 데이터는 프로세싱을 위해 하나 이상의 중앙 또는 분산형 컴퓨터로 공급되고, 후속하는 교정 또는 지원 피드백 및 커맨드는 디스플레이 또는 스크립트를 따르는 실행을 위해 로봇식 키친으로 다시 전송된다.
하위 레벨은, 통합 컨벡션 오븐 및 전자레인지뿐만 아니라, 찜기, 포쳐 및 그릴(1316), 식기세척기(1318), 하드 자동화 제어식 재료 디스펜서(86)(도시되지 않음), 및 대형 캐비넷 볼륨(1309)을 수용하는데, 대형 캐비넷 볼륨(1309)은 추가적인 빈번하게 사용되는 쿠킹 및 베이킹 웨어뿐만 아니라 테이블웨어, 플랫웨어, 유텐실(거품기, 나이프, 등등) 및 커트러리를 유지 및 보관한다. 하위 레벨 내의 모듈의 각각은, 컴퓨터 제어식 동작을 허용하기 위해, 직접적으로 또는 하나 이상의 중앙 또는 분산형 제어 컴퓨터를 통해, 하나 이상의 제어 유닛(376)에게 데이터를 제공하는 센서 유닛(1307)을 포함한다.
도 87a는 표준화된 로봇식 키친(48)의 다른 실시형태를 묘사한다. 로봇식 요리용 (소프트웨어) 엔진(56) 및 레시피 스크립트 데이터 및 센서류 곡선과 파라미터 데이터 파일을 저장하기 위한 메모리 모듈(102)을 실행하는 컴퓨터(16)는 다수의 외부 디바이스와 인터페이싱한다. 이들 외부 디바이스는, 기구가 구비된 로봇식 키친(2030), 기구가 구비된 서빙 스테이션(2032), 기구가 구비된 세척 및 클리닝 스테이션(2034), 기구가 구비된 쿡웨어(2036), 컴퓨터에 의해 모니터링되며 컴퓨터 제어가능한 요리용 어플라이언스(2038), 특수 목적의 툴 및 유텐실(2040), 자동화된 선반 스테이션(2042), 기구가 구비된 보관 스테이션(2044), 재료 검색 스테이션(2046), 유저 콘솔 인터페이스(2048), 듀얼 로봇 팔(70), 재료를 분배하는 자동화 모듈(82), 요리사 기록용 디바이스(2050)를 포함하지만, 그러나 이들로 제한되지는 않는다.
도 87b는 로봇식 키친 요리용 시스템(2060)의 하나의 실시형태를 평면도로 묘사하는데, 이 경우 요리사(49) 또는 홈쿡 유저(home-cook user; 60)는 다수의(여기서는 네 개로 도시됨) 측면으로부터 다양한 요리용 스테이션에 접근할 수 있다. 중앙 보관 스테이션(2062)은 최적의 신선도를 위해 상이한 온도(냉장/냉동)에서 유지되는 다양한 음식 아이템에 대한 상이한 보관 영역을 제공하고, 모든 면에서의 접근을 허용한다. 현재의 실시형태의 정사각형 배치의 둘레를 따라서, 요리사(49) 또는 유저(60)는 모듈을 이용하여 다양한 요리 영역에 접근할 수 있는데, 모듈은, 레시피에 맞추어 배치하고 프로세스를 감독하기 위한 유저/요리사 콘솔(2064), 스캐너, 카메라 및 다른 재료 특성묘사 시스템을 포함하는 재료 접근 스테이션(2066), 쿡웨어/베이킹 웨어/테이블웨어용 자동 선반 스테이션(2068), 적어도 싱크 및 식기세척기 유닛으로 구성되는 세척 및 클리닝 스테이션(2070), 음식 또는 재료 준비에서 사용되는 특정한 기술에 대해 필요로 되는 특수화된 툴에 대한 특수 툴 및 유텐실 스테이션(2072), 서빙된 요리를 따뜻하게 하거나 차갑게 하기 위한 워밍 스테이션(warming station; 2074), 및 요리용 어플라이언스 스테이션(2076)을 포함하지만, 그러나 이들로 제한되지는 않으며, 요리용 어플라이언스 스테이션(2076)은, 오븐, 스토브, 그릴, 찜기, 프라이기, 전자렌지, 블렌더, 탈수기, 등등을 포함하지만, 그러나 이들로 제한되지는 않는다.
도 87c는 로봇식 키친(48)의 동일한 실시형태의 사시도를 묘사하는데, 요리사(49) 또는 유저(60)가 적어도 네 개의 상이한 측면으로부터 다수의 요리용 스테이션 및 기기에 접근하는 것을 허용한다. 중앙 보관 스테이션(2062)은 최적의 신선도를 위해 상이한 온도(냉장/냉동)에서 유지되는 다양한 음식 아이템에 대한 상이한 보관 영역을 제공하고, 모든 면에서의 접근을 허용하며, 높은 레벨에 위치된다. 쿡웨어/베이킹 웨어/테이블웨어에 대한 자동 선반 스테이션(2068)은 중앙 보관 스테이션(2062) 아래의 중앙 레벨에 위치된다. 하위 레벨에서, 요리용 스테이션 및 기기의 배치물이 위치되는데, 그 배치물은, 레시피에 맞추어 배치하고 프로세스를 감독하기 위한 유저/요리사 콘솔(2064), 스캐너, 카메라 및 다른 재료 특성묘사 시스템을 포함하는 재료 접근 스테이션(2060), 쿡웨어/베이킹 웨어/테이블웨어용 자동 선반 스테이션(2068), 적어도 싱크 및 식기세척기 유닛으로 구성되는 세척 및 클리닝 스테이션(2070), 음식 또는 재료 준비에서 사용되는 특정한 기술에 대해 필요로 되는 특수화된 툴에 대한 특수 툴 및 유텐실 스테이션(2072), 서빙된 요리를 따뜻하게 하거나 차갑게 하기 위한 워밍 스테이션(warming station; 2076), 및 요리용 어플라이언스 스테이션(2076)을 포함하지만, 그러나 이들로 제한되지는 않으며, 요리용 어플라이언스 스테이션(2076)은, 오븐, 스토브, 그릴, 찜기, 프라이기, 전자렌지, 블렌더, 탈수기, 등등을 포함하지만, 그러나 이들로 제한되지는 않는다.
도 88은, 로봇식 인간 에뮬레이터 전자적 지적 재산 라이브러리(2100)를 예시하는 블록도이다. 로봇식 인간 에뮬레이터 전자 IP 라이브러리(2100)는, 인간의 특정한 스킬 세트를 복제하는 수단으로서 로봇 장치가 사용되는 다양한 개념을 포괄한다. 보다 구체적으로는, 로봇 손(70) 및 로봇 팔(72)의 쌍을 포함하는 로봇 장치는 특정한 인간 스킬의 세트를 복제하도록 기능한다. 몇몇 방식에서, 인간으로부터의 지능으로의 이동은, 인간의 손의 사용을 통해 캡쳐될 수 있고; 그 다음, 로봇 장치는 동일한 결과를 획득함에 있어서 기록된 움직임의 정확한 움직임을 복제한다. 로봇식 인간 에뮬레이터 전자 IP 라이브러리(2100)는, 로봇식 인간 요리 스킬 복제 엔진(robotic human-culinary-skill replication engine; 56), 로봇식 인간 페인팅 스킬 복제 엔진(robotic human-painting-skill replication engine; 2102), 로봇식 인간 음악 악기 스킬 복제 엔진(robotic human-musical-instrument-skill replication engine; 2102), 로봇식 인간 간호업무 케어 스킬 복제 엔진(robotic human-nursing-care-skill replication engine; 2104), 로봇식 인간 감정 인식 엔진(robotic human-emotion recognizing engine; 2106), 로봇식 인간 지능 복제 엔진(robotic human-intelligence replication engine; 2108), 입/출력 모듈(2110), 및 통신 모듈(2112)를 포함한다. 로봇식 인간 감정 인식 엔진(1358)은 도 90, 도 91, 도 92 및 도 92에 관련하여 더 설명된다.
도 89는, 버스(2120)를 통해 애플리케이션 블록에 커플링되는 트레이닝 블록을 포함하는 로봇식 인간 감정 인식(또는 응답) 엔진(2106)이다. 트레이닝 블록은, 인간 입력 자극 모듈(human input stimuli module; 2122), 센서 모듈(2124), (입력 자극에 대한) 인간 감정 응답 모듈(2126), 감정 응답 기록용 모듈(2128), 품질 체크 모듈(2130), 및 학습 머신 모듈(2132)를 포함한다. 애플리케이션 블록은 입력 분석 모듈(2134), 센서 모듈(2136), 응답 생성 모듈(2138), 및 피드백 조정 모듈(2140)을 포함한다.
도 90은 로봇식 인간 감정 시스템(2150)의 프로세스 및 논리 플로우를 예시하는 흐름도이다. 그 제1 단계(2151)에서, (소프트웨어) 엔진은, 주변 환경으로부터의 시력, 청각적 피드백, 촉각 및 후각 센서 데이터를 포함해서, 인간의 감각과 비슷한 센서류 입력을 다양한 소스로부터 수신한다. 결정 단계(2152)에서, 모션 반사(motion reflex)를 생성할지의 여부의 결정이 이루어지는데, 반사 모션(reflex motion)(2153)으로 나타나거나, 또는, 반영 모션이 필요로 되지 않으면, 단계(2154)가 실행되고, 단계(2154)에서는, 특정 입력 정보 또는 패턴 또는 그 조합이 메모리에 저장되어 있는 정보 또는 패턴에 기초하여 인식되고, 인식된 정보 또는 패턴 또는 그 조합은 후속하여 추상적 또는 심볼적 표현으로 변환된다. 추상적 및/또는 심볼적 정보는, 경험 기반일 수 있는 지능 루프의 시퀀스를 통해 프로세싱된다. 다른 결정 단계(2156)는, 기지의 그리고 미리 정의된 거동 모델에 기초하여 모션 리액션(2157)이 관련되어야 하는지의 여부를 결정하고, 만약 아니라면, 단계(12158)는 취해지지 않는다. 그 다음, 단계 2158에서, 추상적 및/또는 심볼적 정보는 내부 메모리로부터 제공되는 입력을 가지고 감정 및 무드 리액션 거동 루프의 다른 계층을 통해 프로세싱되는데, 감정 및 무드 리액션 거동 루프는 학습을 통해 형성될 수 있다. 감정은, 설명될 수 있는 메커니즘, 및 (예를 들면, 진짜 미소와 예의적 미소 사이를 구별짓기 위해 미소가 얼마나 빨리 형성되고 미소가 얼마나 오래 지속되는지의 얼굴 표정을 캡쳐하는 것에 의해, 또는 스피커의 음성 질(vocal quality)에 기초하여 감정을 검출하는 것에 의해, 이 경우 컴퓨터는 목소리의 피치, 에너지 및 볼륨뿐만 아니라, 한 순간에서 다음 순간까지의 볼륨 및 피치에서의 동요(fluctuation)를 측정함) 측정되고 분석될 수 있는 양(quantity)을 가지고, 수학적 형식론으로 분류되고 로봇에게 프로그래밍된다. 따라서, 감정 표현에 대한 소정의 식별가능하고 측정가능한 메트릭이 존재할 것인데, 이 경우, 동물의 거동 또는 인간이 말하는 또는 노래하는 사운드에서의 이들 메트릭은 식별가능하고 측정가능한 관련 감정 속성을 가질 것이다. 이들 식별가능하고 측정가능한 메트릭에 기초하여, 감정 엔진은, 어떤 거동에 관련될지, 사전 학습되었는지 또는 신규로 학습되었는지의 여부에 관한 결정(2159)을 할 수 있다. 관련된 또는 실행된 거동 및 그 유효 결과는 메모리에서 업데이트되고 경험 성격 및 자연적 거동 데이터베이스(experience personality and natural behavior database; 2160)에 추가된다. 후속하여 계속되는 단계(2161)에서, 경험 개성 데이터는 더욱 인간 고유의 정보로 변환되는데, 그 다음, 이 인간 고유의 정보는 그 또는 그녀가 규정된 또는 결과적으로 나타나는 모션(2162)을 실행하는 것을 허용한다.
도 91a 내지 도 91c는, 사람의 감정 프로파일을, 호르몬, 페로몬 및 다른 것을 사용하여 감정 프로파일의 모집단에 비교하는 프로세스(2180)를 예시하는 흐름도이다. 도 91a는 감정 프로파일 적용의 프로세스(2182)를 설명하는데, 여기서, 사람의 감정 파라미터는 유저의 일반적인 프로파일(2184)로부터 모니터링 및 추출되고, 자극 입력에 기초하여, 파라미터 값은 구획된 타임라인으로부터 유도되는 베이스라인 값으로부터 변하고, 취해져서, 유사한 조건 하에서 현존하는 더 큰 그룹에 대한 감정 파라미터에 비교된다. 로봇 인간 감정 엔진(2108)은 중앙 데이터베이스에서의 현존하는 그룹 사이에서의 일반적인 감정 프로파일로부터 파라미터를 추출하도록 구성된다. 정의된 조건 하에서의 사람의 감정 파라미터를 모니터링하는 것에 의해: 자극 입력을 통해, 각각의 파라미터 값은 베이스라인으로부터, 타임라인의 구획으로부터 유도되는 현재의 평균 값으로 변한다. 유저의 데이터는, 동일한 감정 프로파일 또는 조건 하에서 큰 그룹에 대해 획득되는 현존하는 프로파일에 비교되고, 그룹해제(degrouping) 프로세스를 통해 감정 및 감정 강도 레벨이 결정될 수 있다. 몇몇 잠재적인 애플리케이션은, 로봇 동반자, 데이트 서비스, 경멸 감지, 제품 시장 수용, 아이의 치료 중 통증, 이러닝, 자폐증을 갖는 아이를 포함한다. 단계 2186에서, 하나 이상의 기준 파라미터에 기초한 제1 레벨의 그룹해제(예를 들면, 동일한 감정 파라미터를 갖는 사람들의 변화 속도에 기초한 그룹해제). 프로세스는, 도 92a에서 도시되는 바와 같이, 감정 파라미터 비교의 추가 단계로의 감정 파라미터 그룹해제 및 분리를 계속하는데, 감정 파라미터 비교의 추가 단계는, 페로몬의 세트, 미세 표정(micro-expression)의 세트(2223), 사람의 심박수(heart rate) 및 발한작용(perspiration)(2225), 동공 팽창(2226), 관찰된 반사적 움직임(observed reflexive movement; 2229), 전체적인 체온의 인식(2224), 및 인지된 상황적 압력(perceived situational pressure) 또는 반사 움직임(2229)에 의해 표현되는 연속된 레벨을 포함할 수 있다. 그 다음, 그룹해제된 감정 파라미터는 비교의 목적을 위한 유사한 그룹의 파라미터(1815)를 결정하기 위해 사용된다. 대안적인 실시형태에서, 그룹해제 프로세스는, 예시되는 바와 같이, 제2의 하나 이상의 기준 파라미터에 기초하여 제2 레벨의 그룹해제(2187)로, 그리고 제3의 하나 이상의 기준 파라미터에 기초하여 제3 레벨의 그룹해제(2188)로 더 개선될 수 있다.
도 91b는, 모두 N개까지의 실제 감정으로 이어지는, 화냄(anger)과 같은 순간 감정(1820), 두려움(fear)과 같은 이차 감정(1821)과 같은 모든 개개의 감정 그룹화를 묘사한다. 그 다음, 다음 단계(1823)은 각각의 그룹의 관련 감정(들)을 관련 감정 프로파일 데이터에 따라 계산하는데, 감정 상태의 강도 레벨의 평가(1824)로 이어지고, 강도 레벨의 평가(1824)는 그 후 엔진이 적절한 액션(1825)을 결정하는 것을 허용한다.
도 91c는 대규모 그룹 감정 프로파일 전개 및 학습(mass group emotional profile development and learning)의 자동화된 프로세스(1830)를 묘사한다. 프로세스는, 프로파일/파라미터 데이터 변경(1832)의 관련된 품질 체크와 함께, 신규의 다중 소스 감정 프로파일 및 상태 입력을 다양한 소스(1831)로부터 수신하는 것을 수반한다. 복수의 감정 프로파일 데이터는 단계(1833)에서 저장되고, 다수의 머신 학습 기술(1835)을 사용하여, 각각의 프로파일 및 데이터 세트를, 중앙 데이터베이스에 매칭(서브) 세트를 갖는 다양한 그룹으로 분석 및 분류하는 반복 루프(1834)가 실행된다.
도 92a는, 호르몬의 세트, 페로몬의 세트, 및 다른 주요 파라미터를 모니터링하는 것에 의해 사람의 감정 상태의 감정 검출 및 분석(2220)을 예시하는 블록도이다. 사람의 감정 상태는, 내부 및/또는 외부 자극을 갖는 정의된 조건 하에서, 사람의 생리학적 징후(physiological sign)를 모니터링하고 분석하는 것에 의해, 그리고 이들 생리학적 징후가 소정의 타임라인에 걸쳐 어떻게 변하는지를 평가하는 것에 의해 검출될 수 있다. 그룹화해제 프로세스의 하나의 실시형태는 하나 이상의 기준 파라미터에 기초한다(예를 들면, 동일한 감정 파라미터를 갖는 사람들의 변화 속도에 기초한 그룹해제).
하나의 실시형태에서, 감정 프로파일은 통계적 분류에 기초한 머신 학습 방법을 통해 검출될 수 있는데, 이 경우 입력은 페로몬, 호르몬, 또는 시각적 또는 청각적 큐(cue)와 같은 다른 피쳐의 임의의 측정된 레벨이다. 피쳐의 세트가 벡터로서 표현되는 {x1, x2, x3, …, xn}이고 y가 감정 상태를 나타내면, 감정 검출 통계 분류의 일반적인 형태는 다음과 같다:
Figure pat00016
여기서 함수 f는 결정 트리, 신경망(neural network), 논리적 회귀변수(logistic regressor), 또는 머신 학습 문헌에서 설명되는 다른 통계적 분류기이다. 제1 항은 경험적 에러(뷴류기를 트레이닝시키는 동안 검출되는 에러)를 최소화하며 제2 항은 소망의 결과를 산출하는 가장 간단한 함수 및 그 함수에 대한 파라미터 p의 세트를 찾는 복잡도를 최소화한다 - 예를 들면, 오컴의 면도날(Occam's razor).
추가적으로, 감정 상태를 예측하는 것에 대해 어떤 페로몬 또는 다른 피쳐가 가장 큰 차이를 만드는지(가장 큰 값을 더하는지)를 결정하기 위해, 액티브 학습 기준이 추가될 수 있는데, 일반적으로 다음과 같이 표현된다:
Figure pat00017
여기서 L은 "손실 함수"이고, f는 이전 식에서와 동일한 통계적 분류기이고, y햇은 기지의 결과이다. 신규의 피쳐의 추가에 의해 통계적 분류기가 더 좋게 수행하는지(더 작은 손실 함수)의 여부를 측정하고, 만약 그렇다면 신규 피쳐를 유지하고, 그렇지 않다면 유지하지 않는다.
시간에 걸쳐 진화하는 파라미터, 값 및 양은 평가되어, 한 순간에서 다음 순간으로의 변화 또는 변형을 검출하는 것에 의해 인간 감정 프로파일을 생성할 수 있다. 감정 표현에 대한 식별가능한 성질이 존재한다. 자신의 환경에 응답하는 감정을 갖는 로봇은 더 빠르고 보다 정확한 결정을 할 수 있는데, 예를 들면, 로봇이 두려움 또는 기쁨 또는 소망에 의해 자극되면, 로봇은 더 나은 결정을 할 수도 있을 것이고 보다 효율적이고 효과적으로 목표에 도달할 수도 있을 것이다.
로봇 감정 엔진은 인간 호르몬 감정 및 페로몬 감정을, 개별적으로 또는 조합하여 복제한다. 호르몬 감정은, 사람의 인체 내부에서 호르몬이 어떻게 변하는지 그리고 그것이 사람의 감정에 어떻게 영향을 미치는지를 가리킨다. 페로몬 감정은, 사람의 감정에 영향을 미치는 사람의 인체 외부에 있는 페로몬, 예컨대 냄새를 가리킨다. 사람의 감정 프로파일은 호르몬 및 페로몬 감정을 이해하고 분석하는 것에 의해 구축될 수 있다. 로봇 감정 엔진은, 센서를 사용하여 사람의 호르몬 및 페로몬 프로파일을 검출하는 것에 의해, 화 및 두려움과 같은 사람의 감정을 이해하려고 시도한다.
사람의 감정 프로파일을 구축하기 위해서는 측정되어야 하는 아홉 개의 주요한 생리학적 징후 파라미터가 존재한다: (1) 내부적으로 분비되며 소정의 효과를 야기하는 다양한 생화학적 경로를 트리거하는 호르몬의 세트(2221), 예를 들면, 아드레날린 및 인슐린이 호르몬이다, (2) 외부적으로 분비되며, 다른 사람에게 유사한 방식으로 영향을 미치는 페로몬(2222)의 세트, 예를 들면, 안드로스테놀(androstenol), 안드로스테논(androstenone) 및 안드로스타디에논(androstadienone), (3) 경험된 감정에 따라 인간에 의해 나타내어지는 짧고 비자발적인 얼굴 표정인 미세 표정(2223), (4) 심박수(2224) 또는, 예를 들면, 사람의 심박수가 증가할 때의 심장 박동(heart beat), (5) 땀(2225)(예를 들면, 닭살(goose bump)), 예를 들면, 얼굴 홍조 및 손에 땀이 차는 것 및 흥분되거나 또는 신경질적인 상태에 있는 것, (6) 동공 팽창(2226)(및 홍채 근육(iris sphincter), 담관근(biliary muscle)), 예를 들면 두려움의 느낌에 응답한 짧은 시간 동안의 동공 팽창, (7) 반사 운동(reflex movement)(v7), 이것은, 외부 자극에 대한 반응으로서, 척수궁(spinal arc)에 의해 주로 제어되는 움직임/액션이며, 예를 들면, 하악 경련 반사(jaw jerk reflex), (8) 체온(2228), (9) 혈압(2229). 이들 파라미터가 소정의 시간(2231)에 걸쳐 어떻게 변하는지에 관한 분석(2230)은 사람의 감정 상태 및 프로파일을 나타낼 수도 있다.
도 92b는 로봇(1590)이 사람의 감정 거동에 관하여 평가하고 학습하는 것을 예시하는 블록도이다. 파라미터 판독치는 분석되고(2240), 내부 자극(2242) 및/또는 외부 자극(2244)을 갖는 감정 및/또는 비감정 반응으로 나누어지는데, 예를 들면, 동공 빛 반사는 척수(spinal cord)의 수준에만 있고, 동공 사이즈는 사람이 화나거나, 아프거나, 사랑에 빠질 때 변할 수 있지만, 반면 비자발적인 반응은 일반적으로 뇌를 또한 수반한다. 중추신경계(central nervous system) 자극제 약물 및 몇몇 환각 약물(hallucinogenic drug)의 사용은 동공의 팽창을 야기할 수 있다.
도 93은, 사람의 감정 프로파일을 검출 및 기록하기 위해 사람에게 이식되는 포트 디바이스(2230)를 예시하는 블록도이다. 생리학적 징후 변화를 측정할 때, 사람은 감정의 변화가 시작한 시간에 제1 태그를 갖는 버튼을 누르고 감정 변화가 종료한 때 제2 태그를 갖는 버튼을 다시 터치하는 것에 의해 일정 시간 기간 동안 감정 프로파일을 모니터링하고 기록할 수 있다. 이 프로세스는, 감정 파라미터에서의 변화에 기초하여, 컴퓨터가 사람의 감정 프로파일을 평가하고 학습하는 것을 가능하게 한다. 대규모의 유저로부터 수집되는 데이터/정보를 이용하여, 컴퓨터는 각각의 감정과 관련되는 모든 변화를 분류하고, 특정한 감정 특성에 기인하는 것으로 할 수 있는 유의하고 특정한 파라미터 변화를 수학적으로 발견한다.
유저가 감정 또는 기분(mood) 기복을 경험하는 경우, 호르몬, 심박수, 땀, 페로몬과 같은 생리학적 파라미터는, 사람의 인체로, 피부 위에서 바로 정맥으로 이어지는 문(port)을 통해 검출되고 기록될 수 있다. 기분 변화의 시작 시간 및 종료 시간은, 사람의 감정 상태가 변할 때 사람 그 자신에 의해 결정될 수 있다. 예를 들면, 사람은 네 개의 수동 감정 싸이클을 개시하고 한 주 내에 네 개의 타임라인을 생성하며, 사람에 의해 결정되는 바와 같이, 제1 싸이클은 그가 시작을 태그한 시간으로부터 그가 종료를 태그한 시간까지 2.8시간 지속한다. 제2 싸이클은 2시간 동안 지속하고, 제3 싸이클은 0.8시간 동안 지속하고, 제4 싸이클은 1.6시간 동안 지속한다.
도 94a는 로봇식 인간 지능 엔진(2250)을 묘사한다. 복제 엔진(1360)에는, 트레이닝 블록 및 애플리케이션 블록을 포함하는 두 개의 메인 블록이 존재하는데, 그 양자는, 공통의 모듈간 통신 버스(72)를 통해 서로 모두 인터커넥트되는 다수의 추가적인 모듈을 포함한다. 인간 지능 엔진의 트레이닝 블록은, 센서 입력 모듈(1404), 인간 입력 자극 모듈(1402), 입력 자극에 반응하는 인간 지능 응답 모듈(1420), 지능 응답 기록용 모듈(1422), 품질 체크 모듈(1410) 및 학습 머신 모듈(1412)를 포함하지만, 그러나 이들로 제한되지는 않는 추가 모듈을 포함한다. 인간 지능 엔진의 애플리케이션 블록은, 입력 분석 모듈(1414), 센서 입력 모듈(1404), 응답 생성 모듈(1416), 및 피드백 조정 모듈(1418)을 포함하지만, 이들로 제한되지는 않는 추가 모델을 포함한다.
도 94b는 로봇식 인간 지능 시스템(1136)의 아키텍쳐를 묘사한다. 시스템은 인지형 로봇식 에이전트 및 인간 스킬 실행 모듈 양자로 분리된다. 양자의 모듈은 감지용 피드백 데이터(1482)뿐만 아니라, 감지된 모션 데이터(1538) 및 모델링된 모션 데이터(1539)를 공유한다. 인지형 로봇식 에이전트 모듈은, 조정 및 수정 모듈(1534)에 인터커넥트된 지식 데이터베이스(1531)를 나타내는 모듈을 포함하지만 이들로 제한되지는 않으며, 양자는 학습 모듈(1535)을 통해 업데이트된다. 현존하는 지식(1532)은 실행 모니터링 모듈(1536)에 공급될뿐만 아니라 현존하는 지식(1533)은 자동화된 분석 및 추론 모듈(1537)로 공급되는데, 이 경우 양자는 인간 스킬 실행 모듈로부터 감지용 피드백 데이터(1482)를 수신하고, 양자는 또한 정보를 학습 모듈(1535)로 공급한다. 인간 스킬 실행 모듈은, 피드백(시각적 및 청각적)의 다수의 소스를 수집하여 프로세싱하는 것에 자신의 제어 신호의 기초를 두는 제어 모듈(1138)뿐만 아니라, 표준화된 기기, 툴 및 액세서리를 활용하는 모듈(1541) 양자로 이루어진다.
도 95a는 로봇식 페인팅 시스템(1440)에 대한 아키텍쳐를 묘사한다. 단일 단위의 구매 또는 구독 단위의 지불 기반에 기초하여, 로봇식 페인팅을 위한 소프트웨어 프로그램 파일 또는 애플리케이션이 스튜디오 로봇 페인팅 시스템(1441)으로부터 상업적 로봇 페인팅 시스템(1445)으로 전달되는 것을 허용하도록 통신적으로 연결되는(1444), 스튜디오 로봇식 페인팅 시스템(1441) 및 상업적 로봇 페인팅 시스템(1445) 양자가 이 시스템에 포함된다. 스튜디오 로봇 페인팅 시스템(1441)은 (인간) 페인팅 아티스트(1442) 및 컴퓨터(1443)로 구성되는데, 컴퓨터(1443)는, 모션 및 액션 감지용 디바이스 및 아티스트의 움직임 및 프로세스를 캡쳐 및 기록하고 관련된 소프트웨어 페인팅 파일을 메모리(1380)에 저장하는 페인팅 프레임 캡쳐 센서에 인터페이싱된다. 상업적 로봇 페인팅 시스템(1445)은, 시뮬레이션 모듈의 캘리브레이팅하는 목적을 위한 시각적 피드백과 함께 소프트웨어 페인팅 파일 또는 애플리케이션에 따라 페인팅 아티스트(1442)의 움직임을 재현하도록 로봇 팔과 인터페이싱하여 제어할 수 있는 로봇식 페인팅 엔진을 갖는 컴퓨터(1447) 및 유저(1446)로 구성된다.
도 95b는 로봇 페인팅 시스템 아키텍쳐(1430)를 묘사한다. 아키텍쳐는, 모션 감지용 입력 디바이스 및 터치 프레임(1424)을 포함하지만 이들로 제한되지는 않는 컴퓨터(1420); 이젤(1426), 세척용 싱크(1427), 아트 홀스(art horse; 1428), 보관 캐비넷(1429) 및 재료 컨테이너(1430)(페인트, 솔벤트, 등등)를 포함하는 표준화된 작업 스테이션(1425)뿐만 아니라; 표준화된 툴 및 액세서리(브러시, 페인트 등등)(1431); 시각적 입력 디바이스(카메라, 등등)(1432); 및 하나 이상의 로봇 팔(1433)을 포함한다.
컴퓨터 모듈(1420)은, 페인팅 움직임 에뮬레이터(1422), 페인팅 실행 프로세스의 시각적 피드백에 기초하여 작용하는 페인팅 제어 모듈(1421), 페인팅 실행 프로그램 파일을 저장하는 메모리 모듈(1380), 적절한 드로잉 툴의 선택 및 사용법을 학습하기 위한 알고리즘(1423)뿐만 아니라 확장 시뮬레이션 평가 및 캘리브레이션 모듈(1378)에 인터페이싱되는 로봇식 페인팅 엔진(1352)을 포함하는 그러나 이것으로 제한되지는 않는 모듈을 포함한다.
도 95는 로봇식 인간 페인팅 스킬 복제 엔진(1352)을 묘사한다. 복제 엔진(1352)에는, 공통 모듈간 통신 버스(72)를 통해 서로 모두 인터커넥트된 다수의 추가적인 모듈이 존재한다. 복제 엔진은, 입력 모듈(1370), 페인트 움직임 기록용 모듈(1372), 보조/추가 센서류 데이터 기록용 모듈(1376), 페인팅 움직임 프로그래밍 모듈(1374), 소프트웨어 실행 프로시져 프로그램 파일을 포함하는 메모리 모듈(1380), 기록된 센서 데이터에 기초하여 실행 커맨드를 생성하는 실행 프로시져 모듈(1382), 표준화된 페인팅 파라미터를 포함하는 모듈(1400), 출력 모듈(1388), 및 (출력) 품질 체크용 모듈(1378)을 포함하는 그러나 이들로 제한되지는 않는 추가 모듈을 포함하는데, 이들 모두는 소프트웨어 메인티넌스 모듈(1386)에 의해 감독된다.
아트 플랫폼 표준화의 하나의 실시형태가 다음과 같이 정의된다. 먼저, 아트 플랫폼에서 임의의 종류의 아트 툴(브러시, 페인트, 캔버스 등등)의 표준화된 위치 및 방위(xyz). 두 번째로, 각각의 플랫폼에서의 표준화된 동작 볼륨 치수 및 아키텍쳐. 세 번째로, 각각의 아트 플랫폼에서의 표준화된 아트 툴 세트. 네 번째로, 각각의 아트 플랫폼에서의 조작의 라이브러리를 갖는 표준화된 로봇 팔 및 손. 다섯 번째로, 각각의 아트 플랫폼에서의 페인팅 기록과 실행 추적 및 품질 체크를 위한 동적 3차원 비전을 생성하기 위한 표준화된 3차원 비전 디바이스. 여섯 번째로, 특정한 페인팅 실행 동안 모든 사용하는 페인트의 표준화된 타입/생산자/마크. 일곱 번째로, 특정한 페인팅 실행 동안의 캔버스의 표준화된 타입/생산자/마크/사이즈.
표준화된 아트 플랫폼을 가지는 하나의 주요 목적은, 원래의 페인터(painter)에 의해 실행되고 나중에 로봇식 아트 플랫폼에 의해 복제되는 페인팅 프로세스의 동일한 결과(즉, 동일한 페인팅)를 달성하는 것이다. 표준화된 아트 플랫폼을 사용함에 있어서 강조할 여러 주요 포인트는: (1) 페인터와 자동 로봇식 실행의 동일한 타임라인(조작의 동일한 시퀀스, 각각의 조작의 동일한 시작 및 종료 시간, 조작 사이에서 오브젝트를 이동시키는 동일한 속도)을 가지는 것; 및 (2) 페인팅 프로세스 동안 각각의 조작 이후 임의의 실패 결과를 방지하기 위해 품질 체크(3D 비전, 센서)가 존재하는 것이다. 따라서, 페인팅이 표준화된 아트 플랫폼에서 행해지면, 동일한 결과를 가지지 않는 위험성은 감소된다. 표준화되지 않은 아트 플랫폼이 사용되면, 이것은 동일한 결과를 가지지 않는(즉, 동일한 페인팅을 가지지 않는) 위험성을 증가시킬 것인데, 그 이유는 페인팅이 페인터 스튜디오에서 로봇식 아트 플랫폼에서와 동일한 아트 툴을 가지고, 동일한 페인트 툴을 가지고 또는 동일한 캔버스를 가지고 동일한 볼륨에서 실행되지 않을 때 조정 알고리즘이 필요로 될 수도 있기 때문이다.
도 96a는 스튜디오 페인팅 시스템 및 프로그램 상업화 프로세스(1450)를 묘사한다. 제1 단계(1451)는, 인간 페인팅 아티스트가 스튜디오 로봇 페인팅 시스템에서 생성될 아트워크(artwork)에 관한 결정을 하는 것인데, 주제, 구성, 미디어, 툴 및 기기 등등과 같은 토픽에 관해 결정하는 것을 포함한다. 아티스트는 단계(1452)에서 로봇식 페인팅 엔진으로 이러한 모든 데이터를 입력하고, 그 후, 단계(1453)에서, 아티스트는 표준화된 작업 스테이션, 툴과 기기 및 액세서리와 재료뿐만 아니라, 셋업 프로시저에서 필요로 되고 설명되는 모션 및 시각적 입력 디바이스를 셋업한다. 아티스트는 단계(1454)에서 프로세스의 시작 포인트를 설정하고 스튜디오 페인팅 시스템을 턴온하고, 그 후, 단계(1455)에서, 아티스트는 실제 페인팅을 시작한다. 단계(1456)에서, 스튜디오 페인팅 시스템은, 전체 페인팅 프로세스 동안, 아티스트의 움직임의 모션 및 비디오를 실시간으로 그리고 기지의 xyz 좌표 프레임에서 기록한다. 페인팅 스튜디오에서 수집되는 데이터는, 그 다음, 단계(1457)에서 저장되어, 저장된 움직임 및 미디어 데이터에 기초하여 로봇식 페인팅 엔진이 시뮬레이션 프로그램(1458)을 생성하는 것을 허용하게 된다. 생성된 페인팅에 대한 로봇식 페인팅 프로그램 실행 파일 또는 애플리케이션은, 상이한 오퍼레이팅 시스템 및 모바일 시스템에 의한 사용을 위해 개발 및 통합되고, 단일의 사용 구매로서의 또는 구독 기반의 판매를 위해 앱스토어 또는 다른 마켓플레이스 위치로 제출된다.
도 96b는 로봇식 페인팅 엔진에 대한 논리적 실행 플로우(1460)를 묘사한다. 제1 단계로서, 유저는 단계(1461)에서 페인팅 타이틀을 선택하고, 단계(1462)에서 로봇식 페인팅 엔진에 의해 입력이 수신된다. 로봇식 페인팅 엔진은 단계(1463)에서 페인팅 실행 프로그램 파일을 온보드 메모리로 업로드하고, 그 다음, 단계(1464)로 진행하는데, 단계(1464)에서는, 필요한 툴 및 액세서리를 로봇식 페인팅 엔진이 계산한다. 체킹 단계(1465)는, 툴, 액세서리 및 재료에 부족분이 있는지의 여분에 관한 답을 제공하고; 부족분이 있다면, 시스템은 경고(1466) 또는 주문 리스트에 대한 추천 또는 대안적인 페인팅을 전송한다. 부족분이 없는 경우, 엔진은 단계(1467)에서 선택을 확인하고, 유저가 단계(1468)로 진행하는 것을 허용하는데, 단계(1468)는, 페인팅 실행 프로그램 파일에 포함된 단계별(step-by-step) 명령어를 사용하여, 표준화된 작업 스테이션, 모션 및 시각적 입력 디바이스를 셋업하는 것으로 구성된다. 완료되면, 로봇식 페인팅 엔진은 적절한 셋업을 검증하기 위해 체크 단계(1469)를 수행하고; 단계(1470)를 통해 에러를 검출하면, 시스템 엔진은 유저에게 에러 경고를 전송하고((1472) 유저에게 셋업을 다시 체크하고 임의의 검출된 결함을 교정할 것을 촉구한다. 에러 검출 없이 체크가 통과하면, 셋업은 단계(1471)에서 엔진에 의해 확인될 것이고, 단계(1473)에서 시작 포인트를 설정하고 복제 및 시각적 피드백 및 제어 시스템에 전력을 인가할 것을 엔진이 유저에게 촉구하는 것을 허용한다. 단계(1474)에서, 로봇식 팔(들)은, 움직임, 툴 및 기기의 사용을 포함하는 페인팅 실행 프로그램 파일에서 특정되는 단계를, 페인팅 프로그램 실행 파일에 의해 특정되는 바와 같은 동일한 페이스에서 실행할 것이다. 시각적 피드백 단계(1475)는, 페인팅 프로세스의 성공적인 실행 및 그 성과를 정의하는 제어된 파라미터를 기준으로, 페인팅 복제 프로세스의 실행을 모니터링한다. 로봇식 페인팅 엔진은, 스튜디오 페인팅 시스템에 의해 캡쳐되고 저장된 바와 같은 동일한 최종 상태에 도달하려는 전체 복제 프로세스의 목표를 가지고, 복제 프로세스의 충실도를 증가시키기 위해 시뮬레이션 모델 검증의 단계(1476)를 추가로 취한다. 페인팅이 완료되면, 도포된 재료(페인트, 페이스트, 등등)에 대한 건조 및 경화 시간을 포함하는 통지(1477)가 유저에게 전송된다.
도 97a는 인간 음악 악기 스킬 복제 엔진(1354)을 묘사한다. 복제 엔진(1354)에는, 공통 모듈간 통신 버스(72)를 통해 서로 모두 인터커넥트된 다수의 추가적인 모듈이 존재한다. 복제 엔진은, 가청의(디지털) 오디오 입력 모듈(1370), 인간의 음악 악기 연주 움직임 기록용 모듈(1390), 보조/추가 센서류 데이터 기록용 모듈(1376), 음악 악기 연주 움직임 프로그래밍 모듈(1392), 소프트웨어 실행 프로시져 프로그램 파일을 포함하는 메모리 모듈(1380), 기록된 센서 데이터에 기초하여 실행 커맨드를 생성하는 실행 프로시져 모듈(1382), 표준화된 음악 악기 연주 파라미터(예를 들면, 페이스, 압력, 각도, 등등)를 포함하는 모듈(1394), 출력 모듈(1388), 및 (출력) 품질 체킹 모듈(1378)을 포함하는 그러나 이들로 제한되지는 않는 추가 모듈을 포함하는데, 이들 모두는 소프트웨어 메인티넌스 모듈(1386)에 의해 감독된다.
도 96b는 뮤지션 복제 엔진(1480)에 대한 수행되는 프로세스 및 논리적 플로우를 묘사한다. 시작하면, 단계(1481)에서, 유저는 음악 타이틀 및/또는 작곡가를 선택하고, 그 다음, 단계(1482)에서, 선택이 로봇식 엔진에 의해 이루어져야 하는지 또는 인간과의 상호작용을 통해 이루어져야 하는지의 여부를 질의받는다.
단계(1482)에서 타이틀/작곡가를 선택하기 위해 유저가 로봇 엔진을 선택하는 경우, 엔진은, 단계(1492)에서 창조성의 자기 자신의 해석을 사용하고, 단계(1493)에서, 인간 유저에게 선택 프로세스에 대한 입력을 제공할 것을 권한다. 인간이 입력을 제공할 것을 거절하면, 로봇 뮤지션 엔진은, 단계(1499)에서, 조성(tonality), 피치 및 기악 편성법(instrumentation)뿐만 아니라 멜로디 변주에 대한 수동 입력과 같은 설정을 사용하고, 단계(1130)에서 필요한 입력을 모으고, 단계(1501)에서 선택된 악기 연주 실행 프로그램 파일을 생성하여 업로드하고, 단계(1502)에서 로봇 뮤지션 엔진이 선택을 확인한 이후, 단계(1503)에서, 유저가 선호하는 것을 선택하는 것을 허용한다. 그 다음, 단계(1504)에서, 인간에 의해 이루어지는 선택은 개인적 선택으로서 개인 프로파일 데이터베이스에 저장된다. 단계(1493)에서, 인간이 질의의 입력을 제공하는 것을 결정하면, 유저는, 단계(1493)에서, 추가적인 감정 입력(얼굴 표정, 사진, 뉴스 기사 등등)을 선택 프로세스에 제공한다. 단계(194)로부터의 입력은 단계(1495)에서 로봇 뮤지션 엔진에 의해 수신되어, 로봇 뮤지션 엔진이 단계(1496)으로 진행하는 것을 허용하는데, 이 경우, 엔진은 이용가능한 입력 데이터에 관련되는 감정 분석을 실행하고, 인간으로부터의 감정 입력 데이터에 적절한 무드 및 스타일에 기초한 선곡(music selection)을 업로드한다. 단계(1497)에서의 업로드된 선곡에 대한 로봇 뮤지션 엔진에 의한 선택을 확인하면, 유저는, 단계(1498)에서, 선곡에 대한 프로그램 파일을 재생하기 위해 '시작' 버튼을 선택할 수도 있다.
인간이 타이틀/작곡가의 선택에서 밀접하게 포함되기를 원하면, 단계(1483)에서, 시스템은 선택된 타이틀에 대한 연주자(performer)의 리스트를 디스플레이 상에서 인간에게 제공한다. 단계(1484)에서, 유저는 소망의 연주자를 선택하고, 단계(1485)에서, 시스템은 선택 입력을 수신한다. 단계(1486)에서, 로봇 뮤지션 엔진은 악기 연주 실행 프로그램 파일을 생성하여 업로드하고, 단계(1487)로 진행하여, 특정한 악기에 대한 인간과 로봇 뮤지션의 연주 퍼포먼스 사이의 잠재적인 한계를 비교하여, 로봇 뮤지션 엔진이 잠재적인 퍼포먼스 갭을 계산하는 것을 허용하게 된다. 체킹 단계(1488)는 갭이 존재하는지의 여부를 결정한다. 갭이 존재한다면, 단계(1489)에서, 시스템은 유저의 선호도 프로파일에 기초하여 다른 선택을 제안할 것이다. 퍼포먼스 갭이 존재하지 않는다면, 단계(1490)에서, 로봇 뮤지션 엔진은 선택을 확인할 것이고 유저가 단계(1491)로 진행하는 것을 허용할 것인데, 단계(1491)에서는, 유저는 선택에 대한 프로그램 파일을 연주하기 위해 '시작' 버튼을 선택할 수도 있다.
도 98은 인간 간호업무 케어 스킬 복제 엔진(1356)을 묘사한다. 복제 엔진(1356)에는, 공통 모듈간 통신 버스(72)를 통해 서로 모두 인터커넥트된 다수의 추가적인 모듈이 존재한다. 복제 엔진은, 입력 모듈(1370), 간호업무 케어 움직임 기록용 모듈(1396), 보조/추가 센서류 데이터 기록용 모듈(1376), 간호업무 케어 움직임 프로그래밍 모듈(1398), 소프트웨어 실행 프로시져 프로그램 파일을 포함하는 메모리 모듈(1380), 기록된 센서 데이터에 기초하여 실행 커맨드를 생성하는 실행 프로시져 모듈(1382), 표준화된 간호업무 케어 파라미터를 포함하는 모듈(1400), 출력 모듈(1388), 및 (출력) 품질 체크용 모듈(1378)을 포함하는 그러나 이들로 제한되지는 않는 추가 모듈을 포함하는데, 이들 모두는 소프트웨어 메인티넌스 모듈(1386)에 의해 감독된다.
도 99a는 로봇식 인간 간호업무 케어 시스템 프로세스(1132)를 묘사한다. 제1 단계(1511)는, 유저(케어 받는 자(care receiver) 또는 가족/친구)가 케어 받는 자에 대한 계정을 생성하고, 개인 데이터(이름, 연령, ID, 등등)을 제공하는 것을 수반한다. 생체 데이터 수집 단계(1512)는, 얼굴 이미지, 지문, 목소리 샘플 등등을 비롯한 개인 데이터의 수집을 수반한다. 그 다음, 유저는, 단계(1513)에서, 비상연락처(emergency contact )에 대한 연락처 정보를 입력한다. 로봇식 엔진은, 단계(1514)에서, 이러한 모든 입력 데이터를 수신하여 유저 계정 및 프로파일을 구축한다. 단계(1515)에서 결정될 때, 유저가 원격 건강 모니터링 프로그램에 가입되어 있지 않으면, 로봇 엔진은, 단계(1521)의 일부로서, 계정 생성 확인 메시지 및 자체 다운로드 매뉴얼 파일/앱을 유저의 태블릿, 스마트폰 또는 미래의 터치 스크린 또는 음성 기반의 커맨드 인터페이스 목적을 위한 다른 디바이스로 전송한다. 유저가 원격 건강 모니터링 프로그램의 일부이면, 로봇 엔진은, 단계(1516)에서, 의료 기록에 접근할 퍼미션을 요청할 것이다. 단계(1517)의 일부로서, 로봇 엔진은 유저의 병원 및 단골의사의 사무실, 실험실, 및 의료 보험 데이터베이스와 연결되어 유저에 대한 의료 이력, 처방, 조치, 및 약속 데이터를 수신하고, 그 유저에 특정한 파일에 보관하기 위한 의료 케어 실행 프로그램을 생성한다. 다음 단계(1518)로서, 로봇 엔진은 연속적인 모니터링을 허용하기 위해, 유저의 웨어러블 의료 디바이스(예컨대 혈압 모니터, 맥박 및 혈액 산소 센서(blood-oxygen sensor)), 또는 심지어 전자적으로 제어가능한 (경구용이든 또는 주사용이든 여하간의) 약물 분배 시스템 중 일부 또는 전체와 연결된다. 후속하는 단계로서, 로봇 엔진은, 단계(1519)에서, 유저의 계정에 대한 하나 이상의 의료 케어 실행 프로그램 파일을, 의료 엔진이 생성하는 것을 허용하는 의료 데이터 파일 및 센서류 입력을 수신한다. 다음 단계(1134)는, 유저의 정보, 일상의 활동, 관련 파라미터 및 임의의 과거 또는 미래의 의료적 이벤트 또는 약속에 대한 보안 클라우드 스토리지 데이터 공간의 생성을 수반한다. 이전과 같이, 단계(1521)에서, 로봇 엔진은, 계정 생성 확인 메시지 및 자체 다운로드 매뉴얼 파일/앱을 유저의 태블릿, 스마트폰 또는 미래의 터치 스크린 또는 음성 기반의 커맨드 인터페이스 목적을 위한 다른 디바이스로 전송한다.
도 99b는, 도 99a로 먼저 시작한 로봇식 인간 간호업무 케어 시스템 프로세스(1132)의 이어지는 부분을 묘사하지만, 도 99b는 이제 유저의 환경에서 물리적으로 존재하는 로봇에 관련된다. 제1 단계(1522)로서, 유저는 디폴트 구성 및 위치(예를 들면, 충전 스테이션)에서 로봇을 턴온시킨다. 태스크(1523)에서, 로봇은 유저의 음성 또는 터치 스크린 기반의 커맨드를 수신하여 하나의 특정한 또는 그룹의 커맨드 또는 액션을 실행한다. 단계(1524)에서, 로봇은 얼굴 인식 커맨드 및 큐, 응답 또는 유저의 거동을 사용하여 유저와의 약속에 기초한 특정한 태스크 및 활동을 실행하는데, 로봇은 자신의 결정을 특정한 또는 모든 상황의 지식에 기초한 태스크 긴급성 및 태스크 우선순위와 같은 이러한 요인에 기초한다. 태스크(1525)에서, 로봇은 통상적인 하나 이상의 아이템의 페칭, 파지 및 전달을 실행하고, 장애물이 없는 경로를 따른 움직임 최적화를 위해 오브젝트 인식 및 환경 감지, 국소화 및 매핑 알고리즘을 사용하여 태스크를 완수하고, 어쩌면 심지어 임의의 제어가능한 홈 어플라이언스와 인터페이싱하는 또는 유저에 대한 오디오/비디오 화상 회의 능력을 제공하는 아바타로서 기능한다. 로봇은, 제1 응답자 또는 가족 구성원에게 그들의 즉각적인 동의를 필요로 하는 임의의 잠재적인 상황에 관하여 통지하는 능력을 가지고, 센서류 입력 및 유저의 프로파일 데이터에 기초하여 유저의 의료 상태를 연속적으로 모니터링하고, 잠재적인 의료적 위험 상태의 가능한 징후를 모니터링한다. 로봇은 단계(1526)에서 임의의 미해결의(open) 또는 남아 있는 태스크를 연속적으로 체크하고 단계(1522)로부터의 어떠한 유저 입력에 대해서도 대응할 준비가 된 상태를 항상 유지한다.
도 100은, 본원에서 논의되는 방법론을 수행하는 컴퓨터 실행가능 명령어가 설치되거나 실행될 수 있는, 224로 도시되는 바와 같은, 컴퓨터 디바이스의 한 예를 예시하는 블록도이다. 상기에서 언급된 바와 같이, 본 발명과 연계하여 논의된 다양한 컴퓨터 기반 디바이스는 유사한 속성을 공유할 수도 있다. 24에서의 컴퓨터 디바이스의 각각은, 컴퓨터 디바이스로 하여금 본원에서 논의된 방법론 중 임의의 하나 이상을 수행하게 하는 명령어의 세트를 실행할 수 있다. 컴퓨터 디바이스(12)는 24, 서버(10), 또는 임의의 네트워크 중간 디바이스 중 일부 또는 전체를 나타낼 수도 있다. 또한, 단일의 머신이 예시되지만, 용어 "머신"은, 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하는 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 결합하여 실행하는 머신의 임의의 집합체를 포함하는 것으로 또한 간주될 수 있을 것이다. 예시적인 컴퓨터 시스템(224)은 프로세서(226)(예를 들면, 중앙 프로세싱 유닛(central processing unit; CPU), 그래픽 프로세싱 유닛(graphics processing unit; GPU), 또는 양자), 메인 메모리(228) 및 정적 메모리(230)를 포함하는데, 이들은 버스(232)를 통해 서로 통신한다. 컴퓨터 시스템(224)은 비디오 디스플레이 유닛(234)(예를 들면, 액정 디스플레이(liquid crystal display; LCD)를 더 포함할 수도 있다. 컴퓨터 시스템(224)은 또한, 영숫자 입력 디바이스(236)(예를 들면, 키보드), 커서 제어 디바이스(238)(예를 들면, 마우스), 디스크 구동 유닛(240), 신호 생성 디바이스(242)(예를 들면, 스피커), 및 네트워크 인터페이스 디바이스(248)를 포함한다.
디스크 구동 유닛(2240)은, 본원에서 설명되는 방법론 또는 기능 중 임의의 하나 이상을 구체화하는 명령어의 하나 이상의 세트(예를 들면, 소프트웨어(246))가 저장되는 머신 판독가능 매체(244)를 포함한다. 소프트웨어(246)는 또한, 완전히 또는 적어도 부분적으로, 그 실행 동안 메모리(244) 내에서 및/또는 프로세서(226) 내에서, 컴퓨터 시스템(224), 메인 메모리(228), 및 머신 판독가능 매체를 구성하는 프로세서(226)의 명령어 저장부 내에서 상주할 수도 있다. 소프트웨어(246)는 또한, 네트워크(18)를 통해 네트워크 인터페이스 디바이스(248)를 경유하여 전송되거나 수신될 수도 있다.
머신 판독가능 매체(244)가 한 예시적인 실시형태에서 단일의 매체인 것으로 도시되지만, 용어 "머신 판독가능 매체"는, 명령어의 하나 이상의 세트를 저장하는 단일의 매체 또는 다수의 매체(예를 들면, 중앙집중형 또는 분산형 데이터베이스, 및/또는 관련 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. 용어 "머신 판독가능 매체"는, 머신에 의한 실행을 위한 명령어의 세트를 저장할 수 있는 그리고 머신으로 하여금 본 발명의 방법론 중 임의의 하나 이상을 수행하게 하는 임의의 유형의(tangible) 매체를 포함하는 것으로 또한 간주될 수 있을 것이다. 상응하여, 용어 "머신 판독가능 매체"는, 솔리드 스테이트 메모리, 및 광학 및 자기 매체를 포함하는 것으로 간주될 수 있을 것이지만, 그러나 이들로 제한되지는 않을 것이다.
일반적인 관점에서, 로봇 시스템에 대한 모션 캡쳐 및 분석의 방법이 제공될 수도 있는데, 그 방법은, 사람이 작업용 기기(working equipment)를 사용하여 제품을 준비할 때 복수의 로봇 센서에 의해 사람의 움직임의 관찰치(observation)의 시퀀스를 감지하는 것; 관찰치의 시퀀스에서, 제품을 준비하는 각각의 단계에서 실행되는 움직임의 시퀀스에 대응하는 미소 조작을 검출하는 것; 감지된 관찰치의 시퀀스를, 미소 조작의 시퀀스를 수행할 수 있는 로봇 장치를 제어하기 위한 컴퓨터 판독가능 명령어로 변환하는 것; 적어도, 미소 조작에 대한 명령어의 시퀀스를 제품용 전자적 미디어에 저장하는 것을 포함한다. 이것은 다수의 제품에 대해 반복될 수도 있다. 제품에 대한 미소 조작의 시퀀스는 전자적 레코드로서 저장되는 것이 바람직하다. 미소 조작은, 오브젝트를 컷팅하는 것, 오브젝트를 (오븐에서 또는 스토브 상에서 오일 또는 물로) 가열하는 것, 또는 유사한 것과 같은 다중 스테이지 프로세스의 추상화된 부분일 수도 있다. 그 다음, 방법은: 제품에 대한 전자적 레코드를, 사람의 원래의 액션에 대응하는, 저장된 미소 조작의 시퀀스를 복제할 수 있는 로봇 장치로 전송하는 것을 더 포함할 수도 있다. 또한, 방법은, 로봇 장치에 의해 제품에 대한 미소 조작용 명령어의 시퀀스를 실행하고, 그로 인해 사람에 의해 준비된 원래의 제품과 실질적으로 동일한 결과를 획득하는 것을 더 포함할 수도 있다.
다른 일반적인 양태에서는, 로봇 장치를 동작시키는 방법이 고려될 수도 있는데, 그 방법은, 표준 미소 조작 - 각각의 미소 조작은 제품을 준비하는 스테이지에서 적어도 하나의 식별가능한 결과를 생성함 - 에 대한 사전 프로그래밍된 명령어의 시퀀스를 제공하는 것; 사람이 기기를 사용하여 제품을 준비할 때 복수의 로봇 센서에 의해 사람의 움직임에 대응하는 관찰치의 시퀀스를 감지하는 것; 관찰치의 시퀀스에서 표준 미소 조작 - 미소 조작은 하나 이상의 관찰치에 대응하고, 미소 조작의 시퀀스는 제품의 준비에 대응함 - 을 검출하는 것; 사람 모션의 감지된 시퀀스에 기초하여 사전 프로그래밍된 표준 미소 조작 - 미소 조작의 각각은 로봇 명령어의 시퀀스를 포함하고, 로봇 명령어는 동적 감지 동작 및 로봇 액션 동작을 포함함 - 의 시퀀스를 인식하기 위한 소프트웨어 구현 방법에 기초하여, 관찰치의 시퀀스를 로봇 명령어로 변환하는 것; 미소 조작의 시퀀스 및 그들의 대응하는 로봇 명령어를 전자적 미디어에 저장하는 것을 포함한다. 바람직하게는, 제품에 대한 명령어의 시퀀스 및 대응하는 미소 조작은 제품을 준비하기 위한 전자적 레코드로서 저장된다. 이것은 다수의 제품에 대해 반복될 수도 있다. 방법은, 로봇 명령어의 시퀀스를 복제하고 실행할 수 있는 로봇 장치로, (바람직하게는 전자적 레코드 형태의) 명령어의 시퀀스를 전송하는 것을 더 포함할 수도 있다. 방법은, 로봇 장치에 의해 제품에 대한 로봇 명령어를 실행하여, 인간에 의해 준비된 원래의 제품과 실질적으로 동일한 결과를 획득하는 것을 더 포함할 수도 있다. 방법이 다수의 제품에 대해 반복되는 경우, 방법은, 제품의 이름, 제품의 재료 및 재료로부터 그 제품을 만들기 위한 방법(예컨대 레시피)을 포함하는, 하나 이상의 제품의 전자적 설명의 라이브러리를 제공하는 것을 추가로 포함할 수도 있다.
다른 일반화된 양태는 로봇 장치를 동작시키는 방법을 제공하는데, 그 방법은, 사람의 원래의 액션에 대응하는 미소 조작의 일련의 표시- 각각의 표시는 로봇 명령어의 시퀀스를 포함하고 로봇 명령어는 동적 감지 동작 및 로봇 액션 동작을 포함함 - 를 포함하는, 제품을 만들기 위한 명령어의 세트를 수신하는 것; 미소 조작의 시퀀스를 복제할 수 있는 로봇 장치로 명령어 세트를 제공하는 것; 로봇 장치에 의해 제품에 대한 미소 조작용의 명령어의 시퀀스를 실행하여, 그로 인해, 사람에 의해 준비된 원래의 제품과 실질적으로 동일한 결과를 획득하는 것을 포함한다.
로봇 장치를 동작시키는 다른 일반화된 방법이 상이한 양태로 고려될 수도 있는데, 복수의 제품 준비 움직임을 갖는 레시피를 복제하기 위한 로봇 명령어 스크립트를 실행하는 것; 각각의 준비 움직임이 표준 툴 또는 표준 오브젝트의 표준 잡기 액션으로서 식별되는지, 표준 손 조작 액션 또는 오브젝트로서 식별되는지, 또는 비표준 오브젝트로서 식별되는지를 결정하는 것; 및 각각의 준비 움직임에 대해, 준비 움직임이 표준 오브젝트의 표준 잡기 액션을 수반하면 제1 데이터베이스 라이브러리에 액세스할 것을 로봇식 요리용 디바이스에게 명령하는 것; 준비 움직임이 표준 손 조작 액션 또는 오브젝트를 수반하면 제2 데이터베이스 라이브러리에 액세스할 것을 로봇식 요리용 디바이스에게 명령하는 것; 및 준비 움직임이 비표준 오브젝트를 수반하면 비표준 오브젝트의 삼차원 모델을 생성할 것을 로봇식 요리용 디바이스에게 명령하는 것 중 하나 이상을 포함한다. 결정하는 단계 및/또는 명령하는 단계는 컴퓨터 시스템에서 또는 컴퓨터 시스템에 의해 특히 구현될 수도 있다. 컴퓨팅 시스템은 프로세서 및 메모리를 구비할 수도 있다.
로봇 장치에 의한 제품 준비를 위한 방법에서 다른 양태가 발견될 수도 있는데, 그 방법은, 제품(예컨대 음식)을 준비하는 것에 의한 레시피를 로봇 장치를 통해 복제하는 것을 포함하고, 레시피는 하나 이상의 준비 스테이지로 분류되고, 각각의 준비 스테이지는 미소 조작 및 액티브 프리미티브의 시퀀스로 분류되고, 각각의 미소 조작은 액션 프리미티브의 시퀀스로 분류된다. 바람직하게는, 각각의 미소 조작은 (성공적으로) 테스트되어, 오브젝트의 위치, 방위, 형상, 및 하나 이상의 적용가능한 재료에서의 임의의 변동에 관점에서 그 미소 조작에 대한 최적의 결과를 생성하는 것이 바람직하다.
레시피 스크립트 생성을 위한 방법에서 다른 방법 양태가 고려될 수도 있는데, 다른 방법 양태는, 표준화된 작업 환경 모듈의 주변에 있는 센서로부터 필터링된 원시 데이터를 수신하는 것; 필터링된 원시 데이터로부터 스크립트 데이터의 시퀀스를 생성하는 것; 및 스크립트 데이터의 시퀀스를 제품을 준비하기 위한 머신 판독가능 및 머신 실행가능 커맨드로 변환하는 것을 포함하고, 머신 판독가능 및 머신 실행가능 커맨드는 로봇 팔 및 손의 쌍을 제어하여 한 기능을 수행하기 위한 커맨드를 포함한다. 그 기능은 하나 이상의 요리용 스테이지, 하나 이상의 미소 조작, 및 하나 이상의 액션 프리미티브로 구성되는 그룹으로부터 선택될 수도 있다. 본 방법에 따라 동작하도록 구성되는 하드웨어 및/또는 소프트웨어 피쳐를 포함하는 레시피 스크립트 생성 시스템이 또한 고려될 수도 있다.
이들 양태 중 임의의 것에서, 하기의 것이 고려될 수도 있다. 제품의 준비는 일반적으로 재료를 사용한다. 명령어를 실행하는 것은, 통상적으로, 제품을 준비함에 있어서 사용되는 재료의 속성을 감지하는 것을 포함한다. 제품은 (음식) 레시피(이것은 전자적 설명으로 유지될 수도 있다)에 따른 음식일 수도 있고 사람은 요리사일 수도 있다. 작업용 기기는 키친 기기를 포함할 수도 있다. 이들 방법은 본원에서 설명되는 다른 피쳐 중 임의의 하나 이상의 것과 조합하여 사용될 수도 있다. 양태의 피쳐 중 하나, 하나 이상 또는 전체는 결합될 수도 있고, 따라서, 하나의 양태로부터의 피쳐는 예를 들면 다른 양태와 결합될 수도 있다. 각각의 양태는 컴퓨터로 구현될 수도 있고 컴퓨터 또는 프로세서에 의한 동작시 각각의 방법을 수행하도록 구성되는 컴퓨터 프로그램이 제공될 수도 있다. 각각의 컴퓨터 프로그램은 컴퓨터 판독가능 매체 상에 저장될 수도 있다. 추가적으로 또는 대안적으로, 프로그램은 부분적으로 또는 전적으로 하드웨어로 구현될 수도 있다. 양태는 결합될 수도 있다. 또한, 이들 양태 중 임의의 양태에 관해서 설명되는 방법에 따라 동작하도록 구성되는 로봇 시스템이 제공될 수도 있다.
다른 양태에서, 로봇 시스템이 제공될 수도 있는데, 그 로봇 시스템은: 인간 모션을 관찰할 수 있고 제1 기구가 구비된 환경에서 인간 모션 데이터를 생성할 수 있는 멀티모달 감지 시스템; 및 멀티모달 감지 시스템에 통신적으로 커플링되며, 멀티모달 감지 시스템으로부터 수신되는 인간 모션 데이터를 기록하기 위한 그리고, 바람직하게는, 모션 프리미티브가 로봇식 시스템의 동작을 정의하도록, 인간 모션 데이터를 프로세싱하여 모션 프리미티브를 추출하기 위한 프로세서(이것은 컴퓨터일 수도 있다)를 포함한다. 모션 프리미티브는, 본원에서(예를 들면, 직전의 문단에서) 설명된 바와 같이, 미소 조작일 수도 있고 표준 포맷을 가질 수도 있다. 모션 프리미티브는, 특정 타입의 액션 및 그 타입의 액션에 대한 파라미터, 예를 들면, 정의된 시작 포인트, 종료 포인트, 힘 및 그립 타입을 갖는 당기는 액션을 정의할 수도 있다. 옵션적으로는, 프로세서 및/또는 멀티모달 감지 시스템에 통신적으로 커플링되는 로봇 장치가 추가로 제공될 수도 있다. 로봇 장치는 모션 프리미티브 및/또는 인간 모션 데이터를 사용하여 제2 기구가 구비된 환경에서의 관찰된 인간 모션을 복제할 수도 있다.
다른 양태에서, 로봇 시스템이 제공될 수도 있는데, 로봇 시스템은: 로봇 시스템의 동작을 정의하기 위한 모션 프리미티브 - 모션 프리미티브는 인간 모션으로부터 캡쳐되는 인간 모션 데이터에 기초함 - 를 수신하기 위한 프로세서(이것은 컴퓨터일 수도 있음); 및 프로세서에 통신적으로 커플링되며, 모션 프리미티브를 사용하여 기구가 구비된 환경에서 인간 모션을 캡쳐할 수 있는 로봇 시스템을 포함한다. 이들 양태는 또한 결합될 수도 있다는 것이 이해될 것이다.
로봇 시스템에서 다른 양태가 발견될 수도 있는데, 다른 양태는: 제1 및 제2 로봇 팔; 제1 및 제2 로봇 손 - 각각의 손은 각각의 팔에 커플링되는 손목을 가지며, 각각의 손은 손바닥 및 다수의 유기적으로 연결된 손가락을 구비하고, 각각의 손에 있는 각각의 유기적으로 연결된 손가락은 적어도 하나의 센서를 구비함 - ; 제1 및 제2 글로브 - 각각의 글로브는 복수의 임베딩된 센서를 구비하는 각각의 손을 커버함 - 를 포함한다. 바람직하게는, 로봇 시스템은 로봇식 키친 시스템이다.
상이한 그러나 관련된 양태에서, 모션 캡쳐 시스템이 제공될 수도 있는데, 모션 캡쳐 시스템은: 표준화된 작업 환경 모듈, 바람직하게는, 키친; 인간에게 물리적으로 커플링되도록 구성되는 제1 타입의 센서 및 인간으로부터 떨어져 이격된 구성되는 제2 타입의 센서를 구비하는 복수의 멀티모달 센서를 포함한다. 다음 중 하나 이상이 사실일 수도 있다: 제1 타입의 센서는 인간 부속지의 자세 및 인간 부속지의 모션 데이터를 측정하기 위한 것일 수도 있고; 제2 타입의 센서는 인간 부속지의 위치, 환경, 오브젝트 및 움직임 중 하나 이상의 3차원 구성의 공간적 등록을 결정하기 위한 것일 수도 있고; 제2 타입의 센서는 활동 데이터를 감지하도록 구성될 수도 있고; 표준화된 작업 환경은 제2 타입의 센서와 인터페이싱하기 위해 커넥터를 구비할 수도 있고; 제1 타입의 센서 및 제2 타입의 센서는 모션 데이터 및 활동 데이터를 측정하고, 보관 및 제품(예컨대 음식) 준비를 위한 프로세싱을 위해, 모션 데이터 및 활동 데이터 둘 다를 컴퓨터로 전송한다.
감지용 글로브로 코팅된 로봇 손에서, 한 양태가 추가적으로 또는 대안적으로 고려될 수도 있는데, 그 양태는: 다섯 개의 손가락; 및 다섯 개의 손가락에 연결된 손바닥을 포함하고, 손바닥은 내부 관절 및 세 개의 영역에서 변형가능한 표면을 구비하고; 제1 변형가능한 영역은 손바닥의 요골 측 상에 그리고 엄지손가락의 기부(base) 근처에 배치되고; 제2 변형가능한 영역은 손바닥의 척골 측 상에 그리고 요골 측으로부터 이격되어 배치되고; 제3 변형 가능한 영역은 손바닥 상에 배치되고 손가락의 기부에 걸쳐 연장한다. 바람직하게는, 제1 변형가능한 영역, 제2 변형가능한 영역, 제3 변형가능한 영역, 및 내부 관절은 일괄적으로 미소 조작, 특히 음식 준비를 위한 미소 조작을 수행하도록 동작한다.
상기 시스템, 디바이스 또는 장치 양태 중 임의의 양태에 대하여, 시스템의 기능성을 실행하는 단계를 포함하는 방법 양태가 추가로 제공될 수도 있다. 추가적으로 또는 대안적으로, 다른 양태에 대해서, 본원에서 설명된 피쳐 중 임의의 하나 이상에 기초한 옵션적인 피쳐가 발견될 수도 있다.
도 100은, 크리에이터의 기록 시스템(2710) 및 상업적 로봇 시스템(2720)을 갖는 로봇 인간 스킬 복제 시스템(2700)의 일반적인 적용가능성(또는 범용성)을 예시하는 블록도이다. 인간 스킬 복제 시스템(2700)은 주제 전문가(subject expert) 또는 크리에이터(2711)의 움직임 또는 조작을 캡쳐하기 위해 사용될 수도 있다. 크리에이터(2711)는 그 자신/그녀 자신의 각각의 분야에서 전문가일 수도 있고, 전문 직업인일 수도 있거나 또는 요리하기, 그림그리기, 의료 진단, 또는 악기 연주와 같은 정밀한 특정 태크스를 수행하는 데 필요한 스킬을 획득한 사람일 수도 있다. 크리에이터의 기록 시스템(2710)은, 감지 입력, 예를 들면, 모션 감지 입력을 갖는 컴퓨터(2712), 복제 파일을 저장하기 위한 메모리(2713) 및 주제/스킬 라이브러리(2714)를 포함한다. 크리에이터의 기록 시스템(2710)은 특수 컴퓨터일 수도 있거나 또는 크리에이터(2711) 움직임을 기록 및 캡쳐하고, 이들 움직임을, 컴퓨터(2712) 상에서 프로세싱될 수도 있고 메모리(2713)에 저장될 수도 있는 단계로 분석 및 세밀히 구별하는 능력을 갖는 범용 컴퓨터일 수도 있다. 센서는, 시각적, IR, 열, 근접, 온도, 압력 중 임의의 타입일 수도 있거나, 또는 태스크를 수행하기 위해 로봇 시스템에 의해 필요로 되는 미소 조작을 개선하고 완전하게 하기 위한 정보를 수집할 수 있는 임의의 다른 타입의 센서일 수도 있다. 메모리(2713)는, 원격 또는 로컬 메모리 타입 스토리지 중 임의의 타입일 수도 있고, 자기, 광학, 또는 임의의 다른 공지된 전자 저장 시스템을 포함하는 임의의 타입의 메모리 시스템 상에 저장될 수도 있다. 메모리(2713)는 공개 또는 사설 클라우드 기반의 시스템일 수도 있고 로컬하게 또는 써드파티에 의해 제공될 수도 있다. 주제/스킬 라이브러리(2714)는, 이전에 기록된 그리고 캡쳐된 미소 조작의 컴필레이션(compilation) 또는 콜렉션일 수도 있고, 임의의 논리적 또는 관계적 순서로, 예컨대 태스크 단위로, 로봇 컴포넌트 단위로, 또는 스킬 단위로 분류 또는 정렬될 수도 있다.
상업적 로봇 시스템(2720)은 유저(2721), 로봇 실행 엔진을 갖는 컴퓨터(2722) 및 미소 조작 라이브러리(2723)를 포함한다. 컴퓨터(2722)는 범용 또는 특수 목적의 컴퓨터를 포함하며, 프로세서 및 또는 다른 표준 컴퓨팅 디바이스의 임의의 컴필레이션일 수도 있다. 컴퓨터(2722)는, 기록 시스템에 의해 캡쳐되는 움직임을 재생성하기 위해 팔/손과 같은 로봇 엘리먼트 또는 완전한 휴머노이드 로봇을 동작시키기 위한 로봇 실행 엔진을 포함한다. 컴퓨터(2722)는 또한, 기록 프로세스 동안 캡쳐되는 프로그램 파일 또는 앱에 따라 크리에이터(2711)의 표준화된 오브젝트(예를 들면, 툴 및 기기)를 동작시킬 수도 있다. 컴퓨터(2722)는 또한, 시뮬레이션 모델 캘리브레이션 및 실시간 조정을 위해 3D 모델링 피드백을 제어 및 캡쳐할 수도 있다. 미소 조작 라이브러리(2723)는, 크리에이터의 기록 시스템(2710)으로부터 통신 링크(2701)를 통해 상업적 로봇 시스템(2720)으로 다운로드된 캡쳐된 미소 조작을 저장한다. 미소 조작 라이브러리(2723)는 미소 조작을 로컬하게 또는 원격에 저장할 수도 있고 이들을 미리 결정된 또는 관계적 기반으로 저장할 수도 있다. 통신 링크(2701)는 (대상) 인간 스킬에 대한 프로그램 파일 또는 앱을, 구매, 다운로드, 또는 가입 기반으로, 상업적 로봇 시스템(2720)에게 전달한다. 동작에서, 로봇 인간 스킬 복제 시스템(2700)은, 크리에이터(2711)가, 컴퓨터(2712) 상에서 캡쳐되고 메모리(2713)에 저장되는 일련의 태스크 또는 태스크를 수행하여 미소 조작 파일 또는 라이브러리를 생성하는 것을 허용한다. 그 다음, 미소 조작 파일은 통신 링크(2701)를 통해 상업적 로봇 시스템(2720)으로 전달될 수도 있고 컴퓨터(2722) 상에서 실행되어 손 및 팔의 로봇 부속지(appendage)의 세트 또는 휴머노이드 로봇으로 하여금 크리에이터(2711)의 움직임을 복제하게 할 수도 있다. 이 방식에서, 크리에이터(2711)의 움직임은 로봇에 의해 복제되어 필요로 되는 태스크를 완료한다.
도 101은 다양한 모듈을 갖는 로봇 인간 스킬 복제 엔진(2800)을 예시하는 소프트웨어 시스템 도면이다. 로봇 인간 스킬 복제 엔진(2800)은, 입력 모듈(2801), 크리에이터의 움직임 레코딩 모듈(2802), 크리에이터의 움직임 프로그래밍 모듈(2803), 센서 데이터 레코딩 모듈(2804), 품질 검사 모듈(2805), 소프트웨어 실행 프로시져 프로그램 파일을 저장하기 위한 메모리 모듈(2806), 기록된 센서 데이터에 기초할 수도 있는 스킬 실행 프로시져 모듈(2807), 표준 스킬 움직임 및 오브젝트 파라미터 캡쳐 모듈(2808), 미소 조작 움직임 및 오브젝트 파라미터 모듈(2809), 유지보수 모듈(2810) 및 출력 모듈(2811)을 포함할 수도 있다. 입력 모듈(2801)은, 임의의 표준 입력 디바이스, 예컨대 키보드, 마우스, 또는 다른 입력 디바이스를 포함할 수도 있고 로봇 인간 스킬 복제 엔진(2800)에 정보를 입력하기 위해 사용될 수도 있다. 크리에이터 움직임 기록 모듈(2802)은, 로봇 인간 스킬 복제 엔진(2800)이 크리에이터(2711)의 움직임 또는 미소 조작을 기록하고 있을 때, 크리에이터(2711)의 모든 움직임, 및 액션을 기록 및 캡쳐한다. 기록 모듈(2802)은 입력을 임의의 공지의 포맷을 기록할 수도 있고, 크리에이터의 움직임을 작은 증분적 움직임 단위로 파싱하여 주(primary) 움직임을 구성할 수도 있다. 크리에이터 움직임 기록 모듈(2802)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 포함할 수도 있다. 크리에이터의 움직임 프로그래밍 모듈(2803)은, 시스템이 움직임을 캡쳐하여 베끼는 것을 허용하는 대신, 크리에이터(2711)가 움직임을 프로그래밍하는 것을 허용한다. 크리에이터의 움직임 프로그래밍 모듈(2803)은, 입력 명령어뿐만 아니라 크리에이터(2711)를 관찰하는 것에 의해 획득되는 캡쳐된 파라미터 둘 다를 통한 입력을 허용할 수도 있다. 크리에이터의 움직임 프로그래밍 모듈(2803)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 활용하여 구현될 수도 있다. 센서 데이터 기록 모듈(2804)은 기록 프로세스 동안 캡쳐되는 센서 입력 데이터를 기록하기 위해 사용된다. 센서 데이터 기록 모듈(2804)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 활용하여 구현될 수도 있다. 센서 데이터 기록 모듈(2804)은, 모션, IR, 청각 또는 등등과 같은 일련의 센서에 의해 모니터링되고 있는 태스크를 크리에이터(2711)가 수행하고 있을 때 활용될 수도 있다. 센서 데이터 기록 모듈(2804)은, 수행되고 있는 태스크의 미소 조작을 생성하기 위해 사용될 센서로부터의 모든 데이터를 기록한다. 품질 검사 모듈(2805)은, 유입하는 센서 데이터, 모든 복제 엔진의 건강(health), 센서 또는 시스템의 임의의 다른 컴포넌트 또는 모듈을 모니터링하기 위해 사용될 수도 있다. 품질 검사 모듈(2805)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 활용하여 구현될 수도 있다. 메모리 모듈(2806)은 임의의 타입의 메모리 엘리먼트일 수도 있고 소프트웨어 실행 프로시져 프로그램 파일을 저장하기 위해 사용될 수도 있다. 그것은 로컬 또는 원격 메모리를 포함할 수도 있고 단기간의, 영구적인 또는 일시적인 메모리 저장을 활용할 수도 있다. 메모리 모듈(2806)은, 임의의 형태의 자기, 광학 또는 기계적 메모리를 활용할 수도 있다. 스킬 실행 프로시져 모듈(2807)은 기록된 센서 데이터에 기초하여 특정 스킬을 구현하기 위해 사용된다. 스킬 실행 프로시져 모듈(2807)은, 일련의 단계 또는 미소 조작을 실행하여 태스크 또는 태스크의 일부를 완료하기 위해 기록된 센서 데이터를 활용할 수도 있는데, 하나의 이러한 태스크는 로봇 복제 엔진에 의해 캡쳐되었다. 스킬 실행 프로시져 모듈(2807)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 활용하여 구현될 수도 있다.
표준 스킬 움직임 및 오브젝트 파라미터 모듈(2802)은 소프트웨어 또는 하드웨어로 구현되는 모듈일 수도 있고 오브젝트의 표준 움직임 및 또는 기본 스킬을 정의하도록 의도된다. 그것은 대상 파라미터(subject parameter)를 포함할 수도 있는데, 대상 파라미터는, 로봇 프로시져 동안 활용되는 것을 필요로 할 수도 있는 표준 오브젝트에 관한 정보를 로봇 복제 엔진에게 제공한다. 그것은 또한 표준 스킬 움직임에 관련되는 명령어 및 또는 정보를 포함할 수도 있는데, 표준 스킬 움직임은 임의의 하나의 미소 조작에 고유한 것은 아니다. 유지보수 모듈(2810)은, 시스템 및 로봇 복제 엔진에 대한 루틴한 유지보수를 모니터링 및 수행하기 위해 사용되는 임의의 루틴 또는 하드웨어일 수도 있다. 유지보수 모듈(2810)은, 로봇 인간 스킬 복제 엔진에 커플링되는 임의의 다른 모듈 또는 시스템의 제어, 업데이팅, 모니터링, 및 문제해결(troubleshooting)을 허용할 수도 있다. 유지보수 모듈(2810)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 활용하여 구현될 수도 있다. 출력 모듈(2811)은, 로봇 인간 스킬 복제 엔진(2800)으로부터 임의의 다른 시스템 컴포넌트 또는 모듈로의 통신을 허용한다. 출력 모듈(2811)은, 캡쳐된 미소 조작을 상업적 로봇 시스템(2720)으로 내보내기하기(export) 위해, 또는 전달하기 위해 사용될 수도 있거나 또는 정보를 스토리지로 전달하기 위해 사용될 수도 있다. 출력 모듈(2811)은 하드웨어 또는 소프트웨어를 포함할 수도 있고 임의의 수의 또는 조합의 로직 회로를 활용하여 구현될 수도 있다. 버스(2812)는 로봇 인간 스킬 복제 엔진 내의 모든 모듈을 커플링하며 병렬 버스, 직렬 버스, 동기식 또는 비동기식일 수도 있다. 그것은, 직렬 데이터, 패킷화된 데이터, 또는 데이터 통신의 임의의 다른 공지의 방법을 사용하여 임의의 형태의 통신을 허용할 수도 있다.
미소 조작 움직임 및 오브젝트 파라미터 모듈(2809)은, 캡쳐된 미소 조작 및 크리에이터의 움직임을 저장 및/또는 분류하기 위해 사용될 수도 있다. 그것은, 유저의 제어 하에서 복제 엔진뿐만 아니라 로봇 시스템에 커플링될 수도 있다.
도 102는 로봇 인간 스킬 복제 시스템(2700)의 하나의 실시형태를 예시하는 블록도이다. 로봇 인간 스킬 복제 시스템(2700)은, 컴퓨터(2712)(또는 컴퓨터(2722)), 모션 감지 디바이스(2825), 표준화된 오브젝트(2826), 비표준 오브젝트(2827)를 포함한다.
컴퓨터(2712)는, 로봇 인간 스킬 복제 엔진(2800), 움직임 제어 모듈(2820), 메모리(2821), 스킬 움직임 에뮬레이터(2822), 확장된 시뮬레이션 검증 및 캘리브레이션 모듈(2823) 및 표준 오브젝트 알고리즘(2824)를 포함한다. 도 102를 참조로 설명되는 바와 같이, 로봇 인간 스킬 복제 엔진(2800)은, 태스크의 실행 동안 크리에이터(2711) 움직임의 캡쳐가 미소 조작을 생성 및 캡쳐하는 것을 가능하게 하는 여러 가지 모듈을 포함한다. 캡쳐된 미소 조작은, 센서 입력 데이터로부터, 태스크를 완료하기 위해 사용될 수도 있는 로봇 제어 라이브러리 데이터로 변환되거나 또는 로봇 팔/손 또는 휴머노이드 로봇(2830)이 태스크 또는 태스크의 일부를 완료하는 데 필요한 입력을 생성하기 위해 다른 미소 조작과 직렬로 또는 병렬로 결합될 수도 있다.
로봇 인간 스킬 복제 엔진(2800)은 움직임 제어 모듈(2820)에 커플링되는데, 움직임 제어 모듈(2820)은, 시각적, 청각적, 촉각적 또는 로봇 컴포넌트로부터 획득되는 다른 피드백에 기초하여 다양한 로봇 컴포넌트의 움직임을 제어 또는 구성하기 위해 사용될 수도 있다. 메모리(2821)는 컴퓨터(2712)에 커플링될 수도 있고 스킬 실행 프로그램 파일을 저장하기 위한 필요한 메모리 컴포넌트를 포함한다. 스킬 실행 프로그램 파일은, 컴퓨터(2712)가 일련의 명령어를 실행하여 로봇 컴포넌트로 하여금 태스크 또는 일련의 태스크를 완료하게 하는 데 필요한 명령어를 포함한다. 스킬 움직임 에뮬레이터(2822)는 로봇 인간 스킬 복제 엔진(2800)에 커플링되고 실제 센서 입력 없이도 크리에이터 스킬을 흉내내기 위해 사용될 수도 있다. 스킬 움직임 에뮬레이터(2822)는, 크리에이터(2711)가 제공하는 센서 입력을 사용하지 않고도, 스킬 실행 프로그램의 생성을 허용하기 위해, 로봇 인간 스킬 복제 엔진(2800)에게 대안적인 입력을 제공한다. 확장된 시뮬레이션 검증 및 캘리브레이션 모듈(2823)은 로봇 인간 스킬 복제 엔진(2800)에 커플링될 수도 있고, 확장된 크리에이터 입력을 제공하고, 3D 모델링 및 실시간 피드백에 기초하여 로봇 움직임에 대한 실시간 조정을 제공한다. 컴퓨터(2712)는 표준 오브젝트 알고리즘(2824)을 포함하는데, 표준 오브젝트 알고리즘(2824)은, 표준 오브젝트를 사용하여 태스크를 완료하도록 로봇 손(72)/로봇 팔(70) 또는 휴머노이드 로봇(2830)을 제어하기 위해 사용된다. 표준 오브젝트는 표준 툴 또는 유텐실 또는 표준 기기, 예컨대 스토브 또는 EKG 머신을 포함할 수도 있다. 2824의 알고리즘은 미리 컴파일되고 로봇 인간 스킬 복제를 사용한 개별적인 트레이닝을 필요로 하지 않는다.
컴퓨터(2712)는 하나 이상의 모션 감지 디바이스(2825)에 커플링된다. 모션 감지 디바이스(2825)는, 시각적 모션 센서, IR 모션 센서, 추적 센서, 레이저 모니터링 센서(laser monitored sensor), 또는 컴퓨터(2712)가 3D 공간에서 추적된 디바이스의 포지션을 모니터링하는 것을 허용하는 임의의 다른 입력 또는 기록 디바이스일 수도 있다. 모션 감지 디바이스(2825)는, 단일 지점 센서, 쌍을 이룬 송신기 및 수신기, 쌍을 이룬 마커(marker) 및 센서 또는 임의의 다른 타입의 공간 센서를 포함하는 일련의 센서 또는 단일의 센서를 포함할 수도 있다. 로봇 인간 스킬 복제 시스템(2700)은 표준화된 오브젝트(2826)를 포함할 수도 있다. 표준화된 오브젝트(2826)는, 로봇 인간 스킬 복제 시스템(2700) 내의 표준 방위 및 포지션에서 발견되는 임의의 표준 오브젝트이다. 이들은, 표준화된 핸들 또는 그립(2826-a), 표준 기기(2826-b), 또는 표준화된 공간(2826-c)을 갖는 툴 또는 표준화된 툴을 포함할 수도 있다. 표준화된 툴(2826-a)은 도 12a 내지 도 12c 및 도 152 내지 도 162s에서 묘사되는 것들일 수도 있거나, 또는 임의의 표준 툴, 예컨대 칼, 냄비, 주걱, 작은 칼(scalpel), 온도계, 바이올린 활, 또는 특정한 환경 내에서 활용될 수도 있는 임의의 다른 기기일 수도 있다. 표준 기기(2826-b)는 임의의 표준 키친 기기, 예컨대 스토브, 브로일러(broiler), 전자레인지, 믹서, 등등일 수도 있거나, 또는 임의의 표준 의료 기기, 예컨대 맥박-산소 측정기(pulse-ox meter), 등등일 수도 있고, 공간 그 자체인 2826-c는, 키친 모듈, 또는 트라우마 모듈 또는 회복 모듈 또는 피아노 모듈과 같이 표준화될 수도 있다. 이들 표준 툴, 기기 및 공간을 활용하는 것에 의해, 로봇 손/팔 또는 휴머노이드 로봇은, 표준화된 공간 내에서 그들의 소망하는 기능을 수행하는 방법을 더 빨리 조정하고 학습할 수도 있다.
또한 로봇 인간 스킬 복제 시스템(2700) 내에는 비표준 오브젝트(2827)가 있을 수도 있다. 비표준 오브젝트는, 예를 들면, 육류 및 야채와 같은 요리 재료일 수도 있다. 이들 비표준 사이즈의, 형상의, 그리고 비율의 오브젝트는 표준 포지션 및 방위에, 예컨대 서랍 또는 저장통(bin) 안에 위치될 수도 있지만 그러나 아이템 그 자체는 아이템마다 변할 수도 있다.
시각적, 오디오의, 그리고 촉각적 입력 디바이스(2829)는 로봇 인간 스킬 복제 시스템(2700)의 일부로서 컴퓨터(2712)에 커플링될 수도 있다. 시각적, 오디오의, 그리고 촉각적 입력 디바이스(2829)는, 카메라, 레이저, 3D 입체 광학, 촉각 센서, 질량 검출기, 또는 3D 공간 내에서 컴퓨터(21712)가 오브젝트 타입 및 포지션을 결정하는 것을 허용하는 임의의 다른 센서 또는 입력 디바이스일 수도 있다. 그것은 또한 오브젝트의 표면의 검출을 허용할 수도 있고, 터치 사운드, 밀도 또는 무게에 기초하여 오브젝트 특성을 검출할 수도 있다.
로봇 팔/손 또는 휴머노이드 로봇(2830)은 컴퓨터(2712)에 직접적으로 커플링될 수도 있거나 또는 유선 또는 무선 네트워크를 통해 연결될 수도 있고 로봇 인간 스킬 복제 엔진(2800)과 통신할 수도 있다. 로봇 팔/손 또는 휴머노이드 로봇(2830)은, 크리에이터(2711)에 의해 수행되는 움직임 중 임의의 것 또는 표준 오브젝트를 사용하기 위한 알고리즘 중 임의의 것을 조작 또는 복제할 수 있다.
도 103은, 표준화된 동작 툴, 표준화된 포지션 및 방위, 및 표준화된 기기를 사용한 스킬 실행 또는 복제 프로세스에 대한 제어 지점을 갖는 휴머노이드(2840)를 예시하는 블록도이다. 도 104에서 알 수 있는 바와 같이, 휴머노이드(2840)는 로봇 인간 스킬 복제 시스템(2700)의 일부로서 센서 필드(2841) 내에 배치된다. 휴머노이드(2840)는, 태스크의 실행 동안 이루어지는 움직임 또는 미소 조작의 캡쳐를 가능하게 하는 제어 지점 또는 센서 지점의 네트워크를 착용하고 있을 수도 있다. 또한, 로봇 인간 스킬 복제 시스템(2700) 내에는, 표준 초기 포지션 및 방위(2844)로 모두 정렬된 표준 툴(2843), 표준 기기(2845) 및 비표준 오브젝트(2842)가 있을 수도 있다. 스킬이 실행됨에 따라, 스킬에서의 각각의 단계는 센서 필드(2841) 내에서 기록된다. 초기 포지션으로부터 시작하여, 휴머노이드(2840)는 단계1 내지 단계n을 실행할 수도 있는데, 이들 모두는, 한 쌍의 로봇 팔 또는 휴머노이드 로봇에 의해 구현될 수도 있는 반복가능한 결과를 생성하기 위해 기록된다. 센서 필드(2841) 내에서의 인간 크리에이터의 움직임을 기록하는 것에 의해, 정보는 일련의 개별 단계1 내지 단계n으로 또는 태스크를 완료하기 위한 이벤트의 시퀀스로서 변환될 수도 있다. 모든 표준 및 비표준 오브젝트가 표준 초기 포지션에 위치되고 배향되기 때문에, 인간 움직임을 복제하는 로봇 컴포넌트는 기록된 태스크를 정확하고 일관되게 수행할 수 있다.
도 104는, 인간 또는 크리에이터의 움직임과 로봇 복제 움직임 사이의 변환 알고리즘 모듈(2880)의 하나의 실시형태를 예시하는 블록도이다. 움직임 복제 데이터 모듈(2884)은, 기록 스위트(recording suite)(2874)에서 인간의 움직임으로부터의 캡쳐된 데이터를, 로봇의 로봇 휴머노이드 복제 환경(2878)에서 인간의 움직임에 의해 수행되는 스킬을 복제할 것을 로봇 팔 및 로봇 손에게 지시하기 위한 머신 판독가능한 그리고 머신 실행가능한 언어(2886)로 변환한다. 기록 스위트(2874)에서, 컴퓨터(2812)는, 테이블(2888)에서, 수직 열(column)의 복수의 센서(S0, S1, S2, S3, S4, S5, S6, ..., Sn) 및 수평 행(row)의 시간 증가분(t0, t1, t2, t3, t4, t5, t6, ..., tend)에 의해 표현되는, 인간이 착용하고 있는 글러브 상의 센서에 기초한 인간의 움직임을 캡쳐하고 기록한다. 시간 t0에서, 컴퓨터(2812)는 복수의 센서(S0, S1, S2, S3, S4, S5, S6, ..., Sn)로부터 수신되는 센서 데이터로부터 xyz 좌표 포지션을 기록한다. 시간 t1에서, 컴퓨터(2812)는 복수의 센서(S0, S1, S2, S3, S4, S5, S6, ..., Sn)로부터 수신되는 센서 데이터로부터 xyz 좌표 포지션을 기록한다. 시간 t2에서, 컴퓨터(2812)는 복수의 센서(S0, S1, S2, S3, S4, S5, S6, ..., Sn)로부터 수신되는 센서 데이터로부터 xyz 좌표 포지션을 기록한다. 이 프로세스는, 전체 스킬이 tend에서 완료될 때까지 계속된다. 각각의 시간 단위(t0, t1, t2, t3, t4, t5, t6, ..., tend)에 대한 지속 기간은 동일하다. 캡쳐되고 기록된 센서 데이터의 결과로서, 테이블(2888)은 글러브의 센서(S0, S1, S2, S3, S4, S5, S6, ..., Sn)로부터의 임의의 움직임을 xyx 좌표에서 나타내는데, 이것은 다음 특정 시간 동안의 xyx 좌표 포지션에 관한 하나의 특정 시간 동안의 xyz 좌표 포지션 사이의 차이를 나타낼 것이다. 효과적으로, 테이블(2888)은, 시작 시간 t0로부터 종료 시간 tend까지 전체 스킬에 걸쳐 인간의 움직임이 어떻게 변하는지를 기록한다. 이 실시형태에서의 예시는, 스킬을 수행하는 동안 움직임을 캡쳐하기 위해 인간이 착용하는 다수의 센서로 확장될 수 있다. 표준화된 환경에서(2878), 로봇 팔 및 로봇 손은 기록된 스킬을 기록 스위트(2874)로부터 복제하는데, 기록된 스킬은, 그 다음, 로봇 명령어로 변환되며, 여기서 로봇 팔 및 로봇 손은 타임라인(2894)에 따라 인간의 스킬을 복제한다. 로봇 팔 및 손은, 동일한 xyz 좌표 포지션을 가지고, 동일한 속도에서, 타임 라인(2894)에서 도시되는 바와 같이, 시작 시간 t0로부터 종료 시간 tend까지 동일한 시간 증가를 가지고, 스킬을 실행한다.
몇몇 실시형태에서, 인간은 동일한 스킬을 다수 회 수행하여, 회차별로 다소 변하는, 센서 판독치의 값, 및 대응하는 로봇 명령어에서의 파라미터를 산출한다. 스킬의 다수의 반복에 걸친 각각의 센서에 대한 센서 판독치의 세트는 평균치, 표준 편차 및 최소 및 최대 값을 갖는 분포를 제공한다. 인간에 의한 동일한 스킬의 다수의 실행에 걸친 로봇 명령어에 대한 대응하는 변동치(이펙터 파라미터로도 또한 칭해짐)도 또한, 평균치, 표준 편차, 최소 및 최대 값을 갖는 분포를 정의한다. 이들 분포는 후속하는 로봇 스킬의 충실도(또는 정확도)를 결정하기 위해 사용될 수도 있다.
하나의 실시형태에서, 로봇 스킬의 추정된 평균 정확도는 다음에 의해 주어진다:
Figure pat00018
여기서 C는 인간 파라미터(제1 내지 제n)의 세트를 나타내고 R은 로봇 장치(75) 파라미터(상응하게 제1 내지 제n)의 세트를 나타낸다. 합에서의 분자는 로봇 파라미터와 인간 파라미터 사이의 차이(즉, 에러)를 나타내고 분모는 최대 차이를 정규화한다. 합은 전체 정규화된 누적 에러(즉,
Figure pat00019
)를 제공하고, 1/n에 의한 승산은 평균 에러를 제공한다. 평균 에러의 보수(complement)는 평균 정확도에 대응한다.
정확도 계산의 다른 버전은, 중요도에 대해 파라미터에 가중치를 부여하는데, 여기서 각각의 계수(각각 αi)는 i번째 파라미터의 중요도를 나타내고, 정규화된 누적 에러는
Figure pat00020
이고 추정된 평균 정확도는 다음에 의해 주어진다:
Figure pat00021
도 105는, 크리에이터 상에 정렬된 센서로부터의 캡쳐된 지각 데이터에 기초한 크리에이터 움직임 기록 및 휴머노이드 복제를 예시하는 블록도이다. 크리에이터 움직임 기록 스위트(3000)에서, 크리에이터는, 스킬을 캡쳐하기 위한 센서를 갖는 다양한 몸체 센서(D1 내지 Dn)를 착용할 수도 있는데, 여기서 센서 데이터(3001)는 테이블(3002)에 기록된다. 이 예에서, 크리에이터는 툴을 사용하여 태스크를 수행하고 있다. 크리에이터에 의한 이들 액션 프리미티브는, 센서에 의해 기록될 때, 시간 슬롯(시간 슬롯 1, 시간 슬롯 2, 시간 슬롯 3 및 시간 슬롯 4)에 걸쳐 발생하는 미소 조작(3002)을 구성할 수도 있다. 스킬 움직임 복제 데이터 모듈(2884)은, 크리에이터 기록 스위트(3000)로부터의 기록된 스킬 파일을, 팔 및 로봇 손과 같은 로봇 컴포넌트를 로봇 인간 스킬 실행 부분(1063)에서 로봇 소프트웨어 명령어(3004)에 따라 동작시키기 위한 로봇 명령어로 변환하도록 구성된다. 로봇 컴포넌트는, 툴을 사용하여 스킬을 수행하는, 미소 조작 라이브러리 데이터베이스(3009)로부터의 미소 조작 라이브러리(116)에서 미리 정의되는 바와 같은, 미소 조작에 대한 제어 신호(3006)를 사용하여 스킬을 수행한다. 로봇 컴포넌트는 동일한 xyz 좌표(3005)를 가지고 그리고 실시간 조정 디바이스로부터 스킬의 일시적인 삼차원 모델(3007)을 생성하는 것에 의해 스킬에 대한 가능한 실시간 조정을 가지고 동작한다.
본 개시의 실시형태에서 설명되는 것과 같은 기계적 로봇 메커니즘을 동작시키기 위해, 숙련된 기술자는, 많은 기계적 및 제어 문제가 해결되어야 한다는 것, 및 로봇공학의 문헌이 바로 그렇게 하는 방법을 설명한다는 것을 인식한다. 로봇공학 시스템에서의 정적 및/또는 동적 안정성의 확립은 중요한 고려사항이다. 특히 로봇 조작의 경우, 동적 안정성은, 불의의 파손 또는 소망되는 또는 프로그래밍된 움직임을 넘어서는 움직임을 방지하기 위해, 강하게 소망되는 특성이다.
도 106은, 범용 휴머노이드 로봇에 대한 전체 로봇 제어 플랫폼(3010)을, 본 개시의 기능성의 하이 레벨 설명으로서 묘사한다. 범용 통신 버스(3002)는, 내부 및 외부 센서(3014)로부터의 판독치, 로봇의 현재 상태에 관련이 있는 변수 및 그 현재 값(3016), 예컨대 로봇의 움직임에서의 허용오차, 로봇의 손의 정확한 위치, 등등 및 로봇이 있는 곳 또는 로봇이 조작을 필요로 할 수도 있는 오브젝트가 있는 곳과 같은 환경 정보(3018)를 비롯한 데이터에 대한 도관(conduit)으로서 기능한다. 이들 입력 소스는, 휴머노이드 로봇이 상황을 인식하게 만들고, 따라서, 직접적인 저 레벨의 액추에이터 커맨드(3020)로부터, 컴포넌트 미소 조작(3024)의 대형 전자 라이브러리를 참조할 수 있는 로봇 플래너(3022)로부터의 고 레벨의 로봇식 엔드 투 엔드 태스크 계획(high level robotic end-to-end task plan)까지의 자신의 태스크를 수행할 수 있게 만드는데, 컴포넌트 미소 조작(3024)은, 그 다음, 자신의 사전조건이 적용을 허용하는지의 여부를 결정하도록 해석되고 로봇 인터프리터 모듈(robotic interpreter module)(3026)로부터 머신 실행가능 코드로 변환되고 그 다음 실제 커맨드 및 감지 시퀀스로서 로봇 실행 모듈(3028)로 전송된다.
로봇 계획, 감지 및 작동 외에, 로봇 제어 플랫폼은 또한, 로봇-인간 인터페이스 모듈(3030)을 통해, 아이콘, 언어, 제스쳐, 등등을 통해 인간과 통신할 수 있고, 미소 조작에 대응하는 빌딩 블록 태스크를 인간이 수행하는 것을 관찰하는 것에 의해 그리고 미소 조작 학습 모듈(3032)에 의해 다수의 관찰을 미소 조작, 즉 사전조건 및 사후조건을 갖는 신뢰가능하고 반복가능한 감지-액션 시퀀스로 일반화하는 것에 의해, 신규의 미소 조작을 학습할 수 있다.
도 107은, 휴머노이드 애플리케이션-태스크 복제 프로세스의 일부로서 미소 조작 라이브러리의 생성, 전달, 구현 및 사용을 위한 컴퓨터 아키텍쳐(3050)(또는 개략도)를 예시하는 블록도이다. 본 개시는, 라이브러리 및 컨트롤러 시스템과의 결합시, 로봇 휴머노이드 시스템이 인간 태스크뿐만 아니라 임의의 필요로 되는 태스크 시퀀스를 달성하는 자체 조립 로봇 실행 시퀀스를 복제하는 것을 가능하게 하는 컴퓨터 기반의 태스크 실행 설명을 추상화하고 재결합하는 접근 방식으로 나타나는, 많은 소프트웨어 엔진과 데이터세트 및 라이브러리를 포함하는 소프트웨어 시스템의 조합에 관한 것이다. 본 개시의 특정한 엘리먼트는, 미소 조작(MM) 생성기(3051)에 관한 것인데, 미소 조작(MM) 생성기(3051)는, 휴머노이드 로봇 자체 상에/휴머노이드 로봇 자체와 함께 상주하는 저 레벨의 컨트롤러에 의해 실행되는 고 레벨의 태스크 실행 커맨드 시퀀스를 생성하기 위해, 휴머노이드 컨트롤러(3056)에 의해 액세스될 수 있는 미소 조작 라이브러리(MML)를 생성한다.
미소 조작을 실행하기 위한 컴퓨터 아키텍쳐(3050)는, 컨트롤러 알고리즘 및 그들의 관련된 컨트롤러 이득 값의 개시뿐만 아니라, 임의의 주어진 모션/작동 유닛에 대한 포지션/속도 및/힘/토크, 뿐만 아니라, 이들 제어 알고리즘을 구현하고 각각의 데이터세트 내에 포함되는 규정된 모션/상호 작용 프로파일의 충실도를 보장하기 위해 지각 피드백을 사용하는 저 레벨(액추에이터) 컨트롤러(들)(하드웨어 및 소프트웨어 엘리먼트 둘 다에 의해 표현됨)에 대한 명시된 시간 프로파일의 조합을 포함한다. 이들은 또한 하기에서 더 상세히 설명되며 따라서 관련된 도 107에서 적절한 컬러 코드로 지정된다.
MML 생성기(3051)는, 하나 이상의 MML 데이터베이스(GG4)의 일부가 또한 되도록 결국 사용되는 미소 조작(MM) 데이터 세트(GG3) 둘 다를 생성하는 다수의 소프트웨어 엔진(GG2)을 포함하는 소프트웨어 시스템이다.
MML 생성기(3051)는 상기 언급된 소프트웨어 엔진(3052)을 포함하는데, 상기 언급된 소프트웨어 엔진(3052)은 각각의 미소 조작 태스크를 설명하는 파라미터 세트를 생성하기 위해 지각 및 공간 데이터와 더 고 레벨의 추론 소프트웨어 모듈을 활용하고, 그에 의해 시스템이 다수의 레벨에서 완전한 MM 데이터 세트(3053)를 구축하는 것을 허용한다. 계층적 MM 라이브러리(MML) 빌더(builder)는, 완전한 태스크 액션 세트를, 복잡도 및 추상화의 관점에서 저 레벨로부터 고 레벨로 분류되는 직렬 및 병렬 모션 프리미티브의 시퀀스로 분해하는 것을 허용하는 소프트웨어 모듈에 기초한다. 그 다음, 계층적 분류는, 완전한 MML 데이터베이스(3054)를 구축하기 위해 MML 데이터베이스 빌더에 의해 사용된다.
앞서 언급된 파라미터 세트(3053)는, 특정한 태스크의 성공적인 완료를 위한 태스크 성능 메트릭, 휴머노이드 작동 시스템에 의해 사용될 제어 알고리즘뿐만 아니라, 수반되는 휴머노이드의 물리적 엔티티/서브시스템뿐만 아니라 태스크를 성공적으로 실행하는 데 필요로 되는 각각의 조작 국면에 기초한, 태스크 실행 시퀀스 및 관련된 파라미터 세트의 분류를 비롯한, 다수의 형태의 입력 및 데이터(파라미터, 변수, 등등)와 알고리즘을 포함한다. 추가적으로, 명시된 제어 알고리즘에 대한 컨트롤러 이득뿐만 아니라, 태스크 실행에서 수반되는 각각의 작동 디바이스(들)에 대한 모션/속도 및 힘/토크에 대한 시간 이력 프로파일을 명시하기 위해, 휴머노이드 고유의 액추에이터 파라미터의 세트가 데이터세트에 포함된다.
MML 데이터베이스(3054)는, 휴머노이드가 임의의 특정한 저-고 레벨의 태스크(low- to high-level task)를 달성하는 데 필요한 다수의 저 레벨-더 고 레벨(low- to higher-level)의 데이터 및 소프트웨어 모듈을 포함한다. 라이브러리는, 앞서 생성된 MM 데이터세트뿐만 아니라, 동적 제어(KDC), 머신 비전(OpenCV) 및 다른 상호 작용/프로세스간 통신 라이브러리(ROS, 등등)에 관련이 있는 현존하는 컨트롤러 기능성과 같은 다른 라이브러리를 포함한다. 휴머노이드 컨트롤러(3056)는 또한, 휴머노이드 로봇 플랫폼 상에서의, 그리고 휴머노이드 로봇 플랫폼과의 실행을 위해 머신 실행가능 명령어를 저 레벨의 컨트롤러(3059)로 공급하기 위해 고 레벨의 태스크 실행 설명을 사용하는 고 레벨의 컨트롤러 소프트웨어 엔진(3057)을 포함하는 소프트웨어 시스템이다.
고 레벨의 컨트롤러 소프트웨어 엔진(3057)은 애플리케이션 고유의 태스크 기반의 로봇 명령어 세트를 구축하는데, 애플리케이션 고유의 태스크 기반의 로봇 명령어 세트는, 커맨드 실행기(GG8)에 대한 머신이 이해할 수 있는 커맨드 및 제어 시퀀스를 생성하는 커맨드 시퀀서 소프트웨어 엔진으로 차례로 공급된다. 소프트웨어 엔진(3052)은 커맨드 시퀀스를 모션 및 액션 목표로 분류하고 실행 계획을 (시간적인 것 및 성능 레벨에 기초하는 것 둘 다에서) 개발하고, 그에 의해, 시간 순서의 모션(포지션 및 속도) 및 상호 작용(힘 및 토크) 프로파일의 생성을 가능하게 하는데, 이 프로파일은, 그 다음, 영향을 받은 개별 액추에이터 컨트롤러(3060)에 의한 휴머노이드 로봇 플랫폼 상에서의 실행을 위해 저 레벨의 컨트롤러(3059)로 공급되고, 영향을 받은 개별 액추에이터 컨트롤러(3060)는, 결국에는 적어도 그들 자신의 각각의 모터 컨트롤러와 전력 하드웨어와 소프트웨어 및 피드백 센서를 포함한다.
저 레벨의 컨트롤러는, 포지션/속도 및 힘/토크에 대한 필요로 되는 설정 지점을 소프트웨어 알고리즘에 공급하기 위해 디지털 컨트롤러, 전자 전력 드라이버 및 지각 하드웨어를 사용하는 액추에이터 컨트롤러를 포함하는데, 컨트롤러는, 필요로 되는 성능 충실도를 보장하기 위해 피드백 센서 신호에 의존하여, 타임 스탬프가 붙은 시퀀스를 따라 충실히 복제하도록 되어 있다. 더 고 레벨의 태스크 성능 충실도가 커맨드 실행기(3058)의 고 레벨의 태스크 성능 모니터링 소프트웨어 모듈에 의해 또한 모니터링되고 있는 동안, 컨트롤러는, 필요로 되는 모션/상호 작용 단계(들)/프로파일(들)이 완료될 때까지 모든 설정 지점이 시간에 걸쳐 달성되는 것을 보장하기 위해 일정한 루프에서 유지되어, 태스크 성과가 필요로 되는 성능 범위 내에 떨어지는 것을 보장하기 위해 그리고 명시된 성능 메트릭을 충족하기 위해 저 레벨의 컨트롤러로 공급되는 고-저(high-to-low) 모션/상호 작용 프로파일에서의 잠재적인 수정으로 이어진다.
교수 재생 컨트롤러(teach-playback controller)(3061)에서, 로봇은 모션 프로파일의 세트를 통해 유도되는데, 모션 프로파일은 시간 동기화된 양식으로 연속적으로 저장되고, 그 다음, 앞서 기록된 모션 프로파일을 정확하게 따르도록 각각의 작동된 엘리먼트를 제어하는 것에 의해 저 레벨의 컨트롤러에 의해 '재생된다'. 제어 및 구현의 이 타입은, 로봇을 제어하는 데 필요한데, 그 중 일부는 상업적으로 이용가능하다. 본원의 설명된 개시가, 휴머노이드 로봇 상에서 머신 판독가능한 시간 동기화된 모션/상호 작용 프로파일을 실행하기 위해 저 레벨의 컨트롤러를 활용하지만, 본 개시의 실시형태는, 잠재적으로 많은 수의 간단한 것에서부터 복잡한 것까지의 태스크를 훨씬 더 효율적이고 비용 효율적인 방식으로 생성 및 실행하는 것을 허용하는, 교수 모션(teach-motion)보다 훨씬 더 일반적인 기술, 더 자동화되고 훨씬 더 대응가능한 프로세스, 더 큰 복잡도를 대상으로 한다.
도 108은, 크리에이터 스튜디오 기반의 기록 단계에서 그리고 각각의 태스크의 로봇 실행 동안 수반될 스튜디오 기반의 그리고 로봇 기반의 지각 데이터 입력 카테고리 및 타입에 대한 상이한 타입의 센서 카테고리(3070) 및 그들의 관련된 타입을 묘사한다. 이들 지각 데이터 세트는, 특정한 데이터에 기초한 상이한 제어 액션 및/또는, 소망의 최종 결과를, 그것이 아주 집중된 '서브루틴'(칼 잡기, 피아노 키 치기, 캔버스 상에 선 그리기, 등등)이든 또는 더 일반적인 MM 루틴(샐러드 준비하기, 슈베르트의 #5 피아노 협주곡 연주하기, 전원 풍경 그리기, 등등)이든 간에, 달성할 특정한 데이터 값을 달성하기 위한 상이한 제어 액션의 다중 루프 조합을 통해, 미소 조작 액션 라이브러리를 구축하는 기초를 형성한다: 후자는 MM 서브루틴의 다수의 직렬 및 병렬 조합의 사슬연결을 통해 달성가능하다.
센서는, 그들의 물리적 위치 및 제어되는 것을 필요로 할 특정한 상호 작용의 일부에 기초하여 세 개의 카테고리로 그룹화되었다. 세 개의 타입 센서(외부(3071), 내부(3073), 및 인터페이스(3072))는 그들의 데이터 세트를, 적절한 통신 링크 및 프로토콜을 통해 데이터 프로세싱 및/또는 로봇 컨트롤러 엔진(3075)으로 데이터를 포워딩하는 데이트 스위트 프로세스(3074)로 공급한다.
외부 센서(3071)는, 통상적으로, 양팔 로봇 토르소/휴머노이드 외부에 위치되는/외부에서 사용되는 센서를 포함하며, 개별 시스템의 위치 및 구성을, 양팔 토르소/휴머노이드뿐만 아니라 세상(world)에서 모델링하는 데 도움이 된다. 이러한 스위트에 대해 사용되는 센서 타입은 간단한 접촉 스위치(도어, 등등), 일차원 범위 측정을 위한 전자기(electromagnetic; EM) 스펙트럼 기반의 센서(IR 레인저, 등등), 이차원 정보(형상, 위치, 등등)를 생성하기 위한 비디오 카메라, 및 쌍안(bi-nocular) 및 삼안(tri-nocular) 카메라, 스캐닝 레이저 및 구조화된 광, 등등을 사용하여 공간적 위치 및 구성 정보를 생성하기 위해 사용되는 삼차원 센서를 포함할 것이다.
내부 센서(3073)는 양팔 토르소/휴머노이드 내부에 있는 센서이며, 주로 내부 변수, 예컨대 팔/사지(limb)/관절 포지션 및 속도, 액추에이터 전류 및 관절 직교(Cartesian) 힘 및 토크, 햅틱 변수(사운드, 온도, 맛, 등등) 이진 스위치(이동 제한, 등등)뿐만 아니라 다른 기기 고유의 존재 스위치(equipment-specific presence switch)를 측정한다. (예컨대 손에 있는) 추가적인 일차원/이차원 및 삼차원 센서 타입은, 범위/거리, 비디오 카메라 및 심지어 (예컨대 토르소 장착형 센서 헤드의) 내장형 광학 트래커를 통한 이차원 레이아웃을 측정할 수 있다.
인터페이스 센서(3072)는, 양팔 토르소/휴머노이드가 자신의 태스크 중 임의의 것 동안 실세계와 상호 작용할 때, 고속 접촉 및 상호 작용 움직임 및 힘/토크 정보를 제공하기 위해 사용되는 종류의 센서이다. 피아노 키를 정확히 올바른 방식(지속 시간과 힘 및 속도, 등등)으로 치는 것 또는 특정한 태스크(토마토 자르기, 계란 치기, 마늘 장갑 으깨기, 등등)에 적합하게 칼을 지향시키도록 칼을 잡고 칼의 안전한 잡기를 달성하기 위해 손가락 모션의 특정한 시퀀스를 사용하는 것과 같은 중요한 MM 서브루틴 액션의 동작에 이들이 필수적이기 때문에, 이들은 중요한 센서이다. (근접도 순서의) 이들 센서는, 세상에 대한 로봇 부속지 사이의 스탠드 오프/접촉 거리, 접촉 직전에 측정가능한 엔드이펙터(endeffector)와 세상 사이의 관련된 커패시턴스/인덕턴스, 실제 접촉 존재 및 위치와 그 관련된 표면 특성(전도성, 컴플라이언스(compliance), 등등)뿐만 아니라 관련된 상호 작용 특성(힘, 마찰, 등등) 및 중요한 임의의 다른 햅틱 변수(사운드, 열, 냄새, 등등)에 관련되는 정보를 제공할 수 있다.
도 109는, 토르소(3110)를 통해 연결되는 두 개의 개별적인 그러나 동일한 팔 1(3090) 및 팔 2(3100)를 갖는 양팔 토르소/휴머노이드 시스템(3082)에 대한 시스템 기반의 미소 조작 라이브러리 액션 기반의 양팔 및 토르소 토폴로지(3080)를 예시하는 블록도를 묘사한다. 각각의 팔(3090 및 3100)은, 내부적으로, 손(3091, 3101) 및 사지 관절 섹션(limb-joint section)(3095 및 3105)으로 나누어진다. 각각의 손(3091, 3101)은, 차례로, 하나 이상의 손가락(들)(3092 및 3102), 손바닥(3093 및 3103), 및 손목(3094 및 3104)으로 구성된다. 사지 관절 섹션(3095 및 3105)의 각각은, 차례로, 전완 사지(forearm-limb)(3096 및 3106), 팔꿈치 관절(3097 및 3107), 상완 사지(an upper-arm-limb)(3098 및 3108)뿐만 아니라, 어깨 관절(3099 및 3109)로 구성된다.
도 BB에서 도시되는 바와 같은 물리적 레이아웃을 그룹화하는 것에 대한 관심은, MM 액션이, 손 또는 사지/관절의 소정 부분에 의해 주로 수행되는 액션으로 쉽게 분할될 수 있고, 그에 의해, 학습 및 재생 동안 제어 및 적응/최적화를 위한 파라미터 공간을 크게 감소시킨다는 사실에 관련된다. 그것은, 각각의 미소 조작(MM)을 설명하는 데 필요로 되는 각각의 변수/파라미터가 최소한이고/필수적이며 충분한 상태에 있는, 소정의 서브루틴 또는 메인 미소 조작(MM) 액션이 매핑될 수 있는 물리적 공간의 표현이다.
물리적 공간 도메인에서의 분류는 또한, 특정한 태스크에 대한 미소 조작(MM) 액션을 일반적인 미소 조작 (서브)루틴의 세트로 더 간단하게 분류하는 것을 또한 허용하여, 직렬의/병렬의 일반적인 미소 조작(MM) (서브)루틴의 조합을 사용한 더 복잡하고 더 고 레벨의 복잡도 미소 조작(MM) 액션의 구축을 크게 단순화시킨다. 미소 조작(MM) 액션 프리미티브(및/또는 서브루틴)를 쉽게 생성하기 위한 물리적 도메인 분류는, 완전한 모션 라이브러리(들)(의 세트)를 구축하기 위해 일반적인 그리고 태스크 고유의 미소 조작(MM) (서브)루틴 또는 모션 프리미티브의 세트를 적절히 구축하는 것을 허용하기 위해 미소 조작(MM) (서브)루틴의 단순화된 파라미터 설명을 허용하는 두 개의 상보적인 접근 방식 중 하나에 불과하다는 것을 유의한다.
도 110은, 양팔 토르소 휴머노이드 로봇 시스템(3120)을, 달성될 태스크에 무관하게, 태스크 고유의 액션 시퀀스(3120)에 대한 MM 라이브러리 조작 국면 조합 및 전이를 위한 임의의 조작 활동과 관련되는 조작 기능 국면의 세트로서 묘사한다.
그러므로, 일반적인 서브루틴의 세트를 형성하는 미소 조작(MM) 모션 프리미티브 루틴의 보다 더 복잡하고 더 고 레벨의 세트를 구축하기 위해, 고 레벨의 미소 조작(MM)은 임의의 조작의 다양한 국면 사이의 전이로서 생각될 수 있고, 그에 의해 더 고 레벨의 미소 조작 루틴(모션 프리미티브)을 개발하기 위한 미소 조작(MM) 서브루틴의 간단한 사슬연결을 허용한다. 조작(접근, 움켜잡기, 기술을 요하는 조작(maneuver), 등등)의 각각의 국면은, 그 자체가, 물리적 도메인 엔티티[손가락(들), 손바닥, 손목, 사지, 관절(팔꿈치, 어깨, 등등), 토르소, 등등] 중 하나 이상을 수반하는 모션 및 힘/토크(내부, 외부뿐만 아니라 인터페이스 변수)를 제어함에 있어서 수반되는 파라미터의 세트에 의해 설명되는 자기 자신의 저 레벨의 미소 조작이다는 것을 유의한다.
양팔 시스템의 팔 1(3131)은, 특정한 타겟(툴, 유텐실, 표면, 등등)에 접근하기 이전에 주어진 구성(3132)을 갖는 엔드이펙터의 특정한 위치(3131)를 달성하기 위해 도 108에서 정의되는 바와 같은 외부 및 외부 센서를 사용하는 것으로, 접근 국면(3133) 동안, 그리고 임의의 움켜잡기 국면(3035)(필요로 되는 경우) 동안, 시스템을 가이드하기 위해 인터페이스 센서를 사용하는 것으로 생각될 수 있고; 후속하는 핸들링/기술을 요하는 조작 국면(3136)는 엔드이펙터가 (휘젓기(stir) 위해, 그리기 위해, 등등을 위해) 자신이 움켜잡고 있는 기기를 사용하는 것을 허용한다. 유사한 액션 및 시퀀스를 수행할 수 있는 팔 2(3140)에도 동일한 설명이 적용된다.
미소 조작(MM) 서브루틴 액션이 실패하면(예컨대 다시 움켜잡기(re-grasp)를 필요로 하면), 모든 미소 조작 시퀀서가 해야 하는 것은 이전 국면을 향해 뒤로 점프하여 동일한 액션(어쩌면 성공을 보장하기 위해, 필요하다면, 파라미터의 수정된 세트를 갖는다)을 반복하는 것이다는 것을 유의한다. 상이한 손가락으로 피아노 키의 시퀀스를 연주하는 것과 같은 더 복잡한 액션의 세트는, 상이한 키가 상이한 간격에서 그리고 상이한 효과(소프트/하드, 장/단, 등등)를 가지고 눌려지는(struck) 것을 허용하면서, 접근(3133, 3134) 및 접촉(3134, 3144) 국면 사이에서의 반복적인 점프 루프(jumping-loop)를 수반하고; 피아노 키 스케일 상의 상이한 옥타브로 이동하는 것은, 단순히, 구성 국면(3132)으로의 역행 국면(phase-backwards to the configuration-phase)이, 상이한 팔 및 토르소 방위(3151)를 달성하기 위한 병진 및/또는 회전을 통해, 팔, 또는 어쩌면 심지어 전체 토르소(3140)를 재배치하는 것을 필요로 할 것이다.
팔 2(3140)는 팔(3130)과 병렬로 그리고 독립적으로, 또는 (예컨대 지휘봉을 휘두르는 지휘자의 팔 및 토르소의 모션 동안) 움직임 협동 국면(315), 및/또는 예컨대 테이블 상에서 도우를 반죽하고 있는 양팔의 액션 동안 접촉 및 상호 작용 국면 단계(3153)에 의해 가이드되는 팔(3130) 및 토르소(3150)와 연계 및 협력하여, 유사한 활동을 수행할 수 있다.
도 110에서 묘사되는 하나의 양태는, 가장 저 레벨의 서브루틴으로부터 더 고 레벨의 모션 프리미티브 또는 더 복잡한 미소 조작(MM) 모션 및 추상화 시퀀스까지의 범위에 이르는 미소 조작(MM)이, 특정한 국면과 관련되는 상이한 모션의 세트로부터 생성될 수 있다는 것인데, 미소 조작(MM)은, (학습을 통해 측정, 제어 및 최적화할) 명확하고 잘 정의된 파라미터 세트를 결국 가지게 된다. 더 작은 파라미터 세트는 더 용이한 디버깅을 허용하고, 작동하도록 보장될 수 있는 서브루틴은, 더 고 레벨의 MM 루틴이, 잘 정의된 그리고 성공적인 더 저 레벨의 MM 루틴에 완전히 기초되는 것을 허용한다.
미소 조작 (서브)루틴을, 도 110에서 묘사되는 바와 같은 태스크 모션의 특정한 국면 동안 모니터링되고 제어되도록 요구될 뿐만 아니라, 도 109에서 분류되는 바와 같은 특정한 물리적 유닛(의 세트)과 추가로 관련되도록 요구되는 파라미터의 세트에 커플링하는 것은, 직관적인 미소 조작(MM) 모션 프리미티브가 생성되어 일반적인 그리고 태스크 고유의 미소 조작(MM) 모션/액션 라이브러리의 세트로 컴파일되는 것을 허용하는 표현의 아주 강력한 세트를 허용한다는 것을 유의한다.
도 111은, 스튜디오 데이터 생성, 수집 및 분석 프로세스의 일부로서 일반적인 그리고 태스크 고유의 모션 프리미티브 둘 다에 대한 미소 조작 라이브러리(들) 생성의 프로세스(3160)를 예시하는 흐름도를 묘사한다. 이 도면은, 저 레벨 및 고 레벨의 미소 조작 모션 프리미티브가 낮은 것으로부터 복잡한 원격 로봇 태스크 실행의 성공적인 완료로 나타나는 것을 보장하는, 파라미터 값, 시간 이력, 커맨드 시퀀스, 성능 척도 및 메트릭, 등등을 갖는 데이터세트를 포함하는 미소 조작 라이브러리의 세트를 생성하기 위해, 지각 데이터가 소프트웨어 엔진의 세트를 통해 어떻게 프로세싱되는지를 묘사한다.
더 상세한 뷰에서, 일반적인 그리고 태스크 고유의 미소 조작 모션 프리미티브 라이브러리의 세트에 도달하기 위해, 지각 데이터가 어떻게 필터링되고 프로세싱 엔진의 시퀀스로 입력되는지가 도시된다. 도 108에서 식별되는 지각 데이터(3162)의 프로세싱은, 지각 데이터(3162)의 필터링 단계(3161) 및 지각 데이터(3162)를 관련화 엔진(3163)을 통해 그룹화하는 것을 수반하는데, 여기서 데이터는 도 109에서 식별되는 바와 같은 물리적 시스템 엘리먼트뿐만 아니라, 잠재적으로는 심지어 유저 입력(3164)을 허용하는 도 110에서 설명되는 바와 같은 조작 국면과 관련되고, 그 후 이들은 두 개의 MM 소프트웨어 엔진을 통해 프로세싱된다.
MM 데이터 프로세싱 및 구조화 엔진(3165)은 모션 시퀀스의 식별(3165-1), 조작 단계의 구획된 그룹화(3165-2) 및 그 다음, 그 조작 단계를, 각각의 미소 조작 단계에 대한 파라미터 값의 데이터세트로 추상화하는 추상화 단계(3165-3)에 기초하여 모션 프리미티브의 중간 라이브러리(interim library)를 생성하는데, 여기서 모션 프리미티브는 미리 정의된 저 레벨로부터 고 레벨로의 액션 프리미티브(3165-5)의 세트와 관련되고 중간 라이브러리(3165-4)에 저장된다. 예로서, 프로세스(3165-1)는, 칼을 잡아서 식품 아이템을 슬라이스로 자르는 스튜디오 요리사와 관련되는 오브젝트 움켜잡기 및 반복적인 앞뒤로의 모션을 나타내는 데이터세트를 통해 모션 시퀀스를 식별할 수도 있다. 그 다음, 모션 시퀀스는, 3165-2에서, 하나 이상의 팔(들) 및 토르소에 대한 다수의 조작 국면(예컨대 칼을 움켜잡기 위해 손가락을 제어하는 것, 칼을 적절히 배향하는 것, 자르기 위해 칼과 일렬이 되도록 팔과 손을 직동시키는(translating) 것, 자르는 면을 따라 자르는 동안 접촉 및 관련된 힘을 제어하는 것, 자유 공간 궤적을 따라 자르기의 시작으로 칼을 리셋하는 것 및 그 다음 상이한 슬라이스 폭/각도를 달성하기 위해, 인덱싱된 식품 아이템을 자르는 접촉/힘 제어/궤적 추종 프로세스(contact/force-control/trajectory-following process)를 반복하는 것) 사이의 전이를 갖는 도 109에서 도시되는 여러 가지 물리적 엘리먼트(손가락 및 사지/관절)의 관련된 액션으로 분류된다. 그 다음, 조작 국면의 각각의 부분과 관련되는 파라미터는, 3165-3에서, 추출되어 수치 값을 할당받고, '잡기', '유텐실 정렬', '자르기', '인덱스 오버(index-over)', 등등과 같은 니모닉 디스크립터(mnemonic descriptor)와 함께 3165-5에 의해 제공되는 특정한 액션 프리미티브와 관련된다.
중간 라이브러리 데이터(3165-4)는 학습 및 튜닝 엔진(3166)으로 공급되는데, 이 경우, 다른 다수의 스튜디오 세션(3168)으로부터의 데이터가 사용되어 유사한 미소 조작 액션 및 그들의 성과를 추출하고(3166-1) 그들의 데이터 세트를 비교하여(3166-2), 표준 머신 학습/파라미터 튜닝 기술 중 하나 이상을 반복적인 양식(3166-5)으로 사용하여 각각의 미소 조작 그룹 내에서 파라미터 튜닝(3166-3)을 허용한다. 추가적인 레벨 구조화 프로세스(3166-4)는, 미소 조작 모션 프리미티브를, 서브루틴 액션 프리미티브의 시퀀스(직렬 및 병렬 조합)로 이루어지는 일반적인 저 레벨의 서브루틴 및 더 고 레벨의 미소 조작으로 분류하는 것을 결정한다.
그 다음, 후속하는 라이브러리 빌더(3167)는 모든 일반적인 미소 조작 루틴을, 단일의 일반적인 미소 조작 라이브러리(3167-2)의 일부로서, 모든 관련된 데이터(커맨드, 파라미터 세트 및 예상된/필요로 되는 성능 메트릭)를 갖는 일반적인 다중 레벨의 미소 조작 액션 프리미티브의 세트로 편제한다. 그 다음, 분리되고 별개인 라이브러리가, 일반적인 미소 조작 액션 프리미티브의 임의의 시퀀스를 특정한 태스크(요리하기, 그림 그리기, 등등)에 할당하는 것을 허용하여, 원격 로봇 시스템에 의한 스튜디오 성능을 복제하는 데 필요로 되는 태스크에만 관련이 있는 태스크 고유의 데이터세트(예컨대 키친 데이터 및 파라미터, 기기 고유의 파라미터, 등등)의 포함을 허용하는 태스크 고유의 라이브러리(3167-1)로서 또한 구축된다.
별개의 MM 라이브러리 액세스 매니저(3169)가, 원격 로봇 복제 시스템 상으로 전달할 적절한 라이브러리 및 그들의 관련된 데이터세트(파라미터, 시간 이력, 성능 메트릭, 등등)를 체크아웃하는(3169-1) 것뿐만 아니라, 하나 이상의 동일한/상이한 원격 로봇 시스템에 의한 학습된 그리고 최적화된 미소 조작 실행에 기초하여, 업데이트된 미소 조작 모션 프리미티브(파라미터, 성능 메트릭, 등등)를 다시 체크인하는(3169-2) 것을 담당한다. 이것은, 라이브러리가 계속해서 성장하는 것 및 점점 많아지는 원격 로봇 실행 플랫폼에 의해 최적화되는 것을 보장한다.
도 112는, 전문가의 액션이 기록되고, 분석되고 그리고 계층적으로 구조화된 미소 조작 데이터세트(커맨드, 파라미터, 메트릭, 시간 이력, 등등)의 머신 실행가능 세트로 해석된, 스튜디오 설정에서 전문가에 의해 실행되는 특정한 태스크(요리하기, 그림 그리기, 등등)의 원격 복제를 실행하기 위해 원격 로봇 시스템이 미소 조작(MM) 라이브러리(들)를 어떻게 활용할 것인지의 프로세스를 예시하는 블록도를 묘사하는데, 계층적으로 구조화된 미소 조작 데이터세트의 머신 실행가능 세트는, 다운로드되어 적절히 파싱되면, 로봇 시스템(이 경우 양팔 토르소/휴머노이드 시스템)이 전문가의 액션을, 스튜디오 설정에서 전문가의 것과 실질적으로 동일한 최종 결과를 달성하기에 충분한 충실도를 가지고 전문가의 액션을 충실하게 복제하는 것을 허용한다.
고 레벨에서, 이것은, 로봇 시스템에 의해 요구되는 미소 조작 데이터세트의 완전한 세트를 포함하는 태스크 설명 라이브러리를 다운로드하고, 그들을 실행을 위해 로봇 컨트롤러로 제공하는 것에 의해 달성된다. 로봇 컨트롤러는, 실행 모듈이 관절 및 사지 포지션 및 속도뿐만 아니라 (내부 및 외부) 힘 및 토크에 대해 확립된 프로파일을 따르는 것을 허용하기 위해, 전체 시스템으로부터 피드백을 수신하는 동안, 실행 모듈이 해석하고 실행하는 필요로 되는 커맨드 및 모션 시퀀스를 생성한다. 병렬 성능 모니터링 프로세스는, 필요로 되는 태스크 충실도를 보장하기 위해, 태스크 설명의 기능적 및 성능 메트릭을 사용하여 로봇의 액션을 추적 및 프로세싱한다. 로봇이 각각의 태스크 또는 모션 프리미티브를 성공적으로 완료하는 것을 허용하기 위해, 미소 조작 학습 및 적응 프로세스는, 임의의 미소 조작 파라미터 세트를 취하도록 그리고 특정한 기능적 결과가 충족되지 않으면 그것을 수정하도록 허용된다. 그 다음, 재실행을 위한, 뿐만 아니라, 특정한 미소 조작 루틴을 업데이트/재구축하기 위한 수정된 미소 조작 파라미터 세트를 재구축하기 위해, 업데이트된 파라미터 데이터가 사용되는데, 특정한 미소 조작 루틴은, 다른 로봇 시스템에 의한 미래의 사용을 위한 수정된/재튜닝된 라이브러리로서 원래의 라이브러리 루틴으로 다시 제공된다. 시스템은, 최종 결과가 달성될 때까지 모든 미소 조작 단계를 모니터링하고, 일단 완료되면, 로봇 실행 루프를 빠져 나와 추가 커맨드 또는 인간 입력을 대기한다.
특정한 상세에서, 상기에서 개설되는(outlined) 프로세스는 하기에 설명되는 시퀀스로서 상세히 설명될 수 있다. 일반적인 그리고 태스크 고유의 MM 라이브러리를 포함하는 MM 라이브러리(3170)는 MM 라이브러리 액세스 매니저(3171)를 통해 액세스되는데, MM 라이브러리 액세스 매니저(3171)는, 특정한 태스크에 대한 중간/최종 결과의 실행 및 검증에 필요로 되는 모든 요구되는 태스크 고유의 데이터 세트(3172)가 이용가능한 것을 보장한다. 데이터 세트는, 적어도, 모든 필요한 운동학적/동적 및 제어 파라미터, 관련 변수의 시간 이력, 성능 검증을 위한 기능적 및 성능 메트릭 및 값, 및 현재 수행 중인 특정한 태스크에 관련되는 모든 MM 라이브러리를 포함하지만, 그러나 이들로 한정되지는 않는다.
모든 태스크 고유의 데이터세트(3172)는 로봇 컨트롤러(3173)로 제공된다. 커맨드 시퀀서(3174)는, 총 'i=N' 단계에 대해, 할당된 인덱스 값 I을 갖는 적절한 순차적인/병렬 모션 시퀀스를 생성하여, 각각의 순차적인/병렬 모션 커맨드(및 데이터) 시퀀스를 커맨드 실행기(3175)로 공급한다. 커맨드 실행기(3175)는 각각의 모션 시퀀스를 취하고 결국에는 그것을, 작동 및 감지 시스템으로의 고-저 커맨드 신호의 세트로 파싱하여, 이들 시스템의 각각에 대한 컨트롤러가, 필요로 되는 포지션/속도 및 힘/토크 프로파일을 갖는 모션 프로파일이 시간의 함수로서 정확하게 실행되는 것을 보장하는 것을 허용한다. 실제 값이 소망의/지령된 값을 가능한 한 가깝게 추적하는 것을 보장하기 위해, (로봇) 양팔 토르소/휴머노이드 시스템으로부터의 지각 피드백 데이터(3176)가, 프로파일 추종 기능(profile-following function)에 의해 사용된다.
별개의 병렬 성능 모니터링 프로세스(3177)는, 개별 미소 조작 액션의 각각의 실행 동안 항상 기능적 성능 결과를 측정하고, 이들을, 각각의 미소 조작 액션과 관련되는 그리고 3172에서 제공되는 태스크 고유의 미소 조작 데이터에서 제공되는 성능 메트릭에 비교한다. 기능적 결과가, 요구되는 메트릭 값(들)에 대한 허용가능한 허용오차 한계 내에 있으면, 로봇 실행은, 미소 조작 인덱스 값을 '1++'로 증가시키고 그 값을 제공하고 제어를 다시 커맨드 시퀀서 프로세스(3174)로 리턴하는 것에 의해, 계속하도록 허용되어, 전체 프로세스가 반복 루프에서 계속하는 것을 허용한다. 그러나 성능 메트릭이 상이하면, 기능적 결과 값(들)의 불일치로 나타나고, 별개의 태스크 수정자 프로세스(3178)가 규정된다.
미소 조작 태스크 수정자 프로세스(3178)는, 임의의 하나의 태스크 고유의 미소 조작을 설명하는 파라미터의 수정을 허용하고, 그에 의해, 태스크 실행 단계의 수정이, 허용가능한 성능 및 기능적 결과에 도달할 것이라는 것을 보장하기 위해 사용된다. 이것은, '위반하는' 미소 조작 액션 단계로부터 파라미터 세트를 취하고 머신 학습의 분야에서 일반적인 파라미터 최적화를 위한 다수의 기술 중 하나 이상을 사용하여, 특정한 미소 조작 단계 또는 시퀀스 MMi를 수정된 미소 조작 단계 또는 시퀀스 MMi *로 재구축하는 것에 의해, 달성된다. 그 다음, 수정된 단계 또는 시퀀스 MMi *는, 재실행을 위해 커맨드 실행기(3175)로 되전달되는(passed back) 신규의 커맨드 시퀀스를 재구축하기 위해 사용된다. 그 다음, 수정된 미소 조작 단계 또는 시퀀스 MMi *는, 필요로 되는 기능적 결과의 성공적인 달성으로 이어진 미소 조작 데이터세트의 최종 버전을 재조립하는 재구축 기능으로 제공되고, 따라서 그것은 태스크 및 파라미터 모니터링 프로세스(3179)로 전달될 수도 있다.
태스크 및 파라미터 모니터링 프로세스(3179)는, 각각의 미소 조작 단계 또는 시퀀스의 성공적인 완료뿐만 아니라, 필요로 되는 성능 레벨 및 기능적 결과를 달성하는 데 책임이 있는 것으로 간주되는 최종의/적절한 미소 조작 데이터세트 둘 다의 성공적인 완료에 대한 검사를 담당한다. 태스크 실행이 완료되지 않는 한, 제어는 커맨드 시퀀서(3174)로 되전달된다. 일단 전체 시퀀스가 성공적으로 실행되면('i=N'을 의미함), 프로세스는 종료하고 어쩌면 추가적인 커맨드 또는 유저 입력을 대기한다. 각각의 시퀀스 카운터 값 T의 경우, 모니터링 태스크(3179)는 또한, 모든 재구축된 미소 조작 파라미터 세트의 합
Figure pat00022
를 다시 MM 라이브러리 액세스 매니저(3171)로 포워딩하여, MM 라이브러리 액세스 매니저(3171)가 도 111에서 도시되는 원격 MM 라이브러리(3170)의 태스크 고유의 라이브러리(들)를 업데이트하는 것을 허용한다. 그 다음, 원격 라이브러리는 자기 자신의 내부의 태스크 고유의 미소 조작 표현을 업데이트하고
Figure pat00023
, 그에 의해, 최적화된 미소 조작 라이브러리를, 모든 미래의 로봇 시스템 사용에 이용가능하게 만든다.
도 113은, 특정한 태스크와 관련되는 미소 조작 태스크 모션 프리미티브에 대한 자동화된 미소 조작 파라미터 세트 구축 엔진(3180)을 예시하는 블록도를 묘사한다. 그것은, 특정한 태스크의 특정한 미소 조작에 대한 (서브)루틴을 구축하는 프로세스가, 물리적 시스템 그룹화 및 상이한 조작 국면을 사용하는 것에 기초하여 어떻게 달성되는지의 그래픽 표현을 제공하는데, 여기서 더 고 레벨의 미소 조작 루틴은, 움켜잡기, 툴 움켜잡기, 등등과 같은 다수의 저 레벨의 미소 조작 프리미티브(본질적으로, 작고 간단한 모션 및 폐루프 제어식 액션으로 구성되는 서브루틴)를 사용하여 구축될 수 있다. 이 프로세스는, 간단한 기술을 요하는 조작 및 단계/액션의 시퀀스에 기초하여 단계별 양식으로 적용되는 다차원 벡터(어레이)에 저장되는 파라미터 값 시퀀스(기본적으로, 태스크 및 시간 인덱싱된 매트릭스)로 나타난다. 본질적으로, 이 도면은, 도 112로부터의 MM 라이브러리 프로세싱 및 구조화 엔진(3160)에 캡슐화되는 액션을 반영하는, 미소 조작 액션의 시퀀스 및 그들의 관련된 파라미터의 생성을 위한 예를 묘사한다.
도 113에서 묘사되는 예는, 특정한 스튜디오 데이터 세트로부터 다수의 단계를 추출하기 위해 소프트웨어 엔진이 지각 데이터를 어떻게 계속 분석하는지의 일부를 도시한다. 이 경우, 그것은, 유텐실(예를 들면, 칼)을 잡고 자르기 스테이션으로 진행하여 특정한 식품 아이템(예컨대 빵 덩어리)을 잡거나 유지하고 칼을 정렬하여 자르는 것(슬라이스)으로 진행하는 프로세스이다. 시스템은, 단계 1에서 팔 1에 집중하는데, 단계 1은, 잡기용 손을 구성하는 것(1.a.)에 의해 유텐실(칼)을 잡는 것, 홀더 안의 또는 표면 상의 유텐실에 접근하는 것(1.b.), 유텐실을 획득하기 위한 움켜잡기 모션의 미리 결정된 세트(도시되지는 않지만 GRASP 미소 조작 단계(1.c.)에 통합되는 접촉 검출 및 접촉 힘 제어를 포함함)를 수행하는 것, 및 그 다음 자르기 동작을 위해 손/손목을 적절히 정렬시키도록 자유 공간에서 손을 움직이는 것을 수반한다. 그에 의해, 시스템은 나중의 로봇 제어를 위한 파라미터 벡터(벡터 1 내지 벡터 5)를 채울 수 있다. 시스템은, 단계 2의 토르소를 수반하는 다음 단계로 리턴되는데, 단계 2는, 작업(자르는) 면을 향하고(2.a.), 양팔 시스템을 정렬하고(2.b.) 그리고 다음 단계를 위해 리턴하는(2.c.) 더 저 레벨의 미소 조작의 시퀀스를 포함한다. 다음 단계 3에서, 팔 2(유텐실/칼을 잡고 있지 않은 팔)는, 더 큰 오브젝트 움켜잡기를 위해 자신의 손을 정렬하도록(3.a.), 식품 아이템에 접근하도록(3.b.; 어쩌면 모든 사지와 관절 및 손목을 움직이는 것을 수반함; 3.c.), 그리고 그 다음 접촉이 이루어질 때까지 움직이도록(3.c.) 지령을 받고, 그 다음, 자르기 동작을 허용하도록 유텐실을 정렬하는 것(3.f.) 그 후 리턴(3.g.) 및 다음 단계(들)(4, 및 등등)로 진행하는 것 이전에, 충분한 힘으로 아이템을 잡기 위해 푸시하도록(3.d.) 지령을 받는다.
상기 예는, 스튜디오 기록 프로세스로부터의 외부/내부/인터페이스 지각 피드백 데이터를 사용하여 컴퓨터가 쉽게 구별 및 파라미터화할 수 있는 조작 국면 접근방식 및 물리적 엔티티 매핑 둘 다를 사용하여 간단한 서브루틴 모션(그 자체도 또한 미소 조작)에 기초하여 미소 조작 루틴을 구축하는 프로세스를 예시한다. 파라미터 벡터가 지각 데이터, 키 변수에 대한 시간 이력뿐만 아니라 성능 데이터 및 메트릭을 포함하여, 원격 로봇 복제 시스템이 필요로 되는 태스크(들)를 충실하게 실행하는 것을 허용하기 때문에, 프로세스 파라미터에 대한 이 미소 조작 라이브러리 구축 프로세스는, 성공적인 미소 조작 액션(들)(의 서브셋)을 완전히 설명하는 '파라미터 벡터'를 생성한다. 프로세스는 또한, 프로세스가 일반적인 모션 및 액션 프리미티브의 세트에 기초하여 단순히 미소 조작 액션을 구축하기 때문에, 프로세스가 현재 수행 중인 태스크(요리하기, 그림 그리기, 등등)에 무관하다는 점에서 일반적이다. 특정한 모션 시퀀스를 더 일반적으로 더 설명하기 위해 그리고 특정한 모션 시퀀스가 미래의 사용을 위해 일반적으로 되는 것, 또는 특정한 애플리케이션에 대해 태스크에 고유하게 되는 것을 허용하기 위해, 간단한 유저 입력 및 다른 미리 결정된 액션 프리미티브 디스크립터가 임의의 레벨에서 추가될 수 있다. 파라미터 벡터로 구성되는 미소 조작 데이터세트를 갖는 것은, 학습을 통한 연속적인 최적화를 또한 허용하는데, 여기서, 하나 이상의 일반적인 및/또는 태스크 고유의 라이브러리의 미소 조작 루틴의 적용(및 평가)을 수반하는 로봇 복제 동작 동안 생성되는 필드 데이터에 기초하여 특정한 미소 조작의 충실도를 향상시키기 위해, 파라미터에 대한 적응이 가능하다.
도 114a는, 데이터 저장소에 집중하기 위해, 중앙 로봇 제어 모듈이 중앙 박스에 포함되는 로봇 아키텍쳐(또는 로봇 시스템)의 데이터 중심 뷰를 예시하는 블록도이다. 중앙 로봇 제어 모듈(3191)은, <채움>에서 개시되는 모든 프로세스에 의해 필요로 되는 작업 메모리를 포함한다. 특히, 중앙 로봇 제어는, 로봇의 동작의 모드, 예를 들면, 로봇이 외부 교사(teacher)로부터 신규의 미소 조작을 관찰 및 학습하고 있는지, 또는 태스크를 실행하고 있는지 또는 아직 상이한 프로세싱 모드에 있는지의 여부를 확립한다.
작업 메모리 1(3192)은 현재까지의 시간의 한 기간 동안의 모든 센서 판독치를 포함한다: 물리적 메모리의 양에 따라, 수 초 내지 수 시간, 통상적으로 약 60초일 것이다. 센서 판독치는 온보드 또는 오프보드 로봇 센서로부터 유래하며, 카메라로부터의 비디오, 레이저 레이더(ladar), 소나, 힘 및 압력 센서(햅틱), 오디오, 및/또는 임의의 다른 센서를 포함할 수도 있다. 센서 판독치는 암시적으로 또는 명시적으로 시간 태깅되거나 또는 시퀀스 태깅된다(후자는 센서 판독치가 수신되었던 순서를 의미한다).
작업 메모리 2(3193)는, 중앙 로봇 제어에 의해 생성되는 그리고 액추에이터로 전달되거나, 또는 시간적으로 주어진 시점에 또는 트리거링 이벤트(예를 들면, 로봇이 이전 모션을 완료하는 것)에 기초하여 액추에이터로 전달되도록 큐잉되는 모든 액추에이터 커맨드를 포함한다. 이들은 모든 필요한 파라미터 값(예를 들면, 얼마나 멀리 이동하는지, 얼마나 많은 힘을 적용할지, 등등)을 포함한다.
제1 데이터베이스(데이터베이스 1)(3194)는, 각각의 MM에 대한, 삼중쌍 <PRE, ACT, POST>을 비롯한, 로봇에게 알려진 모든 미소 조작(MM)의 라이브러리를 포함하는데, 여기서 PRE = {s1, s2, ..., sn}는, 액션 ACT = [a1, a2, ..., ak]가 발생할 수 있기 이전에 참이어야 하고, POST = {p1, p2, ..., pm}로서 표기되는 세상 상태에 대한 변화의 세트로 귀결되어야 하는 세상 상태에서의 아이템의 세트이다. 바람직한 실시형태에서, MM은, 목적에 의해, 자신이 수반한 센서 및 액추에이터에 의해, 그리고 액세스 및 적용을 용이하게 하는 임의의 다른 인자에 의해 인덱싱된다. 바람직한 실시형태에서, 각각의 POST 결과는, MM이 실행되는 경우 소망의 결과를 획득할 확률과 관련된다. 중앙 로봇 제어는, MM을 검색하고 실행하기 위해 MM 라이브러리에 액세스하는 것 및 예를 들면, 신규의 MM을 추가하기 위한 학습 모드에서, MM 라이브러리를 업데이트하는 것 둘 다를 행한다.
제2 데이터베이스(데이터베이스 2)(3195)는 사례 라이브러리(case library)를 포함하는데, 각각의 사례는, 주어진 태스크, 예컨대 주어진 음식을 준비하는 것, 또는 다른 방으로부터 아이템을 가져 오는 것을 수행하기 위한 미소 조작의 시퀀스이다. 각각의 사례는 변수(예를 들면, 무엇을 가져올지, 얼마나 멀리 이동할지, 등등) 및 성과(예를 들면, 부수적 효과와 함께 또는 부수적 효과 없이, 특정한 사례가 소망의 결과를 포함했는지 그리고 최적치에 얼마나 가까운지 - 얼마나 빠른지 - 의 여부, 등등)를 포함한다. 중앙 로봇 제어는, 사례 라이브러리에 액세스하여 현재 태스크에 대한 액션의 알려진 시퀀스를 갖는지를 결정하는 것, 및 태스크 실행시 성과 정보로 사례 라이브러리를 업데이트하는 것 둘 다를 행한다. 학습 모드에 있는 경우, 중앙 로봇 제어는 신규의 사례를 사례 라이브러리에 추가하거나, 또는, 대안적으로, 비효율적인 것으로 발견된 사례를 삭제한다.
제3 데이터베이스(데이터베이스 3)(3196)는, 오브젝트, 그들의 타입 및 그들의 특성을 열거하는 오브젝트 스토어, 즉, 본질적으로 로봇이 세상에 있는 외부 오브젝트에 관해 알고 있는 것을 포함한다. 예를 들면, 칼은 "툴" 및 "유텐실"의 타입을 가지며, 통상적으로 서랍 또는 조리대에 있고, 소정의 사이즈 범위를 가지며, 임의의 그립력(gripping force)을 견딜 수 있고, 등등이다. 계란은 "식품"의 타입을 가지며, 소정의 사이즈 범위를 가지며, 통상적으로 냉장고에서 발견되고, 깨어지지 않으면서 소정 양의 그립력만을 견딜 수 있고, 등등이다. 오브젝트의 특성을 결정하기 위해, 오브젝트를 형성하기 위해, 및 등등을 위해, 신규의 로봇 액션 계획을 형성하는 동안 오브젝트 정보가 질의된다. 오브젝트 스토어는 또한 신규의 오브젝트가 되면 업데이트될 수 있고, 오브젝트 스토어는 현존하는 오브젝트 및 그들의 파라미터 또는 파라미터 범위에 관한 자신의 정보를 업데이트할 수 있다.
제4 데이터베이스(데이터베이스 4)(3197)는, 로봇의 위치, 환경의 범위(예를 들면, 집에서의 방), 그들의 물리적 레이아웃, 및 그 환경 내에서의 특정한 오브젝트의 위치 및 양을 비롯한, 로봇이 동작하고 있는 환경에 관한 정보를 포함한다. 데이터베이스 4는, 로봇이 오브젝트 파라미터(예를 들면, 위치, 방위)를 업데이트할 것을 필요로 할 때마다, 또는 환경 내에서 내비게이팅할 것을 필요로 할 때마다, 질의된다. 그것은, 오브젝트가 이동될 때, 소비될 때, 또는 신규의 오브젝트를 외부에서 가져 올 때(예를 들면, 인간이 가게 또는 슈퍼마켓으로부터 돌아올 때), 빈번하게 업데이트된다.
도 114b는, 미소 조작 로봇 거동 데이터의 구성, 링크, 및 변환에서의 다양한 미소 조작 데이터 포맷의 예를 예시하는 블록도이다. 구성에서, 전용/추상화 프로그래밍 언어의 고 레벨의 MM 거동 설명은, 보다 더 복잡한 거동으로부터 거동을 구축하는 것을 허용하기 위해, 더욱 더 기본적인 MM에 의해 그 자체가 설명될 수도 있는 기본적인 MM 프리미티브의 사용에 기초한다.
아주 기본적인 거동의 예는, 모두 5개의 손가락이 오브젝트 주위로 구부러지는 '움켜잡기'에 관련되는 모션 프리미티브를 갖는 '손가락 구부리기(finger-curl)'일 수도 있고, 고 레벨의 거동은, 각각의 위치로의 팔 움직임 및, 그 다음, 모두 다섯 개의 손가락을 이용한 유텐실 움켜잡기를 수반할 '유텐실 가져오기'로 칭해질 수도 있다. 기본적인 거동(더 기본적인 것도 또한 포함함)의 각각은 상관된 기능적 결과 및 각각을 설명하고 제어하는 관련된 캘리브레이션 변수를 갖는다.
링크는, 거동 데이터가 물리적 세상 데이터와 링크되는 것을 허용하는데, 물리적 세상 데이터는, 물리적 시스템에 관련되는 데이터(로봇 파라미터 및 환경적 지오메트리(environmental geometry), 등등), 움직임을 초래하게 하기 위해 사용되는 컨트롤러에 관련되는 데이터(타입 및 이득/파라미터), 뿐만 아니라 모니터링 및 제어뿐만 아니라, 다른 소프트웨어 루프 실행 관련 프로세스(통신, 에러 핸들링, 등등)에 필요로 되는 지각 데이터(비전, 동적/정적 측정, 등등)를 포함한다.
변환은, 하나 이상의 데이터베이스로부터, 그리고 액추에이터 제어 명령어 코드 번역기 및 생성기(Actuator Control Instruction Code Translator & Generator)로 칭해지는 소프트웨어 엔진을 통해, 모든 링크된 MM 데이터를 취하고, 그에 의해 각각의 시간 기간(t1 내지 tm) 동안 각각의 액추에이터(A1 내지 An) 컨트롤러(그 자체는 포지션/속도 및/또는 힘/토크에서 고대역폭의 제어 루프를 실행한다)에 대한 머신 실행가능(저 레벨) 명령어 코드를 생성하여, 로봇 시스템이 네스트화된(nested) 루프의 연속적인 세트에서 지령된 명령어를 실행하는 것을 허용한다.
도 115는, 로봇 하드웨어 기술 개념(3206), 로봇 소프트웨어 기술 개념(3208), 로봇 비지니스 개념(3202), 및 로봇 기술 개념을 전달하는 수학적 알고리즘(3204) 사이의 상이한 레벨의 양방향 추상화(3200)에 대한 하나의 관점을 예시하는 블록도이다. 본 개시의 로봇 개념이 수직 및 수평 개념으로서 관찰되면, 로봇 비지니스 개념은 상부 레벨(top level)(3202)에 로봇식 키친의 비지니스 애플리케이션을, 하부 레벨(bottom level)에서 로봇 개념의 수학적 알고리즘(3204)을, 그리고 로봇 비지니스 개념(3202)과 수학적 알고리즘(3204) 사이에 로봇 하드웨어 기술 개념(3206), 및 로봇 소프트웨어 기술 개념(3208)을 포함한다. 실제로 말하면, 로봇 하드웨어 기술 개념, 로봇 소프트웨어 기술 개념, 수학적 알고리즘, 및 비지니스 개념의 레벨의 각각은 도 115에서 도시되는 바와 같이 레벨 중 임의의 것과 양방향으로 상호 작용한다. 예를 들면, 음식을 준비하기 위해 데이터베이스로부터의 소프트웨어 미소 조작을 프로세싱하기 위한 컴퓨터 프로세서는, 음식을 준비함에 있어서 최적의 결과를 달성하기 위해, 로봇 상의 로봇 엘리먼트의 각각의 움직임을 제어하기 위한 커맨드 명령어를 액추에이터로 전송하는 것에 의한다. 로봇 하드웨어 기술 개념 및 로봇 소프트웨어 기술 개념의 수평 관점의 상세는, 예를 들면 도 100 내지 도 114에서 예시되는 바와 같이, 본 개시 전체에 걸쳐 설명된다.
도 116은, 한 쌍의 로봇 팔 및 다섯 개의 손가락이 있는 손(3210)을 예시하는 블록도이다. 각각의 로봇 팔(70)은 팔꿈치(3212) 및 손목(3214)와 같은 여러 관절에서 연계될 수도 있다. 각각의 손(72)은 크리에이터의 모션 및 미소 조작을 복제하기 위해 다섯 개의 손가락을 가질 수도 있다.
도 117a는, 휴머노이드 타입 로봇(3220)의 하나의 실시형태를 예시하는 도면이다. 휴머노이드 로봇(3220)은 외부 환경의 이미지를 수신하는 카메라 및 타겟 오브젝트의 위치, 및 움직임을 검출하는 능력을 갖는 헤드(3222)를 구비할 수도 있다. 휴머노이드 로봇(3220)은, 몸체 각도 및 모션을 검출하기 위해 몸체 상에 센서를 구비하는 토르소(3224)를 구비할 수도 있는데, 센서는 전지구 위치결정 센서(global positioning sensor) 또는 다른 위치 센서를 포함할 수도 있다. 휴머노이드 로봇(3220)은, 다양한 센서(레이저, 입체 카메라)가 손과 손가락에 통합된, 하나 이상의 솜씨 좋은 손(72), 손가락 및 손바닥을 구비할 수도 있다. 손(72)은, 요리하기, 악기 연주하기, 그림 그리기, 등등과 같은 주제 전문가 인간 스킬을 수행하도록, 정확한 잡기, 움켜잡기, 놓기, 손가락 누르기 움직임에 대응할 수 있다. 휴머노이드 로봇(3220)은, 옵션적으로, 동작의 속도를 제어하기 위한 액추에이터를 다리 상에 갖는 다리(3226)를 포함할 수도 있다. 각각의 다리(3226)는, 인간과 같은 걷기, 달리기, 및 점프하기 움직임을 수행하기 위해 다수의 자유도(degrees of freedom; DOF)를 구비할 수도 있다. 마찬가지로, 휴머노이드 로봇(3220)은, 다양한 지형 및 환경을 통해 움직이는 능력을 갖는 발(3228)을 구비할 수도 있다.
추가적으로, 휴머노이드 로봇(3220)은, 전방/후방, 상방/하방, 좌/우 및 회전 움직임을 위한 다수의 DOF를 갖는 목(3230)을 구비할 수도 있다. 그것은, 전방/후방, 회전 움직임을 위한 다수의 DOF를 갖는 어깨(3232), 전방/후방 움직임을 위한 다수의 DOF를 갖는 팔꿈치, 및 전방/후방, 회전 움직임을 위한 다수의 DOF를 갖는 손목(314)를 구비할 수도 있다. 휴머노이드 로봇(3220)은, 전방/후방, 좌/우 및 회전 움직임을 위한 다수의 DOF를 갖는 고관절(hip)(3234), 전방/후방 움직임을 위한 다수의 DOF를 갖는 무릎(3236), 및 전방/후방 및 좌/우 움직임을 위한 다수의 DOF를 갖는 발목(3236)을 구비할 수도 있다. 휴머노이드 로봇(3220)은, 배터리(3238) 또는 다른 배터리 소스가 자신의 동작 공간에 관해 구속되지 않고 움직이는 것을 허용하도록 배터리(3238) 또는 다른 배터리 소스를 수용할 수도 있다. 배터리(3238)는 재충전가능할 수도 있고 임의의 타입의 배터리 또는 공지된 다른 전원일 수도 있다.
도 117b는, 각각의 관절의 위치에서 또는 그 근처에서 로봇 몸체에 설치되는 복수의 자이로스코프(3240)를 갖는 휴머노이드 타입 로봇(3220)의 하나의 실시형태를 예시하는 블록도이다. 방위 센서로서, 회전가능한 자이로스코프(3240)는, 휴머노이드가 몸을 굽히거나 앉는 것과 같은 높은 복잡도를 갖는 각 운동을 행하기 위한 상이한 각도를 도시한다. 자이로스코프(3240)의 세트는, 전체 휴머노이드 로봇뿐만 아니라, 휴머노이드 로봇(3220)의 개별 부품에 의한 동역학적 안정성을 유지하기 위한 방법 및 피드백 메커니즘을 제공한다. 자이로스코프(3240)는, 오일러 각(euler angle), 자세 사원수(attitude quaternion), 자력계, 가속도계, 자이로 데이터, GPS 고도, 포지션 및 속도와 같은 실시간 출력 데이터를 제공할 수도 있다.
도 117c는, 몸체 감지 수트, 팔 외골격, 헤드 기어, 및 감지 글러브를 포함하는, 휴머노이드 상의 크리에이터 기록 디바이스를 예시하는 그래픽 도면이다. 스킬을 캡쳐하고 인간 크리에이터의 움직임을 기록하기 위해, 한 실시형태에서, 크리에이터는 몸체 감지 수트 또는 외골격(3250)을 착용할 수 있다. 수트는, 헤드 기어(3252), 사지 외골격(extremity exoskeleton), 예컨대 팔 외골격(3254), 및 글러브(3256)를 포함할 수도 있다. 외골격은, 임의의 수의 센서 및 기준점(reference point)을 갖는 센서 네트워크(3258)로 덮일 수도 있다. 이들 센서 및 기준점은, 크리에이터가 크리에이터 기록 디바이스(3260)의 필드 내에 남아 있는 한, 크리에이터 기록 디바이스(3260)가 센서 네트워크(3258)로부터 크리에이터의 움직임을 캡쳐하는 것을 허용한다. 구체적으로는, 크리에이터가 글러브(3256)를 착용하고 있는 동안 그의 손을 움직이면, 3D 공간에서의 포지션은 다수의 센서 데이터 포인트(D1, D2, ..., Dn)에 의해 캡쳐될 것이다. 몸체 수트(3250) 또는 헤드 기어(3252) 때문에, 크리에이터의 움직임은 헤드에 제한되는 것이 아니라, 전체 크리에이터를 포괄한다. 이 방식에서, 각각의 움직임은 전체 스킬의 일부로서 미소 조작으로 분석 및 분류될 수도 있다.
도 118은, 로봇 인간 기술 주제 전문가 전자 IP 미소 조작 라이브러리(2100)를 예시하는 블록도이다. 주제/스킬 라이브러리(2100)는 임의의 수의 미소 조작 스킬을 파일 또는 폴더 구조로 포함한다. 라이브러리는, 스킬에 따라, 직업에 따라, 분류에 따라, 환경에 따라, 또는 임의의 다른 카탈로그 또는 분류법을 포함하지만 그러나 이들로 제한되지는 않는 임의의 수의 방식으로 정렬될 수도 있다. 라이브러리는, 플랫 파일(flat file)을 사용하여 또는 관계형 방식으로 분류될 수도 있고 비제한적인 수의 폴더, 및 서브폴더 및 실질적으로 제한되지 않는 수의 라이브러리 및 미소 조작을 포함할 수도 있다. 도 118에서 알 수 있는 바와 같이, 라이브러리는, 인간 요리 스킬(56), 인간 그림 그리기 스킬(2102), 인간 악기 스킬(2104), 인간 간호 스킬(2106), 인간 가사일 스킬(human house keeping skill)(3270), 및 인간 재활/치료사 기술(3272)과 같은 토픽을 커버하는 여러 가지 모듈 IP 인간 스킬 복제 라이브러리(56, 2102, 2104, 2106, 3270, 3272, 3274)를 포함한다. 추가적으로 및/또는 대안적으로, 로봇 인간 스킬 주제 전자 IP 미소 조작 라이브러리(2100)는, 걷기, 달리기, 점프하기, 계단 오르기, 등등과 같은 기본적인 인간 모션을 또한 포함할 수도 있다. 스킬 그 자체는 아니지만, 기본적인 인간 모션(3274)의 미소 조작 라이브러리를 생성하는 것은, 휴머노이드 로봇이 실세계 환경에서 더 쉽게 인간과 같은 방식으로 기능하고 상호 작용하는 것을 허용한다.
도 119는, 인간 손 스킬 움직임을 대체하기 위한 일반적인 미소 조작의 전자 라이브러리의 생성 프로세스를 예시하는 블록도(3280)이다. 이 예시에서, 하나의 일반적인 미소 조작(3290)이 도 119를 참조로 설명된다. 미소 조작 MM1(3292)은 그 특정한 미소 조작(예를 들면, 제2 오브젝트를 사용하여 제1 오브젝트를 성공적으로 때리는 것)에 대한 기능적 결과(3294)를 생성한다. 각각의 미소 조작은 하위(sub) 미소 조작 또는 단계로 분류될 수 있는데, 예를 들면, MM1(3292)은 하나 이상의 미소 조작(하위 미소 조작)인 미소 조작 MM1.1(3296)(예를 들면, 오브젝트1을 집어 들어 유지하기), 미소 조작 MM1.2(3310)(예를 들면, 제2 오브젝트를 집어 들어 유지하기), 미소 조작 MM1.3(3314)(예를 들면, 제1 오브젝트를 제2 오브젝트로 치기), 미소 조작 MM1.4n(3318)(예를 들면, 제1 오브젝트 열기)를 포함한다. 특정한 기능적 결과를 달성하는 특정한 미소 조작에 적절한 추가적인 하위 미소 조작이 추가 또는 제거될 수도 있다. 미소 조작의 정의는, 부분적으로, 그것이 어떻게 정의되는지 및 이러한 조작을 정의하기 위해 사용되는 세분화(granularity), 즉, 특정한 미소 조작이 여러 가지 하위 미소 조작을 구체화하는지의 여부, 또는 하위 미소 조작으로서 특성 묘사되었던 것이 다른 컨텍스트에서 더 넓은 미소 조작으로서 또한 정의될 수도 있는지에 의존한다. 하위 미소 조작의 각각은 대응하는 기능적 결과를 갖는데, 여기서 하위 미소 조작 MM1.1(3296)은 하위 기능적 결과(3298)를 획득하고, 하위 미소 조작 MM1.2(3310)는 하위 기능적 결과(3312)를 획득하고, 하위 미소 조작 MM1.3(3314)은 하위 기능적 결과(3316)를 획득하고, 하위 미소 조작 MM1.4n(3318)은 하위 기능적 결과(3294)를 획득한다. 마찬가지로, 기능적 결과의 정의는, 부분적으로, 그것이 어떻게 정의되는지, 특정한 기능적 결과가 여러 가지 기능적 결과를 구체화하는지의 여부, 또는 하위 기능적 결과로서 특성 묘사되었던 것이 다른 컨텍스트에서 더 넓은 기능적 결과로 또한 정의될 수도 있는지에 의존한다. 총체적으로, 하위 미소 조작 MM1.1(3296), 하위 미소 조작 MM1.2(3310), 하위 미소 조작 MM1.3(3314), 하위 미소 조작 MM1.4n(3318)은 전체적인 기능적 결과(3294)를 달성한다. 하나의 실시형태에서, 전체적인 기능적 결과(3294)는, 최종 하위 미소 조작(3318)과 관련되는 기능적 결과(3319)와 동일하다.
특정한 움직임을 실행하는 최상의 방식을 찾기 위해, 각각의 미소 조작1.1 내지 미소 조작1.n에 대한 여러 가지 다양한 파라미터가 테스트된다. 예를 들면, 미소 조작1.1(MM1.1)은 오브젝트를 유지하는 것일 수도 있거나 또는 피아노 상에서 화음을 연주하는 것일 수도 있다. 전체 미소 조작(3290) 중 이 단계를 위해, 단계 1.1을 완료하는 여러 가지 파라미터에 대한 모든 여러 가지 하위 미소 조작이 탐구된다. 즉, 오브젝트를 유지하는 최적의 방식을 찾기 위해, 오브젝트를 유지하는 상이한 포지션, 방위, 및 방식이 테스트된다. 동작 동안, 로봇 팔, 손 또는 휴머노이드가 그들의 손가락, 손바닥, 다리, 또는 임의의 다른 로봇 부품을 유지하는 방식. 모든 여러 가지 유지 포지션 및 방위가 테스트된다. 그 다음, 로봇 손, 팔, 또는 휴머노이드는 제2 오브젝트를 집어 들어 미소 조작1.2를 완료한다. 제2 오브젝트, 즉, 칼은 집어 들어올려질 수도 있고, 오브젝트를 핸들링하는 최적의 방식을 찾기 위해, 오브젝트를 유지하는 모든 상이한 포지션, 방위, 및 방식이 테스트되고 탐구될 수도 있다. 이것은, 미소 조작1.n이 완료되고 전체 미소 조작을 수행하기 위한 모든 여러 가지 순열 및 조합이 완료될 때까지 계속된다. 결과적으로, 미소 조작(3290)을 실행하는 최적의 방식은 미소 조작의 라이브러리 데이터베이스에서 하위 미소 조작1.1 내지 하위 미소 조작1.n으로 분류되어 저장된다. 그러면, 저장된 미소 조작은 소망의 태스크의 단계를 수행하는 최상의 방식, 즉, 제1 오브젝트를 유지하는 최상의 방식, 제2 오브젝트를 유지하는 최상의 방식, 제2 오브젝트를 사용하여 제1 오브젝트를 치는 최상의 방식, 등등을 포함한다. 이들 최상위 조합은 전체 미소 조작(3290)을 수행하는 최상의 방식으로서 저장된다.
태스크를 완료하는 최상의 방식으로서 귀결되는 미소 조작을 생성하기 위해, 다수의 파라미터 조합이 테스트되어, 소망의 기능적 결과가 달성되는 것을 보장하는 파라미터의 전체 세트를 식별한다. 로봇 장치(75)에 대한 교수/학습 프로세스는, 소망의 최종 기능적 결과를 달성하기 위해 필요한 파라미터를 식별하기 위한 다수의 그리고 반복적인 테스트를 수반한다.
이들 테스트는 다양한 시나리오에 걸쳐 수행될 수도 있다. 예를 들면, 오브젝트의 사이즈는 변할 수 있다. 작업공간 내에서 오브젝트가 발견되는 위치는 변할 수 있다. 제2 오브젝트는 상이한 위치에 있을 수도 있다. 미소 조작은 이들 가변적인 상황의 모두에서 성공해야만 한다. 일단 학습 프로세스가 완료되면, 결과는, 소망의 기능적 결과를 달성하는 것으로 함께 알려져 있는 액션 프리미티브의 콜렉션으로서 저장된다.
도 120은, 일반적인 미소 조작을 사용한 다수의 스테이지(3331-3333)에서의 실행에 의해 로봇에 의해 태스크(3330)를 수행하는 것을 예시하는 블록도이다. 액션 계획이 도 119에서와 같은 미소 조작의 시퀀스를 필요로 하는 경우, 하나의 실시형태에서, 로봇 계획의 소망의 결과를 달성하는 관점에서의 로봇 계획의 추정된 평균 정확도는 다음에 의해 주어진다:
Figure pat00024
여기서 G는 오브젝트(또는 "목표") 파라미터(제1 내지 제n)의 세트를 나타내고 P는 로봇 장치(75) 파라미터(상응하여, 제1 내지 제n)의 세트를 나타낸다. 합에서의 분자는 로봇 파라미터와 목표 파라미터 사이의 차이(즉, 에러)를 나타내고 분모는 최대 차이를 정규화한다. 합은 전체 정규화된 누적 에러(즉,
Figure pat00025
)를 제공하고, 1/n로 승산하는 것은 평균 에러를 제공한다. 평균 에러의 보수(즉, 1에서 평균 에러를 감산한 것)는 평균 정확도에 대응한다.
다른 실시형태에서, 정확도 계산은, 파라미터의 상대적인 중요도에 대한 가중치를 파라미터에 부여하는데, 여기서 각각의 계수(각각 αi)는 i번째 파라미터의 중요도를 나타내고, 정규화된 누적 에러는
Figure pat00026
이고 추정된 평균 정확도는 다음에 의해 주어진다:
Figure pat00027
도 120에서, 태스크(3330)는 스테이지로 분류될 수 있는데, 각 스테이지는 다음 스테이지 이전에 완료되어야 한다. 예를 들면, 스테이지(3331)는, 스테이지(3332)로 진행하기 이전에, 스테이지 결과(3331d)를 완료해야만 한다. 추가적으로 및/또는 대안적으로, 스테이지(3331 및 3332)는 병렬로 진행할 수도 있다. 각각의 미소 조작은, 기능적 결과로 귀결될 수도 있는 일련의 액션 프리미티브로 분류될 수 있는데, 예를 들면, 스테이지 S1에서, 제1 정의된 미소 조작(3331a)에서의 모든 액션 프리미티브는, 제2 미리 정의된 미소 조작(3331b)(MM1.2)으로 진행하기 이전에 완료되어 기능적 결과(3331a')를 산출해야만 한다. 이것은, 소망의 스테이지 결과(3331d)가 달성될 때까지, 기능적 결과(3331b') 등등을 차례로 산출한다. 일단 스테이지1이 완료되면, 태스크는 스테이지 S2(3332)로 진행할 수도 있다. 이 시점에서, 스테이지 S2에 대한 액션 프리미티브는 완료되고, 태스크(3330)가 완료될 때까지 계속된다. 반복적 양식으로 단계를 수행하는 능력은, 소망의 태스크를 수행하는 예측가능하고 반복가능한 방식을 산출한다.
도 121은, 본 개시에 따른, 미소 조작의 실행 국면 동안의 실시간 파라미터 조정을 예시하는 블록도이다. 특정한 태스크의 성능은, 실제 인간 스킬 및 움직임을 복제하기 위해, 저장된 미소 조작에 대한 조정을 필요로 할 수도 있다. 한 실시형태에서, 실시간 조정은 오브젝트에서의 변동을 다루기 위해 필요할 수도 있다. 추가적으로 및 또는 대안적으로, 조정은, 왼쪽 및 오른쪽의 손, 팔, 또는 다른 로봇 부품 움직임을 협동시키기 위해 필요로 될 수도 있다. 또한, 오른손의 미소 조작을 필요로 하는 오브젝트에서의 변동은, 왼쪽 손 또는 손바닥에 의해 필요로 되는 미소 조작에 영향을 미칠 수도 있다. 예를 들면, 로봇 손이 오른손을 이용하여 움켜잡고 있는 과일의 껍질을 벗기려고 시도하는 경우, 왼손에 의해 필요로 되는 미소 조작은 오른손에서 유지되는 오브젝트의 변동에 의해 영향을 받을 것이다. 도 120에서 알 수 있는 바와 같이, 기능적 결과를 달성하도록 미소 조작을 완료하기 위한 각각의 파라미터는, 왼손에 대해 상이한 파라미터를 요구할 수도 있다. 구체적으로는, 제1 오브젝트에서의 파라미터의 결과로서 오른손에 의해 감지되는 파라미터에서의 각각의 변경은, 왼손에 의해 사용되는 파라미터 및 왼손의 오브젝트의 파라미터에 영향을 미친다.
한 실시형태에서, 미소 조작1.1 내지 미소 조작1.3을 완료하여, 기능적 결과를 산출하기 위해, 오른손 및 왼손은 오브젝트에 대한 피드백 및 손 또는 손바닥, 또는 다리에 있는 오브젝트의 상태 변경을 감지 및 수신해야만 한다. 이 감지된 상태 변경은, 미소 조작을 포함하는 파라미터에 대한 조정으로 나타날 수도 있다. 하나의 파라미터에서의 각각의 변경은, 소망의 태스크 결과가 달성될 때까지, 각각의 후속하는 파라미터 및 각각의 후속하는 필요로 되는 미소 조작에 대한 변경을 산출할 수도 있다.
도 122는, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트를 예시하는 블록도이다. 도 122의 도면으로부터 알 수 있는 바와 같이, 초밥 스시(Nigiri Sushi)를 만드는 기능적 결과는, 일련의 미소 조작(3351-3355)으로 분할될 수 있다. 각각의 미소 조작은 일련의 하위 미소 조작으로 더 분류될 수 있다. 이 실시형태에서, 기능적 결과는, 약 다섯 개의 미소 조작을 필요로 하는데, 다섯 개의 미소 조작은, 차례로, 추가적인 하위 미소 조작을 필요로 할 수도 있다.
도 123은, 본 개시에 따른, 스시를 만들기 위한 미소 조작의 세트에서의 생선을 자르는 제1 미소 조작(3351)을 예시하는 블록도이다. 각각의 미소 조작(3351a 및 3351b)에 대해, 표준 및 비표준 오브젝트의 시간, 포지션, 및 위치가 캡쳐되고 기록되어야 한다. 태스크에서 처음 캡쳐된 값은 태스크 프로세스에서 캡쳐될 수도 있거나 또는 크리에이터에 의해 또는 실시간 프로세스의 삼차원 볼륨 스캐닝을 획득하는 것에 의해 정의될 수도 있다. 도 122에서, 용기로부터 생선 조각을 가져와 그것을 도마 위에 올려 놓는 제1 미소 조작은, 시작 시간 및 포지션과 왼손 및 오른손이 용기로부터 생선을 옮기고 그것을 도마 위에 놓을 시작 시간을 규정한다. 이것은, 손가락 포지션, 압력, 방위, 및 협동된 움직임을 산출하기 위한 다른 손가락, 손바닥, 및 다른 손에 대한 관계의 기록을 필요로 한다. 이것은 또한 표준 및 비표준 오브젝트 둘 다의 포지션 및 방위의 결정을 필요로 한다. 예를 들면, 이 실시형태에서, 생선 필렛(fish fillet)은 비표준 오브젝트이고, 조각마다, 상이한 사이즈, 질감, 및 단단함 무게일 수도 있다. 보관 용기 내에서의 그 포지션 또는 위치는 변할 수도 있고 역시 비표준일 수도 있다. 표준 오브젝트는 칼, 그 포지션 및 위치, 도마, 용기 및 그들 각각의 포지션일 수도 있다.
단계(3351)에서의 제2 하위 미소 조작은 3351b일 수도 있다. 단계(3351b)는 표준 칼 오브젝트를 정확한 포지션에 배치하는 것 및 도마 상에서 생선을 자르기 위해 정확한 압력, 움켜잡기, 및 방위를 적용하는 것을 필요로 한다. 동시에, 왼쪽 손, 다리, 손바닥, 등등은, 하위 미소 조작의 완료를 보완하고 조정하기 위해 협동 단계를 수행할 것을 요구받는다. 하위 미소 조작을 완료하는 액션 프리미티브의 성공적인 구현을 보장하기 위해, 모든 이들 시작 포지션, 시간, 및 다른 센서 피드백 및 신호는 캡쳐 및 최적화될 필요가 있다.
도 124 내지 도 127은, 스시를 만드는 태스크를 완료하기 위해 필요로 되는 제2 내지 제5 미소 조작을 예시하는 블록도인데, 도 124에서는 미소 조작(3352a, 3342b)을, 도 125에서는 미소 조작(3353a, 3353b)을, 도 126에서는 미소 조작(3354)을, 그리고 도 127에서는 미소 조작(3355)을 갖는다. 기능적 태스크를 완료하기 위한 미소 조작은, 본 개시에 따라, 용기로부터 밥을 취하는 것, 생선 조각을 집어 드는 것, 밥과 생선을 바람직한 형상으로 단단히 뭉치는 것 및 밥을 감싸도록 생선을 눌러서 스시를 만드는 것을 필요로 할 수도 있다.
도 128은, 기능적 결과(3266)를 획득하기 위해 임의의 순서로 또는 임의의 조합에서 병렬로 발생할 수도 있는 피아노를 연주하기 위한 미소 조작(3361-3365)의 세트를 예시하는 블록도(3360)이다. 피아노를 연주하는 것과 같은 태스크는, 몸체, 팔, 손, 손가락, 다리, 및 발 사이의 협동을 필요로 할 수도 있다. 모든 이들 미소 조작은 개별적으로, 일괄적으로, 순서대로, 직렬로 및/또는 병렬로 수행될 수도 있다.
이 태스크를 완료하기 위해 필요로 되는 미소 조작은, 몸체에 대한 그리고 각각의 손 및 발에 대한 일련의 기술로 분류될 수도 있다. 예를 들면, 연주 테크닉1 내지 연주 테크닉n에 따라 일련의 피아노 키를 성공적으로 눌러 유지하는 일련의 오른손 미소 조작이 존재할 수도 있다. 마찬가지로, 연주 테크닉1 내지 연주 테크닉n에 따라 일련의 피아노 키를 성공적으로 눌러 유지하는 일련의 왼손 미소 조작이 존재할 수도 있다. 또한, 오른쪽 또는 왼쪽 발을 사용하여 피아노 페달을 성공적으로 누르도록 식별되는 일련의 미소 조작이 존재할 수도 있다. 기술 분야에서 숙련된 자에 의해 이해되는 바와 같이, 오른쪽 및 왼쪽 손 및 발에 대한 각각의 미소 조작은, 소망의 기능적 결과, 예를 들면, 피아노 상에서 악곡(musical composition)을 연주하는 것을 산출하기 위해 하위 미소 조작으로 더 분류될 수 있다.
도 129는, 본 개시에 따른, 피아노를 연주하기 위한 미소 조작의 세트로부터 피아노를 연주하기 위해 병렬로 발생하는 미소 조작의 세트의 오른손에 대한 제1 미소 조작(3361) 및 왼손에 대한 제2 미소 조작(3362)을 예시하는 블록도이다. 이 액트에 대한 미소 조작 라이브러리를 생성하기 위해, 각각의 손가락이, 손가락의 키 누름을 시작하고 종료하는 시간이 캡쳐된다. 피아노 키는 발생마다 변하지 않을 것이기 때문에 표준 오브젝트로서 정의될 수도 있다. 추가적으로, 각각의 시간 기간 동안 누르는 테크닉의 수(한 번 키를 누르는 기간, 또는 유지하는 시간)는 특정한 시간 싸이클로서 정의될 수도 있는데, 여기서 시간 싸이클은 동일한 시간 지속기간일 수 있거나 또는 상이한 시간 지속기간일 수 있다.
도 130은, 본 개시에 따른, 피아노를 연주하기 위한 미소 조작의 세트로부터 병렬로 발생하는 미소 조작의 세트의 오른발에 대한 제3 미소 조작(3363) 및 왼발에 대한 제4 미소 조작(3364)을 예시하는 블록도이다. 이 액트에 대한 미소 조작 라이브러리를 생성하기 위해, 각각의 발이, 발의 페달 누름을 시작하고 종료하는 시간이 캡쳐된다. 페달은 표준 오브젝트로서 정의될 수도 있다. 각각의 시간 기간 동안 누르는 테크닉의 수(한 번 키를 누르는 기간, 또는 유지하는 시간)는 특정한 시간 싸이클로서 정의될 수도 있는데, 여기서 시간 싸이클은 각각의 모션에 대해 동일한 시간 지속기간일 수 있거나 또는 상이한 시간 지속기간일 수 있다.
도 131은, 피아노를 연주하기 위해 필요로 될 수도 있는 제5 미소 조작(3365)을 예시하는 블록도이다. 도 131에서 예시되는 미소 조작은, 본 개시에 따른, 피아노를 연주하기 위한 미소 조작의 세트로부터의 하나 이상의 다른 미소 조작과 병렬로 발생할 수도 있는 몸체 움직임에 관련된다. 예를 들면, 몸체의 초기 시작 및 종료 포지션이 캡쳐될 수도 있고 뿐만 아니라 중간 포지션이 주기적 간격으로 캡쳐될 수도 있다.
도 132는, 본 개시에 따른, 임의의 순서로 또는 임의의 조합에서 병렬로 발생할 수 있는 휴머노이드가 걷기 위한 걷기 미소 조작(3370)의 세트를 예시하는 블록도이다. 알 수 있는 바와 같이, 도 132에서 예시되는 미소 조작은 다수의 구획으로 분할될 수도 있다. 구획 3371의 스트라이드, 3372의 스쿼시, 구획 3373의 패싱, 구획 3374의 스트레치 및 구획 3375의 다른 다리를 이용한 스트라이드. 각각의 구획은, 평탄하지 않은 바닥, 또는 계단, 또는 램프(ramp) 또는 경사면을 걷고 있을 때, 휴머노이드가 넘어지지 않는 기능적 결과로 나타나는 개별 미소 조작이다. 개별 구획 또는 미소 조작의 각각은, 구획 동안 다리 및 발의 개별 부분이 어떻게 움직이는지에 의해 설명될 수도 있다. 이들 개별 미소 조작은 휴머노이드로 캡쳐, 프로그래밍, 또는 교수될 수도 있고 각각은 특정한 환경에 기초하여 최적화될 수도 있다. 실시형태에서, 미소 조작 라이브러리는 크리에이터를 모니터링하는 것으로부터 캡쳐된다. 다른 실시형태에서, 미소 조작은 일련의 커맨드로부터 생성된다.
도 133은, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 및 왼쪽 다리를 사용한 스트라이드(3371) 자세의 제1 미소 조작을 예시하는 블록도이다. 알 수 있는 바와 같이, 왼쪽 및 오른쪽 다리, 무릎, 및 발은 XYZ 초기 목표 포지션에서 정렬된다. 포지션은, 발과 지면(ground) 사이에서의 지면까지의 거리, 지면에 대한 무릎의 각도 및 보행 기술 및 임의의 잠재적인 방해물에 의존하는 다리의 전체 높이에 기초할 수도 있다. 이들 초기 시작 파라미터는, 미소 조작의 시작에서, 오른쪽 및 왼쪽 둘 다의 다리, 무릎, 및 발에 대해 기록 또는 캡쳐된다. 미소 조작이 생성되고 미소 조작(3371)에 대한 스트라이드를 완료하기 위한 모든 중간 포지션이 캡쳐된다. 미소 조작을 완료하기 위해 필요로 되는 완전한 데이터를 보장하기 위해서는, 추가적인 정보, 예컨대 몸체 포지션, 중력 중심, 및 관절 벡터가 캡쳐되도록 요구될 수도 있다.
도 134는, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 및 왼쪽 다리를 사용한 스쿼시(3372) 자세의 제2 미소 조작을 예시하는 블록도이다. 알 수 있는 바와 같이, 왼쪽 및 오른쪽 다리, 무릎, 및 발은 XYZ 초기 목표 포지션에서 정렬된다. 포지션은, 발과 지면(ground) 사이에서의 지면까지의 거리, 지면에 대한 무릎의 각도 및 보행 기술 및 임의의 잠재적인 방해물에 의존하는 다리의 전체 높이에 기초할 수도 있다. 이들 초기 시작 파라미터는, 미소 조작의 시작에서, 오른쪽 및 왼쪽 둘 다의 다리, 무릎, 및 발에 대해 기록 또는 캡쳐된다. 미소 조작이 생성되고 미소 조작(3372)에 대한 스쿼시를 완료하기 위한 모든 중간 포지션이 캡쳐된다. 미소 조작을 완료하기 위해 필요로 되는 완전한 데이터를 보장하기 위해서는, 추가적인 정보, 예컨대 몸체 포지션, 중력 중심, 및 관절 벡터가 캡쳐되도록 요구될 수도 있다.
도 135는, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 및 왼쪽 다리를 사용한 패싱(3373) 자세의 제3 미소 조작을 예시하는 블록도이다. 알 수 있는 바와 같이, 왼쪽 및 오른쪽 다리, 무릎, 및 발은 XYZ 초기 목표 포지션에서 정렬된다. 포지션은, 발과 지면(ground) 사이에서의 지면까지의 거리, 지면에 대한 무릎의 각도 및 보행 기술 및 임의의 잠재적인 방해물에 의존하는 다리의 전체 높이에 기초할 수도 있다. 이들 초기 시작 파라미터는, 미소 조작의 시작에서, 오른쪽 및 왼쪽 다리, 무릎, 및 발에 대해 기록 또는 캡쳐된다. 미소 조작이 생성되고 미소 조작(3373)에 대한 패싱을 완료하기 위한 모든 중간 포지션이 캡쳐된다. 미소 조작을 완료하기 위해 필요로 되는 완전한 데이터를 보장하기 위해서는, 추가적인 정보, 예컨대 몸체 포지션, 중력 중심, 및 관절 벡터가 캡쳐되도록 요구될 수도 있다.
도 136은, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 및 왼쪽 다리를 사용한 스트레치 자세(3374)의 제4 미소 조작을 예시하는 블록도이다. 알 수 있는 바와 같이, 왼쪽 및 오른쪽 다리, 무릎, 및 발은 XYZ 초기 목표 포지션에서 정렬된다. 포지션은, 발과 지면(ground) 사이에서의 지면까지의 거리, 지면에 대한 무릎의 각도 및 보행 기술 및 임의의 잠재적인 방해물에 의존하는 다리의 전체 높이에 기초할 수도 있다. 이들 초기 시작 파라미터는, 미소 조작의 시작에서, 오른쪽 및 왼쪽 둘 다의 다리, 무릎, 및 발에 대해 기록 또는 캡쳐된다. 미소 조작이 생성되고 미소 조작(3374)에 대한 스트레치를 완료하기 위한 모든 중간 포지션이 캡쳐된다. 미소 조작을 완료하기 위해 필요로 되는 완전한 데이터를 보장하기 위해서는, 추가적인 정보, 예컨대 몸체 포지션, 중력 중심, 및 관절 벡터가 캡쳐되도록 요구될 수도 있다.
도 137은, 본 개시에 따른, 휴머노이드가 걷기 위한 미소 조작의 세트에서의 오른쪽 및 왼쪽 다리를 사용한 (다른 다리에 대한) 스트라이드(3375) 자세의 제5 미소 조작을 예시하는 블록도이다. 알 수 있는 바와 같이, 왼쪽 및 오른쪽 다리, 무릎, 및 발은 XYZ 초기 목표 포지션에서 정렬된다. 포지션은, 발과 지면(ground) 사이에서의 지면까지의 거리, 지면에 대한 무릎의 각도 및 보행 기술 및 임의의 잠재적인 방해물에 의존하는 다리의 전체 높이에 기초할 수도 있다. 이들 초기 시작 파라미터는, 미소 조작의 시작에서, 오른쪽 및 왼쪽 둘 다의 다리, 무릎, 및 발에 대해 기록 또는 캡쳐된다. 미소 조작이 생성되고 미소 조작(3375)에 대한 다른 다리에 발에 대한 스트라이드를 완료하기 위한 모든 중간 포지션이 캡쳐된다. 미소 조작을 완료하기 위해 필요로 되는 완전한 데이터를 보장하기 위해서는, 추가적인 정보, 예컨대 몸체 포지션, 중력 중심, 및 관절 벡터가 캡쳐되도록 요구될 수도 있다.
도 138은, 본 개시에 따른, 삼차원 비전 시스템을 갖는 로봇 간호 모듈(3381)을 예시하는 블록도이다. 로봇 간호 모듈(3381)은 임의의 치수 및 사이즈일 수도 있고 단일의 환자, 다수의 환자, 중환자 관리(critical care)를 필요로 하는 환자, 또는 간단한 지원을 필요로 하는 환자에 대해 설계될 수도 있다. 간호 모듈(3381)은 간호 시설(nursing facility)에 통합될 수도 있거나 또는 지원된 생활 환경, 또는 홈 환경에 설치될 수도 있다. 간호 모듈(3381)은, 삼차원(three-dimensional; 3D) 비전 시스템, 의료 모니터링 디바이스, 컴퓨터, 의료 액세서리, 약 분배기 또는 임의의 다른 의료 또는 모니터링 기기를 포함할 수도 있다. 간호 모듈(3381)은, 임의의 다른 의료 기기, 모니터링 기기 로봇 제어 기기에 대한 다른 기기 및 스토리지(3382)를 포함할 수도 있다. 간호 모듈(3381)은 로봇 팔, 및 손의 하나 이상의 세트를 수용할 수도 있거나, 또는 로봇 휴머노이드를 포함할 수도 있다. 로봇 팔은 간호 모듈(3381)의 상부에 있는 레일 시스템에 장착될 수도 있거나 또는 벽, 또는 바닥에 장착될 수도 있다. 간호 모듈(3381)은, 3D 비전 시스템(3383) 또는 모듈 내의 환자 및/또는 로봇 움직임을 추적 및 모니터링할 수도 있는 임의의 다른 센서 시스템을 포함할 수도 있다.
도 139는, 본 개시에 따른, 표준화된 캐비넷(3391)을 갖는 로봇 간호 모듈(3381)을 예시하는 블록도이다. 도 138에서 도시되는 바와 같이, 간호 모듈(3381)은 3D 비전 시스템(3383)을 포함하고, 다른 표준화된 랩(lab) 또는 응급 준비 카트에 의해 대체될 수 있는, 컴퓨터, 및/또는 내장형 이미징 기기를 갖는 이동식 의료 카트를 보관하기 위한 캐비넷(3391)을 더 포함할 수도 있다. 캐비넷(3391)은, 로봇 사용을 위해 표준화된 다른 의료 기기, 예컨대 휠체어, 보행기(walker), 목발, 등등을 수용 및 보관하기 위해 사용될 수도 있다. 간호 모듈(3381)은, 헤드보드 콘솔(headboard console)(3392)과 같은 기기 콘솔을 갖는 다양한 사이즈의 표준화된 베드를 수용할 수도 있다. 헤드보드 콘솔(3392)은, 의료 가스 배출구, 직접, 간접, 야간 조명, 스위치, 전기 소켓, 접지 잭, 간호사 호출 버튼, 석션 기기, 등등을 포함하지만 그러나 이들로 제한되지는 않는 표준 병실에서 발견되는 임의의 액세서리를 포함할 수도 있다.
도 140은, 본 개시에 따른, 하나 이상의 표준화된 스토리지(3402), 표준화된 스크린(3403), 및 표준화된 옷장(3404)을 갖는 로봇 간호 모듈(3381)의 배면도(back view)를 예시하는 블록도이다. 또한, 도 139는, 수동 모드에 있는 경우의 로봇 팔/손에 대한 보관/충전 독 및 로봇 팔/손 이동을 위한 레일 시스템(3401)을 묘사한다. 레일 시스템(3401)은 전후 좌우의 임의의 방향의 수평 움직임을 허용할 수도 있다. 그것은 임의의 타입의 레일 또는 트랙일 수도 있고 하나 이상의 로봇 팔 및 손을 수용할 수도 있다. 레일 시스템(3401)은 전력 및 제어 신호를 통합할 수도 있고 설치된 로봇 팔을 제어 및 또는 조작하기 위해 필요한 배선 및 다른 제어 케이블을 포함할 수도 있다. 표준화된 스토리지(3402)는 임의의 사이즈일 수도 있고 모듈(3381) 내의 임의의 표준화된 포지션에 위치될 수도 있다. 표준화된 스토리지(3402)는, 의약품, 의료 기기, 및 액세서리에 대해 사용될 수도 있거나 또는 다른 환자 아이템 및/또는 기기에 대해 사용될 수도 있다. 표준화된 스크린(3403)은 단일의 또는 다수의 다목적 스크린일 수도 있다. 그것은, 인터넷 사용, 기기 모니터링, 엔터테인먼트, 화상 회의, 등등을 위해 활용될 수도 있다. 간호 모듈(3381) 내에 설치된 하나 이상의 스크린(3403)이 존재할 수도 있다. 표준화된 옷장(3404)은 환자 개인의 소지품을 수용하기 위해 사용될 수도 있거나 또는 의료 또는 다른 응급 기기를 보관하기 위해 사용될 수도 있다. 옵션적인 모듈(3405)이 표준화된 간호 모듈(3381)에 커플링될 수도 있거나 또는 다르게는 표준화된 간호 모듈(3381)과 병치될 수도 있으며, 로봇식 또는 수동식 욕실 모듈(bathroom module), 키친 모듈, 입욕 모듈(bathing module) 또는 표준 간호 스위트(3381) 내에서 환자를 치료하거나 수용하기 위해 필요로 될 수도 있는 임의의 다른 구성의 모듈을 포함할 수도 있다. 레일 시스템(3401)은 모듈 사이에서 연결될 수도 있거나 또는 분리될 수도 있고 하나 이상의 로봇 팔이 모듈 사이를 횡단하고 및/또는 이동하는 것을 허용할 수도 있다.
도 141은, 본 개시에 따른, 한 쌍의 로봇 팔(3412) 및 한 쌍의 로봇 손(3413)을 갖는 망원경 리프트 또는 몸체(3411)를 갖는 로봇 간호 모듈(3381)을 예시하는 블록도이다. 로봇 팔(3412)은, 로봇 팔(3412) 및 손(3413)을 이동시키는 방식으로서, 수직으로(상하로) 그리고 수평으로(좌우로) 움직이는 망원경 리프트(3411)를 갖는 어깨(3414)에 부착된다. 망원경 리프트(3411)는 더 짧은 튜브 또는 더 긴 튜브 또는 로봇 팔 및 손의 길이를 연장시키기 위한 임의의 다른 레일 시스템으로서 이동될 수 있다. 팔(1402) 및 어깨(3414)는, 간호 스위트(3381) 내의 임의의 포지션 사이에서 레일 시스템(3401)을 따라 이동할 수 있다. 로봇 팔(3412), 손(3413)은, 간호 스위트(3381) 내의 임의의 지점에 액세스하기 위해 레일(3401) 및 리프트 시스템(3411)을 따라 이동할 수도 있다. 이 방식에서, 로봇 팔 및 손은, 침대, 캐비넷, 치료용 의료 카트 또는 휠체어에 액세스할 수 있다. 로봇 팔(3412) 및 손(3413)은 리프트(3411) 및 레일(3401)과 연계하여 앉아 있거나 또는 서있는 자세를 취하도록 환자를 안아 올리는 것을 도울 수도 있거나 또는 환자를 휠체어 또는 다른 의료 장치에 배치하는 것을 보조할 수도 있다.
도 142는, 본 개시에 따른, 나이 든 사람을 돕기 위한 다양한 움직임을 갖는 로봇 간호 모듈을 실행하는 제1 예를 예시하는 블록도이다. 단계 (a)는 미리 결정된 시간에 발생할 수도 있거나 또는 환자에 의해 개시될 수도 있다. 로봇 팔(3412) 및 로봇 손(3413)은, 지정된 표준화된 위치(예를 들면, 보관 위치(3402))로부터 의약품 또는 다른 테스트 기기를 가져온다. 단계 (b) 동안, 로봇 팔(3412), 손(3413), 및 어깨(3414)는 레일 시스템(3401)을 통해 침대로 그리고 더 저 레벨로 이동하고 침대의 환자와 마주보도록 회전할 수도 있다. 단계 (c)에서, 로봇 팔(3412) 및 손(3413)은 의약품을 환자에 주는 프로그래밍된/필요로 되는 미소 조작을 수행한다. 환자가 움직일 수도 있고 표준화되지 않기 때문에, 성공적인 결과를 보장하기 위해, 환자, 표준/비표준 오브젝트 포지션, 방위에 기초한 3D 실시간 조정이 활용될 수도 있다. 이 방식에서, 실시간 3D 비주얼 시스템은, 다른 표준화된 미소 조작에 대한 조정을 허용한다.
도 143은, 본 개시에 따른, 휠체어를 넣고 꺼내는 로봇 간호 모듈을 실행하는 제2 예를 예시하는 블록도이다. 포지션 (a)에서, 로봇 팔(3412) 및 손(3413)은, 성공적인 결과를 보장하기 위해 환자, 표준/비표준 오브젝트 포지션, 방위에 기초한 3D 실시간 조정을 행하면서, 휠체어와 같은 표준 오브젝트로부터 노인/환자를 이동시키고 안아 올리는, 그리고 그들을 다른 표준 오브젝트에 배치하는, 예컨대 그들을 침대에 눕히는 미소 조작을 수행한다. 단계 (b) 동안, 로봇 팔/손/어깨는, 환자가 벗어난 후, 회전하여 휠체어를 다시 보관 캐비넷으로 이동시킬 수도 있다. 추가적으로 및/또는 대안적으로, 이 때, 하나 보다 많은 세트의 팔/손이 더 존재하면, 단계 (a)가 완료되고 있는 동안, 단계 (b)는 하나의 세트에 의해 수행될 수도 있다. 캐비넷. 단계 (c) 동안, 로봇 팔/손은 캐비넷 문(표준 오브젝트)을 열고, 휠체어를 안으로 다시 밀어 넣고 문을 닫는다.
도 144는, 사람 A(3502)와 사람 B(3504) 사이에서 퍼실리테이터로서 기능하는 휴머노이드 로봇(3500)을 묘사한다. 이 실시형태에서, 휴머노이드 로봇은, 동일한 위치에 있지 않은 사람 사이에서 실시간 통신 퍼실리테이터로서 작용한다. 실시형태에서, 사람 A(3502) 및 사람 B(3504)는 서로 떨어져 위치될 수도 있다. 그들은 오피스 빌딩 또는 병원과 같은 동일한 건물 내의 다른 방에 위치될 수도 있거나, 또는 다른 나라에 위치될 수도 있다. 사람 A(3502)는 휴머노이드 로봇(도시되지 않음)과 동일한 위치에 있을 수도 있거나 또는 혼자일 수도 있다. 사람 B(3504)도 또한 로봇(3500)과 동일한 위치에 있을 수도 있다. 사람 A(3502)와 사람 B(3504) 사이의 통신 동안, 휴머노이드 로봇(3500)은 사람 A(3502)의 움직임 및 거동을 흉내낼 수도 있다. 사람 A(3502)는, 사람 A(3502)의 모션을 휴머노이드 로봇(3500)의 모션으로 변환하는 센서를 포함하는 의류 또는 수트를 착용하고 있을 수도 있다. 예를 들면, 한 실시형태에서, 사람 A는, 손, 토르소, 헤드, 다리, 팔 및 발 움직임을 검출하는 센서를 갖춘 수트를 입을 수 있다. 사람 B(3504)가 원격 위치에 있는 방에 들어가면, 사람 A(3502)는 착석 자세로부터 일어나서 사람 B(3504)와 악수하기 위해 손을 내밀 수도 있다. 사람 A(3502)의 움직임은 센서에 의해 캡쳐되고 정보는 유선 또는 무선 연결을 통해 인터넷과 같은 광역 네트워크에 커플링된 시스템으로 전달될 수도 있다. 그 다음, 그 센서 데이터는 실시간으로 또는 거의 실시간으로 유선 또는 무선 연결을 통해 로봇(3500)으로, 사람 A(3500)에 대한 그것의 물리적 위치에 무관하게, 전달될 수도 있고, 로봇(3500)은, 수신된 센서 데이터에 기초하여, 사람 B(3504)의 존재 상태에서 사람 A(3502)의 움직임을 흉내낼 것이다. 한 실시형태에서, 사람 A(3502) 및 사람 B(3504)는 휴머노이드 로봇(3500)을 통해 악수할 수 있다. 이 방식에서, 사람 B(3504)는, 휴머노이드 로봇(3500)의 손의 로봇 손을 통해 사람 A의 손의 동일한 그립 위치 결정, 및 정렬을 느낄 수 있다. 기술 분야에서 숙련된 자가 알 수 있는 바와 같이, 휴머노이드 로봇(3500)은 악수하는 것으로 제한되지 않으며 그의 시력, 청력, 스피치 또는 다른 모션에 대해 사용될 수도 있다. 그것은, 사람 A(3502)가 사람 B(3504)와 함께 방에 있었다면 사람 A가 달성할 임의의 방식으로 사람 B(3504)를 지원할 수도 있다. 하나의 실시형태에서, 휴머노이드 로봇(3500)은 미소 조작에 의해 사람 A(3502)의 움직임을 흉내내어, 사람 B는 사람 A(3502)의 감각을 느끼게 된다.
도 145는, 사람 A(3502)의 직접적인 제어 하에 있는 동안 사람 B(3504)에 대한 치료사(3508)로서 기능하는 휴머노이드 로봇(3500)을 묘사한다. 이 실시형태에서, 휴머노이드 로봇(3500)은, 사람 A의 실제 실시간의 또는 캡쳐된 움직임에 기초하여 사람 B에 대한 치료사로서 작용한다. 한 실시형태에서, 사람 A(3502)는 치료사일 수도 있고 사람 B(3504)는 환자일 수도 있다. 한 실시형태에서, 사람 A는, 센서 수트를 입고 있는 동안 사람 B에 대한 치료 세션을 수행한다. 치료 세션은 센서를 통해 캡쳐될 수도 있고 휴머노이드 로봇(3500)에 의해 나중에 사용될 미소 조작 라이브러리로 변환될 수도 있다. 대안적인 실시형태에서, 사람 A(3502) 및 사람 B(3504)는 서로 떨어져 위치될 수도 있다. 사람 A, 즉 치료사는 센서 수트를 입고 있는 동안 대역 환자 또는 해부학적으로 정확한 휴머노이드 인물에 대한 치료를 수행할 수도 있다. 사람 A(3502)의 움직임은 센서에 의해 캡쳐될 수도 있고 기록 및 네트워크 기기(3506)를 통해 휴머노이드 로봇(3500)으로 전송될 수도 있다. 그 다음, 이들 캡쳐되고 기록된 움직임은, 사람 B(3504)에게 적용하도록 휴머노이드 로봇(3500)으로 전달된다. 이 방식에서, 사람 B는, 사람 A에 의해 또는 사람 A(3502)로부터 실시간으로 원격으로 수행된 미리 기록된 치료 세션에 기초하여 휴머노이드 로봇(3500)으로부터 치료를 받을 수도 있다. 사람 B는, 휴머노이드 로봇(3500)의 손을 통해 사람 A(3502)(치료사)의 손의 동일한 감각(예를 들면, 소프트 그립의 강한 그립)을 느낄 것이다. 치료는 상이한 시간/날짜에(예를 들면, 이틀마다) 동일한 환자에 대해 또는 각자 그의/그녀의 미리 기록된 프로그램 파일을 갖는 상이한 환자(사람 C, 사람 D)에게 수행되도록 스케줄링될 수도 있다. 하나의 실시형태에서, 휴머노이드 로봇(3500)은, 치료 세션을 대체하기 위해 사람 B(3504)에 대한 미소 조작에 의해 사람 A(3502)의 움직임을 흉내낸다.
도 146은, 팔을 움직이는 데 풀 토크가 필요로 되는 로봇 손 및 팔에 대한 모터의 배치에서의 제1 실시형태를 예시하는 블록도이고, 한편 도 147은, 팔을 움직이는 데 감소된 토크가 필요로 되는 로봇 손 및 팔에 대한 모터의 배치에서의 제2 실시형태를 예시하는 블록도이다. 로봇 설계에서의 도전 과제는, 특히, 움직이기 위해 최대 힘을 필요로 하고 전체 시스템에 대해 최대 토크를 생성하는 로봇 매니퓰레이터(manipulator)(로봇 팔)의 말단에서의 질량과 그에 따라 무게를 감소시키는 것이다. 전기 모터는 매니퓰레이터의 말단에서의 무게에 대한 큰 기여자이다. 신규의 더 경량의 강력한 모터의 개시 및 설계는, 문제점을 다소 해결하는 하나의 방식이다. 다른 방식, 즉 현재 모터 기술을 고려한 바람직한 방식은, 모터가 말단으로부터 가능한 한 멀리 떨어지지만, 그러나 여전히 이동 에너지를 말단의 매니퓰레이터에게 전달하도록, 모터의 배치를 변경하는 것이다.
하나의 실시형태는, 로봇 손(72)의 포지션을 제어하는 모터(3510)를, 일반적으로 손에 근접하여 배치될 손목에 배치하는 것이 아니라, 오히려 로봇 팔(70)에서 더 위에, 바람직하게는 팔꿈치(3212) 바로 아래에 배치할 것을 요구한다. 그 실시형태에서, 팔꿈치(3212)에 더 가까운 모터 배치의 이점은, 손의 무게에 의해 야기되는 손(72)에 대한 원래의 토크로 시작하여, 다음과 같이 계산될 수 있다.
Figure pat00028
여기서 무게 wi = gmi(중력 상수 g 곱하기 오브젝트 i의 질량)이고, 수직 각도 세타에 대한 수평 거리
Figure pat00029
이다. 그러나, 모터가 가까이(관절로부터 엡실론 거리) 배치되면, 신규 토크는 다음과 같다:
Figure pat00030
모터(3510)가 팔꿈치 관절(3212) 바로 옆에 있기 때문에, 로봇 팔은 토크에 엡실론 거리만큼만 기여하고 신규 시스템에서의 토크는, 손이 운반할 수도 있는 모든 것을 포함하여, 손의 무게에 의해 지배된다. 이 신규 구성의 이점은, 손이 동일한 모터를 가지고 더 큰 무게를 들어 올릴 수도 있다는 것인데, 모터 그 자체가 토크에 거의 기여하지 않기 때문이다.
기술 분야의 숙련된 자는, 본 개시의 이 양태의 이점을 알 수 있을 것이고, 또한, 모터에 의해 손으로 가해지는 힘을 전달하기 위해 사용되는 디바이스 - 이러한 디바이스는 작은 액슬의 세트일 수 있음 - 의 무게를 고려하기 위해 작은 보정 인자가 필요로 된다는 것을 깨달을 것이다. 그러므로, 이 작은 보정 인자를 갖는 전체 신규 토크는 다음이 될 것인데:
Figure pat00031
여기서, 액슬의 무게는 1/2 토크를 가하는데, 그것의 중력 중심이 손과 팔꿈치 사이의 중간에 있기 때문이다. 통상적으로, 액슬의 무게는 모터의 무게보다 훨씬 더 적다.
도 148a는, 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔을 예시하는 도해적 도면이다. 알 수 있는 바와 같이, 로봇 팔은 오버헤드 트랙을 따라 임의의 방향으로 횡단할 수도 있고, 필요로 되는 미소 조작을 수행하기 위해 상승 및 하강될 수도 있다.
도 148b는, 로봇식 키친에서 사용하기 위한, 마운트로부터 연장하는 로봇 팔을 예시하는 위에서 본 도해적 도면이다. 도 148a 및 도 148b에서 알 수 있는 바와 같이, 기기의 배치는 표준화될 수도 있다. 구체적으로는, 이 실시형태에서, 오븐(1316), 쿡탑(3520), 싱크(1308), 및 식기세척기(356)는, 로봇 팔 및 손이 표준화된 키친 내에서 그들의 정확한 위치를 알도록 위치된다.
도 149a는, 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔을 예시하는 도해적 도면이다. 도 149b는, 도 149a에서 묘사되는 실시형태의 평면도이다. 도 149a 및 도 149b는, 도 148a 및 도 148b에서 묘사되는 필수적인 키친 레이아웃의 대안적인 실시형태를 묘사한다. 이 실시형태에서, "리프트 오븐(lift oven)"(1491)이 사용된다. 이것은 조리대 상에서 그리고 표준화된 오브젝트를 걸 주변 표면 상에서 더 많은 공간을 허용한다. 그것은 도 149a 및 도 149b에서 묘사되는 키친 모듈과 동일한 치수를 가질 수도 있다.
도 150a는, 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔을 예시하는 도해적 도면이다. 도 150b는, 도 150a에서 묘사되는 실시형태의 평면도이다. 이 실시형태에서는, 도 147a와 도 147b 및 도 148a와 도 148b에서 묘사되는 그러나 리프트 오븐(3522)이 설치된 키친 모듈과 동일한 외부 치수가 유지된다. 추가적으로, 이 실시형태에서는, 추가적인 "슬라이딩 스토리지"(3524 및 3526)가 양측에 설치된다. 이들 "슬라이딩 스토리지"(3524 및 3526) 중 하나에, 커스터마이징된 냉장고(도시되지 않음)가 설치될 수 있다.
도 151a는, 로봇식 키친에서 사용하기 위한, 오버헤드 마운트로부터 연장하는 로봇 팔을 예시하는 도해적 도면이다. 도 151b는, 로봇식 키친에서 사용하기 위한, 마운트로부터 연장하는 로봇 팔을 예시하는 위에서 본 도해적 도면이다. 한 실시형태에서, 슬라이딩 스토리지 구획(compartment)은 키친 모듈에 포함될 수도 있다. 도 151a 및 도 151b에서 예시되는 바와 같이, "슬라이딩 스토리지"(3524)는 키친 모듈의 양측에 설치될 수도 있다. 이 실시형태에서, 전체 치수는 도 148 내지 도 150에서 묘사되는 것들과 동일하게 유지된다. 한 실시형태에서, 커스터마이징된 냉장고가 이들 "슬라이딩 스토리지"(3524) 중 하나에 설치될 수도 있다. 기술 분야의 숙련된 자가 알 수 있는 바와 같이, 임의의 표준화된 로봇식 모듈에 대해 구현될 수도 있는 많은 레이아웃 및 많은 실시형태가 존재한다. 이들 변형예는 키친, 또는 환자 케어 시설(patient care facilities)에 제한되는 것이 아니라, 본 개시의 취지를 벗어나지 않으면서, 건설, 제조, 조립, 식품 생산, 등등에 대해 또한 사용될 수도 있다.
도 152 내지 도 161은, 본 개시에 따른, 로봇 그립 옵션의 다양한 실시형태의 도해적 도면이다. 도 162a 내지 도 162s는, 로봇 손에 적합한 표준화된 핸들을 갖는 다양한 쿡웨어 유텐실을 예시하는 도해적 도면이다. 한 실시형태에서, 키친 핸들(580)은 로봇 손(72)과 함께 사용되도록 설계된다. 로봇 손이 표준화된 핸들을 매번 동일한 포지션에서 움켜잡는 것을 허용하기 위해 그리고 미끄러짐을 최소화하고 움켜잡기를 향상시키기 위해, 하나 이상의 리지(ridge)(580-1)가 배치된다. 키친 핸들(580)의 설계는, 동일한 핸들(580)이 임의의 타입의 키친 유텐실 또는 다른 타입의 툴, 예를 들면, 칼, 의료 테스트 프로브, 스크류드라이버, 자루걸레, 또는 로봇 손이 움켜잡도록 요구받을 수도 있는 다른 부착부에 부착될 수 있도록, 범용적이도록(또는 표준화되도록) 의도된다. 본 개시의 취지를 벗어나지 않으면서, 다른 타입의 표준화된(또는 범용의) 핸들이 설계될 수도 있다.
도 163은, 로봇식 키친에서 사용하기 위한 블렌더 부분의 도해적 도면이다. 기술 분야의 숙련된 자가 알 수 있는 바와 같이, 임의의 수의 태스크를 수행하기 위한 로봇 손 및 팔에 의한 사용 및 제어를 위해 임의의 수의 툴, 기기 또는 어플라이언스가 표준화될 수도 있고 설계될 수도 있다. 일단 기기의 임의의 툴 또는 일부의 동작을 위한 미소 조작이 생성되면, 로봇 손 또는 팔은 그 기기를 균일하고 신뢰가능한 방식으로 반복적으로 그리고 일관되게 사용할 수도 있다.
도 164a 내지 도 164c는, 로봇식 키친에서 사용하기 위한 다양한 키친 홀더를 예시하는 도해적 도면이다. 이들 중 임의의 하나 또는 전체는 표준화될 수도 있고 다른 환경에서의 사용을 위해 적응될 수도 있다. 알 수 있는 바와 같이, 의료 기기, 예컨대 테이프 디스펜서, 플라스크, 병, 표본 항아리(specimen jar), 붕대 용기, 등등은 로봇 팔 및 손과 함께 사용하도록 설계 및 구현될 수도 있다. 도 165a 내지 도 165v는 조작의 예를 예시하는 블록도이지만 본 개시를 제한하지는 않는다.
본 개시의 하나의 실시형태는, 다음의 특징 또는 컴포넌트를 포함하는 범용의 인조인간 타입의 로봇 디바이스를 예시한다. 로봇 소프트웨어 엔진, 예컨대 로봇식 음식 준비 엔진(56)은, 기구화된 또는 표준화된 환경에서 임의의 타입의 인간 손 움직임 및 제품을 복제하도록 구성된다. 로봇 복제로부터 결과적으로 나타나는 제품은, (1) 물리적인 것, 예컨대 음식, 그림, 예술 작품, 등등, 및 (2) 비물리적인 것, 예컨대 로봇 장치가 악기로 음악 작품을 연주하는 것, 건강 관리 지원 프로시져, 등등일 수 있다.
범용의 인조인간 타입(또는 다른 소프트웨어 운영 시스템) 로봇 디바이스에서의 여러 가지 중요한 엘리먼트는 다음의 것 또는 다른 특징과 조합한 다음의 것 중 전체 또는 일부를 포함할 수도 있다. 첫째, 로봇 동작 또는 기구화된 환경은, 크리에이터 및 로봇 스튜디오에 대한 표준화된(또는 "표준") 동작 볼륨 치수 및 아키텍쳐를 제공하는 로봇 디바이스를 동작시킨다. 둘째, 로봇 동작 환경은 환경 내에서 동작하는 임의의 표준화된 오브젝트(툴, 기기, 디바이스, 등등)에 대한 표준화된 포지션 및 방위(xyz)를 제공한다. 셋째, 표준화된 피쳐는, 표준화된 부수 기기 세트(standardized attendant equipment set), 표준화된 부수 툴 및 디바이스 세트, 두 개의 표준화된 로봇 팔, 및 미소 조작의 하나 이상의 라이브러리에 액세스하는, 기능적 인간 손과 밀접하게 닮은 두 개의 로봇 손, 및 동작 볼륨의 동적인 가상의 삼차원(3D) 비전 모델을 생성하기 위한 표준화된 3D 비전 디바이스로 확장되지만, 그러나 이들에 의해 제한되지는 않는다. 이 데이터는 손 모션 캡쳐 및 기능적 결과 인식을 위해 사용될 수 있다. 넷째, 크리에이터의 정확한 움직임을 캡쳐하기 위해, 센서를 갖는 손 모션 글러브가 제공된다. 다섯째, 로봇 동작 환경은, 각각의 특정한 (크리에이터) 제품 생성 및 복제 프로세스 동안, 표준화된 타입/볼륨/사이즈/무게의 필요로 되는 자재 및 재료를 제공한다. 여섯째, 복제를 위한 프로세스 단계를 캡쳐하고 기록하기 위해, 하나 이상의 타입의 센서가 사용된다.
로봇 동작 환경에서의 소프트웨어 플랫폼은 다음의 서브프로그램을 포함한다. 소프트웨어 엔진(예를 들면, 로봇식 음식 준비 엔진(56))은, 지각 데이터를 제공하는 센서를 갖는 글러브를 인간이 착용하는 생성 프로세스 동안 팔 및 손 모션 스크립트 서브프로그램을 캡쳐 및 기록한다. 하나 이상의 미소 조작 기능 라이브러리 서브프로그램이 생성된다. 동작 또는 기구화된 환경은, 생성 프로세스 동안 인간(또는 로봇)에 의한 손 모션의 타임라인에 기초하여 삼차원의 동적인 가상 볼륨 모델 서브프로그램을 기록한다. 소프트웨어 엔진은, 인간 손에 의한 태스크 생성 동안 라이브러리 서브프로그램으로부터 각각의 기능적 미소 조작을 인식하도록 구성된다. 소프트웨어 엔진은, 로봇 장치에 의한 후속 복제를 위해 인간 손에 의한 각각의 태스크 생성을 위한 관련된 미소 조작 변수(또는 파라미터)를 정의한다. 소프트웨어 엔진은 동작 환경의 센서로부터 센서 데이터를 기록하고, 크리에이터의 손 모션을 복제함에 있어서 로봇 실행의 정확도를 검증하기 위해 품질 검사 프로시져가 구현될 수 있다. 소프트웨어 엔진은, 태스크(또는 제품) 생성 스크립트의 실행을 용이하게 하기 위해 표준화되지 않은 파라미터로부터 표준화된 파라미터로의 변환을 행하는, 임의의 표준화되지 않은 상황(예컨대 오브젝트, 볼륨, 기기, 툴, 또는 치수)에 적응하기 위한 조정 알고리즘 서브프로그램을 포함한다. 소프트웨어 엔진은, 로봇 장치에 의한 후속하는 복제를 위한 소프트웨어 스크립트 파일을 생성하기 위한, 크리에이터의 손 모션의 서브프로그램(또는 서브 소프트웨어 프로그램)(이것은 크리에이터의 지적 재산 제품을 반영한다)을 저장한다. 소프트웨어 엔진은 바람직한 제품을 효율적으로 위치 결정하기 위한 제품 또는 레시피 검색 엔진을 포함한다. 검색의 특정한 요건을 개별화하기 위해, 검색 엔진에 대한 필터가 제공된다. 상업적 판매를 위해 지정된 웹 사이트 상에서 이용가능하게 만들어지는 임의의 IP 스크립트(예를 들면, 소프트웨어 레시피 파일), 식재료, 툴, 및 기기를 교환, 구매, 및 판매하기 위한 전자 상거래 플랫폼이 또한 제공된다. 전자 상거래 플랫폼은 또한, 관심을 갖는 또는 관심을 갖는 지역의 특정한 제품에 관한 정보를 유저가 교환할 소셜 네트워크 페이지를 제공한다.
로봇 장치 복제의 하나의 목적은, 크리에이터의 손을 통한 원래의 크리에이터와 동일한 또는 실질적으로 동일한 제품 결과, 예를 들면, 동일한 음식, 동일한 그림, 동일한 음악, 동일한 필적, 등등을 생성하는 것이다. 동작 또는 기구화된 환경에서의 고도의 표준화는, 크리에이터의 동작 환경과 로봇 장치 동작 환경 사이의 변동을 최소화하면서, 로봇 장치가, 몇몇 추가적인 인자를 고려하여, 크리에이터와 실질적으로 동일한 결과를 생성할 수 있는 프레임워크를 제공한다. 복제 프로세스는 동일한 또는 실질적으로 동일한 타임라인, 바람직하게는 미소 조작의 동일한 시퀀스, 각각의 미소 조작의 동일한 초기 시작 시간, 동일한 시간 지속기간 및 동일한 종료 시간을 가지며, 게다가 로봇 장치는 미소 조작 사이에서 오브젝트를 이동시키는 동일한 속도에서 자율적으로 동작한다. 동일한 태스크 프로그램 또는 모드는, 미소 조작의 기록 및 실행 동안 표준화된 키친 및 표준화된 기기 상에서 사용된다. 임의의 실패한 결과를 최소화하거나 방지하기 위해, 품질 검사 메커니즘, 예컨대 삼차원 비전 및 센서가 사용될 수 있으며, 표준화되지 않은 상황에 응하도록 변수 또는 파라미터에 대한 조정이 이루어질 수 있다. 표준화된 환경 사용의 생략(즉, 동일한 키친 볼륨이 아니고, 동일한 키친 기기가 아니고, 동일한 키친 툴이 아니고, 그리고 크리에이터의 스튜디오와 로봇식 키친 사이에서 동일한 재료가 아님)은, 로봇 장치가 동일한 결과를 획득한다는 희망으로 크리에이터의 모션을 복제하려고 시도할 때 동일한 결과를 획득하지 못하는 위험성을 증가시킨다.
로봇식 키친은 적어도 두 개의 모드, 즉 컴퓨터 모드 및 수동 모드에서 동작할 수 있다. 수동 모드 동안, 키친 기기는 동작 콘솔 상에 버튼을 포함한다(기록 또는 실행 중 어느 하나 동안, 디지털 디스플레이로부터 정보를 인식할 필요가 없거나 또는 임의의 입력 실수를 방지하도록 터치스크린을 통해 임의의 제어 데이터를 입력할 필요가 없다). 터치스크린 동작의 경우에, 로봇식 키친은, 부정확한 동작 선택을 방지하기 위해 스크린의 현재 정보를 인식하기 위한 삼차원 비전 캡쳐 시스템을 제공한다. 소프트웨어 엔진은, 표준화된 키친 환경에서 상이한 키친 기기, 상이한 키친 툴, 및 상이한 키친 디바이스와 함께 동작할 수 있다. 크리에이터의 제한은, 미소 조작을 실행함에 있어서 로봇 장치에 의해 복제할 수 있는 센서 글러브 상에서 손 모션을 생성하는 것이다. 따라서, 하나의 실시형태에서, 로봇 장치에 의해 실행될 수 있는 미소 조작의 라이브러리(또는 라이브러리들)는 크리에이터의 모션 움직임에 대한 기능적 제한으로서 기능한다. 소프트웨어 엔진은, 키친 기기, 키친 툴, 키친 용기, 키친 디바이스, 등등을 비롯한, 삼차원의 표준화된 오브젝트의 전자 라이브러리를 생성한다. 각각의 삼차원의 표준화된 오브젝트의 미리 저장된 치수 및 특성은, 삼차원 모델링을 실시간으로 생성해야 하는 것보다는, 리소스를 보존하고 전자 라이브러리로부터 오브젝트의 삼차원 모델링을 생성하는 시간의 양을 감소시킨다. 하나의 실시형태에서, 범용의 인조인간 타입 로봇 디바이스는 복수의 기능적 결과를 생성하도록 대응할 수 있다. 기능적 결과는, 휴머노이드 걷기, 휴머노이드 달리기, 휴머노이드 점프하기, 휴머노이드(또는 로봇 장치) 악곡 연주, 휴머노이드(또는 로봇 장치) 그림 그리기, 및 휴머노이드(또는 로봇 장치) 요리 하기와 같은 로봇 장치로부터의 미소 조작의 실행으로부터 성공하거나 또는 최적의 결과를 만든다. 미소 조작의 실행은, 순차적으로, 병렬로 발생할 수 있거나, 또는 다음 번 미소 조작의 시작 이전에 하나의 이전 미소 조작이 완료되어야 한다. 휴머노이드로 인간을 더욱 편안하게 만들기 위해, 휴머노이드는 인간과 동일한(또는 실질적으로 동일한) 그리고 주변 인간(들)에게 편안한 속도로 모션을 행할 것이다. 예를 들면, 어떤 사람이 헐리우드 배우 또는 모델이 걷는 방식을 좋아하면, 휴머노이드는, 그 헐리우드 배우(예를 들면, 안젤리나 졸리)의 모션 특성을 나타내는 미소 조작을 가지고 동작할 수 있다. 휴머노이드는 또한, 피부처럼 보이는 커버, 남성 휴머노이드, 여성 휴머노이드, 신체적, 얼굴 특성, 및 신체 모양을 비롯한, 표준화된 인간 타입으로 커스터마이징될 수 있다. 휴머노이드 커버는, 집에서 삼차원 프린팅 기술을 사용하여 생성될 수 있다.
휴머노이드에 대한 하나의 예시적인 동작 환경은 사람의 집이지만; 몇몇 환경은 고정되고, 다른 것은 그렇지 않다. 집의 환경이 더 많이 표준화될 수 있을수록, 휴머노이드를 동작시킴에 있어서 위험성이 줄어든다. 휴머노이드가 책을 가져올 것을 지시받으면(이것은 크리에이터의 지적 재산(intellectual property)/지적 사고(intellectual thinking)(IP)에 관련되지 않음), 휴머노이드는 IP가 없는 기능적 결과를 필요로 하고, 휴머노이드는 미리 정의된 집 환경을 내비게이팅하고 그 책을 가져와 사람에게 그 책을 주는 하나 이상의 미소 조작을 실행할 것이다. 소파와 같은 몇몇 삼차원 오브젝트는, 휴머노이드가 자신의 초기 스캐닝을 행하거나 또는 삼차원 품질 검사를 수행할 때, 표준화된 집 환경에서 이미 생성되어 있다. 휴머노이드는, 휴머노이드가 인식하지 못한 또는 이전에 정의되지 않았던 오브젝트에 대한 삼차원 모델링을 생성하는 것을 필요로 한다.
키친 기기의 샘플 타입이 도 166a 내지 도 166l의 테이블 A로서 예시되는데, 샘플 타입은, 키친 액세서리, 키친 어플라이언스, 키친 타이머, 온도계, 양념 제분기(mills for spices), 계량 유텐실, 보울, 세트류, 슬라이싱 및 컷팅 제품, 칼, 오프너, 스탠드 및 홀더, 껍질 벗기기 및 컷팅용 어플라이언스, 병 뚜껑, 체, 소금 및 후추 쉐이커(shaker), 식기 건조기(dish dryer), 커트러리 액세서리, 데코레이션 및 칵테일, 틀(mold), 계량 용기, 키친 가위, 보관용 유텐실, 냄비집게, 훅이 달린 레일, 실리콘 매트, 강판, 압착기, 러빙 머신(rubbing machine), 칼갈이(knife sharpener), 빵박스, 알콜용 식기(kitchen dishes for alcohol), 테이블웨어, 테이블용 유텐실, 다기(dishes for tea), 커피, 디저트, 커트러리, 키친 어플라이언스, 아이용 식기, 재료 데이터의 리스트, 기기 데이터의 리스트, 및 레시피 데이터의 리스트를 포함한다.
도 167a 내지 도 167v는, 테이블 B에서 재료의 샘플 타입을 예시하는데, 육류, 육류 제품, 양고기, 송아지 고기, 소고기, 돼지고기, 새고기, 생선, 해산물, 야채, 과일, 식료품, 유제품, 계란, 버섯, 치츠, 견과류(nuts), 건과일, 음료, 주류, 푸성귀, 허브, 곡물, 콩류, 곡분, 양념, 시즈닝, 및 즉석 제품류를 포함한다.
음식 준비, 방법, 기기, 및 요리법의 샘플 리스트는, 도 169a 내지 도 169zo의 다양한 샘플 베이스와 함께, 도 168a 내지 도 168z에서 테이블 C로서 예시된다. 도 170a 내지 도 170c는, 테이블 D에서 요리법 및 음식의 샘플 타입을 예시한다. 도 171a 내지 도 171e는 로봇식 음식 준비 시스템의 하나의 실시형태를 예시한다.
도 172a 내지 도 172c는, 로봇 스시 만들기, 로봇 피아노 연주하기, 제1 포지션(A 포지션)으로부터 제2 포지션(B 포지션)으로 이동하는 것에 의해 로봇이 로봇 이동시키기, 제1 포지션으로부터 제2 포지션으로 달리는 것에 의해 로봇이 로봇 이동시키기, 제1 포지션으로부터 제2 포지션으로 점프하기, 책장으로부터 휴머노이드 책 가져오기, 제1 포지션으로부터 제2 포지션으로 휴머노이드 가방 가져오기, 로봇 항아리 열기, 및 고양이가 소비할 음식을 로봇이 보울에 담기에 대한 샘플 미소 조작을 예시한다.
도 173a 내지 도 173l은, 로봇이 측정, 위장 세척, 보충용 산소, 체온 유지, 카테터 삽입, 물리치료, 위생 절차, 급식, 분석용 샘플링, 장루 및 카테터의 케어, 상처 케어, 및 투약 방법을 수행하기 위한 샘플 다중레벨 미소 조작을 예시한다.
도 174는, 로봇이 삽관, 소생술/심폐소생술, 출혈 보충, 지혈, 기관에 대한 응급 처치, 뼈 골절, 및 상처 봉합(봉합사 제거)을 수행하기 위한 샘플 다중레벨 미소 조작을 예시한다. 샘플 의료 기기 및 의료 디바이스의 리스트가 도 175에서 예시된다.
도 176a 내지 도 176b는, 미소 조작을 갖는 샘플 보육 서비스를 예시한다. 다른 샘플 기기 리스트가 도 177에서 예시된다.
도 178은, 본원에서 논의되는 방법론을 수행하는 컴퓨터 실행가능 명령어가 설치되거나 실행될 수 있는, 3624에서 도시되는 바와 같은, 컴퓨터 디바이스의 한 예를 예시하는 블록도이다. 상기에서 언급되는 바와 같이, 본 개시와 연계하여 논의되는 다양한 컴퓨터 기반 디바이스는 유사한 속성을 공유할 수도 있다. 컴퓨터 디바이스 또는 컴퓨터(16)의 각각은, 컴퓨터 디바이스로 하여금 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하게 하는 명령어의 세트를 실행할 수 있다. 컴퓨터 디바이스(16)는, 임의의 또는 전체 서버, 또는 임의의 네트워크 중간 디바이스를 나타낼 수도 있다. 또한, 단일의 머신이 예시되지만, 용어 "머신"은, 본원에서 논의되는 방법론 중 임의의 하나 이상을 수행하는 명령어의 세트(또는 다수의 세트)를 개별적으로 또는 결합하여 실행하는 머신의 임의의 집합체를 포함하는 것으로 또한 간주될 수 있을 것이다. 예시적인 컴퓨터 시스템(3624)은 프로세서(3626)(예를 들면, 중앙 프로세싱 유닛(central processing unit; CPU), 그래픽 프로세싱 유닛(graphics processing unit; GPU), 또는 둘 다), 메인 메모리(3628) 및 정적 메모리(3630)를 포함하는데, 이들은 버스(3632)를 통해 서로 통신한다. 컴퓨터 시스템(3624)은 비디오 디스플레이 유닛(3634)(예를 들면, 액정 디스플레이(liquid crystal display; LCD)를 더 포함할 수도 있다. 컴퓨터 시스템(3624)은 또한, 영숫자 입력 디바이스(3636)(예를 들면, 키보드), 커서 제어 디바이스(3638)(예를 들면, 마우스), 디스크 구동 유닛(3640), 신호 생성 디바이스(3642)(예를 들면, 스피커), 및 네트워크 인터페이스 디바이스(3648)를 포함한다.
디스크 구동 유닛(3640)은, 본원에서 설명되는 방법론 또는 기능 중 임의의 하나 이상을 구체화하는 명령어의 하나 이상의 세트(예를 들면, 소프트웨어(3646))가 저장되는 머신 판독가능 매체(244)를 포함한다. 소프트웨어(3646)는 또한, 완전히 또는 적어도 부분적으로, 메인 메모리(3644) 내에서 및/또는 그 실행 동안 프로세서(3626) 내에서, 컴퓨터 시스템(3624), 메인 메모리(3628), 및 머신 판독가능 매체를 구성하는 프로세서(3626)의 명령어 저장부 내에서 상주할 수도 있다. 소프트웨어(3646)는 또한, 네트워크(3650)를 통해 네트워크 인터페이스 디바이스(3648)를 경유하여 송신되거나 수신될 수도 있다.
머신 판독가능 매체(3644)가 한 예시적인 실시형태에서 단일의 매체인 것으로 도시되지만, 용어 "머신 판독가능 매체"는, 명령어의 하나 이상의 세트를 저장하는 단일의 매체 또는 다수의 매체(예를 들면, 중앙집중형 또는 분산형 데이터베이스, 및/또는 관련 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. 용어 "머신 판독가능 매체"는, 머신에 의한 실행을 위한 명령어의 세트를 저장할 수 있는 그리고 머신으로 하여금 본 개시의 방법론 중 임의의 하나 이상을 수행하게 하는 임의의 유형의(tangible) 매체를 포함하는 것으로 또한 간주될 수 있을 것이다. 상응하여, 용어 "머신 판독가능 매체"는, 솔리드 스테이트 메모리, 및 광학 및 자기 매체를 포함하는 것으로 간주될 수 있을 것이지만, 그러나 이들로 제한되지는 않을 것이다.
일반적으로, 로봇 제어 플랫폼은, 하나 이상의 로봇 센서; 하나 이상의 로봇 액추에이터; 연계된 목 상에, 장착된 센서를 갖는 로봇 헤드, 액추에이터 및 힘 센서를 갖는 두 개의 로봇 팔을 적어도 포함하는 기계적 로봇 구조체; 미리 정의된 기능적 결과를 달성하기 위한 단계 - 각각의 단계는 감지 동작 또는 파라미터화된 액추에이터 동작을 포함함 - 의 시퀀스를 각각 포함하는 미소 조작의, 기계적 로봇 구조체에 통신 가능하게 커플링되는, 전자 라이브러리 데이터베이스; 하나 이상의 도메인 고유의 애플리케이션을 달성하기 위해 복수의 미소 조작을 결합하도록 구성되는, 기계적 로봇 구조체 및 전자 라이브러리 데이터베이스에 통신 가능하게 커플링되는, 로봇 계획 모듈(robotic planning module); 미소 조작 라이브러리로부터 미소 조작 단계를 판독하여 머신 코드로 변환하도록 구성되는, 기계적 로봇 구조체 및 전자 라이브러리 데이터베이스에 통신 가능하게 커플링되는, 로봇 인터프리터 모듈; 및 미소 조작 단계와 관련되는 기능적 결과를 달성하기 위해 로봇 플랫폼에 의해 미소 조작을 실행하도록 구성되는, 기계적 로봇 구조체 및 전자 라이브러리 데이터베이스에 통신 가능하게 커플링되는, 로봇 실행 모듈을 포함한다.
다른 일반화된 양태는, 로봇 명령어를 갖는 로봇 운영 시스템(ROS)에 의해 동작되는 로봇 컴퓨터 컨트롤러를 갖는 휴머노이드를 제공하는데, 휴머노이드는, 복수의 전자 미소 조작 라이브러리 - 각각의 전자 미소 조작 라이브러리는 복수의 미소 조작 엘리먼트를 포함하고, 복수의 전자 미소 조작 라이브러리는 하나 이상의 머신 실행가능 애플리케이션 고유의 명령어 세트를 생성하도록 결합될 수 있고, 전자 미소 조작 라이브러리 내의 복수의 미소 조작 엘리먼트는 하나 이상의 머신 실행가능 애플리케이션 고유의 명령어 세트를 생성하도록 결합될 수 있음 - 를 구비하는 데이터베이스; 연계된 목을 통해 헤드에 연결되는 상체 - 상체는 토르소, 어깨, 팔, 및 손을 포함함 - 및 하체를 구비하는 로봇 구조체; 및 데이터베이스, 지각 시스템(sensory system), 센서 데이터 해석 시스템, 모션 플래너, 및 액추에이터 및 관련된 컨트롤러에 통신가능하게 커플링되는 제어 시스템 - 제어 시스템은 로봇 구조체를 동작시키기 위해 애플리케이션 고유의 명령어 세트를 실행함 - 을 포함한다.
하나 이상의 태스크를 달성하기 위해 하나 이상의 컨트롤러, 하나 이상의 센서, 및 하나 이상의 액추에이터의 사용을 통해 로봇 구조체를 동작시키기 위한 더 일반화된 컴퓨터 구현 방법은, 복수의 전자 미소 조작 라이브러리 - 각각의 전자 미소 조작 라이브러리는 복수의 미소 조작 엘리먼트를 포함하고, 복수의 전자 미소 조작 라이브러리는 하나 이상의 머신 실행가능 태스크 고유의 명령어 세트를 생성하도록 결합될 수 있고, 전자 미소 조작 라이브러리 내의 복수의 미소 조작 엘리먼트는 하나 이상의 머신 실행가능 태스크 고유의 명령어 세트를 생성하도록 결합될 수 있음 - 를 구비하는 데이터베이스를 제공하는 것; 로봇 구조체 - 로봇 구조체는 연계된 목을 통해 헤드에 연결되는 상체를 구비하고, 상체는 토르소, 어깨, 팔 및 손을 포함함 - 로 하여금 지령된(commanded) 태스크를 수행하게 하는 태스크 고유의 명령어 세트를 실행하는 것; 포지션, 속도, 힘, 및 토크에 대한 시간 인덱싱된 고 레벨의 커맨드를 로봇 구조체의 하나 이상의 물리적 부분으로 전송하는 것; 및 로봇 구조체의 하나 이상의 물리적 부분을 제어하기 위한 저 레벨의 커맨드를 생성하기 위해 시간 인덱싱된 고 레벨의 커맨드를 팩토링(factoring)하기 위한 지각 데이터를 하나 이상의 센서로부터 수신하는 것을 포함한다.
로봇의 로봇 태스크를 생성 및 실행하기 위한 다른 일반화된 컴퓨터 구현 방법은, 파라미터적 미소 조작(MM) 데이터 세트와 조합하여 복수의 미소 조작 - 각각의 미소 조작은, 각각의 미소 조작과 관련되는 필요로 되는 상수, 변수 및 시간 시퀀스 프로파일을 정의하는 적어도 하나의 특정한 파라미터적 MM 데이터 세트와 관련됨 - 을 생성하는 것; 복수의 전자 미소 조작 라이브러리 - 복수의 전자 미소 조작 라이브러리는 MM 데이터 세트, MM 커맨드 시퀀스화, 하나 이상의 제어 라이브러리, 하나 이상의 머신 비전 라이브러리, 및 하나 이상의 프로세스간 통신 라이브러리를 구비함 - 를 구비하는 데이터베이스를 생성하는 것; 데이터베이스로부터 복수의 전자 미소 조작 라이브러리를 선택, 그룹화 및 편제하고 그에 의해 태스크 고유의 커맨드 명령어 세트를 생성하는 것에 의해, 특정한 로봇 태스크를 수행하기 위한 고 레벨의 로봇 명령어를 고 레벨의 컨트롤러에 의해 실행하는 것 - 실행 단계는, 태스크 고유의 커맨드 명령어 세트와 관련되는 고 레벨의 커맨드 시퀀스를, 로봇의 각각의 액추에이터에 대한 하나 이상의 개별 머신 실행가능 커맨드 시퀀스로 분해하는 것을 포함함 - ; 및 로봇의 각각의 액추에이터에 대한 개별 머신 실행가능 커맨드 시퀀스 - 개별 머신 실행가능 커맨드 시퀀스는 특정한 로봇 태스크를 수행하도록 로봇 상의 액추에이터를 총괄적으로(collectively) 동작시킴 - 를 실행하기 위한 저 레벨의 로봇 명령어를 저 레벨의 컨트롤러에 의해 실행하는 것을 포함한다.
로봇 장치를 제어하기 위한 일반화된 컴퓨터 구현 방법으로서, 하나 이상의 미소 조작 거동 데이터 - 각각의 미소 조작 거동 데이터는, 하나 이상의 보다 더 복잡한 거동을 구축하기 위한 하나 이상의 기본적인 미소 조작 프리미티브를 포함하고, 각각의 미소 조작 거동 데이터는 상관된 기능적 결과 및 각각의 미소 조작 거동 데이터를 설명하고 제어하기 위한 관련된 캘리브레이션 변수를 구비함 - 를 구성하는 것; 하나 이상의 거동 데이터를 하나 이상의 데이터베이스로부터의 물리적 환경 데이터 - 물리적 환경 데이터는 물리적 시스템 데이터, 로봇 움직임을 달성하기 위한 컨트롤러 데이터, 및 로봇 장치(75)를 모니터링 및 제어하기 위한 지각 데이터를 포함함 - 에 링크하여 링크된 미소 조작 데이터를 생성하는 것; 및 네스트화된 루프의 연속하는 세트에서 하나 이상의 지령된 명령어를 실행하기 위한 커맨드를 로봇 장치로 전송하기 위해, 하나 이상의 데이터베이스로부터의 링크된 미소 조작(고 레벨)을, 각각의 시간 기간(t1 내지 tm) 동안 각각의 액추에이터(A1 내지 An) 컨트롤러에 대한 머신 실행가능(저 레벨) 명령어 코드로 변환하는 것을 포함한다.
이들 양태 중 임의의 것에서, 하기의 것이 고려될 수도 있다. 제품의 준비는 일반적으로 재료를 사용한다. 명령어를 실행하는 것은, 통상적으로, 제품을 준비함에 있어서 사용되는 재료의 속성을 감지하는 것을 포함한다. 제품은 (음식) 레시피(이것은 전자적 설명에 유지될 수도 있다)에 따른 음식일 수도 있고 사람은 요리사일 수도 있다. 작업용 기기는 키친 기기를 포함할 수도 있다. 이들 방법은 본원에서 설명되는 다른 피쳐 중 임의의 하나 이상과 조합하여 사용될 수도 있다. 양태의 피쳐 중 하나, 하나 이상 또는 전체는 결합될 수도 있고, 따라서, 하나의 양태로부터의 피쳐는 예를 들면 다른 양태와 결합될 수도 있다. 각각의 양태는 컴퓨터로 구현될 수도 있고 컴퓨터 또는 프로세서에 의한 동작시 각각의 방법을 수행하도록 구성되는 컴퓨터 프로그램이 제공될 수도 있다. 각각의 컴퓨터 프로그램은 컴퓨터 판독가능 매체 상에 저장될 수도 있다. 추가적으로 또는 대안적으로, 프로그램은 부분적으로 또는 전적으로 하드웨어로 구현될 수도 있다. 양태는 결합될 수도 있다. 또한, 이들 양태 중 임의의 양태에 관해서 설명되는 방법에 따라 동작하도록 구성되는 로봇공학 시스템이 제공될 수도 있다.
다른 양태에서, 로봇공학 시스템이 제공될 수도 있는데, 그 로봇공학 시스템은: 인간 모션을 관찰할 수 있고 제1 기구화된 환경에서 인간 모션 데이터를 생성할 수 있는 멀티모달(multi-modal) 감지 시스템; 및 멀티모달 감지 시스템으로부터 수신되는 인간 모션 데이터를 기록하기 위한 그리고, 바람직하게는, 모션 프리미티브가 로봇공학 시스템의 동작을 정의하도록, 인간 모션 데이터를 프로세싱하여 모션 프리미티브를 추출하기 위한, 멀티모달 감지 시스템에 통신가능하게 커플링되는, 프로세서(이것은 컴퓨터일 수도 있다)를 포함한다. 모션 프리미티브는, 본원에서(예를 들면, 직전의 문단에서) 설명되는 바와 같이, 미소 조작일 수도 있고 표준 포맷을 가질 수도 있다. 모션 프리미티브는, 특정 타입의 액션 및 그 타입의 액션에 대한 파라미터, 예를 들면, 정의된 시작 포인트, 종료 포인트, 힘 및 그립 타입을 갖는 당기는 액션을 정의할 수도 있다. 옵션적으로는, 프로세서 및/또는 멀티모달 감지 시스템에 통신가능하게 커플링되는 로봇공학 장치가 추가로 제공될 수도 있다. 로봇공학 장치는 모션 프리미티브 및/또는 인간 모션 데이터를 사용하여 제2 기구화된 환경에서의 관찰된 인간 모션을 복제할 수도 있다.
다른 양태에서, 로봇공학 시스템이 제공될 수도 있는데, 로봇공학 시스템은: 로봇공학 시스템의 동작을 정의하는 모션 프리미티브 - 모션 프리미티브는 인간 모션으로부터 캡쳐되는 인간 모션 데이터에 기초함 - 를 수신하기 위한 프로세서(이것은 컴퓨터일 수도 있음); 및 모션 프리미티브를 사용하여 기구화된 환경에서 인간 모션을 복제할 수 있는, 프로세서에 통신가능하게 커플링되는, 로봇공학 시스템을 포함한다. 이들 양태는 또한 결합될 수도 있다는 것이 이해될 것이다.
로봇공학 시스템에서 다른 양태가 발견될 수도 있는데, 다른 양태는: 제1 및 제2 로봇 팔; 제1 및 제2 로봇 손 - 각각의 손은 각각의 팔에 커플링되는 손목을 가지며, 각각의 손은 손바닥 및 다수의 연계된 손가락을 구비하고, 각각의 손에 있는 각각의 연계된 손가락은 적어도 하나의 센서를 구비함 - ; 및 제1 및 제2 글러브 - 각각의 글러브는 복수의 임베딩된 센서를 구비하는 각각의 손을 커버함 - 를 포함한다. 바람직하게는, 로봇공학 시스템은 로봇식 키친 시스템이다.
상이한 그러나 관련된 양태에서, 모션 캡쳐 시스템이 추가로 제공될 수도 있는데, 모션 캡쳐 시스템은: 표준화된 작업 환경 모듈, 바람직하게는, 키친; 인간에게 물리적으로 커플링되도록 구성되는 제1 타입의 센서 및 인간으로부터 떨어져 이격되도록 구성되는 제2 타입의 센서를 구비하는 복수의 멀티모달 센서를 포함한다. 다음 중 하나 이상이 해당될 수도 있다: 제1 타입의 센서는 인간 부속지의 자세를 측정하고 인간 부속지의 모션 데이터를 감지하기 위한 것일 수도 있고; 제2 타입의 센서는 인간 부속지의 위치, 환경, 오브젝트 및 움직임 중 하나 이상의 삼차원 구성의 공간적 등록을 결정하기 위한 것일 수도 있고; 제2 타입의 센서는 활동 데이터를 감지하도록 구성될 수도 있고; 표준화된 작업 환경은 제2 타입의 센서와 인터페이싱하기 위한 커넥터를 구비할 수도 있고; 제1 타입의 센서 및 제2 타입의 센서는 모션 데이터 및 활동 데이터를 측정하고, 보관 및 제품(예컨대 음식) 준비를 위한 프로세싱을 위해, 모션 데이터 및 활동 데이터 둘 다를 컴퓨터로 전송한다.
감지용 글러브로 코팅된 로봇 손에서, 한 양태가 추가적으로 또는 대안적으로 고려될 수도 있는데, 그 양태는: 다섯 개의 손가락; 및 다섯 개의 손가락에 연결된 손바닥을 포함하고, 손바닥은 내부 관절 및 세 개의 영역에서 변형가능한 표면을 구비하고; 제1 변형가능한 영역은 손바닥의 요골(radial) 측 상에 그리고 엄지손가락의 기부(base) 근처에 배치되고; 제2 변형가능한 영역은 손바닥의 척골(ulnar) 측 상에 그리고 요골 측으로부터 이격되어 배치되고; 제3 변형 가능한 영역은 손바닥 상에 배치되고 손가락의 기부에 걸쳐 연장한다. 바람직하게는, 제1 변형가능한 영역, 제2 변형가능한 영역, 제3 변형가능한 영역, 및 내부 관절의 조합은 총괄적으로 미소 조작, 특히 음식 준비를 위한 미소 조작을 수행하도록 동작한다.
상기 시스템, 디바이스 또는 장치 양태 중 임의의 것과 관련하여, 시스템의 기능성을 실행하는 단계를 포함하는 방법 양태가 추가로 제공될 수도 있다. 추가적으로 또는 대안적으로, 다른 양태와 관련하여 본원에서 설명되는 피쳐 중 임의의 하나 이상에 기초하여, 옵션적인 피쳐가 발견될 수도 있다.
본 발명은 가능한 실시형태에 대하여 특히 상세히 설명되었다. 기술분야에서 숙련된 자는, 본 발명이 다른 실시형태에서 실시될 수도 있다는 것을 알 수 있을 것이다. 컴포넌트의 특정한 명명, 용어의 대문자 표시, 속성, 데이터 구조, 또는 임의의 다른 프로그래밍 또는 구조적 양태는 의무적이거나 중요한 것은 아니며, 본 발명 또는 그 피쳐를 구현하는 메커니즘은 상이한 이름, 포맷, 또는 프로토콜을 가질 수도 있다. 본원에서 설명되는 다양한 시스템 컴포넌트 사이에서의 기능성의 특정한 분리는 단지 예시적인 것이며 의무적인 것은 아니다; 단일의 시스템 컴포넌트에 의해 수행되는 기능은, 대신, 다수의 컴포넌트에 의해 수행될 수도 있고, 다수의 컴포넌트에 의해 수행되는 기능은, 대신, 단일의 컴포넌트에 의해 수행될 수도 있다.
다양한 실시형태에서, 본 발명은 상기 설명된 기술을, 단독으로 또는 임의의 조합으로, 수행하기 위한 시스템 또는 방법으로서 구현될 수 있다. 본원에서 설명된 임의의 특정 피쳐의 조합은, 그 조합이 명시적으로 설명되지 않더라도, 또한 제공될 수도 있다. 다른 실시형태에서, 본 발명은, 컴퓨터 판독가능 저장 매체 및 컴퓨팅 디바이스 또는 다른 전자 디바이스의 프로세서로 하여금 상기 설명된 기술을 수행하게 하기 위한, 매체 상에 인코딩된 컴퓨터 프로그램 코드를 포함하는 컴퓨터 프로그램 제품으로서 구현될 수 있다.
본원에서 사용되는 바와 같이, "하나의 실시형태"에 대한 또는 "한 실시형태"에 대한 임의의 언급은, 실시형태와 연계하여 설명되는 특정한 피쳐, 구조, 또는 특성이 본 발명의 적어도 하나의 실시형태에 포함된다는 것을 의미한다. 본 명세서의 다양한 장소에서의 어구 "하나의 실시형태에서"의 출현은 반드시 동일한 실시형태를 가리키는 것은 아니다.
상기의 것 중 몇몇 부분은, 컴퓨터 메모리 내의 데이터 비트에 대한 동작의 심볼적 표현 알고리즘의 관점에서 제시된다. 이들 알고리즘 설명 및 표현은, 데이터 프로세싱 기술분야의 숙련된 자가 자신의 작업(work)의 내용을 기술분야의 다른 숙련된 자에게 가장 효율적으로 전달하기 위해 사용하는 수단이다. 알고리즘은 일반적으로 소망의 결과로 이어지는 단계의 모순이 없는 시퀀스(self-consistent sequence)인 것으로 인식된다. 단계는 물리적 양의 물리적 조작을 필요로 하는 것이다. 일반적으로, 필수적인 것은 아니지만, 이들 양은, 저장, 전송, 결합, 비교, 변환, 및 다르게는 조작될 수 있는 전기적, 자기적 또는 광학적 신호의 형태를 취한다. 원칙적으로 공동 사용의 이유로 인해, 이들 신호를 비트, 데이터, 값, 엘리먼트, 심볼, 캐릭터, 항, 숫자, 등등으로 지칭하는 것이 때때로 편리하다. 또한, 물리적 양의 물리적 조작을 필요로 하는 단계의 소정의 배치를, 일반성의 손실 없이, 모듈 또는 코드 디바이스로서 칭하는 것이 때때로 편리하다.
그러나, 이들 및 유사한 용어는 적절한 물리적 양과 관련될 것이고 단지 이들 양에 적용되는 편리한 라벨에 불과하다는 것을 명심해야 한다. 다음의 논의에서 명백한 바와 같이 달리 구체적으로 언급되지 않는 한, 명세서에 전체에 걸쳐, "프로세싱" 또는 "컴퓨팅" 또는 "계산하는" 또는 "디스플레이하는" 또는 "결정하는" 등등과 같은 용어를 활용하는 논의는, 컴퓨터 시스템 메모리 또는 레지스터 또는 다른 이러한 정보 저장, 송신, 또는 디스플레이 디바이스 내에서 물리적(전자적) 양으로서 표현되는 데이터를 조작하거나 변환하는 컴퓨터 시스템, 또는 유사한 전자적 컴퓨팅 모듈 및/또는 디바이스의 액션 및 프로세스를 가리킨다는 것을 알 수 있다.
본 발명의 소정의 양태는 본 발명에서 설명되는 프로세스 단계 및 명령어를 알고리즘의 형태로 포함한다. 본 발명의 프로세스 단계 및 명령어는, 소프트웨어, 펌웨어, 및/또는 하드웨어에서 구체화될 수 있고, 소프트웨어에서 구체화될 때, 다양한 오퍼레이팅 시스템에 의해 사용되는 상이한 플랫폼 상에 존재하도록 다운로드될 수 있고 그 상이한 플랫폼으로부터 실행될 수 있다는 것을 유의해야 한다.
본 발명은 본원의 동작을 수행하기 위한 장치에 또한 관련된다. 이 장치는 필요로 되는 목적을 위해 특별히 구성될 수도 있거나, 또는 이 장치는 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 또는 재구성되는 범용 컴퓨터를 포함할 수도 있다. 이러한 컴퓨터 프로그램은, 플로피 디스크, 광학 디스크, CD-ROM, 자기 광학 디스크를 포함하는 임의의 타입의 디스크, 리드 온리 메모리(readonly memory; ROM), 랜덤 액세스 메모리(random access memory; RAM), EPROM, EEPROM, 자기 또는 광학 카드, 주문형 반도체(application specific integrated circuit; ASIC), 또는 전자적 명령어를 저장하기에 적합한 임의의 타입의 매체와 같은, 그러나 이들로 제한되지는 않는 컴퓨터 판독가능 저장 매체에 저장될 수 있는데, 이들 각각은 컴퓨터 시스템 버스에 커플링된다. 더구나, 컴퓨터 및/또는 본 명세서에서 언급되는 다른 전자적 디바이스는 단일의 프로세서를 포함할 수도 있거나 또는 증가된 컴퓨팅 성능을 위해 다수의 프로세서 설계를 활용하는 아키텍쳐일 수도 있다.
본원에서 제시되는 알고리즘 및 디스플레이는, 임의의 특정한 컴퓨터, 가상화 시스템, 또는 다른 장치에 본질적으로 관련되지는 않는다. 다양한 범용 시스템이 본원의 교시에 따라 프로그램과 함께 또한 사용될 수도 있거나, 또는 필요로 되는 방법 단계를 수행하도록 더욱 특수화된 장치를 구성하는 것이 편리할 수도 있다는 것이 입증될 수도 있다. 다양한 이들 시스템에 대한 필요로 되는 구조체는 본원에서 제공되는 설명으로부터 명백할 것이다. 또한, 본 발명은 임의의 특정한 프로그래밍 언어를 참조하여 설명되지는 않는다. 본원에서 설명되는 바와 같이 본 발명의 교시를 구현하기 위해 다양한 프로그래밍 언어가 사용될 수도 있고, 특정 언어에 대한 상기의 임의의 참조는 본 발명의 인에이블먼트(enablement) 및 최상의 모드의 개시를 위해 제공된다는 것을 알 수 있을 것이다.
다양한 실시형태에서, 본 발명은 소프트웨어로서, 하드웨어로서, 및/또는 컴퓨터 시스템, 컴퓨팅 디바이스, 또는 다른 전자 디바이스를 제어하기 위한 다른 엘리먼트로서, 또는 이들의 임의의 조합 또는 복수의 것으로서 구현될 수 있다. 이러한 전자 디바이스는, 예를 들면, 프로세서, 입력 디바이스(예컨대 키보드, 마우스, 터치패드, 트랙패드, 조이스틱, 트랙볼, 마이크, 및/또는 이들의 임의의 조합), 출력 디바이스(예컨대, 스크린, 스피커, 및/또는 등등), 메모리, 장기간 스토리지(예컨대 자기 스토리지, 광학 스토리지, 및/또는 등등), 및/또는 기술분야에서 널리 공지된 기술에 따른 네트워크 연결성을 포함할 수 있다. 이러한 전자 디바이스는 휴대형이거나 또는 비휴대형일 수도 있다. 본 발명을 구현하기 위해 사용될 수 있는 전자 디바이스의 예는, 이동 전화, 개인 휴대형정보 단말(personal digital assistant), 스마트폰, 키오스크, 데스크탑 컴퓨터, 랩탑 컴퓨터, 소비자 가전 디바이스, 텔레비전, 셋탑박스, 등등을 포함한다. 본 발명을 구현하기 위한 전자 디바이스는, 예를 들면, 미국 캘리포니아, 쿠퍼티노(Cupertino)의 Apple Inc.로부터 입수가능한 iOS, 미국 캘리포니아 마운틴 뷰(Mountain View)의 Google Inc.로부터 입수가능한 안드로이드(Android), 미국 워싱턴 레드몬드(Redmond)의 Microsoft Corporation으로부터 입수가능한 Microsoft Windows 7, 미국 캘리포니아, 써니베일(Sunnyvale)의 Palm, Inc.로부터 입수가능한 웹OS(webOS)과 같은 오퍼레이팅 시스템, 또는 디바이스 상에서 사용하기 위해 적응된 임의의 다른 오퍼레이팅 시스템을 사용할 수도 있다. 몇몇 실시형태에서, 본 발명을 구현하기 위한 전자 디바이스는, 예를 들면, 셀룰러 전화 네트워크, 무선 네트워크, 및/또는 인터넷과 같은 컴퓨터 네트워크를 포함하는 하나 이상의 네트워크를 통한 통신용 기능성을 포함한다.
몇몇의 실시형태들은 "결합된" 및 "연결된"의 표현과 더불어 이 표현들의 파생어들을 이용하여 기술될 수 있다. 이러한 용어들은 서로 동의어로서 의도되지 않는다는 것을 이해해야 한다. 예를 들어, 몇몇의 실시형태들은 두 개 이상의 엘리먼트들이 서로 직접적으로 물리적 또는 전기적 접촉하는 것을 나타내기 위해 용어 "연결된"을 이용하여 기술될 수 있다. 다른 예시에서, 몇몇의 실시형태들은 두 개 이상의 엘리먼트들이 직접적으로 물리적 또는 전기적 접촉하는 것을 나타내기 위해 용어 "결합된"을 이용하여 기술될 수 있다. 하지만, 용어 "결합된"은 또한 두 개 이상의 엘리먼트들이 서로 직접 접촉하지 않지만, 여전히 서로 협동하거나 상호작용하는 것을 의미할 수 있다. 실시형태들은 이러한 상황으로 한정되지 않는다.
본 명세서에서 이용된, 용어들 "구비하다", "구비한", "포함하다", "포함한", "갖는다", "갖는" 또는 이것들의 임의의 기타 변형체들은 비배타적 포함을 커버하는 것으로 의도된다. 예를 들어, 엘리먼트들의 리스트를 포함하는 프로세스, 방법, 물품, 또는 장치는 반드시 이러한 엘리먼트들로만 한정될 필요는 없으며 명백하게 나열되지 않거나 또는 이러한 프로세스, 방법, 물품, 또는 장치에 내재된 다른 엘리먼트들을 포함할 수 있다. 또한, 달리 명백하게 진술되지 않는 한, "또는"은 포함적 논리합을 말하며 배타적 논리합을 말하지는 않는다. 예를 들어, 조건 A 또는 B는 다음 중 어느 것에 의해서도 만족된다: A가 참(또는 존재)이고 B가 거짓(또는 비존재)인 경우, A가 거짓(또는 비존재)이고 B가 참(또는 존재)인 경우, 및 A와 B 모두가 참(또는 존재)인 경우.
본 명세서에서 이용된, 단수형 용어는 하나 또는 하나보다 많은 것으로서 정의된 것이다. 본 명세서에서 이용된, 용어 "복수 개"는 두 개 또는 두 개보다 많은 것으로서 정의된 것이다. 본 명세서에서 이용된, 용어 "또다른"은 적어도 두번째 또는 그 이상의 것으로서 정의된 것이다.
당업자는 본 명세서에서 기술된 방법들 및 시스템들을 개발하는 데 있어서 추가적인 설명을 요구하지 않아야 하지만, 관련 기술에서 표준화된 기준 작업들을 검사함으로써 이러한 방법들 및 시스템들의 준비에서 몇가지 잠재적으로 도움을 주는 지침서를 찾을 수 있다.
본 발명을 한정된 수의 실시형태들과 관련하여 기술하여 왔지만, 상기 설명의 혜택을 갖는 본 발명분야의 당업자는, 여기서 기술된 본 발명의 범위로부터 이탈되지 않는 다른 실시형태들이 구상될 수 있다는 것을 알 것이다. 본 명세서에서 이용된 언어는 가독성 및 교육을 목적으로 주로 선택되었으며, 본 발명내용을 제한하거나 또는 그 윤곽을 정하기 위해 선택되지 않을 수 있다는 것을 유념해야 한다. 이용된 용어들은 본 명세서와 청구범위에서 개시된 특정 실시형태들로 본 발명을 한정시키려고 해석되기 보다는 아래에서 진술된 청구범위 하에서 동작하는 모든 방법들 및 시스템들을 포함하도록 해석되어야 한다. 이에 따라, 본 발명은 본 개시물에 의해 한정되지 않으며, 이 대신에 본 발명의 범위는 아래의 청구범위들에 의해서만 전적으로 결정될 것이다.

Claims (1)

  1. 하나 이상의 로봇 엔드 이펙터와 연결된 하나 이상의 로봇 팔을 포함하는 로봇 구조체;
    로봇 구조체와 통신 가능하게 연결되는 하나 이상의 파라미터화된 미소 조작(minimanipulation)을 포함하는 전자 라이브러리;
    로봇 구조체 및 전자 라이브러리와 통신 가능하게 연결되고, 계획을 생성하도록 하나 이상의 전자 다중 스테이지 프로세스 파일에 기반하여 계획하고 조정하도록 구성되는, 로봇 계획 모듈; 및
    로봇 구조체 및 전자 라이브러리와 통신 가능하게 연결되고, 순차적으로 또는 병렬로 실행되는 하나 이상의 파라미터화된 미소 조작과 연관된 기능적 결과를 달성하기 위해 하나 이상의 파라미터화된 미소 조작을 갖는 계획을 실행하도록 구성되는 로봇 실행 모듈을 포함하는, 로봇 플랫폼으로서,
    각각의 파라미터화된 미소 조작은 기능적 결과를 달성하기 위해 여러 번 설계되고 미리 테스트되었던 적어도 하나의 액션 프리미티브 또는 적어도 하나의 더 작은 파라미터화된 미소 조작을 포함하고,
    각각의 전자 다중 스테이지 프로세스 파일은 미소 조작 라이브러리로부터 하나 이상의 파라미터화된 미소 조작과 연관된 하나 이상의 파라미터화된 동작을 포함하는, 로봇 플랫폼.
KR1020227003760A 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템 KR102586689B1 (ko)

Applications Claiming Priority (36)

Application Number Priority Date Filing Date Title
US201462044677P 2014-09-02 2014-09-02
US62/044,677 2014-09-02
US201462055799P 2014-09-26 2014-09-26
US62/055,799 2014-09-26
US201462073846P 2014-10-31 2014-10-31
US62/073,846 2014-10-31
US201462083195P 2014-11-22 2014-11-22
US62/083,195 2014-11-22
US201462090310P 2014-12-10 2014-12-10
US62/090,310 2014-12-10
US201562104680P 2015-01-16 2015-01-16
US62/104,680 2015-01-16
US201562109051P 2015-01-28 2015-01-28
US62/109,051 2015-01-28
US201562113516P 2015-02-08 2015-02-08
US62/113,516 2015-02-08
US201562116563P 2015-02-16 2015-02-16
US62/116,563 2015-02-16
US14/627,900 2015-02-20
US14/627,900 US9815191B2 (en) 2014-02-20 2015-02-20 Methods and systems for food preparation in a robotic cooking kitchen
IBPCT/IB2015/000379 2015-02-20
PCT/IB2015/000379 WO2015125017A2 (en) 2014-02-20 2015-02-20 Methods and systems for food preparation in a robotic cooking kitchen
US201562146367P 2015-04-12 2015-04-12
US62/146,367 2015-04-12
US201562161125P 2015-05-13 2015-05-13
US62/161,125 2015-05-13
US201562166879P 2015-05-27 2015-05-27
US62/166,879 2015-05-27
US201562189670P 2015-07-07 2015-07-07
US62/189,670 2015-07-07
US201562202030P 2015-08-06 2015-08-06
US62/202,030 2015-08-06
US14/829,579 US10518409B2 (en) 2014-09-02 2015-08-18 Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
US14/829,579 2015-08-18
PCT/EP2015/001704 WO2016034269A1 (en) 2014-09-02 2015-08-19 Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
KR1020217024234A KR20210097836A (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020217024234A Division KR20210097836A (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20220028104A true KR20220028104A (ko) 2022-03-08
KR102586689B1 KR102586689B1 (ko) 2023-10-10

Family

ID=55401446

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227003760A KR102586689B1 (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템
KR1020217024234A KR20210097836A (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템
KR1020177009064A KR102286200B1 (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020217024234A KR20210097836A (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템
KR1020177009064A KR102286200B1 (ko) 2014-09-02 2015-08-19 전자 미소 조작 라이브러리들을 갖춘 기구화된 환경에서 도메인 고유의 애플리케이션을 실행하기 위한 로봇 조작 방법 및 시스템

Country Status (10)

Country Link
US (3) US10518409B2 (ko)
EP (1) EP3188625A1 (ko)
JP (2) JP7117104B2 (ko)
KR (3) KR102586689B1 (ko)
CN (2) CN107343382B (ko)
AU (3) AU2015311234B2 (ko)
CA (1) CA2959698A1 (ko)
RU (1) RU2756863C2 (ko)
SG (2) SG10202000787PA (ko)
WO (1) WO2016034269A1 (ko)

Families Citing this family (244)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9460633B2 (en) * 2012-04-16 2016-10-04 Eugenio Minvielle Conditioner with sensors for nutritional substances
US20140137587A1 (en) * 2012-11-20 2014-05-22 General Electric Company Method for storing food items within a refrigerator appliance
US11330929B2 (en) * 2016-11-14 2022-05-17 Zhengxu He Automated kitchen system
US11363916B2 (en) * 2016-11-14 2022-06-21 Zhengxu He Automatic kitchen system
US11096514B2 (en) * 2016-11-14 2021-08-24 Zhengxu He Scalable automated kitchen system
US9566414B2 (en) 2013-03-13 2017-02-14 Hansen Medical, Inc. Integrated catheter and guide wire controller
US10849702B2 (en) 2013-03-15 2020-12-01 Auris Health, Inc. User input devices for controlling manipulation of guidewires and catheters
US9283046B2 (en) 2013-03-15 2016-03-15 Hansen Medical, Inc. User interface for active drive apparatus with finite range of motion
US11020016B2 (en) 2013-05-30 2021-06-01 Auris Health, Inc. System and method for displaying anatomy and devices on a movable display
KR101531664B1 (ko) * 2013-09-27 2015-06-25 고려대학교 산학협력단 다감각정보를 이용한 정서 인지능력 검사 시스템 및 방법, 다감각정보를 이용한 정서 인지 훈련 시스템 및 방법
EP3243476B1 (en) 2014-03-24 2019-11-06 Auris Health, Inc. Systems and devices for catheter driving instinctiveness
KR101661599B1 (ko) * 2014-08-20 2016-10-04 한국과학기술연구원 하드웨어 한계를 고려하는 동작 데이터의 압축 및 복원을 이용한 로봇 동작 데이터 처리 시스템
DE102015202216A1 (de) * 2014-09-19 2016-03-24 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Kraftfahrzeugs durch Vorgabe einer Sollgeschwindigkeit
US10789543B1 (en) * 2014-10-24 2020-09-29 University Of South Florida Functional object-oriented networks for manipulation learning
US20200409382A1 (en) * 2014-11-10 2020-12-31 Carnegie Mellon University Intelligent cleaning robot
DE102014226239A1 (de) * 2014-12-17 2016-06-23 Kuka Roboter Gmbh Verfahren zum sicheren Einkoppeln eines Eingabegerätes
US9594377B1 (en) * 2015-05-12 2017-03-14 Google Inc. Auto-height swing adjustment
US10746586B2 (en) 2015-05-28 2020-08-18 Sonicu, Llc Tank-in-tank container fill level indicator
US10745263B2 (en) 2015-05-28 2020-08-18 Sonicu, Llc Container fill level indication system using a machine learning algorithm
US10166680B2 (en) * 2015-07-31 2019-01-01 Heinz Hemken Autonomous robot using data captured from a living subject
US10350766B2 (en) * 2015-09-21 2019-07-16 GM Global Technology Operations LLC Extended-reach assist device for performing assembly tasks
US10551916B2 (en) 2015-09-24 2020-02-04 Facebook Technologies, Llc Detecting positions of a device based on magnetic fields generated by magnetic field generators at different positions of the device
WO2017054964A1 (de) * 2015-09-29 2017-04-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur automatischen konfiguration eines externen steuerungssystems zur steuerung und/oder regelung eines robotersystems
WO2017066209A1 (en) * 2015-10-14 2017-04-20 President And Fellows Of Harvard College Automatically classifying animal behavior
US20170110028A1 (en) * 2015-10-20 2017-04-20 Davenia M. Poe-Golding Create A Meal Mobile Application
US10812778B1 (en) * 2015-11-09 2020-10-20 Cognex Corporation System and method for calibrating one or more 3D sensors mounted on a moving manipulator
US10757394B1 (en) * 2015-11-09 2020-08-25 Cognex Corporation System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance
US11562502B2 (en) 2015-11-09 2023-01-24 Cognex Corporation System and method for calibrating a plurality of 3D sensors with respect to a motion conveyance
US10471594B2 (en) * 2015-12-01 2019-11-12 Kindred Systems Inc. Systems, devices, and methods for the distribution and collection of multimodal data associated with robots
US9975241B2 (en) * 2015-12-03 2018-05-22 Intel Corporation Machine object determination based on human interaction
US9694494B1 (en) 2015-12-11 2017-07-04 Amazon Technologies, Inc. Feature identification and extrapolation for robotic item grasping
US20170348854A1 (en) * 2015-12-16 2017-12-07 Mbl Limited Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with containers and electronic minimanipulation libraries
US9848035B2 (en) * 2015-12-24 2017-12-19 Intel Corporation Measurements exchange network, such as for internet-of-things (IoT) devices
US10456910B2 (en) * 2016-01-14 2019-10-29 Purdue Research Foundation Educational systems comprising programmable controllers and methods of teaching therewith
US9757859B1 (en) * 2016-01-21 2017-09-12 X Development Llc Tooltip stabilization
US9744665B1 (en) 2016-01-27 2017-08-29 X Development Llc Optimization of observer robot locations
US10059003B1 (en) 2016-01-28 2018-08-28 X Development Llc Multi-resolution localization system
US20170221296A1 (en) 2016-02-02 2017-08-03 6d bytes inc. Automated preparation and dispensation of food and beverage products
US20170249561A1 (en) * 2016-02-29 2017-08-31 GM Global Technology Operations LLC Robot learning via human-demonstration of tasks with force and position objectives
US11036230B1 (en) * 2016-03-03 2021-06-15 AI Incorporated Method for developing navigation plan in a robotic floor-cleaning device
KR102487493B1 (ko) * 2016-03-03 2023-01-11 구글 엘엘씨 로봇 파지용 심층 기계 학습 방법 및 장치
WO2017151926A1 (en) 2016-03-03 2017-09-08 Google Inc. Deep machine learning methods and apparatus for robotic grasping
JP6726388B2 (ja) * 2016-03-16 2020-07-22 富士ゼロックス株式会社 ロボット制御システム
TWI581731B (zh) * 2016-05-05 2017-05-11 Solomon Tech Corp Automatic shopping the method and equipment
JP6838895B2 (ja) * 2016-07-05 2021-03-03 川崎重工業株式会社 ワーク搬送装置およびその運転方法
US10058995B1 (en) * 2016-07-08 2018-08-28 X Development Llc Operating multiple testing robots based on robot instructions and/or environmental parameters received in a request
US11037464B2 (en) 2016-07-21 2021-06-15 Auris Health, Inc. System with emulator movement tracking for controlling medical devices
US10427305B2 (en) * 2016-07-21 2019-10-01 Autodesk, Inc. Robotic camera control via motion capture
TW201804335A (zh) * 2016-07-27 2018-02-01 鴻海精密工業股份有限公司 一種連通裝置及採用該連通裝置的物聯網系統
US9976285B2 (en) * 2016-07-27 2018-05-22 Caterpillar Trimble Control Technologies Llc Excavating implement heading control
US10732722B1 (en) * 2016-08-10 2020-08-04 Emaww Detecting emotions from micro-expressive free-form movements
JP6514156B2 (ja) * 2016-08-17 2019-05-15 ファナック株式会社 ロボット制御装置
TWI621511B (zh) * 2016-08-26 2018-04-21 卓昂滄 實施料理翻炒動作之機械手臂
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
GB2554363B (en) * 2016-09-21 2021-12-08 Cmr Surgical Ltd User interface device
US10599217B1 (en) * 2016-09-26 2020-03-24 Facebook Technologies, Llc Kinematic model for hand position
US10571902B2 (en) * 2016-10-12 2020-02-25 Sisu Devices Llc Robotic programming and motion control
US10987804B2 (en) * 2016-10-19 2021-04-27 Fuji Xerox Co., Ltd. Robot device and non-transitory computer readable medium
WO2018089127A1 (en) * 2016-11-09 2018-05-17 W.C. Bradley Co. Geo-fence enabled system, apparatus, and method for outdoor cooking and smoking
US11205103B2 (en) 2016-12-09 2021-12-21 The Research Foundation for the State University Semisupervised autoencoder for sentiment analysis
CN106598615A (zh) * 2016-12-21 2017-04-26 深圳市宜居云科技有限公司 一种食谱程序代码生成方法及食谱编译云平台系统
US9817967B1 (en) * 2017-01-13 2017-11-14 Accenture Global Solutions Limited Integrated robotics and access management for target systems
US20180213220A1 (en) * 2017-01-20 2018-07-26 Ferrand D.E. Corley Camera testing apparatus and method
JP6764796B2 (ja) * 2017-01-26 2020-10-07 株式会社日立製作所 ロボット制御システムおよびロボット制御方法
EP3589457B1 (en) * 2017-03-01 2022-01-12 Omron Corporation Monitored control system
CN106726029A (zh) * 2017-03-08 2017-05-31 桐乡匹昂电子科技有限公司 一种用于油炸烹饪的假肢控制系统
JP6850639B2 (ja) * 2017-03-09 2021-03-31 本田技研工業株式会社 ロボット
JP6831723B2 (ja) * 2017-03-16 2021-02-17 川崎重工業株式会社 ロボットとロボットの運転方法
JP6880892B2 (ja) * 2017-03-23 2021-06-02 富士通株式会社 工程計画生成プログラム及び工程計画生成方法
JP6487489B2 (ja) * 2017-05-11 2019-03-20 ファナック株式会社 ロボット制御装置及びロボット制御プログラム
US10520948B2 (en) * 2017-05-12 2019-12-31 Autonomy Squared Llc Robot delivery method
JP7000704B2 (ja) * 2017-05-16 2022-01-19 富士フイルムビジネスイノベーション株式会社 移動式サービス提供装置及びプログラム
WO2018212226A1 (ja) * 2017-05-17 2018-11-22 Telexistence株式会社 制御装置、ロボット制御方法及びロボット制御システム
US20180336045A1 (en) * 2017-05-17 2018-11-22 Google Inc. Determining agents for performing actions based at least in part on image data
US20180341271A1 (en) * 2017-05-29 2018-11-29 Ants Technology (Hk) Limited Environment exploration system and method
KR101826911B1 (ko) * 2017-05-31 2018-02-07 주식회사 네비웍스 햅틱 인터랙션 기반 가상현실시뮬레이터 및 그 동작 방법
JP6546618B2 (ja) * 2017-05-31 2019-07-17 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
CN106985148A (zh) * 2017-06-02 2017-07-28 成都小晓学教育咨询有限公司 基于svm的机器人烹饪方法
CN107234619A (zh) * 2017-06-02 2017-10-10 南京金快快无人机有限公司 一种基于主动视觉定位的服务机器人抓取系统
CN107065697A (zh) * 2017-06-02 2017-08-18 成都小晓学教育咨询有限公司 用于家庭的智能厨房用品
JP6457587B2 (ja) * 2017-06-07 2019-01-23 ファナック株式会社 ワークの動画に基づいて教示点を設定するロボットの教示装置
US10694668B2 (en) 2017-06-19 2020-06-30 Deere & Company Locally controlling settings on a combine harvester based on a remote settings adjustment
US11789413B2 (en) 2017-06-19 2023-10-17 Deere & Company Self-learning control system for a mobile machine
US11589507B2 (en) 2017-06-19 2023-02-28 Deere & Company Combine harvester control interface for operator and/or remote user
US10509415B2 (en) * 2017-07-27 2019-12-17 Aurora Flight Sciences Corporation Aircrew automation system and method with integrated imaging and force sensing modalities
JP6633580B2 (ja) * 2017-08-02 2020-01-22 ファナック株式会社 ロボットシステム及びロボット制御装置
WO2019024051A1 (en) * 2017-08-03 2019-02-07 Intel Corporation HAPTIC GLOVES FOR VIRTUAL REALITY SYSTEMS AND METHODS OF CONTROLLING THEM
TWI650626B (zh) * 2017-08-15 2019-02-11 由田新技股份有限公司 基於三維影像之機械手臂加工方法及系統
US11458632B2 (en) * 2017-08-23 2022-10-04 Sony Corporation Robot having reduced vibration generation in in arm portion
WO2019040581A1 (en) * 2017-08-25 2019-02-28 Taylor Commercial Foodservice Inc. COOKING SYSTEM WITH MULTIPLE ROBOTIC ARMS
US10845876B2 (en) 2017-09-27 2020-11-24 Contact Control Interfaces, LLC Hand interface device utilizing haptic force gradient generation via the alignment of fingertip haptic units
WO2019069130A1 (en) * 2017-10-05 2019-04-11 Sanofi Pasteur COMPOSITIONS FOR RECALL VACCINATION AGAINST DENGUE
US10796590B2 (en) * 2017-10-13 2020-10-06 Haier Us Appliance Solutions, Inc. Cooking engagement system
ES2866498T3 (es) * 2017-10-23 2021-10-19 Siemens Ag Procedimiento y sistema de control para el control y/o la supervisión de dispositivos
US10777006B2 (en) * 2017-10-23 2020-09-15 Sony Interactive Entertainment Inc. VR body tracking without external sensors
CN107863138B (zh) * 2017-10-31 2023-07-14 珠海格力电器股份有限公司 菜谱生成装置和方法
JP2019089166A (ja) * 2017-11-15 2019-06-13 セイコーエプソン株式会社 力検出システムおよびロボット
US10828790B2 (en) * 2017-11-16 2020-11-10 Google Llc Component feature detector for robotic systems
WO2019100014A1 (en) * 2017-11-17 2019-05-23 Duke Manufacturing Co. Food preparation apparatus having a virtual data bus
JP6680750B2 (ja) * 2017-11-22 2020-04-15 ファナック株式会社 制御装置及び機械学習装置
JP6737764B2 (ja) * 2017-11-24 2020-08-12 ファナック株式会社 ロボットに対して教示操作を行う教示装置
CN108009574B (zh) * 2017-11-27 2022-04-29 成都明崛科技有限公司 一种轨道扣件检测方法
CN110831534B (zh) 2017-12-08 2023-04-28 奥瑞斯健康公司 用于医疗仪器导航和瞄准的系统和方法
US10800040B1 (en) 2017-12-14 2020-10-13 Amazon Technologies, Inc. Simulation-real world feedback loop for learning robotic control policies
US10792810B1 (en) * 2017-12-14 2020-10-06 Amazon Technologies, Inc. Artificial intelligence system for learning robotic control policies
CN108153310B (zh) * 2017-12-22 2020-11-13 南开大学 一种基于人类行为模拟的移动机器人实时运动规划方法
CN109968350B (zh) * 2017-12-28 2021-06-04 深圳市优必选科技有限公司 机器人及其控制方法、具有存储功能的装置
US10926408B1 (en) 2018-01-12 2021-02-23 Amazon Technologies, Inc. Artificial intelligence system for efficiently learning robotic control policies
US10795327B2 (en) 2018-01-12 2020-10-06 General Electric Company System and method for context-driven predictive simulation selection and use
TWI725875B (zh) * 2018-01-16 2021-04-21 美商伊路米納有限公司 結構照明成像系統和使用結構化光來創建高解析度圖像的方法
JP7035555B2 (ja) * 2018-01-23 2022-03-15 セイコーエプソン株式会社 教示装置、及びシステム
CN110115494B (zh) * 2018-02-05 2021-12-03 佛山市顺德区美的电热电器制造有限公司 烹饪机及其控制方法和计算机可读存储介质
US10870958B2 (en) * 2018-03-05 2020-12-22 Dawn Fornarotto Robotic feces collection assembly
JP6911798B2 (ja) * 2018-03-15 2021-07-28 オムロン株式会社 ロボットの動作制御装置
RU2698364C1 (ru) * 2018-03-20 2019-08-26 Акционерное общество "Волжский электромеханический завод" Способ управления экзоскелетом
US11501351B2 (en) 2018-03-21 2022-11-15 Cdk Global, Llc Servers, systems, and methods for single sign-on of an automotive commerce exchange
US11190608B2 (en) 2018-03-21 2021-11-30 Cdk Global Llc Systems and methods for an automotive commerce exchange
US11446628B2 (en) * 2018-03-26 2022-09-20 Yateou, Inc. Robotic cosmetic mix bar
US20190307262A1 (en) * 2018-04-04 2019-10-10 6d bytes inc. Solid Dispenser
US11142412B2 (en) 2018-04-04 2021-10-12 6d bytes inc. Dispenser
US10863849B2 (en) * 2018-04-16 2020-12-15 Midea Group Co. Ltd. Multi-purpose smart rice cookers
WO2020036553A2 (en) * 2018-04-25 2020-02-20 Simtek Simulasyon Ve Bilisim Tekn. Egt. Muh. Danis. Tic. Ltd. Sti. A kitchen assistant system
CN108681940A (zh) * 2018-05-09 2018-10-19 连云港伍江数码科技有限公司 储物装置中人机交互方法、装置、储物装置及存储介质
KR20190130376A (ko) * 2018-05-14 2019-11-22 삼성전자주식회사 사용자 발화를 처리하는 시스템 및 그 시스템의 제어 방법
US10782672B2 (en) * 2018-05-15 2020-09-22 Deere & Company Machine control system using performance score based setting adjustment
KR20210010871A (ko) 2018-05-18 2021-01-28 아우리스 헬스, 인코포레이티드 로봇식 원격작동 시스템을 위한 제어기
US10890025B2 (en) * 2018-05-22 2021-01-12 Japan Cash Machine Co., Ltd. Banknote handling system for automated casino accounting
US11148295B2 (en) * 2018-06-17 2021-10-19 Robotics Materials, Inc. Systems, devices, components, and methods for a compact robotic gripper with palm-mounted sensing, grasping, and computing devices and components
US10589423B2 (en) * 2018-06-18 2020-03-17 Shambhu Nath Roy Robot vision super visor for hybrid homing, positioning and workspace UFO detection enabling industrial robot use for consumer applications
US11198218B1 (en) 2018-06-27 2021-12-14 Nick Gorkavyi Mobile robotic system and method
US11285607B2 (en) * 2018-07-13 2022-03-29 Massachusetts Institute Of Technology Systems and methods for distributed training and management of AI-powered robots using teleoperation via virtual spaces
CN109240282A (zh) * 2018-07-30 2019-01-18 王杰瑞 一种可操纵智能医疗机器人
US11341826B1 (en) 2018-08-21 2022-05-24 Meta Platforms, Inc. Apparatus, system, and method for robotic sensing for haptic feedback
JP7192359B2 (ja) * 2018-09-28 2022-12-20 セイコーエプソン株式会社 ロボットを制御する制御装置、および制御方法
CN112804960A (zh) * 2018-10-04 2021-05-14 直观外科手术操作公司 用于控制可转向装置的系统和方法
JP7230412B2 (ja) * 2018-10-04 2023-03-01 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム
JP2022508674A (ja) * 2018-10-09 2022-01-19 レソナイ インコーポレイテッド 3dシーン拡張及び再構築のためのシステム及び方法
JP7409314B2 (ja) * 2018-10-12 2024-01-09 ソニーグループ株式会社 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
CN109543097A (zh) * 2018-10-16 2019-03-29 珠海格力电器股份有限公司 烹饪器具的控制方法及烹饪器具
US11704568B2 (en) * 2018-10-16 2023-07-18 Carnegie Mellon University Method and system for hand activity sensing
US11307730B2 (en) 2018-10-19 2022-04-19 Wen-Chieh Geoffrey Lee Pervasive 3D graphical user interface configured for machine learning
US11049042B2 (en) * 2018-11-05 2021-06-29 Convr Inc. Systems and methods for extracting specific data from documents using machine learning
JP7259269B2 (ja) * 2018-11-05 2023-04-18 ソニーグループ株式会社 データ処理装置、データ処理方法
JP7259270B2 (ja) * 2018-11-05 2023-04-18 ソニーグループ株式会社 調理ロボット、調理ロボット制御装置、制御方法
US11270213B2 (en) 2018-11-05 2022-03-08 Convr Inc. Systems and methods for extracting specific data from documents using machine learning
US10710239B2 (en) * 2018-11-08 2020-07-14 Bank Of America Corporation Intelligent control code update for robotic process automation
US11385139B2 (en) * 2018-11-21 2022-07-12 Martin E. Best Active backlash detection methods and systems
US11292129B2 (en) * 2018-11-21 2022-04-05 Aivot, Llc Performance recreation system
TWI696529B (zh) * 2018-11-30 2020-06-21 財團法人金屬工業研究發展中心 自動定位方法以及自動控制裝置
CN109635687B (zh) * 2018-11-30 2022-07-01 南京师范大学 基于时序点集计算的汉字文本行书写质量自动评价方法和系统
CN109391700B (zh) * 2018-12-12 2021-04-09 北京华清信安科技有限公司 基于深度流量感知的物联网安全云平台
WO2020142499A1 (en) * 2018-12-31 2020-07-09 Abb Schweiz Ag Robot object learning system and method
US11185978B2 (en) * 2019-01-08 2021-11-30 Honda Motor Co., Ltd. Depth perception modeling for grasping objects
US10335947B1 (en) * 2019-01-18 2019-07-02 Mujin, Inc. Robotic system with piece-loss management mechanism
US20220088794A1 (en) * 2019-01-22 2022-03-24 Sony Group Corporation Control apparatus, control method, and program
JP2022063885A (ja) * 2019-03-01 2022-04-25 ソニーグループ株式会社 データ処理装置、データ処理方法
CN113474134A (zh) * 2019-03-01 2021-10-01 索尼集团公司 烹饪机器人、烹饪机器人控制装置和控制方法
CN113473890B (zh) * 2019-03-01 2024-04-23 索尼集团公司 烹饪机器人、烹饪机器人控制装置和控制方法
JP2022063884A (ja) * 2019-03-01 2022-04-25 ソニーグループ株式会社 データ処理装置、データ処理方法
US10891841B2 (en) * 2019-03-04 2021-01-12 Alexander Favors Apparatus and system for capturing criminals
DE102019106329A1 (de) * 2019-03-13 2020-09-17 Miele & Cie. Kg Verfahren zur Steuerung eines Gargeräts und Gargerät sowie System
JP6940542B2 (ja) * 2019-03-14 2021-09-29 ファナック株式会社 把持力調整装置及び把持力調整システム
US11383390B2 (en) * 2019-03-29 2022-07-12 Rios Intelligent Machines, Inc. Robotic work cell and network
CN109940636A (zh) * 2019-04-02 2019-06-28 广州创梦空间人工智能科技有限公司 一种用于商业表演的人形机器人
CN109961436B (zh) * 2019-04-04 2021-05-18 北京大学口腔医学院 一种基于人工神经网络模型的正中矢状平面构建方法
JP2022531919A (ja) * 2019-05-06 2022-07-12 ストロング フォース アイオーティ ポートフォリオ 2016,エルエルシー 産業用モノのインターネットシステムにおけるインテリジェンスの開発を促進するためのプラットフォーム
CN110962146B (zh) * 2019-05-29 2023-05-09 博睿科有限公司 机器人设备的操纵系统和方法
CN110232710B (zh) * 2019-05-31 2021-06-11 深圳市皕像科技有限公司 基于三维相机的物品定位方法、系统及设备
CN114206560A (zh) * 2019-06-05 2022-03-18 超乎想象股份有限公司 移动性代理
US20210387350A1 (en) * 2019-06-12 2021-12-16 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential enviornments with artificial intelligence and machine learning
WO2020250039A1 (en) * 2019-06-12 2020-12-17 Mark Oleynik Systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms with supported subsystem interactions
JP7285703B2 (ja) * 2019-06-17 2023-06-02 株式会社ソニー・インタラクティブエンタテインメント ロボット制御システム
US11440199B2 (en) * 2019-06-18 2022-09-13 Gang Hao Robotic service system in restaurants
US10977058B2 (en) * 2019-06-20 2021-04-13 Sap Se Generation of bots based on observed behavior
US11872007B2 (en) 2019-06-28 2024-01-16 Auris Health, Inc. Console overlay and methods of using same
US11216150B2 (en) 2019-06-28 2022-01-04 Wen-Chieh Geoffrey Lee Pervasive 3D graphical user interface with vector field functionality
US11694432B2 (en) * 2019-07-23 2023-07-04 Toyota Research Institute, Inc. System and method for augmenting a visual output from a robotic device
US11553823B2 (en) * 2019-08-02 2023-01-17 International Business Machines Corporation Leveraging spatial scanning data of autonomous robotic devices
US20220258345A1 (en) 2019-08-08 2022-08-18 Sony Group Corporation Information processing device, information processing method, cooking robot, cooking method, and cooking equipment
WO2021024829A1 (ja) 2019-08-08 2021-02-11 ソニー株式会社 情報処理装置、情報処理方法、調理ロボット、調理方法、および調理器具
KR20190106894A (ko) * 2019-08-28 2019-09-18 엘지전자 주식회사 로봇
KR20190106895A (ko) * 2019-08-28 2019-09-18 엘지전자 주식회사 로봇
US20220331957A1 (en) * 2019-10-03 2022-10-20 Sony Group Corporation Data processing device, data processing method, and cooking robot
WO2021075649A1 (ko) * 2019-10-16 2021-04-22 숭실대학교 산학협력단 블록체인을 이용하는 인공지능 법인 시스템, 인공지능 법인 등록 방법 및 인공지능 법인 이용 방법
TWI731442B (zh) * 2019-10-18 2021-06-21 宏碁股份有限公司 電子裝置及其利用觸控資料的物件資訊辨識方法
DE102019216560B4 (de) * 2019-10-28 2022-01-13 Robert Bosch Gmbh Verfahren und Vorrichtung zum Trainieren von Manipulationsfertigkeiten eines Robotersystems
JPWO2021090699A1 (ko) * 2019-11-06 2021-05-14
KR102371701B1 (ko) * 2019-11-12 2022-03-08 한국전자기술연구원 인공지능 장치의 소프트웨어 디버깅 방법 및 장치
KR20210072588A (ko) * 2019-12-09 2021-06-17 엘지전자 주식회사 서비스 영역 내 로봇들을 제어하여 서비스를 제공하는 방법, 시스템 및 이를 구현하는 로봇
CN110934483A (zh) * 2019-12-16 2020-03-31 宜昌石铭电子科技有限公司 一种自动做饭机器人
JP2021094677A (ja) * 2019-12-19 2021-06-24 本田技研工業株式会社 ロボット制御装置、ロボット制御方法、プログラム及び学習モデル
US11610153B1 (en) * 2019-12-30 2023-03-21 X Development Llc Generating reinforcement learning data that is compatible with reinforcement learning for a robotic task
CN111221264B (zh) * 2019-12-31 2023-08-04 广州明珞汽车装备有限公司 一种抓手自定义方法、系统、装置及存储介质
US11816746B2 (en) * 2020-01-01 2023-11-14 Rockspoon, Inc System and method for dynamic dining party group management
CN113133670B (zh) * 2020-01-17 2023-03-21 佛山市顺德区美的电热电器制造有限公司 烹饪设备、烹饪控制方法和装置
CN115023671A (zh) * 2020-01-28 2022-09-06 株式会社欧普同 控制程序生成装置、控制程序生成方法、程序
JP6787616B1 (ja) * 2020-01-28 2020-11-18 株式会社オプトン 制御プログラム生成装置、制御プログラム生成方法、プログラム
TW202147049A (zh) * 2020-01-28 2021-12-16 日商歐普同股份有限公司 動作控制裝置、動作控制方法、程式
WO2021156647A1 (en) * 2020-02-06 2021-08-12 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library
US20230072442A1 (en) * 2020-02-25 2023-03-09 Nec Corporation Control device, control method and storage medium
US11443141B2 (en) 2020-02-27 2022-09-13 International Business Machines Corporation Using video tracking technology to create machine learning datasets for tasks
US11430170B1 (en) * 2020-02-27 2022-08-30 Apple Inc. Controlling joints using learned torques
US11130237B1 (en) 2020-03-05 2021-09-28 Mujin, Inc. Method and computing system for performing container detection and object detection
US11964247B2 (en) 2020-03-06 2024-04-23 6d bytes inc. Automated blender system
JP7463777B2 (ja) * 2020-03-13 2024-04-09 オムロン株式会社 制御装置、学習装置、ロボットシステム、および方法
CN111402408B (zh) * 2020-03-31 2023-06-09 河南工业职业技术学院 一种无废料模具设计装置
US11724396B2 (en) * 2020-04-23 2023-08-15 Flexiv Ltd. Goal-oriented control of a robotic arm
HRP20200776A1 (hr) * 2020-05-12 2021-12-24 Gamma Chef D.O.O. Repliciranje obroka putem robotiziranog kuhala
CN111555230B (zh) * 2020-06-04 2021-05-25 山东鼎盛电气设备有限公司 一种用于电力设备的高效除冰装置
CN112199985B (zh) * 2020-08-11 2024-05-03 北京如影智能科技有限公司 一种适用于智慧厨房系统的数字菜谱生成方法及装置
CN111966001B (zh) * 2020-08-26 2022-04-05 北京如影智能科技有限公司 一种生成数字菜谱的方法及装置
JP7429623B2 (ja) * 2020-08-31 2024-02-08 株式会社日立製作所 製造条件設定自動化装置及び方法
CN111973004B (zh) * 2020-09-07 2022-03-29 杭州老板电器股份有限公司 烹饪方法和烹饪装置
JP2022052112A (ja) * 2020-09-23 2022-04-04 セイコーエプソン株式会社 画像認識方法およびロボットシステム
US11645476B2 (en) 2020-09-29 2023-05-09 International Business Machines Corporation Generating symbolic domain models from multimodal data
WO2022075543A1 (ko) * 2020-10-05 2022-04-14 서울대학교 산학협력단 멀티모달센서를 이용한 이상탐지 방법 및 이를 수행하기 위한 컴퓨팅 장치
WO2022074448A1 (en) 2020-10-06 2022-04-14 Mark Oleynik Robotic kitchen hub systems and methods for minimanipulation library adjustments and calibrations of multi-functional robotic platforms for commercial and residential environments with artificial intelligence and machine learning
US11294793B1 (en) * 2020-10-23 2022-04-05 UiPath Inc. Robotic process automation (RPA) debugging systems and methods
CN112327958B (zh) * 2020-10-26 2021-09-24 江南大学 一种基于数据驱动的发酵过程pH值控制方法
US20220152824A1 (en) * 2020-11-13 2022-05-19 Armstrong Robotics, Inc. System for automated manipulation of objects using a vision-based collision-free motion plan
CN113752248B (zh) * 2020-11-30 2024-01-12 北京京东乾石科技有限公司 一种机械臂调度方法和装置
CN112799401A (zh) * 2020-12-28 2021-05-14 华南理工大学 一种端到端的机器人视觉-运动导航方法
CN112668190B (zh) * 2020-12-30 2024-03-15 长安大学 一种三指灵巧手控制器构建方法、系统、设备及存储介质
CN112859596B (zh) * 2021-01-07 2022-01-04 浙江大学 一种考虑编队避障的非线性遥操作多边控制方法
US11514021B2 (en) 2021-01-22 2022-11-29 Cdk Global, Llc Systems, methods, and apparatuses for scanning a legacy database
CN112936276B (zh) * 2021-02-05 2023-07-18 华南理工大学 基于ros系统的类人机器人关节多级控制装置及方法
US11337558B1 (en) * 2021-03-25 2022-05-24 Shai Jaffe Meals preparation machine
WO2022212916A1 (en) * 2021-04-01 2022-10-06 Giant.Ai, Inc. Hybrid computing architectures with specialized processors to encode/decode latent representations for controlling dynamic mechanical systems
CN115218645A (zh) * 2021-04-15 2022-10-21 中国科学院理化技术研究所 一种农产品干燥系统
US11803535B2 (en) 2021-05-24 2023-10-31 Cdk Global, Llc Systems, methods, and apparatuses for simultaneously running parallel databases
CN113341959B (zh) * 2021-05-25 2022-02-11 吉利汽车集团有限公司 一种机器人数据统计方法及其系统
CN113245722B (zh) * 2021-06-17 2021-10-01 昆山华恒焊接股份有限公司 激光切割机器人的控制方法、设备及存储介质
CN113645269B (zh) * 2021-06-29 2022-06-07 北京金茂绿建科技有限公司 毫米波传感器数据传输方法、装置、电子设备和存储介质
CA3227645A1 (en) 2021-08-04 2023-02-09 Rajat BHAGERIA System and/or method for robotic foodstuff assembly
CA3230947A1 (en) * 2021-09-08 2023-03-16 Patrick McKinley JARVIS Wearable robot data collection system with human-machine operation interface
US20230128890A1 (en) * 2021-10-21 2023-04-27 Whirlpool Corporation Sensor system and method for assisted food preparation
CN114408232B (zh) * 2021-12-01 2024-04-09 江苏大学 中央厨房多配菜炒饭的自适应定量分装方法及其装置
US11838144B2 (en) 2022-01-13 2023-12-05 Whirlpool Corporation Assisted cooking calibration optimizer
CN114343641A (zh) * 2022-01-24 2022-04-15 广州熠华教育咨询服务有限公司 一种学习困难干预训练指导方法及其系统
CN115157274B (zh) * 2022-04-30 2024-03-12 魅杰光电科技(上海)有限公司 一种滑模控制的机械臂系统及其滑模控制方法
CN114983598A (zh) * 2022-06-01 2022-09-02 苏州微创畅行机器人有限公司 末端工具更换装置、手术机器人、更换方法及控制设备
US20240015045A1 (en) * 2022-07-07 2024-01-11 Paulmicheal Lee King Touch screen controlled smart appliance and communication network
CN115495882B (zh) * 2022-08-22 2024-02-27 北京科技大学 一种非平坦地形下的机器人运动基元库构建方法及装置
CN117290022B (zh) * 2023-11-24 2024-02-06 成都瀚辰光翼生物工程有限公司 一种控制程序生成方法、存储介质和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6086734A (ja) * 1983-10-19 1985-05-16 Hitachi Ltd 撮像管の製造方法
KR0131875B1 (ko) * 1988-04-01 1998-04-18 에드워드 로체 음식준비씨스템 및 방법
JP2005504259A (ja) * 2001-09-29 2005-02-10 暁林 張 料理法の全情報記録システム及びロボットによる自動料理システム
JP2011108156A (ja) * 2009-11-20 2011-06-02 Japan Science & Technology Agency 料理プロセス指示装置及び料理プロセス指示方法

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5052680A (en) * 1990-02-07 1991-10-01 Monster Robot, Inc. Trailerable robot for crushing vehicles
JPH05108108A (ja) * 1991-05-10 1993-04-30 Nok Corp コンプライアンス制御方法及び制御装置
SE9401012L (sv) * 1994-03-25 1995-09-26 Asea Brown Boveri Robotstyrsystem
JP2000024970A (ja) * 1998-07-13 2000-01-25 Ricoh Co Ltd ロボットシミュレーション装置
US6459526B1 (en) 1999-08-09 2002-10-01 Corning Incorporated L band amplifier with distributed filtering
JP3435666B2 (ja) * 1999-09-07 2003-08-11 ソニー株式会社 ロボット
EP1128503A3 (en) 2000-02-28 2003-08-06 Nortel Networks Limited Optical amplifier stage
US20030074238A1 (en) 2001-03-23 2003-04-17 Restaurant Services, Inc. ("RSI") System, method and computer program product for monitoring supplier activity in a supply chain management framework
JP2002301674A (ja) * 2001-04-03 2002-10-15 Sony Corp 脚式移動ロボット及びその運動教示方法、並びに記憶媒体
US6738691B1 (en) 2001-05-17 2004-05-18 The Stanley Works Control handle for intelligent assist devices
JP3602817B2 (ja) 2001-10-24 2004-12-15 ファナック株式会社 食品盛り付けロボット及び食品盛り付け装置
CN2502864Y (zh) * 2001-10-26 2002-07-31 曹荣华 烹饪机器人
US6570175B2 (en) 2001-11-01 2003-05-27 Computerized Thermal Imaging, Inc. Infrared imaging arrangement for turbine component inspection system
GB2390400A (en) 2002-03-07 2004-01-07 Shadow Robot Company Ltd Air muscle arrangement
GB2386886A (en) 2002-03-25 2003-10-01 Shadow Robot Company Ltd Humanoid type robotic hand
KR100503077B1 (ko) * 2002-12-02 2005-07-21 삼성전자주식회사 자바 실행 장치 및 자바 실행 방법
US20040173103A1 (en) * 2003-03-04 2004-09-09 James Won Full-automatic cooking machine
US7174830B1 (en) 2003-06-05 2007-02-13 Dawei Dong Robotic cooking system
US7436583B2 (en) 2003-09-05 2008-10-14 Sumitomo Electric Industries, Ltd. Optical amplification fiber, optical amplifier module, optical communication system and optical amplifying method
US7324268B2 (en) 2003-11-21 2008-01-29 Bti Photonic Systems Inc. Optical signal amplifier and method
US8276505B2 (en) 2004-02-18 2012-10-02 David Benjamin Buehler Food preparation system
US20070137633A1 (en) 2004-03-05 2007-06-21 Mcfadden David Conveyor oven
US7651525B2 (en) 2004-08-05 2010-01-26 Medtronic Vascular, Inc. Intraluminal stent assembly and method of deploying the same
GB0421820D0 (en) 2004-10-01 2004-11-03 Shadow Robot Company The Ltd Artificial hand/forearm arrangements
US20080058988A1 (en) * 2005-01-13 2008-03-06 Caleb Chung Robots with autonomous behavior
US7673916B2 (en) 2005-08-08 2010-03-09 The Shadow Robot Company Limited End effectors
US8034873B2 (en) * 2006-10-06 2011-10-11 Lubrizol Advanced Materials, Inc. In-situ plasticized thermoplastic polyurethane
US7679536B2 (en) 2007-07-24 2010-03-16 International Business Machines Corporation Method and apparatus for constructing efficient slepian-wolf codes with mismatched decoding
GB0717360D0 (en) 2007-09-07 2007-10-17 Derek J B Force sensors
US8211134B2 (en) 2007-09-29 2012-07-03 Restoration Robotics, Inc. Systems and methods for harvesting, storing, and implanting hair grafts
US8276506B2 (en) * 2007-10-10 2012-10-02 Panasonic Corporation Cooking assistance robot and cooking assistance method
JP5109573B2 (ja) * 2007-10-19 2012-12-26 ソニー株式会社 制御システム及び制御方法、並びにロボット装置
US8576874B2 (en) 2007-10-30 2013-11-05 Qualcomm Incorporated Methods and apparatus to provide a virtual network interface
US8099205B2 (en) 2008-07-08 2012-01-17 Caterpillar Inc. Machine guidance system
US20100076710A1 (en) 2008-09-19 2010-03-25 Caterpillar Inc. Machine sensor calibration system
US9279882B2 (en) 2008-09-19 2016-03-08 Caterpillar Inc. Machine sensor calibration system
US8918302B2 (en) 2008-09-19 2014-12-23 Caterpillar Inc. Machine sensor calibration system
KR101480464B1 (ko) 2008-10-15 2015-01-09 엘지전자 주식회사 스크롤 압축기 및 이를 적용한 냉동기기
GB2467762B (en) 2009-02-13 2013-08-14 Shadow Robot Company Ltd Robotic musculo-skeletal jointed structures
US8483880B2 (en) 2009-07-22 2013-07-09 The Shadow Robot Company Limited Robotic hand
US9181924B2 (en) 2009-12-24 2015-11-10 Alan J. Smith Exchange of momentum wind turbine vane
US9131807B2 (en) 2010-06-04 2015-09-15 Shambhu Nath Roy Robotic kitchen top cooking apparatus and method for preparation of dishes using computer recipies
US8320627B2 (en) 2010-06-17 2012-11-27 Caterpillar Inc. Machine control system utilizing stereo disparity density
US8700324B2 (en) 2010-08-25 2014-04-15 Caterpillar Inc. Machine navigation system having integrity checking
US8781629B2 (en) * 2010-09-22 2014-07-15 Toyota Motor Engineering & Manufacturing North America, Inc. Human-robot interface apparatuses and methods of controlling robots
US8751103B2 (en) 2010-11-22 2014-06-10 Caterpillar Inc. Object detection system having interference avoidance strategy
US8744693B2 (en) 2010-11-22 2014-06-03 Caterpillar Inc. Object detection system having adjustable focus
US20120277914A1 (en) 2011-04-29 2012-11-01 Microsoft Corporation Autonomous and Semi-Autonomous Modes for Robotic Capture of Images and Videos
US8912878B2 (en) 2011-05-26 2014-12-16 Caterpillar Inc. Machine guidance system
US9566710B2 (en) 2011-06-02 2017-02-14 Brain Corporation Apparatus and methods for operating robotic devices using selective state space training
US20130006482A1 (en) 2011-06-30 2013-01-03 Ramadev Burigsay Hukkeri Guidance system for a mobile machine
US8856598B1 (en) * 2011-08-05 2014-10-07 Google Inc. Help center alerts by using metadata and offering multiple alert notification channels
DE102011121017A1 (de) 2011-12-13 2013-06-13 Weber Maschinenbau Gmbh Breidenbach Vorrichtung zur Verarbeitung von Lebensmittelprodukten
KR20130090585A (ko) 2012-02-06 2013-08-14 삼성전자주식회사 착용형 로봇과 이를 이용한 모션 학습 방법
JP2013163247A (ja) 2012-02-13 2013-08-22 Seiko Epson Corp ロボットシステム、ロボット、ロボット制御装置およびロボット制御方法
US20130245823A1 (en) 2012-03-19 2013-09-19 Kabushiki Kaisha Yaskawa Denki Robot system, robot hand, and robot system operating method
CN104519746B (zh) 2012-06-06 2017-04-05 动力机械公司 分配配料的系统和方法
US9295282B2 (en) 2012-06-06 2016-03-29 Momentum Machines Company System and method for dispensing toppings
US9295281B2 (en) 2012-06-06 2016-03-29 Momentum Machines Company System and method for dispensing toppings
US9326544B2 (en) 2012-06-06 2016-05-03 Momentum Machines Company System and method for dispensing toppings
US20130343640A1 (en) * 2012-06-21 2013-12-26 Rethink Robotics, Inc. Vision-guided robots and methods of training them
US20140122082A1 (en) * 2012-10-29 2014-05-01 Vivotext Ltd. Apparatus and method for generation of prosody adjusted sound respective of a sensory signal and text-to-speech synthesis
US10068273B2 (en) 2013-03-13 2018-09-04 Creator, Inc. Method for delivering a custom sandwich to a patron
US9718568B2 (en) 2013-06-06 2017-08-01 Momentum Machines Company Bagging system for packaging a foodstuff
IN2013MU03173A (ko) * 2013-10-07 2015-01-16
SG2013075338A (en) * 2013-10-08 2015-05-28 K One Ind Pte Ltd Set meal preparation system
KR102161783B1 (ko) 2014-01-16 2020-10-05 한국전자통신연구원 초고해상도 얼굴 동영상 데이터베이스를 이용한 서비스 로봇 얼굴인식 성능 평가 시스템 및 방법
US10206539B2 (en) 2014-02-14 2019-02-19 The Boeing Company Multifunction programmable foodstuff preparation
WO2015125017A2 (en) * 2014-02-20 2015-08-27 Mark Oleynik Methods and systems for food preparation in a robotic cooking kitchen
US10039513B2 (en) * 2014-07-21 2018-08-07 Zebra Medical Vision Ltd. Systems and methods for emulating DEXA scores based on CT images
US10217528B2 (en) * 2014-08-29 2019-02-26 General Electric Company Optimizing state transition set points for schedule risk management

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6086734A (ja) * 1983-10-19 1985-05-16 Hitachi Ltd 撮像管の製造方法
KR0131875B1 (ko) * 1988-04-01 1998-04-18 에드워드 로체 음식준비씨스템 및 방법
JP2005504259A (ja) * 2001-09-29 2005-02-10 暁林 張 料理法の全情報記録システム及びロボットによる自動料理システム
JP2011108156A (ja) * 2009-11-20 2011-06-02 Japan Science & Technology Agency 料理プロセス指示装置及び料理プロセス指示方法

Also Published As

Publication number Publication date
CN107343382A (zh) 2017-11-10
AU2020226988B2 (en) 2022-09-01
US20200030971A1 (en) 2020-01-30
CN112025700A (zh) 2020-12-04
AU2022279521A1 (en) 2023-02-02
KR102286200B1 (ko) 2021-08-06
JP2022115856A (ja) 2022-08-09
US11707837B2 (en) 2023-07-25
US10518409B2 (en) 2019-12-31
SG11201701093SA (en) 2017-03-30
KR102586689B1 (ko) 2023-10-10
SG10202000787PA (en) 2020-03-30
KR20210097836A (ko) 2021-08-09
AU2015311234B2 (en) 2020-06-25
JP7117104B2 (ja) 2022-08-12
AU2015311234A1 (en) 2017-02-23
US11738455B2 (en) 2023-08-29
WO2016034269A1 (en) 2016-03-10
AU2020226988A1 (en) 2020-09-17
US20220305648A1 (en) 2022-09-29
RU2017106935A3 (ko) 2019-02-12
US20160059412A1 (en) 2016-03-03
CN107343382B (zh) 2020-08-21
EP3188625A1 (en) 2017-07-12
CA2959698A1 (en) 2016-03-10
KR20170061686A (ko) 2017-06-05
RU2756863C2 (ru) 2021-10-06
JP2017536247A (ja) 2017-12-07
RU2017106935A (ru) 2018-09-03

Similar Documents

Publication Publication Date Title
AU2020226988B2 (en) Robotic manipulation methods and systems for executing a domain-specific application in an instrumented environment with electronic minimanipulation libraries
EP3107429B1 (en) Methods and systems for food preparation in a robotic cooking kitchen
US11345040B2 (en) Systems and methods for operating a robotic system and executing robotic interactions
CN108778634B (zh) 包括机器人、存放装置及其容器的机器人厨房
US20230031545A1 (en) Robotic kitchen systems and methods in an instrumented environment with electronic cooking libraries

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant