• VCR 说明文档

架构和思路

  • 在Server层处理对外接的请求和应答
    • 请求:分类api和其他请求
    • 注:
      • 依赖于Devices层
  • 在Devices层处理多种设备的请求
    • 多种设备包括:机器人,末端工具,相机,其他工具
    • 针对不同的设备请求进行分配
  • 在Tools层处理对末端工具的请求
    • 末端工具包括:电动吸盘,电动夹爪
    • 电动吸盘依赖于ElectricSucker层
  • 在Robots层处理对机械臂的请求
    • 机械臂包括:北京机械臂,其他主流机械臂厂商
    • 机械臂依赖于BeijingRobot层
  • 在Cameras层处理对相机的请求
    • 相机包括:图漾相机
    • 相机依赖于 TYCamera
  • 在Detectors层处理对检测器的请求
    • 检测器包括:lib下的检测器
    • 检测器依赖于 GH_Detector

电动吸盘接口

  • 注:
    • data : 先占位

打开

  • 方法:GET
  • 路径:/api/tools/sucker/open

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    

启动

  • 方法:GET
  • 路径:/api/tools/sucker/start

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    

停止

  • 方法:GET
  • 路径:/api/tools/sucker/stop

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    

机械臂接口

  • 登录设备即连接设备
    • 响应数据中 data 键对应的值为机械臂服务返回的数据

打开

  • 方法:POST
  • 路径:/api/robots/beijing/open
  • 请求数据:
    1
    2
    3
    4
    
    {
      "username":"admin(字符串)",
      "passwd":"123456(字符串)"
    }
    
  • 成功响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"SUCCESS"
      },
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    
    • 连接设备:目前想法为机械臂服务登录成功,表示连接设备成功

move joint(关节空间运动指令)

  • 方法:POST
  • 路径:/api/robots/beijing/moveJoint
  • 请求数据:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    {
      "space": "jointSpace(字符串)",
      "speed": 50,
      "point": [
          0,
          0,
          0,
          0,
          0,
          0
      ]
    }
    
    • 请求的数据目前单位为 弧度
  • 成功请求响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"SUCCESS"
      },
      "message":"成功"
    }
    
  • 失败请求响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    
  • 执行指令失败响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"FAIL"
      },
      "message":"成功"
    }
    

move line(笛卡尔空间运动指令)

  • 方法:POST
  • 路径:/api/robots/beijing/moveLine
  • 请求数据:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    {
      "space": "tcpSpace(字符串)",
      "point": [
          0.012879,
          -0.438915,
          0.0841378,
          -0.0170369,
          2.86191,
          -0.197385
      ]
    }
    
    • 目前单位 :
      • xyz 单位为 米
      • rx,ry,rz 单位为 弧度
  • 成功响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"SUCCESS"
      },
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    
  • 执行指令失败响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"FAIL"
      },
      "message":"成功"
    }
    

拖动示教模式

  • 方法:POST
  • 路径:/api/robots/beijing/dragMode
  • 请求数据:
    • drag为 true 进入拖动示教模式
    • drag为 false 退出拖动示教模式
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      
      {
      "drag": true,
      "mode": [
          8,
          8,
          8,
          8,
          8,
          8
      ]
      }
      
  • 成功响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"SUCCESS"
      },
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    
  • 执行指令失败响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"FAIL"
      },
      "message":"成功"
    }
    

获取当前坐标点

  • 方法:GET
  • 路径:/api/robots/beijing/getPoint

  • 成功响应
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    
    {
      "code":0,
      "data":{
          "CartInfo":[
              0.06573017199841043,
              -0.18093039602297886,
              0.6714999842590678,
              1.5707963497743604,
              3.1413529690927877,
              0.34917237684522284
          ],
          "JointInfo":[
              0.34907650304322624,
              0.000335558297349984,
              0.00023968449810713143,
              0.00014381069886427886,
              0.00009587379924285257,
              0
          ],
          "STATUS":"SUCCESS"
      },
      "message":"成功"
    }
    
    • 获取的关节角单位为 弧度
    • 获取的笛卡尔坐标 xyz位置 单位为米, rpy姿态 单位为欧拉角
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"错误信息"
    }
    
  • 执行指令失败响应
    1
    2
    3
    4
    5
    6
    7
    
    {
      "code":0,
      "data":{
          "STATUS":"FAIL"
      },
      "message":"成功"
    }
    

相机接口

初始化相机

  • 方法:GET
  • 路径:/api/cameras/tycamera/init

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"(错误信息)"
    }
    

打开相机

  • 方法:GET
  • 路径:/api/cameras/tycamera/open

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"(错误信息)"
    }
    

关闭相机

  • 方法:GET
  • 路径:/api/cameras/tycamera/close

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"(错误信息)"
    }
    

检测器

初始化检测器

  • 方法:GET
  • 路径:/api/detectors/detector/init

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"(错误信息)"
    }
    

检测一帧图片

  • 方法:GET
  • 路径:/api/detectors/detector/detect

  • 成功响应
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    {
      "code":0,
      "data":{
          "point_array":[
              {
                  "rx":-0.01703958989179134,
                  "ry":2.861906422352928,
                  "rz":-0.19738513912341824,
                  "x":0.012879030038020094,
                  "y":-0.43891458463458,
                  "z":0.0841377863535
              }
          ]
      },
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"(错误信息)"
    }
    

关闭检测器

  • 方法:GET
  • 路径:/api/detectors/detector/close

  • 成功响应
    1
    2
    3
    4
    5
    
    {
      "code":0,
      "data":null,
      "message":"成功"
    }
    
  • 失败响应
    1
    2
    3
    4
    5
    
    {
      "code":-1,
      "data":null,
      "message":"(错误信息)"
    }