机器人系统控制的制作方法

文档序号:2337771阅读:156来源:国知局
专利名称:机器人系统控制的制作方法
技术领域
本发明涉及机器人系统,更特别地,涉及机器人系统的控制方案。
背景技术
现代制造系统通常使用机器人对处理进行自动化。这些机器人系统可以提供很多好处,如增加产量和精度。在半导体制造中,机器人系统使制造复杂的电子设备成为可能。由于半导体制造系统所需的极高成本以及最终产品的价值,这些系统的一个关键目标是吞吐量的最大化。
发明概要根据本发明,提供机器人系统控制的技术。根据特殊实施例,与现有技术相比,这些技术能增加机器人系统的吞吐量。
根据在制造系统中计算机器人的控制时间表的特殊实施例,一种方法用于确定制造处理中各步骤的操作特性,所述操作特性包括用于在多个处理站之间移动的机器人移动矩阵及每个处理站的处理时间。所述方法进一步确定多个控制时间表,每一个控制时间表详述机器人在处理站之间移动晶片(matrix)的处理、使用操作特性确定每个控制时间表的适合度,并根据对每个控制时间表确定的适合度对控制时间表进行配对以创建控制时间表的结果代(generation)。所述方法对多个结果代重复适合度确定及匹配,然后基于适合度从最后一个结果代中选择控制时间表。所述方法使用选择的控制时间表操作机器人。
本发明的实施例提供各种技术优点。这些技术在实施得当时可以提高机器人系统的生产率。由于制造出的晶片价值很高,即使是在平均处理时间中很小的改进也能随着时间推移很大地提高盈利能力。再者,特定实施例提供机器人系统的自调节以响应测量到的操作特性。这潜在地能带来更高的生产率增长。
通过下述图表、说明和权利要求,熟悉相关技术的人将容易地理解本发明的其他技术优点。再者,虽然上面列举了特定的优点,各种实施例可以包括上述优点中的所有、部分或不包括它们。


为了更加完整地理解本发明及其优点,现引用下述说明及附图进行说明。附图包括图1展示包含根据本发明的特殊实施例进行操作的机器人单元及控制器的制造系统;图2为示意图,展示由控制器执行的交换(crossover)操作;图3为流程图,展示控制器在确定机器人的控制时间表时的典型操作;图4为示意图,展示由控制器执行的另一交换操作;图5为示意图,展示由控制器执行的变异操作;图6为方框图,展示自制造系统中的控制器;及图7为数据流图,展示制造系统的元件之间的信息交换。
附图的详细描述图1为方框图,展示有机器人单元的制造系统,机器人单元以编号10表示,机器人单元包括系统控制器12、机器人14,及一组可由机器人14访问的阶段。这些阶段包括输入16、处理站18,及输出20。总的来说,单元10提供如半导体晶片这样的类似部件的重复性生产。为了控制操作,控制器12计算设计用于最大化吞吐量的控制时间表并向机器人14提供所述时间表。根据特殊的实施例,控制器12可以监控单元10的操作并动态地重新计算所述控制时间表以进一步提高吞吐量。
在所示实例中,单元10为m-阶段流水线。即,单元10包括m个处理站18,而在站18上或在其间没有缓冲。机器人14表示在站18之间传输零件的材料处理设备。在操作中,控制器12尝试找到最大化吞吐量的机器人移动序列,这等价于最小化每单元循环时间(此后称为“循环时间”)或最小化稳定状态下制造一个零件的平均时间。
虽然单元10试图包括对机器人14和站18的任何适合安排计算控制时间表的控制器12,本说明集中于机器人系统的三种特定配置·单元在每个处理站有一个处理单元。
·单元在一些处理站上有多个相同的处理单元(其中处理步骤可以由该站上的多个处理单元中的任何一个执行)。
·单元有用于在一些成对的相邻处理站之间快速传输零件的本地材料处理设备。这将机器人的部分工作量转移到本地材料处理设备。
图1展示第二种类型的系统,在其中选择的站18有多个相同的处理单元。在此图例中,第一个站18(标记为S1)仅包括一个处理单元;第二个站18包括两个相同的处理单元(标记为S2,1和S2,2);及第三个站18包括三个相同的处理单元(标记为S3,1、S3,2和S3,2)。由于输入16可以被视为初始阶段,它被标记为S0。类似地,由于输出20可以被视为最终阶段,它被标记为Sm+1。
由于半导体制造广泛地依赖于机器人系统,下面的说明将集中于晶片制造处理的控制方案的使用。然而,所揭示的技术可以适合于开发如产品或零件制造系统这样的各种其他类型的系统控制应用的控制方案。在半导体制造处理中,机器人14从站18之间的传送器上卸载晶片,并将其装载到站18上。
例如,在3-站机器人单元中,每个晶片通过同样的位置序列,来自输入盘(I),通过站S1、S2和S3,并最后到输出盘(O),如在经典的流水线中那样。在其卸载站上的晶片之后,机器人或等待处理完成,或在该晶片结束处理时移动到另一个站以卸载另一个近旁,或移动到输入盘以取得一个新的晶片。单元中的任何晶片总是或者在一个站上或者正由机器人处理。站和机器人在任何时间都不能处理一个以上的晶片。进一步来说,晶片在站上的处理是不可打断的。
为了提供稳定状态操作,单元10可以使用机器人移动的循环时间表。在机器人移动的循环时间表中,状态的同一序列可以不断地被重复。这样的时间表中的循环开始于任何给定状态并且在下一此遇到该状态时结束。对时间上的给定瞬间,单元10的状态由下述指定一系列正在处理的晶片、这些晶片的每一个所处的地方(在特殊位置的机器人14上或在一个站18上)、在每个站18上对当前处理的每个晶片确切地还有多少剩余工作量,及机器人14的位置。
在循环时间表的每个循环中,将完成一个或多个晶片的处理。如果在一个循环中生产q个晶片,我们称该循环为q-单元循环。在此情况下,每单元循环时间(T)等于生产q个晶片所需的总时间除以q。我们限制我们的讨论为循环时间表并且我们研究系统在各种循环调度选项下的稳定状态操作。在这些条件下,吞吐量等于1/T。
符号本说明将使用下列符号S1,...,Sm机器人单元的处理站,其中下标的顺序与晶片处理序列的顺序相同。在此,站Si和Si+1为相邻的站。
I输入盘。在此将I视为站S0。
O输出盘。在此将O视为站Sm+1。
pi晶片在站Si,i=1,2...,m的处理时间。
li机器人装载晶片到站Si,i=1,2...,m上所需的时间。
lm+1机器人在O上放下晶片所需的时间。
u0机器人在I上取得晶片所需的时间。
ui机器人从站Si,i=1,2...,m上卸载晶片所需的时间。
Si-表示机器人装载晶片到站Si上的动作,及晶片在Si,i=1,2...,m上被装载的时刻。
Sm+1-表示机器人在O上放下晶片的动作及其对应的时刻,如上所述。
Si+表示机器人从站Si上卸载已处理的晶片的动作,及从Si,i=1,2...,m上卸载晶片的对应时刻。
S0+表示机器人在I上取得晶片的动作及其对应的时刻,如上所述。
E=(χ1,...,χm,Shj):]]>当前的系统状态,其中如果站Si为空则χi=φ,且如果Si由晶片占据,则它等于Ω。如果j=-(相应地,+),则机器人正好装载(相应地,卸载)站Sh,0≤h≤m+1。
wi机器人在站Si,i=1,2...,m上卸载晶片之前的等待时间。
为当机器人带着晶片移动时的机器人移动时间矩阵,其中机器人从Si到Sj的移动时间在此情况下表示为ti,j,i=0,1,...,m,m+1且j=0,1,...,m,m+1。
类似地, 为当机器人没有带着晶片移动时的机器人移动时间矩阵,其中ti,j′表示没有携带晶片的机器人在站Si和Sj之间的移动时间。
单个单元的机器人单元(SURC)
单个单元的机器人单元是上述第一种类型的系统。它在每个站18有一个处理单元。对生产一种产品类型的、有m个站的SURC来说,有m!个一单元循环(循环时间表)。因此甚至对相对少的站18的数目,潜在的一单元循环的数目是巨大的,且从潜在的循环集合中确定最优循环所需的处理时间也令人生畏。例如,给定20站单元及潜在循环1ms的分析时间,也需要70,000年的处理时间来确定最优时间表。
下面的说明涉及控制器12搜索潜在地最优的一单元循环的操作。和SURC相关的部分说明SURC的一单元机器人循环、这些循环的循环时间的推导、计算近似最优解的元启发式方法,及基于计算研究的典型结果。
一单元循环在一单元循环中,单元在生产每个晶片后返回相同的状态。因此,在这样的循环中,所有的装载动作,Si-,i=1,2...,m+1,及所有的卸载动作,Si+,i=0,1,2...,m,都精确地执行一次。由于站的卸载动作Si+蕴涵后续站的装载动作Si+1-,我们只需要m+1个动作,Si-,i=1,2...,m+1以定义一单元循环。Sm+1-是方便开始该循环的地方。由于Sm+1-意味着Sm+,考虑下述m+1个基本动作Sm+,Si-,S2-,...,Sm-。任何两个连接的动作唯一地确定机器人在那些动作之间的移动。因此,循环可以由m个动作S1-,S2-,...,Sm-的排列唯一地描述。在最优循环中,我们尝试确保机器人移动路径尽可能地短。下面是m=2时的一单元机器人移动循环C1,2:{S2+,S1+,S2-,S2+}--C2,2:{S2+,S2-,S1-,S2+}]]>通过跟踪C2,2中基本动作的序列,我们简要地解释循环C2,2,C2,2中基本动作的序列开始于S2+的发生。很快这将变得清晰此循环开始的初始状态如下机器人正好从S2卸载晶片S1且S1由晶片P2占据。机器人移动序列包括下面的动作移动到O、将P1放置在O、移动到S1,如果需要则等待P2在S1处理完毕、从S1卸载P2、移动到S2、在S2上装载P2、移动到I、在I取得晶片P3、移动到S1、在S1上装载P3、移动到S2、如果需要则等待P2在S2处理完毕、从S2卸载P2。
对m=3有6个机器人移动循环,如下所示
C1,3:{S3+,S1-,S2-,S3-,S3+}--C2,3:{S3+,S1-,S3-,S2-,S3+}]]>C3,3:{S3+,S3-,S1-,S2-,S3+};C4,3:{S3+,S2-,S3-,S1-,S3+}]]>C5,3:{S3+,S2-,S1-,S3-,S3+}--C6,3:{S3+,S3-,S2-,S1-,S3+}]]>通过跟踪C4,3中基本动作的序列,我们简要地解释循环C4,3,C4,3中基本动作的序列开始于S3+的发生。很快这将变得清晰此循环开始的初始状态如下机器人正好从S3卸载晶片(如P1),S1上有晶片(如P2),且S2空闲。循环包括下面的机器人动作机器人移动到O、将P1放置在O、移动到S1,如果需要则在S1处等待P2在S1处理完毕、从S1卸载P2、移动到S2、在S2上装载P2、在S2等待晶片P2处理完毕、从S2卸载P2、移动到S3、在S3上装载P2、移动到I、在I取得晶片(如P3)、移动到S1、在S1上装载P3、移动到S3、如果需要则在S3等待P2在S3处理完毕、从S3卸载P1。
类似地,对m=4有24个机器人移动循环C1,4:{S4+,S1-,S2-,S3-,S4-,S4+}--C2,4:{S4+,S1-,S2-,S4-,S3-,S4+}]]>C3,4:{S4+,S1-,S4-,S2-,S3-,S4+}--C4,4:{S4+,S4-,S1-,S2-,S3-,S4+}]]>C5,4:{S4+,S1-,S3-,S2-,S4-,S4+}--C6.4:{S4+,S1-,S3-,S4-,S2-S4+}]]>C7,4:{S4+,S1-,S4-,S3-,S2-,S4+}--C8,4:{S4+,S4-,S1-,S3-,S2-,S4+}]]>C9,4:{S4+,S3-,S1-,S2-,S4-,S4+}--C10,4:{S4+,S3-,S1-,S4-,S2-,S4+}]]>C11,4:{S4+,S3-,S4-,S1-,S2-,S4+}--C12,4:{S4+,S4-,S3-,S1-,S2-,S4+}]]>C13,4:{S4+,S2-,S3-,S1-,S4-,S4+}--C14,4:{S4+,S2-,S3-,S4-,S1-,S4+}]]>C15,4:{S4+,S2-,S4-,S3-,S1-,S4+}--C16,4:{S4+,S4-,S2-,S3-,S1-,S4+}]]>C17,4:{S4+,S2-,S1-,S3-,S4-,S4+}--C18,4:{S4+,S2-,S1-,S4-,S3-,S4+}]]>C19,4:{S4-,S2-,S4-,S1-,S3-,S4+}--C20,4:{S4+,S4-,S2-,S1-,S3-,S4+}]]>C21,4:{S4+,S3-,S2-,S1-,S4-,S4+}--C22,4:{S4+,S3-,S2-,S4-,S1-,S4+}]]>C23,4:{S4+,S3-,S4-,S2-,S1-,S4+}--C24,4:{S4+,S4-,S3-,S2-,S1-,S4+}]]>在循环时间表中,对给定的循环,可按如下推导出循环时间。
SURC循环时间的推导为了推导生产循环的循环时间表达,我们如上述通过E=(χ1,...,χm,Shj)]]>定义系统的状态。此状态空间表示足以导出循环时间。现在我们考虑有两个站的单元并展示在此情况如何对两种可能的循环时间表计算循环时间C1,2和C2,2(见上述说明)。
开始于初始状态E=(φ,φ,S2+),]]>其中机器人正好从S2卸载了晶片且S1为空,一单元循环C1,2包括下面的动作移动到O(t2,3)、放下晶片(13)、移动到I(t3,0′)、取得晶片(如P)(u0)、移动到S1(t0,1)、装载(11)、等待直到P在S1处理完毕(p1)、卸载(u1)、移动到S2(t1,2),及装载(l2)、等待直到P在S2处理完毕(p2)、卸载(u2)。因此,C1,2的循环时间T1,2可以写为T1,2=t2,3+l3+t3,0′+u0+t0,1+l1+p1+u1+t1,2+l2+p2+u2开始于初始状态E=(Ω,φ,S2+),]]>其中机器人正好从S2卸载了晶片且S1为空,一单元循环C2,2包括下面的动作移动到O(t2,3)、放下晶片(l3)、移动到S1(t3,1′)、如果需要等待直到晶片在S1处理完毕(w1)、卸载(u1)、移动到S2(t1,2),及装载(l2)、移动到It2,0′、取得晶片(u0)、移动到S1(t0,1)装载(11)、移动到S2(t1,2′)、如果需要等待直到晶片处理完毕(w2)、卸载(u2)。因此,C2,2的循环时间T2,2可以写为T2,2=t2,3+l3+t3,1′+w1+u1+t1,2+l2+t2,0′+u0+t0,1+l1+t1,2′+w2+u2如果当机器人来卸载它时晶片仍然在被处理,那么机器人必须等待晶片。因此,对下面问题的解(T2,2,w1,w2)将定义在循环C2,2下操作的SURC对给定单元数据的状态条件T2,2=t2,3+l3+t3,1′+w1+u1+t1,2+l2+t2,0′+u0+t0,1+l1+t1,2′+w2+u2w1=max{0,p1-t1,2′-w2-u2-t2,3-l3-t3,1′}w2=max{0,p2-t2,0′-u0-t0,1-l1-t1,2′}在此情况,能够简单地找到解(T2,2,w1,w2)。注意w2的解可以从w2的公式获得。然后通过将w2代入w1的公式,我们获得w1的解。最后,可以通过代入w1和w2到T2,2的循环时间公式来确定T2,2。如下所示,循环时间计算并不总是简单的。因此,我们提出线性规划方法以对任何给定的一单元循环有效地搜索稳定解。考虑一单元循环C6,3(见上文)。
开始于初始状态E=(Ω,Ω,φ,S2+),]]>其中机器人正好从S3卸载了晶片且S1和S2由晶片占据,一单元循环C6,3包括下面的动作移动到O(t3,4)、放下晶片(l4)、移动到S3(t4,2′)、如果需要等待直到晶片在S2处理完毕(w2)、卸载(u2)、移动到S3(t2,3),及装载(l3)、移动到S1(t3,1′)、如果需要等待直到晶片在S1处理完毕(w1)、卸载(u1)、移动到S2(t1,2),及装载(l2)、移动到It2,0′、取得晶片(u0)、移动到S1(t0,1)装载(l1)、移动到S3(t1,3′)、如果需要等待直到晶片在S3处理完毕(w3)、卸载(u3)。因此,C6,3的循环时间T6,3可以写为T6,3=t3,4+l4+t4,2′+w2+u2+t2,3+l3+t3,1′+w1+u1+t1,2+l2+t2,0′+u0+t0,1+l1+t1,3′+w3+u3注意对下面问题Q的解(T6,3,w1,w2,w3)将定义在循环C6,3下操作的SURC对给定单元数据的状态条件问题QT6,3=t3,4+l4+t4,2′+w2+u2+t2,3+l3+t3,1′+w1+u1+t1,2+l2+t2,0′+u0+t0,1+l1+t1,3′+w3+u3w1=max{0,p1-t1,3′-w3-u3-t3,4-l4-t4,2′-w2-u2-t2,3-l3-t3,1′}w2=max{0,p2-t2,0′-u0-t0,1-l1-t1,3′-w3-u3-t3,4-l4-t4,2′}w3=max{0,p3-t3,1′-w1-u1-t1,2-l2-t2,0′-u0-t0,1-l1-t1,3′}很明显对下述线性规划的解提供问题Q的稳定状态解。
线性规划Min T6,3=t3,4+l4+t4,2′+w2+u2+t2,3+l3+t3,1′+w1+u1+t1,2+l2+t2,0′+u0+t0,1+li+t1,3′+w3+u3S.t w1≥p1-t1,3′-w3-u3-t3,4-l4-t4,2′-w2-u2-t2,3-l3-t3,1′w2≥p2-t2,0′-u0-t0,1-l1-t1,3′-w3-u3-t3,4-l4-t4,2′w3≥p3-t3,1′-w1-u1-t1,2-l2-t2,0′-u0-t0,1-l1-t1,3′w1,w2,w3≥0因此,对给定的机器人移动循环,我们通过对所述线性规划求解确定稳定状态解。
SURC的遗传算法根据特殊实施例,控制器12使用进化处理来确定机器人14的最优或近似最优控制时间表。即,控制器12应用遗传算法(GA)来“获得”更好的控制时间表。对SURC调度问题,控制器12视装载的站18的序列为染色体(候选时间表或解)。例如,对有6个站的单元,对应于机器人移动循环的染色体{S6+,S3-,S2-,S1-,S4-,S6-,S5-,S6+}]]>为321465。这些染色体为总体的成员。每个染色体由其适合度来表征(判断)。控制器12通过关联的循环时间值(如上述由所述线性规划计算)测量染色体的适合度。控制器12迭代地处理总体的成员,每次新的迭代称为新的一代。
控制器12使用下述参数用于SURC问题中解的进化原种分数(ef)、总体大小(ps)、双亲交换的概率(pc)、变异的概率(pm)及代数(ngen)。再者,当处理染色体时,如146235,不同的保持位置被称为等位基因。因此,该序列中的第二个等位基因有值为4,这意味着“装载站S4”(S4-)。在应用这些参数时,控制器12尝试平衡解空间的探索和中途产生的好的解或序列的特性的利用。虽然不同参数的特殊值可以在不同程度上影响操作,使用下述值的范围中的数字,控制器可能得到适合的操作ps=100,pc=0.95、pm=0.1及ef=0.25。然而,虽然提供了特定的值,控制器12可以在操作中对这些参数使用任何适当的值。
控制器12在分析中使用选择处理。控制器12使用选择以尝试最小化循环时间。控制器使用选择以扩展总体中的高适合度并从总体中消除较弱的染色体,保持搜索指向循环时间的最小化。根据特殊实施例,控制器12通过在总体中确定原种(有更好适合度解的染色体)并然后根据其相对适合度复制它们来执行选择。参数ef(原种分数)控制总体多大的上部分数被视为原种。
图2展示用于配对成对的作为染色体表示的控制时间表以产生后代的交换操作。在所示的操作中,控制器12执行父代A(由30表示)和父代B(由32表示)之间的交换操作。因为控制器12尝试产生控制时间表,应实现交换以防止创建出不可行的解(装载的站的序列)。所示的交换技术满足了此限制。
在机器人单元调度问题中,染色体中的每个等位基因时1和m之间唯一的一个整数。对m=8,双亲的例子为14326578和62513487。父代A和父代B的交换展示了单交换。通过这些双亲,控制器12产生两个后代,A和B,各自由34和36表示。首先,控制器12随机地选择一个交换点。在所示的例子中,控制器12选择了第五个等位基因,如38和40所示。然后,控制器12按顺序从父代A中填充后代A的前5个等位基因。类似地,控制器12按顺序从父代B中填充后代B的前5个等位基因。通过使用站5-8-7以来自父代B的顺序填充余下的三个位置,控制器12完成后代A。类似地,通过使用站4-7-8以来自父代A的顺序填充余下的三个位置,控制器12完成后代B。
在产生后代之后,控制器12潜在地变异产生的后代。变异允许新解的出现以增加发现更好的解的机会。根据特殊的实施例,如果控制器12确定变异后代,那么它使用任意两个等位基因交换的变异。即,控制器12使两个等位基因交换位置。这些位置不必相邻,因为它们是随机选取的。考虑染色体14326587的变异,在其中控制器随机选取两个位置-第二个和第五个等位基因。通过变异,染色体变为16324587。然而,虽然在上面提供了选择、交换和变异的特殊技术,单元10包括使用任何适用于执行这些操作的技术的控制器12。
图3为流程图,展示控制器12在确定由机器人14使用的控制时间表时的典型操作。在执行此技术时,控制器12对0代产生ps个装载站的随机序列并对解的总体进行给定数目(ngen)代的进化。在此进化中,控制器12保持总体大小恒定在为ps的预定值并追踪在每一代发现的最优解。对此说明,发现的所有最优序列用σ*表示,且对应的适合度值用f*表示。σij为j代中的第i个序列且对应的适合度值为fij。
控制器12在步骤50初始化最优化参数。例如,控制器12可以确定ps、pc、pm、ef、ngen的值并设j=0且f=M,M为很大的数。控制器12在步骤52产生控制时间表的总体。例如控制器可以对j代产生ps个装载的站的随机序列,σij,i=1,...,ps。然后控制器在步骤54对每个控制时间表确定适合度。例如,控制器112可以使用如上详述的线性规划来找出j代中的每个序列σij的适合度值(即,稳定状态循环时间)。
基于已确定的适合度水平,控制器12对控制时间表排序。例如,控制器12可以对j代中的所有序列以其适合度值按升序排列。使用已确定的适合度水平,控制器12在步骤58确定当前代中最适合的控制时间表是否是目前碰到的最好的(最适合的)控制。如果是,控制器12在步骤60设置当前最好的控制时间表等于当前代中最适合的那一个。无论是否在步骤58选择了最适合的时间表,控制器12在步骤62确定当前代是否是最后一代。如果是,控制器在步骤64向机器人14提供当前最好的控制时间表。
然而,如果这不是最后一代,控制器12创建新的一代进行分析。为了创建新的一代,控制器12首先在步骤66从总体中丢弃非原种控制时间表。例如,控制器12可以保留j代的总体的ef上部分数部分并从总体中去除其他部分。然后控制器12在步骤68复制选择的原种控制时间表以填充总体。在此步骤,控制器12可以根据其相对适合度复制选择的序列以使得总体中序列的总数仍然为ps。
然后控制器12在步骤70匹配总体以创建新的一代。为了匹配总体的成员,例如,控制器12根据它们的适合度随机地选择j代中的两个控制时间表并对选择的控制时间表执行交换以获取两个后代。通过执行此操作ps/2次,控制器创建了新一代的控制时间表,其总体大小为ps。在创建新的一代后,控制器12在步骤72潜在地变异新一代的成员。例如,使用变异概率,控制器12可以确定特殊的控制时间表并对这些时间表进行变异。
在创建新的一代后,控制器12在步骤54到60再次确定总体的适合度并潜在地从总体中选择最适合的。重复此过程直到控制器12在步骤62确定最后一代。因此,流程图和前面的说明对控制器12在使用遗传算法计算控制时间表时的操作进行了概述。然而,流程图和所附的说明仅展示了操作的典型方法,并且单元10包括使用任何适用于此分析的技术及元件的控制器12。因此,此流程图中的很多步骤可以同时发生并/或以不同于所示的顺序发生。另外,控制器12可以使用有附加步骤、更少的步骤,和/或不同的步骤的方法,只要这些方法适合。
SURC的计算研究根据特殊的实施例,控制器12实现“最长等待配对”(LWP)调度算法来控制机器人14的操作。对最长等待配对调度,控制器12追踪(a)在站18完成并等待移动的晶片,及(b)等待接收晶片的空站18。控制器12选择有对服务的最长总等待时间的晶片和站组合。可以用随机的情况分析比较使用所述遗传算法的有效性和最长等待配对调度的有效性。
我们使用遗传算法与最长等待配对调度比较对20个随机产生的问题分析了控制器12的结果。对四个不同的m值产生随机的问题,四个值是m=8、12、16和20。对每个m,随机产生5个不同的问题。对所有的站,处理时间是使用均匀分布随机产生的。根据使其接近现实的方式来确定此分布的范围。表1展示了随机产生的问题的结果。

表1使用GA比LWP在SURC随机问题上的提高生产的晶片数按如下计算

在表中,当考虑每次切换为8小时长时,晶片数/切换=(晶片数/小时×8),且使用GA比LWP

在每行中,最大、平均和最小列分别展示在5个对该行随机产生的问题中的最大、平均和最小值。类似地计算出平均CPU时间。
在半导体背景中,晶片的制造成本很高。因此,吞吐量中即使只是很小的提高也能带来收入本质上的提高。表1示出平均晶片数/切换的提高(4.6到8.3晶片/切换)对所有不同的问题实例来说都是很大的。平均的提高百分比在2-4%之间。
多单元机器人单元(MURC)图1展示了多单元机器人单元,第二个和第三个站的每一个都有处理单元的多个实例。因此,在多单元机器人单元中,一些站有多个相同的处理单元以提高吞吐量。如果一些站有高的处理时间,那么使用多处理单元时获取吞吐量提高的有效方法。由于不同于单个单元的机器人单元,下面的说明使用一些附加的符号来表示有多个处理单元的站18。Si,ji表示站Si的第j个单元,其中i=1,...m;ji=1,...vi。vi表示站Si的多个相同的处理单元的数量。
对多单元机器人单元,潜在的一单元循环的数量增长得比单个单元的机器人单元快得多。考虑包含由三个不同的站S1、S2、S2执行的三个顺序操作的制造处理。执行操作的单元包括在站S2的两个相同的处理单元(称为S2,1和S2,2)及S1和S3每个的一个单元。由于我们总共有4个处理单元,总共有4!=24个一单元循环。然而,一些循环是不可行的。考虑,例如,循环{S3+,S2,1-,S2,2-,S1-,S3-,S3+}]]>是不可行的,因为在第二个站的处理单元S2,1和S2,2上进行晶片的连续装载是不可能的。为了避免不可行的循环,控制器12的特殊实施例在分析中使用称为最小公倍数循环(LCM-单元循环)的机器人移动循环,其中LCM等于vi,i=1,...,m的最小公倍数(LCM)。
最小公倍数(LCM)单元循环在我们构建LCM单元循环的方法中,我们主要考虑和SURC的一单元循环关联的机器人移动序列。一单元循环可以由机器人单元的状态序列来指定。例如,考虑一单元循环C10,4:{S4+,S3-,S1-,S4-,S2-,S4+},]]>其中m=4。由于状态的此序列唯一地定义所需的机器人移动序列,我们也应使用C10,4来表示和循环关联的机器人移动序列。通过一单元机器人移动序列Cx,y获取的LCM-单元循环由Γx,y表示。LCM单元循环由n个近似相同的一单元机器人移动序列以下述方式连接而成,其中n为LCM vi,i=1,...,m。即,Γx,y为机器人移动序列,在其中序列Cx,y准确地连续重复其自身n次。考虑m=4、v1=3、v2=2、v3=1、v4=2的例子。这样v1、v2、v3和v4的LCM(n)为6。现在我们提供对应于一单元循环C10,4的LCM单元循环{S4+,S3-,S1-,S4-,S2-,S4+}.]]>通过它,我们可以按如下构建关联的LCM单元循环Γx,yΓx,y={C10,41,C10,42,C10,43,C10,44,C10,45,C10,46},]]>其中C10,41={S4,1+,S3,1-,S1,1-,S4,1-,S2,1-}]]>C10,42={S4,2+,S3,1-,S1,2-,S4,2-,S2,2-}]]>C10,43={S4,1+,S3,1-,S1,3-,S4,1-,S2,1-}]]>C10,44={S4,2+,S3,1-,S1,1-,S4,2-,S2,2-}]]>C10,44={S4,1+,S3,1-,S1,2-,S4,1-,S2,1-}]]>C10,46={S4,2+,S3,1-,S1,3-,S4,2-,S2,2-}]]>为了准确地定义LCM单元循环,如果在一个站18上有多个处理单元,那么我们指定通过其机器人卸载晶片的处理单元。如果站18有多个处理单元,那么最早装载的处理单元在该站被卸载(译者注疑为进行卸载)。例如,C10,42中的S3,1-,意味着机器人在站S3装载处理单元1。为了执行此动作,机器人通过在站S2最早装载的处理单元卸载晶片。
考虑另一个例子,其中m=3、v1=1、v2=2、v3=3。这样v1、v2和v3的LCM(n)为2且n=2。现我们提高对应于一单元循环C4,3的LCM单元循环{S3+,S2-,S3-,S1-,S3+}.]]>通过此一单元循环,我们可以按如下构建关联的LCM单元循环Γx,y:Γx,y={C4,31,C4,32},]]>其中C4,31={S3,1+,S2,1-,S3,1-,S1,1-},]]>C4,32={S3,2+,S2,2-,S3,2-,S1,1-}]]>通过跟踪Γx,y中基本动作的序列,我们简要地解释LCM单元循环Γx,y,Γx,y中基本动作的序列开始于S3,1+的发生。很快这将变得清晰此循环开始的初始状态如下机器人正好从S3,1卸载晶片(如P1),S1,1上有晶片(如P4),S2,2上有晶片(如P3),S3,2上有晶片(如P2),且S2,1空闲。循环包括下面的机器人动作机器人移动到O、将P1放置在O、移动到S1,1,如果需要则在S1,1处等待P4在S1,1处理完毕、从S1,1卸载P4、移动到S2,1、在S2,1上装载P4、移动到S2,2、如果需要在S2,2处等待晶片P3在S2,2上处理完毕、从S2,2卸载P3、移动到S3,1、在S3,1上装载P3、移动到I、在I取得晶片(如P5)、移动到S1,1、在S1,1上装载P5、移动到S3,2、如果需要则在S3,2等待P2在S3,2处理完毕、从S3,2卸载P2、移动到O、将P2放置在O、移动到S1,1,如果需要则在S1,1处等待P5在S1,1处理完毕、从S1,1卸载P5、移动到S2,2、在S2,2上装载P5、移动到S2,1、如果需要在S2,1处等待晶片P4在S2,1上处理完毕、从S2,1卸载P4、移动到S3,2、在S3,2上装载P4、移动到I、在I取得晶片(如P6)、移动到S1,1、在S1,1上装载P6、移动到S3,1、如果需要则在S3,1等待晶片P3在S3,1处理完毕、从S3,1卸载P3。
MURC的循环时间推导类似于SURC,区别在于前者使用LCM单元循环而后者使用一单元循环。在此, MURC的遗传算法根据特殊的实施例,控制器12使用类似于上述对单个单元的机器人单元说明的进化处理以在多单元机器人单元中确定机器人14的最优或近似最优控制时间表。在多单元机器人单元的情况下,染色体以与上面对单个单元机器人单元所述相同的方式表示信息。例如,机器人移动循环{S4+,S3-,S1-,S4-,S2-,S4+}]]>的染色体为3142。然而,与单个单元的机器人单元不同,染色体的适合度(即,循环时间)通过从对应于该染色体的一单元循环构建关联的LCM单元循环来测量。因此,对多单元机器人单元,控制器12应用类似于对单个单元的机器人单元所使用的遗传算法。然而,在分析每个染色体的适合度时,控制器12使用关联的LCM单元循环来分析多单元机器人单元的适合度,而使用线性规划来分析单个单元的机器人单元。
MURC的计算研究对计算研究,我们使用与上述对表1所用相同的随机问题,但在一些站18上增加了处理单元的数量。为了增加吞吐量,处理单元的数量应增加到瓶颈站18。因此,使用下述公式vi=(pi*期望吞吐量)粗略地计算站Si(vi)上处理单元的数量。在实践中,期望吞吐量时客户请求的所需输出速率。表2展示了随机生成的问题的结果。

表2使用GA比LWP对随机数据集在MURC上的提高连接的多单元机器人单元(LMURC)为了提高单元10的吞吐量,可以通过在那些站18之间传输晶片的本地材料处理设备连接一些相邻的站18。因此,机器人14不必执行这些特定的传输。如果两个站18以此方式连接,则它们由相同数量的处理单元。即,配对中第一个站18的每个处理单元与配对中第二个站18的对应处理单元连接。在其吞吐量速率由机器人14的能力所限制时,单元10可以实现连接的多单元机器人单元。通过连接选择的站18,可以减少机器人14的工作量。
如果本地材料处理设备从站Si到Si+1传输已处理的晶片,则两个站Si和Si+1被称为连接的配对。在此情况,机器人14不需要从站Si到Si+1传输已处理的晶片。从我们对单元10的分析,我们假设如果从站Si到Si+1是连接的,那么站Si+1和Si+2(及Si+1和Si)不是连接的。
作为单元10在连接的多单元机器人单元配置中的例子,考虑m=4、在每个站18有一个处理单元且站S2和S3是连接的这样的单元10。在此情况,站S2和S3之间的材料处理由集成的材料处理设备来执行,且机器人14不需要在连接的站18之间执行材料处理操作。因此,连接的配对的第二个站18(S3)上的装载操作不出现在机器人移动循环中。如果每个站18包括一个处理单元,那么有6个一单元循环,如下所示C1,4′:{S4+,S1-,S2-S4-,S4+}--C2,4′:{S4+,S1-,S4-S2-,S4+}]]>C3,4′:{S4+,S4-,S1-S2-,S4+}--C4,4′:{S4+,S2-,S4-S1-,S4+}]]>C5,4′:{S4+,S2-,S1-S4-,S4+}--C1,4′:{S4+,S1-,S2-S4-,S4+}]]>注意S3-(在连接的配对的第二个站上进行装载)未出现在上面的任何一个循环中。如果这些站18的部分有多个相同的处理单元,那么LCM单元循环可以类似于上述的这一个来构建。
LMURC的循环时间推导LMURC的循环时间推导与单个及多个单元的机器人单元稍有不同,因为连接的配对站之间的材料处理不由机器人14执行。在连接的配对站情况下,机器人14装载在配对的第一个站18晶片而从第二个站18卸载晶片。由于机器人14不从配对的第一个站18移动晶片到第二个站18,机器人14在连接的配对的第一个站18上装载晶片之前可能必须等待直到原先已装载的晶片通过集成的材料处理设备从第一个站18移动到第二个站18。因此,我们定义wi′为机器人14在装载晶片到站Si之前的等待时间,其中站Si为连接的配对的第一个站。另外,yi,i+1表示连接的站Si和Si+1之间的晶片移动时间。用zi表示晶片在连接的配对的第一个站Si的处理完成之后、被传输到Si+1之前的等待时间。
让我们考虑m=4、每个站18有一个处理单元且站S2和S3是连接的这样的例子。开始于初始状态,其中机器人正好从S4卸载晶片,机器人移动循环C4,4′:{S4+,S2-,S4-,S1-,S4+}]]>包括下面的动作移动到O(t4,5)、放下晶片(15)、移动到S1(t5,1′)、如果需要等待直到晶片在S1处理完毕(w1)、卸载(u1)、移动到S2(t1,2′),及装载(l2)、移动到S3(t2,3′)、如果需要等待直到晶片处理完毕(w3)、卸载(u3)、移动到S4(t3,4),及装载(14)、移动到It4,0′、取得晶片(u0)、移动到S1(t0,1)装载(11)、移动到S4(t1,4′)、如果需要等待晶片处理完毕(w4)、卸载(u4)。因此,循环时间为T=t4,5+l5+t5,1′+w1+u1+t1,2+w2′+l2+t2,3′+w3+u3+t3,4+l4+t4,0′+u0+t0,1+l1+t1,4′+w4+u4当机器人14来卸载站18的晶片时,如果晶片仍然在处理中,则机器人14等待该晶片。因此,w1=max{0,p1-t1,4′-w4-u4-t4,5-l5-t5,1′}w1=max{0,p4-t4,0′-u0-t0,1-l1-t1,4′}注意w2未出现在循环时间公式中,因为机器人14并不在S2和S3之间传输晶片。相反,w2′出现在循环时间公式中,它是机器人在装载晶片到S2之前的等待时间。
为了找到w2和w3的公式,我们定义当机器人14移动到S2以装载晶片到其上时连接的配对的状态。在那时,连接的配对的两个站18都不能有晶片。因此,在那时可能的状态为(i)有晶片在连接的配对的站18中的一个上面,或(ii)两个连接的配对的站18都为空。如果连接的配对处于第一种状态,我们可以称其为装载状态,而如果它处在第二种状态,称其为空闲状态。
让我们找到当连接的配对处于装载状态时w2和w3的公式。上文中提到z2表示晶片处理后传输到S3通过集成的材料处理设备之前在S2上等待的时间。仅当先前在S2上处理的晶片已被传输到S3时,机器人14可以装载晶片到S2上。注意先前的晶片是在先前的循环中被装载到S2上的。,因此,w2′=max{0,p2+z2-t2,3′-w3-u3-t3,4-l4-t4,0′-u0-t0,1-l1-t1,4′-w4-u4-t4,5-l5-t5,1′-w1-u1-t1,2}在此情况,当机器人14来S2装载晶片时,总是有一个晶片在连接的配对中的某个地方。因此,仅当另一晶片已被装载到S2之后,才从S3卸载在S2上装载的任何晶片。因此,w3=max{0,p2+z2+y2,3+p3-T-t2,3′}代入T的公式到w3的公式并化简,我们得到2w3=max{0,p2+z2+y2,3+p3-t4,5-l5-t5,1′-w3-u1-t1,2-w2′-l2-2t2,3′-u3-t3,4-l4-t4,0′-u0-t0,1-l1-t1,4′-w4-u4}在S2上装载新的晶片(如P2)后,机器人14移动到S3。如果先前装载的晶片(如P1)还未在S3上处理,机器人14在那里等待并卸载P1。因此,S3上已处理的晶片P2必须等待(z2)直到机器人14已从S3卸载先前装载的晶片P1。因此,z2=max{0,t2,3′+w3+u3-p2-y2,3}类似于上述线性规划,可以使用下面称为LP2(装载)的线性规划找到稳定状态解线性规划LP2(装载)MinT=t4,5+l5+t5,1′+w1+u1+t1,2+w2′+l2+t2,3′+w3+u3+t3,4+l4+t4,0′+u0+t0,1+l1+t1,4′+w4+u4St w1≥p1-t1,4′-w4-u4-t4,5-l5-t5,1′w4≥p4-t4,0′-u0-t0,1-l1-t1,4′w2′≥p2+z2-t2,3′-w3-u3-t3,4-l4-t4,0′-u0-t0,1-l1-t1,4′-w4-u4-t4,5-l5-t5,1′-w1-u1-t1,22w3≥p2+z2+y2,3+p3-t4,5-l5-t5,1′-w1-u1-t1,2-w2′-l2-2t2,3′-u3-t3,4-l4-t4,0′-u0-t0,1-l1-t1,4′-w4-u4z2≥t2,3′+w3+u3-p2-y2,3z2,w1,w2′,w3,24≥0让我们将空闲状态连接配对的线性规划公式称为LP2(空闲)。在此情况,、和的公式与LP2(装载)相同。其他公式为w2′=z2=0w3≥p2+y2,3+p3-t2,3′因此,对给定的机器人移动循环和连接配对状态,可以通过构建类似于LP2(装载)或LP2(空闲)的线性规划并对其求解计算循环时间。
LMURC的遗传算法由于循环时间计算需要机器人移动循环以及连接配对状态,我们需要定义两维染色体,一维作为机器人移动循环而另一维作为连接配对状态。对上面引用LMURC中的循环时间推导和给定机器人移动循环C4,4′说明的同一例子,如果连接配对处于装载状态,那么染色体表达如表3所示。

表3LMURC的染色体表达表3的第一行展示与单个和多个单元的机器人单元相同的装载序列。第二行展示对应的连接配对状态。如果没有连接任何的站,那么第二行中的表达始终为-1。注意只有连接配对的第一个站出现在第一行中,因为机器人并不装载连接配对的第二个站。如果连接配对处于装载状态,那么对应于连接配对的第一个站的列在第二行中包含1,否则包含0。因为用于连接的多单元机器人单元的染色体与早先的染色体比较有所改变,交换和变异的操作稍有不同。
图4展示实现连接的多单元机器人单元的单元10的控制器12的交换操作。对此图例,m=8且连接的站配对为S2-S3和S6-S7。在此图例中,控制器12使用两个父代之间的单点交换来产生两个后代。在此图例中,控制器对父代A(如80所示)和父代B(如82所示)进行交换来产生后代A(如84所示)和后代B(如86所示)。对此处理,控制器12首先随机地选择交换点,在此例中为第三列,如88和90所示。然后,控制器12按顺序从父代A中给出后代A的前三列。类似地,控制器12按顺序从父代B中给出后代B的前三列。在后代A中,控制器12按顺序从父代B用站6-8-4填充余下三列的第一行,并且用对应的值填充第二行。类似地,对后代B,控制器12按顺序从父代A用站1-5-4填充余下三列的第一行,并且用对应的值填充第二行。
图5展示对上述例子中创建的后代A执行的典型变异操作。在此例中,控制器12使用任意两列改变的变异。对两列变异,控制器12随机地选择两列。在此例中,控制器12选择了第一列和第四列。然后控制器12交换来自这两列的值。然而,虽然这些例子展示特殊的变异和交换操作,单元10包括使用任何用于执行变异和交换操作的适合的技术的控制器12。
LMURC的计算研究此分析考虑的问题与测试多单元机器人单元的问题同,但是连接一些相邻的站18。表4展示随机产生的问题的结果。我们观察到平均晶片数/切换(3到37晶片/切换)和平均百分比提高(0.8到7.5%)中的显著增长。

表2使用GA比LWP对随机数据集在LMURC上的提高图6展示控制器12的特殊实施例的功能模块,其中包括处理器100、监控器102、控制接口104及存储器106。在所示实施例中,存储器106包含代码108、分析逻辑110、单元操作特性112及最优化参数114。为了与用户交互,控制器12进一步包括用户接口116。总的来说,控制器12提供对机器人14的控制并尝试最大化单元10的吞吐量。根据特殊的实施例,控制器12使用遗传分析处理,如上面详述的处理,来确定由机器人14使用的控制时间表。
处理器100控制控制器12的元件的管理及操作。例如,控制器100可以为微控制器、处理器、编程逻辑设备,和/或其他适合的处理设备。监控器102监控单元10内的元件的操作。例如,监控器102可以连续地、定期地或偶发地检查单元10内的机器人14和站18的操作特性。基于监控器102的动作,处理器100可以维护存储器106内的当前信息。为了向机器人14提供控制时间表,控制器12包括控制接口104。然而,虽然作为分离于监控器102的独立接口展示,这些模块可以共享对单元10内的其他元件的公共连接。
在控制器12中,存储器106维护操作中使用的信息。代码108表示由其他元件,如处理器100,在操作中使用的软件和/或其他适合的控制逻辑。分析模块100表示软件和/或其他适合的用于实现确定由机器人14使用的控制时间表的例程的逻辑。例如,分析模块110可以实现遗传算法,如上面详述的算法。单元操作特性112包括预先配置的和/或测量的参数,这些参数描述单元10的元件的表现。例如,单元操作特性112可以指示上述的很多变量,如机器人移动时间及与站18关联的任务的时间。最优化参数114包括由分析模块在操作中使用的值。例如,最优化参数114可以指示上述参数的值,如总体大小和原种分数。
在操作中,控制器12可以通过用户接口116接收来自用户的信息并提供对操作的反馈。因此,用户接口116表示任何适合的硬件和控制逻辑,如键盘、鼠标及显示。通过用户接口116,管理员可以指定信息,如单元操作特性112和最优化参数114。用户接口116进一步允许管理员监控单元10和控制器12的操作以开发有效的机器人14的控制时间表。
处理提供机器人14的控制,控制器12也在不同的条件下提供实际或建议的机器人单元的操作的分析。例如,使用控制器12,管理员可以执行对机器人单元的各种潜在设计改变的吞吐量的效果的敏感性分析,如增加一些站的处理能力并减少一些站的处理需求。因此,控制器12潜在地提供控制系统和分析平台。
根据特殊的实施例,控制器12提供对半导体制造处理,如光刻法处理,的系统控制。在光刻法处理中,处理站18执行一系列的步骤以传输电子线路模式到晶片上。镀层是第一个操作,在其中晶片被镀上光阻材料。然后晶片被烘干以固定光阻材料并提高它与晶片的附着力。然后它被发送到校准器或分档器进行曝光。在分档器中,标度线—仅包含一个芯片的模式的模板—被放置到晶片上并使用紫外线(UV)对其进行曝光。校准和曝光处理构成一个步骤,重复该步骤直到整个晶片表面已曝光。每一层使用专门为该层的设备特性设计的不同的蒙板/标度线。显影是下一个操作,在其中通过应用特殊的溶剂去除曝光的光阻材料。最后,晶片通过最后的烘干步骤来确保未曝光的光阻材料附着在晶片上。为了自动化此处理,机器人14在实现光刻法处理的各阶段的处理单元18之间移动晶片。
然而,虽然上述控制技术可应用于半导体制造处理,所揭示的技术可以用于提高任何合适的自动化系统的吞吐量。再者,虽然所示的实施例和前面的说明集中于包括特定元件的控制器12的特殊实施例,单元10包括有任何适合的用于确定机器人14的控制时间表的元件组合及安排的控制器12。因此,上述模块和功能可以被合并、分离或分布在任何适合的功能组件中,且控制器12可以使用编码在媒体中的逻辑,如软件或编程逻辑设备,来实现上述功能的部分或全部。
图7展示动态反馈处理,在其中控制器12监控在其控制下的“簇”内的元件,即,机器人14、输入16、站18和输出20的实际操作特性。因为控制器12提供对单元10的操作的监控,这允许控制器12根据单元10的实际操作特性动态地更新由机器人14使用的控制时间表。如图7所示,控制器12初始接收单元操作特性和最优化参数,分别由120和122指示。然后控制器12基于此信息产生控制时间表。使用监控器102,控制器12监控簇的实际操作特性,如124所示。这使得控制器12能够更新由机器人14使用的控制时间表以反映单元10的各种元件内的实际操作。
虽然已在几个实施例中对本发明进行了说明,熟悉技术的人应理解可对其做出很多变化和修改,且本发明应包括落在本发明后附的权利要求的范围内的变化和修改。
权利要求
1.一种计算制造系统内的机器人的控制时间表的方法,其特征在于,所述方法包括确定制造处理中的步骤的操作特性,所述操作特性包括用于在多个处理站之间移动的机器人移动矩阵及每个处理站的处理时间;确定多个控制时间表,每个控制时间表详述机器人在处理站之间移动晶片的处理;使用所述操作特性确定每个控制时间表的适合度;根据对每个控制时间表确定的适合度对控制时间表进行配对以创建控制时间表的结果代;对多个结果代重复适合度确定及配对;基于适合度从最后一个结果代中选择所选的控制时间表;及根据所选的控制时间表操作机器人。
2.如权利要求1所述的方法,其特征在于,进一步包括监控机器人和处理站的实际操作特性;重新执行所述适合度确定、配对、重复及选择以确定更新的所选的控制时间表;及根据已更新的所选的控制时间表操作机器人。
3.如权利要求1所述的方法,其特征在于,所述每个控制时间表指定机器人动作的一单元循环以使得机器人动作导致一个晶片的处理处于稳定状态,且每个控制时间表的所述适合度指示控制时间表的循环时间。
4.如权利要求1所述的方法,其特征在于,所述至少一个处理站包括多个处理单元,及每个控制时间表指定机器人动作的一单元循环;确定每个控制时间表的适合度包括通过控制时间表构建最小公倍数单元循环并计算最小公倍数单元循环的适合度;及根据所选的控制时间表操作机器人包括根据对应于所选的控制时间表的最小公倍数单元循环操作机器人。
5.如权利要求1所述的方法,其特征在于,进一步包括,在一代的每次配对之前使用这一代中的每个控制时间表的适合度确定这一代的原种部分;从这一代中丢弃所有不属于原种部分的控制时间表;及根据每个控制时间表的相对适合度复制控制时间表的原种部分以增加这一代中的控制时间表的数量到初始的总体大小。
6.如权利要求1所述的方法,其特征在于,所述控制时间表的适合度指示完成控制时间表的时间量,及所述所选的控制时间表导致它在任何结果代中与其他控制时间表相比都有最小量的时间。
7.如权利要求1所述的方法,其特征在于,所述处理站包括一系列以指定顺序执行的阶段来执行半导体晶片的光刻法,所述处理站包括镀层站、烘干站、紫外曝光站,及显影站。
8.如权利要求1所述的方法,其特征在于,所述操作特性进一步对每个处理站包括机器人在处理站装载晶片的时间及机器人在处理站卸载晶片的时间,及所述机器人移动矩阵基于机器人当前是否装载了晶片指示机器人在处理站之间的移动时间。
9.如权利要求1所述的方法,其特征在于,所述每个控制时间表指定等位基因的序列,每个等位基因指示机器人服务的一个站。
10.如权利要求9所述的方法,其特征在于,所述对一代的控制时间表进行配对包括多次执行下述步骤从这一代中确定第一个控制时间表和第二个控制时间表;选择交换点;创建直到交换点的等位基因都和第一个控制时间表相同的第一个后代;重新排列第一个后代中余下的等位基因,其顺序使得在其中余下的等位基因出现在第二个控制时间表中;创建直到交换点的等位基因都和第二个控制时间表相同的第二个后代;及重新排列第二个后代中余下的等位基因,其顺序使得在其中余下的等位基因出现在第一个控制时间表中。
11.一种晶片制造系统,其特征在于,所述系统包括多个处理站;用于确定制造处理中的步骤的操作特性的系统控制器,所述操作特性包括用于在多个处理站之间移动的机器人移动矩阵及每个处理站的处理时间,所述系统控制器进一步用于确定多个控制时间表,每个所述控制时间表详述机器人在处理站之间移动晶片的处理,用于使用所述操作特性确定每个控制时间表的适合度,用于根据对每个控制时间表确定的适合度对控制时间表进行配对以创建控制时间表的结果代,用于对多个结果代重复适合度确定及配对,并用于基于适合度从最后一个结果代中选择所选的控制时间表;及根据所选的时间表操作机器人以服务处理站。
12.如权利要求11所述的系统,其特征在于,所述系统控制器进一步用于监控机器人和处理站的实际操作特性及重新执行所述适合度确定、配对、重复及选择以确定更新的所选的控制时间表;及进一步根据已更新的所选的控制时间表操作机器人以服务处理站。
13.如权利要求11所述的系统,其特征在于,所述每个控制时间表指定机器人动作的一单元循环以使得机器人动作导致一个晶片的处理处于稳定状态,且每个控制时间表的所述适合度指示控制时间表的循环时间。
14.如权利要求11所述的系统,其特征在于,所述至少一个处理站包括多个处理单元,及每个控制时间表指定机器人动作的一单元循环;系统控制器进一步用于通过控制时间表构建最小公倍数单元循环以确定每个控制时间表的适合度并计算最小公倍数单元循环的适合度;及机器人根据使用对应于所选的控制时间表的最小公倍数单元循环所选的控制时间表服务处理站。
15.如权利要求11所述的系统,其特征在于,所述系统控制器在一代的每次配对前进一步用于使用这一代中的每个控制时间表的适合度确定这一代的原种部分;从这一代中丢弃所有不属于原种部分的控制时间表;及根据每个控制时间表的相对适合度复制控制时间表的原种部分以增加这一代中的控制时间表的数量到初始的总体大小。
16.如权利要求11所述的系统,其特征在于,所述控制时间表的适合度指示完成控制时间表的时间量,及所述所选的控制时间表导致它在任何结果代中与其他控制时间表相比都有最小量的时间。
17.如权利要求11所述的系统,其特征在于,所述处理站包括一系列以指定顺序执行的阶段来执行半导体晶片的光刻法,所述处理站包括镀层站、烘干站、紫外曝光站,及显影站。
18.如权利要求11所述的系统,其特征在于,所述操作特性进一步对每个处理站包括机器人在处理站装载晶片的时间及机器人在处理站卸载晶片的时间,及所述机器人移动矩阵基于机器人当前是否装载了晶片指示机器人在处理站之间的移动时间。
19.如权利要求11所述的系统,其特征在于,所述每个控制时间表指定等位基因的序列,每个等位基因指示机器人服务的一个站。
20.如权利要求19所述的系统,其特征在于,所述对一代的控制时间表进行配对包括多次执行下述步骤从这一代中确定第一个控制时间表和第二个控制时间表;选择交换点;创建直到交换点的等位基因都和第一个控制时间表相同的第一个后代;重新排列第一个后代中余下的等位基因,其顺序使得在其中余下的等位基因出现在第二个控制时间表中;创建直到交换点的等位基因都和第二个控制时间表相同的第二个后代;及重新排列第二个后代中余下的等位基因,其顺序使得在其中余下的等位基因出现在第一个控制时间表中。
21.计算制造系统内的机器人的控制时间表的逻辑,所述逻辑在媒体中编码并且用于执行步骤确定制造处理中的步骤的操作特性,所述操作特性包括用于在多个处理站之间移动的机器人移动矩阵及每个处理站的处理时间;确定多个控制时间表,每个控制时间表详述机器人在处理站之间移动晶片的处理;使用所述操作特性确定每个控制时间表的适合度;根据对每个控制时间表确定的适合度对控制时间表进行配对以创建控制时间表的结果代;对多个结果代重复适合度确定及配对;基于适合度从最后一个结果代中选择所选的控制时间表;及向机器人提供所选的时间表以控制机器人的操作。
22.如权利要求21所述的逻辑,其特征在于,进一步用于执行步骤监控机器人和处理站的实际操作特性;重新执行所述适合度确定、配对、重复及选择以确定更新的所选的控制时间表;及根据已更新的所选的控制时间表操作机器人。
23.如权利要求21所述的逻辑,其特征在于,所述每个控制时间表指定机器人动作的一单元循环以使得机器人动作导致一个晶片的处理处于稳定状态,且每个控制时间表的所述适合度指示控制时间表的循环时间。
24.如权利要求21所述的逻辑,其特征在于,所述至少一个处理站包括多个处理单元,及每个控制时间表指定机器人动作的一单元循环,所述逻辑进一步用于执行步骤通过控制时间表构建最小公倍数单元循环以确定每个控制时间表的适合度并计算最小公倍数单元循环的适合度;及向机器人提供对应于所选的控制时间表的最小公倍数单元循环以控制机器人的操作。
25.如权利要求21所述的逻辑,其特征在于,进一步用于一代的每次配对之前执行步骤使用这一代中的每个控制时间表的适合度确定这一代的原种部分;从这一代中丢弃所有不属于原种部分的控制时间表;及根据每个控制时间表的相对适合度复制控制时间表的原种部分以增加这一代中的控制时间表的数量到初始的总体大小。
26.如权利要求21所述的逻辑,其特征在于,所述控制时间表的适合度指示完成控制时间表的时间量,及所述所选的控制时间表导致它在任何结果代中与其他控制时间表相比都有最小量的时间。
27.如权利要求21所述的逻辑,其特征在于,所述处理站包括一系列以指定顺序执行的阶段来执行半导体晶片的光刻法,所述处理站包括镀层站、烘干站、紫外曝光站,及显影站。
28.如权利要求21所述的逻辑,其特征在于,所述操作特性进一步对每个处理站包括机器人在处理站装载晶片的时间及机器人在处理站卸载晶片的时间,及所述机器人移动矩阵基于机器人当前是否装载了晶片指示机器人在处理站之间的移动时间。
29.如权利要求21所述的逻辑,其特征在于,所述每个控制时间表指定等位基因的序列,每个等位基因指示机器人服务的一个站。
30.如权利要求29所述的逻辑,其特征在于,进一步用于通过多次执行步骤对一代进行匹配,所述步骤包括从这一代中确定第一个控制时间表和第二个控制时间表;选择交换点;创建直到交换点的等位基因都和第一个控制时间表相同的第一个后代;重新排列第一个后代中余下的等位基因,其顺序使得在其中余下的等位基因出现在第二个控制时间表中;创建直到交换点的等位基因都和第二个控制时间表相同的第二个后代;及重新排列第二个后代中余下的等位基因,其顺序使得在其中余下的等位基因出现在第一个控制时间表中。
全文摘要
在自动化处理系统中,系统控制器使用元启发式技术来确定用于控制机器人的移动和操作的最优或近似最优的控制时间表。在特殊实施例中,系统控制器使用遗传算法来获取机器人的控制时间表。在特殊实施例中,系统控制器基于系统操作动态地更新所述控制时间表。
文档编号B25J9/18GK1554042SQ02817588
公开日2004年12月8日 申请日期2002年7月11日 优先权日2001年7月13日
发明者S·库马, S 库马, N·拉马南, 砟 , C·斯里斯凯达拉加, 锼箍 锢 申请人:Fsi国际股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1