CN1798637A - 用于多关节型机器人的教导数据准备方法 - Google Patents

用于多关节型机器人的教导数据准备方法 Download PDF

Info

Publication number
CN1798637A
CN1798637A CN 200480015399 CN200480015399A CN1798637A CN 1798637 A CN1798637 A CN 1798637A CN 200480015399 CN200480015399 CN 200480015399 CN 200480015399 A CN200480015399 A CN 200480015399A CN 1798637 A CN1798637 A CN 1798637A
Authority
CN
China
Prior art keywords
operating point
attitude
articulated robot
data
instruction data
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
CN 200480015399
Other languages
English (en)
Other versions
CN100404211C (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.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
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 Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Publication of CN1798637A publication Critical patent/CN1798637A/zh
Application granted granted Critical
Publication of CN100404211C publication Critical patent/CN100404211C/zh
Anticipated expiration legal-status Critical
Active legal-status Critical Current

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

针对多个工作点设置端执行器的第一临时姿态(步骤S3)。确定多关节机器人在多个工作点中的一端的第一工作点处的姿态(步骤S4)。确定多关节机器人在多个工作点中的另一端的最终工作点处的姿态(步骤S5)。分别针对其他的工作点设置端执行器的第二临时姿态,使得端执行器的姿态从第一工作点向最终工作点逐渐地变化(步骤S6)。利用第二临时姿态来校正第一临时姿态(步骤S7)。

Description

用于多关节型机器人的教导数据准备方法
技术领域
本发明涉及一种生成用于多关节型机器人的教导数据的方法,该多关节型机器人具有端执行器,该多关节型机器人用于使用该端执行器在多个连续工作点上连续地工作。
背景技术
为了直接操作被安装在生产线上的多关节型机器人以向多关节型机器人示教工作姿态,熟悉操作多关节型机器人的操作员需要工作在生产线处。因此,工作时间受到限制并且操作效率低。由于必须在切断生产线的情况下执行教导过程,因此降低了生产线的开工率。
近年来,已经实践了离线教导(off-line teaching),以高效地执行教导过程或提高生产线的开工率。具体来说,在计算机上构建多关节型机器人模型、待加工工件以及环境结构(surrounding structure),并使用该模型生成教导数据。因此,现场地向多关节型机器人提供教导数据。按此方式,可以在不切断生产线的情况下高效地生成教导数据。
人们要求生产线提高其生产率。为了满足该要求,试图缩短多关节型机器人的周期。在这种情况下,已提出一种技术,其用于:计算在工序(working sequence)中的各工作点处的多关节型机器人姿态、选择具有短移动时间和较小端执行器姿态差的多关节型机器人姿态,然后计算在逆工序中的最终工作点处的多关节型机器人姿态,并对计算出的最终工作点处的多关节型机器人姿态与在工序的最终工作点处的多关节型机器人姿态进行比较,并对计算出的多关节型机器人姿态进行校正(例如,见日本特开2003-94363号公报)。该技术是优选的,因为它可以缩短多关节型机器人的操作周期,以提高生产率。
还提出了一种用于自动设置端执行器相对于工件的插入路径和姿态以生成用于多关节型机器人的教导数据的方法(例如,见日本特开2002-239955号公报和日本特开2002-239957号公报)。
根据日本特开2003-94363号公报所公开的处理,由于主要出于减小端执行器姿态差的目的来建立教导数据,所以端执行器的工作点之间的移动路径可能不平滑。当端执行器在连续工作点上连续地工作时,未足够地考虑用于将端执行器施加于第一工作点的时间和用于将端执行器从最终工作点移开的时间。结果,可能会增大总的周期,并且操作员可能需要在试验-错误的基础上校正教导数据。
通过以下步骤生成教导数据:针对工件建立多关节型机器人的工作点和工序、确定在各工作点处的机器人姿态、然后建立对于各工作点处工件的工作细节作为工作属性,并建立工作点之间的移动过程作为移动属性。在工作点处的机器人姿态数据有时包括工具坐标数据,其表示被安装在机器人末端上的端执行器的姿态。
离线教导不要求切断生产线。然而,如果低效地执行离线教导,则需要使用教导计算机很长一段时间,因此执行教导过程的操作员会面临很大的工作量。将待训练的多关节型机器人布置在给定传送线的附近,以对在传送线上传送的车辆进行焊接。然而,在传送线上传送的车辆并不限于一种类型。当要改变待由多关节型机器人加工的车辆类型时,需要生成新的教导数据。
已提出一种能够在存在现有教导数据的情况下使用的技术。根据所提出的技术,如果现有教导数据包括可被优先用于提供针对新工作点的姿态的数据,那么使用该数据(例如,见日本特开2003-117864号公报)。所提出的技术是优选的,因为使用现有教导数据可以生成新教导数据。
然而,根据日本特开2003-117864号公报所公开的技术,现有教导数据的可被用作新教导数据的部分是有限的,并且如果工件改变其形状则不可以使用现有教导数据。在这种情况下,希望进一步有效地利用现有教导数据。
专利文献1:日本特开2003-94363号公报
专利文献2:日本特开2002-239955号公报
专利文献3:日本特开2002-239957号公报
专利文献4:日本特开2003-117684号公报
发明内容
本发明要解决的问题
本发明的一个目的是提供一种生成用于多关节型机器人的教导数据的方法,该教导数据用于在多关节型机器人的端执行器在多个连续工作点上连续工作时,平滑地移动该多关节型机器人,以缩短其总移动时间。
本发明的另一目的是提供一种通过有效地利用针对现有工件的现有教导数据生成用于多关节型机器人的教导数据的方法,以针对另一工件高效地生成教导数据。
解决技术问题的手段
根据本发明,提供了一种生成用于具有端执行器的多关节型机器人的教导数据的方法,该多关节型机器人使用该端执行器在多个连续工作点上连续地工作,该方法包括以下步骤:第一步骤,针对所述多个工作点建立端执行器的第一临时姿态;第二步骤,确定多关节型机器人在所述多个工作点一端处的第一工作点处的姿态;第三步骤,确定多关节型机器人在所述多个工作点的另一端处的最终工作点处的姿态;第四步骤,针对其他工作点建立端执行器的第二临时姿态,使得在第二步骤中确定的多关节型机器人的端执行器的姿态逐渐变化成在第三步骤中确定的多关节型机器人的端执行器的姿态;以及第五步骤,利用第二临时姿态校正第一临时姿态,以建立各工作点处的端执行器姿态。
根据该配置,当端执行器在多个连续工作点上连续工作时,多关节型机器人可以以缩短的工作时间平滑地移动。
第二步骤可以确定多关节型机器人在第一工作点处的姿态,以使得端执行器在最短时间内从第一工作点之前的教导地点到达该第一工作点。
端执行器由此可以快速移动到第一工作点,并可以在短时间内进行操作,该短时间包括在端执行器开始工作之前的移动时间。
第三步骤可以确定多关节型机器人在最终工作点处的姿态,以使得端执行器在最短时间内从最终工作点到达该最终工作点之后的教导地点。
因此,在端执行器在最终工作点处完成其工作之后,可以将端执行器从最终工作点快速收回,并由此可以在短时间内进行操作,该短时间包括在端执行器完成其工作之后的移动时间。
第四步骤可以包括以下步骤:第一子步骤,确定在第二步骤和第三步骤中分别确定的多关节型机器人的端执行器的姿态之间的差异;和第二子步骤,通过利用一距离比按比例地划分在第二步骤和第三步骤中分别确定的多关节型机器人的端执行器的姿态,来建立第二临时姿态,该距离比是各工作点距第一工作点的距离与从第一工作点到最终工作点的总路径距离之比。
另选地,第四步骤可以包括以下步骤:第一子步骤,确定在第二步骤和第三步骤中分别确定的多关节型机器人的端执行器的姿态之间的差异;第二子步骤,通过利用一距离比按比例地划分在第二步骤和第三步骤中分别确定的多关节型机器人的端执行器的姿态,来确定比例划分姿态,该距离比是各工作点距第一工作点的距离与从第一工作点到最终工作点的总路径距离之比;以及第三子步骤,将端执行器的处于比例划分姿态的姿态确定为第二临时姿态。
另选地,第四步骤还可以包括以下步骤:第一子步骤,在端执行器在第一工作点和最终工作点处的姿态变成分别在第一步骤和第二步骤中确定的姿态的情况下,在从第一工作点向最终工作点模拟地移动端执行器的同时,记录端执行器在各预定时间处的姿态;以及,第二子步骤,根据各工作点距第一工作点的距离与从第一工作点到最终工作点的总路径距离的距离比,选择在第一子步骤中记录的多个端执行器姿态中的与移动时间比相对应的姿态。
当在第一子步骤中模拟地移动端执行器时,可以以最短的时间将端执行器从第一工作点移动到最终工作点。
当在第一子步骤中模拟地移动端执行器时,可以将端执行器从第一工作点直线地移动到最终工作点。
通过如此在短时间内临时移动端执行器或直线地移动端执行器、记录数据并且确定第二临时姿态,可以使端执行器从第一工作点到最终工作点的移动变得平滑。
第五步骤可以利用表示第二临时姿态的多个参数替换表示第一临时姿态的多个参数中的至少一个参数。
第一步骤将第一临时姿态建立成:使得端执行器的工作部垂直面对工件,并且第五步骤可以对第一临时姿态进行校正,以保持该工作部垂直面对该工件。
根据本发明,还提供了一种生成用于多关节型机器人的教导数据的方法,以将用于多关节型机器人的与第一工件上的多个工作点相对应的第一教导数据转换成用于多关节型机器人的与第二工件上的多个工作点相对应的第二教导数据,其中,第一教导数据和第二教导数据包括表示多关节型机器人的端执行器在多个工作点处的姿态的工具坐标数据,该工具坐标数据包括多个参数,预先建立第二教导数据的工具坐标数据的多个参数中的一个参数,并且在多个工作点上执行将第一教导数据的工具坐标数据转换成第二教导数据的工具坐标数据的步骤,使得第一教导数据的工具坐标数据的多个参数中的一个参数与第二教导数据的所述一个已建立的参数相匹配。
通过如此将第一教导数据的多个工作点处的工具坐标数据转换成第二教导数据并复制第二教导数据,可以有效利用第一教导数据以高效地生成第二教导数据。
如果通过旋转将第一教导数据的工具坐标数据转换成第二教导数据的工具坐标数据,那么可以在第一教导数据的工具坐标数据的存储区中对所述工具坐标数据进行转换和重写,然后可以将它们转移到第二教导数据的存储区,或者可以在将第一教导数据的工具坐标数据转移到第二教导数据的存储区之后对它们进行转换。另选地,可以将第一教导数据的工具坐标数据转移到给定缓冲区,在该缓冲区中对它们进行转换,然后将它们转移到第二教导数据的存储区。
第一教导数据和第二教导数据可以包括针对多个工作点的进入方向数据,可以在该多个工作点中的每一个工作点处复制该进入方向数据。
第一教导数据和第二教导数据可以包括相对于至少一个接合点(joint)处的旋转角的旋转信息,可以在该多个工作点中的每一个工作点处复制该旋转信息。因此,防止了多关节型机器人的电缆被扭曲,并防止了对应轴在多个工作点之间过度旋转。
第二教导数据可以包括表示在所述多个工作点中的第一工作点之前的临时点的第一临时工作点数据和表示在所述多个工作点中的最终工作点之后的临时点的第二临时工作点数据,可以根据第一工作点处的工具坐标数据来建立第一临时工作点数据,并且可以根据最终工作点处的工具坐标数据来建立第二临时工作点数据。
附图说明
图1是根据本实施例的离线教导装置的总体配置以及多关节型机器人的图;
图2是示出端执行器和工具中心点(TCP)的工具坐标的立体图;
图3是根据本实施例的离线教导装置的电路图;
图4是教导数据生成电路的总体配置的框图;
图5是示出工作原点与多个工作点之间的关系的图;
图6是示出路径表内容的图;
图7是用于平滑地移动多关节型机器人以缩短其移动时间的教导数据生成方法的序列的流程图;
图8是示出端执行器相对于工件的第一临时姿态的图;
图9是示出端执行器相对于工件的第二临时姿态的图;
图10是示出在通过第二临时姿态校正第一临时姿态之后端执行器相对于工件的姿态的图;
图11是进入方向确定模板功能序列的流程图;
图12是返回方向确定模板功能序列的流程图;
图13是用于根据第一生成方法来确定端执行器的第二临时姿态的序列的流程图(1);
图14是用于根据第一生成方法来确定端执行器的第二临时姿态的序列的流程图(2);
图15是用于根据第二生成方法来确定端执行器的第二临时姿态的序列的流程图(1);
图16是用于根据第二生成方法来确定端执行器的第二临时姿态的序列的流程图(2);
图17是用于根据第三生成方法来确定端执行器的第二临时姿态的序列的流程图(1);
图18是用于根据第三生成方法来确定端执行器的第二临时姿态的序列的流程图(2);
图19是示出根据第三生成方法的临时移动路径与多个工作点之间的关系的图;
图20是示出基于表示多关节型机器人相对于现有工件的移动的第一教导数据的工作路径的侧视图;
图21是示出基于表示多关节型机器人相对于另一工件的移动的第二教导数据的工作路径的侧视图;
图22是示出第一教导数据内容的图;
图23是示出旋转信息与旋转角之间的关系的图;
图24是示出第二教导数据的内容的图;
图25是用于使用针对现有工件的教导数据来建立针对另一工件的教导数据的教导数据生成方法序列的流程图;
图26是示出复制焊接区数据并将其从第一教导数据转换成第二教导数据的方式的立体图;
图27是示出对具有差异的工作点数据进行插值的方式的侧视图;
图28是示出生成进入和完工区数据的方式的侧视图;
图29是示出基于表示多关节型机器人相对于其上安装有夹具(jig)的现有工件的移动的第一教导数据的工作路径的侧视图;以及
图30是示出基于表示多关节型机器人相对于其上安装有夹具的另一工件的移动的第二教导数据的工作路径的侧视图;
具体实施方式
图1示出了离线教导装置10的配置和多关节型机器人12,对该离线教导装置10应用了用于根据本实施例生成多关节型机器人的教导数据的方法,对该多关节型机器人12应用了由离线教导装置10生成的教导数据。
多关节型机器人12包括工业多关节型机器人,并具有:基座14;第一臂16、第二臂18以及第三臂20,被相继连接到作为基准的基座14;以及端执行器22,包括被安装在第三臂20的远端的焊枪。可以将端执行器22从第三臂20卸下。第一臂16可绕轴J1、J2有角度地移动,以相对于基座14进行水平和垂直角度的移动。第二臂18通过轴J3以可有角度移动的方式与第一臂16相联接。第二臂18可绕轴J4扭转。第三臂20通过轴J5以可有角度地移动的方式与第二臂18相联接。第三臂20可绕轴J6扭转。轴J4和轴J6中的每一个都允许360°或更大角度的扭转移动。
如图2所示,端执行器22包括C形焊枪,并包括轭22a,该轭22a具有被分别置于其两端上的一对可开闭电极(工作部)22b、22c。当闭合时,电极22b、22c保持在焊点(以下被称为TCP(工具中心点))处与工件W相接触。
将从TCP与电极22b、22c的轴相对准地取向的方向称为矢量Zr,将与矢量Zr相垂直并指向端执行器22的外部地取向的方向称为矢量Xr。将与矢量Zr和矢量Xr相垂直地取向的方向称为矢量Yr。
例如,如果在电极22b、22c垂直面对工件W时只改变矢量Zr的值,那么端执行器22的姿态改变成其中轭22a在垂直面对工件W的同时转动了的位置,如图2的双点划线所示。
由表示作为从给定原点0起的绝对坐标的正交坐标X、Y、Z的三个参数来表示TCP位置。
由相应致动器(未示出)致动用于致动轴J1到J6的机构和用于开闭电极22b、22c的机构。通过轴J1到J6的各旋转角θ1到θ6的值以及多关节型机器人12的各种零件的尺寸确定TCP。
多关节型机器人12根据设置在机器人控制器24中的教导数据来进行操作。将多关节型机器人12和机器人控制器24布置在位于用于制造车辆200、202的场所处的生产线上(见图20、21)。当多关节型机器人12进行操作时,连接到其末端的端执行器22可以移动到车辆200、202附近的希望位置处并可被设置于希望的取向上。换句话说,端执行器22能够按照6个自由度进行移动。除旋转机构以外,多关节型机器人12可以具有诸如延伸和收缩机构、平行连杆机构等的可移动机构。
离线教导装置10包括计算机。如图3所示,其控制器26包括:CPU28,用于对离线教导装置10进行整体控制;ROM30和RAM32,充当记录单元;硬盘36,通过硬盘驱动器34从其读取数据并向其写入数据;记录介质驱动器40,用于从诸如软盘、光盘等的外部记录介质38读取教导数据等并向外部记录介质38写入教导数据等;教导数据生成电路42,生成用于多关节型机器人12的教导数据;以及模拟电路44,用于根据所生成的教导数据来对多关节型机器人12的操作进行模拟。通过接口50连接到控制器26的有:显示器46,用于辅助生成教导数据并通过图形控制电路48显示模拟图像;和键盘52及鼠标54,作为输入装置。
在硬盘36中存储有:教导数据生成程序56,生成用于多关节型机器人12的教导数据;针对多关节型机器人12、待加工工件以及其他设备的位形数据58;以及机器人规格数据60,包括多关节型机器人12的轴的操作规格。
如图4所示,教导数据生成电路42具有:机器人移动计划单元42a,用于建立多关节型机器人12的移动计划;机器人姿态抽样记录单元42b,用于模拟地移动多关节型机器人12并记录在移动过程中的多关节型机器人12的姿态和端执行器22的姿态;以及,移动距离分布计算单元42c,用于确定多关节型机器人12要工作的工作点P1、P2、…、Pe(见图5)之间的距离分布比。教导数据生成电路42还具有:机器人移动时间计算单元42d,用于确定在多关节型机器人12沿给定路径移动时的移动时间;机器人姿态教导单元42e,用于向多关节型机器人12示教姿态;以及机器人教导数据记录单元42f,用于记录教导数据。
多关节型机器人12将在图5所示的工作点P1、P2、…、Pe上连续地工作。这些工作点P1、P2、…、Pe表示TCP的位置,并按直线或曲线图案连续地排列。在一端处的工作点P1是多关节型机器人12首先工作的地点,将其称为第一工作点。在另一端处的工作点Pe是多关节型机器人12最后工作的地点,将其称为最终工作点。在多关节型机器人12的工作过程之前和之后将其置于工作原点P0处。
根据路径表100(见图6)生成多关节型机器人12的教导数据,在该路径表100中记录有多关节型机器人12的姿态和端执行器22的姿态。路径表100是可重写表并将其记录在诸如RAM32等的记录单元中。
如图6所示,路径表100包括表示工具坐标数据的“TCP位置”栏、“端执行器取向”栏以及“各轴角度”栏。“TCP位置”栏包含被记录在其中的表示端执行器22的绝对坐标(即,X、Y、Z值)的数据。“端执行器取向”栏包含表示端执行器22的姿态的坐标矢量Xr、Yr、Zr。由以对应于X、Y、Z、Xr、Yr以及Zr的值的序列表示的6个参数来表示工具坐标数据。
“各轴角度”栏包括表示轴J1到J6的旋转角的旋转角θ1到θ6。
路径表100基本上具有与稍后要描述的第一教导数据150(见图22)和第二教导数据160(见图24)相同的结构。出于例示的目的,在路径表100中略去了第一教导数据150和第二教导数据160中的“进入方向”栏和“旋转”栏。
以下描述:一种通过使用离线教导装置10平滑地移动多关节型机器人12以缩短其总移动时间的教导数据生成方法,和一种通过使用离线教导装置10、利用针对现有工件的现有教导数据来生成针对另一工件的教导数据的教导数据生成方法(以下也被称为现有数据利用方法)。
基本上通过CPU28和教导数据生成电路42(见图3)来根据教导数据生成程序56执行这些方法。然而,可以直接由操作员部分地执行这些方法。
由模拟电路44等的功能虚拟地实现多关节型机器人12的移动,不需要实际移动多关节型机器人12。
在这些方法中,以下参照图7到14首先对用于平滑地移动多关节型机器人12以缩短其总移动时间的第一到第三生成方法中的第一生成方法进行描述。
如图7所示,根据用于生成多关节型机器人12的教导数据的第一方法,在步骤S1中从硬盘36读取教导数据生成程序56并将其载入到教导数据生成电路42中。然后,从硬盘36读取:针对多关节型机器人12、待加工工件、其他设备的位形数据58以及针对多关节型机器人12等的给定数据(即机器人规格数据60)。
然后,在步骤S2中,建立多关节型机器人12的机器人姿态,其是当将端执行器22置于工作原点P0处时所获得的初始姿态。考虑到附近的其他多关节型机器人12的布局建立该初始姿态。
然后,在步骤S3中,建立端执行器22在各工作点P1、P2、…、Pe处的位置及其工具姿态作为第一临时姿态。如果端执行器22是C形焊枪,那么通常地第一临时姿态被建立成,使得电极22b、22c垂直地面对工件W的表面。
具体来说,由包含路径表100中的“端执行器取向”栏中的数据的矢量Xr、Yr、Zr和包含“TCP位置”栏中的数据的坐标X、Y、Z表示被建立为第一临时姿态的端执行器22姿态。此时,路径表100中的“各轴角度”栏可以不包含数据。
然后,在步骤S4中,教导数据生成电路42执行进入方向确定模板功能。根据该进入方向确定模板功能,确定多关节型机器人12在第一工作点P1处的姿态,以使端执行器22在最短时间内从第一工作点P1之前的教导地点(即,工作原点P0)到达第一工作点P1。
然后,在步骤S5中,教导数据生成电路42执行返回方向确定模板功能。根据该返回方向确定模板功能,确定多关节型机器人12在最终工作点Pe处的姿态,以使端执行器22在最短时间内从最终工作点Pe到达最终工作点Pe之后的教导地点(即,工作原点P0)。
然后,在步骤S6中,教导数据生成电路42根据已通过进入方向确定模板功能和返回方向确定模板功能确定的多关节型机器人12的姿态,来建立端执行器22的针对除第一工作点P1和最终工作点Pe以外的其他工作点的第二临时姿态。建立该第二临时姿态作为用于将端执行器22从第一工作点P1平滑地移动到最终工作点Pe的姿态。
作为各子例程执行步骤S4、S5、S6的处理。稍后将描述这些子例程(参见图11、10、11)。
然后,在步骤S7中,通过第二临时姿态校正第一临时姿态,以建立端执行器22在各工作点处的姿态。
通常这样执行步骤S7的处理,即:使得在如第一临时姿态所表示的端执行器22的姿态如图8所示地垂直面对工件W并且如第二临时姿态所表示的端执行器22的姿态不垂直面对工件W并且如图9所示当从工件W观察时与第一临时姿态取向不同时,在步骤S7中可以校正第一临时姿态以保持端执行器22垂直面对工件W并使端执行器22在从工件W观察时按与第二临时姿态相同的方向取向。具体来说,当分别由Xra、Yra、Zra和Xrb、Yrb、Zrb表示与路径表100的“端执行器取向”栏中的Xr、Yr、Zr相对应的第一临时姿态和第二临时姿态数据时,可以将第一临时姿态的数据Zra替换为第二临时姿态的数据Zrb。更具体来说,由于将对应于Zrb的数据建立为待由稍后要描述的过程工作的各工作点的校正数据D[j],所以可以进行替换Zr←D[j]。
根据上述校正步骤,在端执行器22的电极22b、22c保持垂直于工件W的取向的同时,使端执行器22绕电极22b、22c旋转并使其按在从工件W观察时与第二临时姿态相同的方向取向。
以下参照图11对在步骤S4中执行的进入方向确定模板功能进行详细描述。
在步骤S101中,根据路径表100(图6)识别出第一工作点P1(其为第一工作点)中的工具坐标数据,并将其称为Loc1。
然后,在步骤S102中,选择在第一工作点P1之前的教导地点,并将所选择的教导地点中的工具坐标数据称为Loc2。在以下描述的示例中,将Loc2视为工作原点P0。
然后,在步骤S103中,将多关节型机器人12移动到由Loc2表示的位置。
然后,在步骤S104中,确认多关节型机器人12是否可以从Loc2移动到Loc1。如果可以移动,那么控制进行到步骤S105。如果不可以移动,那么控制跳到步骤S110。
然后,在步骤S105中,确定将多关节型机器人12从Loc2移动到Loc1所需的移动时间Tm。
然后,在步骤S106中,确认是否已更新缓冲时间Tb。该缓冲时间Tb是最初被设置为“0”的变量。如果Tb=0,那么尚未更新它,因此控制进行到步骤S108。如果Tb≠0,那么已更新它,因此控制进行到步骤S107。
在步骤S107中,对此时的缓冲时间Tb与移动时间Tm进行相互比较。如果Tb>Tm,那么控制进行到步骤S108。如果Tb≤Tm,那么控制跳到步骤S110。
在步骤S108中,通过将其替换为移动时间Tm来更新缓冲时间Tb。
在步骤S109中,记录此时的工具坐标数据Loc1和多关节型机器人12的姿态作为Pose1。由6个参数θ1到θ6(见图6)表示稍后要描述的Pose1和Pose3等。
如上所述,对缓冲时间Tb与移动时间Tm进行相互比较,如果移动时间Tm小于缓冲时间Tb,那么更新缓冲时间Tb以将它自己设置为最短移动时间。将此时的多关节型机器人12的姿态记录为Pose1。
然后,在步骤S110中,检索在从Loc2到Loc1的移动中可以实现的任何其他多关节型机器人12的姿态。如果存在任何其他姿态,那么将表示其他姿态的工具坐标数据设置为Loc1,然后控制返回到步骤S103。如果不存在任何其他姿态,那么控制进行到步骤S111。
在步骤S111中,针对在第一工作点P1处在保持电极22b垂直面对工件W的同时对端执行器22的旋转作出判断。如果已使端执行器22从给定姿态旋转360°,则控制进行到步骤S113。如果旋转角小于360°,则控制进行到步骤S112。
根据以上引用的专利文献3所公开的移动范围表,可以通过考虑与工件相干扰的区域来执行步骤S111的处理。
在步骤S112中,将在保持电极22b垂直面对工件W的同时按给定小角度旋转端执行器22时产生的工具坐标数据重置为Loc1,然后控制返回到步骤S103。具体来说,可以通过按给定量改变工具坐标数据Loc1的矢量Zr的数据来旋转端执行器22(见图2)。
在步骤S113中,将(在步骤S109中记录的)多关节型机器人12的工具坐标数据Loc1和姿态Pose1记录为第一工作点P1处的正式姿态。由6个参数x1、y1、z1、rx1、ry1、rz1表示此时正式确定的工具坐标数据Loc1。
当如此执行进入方向确定模板功能时,可以获得从工作原点P0到第一工作点P1的最短时间的进入路径以及在第一工作点P1处的多关节型机器人12的姿态和端执行器22的姿态。将通过进入方向确定模板功能获得的第一工作点P1处的端执行器22的姿态表示为图5中的矢量V1。
根据图12所示的序列执行在步骤S5中执行的返回方向确定模板功能。该返回方向确定模板功能表示用于确定多关节型机器人12在工作点Pe(其为最终工作点)处的姿态的过程,使得多关节型机器人12将在随后阶段中在最短时间内从工作点Pe到达教导地点。在随后的阶段中选择工作原点P0作为教导地点。返回方向确定模板功能是进入方向确定模板功能的逆,其中将第一工作点P1替换为最终工作点Pe。返回方向确定模板功能的其他基本处理细节与进入方向确定模板功能的其他细节相同。因此,以下不对返回方向确定模板功能的细节进行描述。根据返回方向确定模板功能,确定了多关节型机器人12在最终工作点Pe处的姿态Pose3和端执行器22的工具坐标数据Loc3(x3、y3、z3、rx3、ry3、rz3)。获得了在最短时间内从最终工作点Pe到工作原点P0的返回路径。将通过返回方向确定模板功能获得的最终工作点Pe处的端执行器22的姿态表示为图5中的矢量Ve。
为了执行进入方向确定模板功能和返回方向确定模板功能,可以使用日本特开2002-239955号公报和日本特开2002-239957号公报所公开的技术。
以下参照图13和14对在步骤S6中建立端执行器22的第二临时姿态的过程进行描述。
在步骤S301中,将路径表100载入到给定记录单元。
然后,在步骤S302中,载入多关节型机器人12的工具坐标数据Loc1(x1、y1、z1、rx1、ry1、rz1)和姿态Pose1,它们是在步骤S4中执行的进入方向确定模板功能的处理结果。
然后,在步骤S303中,载入多关节型机器人12的工具坐标数据Loc3(x3、y3、z3、rx3、ry3、rz3)和姿态Pose3,它们是在步骤S5中执行的返回方向确定模板功能的处理结果。
然后,在步骤S304中,根据路径表100获得工作点P1、P2、…、Pe的工具坐标数据。以变量n来记录工作点P1、P2、…、Pe的除第一工作点P1和最终工作点Pe以外的待处理工作点数量,并使用给定计数j将待处理工作点处的工具坐标数据连续地记录为loc_list[j]。将获得的loc_list[j]表示为6个参数x[j]、y[j]、z[j]、rx[j]、ry[j]、rz[j]。在这些参数中,x[j]、y[j]、z[j]表示TCP的绝对坐标,rx[j]、ry[j]、rz[j]表示端执行器22的取向。
然后,在步骤S305中,将工作点P1至Pe之间的间距表示成dd_dist[j](j=1、2、…、(n+1)),并确定由(n+1)个dd_dist[j]的和表示的总路径距离dist。按此方式,即使工作点P1到Pe按曲线图案排列时,也可以正确地确定在多个工作点之间沿多个间距的总路径距离dist。
然后,在步骤S306中,确定在端执行器22从Loc1移动到Loc3时工具坐标数据的变化LocΔ=(dx、dy、dz、drx、dry、drz)。将变化LocΔ确定为LocΔ←Loc3-Loc1。
随后,在步骤S307到S310中,在使计数j从i递增到n的同时针对待处理工作点loc_list[j]来确定第二临时姿态。
在步骤S307中,将loc_list[j]与Loc1之间的距离d_dist[j]确定为d_dist[j]←dd_dist[1]+dd_dist[2]+…+dd_dist[j](见图5)。
然后,在步骤S308中,将距离d_dist[j]与总路径距离dist的距离比rat_dist[j]确定为d_dist[j]/dist。即使工作点P1到Pe按曲线图案排列,距离比rat_dist[j]也可以准确地表示曲线的长度之比。
然后,在步骤S309中,通过利用rat_dist[j]按比例地划分Loc1、Loc3,来确定端执行器22的第二临时姿态。由表示工具坐标数据的6个参数ddx[j]、ddy[j]、ddz[j]、ddrx[j]、ddry[j]、ddrz[j]表示第二临时姿态,如下确定这些参数:
ddx[j]←x1+dx×rat_dist[j]
ddy[j]←y1+dy×rat_dist[j]
ddz[j]←z1+dz×rat_di st[j]
ddrx[j]←rx1+drx×rat_dist[j]
ddry[j]←ry1+dry×rat_dist[j]
ddrz[j]←rz1+drz×rat_dist[j]
将由这6个参数表示的第二临时姿态表示成图5中的矢量Va1、Va2、…Va(n)。将这些矢量Va1、Va2、…Va(n)建立成使得它们根据距离比rat_dist[j]从矢量V1到矢量Ve逐渐变化。
然后,在步骤S310中,选择ddrz[j]并将其替换成用于校正第一临时姿态的校正数据D[j]。
将这些参数ddx[j]、ddy[j]、ddz[j]、ddrx[j]以及ddry[j]记录为基准数据。
然后,在步骤S311中,确认是否已为所有待处理工作点建立了校正数据D[j]。如果存在尚未处理的工作点,则使计数j递增[+1],此后控制返回到步骤S307以继续进行处理。如果已处理了所有待处理工作点,则完成了图13和14所示的子例程,控制返回到步骤S7(见图7)。
如上所述,在步骤S7中,将第一临时姿态的矢量Zr值替换成校正数据D[j],以确定端执行器22在所有待处理工作点处的工具坐标数据,并将确定的工具坐标数据记录在路径表100的对应栏中(见图6)。根据该工具坐标数据,利用行列式,通过逆变换过程来确定多关节型机器人12的姿态,即,θ1到θ6。将确定的数据记录在路径表100的“各轴角度”栏中。
按此方式,生成了多关节型机器人12的教导数据。在将教导数据记录在硬盘36中之后,通过模拟电路44对操作进行确认,并通过记录介质驱动器40将其记录在外部记录介质38中。将记录在外部记录介质38中的教导数据下载到机器人控制器24中,以用于控制多关节型机器人12。
如上所述,根据生成用于多关节型机器人12的教导数据的第一方法,根据距离比rat_dist[j]生成端执行器22在第一工作点P1与最终工作点Pe之间的各待处理工作点处的工具坐标数据。因此,端执行器22的姿态从工作点P1到工作点Pe逐渐变化,使得可以使端执行器22在短时间内在工作点P1与工作点Pe之间平滑地移动。
将表示端执行器22在第一工作点P1处的姿态的工具坐标数据Loc1建立成表示用于通过进入方向确定模板功能在最短时段内从前一工作点(即,工作原点P0)移动端执行器22的姿态。因此,当端执行器22开始进行操作时,端执行器22可以快速移动到第一工作点P1。端执行器22可以由此在短时间内进行操作,该短时间包括在端执行器22开始进行操作之前的移动时间。
此外,将表示端执行器22在最终工作点Pe处的姿态的工具坐标数据Loc3建立成表示用于通过返回方向确定模板功能在最短时段内将端执行器22移动到后一工作点(即,工作原点P0)的姿态。因此,在端执行器22在最终工作点Pe处完成其工作之后,可以从最终工作点Pe快速收回端执行器22,端执行器22可以由此在短时间内进行操作,该短时间包括在端执行器22完成其工作之后的移动时间。
以下对平滑地移动多关节型机器人12以缩短其操作时间的第二生成方法进行描述。根据第二生成方法(以及稍后要描述的第三生成方法),主例程、进入方向确定模板功能以及返回方向确定模板功能与根据第一方法的图7、11以及12所示的那些主例程和功能相同,但是第二生成方法的不同之处在于在图7的步骤S6中的建立端执行器22的第二临时姿态的处理。以下参照图15和16对步骤S6的子例程进行描述。
图15所示的步骤S401到S405与上述步骤S301到S305相同。
在步骤S405之后,在步骤S406中确定在端执行器22从Loc1移动到Loc3时多关节型机器人12的姿态变化PoseΔ。由于将多关节型机器人12的姿态表示成由θ1到θ6(它们是轴J1到J6的旋转角)表示的Pose1、Pose3,所以将姿态变化PoseΔ确定为PoseΔ←Pose3-Pose1。
步骤S407、S408与上述步骤S307、S308相同。在步骤S407、S408中确定距离比rat_dist[j]。
然后,在步骤S409中,通过利用rat_dist[j]按比例地划分Pose1、Pose3来确定多关节型机器人12的比例划分姿态ddPose。将姿态ddPose确定为ddPose←Pose1+rat_dist×d_pose。
将比例划分姿态ddPose建立成使得它根据待处理工作点的距离比rat_dist[j]从Pose1到Pose3逐渐变化。将由比例划分姿态ddPose表示的多关节型机器人12的姿态所确定的端执行器22的取向也建立成使得它根据距离比rat_dist[j]逐渐变化。
然后,在步骤S410中,确定在多关节型机器人12具有比例划分姿态ddPose时端执行器22的工具坐标数据xj、yj、zj、rxj、ryj、rzj。通过对轴J1到J6的旋转角连续地进行积分以及表示各臂长度的行列式来确定这6个参数。这6个参数是端执行器22的第二临时姿态的表示。
然后,在步骤S411中,选择rzj并将其替换成用于校正第一临时姿态的校正数据D[j]。
然后,在步骤S412中,确认是否已为所有待处理工作点建立了第二临时属性。如果存在尚未处理的工作点,则使计数j递增[+1],此后控制返回到步骤S407以继续进行处理。如果已处理完所有待处理工作点,则完成了图15和16所示的子例程,控制返回到步骤S7(见图7)。
如上所述,根据生成用于的多关节型机器人12的教导数据的第二方法,根据多关节型机器人12在各待处理工作点处的比例划分姿态ddPose来生成端执行器22的工具坐标数据。通过进入方向确定模板功能和返回方向确定模板功能,由于将在第一工作点P1和最终工作点Pe处的多关节型机器人12的姿态建立成使得多关节型机器人12可以在短时间内进入和返回,因此第二生成方法提供了与上述第一方法相同的优点。
以下对平滑地移动多关节型机器人12以缩短其操作时间的第三生成方法进行描述。根据第三生成方法,主例程、进入方向确定模板功能以及返回方向确定模板功能与根据第一方法的那些主例程和功能相同。以下将参照图17到19对与图7所示的步骤S6相对应的处理(即,建立端执行器22的第二临时姿态的处理)进行描述。
图17所示的步骤S501到S505与上述步骤S301到S305相同。
在步骤S505之后,在步骤S506中,将多关节型机器人12的姿态设置为Pose1,并且在将端执行器22移动到第一工作点P1之后,将端执行器22临时移动到与最终工作点Pe相对应的Pose3。
根据该临时移动,通过模拟电路44模拟地移动机器人控制器24的功能,并且可以将其从第一工作点P1平滑地移动到最终工作点Pe。在端执行器22在第一工作点P1和最终工作点Pe处的姿态变成通过进入方向确定模板功能和返回方向确定模板功能所确定的姿态的情况下,可以进行临时移动,并且过渡路径(interim path)不一定需要经过与图19所示的临时路径102类似的工作点P2、P3等。
可以选择移动方法。可以选择移动以使得移动时间最短,或者可以选择移动以使得端执行器22的轨迹是直的。
在临时移动中,在每个给定短时间记录端执行器22的移动方向的变化、其移动距离以及端执行器22的工具坐标数据。还记录临时移动所需的总移动时间d_time。
步骤S507、S508与上述步骤S307、S308相同。在步骤S507、S508中确定距离比rat_dist[j]。
然后,在步骤S509中,将通过利用距离比rat_dist[j]按比例地划分总移动时间d_time而产生的值(即,比例划分时间dd_time[j])确定为dd_time[j]←d_time×rat_dist[j]。
然后,在步骤S510中,根据在步骤S506中记录的端执行器22的数据来提取与该比例划分时间dd_time[j]相对应的时间数据。此外,根据所提取的数据来提取端执行器22的工具坐标数据(xj、yj、zj、rxj、ryj、rzj)作为端执行器22的第二临时姿态。
将第二临时姿态概念地表示成图19所示的矢量Va1、Va2、Va3、Va4、…。
然后,在步骤S511中,选择rzj并将其替换成用于校正第一临时姿态的校正数据D[j]。
然后,在步骤S512中,确认是否已为所有待处理工作点建立了校正数据D[j]。如果存在尚未处理的工作点,则使计数j递增[+1],此后控制返回到步骤S507以继续进行处理。如果已处理了所有待处理工作点,则完成了图17和18所示的子例程,控制返回到步骤S7(见图7)。
根据生成用于多关节型机器人12的教导数据的第三生成方法,从原理上说,如图19所示,在端执行器22沿临时路径102临时移动之后,通过将工作点P1到Pe之间的距离比应用于沿临时路径102的总移动时间d_time来确定比例划分时间dd_time[j],并提取对应点处的端执行器22的取向作为矢量Va1、Va2、Va3、…。当这些矢量Va1、Va2、Va3、…移动到相对应的待处理工作点时,校正表示第一临时姿态的矢量Vb1、Vb2、Vb3、Vb4、…。
如上所述,根据生成用于多关节型机器人12的教导数据的第三生成方法,在第一工作点P1与最终工作点Pe之间模拟地移动端执行器22,并根据在临时移动过程中记录的端执行器22的姿态来建立在各待处理工作点处的端执行器22的工具坐标数据。当端执行器22模拟地光滑移动并且/或者在短时间内移动时,使得端执行器22在工作点P1到Pe之间的姿态变化是平滑的,因此可以在工作点P1到Pe之间并在短时间内平滑地移动端执行器22。在端执行器22在最终工作点Pe处完成其工作之后,可以从最终工作点Pe快速收回端执行器22,总的来说,端执行器22可以由此在短时间内进行操作,该短时间包括在端执行器22完成其工作之后的移动时间。
根据第三生成方法,通过利用距离比rat_dist[j]按比例地划分经过临时路径102的总移动时间d_time,来确定比例划分时间dd_time[j]以进行处理。然而,可以根据通过利用距离比rat_dist[j]按比例地划分临时路径102的总距离(而非比例划分时间dd_time[j])而产生的点,来执行该处理。
尽管根据工作点P1到Pe的位置确定了距离比rat_dist[j],但是如果工作点P1、P2、…、Pe等距地相隔开来,则可以略去对距离比rat_dist[j]的计算并可以使用等划分距离。
以下对利用针对作为现有工件的车辆200的第一教导数据150以建立针对作为另一工件的车辆202的第二教导数据160的现有数据利用方法进行描述。首先,以下对被应用了现有数据利用方法的多关节型机器人12的总体操作以及用于多关节型机器人12的教导数据进行描述。
待由多关节型机器人12焊接的工件是图20所示的轿车型车辆(第一工件)200和图21所示的货车型车辆(第二工件)202。利用工作原点P0作为起点和终点,在7个工作点P1到P7处连续地焊接轿车型车辆200。在到达第一工作点P1之前,端执行器22经过表示使得端执行器22能够容易地到达工作点P1的姿态的临时工作点T01。在最终工作点P7之后,端执行器22经过表示使得能够容易地移开端执行器22的姿态的临时工作点T02。端执行器22还经过使得端执行器22能够从临时工作点T02容易地返回到工作原点P0的临时工作点T03。
尽管未示出,但是所述多个工作点之间布置有端执行器22进入上述工作点并从上述工作点移开所要经过的工作点。
如图22所示,表示针对轿车型车辆200的多关节型机器人12的移动的第一教导数据150包括“端执行器取向”栏、“TCP位置”栏、“进入方向”栏以及“各轴角度”栏。“端执行器取向”栏表示指示端执行器22的姿态的坐标(即工具坐标数据)并包含记录在其中的矢量Xr、Yr、Zr,。“TCP位置”栏包含所记录的表示端执行器22的绝对坐标的数据。“进入方向”栏包含所记录的表示端执行器22进入并从工作点移开所沿的方向的矢量数据。如图20所示,在原理上将第一教导数据150表示成包括7个工作点P1到P7的路径。
将与轴J4相对应的旋转角θ4与表示旋转的“旋转”栏相关联。类似地,将与轴J6对应的旋转角θ6与表示旋转的“旋转”栏相关联。“旋转”栏包含“-1”、“0”以及“1”的标记数据(旋转信息)中的任何一个。如图23所示,为从基准角Ang0开始的360°设置标记数据“0”,表示第一旋转,为从基准角Ang0开始的-360°设置标记数据“-1”,表示第0旋转。可以改变基准角Ang0。如果轴J4、J6的可移动范围大于图23所示的那些范围,那么可以增加标记。
例如,当与轴J4相对应的旋转角θ4是表示240°表观角的Ang1时,如果“旋转”栏中的数据表示“0”,那么它表示第一旋转上的240°表观角,如果“旋转”栏中的数据表示“1”,那么它表示第二旋转上的240°表观角。
通过读取“旋转”栏中的标记数据,可以识别出该轴沿顺时针和逆时针方向中的哪一个方向进行旋转。具体来说,当将该轴从第二旋转上的表观角0°顺时针地旋转到240°的姿态时,将“1”置于“旋转”栏中。当将该轴逆时针地旋转120°时,其获得第一旋转上的240°表观角的姿态,并且将“0”置于“旋转”栏中。由此可以识别出该轴沿哪个方向进行了旋转。如果不对“旋转”栏中的数据进行考虑,那么连接到多关节型机器人12的各种电缆会根据轴所旋转的方向而被不适当地扭曲。
为达到表观角240°,可以将轴沿逆时针旋转120°或沿顺时针旋转240°。如果电缆由于逆时针旋转而被扭曲,那么需要将该轴沿顺时针旋转更大的角度,同时使电缆解开扭曲。根据“旋转”栏中的数据,可以在适当地去除电缆的扭曲的同时操作多关节型机器人12,不能仅仅根据轴的旋转角的大小来判断这种扭曲。
第一教导数据150包含用于防止电缆被扭曲的数据,也包含用于防止轴J4、J6在多个工作点之间过度旋转的数据。第一教导数据150是现有数据并且是被实际应用于轿车型车辆200而经时间验证了的数据。
多关节型机器人12还进行操作以焊接货车型车辆202(见图21)。为了针对车辆202生成第二教导数据160(见图24),假设已存在第一教导数据150。优选地,使用第一教导数据150来生成第二教导数据160。然而,由于车辆202的门框形状与车辆200的门框形状不同,所以不能将第一教导数据150直接用作第二教导数据160。如图28所示,在原理上将第二教导数据160表示成包括9个工作点Q1到Q9的路径。
要由多关节型机器人12对车辆202进行的工作内容(即,由第二教导数据160表示的工作内容)如下:通过将工作原点P0用作起点和终点,在9个工作点Q1到Q9处对货车型车辆202连续地进行焊接。在到达第一工作点Q1之前,端执行器22经过表示使得端执行器22能够容易地到达工作点Q1的姿态的临时工作点T11。在最终工作点Q9之后,端执行器22经过表示使得能够将端执行器22容易地移开的姿态的临时工作点T12。尽管未示出,但是在该多个工作点之间布置有端执行器22进入上述工作点并从上述工作点移开所要经过的工作点。这9个工作点Q1到Q9与上述工作点P1到P7的位置和数量不同。然而,通常将它们当作门框的工作点并通常以向上连续的方式对它们进行焊接。
在第二教导数据160的“TCP位置”栏中的与9个工作点Q1到Q9相对应的数据和“端执行器取向”栏中的与9个工作点Q1到Q9相对应的数据中,在对车辆202的设计阶段中预设矢量Zr的数据。因此,在第二教导数据160中,可以建立表示“端执行器取向”栏中的矢量Xr和矢量Yr的数据、“进入方向”栏中的数据以及“各轴角度”栏中的数据。
第一教导数据150和第二教导数据160具有与路径表100(见图6)基本相同的结构。路径表100的“TCP位置”栏表示3个正交轴的坐标值。然而,在示出第一教导数据150的图22和示出第二教导数据的图24中,将“TCP位置”栏中的数据简单地示为A0、A2、…。在用于平滑地移动多关节型机器人12以缩短其移动时间的第一到第三生成方法中的工作点P0到P7与在现有数据利用方法中的工作点P0到P7可以不是相同的数据。
以下参照图25所示的流程图对现有数据利用方法的详细过程进行描述。
在生成第二教导数据160之前,从硬盘36读取教导数据生成程序56并将其载入到教导数据生成电路42中。然后,从硬盘36读取以下数据:针对多关节型机器人12、待加工工件以及其他设备的位形数据58;表示多关节型机器人12的各轴的最大速度、最大加速度、可移动范围等的机器人规格数据60。图形控制电路48根据位形数据58在显示器46上显示多关节型机器人12、待焊接工件以及包括夹具的设备的图像。
在以上准备过程之后,教导数据生成电路42读取第一教导数据150,并在步骤S601中将第一教导数据150划分成进入区数据、焊接区数据以及完成区数据。
进入区数据是表示从工作原点P0到第一工作点P1的路径的数据。焊接区数据是表示从第一工作点P1到最终工作点P7的路径的数据。完成区数据是表示从最终工作点P7到工作原点P0的路径的数据。因此,在图22所示的示例中,由序号1到序号2表示进入区数据,由序号2到序号8表示焊接区数据,由序号8到序号10表示完成区数据。
然后,在步骤S602中,将第一教导数据150的焊接区中的“端执行器取向”栏中的数据复制并通过旋转转换到第二教导数据160的“端执行器取向”栏。
具体来说,为了将第一工作点P1的数据复制到工作点Q1(见图26),将第一教导数据150的矢量XP1、YP1、ZP1平行移动到表示工作点Q1位置的B1,然后通过旋转对矢量ZP1进行转换以与预设矢量ZQ1相匹配。同样通过旋转将矢量XP1、YP1转换成相应矢量XQ1、YQ1。还通过旋转将表示进入方向的矢量C1转换成矢量D1。类似地,将工作点P2到P7的数据复制并通过旋转转换成工作点Q2到Q7。
然后,在步骤S603中,复制第一教导数据150的焊接区中的“旋转”栏中的数据。按此方式,当根据第二教导数据160操作多关节型机器人12时,防止了多关节型机器人12的电缆被扭曲,并防止了轴J4、J6在多个工作点之间过度旋转。
然后,在步骤S604中,利用基于“端执行器取向”栏和“TCP位置栏中的数据的行列式,通过逆变换处理来计算多关节型机器人12的轴J1到J6的角度。根据该处理,可以确定多关节型机器人12的多个姿态。
然后,在步骤S605中,选择所确定的多关节型机器人12的多个姿态中的与“旋转”栏中的数据相匹配的一个姿态。由于针对工作点Q1确定了与角θ1到θ6相对应的角θQ11、θQ21、θQ31、θQ41、θQ51以及θQ61,所以将它们记录在“各轴角度”栏中的角θ1到θ6的相应栏中。
按此方式,根据第一教导数据150来确定第二教导数据160的焊接区中的数据。
然后,在步骤S606中,对第一教导数据150的工作点的数量Pn与第二教导数据160的工作点的数量Qn进行相互比较。如图22和24所示的示例那样,如果第二教导数据160的工作点Q1到Q9的数量Qn(9)比第一教导数据150的工作点P1到P7的数量Pn(7)要大,则控制进行到步骤S607。如果数量Pn等于或小于数量Qn,则控制进行到步骤S608。
在步骤S607中,即,如果第二教导数据的工作点数量Qn大于第一教导数据150的工作点数量Pn,则根据给定处理对与该差异相对应的工作点的数据进行插值(见图27)。可以根据在日本特开2003-117864号公报中所公开的方法来执行该过程。
然后,在步骤S608中,根据最终工作点(例如,工作点Q9)(见图28)的工具坐标数据来生成完成区中的数据。完成区数据应当使得端执行器22能够在焊接过程在最终工作点处完成之后在短移动时间内容易地移开。另选地,可以将第一教导数据150的完成区中的一部分数据直接用作第二教导数据160的完成区中的数据。例如,将第一教导数据150的第10个数据T03(见图22)用作第二教导数据160的第12个数据T03(见图24)。
然后,在步骤S609中,根据第一工作点P1处的工具坐标数据来生成进入区中的数据(即,临时工作点T11)(见图28)。该进入区中的数据应当使得端执行器22能够在短移动时间内容易地进入第一工作点P1。另选地,可以将第一教导数据150的进入区中的一部分数据直接用作第二教导数据160的进入区中的数据。
通过如此生成第二教导数据160,可以有效利用车辆200的第一教导数据150,以即使在作为新工件的车辆202具有与作为现有工件的车辆200不同形状的情况下也可以高效地生成第二教导数据160。
由于第二教导数据160直接使用第一教导数据的“旋转”栏中的数据,因此当多关节型机器人12根据第二教导数据160来焊接车辆202时,防止了连接到多关节型机器人12的电缆被扭曲,并防止了轴J4、J6在多个工作点的相邻工作点之间被过度旋转。
根据第一教导数据150的工作点P1到P7处的“进入方向”栏中的数据C1到C7,可以容易地建立“进入方向”栏中的数据D1到D7,这些数据D1到D7表示多关节型机器人12进入工作点Q1到Q7以及从工作点Q1到Q7移开所沿的方向。
对所生成的第二教导数据160进行确认,以由模拟电路44进行操作,并通过记录介质驱动器40将其记录在外部记录介质38中。然后,将记录在外部记录介质38中的教导数据下载到机器人控制器24中,以用于控制多关节型机器人12。
以上已针对第二教导数据160(作为用于车辆202的门框的数据)的生成描述了现有数据利用方法。然而,实际上,如图29和30所示,可以将夹具170安装在车辆200、202上,这需要更复杂的教导。在此情况下,可以将应用于车辆200的夹具可相容的第一教导数据180用作应用于车辆202的夹具可相容的第二教导数据190。具体来说,对于夹具可相容的第一教导数据180,可以将车辆200的稍微倾斜的交叉区172中的教导数据应用于车辆202的大致相似区174中的夹具可相容的第二教导数据190的教导数据。此外,可以将车辆200的垂直移动区176中的教导数据应用于大致相似区178中的教导数据。
如果通过旋转将第一教导数据150、180的工具坐标数据转换成第二教导数据160、190的工具坐标数据,则可以以任一方式使用诸如RAM32等的存储单元。具体来说,通过旋转可以在第一教导数据150、180的存储区中对第一教导数据150、180的工具坐标数据进行转换并进行重写,然后可以将它们转移到第二教导数据160、190的存储区。相反地,可以在将第一教导数据150、180的工具坐标数据转移到第二教导数据160、190的存储区之后通过旋转对它们进行转换。另选地,可以将第一教导数据150、180的工具坐标数据复制到给定缓冲区,在该缓冲区中通过旋转对它们进行转换,然后将它们转移到第二教导数据160、190的存储区。

Claims (14)

1、一种生成用于多关节型机器人(12)的教导数据的方法,该多关节型机器人(12)具有端执行器(22),该多关节型机器人(12)用于利用所述端执行器(22)在多个连续的工作点上连续地工作,该方法包括以下步骤:
第一步骤,针对所述多个工作点建立所述端执行器(22)的第一临时姿态;
第二步骤,确定所述多关节型机器人(12)在所述多个工作点的一端的第一工作点(P1)处的姿态;
第三步骤,确定所述多关节型机器人(12)在所述多个工作点的另一端的最终工作点(Pe)处的姿态;
第四步骤,针对其他工作点建立所述端执行器(22)的第二临时姿态,使得在所述第二步骤中确定的所述多关节型机器人(12)的端执行器(22)的姿态逐渐变化成在所述第三步骤中确定的所述多关节型机器人(12)的端执行器(22)的姿态;以及
第五步骤,利用所述第二临时姿态来校正所述第一临时姿态,以建立所述端执行器(22)在各工作点处的姿态。
2、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第二步骤确定所述多关节型机器人(12)在所述第一工作点(P1)处的姿态,以使得端执行器在最短时间内从所述第一工作点(P1)之前的教导地点到达所述第一工作点(P1)。
3、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第三步骤确定所述多关节型机器人(12)在所述最终工作点(Pe)处的姿态,以使得所述端执行器在最短时间内从所述最终工作点(Pe)到达所述最终工作点(Pe)之后的教导地点。
4、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第四步骤包括以下步骤:
第一子步骤,确定在所述第二步骤和第三步骤中分别确定的所述多关节型机器人(12)的端执行器(22)的姿态之间的差异(LocΔ);和
第二子步骤,通过利用一距离比(rat_dist)按比例地划分在所述第二步骤和第三步骤中分别确定的所述多关节型机器人(12)的端执行器(22)的姿态,来建立第二临时姿态,所述距离比(rat_dist)是各工作点距所述第一工作点(P1)的距离与从所述第一工作点(P1)到所述最终工作点(Pe)的总路径距离(dist)之比。
5、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第四步骤包括以下步骤:
第一子步骤,确定在所述第二步骤和所述第三步骤中分别确定的所述多关节型机器人(12)的端执行器姿态之间的差异(PoseΔ);
第二子步骤,通过利用一距离比(rat_dist)按比例地划分在所述第二步骤和所述第三步骤中分别确定的所述多关节型机器人(12)的端执行器的姿态,来确定比例划分姿态,所述距离比(rat_dist)是各工作点距所述第一工作点(P1)的距离与从第一工作点(P1)到所述最终工作点(Pe)的总路径距离(dist)之比;以及
第三子步骤,将所述端执行器(22)的处于所述比例划分姿态的姿态确定为所述第二临时姿态。
6、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第四步骤包括以下步骤:
第一子步骤,在所述端执行器(22)在所述第一工作点(P1)和所述最终工作点(Pe)处的姿态变成分别在所述第一步骤和所述第二步骤中确定的姿态的情况下,在从所述第一工作点(P1)到所述最终工作点(Pe)模拟地移动所述端执行器(22)的同时,记录所述端执行器(22)在各预定时间处的姿态;和
第二子步骤,根据各工作点距所述第一工作点(P1)的距离与所述第一工作点(P1)到所述最终工作点(Pe)的总路径距离(dist)的距离比(rat_dist),来选择在所述第一子步骤中记录的所述端执行器(22)的多个姿态中的与移动时间比(dd_time)相对应的姿态。
7、根据权利要求6所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
当在所述第一子步骤中模拟地移动所述端执行器(22)时,以最短时间(d_time)将所述端执行器(22)从所述第一工作点(P1)移动到所述最终工作点(Pe)。
8、根据权利要求6所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
当在所述第一子步骤中模拟地移动所述端执行器(22)时,将所述端执行器(22)从所述第一工作点(P1)直线地移动到所述最终工作点(Pe)。
9、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第五步骤利用表示所述第二临时姿态的多个参数来替换表示所述第一临时姿态的多个参数中的至少一个参数。
10、根据权利要求1所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第一步骤将所述第一临时姿态建立成,使得所述端执行器(22)的工作部(22b、22c)垂直地面对工件;并且
所述第五步骤对所述第一临时姿态进行校正,以保持所述工作部(22b、22c)垂直地面对该工件。
11、一种生成用于多关节型机器人(12)的教导数据的方法,其将用于所述多关节型机器人(12)的与第一工件上的多个工作点相对应的第一教导数据(150)转换成用于所述多关节型机器人(12)的与第二工件上的多个工作点相对应的第二教导数据(160),其中,
所述第一教导数据(150)和所述第二教导数据(160)包括表示所述多关节型机器人(22)的端执行器(22)在所述多个工作点处的姿态的工具坐标数据,所述工具坐标数据包括多个参数;并且
预先建立所述第二教导数据(160)的工具坐标数据的多个参数中的一个参数,并在所述多个工作点上执行将所述第一教导数据(150)的工具坐标数据转换成所述第二教导数据(160)的工具坐标数据的步骤,使得所述第一教导数据(150)的工具坐标数据的多个参数中的一个参数与所述第二教导数据(160)的一个已建立的参数相匹配。
12、根据权利要求11所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第一教导数据(150)和所述第二教导数据(160)包括针对所述多个工作点的进入方向数据,所述进入方向数据在所述多个工作点中的每一个工作点处被复制。
13、根据权利要求11所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第一教导数据(150)和所述第二教导数据(160)包括所述多个工作点中的每一个工作点处的相对于至少一个接合点处的旋转角的旋转信息,所述旋转信息在所述多个工作点中的每一个工作点处被复制。
14、根据权利要求11所述的生成用于多关节型机器人(12)的教导数据的方法,其中,
所述第二教导数据(160)包括表示在所述多个工作点的第一工作点(Q1)之前的临时点(T01)的第一临时工作点数据和表示在所述多个工作点的最终工作点(Q9)之后的临时点(T02)的第二临时工作点数据,所述第一临时工作点数据是根据所述第一工作点(Q1)处的工具坐标数据而建立的,所述第二临时工作点数据是根据所述最终工作点(Q9)处的工具坐标数据而建立的。
CNB2004800153995A 2003-06-02 2004-06-02 用于多关节型机器人的教导数据准备方法 Active CN100404211C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP156239/2003 2003-06-02
JP2003156239A JP4000306B2 (ja) 2003-06-02 2003-06-02 多関節ロボットのティーチングデータ作成方法
JP158254/2003 2003-06-03

Publications (2)

Publication Number Publication Date
CN1798637A true CN1798637A (zh) 2006-07-05
CN100404211C CN100404211C (zh) 2008-07-23

Family

ID=34050383

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800153995A Active CN100404211C (zh) 2003-06-02 2004-06-02 用于多关节型机器人的教导数据准备方法

Country Status (2)

Country Link
JP (1) JP4000306B2 (zh)
CN (1) CN100404211C (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004485A (zh) * 2009-08-27 2011-04-06 本田技研工业株式会社 机器人离线示教方法
CN103514148A (zh) * 2012-06-27 2014-01-15 株式会社神户制钢所 示教数据编辑系统以及程序
CN103862472A (zh) * 2012-12-18 2014-06-18 株式会社安川电机 示教数据生成装置、机器人系统以及示教数据生成方法
CN104742127A (zh) * 2015-04-08 2015-07-01 深圳市山龙科技有限公司 一种机器人的控制方法及机器人
CN106232304A (zh) * 2014-05-01 2016-12-14 本田技研工业株式会社 用于关节型机器人的教学数据准备装置和教学数据准备方法
CN107030695A (zh) * 2017-04-19 2017-08-11 广州视源电子科技股份有限公司 机器人返回原点运动控制方法和系统

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3971773B2 (ja) 2005-10-12 2007-09-05 ファナック株式会社 ロボットのオフライン教示装置
JP5080369B2 (ja) * 2008-06-09 2012-11-21 ファナック株式会社 ロボットオフラインプログラミング装置
JP5078770B2 (ja) * 2008-06-23 2012-11-21 本田技研工業株式会社 多関節ロボットのティーチングデータ検証方法
JP5606816B2 (ja) * 2010-07-22 2014-10-15 Scsk株式会社 溶接ロボットのティーチング装置およびティーチング方法
JP6439375B2 (ja) * 2014-10-23 2018-12-19 セイコーエプソン株式会社 ロボット及び制御装置
JP6743723B2 (ja) * 2017-02-16 2020-08-19 トヨタ自動車株式会社 ロボットの教示データ補正方法
EP3593960A4 (en) 2017-03-06 2020-01-22 Fuji Corporation DATA STRUCTURE FOR GENERATING IMAGE PROCESSING DATA AND METHOD FOR GENERATING IMAGE PROCESSING DATA

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1063322A (ja) * 1996-08-27 1998-03-06 Sekisui Chem Co Ltd 産業用ロボットのプログラム作成装置
JP3951079B2 (ja) * 1998-09-14 2007-08-01 株式会社安川電機 オフラインティーチング方法、オフラインティーチング装置および記録媒体
JP2003053539A (ja) * 2001-08-07 2003-02-26 Yaskawa Electric Corp 溶接用ロボットの姿勢制御方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102004485A (zh) * 2009-08-27 2011-04-06 本田技研工业株式会社 机器人离线示教方法
CN103514148A (zh) * 2012-06-27 2014-01-15 株式会社神户制钢所 示教数据编辑系统以及程序
CN103514148B (zh) * 2012-06-27 2017-03-01 株式会社神户制钢所 示教数据编辑系统以及焊接机器人系统
CN103862472A (zh) * 2012-12-18 2014-06-18 株式会社安川电机 示教数据生成装置、机器人系统以及示教数据生成方法
US9248574B2 (en) 2012-12-18 2016-02-02 Kabushiki Kaisha Yaskawa Denki Teaching data generator, robot system, and method for generating teaching data
CN106232304A (zh) * 2014-05-01 2016-12-14 本田技研工业株式会社 用于关节型机器人的教学数据准备装置和教学数据准备方法
CN104742127A (zh) * 2015-04-08 2015-07-01 深圳市山龙科技有限公司 一种机器人的控制方法及机器人
CN107030695A (zh) * 2017-04-19 2017-08-11 广州视源电子科技股份有限公司 机器人返回原点运动控制方法和系统
CN107030695B (zh) * 2017-04-19 2019-07-09 广州视源电子科技股份有限公司 机器人返回原点运动控制方法和系统

Also Published As

Publication number Publication date
JP2004362018A (ja) 2004-12-24
JP4000306B2 (ja) 2007-10-31
CN100404211C (zh) 2008-07-23

Similar Documents

Publication Publication Date Title
CN1507384A (zh) 用于多关节型机器人的操作路径的设置方法及设置装置
CN1868690A (zh) 用于修正示教点的装置、程序、记录介质及方法
CN1798637A (zh) 用于多关节型机器人的教导数据准备方法
JP5606816B2 (ja) 溶接ロボットのティーチング装置およびティーチング方法
CN1250369C (zh) 自动焊接装置及焊接技能训练装置
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
US7447615B2 (en) Simulation apparatus for robot operation having function of visualizing visual field by image capturing unit
CN1293465C (zh) Gui显示装置及光标或gui组件动画显示处理方法
JP6114361B1 (ja) オフラインのロボットプログラミング装置
CN105382836B (zh) 示教系统、机器人系统以及示教方法
US10647003B2 (en) Programming device and robot control method
CN1827314A (zh) 并联运动机构的校准方法、校准的检验方法、校正数据收集方法
CN1433352A (zh) 机器人的控制装置
US20070032905A1 (en) Robot programming device
CN1680079A (zh) 离线编程装置
JP2007108916A (ja) ロボットのオフライン教示装置
CN1727839A (zh) 机器人系统中再校准三维视觉传感器的方法和设备
CN1304501A (zh) 用于支持金属板加工的集成支持系统
WO2010090117A1 (ja) 把持位置計算装置及び把持位置計算方法
CN1705540A (zh) 工业机器人
CN113634871A (zh) 基于离线编程的机器人搅拌摩擦焊轨迹规划方法
CN110682288A (zh) 机器人程序生成装置
JP2012091304A (ja) ティーチングデータ作成方法およびティーチングデータ作成装置
US20180260496A1 (en) Jig design assisting device and robot simulation device
US20050256606A1 (en) Method in the control of a machine tool cell

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