RefPos状态

应用
机器人对象Robot

注释
对第一个变量返回带力控制的命令位置。对第二个变量,返回仅反映位置控制而没有力控制效果的命令位置。

用法
FGet Robot.RefPos, Point1 ,Point2

  • Point1
    定义点数据的变量

  • Point2
    定义点数据的变量

详细说明
返回反映位置控制命令和力控制效果的命令位置。
位置控制命令位置定义原动作命令试图遵循的虚拟路径。
力控制命令位置定义机器人实际移动路径,即在位置控制命令位置反映力控制效果后计算出的路径。
通过观察两种命令之间的差量,可以发现偏离原路径移动了多少。这在检查偏离原路径是否大于预期或分析运动倾向时非常有效。

用法示例
进行检测,如果力控制使移动偏离原路径超出一定量则停止机器人。

Function RefPosTest

  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力控制设为启用
  Xqt RefPosCheck                  ' 启动其他任务进行监视
  Move P0 FC1                      ' 使用力控制的Move动作
  Quit RefPosCheck                 ' 结束其他监视任务

Fend

Function RefPosCheck
  Do
    FGet Robot.RefPos, P1, P2           ' 获取RefPos
      If Abs(CX(P1) - CX(P2))  50 Then  ' 检查差异是否为50以上
        Print "Err"                     ' 如果差异过大则发生错误
        AbortMotion All                 ' 停止动作
      EndIf
    Wait 0.1
  Loop
Fend

参考
机器人对象Robot