Move语句

注释
执行力控制功能启用的直线插补动作。

用法
Move P# [FC#] [ROT] [CF] [CP] [Till | Find] [!并行处理!] [SYNC]

  • P#
    指定确定动作目标位置的点数据。

  • FC#
    指定力觉控制对象。

  • CF
    保持力控制功能。可以省略。

详细说明
通过将力觉控制对象作为参数添加至通常的Move命令,启用力控制执行Move动作。由于路径会因动作中的力改变,相同命令的结果可能不为相同的路径,动作可能在与目标位置不同的位置停止。

力控制功能根据力觉控制对象的各属性执行操作。请确认力觉控制对象的各属性后执行。

在执行力控制功能时,力觉控制对象的速度和加速度根据LimitSpeed和LimitAccel受到限制。所有属性的详细内容请参考相应的项目。

通过添加CF参数,可以保持力控制功能直至下一次动作。由此机器人会像通常一样在Move动作完成的点前进到下一语句,但机器人将保持力控制功能启用。此外,当添加CP参数时,必须添加CF参数。当添加了CP参数时,将伴随通常的路径动作保持力控制功能。

通过CF参数值保持力控制功能将带来以下力觉控制对象变化限制。

属性名 前动作参数 后动作参数 是否可改变?
Enabled False True OK
True False NG
LimitAccel OK
NG
LimitSpeed OK
NG
TargetForcePriorityMode False True NG
True False NG
CoordinateSystem FCSX FCSX OK
FCSX FCSY NG

此外,当添加了CF参数时,随后将无法立即执行通常的动作。当启用力控制功能后想执行通常动作命令时,不添加CF参数或执行FCEnd语句禁用力控制功能。
增加了Till限定符时则与通常动作方式相同,移动可以通过一定的条件终止。有关Till限定符的详细内容,请参考以下手册和力觉触发器对象章节。
"Epson RC+ 8.0 SPEL+ Language Reference" Till
执行力控制功能时,Till将在通常动作停止后,通过力控制功能减速。此外,当添加了CF参数时,可以停止动作命令,但将保持力控制功能。也想停止力控制功能时,不添加CF参数或执行FCEnd语句。

当执行力控制功能时暂停动作,力控制功能无法重新启动。在当前动作完成后执行下一动作。
执行力控制功能时无法使用以下命令。执行FCEnd语句结束力控制功能后,执行以下命令。

Arm

ArmClr

ArmSet

Base

Brake

Calib

CP

ECP

ECPClr

ECPSet

Elbow

Encreset

Hand

Here

Home

J1Angle

J1Flag

J2Flag

J4Flag

J6Flag

Local

LocalClr

Mcal

Motor

Power

PTPTime

SFree

TLClr

TLSet

Tool

WaitPos

Where

Wrist

对于水平多关节型机器人(包括RS系列),无论FC对象参照的FCS对象的设定如何,在下列情况下无法执行力控制功能。

  • 当底座坐标系或所选工具坐标系的V或W参数不为0时
  • 当FC对象的Tx_Enabled或Ty_Enabled属性为True时

当FC对象参照的FCS对象的Orientation属性指定了本地坐标系时,在下列情况下无法执行力控制功能。

  • 当FCS对象参照编号的本地坐标系的V或W参数不为0时

当FC对象参照的FCS对象的Orientation属性指定了自定义坐标系时,在下列情况下无法执行力控制功能。

  • 当Orientation属性的V或W参数不为0时

除水平多关节型(包括RS系列)和6轴机器人(包括N系列)外无法执行执行力控制功能。

力控制和轨迹


  • 与FC一起使用Move

当未添加CF参数和CP参数时,在每次动作命令完成后定位机器人。在后续的命令中将计划从当前位置到目标位置的轨迹。
下图所示为执行下列程序时的动作轨迹。

Move P1 FC1  
Move P2 FC1  

画像
在第一个Move中计划从初始位置P0到目标位置P1的轨迹(虚线),然后机器人开始动作。
此时,因为力控制功能会校正路径,机器人移到P1’。(实线)
机器人定位在P1’,然后停止。
在第二个Move中计划从P1’(机器人定位处)到P2的轨迹(虚线),但因为与第一个Move同样,力控制功能会校正路径,机器人移到P2’。(实线)

  • 与FC和Till一起使用Move

下图所示为执行下列使用Till的程序时的动作轨迹。

Move P1 FC1 Till  
Move P2 FC1  

画像
在第一个Move中计划从初始位置P0到目标位置P1的轨迹(虚线),然后机器人开始动作。
此时,因为力控制功能会校正路径,机器人将向P1’移动。(实线)
如果在动作过程中符合Till条件,机器人将在所计划轨道上的P1’’停止,但是由于力控制功能的校正,机器人将在P1’停止。
在第二个Move中计划从P1’(机器人定位处)到P2的轨迹(虚线),但因为与第一个Move同样,力控制功能会校正路径,机器人移到P2’。(实线)
如果在第一个Move动作过程中未符合Till条件,机器人将以“与FC一起使用Move”中说明的相同方式移动。

  • 与FC和CF一起使用Move

当添加了CF参数时,保持力控制功能,即使动作命令完成,机器人也不定位。在后续的命令中将根据最初计划的目标位置和后续目标位置计划轨迹。
下图所示为执行下列程序时的动作轨迹。

Move P1 FC1 CF  
Move P2 FC1  

画像
在第一个Move中计划从初始位置P0到目标位置P1的轨迹(虚线),然后机器人开始动作。此时,因为力控制功能会校正路径,机器人移到P1’。(实线)由于添加了CF参数,机器人不定位并保持力控制功能。
在第二个Move中计划从第一个Move的目标位置P1到P2的轨迹(虚线)。然后,机器人向考虑与当前位置P1’的相对位移量的位置移动。(虚线)此时,因为与第一个Move同样,力控制功能会校正路径,机器人移到P2’。(实线)

  • 与FC、CF和Till一起使用Move

下图所示为执行下列程序时的动作轨迹。

Move P1 FC1 CF Till  
Move P2 FC1  

画像
在第一个Move中计划从初始位置P0到目标位置P1的轨迹(虚线),然后机器人开始动作。此时,因为力控制功能会校正路径,机器人移到P1’。(实线)如果在动作过程中符合Till条件,机器人停止朝计划轨迹的动作。(P1”)由于添加了CF参数,机器人不定位并保持力控制功能。
在第二个Move中计划从P1”(在第一个Move的计划轨迹上的停止位置)到P2的轨迹(虚线)。然后,机器人向考虑从当前位置P1’的相对位移量的位置移动。(虚线)此时,因为与第一个Move同样,力控制功能会校正路径,机器人移到P2’。(实线)

通过使用RefPos属性,可获取计划轨迹上的当前位置和实际当前位置。但如果通过CF参数保持力控制,则实际位置持续变化。通过使用此方法,可在由Till停止动作后指定相对位移量。
下图所示为执行下列程序时的动作轨迹。

Move P1 FC1 CF Till  
FGet Robot.RefPos, P2, P3  
Move P3 +X(100) FC1  

画像
按照Till条件停止时,计划轨迹上的停止位置P1”,将成为P3。作为位置控制的相对位移量可根据P3指定。

  • 与FC、CF和CP一起使用Move

当添加了CF参数时,保持力控制功能,即使动作命令完成,机器人也不定位。在后续的命令中将根据最初计划的目标位置和后续目标位置计划轨迹。此外,当添加了CP参数时,控制在动作指令开始减速的同时进入下一语句。通过使用此方法,可连接若干连续动作。
下图所示为执行下列程序时的动作轨迹。

Move P1 FC1 CF CP  
Move P2 FC1  

画像
在第一个Move中计划从初始位置P0到目标位置P1的轨迹(虚线),然后机器人开始动作。此时,因为力控制功能会校正路径,机器人移到P1’。(实线)
当在计划轨迹上开始减速时(P1’’),第二个Move计划一条P1(第一个Move的目标位置)与P2之间轨迹,然后将其与第一个Move的计划轨迹结合。(弯曲虚线)机器人开始向考虑从当前位置P1’的相对位移量的位置移动。(虚线)此时,因为力控制功能会持续校正路径,机器人移到P2’。(实线)

  • 与FC, CF, CP和Till一起使用Move

当一起使用力觉控制对象, CF参数, CP参数, Till修饰符时,机器人如下所示移动。

Move P1 FC1 CF CP Till  
Move P2 FC1  

如果在第一个Move开始减速前符合Till条件,机器人将以 “与FC、CF和Till一起使用Move”中说明的相同方式移动。
如果在第一个Move开始减速前未符合Till条件,机器人将以 “与FC、CF和Till一起使用Move”中说明的相同方式移动。由于在开始减速的同时执行下一动作命令,Till条件判断将同时完成。

用法示例
这是启用力控制执行Move动作的简单程序示例。
该示例在工具坐标系X轴方向上启用力控制的状态下,执行Move动作。

Function ForceMoveTest
  FSet FCS1.Orientation, FG_TOOL    ' 设定力觉坐标数据

  FSet FC1.CoordinateSystem, FCS1   ' 指定力觉坐标数据
  FSet FC1.Fx_Spring, 0             ' 设定Fx虚拟弹性系数
  FSet FC1.Fx_Damper, 1             ' 设定Fx虚拟阻尼系数
  FSet FC1.Fx_Mass, 10              ' 设定Fx虚拟惯性系数
  FSet FC1.Fx_Enabled, True         ' 启用Fx力控制功能

  Move P0 FC1                       ' 启用力控制的Move动作
Fend

以下为使用CF参数的程序示例。
在该示例中,力觉控制对象FC1用于在从当前位置移到P0后再移到P1过程中执行力控制功能。力控制功能将在移动完成时终止。然后,移到P2后再到P3过程中将使用力觉控制对象FC2执行力控制功能。已完成到P3的移动时,由于CF参数会保持启用力控制功能,而通过FCEnd语句则将使力控制功能终止。随后,到达P4后使用力觉控制对象FC3保持力控制,直到经过5秒。为了在移动后的一定时间内保持力控制功能启用状态,使用FCKeep语句。

有关FCKeep和FCend的详细内容,请参考各语句的详细说明。

Function ForceMoveCFTest
  Move P0 FC1 CF
  Move P1 FC1

  Move P2 FC2 CF
  Move P3 FC2 CF
  FCEnd

  Move P4 FC3 CF
  FCKeep FC3, 5
Fend

以下为使用Till限定符的程序示例。
为Till创建力觉触发器对象FT1,并将Till限定符添加到启用力控制功能的Move动作命令。当移到P1过程中Till变为启用时,Move动作和力控制功能将终止,机器人则停止。在移到P2过程中将发生相同的情况。当移到P3过程中Till变为启用时,由于添加了CF参数,Move动作终止,但力控制功能保持启用。因此,机器人不会停止。然后,保持力控制功能启用移到P4。

Function ForceMoveTillTest
  Till FT1
  Move P1 FC1 Till     ' 动作和力控制功能均终止
  Move P2 FC2 Till     ' 动作和力控制功能均终止

  Move P3 FC3 CF Till  ' 动作终止,但力控制功能保持启用
  Move P4 FC3
Fend

参考
Move, 力觉控制对象FC#, 力觉触发器对象FT#, Till, FCKeep, FCEnd