KR20220088751A - 복잡한 워크플로를 위한 로봇 장비를 사용한 다중 프로세스의 자동화된 제어 - Google Patents

복잡한 워크플로를 위한 로봇 장비를 사용한 다중 프로세스의 자동화된 제어 Download PDF

Info

Publication number
KR20220088751A
KR20220088751A KR1020227017212A KR20227017212A KR20220088751A KR 20220088751 A KR20220088751 A KR 20220088751A KR 1020227017212 A KR1020227017212 A KR 1020227017212A KR 20227017212 A KR20227017212 A KR 20227017212A KR 20220088751 A KR20220088751 A KR 20220088751A
Authority
KR
South Korea
Prior art keywords
workflow
tasks
path
data
schedule
Prior art date
Application number
KR1020227017212A
Other languages
English (en)
Inventor
조나단 디. 댐브만
코리 맥코이
앤드류 스티브스
프라바커 헨리
윌리엄 버그
Original Assignee
바이오세로 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 바이오세로 인코포레이티드 filed Critical 바이오세로 인코포레이티드
Publication of KR20220088751A publication Critical patent/KR20220088751A/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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/41865Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by job scheduling, process planning, material flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • 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/32Operator till task planning
    • G05B2219/32287Medical, chemical, biological laboratory
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39167Resources scheduling and balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Manufacturing & Machinery (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • General Factory Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Apparatus Associated With Microorganisms And Enzymes (AREA)
  • Automatic Analysis And Handling Materials Therefor (AREA)

Abstract

실험실 워크플로에서 로봇 장치 사용을 완전히 자동화하기 위한 접근 방식에는 이러한 워크플로와 관련된 과업 및 장비를 자동화하기 위한 시퀀스를 정의하고 겟, 핸드오프 및 배치 절차를 해석하는 각 순서에 대한 경로를 계산하는 것이 포함된다. 이 접근 방식은 각 장치 내에서 및 장치 간에 해석된 경로를 실행하는 일정을 개발한다. 이 접근 방식에는 사용자가 장치를 드래깅 및 드롭하여 그들을 자동으로 구성하고, 이들 장치들에 의해 수행된 작업들을 정의하고, 실험실 워크플로를 실행하는 사용하기 쉬운 인터페이스가 제공된다. 인터페이스는 또한 워크플로의 진행 상황을 모니터링하고 필요에 따라 수정 및 조정하는 기능을 제공한다.

Description

복잡한 워크플로를 위한 로봇 장비를 사용한 다중 프로세스의 자동화된 제어
상호 참조
[001] 이 일부 계속 출원(continuation-in-part application)은 35 U.S.C. § 120에 따라 2019년 11월 5일자로 출원된 미국 가출원 제16/674,704호의 출원 일자의 우선권을 주장하며, 그 내용 전체가 참고로 여기에 포함된다.
발명의 분야
[002] 본 발명은 로봇 및 통합 로봇 프로세스 분야에 관한 것이다. 구체적으로, 본 발명은 로봇 장비에 의해 수행되는 다중 프로세스를 통합하는 시스템 및 방법, 통합된 프로세스의 스케줄링에 관한 것이며, 특히 생명과학 분야에서 실험실 작업(task) 및 실험의 수행에서 그러한 로봇 장비를 포함하는 워크플로(workflow)의 자동화된 제어를 위한 것이다.
발명의 배경
[003] 로봇 장비와 관련된 실험실 과업 및 실험과 같은 활동을 자동화하는 기존 접근 방식이 많이 있다. 이러한 기존 접근 방식은 일반적으로 단일 작업셀(single workcell) 또는 단일 로봇의 수행 자동화에 중점을 두고 있으며 활동에 하나 이상의 로봇 장치 사용이 포함되는지 여부에 관계없이 어려운 설정 프로세스에 의해 제약을 받는다. 이러한 기존 접근 방식은 여러 장치의 통합 및 복잡한 워크플로(sophisticated workflow)의 수행 또는 상이한 유형의 로봇들에 의해 수행되는 상이한 워크스테이션을 포함하는 프로세스를 위해 달성되어야 하는 다중 경로의 식별 및 스케줄링을 고려하지 않아서 확장성(scalability)이 제한된다. 이러한 기존 접근 방식은 로봇 장비 풀링 및 동시에 기기 세트가 다중의 방법에 의해 공유되는 완전히 인터리브된(interleaved) 프로세스 허용의 어려움에 의해 더욱 제한된다.
[004] 기존 접근 방식은 제한된 처리(throughput) 또는 볼륨(volume) 능력(capability), 광범위한 사람의 감독이 필요하기 때문에 필요한 큰 워크-어웨이(walk-away) 시간, 힘든 설정 시간 및 위에서 언급한 제한된 확장 기능으로 인해 제한을 받는다. 이러한 접근 방식이 특정 생명과학 응용분야에서 활용되는 경우, 사용된 실험실 샘플 및 장비 추적, 액체 취급 및 복잡한 요구 사항이 있는 분석 단순화의 제한으로 인해 더욱 방해를 받는다. 또한 생명과학 응용(application)은 종종 민감한 재료의 처리와 관련되어 있어 신뢰할 수 있고 정확한 프로세스를 유지 관리하는 데 필요한 모니터링과 주의(diligence)로 인해 워크플로 자동화를 어렵게 만든다. 또한, 워크플로가 성공적으로 자동화된 경우, 운송 경로는 단일 경로로 고정되고 경로의 동적 JIT(just in time) 계산 및 우선순위 재지정을 지원하지 않는다.
발명의 요약
[005] 따라서, 본 발명의 하나의 목적은 로봇 장비를 포함하는 워크플로를 통합하기 위한 시스템 및 방법을 제공하는 것이다. 본 발명의 다른 목적은 그러한 워크플로의 수행에서 통합 과업을 스케줄링하는 시스템 및 방법을 제공하는 것이다. 본 발명의 또 다른 목적은 로봇 장비의 유형 또는 제조업체와 같은 하드웨어 장치에 대해 애그노스틱(agnostic)한 복잡한 프로세스의 수행에서 워크스테이션의 자동화된 제어를 위한 시스템 및 방법을 제공하는 것이다. 본 발명의 또 다른 목적은 사용자가 프로세스를 신속하게 설계 및 수정하고 이러한 워크플로에 대한 분석 데이터에 액세스할 수 있게 하는 인터페이스를 포함하는 이러한 워크플로의 수행을 통합 및 스케줄링하는 시스템 및 방법을 제공하는 것이다.
[006] 본 발명의 또 다른 목적은 실험실 과업의 수행을 포함하는 생명 과학 응용에서 워크플로의 수행을 통합하고 스케줄링하는 시스템 및 방법을 제공하는 것이다. 본 발명의 또 다른 목적은 사용자가 그러한 실험실 과업 및 로봇 장비를 포함하는 작업 흐름에서 복잡한 액체 처리 프로토콜을 관리할 수 있도록 하는 것이며, 화합물 관리, 높은 처리량 및 콘텐츠 스크리닝, 세포 및 조직 배양, 게놈 시퀀싱, 면역 분석 추적 및 컴파일을 포함하는 다양한 생명과학 응용에 대한 그러한 워크플로를 자동화하는 것이 또 다른 목적이다.
[007] 본 발명의 또 다른 목적은 생명과학 분야 이외의 응용을 위한 로봇 워크플로의 통합 및 스케줄링을 자동화하는 것이다. 이러한 비생명 과학 응용 프로그램의 예로는 소비재 포장 및 선적, 안전하고 효과적인 사람 운송 촉진, 비행기, 자동차 및 상업용 선박과 같은 고도로 복잡한 다중 부품 산업 제품 제조의 관리를 포함하지만 이에 제한되지는 않는다.
[008] 본 발명은 실험실 작업 흐름의 수행에서 다중 로봇 장치의 통합과 이러한 작업 흐름을 실행하는 과정을 함께 구성하는 과업 또는 작업셀의 스케줄링 모두를 완전히 자동화하기 위한 접근 방식을 제공한다. 이 접근 방식은 사용자가 이러한 워크플로를 포함하는 여러 과업 또는 작업셀(workcell)에서 수행할 장비 및 작업(operation)을 정의할 수 있도록 하는 하나 이상의 시스템 및 방법에서 수행된다. 따라서 본 발명은 장치의 제어를 자동화하고 이러한 실험실 워크플로를 정의하는 작업을 실행하기 위한 경로를 해석하기 위한 도구이다. 본 발명은 단일 또는 다중 로봇 구성에서 사용될 수 있고 단일 경로 또는 다중 경로에서 작업셀 과업(task)의 해석(resolution)을 포함할 수 있다.
[009] 또한, 본 발명은 사용자가 장치 또는 로봇을 드래그 앤 드롭하여 자동으로 구성하고, 이들 장치에서 수행할 작업을 정의한 다음, 이러한 작업을 포함하는 프로세스를 실행하는 사용하기 쉬운 인터페이스를 제공한다. 인터페이스는 또한 프로세스의 진행 상황을 모니터링하고 수행 중에 필요에 따라 수정(modification) 및 조정(adjustment)하는 기능을 제공한다.
[010] 본 발명은 또한 복잡한 생명과학 과업의 완료를 포함하는 활동 이외의 활동에서 로봇 워크플로에 널리 적용할 수 있다. 예를 들어, 본 발명의 일정 및 통합 측면은 다수 피스(piece)의 로봇 장비를 포함하는 산업 활동의 수행 또는 이러한 장비에 의해 수행되는 프로세스, 예를 들어 소비재 포장, 소비자 주문에 대응하여 패키지를 준비하고 배송하는 것, 또는 인간 운송 시스템과 같은 곳에 적용될 수 있다.
[011] 본 발명의 다른 목적, 구체예들, 특징 및 이점은 예로서 본 발명의 원리를 예시하는 첨부 도면과 함께 제시된 구체예들의 다음 설명으로부터 명백해질 것이다.
도면의 간략한 설명
[012] 본 명세서에 포함되고 그 일부를 구성하는 첨부 도면은 본 발명의 여러 구체예를 예시하고 설명과 함께 본 발명의 원리를 설명하는 역할을 한다.
[013] 도 1은 본 발명의 일 측면에 따라 로봇 장비에 의해 수행되는 다수의 과업 또는 작업셀을 통합하고 워크플로의 스케줄링 및 자동화 제어를 위한 프로세스에 대한 시스템 다이어그램이다.
[014] 도 2는 본 발명의 일 측면에 따라 로봇 장비에 의해 수행되는 다수의 과업 또는 작업셀을 통합하고 워크플로의 스케줄링 및 자동화된 제어를 위한 프로세스에서 수행되는 단계의 흐름도이다.
[015] 도 3은 본 발명의 다른 측면에 따라 로봇 장비에 의해 수행되는 다수의 과업 또는 작업셀을 통합하고 워크플로의 스케줄링 및 자동화 제어를 위한 프로세스에서 수행되는 단계의 흐름도이다.
[016] 도 4는 본 발명의 일 측면에 따른 워크플로를 수행할 때 경로를 해석하고 전송의 우선순위를 지정하기 위한 프로세스에서 수행되는 단계의 흐름도이다.
발명의 상세한 설명
[017] 본 발명의 다음 설명에서 본 발명의 원리 및 본 발명이 실시되는 방법을 예시하는 예시적인 구체예를 참조한다. 다른 구체예는 본 발명을 실시하기 위해 이용될 것이며, 본 발명의 범위를 벗어나지 않으면서 구조적 및 기능적 변경이 이루어질 것이다.
[018] 도 1은 로봇 장비(112)에 의해 수행되는 다수의 작업 또는 작업셀(102)을 통합하고 이러한 통합된 작업셀(102)을 포함하는 워크플로(104)의 제어 및 수행을 스케줄링하고 자동화하기 위한 프로세스(100)의 시스템 다이어그램이다. 본 발명의 프로세스(100)는 여러 구성요소를 포함하는 하나 이상의 시스템 및/또는 방법 내에서 수행되며, 그 각각은 여러 과업(task) 및 실험을 포함하는 복잡한 실험실 워크플로(104)를 수행하는데 관련된 다른 장치 및 작업(operation), 활동과 기능을 정의한다.
[019] 프로세스(100)는 로봇(106)에 의해 수행되는 워크플로(104)의 통합, 스케줄링 및 실행에 관한 여러 유형의 정보를 포함하는 입력 데이터(110)를 수신, 수집, 요청 또는 획득한다. 입력 데이터(110)는 로봇 워크플로(102)의 수행을 위한 자동화 장비(112)의 피스(piece)들을 정의하고 식별하는 장비 데이터(111)를 포함할 수 있다. 장비 데이터(111)는 장치 드라이버(113) 및 장치 사양(114)을 더 포함하거나, 장비 데이터(111)가 수신되고 프로세스(100)가 시작될 때 이러한 정보를 얻기 위해 프로세스(100)에 대한 참조 마커를 제공할 수 있다. 입력 데이터(110)는 또한 워크플로(104)의 수행에 필요한 하나 이상의 특정 과업(specific tasks), 작업셀, 또는 워크스테이션(102)을 정의하는 작동 데이터(operational data)(115)를 포함할 수 있다. 작동 데이터(operational data)(115)는 하나 이상의 과업(102) 각각에 대해 및/또는 워크플로(104)의 각 단계에서 사용될 장비(112)의 피스에 대한 하나 이상의 매개변수의 식별을 더 포함할 수 있으며, 또한 하나 이상의 과업(102)을 수행하는데 사용되는 배치 네스트(placement nests), 스테이션 및 운송 모드(transport modes) 또는 비히클(인간 포함)의 식별, 하나 이상의 과업(102) 수행에 사용되는 랩웨어 또는 기타 아이템 식별, 배치 네스트에서 플레이트 하중 방향 식별, 그리고 배치 네스트, 스테이션 및 운송 모드로부터, 그것을 향하여, 및 그 사이에서, 랩웨어 또는 기타 아이템을 전송하기 위한 그립 사양 식별을 포함할 수 있다. 입력 데이터(110)는 또한 콘텐츠 또는 재료 사양(117)을 포함할 수 있는 생물학적 또는 다른 콘텐츠 데이터(116)를 포함할 수 있거나, 콘텐츠 데이터(116)가 수신되고 프로세스(100)가 시작될 때 프로세스(100)가 이러한 정보를 획득하기 위한 참조 마커를 제공할 수 있다. 예를 들어, 그러한 콘텐츠 데이터(116)는 조직, 혈액, 소변 또는 샘플, 또는 테스트할 다른 유형의 생물학적 재료를 포함하는 것과 같은 샘플 식별을 포함한다. 콘텐츠(116)가 실험실 또는 생명 과학 워크플로(104)와 관련된 경우, 모든 유형의 생물학적 콘텐츠 또는 재료가 식별될 수 있으므로 본 발명은 본원에 기술된 특정 유형의 콘텐츠 또는 재료에 제한되지 않는다.
[020] 입력 데이터(110)는 예를 들어 타이밍 데이터(118)와 같은 워크플로(104)를 수행하는 데 수반되는 다른 아이템을 더 포함할 수 있다. 타이밍 데이터(118)는 예를 들어, 콘텐츠(116)가 워크플로(104)의 결과가 더 이상 유효하지 않은 지점으로 퇴화(deteriorate)되기 전에 분석되는 것을 보장하기 위해 워크플로(100) 내에서 하나 이상의 과업이 수행되는 때를 정의하기 위해 포함될 수 있다. 타이밍 데이터(118)는 인터페이스(190) 상에서 사용자에 의해 입력될 수 있거나, 예를 들어 콘텐츠 또는 재료 사양(117)으로부터 하나 이상의 다른 유형의 입력 데이터(110)로부터 유도될 수 있다.
[021] 다른 입력 데이터(110)는 LIMS(실험실 정보 관리 시스템) 데이터(119) 및 ELN(전자 실험 노트북) 데이터(120)와 같은 제3자 데이터를 포함할 수 있다. 프로세스(100)는 이러한 제3자 소스로부터 입력 데이터(110)를 임포트(import)할 뿐만 아니라, 본원에 추가로 언급되는 바와 같이 출력 데이터(170)를 그러한 제3자 소스로 익스포트(export)하도록 구성될 수 있다.
[022] 입력 데이터(110)는 하나 이상의 프로세서(132), 복수의 소프트웨어 및 하드웨어 구성요소, 및 특정 프로세싱 기능을 수행하도록 구성된 하나 이상의 모듈식 소프트웨어 및 하드웨어 패키지를 또한 포함하는 컴퓨팅 환경(130) 내의 복수의 데이터 처리(processing) 구성요소(140)에 적용된다. 하나 이상의 프로세서(132), 복수의 소프트웨어 및 하드웨어 구성요소, 및 하나 이상의 모듈식 소프트웨어 및 하드웨어 패키지는 프로그램 명령을 실행하여 본원에 상세히 설명되고 하나 이상의 데이터 처리 모듈(140)에 구현된(embodied) 다양한 기능들에 대한 알고리즘을 수행하도록 구성된다.
[023] 복수의 데이터 처리 구성요소(140)는 위에서 언급한 바와 같이 입력 데이터(110)를 수신, 수집, 요청 또는 획득하고 프로세스(100)를 초기화하도록 구성된 데이터 수신 및 초기화 구성요소(141)를 포함한다. 복수의 데이터 처리 구성요소(140)는 또한 워크플로(104) 내에서 작업셀(102)을 수행하기 위한 장치 및 작동 정보를 컴파일하고 워크플로(104)의 수행에서 특정 로봇(또는 로봇들)(106)이 작동하는 것을 함께 정의하는 겟, 핸드오프 및 풋(get, handoff, and put) 시퀀스를 생성하도록 수성된 통합 구성요소(142)를 포함한다. 통합 구성요소(142)는 각 로봇(106)에 대한 출발지(origin), 목적지(destination), 아이템 식별자(item identifier)(157)를 지정하는 운송 요청(transportation request)(145)을 생성함으로써 이러한 시퀀스(143)의 생성을 시작하는 실행 엔진(execution engine)(144)을 포함한다.
[024] 복수의 데이터 처리 구성요소(140)는 통합 구성요소(142)로부터의 출발지 및 목적지 정보가 각각의 워크스테이션 또는 작업셀(102) 및 로봇(106)에 대해 평가되는 경로 해석 구성요소(path resolution component)(146)를 더 포함한다. 경로 해석 구성요소(146)는 통합 구성요소(142)로부터 운송 요청(145)을 수신하고 운송 요청(145)을 해결하기 위한 데이터세트의 쿼리를 포함하는 하나 이상의 경로 해석기(path resolvers)(158)를 실행하고 경로 해석기(158)로부터의 결과, 그리고 최적 경로(147) 및 겟(get), 핸드오프(handoff) 및 풋(put) 시퀀스(143)를 포함하는 세그먼트(148)를 결정하기 위한 데이터세트 쿼리(dataset queries)로부터 획득된 정보를 분석한다. 경로 해석기(158)는 단일 로봇(106) 또는 다수의 로봇(106)에 대한 데이터를 포함할 수 있고 로봇(106) 사이의 핸드오프 프로토콜을 정의할 수 있을 뿐만 아니라 아래에서 추가로 논의되는 바와 같이 로봇 트랙, 로봇 이동성, 인간 개입 등과 같은 특성을 설명할 수 있다.
[025] 경로(147)는 통합 구성요소(142)와 함께 경로 해석 구성요소(path resolution component)(146)에 의해 본 발명에서 해석(resolve)되고, 우선순위가 지정되고, 평가된다. 경로(147)는 이러한 장비(112)를 포함하는 기기에서 시작하고 종료되며, 경로 해석 구성요소(path resolution component)(146)는 경로 해석기(path resolvers)(158)를 실행하여 경로 해석, 우선 순위 지정 및 운송 요청(145)을 수행하기 위한 일련의 겟, 핸드오프 및 풋 시퀀스(143)에 도달하는 상이한 단계들을 사용한 평가를 수행한다는 것을 이해해야 한다. 이는 어느 로봇(106)이, 있다고 하면, 네스트에 접근할 것인지 뿐 아니라 임의의 스테이션들이 로봇(106)에 직접적으로 또는 다른 로봇들을 경유하여 접근할 수 있는지 결정하기 위한 경로(147)에서 식별된 각 장비(112)의 속성을 조회(query)하는 것을 포함한다. 스테이션은 기기가 아닌 픽업/드롭-오프(pickup/drop-off) 위치를 말하며 트랙 또는 컨베이어 시스템, 자율 차량, 기타 로봇 또는 경로 세그먼트(path segment)(148) 사이에서 랩웨어(labware)를 전달하기 위한 경로(147)의 일부인 사람에 의해 사용된다.
[026] 경로(147)는 가용한 경로 해석기(158)의 집합에 의해 해석(resolve)되며, 이는 겟, 핸드오프 및 풋 시퀀스(143)에서 하나의 기기(instrument) 또는 장비의 피스(piece)로부터 하나의 아이템(item)을 다음으로 이송하도록 취해질 수 있는 가용한 경로들(147)을 분석하도록 구성된 알고리즘들이다. 이러한 경로 해석기(158)는 단일 로봇 경로 해석기(single robot path resolver)를 포함하며, 여기서 출발지 기기와 목적지 기기는 장비(112)의 두 피스(piece)에 모두 액세스하기 위해 단일 로봇 전송이 사용될 수 있는지를 결정하기 위해 검사된다. 그렇다면, 경로 해석 구성요소(146)는 해당 로봇(106)에 대한 시퀀스(143)의 단순 조합으로 정의된 경로(147)를 반환한다. 이것은 운송 요청(145)을 실행할 때 최적의 전송 시간을 제공하고, 따라서 본 발명은 경로 해석 프로파일(path resolution profile)(150)에서 그러한 경로(147)에 우선순위를 부여한다.
[027] 경로 해석기(158)는 또한 다중 로봇 경로 해석기(multi-robot path resolver)를 포함하며, 이는 경로(147)가 다중 로봇 간 핸드오프 세그먼트(148)를 사용하여 생성될 수 있는지 여부를 결정한다. 유효한 경로를 결정하기 위해, 출발지 로봇(106)은 목적지에 대한 모든 가능한 경로가 발견될 때까지 역추적(backtracking) 없이 재귀적으로(recursively) 다른 로봇에 액세스 가능한 핸드오프 스테이션을 기반으로 각각 평가된다. 모든 이용 가능한 경로는 A* 등과 같은 경로 찾기 알고리즘을 적용하여 우선순위로 고려되고 정렬되며, 경로 해석 구성요소(146)는 경로 해석 프로파일(150)에 대한 우선순위가 지정된 경로(147)를 반환한다.
[028] 경로 해석기(158)는 또한 다중 로봇 경로 해석기의 동일한 로봇 전송 능력을 평가하는 고급 전송 해석기를 포함하고, 트랙/컨베이어 운송을 위한 스테이션 간 전송(여기서 랩웨어는 스테이션에서 스테이션으로 선형 트랙 기반 시스템 사용), 랩웨어를 스테이션에서 스테이션으로 옮기는 데 사용되는 자율 차량, 스테이션에서 스테이션으로 랩웨어를 옮기도록 지시할 수 있는 인간을 더 포함한다. 이러한 고급 전송 해석기에서 기본 우선 순위(default prioritization)는 다음과 같이 정렬된다. 트랙/컨베이어 경로(147)는 더 적은 수의 로봇 이동을 필요로 하는 경우 다중 로봇 경로(147)보다 우선한다(여기서 바쁜 플랫폼에서 처리량(throughput)을 최대화하기 위해 이 운송이 성공하기 위해 잠글 필요가 있는 로봇(106)의 수가 최소화된다). 로봇 및 트랙/컨베이어 경로(147)는 자율 차량 또는 인간을 포함하는 임의의 다른 경로(147)보다 우선순위를 갖는다. 또한, 인간을 포함하지 않는 경로(147)는 인간을 포함하는 임의의 경로(147)보다 우선순위를 갖는다. 이러한 방식으로, 경로 해석 구성요소(146)는 경로 해석기(158)를 적용함으로써 해석된 경로(147)의 우선순위를 정할 수 있다. 이러한 우선순위 지정 규칙(prioritization rules)은 특별한 경우 또는 고유한 구성, 예를 들어 지원 툴(191) 및/또는 사용자 인터페이스(190)를 사용하여 수정, 조정, 추가 또는 오버라이딩(overriding)될 수 있음을 이해해야 한다.
[029] 위에서 언급된 바와 같이, 경로 해석 구성요소(146)는 예를 들어 그래프 및 트리 노드 또는 트리 검색 알고리즘과 같은 가능한 최단 경로(147)를 모델링하기 위해 하나 이상의 알고리즘을 적용함으로써 경로 해석 프로파일(150)에 대한 우선 순위가 지정된 경로(147)를 반환한다. 경로 해석기에 의해 활용될 수 있는 그러한 알고리즘의 예로는 A*, Dijkstra의 알고리즘, 그 변형, 및 시간적 제약 조건(temporal constraints)이 모델링되는 경우 제약 조건 하에서 경로를 해석(resolve)하는 기타 유사한 접근 방식이 있다. 본 발명의 제약 조건에는 로봇 간의 물리적 거리와 같은 공간적 제약 조건보다 최단 시간에 과업을 수행하는 경로(147)의 로봇에 더 큰 우선 순위의 비중이 할당되는 시간적 특성의 우선 순위 지정이 포함된다. 이러한 알고리즘은 필요한 로봇의 수와 관련하여 위에서 설명한 기본 우선순위 지정 규칙에 따라 경로를 해석하며, 이에 의해 단일 로봇 경로는 다중-로봇 경로(147)보다 우선 순위가 높고, 이는 또 트랙/컨베이어 경로(147)보다 우선 순위가 높지만, 다중-로봇 전송이 2개를 초과하는 로봇 전송(transfer)을 요고할 때만 그러하다. 다중-로봇 경로(147) 및 트랙/컨베이어 경로(147)는 둘 다 자율 지상 차량(autonomous ground vehicle)(AGV) 또는 인간을 포함하는 임의의 다른 경로(147)보다 우선순위를 갖는다. 예를 들어, 필요한 로봇의 수를 고려하는 기본 우선순위 지정과 관련하여, 경로 해석 구성요소(146)는 시작점에서 끝점까지 도달하는 데 필요한 로봇 핸드오프의 수에 의해 측정된 최단 거리(shortest distance)를 계산한다. 시간적 측정(temporal measurements)이 제약 조건으로 추가되는 경우, 프로세스(100)는 각 로봇(106)이 플레이트를 이동해야 하는 시간을 나타내는 이력 시간 기록(historical time records)을 수집(ingest) 및 분석할 수 있으며, 필요한 로봇(106)의 수와 함께 이러한 시간을 추가하여 각 경로(147)의 길이를 평가할 수 있다.
[030] 각각의 경로(147)에 대해, 본 발명은 또한 운송 요청(transportation request)(145)을 수행하고 경로 해석 프로파일(150)을 구축하기 위해 시퀀스(143)를 완료하기 위한 추가적인 측면을 결정하기 위해 여러 평가를 수행한다. 여기에는 경로(147)를 따라 이동하는 각각의 로봇에 대한 랩웨어 매개변수를 평가하는 것이 포함된다. 랩웨어 매개변수를 평가할 때 식별된 각 랩웨어 또는 아이템(item) 유형에 대해 본 발명은 파지력(grip force)을 결정한다. 파지력이 지정되고 로봇(106)이 조정 가능한 파지력이 있는 경우 시퀀스(143)의 각 그립 작업은 기본 로봇 파지력보다는 지정된 파지력으로 매개변수화된다. 결정된 추가 매개변수는 각 랩웨어 또는 아이템 유형에 대한 그립 오프셋이다. 임의의 지정된 그립 오프셋이 시퀀스(143) 동안 관련 지점에 추가되어 랩웨어가 올바른 위치에서 적절하게 그립될 수 있도록 보장한다. 대부분의 랩웨어의 경우 이는 단순히 그립 높이 차이이지만, 전체 직교 x, y, z, 요, 피치, 롤 포인트는 작업셀(102)에 필요한 특정 그립을 수행하기 위해 지정될 수도 있다.
[031] 특정 그립 오프셋이 네스트별로 정의되고, 그립 오프셋이 출발지 네스트와 목적지 네스트 간에 다른 경우, 표준 또는 미리 정의된 픽-앤-플레이스(pick-and-place)보다는 시퀀스(143)에서 재파지 시퀀스가 계산되어 사용된다. 재파지 순서가 필요한 경우, 재파지 네스트의 가용성이 결정되고, 사용 가능한 경우, 다음 재파지 단계가 대기열에 추가된다: 소스 네스트 랩웨어 그립 오프셋이 있는 출발지 네스트에서 픽; 소스 네스트 랩웨어 그립 오프셋으로 재파지 네스트에 플레이스(palce); 목적지 재파지 오프셋으로 재파지 네스트로부터 픽, 및 목적지 재파지 오프셋으로 목적지 네스트에 플레이스. 그렇지 않고 재파지 네스트가 없고 일치하는 방향이 없는 경우, 경로(147)는 불가능한 것으로 결정되고 경로 해석 프로파일(150)에서 실행에 사용할 수 없다.
[032] 본 발명은 또한 네스트에서 플레이트 하중 방향의 평가를 수행한다. 츨발지 네스트 방향(예: 세로, 가로, 세로 반전, 가로 반전)이 식별되고 목적지 방향과 비교된다. 출발지 또는 목적지가 다중의 방향을 지원하고 사용할 수 있는 일치하는 방향이 있는 경우 이러한 일치하는 방향을 사용하여 다시 재파지(re-grip)할 필요가 없다. 출발지와 목적지가 일치하지 않고 재파지 네스트(re-grip nest)를 사용할 수 있는 경우, 표준 픽-앤-플레이스(pick-and-place) 단계가 아닌 다음 재파지 단계가 대기하여 그리퍼에서 플레이트 방향을 변경한다: 출발지 방향에서 출발지로부터 픽(pick); 출발지 방향에서 재파지에 플레이스(place); 재파지 네스트 목적지 방향으로부터 픽; 및 목적지 방행에서 목적지로부터 플레이스. 그렇지 않고 재파지 네스트가 없고 일치하는 방향이 없는 경우 경로(147)는 불가능한 것으로 결정되고 경로 해석 프로파일(150)에서 실행에 사용할 수 없게 될 것이다.
[033] 경로 해석 구성요소(146)는 경로 실행 관리자(path execution manager)(149)를 더 포함할 수 있으며, 이는 필요한 장치(예: 로봇(106), 비히클, 또는 네스트, 스테이션 및 비히클/장치 간의 랩웨어 및 기타 아이템의 운송 및 운반에 관련된 기타 장치)를 예약하거나 잠그고, 경로 해석 프로파일(150) 내의 워크플로(104) 내에서 실행을 위한 경로(147)의 하나 이상의 세그먼트(148)를 정의한다. 경로 해석 프로파일(150)은 최적 경로(147) 및 경로 해석 구성요소(146)에서 계산된 세그먼트(148)에 따라 워크플로(104)가 어떻게 수행되는지 정의한다. 경로 해석 프로파일(150)은 각 작업셀(102)에 대해 그리고 경로(147)에 관련된 각 로봇(106) 사이에 겟, 핸드오프 및 풋 시퀀스(143)를 지정함으로써 연관된 운송 요청(145)을 수행하는 데 사용된다.
[034] 경로 해석 프로파일(150)은 프로세스(100) 내의 하나 이상의 운송 요청(145)에서 작업셀(102)에 대한 겟, 핸드오프 및 풋 시퀀스(143)를 수행하는 워크플로(104)의 실행 명령(160)은 물론 다른 출력 데이터(170)의 생성을 포함할 수 있다. 경로 해석 프로파일(150)은 워크플로 실행 구성 요소(workflow execution component)(153)에서 워크플로(104)의 실행(160)을 위한 스케줄(152)을 준비하는 스케줄링 구성 요소(151)로 전송된다.
[035] 경로 해석 구성요소(146)는 각 작업셀(102)에 대한 겟, 핸드오프 및 풋 시퀀스를 가능하게 하기 위해 운송 요청(145)을 평가하고, 처리량을 개선하기 위해 작업셀(102)과 로봇(106) 사이의 핸드오프 지연을 최소화하는 동시 전송을 제공한다. 도 2는 운송 요청(145)에 응답하여 경로 해석 구성요소(146)에 의해 정의된 예시적인 겟, 핸드오프 및 풋 시퀀스(200)의 단계를 도시한다. 도 2에 서, 운송 요청(145)은 단계(210)에서 대기되고, 로봇(106) 또는 워크스테이션(102) 평가는 단계(220)에서 개시된다. 경로 해석 구성요소(146)는 각 워크스테이션(102) 및 로봇(106)을 평가하고 단계(230)에서 경로(147)를 해석(resolve)한다. 워크플로 실행 구성요소(153)는 그 다음에 단계(240)에서 플레이트 또는 다른 아이템을 그 원점으로부터 얻고(getting) 단계(250)에서 워크스테이션(102) 사이에서 아이템을 운송하는 것과 관련된 동작을 개시함으로써 경로 해석 프로파일(150)에 따라 워크플로(104)를 실행한다. 워크플로(104) 동안, 스테이션(102) 사이의 각각의 핸드오프에서, 프로세스(100)는 단계(260)에서 이전 워크스테이션(102)으로부터 아이템을 철회(retract)하고 단계(270)에서 목적지에 아이템이 도착하기를 기다린다. 그 다음, 프로세스(100)는 단계(280)에서 아이템을 다음 또는 목적지 워크스테이션(102)에 위치시킨다.
[036] 복수의 데이터 처리 구성요소(140)는 워크플로(104) 또는 다른 출력 데이터(170)를 수행하는 것과 관련된 정보(171)를 사용자 인터페이스(190)에 제공하도록 추가로 구성될 수 있다. 예를 들어, 본 발명은 기기 설정, 액체 취급 상태, 오류 데이터, 시뮬레이션 결과, 로그 파일, LIMS 및 ELN 데이터, 워크플로 수행 상태, 플레이트 위치, 분석 세부 사항 등과 같은 정보(171)를 사용자에게 표시할 수 있다. 이러한 정보(171)는 또한 제3자 또는 다른 사용자에게 익스포트될 수 있다.
[037] 복수의 데이터 처리 구성요소(data processing component)(140)는 또한 작업셀의 통합 및 로봇(106)의 사용을 시뮬레이션하여 다양한 유형의 워크플로(104)에 대한 겟, 핸드오프 및 풋 시퀀스(143) 및 해석 경로(147)의 결정을 개선하고, 다른 작업셀(102) 및 로봇(106)을 포함하도록 구성된 시뮬레이션 구성요소(155)를 포함할 수 있다.
[038] 복수의 데이터 처리 구성요소(140)는 또한 겟, 핸들링 및 풋 시퀀스의 이해를 개선하고 경로(147)를 예측하기 위해 프로세스(100) 내에서 하나 이상의 머신 러닝 기술을 적용하도록 구성된 인공 지능 엔진(156)을 포함할 수 있다. 인공 지능 엔진(156)에 의해 개발된 예측은 시뮬레이션 결과 및 경로(147)의 겟, 핸들링 및 풋 시퀀스 및 해석의 결정을 개선하기 위해 시뮬레이션 구성요소(155)에 적용될 수 있다. 본 발명은 많은 상이한 유형의 인공 지능이 그 범위 내에서 사용될 수 있고, 따라서 인공 지능 엔진(156)이 이러한 유형의 인공 지능 중 하나 이상을 포함할 수 있음을 고려한다. 인공 지능 엔진(156)은 KNN(k-nearest neighbor), 로지스틱 회귀, 지원 벡터 머신 또는 네트워크(SVM), 및 하나 이상의 신경망을 포함하지만 이에 제한되지 않는 기술을 적용할 수 있다. 그와 무관하게, 본 발명의 프로세스(100)에서 인공 지능의 사용은 작업셀(102)과 로봇(106) 사이에 필요한 상호 작용 및 워크플로(104)의 수행을 위해 그들 사이의 최적 경로(147)의 결정에 대하여 수학적 또는 다른 적절한 관계를 자동적으로 또는 휴리스틱하게 구축함으로써 출력 데이터(170)의 유용성을 향상시킨다.
[039] 예를 들어, 인공 지능 엔진(156)은 이러한 결과에 기초하여 알려지지 않은 경로(147)를 식별하는 모델을 구축하기 위해 이전의 알려진 경로의 결과를 조사함으로써 겟, 핸들링 및 풋 시퀀스(143)에 대한 이해를 개선하고 경로(147)를 예측하는 데 사용될 수 있다. 인공 지능 엔진(156)은, 본 발명의 일 구체예에서, 경로 해석기(158)를 포함하는 특정 알고리즘을 수행하고(그리고 정확도를 증가시키기 위해) 입력 데이터(110)를 추가로 평가하고, 경로 해석 구성요소(146) 및 시뮬레이션 구성요소(155) 중 하나 이상과 함께, 이전의 알려진 경로의 결과를 분석함으로써 알려지지 않은 경로(147)에 대한 예측을 생성하기 위해 인스턴스화되는(instantiated) 하나 이상의 신경망으로 구성된다. 따라서 인공 지능 엔진(156)은 운송 요청(145)에 대한 응답으로 가장 적절한 경로(147)를 결정하기 위해 우선순위 지정 규칙을 적용할 수 있으며, 이는 이들 규칙이 유사한 작업셀(102), 워크플로(104), 로봇(106)(및 이들의 수) 뿐만 아니라 적용 가능한 경우 유사한 시간적 제약 조건에 대해 가장 적절한 겟, 핸들링 및 풋 시퀀스(143)를 생성하는 결과를 초래하는 이전의 인스턴스(instance)에 기초한다.
[040] 신경망은 일반적으로 입력을 어떤 식으로든 결합하는 전달(transfer)(또는 활성화) 함수인 하나 이상의 편향된 입력/출력 연결이 있는 계산 단위인 노드와 출력 연결(output connection)로 구성된다. 그런 다음 노드는 신경망을 형성하는 레이어로 구성된다. 사례를 기반으로 하여, 과업-특정 규칙(task-specific rules)으로 프로그래밍되지 않고 운송 요청(transportation request)(145) 해결 및 경로 해석(resolving paths)(147)과 같은 작업을 수행하도록 "학습"하는 컴퓨팅 시스템인 신경망에는 많은 유형이 있다. 신경망은 일반적으로 연결을 통해 다중 계층에서 신호를 서로 전송하는 연결되고 집계된(aggregated) 노드(또는 "뉴런(neuron)")의 배열을 기반으로 한다.
위에서 언급한 것과 같은 연결은 이러한 노드를 "실행(fire)"하고 수학 방정식 또는 공식에 따라 입력을 결합하는 활성화 또는 전달 기능이다. 상이한 유형의 신경망은 일반적으로 이러한 연결되고 집계된 노드 레이어의 구성이 다르지만 일반적으로 입력 레이어(layer), 중간 또는 '숨겨진' 레이어 및 출력 레이어로 설명할 수 있다. 이러한 계층은 다양한 수학적 계산 또는 기능을 사용하여 다양한 입력에 대해 서로 다른 변환을 수행할 수 있다. 신호는 중간 계층을 통해 입력 계층에서 출력 레이어로 이러한 레이어 사이를 이동하고 레이어와 노드를 여러 번 통과할 수 있다.
[041] 신호는 연결을 통해 노드 간에 전송되고 각 노드의 출력은 해당 노드에 대한 모든 입력을 합산하는 비선형 함수(non-linear function)로 계산된다. 가중치 행렬과 바이어스(bias)들은 일반적으로 각 노드와 각 연결에 적용되며 이러한 가중치와 바이어스들은 신경망이 입력을 처리하고 노드와 연결을 통해 전송함에 따라 조정된다. 이러한 가중치는 특정 연결에서 신호 강도의 증가 또는 감소를 나타낸다. 또한 노드들은 해당 노드에서 집계된 출력이 해당 임계값(threshold)을 초과하는 경우에만 신호가 전송되도록 임계값을 가질 수 있다. 가중치는 일반적으로 활성화 기능(activation function)에 걸리는 시간을 나타내는 반면 바이어스(bias)는 해당 기능이 시작되는 시간을 나타내며, 이들은 함께 시간이 지남에 따라 그라디언트(gradients)가 최소화하도록 돕는다. 최소한 가중치의 경우 시스템이 가중치가 무엇인지, 어떻게 조정해야 하는지 학습하므로 시간이 지남에 따라 가중치가 초기화되고 변경(즉, 소멸(decay)될 수 있다. 즉, 신경망은 학습하면서 진화하고 신경망 설계를 구성하는 수학 공식과 기능은 시스템이 자체적으로 개선됨에 따라 시간이 지남에 따라 변경될 수 있다.
[042] 인공 지능 엔진(156)의 일부로서 예시된 신경망은 통합 구성요소(142), 경로 해석 구성요소(146) 및 시뮬레이션 구성요소(155) 중 하나 이상에 적용될 수 있고, 특히 최단 시간의 과업의 수행에 관련된 시간적 특성과 같은 제약조건이 우선 순위 평가를 위한 가중치를 결정하고 부여하는 것을 포함하는 경우에 그러하다. 예를 들어, 각 로봇이 플레이트를 이동해야 하는 시간을 나타내는 과거 시간 기록에 대해 훈련된 신경망은 이러한 시간적 제약 조건을 포함하는 우선순위 지정 규칙에 따라 미래 경로(147)를 올바르게 해석하는데 필요한 처리 결과를 개선하고 각 경로(147)의 길이를 계산할 수 있다. 이것은 빠르고 정확한 응답을 요구하는 시간에 민감한 상황에서 경로(147)가 해석되어야 하는 경우에 특히 중요할 수 있다.
[043] 인공 지능 엔진(156)은 또한 작업셀(102), 워크플로(104) 또는 로봇(106)의 다른 측면을 평가하기 위해 적용될 수 있다. 하나 이상의 신경망은 로봇(106)의 수행 이력을 평가하고 경로(147)를 따라 각 로봇 이동에 대한 모델 랩웨어 매개변수를 모델링하기 위하여, 예를 들어, 로봇(106)이 조정 가능한 파지력을 가질 수 있는 파지력을 결정하기 위해 예시될(instantiated) 수 있다. 신경망(들)은 지정된 파지력으로 시퀀스(143)의 각 그립 작업을 모델링하기 위해 적용될 수 있다. 신경망(들)은 또한 각 랩웨어 또는 아이템 유형에 대한 그립 오프셋(grip offset)을 평가하여 랩웨어가 올바른 위치에서 적절하게 파지될 수 있도록 하는 데 적용될 수 있다. 예를 들어, x, y, z, 요(yaw), 피치(pitch), 롤(roll) 포인트는 또한 작업셀(102)에 필요한 요구되는 그립이 적절하게 적용되는 것을 보장하기 위해 모델링될 수 있다.
[044] 데이터 처리 구성요소(140)는 많은 상이한 형태를 취할 수 있는 출력 데이터(170)를 생성하도록 구성된다. 출력 데이터(170)는 위에서 언급한 바와 같은 실행 명령(160) 및 시각화된 정보(171) 외에, 라벨(172), 준수 보고서(173), 감사 보고서(174), LIMS(175)로의 출력, ELN(176)으로의 출력, 및 교착 상태 감지(deadlock detection)(177) 등을 포함할 수 있다. 출력 데이터(170)는 또한 라이브 스트림 또는 고정된 시간으로서 수행되고 있는 워크플로(104)의 비디오(178)를 포함할 수 있다. 출력 데이터(170)는 또한 예를 들어 워크플로(104)의 수행에서 사건 또는 문제가 감지되었다는 것, 또는 워크플로(104)가 성공적으로 완수되었다는 것을 내기 위해 언어, 시각, 청각 및 다른 표시와 같은 경보(alarm)(179)를 포함할 수 있다.
[045] 위에서 언급한 바와 같이, 본 발명은 사용자 인터페이스(190)를 포함한다. 인터페이스(190)는 사용자가 워크플로(104)는 물론 워크플로가 실행될 때 샘플 및 랩웨어를 추적할 수 있게 한다. 인터페이스(190)는 또한 정보(171)를 시각화하고 워크플로(104)의 수행을 제어하는 것뿐만 아니라 워크플로(104)가 수행되는 동안 워크플로(104)를 수정 및 조정하는 데 사용될 수 있다. 인터페이스(190)는 프로세스(100) 내의 특정 기능에 액세스하거나 제어하기 위한 하나 이상의 지원 툴(support tools)(191)을 포함할 수 있다. 그와 무관하게, 인터페이스(190)는 위젯, 드롭다운 또는 풀다운 메뉴, 및 사용자가 워크플로(104)의 수행에 수반되는 기능을 선택하고 수행할 수 있게 하는 그래픽 디스플레이를 통해 제공되는 기타 표시를 포함할 수 있다. 사용자는 데스크톱, 랩톱 및 메인프레임 컴퓨팅 시스템은 물론 모바일 전화, 태블릿, 웨어러블 컴퓨팅 장치, 증강 현실 또는 가상 현실 장치를 사용하여, 이러한 장치의 전용 응용 프로그램을 통해 또는 인터넷을 통해 직접, 인터페이스에 액세스할 수 있다.
[046] 위에서 언급한 바와 같이, 프로세스(100)는 각 작업셀(102)에 대한 그리고 각 로봇(106) 사이의 겟, 핸드오프 및 풋 시퀀스(143)의 통합 세트를 나타내는 경로(147)에 따라 워크플로(104)가 수행되는 방법을 정의하는 데 사용되는 프로파일(150)을 개발한다. 따라서 경로 해석 프로파일(150)은 맵의 역할을 하고 워크플로(104)의 실행(160)을 위한 명령을 포함한다. 프로파일(150)은 또한 워크플로(104)를 스케줄링하기 위해 프로세스(100)에서 사용되며, 따라서 프로세스(100)가 본 발명 내에서 수행될 때 스케줄링 구성요소(151) 및 워크플로 실행 구성요소(153)에 의해 사용된다.
[047] 도 3은 본 발명의 다른 측면에 따라 자동화된 워크플로(104)를 수행하기 위한 프로세스(100)의 단계(300)를 도시하는 흐름도이다. 사용자는 단계 310에서 인터페이스(190)를 통해 특정 과업, 실험, 워크스테이션 또는 기타 작업셀(102)을 위한 장치 또는 로봇(106)을 드래깅(dragging)하여 워크플로(104)를 위한 장비를 선택한다. 그 다음, 프로세스(100)는 연관된 디바이스 드라이버(113), 디바이스 사양(114), 및 프로세스(100)를 개시하는데 필요한 임의의 다른 정보를 통해 단계(320)에서 이러한 로봇(106)을 자동으로 구성한다. 대안적으로, 프로세스(100)는 사용자가 단순히 워크플로(104)가 수행될 실험실의 이름을 선택하고 그러한 선택에 따라 로봇 정보를 업로드하는 경우 사용할 기존 장비를 자동으로 인식할 수 있다.
[048] 도 3은 사용자가 워크플로(104)에서 수행될 동작을 정의하고 선택된 장치 또는 로봇(106)을 사용하는 단계(330)에서 계속된다. 이는 사전에 식별된 작업을 드래깅 및 드롭함으로써, 또는 사용자 인터페이스(190)를 통하여 작업의 텍스트 지시를 타이핑함으로써 달성될 수 있다. 그와 무관하게, 사용자는 워크플로(104)을 구성하는 작업을 정의하고 커스터마이징(customizing)할 수 있다. 단계(340)에서 사용자는 워크플로(104)를 수행하기 위한 실행 기능을 선택하고, 단계 (350)에서 프로세스(100)는 사용자 수정, 조정 또는 기타 명령에 응답할 수 있으며, 사용자는 인터페이스(190)를 통해 워크플로(104)의 진행 상황을 모니터링할 수 있다.
[049] 도 4는 본 발명의 다른 측면에 따라, 워크플로의 수행에서 아이템의 전송을 우선순위화하기 위해, 하나 이상의 과업(task)에서 각각의 과업에 대한 겟, 핸드오프 및 풋 시퀀스를 수행하기 위한 경로를 해석하는 프로세스(400)의 단계를 예시하는 흐름도이다. 이 프로세스(400)는 본 발명이 각 과업에 대한 복수의 과업 파라미터를 분석하는 단계(410)로 시작한다. 과업 매개변수는 위에서 언급한 바와 같이 네스트에서 파지력, 그립 오프셋 및 플레이트 하중 방향과 같은 과업(task)을 수행하는 특성을 포함하며 로봇 사양 및 스테이션 특성을 더 포함할 수 있다.
[050] 단계(420)에서, 본 발명의 이 측면에 따른 프로세스(400)는 장비(112)의 출발지, 목적지 및 네스트 특성을 평가하고, 단계(430)에서 겟, 핸드오프 및 풋 시퀀스(143)를 수행하는 데 필요한 로봇의 수를 결정하는데, 이는 로봇(106)이, 만일 있다면, 네스트에 액세스할 수 있을지 뿐만 아니라 스테이션이 로봇(106)에 직접 또는 다른 로봇을 통해 액세스할 수 있는지 여부를 결정하기 위해 각 장비(112)의 속성을 쿼리하는 것을 포함할 수 있다. 단계(440)에서, 프로세스(400)는 하나 이상의 과업에서 각 과업에 대한 아이템의 스테이션 간 이동(transfer)을 식별한다.
[051] 특성, 로봇 및 전송 식별이 평가되면 본 발명은 최적 경로(147)를 마무리하는 작업을 진행할 준비가 된다. 단계(450)에서, 프로세스(400)는 워크플로(104)에서 경로(147)를 실행하기 위한 세그먼트(148)를 정의하고, 이러한 세그먼트(148)로 경로 해석 프로파일(150)을 생성한다. 그 다음, 본 발명은 단계(460)에서 경로 해석 프로파일(150)로부터 워크플로(104)의 자동화된 수행을 실행하기 위한 스케줄(152)을 개발한다. 그 다음, 워크플로(104)는 스케줄(152)에 기초하여 제어되고 수행될 수 있다.
[052] 사용자 인터페이스(190)는 사용자가 고급 모드(advanced mode)에서 다수의 추가 기능에 액세스하는 것을 허용하도록 구성될 수 있다. 이러한 기능에는 오프라인 기기 액세스, 복구 기능 및 스크립팅 기능이 포함될 수 있다. 또한 사용자는 데이터 임포트 및 익스포트를 위해 임의의 외부 LIMS/정보학 또는 ELN 플랫폼과 원활하게 통합하고, 실시간 양성 샘플 추적을 수행하고, 다른 사용자, 기기 및 기타 프로세스 데이터를 추적하고, 위에서 언급한 것처럼 인공지능과 기계학습 기능의 통합과 같은 고급 기능을 가능하게 하기 위해 본 발명을 구성할 수 있다.
[053] 본 발명은 수행되는 임의의 특정 유형의 워크플로(104)에 제한되지 않으며, 본 발명의 프로세스(100)는 로봇(106) 및/또는 과업(102)의 자동화된 제어가 바람직한 임의의 분야에 적용될 수 있음을 이해해야 한다. 따라서, 입력 데이터(100)의 콘텐츠(116)는 자동화된 프로세스(100)가 적용되는 임의의 대상(subject matter)을 포함할 수 있다. 예를 들어, 콘텐츠(116)는 패키징일 수 있고, 자동화 프로세스(100)는 배송될 아이템을 식별하고, 패키지에 아이템을 준비하고, 패키지의 배송을 스케줄링하기 위한 워크플로일 수 있다. 따라서 많은 유형의 워크플로(104)가 가능하고 본 발명의 범위 내에 있다.
[054] 본 발명의 시스템 및 방법은 많은 상이한 컴퓨팅 환경(130)에서 구현될 수 있다. 예를 들어, 이들은 특수 목적 컴퓨터, 프로그래밍된 마이크로프로세서 또는 마이크로컨트롤러 및 주변 집적 회로 요소(들), ASIC 또는 기타 집적 회로, 디지털 신호 프로세서, 개별 요소 회로와 같은 전자 또는 논리 회로, PLD, PLA, FPGA, PAL, GPU 및 유사한 수단과 같은 프로그래밍 가능한 논리 장치 또는 게이트 어레이와 함께 구현될 수 있다. 일반적으로, 본원에 예시된 방법론을 구현하는 임의의 수단은 본 발명의 다양한 측면을 구현하는 데 사용될 수 있다. 본 발명에 사용될 수 있는 예시적인 하드웨어는 컴퓨터, 핸드헬드 장치, 전화(예를 들어, 셀룰러, 인터넷 가능, 디지털, 아날로그, 하이브리드 등), 및 기타 그러한 하드웨어를 포함한다. 이러한 장치 중 일부에는 프로세서(예: 단일 또는 다중 마이크로프로세서 또는 일반 처리 장치), 메모리, 비휘발성 저장소, 입력 장치 및 출력 장치가 포함된다. 또한, 분산 처리, 병렬 처리, 가상 머신 처리, 또는 클라우드 처리를 포함하지만 이에 제한되지 않는 대안적인 소프트웨어 구현이 또한 여기에 설명된 방법을 수행하도록 구성될 수 있다.
[055] 본 발명의 시스템 및 방법은 또한 컨트롤러와 메모리의 협력으로 프로그래밍된 범용 컴퓨터, 특별 목적 컴퓨터, 마이크로프로세서 등에서 실행되는 비일시적 컴퓨터 판독 가능 저장 매체에 저장될 수 있는 소프트웨어로 전체적으로 또는 부분적으로 구현될 수 있다. 이러한 경우에, 본 발명의 시스템 및 방법은 애플릿, JAVA® 또는 CGI 스크립트와 같은 매체를 통해 모바일 장치 또는 개인용 컴퓨터에 내장된 프로그램으로서, 하나 이상의 서버 또는 컴퓨터 워크스테이션에 상주하는 리소스로서, 전용 측정 시스템, 시스템 구성요소 등에 내장된 루틴으로서 구현될 수 있다. 시스템은 또한 시스템 및/또는 방법을 소프트웨어 및/또는 하드웨어 시스템에 물리적으로 통합함으로써 구현될 수 있다.
[056] 추가적으로, 본원에 개시된 데이터 처리 기능은 그러한 메모리에 저장되거나 이러한 메모리에 의해 실행되는 하나 이상의 프로그램 명령에 의해 수행될 수 있고, 또한 이러한 프로그램 명령을 수행하도록 구성된 하나 이상의 모듈에 의해 수행될 수 있다. 모듈은 본원에 설명된 데이터 처리 기능을 수행할 수 있는 알려진 또는 나중에 개발된 하드웨어, 소프트웨어, 펌웨어, 기계학습, 인공지능, 퍼지 논리, 전문가 시스템 또는 하드웨어와 소프트웨어의 조합을 나타낸다.
[057] 끝으로, 비록 본 명세서의 측면들이 특정 구체예를 참조함으로써 강조될지라도, 당업자는 이러한 설명된 구체예가 단지 여기에 개시된 대상(subject matter)의 원리를 예시할 뿐이라는 것을 쉽게 알 수 있을 것이란 점을 이해해야 한다. 특정 구체예는 완전한 것으로 의도되거나 본 발명을 개시된 정확한 형태로 제한하도록 의도되지 않는다. 따라서, 개시된 대상물은 명시적으로 언급되지 않는 한, 본원에 기재된 특정 화합물, 조성물, 물품, 장치, 방법론, 프로토콜 및/또는 시약 등으로 결코 제한되지 않는다는 것을 이해해야 한다. 또한, 당업자는 본 명세서의 사상을 벗어나지 않고 본 명세서의 교시에 따라 이들의 특정 변경, 수정, 순열, 변경, 추가, 감산 및 하위 조합이 이루어질 수 있음을 인식할 것이다. 따라서, 본 발명의 범위는 이러한 상세한 설명에 의해 제한되지 않도록 의도된다. 또한, 첨부된 청구범위 및 이후에 소개되는 청구범위는 진정한 정신 및 범위 내에서 그러한 모든 변경, 수정, 순열, 변경, 추가, 감산 및 하위 조합을 포함하는 것으로 해석되어야 한다.
[058] 본 발명을 수행하기 위해 본 발명자들에게 알려진 최상의 모드를 포함하는 본 발명의 특정 구체예가 본원에 설명되어 있다. 물론, 이들 설명된 구체예에 대한 변형은 전술한 설명을 읽을 때 당업자에게 명백해질 것이다. 본 발명자는 숙련된 기술자가 그러한 변형을 적절하게 사용하기를 기대하며, 본 발명자는 본원에 구체적으로 설명된 것과는 다르게 본 발명이 실시되기를 의도한다. 따라서, 본 발명은 적용 가능한 법률이 허용하는 바에 따라 여기에 첨부된 청구범위에 인용된 대상의 모든 수정 및 등가물을 포함한다. 더욱이, 본 명세서에서 달리 나타내지 않거나 문맥상 명백하게 모순되지 않는 한, 모든 가능한 변형에서 전술한 구체예의 임의의 조합은 본 발명에 포함된다.
[059] 본 발명의 대안적인 구체예, 요소 또는 단계의 그룹화는 제한으로 해석되어서는 안 된다. 각 그룹 구성원은 개별적으로 또는 여기에 개시된 다른 그룹 구성원과 조합하여 참조 및 청구될 수 있다. 그룹의 한 명 이상의 구성원이 편의 및/또는 특허성을 이유로 그룹에 포함되거나 그룹에서 삭제될 수 있다. 이러한 포함 또는 삭제가 발생하면 명세서는 수정된 그룹을 포함하는 것으로 간주되어 첨부된 청구범위에 사용된 모든 Markush 그룹의 기재된 설명을 충족한다.
[060] 현재 알려져 있거나 나중에 고안된, 당업자가 볼 때 청구된 대상으로부터의 중요하지 않은 변경은 청구 범위의 범위 내에 동등하게 있는 것으로 명시적으로 고려된다. 따라서, 당 기술 분야에서 통상의 지식을 가진 자에게 현재 또는 추후에 공지될 명백한 치환은 정의된 구성요소의 범위 내에서 정의된다.
[061] 달리 명시되지 않는 한, 본 명세서 및 특허청구범위에 사용된 특성, 아이템, 수량, 매개변수, 속성, 용어 등을 표현하는 모든 숫자는 모든 경우에 용어 "약(about)"에 의해 수정되는 것으로 이해되어야 한다. 본원에서 사용된 바와 같이, 용어 "약(about)"은 특성, 아이템, 수량, 매개변수, 성질 또는 그렇게 한정된 용어가 명시된 특성, 아이템, 수량, 매개변수, 성질 또는 용어 값의 위아래 10% 범위를 포함함을 의미한다. 따라서, 달리 표시되지 않는 한, 명세서 및 첨부된 청구범위에 기재된 수치 매개변수는 변경될 수 있는 근사치이다. 예를 들어, 질량 분석 기기는 주어진 분석물의 질량을 결정할 때 약간 다를 수 있으므로 이온의 질량 또는 이온의 질량/전하 비율과 관련하여 "약"이라는 용어는 +/- 0.50 원자 질량 단위를 나타낸다. 최소한, 그리고 청구 범위에 대한 등가 원칙의 적용을 제한하려는 시도가 아니라, 각 수치 표시는 최소한 보고된 유효 자릿수의 관점에서 그리고 일반적인 반올림 기법을 적용하여 해석되어야 한다.
[062] 본 발명의 넓은 범위를 설명하는 수치 범위 및 값이 근사치임에도 불구하고, 특정 구체예에 기재된 수치 범위 및 값은 가능한 한 정확하게 보고된다. 그러나 모든 수치 범위 또는 값에는 본질적으로 해당 테스트 측정에서 발견된 표준 편차로 인해 필연적으로 발생하는 특정 오류가 포함된다. 본원에서 값의 수치 범위의 언급은 단지 범위 내에 속하는 각각의 개별 수치를 개별적으로 참조하는 속기 방법으로서 역할을 하도록 의도된다. 본원에서 달리 나타내지 않는 한, 수치 범위의 각각의 개별 값은 마치 본원에서 개별적으로 인용된 것처럼 본 명세서에 포함된다.
[063] 구체예 또는 구체예의 측면과 관련하여 "할 수 있는(may/can)"이라는 용어의 사용은 "할 수 없는(may not/cannot)" 대안적인 의미도 수반한다. 이와 같이, 본 명세서가 구체예 또는 구체예의 측면이 본 발명의 대상(subject matter)의 일부로서 포함될 수 있다고 개시하는 경우, 부정적인 제한 또는 배제 조건은 또한 명시적으로 의미되며, 이는 구체예 또는 구체예의 측면이 본 발명의 주제의 일부로 포함되지 않을 수도 있다는 것을 의미한다. 유사한 방식으로, 구체예 또는 구체예의 측면과 관련하여 "선택적으로(optionally)"라는 용어의 사용은 구체예 또는 구체예의 측면이 본 발명의 대상의 일부로서 포함될 수 있거나 또는 본 발명의 대상의 일부로서 포함되지 않을 수 있음을 의미한다. 그러한 부정적인 제한 또는 배제 조항이 적용되는지 여부는 부정적인 제한 또는 배제 조항이 청구된 대상(subject matter)에 인용되었는지 여부를 기반으로 한다.
[064] 본 발명을 설명하는 맥락에서(특히 다음 청구범위와 관련하여) 사용된 용어 "a", "an", "the" 및 유사한 참조는 달리 명시되지 않는 한 또는 문맥에 의해 명확하게 모순되지 않는 한 단수 및 복수를 모두 포함하는 것으로 해석되어야 한다. 또한 식별된 요소에 대한 순서 표시(예: "제1", "제2", "제3" 등)는 요소를 구별하는 데 사용되며 이러한 요소의 필수 또는 제한된 수를 나타내거나 암시하지 않으며, 달리 명시되지 않는 한 그러한 요소의 특정 위치나 순서를 나타내지 않는다. 여기에 설명된 모든 방법은 여기에 달리 표시되지 않거나 문맥상 명백히 모순되지 않는 한 임의의 적절한 순서로 수행될 수 있다. 여기에 제공된 임의의 또는 모든 예 또는 예시적인 언어(예: "~와 같은")의 사용은 단지 본 발명을 더 잘 설명하기 위한 것이며 달리 청구된 본 발명의 범위를 제한하지 않는다. 본 명세서의 어떤 언어도 본 발명의 실시에 필수적인 청구되지 않은 요소를 나타내는 것으로 해석되어서는 안 된다.
[065] 청구범위에서 사용되는 경우, 출원 또는 보정에 따라 추가되었는지 여부에 관계없이, 개방형 전환 어구 "포함하는(comprising)", 예를 들어 "포함하다(comprise)" 및 동등한 개방형 전환 어구 "포함하는(including)", “함유하는(containing)”“가지는(having)” 등은 명시적으로 인용된 요소, 제한, 단계, 정수 및/또는 기능을 단독으로 또는 인용되지 않은 대상과 결합하여 포괄하며, 명명된 요소, 제한, 단계, 정수 및/또는 기능은 필수적이지만 다른 명명되지 않은 요소, 제한, 단계, 정수 및/또는 기능도 추가될 수 있으며 여전히 청구 범위 내에서 구성을 형성할 수 있다. 본원에 개시된 특정 구체예는 폐쇄형 전환 어구 "구성되는(consisting of)" 또는 "필수적으로 …로만 구성되는(consisting essentially of)" 또는 이의 문법적 변형들은 "포함하는(comprising)" 대신에 또는 보정으로서 사용된다. 청구 범위에서 사용될 때, 출원 또는 보정에 따라 추가되었는지 여부에 관계없이 폐쇄형 전횐 어구 "구성되는(consisting of)"은 청구 범위에 명시적으로 언급되지 않은 요소, 제한, 단계, 정수 또는 기능을 배제한다. 폐쇄형 전환 어구 "필수적으로 …로만 구성되는(consisting essentially of)"는 청구 범위를 명시적으로 인용된 요소, 제한, 단계, 정수 및/또는 기능 및 청구된 대상(subject matter)의 기본적이고 새로운 특성(들)에 실질적으로 영향을 미치지 않는 기타 요소, 제한, 단계, 정수 및/또는 기능으로 제한한다. 따라서, 개방형 전환 어구 "포함하는(comprising)"의 의미는 구체적으로 인용된 모든 요소, 제한, 단계 및/또는 특징뿐만 아니라 임의의 선택적 추가의 지정되지 않은 것들을 포괄하는 것으로 정의된다. 폐쇄형 전환 어구 "구성되는(consisting of)"의 의미는 청구범위에 구체적으로 언급된 요소, 제한, 단계, 정수 및/또는 특징만을 포함하는 것으로 정의되는 반면, 폐쇄형 전환 어구 "필수적으로 …로만 구성되는(consisting essentially of)"은 청구범위에 구체적으로 언급된 요소, 제한, 단계, 정수 및/또는 기능과 청구된 대상의 기본적 및 신규 특성(들)에 실질적으로 영향을 미치지 않는 요소, 제한, 단계, 정수 및/또는 기능만을 포함하는 것으로 정의된다. 따라서, 개방형 전환 어구 "포함하는(comprising)"(및 이에 상응하는 개방형 전환 어구)은 제한적인 경우로서 그 의미 내에 폐쇄형 전환 어구 "~로 구성되는" 또는 "필수적으로 …로만 구성되는"에 의해 명시된 청구된 대상을 포함한다. 이와 같이, "포함하는"이라는 문구로 본원에서 설명되거나 그렇게 청구된 구체예는 "필수적으로 …로만 구성되는" 및 "구성되는"이라는 어구에 대한 설명, 실시 가능성(enablement) 및 지원을 명시적이고 명확하게 제공한다.
[066] 본 명세서에서 인용 및 식별된 모든 특허, 특허 간행물 및 기타 참고 문헌은, 예를 들어, 본 발명과 연계하여 사용될 수 있는 그러한 간행물에 개시된 조성물 및 방법론과 같이 기재 및 개시의 목적을 위하여 그 전체로서 본원에 참고로 개별적이고 명시적으로 포함된다. 이러한 간행물은 본 출원의 출원일 이전의 개시 목적으로만 제공된다. 이와 관련하여 어떠한 것도 발명자들이 선행 발명으로 인해 또는 다른 이유로 그러한 개시보다 선행할 자격이 없다는 것을 인정하는 것으로 해석되어서는 안된다. 이 문서의 내용에 대한 날짜 또는 표현에 대한 모든 진술은 출원인이 사용할 수 있는 정보를 기반으로 하며 이러한 문서의 날짜 또는 내용이 정확하다는 것을 인정하는 것은 아니다.
[067] 마지막으로, 본원에서 사용된 용어는 단지 특정한 구체예를 설명하기 위해 사용된 것으로, 본 발명의 범위를 제한하려는 의도가 아니며, 그것은 오직 특허청구범위에 의해서만 한정된다. 따라서, 본 발명은 정확히 도시되고 설명된 것으로 제한되지 않는다.

Claims (33)

  1. 워크플로(workflow)의 수행에서 하나 이상의 과업(task)을 정의하는 작동 데이터(operational data), 및 워크플로의 수행에서 하나 이상의 과업의 수행을 위한 적어도 하나의 피스(piece)의 자동화 장비를 정의하는 장비 데이터(equipment data)를 입력 데이터(input data)로 수신하는 단계;
    다음에 의해 복수의 데이터 처리 모듈(plurality of data processing modules)이 적어도 하나의 특정하게 구성된 프로세서(specifically-configured processor)와 함께 실행되는 컴퓨팅 환경 내의 상기 복수의 데이터 처리 모듈에서 상기 입력 데이터를 분석하는 단계; 및
    상기 경로 해석 프로파일로부터 상기 워크플로의 자동화된 수행을 실행하기 위한 스케줄을 개발하는 단계(상기 워크플로는 상기 스케줄에 기초하여 수행됨);
    를 포함하며,
    상기 데이터 처리 모듈은 상기 하나 이상의 과업을 상기 워크플로의 수행에서 통합하고 상기 워크 플로의 수행을 하기 단계에 의해 스케줄링하도록 구성되는 것을 특징으로 하는 방법:
    1) 상기 워크플로의 수행에서 적어도 하나의 자동화 장비 및 상기 하나 이상의 과업을 구성하는 단계,
    2) 상기 하나 이상의 과업에서 과업 수행에서 각 자동화 장비(each piece of automated equipment))에 대해 적어도 하나의 겟, 핸드오프 및 풋 시퀀스를 정의하는 단계,
    3) 상기 자동화된 장비의 하나 이상의 부분의 출발지, 목적지, 및 네스트 특성을 평가하고, 상기 하나 이상의 겟, 핸드오프 및 풋 시퀀스에 대한 로봇의 수를 결정하고, 상기 하나 이상의 과업에서 각 과업에 대한 아이템들의 스테이션 간 이동(station-to-station transfers)의 우선순위 지정(prioritizing)에 의해, 하나 이상의 경로 분석기(path resolvers)를 실행하여 상기 하나 이상의 과업에서 각 과업에 대해 복수의 과업 매개변수들을 분석하고 경로를 실행하기 위한 하나 이상의 세그먼트들을 식별하는 것에 의해, 상기 하나 이상의 겟, 핸드오프 및 풋 시퀀스를 수행하기 위한 상기 경로를 계산하는 단계, 및
    4) 각 경로를 수행하기 위한 상기 워크플로를 정의하는 경로 해석 프로파일(path resolution profile)을 생성하는 단계.
  2. 제1항에 있어서, 상기 워크플로의 수행과 관련하여 사용자에게 출력 데이터를 제공하도록 구성된 지원 툴(support tool)에 상기 경로 해석 프로파일을 적용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 상기 워크플로의 수행을 실행하기 위한 스케줄을 개시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 일정을 사용자 인터페이스에 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제3항에 있어서, 상기 장비 데이터 및 상기 작동 데이터(operational data)는 상기 사용자 인터페이스를 통해 사용자에 의해 선택되는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 적어도 하나의 피스의 자동화 장비(at least one piece of automated equipment)는 로봇을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 장비 데이터는 장치 드라이버(device driver) 및 장치 사양(device specification)을 포함하는 것을 특징으로 하는 방법.
  8. 제1항에 있어서, 상기 작동 데이터는 상기 워크플로를 수행함에 있어서의 하나 이상의 과업의 식별을 포함하고, 상기 하나 이상의 과업의 내용을 정의하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 작동 데이터는 상기 하나 이상의 과업을 수행하는 데 사용되는 배치 네스트(placement nests), 스테이션 및 운송 모드(transport modes)의 식별, 및 상기 하나 이상의 과업의 수행에 사용되는 특정 아이템의 식별을 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항에 있어서, 상기 콘텐츠는 생물학적 물질인 것을 특징으로 하는 방법.
  11. 제1항에 있어서, 상기 입력 데이터는 상기 워크플로 내에서 상기 하나 이상의 과업이 수행될 때를 정의하는 타이밍 데이터(timing data)를 더 포함하는 방법.
  12. 제2항에 있어서, 상기 적어도 하나의 겟, 핸드오프 및 풋 시퀀스를 수행하기 위한 경로를 계산하기 위해 하나 이상의 우선순위 지정 규칙(prioritization rules)을 조정하는 단계를 더 포함하고, 상기 사용자는 상기 지원 툴을 사용하여 상기 하나 이상의 우선순위 지정 규칙 조정을 수행하는 것을 특징으로 하는 방법.
  13. 컴퓨터 프로세서 및 상기 컴퓨터 프로세서에 작동 가능하게 연결되고 그 안에 저장된 프로그램 명령을 갖는 적어도 하나의 컴퓨터 판독 가능 저장 매체로 구성된 컴퓨팅 환경에서, 상기 컴퓨터 프로세서가 워크플로 수행에서 적어도 한 피스(piece)의 자동화된 장비를 사용하여 하나 이상의 과업을 통합하고 하기 단계에 의해 워크플로 수행을 스케줄링하기 위해 상기 프로그램 명령을 실행하는 작동이 가능하도록 하는 단계를 포함하는 것을 특징으로 하는 방법:
    상기 워크플로의 수행에서 아이템의 이동(transfer)에 우선순위를 지정하고, 아이템의 우선순위 지정은 각 과업에 대한 복수의 과업 매개변수를 분석하여 결정하며, 상기 하나 이상의 피스(piece)의 자동화된 장비의 출발지, 목적지, 및 네스트 특성을 평가하고, 상기 하나 이상의 겟, 핸드오프 및 풋 시퀀스에 대해 로봇의 수를 결정하고, 그리고 상기 하나 이상의 과업에서 각 과업에 대한 아이템들의 스테이션 간 이동(station-to-station transfers)을 식별하는 단계에 의해 상기 하나 이상의 과업에서 각 과업에 대한 겟, 핸드오프 및 풋 시퀀스를 수행하기 위한 하나 이상의 경로를 해석(resolving)하는 단계, 및
    상기 워크플로에서 상기 하나 이상의 경로를 실행하기 위한 적어도 하나의 세그먼트를 정의하는 경로 해석 프로파일(path resolution profile)을 생성하고, 상기 경로 해석 프로파일에서 상기 워크플로의 자동화된 수행을 실행하기 위한 일정을 개발하는 단계(여기서 작업 흐름은 일정에 따라 수행됨).
  14. 제13항에 있어서, 상기 워크플로의 성능과 관련하여 사용자에게 출력 데이터를 제공하도록 구성된 지원 툴에 상기 경로 해석 프로파일을 적용하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제13항에 있어서, 상기 워크플로의 수행을 실행하기 위한 스케줄을 개시하는 단계를 더 포함하는 방법.
  16. 제13항에 있어서, 상기 일정을 사용자 인터페이스에 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제16항에 있어서, 상기 장비 데이터 및 상기 작동 데이터는 상기 사용자 인터페이스를 통해 사용자에 의해 선택되는 것을 특징으로 하는 방법.
  18. 제13항에 있어서, 상기 적어도 하나의 피스(piece)의 자동화 장비는 로봇을 포함하는 것을 특징으로 하는 방법.
  19. 제13항에 있어서, 상기 워크플로의 수행에서 상기 하나 이상의 과업은 상기 워크플로를 수행함에 있어서 상기 하나 이상의 과업을 식별하고, 상기 하나 이상의 과업의 콘텐츠를 지정하고, 배치 네스트, 스테이션 및 상기 하나 이상의 과업 수행에 사용되는 운송 모드(transport modes)를 식별하고, 상기 하나 이상의 과업의 수행에 사용되는 특정 아이템들을 식별하는 작동 데이터(operational data)에 의해 정의되는 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상기 콘텐츠는 생물학적 물질인 것을 특징으로 하는 방법.
  21. 제14항에 있어서, 상기 하나 이상의 경로를 해석(resolving)하기 위해 하나 이상의 우선순위 지정(prioritization) 규칙을 조정하는 단계를 더 포함하고, 상기 사용자는 상기 지원 툴로 상기 하나 이상의 우선순위 지정 규칙을 조정하는 단계를 수행하는 방법.
  22. 프로그램 명령(program instructions)이 저장된 적어도 하나의 컴퓨터 판독 가능 저장 매체, 및 워크플로의 수행에서 적어도 하나의 피스(piece)의 자동화된 장비를 사용하여 하나 이상의 과업을 통합하기 위해 프로그램 명령을 실행하고, 복수의 데이터 처리 모듈에서 상기 워크플로의 수행을 스케줄링하도록 동작 가능한 컴퓨터 프로세서를 포함하는 컴퓨팅 환경을 포함하는 시스템으로서, 상기 복수의 데이터 처리 모듈이 다음을 포함하는 것을 특징으로 하는 시스템:
    워크플로의 수행에서 하나 이상의 작업을 정의하는 작동 데이터(operational data), 및 상기 워크플로의 수행에서 상기 하나 이상의 작업의 수행을 위한 적어도 한 피스(piece)의 자동화된 장비를 정의하는 장비 데이터(equipment data)를 획득하도록 구성된 데이터 수신 및 초기화 구성요소(data reception and initialization component);
    1) 상기 워크플로의 수행에서 상기 적어도 한 피스(piece)의 자동화된 장비와 상기 하나 이상의 과업을 구성하고, 2) 상기 하나 이상의 과업에서 과업 수행에서 자동화된 장비의 각 피스(piece)에 대해 적어도 하나의 겟, 핸드오프 및 풋 시퀀스를 정의하고, 3) 하나 이상의 경로 분석기(path resolver)를 실행하여 상기 하나 이상의 과업에서 각 과업에 대한 복수의 과업 매개변수를 분석하고 경로를 실행하기 위한 하나 이상의 세그먼트들을 식별하고, 상기 적어도 한 피스(piece)의 자동화된 장비의 출발지,목적지, 및 네스트 특성을 평가하고, 상기 하나 이상의 겟, 핸드오프 및 풋 시퀀스에 대한 로봇의 수를 결정하고, 상기 하나 이상의 과업에서 각 과업에 대한 아이템들의 스테이션 간 이동의 우선순위 지정을 하여 상기 하나 이상의 겟, 핸드오프 및 풋 시퀀스를 수행하기 위한 상기 경로를 계산하고, 및 4) 각 경로를 수행하기 위한 상기 워크플로를 정의하는 경로 해석 프로파일을 생성하도록 구성되어 배열된 하나 이상의 구성요소; 및
    상기 경로 해석 프로파일로부터 상기 워크플로의 자동화된 수행을 실행하기 위한 스케줄을 개발하도록 구성된 스케줄링 모듈(상기 워크플로는 상기 스케줄에 기초하여 수행됨).
  23. 제22항에 있어서, 상기 경로 해석 프로파일은 상기 워크플로의 수행과 관련하여 사용자에게 출력 데이터를 제공하도록 구성된 지원 툴에 적용되는 것을 특징으로 하는 시스템.
  24. 제22항에 있어서, 상기 워크플로의 수행을 실행하기 위한 스케줄을 개시하도록 구성된 워크플로 실행 구성요소를 더 포함하는 것을 특징으로 하는 시스템.
  25. 제22항에 있어서, 상기 스케줄은 사용자 인터페이스에 표시되는 것을 특징으로 하는 시스템.
  26. 제25항에 있어서, 상기 장비 데이터 및 상기 작동 데이터는 상기 사용자 인터페이스를 통해 사용자에 의해 선택되는 것을 특징으로 하는 시스템.
  27. 제22항에 있어서, 상기 적어도 하나의 자동화된 장비는 로봇을 포함하는 것을 특징으로 하는 시스템.
  28. 제22항에 있어서, 상기 장비 데이터는 장치 드라이버 및 장치 사양을 포함하는 것을 특징으로 하는 시스템.
  29. 제22항에 있어서, 상기 작동 데이터는 상기 워크플로를 수행함에 있어서의 상기 하나 이상의 과업의 식별을 포함하고, 상기 하나 이상의 과업의 컨텐츠(content)를 정의하는 것을 특징으로 하는 시스템.
  30. 제29항에 있어서, 상기 작동 데이터는 상기 하나 이상의 작업을 수행하는 데 사용되는 배치 네스트, 스테이션 및 운송 모드의 식별, 및 상기 하나 이상의 작업의 수행에 사용되는 특정 아이템의 식별을 더 포함하는 것을 특징으로 하는 시스템.
  31. 제29항에 있어서, 상기 콘텐츠는 생물학적 물질인 것을 특징으로 하는 시스템.
  32. 제22항에 있어서, 상기 입력 데이터는 상기 하나 이상의 과업이 상기 워크플로 내에서 수행되는 때를 정의하는 타이밍 데이터를 더 포함하는 것을 특징으로 하는 시스템.
  33. 제22항에 있어서, 상기 하나 이상의 구성요소는 사용자가 하나 이상의 우선순위 지정 규칙을 조정하여 상기 적어도 하나의 겟, 핸드오프 및 풋 시퀀스를 수행하기 위한 경로를 계산할 수 있도록 추가로 배열되고, 상기 사용자는 상기 지원 툴로 상기 하나 이상의 우선순위 지정 규칙을 조정하는 것을 특징으로 하는 시스템.
KR1020227017212A 2019-11-05 2020-11-05 복잡한 워크플로를 위한 로봇 장비를 사용한 다중 프로세스의 자동화된 제어 KR20220088751A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/674,704 2019-11-05
US16/674,704 US11420327B2 (en) 2019-11-05 2019-11-05 Automated control of multi-process using robotic equipment for complex workflows
PCT/US2020/059191 WO2021092232A1 (en) 2019-11-05 2020-11-05 Automated control of multi-process using robotic equipment for complex workflows

Publications (1)

Publication Number Publication Date
KR20220088751A true KR20220088751A (ko) 2022-06-28

Family

ID=75688666

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227017212A KR20220088751A (ko) 2019-11-05 2020-11-05 복잡한 워크플로를 위한 로봇 장비를 사용한 다중 프로세스의 자동화된 제어

Country Status (10)

Country Link
US (2) US11420327B2 (ko)
EP (1) EP4054806A4 (ko)
JP (1) JP2023501351A (ko)
KR (1) KR20220088751A (ko)
CN (1) CN114641377A (ko)
AU (1) AU2020378003A1 (ko)
CA (1) CA3157051A1 (ko)
IL (1) IL292695A (ko)
MX (1) MX2022005396A (ko)
WO (1) WO2021092232A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11537809B2 (en) * 2019-11-21 2022-12-27 Kyndryl, Inc. Dynamic container grouping
AU2020408690A1 (en) * 2019-12-17 2022-06-16 Beckman Coulter, Inc. Computer-implemented liquid-handler protocol
CN115344009A (zh) * 2021-05-13 2022-11-15 灵动科技(北京)有限公司 用于机器人的调度系统和方法、机器人以及定制方法
US20230004909A1 (en) * 2021-07-02 2023-01-05 Strateos, Inc. Systems and methods for processing experimental requests at remote laboratories
US20230004885A1 (en) * 2021-07-02 2023-01-05 Strateos, Inc. Systems and methods for processing experimental workflows at remote laboratories
WO2023201317A2 (en) * 2022-04-14 2023-10-19 BioSero Inc. Data services modeling and manager for transformation and contextualization of data in automated performance of workflows
CN115903687A (zh) * 2022-11-04 2023-04-04 北京镁伽机器人科技有限公司 试验流程解析方法、装置、电子设备及存储介质
CN115709331B (zh) * 2022-11-23 2024-08-27 山东大学 基于目标检测的焊接机器人全自主视觉引导方法及系统
CN116440976A (zh) * 2023-03-31 2023-07-18 上海奔曜科技有限公司 实验室工作流的控制方法、电子设备和可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002019228A1 (en) 2000-09-01 2002-03-07 Togethersoft Corporation Methods and systems for improving a workflow based on data mined from plans created from the workflow
ES2333697T3 (es) * 2001-04-05 2010-02-26 Inpeco Ip Ltd. Metodo para la gestion de sistemas de celula de trabajo basado en un sistema de gestion de la automatizacion.
US6983188B2 (en) * 2004-04-16 2006-01-03 Hewlett-Packard Development Company, L.P. Scheduling system
GB0427133D0 (en) * 2004-12-10 2005-01-12 British Telecomm Workflow scheduler
CA2533219A1 (en) * 2005-12-02 2007-06-02 Hudson Control Group, Inc. Systems and methods for automated proteomics research
US20080113440A1 (en) * 2006-10-06 2008-05-15 Leica Biosystems Melbourne Pty Ltd Method and Apparatus for Tissue Sample Processing
US8069745B2 (en) * 2008-07-10 2011-12-06 Nexteer (Beijing) Technology Co., Ltd. Power steering device including a compliant gear
US9594367B2 (en) 2011-10-31 2017-03-14 Rockwell Automation Technologies, Inc. Systems and methods for process control including process-initiated workflow
WO2013070740A1 (en) * 2011-11-07 2013-05-16 Beckman Coulter, Inc. Aliquotter system and workflow
WO2013070754A1 (en) 2011-11-07 2013-05-16 Beckman Coulter, Inc. Robotic arm
US9008839B1 (en) 2012-02-07 2015-04-14 Google Inc. Systems and methods for allocating tasks to a plurality of robotic devices
US20160121487A1 (en) 2014-11-03 2016-05-05 Qualcomm Incorporated Communicating Configurable Instruction Sets to Robots for Controlling Robot Behavior
US10430744B2 (en) * 2015-08-21 2019-10-01 Autodesk, Inc. Robot service platform
US10214301B2 (en) * 2016-05-11 2019-02-26 The Boeing Company Automated control system for manufacturing aircraft
WO2018136903A1 (en) * 2017-01-20 2018-07-26 Lifefoundry, Inc. Systems and methods for supporting multiple automated workflows
US20200348324A1 (en) * 2018-01-09 2020-11-05 Formulatrix, Inc. Rover-based integrated laboratory system including autonomous mobile robots

Also Published As

Publication number Publication date
JP2023501351A (ja) 2023-01-18
EP4054806A1 (en) 2022-09-14
US20210129327A1 (en) 2021-05-06
US11420327B2 (en) 2022-08-23
CA3157051A1 (en) 2021-05-14
WO2021092232A1 (en) 2021-05-14
US20220355476A1 (en) 2022-11-10
CN114641377A (zh) 2022-06-17
AU2020378003A1 (en) 2022-06-16
IL292695A (en) 2022-07-01
MX2022005396A (es) 2022-07-04
EP4054806A4 (en) 2024-03-06

Similar Documents

Publication Publication Date Title
KR20220088751A (ko) 복잡한 워크플로를 위한 로봇 장비를 사용한 다중 프로세스의 자동화된 제어
US10207407B1 (en) Robotic operation libraries
US10197584B2 (en) Analysis system for analyzing biological samples
JP5816771B1 (ja) 学習装置ユニット
Berman et al. Evaluation of automatic guided vehicle systems
Chen et al. Coalition-based approach to task allocation of multiple robots with resource constraints
KR20230030053A (ko) 자동화된 시스템의 동적 제어
Wolf et al. Towards robotic laboratory automation Plug & Play: The “LAPP” framework
Kloock et al. An architecture for experiments in connected and automated vehicles
Neubert et al. Workflow management system for the integration of mobile robots in future labs of life sciences
US20220266445A1 (en) Use of Mobile Robotics in Self-Assembling Workcells of Complex Workflows
Balyk et al. Cyber-physical test facility for certification of robotic unmanned aerial systems
US20230335236A1 (en) Data Services Modeling and Manager for Transformation and Contextualization of Data in Automated Performance of Workflows
Gu et al. Intelligent scheduling method for life science automation systems
Kaber et al. Human–automation interaction strategies and models for life science applications
Sreeram Human-in-the-loop of cyber physical agricultural robotic systems
WO2022178547A1 (en) Use of mobile robotics in self-assembling workcells of complex workflows
Syrmos et al. MIROR: A middleware software tool for interfacing mobile industrial robots with optimization routing algorithms
Neubert et al. Architecture for a Combined Mobile Robot and Human Operator Transportation Solution for the Hierarchical Life Science Automation.
Sommer et al. Machine learning in manufacturing in the era of industry 4.0
US11911915B2 (en) Determining robotic calibration processes
You et al. Robotic laboratory automation platform based on mobile agents for clinical chemistry
US12097608B2 (en) System and method for automated experimentation
US11850729B2 (en) System and method for automated experimentation
Han et al. Hybrid computational steering for dynamic data-driven application systems