Skip to content

视觉工艺

设置视觉参数

0x4101 VISION_PARAMETER_SET

json
{
  "cameraType": "customize",
  "robot": 1,
  "vision": {
    "protocol": {
      "addDataInitialPara": "GD001",
      "addDataNum": 5,
      "angleUnit": 0,
      "endMark": "$",
      "failFlag": "NG",
      "frameHeader": "@",
      "hasTCS": true,
      "hasUCS": false,
      "separator": ",",
      "singleTarget": false,
      "successFlag": "OK",
      "timeOut": 30,
      "type": 1
    },
    "socket": {
      "IP": "192.168.1.120",
      "camera_data_type": 0,
      "portNum": 1,
      "portOne": 5050,
      "portTwo": 0,
      "server": true
    },
    "trigger": {
      "IOPort": 0,
      "duration": 1000,
      "intervals": 35,
      "triggerMode": 2,
      "triggerOnce": true,
      "triggerStr": "TRG"
    },
    "userCoordNum": 2
  },
  "visionNum": 0
}

参数说明:

参数分类参数名类型说明
cameraType-string相机类型,默认"customize"
robot-int机器人编号
vision.protocoladdDataInitialParastring附加数据起始变量
vision.protocoladdDataNumint附加数据个数
vision.protocolangleUnitint0: 角度;1: 弧度
vision.protocolendMarkstring结束符
vision.protocolfailFlagstring失败发送标志符
vision.protocolframeHeaderstring帧头
vision.protocolhasTCSbool接收坐标系 工具
vision.protocolhasUCSbool接收坐标系 用户
vision.protocolseparatorstring分割符
vision.protocolsingleTargetbool单目标使能
vision.protocolsuccessFlagstring成功发送标志符
vision.protocoltimeOutint超时时间
vision.protocoltypeint0: 2D, 1: 2D+高度, 2: 3D
vision.socketIPstring相机IP
vision.socketcamera_data_typeint0: 机器人坐标, 1: 像素坐标
vision.socketportNumint端口数
vision.socketportOneint端口1
vision.socketportTwoint端口2
vision.socketserverbooltrue: 服务端, false: 客户端
vision.triggerIOPortint触发方式 绑定IO端口
vision.triggerdurationint持续时间
vision.triggerintervalsint触发周期
vision.triggertriggerModeint1: IO, 2: Ethernet
vision.triggertriggerOncebooltrue: 单次, false: 多次
vision.triggertriggerStrstring触发字符串
visionuserCoordNumint手眼标定用户坐标系
-visionNumint工艺号,从0开始

查询视觉参数

0x4102 VISION_PARAMETER_INQUIRE

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号,从0开始

返回查询视觉参数结果

0x4103 VISION_PARAMETER_RESPOND

json
{
  "cameraList": {
    "currentName": "customize",
    "listNum": 0
  },
  "protocol": {
    "addDataInitialPara": "GD002",
    "addDataNum": 4,
    "angleUnit": 1,
    "endMark": "*",
    "failFlag": "N",
    "frameHeader": "#",
    "hasTCS": true,
    "hasUCS": true,
    "separator": ".",
    "singleTarget": true,
    "successFlag": "OK",
    "timeOut": 31,
    "type": 2
  },
  "socket": {
    "IP": "192.168.1.14",
    "camera_data_type": 1,
    "portNum": 2,
    "portOne": 5052,
    "portTwo": 5051,
    "server": false
  },
  "trigger": {
    "IOPort": 2,
    "duration": 100,
    "intervals": 35,
    "triggerMode": 2,
    "triggerOnce": false,
    "triggerStr": "TG"
  },
  "userCoordNum": 100
}

返回参数说明:

参数分类参数名类型说明
cameraListcurrentNamestring当前相机名称
cameraListlistNumint默认值配置
protocol(同设置)-协议参数,详见上方
socket(同设置)-Socket参数,详见上方
trigger(同设置)-触发参数,详见上方
-userCoordNumint用户坐标系编号

视觉位置参数设置

0x4104 VISION_POS_PARAMETER_SET

json
{
  "position": {
    "angleDirection": 1,
    "cameraPoint": [0.0, 0.0, 100.0, 0.0, 0.0, 0.0],
    "datumPoint": [0.0, 0.0, 0.0, 3.140, 0.0, 0.0, 0.0],
    "excursion": {
      "Xexcursion": 1.0,
      "Yexcursion": 2.0,
      "Zexcursion": 3.0,
      "angle": 4.0
    },
    "recvPointsType": 0,
    "scale": 1.0
  },
  "robot": 1,
  "visionNum": 0
}

参数说明:

参数分类参数名类型说明
positionangleDirectionint角度方向,1或-1
positioncameraPointarray第一位X值,第二位Y值,第三位高度,第四位角度。
若参数类型是2D和2D+H,则保存4元数组[x,y,H,angle]。
若为3D,则保存6元数组[x,y,z,a,b,c]。
positiondatumPointarray基准点x,y,z,a,b,c
position.excursionXexcursionfloatX方向偏移
position.excursionYexcursionfloatY方向偏移
position.excursionZexcursionfloatZ方向偏移
position.excursionanglefloat角度偏移
positionrecvPointsTypeint接受位置类型:0: 点,1: 轨迹
positionscalefloat比例系数
-robotint机器人编号
-visionNumint工艺号,从0开始

视觉位置参数查询

0x4105 VISION_POS_PARAMETER_INQUIRE

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号,从0开始

返回0x4105查询结果

0x4106 VISION_POS_PARAMETER_RESPOND

同:0x4104


查询视觉调试点位列表

0x4107 VISION_DEBUGGING_POS_INQUIRE

json
{
  "robot": 1,
  "visionNum": 1,
  "conveyorNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号,从0开始
conveyorNumint传送带工艺号,从1开始

返回视觉调试点位列表

0x4108 VISION_DEBUGGING_POS_RESPOND

json
{
  "robot": 1,
  "visionNum": 1,
  "originPos": [
    {"X": 0.0, "Y": 0.0, "Z": 0.0, "angle": 0.0},
    {"X": 0.0, "Y": 0.0, "Z": 0.0, "angle": 0.0},
    {"X": 0.0, "Y": 0.0, "Z": 0.0, "angle": 0.0}
  ],
  "currentPos": [
    {"X": 0.0, "Y": 0.0, "Z": 0.0, "angle": 0.0},
    {"X": 0.0, "Y": 0.0, "Z": 0.0, "angle": 0.0},
    {"X": 0.0, "Y": 0.0, "Z": 0.0, "angle": 0.0}
  ]
}
参数名类型说明
robotint机器人编号
visionNumint工艺号,从0开始
originPosarray原始位置列表
currentPosarray当前位置列表

清空视觉调试点位列表

0x4109 VISION_DEBUGGING_POS_CLEAR

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号,从0开始

拍照

0x410A VISION_DEBUGGING_TAKE_PICTURE

拍照前要上电

json
{
  "robot": 1,
  "visionNum": 0
}
参数名类型说明
robotint机器人编号
visionNumint工艺号

计算偏移

0x410B VISION_DEBUGGING_CALCULATE

返回0x4108

json
{
  "robot": 1,
  "visionNum": 0,
  "conveyorNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
conveyorNumint传送带工艺号

运动至该点

0x410C VISION_DEBUGGING_POS_MOVE

json
{
  "robot": 1,
  "visionNum": 1,
  "type": 1,
  "posNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
typeint0: 试拍照点,1: 位置调试点,2: 抓取姿态基准点
posNumint点位编号,1-20

标定抓取姿态

0x4110 VISION_GESTURE_CALIBRATION_SET

标定后,要用0x4104重新写入

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号

返回标定结果

0x4111 VISION_GESTURE_CALIBRATION_RESPOND

json
{
  "datumPoint": [0, 0, 0, 0, 0, 0],
  "datumPointDeg": [0, 0, 0, 0, 0, 0]
}
参数名类型说明
datumPointarray基准点弧度制
datumPointDegarray基准点角度制

清除抓取姿态标定

0x4116 VISION_GESTURE_CALIBRATION_CLEAR

清空后,要用0x4104重新写入

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号

试拍照

0x4112 VISION_TRY_TAKE_PICTURE

json
{
  "visionNum": 1,
  "robot": 1
}
参数名类型说明
visionNumint工艺号
robotint机器人编号

返回拍照结果

0x4113 VISION_TAKE_PICTURE_RESPOND

json
{
  "cameraData": "",
  "cameraPoint": [0, 0, 0, 0, 0, 0]
}
参数名类型说明
cameraDatastring相机数据
cameraPointarray相机点位。3D相机6个数值,否则4个

视觉IP参数查询

0x4114 VISION_IPPARAM_INQUIRE

json
{
  "visionNum": 1,
  "robot": 1,
  "server": true
}
参数名类型说明
visionNumint工艺号
robotint机器人编号
serverbooltrue: 服务端, false: 客户端

返回0x4114查询结果

0x4115 VISION_IPPARAM_RESPOND

json
{
  "visionNum": 1,
  "robot": 1,
  "server": true,
  "IP": "192.168.1.120"
}
参数名类型说明
visionNumint工艺号
robotint机器人编号
serverbooltrue: 服务端, false: 客户端
IPstringIP地址

视觉标定参数设置

0x4117 VISION_CALIBRATION_PARAM_SET

json
{
  "robot": 1,
  "visionNum": 1,
  "calibration": {
    "point_num": 9,
    "calibrated": false,
    "point": [
      {
        "pixel_pos": [1, 2, 3, 4, 5, 6, 7],
        "robot_pos": [1, 2, 3, 4, 5, 6, 7]
      },
      {
        "pixel_pos": [1, 2, 3, 4, 5, 6, 7],
        "robot_pos": [1, 2, 3, 4, 5, 6, 7]
      }
    ]
  }
}

参数说明:

参数分类参数名类型说明
-robotint机器人编号
-visionNumint工艺号
calibrationpoint_numint标定点个数
calibrationcalibratedbool是否已标定
calibration.pointpixel_posarray像素坐标
calibration.pointrobot_posarray机器人坐标

视觉标定参数查询

0x4118 VISION_CALIBRATION_PARAM_INQUIRE

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号

返回0x4118查询结果

0x4119 VISION_CALIBRATION_PARAM_RESPOND

json
{
  "calibration": {
    "calibrated": false,
    "point": [
      {
        "pixel_pos": [0, 0, 0, 0, 0, 0, 0],
        "pixel_pos_deg": [0, 0, 0, 0, 0, 0, 0],
        "robot_pos": [0, 0, 0, 0, 0, 0, 0],
        "robot_pos_deg": [0, 0, 0, 0, 0, 0, 0]
      }
    ],
    "point_num": 6
  },
  "robot": 1,
  "visionNum": 0
}

返回参数说明:

参数分类参数名类型说明
calibrationcalibratedbool是否已标定
calibrationpoint_numint标定点个数
calibration.pointpixel_posarray像素坐标弧度
calibration.pointpixel_pos_degarray像素坐标角度
calibration.pointrobot_posarray机器人坐标弧度
calibration.pointrobot_pos_degarray机器人坐标角度
-robotint机器人编号
-visionNumint工艺号

标定该点

0x411A VISION_CALIBRATION_MARK_POINT

json
{
  "robot": 1,
  "visionNum": 1,
  "point_num": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
point_numint标定点编号

返回响应标定该点的数据

0x411B VISION_CALIBRATION_MARK_RESPOND

json
{
  "robot": 1,
  "visionNum": 0,
  "point_num": 1,
  "pixel_pos": [1, 2, 3, 4, 5, 6, 7],
  "robot_pos": [1, 2, 3, 4, 5, 6, 7],
  "pixel_pos_deg": [1, 2, 3, 40, 50, 60, 7],
  "robot_pos_deg": [1, 2, 3, 40, 50, 60, 7]
}
参数名类型说明
robotint机器人编号
visionNumint视觉工艺号
point_numint标定点编号
pixel_posarray像素坐标
robot_posarray机器人坐标
pixel_pos_degarray像素坐标角度制
robot_pos_degarray机器人坐标角度制

运动到该点

0x411C VISION_CALIBRATION_MOVE_TO_POINT

json
{
  "robot": 1,
  "visionNum": 1,
  "point_num": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
point_numint标定点编号

清除该点数据

0x411D VISION_CALIBRATION_REMOVE_POINT

json
{
  "robot": 1,
  "visionNum": 1,
  "point_num": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
point_numint标定点编号

自动标定运行计算

0x411E VISION_CALIBRATION_AUTO_RUN_AND_CALCULATION

json
{
  "robot": 1,
  "visionNum": 1,
  "caculate_type": 0
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
caculate_typeint0: 眼在手上

自动标定:返回像素坐标

0x4120 VISION_CALIBRATION_CAMERA_DATA_RESPOND

json
{
  "robot": 1,
  "visionNum": 1,
  "point_num": 1,
  "pixel_pos": [1, 2, 3, 4, 5, 6, 7],
  "pixel_pos_deg": [1, 2, 3, 40, 50, 60, 7]
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
point_numint点号
pixel_posarray像素坐标
pixel_pos_degarray像素坐标角度制

标定计算结果

0x4121 VISION_CALIBRATION_CALC_RESPOND

json
{
  "robot": 1,
  "visionNum": 1,
  "result": false
}
参数名类型说明
robotint机器人编号
visionNumint工艺号
resultbooltrue: 成功, false: 错误

取消自动标定

0x4122 VISION_CALIBRATION_CANCEL_CALCULATION

json
{
  "robot": 1,
  "visionNum": 1
}
参数名类型说明
robotint机器人编号
visionNumint工艺号

设置视觉范围

0x3F04 VISION_RANGE_SET

json
{
  "robot": 1,
  "visionNum": 0,
  "visionRange": {
    "maxX": "0",
    "maxY": "1.1",
    "maxZ": "222",
    "minX": "0.003",
    "minY": "0",
    "minZ": "0"
  }
}

参数说明:

参数名类型说明
robotint机器人编号,1~4
visionNumint工艺号,0~8
visionRange.maxXstringX最大值,未设置则为空字符串""
visionRange.maxYstringY最大值
visionRange.maxZstringZ最大值
visionRange.minXstringX最小值
visionRange.minYstringY最小值
visionRange.minZstringZ最小值

查询视觉范围

0x3F05 VISION_RANGE_INQUIRE

json
{
  "robot": 1,
  "visionNum": 0
}
参数名类型说明
robotint机器人编号
visionNumint工艺号

返回查询视觉范围结果

0x3F06 VISION_RANGE_RESPOND

json
{
  "maxX": "",
  "maxY": "1.1",
  "maxZ": "222",
  "minX": "0.003",
  "minY": "0",
  "minZ": "0"
}
参数名类型说明
maxXstringX最大值,未设置则为空字符串""
maxYstringY最大值
maxZstringZ最大值
minXstringX最小值
minYstringY最小值
minZstringZ最小值

位置标定协议

0x4128 VISION_RANGE_CALIBRATION_POS_INQUIRE

json
{
  "robotid": 1,
  "craftid": 0
}
参数名类型说明
robotidint机器人编号,1~4
craftidint工艺号,0~99

回复0x4128

0x4129 VISION_RANGE_CALIBRATION_POS_RESPOND

json
{
  "robotid": 1,
  "craftid": 0,
  "pos": [0, 0, 0, 0, 0, 0, 0]
}
参数名类型说明
robotidint机器人编号
craftidint工艺号
posarray当前位置

#########################以下2207版本无该功能#############################

标定结果保存

保存自动标定第2种类型标定的工具手结果

0x4123 VISION_CALIBRATION_SAVE_RESULT

json
{
  "robot": 1,
  "tool_num": 1,
  "tool_hand": [0, 0, 0, 0, 0, 0]
}
参数名类型说明
robotint机器人编号
tool_numint工具编号
tool_handarray工具手数据

手眼标定:根据socket数据计算转换矩阵

0x4124 VISION_CALIBRATION_CALCULATE_BY_SOCKET_DATA

json
{
  "robot": 1,
  "vision_num": 1,
  "calculation_type": 0,
  "base_robot_pos": [0, 0, 0, 0, 0, 0],
  "mark_pos": [
    {
      "robot_pos": [0, 0, 0, 0, 0, 0],
      "camera_pos": [0, 0, 0, 0, 0, 0]
    }
  ]
}

参数说明:

参数分类参数名类型说明
-robotint机器人编号
-vision_numint工艺号,从0开始
-calculation_typeint0: 眼在手上不变姿态的手眼标定
1: 眼在手上变姿态的手眼标定
2: 眼在手外的手眼标定
-base_robot_posarray直角坐标
mark_posrobot_posarray直角坐标
mark_poscamera_posarray相机坐标

视觉标定结果响应

0x4125 VISION_CALIBRATION_CALCULATE_BY_SOCKET_DATA_RESPOND

json
{
  "robot": 1,
  "vision_num": 1,
  "result": true,
  "matrix": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
}
参数名类型说明
robotint机器人编号
vision_numint工艺号,从0开始
resultbooltrue: 成功, false: 错误
matrixarray转换矩阵