类 BaseForceControl

java.lang.Object
com.rokae.sdk.engine.base.BaseForceControl
所有已实现的接口:
IForceControlImp
直接已知子类:
ForceControlModel

public class BaseForceControl extends Object implements IForceControlImp
  • 构造器详细资料

    • BaseForceControl

      public BaseForceControl(BaseRobot robot)
  • 方法详细资料

    • fcInit

      public RobotResult fcInit(FrameType frame_type)
      从接口复制的说明: IForceControlImp
      描述: 力控初始化
      指定者:
      fcInit 在接口中 IForceControlImp
      参数:
      frame_type - 力控坐标系。工具工件坐标系使用setToolset()设置的坐标系
      返回:
      RobotResult 结果
    • fcStart

      public RobotResult fcStart()
      从接口复制的说明: IForceControlImp
      描述: 开始力控,fcInit()之后调用。 如需在力控模式下执行运动指令,fcStart()之后可执行。
      指定者:
      fcStart 在接口中 IForceControlImp
      返回:
      RobotResult 结果
    • fcStop

      public RobotResult fcStop()
      从接口复制的说明: IForceControlImp
      描述: 停止力控
      指定者:
      fcStop 在接口中 IForceControlImp
      返回:
      RobotResult 结果
    • setControlType

      public RobotResult setControlType(int type)
      从接口复制的说明: IForceControlImp
      描述: 设置阻抗控制类型
      指定者:
      setControlType 在接口中 IForceControlImp
      参数:
      type - 0-关节阻抗 | 1-笛卡尔阻抗;
      返回:
      RobotResult 结果;
    • setLoad

      public RobotResult setLoad(Load load)
      从接口复制的说明: IForceControlImp
      描述: 设置力控模块使用的负载信息,fcStart()之后可调用。
      指定者:
      setLoad 在接口中 IForceControlImp
      参数:
      load - 负载
      返回:
      RobotResult 结果;
    • setSineOverlay

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

      public RobotResult setLissajousOverlay(int plane, double amplify_one, double frequency_one, double amplify_two, double frequency_two, double phase_diff)
      从接口复制的说明: IForceControlImp
      描述: 设置平面内的莉萨如搜索运动 设置阻抗控制类型为笛卡尔阻抗(即setControlType(1))之后, startOverlay()之前调用生效。
      指定者:
      setLissajousOverlay 在接口中 IForceControlImp
      参数:
      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

      public RobotResult startOverlay()
      从接口复制的说明: IForceControlImp
      描述: 开启搜索运动。fcStart()之后调用生效 搜索运动为前序设置的 setSineOverlay()或 setLissajousOverlay()的叠加
      指定者:
      startOverlay 在接口中 IForceControlImp
    • stopOverlay

      public RobotResult stopOverlay()
      从接口复制的说明: IForceControlImp
      描述: 停止搜索运动
      指定者:
      stopOverlay 在接口中 IForceControlImp
    • pauseOverlay

      public RobotResult pauseOverlay()
      从接口复制的说明: IForceControlImp
      描述: 暂停搜索运动。startOverlay()之后调用生效
      指定者:
      pauseOverlay 在接口中 IForceControlImp
    • restartOverlay

      public RobotResult restartOverlay()
      从接口复制的说明: IForceControlImp
      描述: 重新开启暂停的搜索运动。pauseOverlay()之后调用生效。
      指定者:
      restartOverlay 在接口中 IForceControlImp
    • setForceCondition

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

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

      public RobotResult setPoseBoxCondition(Frame supervising_frame, double[] box, boolean isInside, double timeout)
      从接口复制的说明: IForceControlImp
      描述: 设置与接触位置有关的终止条件
      指定者:
      setPoseBoxCondition 在接口中 IForceControlImp
      参数:
      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

      public RobotResult waitCondition()
      从接口复制的说明: IForceControlImp
      激活前序设置的终止条件并等待,直到满足这些条件或者超时
      指定者:
      waitCondition 在接口中 IForceControlImp
    • fcMonitor

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

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

      public RobotResult setJointMaxVel(double[] velocity)
      从接口复制的说明: IForceControlImp
      描述: 设置力控模式下的轴最大速度
      指定者:
      setJointMaxVel 在接口中 IForceControlImp
      参数:
      velocity - 轴速度 [rad/s],范围 >=0
    • setJointMaxMomentum

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

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