用于生成机器人程序的装置、程序、记录介质及方法

文档序号:2329624阅读:269来源:国知局
专利名称:用于生成机器人程序的装置、程序、记录介质及方法
技术领域
本发明涉及用于生成机器人的工件搬运作业程序的机器人编程装置。本发
背景技术
工业机器人(以下简称为机器人),在生产系统中被用于工件的焊接/加工、 部件/机器类的组装、向加工机械(机床)的工件装卸、工序间的工件搬运等 各种作业,因此促进了生产系统的高度的自动化。当进行这些作业时,机器人
在手腕前端安装对应于作业内容的工具(tool)(即末端执行器(end effector)), 按照特定的作业程序(即任务程序)来进行动作。
生产系统中机器人执行的各种作业中,已知在作业区域内的预定位置准备 固定保持工件的工件夹具(有时简称为夹具),安装有积4成手(即把持用工具) 的机器人将机械手中把持的工件向工件夹具进行安装或拆卸动作,同时,在指 定位置间进行搬运的作业。例如,在焊接机器人系统中已知以下结构搬运用 机器人从托盘(pallet)将多个工件(车身板件等)搬运至工件夹具,将这些 工件组合地固定在工件夹具上的状态下,焊接用机器人在这些工件上执行焊 接。另外,在部件/机器类的组装作业中已知如下结构机器人将一个部件安 装固定在工件夹具上,该机器人将其他部件向该部件进行组装,以螺栓结合。 另夕卜,还已知以下结构向加工机械的工件装卸作业时,搬运;f几器人将从托盘 取出的原材料工件安装在装备于加工机械上的工件夹具(例如卡盘(chuck)) 上,或著将已加工的工件从加工机械的工件夹具上拆卸,置于其他托盘上。
在上述机器人的工件搬运系统中,工件夹具为了可以牢固地稳定保持作业 对象工件,需要具备与工件的形状相符合的形状以及构造的保持部(一般是抵 接面以及夹持部件)。同样地,安装于机器人上的机械手,为了可以牢固地稳 定把持作业对象工件,需要具备与工件的形状相符合的形状和构造的手指(或
与工件直接接触的指尖)。在作业对象工件的种类较多时,有时也使用可以更 换或增加手指的机械手。
另外,当根据工件形状来设计工件夹具和机械手(或手指)时,要点在于 使其可以防止工件夹具与机械手(或手指)的相互干涉。 一般,工件夹具,作 为可以牢固地稳定保持工件的保持部,具备与工件表面抵接的多个抵接面、和 将工件按压在这些抵接面上来固定的多个夹持部件。机器人要求使机械手中把 持的工件与工件夹具的多个抵接面同时接触地安装在工件夹具上,但在此状态
下通过夹钳(clamp)固定工件的期间、以及释放工件使机械手后退动作的期 间,需要防止工件夹具(尤其是夹钳)与机械手(或手指)的相互干涉。
为了将工件恰当地安装在工件夹具上,需要将根据机械手把持工件时的动 作而决定的机器人的工件把持姿势适当化。同样地,以机械手把持在工件夹具 上保持的工件时的机器人姿势会对此后的机器人作业产生影响。这样,工件的 形状和工件夹具以及机械手的形状及构造(例如抵接面以及夹钳的个数和配 置、手指的个数和配置等)互相有密切的关系,另外,对于针对工件夹具的机 械手的接近/远离动作和工件的安装/拆卸动作等机器人动作,还表示有意义的 关联性。
工件夹具的设计对于针对工件夹具上保持的工件的加工工序也表示有意 义的关联性。例如,在对工件夹具上保持的工件进行点焊或弧焊时,难以使工 件的焊接位置与抵接面抵接或者以夹钳固定。在对加工机械的工件装卸作业 中,也难以用工件夹具(卡盘)保持工件的加工面。
一般在生产系统中,要求以同一设备生产多种产品。当顺应这种要求,将 与预先设想的工件不同形状的新工件引入生产系统时,关于机器人的工件搬运 作业,也需要根据新工件的形状,重新设计工件夹具和机器人机械手(或手指)。 此时,要求考虑针对新工件的一连串作业工序,综合地研究工件夹具上保持的 工件的位置和姿势(与工件上的夹钳或卡盘位置相关)、机械手把持工件时的 机械手的位置和姿势(与工件上的指尖位置相关)、针对工件夹具的机器人的 工件安装以及拆卸动作的路径等,来生成机器人的新工件的搬运作业程序。这 样,以往每次将新工件引入生产系统中,适当地进行工件夹具以及机器人机械 手(或手指)的设计、以及指定机器人的工件搬运动作的纟般运作业程序的生成。
考虑作业对象的工件的形状和针对工件的一连串作业工序、设计工件夹具 以及机器人机械手(或手指)、生成机器人的工件搬运作业程序,这一般由具 有各种生产系统的调试经验的熟练操作员来进行。这种熟练操作员的技术,是 指根据工件的相同与否、作业工序的相同与否,来实施适当的处置的技术,难 以普遍化来传承。因此,操作员的培养需要时间,存在培养熟练操作员较慢的 不足,阻碍了机器人的生产系统的自动化的推进。
员负担的技术,已知根据工件的形状数据自动生成作业程序的离线编程(Off Line Programming)技术。例如,特开平6 - 59720号公报(JP-A-6-59720)公 开了使安装有清理毛刺工具的机器人进行清理毛刺作业的清理毛刺机器人程 序的生成方法。在该程序生成方法中,首先从在CAD系统存储的产品的图形 数据中,选择成为清理毛刺对象的图形数据,输入到微处理器中。微处理器根 据构成图形的直线和圆弧等要素数据,计算每个示教点的工具姿势并存储这些 工具姿势,自动生成机器人的示教程序。
另外,特开平10- 187223号公报(JP-A-10-187223)公开了,使用多个 焊接机器人焊接复杂形状的工件时的、利用了 CAD/CAM系统的焊接程序的 自动生成系统。在该程序生成系统中,根据CAD/CAM系统中登录的CAD数 据的工件形状信息而生成工件模型,根据该CAD数据的焊接线信息生成焊接 模型,通过以确定焊接机器人的动作范围的区域分割线来分割工件模型,生成 单元模型(cell model )。在此,针对每个基本焊接线检查是否存在工件与焊接 机器人的干涉,在存在干涉的情况下,生成缩短至不产生干涉的范围的焊接线。 并且,在以区域分割线分割的每个区域中,决定焊接线的焊接方向、焊接顺序、 焊接路径。而且,利用CAD数据的形状特性,选择预先被数据库化的、称作 动作模式(action pattern)的动作顺序,由此提供焊接所需的数据,生成一连 串的动作程序。
如前所述,为了生成使安装有机械手的机器人执行包含针对工件夹具的工 件的安装和拆卸中的至少 一种动作在内的工件搬运作业的搬运作业程序,需要 考虑作业对象工件的形状和针对工件的一连串作业工序,来设计工件夹具和机 器人机械手(或手指),并且综合地研究在工件夹具上保持的工件的位置和姿势、机械手把持工件时的机械手的位置和姿势、针对工件夹具的机器人的工件
安装和拆卸动作的路径等。在这一点上,所述专利文献1和2中记载的编程技 术,应用于如清理毛刺和焊接那样的、根据工件的形状数据比较容易确定机器 人对工件实施作业的部位的情况。因此,为了规定机器人的动作而需要工件夹
具上保持的工件的位置和姿势、机械手把持工件时的机械手的位置和姿势等不 便于根据工件的形状数据而确定的位置和姿势的数据的工件搬运作业程序,难
以通过专利文献1和2中记载的编程:技术而自动生成。

发明内容
本发明的目的在于提供一种用于生成搬运作业程序的机器人编程装置,所
装和拆卸中的至少一种动作在内的工件搬运作业,该机器人编程装置,可以不 需要操作员的熟练地,以较少的工时容易且准确地生成针对新工件的最佳搬运 作业程序。
本发明的另 一 目的在于提供一种用于生成搬运作业程序的程序以及记录 有该程序的计算机可读取的记录介质,所述搬运作业程序使安装有机械手的机 器人执行包含针对工件夹具的工件的安装和拆卸中的至少一种动作在内的工 件搬运作业,所述程序使计算机进行工作,以便不需要操作员的熟练,以较少 的工时容易且准确地生成针对新工件的最佳搬运作业程序。
本发明的另一目的在于提供用于生成搬运作业程序的机器人编程方法,所
装和拆卸中的至少一种动作在内的工件搬运作业,该机器人编程方法使用计算
机,可以不需要操作员的熟练地,以较少的工时容易且准确地生成针对新工件
的最佳搬运作业程序。
为了达成上述目的,本发明提供一种用于生成搬运作业程序的机器人编程
件的安装和拆卸中的至少一种动作在内的工件搬运作业,该机器人编程装置具
备工件特征取得部,从工件的3维形状数据中取得表示该工件的几何学特征 的工件特征信息;夹具位置取得部,取得在夹具上安装了工件时的、该工件与 该工件夹具的相对位置信息;机械手位置取得部,取得在以机械手把持工件时
的、该工件与该机械手的相对位置信息;存储部,将所述工件特征取得部所取 得的工件特征信息、所述夹具位置取得部所取得的所述工件与所述工件夹具的
所述相对位置信息、所述机械手位置取得部所取得的所述工件与所述机械手的 所述相对位置信息作为一组既得数据而相互关联,存储与多种工件相关的多组 既得数据;既得数据检索部,使用从新工件的3维形状数据中获得的新工件特 征信息,从所述存储部中所存储的所述多组既得数据中,检索包含与该新工件 特征信息的一致度最高的所述工件特征信息的最佳既得数据;以及程序生成 部,使用所述既得数据检索部所检索出的所述最佳既得数据,生成针对所述新 工件的所述搬运作业程序。
上述机器人编程装置还可以具备动作模式取得部,取得指定针对工件夹具 的工件的安装和拆卸中的至少一种动作的动作模式指令值。在这种情况下,存 储部将动作模式取得部所取得的动作模式指令值和工件特征信息、工件与工件 夹具的相对位置信息、以及工件与机械手的相对位置信息一起,作为一组既得 数据而相互关联地存储。
上述机器人编程装置也可以进一步具备指尖形状取得部,取得机械手的指 尖的3维形状数据。在这种情况下,存储部将指尖形状取得部所取得的机械手 的指尖的3维形状lt据和工件特征信息、工件与工件夹具的相对位置信息、以 及工件与机械手的相对位置信息一起,作为一组既得数据而相互关联地存储。
上述机器人编程装置也可以进一步具备机械手图纸取得部,取得机械手的 图纸数据。在这种情况下,存储部将机械手图纸取得部所取得的机械手的图纸 数据和工件特征信息、工件与工件夹具的相对位置信息、工件与机械手的相对 位置信息一起,作为一组既得数据而相互关联地存储。
上述机器人编程装置也可以进一步具备夹具图纸取得部,取得工件夹具的 图纸数据。在这种情况下,存储部将夹具图纸取得部所取得的工件夹具的图纸 数据和工件特征信息、工件与工件夹具的相对位置信息、以及工件与机械手的 相对位置信息一起,作为 一组既得数据而相互关联地存储。
上述机器人编程装置也可以进一步具备工件形状取得部,取得工件的3 维形状数据。在这种情况下,存储部将工件形状取得部所取得的工件的3维形 状数据和工件特征信息、工件与工件夹具的相对位置信息、以及工件与机械手
的相对位置信息一起,作为一组既得数据而相互关联地存储。另外,程序生成
部根据既得数据检索部所检索出的最佳既得数据中包含的工件的3维形状数 据与新工件的3维形状数据之间的差,修正最佳既得数据中包含的工件与工件 夹具的相对位置信息以及工件与机械手的相对位置信息,使用这些修正后的相 对位置信息,生成针对新工件的搬运作业程序。
在上述机器人编程装置中,工件特征取得部可以取得以时间序列表示工件 形状的变化的工件形状转变信息作为工件特征信息;既得数据检索部可以使用 以时间序列表示新工件形状的变化的新工件形状转变信息作为新工件特征信 息,检索最佳既得数据。
本发明还提供一种机器人编程用程序,其为了生成使安装有机械手的机器 人执行包含针对工件夹具的工件安装与拆卸中的至少 一种动作在内的工件搬 运作业的搬运作业程序,而使计算机作为以下各部进行工作(i )工件特征 取得部,从工件的3维形状数据中取得表示该工件的几何学特征的工件特征信 息;(ii)夹具位置取得部,f又得在工件夹具上安装了工件时的、该工件与该 工件夹具的相对位置信息;(iii)机械手位置取得部,取得以机械手把持工件 时的、该工件与该机械手的相对位置信息;(iv)存储部,将所述工件特征取 得部所取得的所述工件特征信息、所述夹具位置取得部所取得的所述工件与所
述工件夹具的所述相对位置信息、所述机械手位置取得部所取得的所述工件与 所述机械手的所述相对位置信息作为一组既得数据而相互关联,存储与多种工 件相关的多组既得数据;(v )既得数据检索部,使用从新工件的3维形状数 据中得到的新工件特征信息,从所述存储部中存储的所述多组既得数据中,检 索包含与该新工件特征信息的 一致度最高的所述工件特征信息的最佳既得数 据;以及(vi)程序生成部,使用所述既得数据检索部检索出的所述最佳既得 数据,生成针对所述新工件的所述搬运作业程序。
本发明还提供一种记录有机器人编程用程序的计算机可读取的记录介质, 其中,所述机器人编程用程序,为了生成使安装有机械手的机器人执行包含针 对工件夹具的工件的安装与拆卸中的至少一种动作在内的工件搬运作业的程 序,而使计算机作为以下各部进行工作(i )工件特征取得部,从工件的3 维形状数据中取得表示该工件的几何学特征的工件特征信息;(ii )夹具位置
取得部,取得在工件夹具上安装了工件时的、该工件与该工件夹具的相对位置
信息;(iii)机械手位置取得部,取得以机械手把持工件时的、该工件与该机 械手的相对位置信息;(iv)存储部,将所述工件特征取得部所取得的所述工 件特征信息、所述夹具位置取得部所取得的所述工件与所述工件夹具的所述相 对位置信息、所述机械手位置取得部所取得的所述工件与所述机械手的所述相 对位置信息作为一组既得数据而相互关联,存储与多种工件相关的多组既得数 据;(v)既得数据检索部,使用从新工件的3维形状数据中得到的新工件特 征信息,从所述存储部中存储的所述多组既得数据中,检索包含与该新工件特 征信息的一致度最高的所述工件特征信息的最佳既得数据;以及(vi)程序生 成部,使用所述既得数据检索部检索出的所述最佳既得数据,生成针对所述新 工件的所述搬运作业程序。
本发明还提供一种机器人编程方法,用于使用计算机来生成使安装有机械
内的工件搬运作业的搬运作业程序,其特征在于,具备以下步骤计算机的工 件特征取得部从工件的3维形状数据中取得表示该工件的几何学特征的工件 特征信息;计算^L的夹具取得部取得在工件夹具上安装了工件时的、该工件与 该工件夹具的相对位置信息;计算机的机械手位置取得部取得以机械手把持工 件时的、该工件与该机械手的相对位置信息;计算机的存储部,将所述工件特 征取得部所取得的所述工件特征信息、与所述夹具位置取得部所取得的所述工
件与所述工件夹具的所述相对位置信息、所述机械手位置取得部所取得的所述 工件与所述机械手的所述相对位置信息作为 一组既得数据而相互关联,存储与 多种工件相关的多组既得数据;计算机的既得数据检索部,使用从新工件的3 维形状数据中得到的新工件特征信息,从所述存储部中存储的所述多组既得数 振中,检索包含与该新工件特征信息的一致度最高的所述工件特征信息的最佳 既得数据;以及计算机的程序生成部,使用所述既得数据检索部所检索出的所 述最佳既得数据,生成针对所述新工件的所述搬运作业程序。


本发明的上述以及其它目的、特征和优点,通过结合

以下优选实 施方式而更加明了。
图1是表示本发明的机器人编程装置的基本结构的功能框图。
图2是表示图1的机器人编程装置的第一扩展结构的功能框图。 图3是表示图1的机器人编程装置的第二扩展结构的功能框图。 图4是表示图1的机器人编程装置的第三扩展结构的功能框图。 图5是表示图1的机器人编程装置的第四扩展结构的功能框图。 图6是表示图1的机器人编程装置的第五扩展结构的功能框图。 图7是使用了安装有本发明的第一实施方式的机器人编程装置的机器人
的生产系统的整体概要图。
图8是表示图7的生产系统中的控制系统的结构的框图。
图9是图8的控制系统中的控制装置的存储器的图。
图IO是图8的控制系统中的机器人编程装置的硬盘装置的图。
图11是将图7的生产系统中使用的工件夹具的一例与工件一起表示的立体图。
图12是将图7的生产系统中使用的机械手的一例与工件以及工件夹具一 起表示的立体图。
图13是表示在图7的生产系统中机器人执行的工件搬运作业的步骤的流 程图。
图14是表示在图7的生产系统中机器人执行的工件搬运作业的步骤的流 程图。
图15是表示在图7的生产系统中机器人执行的工件搬运作业的步骤的流 程图。
图16是举例表示在本发明的第 一实施方式的机器人编程方法中使用的工 件的CSG模型的图。
图17是以CSG模型举例表示在本发明的第一实施方式的机器人编程方法 中使用的工件形状转变信息的图。
具体实施例方式
以下,参照附图详细说明本发明的实施方式。在附图中,对相同或类似的 结构要件标记相同的参照符号。
此外,在以下的说明中,"相对位置"、"绝对位置"、"基准位置"等位置
相关用语,只要没有特别地事先说明,都是对位置和姿势二者的总称。
参照附图时,图1以功能框图表示本发明的机器人编程装置10的基本结 构。机器人编程装置IO具有下述特征结构,用于生成搬运作业程序,使安装
有机械手的机器人执行包含针对工件夹具的工件安装以及拆除中至少一种动
作的工件搬运作业。即,机器人编程装置IO具备以下各部工件特征取得部 14,从工件的3维形状数据中取得表示工件的几何学特征的工件特征信息12; 夹具位置取得部18,取得在工件夹具上安装了工件时的、工件与工件夹具的 相对位置信息16;机械手位置取得部22,取得以机械手把持工件时的、工件 与机械手的相对位置信息20;存储部24,将工件特征取得部14所取得的工件 特征信息12、夹具位置取得部18所取得的工件与工件夹具的相对位置信息16、 机械手位置取得部22所取得的工件与机械手的相对位置信息20作为一组既得 数据D而相互关联,存储与多种工件相关的多组既得数据D;既得数据检索 部28,使用从新工件的3维形状数据中取得的新工件特征信息26,从存储部 24中存储的多组既得数据D中检索包含与新工件特征信息26的一致度最高的 工件特征信息12的最佳既得数据SD;程序生成部32,使用既得数据检索部 28所检索出的既得数据SD,生成针对新工件的搬运作业程序30。
在具有上述基本结构的机器人编程装置10中,通过夹具位置取得部18取 得在工件夹具上保持的工件的位置以及姿势的数据(与工件上的夹钳或卡盘位
置信息16,存储在存储部24中。另外,通过机械手位置取得部22取得把持 工件的机器人的机械手的位置以及姿势的数据(与工件上的指尖位置相关的数 据),作为以机械手把持工件时的工件与机械手的相对位置信息20,存储在存 储部24中。在存储部24中,将针对于1个工件的这些相对位置信息16、 20 与表示该工件的几何学特征的工件特征信息12—起,作为一组既得数据D而 进行存储。从而,可以将过去所执行的工件搬运作业中的工件与工件夹具、以 及工件与机械手的相对的位置以及姿势的数据和该工件的工件特征信息12相 关联,作为既得数据D而进行存储。
在此,可以通过各种特征提取方法,从过去的搬运作业的对象工件的图纸 数据(例如CAD数据)或图像数据(例如CCD摄像数据)等3维形状数据
中取得工件特征信息12。另外,可以从执行过去的工件搬运作业时的搬运作 业程序中取得工件与工件夹具的相对位置信息16以及工件与机械手的相对位 置信息20。并且,关于过去多次的工件搬运作业,通过取得这些工件特征信 息12以及相对位置信息16、 20,在存储部24中存储多组既得数据D。此外, "取得,,这种行为,例如可以通过由各个取得部14、 18、 22从适当的存储介 质自发地取得,或者由操作员根据需要而输入到各个取得部14、 18、 22来实 现。关于工件特征信息12以及相对位置信息16、 20的具体的取得步骤,在后 面进〗亍详细纟笛述。
当追加引入新工件时,将从该新工件的3维形状数据(图纸数据或图像数 据)中(例如通过各种特征提取方法)得到的新工件特征信息26 (通过检索 部28自发的取得或操作员向检索部28的输入)提供给既得数据检索部28。 因此,既得数据检索部28根据新工件特征信息26,以工件特征信息12为关 键字(key word),从存储部24存储的多组既得数据D中检索最佳既得数据 SD。在该最佳既得数据SD中,包含相对于新工件的形状特征的一致度最高(即 具有极其类似的形状)的过去的工件所相关的相对位置信息16、 20。因此, 程序生成部32所生成的搬运作业程序30使机器人对新工件执行如下搬运作 业该搬运作业中,工件与工件夹具以及工件与机械手的相对的位置和姿势的 关系与过去所执行的类似工件的搬运作业相同。
这样,在通过机器人编程装置IO生成机器人的工件搬运作业程序时,通 过利用存储部24中存储的与过去的工件搬运作业相关的既得数据D,不再需 要以往由熟练操作员进行的、在考虑了作业对象工件的形状和针对工件的一连 串作业工序的勤出上的、在工件夹具中保持的工件的位置和姿势以及机械手把 持工件时的机械手的位置和姿势的、综合的研究。而且,工件夹具中保持的工 件的位置以及姿势、或机械手把持工件时的机械手的位置以及姿势等仅根据工 件的形状数据不便于确定(即,根据工件形状而不同)的位置以及姿势的数据, 以工件特征信息12为关键字,可容易地从既得数据D中取得,而不需要操作 员的熟练。因此,在使用机器人的生产系统中追加引入新工件时,能够以较少 的工时容易且准确地生成针对新工件的最佳搬运作业程序30,其结果,在使 用机器人而高度自动化的生产系统中,实现了临机应变的多品种对应。
图2以功能框图表示图1的机器人编程装置10的第一扩展结构。图2的 机器人编程装置10还具备动作模式取得部36,其取得动作模式指令值34,该 指令值指定针对工件夹具的工件安装以及拆卸中的至少一种动作。在该结构 中,存储部24将动作模式取得部36所取得的动作模式指令值34和工件特征 信息12、工件与工件夹具的相对位置信息16、以及工件与机械手的相对位置 信息20 —起,作为一组既得数据D而相互关联地进行存储。
在图2所示的机器人编程装置10中,通过动作模式取得部36取得表示针
数据、作为向机器人实际指定这种动作的动作模式指令值34,并存储在存储 部24中。在存储部24中,将针对一个工件的动作模式指令值34和所述的工 件特征信息12以及相对位置信息16、 20 —起,作为一组既得数据D来存储。 从而,可以将过去所执行的工件搬运作业中的、表示针对工件夹具的工件安装 以及拆卸中的至少一种动作的数据与该工件的工件特征信息12关联,作为既 得数据D而存储。
在此,可以从执行过去的工件搬运作业时的搬运作业程序中取得动作模式 指令值34。并且,关于过去的多次工件搬运作业,通过分别取得动作模式指 令值34,在存储部24中存储多组既得数据D。此外,上述结构中的所谓"取 得,,的行为,也通过例如由动作模式取得部36从适当的存储介质中自发地取 得,或者由操作员根据需要而输入到动作模式取得部36来实现。关于动作模 式指令值34的具体的取得步骤,在后面进行详细描述。
当追加引入新工件时,如前所述,在既得数据检索部28检索出的最佳既 得数据SD中,包含与相对于新工件的形状特征的一致度最高(即具有极其类 似的形状)的过去工件相关的动作模式指令值34。因此,程序生成部32所生 成的搬运作业程序30使机器人对新工件执行如下搬运作业所述搬运作业中, 除工件与工件夹具、以及工件与机械手的相对的位置以及姿势的关系之外,针
对工件夹具的工件安装和拆卸的至少一种动作也与过去执行的类似工件的搬 运作业相同。
因此,当通过图2所示的机器人编程装置10生成机器人的工件搬运作业 程序时,除不需要综合地研究在工件夹具中保持的工件的位置及姿势、以及机
械手把持工件时的机械手的位置及姿势之外,也不需要综合地研究针对工件夹
具的机器人的工件安装动作或工件拆卸动作。而且,以工件特征信息12为关 键字,可以从既得数据D中容易地取得针对工件夹具的机器人的工件安装动 作或工件拆卸动作等根据工件形状而不同的动作数据,而不需要操作员的熟 练。因此,在使用了机器人的生产系统中追加引入新工件时,能够以较少的工 时更准确地生成针对新工件的最佳搬运作业程序30。
此外,机器人的针对工件夹具的工件安装以及拆卸中的至少一种动作,当 考虑作业对象工件的形状和针对工件的一连串作业工序,来生成机器人的工件 搬运作业程序时,通常是应该结合工件与工件夹具以及工件与机械手的相对位 置以及姿势的关系来详细研究的项目。但是,在多种多样的生产系统中,当进 行工件搬运作业时,例如有时机器人为了完成始终从正上方接近工件夹具、或 从正上方远离等极其简单的动作而被编程。在这种情况下,当生成新工件的搬 运作业程序时,不需要重新指定针对工件夹具的工件安装以及拆卸中的至少一 种动作,因此可以省略动作;漠式取得部36。
图3以功能框图表示图1的机器人编程装置10的第二扩展结构。图3的 机器人编程装置IO还具备取得机械手的指尖的3维形状数据38的指尖形状取 得部40。在此结构中,存储部24将指尖形状取得部40所取得的机械手的指 尖的3维形状数据38和工件特征信息12、工件与工件夹具的相对位置信息16、 以及工件与机械手的相对位置信息20 —起作为一组既得数据D,相互关联地 进行存4诸。
在图3所示的机器人编程装置10中,通过指尖形状取得部40取得要求具 有与工件的形状相符合的形状的机械手的指尖的数据、作为指尖的3维形状数 据38,存储在存储部24中。在存储部24中,针对一个工件的指尖的3维形 状数据38与所述工件特征信息12以及相对位置信息16、 20 —起作为一组既 得数据D而被存储。因此,可以将过去所执行的工件搬运作业中的、符合工 件形状的机械手的指尖的形状数据与该工件的工件特征信息12相关联,作为 既得数据D而存储。
在此,机械手的指尖的3维形状数据38,作为指尖的图纸数据(例如CAD 数据)或图像数据(例如CCD摄像数据),可以通过由指尖形状取得部40自
发地从已设的CAD系统或视觉(Vision)系统中取得,或者由操作员根据需 要而输入到指尖形状取得部40来取得。并且,关于过去的多次工件搬运作业, 通过分别取得机械手的指尖的3维形状数据38,在存储部24中存储多组既得 数据D。
当追加引入新工件时,如前所述,在既得数据检索部28所检索出的最佳 既得数据SD中,包含相对于新工件的形状特征的一致度最高(即具有极其类 似的形状)的过去的工件相关的机械手的指尖的3维形状数据38。因此,程 序生成部32所生成的搬运作业程序30使机器人对新工件执行如下搬运作业 所述搬运作业中,除工件与工件夹具以及工件与机械手的相对位置以及姿势的 关系之外,与工件直接接触的机械手的指尖的形状也和过去执行的类似工件的 搬运作业相同。
因此,当通过图3所示的机器人编程装置10来生成机器人的工件搬运作 业程序时,除不需要综合研究在工件夹具中保持的工件的位置及姿势、以及以 机械手把持工件时的机械手的位置及姿势之夕卜,也不需要综合研究要求符合工 件形状的机械手的指尖的形状。而且,以工件特征信息12作为关键字,可以 从既得数据D中容易地取得机械手的指尖形状等根据工件形状而不同的数据, 而不需要操作员的熟练。因此,在使用机器人的生产系统中追加引入新工件时, 能够以较少的工时更准确地生成针对新工件的最佳拍^运作业程序30。此外, 执行搬运作业程序30时,参照最佳既得数据SD中包含的机械手的指尖的3 维形状数据38,将具有对应的手指的机械手安装在机器人上即可。
图4以功能框图表示图1的机器人编程装置10的第三扩展结构。图4的 机器人编程装置10还具备取得机械手的图纸数据42的机械手图纸取得部44。 在此结构中,存储部24将机械手图纸取得部44所取得的机械手的该图纸数据 42和工件特征信息12、工件与工件夹具的相对位置信息16、以及工件与机械 手的相对位置信息20 —起,作为一组既得数据D相互关联地进行存储。
在图4所示的机器人编程装置10中,通机械手图纸取得部44取得要求具 有符合工件形状的形状及构造(手指的个数和配置等)的机械手的数据,作为 机械手的图纸数据42,存储在存储部24中。在存储部24中,针对一个工件 的机械手的图纸数据42和所述工件特征信息12以及相对位置信息16、 20 —
起,作为一组既得数据而被存储。因此,可以将过去所执行的工件搬运作业中
的与工件形状符合的机械手的数据,与该工件的工件特征信息12相关联,作 为既得数据D而存储。
在此,机械手的图纸数据42,可以通过由机械手图纸取得部44从适当的 存储介质自发地取得,或者由操作员根据需要而输入图纸取得部44而取得。 并且,关于过去的多次工件搬运作业,通过分别取得机械手的图纸数据42, 将多组既得数据D存储在存储部24中。
当追加引入新工件时,如前所述,在既得数据检索部28所检索出的最佳 既得数据SD中,包含与相对于新工件的形状特征的一致度最高(即具有极其 类似的形状)的过去的工件相关的机械手的图纸数据42。从而,程序生成部 32所生成的搬运作业程序30使机器人对新工件执行如下搬运作业在所述搬 运作业中,除工件与工件夹具以及工件与机械手的相对的位置以及姿势的关系 以外,把持工件的机械手的形状以及构造,也与过去所执行的类似工件的搬运 作业相同。
因此,当通过图4所示的机器人编程装置10生成机器人的工件搬运作业 程序时,除不需要综合研究在工件夹具上保持的工件的位置和姿势以及机械手 把持工件时的机械手的位置和姿势之外,也不需要综合研究要求与工件形状符
合的机械手的形状及构造。而且,以工件特征信息12为关键字,可以从既得 数据D中容易地得到机械手的形状以及构造等根据工件形状而不同的数据, 而不要求操作员的熟练。从而,当在使用了机器人的生产系统中追加引入新工 件时,能够以较少的工时更准确地生成针对新工件的最佳搬运作业程序30。 此外,当执行搬运作业程序30时,参照最佳既得数据SD中包含的机械手的 图纸数据42,将对应的机械手安装在机器人上即可。
图5以功能框图表示图1的机器人编程装置10的第4扩展结构。图5的 机器人编程装置10还具备取得工件夹具的图纸数据46的夹具图纸取得部48。 在这种结构中,存储部24将由夹具图纸取得部48所取得的工件夹具的图纸数 据46和工件特征信息12、工件与工件夹具的相对位置信息16、以及工件与机 械手的相对位置信息20 —起,作为一组既得数据D而相互关联地存储。
在图5所示的机器人编程装置10中,通过夹具图纸取得部48取得要求具
有与工件形状相符合的形状及构造(抵接面以及夹钳的个数和配置等)的工件
夹具的数据,作为工件夹具的图纸数据46,存储在存储部24中。在存储部24 中,针对一个工件的工件夹具的图纸数据46和所述工件特征信息12以及相对 位置信息16、 20—起,作为一组既得数据D而存储。从而,可以将过去所执 行的工件搬运作业中的与工件形状相符合的工件夹具的数据、与该工件的工件 特征信息12相关联,作为既得数据D而进行存储。
在此,工件夹具的图纸数据46,可以通过由夹具图纸取得部48从适当的 存储介质自发地取得,或者由操作员根据需要而输入夹具图纸取得部48而取 得。并且,关于过去的多次工件搬运作业,通过分别取得工件夹具的图纸数据 46,将多组既得数据D存储在存储部24中。
当追加引入新工件时,如前所述,既得数据检索部28所检索出的既得数 据SD中包含有与相对于新工件的形状特征的一致度最高(即具有极其类似的 形状)的过去的工件相关的、工件夹具的图纸数据46。从而,程序生成部32 生成的搬运作业程序30使机器人对新工件执行如下搬运作业在所述搬运作 业中,除了工件与工件夹具以及工件与机械手的相对位置以及姿势的关系之
业相同。
因此,当通过图5所示的机器人编程装置10生成机器人的工件搬运作业
程序时,除不需要综合研究工件夹具上保持的工件的位置和姿势以及机械手把 持工件时的机械手的位置和姿势以外,也不需要综合地研究要求与工件形状相 符合的工件夹具的形状及构造。而且,以工件特征信息12为关键字,可以从 既得数据D中容易地获得工件夹具的形状及构造等根据工件形状而不同的数 据,而不需要操作员的熟练。因此,在使用了机器人的生产系统中追加引入新 工件时,能够以较少的工时更准确地生成针对新工件的最佳搬运作业程序30。 此外,当执行4般运作业程序30时,可以参照最佳既得数据SD中包含的工件 夹具的图纸数据46,在机器人的作业区域中设置对应的工件夹具。
图6以功能框图表示图1的机器人编程装置10的第5扩展结构。图6的 机器人编程装置IO还具有取得工件的3维形状数据50的工件形状取得部52。 在该结构中,存储部24将由工件形状取得部52所取得的工件的3维形状数据
50和工件特征信息12、工件与工件夹具的相对位置信息16、以及工件与机械 手的相对位置信息20—起,作为一组既得数据D而相互关联地存储。并且, 程序生成部32根据既得数据检索部28所检索出的最佳既得数据SD中包含的 工件的3维形状数据50与新工件的3维形状数据54的差,对最佳既得数据 SD中包含的工件与工件夹具的相对位置信息16以及工件与机械手的相对位 置信息20进行修正,使用该修正后的相对位置信息16、 20生成针对新工件 的搬运作业程序30。
图6所示的机器人编程装置10中,通过工件形状取得部52取得工件的形 状本身的数据作为工件的3维形状数据50,并存储在存储部24中。存储部24 中,针对一个工件的工件3维形状数据50和所述工件特征信息12以及相对位 置信息16、 20—起,作为一组既得数据D而存储。因此,可以将过去所执行 的工件搬运作业中的工件的形状数据与该工件的工件特征信息12相关联,作 为既得数据D而进行存储。
在此,工件的3维形状数据50,可以通过作为工件的图纸数据(例如CAD 数据)和图像数据(例如CCD摄像数据)从已设定的CAD系统或视觉系统 中由工件形状取得部52自发地取得,或者由操作员根据需要而输入到工件形 状取得部52来取得。该3维形状数据50可以和工件特征取得部14取得的工 件特征信息12的提取源数据相同。并且,关于过去的多次工件搬运作业,通 过分别取得工件的3维形状数据50,将多组既得数据D存储在存储部24中。
当追加引入新工件时,如前所述,在既得数据检索部28所检索出的最佳 既得数据SD中包含有相对于新工件的形状特征的一致度最高(即具有极其类 似的形状)的过去的工件的3维形状数据50。因此,程序生成部32根据过去 的工件的3维形状lt据50与新工件的3维形状ft据54的差,对相对位置信息 16、 20进行修正,使用这些相对位置信息16、 20而生成的搬运作业程序30 使机器人执行如下搬运作业,所述搬运作业与过去所执行的类似工件的搬运作 业相比,改变了工件与工件夹具以及工件与机械手的相对位置及姿势的关系, 以便高精度地适合于新工件。
这样,当通过图6所示的机器人编程装置10生成机器人的工件搬运作业 程序时,不需要为了高精度地适合于工件形状而综合地研究工件夹具上保持的
工件的位置和姿势、以及机械手把持工件时的机械手的位置和姿势。特别地,
相对于具有既得数据检索部28所检索出的最佳既得数据SD的工件,当新工 件为几何学的相似形、或者仅高度和长度不同时,由于可以容易且正确地求得 过去的工件的3维形状数据50与新工件的3维形状数据54的差,因此,可以 不需要操作员的熟练地、生成高精度地适合于新工件的搬运作业程序30。因 此,在使用了机器人的生产系统中追加引入新工件时,能够以较少的工时更准 确地生成针对新工件的最佳搬运作业程序30。
接着,参照图7~图17,与机器人执行的作业例相关联地,对本发明的优 选实施方式的机器人编程装置的结构进行说明。
图7是安装了本发明的第一实施方式的机器人编程装置60的、使用了机 器人的生产系统的整体概要图。在机器人(即机器人机构部)62的手腕前端 安装有机械手64。在托盘(pallet) Pl上放置有多个工件Wl,在托盘P2上放 置有与工件W1种类不同的多个工件W2。机器人62被置于移动轴66上,沿 移动轴66移动,在机械手64中把持托盘Pl的工件Wl或托盘P2的工件W2, 才般运到暂置台68,暂时放置在那里。在暂置台68上设置有将从托盘P1运 送来的工件Wl定位于规定位置并保持的工件夹具68a、将从托盘P2运送来 的工件W2定位于规定位置并保持的工件夹具68b。另外,与暂置台68相邻 地配置装备了工件夹具(例如卡盘chuck) 70a的加工机械70。机器人62在暂 置台68的工件夹具68a、68b与加工机械70的工件夹具70a之间搬运工件Wl 、 W2 (装卸作业)。
若加工机械70不处于加工过程中,则机器人62将置于暂置台68上的工 件Wl或W2把持在机械手64中,提供给加工机械70。加工机械70通过来 自机器人62的加工开始命令开始工件的加工。当加工结束时,加工机械70 向机器人62发送加工结束信号。接收到加工结束信号的机器人62从加工机械 70取出已加工的工件Wl或W2,将工件Wl置于托盘P3上,将工件W2置 于托盘P4上。
机器人62以及移动轴66分别通过通信线缆72以及74与控制装置76相 连,通过控制装置76控制机器人62以及移动轴66的动作。控制装置76通过 网络线缆78与机器人编程装置60相连。在机器人62的手腕前端,与机械手
64相邻地安装有照相4几80,照相才几80经由照相;f几线缆82与图像处理装置84 相连。图像处理装置84通过网络线缆86、 88分别与控制装置76以及机器人 编程装置60相连。设置在暂置台68上的工件夹具68a、 68b分别经由数字信 号输入输出线缆(未图示)与控制装置76相连。
图8是表示图7的生产系统中的主控制系统的结构的框图。控制装置76 具备以.总线90相互连接的CPU92、存储器94、网络接口 96、数字信号输 入输出电路98、操作盘接口 IOO以及伺服接口 102。如图9所示,在存储器 94中存储有由CPU92执行的对控制装置76的整体进行控制的控制程序104、 以及使机器人62动作的作业程序106及108。作业程序106是用于机器人62 使用机械手64进行与工件Wl相关的作业的程序,作业程序108是用于机器 人62使用机械手64进行与工件W2相关的作业的程序。作业程序106和108 都使用控制程序104来进行解释,被变换为机器人62以及机械手64的动作。 通过机器人编程装置60而生成这些作业程序106以及108。
在网^4妄口 96上经由网络线缆78连接了机器人编程装置60,并且经由 网络线缆86连接了图像处理装置84。另外,在数字信号输入输出电路98上, 经由数字信号输入输出线缆IIO分别连接了暂置台68的工件夹具68a、 68b, 经由数字信号输入输出线缆112连接了加工机械70,经由数字信号输入输出 线缆114连接了安装于机器人62上的机械手64。
在操作盘接口 IOO上,经由操作盘线缆116连接了示教操作盘118。示教 操作盘118具有显示器118a以及输入按钮118b,通过操作员操作示教操作盘 118可以经由控制装置76以手动模式使机器人62动作。另外,在伺服接口 102 上,经由通信线缆72、 74连接机器人62的各控制轴以及移动轴66的伺服电 动机等伺服机构。
在机器人编程装置60上连接了硬盘装置120。或者机器人编制装置60也 可以内置有硬盘装置120。如图IO所示,在硬盘装置120中,与作为加工对 象的多个种类的工件W1、 W2分别相关地存储有概括地表现机器人62的动 作的作业程序定义数据1221、 1222;表现具体的位置以及姿势的作业部位定 义数据1241、 1242;以及工件W1、 W2的图纸数据1261、 1262。
在图像处理装置84上连接硬盘装置128。或者图像处理装置84也可以内
置有硬盘装置128。在硬盘装置128中存储有作为用于检测作业对象Wl、 W2 的各自的基准的工件图像数据1301、 1302。通过使用安装于机器人62的手腕 前端的照相机80对工件Wl 、 W2摄像而得到工件图像数据1301 、 1302。
图11表示所述生产系统中所使用的加工机械70的工件夹具70a的结构的 一例,同时表示作业对象W。另外,图12表示所述生产系统中所使用的机械 手64的结构的一例,同时表示工件夹具70a以及工件W。此外,暂置台68 的工件夹具68a、 68b也可以具有与图示的工件夹具70a相同的结构。
工件夹具70a具备可以牢固地稳定保持未加工的原材料工件W的第一 保持部132、可以牢固地稳定保持经过了加工工序的已加工的工件W,的第二 保持部134。第一保持部132具备在前端具有多个与原材料工件W的表面 抵接的抵接面的多个支柱136;将原材料工件W按压在这些支柱136的抵接 面上来固定的多个夹持部件138。在附图上,多个支柱136的抵接面与原材料 工件W的底面、 一个斜面以及一个侧面分别抵接。多个夹持部件138和未与 支柱136的抵接面相"l氐接的原材料工件W的另 一斜面以及另 一侧面分别卡合, 通过与多个支柱136配合来牢固而稳定地夹紧原材料工件W。另外,第二保 持部134具备基台140,该基台140具有与已加工的工件W,的表面抵接的抵 接面,通过作为夹持部件而作用的未图示的多个螺栓,将已加工的工件W,牢 固而稳定地固定在基台140上。这些支柱(抵接面)136、夹持部件138、基 台(抵接面)140具有与对象工件W、 W,的形状相符合的形状以及构造(个 数和配置等)。
另一方面,机械手64具备安装在机器人62 (图7)的手腕前端的基部 142、在基部142上可移动且可装卸地设置的两根手指144。这些手指144,在 各自的前端具有与作业对象工件W、 W,直接接触的指尖146。手指144的形 状及构造(根数和配置等)以及指尖146的形状与对象工件W、 W,的形状相 符合。
机器人62 (图7)将机械手64中把持的原材料工件W以与第一保持部 132的多个支柱"氐接面)136同时抵接的方式安装在工件夹具70a上,另外, 将置于第一保持部132的原材料工件W把持在机械手64中,从工件夹具70a 中拆卸。同样地,机器人62 (图7)将机械手64中把持的已加工的工件W,
以与第二保持部134的基台(抵接面)140—样地抵接的方式安装在工件夹具 70a中,另外,将置于第二保持部134中的已加工的工件W,把持在机械手64 中,从工件夹具70a中拆卸。
在上述生产系统(图7)中机器人62执行的工件搬运作业中,工件夹具 70a中保持的工件W、 W,的位置及姿势、机械手64把持工件W、 W,时的机 械手64的位置及姿势、以及针对工件夹具70a的机器人62的工件安装动作以 及工件拆卸动作,如前所述,根据工件W, W,的形状和针对工件W、 W,的一 连串的作业工序而被最优化。本发明的实施方式的机器人编程装置60,如与 图1 ~图6的机器人编程装置10关联地进行说明那样,显著减轻生成根据工 件W、 W,的形状和作业工序而最优化的搬运作业程序时的操作员的负担。
接着,按照图13、图14以及图15的流程图,对上述生产系统(图7)中, 机器人62在控制装置76的控制下执行的工件搬运作业的一例进行详细说明。 此外,以下的作业例中,机器人62按照存储器94中存储的作业程序106,交 替地执行将从托盘P1取出的工件Wl (原材料工件W)经由暂置台68安装在 加工机械70上的作业;和将从加工机械70取出的工件Wl(已加工的工件W,) 经由暂置台68放置在托盘P3上的作业。
首先,启动移动轴66,将机器人62移动至托盘P1的正面(步骤S200)。 接着,旋转机器人62的手臂,将机械手64 (例如图12的机械手64 )移动至 托盘P1的正上方(步骤S210)。然后,经由数字信号输入输出电路98对机械 手64输出"机械手张开"的数字信号,张开机械手64 (步骤S202 )。
接下来,将机械手64向对工件Wl (原材料工件W)进行把持动作的把 持位置移动。此时,将机械手64移动至把持位置的正上方的位置后,以低速 将其向正下方的把持位置移动(步骤S203 )。然后,经由数字信号输入输出电 路98对机械手64输出"机械手闭合"的数字信号,闭合机械手64,把持住 工件W1 (步骤S204)。接着,将机械手64向上方移动,从托盘P1上取出工 件W1。此时,在低速移动到把持位置的正上方的位置后,提高速度再向上方 抬升工件W1 (步骤S205 )。
接下来,向右旋转机器人62的手臂并且使移动轴66动作,将机器人62 移动至暂置台68的正面(步骤S206 ),然后将机械手64移动至工件夹具68a
的上方位置(步骤S207 )。接着将机械手64向工件夹具68a的保持部(例如 图11的第一保持部132 )低速移动,将工件Wl安装在工件夹具68a上(步骤 S208)。然后,经由数字信号输入输出电路98对机械手64输出"机械手张开" 的数字信号,张开机械手64,释放工件Wl (步骤S209 )。
接着,将机械手64向上方移动,从工件夹具68a远离(步骤S210)。因 此,经由数字信号输入输出电路98对工件夹具68a输出"夹钳闭合"的数字 信号,使工件夹具68a夹钳闭合,使工件Wl在正确定位于规定位置的状态下, 固定保持在工件夹具68a中(步骤S211 )。
接着,旋转机器人62的手臂,将张开状态的机械手64移动至加工机械 70的正面(步骤S212 )。然后,通过加工机械70的门开口部将机械手64插入 加工机械70的内部。此时,为了使机械手64不与加工机械70接触,使机器 人62的手臂完全伸直地进入(步骤S213 )。接着,将机械手64向对加工机械 70的工件夹具70a (例如图11的工件夹具70a)中固定的工件W1 (已加工的 工件W,)进行把持动作的把持位置移动(步骤S214 )。然后,在把持位置闭 合机械手64,把持工件W1 (步骤S215)。
接下来,经由数字信号输入输出电路98对加工机械70输出"夹钳张开" 的数字信号,使工件夹具70a的夹钳(或卡盘)张开,使工件W1 (已加工的 工件W,)释放(步骤S216)。接着,将机械手64从把持位置微微移动,以避 免干涉的动作从加工机械70的工件夹具70a上拆卸工件Wl (步骤S217 )。接 着,从加工机械70通过门开口部抽出机械手64。此时,为使机械手64和工 件Wl不与加工机械70接触,使机器人62的手臂完全伸直地后退(步骤S218)。
接下来,将机械手64移动至暂置台68的工件夹具68a的上方位置(步骤 S219)。然后,将机械手64向工件夹具68b的保持部(例如图11的第二保持 部134)低速移动,在工件夹具68b上安装工件Wl (已加工的工件W,)(步 骤S220)。然后,张开机械手64,释放工件W1 (步骤S221)。
接下来,将机械手64向上方移动,从工件夹具68b远离(步骤S222)。 因此,使工件夹具68b夹钳张开,使工件Wl在正确定位于规定位置的状态下, 固定保持在工件夹具68b中(步骤S223 )。接着,将机械手64移动至暂置台 68的工件夹具68b的正上方(步骤S224 )。
接着,将机械手64向对工件夹具68a上保持的工件Wl (原材料工件W) 进行把持动作的把持位置移动,在把持位置闭合机械手64,把持工件W1(步 骤S225 )。因此,使工件夹具68a夹钳张开,使工件Wl释放(步骤S226 )。 接下来,将机械手64向上方移动,从工件夹具68a中取出工件Wl。此时, 为避免干涉而将机械手64以低速向工件夹具68a的斜上方移动后,提高速度, 再向上方抬升工件W1 (步骤S227)。
接着,旋转机器人62的手臂,将把持了工件W1 (原材料工件W)的机 械手64移动至加工机械70的正面(步骤S228)。接着,从加工机械70的门 开口部将才几械手64插入加工机械70的内部。此时,为佳iM成手64及工件 Wl不与加工机械70接触,而将机器人62的手臂完全伸直地进入(步骤S229 )。 接着,将机械手64暂时停止在加工机械70的工件夹具70a的保持部(例如图 11的第一保持部132)面前,然后以低速动作在工件夹具70a上安装工件Wl。 在这种状态下,使加工机械70张开工件夹具70a的夹钳(或卡盘),使其固定 地保持工件Wl (步骤S230 )。
接着,张开机械手64释放工件W1 (步骤S231)。然后,以低速的避免干 涉的动作,将机械手64移动至稍微离开工件夹具70a的位置(步骤S232)。 接着,为使机械手64不与加工机械70接触,而将机器人62的手臂完全伸直 地,从加工机械70通过门开口部抽出机械手64 (步骤S233)。然后,经由数 字信号输入输出电路98对加工机械70输出"工件Wl的加工开始,,的数字信 号(步骤S234 )。
接着,将机械手64移动至暂置台68的工件夹具68a的正上方(步骤S235 )。 然后,将机械手64向对在工件夹具68b上保持的工件Wl (已加工的工件W,) 进行把持动作的把持位置移动,在把持位置闭合机械手64,把持工件W1(步 骤S236)。因此,使工件夹具68b夹钳张开,释放工件W1 (步骤S237)。接 着,将机械手64向上方移动,从工件夹具68b中取出工件Wl。此时,为了 避免干涉,将机械手64低速向工件夹具68b的斜上方移动,然后提高速度再 向上方抬升工件W1 (步骤S238)。
接下来,在使机器人62的手臂向右旋转的同时启动移动轴66,使机器人 62移动至托盘P3的正面(步骤S239)。接着,将把持了工件Wl (已加工的
工件W,)的机械手64移动至托盘P3的正上方(步骤S240 )。接着,将机械 手64移动至放置托盘P3上的工件Wl的放置位置后,向其正下方的放置位置 低速移动,将工件Wl放置在托盘P3上(步骤S241 )。
接着,张开机械手64,释放工件Wl (步骤S242)。接着,将机械手64 以低速移动至放置位置的正上方后,提高速度,再向上方移动(步骤S243)。 最后,将机器人62的手臂向机器人正面旋转的同时使移动轴66动作,将机器 人62移动至初始的待机位置(步骤S244)。以上,结束了针对工件W1(原材 料工件W以及已加工的工件W,)的作业程序106。
.以下,具体说明用于生成统辖上述工件搬运作业的作业程序106 ( 108) 的机器人编程装置60中执行的本发明的一个实施方式的机器人编程方法。此 外,机器人编程装置60具备CPU (未图示),该CPU具有图1 ~图6所示的 机器人编程装置10中的工件特征取得部14、夹具位置取得部18、机械手位置 取得部22、既得数据检索部28、程序生成部32、动作模式取得部36、指尖形 状取得部40、机械手图纸取得部44、夹具图纸取得部48以及工件形状取得部 52的功能。另外,硬盘装置120构成图1~图6所示的机器人编程装置10中 的存储部24。
机器人编程装置60使用作业程序定义数据1221以及作业部位定义数据 1241 (都存储在硬盘装置120中),生成用于工件Wl的作业程序106,使用 作业程序定义数据1222以及作业部位定义数据1242 (都存储在硬盘装置120 中),生成用于工件W2的作业程序108。作为一个具体例子,在存储在硬盘 装置120中的作业程序定义数据1221中,如下面这样对所述步骤S212- S218 的动作进行记述。
1:力夕-夕,于[1] 100%于少,力100
2:夕,年0/oMachine.DoorOpenO/o-才y
3:于3夕ir y %Machine.EnterPos% 1000mm/sec 一千年^
4: f" 3夕ir y %Work.ApproachPos% 500mm/sec 一于年V
5:于3夕ir 乂 %Work.GripPos% 200mm/sec ,于年V
6: 0/oRobot.Hand.Gripo/c^才y
7:夕^f年0/oRobot.Hand.GripDone。/o-才y
8: %Machine.Fixture.Release%=:t" 7 9: 夕年%Machine.Fixture.ReleaseDone%=;^~y 10: ^ 3夕ir y%Work.RetrievePos% 200mm/sec于年^ 11:千3夕ir y %Machine.ExitPos% 1000mm/sec 一于斧^ 12: <于[1] {X=1688.40mm, Y=30.30mm, Z=1331.45mm, W=64.62deg, P= - 85.60deg, R=116.35deg};
各行(冒号前的数字是行号)中,以一对°/。包夹的部分是变量,在作业程 序定义数据中是未定义的数据。这些变量中,包含"Work"的是与工件Wl 相关的变量,包含"RototHand"的是与机器人62的机械手64相关的变量, 包含"Machine"以及"Machine.Fixture"的分别是与加工机械70以及工件夹 具70a相关的变量。并且,表示与工件Wl以及加工机械70相关的位置和姿 势的变量以"ApproachPos ,, 、 " GripPos ,, 、 " RetrievePos " 、 " EnterPos ,,、 "ExitPos"来记述。另外,表示针对机械手64及加工机械70 (以及工件夹具 0a)的控制信号的变量以"Grip"、 "GripDone"、 "DoorOpen"、 "Release"、 "ReleaseDone"来记述。 各行的记述的意义如下。
第1行是步骤S212的定义数据。定义将机器人62移动至加工机械70的 门正面的位置^ l]的动作。
第2行以及第3行是步骤S213的定义数据。参照通过数字信号输入输出 线缆112发送至数字信号输入输出电路98的、表示加工机械70的门开闭状态 的数字输入信号。/。Machine.DoorOpen。/。,在该信号成为表示门打开的ON状态 之前,使机器人62在门正面的位置待机。接着,将机器人移动至进入加工机 械70的内部的位置o/oMachine.EnterPos0/0。
第4和第5行是步骤S214的定义数据。将机器人62的机械手64移动到 工件Wl (已加工的工件W,)的把持位置稍前的位置。/。Work.ApproachPos。/o后, 移动到把持位置。/。Work.GripPos。/。。
第6行以及第7行是步骤S215的定义数据。使表示闭合机器人62的机械 手64的指令的数字输出信号。/。Robot.Hand.Grip。/。为ON,将该ON信号经由数 字信号输入输出电路98以及数字信号输入输出线缆114送至机器人62,闭合
机械手64。而且,通过在机械手64上装备的接近传感器和接触开关,检测机 械手64是否正确闭合,通过参照表示传感器和开关的状态的数字输入信号 %Robot.Hand.GropDone%,确认机械手64正常闭合,把持住工件W1。
第8行和第9行是步骤S216的定义数据。使表示使加工机械70的工件夹 具70a的夹钳(或卡盘)张开的指令的数字输出信号。/。Machine,Fixture.Release。/0 为ON,将该ON信号送至加工机械70,使工件夹具70a张开。而且,通过在 工件夹具70a上装备的接近传感器和接触开关,检测工件夹具70a是否正确张 开,通过参照表示传感器和开关的状态的数字输入信号 %Machine.Fixture.ReleaseDone%,确认工件夹具70a正常的打开,已释放工件 Wl。
第10行是步骤S217的定义数据。通过将机械手64移动至稍微离开工件 Wl的把持位置的位置。/。Work.RetrievePos。/。,从工件夹具70a上拆卸工件Wl。
第11行是步骤S218的定义数据。将机械手64移动至用于从加工机械70 的内部抽出的位置n/oMachine.ExitPos。/0。
第12行记述第1行的一[l]的具体数据。即使变更了工件的种类(形状), 也始终将该数据设定为相同值,因此,将其预先记述在作业程序定义数据1221 中。
作业部位定义数据1241记述应该代入所述作业程序定义数据1221的各个 变量的位置和姿势的数据以及控制信号。在此,位置和姿势的数据表示对机器 人62进行示教的空间上的点,在作为生产系统内的基准的一个正交坐标系(例 如通用坐标系)中,包含表示位置的X、Y、Z值以及表示姿势的W(偏转yaw)、 P (俯仰pitch)、 R (滚动roll)值。下面表示作业部定义数据1241的一例。
<formula>formula see original document page 31</formula>
W=29.18deg, P= —88.69deg, R=150.21deg};
%Machine.ExitPos0/o {X=1679.51mm , Y=- 17.91mm , Z=1200.05mm, W=29,18deg, P=- 88.69deg, R=150.21deg};
%Machine.DoorOpen%=SDI [l];
%Machine.Fixture.Release0/0=SDO [ 1 ];
%Machine.Fixture.ReleaseDone%=SDI [2];
%Robot.Hand.Grip%=RDO [l];
%RobotHand.GripDone%=RDI [l];
机器人编程装置60通过作业部位定义数据1241来决定所述作业程序定义 数据1221的各个变量,由此生成用于工件Wl的下述作业程序106。 1:力夕-夕"Y于[1] 100%于> ,力100 2:夕^f年SDI[l]-才乂 3: ,3夕ir乂^f于[2] lOOOmm/sec < 4:千3夕ir乂Y于[3] 500mm/sec ,于斧^ 5:于3夕ir乂Y于[4] 200mm/sec ,于斧V 6: RDO[l]O 7:夕Y年RDI[l]-才y 8: SDO[l]-才y 9:夕,年SDI[2]-才y 10:千3夕ir乂 <于[5]200mm/seCf"斧^ 11: ,3夕iry <千[6] 1000mm/seC于斧乂
12:行[1] {X=1688.40mm, Y=30.30mm, Z=1331.45mm, W=64.62deg, P=-85.60deg, R=116.35deg};
13: 于[2] {X=1679.51mm, Y= - 17.91mm, Z=1200.05mm, W=29.18deg, P=- 88.69deg, R=150.21deg};
14: Y于[3] {X=1241.51mm, Y=- 17.91mm, Z=%0.07mm, W=15.24deg, P=-90.40deg, R=130.08deg};
15: ^ff" [4] {X=1341.51mm, Y=- 17.91mm, Z=890.07mm, W=15.24deg, P=-90.40deg, R=130.08deg};16: [5〗{X=1241.51mm, Y= — 17.91mm, Z=990.07mm, W=15.24deg, P=-90.40deg, R=130.08deg};
17: 于[6] {X=1679.51mm, Y=- 17.91mm, Z=1200.05mm, W=29.18deg, P=-88.69deg, R=150.21deg};
在机器人编程装置60中,如下准备作业部位定义数据1241。 在上述作业部位定义数据1241中定义的%Machine.DoorOpen% 、 0/oMachine.Fixture.Release% 、%Machine.Fixture.ReleaseDone% 、 %Robot.Hand.Grip%、 %Robot.Hand.GripDone% (都记述控制信号的状态),根 据用于加工机械70的信号线缆112以及用于机器人62的机械手64的信号线 缆114与控制装置76的数字信号输入输出电路98的连接形态来决定信号号 码,因此在构建含有机器人62的生产系统时被设定。另外,在作业部位定义 数据1241中定义的o/oMachine.EnterPos。/o以及。/oMachine.ExitPos0/。(记述相对于 加工机械70,取出》文入工件Wl的位置和姿势),也在生产系统的构建时,通 过确定机器人62和加工机械70的相互位置关系而纟皮设定。
因此,在作业部位定义数据1241中,根据代入o/oWork.ApproachPos。/0、 %Work.GripPos°/。、 。/。Work.RetrievePos。/。这三个变量的数据,规定机械手64搬 运工件W1的动作。以机械手64把持工件Wl的把持位置为基准,以相对于 该基准位置(把持位置)的相对位置的数据,可以分别表示这三个变量。并且, 表示成为基准的把持位置(即坐标系中的绝对位置)的变量是。/。Work,GripPos %,因此,这3个变量可以如下表示。
% Work. ApproachPos0/0=% Work.GripPos%+% Work.GripPath.Node 1 % %Work.GripPos%=%Work.GripPos%+%Work.GripPath.Node2% %Work.RetrievePos°/o=%Work.GripPos%+%Work.GripPath.Node3% 在此 ,%Work.GripPath.Nodel% 、%Work.GripPath.Node2% 、 %Work.GripPath.Node3°/。,是通过以把持位置(绝对位置)为基准的相对位置 和姿势的数据,来表现机器人62用于通过机械手64搬运工件Wl的动作的变 量,在本申请中称为"动作模式(action pattern)"(总称为。/。Work.GripPath0/。)。 下面表示代入上述变量°/。Work.GripPos°/。 、 %Work.GripPath.Nodel% 、 %Work.GripPath.Node2%、 %Work.GripPath.Node3%的位置及姿势的数据的一 例。
%Work.GripPos0/HX=1341.51mm , Y= — 17.91mm , Z=890.07mm , W=15.24deg, P=-90.40deg, R=130.08deg};
%Work.GripPath.Nodel%{X= - 100.00mm , Y=0.00mm , Z= 10.00mm , W=0.00deg, P-O扁eg, R=0.00deg};
%Work.GripPath.Node2%{X=0.00mm, Y=0.00mm, Z=0.00mm, W=0.00deg, P=0.00deg, R=0.00deg};
%Work.GripPath.Node3%{X= - 100.00mm , Y=0.00mm, Z=100.00mm, W=0.00deg, P=0.00deg, R=0.00deg};
记述上述数据的动作模式。/oWork.GripPath。/。如下规定机器人62的动作 从位置°/oWork.ApproachPos%向把持位置%Work.GripPos%沿X方向移动 lOOmm,沿Z方向移动-10mm,在把持位置。/。Work.GripPos。/。把持工件Wl 后,向位置Q/。Work,RetrievePosQ/。沿X方向移动-lOOmm,沿Z方向移动lOOmrn。
这样,机械手62以机械手64把持工件Wl进行搬运的动作,可以通过机 器人62的动作模式% 0朮01"1 &化%和机械手64把持工件Wl的把持位置(绝 对位置)。/oWork.GripPosO/()来定义。而且,以工件Wl被保持在加工机械70的 工件夹具70a上时的保持位置作为基准,能够以相对于该基准位置(保持位置) 的相对位置的数据,如下表示把持位置。/。Wrok.GripPos0/0。
%Work.GripPos%=%Work.BasePos%+%Work.GripOffset%
在此,。/。Work,BasePos。/。是用于通过位置以及姿势的数据来表现在工件夹 具70a上工件Wl的保持位置(坐标系中的绝对位置)的变量,
%百0&.0!1 0任561%是用于通过以保持位置为基准的相对位置及姿势的数据来
表现机械手64把持工件Wl的把持位置的变量。下面表示被代入这些变量中 的值的一例。
%Work.BasePos%{X=1241.51mm , Y= — 117.91mm , Z=390.07mm , W=0.00deg, P=0.00deg, R=0.00deg};
%Work.GripOffset%{X=l00.00mm , Y=100,00mm , Z=500.00mm , W=15.24deg, P=-90.40deg, R=130.08deg};
而且,以加工机械70上装备的工件夹具70a的设置位置作为基准,能够
以相对于该基准位置(设置位置)的相对位置的数据,如下表示工件Wl的保 持位置。/oWork.BasePos0/0。
%Work.BasePos0/0=%Machine.Fixture.BasePos%+%Work.FixOffset%
在此,。/。Machine.Fixture.BasePos。/。是用于通过位置及姿势的数据来表现加 工机械70内的工件夹具70a的设置位置(坐标系中的绝对位置)的变量, 0/oWork,FixOffset。/。是用于通过以设置位置为基准的相对位置及姿势的数据,来 表现工件夹具70a上的工件Wl的保持位置的变量。这些变量中, 0/oMachine.Fixture.BasePos。/。通过在加工机械70的内部搭载工件夹具70a来决 定,在生产系统的构建时被设定。下面表示被代入这些变量的值的一例。
%Machine.Fixture.BasePoso/o{X=1241.00mm ,Y= - 117.00mm , Z=240.00mm, W=0.00deg, P=0.00deg, R=0.00deg};
0/oWork.FixOffset%{X=0.51mm, Y=-0.91mm, Z=150,07mm, W=0.00deg, P=0.00deg, R=0.00deg};
这样,机器人62通过机械手64把持工件Wl来搬运的动作,通过机器人 62的动作模式。/。Work.GripPath。/。、机械手64把持工件Wl的把持位置(相对 位置)%Work.GripOffset%、工件夹具70a保持工件Wl的保持位置(相对位 置)%Work.FixoOffset%、生产系统的构建时根据机器人62、加工机械70以 及工件夹具70a的相互的位置关系而设定的其他已知数据(绝对位置以及控制
信号)而被确定。因此,为了决定引入新工件时针对新工件的机器人的搬运动 作,确定。/。Work,GripPath。/。、 %Work.GripOffset%、 。/。Work.FixOffset。/。这三个变
量即可。
在机器人编程装置60中,如下面这样取得机器人62的动作模式 %Wrok.GripPath°/o、机械手64与工件W1的相对位置Q/。Work.GripOffset。/。、工 件夹具70a与工件Wl的相对位置。/。WorLFixOffset0/0。
机器人编程装置60具有例如3D - CAD等3维形状数据的生成功能。这 种情况下,工件Wl、 W2、机器人62的机械手64、机械手64的手指144 (图 12)、暂置台68的工件夹具68a、 68b、加工机械70的工件夹具70a等的3维 形状(图纸)数据由机器人编程装置60生成,并可以预先存储在硬盘装置120 中。而且,机器人编程装置60通过组合多个3维形状数据在一个3维虚拟空
间中适当地配置的功能,可以在硬盘装置120内生成工件图纸数据1261、1262。 该工件图纸数据1261、 1262是例如图12中所示的数据,可以包含机械手64 的指尖146的形状数据、机械手64的设计图纸数据、加工机械70的工件夹具 70a的设计图纸数据、工件W1、 W2的形状数据。
操作员在例如图12的虚拟空间中将工件Wl配置于在工件夹具70a上固 定安装的位置,将机械手64的手指144配置于安装在机械手64上的位置,将 机械手64及手指144配置在把持工件Wl的位置。此时,机械手64以及手指 144配置在把持工件Wl之前的位置、把持时的位置、把持后的从工件夹具70a 远离的位置等若干不同的位置(即示教点)。由此指定把持工件Wl进行搬运 的机器人62的动作才莫式。此外,图12所示的工件图纸数据1261中,输入并 显示未加工的原材料工件W和、完成第一工序的加工,进行第二工序的加工据。
操作员通过在例如图12所示的虛拟空间中与实际生产系统相对应地配置 机械手64、手指144、指尖146、工件夹具70a以及工件Wl的3维形状数据, 输入工件Wl和工件夹具70a的相对位置及姿势。另外,在该虛拟空间内,通 过使机械手64的手指144把持工件Wl,输入工件Wl与手指144以及手指 144与机械手64 (基部142)的相对位置和姿势。而且,在该虛拟空间内,通 过使机械手64的手指144接近工件W1,使手指144把持工件W1,使机械手 64抬升工件Wl地进行动作,使用各示教点的工件Wl与机械手64的相对位 置和姿势的数据,输入机器人62的动作模式。
在图12的结构例中,可以更换或增减机械手64的手指144。在这种情况 下,通过工件Wl与手指144的相对位置和姿势的数据、以及手指144与机械 手64 (基部142 )的相对位置和姿势的数据,来表示工件Wl与机械手64的 相对位置和姿势的数据。如此准备的工件图纸数据1261包含工件W1与工 件夹具70a的相对位置和姿势的数据、工件Wl与机械手64的相对位置和姿 势的数据、机器人62的动作模式、机械手64的3维形状(图纸)数据、机械 手64的指尖146的3维形状(图纸)数据、以及工件夹具70a的3维形状(图 纸)数据。^L器人编程装置60可以从硬盘装置120内的工件图纸数据1261
中个别地取得这些数据。
机器人编程装置60,例如当生成作业程序106时,首先从工件图纸数据 1261中取得工件Wl与工件夹具70a的相对位置和姿势的数据,作为所述变 量。/。WorLFixOffset。/o的值,另外,取得工件Wl与机械手64的相对位置和姿 势的数据,作为所述变量。/。Work.GripOffset。/。的值,另外,取得将工件Wl与 机械手64的相对位置和姿势的数据多个组合来表现的机器人62的动作模式的 数据,作为所述变量。/。Work.GripPathQ/。的值。由此决定作业部位定义数据1241 中的所述未知变量%Work,ApproachPos% 、 %Work.GripPos°/o 、 %Work.RetrievePos%。而且,机器人编程装置60将作业部位定义数据1241中 的所述已知变量的值代入作业程序定义数据1221。如此生成作业程序106。
机器人编程装置60,如与图1 ~图6的机器人编程装置10相关联地进行 说明那样,将从已有工件W1、 W2的3维形状数据中取得的工件特征信息、 作业程序106、 108的生成时所使用的作业程序定义数据1221、 1222、作业部 位定义数据1241、 1242、以及工件图纸数据1261、 1262相互关联,作为多组 既得数据存储在硬盘装置120中。并且,当在生产系统中引入新工件时,使用 从新工件的3维形状数据中取得的新工件特征信息,以工件特征信息12为关 键字,从多组既得数据中检索与相对于新工件的形状特征的一致度最高的工件 Wl、 W2相关的最佳既得数据,使用该最佳既得数据生成用于新工件的搬运 作业程序。
作为从工件W1、 W2的3维形状数据中取得工件特征信息的方法,可以 采用基于下述图像处理的特征提取方法。此外,工件W1、 W2的3维形状数 据不限于从3D-CAD图纸等中得到的工件图纸数据1261、 1262,也可以是通 过图像处理装置128处理以照相机80拍摄的数据而得到的工件图像数据 1301、 1302。
在这种特征提取方法中,首先从工件图纸数据1261、 1262或工件图像数 据1301、 1302中提取出工件Wl、 W2的轮廓线。在工件图纸数据1261、 1262 中,由于工件W1、 W2的轮廓线是明确的,因此可以容易地提取轮廓线。另 一方面,在使用工件W1、 W2图像数据1301、 1302的情况下,提取图像内产 生急剧的亮度变化的部位作为轮廓线。接着,从提取出的轮廓线的信息中,提 取出成为确定工件W1、 W2的形状的线索的顶点以及线成分。接着,,人提取 出的顶点以及线成分的信息中提取出可以由这些顶点和线成分构成的面,进一 步提取出可以由提取出的面构成的基本立体(长方体、圆柱、圆锥、球体等)。 然后,作为提取出的基本立体的集合体,表现工件W1、 W2的实体模型。
通过基本立体的集合体所表现的工件Wl 、 W2的实体模型,称为例如CSG (Constructive Solid Geometry)模型。图16中举例所示的工件Wl的CSG模 型,从工件图纸数据1261或工件图像数据1301中4企测出两个八棱柱和1个圆 柱,通过这些基本立体的和以及差的运算而组合而成。八棱柱可以以形成底面 的八角形的中心坐标、从该中心坐标到各个角部的距离、柱的延伸方向、以及 柱的高度作为参数,来详细表现。另外,圆柱可以以形成底面的圆的中心坐标、 半径、柱的延伸方向以及柱的高度作为参数,来详细表现。因此,从工件图纸 数据1261或工件图像数据1301中提取出这些参数即可。
通过使用了这种CSG模型的特征提取方法,与原来的工件图纸数据1261、 1262或工件图像数据1301、 1302中的工件W1、 W2的描绘方向无关,以构 成工件Wl、 W2的基本立体(即工件特征信息)作为关4建字,可以判断形状 特征的一致度。另外,即使是几何学的相似形的工件,也可以判断形状特征的 一致度。
在此,本发明的机器人编程装置10(60)可以构成为工件特征取得部 14,取得以时间序列表现工件的形状变化的工件形状转变信息12T (图1)作 为工件特征信息12;既得数据检索部28,使用以时间序列表现新工件的形状 的变化的新工件形状转变信息26T (图1)作为新工件特征信息26,检索最佳 既得数据SD。通过这种结构,当生成在工件搬运作业过程中插入工件Wl、 W2的形状变化的工序的搬运作业程序30、 106、 108时,可以使最佳既得数 据SD的检索精度显著提高。特别地,在工件搬运作业过程中插入工件的加工 工序的情况下,通过使工件形状转变信息12T表现包含工件加工前以及力口工 后的多个不同阶段中的几何学特征,以正确地表现加工的同一工件的形状变化 的工件形状转变信息12T作为关键字,可以高精度地检索最佳既得数据SD。
例如,如图17所示,若在工件Wl的搬运作业的过程中插入通过对原材 料工件W实施第一工序以及第二工序而到完成品W,,的加工工序,则可以准
备加工前的原材料工件w、第一工序完成后的中间工件w,、第二工序完成后
的完成工件W"的三个阶段中各自的3维形状数据,从这些各个阶段的3维形 状数据中以上述方法提取出工件特征信息。在图示的例子中,作为工件Wl的 CSG模型,从各个3维形状数据中提取出表现原材料工件W的长方体(Block )、 表现中间工件W,的八棱柱(Prisml)、表现完成工件W"的基本立体的组合 (Prism2 + Prism3 一 Cylinder )。而且,通过表示从长方体(Block)中减去4 个楔形(Wedge)而得到八棱柱(Prisml)的CSG才莫型,来表现第一工序的内 容(即从原材料工件W向中间工件W,的转变)。同样地,通过表示从八棱柱 (Prisml )减去8个楔形(Wedge )和1个圆柱(Cylinder )而得到最终形状(Prism2 + Prism3 - Cyliner)的CSG模型,来表现第二工序的内容(即从中间工件W, 向完成工件W"的转变)。
在此例中,机器人编程装置10 (60)可以将表现所述原材料工件W、中 间工件W,、完成工件W"、第一工序以及第二工序的各个的CSG模型(工件 形状转变信息12T)全部作为成为既得数据D的关键字的工件特征信息12, 存储在存储部24(硬盘装置120)。当引入新工件时,机器人编程装置10(60) 使用从新工件的3维形状数据中以同样的方法提取出的新工件形状转变信息 26T,检索包含与新工件形状转变信息26T的一致度最高的工件形状转变信息 12T的最佳既得数据SD。并且,使用从存储部24 (硬盘装置120)中读出的 最佳既得数据SD,生成用于执行针对新工件的搬运作业的、机械手64、机械 手64的手指144、暂置台68的工件夹具68a、 68b、加工机械70的工件夹具 70a以及搬运作业程序30。此外,当检索最佳既得数据SD时,可以在提取出 的多个阶段的CSG模型中仅指定希望阶段的CSG模型来进行检索,也可以仅 指定加工工序中的一部分作业来进行检索。
工件特征信息12 (工件形状转变信息12T)和新工件特征信息26 (新工 件形状转变信息26T)的一致度的判断,可以通过例如基于模糊推理的模糊4企 索来实现。在该4全索方法中,不仅可以判断构成CSG模型的基本立体的种类 和数量是否一致,针对基本立体的每个种类也准备了用于评价一致度的成员关 系(membership)函数。例如,当以是否为薄板作为判断基准来对基本立体的 长方体的一致度进行评价时,准备成员关系函数,其将长方体的6面中面积最
大的两面规定为上面和下面,对上面或下面的面积与上下面间的距离(即高度) 的比率分配一致度。另外,当以是否为细洞来作为判断基准来对圆柱的一致度 进行评价时,准备成员关系函数,其对圆柱的底面半径与高度的比率分配一致
度。这样,在一个CSG模型中,分别通过固有的成员关系函数来评价与各种 判断基准相关的一致度,综合这些判断基准的一致度来计算整体一致度。并且, 针对新工件特征信息26 (新工件形状转变信息26T),将包含这样的整体一致 度最高的工件特征信息12 (工件形状转变信息12T)的既得数据D确定为最 佳既得数据SD。
实际上,在生产系统中,当以加工机械加工的工件的种类改变时,多数情 况下以相对于已有工件几何学类似的范围内的新工件作为对象,因此,有时可 以直接再利用过去所准备的机器人机械手、机械手的手指、工件夹具、搬运作 业程序。在这种情况下,在本发明的机器人编程装置10 (60)中,如前所述, 可以不受操作员的熟练度的影响,以从工件的3维形状数据中得到的工件特征 信息12作为关键字,容易且准确地检索对于新工件而言最佳的过去的数据。
即使在无法以原内容对过去的数据进行再利用的情况下,可以参考具有成 果的过去的数据也是非常有意义的。例如,特别地,相对于过去生成了搬运作 业程序的工件,当新工件是几何学相似形或者仅高度和长度不同时,如与图6 关联来说明的那样,计算过去的工件的3维形状数据50和新工件的3维形状 数据54的差,可以根据该差来修正过去的数据。具体而言,根据过去的工件 的3维形状数据50与新工件的3维形状数据54的差,对过去生成了搬运作业
数据)以及。/。Work,GripOffseto/。的值(工件与机械手的相对位置和姿势的数据) 进行修正。由此,生成新工件的搬运作业程序时,不需要重新输入 0/oWork.FixOffset%以及Q/oWork.GripOffset0/0 。
由以上的说明可知,通过本发明,在已有的生产系统中引入新工件时,可 以有效地利用与已有工件对应的机器人机械手、机械手的手指、工件夹具、搬 运作业程序的各个信息,不需要操作员的熟练地,以较少的工时容易且准确地 生成针对新工件的最佳搬运作业程序。特别地,若与过去的工件搬运作业相关 的既得数据的数量足够多,则仅使机器人见到新工件,便可自动生成适合于新
工件的搬运作业程序,而且不需要对机器人进行搬运作业的示教。
以上,说明了本发明的优选实施方式,但机器人编程装置10、 60可以由 个人计算机构成,因此,根据上述实施方式也可以如下述这样来规定本发明。
即,本发明是机器人编程用程序,其为了生成使安装有机械手64的机器 人62执行包含针对工件夹具68a、 68b、 70a的工件Wl、 W2的安装和拆卸中 的至少一种动作在内的工件搬运作业的搬运作业程序30、 106、 108,而使计 算机10、 60作为以下各部进行工作工件特征取得部14,从工件Wl、 W2 的3维形状数据中取得表示工件Wl、 W2的几何学特征的工件特征信息12; 夹具位置取得部18,取得在工件夹具68a、 68b、 70a上安装了工件Wl、 W2 时的工件W1、 W2与工件夹具68a、 68b、 70a的相对位置信息16;机械手位 置取得部22,取得以机械手64把持工件Wl、 W2时的工件Wl、 W2与机械 手64的相对位置信息20;存储部24,将工件特征取得部14所取得的工件特 征信息12、夹具位置取得部18所取得的工件与工件夹具的相对位置信息16、 机械手位置取得部22所取得的工件与机械手的相对位置信息20作为一组既得 数据D而相互关联,存储与多种工件W1、 W2相关的多组既得数据D;既得 数据检索部28,使用从新工件的3维形状数据中得到的新工件特征信息26, 从存储部24中所存储的多组既得数据D中,检索包含与新工件特征信息26 的一致度最高的工件特征信息12的最佳既得数据SD;以及程序生成部32, 使用既得数据检索部28所检索出的最佳既得数据SD,生成针对新工件的搬运 作业程序30。
另外,本发明是记录了机器人编程用程序的计算机可读取的记录介质,所 述机器人编程用程序,为了生成使安装有机械手64的机器人62执行包含针对 工件夹具68a、 68b、 70a的工件Wl、 W2的安装和拆卸中的至少一种动作在 内的工件搬运作业的拍定运作业程序30、 106、 108,而使计算才几IO、 60作为以 下各部进行工作工件特征取得部14,从工件W1、 W2的3维形状数据中取 得表示工件W1、 W2的几何学特征的工件特征信息I2;夹具位置取得部l8, 取得将在工件夹具68a、 68b、 70a上安装了工件Wl、 W2时的工件W1、 W2 与工件夹具68a、 68b、 70a的相对位置信息16;机械手位置取得部22,取得 以机械手64把持工件Wl 、 W2时的工件Wl、 W2与机械手64的相对位置信
息20;存储部24,将工件特征取得部14所取得的工件特征信息12、夹具位 置取得部18所取得的工件与工件夹具的相对位置信息16、机械手位置取得部 22所取得的工件与机械手的相对位置信息20作为一组既得数据D而相互关 联,存储与多种工件W1、 W2相关的多组既得数据D;既得数据检索部28, 使用从新工件的3维形状数据中得到的新工件特征信息26,从存储部24中所 存储的多组既得数据D中,检索包含与新工件特征信息26的一致度最高的工 件特征信息12的最佳既得数据SD;以及程序生成部32,使用既得数据检索 部28所检索出的最佳既得数据SD,生成针对新工件的搬运作业程序30。
另外,本发明是机器人编程方法,用于使用计算机IO、 60来生成使安装 有机械手64的机器人62执行包含针对工件夹具68a、 68b、 70a的工件Wl、 W2的安装和拆卸中的至少一种动作在内的工件搬运作业的搬运作业程序30、 106、 108。所述机器人编程方法包括以下步骤计算机IO、 60的工件特征取 得部14从工件Wl、 W2的3维形状数据中取得表示工件Wl、 W2的几何学 特征的工件特征信息12;计算机10、 60的夹具位置取得部18取得在工件夹 具68a、 68b、 70a上安装了工件Wl、 W2时的、工件Wl、 W2与工件夹具68a、 68b、 70a的相对位置信息16;计算机10、 60的机械手位置取得部22取得以 机械手把持工件Wl、 W2时的工件Wl、 W2与机械手64的相对位置信息20; 计算机10、 60的存储部24,将工件特征取得部14所取得的工件特征信息12、 夹具位置取得部18所取得的工件与工件夹具的相对位置信息16、机械手位置 取得部22所取得的工件与机械手的相对位置信息20作为一组既得数据D而 互相关联,存储与多种工件W1、 W2相关的多组既得数据D;计算机IO、 60 的既得数据检索部28,使用从新工件的3维形状数据中得到的新工件特征信 息26,从存储部24中存储的多组既得数据D中,检索包含与新工件特征信息 26的一致度最高的工件特征信息12的最佳既得数据SD;计算机10、 60的程 序生成部32,使用既得数据检索部28检索出的最佳既得数据SD,生成针对 新工件的搬运作业程序30。
以上,将本发明与其优选实施方式相关联地进行了说明,但本领域技术人 员应能理解,在不超出后述权利要求范围的情况下,可以进行各种修改以及变 更。
权利要求
1.一种机器人编程装置,用于生成使安装有机械手的机器人执行工件搬运作业的搬运作业程序,所述工件搬运作业包含针对工件夹具的工件安装以及拆卸中的至少一种动作,其特征在于,具备工件特征取得部(14),从工件的3维形状数据中取得表示该工件的几何学特征的工件特征信息(12);夹具位置取得部(18),取得在工件夹具上安装了工件时的、该工件与该工件夹具的相对位置信息(16);机械手位置取得部(22),取得在以机械手把持工件时的、该工件与该机械手的相对位置信息(20);存储部(24),将所述工件特征取得部所取得的所述工件特征信息、所述夹具位置取得部所取得的所述工件与所述工件夹具的所述相对位置信息、所述机械手位置取得部所取得的所述工件与所述机械手的所述相对位置信息作为一组既得数据(D)而相互关联,存储与多种工件相关的多组该既得数据;既得数据检索部(28),使用从新工件的3维形状数据中获得的新工件特征信息(26),从所述存储部中所存储的所述多组既得数据中,检索包含与该新工件特征信息的一致度最高的所述工件特征信息的最佳既得数据(SD);以及程序生成部(32),使用所述既得数据检索部所检索出的所述最佳既得数据,生成针对所述新工件的所述搬运作业程序(30)。
2.既得数据检索部(28),使用从新工件的3维形状数据中获得的新工件特 征信息(26),从所述存储部中所存储的所述多组既得数据中,检索包含与该 新工件特征信息的一致度最高的所述工件特征信息的最佳既得数据(SD);以 及程序生成部(32),使用所述既得数据检索部所检索出的所述最佳既得数 据,生成针对所述新工件的所述搬运作业程序(30)。 2.根据权利要求1所述的机器人编程装置,其中,还具备取得动作模式指令值(34)的动作模式取得部(36),该动作模式 指令值(34 )指定针对所述工件夹具的所述工件的安装以及拆卸中的至少一种 动作,所述存储部,将该动作i^式取得部所取得的该动作^^式指令值和所述工件 特征信息、所述工件与所述工件夹具的所述相对位置信息、以及所述工件与所 述机械手的所述相对位置信息一起,作为所述一组既得数据而相互关联地进行 存储。
3. 根据权利要求1所述的机器人编程装置,其中,还具备指尖形状取得部(40),取得所述机械手的指尖的3维形状数据 (38),所述存储部,将该指尖形状取得部所取得的该机械手的该指尖的该3维形 状数据和所述工件特征信息、所述工件与所述工件夹具的所述相对位置信息、 以及所述工件与所述机械手的所述相对位置信息一起,作为所述一组既得数据 而相互关联地进行存储。
4. 根据权利要求1所述的机器人编程装置,其中, 还具备机械手图纸取得部(44 ),取得所述机械手的图纸数据(42 ), 所述存储部,将该机械手图纸取得部所取得的该机械手的该图纸数据和所述工件特征信息、所述工件与所述工件夹具的所述相对位置信息、以及所述工件与所述机械手的所述相对位置信息一起,作为所述一组既得数据而相互关联 地进行存储。
5. 根据权利要求1所述的机器人编程装置,其中, 还具备夹具图纸取得部(48),取得所述工件夹具的图纸数据(46), 所述存储部,将该夹具图纸取得部所取得的该工件夹具的该图纸数据和所述工件特征信息、所述工件与所述工件夹具的所述相对位置信息、以及所述工 件与所述机械手的所述相对位置信息一起,作为所述一组既得数据而相互关联 地进行存储。
6. 根据权利要求1所述的机器人编程装置,其中, 还具备工件形状取得部(52),取得所述工件的所述3维形状数据(50),述工件特征信息、所述工件与所述工件夹具的所述相对位置信息、以及所述工 件与所述机械手的所述相对位置信息一起,作为所述一组既得数据而相互关联 地进行存储,所述程序生成部,根据所述既得数据检索部所检索出的所述最佳既得数据 中包含的所述工件的所述3维形状数据与所述新工件的3维形状数据(54 )的 差,对该最佳既得数据中包含的所述工件与所述工件夹具的所述相对位置信息 以及所述工件与所述机械手的所述相对位置信息进行修正,使用这些修正后的相对位置信息,生成针对所述新工件的所述拍t运作业程序。
7. 根据权利要求1至6中任意一项所述的机器人编程装置,其中, 所述工件特征取得部,取得以时间序列表示所述工件形状变化的工件形状转变信息(12T),作为所述工件特征信息,所述既得数据检索部,使用以时间序列表示所述新工件形状变化的新工件 形状转变信息(26T)作为所述新工件特征信息,检索所述最佳既得数据。
8. 根据权利要求7所述的机器人编程装置,其中,该机器人编程装置生成在所述工件搬运作业的过程中插入所述工件的加 工工序的所述4般运作业程序,所述工件形状转变信息表示包含所述工件的加工前以及加工后的多个不 同阶段中的几何学特征。
9. 一种机器人编程用程序,其为了生成使安装有机械手的机器人执行包 含针对工件夹具的工件安装与拆卸中的至少一种动作在内的工件搬运作业的搬运作业程序,而使计算机作为以下各部进行工作工件特征取得部(14),从工件的3维形状数据中取得表示该工件的几何 学特征的工件特征信息(12);夹具位置取得部(18),取得在工件夹具上安装了工件时的、该工件与该 工件夹具的相对位置信息(16);机械手位置取得部(22),取得以机械手把持工件时的、该工件与该机械 手的相对位置信息(20);存储部(24),将所述工件特征取得部所取得的所述工件特征信息、所述 夹具位置取得部所取得的所述工件与所述工件夹具的所述相对位置信息、所述 机械手位置取得部所取得的所述工件与所述机械手的所述相对位置信息作为 一组既得数据(D)而相互关联,存储与多种工件相关的多组该既得数据;既得数据检索部(28),使用从新工件的3维形状数据中得到的新工件特 征信息(26),从所述存储部中所存储的所述多组既得数据中,检索包含与该 新工件特征信息的一致度最高的所述工件特征信息的最佳既得数据(SD);以程序生成部(32),使用所述既得数据检索部所检索出的所述最佳既得数据,生成针对所述新工件的所述搬运作业程序(30)。
10. —种记录有机器人编程用程序的计算机可读取的记录介质,其中, 所述机器人编程用程序,为了生成使安装有机械手的机器人执行包含针对工件夹具的工件安装与拆卸中的至少一种动作在内的工件搬运作业的搬运作 业程序,而使计算机作为以下各部进行工作工件特征农得部(14),从工件的3维形状数据中取得表示该工件的几何 学特征的工件特征信息(12);夹具位置取得部(18),取得在工件夹具上安装了工件时的、该工件与该 工件夹具的相对位置信息(16);机械手位置取得部(22),取得在以机械手把持工件时的、该工件与该机 械手的相对位置信息(20);存储部(24),将所述工件特征取得部所取得的所述工件特征信息、所述 夹具位置取得部所取j寻的所述工件与所述工件夹具的所述相对位置信息、所述 机械手位置取得部所取得的所述工件与所述机械手的所述相对位置信息,作为 一組既得凄t据(D)而相互关联,存储与多种工件相关的多组该既得数据;既得数据检索部(28),使用从新工件的3维形状数据中得到的新工件特 征信息(26),从所述存储部中所存储的所述多组既得数据中,检索包含与该 新工件特征信息的一致度最高的所述工件特征信息的最佳既得数据(SD);以及程序生成部(32 ),使用所述既得数据检索部检索出的所述最佳既得数据, 生成针对所述新工件的所述搬运作业程序(30)。
11. 一种机器人编程方法,用于使用计算机来生成使安装有机械手的机器 人执行包含针对工件夹具的工件安装与拆卸中的至少 一种动作在内的工件搬 运作业的搬运作业程序,该机器人编程方法的特征在于,具备以下步骤计算机的工件特征取得部(14)从工件的3维形状数据中取得表示该工件 的几何学特征的工件特征信息(12);计算机的夹具位置取得部(18 )取得在工件夹具上安装了工件时的、该工 件与该工件夹具的相对位置信息(16);计算机的机械手位置取得部(22 )取得在以机械手把持工件时的、该工件 与该机械手的相对位置信息(20);计算机的存储部(24),将所述工件特征取得部所取得的所述工件特征信 息、与所述夹具位置取得部所取得的所述工件与所述工件夹具的所述相对位置 信息、所述机械手位置取得部所取得的所述工件与所述机械手的所述相对位置 信息作为一组既得数据(D)而相互关联,存储与多种工件相关的多组该既得 数据;计算机的既得数据检索部(28),使用从新工件的3维形状数据中得到的 新工件特征信息(26),从所述存储部中存储的所述多组既得数据中,检索包 含与该新工件特征信息的 一致度最高的所述工件特征信息的最佳既得数据 (SD);以及计算机的程序生成部(32),使用所述既得数据4企索部所检索出的所述最 佳既得数据,生成针对所述新工件的所述搬运作业程序(30)。
全文摘要
机器人编程装置具备工件特征取得部,从工件的3维形状数据中取得表示工件的几何学特征的工件特征信息;夹具位置取得部,取得在工件夹具上安装了工件时的、工件与工件夹具的相对位置信息;机械手位置取得部,取得以机械手把持工件时的、工件与机械手的相对位置信息;存储部,将工件特征信息、工件与工件夹具的相对位置信息、以及工件与机械手的相对位置信息作为一组既得数据而相互关联,存储与多种工件相关的多组既得数据;既得数据检索部,使用从新工件的3维形状数据中得到的新工件特征信息,从多组既得数据中检索包含与新工件特征信息的一致度最高的工件特征信息的最佳既得数据;程序生成部,使用最佳既得数据生成针对新工件的搬运作业程序。
文档编号B25J19/00GK101100060SQ20071012820
公开日2008年1月9日 申请日期2007年7月4日 优先权日2006年7月4日
发明者二瓶亮, 加藤哲朗, 西浩次 申请人:发那科株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1