接口 IForceControlImp

所有已知实现类:
BaseForceControl, ForceControlModel

public interface IForceControlImp
  • 方法详细资料

    • fcInit

      RobotResult fcInit(FrameType frame_type)
      描述: 力控初始化
      参数:
      frame_type - 力控坐标系。工具工件坐标系使用setToolset()设置的坐标系
      返回:
      RobotResult 结果
    • fcStart

      RobotResult fcStart()
      描述: 开始力控,fcInit()之后调用。 如需在力控模式下执行运动指令,fcStart()之后可执行。
      返回:
      RobotResult 结果
    • fcStop

      RobotResult fcStop()
      描述: 停止力控
      返回:
      RobotResult 结果
    • setControlType

      RobotResult setControlType(int type)
      描述: 设置阻抗控制类型
      参数:
      type - 0-关节阻抗 | 1-笛卡尔阻抗;
      返回:
      RobotResult 结果;
    • setLoad

      RobotResult setLoad(Load load)
      描述: 设置力控模块使用的负载信息,fcStart()之后可调用。
      参数:
      load - 负载
      返回:
      RobotResult 结果;
    • setSineOverlay

      RobotResult setSineOverlay(int line_dir, double amplify, double frequency, double phase, double bias)
      描述: 设置绕单轴旋转的正弦搜索运动。 设置阻抗控制类型为笛卡尔阻抗(即setControlType(1))之后, startOverlay()之前调用生效。 各机型的搜索运动幅值上限和搜索运动频率上限不同,请参考《xCore控制系统手册》 SetSineOverlay指令的说明。
      参数:
      line_dir - 搜索运动参考轴: 0 - X | 1 - Y | 2 - Z
      amplify - 搜索运动幅值, 单位Nm
      frequency - 搜索运动频率, 单位Hz
      phase - 搜索运动相位, 范围[0, PI], 单位弧度
      bias - 搜索运动偏置, 范围[0, 10], 单位Nm
    • setLissajousOverlay

      RobotResult setLissajousOverlay(int plane, double amplify_one, double frequency_one, double amplify_two, double frequency_two, double phase_diff)
      描述: 设置平面内的莉萨如搜索运动 设置阻抗控制类型为笛卡尔阻抗(即setControlType(1))之后, startOverlay()之前调用生效。
      参数:
      plane - 搜索运动参考平面: 0 - XY | 1 - XZ | 2 - YZ
      amplify_one - 搜索运动一方向幅值, 范围[0, 20], 单位Nm
      frequency_one - 搜索运动一方向频率, 范围[0, 5], 单位Hz
      amplify_two - 搜索运动二方向幅值, 范围[0, 20]单位Nm
      frequency_two - 搜索运动二方向频率, 范围[0, 5], 单位Hz
      phase_diff - 搜索运动两个方向相位偏差, 范围[0, PI], 单位弧度
    • startOverlay

      RobotResult startOverlay()
      描述: 开启搜索运动。fcStart()之后调用生效 搜索运动为前序设置的 setSineOverlay()或 setLissajousOverlay()的叠加
    • stopOverlay

      RobotResult stopOverlay()
      描述: 停止搜索运动
    • pauseOverlay

      RobotResult pauseOverlay()
      描述: 暂停搜索运动。startOverlay()之后调用生效
    • restartOverlay

      RobotResult restartOverlay()
      描述: 重新开启暂停的搜索运动。pauseOverlay()之后调用生效。
    • setForceCondition

      RobotResult setForceCondition(double[] range, boolean isInside, double timeout)
      描述: 设置与接触力有关的终止条件
      参数:
      range - 各方向上的力限制 { X_min, X_max, Y_min, Y_max, Z_min, Z_max }, 单位N。 设置下限时, 负值表示负方向上的最大值; 设置上限时, 负值表示负方向上的最小值。
      isInside - true - 超出限制条件时停止等待; false - 符合限制条件时停止等待
      timeout - 超时时间, 范围[1, 600], 单位秒
    • setTorqueCondition

      RobotResult setTorqueCondition(double[] range, boolean isInside, double timeout)
      描述: 设置与接触力矩有关的终止条件
      参数:
      range - 各方向上的力矩限制 { X_min, X_max, Y_min, Y_max, Z_min, Z_max }, 单位Nm。设置下限时, 负值表示负方向上的最大值; 设置上限时, 负值表示负方向上的最小值。
      isInside - true - 超出限制条件时停止等待; false - 符合限制条件时停止等待
      timeout - 超时时间, 范围[1, 600], 单位秒
    • setPoseBoxCondition

      RobotResult setPoseBoxCondition(Frame supervising_frame, double[] box, boolean isInside, double timeout)
      描述: 设置与接触位置有关的终止条件
      参数:
      supervising_frame - 长方体所在的参考坐标系, 相对于外部工件坐标系。外部工件坐标系是通过setToolset()设置的, toolset.ref
      box - 定义一个长方体 { X_start, X_end, Y_start, Y_end, Z_start, Z_end }, 单位米
      isInside - true - 超出限制条件时停止等待; false - 符合限制条件时停止等待
      timeout - 超时时间, 范围[1, 600], 单位秒
    • waitCondition

      RobotResult waitCondition()
      激活前序设置的终止条件并等待,直到满足这些条件或者超时
    • fcMonitor

      RobotResult fcMonitor(boolean enable)
      描述: 启动/关闭力控模块保护监控。 设置监控参数后,不立即生效,调用fcMonitor(true)后开始生效,并且一直保持,直到调用fcMotion(false)后结束。 结束后保护阈值恢复成默认值,即仍然会有保护效果,关闭监控后不再是用户设置的参数。
      参数:
      enable - true - 打开 | false - 关闭
      另请参阅:
      • setJointMaxVel() setJointMaxMomentum() setJointMaxEnergy()
    • setCartesianMaxVel

      RobotResult setCartesianMaxVel(double[] velocity)
      描述: 设置力控模式下, 机械臂末端相对基坐标系的最大速度
      参数:
      velocity - 依次为:X Y Z [m/s], A B C [rad/s], 范围 >=0
    • setJointMaxVel

      RobotResult setJointMaxVel(double[] velocity)
      描述: 设置力控模式下的轴最大速度
      参数:
      velocity - 轴速度 [rad/s],范围 >=0
    • setJointMaxMomentum

      RobotResult setJointMaxMomentum(double[] momentum)
      描述: 设置力控模式下轴最大动量。 计算方式:F*t,可以理解为冲量,F为力矩传感器读数,t为控制周期,如果超过30个周期都超过动量阈值则触发保护
      参数:
      momentum - 轴动量 [N·s],范围 >=0
    • setJointMaxEnergy

      RobotResult setJointMaxEnergy(double[] energy)
      描述: 设置力控模式下轴最大动能。 计算方式:F*v,可以理解为功率,F为力矩传感器读数,v为关节速度, 如果超过30个周期都超过动能阈值则触发保护
      参数:
      energy - 动能 [N·rad/s],范围 >=0