KR20210137248A - 로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들 - Google Patents

로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들 Download PDF

Info

Publication number
KR20210137248A
KR20210137248A KR1020217036608A KR20217036608A KR20210137248A KR 20210137248 A KR20210137248 A KR 20210137248A KR 1020217036608 A KR1020217036608 A KR 1020217036608A KR 20217036608 A KR20217036608 A KR 20217036608A KR 20210137248 A KR20210137248 A KR 20210137248A
Authority
KR
South Korea
Prior art keywords
robot
sensor data
processing system
data
error values
Prior art date
Application number
KR1020217036608A
Other languages
English (en)
Other versions
KR102577561B1 (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
Application filed by 어플라이드 머티어리얼스, 인코포레이티드 filed Critical 어플라이드 머티어리얼스, 인코포레이티드
Publication of KR20210137248A publication Critical patent/KR20210137248A/ko
Application granted granted Critical
Publication of KR102577561B1 publication Critical patent/KR102577561B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • 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
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0095Manipulators transporting wafers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • 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
    • 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
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • 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/45Nc applications
    • G05B2219/45032Wafer manufacture; interlock, load-lock module

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Container, Conveyance, Adherence, Positioning, Of Wafer (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

방법은, 기판 프로세싱 시스템의 고정된 위치에 대해 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝하는 단계, 및 복수의 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터를 생성하는 단계를 포함한다. 방법은, 센서 데이터에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하는 단계, 및 복수의 에러 값들에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 하는 단계를 더 포함한다.

Description

로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들
[001] 본 개시내용의 실시예들은 로봇들의 관절 좌표 티칭 정확도(joint coordinate teaching accuracy)를 향상시키기 위한 장치들, 시스템들 및 방법들에 관한 것이다.
[002] 기판 프로세싱 시스템들과 같은 전자 디바이스 제조 시스템들은 다수의 프로세스 챔버들(process chambers) 및 로드록 챔버들(load lock chambers)을 포함한다. 그러한 챔버들은, 예를 들어 복수의 프로세스 챔버들이 이송 챔버 주위에 분포되는 클러스터 툴들(cluster tools)에 포함된다. 전자 디바이스 제조 시스템들은 또한 팩토리 인터페이스(factory interface) 및 저장 영역들(예를 들어, 전면 개방 통합 포드들(front opening unified pods; FOUPs))을 포함한다. 전자 디바이스 제조 시스템들은, 다양한 프로세스 챔버들과 로드록 챔버들 사이에서 기판들을 반송하도록 이송 챔버 내에 수납되고 저장 영역들과 로드록 챔버들 사이에서 기판들을 반송하도록 팩토리 인터페이스 내에 수납되는 다관절 로봇들(articulated robots) 또는 다중-암 로봇들(multi-arm robots)을 이용한다. 예를 들어, 로봇들은 기판들을 챔버로부터 챔버로, 로드록 챔버들로부터 프로세스 챔버들로, 프로세스 챔버들로부터 로드록 챔버들로, 로드록 챔버들로부터 저장 영역들로, 그리고/또는 저장 영역들로부터 로드록 챔버들로 기판들을 반송한다. 전자 디바이스 제조 시스템의 다양한 부분들 사이에서의 기판들의 효율적이고 정밀한 반송은 시스템 스루풋(system throughput)을 향상시키고, 그에 따라 전체 운전 비용들을 낮춘다.
[003] 많은 단일 블레이드(예를 들어, 엔드 이펙터(end effector)) 및 이중 블레이드 로봇들에서, 단일 또는 이중 블레이드들 각각이 부착되는 리스트(wrist)는 요 회전(yaw rotation)으로 지칭되는 독립적인 회전이 가능하다. 일부 예들에서, 각각의 로봇은 하나 이상의 모터들에 의해 구동되는 3 개의 암들(상부 암, 포어암(forearm) 및 리스트)을 이용한다. 일부 예들에서, 각각의 로봇은 또한 하나 이상의 모터들에 의해 구동되는 4 개의 암들(상부 암, 포어암, 추가 암 및 리스트)을 이용한다. 이러한 로봇들 각각에서, 리스트는 독립적인 요 회전이 가능하다. 블레이드는 리스트에 결합되고, 프로세스 챔버 또는 로드록 챔버와 같은 목적지로 내용물(예를 들어, 기판)을 운반하거나 목적지로부터 내용물(예를 들어, 기판)을 취출(pick)하는 데 사용된다.
[004] 다음은 본 개시내용의 일부 양상들의 기본적인 이해를 제공하기 위한 본 개시내용의 간략화된 개요이다. 본 개요는 본 개시내용의 광범위한 개요는 아니다. 이는 본 개시내용의 핵심 또는 중요 요소들을 식별하도록 의도되지 않을뿐만 아니라, 본 개시내용의 특정 구현예들의 임의의 범위 또는 청구항들의 임의의 범위를 기술하도록 의도되지도 않는다. 그 유일한 목적은, 이후에 제시되는 보다 상세한 설명에 대한 서두로서 간략화된 형태로 본 개시내용의 일부 개념들을 제시하는 것이다.
[005] 본 개시내용의 일 양상에서, 방법은, 기판 프로세싱 시스템의 고정된 위치에 대해 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝(positioning)하는 단계; 복수의 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터를 생성하는 단계; 센서 데이터에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하는 단계; 및 복수의 에러 값들에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 하는 단계를 포함한다.
[006] 본 개시내용의 다른 양상에서, 비일시적 기계 판독 가능 저장 매체는 실행될 때 프로세싱 디바이스가 작동들을 수행하게 하는 명령들을 저장하며, 작동들은, 기판 프로세싱 시스템의 고정된 위치에 대해 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝하는 작동; 복수의 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터를 생성하는 작동; 센서 데이터에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하는 작동; 및 복수의 에러 값들에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 하는 작동을 포함한다.
[007] 본 개시내용의 다른 양상에서, 시스템은 메모리, 및 메모리에 결합된 프로세싱 디바이스를 포함한다. 프로세싱 디바이스는, 기판 프로세싱 시스템의 고정된 위치에 대해 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝하고; 복수의 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터를 생성하고; 센서 데이터에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하며; 그리고 복수의 에러 값들에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 하기 위한 것이다.
[008] 이하에 설명되는 도면들은 단지 예시의 목적들을 위한 것이며 반드시 실척대로 그려진 것은 아니다. 도면들은 어떤 방식으로도 본 개시내용의 범위를 제한하도록 의도되지 않는다. 가능한 경우에는 항상, 동일한 또는 유사한 참조 번호들은 도면들 전반에 걸쳐 동일하거나 유사한 부분들을 참조하도록 이용될 것이다.
[009] 도 1은 특정 실시예들에 따른 기판 프로세싱 시스템의 개략적인 평면도를 예시한다.
[0010] 도 2a는 특정 실시예들에 따른 로봇의 평면도를 예시한다.
[0011] 도 2b는 특정 실시예들에 따른 로봇의 측단면도를 예시한다.
[0012] 도 3a 내지 도 3c는 특정 실시예들에 따른, 빔 센서들을 갖는 로봇들의 단일 엔드 이펙터들의 평면도들을 예시한다.
[0013] 도 4는 특정 실시예들에 따른, 핀의 위치를 검출하는 엔드 이펙터의 평면도를 예시한다.
[0014] 도 5는 특정 실시예들에 따른, 핀을 검출하는 몇 개의 포지션들에서 빔 센서를 갖는 엔드 이펙터의 평면도를 예시한다.
[0015] 도 6은 특정 실시예들에 따른, 로봇이 고정된 위치를 측정한 좌표 데이터 포인트들을 나타내는 그래프를 예시한다.
[0016] 도 7은 특정 실시예들에 따른 예시적인 시스템 아키텍처를 예시하는 블록도이다.
[0017] 도 8은 특정 실시예들에 따른, 머신 러닝 모델들을 위한 데이터 세트를 생성하기 위한 예시적인 데이터 세트 생성기이다.
[0018] 도 9는 특정 실시예들에 따른, 예측 데이터를 결정하는 것을 예시하는 블록도이다.
[0019] 도 10a 내지 도 10d는 특정 실시예들에 따른, 수정 동작을 야기하기 위한 에러 값들을 결정하는 것과 연관된 방법들의 흐름도들이다.
[0020] 도 11은 특정 실시예들에 따른 컴퓨터 시스템을 예시하는 블록도이다.
[0021] 본원에 설명된 실시예들은 로봇들의 관절 좌표 티칭 정확도에 관한 것이다. 기판 프로세싱 시스템들에서, 로봇(예를 들어, 대기 로봇, 팩토리 인터페이스 로봇 등)은 팩토리 인터페이스에 위치되고, 인클로저 시스템들(enclosure systems)(예를 들어, FOUP, 측면 저장 포드(side storage pod; SSP)), 얼라이너 디바이스(aligner device), 로드록 등과 같은, 기판 프로세싱 시스템의 부분들 사이에서 내용물(예를 들어, 기판들, 프로세스 키트 링들(process kit rings) 등)을 이송한다. 로봇(예를 들어, 진공 로봇, 이송 챔버 로봇 등)은 이송 챔버에 위치되고, 프로세싱 챔버들, 로드록들, LCF(local center finding) 디바이스 등과 같은, 기판 프로세싱 시스템의 부분들 사이에서 내용물을 이송한다. 기판 프로세싱(예를 들어, 전자 디바이스 제조)에서는, 다양한 특정 위치들 사이에서의 내용물의 매우 정밀하고 신속한 반송을 달성하는 것이 목표이다. 특히, 로봇들의 블레이드들 또는 엔드 이펙터들은 로봇들이 반송하는 내용물 및 로봇들이 서비스하는 기판 프로세싱 시스템의 부분들(예를 들어, 프로세스 챔버들, 로드록, FOUP 등)에 대해 정밀하게 배향된다. 일부 경우들에서, 부적절한 배향은 오정렬된 기판 핸드오프들(handoffs)의 결과로서 기판들의 불균일한 프로세싱 및 품질 저하를 초래한다. 일부 경우들에서, 에러들을 갖는 로봇들, 얼라이너 디바이스들 및/또는 LCF 디바이스들은 내용물, 기판 프로세싱 시스템의 부분들 및/또는 그 자체에 대한 손상을 야기한다. 일부 로봇들은 로봇의 관절 좌표 티칭 동안에 도입된 관절 에러들의 결과로서 특정 배향 문제들을 겪는다.
[0022] 다중-링크 로봇들에서, 관절 에러는 로봇 티칭 정확도에 크게 기여한다. 예를 들어, 관절 운동학적 에러(joint kinematic error), 관절 히스테리시스(joint hysteresis) 및 관절 백래시(joint backlash)는 각각 다중-링크 로봇들이 경험하는 포지션 에러들에 크게 기여하는 대응하는 유형의 관절 에러이다.
[0023] 통상적으로, 로봇, 얼라이너 디바이스 및/또는 LCF 디바이스의 위치 티칭, 교정 및 오작동 구성요소들 진단(예를 들어, 에러들, 임계 속도 아래로의 속도 저하 등의 결정)은 수동 프로세스들이다. 수동 프로세스의 경우, 기술자는 기판 프로세싱 시스템을 개방하고(기판 프로세싱 시스템의 이송 챔버 및/또는 팩토리 인터페이스 내의 밀봉된 환경을 대기에 노출시키는 것을 초래함), 로봇 암을 수동으로 핸들링하며(잠재적으로 로봇 암에 오염물질들을 도입함), 수동으로 티칭, 교정 및 진단을 수행한다. 개방된 후에, 기판 프로세싱 시스템은 긴 재적격성평가 프로세스(qualification process)를 거치며, 그 동안에는 기판 프로세싱 시스템이 기판을 프로세싱하는 데 사용되지 못한다. 재적격성평가 프로세스는 라인 수율, 일정(scheduling), 품질, 사용자 시간, 사용되는 에너지 등에 영향을 미친다.
[0024] 본원에 개시된 디바이스들, 시스템들 및 방법들은 로봇들의 관절 좌표 티칭 정확도의 향상을 제공한다. 본원에 개시된 장치, 시스템들 및 방법들은 로봇들의 티칭(예를 들어, 오토 티칭) 동안에 관절 에러들의 영향들을 감소시킨다. 일부 실시예들에서, 프로세싱 디바이스(예를 들어, 기판 프로세싱 시스템의 제어기)는 기판 프로세싱 시스템의 고정된 위치에 대해 기판 프로세싱 시스템에 복수의 자세들로 로봇들을 포지셔닝한다. 일부 실시예들에서, 고정된 위치는 인클로저 시스템(예를 들어, FOUP, SSP) 내에, 얼라이너 디바이스 상에, LCF 디바이스 상에, 로드록에 위치되는 식으로 위치된 핀(pin)이다. 일부 실시예들에서, 로봇은 엔드 이펙터, 리스트 부재(wrist member), 포어암, 상부 암 등과 같은 다수의 구성요소들을 포함한다.
[0025] 프로세싱 디바이스는 상이한 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터를 추가로 생성한다. 일부 실시예들에서, 로봇은 로봇의 하나의 부분을 격리시키고 로봇의 그 부분만을 움직임으로써 상이한 자세들로 포지셔닝된다. 센서 데이터의 제1 부분은 로봇의 제1 관절에 대해 로봇의 리스트 부재를 움직이는 동안에만 생성되고, 센서 데이터의 제2 부분은 로봇의 제2 관절에 대해 로봇의 포어암을 움직이는 동안에만 생성되는 식이다.
[0026] 프로세싱 로직은 센서 데이터에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 추가로 결정한다. 일부 예들에서, 로봇의 리스트 부재에 대응하는 에러 값은 센서 데이터에 기초하여 결정된다. 일부 예들에서, 얼라이너 디바이스에 대응하는 에러 값은 센서 데이터에 기초하여 결정된다.
[0027] 프로세싱 디바이스는 추가로, 복수의 에러 값들에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 한다. 일부 예들에서, 리스트 부재와 연관된 에러 값을 결정하는 것(예를 들어, 제1 각도로 회전하도록 리스트 부재에 지시하면, 실제로는 리스트 부재가 제1 각도와 상이한 제2 각도로 회전하게 하는 것)에 응답하여, 프로세싱 디바이스는 해당 에러 값을 사용하여 리스트 부재가 올바른 각도로 회전하게 한다. 일부 예들에서, 시간 경과에 따라 증가하는 에러 값을 결정할 때, 예방적 유지보수, 하나 이상의 구성요소들의 교체 등이 수행된다. 일부 예들에서, 로봇에 대해 제1 수정 동작(예를 들어, 교정, 오토 티칭, 진단 등)이 수행된 후에, 로봇을 사용하는 기판 프로세싱 시스템의 상이한 구성요소(예를 들어, 얼라이너 디바이스, LCF 디바이스 등)에 대해 제2 수정 동작이 결정된다.
[0028] 일부 실시예들에서, 에러 값들은 머신 러닝 모델(machine learning model)을 트레이닝(training)함으로써 결정된다. 이력 센서 데이터(예를 들어, 포지션 데이터, 이미지들 등) 및 이력 에러 값들(예를 들어, 제3자 센서들, 얼라이너 디바이스, LCF 디바이스 등으로부터의 평균들)이 수신되고, 머신 러닝 모델이 이력 센서 데이터를 포함하는 데이터 입력 및 이력 에러 값들을 포함하는 목표 출력에 의해 트레이닝되어, 트레이닝된 머신 러닝 모델을 생성한다. 센서 데이터는 트레이닝된 머신 러닝 모델에 입력으로서 제공되고, 예측 데이터를 나타내는 출력은 트레이닝된 머신 러닝 모델로부터 획득되며, 에러 값들은 예측 데이터에 기초하여 결정된다.
[0029] 본원에 설명된 디바이스들, 시스템들 및 방법들은 통상적인 해결책들에 비해 이점들을 갖는다. 기판 프로세싱 시스템의 구성요소들에 대한 에러 값들은 기판 프로세싱 시스템의 개방 없이, 그리고 기판 프로세싱 시스템의 후속적인 재적격성평가 프로세스 없이 결정된다(예를 들어, 밀봉된 환경을 유지하면서 작동들을 수행할 수 있게 함). 밀봉된 환경의 유지는 유해한 가스들이 기판 프로세싱 시스템을 빠져나가는 것을 방지하고, 오염물질이 기판 프로세싱 시스템으로 진입하는 것을 방지하며, 기판 프로세싱 시스템의 대응하는 부분들 내의 불활성 환경 및/또는 진공 레벨을 유지한다. 특정 구성요소들의 에러들은 (예를 들어, 특정 구성요소들, 로봇, 얼라이너, LCF 디바이스, 기판 프로세싱 시스템 등의) 오토 티칭, 교정 및 진단을 향상시키기 위해 결정된다. 이것은, 로봇이 내용물을 제거하고 특정 위치들에 내용물을 배치하도록 제어될 수 있게 하며, 얼라이너 디바이스 및 LCF 디바이스가 내용물을 보다 정확하게 정렬할 수 있게 한다. 그렇게 함으로써, 이것은 프로세싱 내용물에서의 에러들을 감소시키고, 로봇들, 인클로저 시스템들 및/또는 기판 프로세싱 시스템에 대한 손상을 감소시킨다. 본원에 설명된 해결책들은 통상적인 해결책보다 라인 수율, 일정, 품질, 사용자 시간, 사용되는 에너지 등에 덜 영향을 미친다.
[0030] 로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들은 제한이 아니라 예시의 목적을 위한 것이다. 일부 실시예들에서, 본원에 설명된 해결책들은, 로봇의 블레이드의 웨이퍼 중심에 대한 파이버 빔 오프셋(fiber beam offset), 로봇의 각 관절마다의 모터 또는 기어 전달 에러(transmission error), 로봇의 타원형 관절 에러, 로봇의 링크 영점설정 오프셋(link zeroing offset) 등과 연관된 수정 동작들을 수행하는 것과 같이, 관절 좌표 티칭 정확도 이외의 수정 동작들을 수행하는 데 사용된다. 일부 실시예들에서, 본원에 설명된 해결책들은 얼라이너 디바이스, LCF 디바이스 등과 같이, 로봇 이외의 구성요소들에 대한 수정 동작들을 수행하는 데 사용된다.
[0031] 도 1은 프로세싱 시스템(100)(예를 들어, 전자 디바이스 프로세싱 장치, 기판 프로세싱 시스템)의 개략적인 평면도를 예시한다. 프로세싱 시스템(100)은 프로세싱 시스템(100)의 상이한 부분들 사이에서 내용물(예를 들어, 기판들, 프로세스 키트 링들, 캐리어들, 검증 웨이퍼들, 구성요소들 등)을 이송한다. 프로세싱 시스템(100)은 하나 이상의 프로세스들을 (예를 들어, 하나 이상의 프로세스 챔버들(104)을 통해) 기판들(105)(예를 들어, 300 ㎜ 또는 450 ㎜의 실리콘-함유 웨이퍼들, 실리콘 플레이트들 등)에 부여함으로써 기판들(105)을 프로세싱하도록 구성된다. 프로세스들은 탈기, 세정, 사전 세정, 증착, 예컨대 화학 기상 증착(CVD), 물리적 기상 증착(PVD), 원자 층 증착, 코팅, 산화, 질화, 에칭, 폴리싱(polishing), 리소그래피(lithography) 등을 포함한다. 일부 실시예들에서, 프로세싱 시스템(100)은 에칭 챔버들, 증착 챔버들(원자 층 증착, 화학 기상 증착, 물리적 기상 증착, 또는 이들의 플라즈마 강화 버전들을 포함함), 어닐링 챔버들(anneal chambers) 등 중 하나 이상을 포함하는 프로세스 챔버들(104)을 포함한다.
[0032] 도시된 프로세싱 시스템(100)은 내부에 형성된 이송 챔버(102)를 포함하는 메인프레임 하우징(mainframe housing)(101)을 포함한다. 이송 챔버(102)는 덮개(예시의 목적들을 위해 제거됨), 바닥 및 측벽들에 의해 형성되고, 예를 들어 일부 실시예들에서 진공으로 유지된다. 메인프레임 하우징(101)은 정사각형, 직사각형, 오각형, 육각형, 칠각형, 팔각형(도시된 바와 같음) 또는 다른 기하학적 형상과 같은 임의의 적합한 형상을 포함한다. 도시된 실시예에서, 다중-암 로봇과 같은 로봇(106)은 이송 챔버(102)의 내부에 적어도 부분적으로 수용된다. 로봇(106)은 이송 챔버(102) 주위에 배열된 다양한 챔버들(예를 들어, 하나 이상의 프로세스 챔버들(104) 및/또는 하나 이상의 로드록 챔버들(109))을 서비스하도록 내부에서 작동 가능하도록 구성된다. 본원에 사용된 바와 같은 "서비스(service)"는 로봇(106)의 엔드 이펙터(108)에 의해 내용물(예를 들어, 기판(105), 프로세스 키트 링 등)을 챔버(예를 들어, 프로세스 챔버(104) 및/또는 로드록 챔버들(109)) 내에 배치하거나 챔버로부터 취출하는 것을 포함한다. 도 1에 도시된 이송 챔버(102)는 6 개의 프로세스 챔버들(104) 및 2 개의 로드록 챔버들(109)에 결합된다. 그러나, 다른 실시예에서는 다른 개수의 프로세스 챔버들(104) 및 로드록 챔버들(109)이 사용된다.
[0033] 로봇(106)은 로봇(106)의 엔드 이펙터(108)(때로는 "블레이드"로 지칭됨) 상에 장착된 기판들(105)(때로는 "웨이퍼들" 또는 "반도체 웨이퍼들"로 지칭됨)과 같은 내용물을 하나 이상의 슬릿 밸브 조립체들(slit valve assemblies)(107)을 통해 목적지들로 또는 목적지들로부터 취출 및 배치하도록 구성된다. 도 1의 도시된 실시예에서, 로봇(106)은 다양한 프로세스 챔버들(104) 및/또는 로드록 챔버들(109) 사이에서 기판들(105)을 이송하기에 충분한 이동성을 갖는 임의의 적합한 다중-암 로봇이다.
[0034] 도 1의 도시된 실시예에서, 로봇(106)은 이송 챔버(102) 내에 위치 및 수납되는 것으로 도시되어 있다. 그러나, 로봇(106)의 이러한 실시예뿐만 아니라, 본원에 설명된 다른 로봇들은 전자 프론트 엔드 모듈(electronic front end module; EFEM)(110)(예를 들어, 팩토리 인터페이스)과 같은, 전자 디바이스 제조의 다른 영역들에서 사용된다는 것이 인식되어야 하며, EFEM(110)에서, 로봇은 예를 들어 기판 캐리어들(114)의 로드 포트들(load ports)(예를 들어, 인클로저 시스템들, FOUP들 등)과 로드록 챔버들(109) 사이에서 내용물(예를 들어, 기판들(105))을 반송한다. 본원에 설명된 로봇(106)은 또한 다른 반송 용도들이 가능하다.
[0035] 로드록 챔버들(109)은 EFEM(110)의 인터페이스 챔버(111)와 인터페이싱하도록 구성된다. EFEM(110)은 로드 포트들(112)에 도킹된 전면 개방 통합 포드들(FOUP들)과 같은 기판 캐리어들(114)로부터 내용물(예를 들어, 기판들(105))을 수용한다. 로봇(118)(로드/언로드 로봇, 팩토리 인터페이스 로봇, 대기 로봇, EFEM 로봇 등)(점선으로 나타냄)은 기판 캐리어들(114)과 로드록 챔버들(109) 사이에서 기판들(105)을 이송하는 데 사용된다. 일부 실시예들에서, 로봇(118)은 로봇(106)과 동일하거나 유사한 구성요소들(예를 들어, 엔드 이펙터(108) 등) 및 기능들을 갖는다. 슬릿 밸브 조립체들(107)은 프로세스 챔버들(104) 내로의 개구들의 일부 또는 전부에, 그리고 또한 로드록 챔버들(109)의 개구들의 일부 또는 전부에 제공된다.
[0036] 로봇(118)은 선택적 컴플라이언스 조립 로봇 암(selective compliance assembly robot arm; SCARA) 로봇과 같은 로봇 암을 포함한다. SCARA 로봇의 예들은 2-링크 SCARA 로봇, 3-링크 SCARA 로봇, 4-링크 SCARA 로봇 등을 포함한다. 로봇(118)은 로봇 암의 단부 상에 엔드 이펙터(108)를 포함한다. 엔드 이펙터(108)는 기판들과 같은 특정 물체들을 픽업 및 핸들링하도록 구성된다. 대안적으로 또는 추가적으로, 엔드 이펙터(108)는 교정 기판 및 프로세스 키트 링들(에지 링들)과 같은 물체들을 핸들링하도록 구성된다. 엔드 이펙터(108)는 또한 고정된 위치에 위치된 물체들(예를 들어, 핀, 오토티치 핀(autoteach pin), 교정 핀 등)을 스캔하도록 구성된다. 로봇(118)은 엔드 이펙터(108)를 상이한 배향들로 그리고 상이한 위치들에 이동시키기 위해 움직이도록 구성된 하나 이상의 링크들 또는 부재들(예를 들어, 리스트 부재, 상부 암 부재, 포어암 부재 등)을 갖는다.
[0037] 로봇(118)은 기판 캐리어들(114)(예를 들어, 카세트들, FOUP들)(또는 로드 포트들), 로드록들(119A, 119B), SSP, 얼라이너 디바이스 등 사이에서 물체를 이송하도록 구성된다. 통상적인 시스템들은, 에러 값들을 결정하고 로봇(예를 들어, 팩토리 인터페이스 로봇)에 대한 수정 동작들(예를 들어, 티칭, 교정 및/또는 오작동 진단)을 수행하기 위한, 작업자에 의한 프로세싱 시스템(예를 들어, EFEM)의 개방(예를 들어, 분해, 밀봉 파괴, 오염 등)과 연관되지만, 프로세싱 시스템(100)은 작업자에 의한 프로세싱 시스템(100)의 개방(예를 들어, 분해, 밀봉 파괴, 오염 등) 없이 에러 값들의 결정 및 수정 동작들(예를 들어, 자동 티칭, 교정 및/또는 진단)의 수행을 용이하게 하도록 구성된다. 따라서, 실시예들에서, 기판 캐리어(114)의 내부 용적부(interior volume) 및 EFEM(110)의 내부 용적부를 포함하는 밀봉된 환경은, 에러 값들을 결정하고 수정 동작들(예를 들어, 자동 티칭, 교정 및/또는 진단 작동들)을 수행하는 동안에 유지된다.
[0038] 로봇(118)은 실시예들에서 핀(예를 들어, 오토티치 인클로저 시스템의 오토티치 핀)과 같은 물체를 사용하여 로드 포트, 기판 캐리어(114), 로드록(119), SSP, 얼라이너 디바이스, LCF 디바이스 등에 대해 고정된 위치가 티칭된다. 일 실시예에서의 고정된 위치는 특정 로드 포트에 배치된 기판 캐리어(114)(예를 들어, 오토티치 인클로저 시스템)의 중심 위치에 대응하며, 이는 실시예들에서 또한 특정 로드 포트에 배치된 상이한 기판 캐리어(114)(예를 들어, 기판들의 카세트)의 중심 위치에 대응한다. 대안적으로, 고정된 위치는 프로세싱 시스템(100) 내의 다른 고정된 위치들(예를 들어, 기판 캐리어(114), 얼라이너 디바이스, 로드록(119), LCF 디바이스 등의 전면 또는 후면)에 대응한다. 로봇(118)은 일부 실시예들에서 물체(예를 들어, 오토티치 인클로저 시스템의 오토티치 핀 및/또는 교정 기판)를 사용하여 교정된다. 로봇(118)은 일부 실시예들에서 물체(예를 들어, 오토티치 인클로저 시스템의 교정 기판)를 사용하여 진단된다.
[0039] 일부 실시예들에서, 로봇(106)은 로봇(118)과 실질적으로 유사하다. 일부 실시예들에서, 로봇(106)은 SCARA 로봇이지만, 로봇(118)보다 적은 링크들 및/또는 적은 자유도들을 갖는다.
[0040] 기판들(105)과 같은 내용물은 EFEM(110)의 표면(예를 들어, 후방 벽)에 결합된 로드록 챔버들(109)을 통해, EFEM(110)으로부터 이송 챔버(102) 내로 수용되고, 또한 이송 챔버(102)에서 EFEM(110)으로 빠져나간다. 로드록 챔버들(109)은 하나 이상의 로드록들(예를 들어, 예컨대, 로드록들(119A, 119B))을 포함한다. 일부 실시예들에서, 로드록 챔버들(109)에 포함된 로드록들(119A, 119B)은 예를 들어 단일 웨이퍼 로드록(single wafer load lock; SWLL) 챔버들, 다중-웨이퍼 챔버들, 또는 이들의 조합들이다. 기판 캐리어들(114) 각각은 로드 포트 상에 위치된다. 일부 실시예들에서, 로드 포트들은 EFEM(110)에 직접 장착(예를 들어, 그에 대해 밀봉)된다. 기판 캐리어들(114)(예를 들어, 카세트, FOUP, 프로세스 키트 인클로저 시스템, 오토티치 인클로저 시스템, 인클로저 시스템 등)은 로드 포트들에 제거 가능하게 결합(예를 들어, 도크(dock))하도록 구성된다. 일부 실시예들에서, 하나 이상의 기판 캐리어들(114)은 웨이퍼들 및/또는 다른 기판들을 프로세싱 시스템(100) 내외로 이송하기 위해 로드 포트들에 결합된다. 기판 캐리어들(114) 각각은 각각의 로드 포트에 대해 밀봉된다. 일부 실시예들에서, 제1 기판 캐리어(114)는 (예를 들어, EFEM(110)의 로봇(118)을 티칭, 교정 및/또는 진단하기 위해) 제1 로드 포트에 도킹된다. 그러한 작동 또는 작동들이 수행되면, 제1 기판 캐리어(114)는 로드 포트로부터 도킹해제되고, 다음에 제2 기판 캐리어(114)(예를 들어, 웨이퍼들을 보유하는 FOUP)가 동일한 로드 포트에 도킹된다. 일부 실시예들에서, 기판 캐리어(114)는 오토티치 작동, 교정 작동 또는 진단 작동 중 하나 이상을 수행하기 위한 오토티치 인클로저 시스템이다. 일부 실시예들에서, 기판 캐리어(114)는 프로세스 키트 링들과 같은 내용물을 프로세싱 시스템(100) 내외로 이송하기 위한 프로세스 키트 인클로저 시스템이다.
[0041] 일부 실시예들에서, 로드 포트는 수직 개구(또는 실질적으로 수직 개구)를 형성하는 전면 인터페이스를 포함한다. 로드 포트는 기판 캐리어(114)(예를 들어, 카세트, 인클로저 시스템, 오토티치 인클로저 시스템)를 지지하기 위한 수평 표면을 추가로 포함한다. 각각의 기판 캐리어(114)(예를 들어, 웨이퍼들의 FOUP, 오토티치 인클로저 시스템, 프로세스 키트 인클로저 시스템)는 수직 개구를 형성하는 전면 인터페이스를 갖는다. 기판 캐리어(114)의 전면 인터페이스는 로드 포트의 전면 인터페이스와 인터페이싱하도록(예를 들어, 그에 밀봉되도록) 크기설정된다(예를 들어, 기판 캐리어(114)의 수직 개구는 로드 포트의 수직 개구와 대략 동일한 크기임). 기판 캐리어(114)는 로드 포트의 수평 표면 상에 배치되고, 기판 캐리어(114)의 수직 개구는 로드 포트의 수직 개구와 정렬된다. 기판 캐리어(114)의 전면 인터페이스는 로드 포트의 전면 인터페이스와 상호연결된다(예를 들어, 그에 클램핑, 고정, 밀봉됨). 기판 캐리어(114)의 바닥 플레이트(예를 들어, 베이스플레이트)는 로드 포트의 수평 표면과 결합하는 피쳐들(features)(예를 들어, 로드 포트 운동학적 핀 피쳐들과 결합하는 리세스들(recesses) 또는 리셉터클들(receptacles)과 같은 로드 피쳐들, 핀 간극을 위한 로드 포트 피쳐 및/또는 인클로저 시스템 도킹 트레이 래치 클램핑 피쳐)을 갖는다. 동일한 로드 포트들이 상이한 유형들의 기판 캐리어들(114)(예를 들어, 오토티치 인클로저 시스템, 프로세스 키트 인클로저 시스템, 웨이퍼들을 보유하는 카세트들 등)에 사용된다.
[0042] 일부 실시예들에서, 기판 캐리어(114)(예를 들어, 오토티치 인클로저 시스템)는 오토티치 작동을 수행하기 위한 오토티치 핀을 포함한다. 일부 실시예들에서, 기판 캐리어(114)는 교정 작동 또는 진단 작동 중 하나 이상을 수행하기 위한 교정 기판(예를 들어, 교정 핀을 포함함)을 포함한다. 따라서, 일부 실시예들에서, 기판 캐리어(114)는 오토티치 핀 및 교정 기판 모두를 포함한다.
[0043] 일부 실시예들에서, 기판 캐리어(114), SSP, 얼라이너 디바이스, LCF 디바이스, 로드록(119) 및/또는 로드 포트 중 하나 이상은 프로세싱 시스템(100)의 하나 이상의 구성요소들에 대한 에러 값들을 결정하는 데 사용되는 대응하는 고정된 위치(예를 들어, 핀, 원통형 핀, 또는 사다리꼴 베이스를 갖는 원통형 핀 등)를 갖는다.
[0044] 일부 실시예들에서, 기판 캐리어(114)(예를 들어, 프로세스 키트 인클로저 시스템)는 내용물의 하나 이상의 아이템들(items)(예를 들어, 프로세스 키트 링, 빈 프로세스 키트 링 캐리어, 프로세스 키트 링 캐리어 상에 배치된 프로세스 키트 링, 배치 검증 웨이퍼 등 중 하나 이상)을 포함한다. 일부 예들에서, 기판 캐리어(114)는 (예를 들어, 로드 포트를 통해) EFEM(110)에 결합되어, 사용된 프로세스 키트 링의 교체를 위해 프로세스 키트 링 캐리어 상의 프로세스 키트 링을 프로세싱 시스템(100) 내로 자동 이송하는 것을 가능하게 한다.
[0045] 일부 실시예들에서, 프로세싱 시스템(100)은 또한 EFEM(110)을 각각의 로드록들(119)(예를 들어, 탈기 챔버들)에 결합하는 제1 진공 포트들(예를 들어, 로드록들(119)과 EFEM(110) 사이의 슬릿 밸브 조립체들(107))을 포함한다. 제2 진공 포트들(예를 들어, 로드록들(119)과 이송 챔버(102) 사이의 슬릿 밸브 조립체들(107))은 각각의 로드록들(119)(예를 들어, 탈기 챔버들)에 결합되고, 로드록들(119)과 이송 챔버(102) 사이에 배치되어, 기판들(105) 및 내용물(예를 들어, 프로세스 키트 링들)을 이송 챔버(102) 내로 이송하는 것을 용이하게 한다. 일부 실시예들에서, 프로세싱 시스템(100)은 하나 이상의 로드록들(119) 및 대응하는 개수의 진공 포트들(예를 들어, 슬릿 밸브 조립체들(107))을 포함 및/또는 사용한다(예를 들어, 프로세싱 시스템(100)은 단일의 로드록(119), 단일의 제1 슬릿 밸브 조립체(107) 및 단일의 제2 슬릿 밸브 조립체(107)를 포함함). 이송 챔버(102)는, 그 주위에 배치되고 그에 결합된 프로세스 챔버들(104)(예를 들어, 4 개의 프로세스 챔버들(104), 6 개의 프로세스 챔버들(104) 등)을 포함한다. 프로세스 챔버들(104)은 슬릿 밸브들 등과 같은 각각의 포트들(107)을 통해 이송 챔버(102)에 결합된다. 일부 실시예들에서, EFEM(110)은 보다 높은 압력(예를 들어, 대기압)에 있고, 이송 챔버(102)는 보다 낮은 압력(예를 들어, 진공)에 있다. 각각의 로드록(119)(예를 들어, 탈기 챔버, 압력 챔버)은 EFEM(110)으로부터 로드록(119)을 밀봉하기 위한 제1 도어(예를 들어, 제1 슬릿 밸브 조립체(107)), 및 이송 챔버(102)로부터 로드록(119)을 밀봉하기 위한 제2 도어(예를 들어, 제2 슬릿 밸브 조립체(107))를 갖는다. 내용물은 제1 도어가 개방되고 제2 도어가 폐쇄되는 동안에 EFEM(110)로부터 로드록(119) 내로 이송될 것이며, 제1 도어가 폐쇄되고, 로드록(119) 내의 압력이 이송 챔버(102)와 일치하도록 감소되고, 제2 도어가 개방되고, 내용물은 로드록(119) 밖으로 이송될 것이다. LCF 디바이스는 (예를 들어, 프로세스 챔버(104)로 진입하기 전에, 프로세스 챔버(104)를 빠져나간 후에) 이송 챔버(102)에서 내용물을 정렬시키는 데 사용될 것이다.
[0046] 제어기(109)는 프로세싱 시스템(100)의 다양한 양상들을 제어한다. 제어기(109)는 퍼스널 컴퓨터, 서버 컴퓨터, 프로그램 가능 로직 제어기(programmable logic controller; PLC), 마이크로컨트롤러 등과 같은 컴퓨팅 디바이스이고, 그리고/또는 이를 포함한다. 제어기(109)는 일부 실시예들에서 마이크로프로세서, 중앙 프로세싱 유닛 등과 같은 범용 프로세싱 디바이스들인 하나 이상의 프로세싱 디바이스들을 포함한다. 보다 구체적으로는, 일부 실시예들에서, 프로세싱 디바이스는 복잡 명령 집합 컴퓨팅(complex instruction set computing; CISC) 마이크로프로세서, 축소 명령 집합 컴퓨팅(reduced instruction set computing; RISC) 마이크로프로세서, 초장 명령어(very long instruction word; VLIW) 마이크로프로세서, 또는 다른 명령 집합들을 구현하는 프로세서, 또는 명령 집합들의 조합을 구현하는 프로세서들이다. 일부 실시예들에서, 프로세싱 디바이스는 주문형 집적 회로(application specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이(field programmable gate array; FPGA), 디지털 신호 프로세서(digital signal processor; DSP), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 프로세싱 디바이스들이다. 일부 실시예들에서, 제어기(109)는 데이터 저장 디바이스(예를 들어, 하나 이상의 디스크 드라이브들 및/또는 솔리드 스테이트 드라이브들), 메인 메모리, 정적 메모리, 네트워크 인터페이스, 및/또는 다른 구성요소들을 포함한다. 일부 실시예들에서, 제어기(109)는 본원에 설명된 방법들 또는 프로세스들 중 임의의 하나 이상을 수행하기 위한 명령들을 실행한다. 명령들은 (명령들의 실행 동안) 메인 메모리, 정적 메모리, 보조 스토리지 및/또는 프로세싱 디바이스 중 하나 이상을 포함하는 컴퓨터 판독 가능 저장 매체에 저장된다. 제어기(109)는 일부 실시예들에서 로봇(118) 및 로봇(106)으로부터 신호들을 수신하고 제어들을 이들에 송신한다.
[0047] 도 1은 프로세스 챔버(104) 내로의 내용물(예를 들어, 기판(105), 프로세스 키트 링 캐리어에 결합된 프로세스 키트 링)의 이송을 개략적으로 예시한다. 본 개시내용의 일 양상에 따르면, 내용물은 EFEM(110)에 위치된 로봇(118)을 통해 기판 캐리어(114)로부터 제거된다. 로봇(118)은 제1 슬릿 밸브 조립체(107) 중 하나를 통해 각각의 로드록(119A, 119B) 내로 내용물을 이송한다. 이송 챔버(102)에 위치된 로봇(106)은 제2 슬릿 밸브 조립체(107)를 통해 로드록들(119A, 119B) 중 하나로부터 내용물을 제거한다. 로봇(106)은 내용물을 이송 챔버(102) 내로 이동시키고, 여기서 내용물은 각각의 슬릿 밸브 조립체(107)를 통해 프로세스 챔버(104)로 이송된다. 도 1에서는 명확화를 위해 도시되어 있지 않지만, 내용물의 이송은 기판(105)의 이송, 프로세스 키트 링 캐리어 상에 배치된 프로세스 키트 링의 이송, 빈 프로세스 키트 링 캐리어의 이송, 배치 검증 웨이퍼의 이송, 웨이퍼 상의 이미징 디바이스의 이송 등 중 하나 이상을 포함한다.
[0048] 도 1은 내용물의 이송의 일 예를 예시하지만, 다른 예들도 고려된다. 일부 예들에서, 기판 캐리어(114)는 (예를 들어, 이송 챔버(102)에 장착된 로드 포트를 통해) 이송 챔버(102)에 결합되는 것으로 고려된다. 이송 챔버(102)로부터, 내용물은 로봇(106)에 의해 프로세스 챔버(104) 내로 로딩될 것이다. 추가적으로, 일부 실시예들에서, 내용물은 SSP에 로딩된다. 일부 실시예들에서, 추가 SSP가, 예시된 SSP의 반대측에 있는 EFEM(110)과 연통하도록 포지셔닝된다. 프로세싱된 내용물(예를 들어, 사용된 프로세스 키트 링)은 본원에 설명된 방식과 반대로 프로세싱 시스템(100)으로부터 제거될 것이다. 다수의 기판 캐리어들(114) 또는 기판 캐리어(114)와 SSP의 조합을 이용하는 경우, 일부 실시예들에서, 하나의 SSP 또는 기판 캐리어(114)는 프로세싱되지 않은 내용물(예를 들어, 새로운 프로세스 키트 링들)에 사용되는 한편, 다른 SSP 또는 기판 캐리어(114)는 프로세싱된 내용물(예를 들어, 사용된 프로세스 키트 링들)을 수용하는 데 사용될 것이다. 기판 캐리어(114)는 로봇 암을 통해 내용물을 이송하기 전에 로봇 암(예를 들어, 로봇(118), 로봇(106) 등)의 오토티치 작동, 교정 작동 또는 진단 작동 중 하나 이상을 수행하는 데 사용된다. 오토티치, 교정 또는 진단 작동 중 하나 이상은 (예를 들어, 제1 기판 캐리어(114)가 도킹되었던 동일한 로드 포트에 제2 기판 캐리어(114)를 도킹할 때) 로봇 암이 특정 위치들로부터 물체들을 올바르게 제거하고 특정 위치들에 물체들을 올바르게 배치할 수 있게 한다.
[0049] 프로세싱 시스템(100)은 EFEM(110)과 같은 챔버들 및 EFEM(110)에 인접한 인접 챔버들(예를 들어, 로드 포트, 기판 캐리어(114), SSP, 로드록(119) 등)을 포함한다. 챔버들 중 하나 이상이 밀봉된다(예를 들어, 챔버들 각각이 밀봉됨). 인접 챔버들은 EFEM(110)에 대해 밀봉된다. 일부 실시예들에서, 불활성 가스(예를 들어, 질소, 아르곤, 네온, 헬륨, 크립톤 또는 크세논 중 하나 이상)가 챔버들(예를 들어, EFEM(110) 및/또는 인접 챔버들)의 하나 이상 내로 제공되어, 하나 이상의 불활성 환경들을 제공한다. 일부 예들에서, EFEM(110)은 사용자들이 EFEM(110)으로 진입할 필요가 없도록 EFEM(110) 내의 불활성 환경(예를 들어, 불활성 EFEM 미니환경)을 유지하는 불활성 EFEM이다(예를 들어, 프로세싱 시스템(100)은 EFEM(110) 내에 수동으로 접근하지 못하도록 구성됨).
[0050] 일부 실시예들에서, 가스 유동(예를 들어, 불활성 가스, 질소)이 프로세싱 시스템(100)의 하나 이상의 챔버들(예를 들어, EFEM(110)) 내로 제공된다. 일부 실시예들에서, 가스 유동은 하나 이상의 챔버들을 통한 누출보다 많아서 하나 이상의 챔버들 내에 양압을 유지한다. 일부 실시예들에서, EFEM(110) 내의 불활성 가스는 재순환된다. 일부 실시예들에서, 불활성 가스의 일부가 배기된다. 일부 실시예들에서, EFEM(110) 내로 재순환되지 않은 가스의 가스 유동은 배기 가스 유동 및 가스 누출보다 많아서 EFEM(110) 내에 불활성 가스의 양압을 유지한다. 일부 실시예들에서, EFEM(110)은 EFEM(110) 내외로의 가스 유동을 제공하도록 하나 이상의 밸브들 및/또는 펌프들에 결합된다. (예를 들어, 제어기(109)의) 프로세싱 디바이스는 EFEM(110) 내외로의 가스 유동을 제어한다. 일부 실시예들에서, 프로세싱 디바이스는 하나 이상의 센서들(예를 들어, 산소 센서, 수분 센서, 모션 센서, 도어 작동 센서, 온도 센서, 압력 센서 등)로부터 센서 데이터를 수신하고, 센서 데이터에 기초하여, EFEM(110) 내부 및/또는 외부로 유동하는 불활성 가스의 유량을 결정한다.
[0051] 프로세싱 시스템(100) 내의 하나 이상의 물체들(예를 들어, 핀들)은 EFEM(110) 및 인접 챔버들 내의 밀봉된 환경의 개방 없이, 에러 값들을 결정하고 프로세싱 시스템(100)의 하나 이상의 구성요소들(예를 들어, 로봇, 얼라이너 디바이스, LCF 디바이스 등)의 수정 동작들(예를 들어, 티칭, 교정, 및/또는 진단)을 수행할 수 있게 한다. 기판 캐리어(114)는 로드 포트 상에 도킹되는 것에 응답하여 로드 포트에 밀봉된다. 기판 캐리어(114)는 EFEM(110) 내의 불활성 환경의 교란을 최소화하기 위해 기판 캐리어(114)를 개방하기 전에 기판 캐리어(114)의 내부가 퍼지될 수 있도록 퍼지 포트 액세스(purge port access)를 제공한다.
[0052] 일부 실시예들에서, 각각의 로드 포트 및/또는 기판 캐리어(114)는 고정된 위치에 대응하는 대응 핀(예를 들어, FOUP 고정구(fixture)에 대한 단일 핀 스캔을 위해 구성됨)을 갖는다. 일부 실시예들에서, 각각의 SSP는 고정된 위치에 대응하는 대응 핀(예를 들어, SSP 핀에 대한 단일 핀 스캔을 위해 구성됨)을 갖는다. 일부 실시예들에서, (예를 들어, EFEM(110) 내의) 얼라이너 디바이스는 고정된 위치에 대응하는 대응 핀(예를 들어, 얼라이너 척(aligner chuck)에 대한 단일 핀 스캔을 위해 구성됨)을 갖는다. 일부 실시예들에서, 각각의 버퍼 챔버(buffer chamber)는 고정된 위치에 대응하는 대응 핀(예를 들어, 버퍼 핀에 대한 단일 핀 스캔을 위해 구성됨)을 갖는다. 일부 실시예들에서, 각각의 로드록(119)은 고정된 위치에 대응하는 대응 핀(예를 들어, 모든 로드록들(119)에 대한 오프셋 핀 스캔을 위해 구성됨)을 갖는다.
[0053] 특정 실시예들에 따른 로봇(210)(예를 들어, 도 1의 로봇(106) 및/또는 로봇(118))의 평면도를 예시하는 도 2a가 참조된다. 특정 실시예들에 따른 로봇(210)(예를 들어, 도 1의 로봇(106) 및/또는 로봇(118))의 측단면도를 예시하는 도 2b가 또한 참조된다. 일부 실시예들에서, 로봇(210)은 프로세싱 시스템(예를 들어, 도 1의 프로세싱 시스템(100), 도 1의 이송 챔버(102), 도 1의 EFEM(110) 등)의 벽에 부착되도록 구성된 베이스(220)를 포함한다. 일부 실시예들에서, 로봇(210)은 또한 상부 암(222)을 포함하며, 상부 암(222)은 도시된 실시예에서 실질적으로 강성 캔틸레버 빔이다. 상부 암(222)은 제1 회전축(224)을 중심으로 시계 및 반시계 회전 방향들로 회전되도록 구성된다. 제1 회전축(224)을 중심으로 한 회전은 가변 자기저항 또는 영구 자석 전기 모터와 같은 임의의 적합한 모터에 의해 제공된다. 모터는 모터 하우징(226) 내에 수용된다. 상부 암(222)의 회전은 제어기(228)(예를 들어, 도 1의 제어기(109))로부터의 모터에 대한 적합한 명령들에 의해 제어된다.
[0054] 포어암(230)은 제2 회전축(232)에서 상부 암(222)에 결합된다. 제2 회전축(232)은 제1 회전축(224)으로부터 이격된다. 포어암(230)은 제2 회전축(232)을 중심으로 상부 암(222)에 대해 X-Y 평면에서 회전하도록 구성된다. 리스트 부재(236)는 제3 회전축(238)에서 포어암(230)에 결합된다. 리스트 부재(236)는 제3 회전축(238)을 중심으로 X-Y 평면에서 회전하도록 구성된다. 엔드 이펙터(108)는 리스트 부재(236)에 결합되고, 기판(105)을 운반 및 반송하도록 구성된다.
[0055] 도 2b는 특정 실시예들에 따른 로봇(210)의 측단면도를 예시한다. 로봇(210)은 로봇(210)의 링크들 또는 암들 사이에 복수의 관절들(예를 들어, 회전 관절들)을 포함한다. 관절들은 암들이 다른 암에 대해 회전할 수 있게 한다. 관절들 내에서의 유격(play)은 엔드 이펙터(108) 및 그 위에 위치된 내용물(예를 들어, 도 1의 기판(105))의 실제 포지션을 결정함에 있어서 부정확성들을 야기한다.
[0056] 도 2a 및 도 2b에 도시된 로봇(210)은 3 개의 관절들을 포함한다. 제1 관절(240)은 모터 하우징(226)과 상부 암(222) 사이에 위치된다. 제1 관절(240)은 상부 암(222)이 제1 회전축(224)을 중심으로 모터 하우징(226)에 대해 회전할 수 있게 한다. 제2 관절(242)은 상부 암(222)과 포어암(230) 사이에 위치된다. 제2 관절(242)은 포어암(230)이 제2 회전축(232)을 중심으로 상부 암(222)에 대해 회전할 수 있게 한다. 제3 관절(244)은 포어암(230)과 리스트 부재(236) 사이에 위치된다. 제3 관절은 리스트 부재(236)가 제3 회전축(238)을 중심으로 포어암(230)에 대해 회전할 수 있게 한다.
[0057] 일부 실시예들에서, 도 2a 및 도 2b의 로봇(210)은 기판 프로세싱 시스템의 고정된 위치에 대해 기판 프로세싱 시스템에 상이한 자세들로 포지셔닝된다. 상이한 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터가 생성된다. 센서 데이터에 기초하여, 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 에러 값들이 결정되고, 에러 값들에 기초하여, 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들이 수행되게 된다. 일부 실시예들에서, 에러 값들 및 수정 동작들은 제1 관절(240), 제2 관절(242) 및/또는 제3 관절(244) 중 하나 이상에 대한 관절 회전에 대응한다. 일부 실시예들에서, 제어기(228)(예를 들어, 도 1의 제어기(109))는 (예를 들어, 각각의 구성요소의 움직임을 격리시킴으로써) 각각의 구성요소에 대한 각 에러 값을 개별적으로 결정한다.
[0058] 도 3a는 로봇(310)(예를 들어, 도 2a 및 도 2b의 로봇(210), 도 1의 로봇(106) 및/또는 로봇(118) 등)의 리스트 부재(236) 및 엔드 이펙터(108)의 실시예의 평면도이다. 엔드 이펙터(108) 및/또는 리스트 부재(236)는 빔 센서(350)를 포함하고, 빔 센서(350)는 일부 실시예들에서 광원(352) 및 수광기(light receiver)(354)를 포함한다. 송광 파이버(light transmitting fiber)(356A)가 광원(352)에 연결된다. 송광 파이버(356A)는 리스트 부재(236) 및 엔드 이펙터(108)를 통해 라우팅(routing)되고, 엔드 이펙터(108)의 제1 단부(358A)에서 종단된다. 수광 파이버(light receiving fiber)(356B)가 수광기(354)에 연결된다. 수광 파이버(356B)는 리스트 부재(236) 및 엔드 이펙터(108)를 통해 라우팅되고, 엔드 이펙터(108)의 제2 단부(358B)에서 종단된다. 엔드 이펙터(108)의 제1 단부(358A) 및 제2 단부(358B)는 기판(105)(도 1 참조), 다른 내용물, 및/또는 물체(예를 들어, 핀)의 주변 에지를 검출하는 것을 포함하는 특정 유형들의 프로세싱을 위한 릴리프 영역(relief region)을 형성하는 갭(360)을 가로질러 이격되어 있다.
[0059] 송광 파이버(356A)는 제1 단부(358A)에 근접한 제1 광 경로 개구(362A)에서 종단된다. 유사하게, 수광 파이버(356B)는 제2 단부(358B)에 근접한 제2 광 경로 개구(362B)에서 종단된다. 제1 광 경로 개구(362A) 및 제2 광 경로 개구(362B)는 서로 대면하여 있으며, 기판(105)(도 1 참조), 다른 내용물, 및/또는 물체(예를 들어, 핀)의 주변 에지의 존재 또는 부존재를 검출하기 위한 광 투과 경로(364)(예를 들어, 광 빔)를 형성한다. 광 투과 경로(364)는 제1 단부(358A)와 제2 단부(358B) 사이(즉, 2 개의 포인트들 사이)에서 연장되며, 이는 갭(360)에서의 물체들의 검출을 가능하게 한다.
[0060] 빔 센서(350)는 송광 파이버(356A)와 수광 파이버(356B) 사이의 광 투과 정도들을 검출하는 송수광 모듈(light transmitting/receiving module)(366)을 더 포함한다. 송수광 모듈(366)은 기판(105) 또는 다른 물체가 광 투과 경로(364)를 차단할 때 제1 광 경로 개구(362A)와 제2 광 경로 개구(362B) 사이에 위치된 기판(105)(도 1) 또는 다른 물체의 주변 에지를 감지한다. 송수광 모듈(366)에 의해 생성된 출력 신호는 로봇(310)을 통과하는 전도체들(도시되지 않음)을 통해 제어기(예를 들어, 도 2a 및 도 2b의 제어기(228), 도 1의 제어기(109))에 제공된다.
[0061] 로봇(310)의 작동 동안, 제어기(예를 들어, 도 2a 및 도 2b의 제어기(228), 도 1의 제어기(109))는 엔드 이펙터(108)가 특정 위치들로 이동하게 하는 신호들을 로봇(310)에 전송한다. 예를 들어, 제어기(228)는 상부 암(222), 포어암(230) 및 리스트 부재(236)가 프로세싱 시스템(예를 들어, 도 1의 프로세싱 챔버(104), 이송 챔버(102), 또는 EFEM(110)) 내의 위치들과 같은 특정 위치들로 이동하게 하는 신호들을 생성한다. 제어기는 로봇(310)에 대한 고정된 위치에 기초하여 엔드 이펙터(108)를 이동시키기 위한 신호들을 생성한다. 예를 들어, 로봇(310)은 에러 값들을 결정하고 수정 동작들(예를 들어, 오토 티치 기능, 교정 기능, 진단 기능 등)을 수행하는 데 사용되며, 여기서 로봇(310)은 고정된 위치에 대응하는 센서 데이터(예를 들어, 좌표 데이터 포인트들, 이미지들 등)를 결정하는 데 사용된다. 다음에, 제어기는 고정된 위치에 상대적인 특정 위치들로 엔드 이펙터(108)를 이동시키기 위해 상부 암(222), 포어암(230) 및 리스트 부재(236)를 움직이기 위한 신호들을 생성한다.
[0062] 로봇 역학에 있어서의 일부 에러들은 엔드 이펙터(108)를 포지셔닝함에 있어서 에러들을 야기한다. 일부 예들에서, 관절들(240, 242, 244)은 포지션 에러들에 기여하는 에러들 또는 유격을 갖는다. 이러한 포지션 에러들은 로봇(310)에 의해 수행되는 오토 티치, 교정 및/또는 진단의 정확도를 감소시킨다. 관절들(240, 242, 244)에서의 에러들은 관절 운동학적 에러, 관절 히스테리시스 및 관절 백래시를 포함한다. 관절 운동학적 에러들은 때로는 관절 에러들로 지칭되고, 관절들이 명령받은 대로 회전하지 않은 결과이다(예를 들어, 상이한 자세들로부터 동일한 포인트를 요청하면 운동학적 에러가 나타남). 예를 들어, 관절이 특정 각도로 회전하도록 명령받지만, 관절은 상이한 각도로 회전한다(예를 들어, 축방향(Ty)에 대해 플롯된 측방향(Tx)의 플롯의 차이가 관절 에러임). 관절 백래시는 관절이 시계 방향 또는 반시계 방향으로 회전되고 포지션의 반복적 차이가 발생할 때 일어난다(예를 들어, 전진 구동과 후진 구동의 차이가 백래시임). 관절 히스테리시스는 관절들의 시계 방향 및 반시계 방향 회전에서 관찰되는 히스테리시스와 관련이 있다. 전달 에러(transmission error)는 공개된 것과 상이한 (예를 들어, 관절 각도에서의) 기어 및 풀리 감속들(예를 들어, 공개된 35:1의 감속 대신에 35:1.0002의 실제 감속)과 관련이 있다. 분석되는 다른 에러들(예를 들어, 링크 길이 에러)은 상부 암(222), 포어암(230) 및 리스트 부재(236)의 실제 길이들 대 제어기에 의해 저장된 이들의 길이들(예를 들어, 360 ㎜의 스톡 길이 대신에 최대 360.13 ㎜의 길이의 변동)을 포함한다. 영점설정(setzero) 오프셋 에러는 영점 포지션을 설정하도록 로봇을 피닝(pinning)하는 것과 관련이 있으며, 기계적 영점 포지션은 일부 예들에서 최대 0.1 내지 0.2 도 벗어나 있다.
[0063] 오토 티치, 교정, 진단 등의 정확도는 상이한 로봇 자세들을 사용하여 엔드 이펙터(108)를 고정된 위치로 반복적으로 배향시킴으로써 향상된다. 일부 실시예들에서, 로봇 자세는 상부 암(222), 포어암(230) 및 리스트 부재(236)의 포지션들을 지칭한다. 로봇(106)은 관절 에러들 및 다른 에러들로 인해 변하는 고정된 위치의 센서 데이터(예를 들어, 상이한 좌표 데이터 포인트들, 상이한 이미지들 등)를 결정하는 데 사용된다.
[0064] 정확한 운동학(예를 들어, 결정된 에러 값들로 인한 조정)은 보다 직선화된 로봇 경로들, 보다 양호한 LCF 디바이스 반복성, 정확한 오토티치 작동들, 로봇이 측정들을 할 수 있게 하는 것 등에 이익이 있다.
[0065] 도 3b는 특정 실시예들에 따른 로봇(310)의 평면도를 예시한다. 로봇(310)은 핀과 같은 물체를 사용하여 하나 이상의 에러 값들을 결정하는(예를 들어, 오토티치 작동, 교정 작동, 또는 진단 작동 중 하나 이상을 수행함) 데 사용되도록 구성된다. 로봇(310)은 엔드 이펙터(108), 리스트 부재(236), 광원(352)에 결합된 제1 광 경로 개구(262A)(예를 들어, 파이버 이미터(fiber emitter)), 및 수광기(354)에 결합된 제2 광 경로 개구(362B)(예를 들어, 파이버 리시버(fiber receiver))를 포함한다. 광 투과 경로(364)(예를 들어, 광 빔, 빔 트리거링 경로)가 제1 광 경로 개구(362A)와 제2 광 경로 개구(362B) 사이에 배치된다.
[0066] 로봇(310)은 실제 웨이퍼 중심(372)에 대응하는 로봇 리스트 중심(370)을 갖는다. 로봇(310)의 특성 에러(374)(예를 들어, 로봇 암 에러)는 중심선과 에러선 사이의 거리 또는 각도이다. 중심선은 로봇 리스트 중심(370)과 실제 웨이퍼 중심(372) 사이에 있다(예를 들어, 벡터 리스트-웨이퍼 중심). 에러선(예를 들어, 벡터 리스트-빔)은 광 투과 경로(374)(예를 들어, 빔 트리거링 경로)에 수직이다(예를 들어, 90 도 각도(376)로 있음). 일부 실시예들에서, 로봇(310)은 교정 작동을 통해 특성 에러(374)를 결정한다.
[0067] 도 3c는 특정 실시예들에 따른 로봇(310) 및 얼라이너 디바이스(380)의 평면도를 예시한다. 일부 실시예들에서, 얼라이너 디바이스(380)의 에러 값들이 결정되고(예를 들어, 얼라이너 디바이스(380)가 교정됨), 다음에 얼라이너 디바이스(380)를 사용하여 로봇(310)의 에러 값들이 결정된다(예를 들어, 로봇(310)이 교정됨). 일부 실시예들에서, 로봇(310)의 에러 값들이 결정되고(예를 들어, 로봇(310)이 교정됨), 다음에 얼라이너 로봇(310)을 사용하여 얼라이너 디바이스(380)의 에러 값들이 결정된다(예를 들어, 얼라이너 디바이스(380)가 교정됨).
[0068] 일부 실시예들에서, 교정 웨이퍼(384)는 노치(notch) 및/또는 핀을 갖는다. 일부 실시예들에서, 얼라이너 디바이스(380)는 노치를 사용하여 교정 웨이퍼(384)를 정렬하고, 로봇(310)은 교정 웨이퍼(384)의 핀의 위치를 검출한다.
[0069] 얼라이너 디바이스(380) 또는 로봇(310)의 에러 값들을 결정(예를 들어, 이들을 교정)한 후에, 교정 웨이퍼(384)(예를 들어, 오프셋 핀(386)을 갖는 노치형 웨이퍼)를 지지하는 로봇(310)은 (예를 들어, 얼라이너 디바이스(380)의 일부를 스캐닝함으로써) 로봇 X-Y 중심(388)을 얼라이너 디바이스(380)에 정렬하도록 얼라이너 디바이스(380)로 이동된다. 이것은 로봇 X-Y 중심을 얼라이너 디바이스의 진정한 X-Y 중심에 매칭시키지만(예를 들어, X-Y 얼라이너 디바이스(380)-로봇(310) 매칭), 얼라이너 디바이스(380)에 대한 로봇(310)의 상대 각도는 알지 못한다. 로봇(310)은 교정 웨이퍼(384)를 얼라이너 디바이스(380) 상에 배치한다. 얼라이너 디바이스(380)는 교정 웨이퍼(384)의 노치를 사용하여 (예를 들어, 교정 웨이퍼(384)를 회전시킴으로써) 교정 웨이퍼(384)의 포지션(예를 들어, 회전, 요)을 결정한다. 얼라이너 디바이스(380)는 교정 웨이퍼(384)를 좌측 및 우측으로 회전시켜서, 중점(midpoint) 각도 기준을 결정하도록 로봇(310) 상의 매핑 파이버(mapping fiber)(예를 들어, 광 투과 경로(364), 반복적인 트리거 라인)를 트리거한다. 로봇(310)의 리스트는 좌측 및 우측으로 회전되어, 로봇(310)의 중점을 결정하도록 로봇(310) 상의 매핑 파이버를 트리거한다. 일부 실시예들에서, 절차가 다수의 접근 각도들에 대해 반복된다(예를 들어, 반복들 사이에 X-Y 재정렬함). 이것은 명령된 포지션 대 얼라이너 디바이스 측정 포지션들의 플롯을 제공한다. 일부 실시예들에서, 데이터가 피팅되고, 회귀(regression)가 수행되어 선형 기울기를 찾는다.
[0070] 얼라이너 디바이스(380)에 의해 결정된 중점 기준(예를 들어, 좌표 데이터 포인트)과 로봇(310)에 의해 결정된 중점(예를 들어, 좌표 데이터 포인트) 사이의 차이는 상대적 차이이다(예를 들어, 블레이드 영점설정, 핀에 대한 스캔된 중점들 사이의 차이는 표시된 축에 대한 제로 오프셋임). 얼라이너 디바이스(380)의 에러 값들을 사전에 결정하는 것(예를 들어, 얼라이너 디바이스(380)를 교정하는 것)에 응답하여, 상대적 차이는 로봇(310)의 에러 값(예를 들어, 로봇(310)을 교정하는 데 사용됨)이다. 로봇(310)의 에러 값들을 사전에 결정하는 것(예를 들어, 로봇(310)을 교정하는 것)에 응답하여, 상대적 차이는 얼라이너 디바이스(380)의 에러 값(예를 들어, 얼라이너 디바이스(380)를 교정하는데 사용됨)이다.
[0071] 도 3c는 로봇(310) 및 얼라이너 디바이스(380)를 언급하지만, 로봇(310) 및 LCF 디바이스 등과 같은 다른 구성요소들이 사용될 수 있다.
[0072] 특정 실시예들에 따른, 핀(468)(예를 들어, 고정된 위치)을 검출하는 엔드 이펙터(108)의 평면도를 예시하는 도 4가 참조된다. 핀(468)의 알려진 직경에 기초하여, 핀(468)의 중심(470)의 위치가 결정된다. 엔드 이펙터(108)가 핀(468)에 접근함에 따라, 핀(468)의 주변부는 광 투과 경로(364)를 차단한다. 이때, 관절들(240, 242, 244)의 각도들은 제어기(228)에 의해 기록된다. 프로세스는 파선 엔드 이펙터(108)에 의해 도시된 바와 같이 상이한 로봇 자세들을 사용하여 복수 회 반복된다.
[0073] 일부 실시예들에서, 제어기는 핀(468)이 엔드 이펙터(108)의 제1 단부(358A)와 제2 단부(358B) 사이의 중간에 센터링(centering)되는지 확인한다. 일부 실시예들에서, 엔드 이펙터(108)가 핀(468)의 접선에 평행하게 약간 이동될 때 단일 관절(예를 들어, 격리된 관절, 제3 관절(244))을 통해 엔드 이펙터(108)를 전후로 회전시킴으로써 센터링이 달성된다. 엔드 이펙터(108)는 또한 핀(468)으로부터 멀리 그리고 핀(468)을 향해 이동된다. 핀(468)까지의 최단 측정 거리는 엔드 이펙터(108)의 제1 단부(358A)와 제2 단부(358B) 사이의 중간 포인트를 구성한다. 이러한 포지션은 또한 제1 단부(358A)와 제2 단부(358B) 사이의 갭(360)의 중간 포인트이다.
[0074] 관절 에러를 계산하기 위해 관절 에러를 측정하는 프로세스는 엔드 이펙터(108)를 핀(468)과 같은 알려진 및/또는 고정된 포지션으로 이동시키는 것으로 시작된다. 다음에, 엔드 이펙터(108)는 로봇(106)의 상이한 자세들을 사용하여 몇 개의 상이한 포인트들로부터 핀(468)의 위치를 측정한다. 일부 실시예들에서, 핀(468) 상의 동일한 포지션은 상이한 자세들을 사용하여 측정된다.
[0075] 이제, 특정 실시예들에 따른, 몇 개의 포지션들에 핀(468)을 검출하는 빔 센서를 갖는 엔드 이펙터(108)의 평면도를 예시하는 도 5가 추가로 참조된다. 일부 실시예들에서, 엔드 이펙터(108)는 엔드 이펙터(108)가 핀(468) 주위로 요 방향(yaw direction)(574)으로 이동함에 따라 핀(468)의 포지션을 측정하는 데 사용된다.
[0076] 어떠한 관절 또는 다른 에러들이 없는 이상적인 조건들 하에서, 로봇(106)은 로봇(예를 들어, 도 1의 로봇(106), 도 1의 로봇(118), 도 2의 로봇(210), 도 3의 로봇(310))의 자세와 무관하게 핀(468)의 동일한 중심 위치(470)를 측정하여야 한다.
[0077] 특정 실시예들에 따른, 로봇(예를 들어, 도 1의 로봇(106), 도 1의 로봇(118), 도 2의 로봇(210), 도 3의 로봇(310) 등)이 고정된 위치(예를 들어, 도 4 및 도 5의 핀(468))를 측정한 예시적인 좌표 데이터 포인트들을 예시하는 그래프인 도 6이 추가로 참조된다. 도 6에서, 핀(468)의 실제 포지션은 좌표 데이터 포인트들(0.0, 0.0)에 있다. 도 6에 도시된 바와 같이, 로봇은 핀(468)의 실제 포지션을 거의 찾지 못한다. 오토 티치 프로세스가 도 6에 나타낸 측정치들 또는 유사한 측정치들에 의존하는 경우, 로봇은 엔드 이펙터(108)를 정확하게 포지셔닝하지 못할 것이다.
[0078] 오토 티치, 교정, 진단 등을 향상시키기 위해, 관절 에러들이 배제된다. 알려진 기준(예를 들어, 핀(468))의 좌표 데이터 포인트들은 프로세싱 디바이스, 제어기 또는 다른 디바이스에 의해 기록된다. 일부 실시예들에서, 교정 단계(교정 작동, 영점설정) 동안 취해진 사전 교정된 데이터로부터 유도된 값들에 기초하여 좌표 데이터 포인트들에 대한 선형 피팅(linear fit)이 이루어진다. 선형 피팅의 일 예가 도 6에서 선으로 도시되어 있다. 일부 실시예들에서, 측정치들이 중심(470)을 나타내는 평균, 최빈치(mode) 및 표준 편차(standard deviation) 중 적어도 하나가 결정된다. 평균, 최빈치, 및 표준 편차 중 적어도 하나에 기초하여 극치들(extremes) 및 통계적 이상치들(statistical outliers)을 구성하는 좌표들이 폐기된다. 통계적 이상치들의 예들이 도 6에 도시되어 있다. 다음에, 나머지 좌표 데이터 포인트들은 폐기된 이상치들 없이 제2 선형 피팅을 적용하여 재평균화된다. 다음에, 제2 선형 피팅의 데이터는 오토 티치 절차들 동안에 보다 정확한 포지셔닝을 위해 사용된다. 일부 실시예들에서, 기판(105)은 엔드 이펙터(108) 상에 배치되고, 전술한 프로세스는 알려진 및/또는 고정된 위치 주위를 이동하는 기판의 에지에 기초하여 수행된다.
[0079] 도 7은 특정 실시예들에 따른 예시적인 시스템(700)(예시적인 시스템 아키텍처(system architecture))을 예시하는 블록도이다. 시스템(700)은 클라이언트 디바이스(client device)(720), 제조 장비(724)(예를 들어, 도 1의 프로세싱 시스템(100)), 센서들(726), 계측 장비(728), 예측 서버(712) 및 데이터 저장장치(740)를 포함한다. 예측 서버(712)는 예측 시스템(710)의 일부이다. 예측 시스템(710)은 서버 머신들(server machines)(770, 780)을 더 포함한다.
[0080] 센서들(726)은 제조 장비(724)와 연관된(예를 들어, 이동하는 로봇들과 연관된) 센서 데이터(742)(예를 들어, 고정된 위치를 식별하는 좌표 데이터 포인트들, 고정된 위치의 이미지들 등)를 제공한다. 센서 데이터(742)는 수정 동작들(예를 들어, 교정, 오토 티치, 진단 등)을 수행하기 위한 에러 값들을 결정하는 데 사용된다. 제조 장비(724)는 소정 시간 기간에 걸쳐 레시피(recipe) 또는 수행 작동들에 따라 제품들을 생산하는 데 사용된다. 일부 실시예들에서, 센서 데이터(742)는 제품들의 생산 이전 또는 이후에 수신된다. 일부 실시예들에서, 센서 데이터(742)의 적어도 일부는 상이한 센서들(726)로부터 소정 시간 기간(예를 들어, 레시피 또는 동작의 적어도 일부에 대응함)에 걸쳐 수신된다.
[0081] 센서들(726)은 제조 장비(724) 및 하나 이상의 고정된 위치들에 대한 센서 데이터(742)를 제공한다. 일부 실시예들에서, 센서들(726)은 로봇에 대한 고정된 위치를 결정하는 데 사용되는 로봇(예를 들어, 로봇의 엔드 이펙터 내)의 광원 및 수광기를 포함한다. 일부 실시예들에서, 센서들(726)은 로봇에 대한 고정된 위치를 결정하도록 구성된 이미징 디바이스(imaging device)를 포함한다. 일부 예들에서, 이미징 디바이스는 로봇에 부착되거나(예를 들어, 리스트 부재에 부착됨), 로봇 상에 배치된다(예를 들어, 이미징 기판, 웨이퍼 상의 이미징 디바이스 등).
[0082] 일부 실시예들에서, 센서 데이터(742)(예를 들어, 이력 센서 데이터(746), 현재 센서 데이터(752) 등)가 (예를 들어, 클라이언트 디바이스(720) 및/또는 예측 서버(712)에 의해) 프로세싱된다. 센서 데이터(742)의 프로세싱은 이상치들의 제거, 센서 데이터(742)의 피팅, 회귀 수행, 선형 기울기 찾기 등 중 하나 이상을 포함한다.
[0083] 에러 값들(760)은 제조 장비(724)의 하나 이상의 구성요소들과 연관된 데이터를 포함한다. 일부 예들에서, 에러 값들(760)은 관절의 회전 에러, 로봇의 링크의 길이 에러 등을 포함한다. 일부 실시예들에서, 에러 값들(760)은 지도 머신 러닝(supervised machine learning)을 위해 사용된다.
[0084] 에러 값들(760)은 제조 장비의 구성요소들(예를 들어, 동일한 유형, 동일한 부품 번호의 구성요소들)의 분산(variance)의 표시를 포함한다. 일부 실시예들에서, 구성요소들의 분산의 결정은 제품간 균일성을 위한 챔버 매칭에 사용된다. 일부 예들에서, 로봇의 관절의 회전 에러는 내용물, 로봇 및/또는 프로세싱 시스템에 대한 손상을 야기하는 내용물의 오배치를 유발한다. 일부 예들에서, 에러 값들(760)은 제품간 변동에 기여한다. 에러 값들(760)에 기초하여 수정 동작을 야기함으로써, 제품들의 품질을 향상시키고, 제조 장비(724)에 대한 손상을 감소시키고, 프로세싱 시스템에 대한 손상을 감소시키는 식이다.
[0085] 일부 실시예들에서, 예측 시스템(710)은 지도 머신 러닝(예를 들어, 지도 데이터 세트, 측정 데이터를 포함하는 에러 값들(760) 등)을 사용하여 예측 데이터(768)를 생성한다. 일부 실시예들에서, 예측 시스템(710)은 준-지도(semi-supervised) 러닝(예를 들어, 준-지도 데이터 세트, 예측 백분율인 에러 값들(760) 등)을 사용하여 예측 데이터(768)를 생성한다. 일부 실시예들에서, 예측 시스템(710)은 비지도(unsupervised) 머신 러닝(예를 들어, 비지도 데이터 세트, 클러스터링, 에러 값들(760)에 기초한 클러스터링 등)을 사용하여 예측 데이터(768)를 생성한다.
[0086] 클라이언트 디바이스(720), 제조 장비(724), 센서들(726), 계측 장비(728), 예측 서버(712), 데이터 저장장치(740), 서버 머신(770) 및 서버 머신(780)은 수정 동작들을 수행하도록 예측 데이터(768)를 생성하기 위해 네트워크(730)를 통해 서로 결합된다.
[0087] 일부 실시예들에서, 네트워크(730)는 클라이언트 디바이스(720)에 예측 서버(712), 데이터 저장장치(740) 및 다른 공공으로 이용 가능한 컴퓨팅 디바이스들에 대한 액세스를 제공하는 공공 네트워크이다. 일부 실시예들에서, 네트워크(730)는 클라이언트 디바이스(720)에 제조 장비(724), 센서들(726), 계측 장비(728), 데이터 저장장치(740) 및 다른 사적으로 이용 가능한 컴퓨팅 디바이스들에 대한 액세스를 제공하는 사설 네트워크이다. 네트워크(730)는 하나 이상의 WAN들(Wide Area Networks), LAN들(Local Area Networks), 유선 네트워크들(예를 들어, 이더넷 네트워크), 무선 네트워크들(예를 들어, 802.11 네트워크 또는 Wi-Fi 네트워크), 셀룰러 네트워크들(예를 들어, LTE(Long Term Evolution) 네트워크), 라우터들(routers), 허브들(hubs), 스위치들, 서버 컴퓨터들, 클라우드 컴퓨팅 네트워크들, 및/또는 이들의 조합을 포함한다.
[0088] 클라이언트 디바이스(720)는 퍼스널 컴퓨터들(PCs), 랩톱들, 휴대폰들, 스마트폰들, 태블릿 컴퓨터들, 넷북 컴퓨터들, 네트워크 연결 텔레비전들("스마트 TV"), 네트워크 연결 미디어 플레이어들(예를 들어, 블루레이 플레이어), 셋톱박스, OTT(Over-the-Top) 스트리밍 디바이스들, 오퍼레이터 박스들 등과 같은 컴퓨팅 디바이스를 포함한다. 클라이언트 디바이스(720)는 수정 동작 구성요소(722)를 포함한다. 수정 동작 구성요소(722)는 제조 장비(724)와 연관된 표시의 사용자 입력을 (예를 들어, 클라이언트 디바이스(720)를 통해 표시된 GUI(Graphical User Interface)를 통해) 수신한다. 일부 실시예들에서, 수정 동작 구성요소(722)는 예측 시스템(710)에 표시를 전송하고, 예측 시스템(710)으로부터 출력(예를 들어, 예측 데이터(768))을 수신하고, 출력에 기초하여 수정 동작을 결정하며, 수정 동작이 구현되게 한다. 일부 실시예들에서, 수정 동작 구성요소(722)는 (예를 들어, 데이터 저장장치(740) 등으로부터) 제조 장비(724)와 연관된 센서 데이터(742)(예를 들어, 현재 센서 데이터(752))를 획득하고, 제조 장비(724)와 연관된 센서 데이터(742)(예를 들어, 현재 센서 데이터(752))를 예측 시스템(710)에 제공한다. 일부 실시예들에서, 수정 동작 구성요소(722)는 데이터 저장장치(740)에 센서 데이터(742)를 저장하고, 예측 서버(712)는 데이터 저장장치(740)로부터 센서 데이터(742)를 검색한다. 일부 실시예들에서, 예측 서버(712)는 트레이닝된 머신 러닝 모델(들)(790)의 출력(예를 들어, 예측 데이터(768))을 데이터 저장장치(740)에 저장하고, 클라이언트 디바이스(720)는 데이터 저장장치(740)로부터 출력을 검색한다. 일부 실시예들에서, 수정 동작 구성요소(722)는 예측 시스템(710)으로부터 수정 동작의 표시를 수신하고, 수정 동작이 구현되게 한다. 각각의 클라이언트 디바이스(720)는 사용자들이 데이터(예를 들어, 제조 장비(724)와 연관된 표시, 제조 장비(724)와 연관된 수정 동작들 등)를 생성, 보기 또는 편집하는 것 중 하나 이상을 할 수 있게 하는 운영 체제를 포함한다.
[0089] 일부 실시예들에서, 이력 에러 값들(762)은 이력 센서 데이터(744)의 적어도 일부의 중앙 값들, 이력 센서 데이터(744)의 적어도 일부의 표준 편차의 수렴치, LCF 디바이스로부터의 LCF 센서 데이터, 얼라이너 센서 디바이스로부터의 얼라이너 센서 데이터, 하나 이상의 제3자 센서들로부터의 제3자 센서 데이터 등 중 하나 이상을 포함한다. 일부 실시예들에서, 예측 데이터(768)는 예측된 에러 값들(예를 들어, 예측된 회전 에러, 예측된 길이 에러 등)에 대응한다. 일부 실시예들에서, 예측 데이터(768)는 이상들(abnormalities)(예를 들어, 이상 구성요소들, 이상 제조 장비(724) 등)의 표시이다. 일부 실시예들에서, 예측 데이터(768)는 제조 장비(724)의 구성요소의 수명 종료의 표시이다.
[0090] 계측을 수행하는 것은 사용된 시간, 사용된 계측 장비(728), 소비된 에너지, 계측 데이터를 전송하는 데 사용되는 대역폭, 계측 데이터를 프로세싱하기 위한 프로세서 비용(processor overhead) 등의 측면에서 비용이 많이 들 수 있다. 센서 데이터(742)(예를 들어, 좌표 데이터 포인트들, 이미지들, 현재 센서 데이터(752) 등)를 입력하고, 예측 데이터(768)의 출력을 수신함으로써, 시스템(700)은 현재 센서 데이터(752)에 대한 현재 에러 값들(764)을 생성하기 위해 계측 장비(728)를 사용하는 고비용의 프로세스를 회피하는 기술적 이점을 가질 수 있다.
[0091] 결함 제품들을 초래하는 제조 프로세스들을 수행하는 것은 시간, 에너지, 제품들, 구성요소들, 제조 장비(724), 결함들을 식별하고 결함 제품을 폐기하는 비용 등에 있어서 비용이 많이 들 수 있다. 센서 데이터(742)(예를 들어, 좌표 데이터 포인트들, 이미지들, 현재 센서 데이터(752) 등)를 입력하고, 예측 데이터(768)의 출력을 수신하며, 예측 데이터(768)에 기초한 수정 동작을 수행함으로써, 시스템(700)은 결함 제품들을 생산, 식별 및 폐기하는 비용을 회피하는 기술적 이점을 가질 수 있다.
[0092] 제조 장비(724)의 구성요소들의 고장을 초래하는 제조 프로세스들을 수행하는 것은 가동정지 시간, 제품들에 대한 손상, 장비에 대한 손상, 교체 구성요소들의 신속 주문 등에 있어서 비용이 많이 들 수 있다. 센서 데이터(742)(예를 들어, 좌표 데이터 포인트들, 이미지들, 현재 센서 데이터(752) 등)를 입력하고, 예측 데이터(768)의 출력을 수신하며, 예측 데이터(768)에 기초하여 수정 동작(예를 들어, 구성요소들의 교체, 프로세싱, 세정 등과 같은 예측된 작동 유지보수)을 수행함으로써, 시스템(700)은 예기치 않은 구성요소 고장, 계획되지 않은 가동정지 시간, 생산성 손실, 예기치 않은 장비 고장, 제품 스크랩 등 중 하나 이상의 비용을 회피하는 기술적 이점을 가질 수 있다.
[0093] 수정 동작은 교정, 오토 티치, 진단, CPC(Computational Process Control), SPC(Statistical Process Control)(예를 들어, 제어중 프로세스를 결정하기 위한 전자 구성요소들에 대한 SPC, 구성요소들의 유효 수명을 예측하기 위한 SPC, 3-시그마의 그래프와 비교하기 위한 SPC 등), APC(Advanced Process Control), 모델-기반 프로세스 제어, 예방적 작동 유지보수, 설계 최적화, 제조 파라미터들의 업데이트, 피드백 제어, 머신 러닝 수정 등 중 하나 이상과 연관된다.
[0094] 일부 실시예들에서, 수정 동작은 경고(예를 들어, 예측 데이터(768)가 예측된 이상(예를 들어, 로봇의 지시된 포지션과 로봇의 실제 위치 사이의 차이)을 나타내는 경우, 제조 프로세스를 중지하거나 수행하지 않는 경보)를 제공하는 것을 포함한다. 일부 실시예들에서, 수정 동작은 피드백 제어를 제공하는 것(예를 들어, 예측 데이터(768)가 예측된 이상을 나타내는 것에 응답하여 로봇, 얼라이너 디바이스 및/또는 LCF 디바이스의 포지션을 수정하는 것)을 포함한다. 일부 실시예들에서, 수정 동작은 머신 러닝을 제공하는 것(예를 들어, 예측 데이터(768)에 기초하여 하나 이상의 포지션들을 수정하는 것)을 포함한다.
[0095] 예측 서버(712), 서버 머신(770) 및 서버 머신(780) 각각은 랙마운트 서버(rackmount server), 라우터 컴퓨터, 서버 컴퓨터, 퍼스널 컴퓨터, 메인프레임 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크탑 컴퓨터, GPU(Graphics Processing Unit), 가속기 ASIC(Application-Specific Integrated Circuit)(예를 들어, TPU(Tensor Processing Unit)) 등과 같은 하나 이상의 컴퓨팅 디바이스들을 포함한다.
[0096] 예측 서버(712)는 예측 구성요소(714)를 포함한다. 일부 실시예들에서, 예측 구성요소(714)는 현재 센서 데이터(752)를 수신하고(예를 들어, 클라이언트 디바이스(720)로부터 수신하고, 데이터 저장장치(740)로부터 검색함), 현재 센서 데이터(752)에 기초하여 제조 장비(724)와 연관된 수정 동작을 수행하기 위한 출력(예를 들어, 예측 데이터(768))을 생성한다. 일부 실시예들에서, 예측 구성요소(714)는 하나 이상의 트레이닝된 머신 러닝 모델(790)을 사용하여, 현재 센서 데이터(752)에 기초하여 수정 동작을 수행하기 위한 출력을 결정한다.
[0097] 일부 실시예들에서, 예측 구성요소(714)는 현재 센서 데이터(752)를 수신하고, 현재 센서 데이터(752)를 트레이닝된 머신 러닝 모델(790)에 대한 입력으로서 제공하며, 트레이닝된 머신 러닝 모델(790)로부터 예측 데이터(768)를 나타내는 출력들을 획득한다.
[0098] 트레이닝된 머신 러닝 모델(790)은 이력 센서 데이터(744) 및 이력 에러 값들(760)을 사용하여 트레이닝된다.
[0099] 데이터 저장장치(740)는 메모리(예를 들어, 랜덤 액세스 메모리), 드라이브(예를 들어, 하드 드라이브, 플래시 드라이브), 데이터베이스 시스템, 또는 데이터를 저장할 수 있는 다른 유형의 구성요소 또는 디바이스이다. 데이터 저장장치(740)는 다수의 컴퓨팅 디바이스들(예를 들어, 다수의 서버 컴퓨터들)에 걸쳐 있는 다수의 저장 구성요소들(예를 들어, 다수의 드라이브들 또는 다수의 데이터베이스들)을 포함한다. 데이터 저장장치(740)는 센서 데이터(742), 에러 값들(760) 및 예측 데이터(768)를 저장한다. 센서 데이터(742)는 이력 센서 데이터(744) 및 현재 센서 데이터(752)를 포함한다. 에러 값들(760)은 이력 에러 값들(762) 및 현재 에러 값들(764)을 포함한다. 이력 센서 데이터(744) 및 이력 에러 값들(762)은 이력 데이터(예를 들어, 머신 러닝 모델(790)을 트레이닝하기 위한 적어도 일부)이다. 현재 센서 데이터(744)는 (예를 들어, 수정 동작들을 수행하기 위해) 예측 데이터(768)가 생성될 현재 데이터(예를 들어, 이력 데이터에 후속하여, 트레이닝된 머신 러닝 모델(790)에 입력될 적어도 일부)이다. 일부 실시예들에서, 현재 에러 값들(764)은 또한 (예를 들어, 트레이닝된 머신 러닝 모델을 재트레이닝하기 위한) 현재 데이터이다.
[00100] 일부 실시예들에서, 예측 시스템(710)은 서버 머신(770) 및 서버 머신(780)을 더 포함한다. 서버 머신(770)은 머신 러닝 모델(들)(790)을 트레이닝, 검증 및/또는 테스트하도록 데이터 세트들(예를 들어, 데이터 입력들의 세트 및 목표 출력들의 세트)을 생성할 수 있는 데이터 세트 생성기(772)를 포함한다. 데이터 세트 생성기(772)의 일부 작동들은 도 8 및 도 10a와 관련하여 하기에서 상세하게 설명된다. 일부 실시예들에서, 데이터 세트 생성기(772)는 이력 데이터(예를 들어, 이력 센서 데이터(744), 이력 에러 값들(762))를 트레이닝 세트(예를 들어, 이력 데이터의 60%), 검증 세트(예를 들어, 이력 데이터의 20%) 및 테스트 세트(예를 들어, 이력 데이터의 20%)로 분할한다. 일부 실시예들에서, 예측 시스템(710)은 (예를 들어, 예측 구성요소(714)를 통해) 피쳐들의 다수의 세트들을 생성한다. 예를 들어, 피쳐들의 제1 세트는 데이터 세트들(예를 들어, 트레이닝 세트, 검증 세트 및 테스트 세트) 각각에 대응하는 (예를 들어, 센서들의 제1 세트, 센서들의 제1 세트로부터의 값들의 제1 조합, 센서들의 제1 세트로부터의 값들의 제1 패턴들로부터의) 센서 데이터 유형들의 제1 세트에 대응하고, 피쳐들의 제2 세트는 데이터 세트들 각각에 대응하는 (예를 들어, 센서들의 제1 세트와 상이한 센서들의 제2 세트, 제1 조합과 상이한 값들의 제2 조합, 제1 패턴들과 상이한 제2 패턴들로부터의) 센서 데이터 유형들의 제2 세트에 대응한다.
[00101] 서버 머신(780)은 트레이닝 엔진(782), 검증 엔진(784), 선택 엔진(785) 및/또는 테스트 엔진(786)을 포함한다. 엔진(예를 들어, 트레이닝 엔진(782), 검증 엔진(784), 선택 엔진(785) 및 테스트 엔진(786))은 하드웨어(예를 들어, 회로, 전용 로직, 프로그램 가능 로직, 마이크로코드(microcode), 프로세싱 디바이스 등), 소프트웨어(예컨대, 프로세싱 디바이스, 범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 명령들), 펌웨어, 마이크로코드, 또는 이들의 조합을 지칭한다. 트레이닝 엔진(782)은 데이터 세트 생성기(772)로부터의 트레이닝 세트와 연관된 피쳐들의 하나 이상의 세트들을 사용하여 머신 러닝 모델(790)을 트레이닝할 수 있다. 일부 실시예들에서, 트레이닝 엔진(782)은 다수의 트레이닝된 머신 러닝 모델들(790)을 생성하고, 여기서 각각의 트레이닝된 머신 러닝 모델(790)은 트레이닝 세트의 피쳐들의 별개의 세트(예를 들어, 센서들의 별개의 세트로부터의 센서 데이터)에 대응한다. 예를 들어, 제1 트레이닝된 머신 러닝 모델은 모든 피쳐들(예를 들어, X1 내지 X5)을 사용하여 트레이닝되고, 제2 트레이닝된 머신 러닝 모델은 피쳐들의 제1 서브세트(예를 들어, X1, X2, X4)를 사용하여 트레이닝되며, 제3 트레이닝된 머신 러닝 모델은 피쳐들의 제1 서브세트와 부분적으로 중첩되는 피쳐들의 제2 서브세트(예를 들어, X1, X3, X4 및 X5)를 사용하여 트레이닝된다.
[00102] 검증 엔진(784)은 데이터 세트 생성기(772)로부터의 검증 세트의 피쳐들의 대응하는 세트를 사용하여 트레이닝된 머신 러닝 모델(790)을 검증할 수 있다. 예를 들어, 트레이닝 세트의 피쳐들의 제1 세트를 사용하여 트레이닝된 제1 트레이닝된 머신 러닝 모델(790)은 검증 세트의 피쳐들의 제1 세트를 사용하여 검증된다. 검증 엔진(784)은 검증 세트의 피쳐들의 대응하는 세트에 기초하여 트레이닝된 머신 러닝 모델들(790) 각각의 정확도를 결정한다. 검증 엔진(784)은 임계 정확도를 충족하지 않는 정확도를 갖는 트레이닝된 머신 러닝 모델들(790)을 폐기한다. 일부 실시예들에서, 선택 엔진(785)은 임계 정확도를 충족하는 정확도를 갖는 하나 이상의 트레이닝된 머신 러닝 모델들(790)을 선택할 수 있다. 일부 실시예들에서, 선택 엔진(785)은 트레이닝된 머신 러닝 모델들(790) 중 최고의 정확도를 갖는 트레이닝된 머신 러닝 모델(790)을 선택할 수 있다.
[00103] 테스트 엔진(786)은 데이터 세트 생성기(772)로부터의 테스트 세트의 피쳐들의 대응하는 세트를 사용하여 트레이닝된 머신 러닝 모델(790)을 테스트할 수 있다. 예를 들어, 트레이닝 세트의 피쳐들의 제1 세트를 사용하여 트레이닝된 제1 트레이닝된 머신 러닝 모델(790)은 테스트 세트의 피쳐들의 제1 세트를 사용하여 테스트된다. 테스트 엔진(786)은 테스트 세트들에 기초하여 모든 트레이닝된 머신 러닝 모델들 중 최고의 정확도를 갖는 트레이닝된 머신 러닝 모델(790)을 결정한다.
[00104] 머신 러닝 모델(790)은 데이터 입력들 및 대응하는 목표 출력들(각각의 트레이닝 입력들에 대한 정답들)을 포함하는 트레이닝 세트를 사용하여 트레이닝 엔진(782)에 의해 생성된 모델 아티팩트(model artifact)를 지칭한다. 데이터 입력을 목표 출력(정답)에 매핑하는 데이터 세트들의 패턴들이 발견될 수 있고, 머신 러닝 모델(790)에는 이러한 패턴들을 캡처하는 매핑들이 제공된다. 머신 러닝 모델(790)은 SVM(Support Vector Machine), RBF(Radial Basis Function), 클러스터링, 지도 머신 러닝, 준-지도 머신 러닝, 비지도 머신 러닝, k-NN(k-Nearest Neighbor) 알고리즘, 선형 회귀, 랜덤 포레스트(random forest), 신경망(neural network)(예를 들어, 인공 신경망) 등 중 하나 이상을 사용한다.
[00105] 예측 구성요소(714)는 현재 센서 데이터(752)를 트레이닝된 머신 러닝 모델(790)에 제공하고, 입력에 대해 트레이닝된 머신 러닝 모델(790)을 실행하여 하나 이상의 출력들을 획득한다. 예측 구성요소(714)는 트레이닝된 머신 러닝 모델(790)의 출력으로부터 예측 데이터(768)를 결정(예를 들어, 추출)하고 예측 데이터(768)가 현재 센서 데이터(752)와 연관된 제조 장비(724)에 대한 현재 데이터(예를 들어, 현재 에러 값들(764))에 대응하는 신뢰도 레벨을 나타내는 신뢰도 데이터를 출력으로부터 결정(예를 들어, 추출)할 수 있다. 예측 구성요소(714) 또는 수정 동작 구성요소(722)는 예측 데이터(768)에 기초하여 제조 장비(724)와 연관된 수정 동작을 야기할지 여부를 결정하는 데 신뢰도 데이터를 사용한다.
[00106] 일 예에서, 신뢰도 레벨은 0 및 1을 포함하여 0과 1 사이의 실수이며, 여기서 0은 예측 데이터(768)가 현재 센서 데이터(752)와 연관된 현재 에러 값들(764)에 대응한다는 신뢰도가 없음을 나타내고, 1은 예측 데이터(768)가 현재 센서 데이터(752)와 연관된 현재 에러 값들(764)에 대응한다는 절대 신뢰도를 나타낸다. 일부 실시예들에서, 시스템(700)은 현재 에러 값들(764)을 결정하기 위한 계측 장비(728)를 사용하는 대신에 예측 데이터(768)를 결정하기 위한 예측 시스템(710)을 사용한다. 일부 실시예들에서, 임계 레벨 미만인 신뢰도 레벨을 나타내는 신뢰도 데이터에 응답하여, 시스템(700)은 계측 장비(728)가 현재 에러 값들(764)을 생성하게 한다. 사전결정된 개수의 인스턴스들(instances)(예를 들어, 인스턴스들의 백분율, 인스턴스들의 빈도, 인스턴스들의 총수 등)에 대한 임계값 레벨 미만의 신뢰도 레벨을 나타내는 신뢰 데이터에 응답하여, 예측 구성요소(714)는 트레이닝된 머신 러닝 모델(790)이 (예를 들어, 현재 센서 데이터(752) 및 현재 에러 값들(764) 등에 기초하여) 재트레이닝되게 한다.
[00107] 제한이 아니라, 예시의 목적을 위해, 본 개시내용의 양상들은 이력 데이터(예를 들어, 이력 센서 데이터(744), 이력 에러 값들(762))를 사용하여 하나 이상의 머신 러닝 모델들(790)을 트레이닝하고, 현재 데이터(예를 들어, 현재 센서 데이터(752))를 하나 이상의 트레이닝된 머신 러닝 모델들(790)에 입력하여 예측 데이터(768)(예를 들어, 현재 에러 값들(764))를 결정하는 것을 설명한다. 다른 구현예들에서, 휴리스틱 모델(heuristic model) 또는 규칙-기반 모델(rule-based model)이 (예를 들어, 트레이닝된 머신 러닝 모델을 사용하지 않고) 예측 데이터(768)를 결정하는 데 사용된다. 예측 구성요소(714)는 이력 센서 데이터(744) 및 이력 에러 값들(762)을 모니터링한다. 일부 실시예들에서, 도 8의 데이터 입력들(810)과 관련하여 설명된 임의의 정보가 휴리스틱 또는 규칙-기반 모델에서 모니터링되거나 다른 방식으로 사용된다.
[00108] 일부 실시예들에서, 클라이언트 디바이스(720), 예측 서버(712), 서버 머신(770) 및 서버 머신(780)의 기능들은 보다 적은 개수의 머신들에 의해 제공된다. 예를 들어, 일부 실시예들에서는, 서버 머신들(770 및 780)이 단일 머신으로 통합되는 반면, 일부 다른 실시예들에서는, 서버 머신(770), 서버 머신(780) 및 예측 서버(712)가 단일 머신으로 통합된다. 일부 실시예들에서, 클라이언트 디바이스(720) 및 예측 서버(712)는 단일 머신으로 통합된다.
[00109] 일반적으로, 클라이언트 디바이스(720), 예측 서버(712), 서버 머신(770) 및 서버 머신(780)에 의해 수행되는 것으로 일 실시예에서 설명된 기능들은 또한 적절한 경우에 다른 실시예들에서 예측 서버(712) 상에서 수행될 수 있다. 또한, 특정 구성요소에 부여된 기능은 함께 작동하는 상이한 구성요소들 또는 다수의 구성요소들에 의해 수행될 수 있다. 예를 들어, 일부 실시예들에서, 예측 서버(712)는 예측 데이터(768)에 기초하여 수정 동작을 결정한다. 다른 예에서, 클라이언트 디바이스(720)는 트레이닝된 머신 러닝 모델로부터의 출력에 기초하여 예측 데이터(768)를 결정한다.
[00110] 또한 특정 구성요소의 기능들은 함께 작동하는 상이한 구성요소들 또는 다수의 구성요소들에 의해 수행될 수 있다. 예측 서버(712), 서버 머신(770) 또는 서버 머신(780) 중 하나 이상은 적절한 응용 프로그램 인터페이스들(application programming interfaces; API)을 통해 다른 시스템들 또는 디바이스들에 제공되는 서비스로서 액세스된다.
[00111] 실시예들에서, "사용자"는 단일 개인으로 표현된다. 그러나, 본 개시내용의 다른 실시예들은 복수의 사용자들 및/또는 자동화 소스에 의해 제어되는 엔티티(entity)인 "사용자"를 포함한다. 예를 들어, 관리자들의 그룹으로서 연합된 개별 사용자들의 세트가 "사용자"로 간주된다.
[00112] 본 개시내용의 실시예들은 제조 설비들(예를 들어, 반도체 제조 설비들)에서 수정 동작을 수행하기 위해 예측 데이터(768)를 생성하는 측면에서 논의되지만, 실시예들은 또한 일반적으로 구성요소들을 특성화 및 모니터링하는 데 적용된다. 실시예들은 일반적으로 상이한 유형들의 데이터에 기초하여 특성화 및 모니터링하는 데 적용된다.
[00113] 도 8은 특정 실시예들에 따른, 머신 러닝 모델(예를 들어, 도 7의 모델(790))을 위한 데이터 세트들을 생성하기 위한 예시적인 데이터 세트 생성기(872)(예를 들어, 도 7의 데이터 세트 생성기(772))이다. 각각의 데이터 세트 생성기(872)는 도 7의 서버 머신(770)의 일부이다.
[00114] 데이터 세트 생성기(872)는 이력 센서 데이터(844)(예를 들어, 도 7의 이력 센서 데이터(744)) 및 이력 에러 값들(862)(예를 들어, 도 7의 이력 에러 값들(762))을 사용하여 데이터 세트들을 생성한다. 도 8의 시스템(800)은 데이터 세트 생성기(872), 데이터 입력들(810) 및 목표 출력(820)을 나타낸다.
[00115] 일부 실시예들에서, 데이터 세트 생성기(872)는 하나 이상의 데이터 입력들(810)(예를 들어, 트레이닝 입력, 검증 입력, 테스트 입력), 및 데이터 입력들(810)에 대응하는 하나 이상의 목표 출력들(820)을 포함하는 데이터 세트(예를 들어, 트레이닝 세트, 검증 세트, 테스트 세트)를 생성한다. 데이터 세트는 또한 데이터 입력(810)을 목표 출력들(820)에 매핑하는 매핑 데이터를 포함한다. 데이터 입력들(810)은 또한 "피쳐들(features)", "속성들(attributes)" 또는 "정보"로도 지칭된다. 일부 실시예들에서, 데이터 세트 생성기(872)는 데이터 세트를 트레이닝 엔진(782), 검증 엔진(784) 또는 테스트 엔진(786)에 제공하며, 여기서 데이터 세트는 머신 러닝 모델(790)을 트레이닝, 검증 또는 테스트하는 데 사용된다. 트레이닝 세트를 생성하는 일부 실시예들이 도 10a와 관련하여 추가로 설명된다.
[00116] 일부 실시예들에서, 데이터 세트 생성기(872)는 데이터 입력(810) 및 목표 출력(820)을 생성한다. 일부 실시예들에서, 데이터 입력들(810)은 이력 센서 데이터(844)의 하나 이상의 세트들을 포함한다. 이력 센서 데이터(844)의 각 인스턴스는 하나 이상의 유형들의 센서들로부터의 센서 데이터 중 하나 이상, 하나 이상의 유형들의 센서들로부터의 센서 데이터의 조합, 하나 이상의 유형들의 센서들로부터의 센서 데이터로부터의 패턴들 등을 포함한다.
[00117] 일부 실시예들에서, 데이터 세트 생성기(872)는 제1 머신 러닝 모델을 트레이닝, 검증 또는 테스트하기 위한 이력 센서 데이터의 제1 세트(844A)에 대응하는 제1 데이터 입력을 생성하고, 데이터 세트 생성기(872)는 제2 머신 러닝 모델을 트레이닝, 검증 또는 테스트하기 위한 이력 센서 데이터의 제2 세트(844B)에 대응하는 제2 데이터 입력을 생성한다.
[00118] 일부 실시예들에서, 데이터 세트 생성기(872)는 (예를 들어, 회귀 문제들에 대한 분류 알고리즘들에서 사용하기 위해) 데이터 입력(810) 또는 목표 출력(820) 중 하나 이상을 이산화(예를 들어, 세그먼트화)한다. 데이터 입력(810) 또는 목표 출력(820)의 이산화(예를 들어, 슬라이딩 윈도우를 통한 세그먼트화)는 변수들의 연속 값들을 이산 값들로 변환한다. 일부 실시예들에서, 데이터 입력(810)에 대한 이산 값들은 목표 출력(820)(예를 들어, 이산 에러 값들(862))을 획득하기 위한 이산 이력 센서 데이터(844)를 나타낸다.
[00119] 머신 러닝 모델을 트레이닝, 검증 또는 테스트하기 위한 데이터 입력들(810) 및 목표 출력들(820)은 특정 설비(예를 들어, 특정 반도체 제조 설비)에 대한 정보를 포함한다. 예를 들어, 이력 센서 데이터(844)는 동일한 제조 설비에 대한 것이다. 다른 예에서, 이력 센서 데이터(844) 및 이력 에러 값들(862)은 동일한 제조 설비에 대한 것이다.
[00120] 일부 실시예들에서, 머신 러닝 모델을 트레이닝하는 데 사용되는 정보는 특정 특성들을 갖는 제조 설비의 특정 유형들의 제조 장비(724)로부터의 정보이며, 트레이닝된 머신 러닝 모델이 특정 그룹의 특성들을 공유하는 하나 이상의 구성요소들과 연관된 현재 센서 데이터(예를 들어, 현재 센서 데이터(752))에 대한 입력에 기초하여 제조 장비(724)의 특정 그룹에 대한 결과들을 결정할 수 있게 한다. 일부 실시예들에서, 머신 러닝 모델을 트레이닝하는 데 사용되는 정보는 2 개 이상의 제조 설비들로부터의 구성요소들에 대한 것이며, 트레이닝된 머신 러닝 모델이 하나의 제조 설비로부터의 입력에 기초하여 구성요소들에 대한 결과들을 결정할 수 있게 한다.
[00121] 일부 실시예들에서, 데이터 세트를 생성하고, 데이터 세트를 사용하여 머신 러닝 모델(790)을 트레이닝, 검증 또는 테스트한 후에, 머신 러닝 모델(790)은 추가로 트레이닝, 검증 또는 테스트되거나(예를 들어, 도 7의 현재 에러 값들(764)), 조정된다(예를 들어, 신경망에서의 연결 가중치들과 같은 머신 러닝 모델(790)의 입력 데이터와 연관된 가중치들을 조정함).
[00122] 도 9는 특정 실시예들에 따른, 예측 데이터(968)(예를 들어, 도 7의 예측 데이터(768))를 생성하기 위한 시스템(900)을 예시하는 블록도이다. 시스템(900)은 예측 데이터(968)에 기초하여 제조 장비(724)와 연관된 수정 동작을 결정하는 데 사용된다.
[00123] 블록(910)에서, 시스템(900)(예를 들어, 도 7의 예측 시스템(710))은 (예를 들어, 도 7의 서버 머신(770)의 데이터 세트 생성기(772)를 통해) 이력 데이터(예를 들어, 이력 센서 데이터(944), 이력 에러 값들(962))의 데이터 분할을 수행하여 트레이닝 세트(902), 검증 세트(904) 및 테스트 세트(906)를 생성한다. 일부 예들에서 트레이닝 세트는 이력 데이터의 60%이고, 검증 세트는 이력 데이터의 20%이며, 테스트 세트는 이력 데이터의 20%이다. 시스템(900)은 트레이닝 세트, 검증 세트 및 테스트 세트 각각에 대한 피쳐들의 복수의 세트들을 생성한다. 예를 들어, 이력 데이터가 20 개의 센서들(예를 들어, 도 7의 센서들(726))로부터의 센서 데이터 및 100 개의 구성요소들(예를 들어, 20 개의 센서들로부터의 센서 데이터에 각각 대응하는 구성요소들)로부터 유도된 피쳐들을 포함하는 경우, 피쳐들의 제1 세트는 센서들 1 내지 10이고, 피쳐들의 제2 세트는 센서들 11 내지 20이며, 트레이닝 세트는 구성요소들 1 내지 60이고, 검증 세트는 구성요소들 61 내지 80이고, 테스트 세트들은 구성요소들 81 내지 100이다. 이러한 예에서, 트레이닝 세트의 피쳐들의 제1 세트는 구성요소들 1 내지 60에 대한 센서들 1 내지 10으로부터의 센서 데이터이다.
[00124] 블록(912)에서, 시스템(900)은 트레이닝 세트(902)를 사용하여 (예를 들어, 도 7의 트레이닝 엔진(782)을 통해) 모델 트레이닝을 수행한다. 시스템(900)은 트레이닝 세트(902)의 피쳐들의 다수의 세트들(예를 들어, 트레이닝 세트(902)의 피쳐들의 제1 세트, 트레이닝 세트(902)의 피쳐들의 제2 세트 등)을 사용하여 다수의 모델들을 트레이닝한다. 예를 들어, 시스템(900)은 트레이닝 세트의 피쳐들의 제1 세트(예를 들어, 구성요소들 1 내지 60에 대한 센서들 1 내지 10으로부터의 센서 데이터)를 사용하여 제1 트레이닝된 머신 러닝 모델을 생성하고 트레이닝 세트의 피쳐들의 제2 세트(예를 들어, 구성요소들 1 내지 60에 대한 센서들 11 내지 20으로부터의 센서 데이터)를 사용하여 제2 트레이닝된 머신 러닝 모델을 생성하도록 머신 러닝 모델을 트레이닝시킨다. 일부 실시예들에서, 제1 트레이닝된 머신 러닝 모델 및 제2 트레이닝된 머신 러닝 모델은 제3 트레이닝된 머신 러닝 모델(예를 들어, 제1 또는 제2 트레이닝된 머신 러닝 모델 자체보다 양호한 예측기(predictor)임)을 생성하도록 조합된다. 일부 실시예들에서, 모델들을 비교하는 데 사용되는 피쳐들의 세트들이 중첩된다(예를 들어, 피쳐들의 제1 세트는 센서들 1 내지 15로부터의 센서 데이터이고, 피쳐들의 제2 세트는 센서들 5 내지 20으로부터의 센서 데이터임). 일부 실시예들에서, 피쳐들의 다양한 순열들을 갖는 모델들, 및 모델들의 조합들을 포함하는 수백 개의 모델들이 생성된다.
[00125] 블록(914)에서, 시스템(900)은 검증 세트(904)를 사용하여 (예를 들어, 도 7의 검증 엔진(784)을 통해) 모델 검증을 수행한다. 시스템(900)은 검증 세트(904)의 피쳐들의 대응하는 세트를 사용하여 트레이닝된 모델들 각각을 검증한다. 예를 들어, 시스템(900)은 검증 세트의 피쳐들의 제1 세트(예를 들어, 구성요소들 61 내지 80에 대한 센서들 1 내지 10으로부터의 센서 데이터)를 사용하여 제1 트레이닝된 머신 러닝 모델을 검증하고, 검증 세트의 피쳐들의 제2 세트(예를 들어, 구성요소들 61 내지 80에 대한 센서들 11 내지 20으로부터의 센서 데이터)를 사용하여 제2 트레이닝된 머신 러닝 모델을 검증한다. 일부 실시예들에서, 시스템(900)은 블록(912)에서 생성된 수백 개의 모델들(예를 들어, 피쳐들의 다양한 순열들을 갖는 모델들, 모델들의 조합들 등)을 검증한다. 블록(914)에서, 시스템(900)은 (예를 들어, 모델 검증을 통해) 하나 이상의 트레이닝된 모델들 각각의 정확도를 결정하고, 트레이닝된 모델들 중 하나 이상이 임계 정확도를 충족하는 정확도를 갖는지를 결정한다. 트레이닝된 모델들 중 어떤 것도 임계 정확도를 충족하는 정확도를 갖지 않는다고 결정하는 것에 응답하여, 흐름은 블록(912)으로 되돌아가고, 여기서 시스템(900)은 트레이닝 세트의 피쳐들의 상이한 세트를 사용하여 모델 트레이닝을 수행한다. 트레이닝된 모델들 중 하나 이상이 임계 정확도를 충족하는 정확도를 갖는다고 결정하는 것에 응답하여, 흐름은 블록(916)으로 계속된다. 시스템(900)은 (예를 들어, 검증 세트에 기초하여) 임계 정확도 미만의 정확도를 갖는 트레이닝된 머신 러닝 모델들을 폐기한다.
[00126] 블록(916)에서, 시스템(900)은 임계 정확도를 충족하는 하나 이상의 트레이닝된 모델들(예를 들어, 블록(914)의 검증에 기초하여 선택된 모델(908)) 중 어떤 것이 최고의 정확도를 갖는지를 결정하도록 (예를 들어, 도 7의 선택 엔진(785)을 통해) 모델 선택을 수행한다. 임계 정확도를 충족하는 트레이닝된 모델들 중 2 개 이상이 동일한 정확도를 갖는다고 결정하는 것에 응답하여, 흐름은 블록(912)으로 되돌아가고, 여기서 시스템(900)은 최고의 정확도를 갖는 트레이닝된 모델을 결정하기 위한 피쳐들의 다른 정제된 세트(refined set)에 대응하는 다른 정제된 트레이닝 세트들을 사용하여 모델 트레이닝을 수행한다.
[00127] 블록(918)에서, 시스템(900)은 선택된 모델(908)을 테스트하도록 테스트 세트(906)를 사용하여 (예를 들어, 도 7의 테스트 엔진(786)을 통해) 모델 테스트를 수행한다. 시스템(900)은 테스트 세트의 피쳐들의 제1 세트(예를 들어, 구성요소들 81 내지 100에 대한 센서들 7 내지 10으로부터의 센서 데이터)를 사용하여 제1 트레이닝된 머신 러닝 모델을 테스트하여, 제1 트레이닝된 머신 러닝 모델이 (예를 들어, 테스트 세트(906)의 피쳐들의 제1 세트에 기초하여) 임계 정확도를 충족하는지 결정한다. 선택된 모델(908)의 정확도가 임계 정확도를 충족하지 않는 것(예를 들어, 선택된 모델(908)이 트레이닝 세트(902) 및/또는 검증 세트(904)에 과도하게 피팅되고, 테스트 세트(906)와 같은 다른 데이터 세트들에 적용 가능하지 않음)에 응답하여, 흐름은 블록(912)으로 계속되고, 여기서 시스템(900)은 피쳐들의 상이한 세트들(예를 들어, 상이한 센서들로부터의 센서 데이터)에 대응하는 상이한 트레이닝 세트들을 사용하여 모델 트레이닝(예를 들어, 재트레이닝)을 수행한다. 선택된 모델(908)이 테스트 세트(906)에 기초하여 임계 정확도를 충족하는 정확도를 갖는다고 결정하는 것에 응답하여, 흐름은 블록(920)으로 계속된다. 적어도 블록(912)에서, 모델은 예측들을 하기 위해 이력 데이터의 패턴들을 학습하고, 블록(918)에서, 시스템(900)은 예측들을 테스트하기 위해 나머지 데이터(예를 들어, 테스트 세트(906))에 모델을 적용한다.
[00128] 블록(920)에서, 시스템(900)은 트레이닝된 모델(예를 들어, 선택된 모델(908))을 사용하여 현재 센서 데이터(952)(예를 들어, 도 7의 현재 센서 데이터(752))를 수신하고, 트레이닝된 모델의 출력으로부터 예측 데이터(968)(예를 들어, 도 7의 예측 데이터(768))를 결정(예를 들어, 추출)하여 제조 장비(724)와 연관된 수정 동작들을 수행한다. 일부 실시예들에서, 현재 센서 데이터(952)는 이력 센서 데이터(944)의 동일한 유형들의 피쳐들에 대응한다. 일부 실시예들에서, 현재 센서 데이터(952)는 선택된 모델(908)을 트레이닝하는 데 사용되는 이력 센서 데이터(944)의 피쳐들의 유형들의 서브세트와 동일한 유형의 피쳐들에 대응한다.
[00129] 일부 실시예들에서, 현재 데이터가 수신된다. 현재 데이터는 현재 에러 값들(964)(예를 들어, 도 7의 현재 에러 값들(764))을 포함한다. 현재 데이터는 계측 장비(예를 들어, 도 7의 계측 장비(728)), LCF 디바이스, 얼라이너 디바이스, 제3자 센서 데이터로부터, 그리고/또는 사용자 입력을 통해 수신된다. 모델(908)은 현재 데이터에 기초하여 재트레이닝된다. 일부 실시예들에서, 새로운 모델은 현재 데이터 및 현재 센서 데이터(952)에 기초하여 트레이닝된다.
[00130] 일부 실시예들에서, 작동들(910 내지 920) 중 하나 이상은 본원에 제시 및 설명되지 않은 다양한 순서들로, 그리고/또는 다른 동작들로 일어난다. 일부 실시예들에서, 작동들(910 내지 920) 중 하나 이상이 수행되지 않는다. 예를 들어, 일부 실시예들에서, 블록(910)의 데이터 분할, 블록(914)의 모델 검증, 블록(916)의 모델 선택, 또는 블록(918)의 모델 테스트 중 하나 이상이 수행되지 않는다.
[00131] 도 10a 내지 도 10d는 특정 실시예들에 따른, 수정 동작을 야기하기 위한 에러 값들을 결정하는 것과 연관된 방법들(1000A 내지 1000D)의 흐름도들이다. 방법들(1000A 내지 1000D)은 하드웨어(예를 들어, 회로, 전용 로직, 프로그램 가능 로직, 마이크로코드, 프로세싱 디바이스 등), 소프트웨어(예컨대, 프로세싱 디바이스, 범용 컴퓨터 시스템 또는 전용 머신에서 실행되는 명령들), 펌웨어, 마이크로코드, 또는 이들의 조합들 포함하는 프로세싱 로직에 의해 수행된다. 일부 실시예들에서, 방법들(1000A 내지 1000D)은 예측 시스템(710)에 의해 부분적으로 수행된다. 방법(1000A)은 예측 시스템(710)(예를 들어, 도 7의 서버 머신(770) 및 데이터 세트 생성기(772), 도 8의 데이터 세트 생성기(872))에 의해 부분적으로 수행된다. 예측 시스템(710)은 방법(1000A)을 사용하여 본 개시내용의 실시예들에 따른 머신 러닝 모델의 트레이닝, 검증 또는 테스트 중 적어도 하나를 실행하기 위해 데이터 세트를 생성한다. 방법(1000B)은 예측 서버(712)(예를 들어, 예측 구성요소(714))에 의해 수행된다. 방법들(1000C 및 1000D)은 서버 머신(780)(예를 들어, 트레이닝 엔진(782) 등)에 의해 수행된다. 일부 실시예들에서, 비일시적 저장 매체는 (예를 들어, 예측 시스템(710), 서버 머신(780), 예측 서버(712) 등의) 프로세싱 디바이스에 의해 실행될 때, 프로세싱 디바이스가 방법들(1000A 내지 1000D) 중 하나 이상을 수행하게 하는 명령들을 저장한다.
[00132] 설명의 단순화를 위해, 방법들(1000A 내지 1000D)은 일련의 작동들로서 도시 및 설명된다. 그러나, 본 개시내용에 따른 작동들은 다양한 순서들로 그리고/또는 동시에, 그리고 본원에 제시 및 설명되지 않은 다른 작동들과 함께 일어날 수 있다. 또한, 개시된 청구대상에 따라 방법들(1000A 내지 1000D)을 구현하기 위해, 모든 예시된 작동들이 수행되는 것은 아니다. 또한, 당업자는 방법들(1000A 내지 1000D)이 대안적으로 상태 다이어그램 또는 이벤트들을 통해 일련의 상호 관련된 상태들로서 표현될 수 있다는 것을 이해 및 인식할 것이다.
[00133] 도 10a는 특정 실시예들에 따른, 예측 데이터(예를 들어, 도 7의 예측 데이터(768))를 생성하기 위한 머신 러닝 모델에 대한 데이터 세트를 생성하기 위한 방법(1000A)의 흐름도이다.
[00134] 도 10a를 참조하면, 일부 실시예들에서, 블록(1001)에서, 방법(1000A)을 구현하는 프로세싱 로직은 트레이닝 세트 T를 빈 세트로 초기화한다.
[00135] 블록(1002)에서, 프로세싱 로직은 센서 데이터(예를 들어, 도 7의 이력 센서 데이터(744), 도 8의 이력 센서 데이터(844), 도 9의 이력 센서 데이터(944))를 포함하는 제1 데이터 입력(예를 들어, 제1 트레이닝 입력, 제1 검증 입력)을 생성한다. 일부 실시예들에서, 제1 데이터 입력은 센서 데이터의 유형들에 대한 피쳐들의 제1 세트를 포함하고, 제2 데이터 입력은 센서 데이터의 유형들에 대한 피쳐들의 제2 세트를 포함한다(예를 들어, 도 8과 관련하여 설명된 바와 같음).
[00136] 블록(1003)에서, 프로세싱 로직은 데이터 입력들 중 하나 이상(예를 들어, 제1 데이터 입력)에 대한 제1 목표 출력을 생성한다. 일부 실시예들에서, 제1 목표 출력은 이력 에러 값들(762)이다.
[00137] 블록(1004)에서, 프로세싱 로직은 선택적으로 입력/출력 매핑을 나타내는 매핑 데이터를 생성한다. 입력/출력 매핑(또는 매핑 데이터)은 데이터 입력(예를 들어, 본원에 설명된 데이터 입력들 중 하나 이상), 데이터 입력에 대한 목표 출력(예를 들어, 목표 출력이 이력 에러 값들(762)을 식별하는 경우), 및 데이터 입력(들)과 목표 출력 사이의 연관성을 지칭한다.
[00138] 블록(1005)에서, 프로세싱 로직은 블록(1004)에서 생성된 매핑 데이터를 데이터 세트 T에 추가한다.
[00139] 블록(1006)에서, 프로세싱 로직은 데이터 세트 T가 머신 러닝 모델(790)의 트레이닝, 검증 및/또는 테스트 중 적어도 하나에 충분한지 여부에 기초하여 분기된다. 그렇다면, 실행은 블록(1007)으로 진행하고, 그렇지 않으면, 실행은 블록(1002)에서 다시 계속된다. 일부 실시예들에서, 데이터 세트 T의 충분성은 단순히 데이터 세트의 입력/출력 매핑들의 수에 기초하여 결정되는 반면, 일부 다른 구현예들에서, 데이터 세트 T의 충분성은 입력/출력 매핑들의 수에 부가하여 또는 그 대신에, 하나 이상의 다른 기준들(예를 들어, 데이터 예들의 다양성의 척도, 정확도 등)에 기초하여 결정된다는 것이 주목되어야 한다.
[00140] 블록(1007)에서, 프로세싱 로직은 머신 러닝 모델(790)을 트레이닝, 검증 및/또는 테스트하도록 (예를 들어, 서버 머신(780)에) 데이터 세트 T를 제공한다. 일부 실시예들에서, 데이터 세트 T는 트레이닝 세트이고, 트레이닝을 수행하도록 서버 머신(780)의 트레이닝 엔진(782)에 제공된다. 일부 실시예들에서, 데이터 세트 T는 검증 세트이고, 검증을 수행하도록 서버 머신(780)의 검증 엔진(784)에 제공된다. 일부 실시예들에서, 데이터 세트 T는 테스트 세트이고, 테스트를 수행하도록 서버 머신(780)의 테스트 엔진(786)에 제공된다. 예를 들어, 신경망의 경우에, 주어진 입력/출력 매핑의 입력 값들(예를 들어, 데이터 입력들(810)과 연관된 수치 값들)이 신경망에 입력되고, 입력/출력 매핑의 출력 값들(예를 들어, 목표 출력들(820)과 연관된 수치 값들)은 신경망의 출력 노드들에 저장된다. 그러면, 신경망의 연결 가중치들은 러닝 알고리즘(예를 들어, 역전파(back propagation) 등)에 따라 조정되고, 데이터 세트 T의 다른 입력/출력 매핑들에 대해 절차가 반복된다. 블록(1007) 이후에, 머신 러닝 모델(예를 들어, 머신 러닝 모델(790))은 서버 머신(780)의 트레이닝 엔진(782)을 사용하여 트레이닝되거나, 서버 머신(780)의 검증 엔진(784)을 사용하여 검증되거나, 서버 머신(780)의 테스트 엔진(786)을 사용하여 테스트되는 것 중 적어도 하나가 실행될 수 있다. 트레이닝된 머신 러닝 모델은 제조 장비(724)와 연관된 수정 동작을 수행하기 위한 예측 데이터(768)를 생성하기 위해 (예측 서버(712)의) 예측 구성요소(714)에 의해 구현된다.
[00141] 도 10b는 수정 동작을 수행하기 위해 에러 값들을 결정하기 위한 방법(1000B)이다.
[00142] 방법(1000B)의 블록(1010)에서, 프로세싱 로직은 고정된 위치에 대해 소정 자세들로 로봇을 포지셔닝한다. 일부 실시예들에서, 프로세싱 로직은 로봇의 하나 이상의 부분들의 움직임을 격리시킴으로써(예를 들어, 리스트 부재에서 관절만 움직이는 것 등) 상이한 자세들로 로봇을 포지셔닝한다.
[00143] 일부 실시예들에서, 로드 포트의 선택에 대한 사용자 입력을 수신하는 것에 응답하여, 프로세싱 로직은 로봇이 기판 캐리어(예를 들어, FOUP, 오토티치 인클로저 시스템) 내로 신장되게 하고, 프로세싱 로직은 로봇이 기판 캐리어 내의 핀을 스캔하게 하며, 프로세싱 로직은 테스트 겟(test get) 및 테스트 풋(test put) 작동들이 올바르게 티칭된 스테이션(예를 들어, 자세, 위치)을 검증하게 한다.
[00144] 일부 실시예들에서, SSP의 선택에 대한 사용자 입력을 수신하는 것에 응답하여, 프로세싱 로직은 로봇이 SSP 내로 신장되게 하고, 프로세싱 로직은 로봇이 SSP 내의 핀(예를 들어, 영구적인 핀)을 스캔하게 하며, 프로세싱 로직은 테스트 겟 및 테스트 풋 작동들이 올바르게 티칭된 스테이션(예를 들어, 자세, 위치)을 검증하게 한다.
[00145] 일부 실시예들에서, 로드록의 선택에 대한 사용자 입력을 수신하는 것에 응답하여, 프로세싱 로직은 로봇이 로드록 본체 전면의 위치로 신장되게 하고, 프로세싱 로직은 로봇이 로드록 본체 상의 하나 이상의 영구적인 오프셋 핀들을 스캔하게 하며, 프로세싱 로직은 테스트 겟 및 테스트 풋 작동들이 올바르게 티칭된 스테이션(예를 들어, 자세, 위치)을 검증하게 한다.
[00146] 일부 실시예들에서, 프로세싱 로직은 로봇이 핀의 원통형 부분을 스캔하게 한다. 일부 실시예들에서, 프로세싱 로직은, 1) 핀 밖으로부터 핀의 제1 주변 에지 상으로 가는 위치; 2) 핀 상으로부터 핀의 제2 주변 에지를 벗어나게 가는 위치; 3) 핀 밖으로부터 핀의 제2 주변 에지 상으로 가는 위치; 4) 핀 상으로부터 핀의 제1 주변 에지를 벗어나게 가는 위치를 포함하는 4 개의 위치들을 결정한다.
[00147] 일부 실시예들에서, 프로세싱 로직은 로봇이 핀의 베이스를 상이한 각도들로부터 스캔하게 한다. 일부 실시예들에서, 교정을 제공하기 위해, 핀의 적어도 일부는 중앙 핀(예를 들어, 핀의 원통형 부분)에 대해 스큐(skew) 또는 비대칭들을 갖는 형상(예를 들어, 사다리꼴)을 갖는다. 핀의 제1 부분(예를 들어, 핀의 원통형 부분)의 대칭은 교정을 위해 핀의 제2 부분(예를 들어, 핀의 사다리꼴 부분)의 비대칭들과 비교된다. 로봇 암은 비교를 위해 핀의 제1 부분(예를 들어, 원통형) 및 제2 부분(예를 들어, 사다리꼴)을 스캔하기 위해 z-방향으로의 이동(예를 들어, 상하로의 이동)을 수행한다. 로봇 암은 비교를 위해 제2 부분(예를 들어, 사다리꼴)을 제1 각도 및 제2 각도로부터 측정하기 위해 단일 관절을 중심으로 한 회전 운동을 수행한다. 이동을 수행하는 로봇 암은, 로봇이 다른 물체를 스캔하기 위한 관절 자세를 완전히 변경하지 않고도, 동일한 근사 영역에 대한 관절 각도들의 비교를 허용한다. 일부 실시예들에서, 각도 검출을 위해, 스캔 각도로 인해 간격이 증가하거나 감소하는 오프셋 피쳐들의 세트(예를 들어, 사다리꼴 부분의 변들 또는 에지들)가 사용된다.
[00148] 일부 실시예들에서, 프로세싱 로직은 로봇이 교정 기판에 부착된 핀을 스캔하고, 교정 기판을 제2 위치로 반송하며, 교정 기판에 부착된 핀을 다시 스캔하게 한다.
[00149] 일부 실시예들에서, 프로세싱 로직은 로봇이 교정 웨이퍼(예를 들어, 노치 및 핀을 가짐)를 얼라이너 디바이스 또는 LCF 디바이스 상에 배치하게 한다. 프로세싱 로직은 얼라이너 디바이스 또는 LCF 디바이스가 노치를 사용하여 교정 웨이퍼를 정렬하게 하고, 다음에 프로세싱 로직은 로봇이 하나 이상의 자세들로부터 교정 웨이퍼의 핀을 스캔하게 한다.
[00150] 블록(1012)에서, 프로세싱 로직은 소정 자세들의 로봇에 대해 고정된 위치를 식별하는 센서 데이터를 생성한다. 일부 실시예들에서, 센서 데이터는 좌표 데이터 포인트들을 포함한다. 일부 실시예들에서, 프로세싱 로직은 이상치들을 제거하는 것, 좌표 데이터 포인트들을 피팅하는 것, 좌표 데이터 포인트들에 대해 회귀를 수행하는 것 등 중 하나 이상에 의해 좌표 데이터 포인트들을 프로세싱한다.
[00151] 일부 실시예들에서, 센서 데이터는 이미지들을 포함한다. 일부 실시예들에서, 프로세싱 로직은 이미지들에서 에지들을 식별하는 것, 이미지들에서 노이즈를 제거(cleaning up)하는 것, 이미지들에서 하나 이상의 물체들을 식별하는 것, 하나 이상의 필터들을 통해 이미지들을 통과(running)시키는 것, 이미지들에서 물체들의 실제 포지션과 암시적 포지션(implied position)을 수렴시키는 것 등 중 하나 이상에 의해 이미지들을 프로세싱한다.
[00152] 블록(1014)에서, 프로세싱 로직은, 센서 데이터에 기초하여, 기판 프로세싱 시스템의 구성요소들에 대응하는 에러 값들을 결정한다.
[00153] 일부 실시예들에서, 기판 프로세싱 시스템의 하나 이상의 구성요소들을 나타내는 하나 이상의 방정식들이 결정된다. 일부 예들에서, 방정식은 로봇의 링크들의 각 링크 길이 및 로봇의 관절들의 각 관절 에러를 나타낸다. 센서 데이터는 에러 값들을 결정하기 위해 방정식에 입력된다.
[00154] 일부 실시예들에서, 도 10b의 블록(1014)은 방법(1000C)의 블록들(1020 내지 1024) 중 하나 이상을 포함하고, 센서 데이터는 에러 값들을 결정하기 위해, 트레이닝된 머신 러닝 모델에 입력된다.
[00155] 일부 실시예들에서, 에러 값들은 로봇의 블레이드의 웨이퍼 중심에 대한 파이버 빔 오프셋, 로봇의 각 관절마다의 모터 또는 기어 전달 에러, 로봇의 타원형 관절 에러, 로봇의 링크 영점설정 오프셋, 구성요소(예를 들어, 로봇의 관절, 얼라이너 디바이스, LCF 디바이스)의 지시된 각도와 실제 각도 사이의 차이, 구성요소(예를 들어, 로봇의 링크 등)의 길이와 실제 길이 사이의 차이 등 중 하나 이상을 포함한다.
[00156] 블록(1016)에서, 프로세싱 로직은, 에러 값들에 기초하여, 구성요소들과 연관된 수정 동작들을 수행하게 한다. 일부 실시예들에서, 수정 동작의 수행은, 에러 값들에 기초하여 구성요소(예를 들어, 로봇, 얼라이너 디바이스, LCF 디바이스)의 이동을 야기하는 것; 사용자에게 경고를 제공하는 것; 제조 장비의 기능을 중단하는 것; 제조 파라미터들을 업데이트하는 것; 제조 장비의 구성요소의 교체를 계획하는 것; 에너지 사용을 감소시키기 위해 하나 이상의 구성요소들을 교체하는 것; 예방적 유지보수를 야기하는 것; 구성요소들의 수정을 야기하는 것(예를 들어, 장착 나사들을 조이는 것, 바인딩(binding)을 교체하는 것 등) 등 중 하나 이상을 포함한다
[00157] 일부 실시예들에서, 수정 동작의 수행은 에러 값들에 기초하여 오토 티치 작동을 수행하는 것을 포함한다. 티칭은 프로세싱 시스템(예를 들어, 기판 캐리어, 로드록, 얼라이너 디바이스, LCF 디바이스 등)의 위치(예를 들어, 기준 포인트)를 로봇 암에 티칭하는 것을 지칭한다. 일부 예들에서, 기준 포인트는 인클로저 시스템의 중심이다.
[00158] 일부 실시예들에서, 수정 동작의 수행은 에러 값들에 기초하여 교정 작동을 수행하는 것을 포함한다. 교정은 로봇의 에러들과 같은 프로세싱 시스템의 구성요소의 이동에 있어서의 에러들(예를 들어, 관절 운동학적 에러들, 관절 히스테리시스 및 관절 백래시)을 결정하고, 결정된 에러들을 보상하도록 구성요소의 설정들을 조정하는 것을 지칭한다.
[00159] 일부 실시예들에서, 로봇은 교정 기판을 사용하여 교정 작동을 수행한다. 교정 기판은 프로세싱 시스템 내에(예를 들어, 기판 캐리어의 내부 용적부에 있는 지지 구조물들 상에) 배치된다. 교정 기판은 실질적으로 수평이고, 교정 기판의 상부면에 고정된 교정 핀을 포함한다. 로봇 암은 교정 핀을 스캔하여 교정 기판(예를 들어, 교정 핀)의 제1 위치를 결정하고, 지지 구조물들로부터 교정 기판을 제거하고(예를 들어, 기판 캐리어로부터 교정 기판을 제거함), 지지 구조물들 상의 제1 위치에 교정 기판을 배치하도록 지향되고, 교정 핀을 스캔하여 교정 기판의 제2 위치를 결정하며, 제1 위치와 제2 위치 사이의 차이에 기초하여 에러 값들(예를 들어, 로봇 암 에러)을 결정한다.
[00160] 일부 실시예들에서, 로봇은 교정 웨이퍼를 사용하여 교정 작동을 수행한다. 교정 웨이퍼는 실질적으로 수평이고, (예를 들어, 교정 웨이퍼의 측벽 상에) 노치를 포함하며, 교정 웨이퍼의 상부면에 고정된 핀을 포함한다. 로봇은 얼라이너 디바이스를 스캔하여 얼라이너 디바이스의 위치(예를 들어, X-Y 위치)를 결정하고, 교정 웨이퍼를 얼라이너 디바이스 상에 배치한다. 얼라이너 디바이스는 교정 웨이퍼를 회전시켜서 로봇 상의 매핑 파이버를 트리거하여 제1 위치를 결정한다. 다음에, 로봇은 (예를 들어, 리스트 관절 각도와 같은 관절 각도를 통해) 회전하여 로봇 상의 매핑 파이버를 트리거하여 제2 위치를 결정한다. 제1 위치와 제2 위치는 얼라이너 디바이스 및/또는 로봇의 에러 값(예를 들어, 요(yaw) 에러 값)을 결정하도록 비교된다.
[00161] 일부 실시예들에서, 수정 동작의 수행은 에러 값들에 기초하여 진단 작동을 수행하는 것을 포함한다. 일부 실시예들에서, 진단 작동은 구성요소가 오작동하는지 여부를 결정하는 것을 포함한다. 일부 실시예들에서, 프로세싱 로직은 시간 경과에 따른 에러 값들의 변화를 결정하여, 하나 이상의 구성요소들의 부식(decay), 드리프트(drift), 벨트의 느슨해짐, 풀리가 윤활되지 않는 것으로 보이거나 마모된 것, 베어링의 마모, 구성요소의 교체가 수행될지 여부, 구성요소의 유지보수가 수행될지 여부, 구성요소가 추가로 조사될지 여부 등의 진단을 결정한다.
[00162] 일부 실시예들에서, 방법(1000B)은 (예를 들어, 에러 값 및 수정 동작을 결정하기 위해 관절과 같은 구성요소를 격리시킴으로써) 프로세싱 시스템의 상이한 구성요소들에 대한 에러 값들 및 수정 동작들을 결정하기 위해 반복된다. 일부 실시예들에서, 방법(1000B)의 1회 반복 후에 수정 동작을 수행하는 것에 응답하여, 추가 수정 동작들이 필요한지를 결정하기 위해 방법(1000B)의 제2 반복이 (예를 들어, 로봇의 동일하거나 상이한 자세들을 사용하여) 수행된다.
[00163] 도 10c는 트레이닝된 머신 러닝 모델을 사용하여 수정 동작을 수행하기 위한 에러 값들을 결정하기 위한 방법(1000C)이다.
[00164] 블록(1020)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델에 대한 입력으로서 센서 데이터를 제공한다. 일부 실시예들에서, 센서 데이터는 프로세싱 시스템의 구성요소(예를 들어, 로봇, 얼라이너 디바이스, LCF 디바이스 등)와 연관된 센서로부터 수신된다. 일부 실시예들에서, 트레이닝된 머신 러닝 모델은 도 10d의 블록들(1040 및 1042)의 하나 이상의 작동들에 의해 트레이닝된다.
[00165] 블록(1022)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델로부터 예측 데이터를 나타내는 출력을 획득한다. 예측 데이터는, 제조 장비의 구성요소들의 이동에서의 예측된 이상들; 제조 장비의 구성요소들에서의 예측된 이상들; 예측된 구성요소 고장 등 중 하나 이상을 나타낸다. 예측 데이터는 제조 장비의 이상을 야기하고 있는 (예를 들어, 제품간 균일성을 위한 챔버 매칭으로부터의) 변동을 나타낸다. 예를 들어, 제조 장비의 이상 특성(예를 들어, 지시된 이동과 실제 이동 사이의 차이)은 수정 동작이 수행되어야 함을 나타낸다.
[00166] 블록(1024)에서, 프로세싱 로직은 예측 데이터에 기초하여 에러 값들을 결정한다. 일부 실시예들에서, 에러 값들은 프로세싱 시스템의 구성요소들의 이동에 사용되는 오프셋을 포함한다.
[00167] 일부 실시예들에서, 에러 값들에 기초하여 수행된 예측 데이터 및/또는 수정 동작은 이상들을 야기하고 있는 조합(예를 들어, 구성요소들의 조합, 제조 파라미터들의 조합)을 나타낸다(예를 들어, 조합으로부터의 아이템들 중 하나 자체만으로는 이상을 야기하지 않는 경우).
[00168] 일부 실시예들에서, 현재 센서 데이터에 대응하는 현재 에러 값들이 수신된다. 트레이닝된 머신 러닝 모델은 현재 센서 데이터 및 현재 에러 값들에 기초하여 재트레이닝된다(또는 새로운 모델이 트레이닝됨).
[00169] 도 10d는 수정 동작을 수행하기 위한 에러 값들(예를 들어, 도 7의 에러 값들(768))을 결정하기 위해 머신 러닝 모델(예를 들어, 도 7의 모델(790B))을 트레이닝하기 위한 방법(1000D)이다.
[00170] 도 10d를 참조하면, 블록(1040)에서, 프로세싱 로직은 제조 장비의 구성요소들의 이동과 연관된 이력 센서 데이터 및 이력 에러 값들을 수신한다. 일부 실시예들에서, 이력 추적 데이터는 하나 이상의 고정된 위치들에 대해 구성요소들과 연관된 좌표 데이터 포인트들 및/또는 이미지들을 포함한다. 일부 실시예들에서, 이력 에러 값들은 지시된 이동이 구성요소들의 실제 이동과 동일하도록 사용되는 오프셋들을 포함한다.
[00171] 블록(1042)에서, 프로세싱 로직은 트레이닝된 머신 러닝 모델을 생성하기 위해, 이력 센서 데이터를 포함하는 데이터 입력 및 이력 에러 값들을 포함하는 목표 출력으로 머신 러닝 모델을 트레이닝시킨다. 트레이닝된 머신 러닝 모델은 수정 동작을 수행하기 위해 예측 데이터를 나타내는 출력들을 생성할 수 있다(예를 들어, 도 10c의 블록들(1022 및 1024) 참조). 일부 실시예들에서, 머신 러닝 모델은 에러 값들을 갖지 않는 구성요소들(예를 들어, 교정된 구성요소들) 및/또는 에러 값들을 갖는 구성요소들(예를 들어, 교정되지 않은 구성요소들)에 대한 이력 센서 데이터의 세트들을 사용하여 트레이닝된다.
[00172] 도 11은 특정 실시예들에 따른 컴퓨터 시스템(1100)을 예시하는 블록도이다. 일부 실시예들에서, 컴퓨터 시스템(1100)은 도 1의 제어기(109), 도 2a 및 도 2b의 제어기(228), 도 7의 예측 서버(712), 도 7의 클라이언트 디바이스(720) 등 중 하나 이상이다. 일부 실시예들에서, 컴퓨터 시스템(1100)은 도 11과 관련하여 설명되는 구성요소들 및/또는 기능들 중 하나 이상을 포함한다.
[00173] 일부 실시예들에서, 컴퓨터 시스템(1100)은 (예를 들어, LAN(Local Area Network), 인트라넷, 엑스트라넷 또는 인터넷과 같은 네트워크를 통해) 다른 컴퓨터 시스템들에 연결된다. 컴퓨터 시스템(1100)은 클라이언트-서버 환경에서 서버 또는 클라이언트 컴퓨터로서, 또는 피어-투-피어(peer-to-peer) 또는 분산 네트워크 환경에서 피어 컴퓨터(peer computer)로서 작동한다. 컴퓨터 시스템(1100)은 퍼스널 컴퓨터(PC), 태블릿 PC, STB(Set-Top Box), PDA(Personal Digital Assistant), 휴대 전화, 웹 기기, 서버, 네트워크 라우터, 스위치 또는 브리지, 또는 해당 디바이스가 취할 동작들을 지정하는 명령들의 세트를 (순차적으로 또는 다른 방식으로) 실행할 수 있는 임의의 디바이스에 의해 제공된다. 또한, 용어 "컴퓨터"는 본원에 설명된 방법들 중 임의의 하나 이상의 방법들을 수행하기 위해 명령들의 세트(또는 다수의 세트들)를 개별적으로 또는 공동으로 실행하는 컴퓨터들의 임의의 집합을 포함할 것이다.
[00174] 추가 양상에서, 컴퓨터 시스템(1100)은 버스(1108)를 통해 서로 통신하는, 프로세싱 디바이스(1102), 휘발성 메모리(1104)(예를 들어, RAM(Random Access Memory)), 비휘발성 메모리(1106)(예를 들어, ROM(Read-Only Memory) 또는 EEPROM(Electrically-Erasable Programmable ROM)) 및 데이터 저장 디바이스(1116)를 포함한다.
[00175] 프로세싱 디바이스(1102)는 하나 이상의 프로세서들, 이를테면, 범용 프로세서(이를테면, 예를 들어, CISC(Complex Instruction Set Computing) 마이크로프로세서, RISC(Reduced Instruction Set Computing) 마이크로프로세서, VLIW(Very Long Instruction Word) 마이크로프로세서, 다른 유형들의 명령 세트들을 구현하는 마이크로프로세서, 또는 명령 세트 유형들의 조합을 구현하는 마이크로프로세서) 또는 특수 프로세서(이를테면, 예를 들어, ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 네트워크 프로세서)에 의해 제공된다.
[00176] 컴퓨터 시스템(1100)은 네트워크 인터페이스 디바이스(1122)(예를 들어, 네트워크(1174)에 결합됨)를 더 포함한다. 컴퓨터 시스템(1100)은 또한 비디오 디스플레이 유닛(1110)(예를 들어, LCD), 영숫자 입력 디바이스(1112)(예를 들어, 키보드), 커서 제어 디바이스(1114)(예를 들어, 마우스), 및 신호 생성 디바이스(1120)를 포함한다.
[00177] 일부 구현예들에서, 데이터 저장 디바이스(1116)는 도 7의 구성요소들(예를 들어, 수정 동작 구성요소(722), 예측 구성요소(714) 등)을 인코딩하고 그리고 본원에 설명된 방법들을 구현하기 위한 명령들을 포함하여, 본원에 설명된 방법들 또는 기능들 중 임의의 하나 이상을 인코딩하는 명령들(1126)을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체(1124)를 포함한다.
[00178] 명령들(1126)은 또한, 컴퓨터 시스템(1100)에 의한 명령들(1126)의 실행 동안에 휘발성 메모리(1104) 및/또는 프로세싱 디바이스(1102) 내에 완전히 또는 부분적으로 상주하며, 따라서 휘발성 메모리(1104) 및 프로세싱 디바이스(1102)도 또한 기계 판독 가능 저장 매체들을 구성한다.
[00179] 컴퓨터 판독 가능 저장 매체(1124)가 예시적인 예들에서 단일 매체로 도시되어 있지만, 용어 "컴퓨터 판독 가능 저장 매체"는 실행 가능한 명령들의 하나 이상의 세트들을 저장하는 단일 매체 또는 다수의 매체들(예를 들어, 중앙 집중식 또는 분산식 데이터베이스, 및/또는 관련 캐시들 및 서버들)을 포함할 것이다. 용어 "컴퓨터 판독 가능 저장 매체"는 또한, 컴퓨터로 하여금 본원에서 설명되는 방법들 중 임의의 하나 이상의 방법들을 수행하게 하는, 컴퓨터에 의한 실행을 위한 명령들의 세트를 저장하거나 인코딩할 수 있는 임의의 유형적인 매체(tangible medium)를 포함할 것이다. 용어 "컴퓨터 판독 가능 저장 매체"는 솔리드 스테이트 메모리들, 광학 매체들 및 자기 매체들을 포함하지만 이에 제한되지 않을 것이다.
[00180] 일부 실시예들에서, 본원에 설명된 방법들, 구성요소들 및 특징들은 개별 하드웨어 구성요소들에 의해 구현되거나, 다른 하드웨어 구성요소들, 이를테면, ASICS, FPGA들, DSP들 또는 유사한 디바이스들의 기능에 통합된다. 또한, 방법들, 구성요소들 및 특징들은 하드웨어 디바이스들 내의 펌웨어 모듈들 또는 기능 회로에 의해 구현된다. 추가로, 방법들, 구성요소들 및 특징들은 하드웨어 디바이스들과 컴퓨터 프로그램 구성요소들의 임의의 조합으로, 또는 컴퓨터 프로그램들로 구현된다.
[00181] 달리 구체적으로 명시되지 않는 한, "포지셔닝하는", "생성하는", "결정하는", "야기하는", "적용하는", "폐기하는", "제공하는", "획득하는", "수신하는", "트레이닝하는" 등과 같은 용어들은, 컴퓨터 시스템 레지스터들 및 메모리들 내에서 물리적(전자적) 양들로서 표현된 데이터를, 컴퓨터 시스템 메모리들 또는 레지스터들 또는 다른 그러한 정보 저장, 전송 또는 디스플레이 디바이스들 내에서 물리적 양들로서 유사하게 표현된 다른 데이터로 조작 및 변환하는, 컴퓨터 시스템들에 의해 수행되거나 구현되는 동작들 및 프로세스들을 지칭한다. 또한, 본원에 사용된 바와 같이, 용어들 "제1", "제2", "제3", "제4" 등은 상이한 요소들 간을 구별하기 위한 라벨들로서 의도되고, 반드시 그들의 숫자 지정에 따른 서수적 의미를 갖지는 않는다.
[00182] 본원에 설명된 예들은 또한, 본원에 설명된 방법들을 수행하기 위한 장치에 관한 것이다. 일부 실시예들에서, 이러한 장치는 본원에 설명된 방법들을 수행하도록 특수하게 구성되거나, 컴퓨터 시스템에 저장된 컴퓨터 프로그램에 의해 선택적으로 프로그래밍된 범용 컴퓨터 시스템을 포함한다. 그러한 컴퓨터 프로그램은 컴퓨터 판독 가능한 유형적인 저장 매체에 저장된다.
[00183] 본원에 설명된 방법들 및 예시적인 예들은 본질적으로 임의의 특정 컴퓨터 또는 다른 장치와 관련되지 않는다. 다양한 범용 시스템들이 본원에 설명된 교시들에 따라 사용되거나, 또는 본원에 설명된 방법들 및/또는 이들 방법들의 개별적인 기능들, 루틴들, 서브루틴들 또는 작동들 각각을 수행하기 위해 보다 전문화된 장치를 구성하는 것이 편리한 것으로 입증된다. 이러한 다양한 시스템들에 대한 구조의 예들은 상기의 설명에서 제시된다.
[00184] 위의 설명은 제한적인 것이 아니라 예시적인 것으로 의도된다. 본 개시내용이 특정한 예시적인 예들 및 구현예들을 참조하여 설명되었지만, 본 개시내용은 설명된 예들 및 구현예들로 제한되지 않는다는 것이 인식될 것이다. 본 개시내용의 범위는, 다음의 청구항들 및 이 청구항들이 권리를 갖는 등가물들의 전체 범위를 참조하여 결정되어야 한다.
[00185] 본 개시내용은 광범위한 용도 및 응용이 가능하다는 것이 쉽게 이해되어야 한다. 본원에 설명된 것들 이외의 본 개시내용의 많은 실시예들 및 구성들뿐만 아니라 많은 변형들, 수정들 및 등가 배열들이 본 개시내용의 요지 또는 범위로부터 벗어남이 없이, 본 개시내용 및 그의 전술한 설명에 의해 자명하게 되거나, 합리적으로 제안될 것이다. 따라서, 본 개시내용은 특정 실시예들과 관련하여 상세하게 본원에 설명되었지만, 이러한 개시내용은 단지 예시적이며, 본 개시내용의 예들을 나타내며, 완전하고 실시 가능한 개시내용을 제공하는 목적들을 위해서만 작성된 것이라는 것이 이해되어야 한다. 본 개시내용은 개시된 특정 장치들, 조립체들, 시스템들 및/또는 방법들에 제한되도록 의도되는 것이 아니라, 도리어, 청구항들의 범위 내에 속하는 모든 수정들, 균등물들 및 대안들을 커버하는 것으로 의도된다.

Claims (15)

  1. 방법으로서,
    기판 프로세싱 시스템의 고정된 위치에 대해 상기 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝(positioning)하는 단계;
    상기 복수의 자세들의 로봇에 대해 상기 고정된 위치를 식별하는 센서 데이터를 생성하는 단계;
    상기 센서 데이터에 기초하여, 상기 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하는 단계; 및
    상기 복수의 에러 값들에 기초하여, 상기 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들(corrective actions)을 수행하게 하는 단계를 포함하는,
    방법.
  2. 제1 항에 있어서,
    상기 센서 데이터는 복수의 좌표 데이터 포인트들(coordinate data points)을 포함하며,
    상기 방법은,
    상기 복수의 좌표 데이터 포인트들에 선형 피팅(linear fit)을 적용하는 단계;
    상기 선형 피팅의 평균, 최빈치(mode) 또는 표준 편차 중 적어도 하나를 결정하는 단계;
    상기 선형 피팅의 평균, 최빈치 또는 표준 편차 중 적어도 하나에 기초하여 이상치(outlier) 좌표 데이터 포인트들을 폐기하는 단계; 및
    상기 폐기된 이상치 좌표 데이터 포인트들 없이 상기 좌표 데이터 포인트들의 제2 평균을 결정하는 단계―상기 복수의 에러 값들은 상기 제2 평균을 포함함―를 더 포함하는,
    방법.
  3. 제1 항에 있어서,
    상기 센서 데이터는 복수의 좌표 데이터 포인트들을 포함하고, 상기 복수의 좌표 데이터 포인트들의 생성은 상기 로봇에 결합된 엔드 이펙터(end effector)의 2 개의 포인트들 사이에서 연장되는 광 경로를 사용하여, 상기 고정된 위치의 주변 에지 상의 포인트를 상기 광 경로로 검출함으로써 상기 고정된 위치를 식별하는 것을 포함하는,
    방법.
  4. 제1 항에 있어서,
    상기 고정된 위치는,
    기판 인클로저 시스템(substrate enclosure system) 내에 배치된 것;
    교정 웨이퍼(calibration wafer) 상에 배치된 것;
    얼라이너 디바이스(aligner device) 상에 배치된 것;
    LCF(location center finder) 디바이스 상에 배치된 것;
    핀(pin)의 원통형 부분; 또는
    상기 핀의 사다리꼴 베이스(trapezoidal base)
    중 하나 이상인,
    방법.
  5. 제1 항에 있어서,
    상기 센서 데이터는,
    상기 고정된 위치에 대해 상기 복수의 자세들의 로봇을 사용하여 캡처된 복수의 이미지들;
    상기 복수의 자세들의 로봇을 사용하여 상기 고정된 위치를 식별하는 제1 복수의 좌표 데이터 포인트들;
    상기 기판 프로세싱 시스템의 이송 챔버(transfer chamber)에 배치된 얼라이너 디바이스를 사용하여 상기 고정된 위치를 식별하는 제2 복수의 좌표 데이터 포인트들; 또는
    상기 기판 프로세싱 시스템의 팩토리 인터페이스(factory interface)에 배치된 LCF(location centering) 디바이스를 사용하여 상기 고정된 위치를 식별하는 제3 복수의 좌표 데이터 포인트들
    중 하나 이상을 포함하는,
    방법.
  6. 제1 항에 있어서,
    상기 하나 이상의 구성요소들은,
    상기 로봇의 상부 암(upper arm);
    상기 로봇의 포어암(forearm);
    상기 로봇의 리스트 부재(wrist member)―엔드 이펙터가 상기 리스트 부재에 결합됨―;
    상기 기판 프로세싱 시스템의 이송 챔버에 배치된 얼라이너 디바이스; 또는
    상기 기판 프로세싱 시스템의 팩토리 인터페이스에 배치된 LCF(location center finding) 디바이스
    중 하나 이상을 포함하는,
    방법.
  7. 제1 항에 있어서,
    상기 복수의 에러 값들은,
    상기 로봇의 블레이드(blade)의 웨이퍼 중심에 대한 파이버 빔 오프셋(fiber beam offset);
    상기 로봇의 각 관절마다의 모터 또는 기어 전달 에러(transmission error);
    상기 로봇의 타원형 관절 에러; 또는
    상기 로봇의 링크 영점설정 오프셋(link zeroing offset)
    중 하나 이상을 포함하는,
    방법.
  8. 제1 항에 있어서,
    상기 하나 이상의 수정 동작들의 수행은,
    오토 티치 작동(auto teach operation)을 수행하는 것;
    상기 하나 이상의 구성요소들의 교정을 수행하는 것; 또는
    상기 하나 이상의 구성요소들의 진단을 수행하는 것
    중 하나 이상을 포함하는,
    방법.
  9. 제1 항에 있어서,
    상기 복수의 에러 값들을 결정하는 단계는,
    트레이닝된 머신 러닝 모델(trained machine learning model)에 대한 입력으로서 상기 센서 데이터를 제공하는 단계;
    상기 트레이닝된 머신 러닝 모델로부터, 예측 데이터를 나타내는 하나 이상의 출력들을 획득하는 단계; 및
    상기 예측 데이터에 기초하여, 상기 복수의 에러 값들을 결정하는 단계를 포함하는,
    방법.
  10. 제9 항에 있어서,
    이력 센서 데이터(historical sensor data) 및 복수의 이력 에러 값들(historical error values)을 수신하는 단계; 및
    상기 트레이닝된 머신 러닝 모델을 생성하기 위해, 상기 이력 센서 데이터를 포함하는 데이터 입력 및 상기 복수의 이력 에러 값들을 포함하는 목표 출력으로 머신 러닝 모델을 트레이닝하는 단계를 더 포함하는,
    방법.
  11. 제10 항에 있어서,
    상기 복수의 이력 에러 값들은,
    상기 이력 센서 데이터의 적어도 일부의 중앙 값들;
    상기 이력 센서 데이터의 적어도 일부의 표준 편차의 수렴치;
    상기 기판 프로세싱 시스템의 LCF(location center finding) 디바이스로부터의 LCF 센서 데이터;
    상기 기판 프로세싱 시스템의 얼라이너 디바이스로부터의 얼라이너 센서 데이터; 또는
    하나 이상의 제3자 센서들(third party sensors)로부터의 제3자 센서 데이터
    중 하나 이상에 기초하는,
    방법.
  12. 실행될 때 프로세싱 디바이스가 작동들을 수행하게 하는 명령들을 저장하는 비일시적 기계 판독 가능 저장 매체로서,
    상기 작동들은,
    기판 프로세싱 시스템의 고정된 위치에 대해 상기 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝하는 작동;
    상기 복수의 자세들의 로봇에 대해 상기 고정된 위치를 식별하는 센서 데이터를 생성하는 작동;
    상기 센서 데이터에 기초하여, 상기 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하는 작동; 및
    상기 복수의 에러 값들에 기초하여, 상기 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 하는 작동을 포함하는,
    비일시적 기계 판독 가능 저장 매체.
  13. 제12 항에 있어서,
    상기 하나 이상의 구성요소들은,
    상기 로봇의 상부 암;
    상기 로봇의 포어암;
    상기 로봇의 리스트 부재―엔드 이펙터가 상기 리스트 부재에 결합됨―;
    상기 기판 프로세싱 시스템의 이송 챔버에 배치된 얼라이너 디바이스; 또는
    상기 기판 프로세싱 시스템의 팩토리 인터페이스에 위치된 LCF(location center finding) 디바이스
    중 하나 이상을 포함하는,
    비일시적 기계 판독 가능 저장 매체.
  14. 시스템으로서,
    메모리; 및
    상기 메모리에 결합된 프로세싱 디바이스를 포함하며,
    상기 프로세싱 디바이스는,
    기판 프로세싱 시스템의 고정된 위치에 대해 상기 기판 프로세싱 시스템에 복수의 자세들로 로봇을 포지셔닝하고;
    상기 복수의 자세들의 로봇에 대해 상기 고정된 위치를 식별하는 센서 데이터를 생성하고;
    상기 센서 데이터에 기초하여, 상기 기판 프로세싱 시스템의 하나 이상의 구성요소들에 대응하는 복수의 에러 값들을 결정하고; 그리고
    상기 복수의 에러 값들에 기초하여, 상기 기판 프로세싱 시스템의 하나 이상의 구성요소들과 연관된 하나 이상의 수정 동작들을 수행하게 하는,
    시스템.
  15. 제14 항에 있어서,
    상기 센서 데이터는 복수의 좌표 데이터 포인트들을 포함하며,
    상기 프로세싱 디바이스는 추가로,
    상기 복수의 좌표 데이터 포인트들에 선형 피팅을 적용하고;
    상기 선형 피팅의 평균, 최빈치 또는 표준 편차 중 적어도 하나를 결정하고;
    상기 선형 피팅의 평균, 최빈치 또는 표준 편차 중 적어도 하나에 기초하여 이상치 좌표 데이터 포인트들을 폐기하고; 그리고
    상기 폐기된 이상치 좌표 데이터 포인트들 없이 상기 좌표 데이터 포인트들의 제2 평균을 결정하며,
    상기 복수의 에러 값들은 상기 제2 평균을 포함하는,
    시스템.
KR1020217036608A 2019-04-11 2020-04-10 로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들 KR102577561B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962832585P 2019-04-11 2019-04-11
US62/832,585 2019-04-11
US16/844,765 US11279032B2 (en) 2019-04-11 2020-04-09 Apparatus, systems, and methods for improved joint coordinate teaching accuracy of robots
US16/844,765 2020-04-09
PCT/US2020/027768 WO2020210701A1 (en) 2019-04-11 2020-04-10 Apparatus, systems, and methods for improved joint coordinate teaching accuracy of robots

Publications (2)

Publication Number Publication Date
KR20210137248A true KR20210137248A (ko) 2021-11-17
KR102577561B1 KR102577561B1 (ko) 2023-09-11

Family

ID=72749020

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217036608A KR102577561B1 (ko) 2019-04-11 2020-04-10 로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들

Country Status (6)

Country Link
US (1) US11279032B2 (ko)
JP (2) JP7128367B2 (ko)
KR (1) KR102577561B1 (ko)
CN (2) CN116197933A (ko)
TW (2) TW202304674A (ko)
WO (1) WO2020210701A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230128158A (ko) * 2022-02-25 2023-09-04 공주대학교 산학협력단 복합재로 이루어진 로봇 암의 설계 장치 및 이를 이용한 로봇 암의 설계 방법

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7214440B2 (ja) * 2018-11-01 2023-01-30 三菱重工エンジニアリング株式会社 検証処理装置、検証処理方法及びプログラム
US11592812B2 (en) * 2019-02-19 2023-02-28 Applied Materials, Inc. Sensor metrology data integration
KR102202463B1 (ko) * 2019-03-13 2021-01-14 세메스 주식회사 기판 처리 장치 및 방법
US11370114B2 (en) * 2019-12-09 2022-06-28 Applied Materials, Inc. Autoteach enclosure system
JP2022084259A (ja) * 2020-11-26 2022-06-07 キヤノン株式会社 情報処理装置、情報処理方法、ロボットシステム、測定システム、ロボットシステムを用いた物品の製造方法、制御プログラム及び記録媒体
US20230185255A1 (en) * 2021-12-14 2023-06-15 Applied Materials, Inc. Post preventative maintenance chamber condition monitoring and simulation
KR20230094447A (ko) * 2021-12-21 2023-06-28 이규옥 엔드이펙터 감지센서를 갖는 풉 및 이를 이용한 데이터 통합 관리시스템
US11817724B2 (en) 2022-03-02 2023-11-14 Applied Materials, Inc. Enclosure system with charging assembly
JP2024055616A (ja) * 2022-10-07 2024-04-18 川崎重工業株式会社 基板搬送用ロボットシステム、および、基板搬送用ロボットによる基板の置き位置および取り位置の少なくともいずれかの補正方法
CN116442249B (zh) * 2023-06-19 2023-08-18 广东隆崎机器人有限公司 装配控制方法、装配设备及计算机可读存储介质
KR102624240B1 (ko) * 2023-07-27 2024-01-16 주식회사 아임토리 로봇 축 움직임 예측 모델을 통한 로봇 상태 진단 장치및 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6323616B1 (en) * 1999-03-15 2001-11-27 Berkeley Process Control, Inc. Self teaching robotic wafer handling system
WO2003022534A1 (fr) * 2001-09-07 2003-03-20 Kabushiki Kaisha Yaskawa Denki Apprentissage de la position d'une plaquette et montage d'apprentissage
US20040067127A1 (en) * 2002-10-07 2004-04-08 Hofmeister Christopher A. Substrate alignment system
KR20120044998A (ko) * 2003-03-11 2012-05-08 어플라이드 머티어리얼스, 인코포레이티드 웨이퍼 운반 로봇을 교정하기 위한 시각화 시스템 및 방법
JP2012231041A (ja) * 2011-04-27 2012-11-22 Hitachi High-Tech Control Systems Corp 基板搬送装置
JP2018012152A (ja) * 2016-07-20 2018-01-25 ファナック株式会社 ロボットの原点位置較正装置および方法
KR101957096B1 (ko) * 2018-03-05 2019-03-11 캐논 톡키 가부시키가이샤 로봇 시스템, 디바이스 제조 장치, 디바이스 제조 방법 및 티칭 위치 조정방법

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763276A (en) * 1986-03-21 1988-08-09 Actel Partnership Methods for refining original robot command signals
US5297238A (en) * 1991-08-30 1994-03-22 Cimetrix Incorporated Robot end-effector terminal control frame (TCF) calibration method and device
US6489741B1 (en) * 1998-08-25 2002-12-03 Genmark Automation, Inc. Robot motion compensation system
US6643563B2 (en) * 2001-07-13 2003-11-04 Brooks Automation, Inc. Trajectory planning and motion control strategies for a planar three-degree-of-freedom robotic arm
US7039498B2 (en) 2003-07-23 2006-05-02 Newport Corporation Robot end effector position error correction using auto-teach methodology
US20050228542A1 (en) * 2003-10-01 2005-10-13 Varian Semiconductor Equipment Associates, Inc. Auto-calibration method and device for wafer handler robots
US7792350B2 (en) 2003-11-10 2010-09-07 Brooks Automation, Inc. Wafer center finding
DE602005008271D1 (de) * 2004-10-25 2008-08-28 Univ Dayton Verfahren und system zum ermöglichen von erhöhter genauigkeit bei mehrfachverbundenen robotern durch berechnung der kinematischen robotermodellparameter
JP4098338B2 (ja) * 2006-07-20 2008-06-11 川崎重工業株式会社 ウェハ移載装置および基板移載装置
JP5126076B2 (ja) * 2009-01-08 2013-01-23 富士通株式会社 位置測定装置、成膜方法並びに成膜プログラム及び成膜装置
US8784033B2 (en) 2009-01-11 2014-07-22 Applied Materials, Inc. Robot systems, apparatus and methods for transporting substrates
US8397739B2 (en) 2010-01-08 2013-03-19 Applied Materials, Inc. N-channel flow ratio controller calibration
US9524020B2 (en) * 2010-10-12 2016-12-20 New York University Sensor having a mesh layer with protrusions, and method
US9158369B2 (en) * 2010-10-12 2015-10-13 Tactonic Technologies, Llc Sensors having a connecting frame and method for composite sensors
US9579788B2 (en) 2012-02-10 2017-02-28 Ascent Ventures, Llc Automated testing and verification of a robotic system
US10842461B2 (en) 2012-06-21 2020-11-24 Globus Medical, Inc. Systems and methods of checking registrations for surgical systems
US9293355B2 (en) * 2012-11-09 2016-03-22 Kabushiki Kaisha Yaskawa Denki Substrate transfer system and substrate processing system
JP5750472B2 (ja) * 2013-05-22 2015-07-22 株式会社安川電機 基板搬送ロボット、基板搬送システムおよび基板の配置状態の検出方法
US20170263478A1 (en) 2015-01-16 2017-09-14 Lam Research Corporation Detection System for Tunable/Replaceable Edge Coupling Ring
US10658222B2 (en) 2015-01-16 2020-05-19 Lam Research Corporation Moveable edge coupling ring for edge process control during semiconductor wafer processing
US11605546B2 (en) 2015-01-16 2023-03-14 Lam Research Corporation Moveable edge coupling ring for edge process control during semiconductor wafer processing
US10041868B2 (en) 2015-01-28 2018-08-07 Lam Research Corporation Estimation of lifetime remaining for a consumable-part in a semiconductor manufacturing chamber
US10014198B2 (en) 2015-08-21 2018-07-03 Lam Research Corporation Wear detection of consumable part in semiconductor manufacturing equipment
JP6468159B2 (ja) * 2015-10-15 2019-02-13 株式会社安川電機 搬送システムおよび搬送方法
US9881820B2 (en) 2015-10-22 2018-01-30 Lam Research Corporation Front opening ring pod
US20170115657A1 (en) 2015-10-22 2017-04-27 Lam Research Corporation Systems for Removing and Replacing Consumable Parts from a Semiconductor Process Module in Situ
US10124492B2 (en) 2015-10-22 2018-11-13 Lam Research Corporation Automated replacement of consumable parts using end effectors interfacing with plasma processing system
US10062599B2 (en) 2015-10-22 2018-08-28 Lam Research Corporation Automated replacement of consumable parts using interfacing chambers
US10985078B2 (en) 2015-11-06 2021-04-20 Lam Research Corporation Sensor and adjuster for a consumable
CN108369922B (zh) 2016-01-26 2023-03-21 应用材料公司 晶片边缘环升降解决方案
US10651015B2 (en) 2016-02-12 2020-05-12 Lam Research Corporation Variable depth edge ring for etch uniformity control
US10699878B2 (en) 2016-02-12 2020-06-30 Lam Research Corporation Chamber member of a plasma source and pedestal with radially outward positioned lift pins for translation of a substrate c-ring
US10438833B2 (en) 2016-02-16 2019-10-08 Lam Research Corporation Wafer lift ring system for wafer transfer
US11011353B2 (en) 2016-03-29 2021-05-18 Lam Research Corporation Systems and methods for performing edge ring characterization
US10312121B2 (en) 2016-03-29 2019-06-04 Lam Research Corporation Systems and methods for aligning measurement device in substrate processing systems
US10099377B2 (en) * 2016-06-29 2018-10-16 Applied Materials, Inc. Methods and systems providing misalignment correction in robots
JP6635888B2 (ja) 2016-07-14 2020-01-29 東京エレクトロン株式会社 プラズマ処理システム
JP2018054500A (ja) 2016-09-29 2018-04-05 東京エレクトロン株式会社 位置検出システム及び処理装置
JP6812224B2 (ja) 2016-12-08 2021-01-13 東京エレクトロン株式会社 基板処理装置及び載置台
US9947517B1 (en) 2016-12-16 2018-04-17 Applied Materials, Inc. Adjustable extended electrode for edge uniformity control
US10553404B2 (en) 2017-02-01 2020-02-04 Applied Materials, Inc. Adjustable extended electrode for edge uniformity control
JP6812264B2 (ja) 2017-02-16 2021-01-13 東京エレクトロン株式会社 真空処理装置、及びメンテナンス装置
US11404249B2 (en) 2017-03-22 2022-08-02 Tokyo Electron Limited Substrate processing apparatus
JP6656200B2 (ja) 2017-04-12 2020-03-04 東京エレクトロン株式会社 位置検出システム及び処理装置
KR102535916B1 (ko) 2017-04-26 2023-05-23 도쿄엘렉트론가부시키가이샤 플라즈마 처리 장치
US20180361579A1 (en) * 2017-06-20 2018-12-20 Michael Kelly Motion model synthesizer methods and systems
US11673275B2 (en) * 2019-02-08 2023-06-13 Yaskawa America, Inc. Through-beam auto teaching

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6323616B1 (en) * 1999-03-15 2001-11-27 Berkeley Process Control, Inc. Self teaching robotic wafer handling system
WO2003022534A1 (fr) * 2001-09-07 2003-03-20 Kabushiki Kaisha Yaskawa Denki Apprentissage de la position d'une plaquette et montage d'apprentissage
US20040067127A1 (en) * 2002-10-07 2004-04-08 Hofmeister Christopher A. Substrate alignment system
KR20120044998A (ko) * 2003-03-11 2012-05-08 어플라이드 머티어리얼스, 인코포레이티드 웨이퍼 운반 로봇을 교정하기 위한 시각화 시스템 및 방법
JP2012231041A (ja) * 2011-04-27 2012-11-22 Hitachi High-Tech Control Systems Corp 基板搬送装置
JP2018012152A (ja) * 2016-07-20 2018-01-25 ファナック株式会社 ロボットの原点位置較正装置および方法
KR101957096B1 (ko) * 2018-03-05 2019-03-11 캐논 톡키 가부시키가이샤 로봇 시스템, 디바이스 제조 장치, 디바이스 제조 방법 및 티칭 위치 조정방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230128158A (ko) * 2022-02-25 2023-09-04 공주대학교 산학협력단 복합재로 이루어진 로봇 암의 설계 장치 및 이를 이용한 로봇 암의 설계 방법

Also Published As

Publication number Publication date
JP2022191211A (ja) 2022-12-27
WO2020210701A1 (en) 2020-10-15
CN113661034B (zh) 2023-01-10
JP7128367B2 (ja) 2022-08-30
KR102577561B1 (ko) 2023-09-11
US11279032B2 (en) 2022-03-22
CN113661034A (zh) 2021-11-16
TWI778348B (zh) 2022-09-21
TW202304674A (zh) 2023-02-01
US20200324410A1 (en) 2020-10-15
TW202100325A (zh) 2021-01-01
JP2022518980A (ja) 2022-03-17
CN116197933A (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
KR102577561B1 (ko) 로봇들의 관절 좌표 티칭 정확도를 향상시키기 위한 장치, 시스템들 및 방법들
KR20090023313A (ko) 카메라를 이용한 로봇 교정 방법 및 시스템
KR102545086B1 (ko) 오토티치 인클로저 시스템
KR20230038598A (ko) 웨이퍼를 스핀하는 프로세스 모듈의 스테이션에 대한 자동-캘리브레이션
US20240051144A1 (en) Centerfinding for a process kit or process kit carrier at a manufacturing system
JP2022546251A (ja) 処理システムのアライナステーションの較正
US20230238266A1 (en) Integrated substrate measurement system
US11749543B2 (en) Chamber matching and calibration
US20240170312A1 (en) Determining a substrate location threshold based on optical properties
US11705374B2 (en) Substrate processing method and substrate processing apparatus
US20230283086A1 (en) Enclosure system with charging assembly
US20240069537A1 (en) Substrate placement optimization using substrate measurements
EP4367714A1 (en) Method and mechanism for contact-free process chamber characterization

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant