程序包 com.rokae.sdk.engine.base

# 类 BaseRobot

java.lang.Object
com.rokae.sdk.engine.base.BaseRobot

所有已实现的接口:
  `RobotCommandImp`, `RobotImp`, `RobotIOImp`, `RobotProjectImp`

直接已知子类:
  `CooperateRobot`, `IndustrialRobot`

public class BaseRobot extends Object implements RobotImp, RobotIOImp, RobotProjectImp, RobotCommandImp
机器人基础类，封装并实现机器人的公共函数；所有机器人类都继承自此;

封装有机器人的基本方法类型；

- ## 字段概要

  字段
  修饰符和类型
  字段
  说明
  `static final String`
  `TAG`

- ## 构造器概要

  构造器
  构造器
  说明
  `BaseRobot(int wt, int dof)`

- ## 方法概要

  修饰符和类型
  方法
  说明
  `RobotResult`
  `adjustSpeedOnline(double scale)`
  描述： 动态调整机器人运动速率； 动态调整机器人运动速率，非实时模式时生效。
  `RobotResult`
  `baseFrame()`
  描述： 读取基坐标系, 相对于世界坐标系；
  `RobotResult`
  `calcFk(double[] joint)`
  描述： 根据轴角度计算正解，轴角度转笛卡尔
  `RobotResult`
  `calcIk(CartesianPosition posture)`
  描述： 根据位姿计算逆解，笛卡尔转轴角度
  `RobotResult`
  `calibrateForceSensor(boolean all_axes, int axis_index)`
  描述： 力传感器标定。
  `RobotResult`
  `calibrateFrame(FrameType type, List<List<Double>> points, boolean is_held, double[] base_aux)`
  描述： 坐标系标定 (N点标定)
  `RobotResult`
  `carPosture(RobotT.CoordinateType ct)`
  描述： 获取机器人法兰或末端的当前位姿 ；
  `RobotResult`
  `clearServoAlarm()`
  描述： 清除伺服报警，当有伺服报警且清除失败的情况下错误码置为-1；
  `RobotResult`
  `connect()`
  描述： 连接机器人
  `RobotResult`
  `disconnect()`
  描述： 断开机器人连接
  `RobotResult`
  `executeCommands(Command[] cmdList)`
  描述： 执行单条或多条运动指令，调用后机器人立刻开始运动；
  `RobotResult`
  `executeCommands(List<Command> cmdList)`
  描述： 执行单条或多条运动指令，调用后机器人立刻开始运动；
  `RobotResult`
  `getAI(int board, int port)`
  描述： 获取AI信号标量；
  `RobotResult`
  `getDI(int board, int port)`
  描述： 获取DI信号标量；
  `RobotResult`
  `getDO(int board, int port)`
  描述： 获取DO信号标量；
  `RobotResult`
  `getFlangePos()`
  描述： 获取法兰相对基坐标系的位置信息；
  `NativeHelper`
  `getHelper()`
  `RobotResult`
  `getJointPos()`
  描述： 机器人当前轴角度, 单位: [rad]；
  `RobotResult`
  `getJointTorque()`
  描述： 机器人当前关节速度, 单位: [rad/8]
  `RobotResult`
  `getJointVel()`
  描述： 关节力传感器数值, 单位: [Nm]；
  `RobotResult`
  `getOperateMode()`
  描述： 获取运动模式，参考枚举RobotMode类
  `RobotResult`
  `getOperateState()`
  描述： 获取机器人运动状态，状态参考枚举RobotOperateState类
  `RobotResult`
  `getPowerState()`
  描述： 获取机器人上电状态；
  `RobotResult`
  `getRobotInfo()`
  描述： 获取机器人信息；
  `RobotResult`
  `getStateData(String fieldName)`
  描述：读取机器人状态数据
  `RobotStateList`
  `getStateList()`
  描述： 查询当前位置, IO信号, 操作模式, 速度覆盖值
  `RobotResult`
  `getToolsInfo()`
  描述： 查询当前加载工程的工具信息；
  `RobotResult`
  `getWobjsInfo()`
  描述： 查询当前加载工程的工件信息；
  `RobotResult`
  `lastErrorCode()`
  描述：获取最新的错误码;
  `RobotResult`
  `loadProject(String projectName, List<String> tasks)`
  描述：加载工程
  `RobotResult`
  `model()`
  描述：获取模型类
  `RobotResult`
  `moveAppend(Command[] arr)`
  `RobotResult`
  `moveAppend(Command[] arr, String cmdId)`
  描述： 添加机器人运动指令； 添加单条或多条运动指令, 添加后调用moveStart()开始运动
  `RobotResult`
  `moveAppend(List<Command> list)`
  `RobotResult`
  `moveAppend(List<Command> list, String cmdId)`
  描述： 添加机器人运动指令； 添加单条或多条运动指令, 添加后调用moveStart()开始运动
  `RobotResult`
  `moveReset()`
  描述： 重置运动缓存； 注意： 清空已发送的运动指令, 默认速度重置为100(v100), 默认转弯区重置为0(fine).
  `RobotResult`
  `moveStart()`
  描述： 开启机器人运动；
  `RobotResult`
  `moveStop()`
  描述： 停止机器人运动； 注意：目前支持stop2停止类型, 规划停止不断电, 参见StopLevel。
  `RobotResult`
  `pauseProject()`
  描述：暂停运行工程
  `RobotResult`
  `posture(RobotT.CoordinateType ct)`
  描述： 获取机器人法兰或末端的当前位姿 ；
  `RobotResult`
  `ppToMain()`
  描述：程序指针跳转到main。
  `RobotResult`
  `projectsInfo()`
  描述：查询工控机中RL工程名称及任务
  `RobotResult`
  `queryControllerLog(int count, List<Integer> levels)`
  查询控制器最新的日志
  `List<Integer>`
  `queryControllerLogId(int count, List<Integer> levels)`
  查询控制器最新的日志ID
  `RobotResult`
  `queryEventInfo(RobotT.Event event)`
  描述：查询事件信息。
  `RobotResult`
  `readRegister(String name, int index, RobotT.RegisterType regType)`
  描述：读取寄存器值。
  `RobotResult`
  `readRegisterList(String name, RobotT.RegisterType regType)`
  `RobotResult`
  `recoverState(int item)`
  描述： 根据选项恢复机器人状态
  `RobotResult`
  `runProject()`
  描述：开始运行当前加载的工程
  `RobotResult`
  `sdkVersion()`
  获取SDK版本号
  `RobotResult`
  `setAO(int board, int port, double value)`
  描述： 设置DO标量；
  `RobotResult`
  `setDefaultSpeed(int speed)`
  描述： 设定默认运动速度；
  `RobotResult`
  `setDefaultZone(int zone)`
  描述： 设定默认转弯区；
  `RobotResult`
  `setDI(int board, int port, boolean state)`
  描述： 设置DI信号标量； 设置数字量输入信号，仅当输入仿真模式打开时可以设置(见setSimulationMode())
  `RobotResult`
  `setDO(int board, int channel, int state)`
  描述： 设置DO标量；
  `RobotResult`
  `setEventWatcher(RobotT.Event event)`
  描述：设置接收事件的回调函数
  `RobotResult`
  `setEventWatcher(RobotT.Event event, JNICallback callback)`
  `void`
  `setLog(boolean log)`
  `RobotResult`
  `setMaxCacheSize(int maxNumber)`
  描述： 设置最大缓存指令个数； 指发送到控制器待规划的路径点个数，允许的范围[1,20]，初始值为10。
  `RobotResult`
  `setMotionControlMode(RobotT.MotionControlMode mode)`
  描述： 设置运动模式；
  `RobotResult`
  `setOperateMode(RobotT.RobotMode mode)`
  描述： 设置机器人运动模式；
  `RobotResult`
  `setPowerState(boolean isON)`
  描述： 设置机器人上电
  `RobotResult`
  `setProjectRunOption(double rate, boolean isLoop)`
  描述：更改工程的运行速度和循环模式
  `RobotResult`
  `setSimulationMode(boolean state)`
  描述：设置输入仿真模式
  `RobotResult`
  `setToolSet(ToolSet toolSet)`
  描述： 使用已创建的工具和工件，设置工具工件组信息
  `RobotResult`
  `setToolSet(String toolName, String wobjName)`
  描述： 使用已创建的工具和工件，设置工具工件组信息
  `RobotResult`
  `startJog(RobotT.JogMotionSpace space, double rate, double step, int jogIndex, boolean direction)`
  `RobotResult`
  `startReceiveRobotState(long interval, String[] fields)`
  `RobotResult`
  `startReceiveRobotState(long interval, List<String> fields)`
  描述：让机器人控制器开始发送实时状态数据。
  `RobotResult`
  `stopProject()`
  描述：停止运行工程
  `RobotResult`
  `stopReceiveRobotState()`
  描述：停止接收实时状态数据，同时控制器停止发送。
  `RobotResult`
  `updateRobotState(long timeOut)`
  描述： 通过setControlLoop()设置的回调在每次执行时会更新一次状态数据，因此不需要在回调函数中调用此接口
  `RobotResult`
  `writeRegister(String name, int index, RobotT.RegisterType regType, Object value)`
  描述：写寄存器值。
  `RobotResult`
  `writeRegisterList(String name, RobotT.RegisterType regType, Object value)`

  ### 从类继承的方法 java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## 字段详细资料

  - ### TAG

    public static final String TAG
    另请参阅:
      - 常量字段值

- ## 构造器详细资料

  - ### BaseRobot

    public BaseRobot(int wt, int dof)

- ## 方法详细资料

  - ### setLog

    public void setLog(boolean log)

  - ### connect

    public RobotResult connect()
    从接口复制的说明: `RobotImp`
    描述： 连接机器人
    指定者:
      `connect` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### disconnect

    public RobotResult disconnect()
    从接口复制的说明: `RobotImp`
    描述： 断开机器人连接
    指定者:
      `disconnect` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### setPowerState

    public RobotResult setPowerState(boolean isON)
    从接口复制的说明: `RobotImp`
    描述： 设置机器人上电
    指定者:
      `setPowerState` 在接口中 `RobotImp`
    参数:
      `isON` - 是否上电，true：上电，false：下电；
    返回:
      RobotResult类，里面包含json数据;

  - ### getRobotInfo

    public RobotResult getRobotInfo()
    从接口复制的说明: `RobotImp`
    描述： 获取机器人信息；
    指定者:
      `getRobotInfo` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### getPowerState

    public RobotResult getPowerState()
    从接口复制的说明: `RobotImp`
    描述： 获取机器人上电状态；
    指定者:
      `getPowerState` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据; on = 0, ///< 上电 off = 1, ///< 下电 estop = 2, ///< 急停被按下 gstop = 3, ///< 安全门打开 unknown = Unknown ///< 未知(发生异常)

  - ### setOperateMode

    public RobotResult setOperateMode(RobotT.RobotMode mode)
    从接口复制的说明: `RobotImp`
    描述： 设置机器人运动模式；
    指定者:
      `setOperateMode` 在接口中 `RobotImp`
    参数:
      `mode` - RobotMode 运动模式
    返回:
      RobotResult类，里面包含json数据;

  - ### getOperateMode

    public RobotResult getOperateMode()
    从接口复制的说明: `RobotImp`
    描述： 获取运动模式，参考枚举RobotMode类
    指定者:
      `getOperateMode` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据; 0 ： 手动 1 ： 自动 -1 ： 未知

  - ### getOperateState

    public RobotResult getOperateState()
    从接口复制的说明: `RobotImp`
    描述： 获取机器人运动状态，状态参考枚举RobotOperateState类
    指定者:
      `getOperateState` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据; 0 : 机器人静止 1 : jog 2 : RCI控制中 3 : 拖动已开启 4 : RL工程运行中 5 : Demo演示中 6 : 动力学辨识中 7 : 摩擦力辨识中 8 : 负载辨识中 9 : 机器人运动中

  - ### getFlangePos

    public RobotResult getFlangePos()
    从接口复制的说明: `RobotImp`
    描述： 获取法兰相对基坐标系的位置信息；
    指定者:
      `getFlangePos` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### posture

    public RobotResult posture(RobotT.CoordinateType ct)
    从接口复制的说明: `RobotImp`
    描述： 获取机器人法兰或末端的当前位姿 ；
    指定者:
      `posture` 在接口中 `RobotImp`
    参数:
      `ct` - 坐标系类型
    返回:
      RobotResult类，里面包含json数据;

  - ### carPosture

    public RobotResult carPosture(RobotT.CoordinateType ct)
    从接口复制的说明: `RobotImp`
    描述： 获取机器人法兰或末端的当前位姿 ；
    指定者:
      `carPosture` 在接口中 `RobotImp`
    参数:
      `ct` - 坐标系类型
    返回:
      RobotResult类，里面包含json数据;

  - ### getDI

    public RobotResult getDI(int board, int port)
    从接口复制的说明: `RobotIOImp`
    描述： 获取DI信号标量；
    指定者:
      `getDI` 在接口中 `RobotIOImp`
    参数:
      `board` - 设备编号
      `port` - 串口编号
    返回:
      RobotResult类，里面包含json数据;

  - ### setDI

    public RobotResult setDI(int board, int port, boolean state)
    从接口复制的说明: `RobotIOImp`
    描述： 设置DI信号标量； 设置数字量输入信号，仅当输入仿真模式打开时可以设置(见setSimulationMode())
    指定者:
      `setDI` 在接口中 `RobotIOImp`
    参数:
      `board` - IO板序号
      `port` - 信号端口号
      `state` - 值
    返回:
      RobotResult类，里面包含json数据;

  - ### getDO

    public RobotResult getDO(int board, int port)
    从接口复制的说明: `RobotIOImp`
    描述： 获取DO信号标量；
    指定者:
      `getDO` 在接口中 `RobotIOImp`
    参数:
      `board` - IO板序号
      `port` - 信号端口号
    返回:
      RobotResult类，里面包含json数据;

  - ### setDO

    public RobotResult setDO(int board, int channel, int state)
    从接口复制的说明: `RobotIOImp`
    描述： 设置DO标量；
    指定者:
      `setDO` 在接口中 `RobotIOImp`
    参数:
      `board` - IO板序号
      `channel` - 信号端口号
      `state` - true：on | false：off
    返回:
      RobotResult类，里面包含json数据;

  - ### getAI

    public RobotResult getAI(int board, int port)
    从接口复制的说明: `RobotIOImp`
    描述： 获取AI信号标量；
    指定者:
      `getAI` 在接口中 `RobotIOImp`
    参数:
      `board` - IO板序号
      `port` - 信号端口号
    返回:
      RobotResult类，里面包含json数据;

  - ### setAO

    public RobotResult setAO(int board, int port, double value)
    从接口复制的说明: `RobotIOImp`
    描述： 设置DO标量；
    指定者:
      `setAO` 在接口中 `RobotIOImp`
    参数:
      `board` - IO板序号
      `port` - 信号端口号
      `value` - true：on | false：off
    返回:
      RobotResult类，里面包含json数据;

  - ### setSimulationMode

    public RobotResult setSimulationMode(boolean state)
    从接口复制的说明: `RobotIOImp`
    描述：设置输入仿真模式
    指定者:
      `setSimulationMode` 在接口中 `RobotIOImp`
    参数:
      `state` - 状态
    返回:
      RobotResult类，里面包含json数据;

  - ### readRegister

    public RobotResult readRegister(String name, int index, RobotT.RegisterType regType)
    从接口复制的说明: `RobotIOImp`
    描述：读取寄存器值。 可读取单个寄存器，寄存器数组，或按索引读取寄存器数组。 如果要读取整个寄存器数组，value传入对应类型的vector，index值被忽略。 更多...
    指定者:
      `readRegister` 在接口中 `RobotIOImp`
    参数:
      `name` - 寄存器名称
      `index` - 寄存器数组下标，非数组类型，下表默认0；
      `regType` - 寄存器数据类型,根据不同的类型，读取寄存器，返回的数据值不一样； 1:bit类型 2:byte类型 3:bool 4:int 5:float
    返回:
      RobotResult类，里面包含json数据;

  - ### readRegisterList

    public RobotResult readRegisterList(String name, RobotT.RegisterType regType)
    指定者:
      `readRegisterList` 在接口中 `RobotIOImp`
    参数:
      `name` - 寄存器名称
      `regType` - 寄存器数据类型,根据不同的类型，读取寄存器，返回的数据值不一样；参考函数readRegister
    返回:
      RobotResult类，里面包含json数据;

  - ### writeRegister

    public RobotResult writeRegister(String name, int index, RobotT.RegisterType regType, Object value)
    从接口复制的说明: `RobotIOImp`
    描述：写寄存器值。 可写入单个寄存器，或按索引写入寄存器数组中某一元素。
    指定者:
      `writeRegister` 在接口中 `RobotIOImp`
    参数:
      `name` - 寄存器名称
      `index` - 寄存器数组下标，非数组类型，下表默认0；
      `regType` - 寄存器数据类型,根据不同的类型，读取寄存器，返回的数据值不一样； 1:bit类型 2:byte类型 3:bool 4:int 5:float
      `value` - 寄存器写入值
    返回:
      RobotResult类，里面包含json数据;

  - ### writeRegisterList

    public RobotResult writeRegisterList(String name, RobotT.RegisterType regType, Object value)
    指定者:
      `writeRegisterList` 在接口中 `RobotIOImp`
    参数:
      `name` - 寄存器名称
      `regType` - 寄存器数据类型,根据不同的类型，读取寄存器，返回的数据值不一样；参考函数readRegister
    返回:
      RobotResult类，里面包含json数据;

  - ### clearServoAlarm

    public RobotResult clearServoAlarm()
    从接口复制的说明: `RobotImp`
    描述： 清除伺服报警，当有伺服报警且清除失败的情况下错误码置为-1；
    指定者:
      `clearServoAlarm` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### lastErrorCode

    public RobotResult lastErrorCode()
    从接口复制的说明: `RobotImp`
    描述：获取最新的错误码;
    指定者:
      `lastErrorCode` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### setEventWatcher

    public RobotResult setEventWatcher(RobotT.Event event)
    从接口复制的说明: `RobotImp`
    描述：设置接收事件的回调函数
    指定者:
      `setEventWatcher` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### setEventWatcher

    public RobotResult setEventWatcher(RobotT.Event event, JNICallback callback)
    指定者:
      `setEventWatcher` 在接口中 `RobotImp`

  - ### queryEventInfo

    public RobotResult queryEventInfo(RobotT.Event event)
    从接口复制的说明: `RobotImp`
    描述：查询事件信息。 与setEventWatcher()回调时的提供的信息相同，区别是这个接口是主动查询的方式
    指定者:
      `queryEventInfo` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### queryControllerLog

    public RobotResult queryControllerLog(int count, List<Integer> levels)
    从接口复制的说明: `RobotImp`
    查询控制器最新的日志
    指定者:
      `queryControllerLog` 在接口中 `RobotImp`
    参数:
      `count` - 查询个数，上限是10条
      `levels` - 指定日志等级，空集合代表不指定 . info:0, warning:1, error:2
    返回:
      RobotResult类，里面包含json数据;

  - ### queryControllerLogId

    public List<Integer> queryControllerLogId(int count, List<Integer> levels)
    从接口复制的说明: `RobotImp`
    查询控制器最新的日志ID
    指定者:
      `queryControllerLogId` 在接口中 `RobotImp`
    参数:
      `count` - 查询个数，上限是10条
      `levels` - 指定日志等级，空集合代表不指定 . info:0, warning:1, error:2
    返回:
      List类，包含日志的ID;

  - ### setMotionControlMode

    public RobotResult setMotionControlMode(RobotT.MotionControlMode mode)
    从接口复制的说明: `RobotImp`
    描述： 设置运动模式；
    指定者:
      `setMotionControlMode` 在接口中 `RobotImp`
    参数:
      `mode` - 机器人运动控制模式
    返回:
      RobotResult类，里面包含json数据;

  - ### moveReset

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

  - ### moveStart

    public RobotResult moveStart()
    从接口复制的说明: `RobotImp`
    描述： 开启机器人运动；
    指定者:
      `moveStart` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### moveStop

    public RobotResult moveStop()
    从接口复制的说明: `RobotImp`
    描述： 停止机器人运动； 注意：目前支持stop2停止类型, 规划停止不断电, 参见StopLevel。 调用此接口后, 已经下发的运动指令会被清除, 不再执行。
    指定者:
      `moveStop` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### moveAppend

    public RobotResult moveAppend(List<Command> list, String cmdId)
    从接口复制的说明: `RobotCommandImp`
    描述： 添加机器人运动指令； 添加单条或多条运动指令, 添加后调用moveStart()开始运动
    指定者:
      `moveAppend` 在接口中 `RobotCommandImp`
    参数:
      `list` - 列表
      `cmdId` - 运动执行ID
    返回:
      RobotResult类，里面包含json数据;

  - ### moveAppend

    public RobotResult moveAppend(List<Command> list)

  - ### moveAppend

    public RobotResult moveAppend(Command[] arr, String cmdId)
    从接口复制的说明: `RobotCommandImp`
    描述： 添加机器人运动指令； 添加单条或多条运动指令, 添加后调用moveStart()开始运动
    指定者:
      `moveAppend` 在接口中 `RobotCommandImp`
    参数:
      `arr` - 数组
      `cmdId` - 运动执行ID
    返回:
      RobotResult类，里面包含json数据;

  - ### moveAppend

    public RobotResult moveAppend(Command[] arr)

  - ### setDefaultSpeed

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

  - ### setDefaultZone

    public RobotResult setDefaultZone(int zone)
    从接口复制的说明: `RobotImp`
    描述： 设定默认转弯区；
    指定者:
      `setDefaultZone` 在接口中 `RobotImp`
    参数:
      `zone` - 该接口不对参数进行范围限制。转弯区半径大小实际有效范围是0-200。 转弯百分比划分4个范围: 0 ~ 1 : 0 (fine) 1 ~ 20 : 10% 20 ~ 60 : 30% ∞ ~ 60 : 100%
    返回:
      RobotResult类，里面包含json数据;

  - ### setMaxCacheSize

    public RobotResult setMaxCacheSize(int maxNumber)
    从接口复制的说明: `RobotImp`
    描述： 设置最大缓存指令个数； 指发送到控制器待规划的路径点个数，允许的范围[1,20]，初始值为10。
    指定者:
      `setMaxCacheSize` 在接口中 `RobotImp`
    参数:
      `maxNumber` - 最大个数
    返回:
      RobotResult类，里面包含json数据;

  - ### adjustSpeedOnline

    public RobotResult adjustSpeedOnline(double scale)
    从接口复制的说明: `RobotImp`
    描述： 动态调整机器人运动速率； 动态调整机器人运动速率，非实时模式时生效。
    指定者:
      `adjustSpeedOnline` 在接口中 `RobotImp`
    参数:
      `scale` - 数量百分比
    返回:
      RobotResult类，里面包含json数据;

  - ### startJog

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

  - ### stopReceiveRobotState

    public RobotResult stopReceiveRobotState()
    从接口复制的说明: `RobotImp`
    描述：停止接收实时状态数据，同时控制器停止发送。 可用于重新设置要接收的状态数据。 调用此函数后，实时运动的错误信息也会停止接收，建议在运动停止时调用。
    指定者:
      `stopReceiveRobotState` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### startReceiveRobotState

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

  - ### model

    public RobotResult model()
    从接口复制的说明: `RobotImp`
    描述：获取模型类
    指定者:
      `model` 在接口中 `RobotImp`
    返回:
      返回结果

  - ### baseFrame

    public RobotResult baseFrame()
    从接口复制的说明: `RobotImp`
    描述： 读取基坐标系, 相对于世界坐标系；
    指定者:
      `baseFrame` 在接口中 `RobotImp`
    返回:
      返回结果

  - ### setToolSet

    public RobotResult setToolSet(ToolSet toolSet)
    从接口复制的说明: `RobotImp`
    描述： 使用已创建的工具和工件，设置工具工件组信息
    指定者:
      `setToolSet` 在接口中 `RobotImp`
    参数:
      `toolSet` - 定义的工具名称
    返回:
      返回结果

  - ### setToolSet

    public RobotResult setToolSet(String toolName, String wobjName)
    从接口复制的说明: `RobotImp`
    描述： 使用已创建的工具和工件，设置工具工件组信息
    指定者:
      `setToolSet` 在接口中 `RobotImp`
    参数:
      `toolName` - 已定义的工具名称
      `wobjName` - 已定义的工件名称
    返回:
      设置结果；

  - ### sdkVersion

    public RobotResult sdkVersion()
    从接口复制的说明: `RobotImp`
    获取SDK版本号
    指定者:
      `sdkVersion` 在接口中 `RobotImp`
    返回:
      RobotResult；

  - ### startReceiveRobotState

    public RobotResult startReceiveRobotState(long interval, String[] fields)

  - ### updateRobotState

    public RobotResult updateRobotState(long timeOut)
    从接口复制的说明: `RobotImp`
    描述： 通过setControlLoop()设置的回调在每次执行时会更新一次状态数据，因此不需要在回调函数中调用此接口
    指定者:
      `updateRobotState` 在接口中 `RobotImp`
    参数:
      `timeOut` - 超时时间
    返回:
      接收到的数据长度。如果超时前没有收到数据，那么返回0。

  - ### getStateData

    public RobotResult getStateData(String fieldName)
    从接口复制的说明: `RobotImp`
    描述：读取机器人状态数据
    指定者:
      `getStateData` 在接口中 `RobotImp`
    参数:
      `fieldName` - 数据名
    返回:
      若无该数据名；或未通过startReceiveRobotState()设置为要接收的数据；或该数据类型和R不符，返回-1。 成功读取返回0。

  - ### projectsInfo

    public RobotResult projectsInfo()
    从接口复制的说明: `RobotProjectImp`
    描述：查询工控机中RL工程名称及任务
    指定者:
      `projectsInfo` 在接口中 `RobotProjectImp`
    返回:
      工程信息列表，若没有创建工程则返回空列表

  - ### loadProject

    public RobotResult loadProject(String projectName, List<String> tasks)
    从接口复制的说明: `RobotProjectImp`
    描述：加载工程
    指定者:
      `loadProject` 在接口中 `RobotProjectImp`
    参数:
      `projectName` - 工程名称
      `tasks` - 要运行的任务。该参数必须指定，不能为空，否则无法执行工程。
    返回:
      RobotResult类，

  - ### ppToMain

    public RobotResult ppToMain()
    从接口复制的说明: `RobotProjectImp`
    描述：程序指针跳转到main。 调用后，等待控制器解析完工程后返回，阻塞时间视工程大小而定，超时时间设定为10秒。
    指定者:
      `ppToMain` 在接口中 `RobotProjectImp`
    返回:
      RobotResult类，

  - ### runProject

    public RobotResult runProject()
    从接口复制的说明: `RobotProjectImp`
    描述：开始运行当前加载的工程
    指定者:
      `runProject` 在接口中 `RobotProjectImp`
    返回:
      RobotResult类，

  - ### pauseProject

    public RobotResult pauseProject()
    从接口复制的说明: `RobotProjectImp`
    描述：暂停运行工程
    指定者:
      `pauseProject` 在接口中 `RobotProjectImp`
    返回:
      RobotResult类，

  - ### stopProject

    public RobotResult stopProject()
    从接口复制的说明: `RobotProjectImp`
    描述：停止运行工程
    指定者:
      `stopProject` 在接口中 `RobotProjectImp`
    返回:
      RobotResult类，

  - ### setProjectRunOption

    public RobotResult setProjectRunOption(double rate, boolean isLoop)
    从接口复制的说明: `RobotProjectImp`
    描述：更改工程的运行速度和循环模式
    指定者:
      `setProjectRunOption` 在接口中 `RobotProjectImp`
    参数:
      `rate` - 程序运行速率，范围 0.01 - 1
      `isLoop` - true - 循环执行 | false - 单次执行
    返回:
      RobotResult类，

  - ### getToolsInfo

    public RobotResult getToolsInfo()
    从接口复制的说明: `RobotImp`
    描述： 查询当前加载工程的工具信息；
    指定者:
      `getToolsInfo` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;返回工具信息列表, 若未加载任何工程或没有创建工具, 则返回默认工具tool0的信息

  - ### getWobjsInfo

    public RobotResult getWobjsInfo()
    从接口复制的说明: `RobotImp`
    描述： 查询当前加载工程的工件信息；
    指定者:
      `getWobjsInfo` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;返回工件信息列表, 若未加载任何工程或没有创建工件, 则返回空vector；

  - ### getJointPos

    public RobotResult getJointPos()
    从接口复制的说明: `RobotImp`
    描述： 机器人当前轴角度, 单位: [rad]；
    指定者:
      `getJointPos` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### getJointVel

    public RobotResult getJointVel()
    从接口复制的说明: `RobotImp`
    描述： 关节力传感器数值, 单位: [Nm]；
    指定者:
      `getJointVel` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### getJointTorque

    public RobotResult getJointTorque()
    从接口复制的说明: `RobotImp`
    描述： 机器人当前关节速度, 单位: [rad/8]
    指定者:
      `getJointTorque` 在接口中 `RobotImp`
    返回:
      RobotResult类，里面包含json数据;

  - ### calcIk

    public RobotResult calcIk(CartesianPosition posture)
    从接口复制的说明: `RobotImp`
    描述： 根据位姿计算逆解，笛卡尔转轴角度
    指定者:
      `calcIk` 在接口中 `RobotImp`
    参数:
      `posture` - 机器人末端位姿，相对于外部参考坐标系
    返回:
      轴角度, 单位:弧度

  - ### calcFk

    public RobotResult calcFk(double[] joint)
    从接口复制的说明: `RobotImp`
    描述： 根据轴角度计算正解，轴角度转笛卡尔
    指定者:
      `calcFk` 在接口中 `RobotImp`
    参数:
      `joint` - 轴角度, 单位: 弧度
    返回:
      机器人末端位姿，相对于外部参考坐标系,笛卡尔数据；

  - ### executeCommands

    public RobotResult executeCommands(List<Command> cmdList)
    从接口复制的说明: `RobotCommandImp`
    描述： 执行单条或多条运动指令，调用后机器人立刻开始运动；

    注解 : 须为同类型的指令; 运动指令异步执行, 如发生执行错误, 需通过lastErrorCode 获取错误码。 参数中传入的ec仅反馈执行前的错误, 如网络通信错误或参数个数不符。

    Command运动指令类 : MoveJCommand , MoveAbsJCommand , MoveLCommand , MoveCCommand

    指定者:
      `executeCommands` 在接口中 `RobotCommandImp`
    参数:
      `cmdList` - 列表List， 指令列表, 允许的个数为1-1000
    返回:
      RobotResult类，里面包含json数据;

  - ### executeCommands

    public RobotResult executeCommands(Command[] cmdList)
    从接口复制的说明: `RobotCommandImp`
    描述： 执行单条或多条运动指令，调用后机器人立刻开始运动；

    注解 : 须为同类型的指令; 运动指令异步执行, 如发生执行错误, 需通过lastErrorCode 获取错误码。 参数中传入的ec仅反馈执行前的错误, 如网络通信错误或参数个数不符。

    Command运动指令类 : MoveJCommand | MoveAbsJCommand | MoveLCommand | MoveCCommand

    指定者:
      `executeCommands` 在接口中 `RobotCommandImp`
    参数:
      `cmdList` - 数组Array，指令列表, 允许的个数为1-1000;
    返回:
      RobotResult类，里面包含json数据;

  - ### calibrateFrame

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

  - ### calibrateForceSensor

    public RobotResult calibrateForceSensor(boolean all_axes, int axis_index)
    从接口复制的说明: `RobotImp`
    描述： 力传感器标定。标定过程需要约100ms, 该函数不会阻塞等待标定完成。
    指定者:
      `calibrateForceSensor` 在接口中 `RobotImp`
    参数:
      `all_axes` - true - 标定所有轴 | false - 单轴标定
      `axis_index` - 轴下标, 范围[0, DoF), 仅当单轴标定时生效
    返回:
      返回结果

  - ### getStateList

    public RobotStateList getStateList()
    从接口复制的说明: `RobotImp`
    描述： 查询当前位置, IO信号, 操作模式, 速度覆盖值
    指定者:
      `getStateList` 在接口中 `RobotImp`
    返回:
      查询结果

  - ### recoverState

    public RobotResult recoverState(int item)
    从接口复制的说明: `RobotImp`
    描述： 根据选项恢复机器人状态
    指定者:
      `recoverState` 在接口中 `RobotImp`
    参数:
      `item` - 恢复选项，1：急停恢复

  - ### getHelper

    public NativeHelper getHelper()