CN114845843A - 程序生成装置、程序生成方法以及生成程序 - Google Patents
程序生成装置、程序生成方法以及生成程序 Download PDFInfo
- Publication number
- CN114845843A CN114845843A CN202080087394.2A CN202080087394A CN114845843A CN 114845843 A CN114845843 A CN 114845843A CN 202080087394 A CN202080087394 A CN 202080087394A CN 114845843 A CN114845843 A CN 114845843A
- Authority
- CN
- China
- Prior art keywords
- component
- program
- change
- attribute
- tool
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 72
- 230000008859 change Effects 0.000 claims abstract description 143
- 230000009471 action Effects 0.000 claims abstract description 32
- 239000000284 extract Substances 0.000 claims abstract description 18
- 238000012937 correction Methods 0.000 claims description 60
- 238000004088 simulation Methods 0.000 claims description 20
- 230000033001 locomotion Effects 0.000 claims description 18
- 238000012508 change request Methods 0.000 claims description 16
- 239000000047 product Substances 0.000 description 64
- 238000003860 storage Methods 0.000 description 50
- 238000012545 processing Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 34
- 230000010365 information processing Effects 0.000 description 17
- 230000007257 malfunction Effects 0.000 description 10
- 238000000605 extraction Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000011960 computer-aided design Methods 0.000 description 2
- 239000012636 effector Substances 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1669—Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
- G05B19/41805—Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by assembly
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40033—Assembly, microassembly
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40269—Naturally compliant robot arm
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
本发明的一个方面所涉及的程序生成装置从动作程序内规定的一系列动作中提取由于被指定为部件变更对象的第一部件以及与第一部件置换的第二部件之间的属性差异而成为修正对象的动作,并对所提取的动作的指令值进行修正以补偿该属性的差异,从而生成新的动作程序。由此,在构成产品的部件的至少一部分发生变更的情况下,能够削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
Description
技术领域
本发明涉及程序生成装置、程序生成方法以及生成程序。
背景技术
近年来,在制造生产线等产品的场景中,正在进行执行部件的组装等作业的机器人装置的开发。在对机器人装置示教组装产品的组装作业的一系列动作的情况下,一般而言,给出成为组装作业的对象的各部件的初始位置(供给位置)、目标状态等条件。在此基础上,通过各种方法生成用于使机器人装置执行组装作业的动作程序,例如通过人工使机器人装置直接动作(直接示教)、利用示教器、通过编程等编入机器人装置的动作等。
在专利文献1中,提出了一种用于对机器人装置示教组装作业的一系列动作的方法。具体而言,在专利文献1提出的方法中,基于组装对象产品时的一系列组装作业的顺序数据以及各部件的3D数据,再现一系列组装作业中包含的一个组装作业开始时的对象产品的组装状态,基于所再现的组装状态,导出一个组装作业所涉及的针对组装作业机器人的示教点。由此,根据专利文献1中提出的方法,即使在事后变更了一系列组装作业的顺序的情况下,也容易根据该变更来变更示教点。
现有技术文献
专利文献
专利文献1:日本特开2018-083277号公报
本发明的发明人等发现,在现有方法中存在以下问题点。即,在实施产品的组装作业的现场,由于对象部件的库存用完、对象部件的生产结束、进行了设计变更、分开使用多个部件、将对象部件变更为标准品、将动作程序转用于其他产品的组装作业等原因,有时不变更组装顺序,仅变更所使用的多个部件的一部分。在变更了一部分部件的情况下,如果变更前的部件与变更后的部件之间,例如形状、尺寸等属性不同,则难以将针对变更前的部件的动作直接应用于变更后的部件,针对变更部件的作业内容可能发生变更。另外,在存在与变更部件之间具有依赖关系的部件的情况下,根据产品内的变更部件的状态的变化,针对该部件的作业内容也可能发生变更。
作为一例,在使用夹具将多个部件分别依次层叠而组装产品的场景中,假设不变更组装顺序,仅将配置在中间的一个部件变更为尺寸不同的其他部件。在该场景中,把持变更部件时的夹具的适当的开口宽度可能发生变更。另外,配置在变更部件上的部件在产品内的适当的配置位置也可能发生变更。
因此,即使不变更组装顺序,仅变更产品中使用的部件,组装作业中包含的至少一部分作业内容也可能发生变更。如果在部件变更的前后作业内容发生变更,则用于适当地实施该作业的针对机器人装置的指令也需要发生变更。在上述的例子中,为了适当地把持变更后的部件,需要变更部件变更后的夹具的驱动量。另外,为了在变更后的部件上适当地配置对象部件,需要变更搬运对象部件时的夹具的移动量。
在现有的方法中,难以应对这样的伴随部件变更的动作变更。因此,在每次进行部件变更时,例如通过直接示教等上述方法,通过手工作业来生成与变更部件以及与其具有依赖关系的部件相关的机器人装置的动作,从而生成用于使机器人装置执行部件变更后的组装作业的新的动作程序。因此,在现有的方法中存在以下问题点:在变更了构成产品的部件的至少一部分的情况下,由于需要通过手工作业来重新生成受到影响的所有动作,相应地生成在部件变更后的组装作业中可利用的新的动作程序会耗费劳力和时间。
本发明的一个方面是鉴于这样的实际情况而完成的,其目的在于,提供一种在构成产品的部件的至少一部分发生了变更的情况下,用于削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间的技术。
发明内容
为了解决上述问题,本发明采用以下结构。
即,本发明的一个方面所涉及的程序生成装置具备:数据取得部,其取得用于向机器人装置指示由多个部件组装产品的组装作业的一系列动作的动作程序;变更受理部,其受理变更所述多个部件中的至少任意一个部件的部件变更请求;动作提取部,其参照表示各部件的属性的属性信息,比较被指定为所述部件变更对象的第一部件的属性,以及通过所述部件变更而与所述第一部件置换的第二部件的属性,从在所述动作程序内规定的所述一系列动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作;以及指令修正部,其通过修正所述动作程序内提取的所述动作的指令值以补偿所述第一部件以及所述第二部件的属性的差异,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序。
在将产品所使用的对象部件从第一部件变更为第二部件的情况下,如果第一部件以及第二部件之间属性(例如形状、尺寸、重量等)完全一致,则即使是与变更前相同的动作也能够适当地执行产品的组装作业。由于部件变更而要求修正动作程序的主要原因是第一部件以及第二部件之间属性不同。因此,该结构所涉及的程序生成装置根据属性信息确定第一部件以及第二部件之间的属性的差异,并修正因部件变更而受到影响的动作的指令值以补偿所确定的属性的差异。由此,即使在对象部件使用了第二部件的情况下,也能够自动生成能够适当地组装产品的新的动作程序。因此,根据该结构,在构成产品的部件的至少一部分发生变更的情况下,能够削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
在上述一个方面所涉及的程序生成装置中,所述机器人装置也可以具备第一工具,该第一工具用于与所述组装作业中包含的所述第一部件有关的作业。另外,也可以是,上述一个方面所涉及的程序生成装置还具备规格判定部,该规格判定部参照表示包括所述第一工具的多个工具各自的规格的规格信息,判定所述第一工具的规格是否能够追随从所述第一部件向所述第二部件的所述部件变更。
例如,在搬运对象部件的作业中使用夹具的情况下,如第二部件的尺寸超过夹具的最大开口宽度、第二部件的重量超过夹具的可搬运重量等那样,在与第一部件有关的作业中使用的对象工具的规格有时不适合于第二部件。如果对象工具的规格不适合于第二部件,则即使修正动作的指令值以补偿部件变更引起的属性的差异,也无法使对象工具执行所希望的动作,有可能无法适当地组装产品。根据该结构,能够验证是否产生由变更的对象部件所使用的对象工具(第一工具)的规格引起的动作不良,由此,能够实现所生成的动作程序的可靠性的提高。
也可以是,上述一个方面所涉及的程序生成装置还具备工具提取部,在所述规格判定部判定为所述第一工具的规格不能追随所述部件变更的情况下,参照所述规格信息,从所述多个工具中提取与所述第一工具同类型的第二工具,即具有能够追随所述部件变更的规格的第二工具。根据该结构,在推定为产生由变更的对象部件所使用的工具的规格引起的动作不良的情况下,能够自动地提取适当的代替工具(第二工具),由此,能够减少修正所生成的动作程序的劳力和时间。
也可以是,在上述一个方面所涉及的程序生成装置中,所述指令修正部通过修正所述动作程序内提取的所述动作的指令值以进一步补偿从所述第一工具向所述第二工具的变更,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序。根据该结构,能够自动应对工具的变更,相应地能够进一步削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
也可以是,在上述一个方面所涉及的程序生成装置中,所述属性包括形状、尺寸以及位置,被修正的所述指令值与所述机器人装置的几何动作有关。根据该结构,能够自动生成与通过从第一部件向第二部件的置换而产生的对象部件的几何属性的变更对应的新的动作程序。由此,能够削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
也可以是,在上述一个方面所涉及的程序生成装置中,所述属性信息包括所述每个部件的几何模型,所述几何模型在对每个所述部件设定的以基准点为原点的局部坐标系上,表示所述形状以及所述尺寸。另外,也可以是,上述一个方面所涉及的一种程序生成装置还具备:指标判定部,其判定所述第一部件的几何模型的基准点和所述第二部件的几何模型的基准点是否以同一指标设定;以及坐标修正部,在所述指标判定部判定为所述第一部件以及所述第二部件的所述基准点没有以同一指标设定的情况下,在修正所述动作的指令值之前,修正所述第二部件的几何模型的基准点,使得所述第二部件的几何模型的基准点与所述第一部件的几何模型的基准点以同一指标设定。
例如,由于由不同的操作者生成几何模型等原因,有时在一个部件和其他部件之间以不同的指标设定几何模型的基准点。在第一部件和第二部件之间以不同的指标设定几何模型的基准点的情况下,如果将对象部件从第一部件直接置换为第二部件,则由于基准点的指标不同,导致第二部件的位置会相应地偏离所希望的位置。由此,在执行所生成的新的动作程序时,机器人装置的动作有可能产生不良。根据该结构,在生成新的动作程序时,能够确保第一部件以及第二部件的几何模型的基准点以同一指标设定。由此,能够防止由于几何模型的基准点的指标不同而在执行新的动作程序时产生的动作不良。另外,能够使调整各部件的几何模型的基准点的作业自动化,相应地能够进一步削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
也可以是,在上述一个方面所涉及的程序生成装置中,所述属性还包括重量。根据该结构,能够自动生成与由于从第一部件向第二部件的置换而产生的对象部件的重量的变更对应的新的动作程序。由此,能够削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
也可以是,上述一个方面所涉及的程序生成装置还具备模拟部,该模拟部使用所生成的所述新的动作程序,模拟所述部件变更后的组装作业中的所述机器人装置的一系列动作。由于上述工具的规格以及几何模型的基准点的指标的差异以外的其他原因(例如障碍物、其他物品的干涉等),在执行所生成的新的动作程序时,有可能在机器人装置的动作中产生不良。根据该结构,通过模拟基于新的动作程序的组装作业,能够验证是否由于这样的其他原因而产生动作不良。由此,能够提高所生成的动作程序的可靠性。
也可以是,在上述一个方面所涉及的程序生成装置中,提取成为所述修正对象的动作包括:从所述多个部件中确定受到所述部件变更的影响的第三部件;从所述一系列动作中确定与所述第一部件或所确定的所述第三部件有关的动作;以及从所确定的所述动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作。根据该结构,能够适当地提取由于部件变更而成为修正对象的动作,由此,能够削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
作为上述各方式所涉及的程序生成装置的其他方式,本发明的一个方面可以是实现以上各结构的信息处理方法,也可以是程序,还可以是存储了这样的程序的计算机等可读取的存储介质。在此,计算机等可读取的存储介质是通过电、磁、光学、机械或化学作用存储程序等信息的介质。
例如,本发明的一个方面所涉及的程序生成方法是一种信息处理方法,计算机执行以下步骤:取得用于向机器人装置指示由多个部件组装产品的组装作业的一系列动作的动作程序的步骤;受理变更所述多个部件中的至少任意一个部件的部件变更请求的步骤;参照表示各部件的属性的属性信息,比较被指定为所述部件变更对象的第一部件的属性以及通过所述部件变更而与所述第一部件置换的第二部件的属性,从在所述动作程序内规定的所述一系列动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作的步骤;以及通过修正所述动作程序内提取的所述动作的指令值以补偿所述第一部件以及所述第二部件的属性的差异,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序的步骤。
另外,例如,本发明的一个方面所涉及的生成程序用于使计算机执行以下步骤:取得用于向机器人装置指示由多个部件组装产品的组装作业的一系列动作的动作程序的步骤;受理变更所述多个部件中的至少任意一个部件的部件变更请求的步骤;参照表示各部件的属性的属性信息,比较被指定为所述部件变更对象的第一部件的属性以及通过所述部件变更而与所述第一部件置换的第二部件的属性,从在所述动作程序内规定的所述一系列动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作的步骤;以及通过修正所述动作程序内提取的所述动作的指令值以补偿所述第一部件以及所述第二部件的属性的差异,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序的步骤。
根据本发明,在构成产品的部件的至少一部分发生了变更的情况下,能够削减生成在部件变更后的组装作业中可利用的新的动作程序的劳力和时间。
附图说明
图1示意性地例示应用本发明的场景的一例。
图2A示意性地例示实施方式所涉及的机器人装置执行的部件变更前的组装作业的工序的一例。
图2B示意性地例示实施方式所涉及的机器人装置执行的部件变更前的组装作业的工序的一例。
图2C示意性地例示实施方式所涉及的机器人装置执行的部件变更前的组装作业的工序的一例。
图2D示意性地例示实施方式所涉及的机器人装置执行的部件变更前的组装作业的工序的一例。
图3A示意性地例示实施方式所涉及的机器人装置执行的部件变更后的组装作业的工序的一例。
图3B示意性地例示实施方式所涉及的机器人装置执行的部件变更后的组装作业的工序的一例。
图4示意性地例示实施方式所涉及的控制器的硬件结构的一例。
图5示意性地例示实施方式所涉及的机器人装置的一例。
图6示意性地例示实施方式所涉及的控制器的软件结构的一例。
图7示意性地例示实施方式所涉及的各部件的几何模型的一例。
图8A例示与实施方式所涉及的控制器的动作程序生成有关的处理过程的一例。
图8B例示与实施方式所涉及的控制器的动作程序生成有关的处理过程的一例。
图9示意性地例示应用本发明的另一个场景的一例。
具体实施方式
以下,基于附图对本发明的一个方面所涉及的实施方式(以下也表述为“本实施方式”)进行说明。但是,以下说明的本实施方式在所有方面仅是本发明的例示。当然可以在不脱离本发明的范围的情况下进行各种改良和变形。即,在实施本发明时,也可以适当采用与实施方式对应的具体结构。需要说明的是,虽然通过自然语言来说明本实施方式中出现的数据,更具体而言,用计算机可识别的模拟语言、指令、参数、机器语言等来指定。
§1应用例
图1示意性地例示本发明的应用场景的一例。本实施方式所涉及的控制器1是构成为按照动作程序来控制机器人装置2的动作的计算机。使机器人装置2执行的作业包括由多个部件组装产品3的组装作业。本实施方式所涉及的控制器1还构成为,受理部件变更请求,根据所请求的部件变更来修正动作程序内的指令值,从而生成新的动作程序。本实施方式所涉及的控制器1是本发明的“程序生成装置”的一例。
首先,控制器1取得动作程序50,该动作程序50用于向机器人装置2指示由多个部件组装产品3的组装作业的一系列动作。另外,控制器1受理变更多个部件中的至少任意一个部件的部件变更请求。接着,参照表示各部件的属性的属性信息121,比较被指定为部件变更对象的第一部件的属性以及通过部件变更而与第一部件置换的第二部件的属性。控制器1基于该比较的结果,从动作程序50内规定的一系列动作中,提取由于第一部件以及第二部件的属性的差异而成为修正对象的动作。然后,控制器1通过修正动作程序50内的提取出的动作的指令值以补偿第一部件以及第二部件的属性的差异,从而生成用于向机器人装置2指示部件变更后的组装作业的一系列动作的新的动作程序55。
机器人装置2的种类可以根据实施方式适当选择。机器人装置2例如可以由垂直多关节机器人、水平多关节机器人、SCARA机器人、并联连杆机器人、正交机器人、协调机器人等一台或多台机械手(工业用机器人)构成。机器人装置2也可以具备用于执行与部件有关的作业的一个或多个工具。一个或多个工具可以包括第一工具,该第一工具用于与组装工作中包含的第一部件有关的作业。工具例如可以是夹具(机器手)、吸附装置、螺钉紧固装置、焊接装置等。对部件进行的作业例如可以是把持、搬运、插入、载置、按压、变更姿势、对位等。动作程序由用于指示组装作业的各动作的指令值的序列构成。各指令值可以适当构成以驱动机器人装置2。各指令值例如可以由机器人装置2的构成要素(例如工具、关节等)的控制量或操作量的目标值(例如后述的夹具25的目标位置、开口宽度、闭口宽度等)构成。
产品3只要由多个部件构成即可,其种类没有特别限定,可以根据实施方式适当选择。产品3例如可以是在电子设备、电子部件、汽车部件等生产线上组装的产品。电子部件例如可以是基板、芯片电容器、液晶、继电器的绕组等。汽车部件例如可以是连杆、轴、发动机缸体、电动车窗开关、面板等。产品可以是在制造过程完成后生成的最终产品,也可以是在制造过程的中途生成的中间产品。各部件可以根据产品适当选择。各部件例如可以是基板、各种芯片、电容器、连接器、插栓、插座、孔、齿轮、螺栓、螺钉、螺母等。部件的属性是与组装作业相关的特征。部件的属性例如是形状、尺寸、位置、重量等。
在图1的例子中,产品3由三个部件31~33构成,机器人装置2是垂直多关节机器人。机器人装置2具备用于执行搬运各部件31~33的作业的夹具25作为末端执行器。该产品3的组装作业是依次层叠各部件31~33。在图1的例子中,假设了该产品3受理了将部件31变更为部件35的请求的场景。部件31是第一部件的一例,部件35是第二部件的一例。夹具25是第一工具的一例。需要说明的是,图1所示的这些限定仅是为了便于说明的具体例。机器人装置2的结构、产品3的结构以及组装作业的工序可以根据实施方式适当决定。构成产品3的部件的数量可以根据实施方式适当选择。变更对象的部件可以从构成产品3的多个部件中适当选择。
图2A~图2D示意性地例示组装部件变更前的产品3的组装作业的工序的一例。如图2A所示,在初始状态下,各部件31~33配置在不同的供给位置。该组装作业的一例由三个工序构成。
第一工序是将部件31以目标姿势配置在目标位置。首先,控制器1使机器人装置2将夹具25移动到部件31的供给位置。接下来,控制器1使机器人装置2开闭夹具25,从而把持部件31。接着,如图2B所示,控制器1使机器人装置2将把持的部件31搬运到目标位置。然后,控制器1使机器人装置2打开夹具25,使部件31以目标姿势配置在目标位置。由此,第一工序结束。
第二工序是将部件32以目标姿势配置在部件31上的目标位置。首先,控制器1使机器人装置2将夹具25移动到部件32的供给位置。接下来,控制器1使机器人装置2开闭夹具25,从而把持部件32。接着,如图2C所示,控制器1使机器人装置2将把持的部件32搬运到部件31上的目标位置。然后,控制器1使机器人装置2打开夹具25,使部件32以目标姿势配置在部件31上的目标位置。由此,第二工序结束。
第三工序是将部件33以目标姿势配置在部件32上的目标位置。首先,控制器1使机器人装置2将夹具25移动到部件33的供给位置。接下来,控制器1使机器人装置2开闭夹具25,从而把持部件33。接着,如图2D所示,控制器1使机器人装置2将把持的部件33搬运到部件32上的目标位置。然后,控制器1使机器人装置2打开夹具25,使部件33以目标姿势配置在部件32上的目标位置。由此,第三工序结束,产品3的组装作业完成。
在动作程序50的一例中,例如规定夹具25的目标位置、开口宽度、闭口宽度等实现上述各工序的机器人装置2的动作的指令值的系列。该动作程序50的一例,例如可以通过直接示教、人工编入(例如利用示教器、编程等)、自动计划(例如动作计划等)等方法适当生成。
另一方面,图3A示意性地例示组装部件变更后的产品3的组装作业的初始状态的一例。图3B示意性地例示部件变更后的产品3的完成状态(即,组装作业的完成状态)的一例。如图3A以及图3B所示,作为通过部件变更来变更对象部件的属性的一例,变更后的部件35具有与变更前的部件31不同的尺寸。作为不同尺寸的一例,部件35具有比部件31宽度宽且比部件31高度低的尺寸。部件35的供给位置可以与部件31的供给位置相同,也可以不同。
在该例中,在部件变更的前后,产品3的组装作业的工序的顺序没有变更。控制器1使机器人装置2执行第一~第三工序的动作,即,使部件35、部件32以及部件33依次向目标位置输送。由此,如图3B所示,能够完成产品3的组装作业。
但是,如果与部件变更前同样地驱动机器人装置2的夹具25,则由于部件35的尺寸与部件31不同,有可能无法适当地完成产品3的组装作业。例如,由于部件35的宽度比部件31宽,因此以把持部件31时的开口宽度有可能无法把持部件35。因此,控制器1通过上述一系列信息处理,根据部件变更来修正动作程序50内的指令值,从而生成能够执行部件变更后的产品3的组装作业的新的动作程序55。
首先,取得动作程序50,受理部件变更请求后,控制器1参照属性信息121,比较部件31以及部件35的属性。通过该比较的结果,控制器1识别部件31以及35之间的尺寸差异。控制器1基于该识别,从动作程序50内规定的一系列动作中提取成为修正对象的动作。
简单地说,成为修正对象的动作与变更为第二部件的第一部件有关。然而,由第一部件决定配置等、与第一部件具有依赖关系的部件也受到部件变更的影响。在上述具体例中,由于两个部件(32、33)配置在变更的部件31上,因此受到该部件变更的影响。因此,希望成为修正对象的动作不仅包括与第一部件有关的作业,还包括与和第一部件具有依赖关系的部件有关的作业。因此,提取成为上述修正对象的动作可以包括:从多个部件中确定受到部件变更的影响的第三部件;从一系列动作中确定与第一部件或所确定的第三部件有关的一个或多个动作;以及从所确定的一个或多个动作中提取由于第一部件以及第二部件的属性的差异而成为修正对象的动作。上述各部件(32、33)是第三部件的一例。由此,能够适当地提取通过部件变更而成为修正对象的动作。
在上述具体例中,通过该处理,在与部件31有关的动作中,作为修正对象而提取的动作的一例,是通过夹具25把持部件31的动作以及通过夹具25将部件31搬运到目标位置的动作。在部件35的供给位置与部件31不同的情况下,作为修正对象而提取的动作的一例,也包括将夹具25移动到部件31的供给位置的动作。另外,在与各部件(32、33)有关的动作中,作为修正对象而提取的动作的一例,是通过夹具25将各部件(32、33)搬送到目标位置的动作。
接着,控制器1修正动作程序50内的提取出的动作的指令值以补偿部件31以及部件35之间的尺寸的差异。作为修正的指令值的具体例,为了把持部件31而规定的夹具25的开口宽度以及闭口宽度,可以修正为能够把持部件35的较大的值。为了将部件31搬运到目标位置而规定的夹具25的目标位置,可以在部件35的高度比部件31低的情况下修正为较低的值。为了在目标位置放开部件31而规定的夹具25的开口宽度,可以修正为能够放开部件35的较大的值。在部件35的供给位置与部件31不同的情况下,为了移动到部件31的供给位置而规定的夹具25的目标位置,可以修正为适合部件35的供给位置。另外,为了将各部件(32、33)搬运到目标位置而规定的夹具25的目标位置,可以在部件35的高度比部件31低的情况下修正为较低的值。
各修正量可以根据第一部件以及第二部件之间的属性的差异来决定。修正规则可以适当设定。例如,可以将第一部件以及第二部件之间的属性值的差直接应用于各修正量。在上述具体例中,部件31以及部件35之间的尺寸差可以直接应用于各修正量。另外,例如,各修正量也可以根据第一部件以及第二部件之间的属性值之差,按照规定的规则导出。由此,能够生成新的动作程序55。
如上所述,本实施方式所涉及的控制器1根据部件变更请求,通过修正动作程序50内的指令值,能够自动生成新的动作程序55。在所生成的新的动作程序55中,通过上述处理,对受到部件变更的影响的动作的指令值进行修正,使得其适合变更后的第二部件(在上述具体例中为部件35)的属性。因此,根据所生成的新的动作程序55,能够适当地执行从第一部件变更为第二部件后的产品3的组装作业。因此,根据本实施方式,在构成产品3的部件的至少一部分发生变更的情况下,能够削减生成在部件变更后的组装作业中可利用的新的动作程序55的劳力和时间。
此外,以往,如果不是具有与机器人装置的动作以及各部件有关的丰富知识的熟练人员,则难以根据这样的部件变更来生成新的动作程序。与此相对,根据本实施方式所涉及的控制器1,能够根据部件变更的指定,自动生成在部件变更后的组装作业中可利用的新的动作程序55。因此,通过利用本实施方式所涉及的控制器1,即使是初学者,也能够生成与部件变更对应的新的动作程序。
§2结构例
[硬件结构]
<控制器>
图4示意性地例示本实施方式所涉及的控制器1的硬件结构的一例。如图4所示,本实施方式所涉及的控制器1是电连接有控制部11、存储部12、外部接口13、输入装置14、输出装置15以及驱动器16的计算机。需要说明的是,在图4中,将外部接口记载为“外部I/F”。
控制部11包含作为硬件处理器的CPU(CentralProcessingUnit:中央处理器)、RAM(RandomAccessMemory:随机存取存储器)、ROM(ReadOnlyMemory:只读存储器)等,构成为基于程序以及各种数据来执行信息处理。存储部12是存储器的一例,例如由硬盘驱动器、固态驱动器等构成。在本实施方式中,存储部12存储动作程序50、生成程序81、属性信息121、规格信息123、机器人信息125等各种信息。
如上所述,动作程序50由用于向机器人装置2指示由多个部件组装产品3的组装作业的一系列动作的指令值的系列构成。生成程序81是用于根据部件变更请求,使控制器1执行生成新的动作程序55的后述的信息处理(图8A以及图8B)的程序。生成程序81包含该信息处理的一系列命令。属性信息121包含与产品3可使用的各部件的属性有关的信息。可用于产品3的部件包括上述各部件(31~33、35)。属性信息121可以包含与各部件的形状、尺寸以及位置(即几何属性)有关的信息。各部件的位置例如是上述供给位置等。几何属性还可以包括各部件的姿态(例如滚动、俯仰、偏转)。属性信息121还可以包含与重量(即,几何属性以外的其他属性)有关的信息。规格信息123包含与能够安装在机器人装置2上的各工具的规格有关的信息。工具的规格例如涉及夹具的最大开口宽度等执行作业的能力。由规格信息123表示的规格可以根据工具的种类适当选择。可安装在机器人装置2上的工具包括上述夹具25。机器人信息125包含与机器人装置2的规格有关的信息。详细情况将在后面叙述。
外部接口13例如是USB(UniversalSerialBus:通用串行总线)端口、专用端口等,是用于与外部装置连接的接口。外部接口13的种类以及数量可以根据所连接的外部装置的种类以及数量适当选择。在本实施方式中,控制器1经由外部接口13与机器人装置2连接。由此,控制器1构成为能够控制机器人装置2的动作。
但是,用于控制机器人装置2的动作的结构也可以不限于这样的例子,可以根据实施方式适当决定。例如,在控制器1以及机器人装置2具备通信接口的情况下,控制器1可以经由通信接口与机器人装置2连接。另外,在另一信息处理装置(例如另一控制器)连接到机器人装置2的情况下,控制器1可以经由另一信息处理装置连接到机器人装置2。
输入装置14例如是用于进行鼠标、键盘等的输入的装置。另外,输出装置15例如是用于进行显示器、扬声器等的输出的装置。操作者通过利用输入装置14以及输出装置15,能够操作控制器1。
驱动器16例如是CD驱动器、DVD驱动器等,是用于读入存储在存储介质91中的程序等各种信息的驱动器装置。存储介质91是通过电、磁、光学、机械或化学作用存储该程序等信息的介质,使得计算机及其他装置、机械等能够读取所存储的程序等各种信息。
上述动作程序50、生成程序81、属性信息121、规格信息123以及机器人信息125中的至少任意一个也可以存储在存储介质91中。控制器1也可以从该存储介质91中取得上述动作程序50、生成程序81、属性信息121、规格信息123以及机器人信息125中的至少任意一个。
需要说明的是,在图4中,作为存储介质91的一例,例示了CD、DVD等盘型的存储介质。然而,存储介质91的种类不限于盘型,也可以是盘型以外的类型。作为盘型以外的存储介质,例如可以列举出闪存等半导体存储器。驱动器16的种类可以根据存储介质91的种类任意选择。
需要说明的是,关于控制器1的具体的硬件结构,可以根据实施方式适当进行构成要素的省略、置换以及追加。例如,控制部11也可以包含多个硬件处理器。硬件处理器可以由微处理器、FPGA(field-programmablegatearray:现场可编程门阵列)、DSP(digitalsignalprocessor:数字信号处理器)等构成。存储部12也可以由控制部11中包含的RAM以及ROM构成。也可以省略外部接口13、输入装置14、输出装置15以及驱动器16中的至少任意一个。控制器1也可以具备用于与其他信息处理装置进行数据通信的通信接口。控制器1也可以由多台计算机构成。在这种情况下,各计算机的硬件结构可以一致,也可以不一致。另外,控制器1除了被设计为所提供的服务专用的信息处理装置以外,也可以是通用的PC(PersonalComputer:个人计算机)(例如台式机、平板电脑等)、PLC(programmablelogiccontroller:可编程逻辑控制器)等。
<机器人装置>
图5示意性地例示本实施方式所涉及的机器人装置2的硬件结构的一例。
本实施方式所涉及的机器人装置2是6轴的垂直多关节型的工业用机器人,具备台座部210以及6个关节部211~216。各关节部211~216通过内置伺服电机(未图示)而构成为能够以各轴为中心旋转。第一关节部211与台座部210连接,使前端侧的部分绕台座的轴旋转。第二关节部212与第一关节部211连接,使前端侧的部分沿前后方向旋转。第三关节部213经由连杆221与第二关节部212连接,使前端侧的部分沿上下方向旋转。第四关节部214经由连杆222与第三关节部213连接,使前端侧的部分绕连杆222的轴旋转。第五关节部215经由连杆223与第四关节部214连接,使前端侧的部分沿上下方向旋转。第六关节部216经由连杆224与第五关节部215连接,使前端侧的部分绕连杆224的轴旋转。在第六关节部216的前端侧安装有作为末端执行器的夹具25。
在各关节部211~216中还内置有编码器(未图示)。编码器构成为测定各关节部211~216的角度。编码器的种类没有特别限定,可以根据实施方式适当选择。编码器的测定值用于控制各关节部211~216的角度。控制各关节部211~216的角度的方法没有特别限定,可以根据实施方式适当选择。各关节部211~216的控制例如可以采用PID(Proportional-Integral-Differential:比例-积分-微分)控制、PI控制等公知的方法。另外,各关节部211~216的角度和夹具25的位置之间的转换可以基于正向运动学以及反向运动学来进行。作为控制方法的一例,移动夹具25时的指令值可以由夹具25的目标位置规定。在这种情况下,可以通过反向运动学将夹具25的目标位置转换为各关节部211~216的目标角度。另外,可以基于各关节部211~216的目标角度以及由编码器测定的当前角度的差分,来决定各关节部211~216的驱动量。
需要说明的是,机器人装置2的硬件结构也可以不限于这样的例子。关于机器人装置2的具体的硬件结构,能够根据实施方式适当进行结构要素的省略、置换以及追加。例如,为了观测控制量或其他属性,机器人装置2也可以具备编码器以外的传感器。作为一例,机器人装置2还可以具备视觉传感器(例如照相机)以及触觉传感器中的至少任意一个。由传感器得到的感测数据可以用于机器人装置2的反馈控制。例如,机器人装置2的动作可以基于由触觉传感器得到的感测数据进行控制,使得过剩的力不作用在夹具25上。另外,例如,机器人装置2的动作可以基于由视觉传感器得到的感测数据进行控制,使得夹具25移动到所希望的位置(例如能够把持各部件的位置)。此外,机器人装置2的轴数不限于6轴,可以根据实施方式适当选择。机器人装置2可以使用公知的工业用机器人。
[软件结构]
图6示意性地例示与本实施方式所涉及的控制器1的程序生成的信息处理有关的软件结构的一例。
控制器1的控制部11将存储在存储部12中的生成程序81在RAM中展开。然后,控制部11通过CPU解释并执行在RAM中展开的生成程序81中包含的命令,控制各构成要素。由此,如图6所示,本实施方式所涉及的控制器1作为计算机工作,该计算机具备数据取得部111、变更受理部112、动作提取部113、指令修正部114、模拟部115、规格判定部116、工具提取部117、指标判定部118以及坐标修正部119作为软件模块。即,在本实施方式中,与控制器1的程序生成的信息处理有关的各软件模块由控制部11(CPU)实现。
数据取得部111取得动作程序50,该动作程序50用于向机器人装置2指示由多个部件组装产品3的组装作业的一系列动作。变更受理部112受理变更多个部件中的至少任意一个部件的部件变更请求。动作提取部113参照属性信息121,比较被指定为部件变更对象的第一部件的属性以及通过部件变更而与第一部件置换的第二部件的属性,从动作程序50内规定的一系列动作中,提取由于第一部件以及第二部件的属性的差异而成为修正对象的动作。指令修正部114通过修正动作程序50内的提取出的动作的指令值以补偿第一部件以及第二部件的属性的差异,从而生成用于向机器人装置2指示部件变更后的组装作业的一系列动作的新的动作程序55。
模拟部115使用所生成的新的动作程序55,模拟部件变更后的组装作业中的机器人装置2的一系列动作。规格判定部116参照规格信息123,判定第一工具的规格是否能够追随从第一部件向第二部件的部件变更。在规格判定部116判定为第一工具的规格不能追随部件变更的情况下,工具提取部117参照规格信息123。然后,工具提取部117从由规格信息123表示的多个工具中提取与第一工具同类型的第二工具,即具有能够追随部件变更的规格的第二工具。指令修正部114通过修正动作程序50内的提取出的动作的指令值以进一步补偿从第一工具向第二工具的变更,从而生成用于向机器人装置2指示部件变更后的组装作业的一系列动作的新的动作程序55。
另外,为了在假想空间上再现实际空间,属性信息121也可以包含能够用于产品3的各部件的几何模型。规格信息123也可以包含能够安装在机器人装置2上的各工具的几何模型。机器人信息125也可以包含机器人装置2的几何模型。各几何模型在对每个物体(部件、工具、机器人装置2)设定的以基准点为原点的局部坐标系上,表示该物体的形状以及尺寸。各几何模型例如可以由CAD(computer-aideddesign:计算机辅助设计)数据等构成,也可以由公知的软件生成。为了把握实际空间的作业状态、执行上述模拟等目的,控制器1可以构成为能够基于属性信息121、规格信息123以及机器人信息125,生成投影了实际空间的作业状态的假想空间。作业状态例如通过各部件(31~33、35)以及夹具25的当前位置等来表示。假想空间的生成可以使用公知的软件。
图7示意性地例示各部件(31、35)的几何模型(310、350)的一例。各几何模型(310、350)在以对各部件(31、35)设定的基准点(317、357)为原点的局部坐标系(315、355)上,表示各部件(31、35)的形状以及尺寸。在图7的例子中,表示部件31的几何模型310的基准点317位于部件31的中心。另一方面,表示部件35的几何模型350的基准点357位于部件35的角(图中的左前方的角)。像这样,有时多个部件之间以不同的指标设定几何模型的基准点。这是由于例如由不同的操作者生成几何模型等原因而造成的。在该状态下,如果将部件31置换为部件35,则在假想空间上,由于基准点的指标不同,导致部件35的位置会相应地偏离所希望的位置。由此,在执行所生成的新的动作程序55时,与机器人装置2的部件35有关的动作有可能产生不良。
因此,指标判定部118判定为第一部件的几何模型的基准点和第二部件的几何模型的基准点是否以同一指标设定。在指标判定部118判定为第一部件以及第二部件的基准点没有以同一指标设定的情况下,坐标修正部119在执行修正上述动作的指令值的处理之前,修正第二部件的几何模型的基准点,使得第二部件的几何模型的基准点与第一部件的几何模型的基准点以同一指标设定。在图7的例子中,部件31的基准点317位于部件31的中心,与此相对,部件35的基准点357位于部件35的角。因此,指标判定部118判定为部件31的基准点317以及部件35的基准点357没有以同一指标设定。坐标修正部119修正部件35的基准点357,使得部件35的基准点357与部件31的基准点317以同一指标设定。作为修正的一例,如图7所示,坐标修正部119修正基准点357的位置,使得基准点357配置在部件35的中心。在部件35的局部坐标系355的倾斜度与部件31的局部坐标系315的倾斜度不同的情况下,基准点357的修正可以包括将局部坐标系355的倾斜度修正为与局部坐标系315的倾斜度一致。
关于控制器1的各软件模块,将在后述的动作例中详细说明。需要说明的是,在本实施方式中,对控制器1的各软件模块均由通用的CPU实现的例子进行了说明。然而,以上的软件模块的一部分或全部也可以通过一个或多个专用的处理器来实现。另外,关于控制器1的软件结构,也可以根据实施方式适当进行软件模块的省略、置换以及追加。
§3动作例
图8A以及图8B是表示本实施方式所涉及的控制器1的处理过程的一例的流程图。以下说明的处理过程是程序生成方法的一例。但是,以下说明的处理过程仅是一例,各步骤可以尽可能地变更。此外,关于以下说明的处理过程,能够根据实施方式适当进行步骤的省略、置换以及追加。
(步骤S101)
在步骤S101中,控制部11作为数据取得部111工作,取得动作程序50。
在本实施方式中,控制部11从存储部12取得动作程序50。但是,动作程序50的获取源也可以不限于这样的例子。动作程序50也可以存储在外部存储装置、存储介质等其他存储区域中。外部存储装置例如可以是NAS(NetworkAttachedStorage:网络附加存储)等数据服务器,或者与控制器1连接的外置的存储装置。在这种情况下,控制部11也可以从其他存储装置适当取得动作程序50。或者,机器人装置2也可以具备下级控制器,由下级控制器保存动作程序50。在这种情况下,控制部11也可以从机器人装置2的下级控制器适当取得动作程序50。
当完成动作程序50的取得时,控制部11使处理进入下一步骤S102。
(步骤S102)
在步骤S102中,控制部11作为变更受理部112工作,受理构成产品3的多个部件中的至少任意一个部件的变更请求。
只要能够确定成为部件变更对象的第一部件以及与第一部件置换的第二部件,则受理部件变更请求的接口没有特别限定,可以根据实施方式适当设计。例如,控制部11可以通过经由输入装置14指定第一部件以及第二部件来受理部件变更请求。可以通过字符输入来指定第一部件以及第二部件。作为另一例,控制部11可以将构成产品3的部件(在上述具体例中为部件31~33)的列表输出到输出装置15,并且可以经由输出的列表受理第一部件的指定。构成产品3的部件的列表可以预先保存在存储部12等存储区域中,或者可以从动作程序50中适当提取。然后,控制部11也可以向输出装置15输出与所指定的第一部件同类型的部件的列表,经由所输出的列表受理第二部件的指定。与第一部件同类型的部件的列表可以预先保存在存储区域中,或者也可以从属性信息121中提取。
当完成部件变更请求的受理时,控制部11使处理进入下一步骤S103。需要说明的是,步骤S102的处理过程也可以不限于这样的例子。在构成产品3的部件的列表的生成中不利用动作程序50的情况下,步骤S102的处理可以与步骤S101的处理并行,或者在步骤S101的处理之前执行。
(步骤S103)
在步骤S103中,控制部11作为指标判定部118工作,判定为第一部件的几何模型的基准点和第二部件的几何模型的基准点是否以同一指标设定。
判定是否以同一指标设定的方法可以根据实施方式适当决定。作为一例,首先,控制部11也可以取得表示各部件的几何模型的基准点的指标的信息(以下也记载为“指标信息”)。在图7的例子中,表示部件31的几何模型310的基准点317位于部件31的中心。表示部件35的几何模型350的基准点357位于部件35的角。因此,各部件的几何模型的基准点的指标可以根据基准点相对于几何模型的形状的位置关系来推定,例如,基准点位于规定的定点(例如中心、重心、边缘等)等。因此,控制部11可以参照属性信息121,并且根据基准点相对于各部件的几何模型的形状的位置关系来推定各部件的几何模型的基准点的指标。基于该推定的结果,控制部11也可以取得指标信息。或者,指标信息也可以预先保存在存储区域中。在这种情况下,控制部11也可以从该存储区域中取得指标信息。然后,控制部11可以基于指标信息来比较第一部件以及第二部件的几何模型的基准点的指标。基于该比较的结果,控制部11可以判定在第一部件以及第二部件之间几何模型的基准点是否以同一指标设定。
当完成在第一部件以及第二部件之间几何模型的基准点是否以同一指标设定的判定时,控制部11使处理进入下一步骤S104。
(步骤S104)
在步骤S104中,控制部11基于步骤S103的判定结果,决定处理的分支目的地。如果在步骤S103中判定为在第一部件以及第二部件之间几何模型的基准点以同一指标设定,则控制部11省略步骤S105中的处理,使处理进入步骤S106。另一方面,如果判定为在第一部件以及第二部件之间几何模型的基准点没有以同一指标设定,则控制部11使处理进入步骤S105。
(步骤S105)
在步骤S105中,控制部11作为坐标修正部119工作,修正第二部件的几何模型的基准点,使得第二部件的几何模型的基准点与第一部件的几何模型的基准点以同一指标设定。
在本实施方式中,控制部11通过移动第二部件的基准点使得第二部件的基准点位于与第一部件的基准点的指标对应的规定的定点,从而修正第二部件的几何模型的基准点。在图7的例子中,控制部11修正基准点357的位置,使得基准点357配置在部件35的中心。在第一部件以及第二部件之间局部坐标系的倾斜度不同的情况下,控制部11也可以修正第二部件的局部坐标系的倾斜度,使得第二部件的局部坐标系的倾斜度与第一部件的局部坐标系的倾斜度一致。
当完成第二部件的几何模型的基准点的修正时,控制部11使处理进入下一步骤S106。需要说明的是,步骤S103~步骤S105的处理过程也可以不限于这样的例子。步骤S103~步骤S105的处理可以在后述的步骤S107的处理之前的任意时刻执行。另外,控制部11不限于被指定为代替第一部件而使用的部件的第二部件,而是可以在部件变更前将构成产品3的各部件假想为第一部件,修正能够置换为假想的第一部件的各部件的几何模型的基准点。在这种情况下,步骤S103~步骤S105的处理可以与步骤S102的处理并行,或者在步骤S102的处理之前执行。
(步骤S106)
在步骤S106中,控制部11作为动作提取部113工作,参照属性信息121,比较第一部件以及第二部件的属性。然后,控制部11基于比较的结果,从动作程序50内规定的一系列动作中,提取由于第一部件以及第二部件的属性的差异而成为修正对象的动作。
作为一例,首先,控制部11从构成产品3的多个部件中确定受到部件变更的影响的第三部件。受到部件变更的影响是因为第三部件与第一部件之间具有依赖关系。当多个部件在产品3中分层或结构配置时可能会产生这样的部件的依赖关系。具有依赖关系的一例是如上述具体例中的各部件(32、33)那样配置在变更的对象部件上。像这样,通过变更对象部件,在组装后产品3内的目标状态(例如配置位置、姿势)可能发生变更的部件与第一部件之间具有依赖关系。
可以适当确定与第一部件具有依赖关系的第三部件。例如,表示各部件间的依赖关系的信息(以下也记载为“依赖关系信息”)也可以包含在属性信息121中。在这种情况下,控制部11能够通过参照属性信息121来取得依赖关系信息。控制部11也可以通过参照依赖关系信息,从构成产品3的多个部件中确定第三部件。依赖关系信息也可以作为与属性信息121不同的文件,预先保存在存储部12等存储区域中。在这种情况下,控制部11能够从该存储区域中取得依赖关系信息。或者,控制部11也可以通过依赖性解析等公知的解析方法,从动作程序50中确定与第一部件之间具有依赖关系的第三部件。
接着,控制部11从动作程序50内规定的一系列动作中,确定与第一部件或所确定的第三部件有关的一个或多个动作。控制部11通过参照属性信息121,比较第一部件以及第二部件之间的属性,从而识别变更的属性值。然后,控制部11从所确定的一个或多个动作中,提取与变更的属性值相关的动作(即,由于第一部件以及第二部件的属性的差异而成为修正对象的动作)。
成为修正对象的动作可以根据在第一部件以及第二部件之间不同的属性的种类来适当确定。作为一例,修正对象的动作与不同的属性种类之间的对应关系也可以由规则库给出。控制部11通过参照表示该对应关系的信息,能够根据在第一部件以及第二部件之间不同的属性的种类,确定成为修正对象的动作。表示对应关系的信息可以预先保存在存储部12等存储区域中。
在本实施方式中,属性信息121包含与各部件的几何属性有关的信息。因此,在该步骤S106的处理中,控制部11能够根据第一部件以及第二部件之间的几何属性的差异来提取与第一部件以及第三部件有关的几何动作。在上述具体例中,由夹具25把持部件31的动作、由夹具25将部件31搬运到目标位置的动作、以及由夹具25将各部件(32、33)搬运到目标位置的动作作为成为修正对象的动作被提取。在部件35的供给位置与部件31不同的情况下,将夹具25移动到部件31的供给位置的动作作为成为修正对象的动作被进一步提取。此外,属性信息121还可以包含与重量有关的信息。在这种情况下,在步骤S106的处理中,控制部11例如能够提取将第一部件搬运到目标位置的动作等受到几何属性以外的其他属性影响的动作。
需要说明的是,提取成为修正对象的动作的方法也可以不限于这样的例子。作为其他的一例,在简单地进行处理的情况下,控制部11也可以省略与第三部件有关的处理,仅提取与变更为第二部件的第一部件有关的动作。
当完成成为修正对象的动作的提取时,控制部11使处理进入下一步骤S107。
(步骤S107)
在步骤S107中,控制部11作为指令修正部114工作,修正动作程序50内的提取出的动作的指令值以补偿第一部件以及第二部件的属性的差异。
在本实施方式中,控制部11根据第一部件以及第二部件之间的属性值的差,修正所提取的动作的指令值。如上所述,第一部件以及第二部件之间的属性值的差可以直接应用于修正量。或者,也可以根据第一部件以及第二部件之间的属性值的差,按照规定的规则导出修正量。规定的规则可以由规则库给出,或者也可以由函数等运算式给出。在本实施方式中,属性信息121包含与各部件的几何属性有关的信息。因此,在该步骤S107中,控制部11能够修正上述具体例的夹具25的开口宽度以及闭口宽度、各部件31~33的目标位置等与机器人装置2的几何动作有关的指令值。另外,属性信息121还可以包含与重量有关的信息。在这种情况下,在步骤S107中,控制部11例如能够修正与搬运第一部件时的夹具25的转矩量等受到几何属性以外的其他属性影响的动作有关的指令值。
由此,控制部11能够生成修正了所提取的动作的指令值的临时动作程序。当通过修正所提取的指令值而完成临时动作程序的生成时,控制部11使处理进入下一步骤S108。
(步骤S108)
在步骤S108中,控制部11使用所生成的临时动作程序来模拟在部件变更后的组装作业中机器人装置2的一系列动作。
动作的模拟可以用任意的方法进行。模拟可以使用公知的软件。例如,控制部11也可以基于属性信息121、规格信息123以及机器人信息125,在世界坐标系的假想空间上再现由临时动作程序规定的产品3的组装作业的各工序。通过该再现,控制部11也可以模拟机器人装置2的一系列动作。
需要说明的是,在执行组装作业的环境中,例如有可能存在障碍物等产品3的各部件以外的其他要素。因此,在该模拟中也可以进一步反映其他要素。可以适当取得与其他要素有关的信息(以下也记载为“环境信息”)。环境信息可以预先保存在存储部12等存储区域中,控制部11可以从该存储区域中取得环境信息。与属性信息121等同样,在环境信息中也可以包含障碍物等其他要素的几何模型。
通过该步骤S108的模拟,能够验证在执行所生成的临时动作程序时是否产生动作不良。即,能够将难以通过与部件变更相关的动作的指令值的修正来应对的意外的不良情况防患于未然。由此,能够提高所生成的动作程序的可靠性。当完成组装作业的一系列动作的模拟时,控制部11使处理进入下一步骤S109。
(步骤S109)
在步骤S109中,控制部11作为验证部(未图示)工作,在步骤S108的模拟中,判定在机器人装置2的动作中是否产生了不良情况(问题)。在判定为在机器人装置2的动作中产生了不良情况的情况下,控制部11使处理进入步骤S110。另一方面,在判定为没有产生不良情况的情况下,控制部11使处理进入步骤S116。
通过模拟检测出的不良情况的典型例是对象工具(第一工具)的规格不能追随部件变更,即对象工具的规格不适合第二部件的属性。此外,不良情况的一例是,由于部件变更而导致各部件的配置关系发生变化,因此例如障碍物、其他部件等其他物体干涉与任意部件有关的作业的执行。作为干涉的具体例,假设第二部件的高度比第一部件高,并且存在通过夹具从供给位置越过第二部件配置的邻接部件的场景。在这种情况下,由夹具搬运邻接部件的轨道有可能被第二部件阻挡。阻挡该搬运的轨道是干涉的一例。在产生这些不良情况的情况下,控制部11使处理进入步骤S110。需要说明的是,其他物体中的其他部件的干涉可以在上述步骤S106中检测。在这种情况下,控制部11可以将作业与其他物品干涉的部件作为第三部件来处理。然后,在步骤S107中,控制部11也可以修正与该部件有关的动作的指令值以避免其他部件的干涉。
(步骤S110)
在步骤S110中,控制部11作为规格判定部116工作,参照规格信息123,判定对象工具(第一工具)的规格是否能够追随从第一部件向第二部件的部件变更。
对象工具的规格能够追随部件变更是指对象工具的规格允许第一部件以及第二部件的属性的差异,换言之,对象工具的规格满足通过修正后的指令值对第二部件执行与第一部件相同的作业的条件。控制部11参照属性信息121以及规格信息123,比较第二部件的属性和对象工具的规格。控制部11也可以基于该比较的结果,判定对象工具的规格是否满足对第二部件执行作业的条件,即对象工具的规格是否能够追随从第一部件向第二部件的部件变更。
在上述具体例中,规格信息123例如也可以包含与夹具25的最大开口宽度、最小开口宽度、可搬运重量、开口速度、把持转矩等有关的信息。在这种情况下,控制部11也可以将夹具25的最大开口宽度以及最小开口宽度与部件35的尺寸进行比较,判定是否能够由夹具25把持部件35。如果部件35的尺寸为最大开口宽度以下且最小开口宽度以上,则能够由夹具25把持部件35,据此,控制部11能够判定为对象工具的规格能够追随从第一部件向第二部件的部件变更。另一方面,如果部件35的尺寸超过最大开口宽度或小于最小开口宽度,则不能由夹具25把持部件35,据此,控制部11能够判定为对象工具的规格不能追随从第一部件向第二部件的部件变更。此外,控制部11也可以比较夹具25的可搬运重量和部件35的重量,判定是否能够通过夹具25搬运部件35。如果部件35的重量为可搬运重量以下,据此,控制部11能够判定为对象工具的规格能够追随从第一部件向第二部件的部件变更。另一方面,如果部件35的重量超过可搬运重量,据此,控制部11能够判定为对象工具的规格不能追随从第一部件向第二部件的部件变更。这些比较是一例,在判定是否能够追随时进行比较的规格以及属性的种类可以根据实施方式适当选择。
当完成对象工具的规格是否能够追随部件变更的判定时,控制部11使处理进入下一步骤S111。
(步骤S111)
在步骤S111中,控制部11基于步骤S110的判定结果,决定处理的分支目的地。在步骤S110中,在判定为对象工具的规格能够追随从第一部件向第二部件的部件变更的情况下,控制部11使处理进入步骤S115。另一方面,在判定为对象工具的规格不能追随部件变更的情况下,控制部11使处理进入步骤S112。
(步骤S112)
在步骤S112中,控制部11作为工具提取部117工作,参照规格信息123,从多个工具中提取与对象工具同类型的工具,即具有能够追随部件变更的规格的工具。所提取的工具是第二工具的一例。
在本实施方式中,控制部11参照规格信息123,提取与对象工具同类型的工具,即具有满足对第二部件执行与第一部件相同的作业的条件的规格的工具。在上述具体例中,在判定为不能由夹具25把持部件35的情况下,控制部11从规格信息123所示的多个夹具中提取能够把持部件35的夹具。另外,在判定为通过夹具25不能搬运部件35的情况下,控制部11从规格信息123所示的多个夹具中提取由于可搬运重量为部件35的重量以上而能够搬运部件35的夹具。
当完成具有能够跟随部件变更的规格的工具的提取时,控制部11使处理进入下一步骤S113。
(步骤S113以及步骤S114)
在步骤S113中,控制部11将对象部件所使用的工具变更为从对象工具中提取出的工具。在上述步骤S112中,可以提取能够跟随部件变更的多个工具。据此,控制部11可以从所提取的多个工具中适当选择用于对象部件的工具。作为一例,在规格信息123中也可以包含与使用各工具的优先级有关的信息。在这种情况下,控制部11可以基于为各工具设定的优先级来选择用于对象部件的工具。作为另一例,控制部11可以将所提取的多个工具输出到输出装置15,并且经由输入装置14从所输出的多个工具中受理对用于对象部件的工具的指定。在这种情况下,控制部11也可以根据操作者的指定,选择用于对象部件的工具。
在步骤S114中,控制部11作为指令修正部114工作,修正动作程序50内的提取出的动作的指令值以进一步补偿从对象工具向所提取的工具的变更。即,控制部11将与对象工具有关的动作的指令值修正为适合于所提取的工具。作为修正方法的一例,修正规则可以由规则库给出。在这种情况下,表示修正规则的信息(以下记载为“修正规则信息”)可以预先保存在存储部12等存储区域中。控制部11从该存储区域中取得修正规则信息。然后,控制部11按照修正规则信息,将与对象工具有关的动作的指令值修正为适合于所提取的工具。在修正规则信息中,例如也可以包含与函数、变量等各工具间的参数的对应关系有关的信息。在这种情况下,控制部11也可以根据该对应关系,进一步修正在动作程序50内使用的参数。
由此,通过进一步修正动作程序50内的指令值,换言之,通过修正在执行步骤S114之前得到的临时动作程序内的指令值,能够生成新的临时动作程序。当完成新的临时动作程序的生成时,控制部11使处理返回步骤S108。然后,控制部11从使用了新的临时动作程序的动作的模拟开始重复进行处理。需要说明的是,步骤S110~步骤S114的处理过程也可以不限于这样的例子。步骤S110~步骤S114的处理也可以在步骤S108的处理之前执行。
(步骤S115)
在步骤S115中,控制部11作为指令修正部114工作,进一步修正动作程序50内的指令值以消除通过模拟检测出的不良情况(问题)。
在步骤S115中成为修正对象的是由上述对象工具的规格引起的不良情况以外的不良情况。如上所述,成为修正对象的不良情况的一例是由其他物体的干涉引起的不良情况。作为修正方法的一例,与上述步骤S114同样,用于消除不良情况的修正规则可以由规则库给出。修正规则可以适当给出,例如变更夹具25的搬运轨道、变更把持或放开各部件时的夹具25的姿势等,以避免其他物体的干涉。各指令值的变更量可以适当决定。在这种情况下,控制部11也可以按照修正规则进一步修正动作程序50内的指令值以消除检测出的不良情况。
另外,在难以自动修正的情况下,控制部11也可以向输出装置15输出产生不良情况的动作,经由输入装置14受理动作程序50内的指令值的修正。在这种情况下,控制部11也可以根据操作者的输入,进一步修正动作程序50内的指令值。
由此,通过进一步修正动作程序50内的指令值,换言之,通过修正在执行步骤S115之前得到的临时动作程序内的指令值,能够生成新的临时动作程序。当完成新的临时动作程序的生成时,控制部11使处理返回步骤S108。然后,控制部11从使用了新的临时动作程序的动作的模拟开始重复进行处理。
在步骤S108的模拟中检测出动作的不良情况的期间,可以重复步骤S110~步骤S114或步骤S110、步骤S111以及步骤S115的一系列修正处理。在步骤S108的模拟中,将在没有检测出动作的不良情况的阶段得到的临时动作程序认定为新的动作程序55。需要说明的是,可以适当规定重复进行一系列修正处理的次数。在这种情况下,控制部11也可以在重复进行一系列修正处理的次数超过规定次数后,停止本动作例所涉及的处理过程,经由输出装置15暂时输出在该阶段生成的动作程序,并且将产生不良情况的动作通知给操作者(用户)。
(步骤S116)
在步骤S116中,控制部11作为保存处理部(未图示)工作,将所生成的新的动作程序55保存在规定的存储区域中。规定的存储区域例如可以是控制部11内的RAM、存储部12、外部存储装置、存储介质或它们的组合。新的动作程序55可以覆盖保存原来的动作程序50,或者也可以保存为与原来的动作程序50不同的文件。
当完成新的动作程序55的保存时,控制部11结束本动作例所涉及的处理过程。
[特征]
如上所述,根据本实施方式,通过步骤S101、步骤S102、步骤S106以及步骤S107的处理,根据部件变更请求,修正动作程序50内的指令值,从而能够自动生成新的动作程序55。在所生成的新的动作程序55中,已经通过步骤S106以及步骤S107的处理,修正受到部件变更的影响的动作的指令值以使其适合变更后的第二部件的属性。因此,根据所生成的新的动作程序55,能够适当地执行从第一部件变更为第二部件后的产品3的组装作业。因此,根据本实施方式,在构成产品3的部件的至少一部分发生变更的情况下,能够削减生成在部件变更后的组装作业中可利用的新的动作程序55的劳力和时间。此外,通过利用本实施方式所涉及的控制器1,即使是初学者,也能够生成与部件变更对应的新的动作程序。
另外,根据本实施方式,通过步骤S103~步骤S105的处理,在通过步骤S106以后的处理生成新的动作程序55时,能够确保第一部件以及第二部件的几何模型的基准点以同一指标设定。由此,能够防止由于几何模型的基准点的指标不同而在执行新的动作程序55时产生的动作不良。另外,能够使调整各部件的几何模型的基准点的作业自动化,相应地能够进一步削减生成在部件变更后的组装作业中可利用的新的动作程序55的劳力和时间。
另外,根据本实施方式,通过步骤S110的处理,能够验证是否产生由变更的对象部件所使用的对象工具的规格引起的动作不良,由此,能够实现所生成的动作程序55的可靠性的提高。另外,在推定为产生由变更的对象部件所使用的工具的规格引起的动作不良的情况下,通过步骤S112的处理,能够自动地提取适当的代替工具(第二工具)。由此,能够减轻修正所生成的动作程序的劳力和时间。此外,通过步骤S114的处理,能够自动地应对工具的变更,相应地能够进一步削减生成新的动作程序55的劳力和时间。
另外,由于属性信息121包含与各部件的几何属性有关的信息,因此在上述步骤S107中,能够自动生成与通过从第一部件向第二部件的置换而产生的对象部件的几何属性的变更对应的新的动作程序55。由于属性信息121还包含与重量有关的信息,因此在上述步骤S107中,能够自动生成与通过从第一部件向第二部件的置换而产生的对象部件的几何属性以外的属性的变更对应的新的动作程序。
§4变形例
以上,详细说明了本发明的实施方式,但到上述为止的说明在所有方面仅是本发明的例示。当然可以在不脱离本发明的范围的情况下进行各种改良或变形。例如,可以进行以下的变更。需要说明的是,以下对于与上述实施方式相同的构成要素使用相同的符号,对于与上述实施方式相同的点适当省略说明。以下的变形例可以适当组合。
<4.1>
在上述实施方式所涉及的处理过程中,也可以省略步骤S113以及步骤S114的处理。在这种情况下,控制部11也可以将通过步骤S112的处理提取出的工具输出到输出装置15,并且经由输入装置14受理临时动作程序的修正。由此,控制部11也可以根据操作者的输入,将与对象工具有关的动作的指令值修正为适合于所提取的工具。
另外,在上述实施方式所涉及的处理过程中,可以进一步省略步骤S112的处理。在这种情况下,在控制器1的软件结构中,可以省略工具提取部117。控制部11也可以在步骤S111的处理之后,经由输出装置15输出对象工具不能追随部件变更的信息,经由输入装置14受理代替工具的指定。由此,控制部11也可以根据操作者的指定,代替对象工具而决定在第二部件的作业中使用的工具。
另外,在上述实施方式所涉及的处理过程中,可以进一步省略步骤S110以及步骤S111的处理。在这种情况下,在控制器1的软件结构中,可以省略规格判定部116。与工具有关的动作的指令值的修正可以通过操作者的手工作业等方式适当进行。
<4.2>
在上述实施方式所涉及的处理过程中,可以省略步骤S103~步骤S105的处理。在这种情况下,在控制器1的软件结构中,可以省略指标判定部118以及坐标修正部119。各部件的几何模型的基准点可以通过操作者的手工作业等方式适当修正。
<4.3>
在上述实施方式所涉及的处理过程中,可以省略步骤S108、步骤S109以及步骤S115的处理。在这种情况下,在控制器1的软件结构中,可以省略模拟部115。所生成的新的动作程序55的可靠性可以通过操作者的手工作业、使用其他软件等方式适当验证。
<4.4>
在上述实施方式中,所变更的部件(第一部件)的数量不限于一个,也可以是多个。另外,第一部件以及第二部件也可以分别由多个子部件构成。构成第一部件的子部件的数量和构成第二部件的子部件的数量也可以不一致。
另外,在上述步骤S105中,控制部11可以修正第一部件的几何模型的基准点而不是第二部件的几何模型的基准点,使得第一部件的几何模型的基准点与第二部件的基准点以同一指标设定。在这种情况下,通过修正第一部件的几何模型的基准点,控制部11可以进一步修正与动作程序50内的第一部件有关的动作的指令值。
另外,上述实施方式所涉及的控制器1构成为能够执行用于控制机器人装置2的动作的信息处理,以及用于根据所请求的部件变更来生成新的动作程序55的信息处理。然而,程序生成装置的结构也可以不限于这样的例子。可以省略用于控制机器人装置2的动作的信息处理。
图9示意性地例示应用本发明的另一个场景的一例。在图9的例子中,控制器7构成为,与机器人装置2连接,控制机器人装置2的动作。控制器7的硬件结构可以与上述控制器1相同。另一方面,程序生成装置1A构成为根据所请求的部件变更,生成新的动作程序55。程序生成装置1A的硬件结构以及软件结构可以与上述控制器1相同。像这样,用于控制机器人装置2的动作的信息处理和用于生成新的动作程序55的信息处理可以由不同的计算机执行。
需要说明的是,如图9所示,程序生成装置1A以及控制器7可以经由网络相互连接。网络的种类例如可以从因特网、无线通信网、移动通信网、电话网、专用网等中适当选择。在这种情况下,程序生成装置1A以及控制器7分别还具备网络接口。由此,在程序生成装置1A以及控制器7之间可以交换各种数据(例如修正前的动作程序50、修正后的动作程序55)。但是,在程序生成装置1A以及控制器7之间交换数据的方法也可以不限于这样的例子。例如,在程序生成装置1A以及控制器7之间,可以利用存储介质来交换数据。
符号说明
1…控制器,11…控制部,12…存储部,13…外部接口,14…输入装置,15…输出装置,16…驱动器,111…数据取得部,112…变更受理部,113…动作提取部,114…指令修正部,115…模拟部,116…规格判定部,117…工具提取部,118…指标判定部,119…坐标修正部,50…(修正前的)动作程序,55…(修正后的)动作程序,121…属性信息,123…规格信息,125…机器人信息,81…生成程序,91…存储介质,2…机器人装置,210…台座部,211~216…关节部,221~224…连杆,25…夹具(工具),3…产品,31…部件(第一部件),32、33…部件,35…部件(第二部件),310、350…几何模型,315、355…局部坐标系,317、357…基准点。
Claims (11)
1.一种程序生成装置,具备:
数据取得部,取得用于向机器人装置指示由多个部件组装产品的组装作业的一系列动作的动作程序;
变更受理部,受理变更所述多个部件中的至少任意一个部件的部件变更请求;
动作提取部,参照表示各部件的属性的属性信息,比较被指定为所述部件变更对象的第一部件的属性以及通过所述部件变更而与所述第一部件置换的第二部件的属性,从在所述动作程序内规定的所述一系列动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作;以及
指令修正部,通过修正所述动作程序内提取的所述动作的指令值以补偿所述第一部件以及所述第二部件的属性的差异,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序。
2.根据权利要求1所述的程序生成装置,其中,
所述机器人装置具备第一工具,该第一工具用于与所述组装作业中包含的所述第一部件有关的作业,
所述程序生成装置还具备规格判定部,该规格判定部参照表示包括所述第一工具的多个工具各自的规格的规格信息,判定所述第一工具的规格是否能够追随从所述第一部件向所述第二部件的所述部件变更。
3.根据权利要求2所述的程序生成装置,其中,
还具备工具提取部,在所述规格判定部判定为所述第一工具的规格不能追随所述部件变更的情况下,参照所述规格信息,从所述多个工具中提取与所述第一工具同类型的第二工具,即具有能够追随所述部件变更的规格的第二工具。
4.根据权利要求3所述的程序生成装置,其中,
所述指令修正部通过修正所述动作程序内提取的所述动作的指令值以进一步补偿从所述第一工具向所述第二工具的变更,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序。
5.根据权利要求1至4中任一项所述的程序生成装置,其中,
所述属性包括形状、尺寸以及位置,
被修正的所述指令值与所述机器人装置的几何动作有关。
6.根据权利要求5所述的程序生成装置,其中,
所述属性信息包括所述每个部件的几何模型,
所述几何模型在对每个所述部件设定的以基准点为原点的局部坐标系上,表示所述形状以及所述尺寸,
所述程序生成装置还具备:
指标判定部,判定所述第一部件的几何模型的基准点和所述第二部件的几何模型的基准点是否以同一指标设定;以及
坐标修正部,在所述指标判定部判定为所述第一部件以及所述第二部件的所述基准点没有以同一指标设定的情况下,在修正所述动作的指令值之前,修正所述第二部件的几何模型的基准点,使得所述第二部件的几何模型的基准点与所述第一部件的几何模型的基准点以同一指标设定。
7.根据权利要求5或6所述的程序生成装置,其中,
所述属性还包括重量。
8.根据权利要求1至7中任一项所述的程序生成装置,其中,
还具备模拟部,该模拟部使用所生成的所述新的动作程序,模拟所述部件变更后的组装作业中的所述机器人装置的一系列动作。
9.根据权利要求1至8中任一项所述的程序生成装置,其中,
提取成为所述修正对象的动作包括:
从所述多个部件中确定受到所述部件变更的影响的第三部件;
从所述一系列动作中确定与所述第一部件或所确定的所述第三部件有关的动作;以及
从所确定的所述动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作。
10.一种程序生成方法,
计算机执行以下步骤:
取得用于向机器人装置指示由多个部件组装产品的组装作业的一系列动作的动作程序的步骤;
受理变更所述多个部件中的至少任意一个部件的部件变更请求的步骤;
参照表示各部件的属性的属性信息,比较被指定为所述部件变更对象的第一部件的属性以及通过所述部件变更而与所述第一部件置换的第二部件的属性,从在所述动作程序内规定的所述一系列动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作的步骤;以及
通过修正所述动作程序内提取的所述动作的指令值以补偿所述第一部件以及所述第二部件的属性的差异,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序的步骤。
11.一种生成程序,
用于使计算机执行以下步骤:
取得用于向机器人装置指示由多个部件组装产品的组装作业的一系列动作的动作程序的步骤;
受理变更所述多个部件中的至少任意一个部件的部件变更请求的步骤;
参照表示各部件的属性的属性信息,比较被指定为所述部件变更对象的第一部件的属性以及通过所述部件变更而与所述第一部件置换的第二部件的属性,从在所述动作程序内规定的所述一系列动作中,提取由于所述第一部件以及所述第二部件的属性的差异而成为修正对象的动作的步骤;以及
通过修正所述动作程序内提取的所述动作的指令值以补偿所述第一部件以及所述第二部件的属性的差异,从而生成用于向所述机器人装置指示所述部件变更后的组装作业的一系列动作的新的动作程序的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2020/001244 WO2021144911A1 (ja) | 2020-01-16 | 2020-01-16 | プログラム生成装置、プログラム生成方法、及び生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114845843A true CN114845843A (zh) | 2022-08-02 |
Family
ID=76864588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080087394.2A Pending CN114845843A (zh) | 2020-01-16 | 2020-01-16 | 程序生成装置、程序生成方法以及生成程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230032261A1 (zh) |
EP (1) | EP4091776A4 (zh) |
JP (1) | JP7260001B2 (zh) |
CN (1) | CN114845843A (zh) |
WO (1) | WO2021144911A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11620696B2 (en) * | 2020-01-03 | 2023-04-04 | International Business Machines Corporation | Dynamic order prioritization enablement |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1394157A (zh) * | 2000-10-26 | 2003-01-29 | 西铁城时计株式会社 | 加工程序的自动生成方法及其装置 |
JP2006289580A (ja) * | 2005-04-13 | 2006-10-26 | Fanuc Ltd | プログラムの教示点修正方法及びプログラム教示点修正装置 |
CN101085523A (zh) * | 2006-06-06 | 2007-12-12 | 发那科株式会社 | 机器人模拟装置 |
CN105313120A (zh) * | 2014-07-09 | 2016-02-10 | 发那科株式会社 | 机器人程序修正系统 |
CN107430741A (zh) * | 2015-03-27 | 2017-12-01 | 日本精工株式会社 | 产品替换辅助系统 |
CN110394780A (zh) * | 2018-04-25 | 2019-11-01 | 发那科株式会社 | 机器人的仿真装置 |
CN110461550A (zh) * | 2017-03-24 | 2019-11-15 | 三菱电机株式会社 | 机器人程序的生成装置及生成方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3601839B2 (ja) * | 1993-07-22 | 2004-12-15 | 松下電器産業株式会社 | 実装機データの管理方法および生成方法 |
JP3872183B2 (ja) * | 1997-08-27 | 2007-01-24 | 山形カシオ株式会社 | カセット配設位置指定装置、方法、及び記録媒体 |
JP3905075B2 (ja) * | 2003-11-17 | 2007-04-18 | ファナック株式会社 | 作業プログラム作成装置 |
JP4513663B2 (ja) * | 2005-06-15 | 2010-07-28 | 富士電機ホールディングス株式会社 | 自動組立システムにおける組立機構の動作教示方法 |
US20130040792A1 (en) * | 2010-02-18 | 2013-02-14 | Gmtk Multi-Process Machining, S.A. | Equipment for the exchange of replaceable components in machine tools |
JP2011238041A (ja) * | 2010-05-11 | 2011-11-24 | Mitsubishi Electric Corp | プログラム作成装置及びプログラム作成方法 |
JP2015182212A (ja) * | 2014-03-26 | 2015-10-22 | セイコーエプソン株式会社 | ロボットシステム、ロボット、制御装置、及び制御方法 |
JP6589110B2 (ja) * | 2014-12-15 | 2019-10-16 | 新光エンジニアリング株式会社 | 産業用ロボットの制御システム |
JP6585393B2 (ja) * | 2015-06-15 | 2019-10-02 | 蛇の目ミシン工業株式会社 | ロボット |
JP6640060B2 (ja) * | 2016-09-27 | 2020-02-05 | 株式会社日立製作所 | ロボットシステム |
JP6753282B2 (ja) | 2016-11-25 | 2020-09-09 | 富士通株式会社 | 組立作業ロボットの動作生成方法、動作生成プログラム、及び動作生成装置 |
JP6646894B2 (ja) * | 2016-12-28 | 2020-02-14 | オムロン株式会社 | 保持可否結果出力装置 |
US10843333B2 (en) * | 2018-03-05 | 2020-11-24 | Berkshire Grey, Inc. | Systems and methods for processing objects, including automated re-circulating processing stations |
JP2019171501A (ja) * | 2018-03-27 | 2019-10-10 | 日本電産株式会社 | ロボットの干渉判定装置、ロボットの干渉判定方法、プログラム |
-
2020
- 2020-01-16 US US17/788,503 patent/US20230032261A1/en active Pending
- 2020-01-16 JP JP2021570561A patent/JP7260001B2/ja active Active
- 2020-01-16 EP EP20914507.7A patent/EP4091776A4/en active Pending
- 2020-01-16 WO PCT/JP2020/001244 patent/WO2021144911A1/ja unknown
- 2020-01-16 CN CN202080087394.2A patent/CN114845843A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1394157A (zh) * | 2000-10-26 | 2003-01-29 | 西铁城时计株式会社 | 加工程序的自动生成方法及其装置 |
JP2006289580A (ja) * | 2005-04-13 | 2006-10-26 | Fanuc Ltd | プログラムの教示点修正方法及びプログラム教示点修正装置 |
CN101085523A (zh) * | 2006-06-06 | 2007-12-12 | 发那科株式会社 | 机器人模拟装置 |
CN105313120A (zh) * | 2014-07-09 | 2016-02-10 | 发那科株式会社 | 机器人程序修正系统 |
CN107430741A (zh) * | 2015-03-27 | 2017-12-01 | 日本精工株式会社 | 产品替换辅助系统 |
CN110461550A (zh) * | 2017-03-24 | 2019-11-15 | 三菱电机株式会社 | 机器人程序的生成装置及生成方法 |
CN110394780A (zh) * | 2018-04-25 | 2019-11-01 | 发那科株式会社 | 机器人的仿真装置 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2021144911A1 (zh) | 2021-07-22 |
EP4091776A4 (en) | 2023-04-26 |
EP4091776A1 (en) | 2022-11-23 |
JP7260001B2 (ja) | 2023-04-18 |
US20230032261A1 (en) | 2023-02-02 |
WO2021144911A1 (ja) | 2021-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ju et al. | Kinematics modeling and experimental verification of baxter robot | |
US8706302B2 (en) | Method for offline programming of an NC-controlled manipulator | |
JP2017094406A (ja) | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム | |
CN112684717A (zh) | 一种虚实结合数字孪生仿真实验平台构建方法 | |
JP2023108062A (ja) | 制御装置、ロボット装置、制御方法、およびプログラム | |
CN110914020B (zh) | 具有机器人的操纵装置以及方法和计算机程序 | |
JP2022163719A (ja) | 対象物を挿入部に挿入するようにロボットを制御するための装置及び方法 | |
CN115194752A (zh) | 用于训练神经网络以控制插入任务的机器人的设备和方法 | |
CN112847328A (zh) | 控制系统、控制器、和控制方法 | |
Feng et al. | Autonomous live-line maintenance robot for a 10 kV overhead line | |
CN114845843A (zh) | 程序生成装置、程序生成方法以及生成程序 | |
Song et al. | USB assembly strategy based on visual servoing and impedance control | |
Gorjup et al. | A flexible robotic assembly system combining cad based localization, compliance control, and a multi-modal gripper | |
Alvares et al. | Retrofitting of ASEA IRB2-S6 industrial robot using numeric control technologies based on LinuxCNC and MACH3-MatLab | |
WO2022239544A1 (ja) | シミュレーション情報反映装置、方法、プログラム、及びシステム | |
Li et al. | Digital twin model-based smart assembly strategy design and precision evaluation for PCB kit-box build | |
JP7374867B2 (ja) | 制御システム、ローカルコントローラ及び制御方法 | |
CN115194754A (zh) | 用于训练神经网络以控制插入任务的机器人的设备和方法 | |
WO2019077800A1 (ja) | 垂直多関節ロボットの教示データ作成システム | |
Linnerud et al. | CAD-based system for programming of robotic assembly processes with human-in-the-loop | |
Vijayan et al. | Integrating visual guidance and feedback for an industrial robot | |
Ahn et al. | An off-line automatic teaching by vision information for robotic assembly task | |
Motta | An investigation of singularities in robot kinematic chains aiming at building robot calibration models for off-line programming | |
JP2021186929A (ja) | 多軸ロボットの制御方法 | |
Chang et al. | Cyber-physical-robotic System (CPRS)-based Modeling and Execution of Assembly Tasks. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |