接口 RobotImp

所有已知实现类:
BaseRobot, CooperateRobot, IndustrialRobot, PCB3Robot, PCB4Robot, StandardRobot, XMateProRobot, XMateRobot

public interface RobotImp
机器人基础实现类,定义机器人的公共函数;
  • 方法详细资料

    • connect

      RobotResult connect()
      描述: 连接机器人
      返回:
      RobotResult类,里面包含json数据;
    • disconnect

      RobotResult disconnect()
      描述: 断开机器人连接
      返回:
      RobotResult类,里面包含json数据;
    • getRobotInfo

      RobotResult getRobotInfo()
      描述: 获取机器人信息;
      返回:
      RobotResult类,里面包含json数据;
    • setPowerState

      RobotResult setPowerState(boolean isON)
      描述: 设置机器人上电
      参数:
      isON - 是否上电,true:上电,false:下电;
      返回:
      RobotResult类,里面包含json数据;
    • getPowerState

      RobotResult getPowerState()
      描述: 获取机器人上电状态;
      返回:
      RobotResult类,里面包含json数据; on = 0, ///< 上电 off = 1, ///< 下电 estop = 2, ///< 急停被按下 gstop = 3, ///< 安全门打开 unknown = Unknown ///< 未知(发生异常)
    • setOperateMode

      RobotResult setOperateMode(RobotT.RobotMode mode)
      描述: 设置机器人运动模式;
      参数:
      mode - RobotMode 运动模式
      返回:
      RobotResult类,里面包含json数据;
    • getOperateMode

      RobotResult getOperateMode()
      描述: 获取运动模式,参考枚举RobotMode类
      返回:
      RobotResult类,里面包含json数据; 0 : 手动 1 : 自动 -1 : 未知
    • getOperateState

      RobotResult getOperateState()
      描述: 获取机器人运动状态,状态参考枚举RobotOperateState类
      返回:
      RobotResult类,里面包含json数据; 0 : 机器人静止 1 : jog 2 : RCI控制中 3 : 拖动已开启 4 : RL工程运行中 5 : Demo演示中 6 : 动力学辨识中 7 : 摩擦力辨识中 8 : 负载辨识中 9 : 机器人运动中
    • getFlangePos

      RobotResult getFlangePos()
      描述: 获取法兰相对基坐标系的位置信息;
      返回:
      RobotResult类,里面包含json数据;
    • posture

      描述: 获取机器人法兰或末端的当前位姿 ;
      参数:
      ct - 坐标系类型
      返回:
      RobotResult类,里面包含json数据;
    • baseFrame

      RobotResult baseFrame()
      描述: 读取基坐标系, 相对于世界坐标系;
      返回:
      返回结果
    • setToolSet

      RobotResult setToolSet(ToolSet toolSet)
      描述: 使用已创建的工具和工件,设置工具工件组信息
      参数:
      toolSet - 定义的工具名称
      返回:
      返回结果
    • setToolSet

      RobotResult setToolSet(String toolName, String wobjName)
      描述: 使用已创建的工具和工件,设置工具工件组信息
      参数:
      toolName - 已定义的工具名称
      wobjName - 已定义的工件名称
      返回:
      设置结果;
    • sdkVersion

      RobotResult sdkVersion()
      获取SDK版本号
      返回:
      RobotResult;
    • carPosture

      描述: 获取机器人法兰或末端的当前位姿 ;
      参数:
      ct - 坐标系类型
      返回:
      RobotResult类,里面包含json数据;
    • setDefaultSpeed

      RobotResult setDefaultSpeed(int speed)
      描述: 设定默认运动速度;
      参数:
      speed - 该接口不对参数进行范围限制。末端线速度的实际有效范围分别是5-4000(协作), 5-7000(工业)。 关节速度百分比划分为5个的范围: 0 ~100 : 10% 100~200 : 30% 200~500 : 50% 500~800 : 80% ∞ ~800 : 100%
      返回:
      RobotResult类,里面包含json数据;
    • setDefaultZone

      RobotResult setDefaultZone(int zone)
      描述: 设定默认转弯区;
      参数:
      zone - 该接口不对参数进行范围限制。转弯区半径大小实际有效范围是0-200。 转弯百分比划分4个范围: 0 ~ 1 : 0 (fine) 1 ~ 20 : 10% 20 ~ 60 : 30% ∞ ~ 60 : 100%
      返回:
      RobotResult类,里面包含json数据;
    • setMaxCacheSize

      RobotResult setMaxCacheSize(int maxNumber)
      描述: 设置最大缓存指令个数; 指发送到控制器待规划的路径点个数,允许的范围[1,20],初始值为10。
      参数:
      maxNumber - 最大个数
      返回:
      RobotResult类,里面包含json数据;
    • adjustSpeedOnline

      RobotResult adjustSpeedOnline(double scale)
      描述: 动态调整机器人运动速率; 动态调整机器人运动速率,非实时模式时生效。
      参数:
      scale - 数量百分比
      返回:
      RobotResult类,里面包含json数据;
    • setMotionControlMode

      RobotResult setMotionControlMode(RobotT.MotionControlMode mode)
      描述: 设置运动模式;
      参数:
      mode - 机器人运动控制模式
      返回:
      RobotResult类,里面包含json数据;
    • getToolsInfo

      RobotResult getToolsInfo()
      描述: 查询当前加载工程的工具信息;
      返回:
      RobotResult类,里面包含json数据;返回工具信息列表, 若未加载任何工程或没有创建工具, 则返回默认工具tool0的信息
    • getWobjsInfo

      RobotResult getWobjsInfo()
      描述: 查询当前加载工程的工件信息;
      返回:
      RobotResult类,里面包含json数据;返回工件信息列表, 若未加载任何工程或没有创建工件, 则返回空vector;
    • getJointPos

      RobotResult getJointPos()
      描述: 机器人当前轴角度, 单位: [rad];
      返回:
      RobotResult类,里面包含json数据;
    • getJointVel

      RobotResult getJointVel()
      描述: 关节力传感器数值, 单位: [Nm];
      返回:
      RobotResult类,里面包含json数据;
    • getJointTorque

      RobotResult getJointTorque()
      描述: 机器人当前关节速度, 单位: [rad/8]
      返回:
      RobotResult类,里面包含json数据;
    • clearServoAlarm

      RobotResult clearServoAlarm()
      描述: 清除伺服报警,当有伺服报警且清除失败的情况下错误码置为-1;
      返回:
      RobotResult类,里面包含json数据;
    • queryControllerLog

      RobotResult queryControllerLog(int count, List<Integer> levels)
      查询控制器最新的日志
      参数:
      count - 查询个数,上限是10条
      levels - 指定日志等级,空集合代表不指定 . info:0, warning:1, error:2
      返回:
      RobotResult类,里面包含json数据;
    • queryControllerLogId

      List<Integer> queryControllerLogId(int count, List<Integer> levels)
      查询控制器最新的日志ID
      参数:
      count - 查询个数,上限是10条
      levels - 指定日志等级,空集合代表不指定 . info:0, warning:1, error:2
      返回:
      List类,包含日志的ID;
    • moveReset

      RobotResult moveReset()
      描述: 重置运动缓存; 注意: 清空已发送的运动指令, 默认速度重置为100(v100), 默认转弯区重置为0(fine). 每次程序开始运行并第一次执行运动指令之前, 必须调用该函数来重置运动缓存, 否则控制器可能会报错
      返回:
      RobotResult类,里面包含json数据;
    • moveStart

      RobotResult moveStart()
      描述: 开启机器人运动;
      返回:
      RobotResult类,里面包含json数据;
    • moveStop

      RobotResult moveStop()
      描述: 停止机器人运动; 注意:目前支持stop2停止类型, 规划停止不断电, 参见StopLevel。 调用此接口后, 已经下发的运动指令会被清除, 不再执行。
      返回:
      RobotResult类,里面包含json数据;
    • startJog

      RobotResult startJog(RobotT.JogMotionSpace space, double rate, double step, int jogIndex, boolean direction)
      参数:
      space - jog参考坐标系。工具/工件坐标系使用的是RobotAssist右上角设定的工具/工件。
      rate - 速率, 范围 0.01 - 1
      step - 步长。单位: 笛卡尔空间-毫米 | 轴空间-度。步长大于0即可,不设置上限, 如果机器人机器人无法继续jog会自行停止运动。
      jogIndex - 笛卡尔空间 - 0~5分别对应XYZABC | 轴空间 - 关节序号,从0开始计数
      direction - 方向,true - 正向 | false - 负向
      返回:
      RobotResult类,里面包含json数据;
    • lastErrorCode

      RobotResult lastErrorCode()
      描述:获取最新的错误码;
      返回:
      RobotResult类,里面包含json数据;
    • setEventWatcher

      RobotResult setEventWatcher(RobotT.Event event)
      描述:设置接收事件的回调函数
      返回:
      RobotResult类,里面包含json数据;
    • setEventWatcher

      RobotResult setEventWatcher(RobotT.Event event, JNICallback callback)
    • queryEventInfo

      RobotResult queryEventInfo(RobotT.Event event)
      描述:查询事件信息。 与setEventWatcher()回调时的提供的信息相同,区别是这个接口是主动查询的方式
      返回:
      RobotResult类,里面包含json数据;
    • stopReceiveRobotState

      RobotResult stopReceiveRobotState()
      描述:停止接收实时状态数据,同时控制器停止发送。 可用于重新设置要接收的状态数据。 调用此函数后,实时运动的错误信息也会停止接收,建议在运动停止时调用。
      返回:
      RobotResult类,里面包含json数据;
    • updateRobotState

      RobotResult updateRobotState(long timeOut)
      描述: 通过setControlLoop()设置的回调在每次执行时会更新一次状态数据,因此不需要在回调函数中调用此接口
      参数:
      timeOut - 超时时间
      返回:
      接收到的数据长度。如果超时前没有收到数据,那么返回0。
    • getStateData

      RobotResult getStateData(String fieldName)
      描述:读取机器人状态数据
      参数:
      fieldName - 数据名
      返回:
      若无该数据名;或未通过startReceiveRobotState()设置为要接收的数据;或该数据类型和R不符,返回-1。 成功读取返回0。
    • startReceiveRobotState

      RobotResult startReceiveRobotState(long interval, List<String> fields)
      描述:让机器人控制器开始发送实时状态数据。阻塞等待收到第一帧消息,超时时间为3秒
      参数:
      interval - 控制器发送状态数据的间隔,允许的时长:1ms/2ms/4ms/8ms/1s
      fields - 接收的机器人状态数据, 最大总长度为1024个字节
      返回:
      RobotResult类,
    • model

      RobotResult model()
      描述:获取模型类
      返回:
      返回结果
    • calibrateFrame

      RobotResult calibrateFrame(FrameType type, List<List<Double>> points, boolean is_held, double[] base_aux)
      描述: 坐标系标定 (N点标定)
      参数:
      type - 坐标系类型,支持工具(FrameType::tool), 工件(FrameType::wobj), 基坐标系(FrameType::base)
      points - 轴角度列表,列表长度为N。例如,使用三点法标定工具坐标系,应传入3组轴角度。轴角度的单位是弧度。
      is_held - true - 机器人手持 | false - 外部。仅影响工具/工件的标定
      base_aux - 基坐标系标定时用到的辅助点, 单位[米]
      返回:
      标定结果,当错误码没有被置位时,标定结果有效。
    • calibrateForceSensor

      RobotResult calibrateForceSensor(boolean all_axes, int axis_index)
      描述: 力传感器标定。标定过程需要约100ms, 该函数不会阻塞等待标定完成。
      参数:
      all_axes - true - 标定所有轴 | false - 单轴标定
      axis_index - 轴下标, 范围[0, DoF), 仅当单轴标定时生效
      返回:
      返回结果
    • getStateList

      RobotStateList getStateList()
      描述: 查询当前位置, IO信号, 操作模式, 速度覆盖值
      返回:
      查询结果
    • recoverState

      RobotResult recoverState(int item)
      描述: 根据选项恢复机器人状态
      参数:
      item - 恢复选项,1:急停恢复
    • calcFk

      RobotResult calcFk(double[] joints)
      描述: 根据轴角度计算正解,轴角度转笛卡尔
      参数:
      joints - 轴角度, 单位: 弧度
      返回:
      机器人末端位姿,相对于外部参考坐标系,笛卡尔数据;
    • calcIk

      RobotResult calcIk(CartesianPosition posture)
      描述: 根据位姿计算逆解,笛卡尔转轴角度
      参数:
      posture - 机器人末端位姿,相对于外部参考坐标系
      返回:
      轴角度, 单位:弧度