接口通信指令说明

简介

自动化通讯协议-Epic Pro作为服务端(5700端口)。

interface instructions

指令说明

单条指令

行为

指令

返回信息

拍照

110,相机ID

110,相机ID1,相机ID2…​

(只输入110时默认使用第一个相机)

成功:110,相机ID

失败:000,失败编码,相机ID

检测

120,请求的位姿点个数

(只输入120时默认请求1个位姿)

成功:指令码=120

情况一(普通检测/碰撞检测):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

情况二(路径规划):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间名ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

界面点云变化,如果是碰撞检测和路径规划,机器人也会变化

失败:000,返回给机器人状态码

切换空间下抓取物

130,空间ID, 抓取物ID

成功:130

失败:000,返回给机器人状态码

机器人拍照位姿(EIH时使用)

140,相机ID,X,Y,Z,姿态

(四元数按照W,X,Y,Z的顺序解析)

成功: 140,相机ID

失败: 000,返回给机器人状态码

重启视觉软件

307

收到指令:307

关闭工控机

886

收到指令:886

快捷指令

行为

指令

返回信息

拍照+检测

220,相机ID1,相机ID2…​

(不包含相机ID默认使用第一个相机)

成功:指令码=220

情况一(普通检测/碰撞检测):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

情况二(路径规划):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间名ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

界面点云变化,如果是碰撞检测和路径规划,机器人也会变化

失败:000,返回给机器人状态码

拍照+机器人拍照位姿

240,相机ID,X,Y,Z,位姿

成功:240,相机ID

失败:000,返回给机器人状态码

拍照+机器人拍照位姿+检测

250,相机ID,X,Y,Z,位姿

成功:指令码=250

情况一(普通检测/碰撞检测):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

情况二(路径规划):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间名ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

界面点云变化,如果是碰撞检测和路径规划,机器人也会变化

失败:000,返回给机器人状态码

切换空间下抓取物+拍照

310,空间ID,抓取物ID,相机ID1,相机ID2…​

(不包含相机ID默认使用第一个相机)

成功: 240,相机ID

失败: 000,返回给机器人状态码

切换空间下抓取物+拍照+检测

320,空间ID,抓取物ID,相机ID1,相机ID2…​

(不包含相机ID默认使用第一个相机)

成功:指令码=320

情况一(普通检测/碰撞检测):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

情况二(路径规划):指令码,位姿类型(笛卡尔0/关节1),发出的位姿点数量n,有抓取点的抓取物个数,识别出的抓取点总个数,当前空间名ID,当前抓取物ID,当前抓取点索引(当前抓取点在所有抓取点列表中的索引),当前抓取点序号(在抓取点编辑工具中体现的序号),0,0,0,位姿*n

界面点云变化,如果是碰撞检测和路径规划,机器人也会变化

失败:000,返回给机器人状态码

切换空间下抓取物+拍照+机器人拍照位姿

340,空间ID,抓取物ID,相机ID,X,Y,Z,位姿

切换空间下抓取物+拍照+机器人拍照位姿+检测

350,空间ID,抓取物ID,相机ID,X,Y,Z,位姿

组合指令

基本原则:

  1. 单指令之间进行互相组合,以分号(;)进行分割

  2. 对于眼在手上,确保拍照的相机ID与发送拍照点位姿的相机ID一致,并在发送拍照点前触发对应ID的相机拍照

  3. 指令顺序:

    指令顺序

    示例指令

    眼在手上:切换空间抓取物 → 拍照 →检测

    130,0,0;110,0;120

    眼在手外:切换空间抓取物 → 拍照 → 当前相机拍照点→检测

    130,0,0;110,0;140,0,0,0,0,0,0,0;120

    拼接眼在手上:切换空间抓取物 → 相机0拍照 → 相机1拍照 →检测

    130,0,0;110,0;110,1;120

    拼接眼在手外:切换空间抓取物 → 相机0拍照 → 当前相机0拍照点→ 相机1拍照 → 当前相机1拍照点→检测

    130,0,0;110,0;140,0,0,0,0,0,0,0;110,1;140,1,0,0,0,0,0,0;120

简单示例:

行为

指令

返回信息

拍照+检测

110,相机ID1,相机ID2…​;120或者110;120

(不包含相机ID默认使用第一个相机)

返回结果参考上表

拍照+机器人拍照位姿

110,相机ID1;140,X,Y,Z,位姿

返回结果参考上表

拍照+机器人拍照位姿+检测

110,相机ID1;140,X,Y,Z,位姿;120

返回结果参考上表

返回状态码

失败状态码

状态码

说明

3000

初始化失败

3001

机器人初始化失败

3002

切换抓取配置失败

3003,相机组ID

切换相机组失败,并返回失败的相机组ID

3004

设置相机参数失败

3005

拍照失败

3006

ATOM检测失败

3007

路径规划数据准备失败

3008

碰撞检测数据准备失败

3009

眼在手上时,设置机器人当前位置失败

3010

ResponseHook编译失败

3011

ExtendPage编译失败

3012

ParserMonitorData编译失败

3013

设置ATOM参数失败

3014

通讯服务开启失败

3015

命令执行失败

3016

Hook初始化失败

异常状态码

状态码

说明

4000

ATOM异常

4001

ATOM检测异常

4002

Epic Pro运行异常

4003

碰撞检测异常

4004

路径规划异常

4005

设置机器人当前位姿异常

4006

请求的参数个数不对

4007

设置相机拍照点数据失败

警告状态码

状态码

说明

5000

操作还未完成,请稍后再试

5001

未收到机器人当前位置

5002

位姿列表已尽

5003

碰撞检测后无可用点

5004

未规划出可用轨迹

5005

ATOM图名称为空

5006

ATOM返回抓取点结果为空

5007

传入的EIH数据位数不正确

5008

没有工具数据

5009

绑定的模型名字为空

5010

传入参数包含空值

5011

缺少拍照数据

5012

请求路径点个数超出设定

5013

未发送机器人上次拍照点位姿,请重新拍照,并发送位姿