CN1876334A - 机械手控制装置及机械手控制方法 - Google Patents

机械手控制装置及机械手控制方法 Download PDF

Info

Publication number
CN1876334A
CN1876334A CNA2006100885922A CN200610088592A CN1876334A CN 1876334 A CN1876334 A CN 1876334A CN A2006100885922 A CNA2006100885922 A CN A2006100885922A CN 200610088592 A CN200610088592 A CN 200610088592A CN 1876334 A CN1876334 A CN 1876334A
Authority
CN
China
Prior art keywords
manipulator
workpiece
program
state
executable program
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2006100885922A
Other languages
English (en)
Other versions
CN100460161C (zh
Inventor
二瓶亮
加藤哲朗
西浩次
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fanuc Corp
Original Assignee
Fanuc Corp
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 Fanuc Corp filed Critical Fanuc Corp
Publication of CN1876334A publication Critical patent/CN1876334A/zh
Application granted granted Critical
Publication of CN100460161C publication Critical patent/CN100460161C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40584Camera, non-contact sensor mounted on wrist, indep from gripper

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)
  • Control By Computers (AREA)

Abstract

一种机械手控制装置,具有:收集实时表示机械手执行作业的环境状态的状态信息的信息收集部;根据信息收集部收集到的状态信息,在多个作业程序中对于多个工件处于执行阶段的作业程序中,选定满足作业开始条件的第一可执行程序的程序选定部;执行处理由程序选定部选定的第一可执行程序的处理部;判断处理部是否完成第一可执行程序的执行处理的程序完成判断部。程序选定部,对应程序完成判断部的判断状况,根据状态信息,在处于执行阶段的作业程序中,选定满足作业开始条件的第二可执行程序作为处理部接着要执行处理的作业程序。

Description

机械手控制装置及机械手控制方法
技术领域
本发明涉及工业用机械手的控制装置及控制方法。
背景技术
工业用机械手(以下简称机械手(robot))遵照特定的作业程序(即任务程序)动作。通过适当选择与在机械手上安装的工具(即末端执行器)种类、作业对象的工件种类、作业内容等对应的多种类别的作业程序,并给予机械手,可以由一台机械手执行多种多样的作业。在制作为使机械手动作的作业程序时,一般使用示教操作盘,操作员以手动方式使机械手的各控制轴低速运动,在对于工件执行作业的多个作业部位上顺序定位工具,把这些作业部位作为“示教点”在机械手中存储。机械手把在每个作业部位上定位工具时的各控制轴的动作位置作为在每个示教点处的机械手自身的位置以及姿势的信息来存储。此外,也公知通过使用个人计算机的脱机模拟(off linesimulation)进行这样的示教编程。
机械手能够遵照示教的作业程序反复执行同一作业,但是,在变更作业内容时,需要制作符合新的作业内容的作业程序。例如,在使用机械手高度自动化了的生产系统中,在追加或者变更生产品种时,要求变更生产线。此时,在夹具、机械、搬运装置这样的各种硬件的再设计、或者加工机械的加工程序、机械手的作业程序PC(可编程控制器)以及生产管理装置的序列梯(sequence ladder)以及生产管理程序这样的各种软件的再制作中,需要相当多的工时。有效削减伴随这样的生产线变更的硬件/软件的构建工时,成为与自动化的生产系统的成本关联的重要的课题,因此希望削减在机械手中的作业程序的制作中所需要的工时。
作为使机械手的作业程序的制作、变更容易的方法,公知把机械手对于一个工件执行的一个周期的作业分割为互相不同的多个作业单位,制作指令每个作业单位的多个作业程序,适当组合这些作业程序给予机械手。例如,特开2004-185228号公报(JP-A-2004-185228)公开了如下一种结构:在具有机械手以及加工机械的生产单元(cell)中,将机械手以及加工机械执行的一系列的作业分割为多个作业单位,信息处理装置以适当的顺序将指令每个作业单位的多个作业程序给予机械手以及加工机械中任何一个。在发生生产品种的追加或变更时,因为仅对于与此相伴需要追加或变更的作业单位进行作业程序的重新审视即可,所以可以削减伴随生产线变更的机械手作业程序的制作成本。
此外,在本申请中使用的“作业单位”这样的用语,是指把持工件、放置工件、观察工件等以单一行为赋予特征的作业。通常在执行一个作业单位期间插入其他的作业单位是极不合理的。另外,通过以各种方式组合多个相同的以及不同的作业单位,可以实现多种多样的作业。
在并行生产多个生产品的生产系统中,例如,对于多个加工机械由一台机械手供给或者取出工件时,把加工内容不同的(即生产周期不同)工件的供给/取出作业汇集在一系列的作业程序中,一般是困难的。通常,把向一台加工机械的工件供给以及取出作业作为机械手的一单位的作业程序,准备与每个加工机械对应的作业程序,遵照来自上位控制器的指示,机械手对于被指示的加工机械执行工件的供给以及取出作业。此时,在到对于一个加工机械的作业程序结束之前,机械手不开始对于其他加工机械的作业程序。在这一结构中,在工件的供给步骤和取出步骤之间,例如即使有在加工机械中的送气或轴移动等需要较多时间的工序,机械手也只是等待该工序的结束。
根据如上述JP-A-2004-185228中记述的那样的、分割一周期的作业为多个作业单位指令机械手以及加工机械的结构,对于多个加工机械的每一个,能够在每一共同的作业单位(例如供给)并行执行工件的供给以及取出作业。但是即使在这一结构中,因为机械手在完成一个作业单位后执行下一作业单位,所以在共同的作业单位的执行所需要的时间对于每一工件不同时,对于所有的加工机械的工件的供给以及取出作业的周期时间,由具有费时间的作业单位的工件决定。即在这一结构中,随时把握生产系统的运行状态,同时有效减少机械手的待机时间高效执行作业十分困难。
另外,在生产系统由于机器的故障等紧急停止时,为查明或者消除原因,例如由人从夹具中取出工件,或者通过手工开/关信号,或者以手动方式把机械手移动到退让位置,多由操作员执行对于系统的手动介入。如果由操作员执行对于系统的手动介入,则因为生产系统的状态从紧急停止时的状态变动,和机械手的作业程序的相关性受损,所以不能原样不变地重新开始作业。因此,仅用为使与作业程序重新开始时刻的内容吻合而用手工作业变更系统的状态、或者使中断的作业程序吻合生产系统的状态适当的步骤模拟运行机械手,执行某种恢复作业。为适当进行这样的恢复作业,需要操作员熟知生产系统的设备的结构或者在每个机械中运行的作业程序的内容。
发明内容
本发明的目的是提供机械手的控制装置以及控制方法,它们能够解决使用机械手的生产系统中的上述问题。
本发明的另一目的提供是机械手控制装置或机械手控制方法,它们能够随时把握生产系统的运行状态,同时能够并行而且高效率地使一台机械手执行与多个工件关联的作业。
本发明的再一目的是提供机械手控制装置或机械手控制方法,它们能够在生产系统紧急停止时,与关于生产系统的理解度无关安全而且可靠地重新开始机械手上安装的的作业。
为实现上述目的,本发明提供一种机械手控制装置,其遵照分别对多个作业单位进行指令的多个作业程序,对于多个工件并行地使机械手执行包含该多个作业单位的作业,多个作业程序的每一个包含以机械手开始对应的作业单位为前提的作业开始条件的记述,机械手控制装置具有:信息收集部,其收集实时地表示机械手执行作业的环境状态的状态信息;程序选定部,其根据信息收集部收集到的状态信息,从在多个作业程序中对于多个工件处于执行阶段的作业程序中,选定满足作业开始条件的第一可执行程序;处理部,其执行处理程序选定部所选定的第一可执行程序;程序完成判断部,其判断处理部是否完成第一可执行程序的执行处理,程序选定部对应程序完成判断部的判断状况,根据状态信息,从处于执行阶段的作业程序中,选定满足作业开始条件的第二可执行程序作为处理部接着要执行处理的作业程序。
在上述机械手控制装置中,程序选定部根据状态信息,在多个作业程序中确定几个处于作业阶段的作业程序,并且,从所确定的该作业程序中遵照预先规定的规则,选择一个第一可执行程序。
另外,程序选定部,参照与多个工件的每一个相关联地对多个作业程序的执行顺序进行定义的多个作业脚本,来确定处于执行阶段的作业程序。
上述机械手控制装置可以构成为,在程序完成判断部判断为处理部的执行处理完成前,程序选定部选定第二可执行程序,处理部执行处理第二可执行程序。
多个作业程序的每一个,可以包含作为机械手完成对应的作业单位的前提的作业完成条件的记述,在这种场合,程序完成判断部可以根据信息收集部收集的状态信息,判断第一可执行程序是否满足作业完成条件,由此判断处理部的执行处理是否完成。
程序完成判断部,可以具有表示把机械手执行作业的环境模型化了的内部模型的状态的内部信息,判断内部信息与信息收集部收集的状态信息互相是否一致,由此判断处理部的执行处理是否完成。
另外,程序完成判断部,可以在判断为处理部的执行处理完成前进一步判断是否经过预先规定的时间。
上述机械手控制装置,可以还具有在作业的执行中使机械手紧急停止的停止控制部;具有表示把机械手执行作业的环境模型化了的内部模型的状态的内部信息、判断内部信息与信息收集部收集的状态信息互相是否一致的状态判断部;在状态判断部判断内部信息与状态信息互相一致时解除紧急停止、重新开始作业的重新开始控制部。
本发明进而提供机械手控制方法,所述方法遵照分别指令多个作业单位的多个作业程序,对于多个工件并行地使机械手执行包含多个作业单位的作业,多个作业程序的每一个包含以机械手开始对应的作业单位为前提的作业开始条件的记述,机械手控制方法具有收集实时表示机械手执行作业的环境的状态的状态信息的步骤;根据收集的状态信息、在多个作业程序中对于多个工件处于执行阶段的作业程序中、选定满足作业开始条件的第一可执行程序的步骤;执行处理选定的第一可执行程序的步骤;对应第一可执行程序的执行处理状况,根据状态信息,在处于执行阶段的作业程序中,选定满足作业开始条件的第二可执行程序的步骤;执行处理选定的第二可执行程序的步骤。
附图说明
本发明的上述以及其他的目的、特征及优点,通过下面关联附图对适当的实施形态的说明更加了解。附图中,
图1是表示本发明的机械手控制装置的基本结构的功能框图;
图2是表示图1的机械手控制装置的第一改进结构的功能框图;
图3是表示图1的机械手控制装置的第二改进结构的功能框图;
图4是表示图1的机械手控制装置的第三改进结构的功能框图;
图5是组装有本发明的一个实施形态的机械手控制装置的、使用机械手的生产系统的整体概况图;
图6是表示图5的生产系统中的控制系统的结构框图;
图7是图6的控制系统中的机械手控制装置的存储器的图;
图8是图6的控制系统中的硬盘装置的图;
图9、图10以及图11是表示图5的生产系统中机械手执行的作业的工序的流程图;
图12、图13以及图14是用虚线箭头表示图5的生产系统中机械手执行的作业的工序的概要图;
图15是图5的生产系统中使用的作业模式数据图;
图16是图5的生产系统中使用的主作业脚本的图;
图17、图18、图19、图20以及图21是表示图5的生产系统中使用的控制程序的动作序列的图;以及
图22是图5的生产系统中使用的条件处理表的图。
具体实施方式
下面参照附图详细说明本发明的实施形态。附图中,给相同或者类似的结构要素赋予共同的参考符号。
参照附图,图1用功能框图表示本发明的机械手控制装置10的基本结构。机械手控制装置10遵照分别对多个作业单位进行指令的多个作业程序12,对于多个工件使机械手并行执行包含多个作业单位的作业。这里,多个作业程序12的每一个,包含以机械手开始对应的作业单位为前提的作业开始条件的记述。机械手控制装置10,具有收集实时表示机械手执行作业的环境的状态的状态信息16的信息收集部18;根据信息收集部18收集的状态信息16、在多个作业程序12中对于多个工件处于执行阶段的作业程序中、选定满足作业开始条件14的第一可执行程序12A的程序选定部20;执行处理由程序选定部20选定的第一可执行程序12A的处理部22;判断处理部22是否完成第一可执行程序12A的执行处理的程序完成判断部24。然后,程序选定部20,对应程序完成判断部24的判断状况,根据状态信息16,在处于执行阶段的作业程序中,选定满足作业开始条件的第二可执行程序12B作为处理部22接着执行处理的作业程序。
根据具有上述基本结构的机械手控制装置10,通过实时参照机械手的作业环境的状态,可以在处于执行阶段的作业程序中适当选择满足作业开始条件14的第一可执行程序12A,使机械手执行对应的作业单位,进而,能够一边考虑第一可执行程序12A的执行处理的进展状况,一边适当选择同样满足作业开始条件14的第二可执行程序12B,使机械手执行下一作业单位。因此,在使用机械手的生产系统中,能够随时把握生产系统的运行状态,同时使一台机械手并行且高效执行关联多个工件的作业。
上述的作用效果,在程序完成判断部24判断为处理部22的第一可执行程序12A的执行处理完成前,程序选定部20选定第二可执行程序12B、处理部22执行处理第二可执行程序12B那样构成时,变得更加突出。
图2以功能框图表示图1的机械手控制装置10的第一改进结构。使在图2的机械手控制装置10中,多个作业程序12的每一个都还包含以机械手完成对应的作业单位为前提的作业完成条件26的记述。于是,程序完成判断部24构成为,根据信息收集部18收集到的状态信息16,判断第一可执行程序12A是否满足作业完成条件26,由此判断由处理部22对第一可执行程序12A的执行处理是否完成。
根据图2所示的机械手控制装置10,通过实时参照机械手的作业环境的状态,可以把第一可执行程序12A是否满足作业完成条件26作为判断基准,迅速而且正确地判断由处理部22进行的执行处理是否完成。
图3以功能框图表示图1的机械手控制装置10的第二改进结构。在图3的机械手控制装置10中,程序完成判断部24构成为,具有表示把机械手执行作业的环境模型化了的内部模型的状态的内部信息28,判断内部信息28和信息收集部18收集到的状态信息16是否一致,由此判断由处理部22对第一可执行程序12A的执行处理是否完成。
根据图3所示的机械手控制装置10,把表示机械手作业的实际的环境的状态的状态信息16和不受实际的环境的状态影响的内部信息28互相是否一致作为判断基准,能够迅速而且正确地判断由处理部22进行的执行处理是否完成。通过这样的结构,在由处理部22进行的执行处理达到异常的完成状态时,能够立即检测到这点而采取适当的对策。
图4以功能框图表示图1的机械手控制装置10的第三改进结构。在图4的机械手控制装置10中还具有:在作业的执行中使机械手紧急停止的停止控制部30;具有表示把机械手执行作业的环境模型化了的内部模型的状态的内部信息28、判断内部信息28和信息收集部18收集到的状态信息16是否一致的状态判断部32;在状态判断部32判断内部信息28和状态信息16互相一致时解除紧急停止重新开始作业的重新开始控制部34。
根据图4所示的机械手控制装置10,能够在使用机械手的生产系统中,在生产系统紧急停止时,把表示机械手作业的实际的环境的状态的状态信息16和不受实际的环境的状态影响的内部信息28互相是否一致作为判断基准,解除紧急停止重新开始作业。因此,即使是关于生产系统理解度低的操作员,也能安全而且可靠地重新开始机械手的作业。
下面举出几个关于作业程序12的实例,同时补充说明上述本发明的机械手控制装置10。
因为机械手控制装置10使机械手执行的多个作业单位的每一个是对于一个工件机械手执行的一周期的作业的一部分,所以通过遵照作业顺序执行多个作业单位,能够完成一周期的作业。这里,定义指令多个作业单位的多个作业程序12的执行顺序的数据列表,在本申请中称作业脚本(script)。在作业脚本中,在一行中记述作业单位的名称、执行该作业单位时使用的装置或机械的名称、和这些装置或机械的运行状态的数据,遵照作业顺序跨越多行记述。
在生产系统中装备的装置或机械,伴随生产处理的进行,运行状态变化。例如加工机械,大体分为“运行”和“停止”,在这两个状态之间转移,但是进一步细分的话,可以表示“电源切断”、“初始化中”、“等待加工请求中”、“加工准备中”、“等待工件中”、“第一工序加工中”、“更换工件中”、“第二工序加工中”、“等待成品取出中”、“发生警报中”、“加工结束处理中”等状态。机械手执行作业的环境的状态(即生产系统的装置或机械的运行状态),可以使用这样的有限数目的状态的集合、初始状态、和表示在特定条件下从初始状态向其他状态转移的过程的状态转移表示。状态集合、状态转移以及初始状态,一般取决于装置或机械不同。即使是同一装置,对应在生产系统中的作用,状态集合、状态转移以及初始状态变得互相不同。因此,使用状态集合、状态转移以及初始状态,能够正确地表现生产系统中的每个装置或机械的状态。
以下举出作业程序的各行记述的例子。例如把持在暂置台上放置的工件的作业单位具有“Pick on a table”的名称,该作业单位需要“Table”以及“Robot”两个装置,在这些装置的初始状态分别是“Have on table”以及“Empty handed”时,可以开始该作业单位。该内容在作业脚本中记为<Do Pick on a table,condition Table:Have on table,condition Robot:Empty handed/>。
另外,执行作业单位“Pick on a table”的结果,可以在作业脚本中记述“Table”从“Have on table”状态转移到“Empty on table”状态,“Robot”从“Empty handed”状态转移到“Grasping in hand”状态。该内容记述为<DoPick on a table,condition Table:Have on table,result Table:Empty on table,condition Robot:Empty handed,result Robot:Grasping in hand/>。
但是,在生产系统中,并行进行对于多个生产品的生产处理,由此增加生产量。作为例子,考察具有四个板“palette#1”、“palette#2”、“palette#3”、“palette#4”;两个暂置台“table#1”、“table#2”;和两个加工机械“machine#1”、“machine#2”构成的加工系统。在该系统中,执行机械手对于machine#1从palette#1取出未加工的工件,暂放在table#1上,把从machine#1取出的加工完毕的工件暂放在table#1上,把在table#1上暂放的未加工的工件拿起来供给machine#1,拿起在table#1上暂放的加工完毕的工件供给machine#1,拿起在table#1上暂放的加工完毕的工件放在palette#2上这样的多个作业单位,另外,执行对于machine#2,从palette#3取出未加工的工件暂放在table#2上,把从machine#2取出的加工完毕的工件暂放在table#2上,拿起在table#2上暂放的未加工的工件供给machine#2,拿起在table#2上暂放的加工完毕的工件放在palette#4上这样的多个作业单位。这里,对于两个加工机械,首先把作为两者的加工对象的两个未加工工件放在各自的暂置台上,接着对于它们进行加工完毕的工件和未加工的工件的交换,最后把两者的加工完毕的工件放在板上,这样并行执行工件的供给/取出作业。简单地以时间序列开列这样的机械手执行的全部作业单位制成的作业脚本如下。
<Do Pick on palette#1/>
<Do Put on table#1/>
<Do Pick on palette#3/>
<Do Put on table#2/>
<Do Unload from machine#1/>
<Do Put on table#1/>
<Do Pick on table#1/>
<Do Load to machine#1/>
<Do Unload from machine#2/>
<Do Put on table#2/>
<Do Pick on table#2/>
<Do Load to machine#2/>
<Do Pick on table#1/>
<Do Put on palette#2/>
<Do Pick on table#2/>
<Do Put on palette#4/>
上述多个行的每一行表示一个作业单位,机械手以上述记载顺序执行作业。但是,在该作业脚本中,因为不明白对于每一工件的加工机械的加工内容,所以例如在machine#1中的加工时间和在machine#2中的加工时间不同时,在<Do Unload from machine#1/>之前、或在<Do Unload from machine#2/>之前,产生机械手无任何作业的无用的待机时间。为消除这样的待机时间,需要详细检查作业单位的记载顺序,不是熟练者的话作业脚本的制作极为困难。而且,在变更加工时间或工件的种类等时,必须重新验证作业脚本的妥当性。
因此,在本发明中,着眼于沿生产处理的多个工件的每一个的流动制作作业脚本。在上述的作业例子时,用machine#1加工中的work piece#1和从palette#1作为素材给予的work piece#2,通过同一个table#1传送,用machine#2加工中的work piece#3和从palette#3作为素材给予的work piece#4,通过同一个table#2传送。因此,如下制作work piece#1以及#2的作业脚本。
<Do Pick on palette#1/>
<Do Put on table#1/>
<Do Unload from machine#1/>
<Do Put on table#1/>
<Do Pick on table#1/>
<Do Load to machine#1/>
<Do Pick on table#1/>
<Do Put on palette#2/>
另外,如下制作work piece#3以及#4的作业脚本。
<Do Pick on palette#3/>
<Do Put on table#2/>
<Do Unload from machine#2/>
<Do Put on table#2/>
<Do Pick on table#2/>
<Do Load to machine#2/>
<Do Pick on table#2/>
<Do Put on palette#4/>
上述两个作业脚本的任何一个都表示关于每一工件如何进行生产处理,这样的作业脚本不需要熟练极容易制作。于是,为消除上述无用的待机时间,采用以下的方法。
首先,在各作业脚本中,构成为用指针明示接着要执行的作业单位。作业脚本,在生产系统中要求生产时,关于成为对象的工件制作。在制作时,指针指示作业脚本的第一行。指针随着对于工件的生产处理的进行移到下一行,在最终行的作业单位结束后,作业脚本自身被删除。本发明的机械手控制装置10,对于有关多个工件的多个作业脚本,参照在指针指示的行中记载的作业开始条件14,确认在作业开始条件14中规定的装置或机械的当前状态,判断是否满足该条件。然后,构成为在不满足指针指示的作业单位的作业开始条件14时,不执行该作业,在满足作业开始条件14时,执行该作业。
更详细说,机械手控制装置10首先对于存在的全部作业脚本,确认是否满足指针指示的作业单位中的作业开始条件14,确定满足条件的作业脚本。然后,从确定的作业脚本中,遵照预先规定的规则,选择一个作业脚本。作为这种规则,可以考虑(1)给每个作业脚本赋予生产优先级,选择优先级最高的,(2)选择作业脚本剩余行数最少的,(3)选择作业脚本剩余行数最多的,(4)选择作业脚本的制成时期最早的,(5)选择到指定的生产完成时刻的时间最短的,(6)选择同种的生产品的生产数最少的,(7)选择在作业开始条件14内规定的装置或机械的个数或种类最少的,(8)选择在作业开始条件14内规定的装置或机械的状态一致最多的等。这些规则,不仅可以只采用一个,而且也可以组合多个规则采用,选择作业脚本。另外,也可以根据多个规则计算评价值,选择评价值的相加平均最高的作业脚本。
每个作业脚本,因为不仅记述生产处理中的机械手的一系列作业工序全部,而且着眼于沿生产处理的每一个的工件的流动记述作业工序,所以制作容易,装置或机械的确认容易,即使在生产系统中变更并行生产的工件的组合时也不需要修正。另外,对于工件的每一种类作业单位的种类或者数目也可以不同,只要需要也可以为特定的工件准备特别的作业脚本。因此,在研究完成全部加工工序的工件的加工精度时,在某加工工序中发现问题,为仅重新执行该加工工序,可以仅为该工件准备仅记述该加工工序的作业脚本。
另外,作业脚本,因为具有明示下一个要执行的作业单位的指针,所以不仅可以以规定的顺序执行作业单位,而且能够考虑执行作业单位的结果或者生产系统的状况,变更下一个要执行的作业单位。进而,可以与并行生产的工件的种类或者个数无关执行生产开始时的作业脚本的制作、生产完成时的作业脚本的删除、指针指示的行的作业开始条件14成立的作业脚本的确定、以及遵照规定的规则进行的作业脚本的选择这样的各种处理。
作业脚本可以具有装置选择项的功能。例如,变更上述的生产系统的做法,即使用machine#1以及#2任何一个加工workpiece#1~#4,在table#1以及#2任何一个上放置那样构成。在这一场合,用“machines”表示可以选择machine#1以及#2中任何一个,用“tables”表示可以选择table#1以及#2中任何一个,可以如下记述关于workpiece#1以及#2的作业脚本。
<Do Pick on palette#1/>
<Do Put on tables/>
<Do Unload from machines/>
<Do Put on tables/>
<Do Pick on tables/>
<Do Load to machines/>
<Do Pick on tables/>
<Do Put on palette#2/>
在该作业脚本中,在作业单位“Unload from machines”,只要machine#1以及#2的任何一个满足作业开始条件14,就先对于满足作业开始条件14的加工机械执行Unload。以后,用machines表示的加工机械,作为Unload的加工机械处理。同样,在第二行的作业单位“Put on tables”中,对于满足作业开始条件14的table#1或#2执行Put on,以后tables作为Put on了的table处理。这样,可以根据作业开始条件14从在几个选择项中决定在作业脚本中记载的作业单位中使用的装置或机械。装置选择项的定义,可记述如下。
<Select machines among machine#1,machine#2/>
<Select tables among table#1,table#2/>
进而,在根据选择项“machines”决定使用的加工机械的上述结构中,也可以限制装置或机械的组合方法,使在使用machine#1时使用table#1,在使用machine#2时使用table#2。组合的限制可如下定义。
<Deforder machines,tables/>
<Workset machine#1,table#1/>
<Workset machine#2,table#2/>
上述记述表示,在machines中选择machine#1时tables一定是table#1,在machines中选择machine#2时tables一定是table#2。另外,该记述还规定先以machines确定加工机械,接着以tables确定暂置台的处理顺序。在这场合,在处理作业脚本第二行的“Put on tables”时,因为加工机械尚未确定,所以不能就原样不变地决定暂置台。因此,构成为先根据第三行的“Unloadfrom machines”的作业开始条件14确定加工机械,使与此吻合,根据第二行的作业开始条件14确定暂置台。然后在确定暂置台后执行第二行的作业单位。在这样的结构中,先读第三行确定加工机械,但是第三行的作业单位在第二行的作业单位完成前作为开始预定状态对待,使在其他的作业脚本中满足作业开始条件14。
使用装置选择项的装置或机械的分配,如上述,可以通过一边逐行执行作业脚本一边在每次碰上未确定的装置选择项时分配装置的(Ondemand)方式、和在开始作业脚本前在全部装置选择项中进行装置或机械的分配,在全部装置或机械被确定前不开始作业脚本的执行(Reservation)的方式的任意一种来执行。这些处理方式,可对应生产系统的规模、作业脚本的复杂度、需要的装置的个数等选择适当的一方。另外,可以对于每一个作业脚本选择处理方式,也可以并行执行处理方式不同的作业脚本。
在本发明中,给每一作业单位作成的多个作业程序12使用作业脚本顺序执行。在生产系统的当前状态适合作业单位的作业开始条件14时可以接着执行该作业单位。生产系统的当前状态,通过在生产系统内存在的装置或机械的当前状态的集合来表示。全部装置或机械的具有表示其自身状态的状态变量。状态变量取的值,对应装置或机械的种类来规定,相同种类的装置或机械具有相同的状态变量的集合。这里,考虑通过两台加工机械machine#1以及machine#2、一台机械手robot、两个暂置台table#1以及table#2、四个板palette#1、palette#2、palette#3、以及palette#4构成的生产系统。
Machine#1以及machine#2的状态集合的任何一个都用<Class MachineState:PowerOff State:Initializing State:ManualOperation State:Loading State:ReadyToProcess State:Processing State:ToolChanging State:Completed State:Unloading State:AirPurging State:Empty/>表记。多个State,分别表示加工机械是下述的状态。
PowerOff……未接通电源
Initializing……电源接通动作准备中
ManualOperation……手动操作中
Loading……正在接受工件的供给
ReadyToProcess……加工准备结束,等待加工开始
Processing……加工中
ToolChanging……正在更换加工刀具
Completed……完成加工,等待取出加工完毕的工件
Unloading……正取出加工完毕的工件
AirPurging……正在清除加工完毕的工件的冷却液
Empty……没有工件,等待供给工件
Robot的状态集合用<Class Robot State:PowerOff State:Initializing State:EmptyHanded State:Carrying State:Moving State:Grasping State:AtPerch/>表记。多个State,分别表示机械手是下述的状态。
PowerOff……未接通电源
Initializing……电源接通动作准备中
EmptyHanded……什么都没持有
Moving……什么都没持有移动
Carrying……持有物体正在搬运
Grasping……把持有物体
Table#1以及table#2的状态集合的任何一个都用<Class Table State:VacantState:Exist/>表记。多个State,分别表示暂置台是下述的状态。
Vacant……暂置台上什么都没放置
Exist……暂置台上有工件放置
palette#1、palette#2、palette#3、以及palette#4的状态集合的任何一个都用<Class Palette State:Nosupply State:Vacant State:Afford State:Full/>表记。多个State,分别表示板是下述的状态。
Nosupply……板未到达站位置
Vacant……板上无工件
Afford……板上存在可供给的工件,或者板上有可收容新工件的空区域
Full……板上有可收容新工件的空区域
生产系统的当前状态,可以通过每个装置或机械的状态变量具有上述状态集合中哪个State表示。
例如,生产系统的当前状态,在用<External World machine#1:Processingmachine#2:Completed robot:EmptyHanded table#1:Exist table#2:Vacantpalette#1:Afford palette#2:Afford palette#3:Afford palette#4:Afford/>记述时,表示machine#1在加工中,machine#2是加工完成等待取出加工完毕的工件的状态,robot是什么也没有持有的状态,在table#1上放有工件、在table#2上不放有工件的状态,palette#1~#4的任何一个都可收容未加工工件的供给或者加工完毕工件的状态。
生产系统的状态在时刻变化,但是也可以通过上述状态集合的变化表现那样的状态变化形态。例如,假定生产系统的上述状态集合的记述,和时间的经过一同如下变化。
<External World machine#1:Processing machine#2:Unloading robot:Carrying table#1:Exist table#2:Exist palette#1:Afford palette#2:Afford palette#3:Afford palette#4:Afford/>
从该记述可以读取,machine#2从Completed变化为Unloading,robot从EmptyHanded变化为Carrying,table#2从Vacant变化为Exist。
每个装置或机械的状态变量变化的条件(状态转移)例如可如下记述。
<Class Table FromState:Vacant ToState:Exist Transision:%Table.ExistComfirmSignal%=ON/>
<Class Table FromState:Exist ToState:Vacant Transision:%Table.ExistConfirmSignal%=OFF/>
根据这样的记述,可以了解,Table#1以及#2的状态从Vacant变化到Exist是在%Table.ExistConfirmSignal%信号ON时,从Exist变化到Vacant是在%Table.ExistConfirmSignal%信号OFF时。
这样,把使用状态集合(即状态信息)表现生产系统在本申请中称为生产系统的外部模型。一般在生产系统中,在多个位置设置各种开关或传感器类,来自这些开关或传感器的信息作为表示该位置的状态的信号传送到机械手控制装置10。机械手控制装置10从这些各种信号中识别生产系统的每个装置或机械的当前状态,制作上述的状态集合,根据它判断生产系统的状态。
机械手控制装置10,可以在外部模型外有生产系统的内部模型。内部模型,和外部模型同样,是生产系统中的多个装置或机械的状态的集合,例如如下记述。
<Internal World machine#1:Processing machine#2:Completed robot:EmptyHanded table#1:Exist table#2:Vacant palette#1:Afford palette#2:Affordpalette#3:Afford palette#4:Afford/>
外部模型,把从在生产系统的任何位置设置的传感器类来的信号的变化根据上述状态转移作为状态变化表现,对此,内部模型,通过机械手控制装置10执行的作业单位的状态(即内部信息28)直接表现状态变化。例如如下所示,假定在作业脚本的各作业单位中定义作业开始条件14和作业结束条件26双方。
<Do Pick on a table,condition Table:Exist,result Table:Vacant,conditionRobot:EmptyHanded,result Robot:Grasping/>
在这样的记述中,表示作业单位“Pick on a table”,在Table的状态是Exist且Robot的状态是EmptyHanded时,可以开始作业,在该作业单位完成时,Table的状态变成Vacant,Robot的状态变成Grasping。此时,在外部模型中,如下定义Table以及Robot的状态转移。
<Class Table FromState:Vacant ToState:Exist Transision:%Table.ExistConfirmSignal%=ON/>
<Class Robot FromState:Moving ToState:EmptyHanded Transision:%Robot.CurrentMoveSpeed%=0/>
<Class Robot FromState:EmptyHanded ToState:Grasping Transision:%Robot.HandGraspedConfirmSignal%=ON/>
<Class Robot FromState:Grasping ToState:EmptyHanded Transision:%Robot.HandEmptyConfirmSignal%=ON/>
例如,在外部模型中,在Table的状态是Exist、Robot的状态是EmptyHanded时,机械手控制装置10执行作业单位Pick on a table,把持位于暂置台上的工件。为把持工件,因为需要闭合工具(手),所以在该作业单位内使作为手闭合信号的%Robot.HandGraspingCommandSignal%开(ON)。通过机械手控制装置10输出手闭合信号,该作业单位的处理结束,但是,在从手闭合信号输出到手实际闭合需要数百ms左右的时间。在外部模型中,通过传感器信号的%Robot.HandGraspedConfirmSignal%成为ON掌握手的实际闭合,此时,遵照Robot的状态转移的定义,Robot的状态变量从EmptyHanded变化为Grasping状态。其结果,满足“Pick on a table”的作业结束条件,可以判断“Pick on a table”完成。
与此相对,关于相同的作业单位,在内部模型中比外部模型状态先变化。即在内部模型中,在Pick on a table中输出手闭合信号的同时(即手实际闭合、%Robot.HandGraspedConfirmSignal%成为ON前),使状态变量转移到作业完成的状态。于是,可以构成为在外部模型的状态集合(状态信息16)和内部模型的状态集合(内部信息28)完全一致的时刻,判断为完成Pick on a table,转移到下一作业单位的执行。
在外部模型和内部模型在经过一定时间以上仍不一致时,可以认为在作业单位Pick on a table中发生错误。这样,在和作业单位的执行同时更新内部模型,另一方面,根据作业单位中的实际的传感器信息更新外部模型,通过验证内部模型和外部模型是否一致,可以判断该作业是正常完成,还是由于执行不当而到达异常结束的状态。
这样,通过比较用互相不同的条件表现生产系统内的装置或机械的状态的变化的外部模型和内部模型,可以判断作业单位的完成状态的正常性。这种方法,就是在变更生产系统的模型或者变更作业单位的作业内容时也能够同样实施。在不具有内部模型时,需要把判断作业单位是否正常完成的处理导入作业程序12中,但是那样的完成判断处理,在生产处理变更时必须改写内容。与此相对,通过比较外部模型和内部模型判断完成状态的正常性,因为作业程序12自身不变,所以具有即使生产处理变更也可以再利用每个作业单位的作业程序12的优点。
另外,比较外部模型和内部模型这点在监视生产系统的状态、自动检测伴随装置或机械的故障的异常状态这点上也有效。正常时,在作业单位的执行前变化内部模型,其后,同样变化外部模型。与此相对,在即使在经过一定时间外部模型也和内部模型不一致时,或在尽管内部模型不变化而外部模型变化时,能够判断在生产系统中发生异常。这一异常判断,因为通过持续进行外部模型和内部模型的比较以实时进行,所以能够在发生异常的同时使机械手停止或者采取回避行动。
把上述异常检测方法作为例子关联作业单位“Pick on a table”加以说明。在“Pick on a table”中,在作业完成后,在外部模型和内部模型的任何一个中,Robot的状态都从EmptyHanded变化为Grasping。因此,即使经过一定时间外部模型仍是EmptyHanded不变时,认为%Robot.HandGraspedConfirmSignal%不成为ON,不发生状态转移,判断Pick ona table不成功。另一方面,在一定时间内外部模型和内部模型双方Robot的状态都变化为Grasping时,可以认为Pick on a table正常完成,可以前进到下一作业单位。
假定在作为“Pick on a table”的下一作业单位的“Load ti machine#1”的执行中,在table#1中把持的工件从手中脱落,在这一场合,作为手的把持工件不存在信号的%Robot.HandEmptyConfirmSignal%成为ON,遵照状态转移,外部模型的Robot的状态从Grasping变化为EmptyHanded。另一方面,内部模型中的Robot的状态维持Grasping。该状态的不同,因为通过始终比较内部模型和外部模型可以立即检测到,所以可以迅速采取适当的对策。另外,从手中脱落的工件载放在table#1上,在table#1上的光电管传感器感知到工件的存在时,内部模型的table#1的状态是vacant不变,另一方面,因为外部模型的table#1的状态从vacant变化为exist,所以可以检测到table#1的状态异常。因此,可以在对机械手进行处置之外,对于暂置台迅速采取适当的后处理。这样,即使在生产系统中并行发生多个异常状态,也可以迅速进行与各自的内容对应的适当的处理。
把在检测到异常时为进行回避行动的作业单位在本申请中称为例外处理作业单位。例外处理作业单位和通常的作业单位同样,包含作业开始条件14和作业结束条件26,在作业脚本中开列。例如,通过记述下述那样的作业脚本,可以在发生异常时从通常的作业单位分支转移到例外处理作业单位。
<Do Pick on palette#1/>
<Do Put on table#1/>
<Do Unload from machine#1/>
<Do Put on table#1/>
<Do Pick on table#1,Exception Goto 2/>
<1:Do Load to machine#1/>
<Do Pick on table#1/>
<Do Put on palette#2/>
<Stop/>
<2:Do Pick on palette#1/>
<Goto 1/>
在上述的作业脚本中,在第五行的Pick on table#1发生异常时,执行Exception Goto 2。如执行Goto 2,则执行第十行的<2:Do Pick on palette#1/>。然后在执行第十行中的作业单位后,执行第十一行的<Goto1/>,由此转移到第六行(发生异常时的下一行)的作业单位。即因为在第五行的Pick on table#1中从table#1取出工件失败,所以执行第十行的Pick on palette#1,从palette#1取出工件,接着在第六行的Load to machine#1中向machine#1供给工件。
这样,在发生异常时执行例外的作业时,也可以不用修正预先设定的每个作业单位,而只修正作业脚本适当追加例外处理作业单位进行应对。在例外处理作业单位中包含不适当情形时,仅把作业脚本复原,能够使例外处理作业单位无效。
另外,比较外部模型和内部模型检测生产系统的异常这点在生产系统由于机器的故障等紧急停止时,为安全地重新开始由机械手进行的作业也有效。在生产系统紧急停止时,为分析或者消除其原因,多由操作员手动介入系统,或除去工件,或用手动方式操作机械手,或执行夹具卡子或者机械手夹具的开闭。如由操作员进行手动介入,则因为生产系统的状态从紧急停止时的状态变动,损害和机械手的作业程序12的相关性,所以不能就原样不变地重新开始作业。因此,操作员在重新开始作业前,需要适当进行恢复生产系统的状态和机械手的作业程序12的相关性的作业,但是,通过使用上述外部模型和内部模型,可以与操作员关于生产系统的理解度无关地执行适当的恢复作业。
例如,假定在下述外部模型的状态下发生警报,生产系统紧急停止。
<External World machine#1:Processing machine#2:Unloading robot:Carrying table#1:Exist table#2:Exist palette#1:Afford palette#2:Afford palette#3:Afford palette#4:Afford/>
此时内部模型如下述也处于相同状态。
<Internal World machine#1:Processing machine#2:Unloading robot:Carrying table#1:Exist table#2:Exist palette#1:Afford palette#2:Afford palette#3:Afford palette#4:Afford/>
因为由于警报机械手停止,所以内部模型维持上述状态。与此相对,外部模型根据在生产系统中设置的传感器信息变化状态。因此,例如在上述状态中,如果操作员决定从table#1取出工件,则通过在table#1上设置的传感器立即检测到这点,由此,外部模型的table#1的状态如下从Exist变化为Vacant。
<External World machine#1:Processing machine#2:Unloading robot:Carrying table#1:Vacant table#2:Exist palette#1:Afford palette#2:Affordpalette#3:Afford palette#4:Afford/>
在该状态下,为重新运行生产系统而向机械手控制装置10发送起动请求后,机械手控制装置10首先确认外部模型和内部模型是否一致。内部模型是因警报紧急停止时的状态未变,如其状态和外部模型的状态一致,则即使继续执行作业单位也是安全的。与此相对,如果外部模型和内部模型不一致,则原样不变重新开始作业单位的话有发生问题的危险。在上述例子中,因为在外部模型和内部模型中table#1的状态不同,所以不能原样不变重新开始作业。
这里,在向机械手控制装置10发送起动要求时,机械手控制装置10,首先对操作员例如在机械手控制装置10上附设的显示器上显示外部模型和内部模型不同的内容(在上述例子中table#1从Exist变化为Vacant)。进而,通过向显示器的显示可以向操作员请求确认在这样的状态下不改变可否起动机械手(从新开始许可指令)。操作员在确认在显示器上显示的内容的基础上,可以例如在机械手上附设的输入装置输入许可或者不许可重新开始的指示。在输入许可重新开始时,把内部模型改写为与外部模型相同的内容,重新开始被中断了的作业。在输入不许可重新开始时,中止机械手的起动。
进而,也可以构成为,关于外部模型和内部模型的不同点,事前作成为使操作员了解原因及其对策的消息,在进行重新开始的确认时在显示器上显示这些消息。例如在上述例子中,显示外部模型的table#1的状态从Exist变化为Vacant的原因和对策。操作员阅读该信息,例如可以确认table#1的传感器是否适当地动作,或者如果通过手工作业把新的工件放在table#1上则理解可以重新开始。这样,操作员通过遵照机械手控制装置10发出的消息,能够可靠地恢复外部模型表示的生产系统中紧急停止时的状态。这样的消息,通过由熟知生产系统的操作员预先制作后在机械手控制装置10中登记,任何人都可以遵照这些消息安全而且可靠地重新运行生产系统。
下面,参照图5~图22,关联机器人执行的作业例说明根据本发明的合适的实施形态的机械手控制装置。
图5是组装有本发明的一个实施形态的机械手控制装置40的、使用机械手的生产系统的整体概况图。在机械手(即机械手机构部)42的手腕前端安装工具(在图示实施形态中为夹具)44。在板P1上放置多个工件W1,在板P2上放置和工件W1种类不同的多个工件W2。机械手42在移动轴46上设置,沿移动轴46移动,在工具44中把持板P1的工件W1或板P2的工件W2,搬运到暂置台48或者暂置台50,在那里临时放置。暂置台48在向加工机械52供给工件时使用,暂置台50在向加工机械54供给工件时使用。
如果加工机械52不在加工中,则机械手42把在暂置台48上放置的工件W1或W2把持在工具44中,供给到加工机械52。加工机械52根据来自机械手42的加工开始命令,开始工件的加工。加工完成后,加工机械52给机械手42发送加工完成信号。接收加工完成信号的机械手42从加工机械52中取出加工完毕的工件W1或W2,把工件W1放在板P3上、把工件W2放在板P4上。在给加工机械54供给工件时,在使用暂置台50以外,也执行和上述相同的工序。
机械手42以及移动轴46分别通过通信电缆56以及58与机械手控制装置40连接,由机械手控制装置40控制机械手42以及移动轴46的动作。机械手控制装置40通过网络电缆60连接作业程序制作装置62。在机械手42的手腕前端,邻接工具44安装照相机64,照相机64通过照相机电缆66连接图像处理装置68。图像处理装置68,通过网络电缆70、72分别连接机械手控制装置40以及作业程序制作装置62。在暂置台48、50上,分别设置从板P1搬运来的工件W1用的定位夹具48a、50a,和从板P2搬运来的工件W2用的定位夹具48b、50b。这些定位夹具48a、48b、50a、50b,通过数字信号输入输出电缆(未图示)分别与机械手控制装置40连接。
图6是主要表示图5的生产系统中的控制系统的结构框图。机械手控制装置40具有用总线74相互连接的CPU 76、存储器78、网络接口80、数字信号输入输出电路82、操作盘接口84以及伺服接口86。如图7所示,在存储器78中,存储由CPU 76执行的、控制机械手控制装置40全体的控制程序88、和使机械手42动作的作业程序90以及92。作业程序90是机械手42使用工具44为执行关于工件W1的作业的程序,作业程序92是机械手42使用工具44为执行关于工件W2的作业的程序。作业程序90以及92都使用控制程序88解释,变换为机械手42以及工具44的动作。这些作业程序90以及92由作业程序制作装置62制作。
在机械手控制装置40的存储器78中,如后述,进而存储主作业脚本94(94a、94b、94c、94d)、作业程序组96(96a、96b、96c、96d)、作业脚本98(981、982)、外部存储器100、内部存储器102、条件处理表104。
在网络接口80上,通过网络电缆60连接作业程序制作装置62,同时通过网络电缆70连接图像处理装置68。另外,在数字信号输入输出电路82上,通过数字信号输入输出电缆106连接暂置台48的夹具48a、48b以及暂置台50的夹具50a、50的每一个,通过数字信号输入输出电缆108连接加工机械52、54的每一个,通过数字信号输入输出电缆110连接在机械手42上安装的工具44。
在操作盘接口84上,通过操作盘电缆112连接示教操作盘114。示教操作盘114,具有显示器114a以及输入按钮114b,通过操作员操作示教操作盘114,通过机械手控制装置40可以以手动方式使机械手42动作。另外,在伺服接口86上,通过通信电缆56、58,连接机械手42的各控制轴以及移动轴46的伺服电动机等伺服机构。
在作业程序制作装置62上连接硬盘装置116。如图8所示,在硬盘装置116中,存储与机械手42动作的多个作业路径R(在图示实施形态中后述的Ra、Rb、Rc、Rd)的每一个关联的作业程序定义数据119(在图示实施形态中的118a、118b、118c、118d)、与加工对象的多种工件W(在图示实施形态中的W1、W2)的每种关联的作业部位定义数据120(在图示实施形态中的1201、1202)、和工件W(W1、W2)的画面数据122(1221,1222)。再有在硬盘装置116中,如后述,存储作业模式数据124、装置定义数据126、装置属性数据128、装置部件类别数据130、主作业脚本132(132a、132b、132c、132d)、以及程序组134(134a、134b、134c、134d)。
图示实施形态中的机械手42的作业路径R有:(i)从板P1取出工件W1、搬运到暂置台48上、由定位夹具48a定位、供给加工机械52、从加工机械52取出加工完毕的工件W1、载放在板P3上的第一作业路径Ra,(ii)从板P2取出工件W2、搬运到暂置台48上、由定位夹具48b定位、供给加工机械52、从加工机械52取出加工完毕的工件W2、载放在板P4上的第二作业路径Rb,(iii)取出板P1的工件W1、搬运到暂置台50上、由定位夹具50a定位、供给加工机械54、从加工机械54取出加工完毕的工件W1、载放在板P3上的第三作业路径Rc,(iv)取出板P2的工件W2、搬运到暂置台50上、由定位夹具50b定位、供给加工机械54、从加工机械54取出加工完毕的工件W2、载放在板P4上的第四作业路径Rd。
与作业路径Ra、Rb、Rc、Rd的每一个关联的作业程序定义数据118a、118b、118c、118d由对应作为机械手42的作业对象的工件W1、W2的种类改变动作的第一数据部分、和与工件W1、W2的种类无关动作相同的第二数据部分构成。依赖工件的第一数据部分,根据与作业对象的工件W1、W2的每一个关联的作业部位定义数据1201、1202,对于每一工件作成不同的内容,由此,完成对于工件W1、W2的每一个的作业程序90、92。
再次参照图6,在图像处理装置68上连接硬盘装置136。在硬盘装置136中存储作为为检测作业对象的工件W(在图示实施形态中为W1、W2)的基准的工件图像数据138(在图示实施形态中为1381、1382)。工件图像数据1381、1382,可通过使用在机械手42的手腕前端上安装的照相机64摄影工件W1、W2得到。
另外,机械手控制装置40通过网络电缆140连接综合控制图示的生产系统(单元)的单元控制器142。机械手控制装置40经由网络接口80接收来自单元控制器142的生产指示。
图9~图14表示在上述生产系统中在机械手控制装置40的控制下机械手42执行的作业(处理作业)的工序。这里作为一例,说明关联暂置台48以及加工机械52的上述第一作业路径Ra中的工件W1的处理作业,但是其他作业路径中的作业也可以同样执行。
首先,起动移动轴46,向板P1的正面(示教点)移动机械手42(步骤S200)。接着,旋转机械手42的臂,把工具44移动到板P1的正上方(示教点)(步骤S201)。然后,通过数字信号输入输出电路82对于工具44输出“张开手”的数字信号,打开工具44(步骤S202)。
接着,把工具44朝向把持工件W1的把持位置(工件上的位置)移动。此时,在把工具44移动到把持位置的正上方的位置后,朝向其正下方的把持位置以低速移动(步骤S203)。该动作因为对应工件的种类决定把持时的机械手42的姿势,所以依赖工件的种类动作。
然后,通过数字信号输入输出电路82对于工具44输出“握住手”的数字信号,工具44闭合,把持工件W1(步骤S204)。接着,把工具44向上方移动,从板P1中取出工件W1。此时,在以低速把工具44移动到把持位置的正上方的位置后,提高速度进而向上方拿起工件W1(步骤S205)。
接着,向右旋转机械手42的臂,同时使移动轴46动作,向暂置台48的正面移动机械手42(步骤S206)。接着,把工具44移动到定位夹具48a的上方(步骤S207)。接着,把工具44朝向定位夹具48a抓住工件W1的释放位置移动。此时,在把工具44移动到释放位置的上方的位置后,朝向其下方的释放位置以低速移动,把工件W1安装到定位夹具48a上(步骤S208)。然后,通过数字信号输入输出电路82对于工具44输出“张开手”的数字信号,打开工具44。由此,工具44释放工件W1(步骤S209)。
接着,把工具44移动到释放位置的上方的位置,从定位夹具48a离开(步骤S210)。在那里,通过数字信号输入输出电路82对于定位夹具48a输出“闭合卡子”的数字信号,定位夹具48a闭合。由此,在定位夹具48a上把工件W1正确地定位在规定位置上(步骤S211)。
接着,把工具44朝向在定位夹具48a上被卡住的工件W1的把持位置移动(步骤S212)。接着,在把持位置闭合工具44,把持工件W1(步骤S213)。在那里,对于定位夹具48a输出“打开卡子”的数字信号,打开定位夹具48a(步骤S214)。接着,把工具44向上方移动,从定位夹具48a中取出工件W1。此时,对于定位夹具48a在把工具44低速向斜上方(示教点)移动后,提高速度,进而把工件W1向上方拿起(步骤S215)。
接着,旋转机械手42的臂,向加工机械52的正面移动工具44(步骤S216)。接着,从加工机械52的门开口部,把工具44插入加工机械52的内部。此时,不使工具44以及工件W1接触加工机械52,使机械手42的臂笔直伸开进入(步骤S217)。然后,在加工机械52的卡盘(未图示)的跟前一旦停止后,以低速把工件W1安装在卡盘上。在那里,通过数字信号输入输出电路82对于加工机械52输出“闭合卡盘”的数字信号,卡盘闭合(步骤S218)。
接着,对于工具44输出“张开手”的数字信号,打开工具44,释放工件W1(步骤S219)。接着,以低速移动工具44到稍微离开卡盘的位置(步骤S220)。接着,不使工具44接触加工机械52,使机械手42的臂笔直伸开,从加工机械52的门开口部拉出工具44(步骤S221)。
接着,通过数字信号输入输出电路82对于加工机械52,作为来自第一作业路径Ra的指令,输出“开始工件W1的加工”的数字信号(步骤S222)。然后,在从加工机械52向机械手控制装置40输入“工件W1的加工完成”之前待机(步骤S223)。在工件W1的加工完成后,使工具44进入加工机械52的内部(步骤S224),朝向加工完毕的工件W1的把持位置移动工具44(步骤S225)。接着,闭合工具44,把持工件W1(步骤S226)。
接着,对于加工机械52,输出“打开卡盘”的数字信号,打开卡盘(步骤S227)。接着,使工具44稍微离开把持位置,从加工机械52的卡盘中笔直取出工件W1(步骤S228)。接着,从加工机械52撤出工具44(步骤S229)。
接着,向右旋转机械手42的臂,同时起动移动轴46,把机械手42移动到板P3的正面(步骤S230)。接着,把工具44移动到板P3的正上方(步骤S231)。接着,把工具44移动到载放板P3上的工件W1的载放位置,把工件W1置于板P3上。此时,在把工具44移动到载放位置的正上方的位置后以低速朝向其正下方的载放位置移动,把工件W1放在板P3上(步骤S232)。这一工件载放动作,因为要对应工件的种类决定向板P3载放时的机械手42的姿势,所以要依赖工件的种类。
接着,打开工具44,释放工件W1(步骤S233)。接着,在以低速把工具44移动到载放位置的正上方后,提高速度进而向上方移动(步骤S234)。最后,在朝向机械手正面旋转机械手42的臂的同时,使移动轴46动作,把机械手42移动到初始的待机位置(步骤S235)。以上,结束对于第一作业路径Ra中的工件W1的作业程序90。
此外,在图12~图14中表示出与上述步骤S200~步骤S235对应的工具44的动作轨迹。在图示的动作轨迹中,依赖工件种类的动作仅是关于步骤S203以及步骤S232的动作,其他的动作轨迹表示的动作不依赖种类。例如,在把工件W2放置在板P1上时,上述的第一作业路径Ra中的作业,在关于上述步骤S203以及步骤S232的动作之外,成为和上述动作相同的动作。
下面参照图15~图22说明为使机械手42执行上述处理作业的作业程序90、92和作业脚本98的内容、以及由控制程序88执行的动作控制序列。此外,机械手控制装置40的CPU76具有图1~图4所示的机械手控制装置10中的信息收集部18、程序选定部20、处理部22、程序完成判断部24、停止控制部30、状态判断部32以及重新开始控制部的功能。
图15以流程图形式表示从工件的观点记述上述通过机械手42执行的处理作业的作业模式数据124。作业模式数据124,对应机械手42的作业内容制作,在硬盘装置116中存储。在作业模式数据124中,以%Material_Palette%(素材供给用板)、%Fixture%(暂置台的定位夹具)、%Machine%(加工机械)、%Goods_Palette%(成品载放用板)这样的参数记述作为执行每个作业单位的场所的生产系统内的装置或机械。对于这些参数,通过设定实际的装置或机械的名称,制作表示具体的作业工序的作业脚本。例如,表示上述处理作业的作业脚本,通过给每个参数设定下述的名称制作。
%Material_Palette%……板P1
%Goods_Palette%……板P3
%Fixture%……定位夹具48a
%Machine%……加工机械52a
为给参数设定具体的装置名,使用下述装置定义数据126。装置定义数据126在硬盘装置116中存储。此外,下述数据中,Palette_P1、Palette_P3、Fixture_F1、Machine_left分别表示图5的板P1、板P3、定位夹具48a、加工机械52a。
<Actions>
  <Action run=”W1P1P3MR”>
  <ARGUMENTS>
    <OBJECT name=”Material_Palette”val=”Palette_P1”/>
    <OBJECT name=”Goods_Palette”val=”Palette_P3”/>
    <OBJECT name=”Fixture”val=”Fixture_F1”/>
    <OBJECT name=”Machine”val=”Machine_left”/>
  </ARGUMENTS>
</Actions>
在硬盘装置116中还对于每一装置制作并存储每个装置或机械的名称、决定信号号码等的装置属性数据128。在装置属性数据128中,定义各种常数、信号号码、等待时间、登记号码等。装置属性数据128还对于加工机械54、暂置台50的定位夹具50a、50b、板P2以及P4进行准备。这里,作为同种装置的加工机械52以及54、定位夹具48a、48b、50a以及50b、板P1、P2、P3以及P4,分别具有大体相同的数据结构,通常仅各种常数、信号号码、等待时间、登记号码的值不同。因此,使用在硬盘装置116中存储的装置/部件类别数据130,先仅定义数据结构后,制作包含其他数据的装置属性数据128。
图16用流程图形式表示作为在作业模式数据124中使用装置定义数据126得到的作业工序的主作业脚本132。主作业脚本132,通过在装置定义数据126中记述可进行作业的装置的组合,可以制作与全部组合对应的作业程序。在图5的生产系统中,因为考虑装置以及机械的四种组合(对应作业路径Ra~Rd),所以制作下述四个主作业脚本132a、132b、132c、132d。此外,Fixture_F2表示定位夹具48b,Fixture_F3表示定位夹具50a,Fixture_F4表示定位夹具50b,Palette_P2表示板P2,Palette_P4表示板P4,Machine_Right表示加工机械54。
<Actions>
  <Action run=”F1P1P3ML”>(主作业脚本132a)
  <ARGUMENTS>
    <OBJECT name=”Material_Palette”val=”Palette_P1”/>
    <OBJECT name=”Goods_Palette”val=”Palette_P3”/>
    <OBJECT name=”Fixture”val=”Fixture_F1”/>
    <OBJECT name=”Machine”val=”Machine_left”/>
  </ARGUMENTS>
</Action>
  <Action run=”F2P2P4ML”>(主作业脚本132b)
  <ARGUMENTS>
    <OBJECT name=”Material_Palette”val=”Palette_P2”/>
    <OBJECT name=”Goods_Palette”val=”Palette_P4”/>
    <OBJECT name=”Fixture”val=”Fixture_P2”/>
    <OBJECT name=”Machine”val=”Machine_left”/>
  </ARGUMENTS>
</Action>
  <Action run”F1P1P3MR”>(主作业脚本132c)
  <ARGUMENTS>
    <OBJECT name=”Material_Palette”val=”Palette_P1”/>
    <OBJECT name=”Goods_Palette”val=”Palette_P3”/>
    <OBJECT name=”Fixture”val=”Fixture_F3”/>
    <OBJECT name=”Machine”val=”Machine_Right”/>
  </ARGUMENTS>
</Action>
  <Action run=”F2P2P4MR”>(主作业脚本132d)
  <ARGUMENTS>
    <OBJECT name=”Material_Palette”val=”Palette_P2”/>
    <OBJECT name=”Goods_Palette”val=”Palette_P4”/>
    <OBJECT name=”Fixture”val=”Fixture_F4”/>
    <OBJECT name=”Machine”val=”Machine_Right”/>
  </ARGUMENTS>
</Action>
</Actions>
制作成的主作业脚本132a、132b、132c、132d,从硬盘装置116经由网络接口80复制到机械手控制装置40的存储器78中,作为主作业脚本94a、94b、94c、94d存储。
作业程序制作装置62,以在作业模式数据124的步骤S300~S310(图15)中的每一步骤中准备的作业块(进一步细分作业单位的产物)的多种组合为雏形,使用装置定义数据126以及装置属性数据128,制作对主作业脚本132的步骤S311~S321(图16)的作业单位的每一个进行指令的多个(11个)作业程序(即作业程序组134)。作业程序组134,对应上述四个主作业脚本132a、132b、132c、132d,制作四个作业程序组134a、134b、134c、134d。制作成的作业程序组134a、134b、134c、134d从硬盘装置116经由网络接口80复制到机械手控制装置40的存储器78中,作为作业程序组96a、96b、96c、96d存储。
机械手控制装置40,从单元控制器142接收生产开始指令后,通过数字信号输入输出电路82,在确认加工机械52以及54是否在加工中、以及在定位夹具48a、48b、50a以及50b中是否放置了工件的基础上,选择符合指令的一个主作业脚本94a、94b、94c或94d。复制所选择的主作业脚本,制作作业脚本98。作业脚本98,根据来自单元控制器142的生产指示分别对应可并行进行作业的多个工件W1、W2制作,作为作业脚本981、982在存储器78中存储。此外,有时,吻合生产指示,由单元控制器142指定在作业中使用的加工机械或定位夹具,在这种场合,不需要确认加工机械52、54、定位夹具48a、48b、50a、50b的状态。
在制作好作业脚本98后,CPU 76遵从控制程序88,使用在每个作业脚本981、982中的作业开始条件14(图1),判断有没有可执行状态的作业脚本981、982。此时,使用每个作业脚本981、982内的作业开始条件14(图1)。即,经由数字信号输入输出电路82,检测加工机械52、54、定位夹具48a、48b、50a、50b的每一个的状态,确认它们的状态是否满足各作业脚本981、982中的执行阶段的(即指针指示的)作业程序的作业开始条件14。在有多个满足作业开始条件14的作业脚本时,遵从已经说明的特定的规则,选择其一。然后CPU 76对与选择的作业脚本对应的一个作业程序组96a、96b、96c、96d的、在该作业脚本中的执行阶段的作业程序进行执行处理。
上述的作业程序的制作工序,是作业程序制作装置62,对于作业模式数据124,准备与全部装置组合对应的个数的装置定义数据126,制作与全部装置组合对应的主作业脚本132,向其输入装置属性数据128以及装置/部件类别数据130,预先制作全部作业程序组134的工序。或者,也可以由机械手控制装置40的CPU 76,遵从控制程序88,根据外部模型100决定在作业中使用的装置,通过把其装置信息经由网络接口80向作业程序制作装置62发送,作业程序制作装置62制作与实际使用的装置组合相关的作业程序组134。
机械手控制装置40的CPU 76,在作业程序的执行完成后,通过数字信号输入输出电路82,检测加工机械52、54、定位夹具48a、48b、50a、50b的当前状态,判断是否满足作业脚本中执行了作业程序的作业完成条件26(图2)。如果在一定时间内满足作业完成条件26,则因为作业脚本的该行的执行完成,所以CPU 76遵从控制程序88,选择可执行的作业脚本981、982。CPU76在全部作业程序完成前反复该作业。CPU 76遵从控制程序88,通过数字信号输入输出电路82,始终检测加工机械52、54、定位夹具48a、48b、50a、50b的当前状态,随时更新存储器78内的外部模型100。另外,在满足作业脚本的作业完成条件26时,CPU 76遵从控制程序88,更新内部模型102。进而,CPU 76遵从控制程序88,进行外部模型100和内部模型102的比较,在两者不一致时,执行已述的例外处理作业单位。
图17~图21,表示控制程序88中的动作序列。控制程序88,在存储器78内制作图22所示条件处理表(CPT)104,在作业区域中使用该CPT 104,进行处理。下面遵照附图,说明动作序列的每一步骤。
步骤S330,对于存储器78内的全部作业脚本98,宣布反复执行到步骤S406的处理。
在步骤S331,在存储器78内制作作为作业区域的CPT 104。同时,初始化CPT 104的全部行的全部栏的值。
在步骤S332,在处理中的作业脚本中,把指针指示的行作为执行行。
步骤S333宣布对于在执行行中记载的每个Condition标签<Condition/>,反复执行到步骤S343的处理。
在步骤S334,取出Condition标签的装置或机械的名称(对象名),将其记入CPT 104的Object栏内。
在步骤S335,判断在Object栏内记入的对象名是否是装置选择项。装置选择项通过作业脚本内的Select标签<Select/>定义。
在步骤S335中对象名不是装置选择项时,在步骤S336,在CPT 104的Select栏内记入对象名
在步骤S335中对象名是装置选择项时,在步骤S337,确认是否有与Select标签一致的装置选择项。
在步骤S337中没有与装置选择项一致的Select标签时,因为用Condition标签指示的装置选择项不正确无效,所以在步骤S338,从存储器78中删除CPT 104,结束该作业脚本的处理,返回步骤S330。
在步骤S337发现一致的Select标签时,在步骤S339,在CPT 104中追加在Select标签的among以下用逗号区分的装置选择项候补数目的行,在CPT
104的Select栏中记入成为装置选择项候补的装置名。
在步骤S340,在CPT 104各行的的Condition栏内,在Condition标签中,接着装置名记入用冒号区分在到下一逗号间记述的Condition。
在步骤S341,检查与在作业脚本的执行行内在Object栏或者Select栏内记入的装置名相同的内容是否作为Result标签<Result/>被指定。
在与在Object栏或者Select栏内记入的装置名相同的内容是用Result标签被指定时,在步骤S342在CPU104的Result栏内,在Result标签中接着装置名记入用冒号区分在到下一逗号间记入记述的Result Condition。
在与在Object栏或者Select栏内记入的装置名相同的内容不是用Result标签被指定时,在步骤S343把CPT 104的Result栏记入NULL(在图13中用—表示)。
步骤S344表示对于在作业脚本的执行行中记载的各Condition反复执行从步骤S333到步骤S340的处理。
在步骤S344结束、处理到达步骤S345时,在CPT 104中,在Object栏记入全部用Condition指示的对象名,在对象名是装置选择项候补时,在Select栏内记入装置选择项候补,在Condition栏内记入对象的作业开始条件14。
从步骤S345到步骤S350,根据作业脚本内的Deforder标签<Deforder/>执行装置选择顺序的处理。在作业脚本中仅记述一个Deforder标签。
在步骤S345,把作业用变量N初始化为1。
步骤S346宣布,对于在Deforder标签中通过逗号区分的装置选择顺序指定符,反复执行步骤S347~S348的处理。
在步骤S347,在CPT 104的Object栏内查找与Deforder标签的第N号的装置选择顺序指定符相同的名称的装置,在该行的Deforder栏内记入N。
在步骤S348,变量N加1。
在步骤S350,对于在CPT 104内未定义Deforder栏的行,在Deforder栏内记入N。
在步骤S351,为后面的处理把变量N的值保存到变量L中。
在步骤S352~S355,执行根据作业脚本内的Workset标签<Workset/>的装置组合指定符的处理。
在步骤S352,宣布对于在作业脚本中记述的多个Workset标签的每一个,反复执行步骤S353~S355的处理。
在步骤S353,从CPT 104的Select栏查找作为Workset标签的第一号的参数的装置名,在一致的行的Workset栏中记入作为Workset的第二号的参数的装置名。
在步骤S354中,从CPT 104的Select栏查找作为Workset标签的第二号的参数的装置名,在一致的行的Workset栏中记入作为Workset的第一号的参数的装置名。
在步骤S356,把作业用的变量N初始化为1。
步骤S357宣布,在变量N和变量L互相一致前,反复执行到步骤S371的处理。
在步骤S358,在CPT 104内查找Deforder栏是N的行。
在步骤S359,用外部模型100检查在步骤S358发现的行的Select栏内记入的装置的状态。
在步骤S360,判断Select栏的装置的状态与外部模型100是否一致。
在步骤S360判断为Select栏的装置的状态与外部模型100不一致时,在步骤S361判断是否检查到CPT 104的最后。
在步骤S361判断为未检查到CPT 104的最后时,在步骤S362,从CPT 104中的下一行查找Deforder栏是N的行。
在步骤S361判断为到CPT 104的最后检查完时,在步骤S363,因为未发现与在外部模型100一致的装置,所以判断为对该作业脚本的装置的分配失败。
在步骤S364,从存储器78中删除CPT 104,结束该作业脚本的处理,为进行其他作业脚本的处理返回步骤S330。
在步骤S360判断Select栏的装置的状态与外部模型100一致时,前进到步骤S365及以后的处理。
在步骤S365,检查在Workset栏内是否记入装置组合指定符。如未记入,则完成了一个装置的分配,在步骤S374,使CPT 104的第N行的Hit栏为1,前进到步骤S371。
在步骤S365判断为已记入装置组合指定符时,在步骤S366,从CPT 104的Select栏查找在Workset栏内记入的装置,在步骤S367,判断是否发现装置。
在步骤S367判断为未发现装置时,前进到步骤S372,认为装置的分配失败。于是,在步骤S373,从存储器78中删除CPT 104,结束该作业脚本的处理。
在步骤S367判断为发现装置时,在步骤S368,通过外部模型100检查发现了装置的CPT 104的第M行的Condition栏。然后在步骤S369,判断Condition栏和外部模型100是否一致。
在步骤S369判断为不一致时,返回步骤S366,从CPT 104的Select栏查找在Workset栏内记入的装置。
在步骤S369判断为一致时,因为在装置组合指定符中记入的两个装置已被分配一次,所以在步骤S370,使CPT 104的第N行的Hit栏和第M行的Hit栏都置为1。
在步骤S371中,给N加1,在步骤S375,返回步骤S357,在L和N一致前重复步骤S358~S371。
在处理到达步骤S376时,意味着对于一个作业脚本的处理完成。因此返回步骤S330,对于存储器78内的全部作业脚本,反复步骤S330~S375的处理。
步骤S377及以后的处理,在对于存储器78内的全部作业脚本的处理完成后进行。这里在存储器78内,剩余对于装置分配完成的作业脚本的CPT104。
在步骤S377,从在存储器78中剩余的CPT 104中选择一个。未被选择的CPT 104,在步骤S378从存储器78内删除,在存储器78内仅剩一个CPT104。
通过到步骤S379的处理,决定执行相应于在存储器78内剩余的CPT 104的作业脚本的指针所指的行。
在步骤S380,把CPT 104的Hit栏是1的行的Select栏的记入内容向作业程序制作装置62转发。
在步骤S381,把作业脚本所指的行的内容向作业程序制作装置62转发。
步骤S382以及步骤S383,不是控制程序88的处理序列,而是作业程序制作装置62中的处理,但是因为与控制程序88的处理序列同步进行处理,所以在这里作为一个处理序列表示。
在步骤S382,从装置属性数据128查找Select栏的内容的装置,从作业模式数据124查找作业脚本的内容,根据在步骤S380转发的Select栏的记入内容制作装置定义数据126。然后通过向作业模式数据124输入装置定义数据126,制作主作业脚本132,将装置属性数据128向其输入,制作作业程序组134。
在步骤S383,使用网络转发制作好的作业程序组,在存储器78中存储。
在步骤S384,执行在存储器78中存储的作业程序。
在步骤S385,通过外部模型100检查在CPT 104中Hit栏是1的各行的Select栏内记入的装置的状态,确认是否与在Result中记入的Condition一致。
在步骤S386,判断Hit栏是1的行的装置的状态是否与外部模型100一致。在判断为CPT 104中的Hit栏是1的全部行都一致时,转移到步骤S387,如不一致则转移到步骤S393。
处理到达步骤S387后,作业脚本中用指针指示的一行的执行完成。
在步骤S388,作业脚本的指针前进到下一行。
在步骤S389,判断作业脚本的指针指示行的命令是否是GOTO命令,在是GOTO命令时,在步骤S392,从作业脚本中查找GOTO命令的跳转目的地,使指针与该命令吻合。如不是GOTO命令,则前进到步骤S390。
在步骤S390,判断作业脚本的指针指示行的命令是否是DO命令,在是DO命令时,返回步骤S330,再次执行对于存储器78内的全部作业脚本的处理。如不是DO命令,则前进到步骤S391。
在步骤S391,判断作业脚本的指针指示行的命令是否是STOP命令,在是STOP命令时,认为该作业脚本的处理完成,在步骤S396,从存储器78删除作业脚本。如不是STOP命令,为忽略该命令返回到步骤S388,使指针前进到下一行。
在步骤S386判断为不一致时,在步骤S393,确认是否超时。如未超时,则返回步骤S385,反复检查。
在步骤S393判断为超时时,在步骤S394判断在当前正执行的行中是否定义了例外处理<Exception Goto/>。
如定义了例外处理,则在步骤S395从作业脚本中查找在例外处理中指定的跳转目的地,使指针与其吻合,分支到步骤S389。
如未定义例外处理,则跳转到步骤S397,执行以后的警报停止和重新开始处理。
在步骤S397,置机械手42为警报状态并紧急停止。
在步骤S398,在示教操作盘84的显示器84a上显示停止时的作业程序名、作业脚本名、作业脚本的执行行的内容、CPT 104的Select栏和外部模型100的不一致的状况,使操作员了解警报的详情。
在步骤S399,等待操作员使用示教操作盘84的输入部84b输入起动命令。
在步骤S400,确认外部模型100和内部模型102是否全部一致。在步骤S400判断为一致时,转移到步骤S406,解除机械手的警报,从停止的位置执行作业程序,重新开始作业。
在步骤S400判断为不一致时,在步骤S401,通过在示教操作盘84的显示部84a上显示外部模型100和内部模型102的不同,使操作员可以理解模型间的不一致的内容。
在步骤S402,根据外部模型100和内部模型102的不同,在显示器84a上显示适当的原因和对策的消息。
在步骤S403,在显示器84a上显示向操作员询问是否不理睬外部模型100和内部模型102的不一致而重新开始的消息、和是否重新开始的选择菜单。
在步骤S404,判断操作员是否不理睬在步骤S403显示的消息,而选择重新开始,在选择时,在步骤S405,把外部模型100的内容全部复制到内部模型102,强制使内部模型102和外部模型100一致,然后在步骤S406,解除机械手42的警报,从停止的位置重新开始作业程序。
在步骤S404操作员不理睬而不选择重新开始时,再次返回步骤S399,等待操作员输入起动命令。
以上是控制程序88的控制动作序列。
本发明不限于上述实施形态,可以在权利要求的范围的记载内进行各种各样的修正。例如,也可以构成为,代替通过传感器获取机械手作业的环境的状态的结构,通过以模拟软件制作模拟的作业环境的状态,并随机或者以一定规则使该模拟状态变化,能够确认机械手的作业状况。另外,也可以通过使用模拟软件用脱机编程装置模拟机械手控制装置执行的作业单位、选择接着进行的作业单位的方法、以及作业环境的状态,来预先脱机确认机械手的作业状况。
上面结合适当的实施方式说明了本发明,但是专业人员应理解,在不超出后述权利要求的范围的公开范围的情况下,可以进行各种各样的修改以及变更。

Claims (18)

1.一种机械手控制装置(10;40),其遵照分别对多个作业单位进行指令的多个作业程序(12;12A,12B),对于多个工件(W;W1,W2)并行地使机械手(42)执行包含该多个作业单位的作业,其特征在于,
所述多个作业程序的每一个包含以机械手开始对应的所述作业单位为前提的作业开始条件(14)的记述,
所述机械手控制装置具有:
信息收集部(18),其收集实时地表示机械手执行所述作业的环境状态的状态信息(16);
程序选定部(20),其根据所述信息收集部收集到的所述状态信息,从在所述多个作业程序中对于多个工件处于执行阶段的作业程序中,选定满足所述作业开始条件的第一可执行程序(12A);
处理部(22),其执行处理所述程序选定部所选定的所述第一可执行程序;和
程序完成判断部(24),其判断所述处理部是否完成所述第一可执行程序的执行处理,
所述程序选定部对应所述程序完成判断部的判断状况,根据所述状态信息,从处于所述执行阶段的作业程序中,选定满足所述作业开始条件的第二可执行程序(12B)作为所述处理部接着要执行处理的作业程序。
2.根据权利要求1所述的机械手控制装置,其中,
所述程序选定部根据所述状态信息,在所述多个作业程序中确定几个处于所述作业阶段的作业程序,并且,从所确定的该作业程序中遵照预先规定的规则,选择一个所述第一可执行程序。
3.根据权利要求1所述的机械手控制装置,其中,
所述程序选定部,参照与多个工件的每一个相关联地对所述多个作业程序的执行顺序进行定义的多个作业脚本(98),来确定处于所述执行阶段的作业程序。
4.根据权利要求3所述的机械手控制装置,其中
还具有存储部(78),其存储所述多个作业程序和所述多个作业脚本。
5.根据权利要求1所述的机械手控制装置,其中,
在所述程序完成判断部判断所述处理部的所述执行处理完成前,所述程序选定部选定所述第二可执行程序,所述处理部执行处理该第二可执行程序。
6.根据权利要求1所述的机械手控制装置,其中,
所述多个作业程序的每一个都包含以机械手完成对应的所述作业单位为前提的作业完成条件(26)的记述,所述程序完成判断部根据所述信息收集部收集到的所述状态信息,判断所述第一可执行程序是否满足该作业完成条件,由此判断所述处理部的所述执行处理是否完成。
7.根据权利要求1所述的机械手控制装置,其中,
所述程序完成判断部,具有内部信息(28),并判断该内部信息与所述信息收集部收集到的所述状态信息是否互相一致,由此判断所述处理部的所述执行处理是否完成,该内部信息(28)表示将机械手执行所述作业的所述环境模型化了的内部模型(102)的状态。
8.根据权利要求7所述的机械手控制装置,其中,
所述多个作业程序包含对与所述多个作业单位不同的例外处理作业单位进行指令的例外作业程序,在所述程序完成判断部判断为所述内部信息与所述状态信息相互不一致时,所述程序选定部从该多个作业程序中选定该例外作业程序,所述处理部执行处理该例外作业程序以代替所述第二可执行程序。
9.根据权利要求1所述的机械手控制装置,其中,
所述程序完成判断部,还判断是否经过了预先规定的时间,直到判断为所述处理部的所述执行处理完成为止。
10.根据权利要求9所述的机械手控制装置,其中,
所述多个作业程序包含对与所述多个作业单位不同的例外处理作业单位进行指令的例外作业程序,在所述程序完成判断部判断为经过了所述时间时,所述程序选定部从该多个作业程序中选定该例外作业程序,所述处理部执行处理该例外作业程序以代替所述第二可执行程序。
11.根据权利要求1至6中任意一项所述的机械手控制装置,其中,还具有:
在所述作业的执行中使机械手紧急停止的停止控制部(30);
具有内部信息(28)、判断该内部信息与所述信息收集部收集到的所述状态信息是否互相一致的状态判断部(32),该内部信息(28)表示将机械手执行该作业的所述环境模型化了的内部模型(102)的状态;和
在该状态判断部判断为该内部信息与该状态信息互相一致时解除该紧急停止、重新开始该作业的重新开始控制部(34)。
12.根据权利要求11所述的机械手控制装置,其中,
在所述状态判断部判断为所述内部信息与所述状态信息互相不一致时,所述重新开始控制部在重新开始所述作业前,输出消息信号,该消息信号告知该内部信息与该状态信息不一致的内容以及对策的至少一方。
13.根据权利要求11所述的机械手控制装置,其中,
在所述状态判断部判断为所述内部信息与所述状态信息互相不一致时,所述重新开始控制部在重新开始所述作业前,输出请求重新开始许可指令的消息信号。
14.根据权利要求13所述的机械手控制装置,其中,
所述重新开始控制部在得到所述重新开始许可指令时,把所述内部信息改写成与所述状态信息相同的内容,重新开始所述作业。
15.一种机械手控制方法,该方法遵照分别对多个作业单位进行指令的多个作业程序(12;12A,12B),对于多个工件(W;W1,W2)并行地使机械手(42)执行包含该多个作业单位的作业,其特征在于,
所述多个作业程序的每一个包含以机械手开始对应的所述作业单位为前提的作业开始条件(14)的记述,
所述机械手控制方法具有如下步骤:
收集实时地表示机械手执行所述作业的环境状态的状态信息(16);
根据收集到的所述状态信息,从在所述多个作业程序中对于多个工件处于执行阶段的作业程序中,选定满足所述作业开始条件的第一可执行程序(12A);
执行处理所选定的所述第一可执行程序;
对应所述第一可执行程序的执行处理状况,根据所述状态信息,从处于所述执行阶段的作业程序中,选定满足所述作业开始条件的第二可执行程序(12B);和
执行处理所选定的所述第二可执行程序。
16.根据权利要求15所述的机械手控制方法,其中,还具有如下步骤:
所述多个作业程序的每一个都包含以机械手完成对应的所述作业单位为前提的作业完成条件(26)的记述,在选定第二可执行程序的所述步骤前,根据所述状态信息,判断所述第一可执行程序是否满足该作业完成条件,由此判断所述第一可执行程序的所述执行处理是否完成。
17.根据权利要求15或16所述的机械手控制方法,其中,还具有如下步骤:
在选定第二可执行程序的所述步骤前,判断表示将机械手执行所述作业的所述环境模型化了的内部模型(102)的状态的内部信息(28)与所述信息收集部收集到的所述状态信息互相是否一致,由此判断所述第一可执行程序的所述执行处理是否完成。
18.根据权利要求15或16所述的机械手控制方法,其中,还具有如下步骤:
在所述作业的执行中机械手紧急停止时,判断表示将机械手执行该作业的所述环境模型化了的内部模型(102)的状态的内部信息(28)和所述状态信息是否互相一致;和
在判断该内部信息与该状态信息互相一致时解除该紧急停止,重新开始该作业。
CNB2006100885922A 2005-06-07 2006-06-06 机械手控制装置及机械手控制方法 Active CN100460161C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005166893 2005-06-07
JP2005166893A JP4210270B2 (ja) 2005-06-07 2005-06-07 ロボット制御装置及びロボット制御方法

Publications (2)

Publication Number Publication Date
CN1876334A true CN1876334A (zh) 2006-12-13
CN100460161C CN100460161C (zh) 2009-02-11

Family

ID=36950353

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100885922A Active CN100460161C (zh) 2005-06-07 2006-06-06 机械手控制装置及机械手控制方法

Country Status (4)

Country Link
US (1) US9616570B2 (zh)
EP (1) EP1731273B1 (zh)
JP (1) JP4210270B2 (zh)
CN (1) CN100460161C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102528809A (zh) * 2010-11-05 2012-07-04 佳能株式会社 机器人控制设备
CN102990670A (zh) * 2011-09-15 2013-03-27 精工爱普生株式会社 机器人控制装置、机器人系统、机器人控制方法
CN103157991A (zh) * 2011-12-14 2013-06-19 通用汽车环球科技运作有限责任公司 紧急情况停止事件期间的机器人控制
CN104339359A (zh) * 2013-08-09 2015-02-11 株式会社安川电机 机器人控制装置及机器人控制方法
CN106201815A (zh) * 2015-01-27 2016-12-07 蛇目缝纫机工业株式会社 机器人
CN106956259A (zh) * 2016-01-11 2017-07-18 上银科技股份有限公司 电动夹爪的驱动电路及其驱动方法
CN107332713A (zh) * 2017-08-10 2017-11-07 上海新炬网络技术有限公司 一种基于脚本的业务故障定位引擎实现方法
CN108908336A (zh) * 2018-07-20 2018-11-30 珠海智新自动化科技有限公司 一种机械手命令生成方法及系统
CN109968350A (zh) * 2017-12-28 2019-07-05 深圳市优必选科技有限公司 机器人及其控制方法、具有存储功能的装置
CN109968352A (zh) * 2017-12-28 2019-07-05 深圳市优必选科技有限公司 一种机器人控制方法及机器人、具有存储功能的装置
CN110536783A (zh) * 2017-04-19 2019-12-03 株式会社安川电机 编程支持装置、机器人系统、编程支持方法以及程序生成方法
CN111002301A (zh) * 2018-10-08 2020-04-14 东元电机股份有限公司 应用于机械手臂的自动复归控制系统与方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026601A1 (en) * 2004-07-29 2006-02-02 Solt David G Jr Executing commands on a plurality of processes
ITRM20070347A1 (it) * 2007-06-21 2008-12-22 Space Software Italia S P A Metodo e sistema per la interazione e cooperazione di sensori, attuatori e robot
JP4465012B2 (ja) * 2008-01-31 2010-05-19 ファナック株式会社 搬入/搬出ロボットと協調動作する加工ラインシステム
CN101753097A (zh) * 2008-12-03 2010-06-23 鸿富锦精密工业(深圳)有限公司 马达驱动装置
JP4676544B2 (ja) * 2009-05-29 2011-04-27 ファナック株式会社 工作機械に対してワークの供給及び取り出しを行うロボットを制御するロボット制御装置
JP4621789B2 (ja) * 2009-06-02 2011-01-26 ファナック株式会社 物品搬送ロボットシステム
KR101639243B1 (ko) * 2009-08-20 2016-07-25 삼성전자주식회사 검사기의 구동을 제어하는 방법 및 이를 수행하는 분석장치
JP4699572B2 (ja) * 2009-09-28 2011-06-15 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路
DE102009054230A1 (de) * 2009-11-23 2011-05-26 Kuka Roboter Gmbh Verfahren und Vorrichtung zum Steuern von Manipulatoren
JP5526880B2 (ja) * 2010-03-12 2014-06-18 三菱電機株式会社 数値制御方法及びその装置
CN102530514A (zh) * 2010-12-31 2012-07-04 Abb研究有限公司 用于支持对目标对象进行操纵的设备和方法
DE102011011542B4 (de) * 2011-02-17 2016-05-25 Convergent Information Technologies Gmbh Verfahren zur automatisierten Programmierung und Optimierung von robotischen Arbeitsabläufen
JP5803155B2 (ja) * 2011-03-04 2015-11-04 セイコーエプソン株式会社 ロボット位置検出装置及びロボットシステム
DE102011005513A1 (de) 2011-03-14 2012-09-20 Kuka Laboratories Gmbh Roboter und Verfahren zum Betreiben eines Roboters
DE102011005985B4 (de) 2011-03-23 2019-01-24 Kuka Roboter Gmbh Roboter, Steuervorrictung für einen Roboter und Verfahren zum Betreiben eines Roboters
KR102028770B1 (ko) * 2011-09-15 2019-10-04 컨버전트 인포메이션 테크놀로지스 게엠베하 로봇 프로그램의 자동 생성을 위한 시스템 및 방법
JP2013099815A (ja) * 2011-11-08 2013-05-23 Fanuc Ltd ロボットプログラミング装置
DE102012101497B4 (de) * 2012-02-24 2016-05-19 Convergent Information Technologies Gmbh Robotergestütztes Arbeitsverfahren
US10054933B2 (en) * 2012-03-27 2018-08-21 Sirqul, Inc. Controlling distributed device operations
JP6361213B2 (ja) * 2014-03-26 2018-07-25 セイコーエプソン株式会社 ロボット制御装置、ロボット、ロボットシステム、教示方法、及びプログラム
US9701018B2 (en) 2014-04-01 2017-07-11 Bot & Dolly, Llc Software interface for authoring robotic manufacturing process
US9841749B2 (en) 2014-04-01 2017-12-12 Bot & Dolly, Llc Runtime controller for robotic manufacturing system
US9278449B1 (en) 2014-05-21 2016-03-08 Bot & Dolly, Llc Closed-loop control system for robotic operation
US9555545B2 (en) 2014-05-21 2017-01-31 Bot & Dolly, Llc Systems and methods for time-based parallel robotic operation
US9308647B2 (en) 2014-06-03 2016-04-12 Bot & Dolly, Llc Systems and methods for instructing robotic operation
JP6140111B2 (ja) 2014-07-14 2017-05-31 ファナック株式会社 設定の自動復元機能および誤設定防止機能を備えた数値制御装置
SI3012695T1 (en) * 2014-10-23 2018-01-31 Comau S.P.A. System for monitoring and control of an industrial plant
JP6081981B2 (ja) * 2014-12-19 2017-02-15 ファナック株式会社 教示プログラムの自動表示手段を備える数値制御装置
JP6423769B2 (ja) * 2015-08-31 2018-11-14 ファナック株式会社 加工精度維持機能を有する加工システム
EP3165973B1 (en) * 2015-11-03 2018-01-03 Siemens Aktiengesellschaft A method for computer-aided control of an automation system
US10471594B2 (en) * 2015-12-01 2019-11-12 Kindred Systems Inc. Systems, devices, and methods for the distribution and collection of multimodal data associated with robots
CN105643630B (zh) * 2016-03-22 2018-04-10 深圳市百事达卓越科技股份有限公司 油罐的改造方法
CN107976918B (zh) * 2016-10-24 2020-10-13 菜鸟智能物流控股有限公司 一种任务切换方法和相关装置
JP6412179B2 (ja) 2017-02-03 2018-10-24 ファナック株式会社 加工機に対して移動ロボットが物品の搬入及び搬出を行う加工システム、及び機械制御装置
CN106695741B (zh) * 2017-02-10 2019-11-29 中国东方电气集团有限公司 一种移动机器人系统状态检测及初始化工作的方法
CN106843176B (zh) * 2017-02-20 2019-03-12 集合智造(北京)餐饮管理有限公司 一种用于食品柔性制造中自动化准备食材的方法、系统
WO2018220813A1 (ja) * 2017-06-02 2018-12-06 富士通株式会社 判定装置、判定方法及び判定プログラム
DE102017216863B3 (de) * 2017-09-22 2018-12-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Robotersystem zum Anpassen eines Robotereinsatzes an einen Arbeitsprozess
JP6805199B2 (ja) * 2018-03-26 2020-12-23 株式会社東芝 設備監視システム
IT201800005091A1 (it) 2018-05-04 2019-11-04 "Procedimento per monitorare lo stato di funzionamento di una stazione di lavorazione, relativo sistema di monitoraggio e prodotto informatico"
US11312015B2 (en) * 2018-09-10 2022-04-26 Reliabotics LLC System and method for controlling the contact pressure applied by an articulated robotic arm to a working surface
TWI703022B (zh) * 2018-09-26 2020-09-01 東元電機股份有限公司 應用於機械手臂之自動復歸控制系統與方法
JP7337495B2 (ja) * 2018-11-26 2023-09-04 キヤノン株式会社 画像処理装置およびその制御方法、プログラム
JP7131447B2 (ja) * 2019-03-22 2022-09-06 富士通株式会社 情報処理装置、作業選択方法および作業選択プログラム
JP7343329B2 (ja) * 2019-08-05 2023-09-12 ファナック株式会社 ワーク選定及びロボット作業を同時に行うロボット制御システム
JPWO2021065608A1 (zh) * 2019-10-03 2021-04-08
JP7173079B2 (ja) * 2020-03-31 2022-11-16 株式会社安川電機 作業再開システム、製造方法、及びプログラム
JP6951523B1 (ja) * 2020-06-08 2021-10-20 株式会社安川電機 生産システム、セルコントローラ、ロボットコントローラ及び制御方法
JP6898506B1 (ja) 2020-07-01 2021-07-07 株式会社安川電機 制御システム、ロボットシステム及び制御方法
US11981517B2 (en) 2021-03-30 2024-05-14 Dexterity, Inc. Robotic line kitting system safety features
US11897706B2 (en) 2021-03-30 2024-02-13 Dexterity, Inc. Robotic system with zone-based control
KR102480078B1 (ko) * 2021-04-22 2022-12-23 주식회사 뉴로메카 협동로봇을 이용하는 튀김장치 및 튀김방법
CN118019623A (zh) * 2021-09-28 2024-05-10 京瓷株式会社 信息处理设备、机器人控制器、机器人控制系统和信息处理方法
US11755003B2 (en) * 2021-09-30 2023-09-12 Hitachi, Ltd. Autonomous task management industrial robot
JP2023118484A (ja) * 2022-02-15 2023-08-25 株式会社安川電機 制御システム、生産方法、及びプログラム
US20240100687A1 (en) * 2022-09-27 2024-03-28 Sanctuary Cognitive Systems Corporation Systems, methods, and computer program products for automating tasks

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6076652A (en) * 1971-04-16 2000-06-20 Texas Instruments Incorporated Assembly line system and apparatus controlling transfer of a workpiece
IT1144707B (it) * 1981-05-15 1986-10-29 Dea Spa Unita a braccio operativo controllata da un sistema a calcolatore
JPS5822411A (ja) * 1981-08-04 1983-02-09 Fanuc Ltd 工業用ロボツト制御方式
US4484120A (en) * 1983-04-13 1984-11-20 Nordson Corporation Auxiliary function command presequencing for a robot controller
CA1216343A (en) * 1983-05-02 1987-01-06 Tomohiro Murata Method and apparatus for controlling an operation sequence of a machinery
US5579444A (en) * 1987-08-28 1996-11-26 Axiom Bildverarbeitungssysteme Gmbh Adaptive vision-based controller
JP2916796B2 (ja) * 1990-05-23 1999-07-05 日立精工株式会社 複数の工作機械を制御するcnc装置
JPH07129418A (ja) * 1993-11-08 1995-05-19 Fanuc Ltd マルチタスク環境でのプログラム制御方式
KR0130450B1 (ko) * 1993-12-30 1998-04-07 석진철 로보트 암의 원점복귀 및 동작한계 검출방법
JP3114579B2 (ja) * 1995-08-30 2000-12-04 松下電器産業株式会社 産業用ロボットおよびその制御装置
DE19747574A1 (de) * 1997-10-28 1999-05-06 Siemens Ag Verfahren zur Ermittlung realisierbarer Konfigurationen von Bearbeitungsanlagen
JP3673383B2 (ja) * 1997-12-12 2005-07-20 ファナック株式会社 ロボットの制御装置
JP2000031241A (ja) 1998-07-15 2000-01-28 Yaskawa Electric Corp 搬送装置の制御方法
CN1083750C (zh) * 1998-11-12 2002-05-01 财团法人工业技术研究院 车床控制器系统及其控制方法
US6944584B1 (en) * 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
JP2002095070A (ja) * 2000-09-14 2002-03-29 Matsushita Electric Works Ltd 操作ユニット、監視ユニット、表示ユニット、操作表示ユニット、及びこれらを備えた監視制御システム
JP2002192486A (ja) * 2000-12-25 2002-07-10 Seiko Epson Corp ロボット制御方法及び該方法を適用したロボットコントローラ
US6975913B2 (en) * 2001-07-13 2005-12-13 Siemens Aktiengesellschaft Database system and method for industrial automation services
JP3715617B2 (ja) * 2002-12-02 2005-11-09 ファナック株式会社 生産セル
JP3990262B2 (ja) * 2002-12-02 2007-10-10 ファナック株式会社 産業用ロボット

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8744625B2 (en) 2010-11-05 2014-06-03 Canon Kabushiki Kaisha Robot controlling device
CN102528809B (zh) * 2010-11-05 2015-01-14 佳能株式会社 机器人控制设备
CN102528809A (zh) * 2010-11-05 2012-07-04 佳能株式会社 机器人控制设备
CN102990670A (zh) * 2011-09-15 2013-03-27 精工爱普生株式会社 机器人控制装置、机器人系统、机器人控制方法
CN102990670B (zh) * 2011-09-15 2016-05-25 精工爱普生株式会社 机器人控制装置、机器人系统、机器人控制方法
CN103157991A (zh) * 2011-12-14 2013-06-19 通用汽车环球科技运作有限责任公司 紧急情况停止事件期间的机器人控制
CN103157991B (zh) * 2011-12-14 2016-08-10 通用汽车环球科技运作有限责任公司 紧急情况停止事件期间的机器人控制
CN104339359A (zh) * 2013-08-09 2015-02-11 株式会社安川电机 机器人控制装置及机器人控制方法
CN106201815B (zh) * 2015-01-27 2019-07-19 蛇目缝纫机工业株式会社 机器人
CN106201815A (zh) * 2015-01-27 2016-12-07 蛇目缝纫机工业株式会社 机器人
US10618169B2 (en) 2015-01-27 2020-04-14 Janome Sewing Machine Co., Ltd. Robot
CN106956259B (zh) * 2016-01-11 2019-11-26 上银科技股份有限公司 电动夹爪的驱动电路及其驱动方法
CN106956259A (zh) * 2016-01-11 2017-07-18 上银科技股份有限公司 电动夹爪的驱动电路及其驱动方法
CN110536783A (zh) * 2017-04-19 2019-12-03 株式会社安川电机 编程支持装置、机器人系统、编程支持方法以及程序生成方法
CN110536783B (zh) * 2017-04-19 2022-06-14 株式会社安川电机 编程支持装置、机器人系统、编程支持方法以及存储介质
US11813750B2 (en) 2017-04-19 2023-11-14 Kabushiki Kaisha Yaskawa Denki Programming support apparatus, robot system, and programming support method
CN107332713A (zh) * 2017-08-10 2017-11-07 上海新炬网络技术有限公司 一种基于脚本的业务故障定位引擎实现方法
CN109968350A (zh) * 2017-12-28 2019-07-05 深圳市优必选科技有限公司 机器人及其控制方法、具有存储功能的装置
CN109968352A (zh) * 2017-12-28 2019-07-05 深圳市优必选科技有限公司 一种机器人控制方法及机器人、具有存储功能的装置
CN109968350B (zh) * 2017-12-28 2021-06-04 深圳市优必选科技有限公司 机器人及其控制方法、具有存储功能的装置
CN108908336A (zh) * 2018-07-20 2018-11-30 珠海智新自动化科技有限公司 一种机械手命令生成方法及系统
CN111002301A (zh) * 2018-10-08 2020-04-14 东元电机股份有限公司 应用于机械手臂的自动复归控制系统与方法

Also Published As

Publication number Publication date
CN100460161C (zh) 2009-02-11
US20060276934A1 (en) 2006-12-07
EP1731273B1 (en) 2015-03-04
JP4210270B2 (ja) 2009-01-14
US9616570B2 (en) 2017-04-11
EP1731273A3 (en) 2010-01-06
EP1731273A2 (en) 2006-12-13
JP2006343828A (ja) 2006-12-21

Similar Documents

Publication Publication Date Title
CN1876334A (zh) 机械手控制装置及机械手控制方法
CN1153155C (zh) 装有高效利用主处理器中的寄存器数据的协处理器的信息处理装置
CN1253790C (zh) 指令调度方法和指令调度设备
CN1773407A (zh) 信息处理装置、运行状况管理装置、信息处理方法
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
CN1293777A (zh) 算术处理装置,对象对对象的通信方法和机器人装置
CN1868690A (zh) 用于修正示教点的装置、程序、记录介质及方法
CN1601483A (zh) 一种基于脚本解释工具的自动化软件测试系统
CN1172239C (zh) 执行移动对象的方法
CN1932776A (zh) 嵌入式操作系统中接口测试的自动化运行方法
CN1823319A (zh) 主机装置、设备以及通信系统的控制方法
CN1916962A (zh) 存储和回存状态上下文在图形处理单元的方法和装置
CN1916961A (zh) 可中断图形处理单元及其控制方法
CN1175034A (zh) 存储器控制器和存储器控制系统
CN1821956A (zh) 用现有内容生成用于执行任务的活动内容向导可执行文件
CN101055636A (zh) 障碍管理装置、障碍管理方法、障碍管理程序和记录介质
CN1517869A (zh) 处理器、运算处理方法和优先度决定方法
CN1498367A (zh) 信息处理装置、存储器管理装置、存储器管理方法及信息处理方法
CN1912926A (zh) 可中断图形处理单元处理多个程序的方法和图形处理单元
CN1734423A (zh) 与可用接口相符的设备驱动程序的安装装置和方法
CN100347561C (zh) 监视信号输出电路、电池组、电池电压监视电路及方法
CN1650300A (zh) 在制造流程中调度日程表及预定事项的方法及系统
CN1145876C (zh) 网络系统和网络接口卡
CN1249474A (zh) 程序开发系统、程序开发方法和为开发程序而存储程序的存储介质
CN1577291A (zh) 程序调试装置、程序调试方法及程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant