API 说明
kuka 工控机主控支持的 API
指令号 |
命令 |
支持情况 |
---|---|---|
100 |
获取机械臂程序版本号 |
支持 |
101 |
发送速度数据 |
支持 |
102 |
发送加速度数据 |
支持 |
103 |
发送圆滑过渡参数 |
支持 |
104 |
发送工具坐标系(TCP)参数 |
支持 |
105 |
设置数字量输出 |
支持 |
106 |
SetJointsMovej |
支持 |
107 |
SetCartMovel |
支持 |
108 |
SetJoinsMovel |
支持 |
109 |
SetCartMovej |
支持 |
110 |
MovejSequence |
支持 |
111 |
MovelSequence |
支持 |
112 |
SetJointsMovejDo |
不支持 |
113 |
SetCartMovelDo |
不支持 |
114 |
SetJointsMovelDo |
不支持 |
115 |
SetJointsMovejGroupDo |
不支持 |
116 |
SetCartMovelGroupDo |
不支持 |
117 |
SetJointsMovelGroupDo |
不支持 |
118 |
MovelUntil |
支持 |
119 |
获取数字量输入状态 |
支持 |
120 |
获取数字量输出状态 |
支持 |
121 |
获取模拟量输入口数值 |
不支持 |
122 |
获取机械臂当前角度 |
支持 |
123 |
获取机械臂当前位姿 |
支持 |
200 |
机械臂后台发送状态 |
支持 |
kuka 机械臂主控支持的 API
kuka 支持传入变量传出
- GLOBAL DEF xyzOpenSocket(sock[]:IN)
根据 xml 连接指定 socket
- 参数
sock[] (CHAR[]) – socket 名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEF xyzHeartBeat()
定期发送心跳信号,不支持
- DEFFCT INT xyzSwitchApp(app_name[]:IN)
切换应用
- 参数
app_name[] (CHAR[]) – 应用名称
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSwitchFlow(flow_name[]:IN)
切换流图
- 参数
flow_name[] (CHAR[]) – 流图名称
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSwitchTool(tool[]:IN)
切换工具
- 参数
tool[] (CHAR[]) – 工具名称
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzReqCapImg(vision_service_id:IN, token:OUT)
请求拍照
- 参数
vision_service_id (INT) – 需要进行拍照的视觉服务 id
token (INT) – 请求拍照结果
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzGetCapImg(token:IN)
获取拍照结果
- 参数
token (INT) – 请求拍照时返回的 token
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzCapImg(vision_service_id:IN)
拍照
- 参数
vision_service_id (INT) – 需要进行拍照的视觉服务 id
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzReqGraspPose(ws_id:IN, token:OUT)
请求抓取位姿
- 参数
ws_id (INT) – 需要获取抓取点位的工作空间id
token (INT) – 返回的用于获取目标点位时使用的token
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzGetGraspPose(token:IN, grasp_pose:OUT, grasp_pose_num:OUT, pipeline_num:OUT, register_num:OUT)
获取抓取位姿
- 参数
token (INT) – 求抓取目标点位时返回的token
grasp_pose (E6POS) – 抓取位姿
grasp_pose_num – 可供抓取的点数量
grasp_pose_num – INT
pipeline_num – pipeline 编号
pipeline_id – INT
register_num – 注册编号
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzReqObjPose(ws_id:IN, obj_token:OUT)
请求物体位姿
- 参数
ws_id (INT) – 需要获取物体位姿的工作空间id
obj_token (INT) – 物体位姿识别的token
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzGetObjPose(token:IN, obj_pose:OUT, obj_pose_num:OUT, obj_pose_type:OUT)
获取物体位姿
- 参数
token (INT) – 请求物体位姿时得到的token
obj_pose (E6POS) – 物体位姿
obj_pose_num (INT) – 物体数量
obj_pose_type (INT) – 当前返回的物体 pose 类型
- 返回
err_code
- 返回类型
INT
- DEFFCT INT Task()
重置任务
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSendCurrentJoints()
发送机械臂当前角度:j1~j6: 机械臂当前的角度信息,如果机械臂轴数小于6轴,则需要对应位置补零,依旧发送六个数。
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSendCurrentCartPose()
发送机械臂法兰当前位姿
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSendCurrentCartPose()
发送机械臂当前扩展轴位置:j1~j6: 机械臂当前扩展轴的角度信息,如果扩展轴数不足6的,需要补零后发送六个数。
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzReqPick()
请求pick动作规划
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzReqPlace()
请求place动作规划
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzReqPickPlace()
请求pick和place规划
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPickin(ws_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
- 参数
uws_id (INT) – 需要获取取料入框点位的工作空间id
pipeline_num (INT) – pipeline 编号
register_num (INT) – 注册编号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
获取取料入框轨迹
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPickout(ws_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
- 参数
uws_id (INT) – 需要获取取料出框点位的工作空间id
pipeline_num (INT) – pipeline 编号
register_num (INT) – 注册编号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
获取取料出框轨迹
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPlacein(ws_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
- 参数
uws_id (INT) – 需要获取放料入框点位的工作空间id
pipeline_num (INT) – pipeline 编号
register_num (INT) – 注册编号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
获取放料入框轨迹
:param
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzGetPlaceout(ws_id:IN, pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
- 参数
uws_id (INT) – 需要获取放料出框点位的工作空间id
pipeline_num (INT) – pipeline 编号
register_num (INT) – 注册编号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
获取放料出框轨迹
- 返回
err_code
- 返回类型
INT
- GLOBAL DEF xyzParseTraj(pipeline_num:OUT, register_num:OUT, num:OUT,wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
解析轨迹
- 返回
err_code : 错误码
pipeline_num : pipeline编号
register_num : 注册编号
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzExecuteTraj(num:IN, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
执行轨迹
- 返回
err_code : 错误码
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzExecutePickInTraj(num:IN, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
执行取料入框轨迹
- 返回
err_code : 错误码
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzExecutePickOutTraj(num:IN, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
执行取料出框轨迹
- 返回
err_code : 错误码
num : 轨迹点数
wp_type[] : 轨迹点类型
joints[] : 关节坐标数组
carts[] : 笛卡尔坐标数组
- GLOBAL DEF xyzSetMoveJParameters(movej_vel:IN, movej_acc:IN, movej_apo_dist:IN)
设置关节移动参数
- 参数
movej_vel – 关节移动速度, 范围 0~100
movej_acc – 关节移动加速度, 范围 0~100
movej_apo_dist – 圆滑过渡半径, 范围 0~500 mm
- GLOBAL DEF xyzSetMoveLParameters(movel_vel:IN, movel_acc:IN, movel_apo_dist:IN)
设置笛卡尔移动参数
- 参数
movel_vel – 笛卡尔移动速度, 范围 0~100
movel_acc – 笛卡尔移动加速度, 范围 0~100
movel_apo_dist – 圆滑过渡半径, 范围 0~500 mm
- GLOBAL DEFFCT INT xyzRecvAndParse()
接收并解析数据
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSwitchStrat(in_strat[]:IN)
请求切换策略
- 参数
in_strat[] (CHAR[]) – 策略名称
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzUpdateTotePose()
料箱重定位(需手动扩展)
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzUpdateObjPoseOnHand()
工件在上手的二次定位
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzUpdateObjPoseToHand(pipeline_num:OUT, register_num:OUT, num:OUT, wp_type[]:OUT, joints[]:OUT, carts[]:OUT)
- 参数
pipeline_num (INT) – pipeline 编号
register_num (INT) – 注册编号
num (INT) – 可供抓取的点数量
wp_type[] (INT) – 轨迹点位类型数组
joints[] (E6AXIS) – 关节点位数组
carts[] (E6POS) – 笛卡尔点位数组
工件不在手上的二次定位(需手动扩展)
- 返回
err_code
- 返回类型
INT
- DEFFCT INT xyzSwitchObj(obj_name[]:IN)
切换工件
- 参数
obj_name[] (CHAR[]) – 流图名称
- 返回
err_code
- 返回类型
INT
- GLOBAL DEFFCT INT xyzCalculateGraspPose(ws_id:IN, grasp_pose:OUT, grasp_pose_num:OUT, pipeline_num:OUT, register_num:OUT)
计算抓取目标点位
- 参数
ws_id (INT) – 需要进行抓取的工作空间id
grasp_pose (E6POS) – 抓取目标点位
grasp_pose_num (INT) – 可供抓取的点数量
pipeline_num – pipeline 编号
register_num – 注册编号
- GLOBAL DEFFCT INT xyzCalculateObjPose(ws_id:IN, obj_pose:OUT, obj_pose_num:OUT, pose_type:OUT)
计算物体位姿
- 参数
ws_id (INT) – 需要进行抓取的工作空间id
obj_pose (E6POS) – 物体位姿
obj_pose_num (INT) – 可供抓取的点数量
pose_type (INT) – 物体位姿类型