接口 RobotImp
- 所有已知实现类:
BaseRobot,CooperateRobot,IndustrialRobot,PCB3Robot,PCB4Robot,StandardRobot,XMateProRobot,XMateRobot
public interface RobotImp
机器人基础实现类,定义机器人的公共函数;
-
方法概要
修饰符和类型方法说明adjustSpeedOnline(double scale) 描述: 动态调整机器人运动速率; 动态调整机器人运动速率,非实时模式时生效。描述: 读取基坐标系, 相对于世界坐标系;calcFk(double[] joints) 描述: 根据轴角度计算正解,轴角度转笛卡尔calcIk(CartesianPosition posture) 描述: 根据位姿计算逆解,笛卡尔转轴角度calibrateForceSensor(boolean all_axes, int axis_index) 描述: 力传感器标定。calibrateFrame(FrameType type, List<List<Double>> points, boolean is_held, double[] base_aux) 描述: 坐标系标定 (N点标定)描述: 获取机器人法兰或末端的当前位姿 ;描述: 清除伺服报警,当有伺服报警且清除失败的情况下错误码置为-1;connect()描述: 连接机器人描述: 断开机器人连接描述: 获取法兰相对基坐标系的位置信息;描述: 机器人当前轴角度, 单位: [rad];描述: 机器人当前关节速度, 单位: [rad/8]描述: 关节力传感器数值, 单位: [Nm];描述: 获取运动模式,参考枚举RobotMode类描述: 获取机器人运动状态,状态参考枚举RobotOperateState类描述: 获取机器人上电状态;描述: 获取机器人信息;getStateData(String fieldName) 描述:读取机器人状态数据描述: 查询当前位置, IO信号, 操作模式, 速度覆盖值描述: 查询当前加载工程的工具信息;描述: 查询当前加载工程的工件信息;描述:获取最新的错误码;model()描述:获取模型类描述: 重置运动缓存; 注意: 清空已发送的运动指令, 默认速度重置为100(v100), 默认转弯区重置为0(fine).描述: 开启机器人运动;moveStop()描述: 停止机器人运动; 注意:目前支持stop2停止类型, 规划停止不断电, 参见StopLevel。描述: 获取机器人法兰或末端的当前位姿 ;queryControllerLog(int count, List<Integer> levels) 查询控制器最新的日志queryControllerLogId(int count, List<Integer> levels) 查询控制器最新的日志IDqueryEventInfo(RobotT.Event event) 描述:查询事件信息。recoverState(int item) 描述: 根据选项恢复机器人状态获取SDK版本号setDefaultSpeed(int speed) 描述: 设定默认运动速度;setDefaultZone(int zone) 描述: 设定默认转弯区;setEventWatcher(RobotT.Event event) 描述:设置接收事件的回调函数setEventWatcher(RobotT.Event event, JNICallback callback) setMaxCacheSize(int maxNumber) 描述: 设置最大缓存指令个数; 指发送到控制器待规划的路径点个数,允许的范围[1,20],初始值为10。描述: 设置运动模式;描述: 设置机器人运动模式;setPowerState(boolean isON) 描述: 设置机器人上电setToolSet(ToolSet toolSet) 描述: 使用已创建的工具和工件,设置工具工件组信息setToolSet(String toolName, String wobjName) 描述: 使用已创建的工具和工件,设置工具工件组信息startJog(RobotT.JogMotionSpace space, double rate, double step, int jogIndex, boolean direction) startReceiveRobotState(long interval, List<String> fields) 描述:让机器人控制器开始发送实时状态数据。描述:停止接收实时状态数据,同时控制器停止发送。updateRobotState(long timeOut) 描述: 通过setControlLoop()设置的回调在每次执行时会更新一次状态数据,因此不需要在回调函数中调用此接口
-
方法详细资料
-
connect
RobotResult connect()描述: 连接机器人- 返回:
- RobotResult类,里面包含json数据;
-
disconnect
RobotResult disconnect()描述: 断开机器人连接- 返回:
- RobotResult类,里面包含json数据;
-
getRobotInfo
RobotResult getRobotInfo()描述: 获取机器人信息;- 返回:
- RobotResult类,里面包含json数据;
-
setPowerState
描述: 设置机器人上电- 参数:
isON- 是否上电,true:上电,false:下电;- 返回:
- RobotResult类,里面包含json数据;
-
getPowerState
RobotResult getPowerState()描述: 获取机器人上电状态;- 返回:
- RobotResult类,里面包含json数据; on = 0, ///< 上电 off = 1, ///< 下电 estop = 2, ///< 急停被按下 gstop = 3, ///< 安全门打开 unknown = Unknown ///< 未知(发生异常)
-
setOperateMode
描述: 设置机器人运动模式;- 参数:
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
描述: 使用已创建的工具和工件,设置工具工件组信息- 参数:
toolSet- 定义的工具名称- 返回:
- 返回结果
-
setToolSet
描述: 使用已创建的工具和工件,设置工具工件组信息- 参数:
toolName- 已定义的工具名称wobjName- 已定义的工件名称- 返回:
- 设置结果;
-
sdkVersion
RobotResult sdkVersion()获取SDK版本号- 返回:
- RobotResult;
-
carPosture
描述: 获取机器人法兰或末端的当前位姿 ;- 参数:
ct- 坐标系类型- 返回:
- RobotResult类,里面包含json数据;
-
setDefaultSpeed
描述: 设定默认运动速度;- 参数:
speed- 该接口不对参数进行范围限制。末端线速度的实际有效范围分别是5-4000(协作), 5-7000(工业)。 关节速度百分比划分为5个的范围: 0 ~100 : 10% 100~200 : 30% 200~500 : 50% 500~800 : 80% ∞ ~800 : 100%- 返回:
- RobotResult类,里面包含json数据;
-
setDefaultZone
描述: 设定默认转弯区;- 参数:
zone- 该接口不对参数进行范围限制。转弯区半径大小实际有效范围是0-200。 转弯百分比划分4个范围: 0 ~ 1 : 0 (fine) 1 ~ 20 : 10% 20 ~ 60 : 30% ∞ ~ 60 : 100%- 返回:
- RobotResult类,里面包含json数据;
-
setMaxCacheSize
描述: 设置最大缓存指令个数; 指发送到控制器待规划的路径点个数,允许的范围[1,20],初始值为10。- 参数:
maxNumber- 最大个数- 返回:
- RobotResult类,里面包含json数据;
-
adjustSpeedOnline
描述: 动态调整机器人运动速率; 动态调整机器人运动速率,非实时模式时生效。- 参数:
scale- 数量百分比- 返回:
- RobotResult类,里面包含json数据;
-
setMotionControlMode
描述: 设置运动模式;- 参数:
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
查询控制器最新的日志- 参数:
count- 查询个数,上限是10条levels- 指定日志等级,空集合代表不指定 . info:0, warning:1, error:2- 返回:
- RobotResult类,里面包含json数据;
-
queryControllerLogId
查询控制器最新的日志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 - 1step- 步长。单位: 笛卡尔空间-毫米 | 轴空间-度。步长大于0即可,不设置上限, 如果机器人机器人无法继续jog会自行停止运动。jogIndex- 笛卡尔空间 - 0~5分别对应XYZABC | 轴空间 - 关节序号,从0开始计数direction- 方向,true - 正向 | false - 负向- 返回:
- RobotResult类,里面包含json数据;
-
lastErrorCode
RobotResult lastErrorCode()描述:获取最新的错误码;- 返回:
- RobotResult类,里面包含json数据;
-
setEventWatcher
描述:设置接收事件的回调函数- 返回:
- RobotResult类,里面包含json数据;
-
setEventWatcher
-
queryEventInfo
描述:查询事件信息。 与setEventWatcher()回调时的提供的信息相同,区别是这个接口是主动查询的方式- 返回:
- RobotResult类,里面包含json数据;
-
stopReceiveRobotState
RobotResult stopReceiveRobotState()描述:停止接收实时状态数据,同时控制器停止发送。 可用于重新设置要接收的状态数据。 调用此函数后,实时运动的错误信息也会停止接收,建议在运动停止时调用。- 返回:
- RobotResult类,里面包含json数据;
-
updateRobotState
描述: 通过setControlLoop()设置的回调在每次执行时会更新一次状态数据,因此不需要在回调函数中调用此接口- 参数:
timeOut- 超时时间- 返回:
- 接收到的数据长度。如果超时前没有收到数据,那么返回0。
-
getStateData
描述:读取机器人状态数据- 参数:
fieldName- 数据名- 返回:
- 若无该数据名;或未通过startReceiveRobotState()设置为要接收的数据;或该数据类型和R不符,返回-1。 成功读取返回0。
-
startReceiveRobotState
描述:让机器人控制器开始发送实时状态数据。阻塞等待收到第一帧消息,超时时间为3秒- 参数:
interval- 控制器发送状态数据的间隔,允许的时长:1ms/2ms/4ms/8ms/1sfields- 接收的机器人状态数据, 最大总长度为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
描述: 力传感器标定。标定过程需要约100ms, 该函数不会阻塞等待标定完成。- 参数:
all_axes- true - 标定所有轴 | false - 单轴标定axis_index- 轴下标, 范围[0, DoF), 仅当单轴标定时生效- 返回:
- 返回结果
-
getStateList
RobotStateList getStateList()描述: 查询当前位置, IO信号, 操作模式, 速度覆盖值- 返回:
- 查询结果
-
recoverState
描述: 根据选项恢复机器人状态- 参数:
item- 恢复选项,1:急停恢复
-
calcFk
描述: 根据轴角度计算正解,轴角度转笛卡尔- 参数:
joints- 轴角度, 单位: 弧度- 返回:
- 机器人末端位姿,相对于外部参考坐标系,笛卡尔数据;
-
calcIk
描述: 根据位姿计算逆解,笛卡尔转轴角度- 参数:
posture- 机器人末端位姿,相对于外部参考坐标系- 返回:
- 轴角度, 单位:弧度
-