设置力觉向导对象
在力觉向导功能中,力觉向导对象表示特定过程,例如包括力控制功能的特定动作或条件分支。在容器(力觉向导序列)中排列各个处理(力觉向导对象)可实现特定操作。
在力觉向导功能中,您可以从10种通用力觉向导对象和6种专用力觉向导对象中选择所需的力觉向导对象,并在力觉向导序列中排列它们。但是,专用力觉向导对象仅可在专用序列中使用。
使用力控制功能的操作可分为以下五个基本动作:
“接触”、“跟随”、“对齐”、“试探”、“按压”
力觉向导对象可分为7类,上述5种基本动作、“执行”(这是力控制功能以外的一种处理),和“专用” (自动配置在专用力觉向导序列中)。此外,一些力觉向导对象可同时运行两个以上的基本动作。
接触
将机器人从非接触状态移动到与某个物体接触并在接触该物体时停止的动作。使用此动作可检测工件的位置。Contact对象用来执行接触动作。跟随
跟随施加的力和转矩并调整位置的动作。使用此动作可将机器人移动到所施加的力将为“0”的位置。Relax对象和FollowMove对象可执行跟随动作。对齐
朝某个物体按压时,按照待抓取工件的形状或方向调整该工件位置的动作。使用此动作可将待抓取的工件与某个物体对齐。SurfaceAlign对象可执行对齐动作。探测
检测物体上的孔或台阶的动作。使用此动作可检测孔或台阶。PressProbe对象和ContactProbe对象可执行探测动作。按压
持续向某个物体施加一定量的力和转矩的动作。使用此动作可向某个物体施加一定量的力和转矩。Press对象和PressMove对象可执行按压动作。此外,在使用力控制功能的操作中,特别是在按压动作中,经常出现同时朝不同方向按压和跟随的情况。以工件插入操作为例,机器人会朝插入方向压装,并跟随垂直于插入方向的两个方向。因此,Press对象和PressMove对象可以同时在不同的轴上执行按压和跟随动作。执行
力控制以外的处理。以下对象可执行此操作- Decision对象
Decision对象 : 执行条件分支的力觉向导对象。 - SPELFunc对象
SPELFunc对象 : 执行SPEL+程序函数的力觉向导对象。
- Decision对象
专用
如果创建专用力觉向导序列,则自动进行配置。适用下述对象。- Paste 对象
将对象物表面对齐抓取工件的表面,并向指定方向按压的对象。 - ScrewTighten 对象
通过电动螺丝刀螺丝拧紧的对象。 - ScrewRetighten 对象
先松开通过电动螺丝刀拧紧的螺丝,再重新拧紧的对象。 - HeightInspect 对象
向指定方向移动机器人,在接触位置上停止,并测量和检查对象物高度的对象。 - Insert 对象
插入工件的对象。 - TensileTest 对象
插入连接器等之后,向插入方向的相反方向施力,以判断插入的工件不会脱落的对象。
- Paste 对象
以下是类别和力觉向导对象列表。
有关每个对象的更详细信息,请参阅以下章节。
通用力觉向导对象
Paste 对象
ScrewTighten 对象
ScrewRetighten 对象
HeightInspect 对象
Insert 对象
TensileTest 对象
分类 | 对象名 | 说明 |
---|---|---|
接触 | Contact | 将机器人移动到指定方向,并在接触到物体时停止。 |
跟随 | Relax | 调整机器人的位置,使得施加到指定轴的力和转矩为“0”。 |
FollowMove | 沿指定轨迹移动的同时,调整机器人的位置,使得施加到指定轴的力和转矩为“0”。 | |
对齐 | SurfaceAlign | 将被抓取工件的表面与物体的表面对齐。 |
探测 | 保压探测 | 按压被抓取工件时,检测物体上的孔或台阶。 |
ContactProbe | 接触被抓取工件时,检测物体上的孔。 | |
按压 | 按压 | 朝指定的轴方向按压。 |
保压移动 | 沿指定轨迹移动时,朝指定的轴方向按压。 | |
执行 | Decision | 根据对象结果对处理进行分叉。 |
SPELFunc | 执行指定SPEL程序的函数。 | |
专用 | Paste | 将对象物表面对齐抓取工件的表面,并向指定方向压装。如果创建Paste序列,则自动进行配置。 |
ScrewTighten | 利用电动螺丝刀拧螺丝。如果创建拧螺丝序列,则自动进行配置。 | |
ScrewRetighten | 松开通过电动螺丝刀拧紧的螺丝,再重新拧紧。如果将拧螺丝序列的重新拧螺丝动作设为有效,则自动进行配置。 | |
HeightInspect | 向指定方向移动机器人,在接触位置上停止,并测量和检查对象物高度。如果创建高度检查序列,则自动进行配置。 | |
Insert | 插入工件。如果创建插入序列,则自动进行配置。 | |
TensileTest | 插入连接器等之后,向插入方向的相反方向施力,以判断插入的工件不会脱落。如果创建将拉伸测试设为有效的插入序列,则自动进行配置。 |
力觉向导对象具有属性和结果。
- 属性
基本上,它们会影响力觉向导对象。例如,有一个属性会设置动作方向。 - 结果
表示力觉向导对象的结果。
通过以下步骤设置力觉向导对象:
- 步骤-3-1-将一个操作分解为若干力觉向导对象
- 步骤-3-2-排列力觉向导对象
- 步骤-3-3-设置力觉向导对象的属性
步骤3-1. 将一个操作分解为若干力觉向导对象
根据要通过力觉向导序列实现的操作,确定要使用的力觉对象。
以下描述了基本概念。请注意,某些操作(例如复杂操作)可能不适用这些基本概念。使用专用力觉向导序列时,会自动配置专用力觉向导对象,因此可省略本步骤。专用力觉向导序列是用于进行各基本作业的序列,所以可能会因客户的应用而需要添加力觉向导对象。
将要使用力觉向导序列实现的操作分解成几类(“接触” “跟随” “对齐” “试探” “按压”)。如果要执行一个连续动作,比如在“跟随”动作之后执行“按压”动作,可将一个流程分成两个流程。尽可能将流程归入一个类别。但是,如果要同时执行两个类别,可根据主要目标,暂时将流程归入其中一个类别。例如,在不考虑接触状态的情况下移动机器人时,可思考将使用多少个Move命令。然后,将它们归入一个类别。
接下来,使用以下五个流程图来决定力觉向导对象。
“接触”
“跟随”
*1:它是指机器人沿指定轨迹移动期间,执行“跟随”动作。机器人通过力控制功能移动时,选择“否”。
“对齐”
“试探”
*1:工件(如导线部分)因执行PressProbe动作而损坏或变形时,选择“否”。
*2:如果考虑将“接触”作为前面的流程,请删除它。
“按压”
*1:它是指机器人沿指定轨迹移动期间,使用力控制功能。机器人通过力控制功能移动时,选择“否”。
*2:它是指需要根据工件或工具来设置速度的情况。通常选择“否”。例如,使用电动螺丝刀拧螺丝时,选择“是”,因为压装(螺丝插入)方向的速度由螺距和螺丝刀的旋转速度设定。
- 示例:将施加一定力的压装操作分解为力觉向导对象
-
这是在接触某个物体后压装该物体的操作。您可以将它分为“接触”和“按压”两个流程。
“接触”将由Contact对象执行,因为这时没有同时执行的其他类别。
由于以下原因,“按压”将由Press对象执行。这时没有同时执行的其他类别。按压”动作仅朝按压方向移动,而不设置按压方向的移动速度。
- 示例:将孔式插入行为分解为力觉向导对象
-
这是一项执行以下动作的操作:接触到物体后探测孔→调整期间执行跟随动作→朝孔方向压装→插入要同时执行“跟随”和“按压”,可考虑将它们视为一个流程。暂时将这个流程归入“按压”,因为主要目的是插入。
您可以将此任务分为三个流程:“接触”、“试探”和“按压”。
“接触”将由Contact对象执行,因为这时没有同时执行的其他类别。
由于以下原因,“试探”将由PressProbe对象执行。这时没有同时执行的其他类别。探测目标是一个孔。这时可以在按压工件的同时进行探测,并且启动对象时处于接触状态。
由于以下原因,“按压”将由Press对象执行。将同时执行“跟随”类别。“按压”动作仅朝按压方向移动,而不设置按压方向的移动速度。
- 示例:将连接器插入操作分解为力觉向导对象
-
这是一项执行以下动作的操作:接触物体→探测孔→调整期间执行跟随动作→向孔方向压装→插入
要同时执行“跟随”和“按压”,可考虑将它们视为一个流程。暂时将这个流程归入“按压”,因为主要目的是插入。
您可以将此任务分为三个流程:“接触”、“试探”和“按压”。
“接触”将由Contact对象执行,因为这时没有同时执行的其他类别。
由于以下原因,“探测”将由ContactProbe对象执行。这时没有同时执行的其他类别。探测目标是一个孔。这时无法在压装工件的同时进行探测,并且启动对象时处于接触状态。
此外,由于它在非接触状态下启动,因此请删除前一流程:“接触”。
尽管最初将流程分为三个,但此操作实际上包含两个流程:“试探”和“按压”,因为“接触”被删除。
由于以下原因,“按压”将由Press对象执行。将同时执行“跟随”类别。“按压”动作仅朝按压方向移动,而不设置按压方向的移动速度。
- 示例:将使用电动螺丝刀螺丝拧紧操作分解为力觉向导对象
-
这是一项执行以下动作的操作:接触物体→调整期间执行跟随动作→向孔方向压装→插入。
然而,与物体接触后暂停时,螺丝可能会脱落。因此,暂时将这个流程归入“按压”,因为主要目的是插入。此操作可视为单个流程:“按压”。
由于以下原因,“PressMove”将由Press对象执行。将同时执行“接触”和“跟随”类别。“按压”动作仅朝按压方向移动,并设置按压方向的移动速度。
以下附加说明适用于理解使用SPEL+编程力功能的用户。
具有五个基本动作的力觉向导对象的动作包括力控制功能、位置控制和结束条件。在每个对象中,可以选择或自动设定动作所需的内容。以下是力觉向导对象的列表:
类别 | 对象名 | 力控制功能 A:可选 B:自动设定 | 位置控制 A:同时执行 B:单独执行 | 结束条件 A:可选 B:自动设定 | |||
---|---|---|---|---|---|---|---|
按压 | 跟随 | 力 | 位置 | I/O | |||
接触 | Contact | A(仅1个轴) | - | - | B | - | - |
跟随 | Relax | - | A(所有轴) | - | A | A | A |
FollowMove | - | A(所有轴) | A | - | A | A | |
对齐 | SurfaceAlign | A(平移,仅1个轴) | B *1 | - | A | - | - |
探测 | 保压探测 | A(平移,仅1个轴) | - | A | A *2 | A *2 | - |
ContactProbe | A(平移,仅1个轴) | - | B *3 | B | B | - | |
按压 | 按压 | A(所有轴) | A(所有轴) | - | A | A | A |
保压移动 | A(所有轴) | A(所有轴) | A | A | A | A | |
执行 | Decision | - | - | - | - | - | - |
SPELFunc | - | - | - | - | - | - | |
专用 | Paste | A(仅1个轴) | B | - | B | B | - |
ScrewTighten | A(仅1个轴) | B | A *4 | B | B | B | |
ScrewRetighten | B(与螺丝拧紧方向相同) | B | A | B | B | B | |
HeightInspect | A(仅1个轴) | - | - | B | B | - | |
Insert | A(仅1个轴) | B | A *4 | B | B | - | |
TensileTest | B(如插入方向相反) | - | - | B | B | - |
*1:设置的两个轴的旋转方向垂直于按压方向上的轴。
*2:需要启用两者之一。
*3:位置控制用于离开动作以及移动到下一个接触开始位置的动作。它不能与力控制功能同时执行。
*4: 在运行时,从与位置控制的同时执行,切换为仅力觉控制功能。
步骤3-2. 排列力觉向导对象
在[Force Guide]窗口中选择和排列力觉向导对象。按顺序排列步骤3-1中设定的力觉向导对象。
如果在创建力觉向导序列时选择了模板,则不需要排列力觉向导对象。根据操作的不同,您可以将力觉向导对象添加到模板或删除力觉向导对象。
如果在创建力导向序列时选择了专用的力导向序列,则不需要配置力导向对象。各序列的专用力向导对象已自动配置。无法删除或移动已配置的专用力导向对象。如果您的应用还需要其他操作,请添加通用力导向对象。
有关创建步骤的更详细信息,请参阅以下章节。
软件篇 - [力觉向导] (工具菜单)
步骤3-3. 设置力觉向导对象的属性
设定力觉向导对象的属性。您需要根据操作设定属性。若使用专用力觉向导对象,还可通过视觉向导设定属性。
有关每个属性的更详细信息,请参阅以下章节。
通用力觉向导对象
Paste 对象
ScrewTighten 对象
ScrewRetighten 对象
HeightInspect 对象
Insert 对象
TensileTest 对象
有关每个属性的更详细信息,请参阅以下章节。
软件篇 [力觉向导] (工具菜单)
下面描述了设置力觉向导对象属性时应该知道的一些概念。
执行力控制功能时的基本机器人动作
力控制功能将力或转矩保持在指定值。为了保持该值,机器人移动到将施加力的位置。因此,如果在非接触状态下使用指定了“按压”的力控制功能,机器人将移动到将施加力的位置。
力方向和机器人动作方向
力觉传感器会检测施加的力。
在下面的示例中,机器人垂直向下(红色箭头所示的方向)压装工件。由于力是平衡的,当机器人施加作用力(红色箭头)时,反作用力(蓝色箭头)会施加到机器人上。
力觉传感器是检测反作用力的传感器。需要注意的是,机器人动作方向和要设定的压装力/检测力之间的方向总是相反的。
例如,如果在Press对象的Fx_ControlMode中指定Press+(向正向按压),则需要为Fx_PressForce设置负值。作为动作结果的记录值将是负值。
力控制功能的硬度(Firmness)
力觉向导功能会在Firmness属性中说明力控制功能的硬度。
实际属性名称因力觉向导对象而异(如ContactFirmnessF或Fx_Firmness),但作用是相同的。以下描述了Firmness属性的常见概念。
当Firmness属性很大时,力控制功能的硬度很大,同时响应速度会很慢。
当Firmness属性很小时,力控制功能的硬度很小,同时响应速度会很快。
然而,如果Firmness属性太小,机器人动作可能会振动。如下图所示,机器人在物体上方执行动作,并以10 [N]的力压装被抓取的工件。
以本操作为例,描述Firmness属性的作用。
以下是其他属性不变,使用较大和较小的Firmness属性值执行时的力图表。
在非接触状态下,Firmness属性越小,移动速度会越快。因此,与物体接触的时间将会缩短,并且图表中开始上升波形的时间将会不同。由于接触速度快,力的过冲将会很大。达到目标力的时间将会缩短,然而,这时可能会产生振动。
使用力控制功能时,理想的力变化是图表中的绿线(理想波形)。在此情况下,接触时力不会过冲,并立即成为目标力,而且很稳定。然而,在实际操作中不可能实现理想的力变化,因为力的过冲或振动与循环时间之间的关系是此消彼长的。请对您的操作进行适当调整。
Firmness属性值和执行时的力之间的关系随着环境(机器人, 夹具, 工件, 姿势等)的变化而变化。因此,您需要在实际环境中调整每个力觉向导对象。我们建议一开始为Firmness属性设定一个较大的值。然后,逐渐减小该值(例如,将该值减小10%),并对其进行调整。
也可以使用Firmness向导调整Firmness值。下面说明如何使用Firmness向导调整Firmness。
单击Firmness属性右侧的按钮。
会显示[固件向导]窗口。
单击[示教…]按钮。
会显示[示教接近点]对话框。
选择[Jog & Teach]选项卡。工件会移动到压装对象物1mm上方的位置。
单击[确定]按钮。
会保存当前位置,并返回到[固件向导]窗口。
设置[Motion and Force]的Max Force或转矩。
为跟随方向的Firmness向导时,设置预计施加的力或转矩。
设置[Firmness]的Trials、Max time per trial,通过滑块设置Firmness范围。
开始调整时,请滑块移动到Hard一侧,然后一边查看力或转矩的实测波形一边进行调整。
单击[执行]按钮。显示确认对话框。
确认初始位置的工件与压装对象的距离为1mm以内,然后单击[Yes]按钮。
机器人会进行移动,直至设置的轴达到目标力。
要中途停止时,单击[停止]按钮。
机器人达到目标力或转矩之前已移动10mm或10deg以上时,会显示下述对话框。这可能是下述原因造成的。
- 初始位置的工件与压装对象的距离为10mm或10deg以上
- 设置的压装方向与客户的预期方向不同
要继续剩余的试行时,单击[Yes]按钮。不继续剩余的试行时,单击[No]按钮。
调整滑块并单击[执行]按钮,以确保力或转矩的实测数据接近客户作业的可容许波形。
变更滑块的范围并反复执行,直到接近理想波形为止。
如果波形振动或没有达到目标力,请将滑块移动到Hard一侧。如果波形太柔和,请将滑块移到Soft的一侧。如果调整滑块的幅度较大,可能会导致施加力的方式发生明显变化。请一点一点移动滑块进行调整。
单击[下一步]按钮。
会显示设置前后的Firmness值。
要保存新值时,单击[Finish]按钮;要取消时,单击[Cancel]按钮。
← 设置力觉向导序列 在测试执行时进行调整 →