API 说明
efort 工控机主控支持的 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 |
机械臂后台发送状态 |
支持 |
efort 机械臂主控支持的 API
- xyzSwitchApp(app_name)
切换应用
- 参数
app_name (STRING) – 应用名称
- 返回
err_code 为 0表示 成功
- xyzSwitchFlow(flow_name)
切换工件
- 参数
flow_name (STRING) – 流图名称
- 返回
err_code 为 0表示 成功
- xyzSwitchTool(tool_name)
切换工具
- 参数
tool_name (STRING) – 工具名称
- 返回
err_code 为 0表示成功
- xyzReqCapImg(vision_service_id)
请求拍照
- 参数
vision_service_id – 请求拍照的视觉服务 id
- 返回
err_code 为 0表示 成功
cap_img_token 返回的 token
- xyzGetCapImg(cap_img_token)
获取拍照结果
- 参数
cap_img_token (INT) – 请求拍照时返回的 token
- 返回
err_code 为 0表示 成功
- xyzCapImg(vision_service_id)
拍照
- 参数
vision_service_id – 需要进行拍照操作的视觉服务 id
- 返回
err_code 为 0表示 成功
- xyzReqGraspPose(ws_id)
请求抓取位姿
- 参数
ws_id – 需要获取抓取点位的工作空间id
- 返回
err_code 为 0表示 成功
grasp_pose_token 返回的用于获取目标点位时使用的token
- xyzGetGraspPose(grasp_pose_token)
获取抓取位姿
- 参数
grasp_pose_token (INT) – 求抓取目标点位时返回的token
- 返回
err_code 为 0表示 成功
grasp_pose 抓取位姿
grasp_pose_num 可供抓取的点数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
- xyzReqObjPose(ws_id)
请求物体位姿
- 参数
ws_id (INT) – 需要获取物体位姿的工作空间id
- 返回
err_code 为 0表示 成功
obj_token 返回的用于物体位姿识别的token
- xyzGetObjPose(obj_pose_token)
获取物体位姿
- 参数
obj_pose_token (INT) – 请求物体位姿时得到的token
- 返回
err_code 为 0表示 成功
obj_pose 物体位姿
num 物体数量
pose_type 当前返回的物体 pose 类型
- xyzResetTask(ws_id)
重置任务
- 参数
ws_id (INT) – 需要重置的任务id
- 返回
err_code 为 0表示 成功
- xyzSendCurrentJoints()
发送机械臂当前角度:j1~j6: 机械臂当前的角度信息,如果机械臂轴数小于6轴,则需要对应位置补零,依旧发送六个数。
- 返回
err_code
- 返回类型
INT
- xyzSendCurrentCartPose()
发送机械臂法兰当前位姿
- 返回
err_code
- 返回类型
INT
- xyzSendCurrentExtJoints()
暂不支持。
发送机械臂当前扩展轴位置:j1~j6: 机械臂当前扩展轴的角度信息,如果扩展轴数不足6的,需要补零后发送六个数。
- 返回
err_code 为 0表示 成功
- xyzReqPick()
请求pick动作规划
- 返回
err_code 为 0表示 成功
- xyzReqPlace()
请求place动作规划
- 返回
err_code
- 返回类型
INT
- xyzReqPickPlace(ws_id)
请求pick和place规划
- 参数
ws_id (INT) – 需要抓取的工作空间id
- 返回
err_code 为 0表示 成功
- xyzGetPickin(ws_id)
获取取料入框轨迹
- 参数
ws_id (INT) – 规划空间id,默认填 0
- 返回
err_code 为 0表示 成功
num 轨迹点数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
因函数不支持传出数组,轨迹点位信息这里不做输出。轨迹信息保存在功能块变量(全局变量) gInCarts, gWpType, gInJoints 中。以下轨迹均同理。
- xyzGetPickout(ws_id)
获取取料出框轨迹
- 参数
ws_id (INT) – 规划空间id,默认填 0
- 返回
err_code 为 0表示 成功
num 轨迹点数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
- xyzGetPickout(ws_id)
获取放料入框轨迹
- 参数
ws_id (INT) – 规划空间id,默认填 0
- 返回
err_code 为 0表示 成功
num 轨迹点数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
- xyzGetPlaceout(ws_id)
获取放料出框轨迹
- 参数
ws_id (INT) – 规划空间id,默认填 0
- 返回
err_code 为 0表示 成功
num 轨迹点数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
- xyzSwitchStrat(strat_name)
请求切换策略
- 参数
strat_name (string) – 策略名称
- 返回
err_code 为 0表示 成功
- xyzUpdateTotePose()
料箱重定位
- 返回
err_code 为 0表示 成功
tote_pose 料箱位姿
- xyzUpdateObjPoseOnHand()
工件在上手的二次定位
- 返回
err_code 为 0表示 成功
- xyzUpdateObjPoseToHand()
工件不在手上的二次定位
- 返回
err_code 为 0表示 成功
num 轨迹点数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
- xyzGetObjPoseType()
获取工件姿态类型
- 返回
err_code 为 0表示 成功
pose_type 工件姿态类型
- xyzResetPalletStatus()
重置工业码垛状态
- 返回
err_code 为 0表示 成功
- xyzSwitchItem(ws_id, item_codename)
切换工件
- 参数
ws_id (INT) – 工作空间id
item_codename (STRING) – 工件名称
- 返回
err_code 为 0表示 成功
- xyzCalculaeGraspPose(ws_id)
计算抓取位姿
- 参数
ws_id (INT) – 工作空间id
- 返回
err_code 为 0表示 成功
grasp_pose 抓取位姿
num 物体数量
pipeline_num pipeline文件number
register_num 用到的注册文件的注册number
- xyzCalculateObjectPose(ws_id)
- 参数
ws_id (INT) – 工作空间id
- 返回
err_code 为 0表示 成功
obj_pose 物体位姿
num 物体数量
pose_type 当前返回的物体 pose 类型
- xyzClearUserCommandData()
清空用户自定义命令数据(使用自定义命令前,必须调用)
- xyzUserCommand()
用户自定义发送数据。使用请按照参照 Main_example.
发送给工控机:
out_str :提供5个字符串供用户输入
out_ints:提供10个整数类型供用户输入
out_floats:提供10个浮点数供用户输入
out_cart_pose:cart_pose点位坐标,如果机器人是欧拉角形式,则只需给a,b,c赋值,d赋值0即可
out_joints:关节角坐标值
工控机返回:
in_str:返回5个字符串
in_ints:提供10个整数类型供用户输入:返回10个整数值
in_floats:提供10个浮点数供用户输入:返回10个浮点数
in_cart_pose:cart_pose点位坐标,如果机器人是欧拉角形式,则只需给a:返回一个笛卡尔位姿数据
in_joints:关节角坐标值:返回一个关节坐标
- 返回
err_code 为 0表示 成功