Interface Communication Command Specification
|
Port 5700
Automation Communication Protocol - Epic Pro acts as the server (Port 5700).

Single Commands
Action |
Command |
Response |
||
---|---|---|---|---|
Capture Photo |
110,cameraID 110,cameraID1,cameraID2… (If only 110 is provided, the first camera is used by default) |
Success: 110,cameraID Failure: 000,errorCode,cameraID |
||
Detection |
Normal Detection: 120,requestedPoseCount,0 Grab Path Planning Only: 120,grabPathCount,0 With Retreat Path Planning: 120,grabPathCount,retreatPathCount |
Success: CommandCode=120 Case 1 (Normal Detection/Collision Detection): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n Case 2 (Path Planning): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n The interface point cloud updates; for collision detection or path planning, the robot state also changes.
Failure: 000,Robot Status Code |
||
Switch Object in Space |
130,spaceID,objectID |
Success: 130 Failure: 000,Robot Status Code |
||
Robot Photo Pose (Eye-on-Hand) |
140,cameraID,X,Y,Z,orientation (Quaternion parsed in the order W,X,Y,Z) |
Success: 140,cameraID Failure: 000,Robot Status Code |
||
Restart Vision Software |
307 |
Command Received: 307 |
||
Shut Down Industrial PC |
886 |
Command Received: 886 |
Shortcut Commands
Action |
Command |
Response |
---|---|---|
Capture Photo + Detection |
Normal Detection: 220,grabPointCount,0 Grab Path Planning Only: 220,grabPathCount,0 With Retreat Path Planning: 220,grabPathCount,retreatPathCount |
Success: CommandCode=220 Case 1 (Normal Detection/Collision Detection): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n Case 2 (Path Planning): commandCode,pose.ConcurrentType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n The interface point cloud updates; for collision detection or path planning, the robot state also changes. Failure: 000,Robot Status Code |
Capture Photo + Robot Photo Pose |
240,cameraID,X,Y,Z,orientation |
Success: 240,cameraID Failure: 000,Robot Status Code |
Capture Photo + Robot Photo Pose + Detection |
Normal Detection: 250,cameraID,X,Y,Z,orientation,grabPointCount,0 Grab Path Planning Only: 250,cameraID,X,Y,Z,orientation,grabPathCount,0 With Retreat Path Planning: 250,cameraID,X,Y,Z,orientation,grabPathCount,retreatPathCount |
Success: CommandCode=250 Case 1 (Normal Detection/Collision Detection): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n Case 2 (Path Planning): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n The interface point cloud updates; for collision detection or path planning, the robot state also changes. Failure: 000,Robot Status Code |
Switch Object in Space + Capture Photo |
310,spaceID,objectID,cameraID1,cameraID2… (If no cameraID is provided, the first camera is used by default) |
Success: 310,cameraID Failure: 000,Robot Status Code |
Switch Object in Space + Capture Photo + Detection |
Normal Detection: 320,spaceID,objectID,cameraID1,cameraID2…,grabPointCount,0 Grab Path Planning Only: 320,spaceID,objectID,cameraID1,cameraID2…,grabPathCount,0 With Retreat Path Planning: 320,spaceID,objectID,cameraID1,cameraID2…,grabPathCount,retreatPathCount (If no cameraID is provided, the first camera is used by default) |
Success: CommandCode=320 Case 1 (Normal Detection/Collision Detection): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n Case 2 (Path Planning): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n The interface point cloud updates; for collision detection or path planning, the robot state also changes. Failure: 000,Robot Status Code |
Switch Object in Space + Capture Photo + Robot Photo Pose |
340,spaceID,objectID,cameraID,X,Y,Z,orientation |
Success: 340,cameraID Failure: 000,Robot Status Code |
Switch Object in Space + Capture Photo + Robot Photo Pose + Detection |
Normal Detection: 350,spaceID,objectID,cameraID,X,Y,Z,orientation,grabPointCount,0 Grab Path Planning Only: 350,spaceID,objectID,cameraID,X,Y,Z,orientation,grabPathCount,0 With Retreat Path Planning: 350,spaceID,objectID,cameraID,X,Y,Z,orientation,grabPathCount,retreatPathCount |
Success: CommandCode=350 Case 1 (Normal Detection/Collision Detection): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n Case 2 (Path Planning): commandCode,poseType(Cartesian 0/Joint 1),sentPoseCount(n),objectWithGrabCount,totalGrabPointCount,currentSpaceID,currentObjectID,currentGrabPointIndex(index of current grab point in all grab points list),currentGrabPointSeq(sequence number in grab point editing tool),reservedProStatus(0 if not available),0,0,pose*n The interface point cloud updates; for collision detection or path planning, the robot state also changes. Failure: 000,Robot Status Code |
Combined Commands
Basic Principles:
-
Combine individual instructions with each other, separated by a semicolon (;)
-
For eye-in-hand, ensure that the camera ID for taking photos is consistent with the camera ID for sending the photo point pose, and trigger the camera with the corresponding ID to take a photo before sending the photo point.
-
Instruction sequence:
Instruction Sequence
Example Instruction
Eye-out-hand: Switch space object → Take photo → Detect
130,0,0;110,0;120,1,0
Eye-in-hand: Switch space object → Take photo → Current camera photo point → Detect
130,0,0;110,0;140,0,0,0,0,0,0,0;120,1,0
Stitching eye-in-hand: Switch space object → Camera 0 take photo → Camera 1 take photo → Detect
130,0,0;110,0;110,1;120,1,0
Stitching eye-out-hand: Switch space object → Camera 0 take photo → Current camera 0 photo point → Camera 1 take photo → Current camera 1 photo point → Detect
130,0,0;110,0;140,0,0,0,0,0,0,0;110,1;140,1,0,0,0,0,0,0;120,1,0
Simple Examples:
Action |
Command |
Response |
---|---|---|
Capture Photo + Detection |
110,cameraID1,cameraID2…;120,1,0 or 110;120,1,0 (If no cameraID is provided, the first camera is used by default) |
Refer to the response details in the tables above |
Capture Photo + Robot Photo Pose |
110,cameraID;140,cameraID,X,Y,Z,orientation |
Refer to the response details in the tables above |
Capture Photo + Robot Photo Pose + Detection |
110,cameraID;140,cameraID,X,Y,Z,orientation;120,1,0 |
Refer to the response details in the tables above |
Return Status Codes
All commands must pass through HOOK for return values, and all have responses. |
Success Status Codes
Status Code |
Description |
Remarks |
---|---|---|
2001 |
Configuration Switch Successful |
|
2002 |
Camera Switch Successful |
|
2003 |
Robot Photo Pose Set Successfully |
|
2004 |
Photo Capture Successful |
|
2005 |
Detection Successful |
Includes normal detection and collision detection success |
2006 |
Path Planning Successful |
Error Status Codes
Status Code |
Description |
Remarks |
---|---|---|
3001 |
Current Operation in Progress, Please Try Again Later |
Cannot perform other operations while exiting a plan or in a waiting state |
3002 |
Command Parsing Failed, Please Check Format |
|
3003 |
Incorrect Number of Requested Parameters |
|
3004 |
Invalid Photo Pose Format |
|
3005 |
Requested Path Point Count Does Not Meet Requirements |
|
3006 |
Requested Grab Point Count Does Not Meet Requirements |
|
3007 |
Failed to Switch Grab Space |
|
3008 |
Failed to Switch Grab Configuration |
|
3009 |
Failed to Switch Camera |
|
3010 |
Failed to Set Camera Parameters |
|
3011 |
Current Robot Photo Pose Not Received |
|
3012 |
No Photo Data Available When Setting Camera Photo Pose |
|
3013 |
Failed to Set Current Robot Photo Pose |
|
3014 |
Last Robot Photo Pose Not Sent, Please Recapture and Send Corresponding Pose |
|
3015 |
Photo Capture Failed |
|
3016 |
Missing Detection Input Data |
Missing data before requesting ATOM: hand-eye calibration result or eye-on-hand photo point data |
3017 |
Failed to Set ATOM Parameters |
Includes runtime parameters and mapping parameters |
3018 |
ATOM Detection Exception |
Error or exception in ATOM execution (null result or caught exception) |
3019 |
Detection Exception |
120 command exception (excluding ATOM exceptions) |
3020 |
No Detection Result |
No target detected: 1. ATOM detection result is empty 2. ATOM result is non-empty but all points collide 3. ATOM result is non-empty but no grab points planned |
3021 |
No Available Grab Points |
Grab results exist, but all points have been grabbed, prompting "No available grab points" on subsequent requests |
3022 |
Epic Pro Exception |
Communication and hooks executed but unhandled hook exception |
Port 5800
Real-Time Robot Data Acquisition (Default Port 5800)
// Note: SN naming convention updated to VendorName-ModelName-RobotName
// VendorName follows the same naming convention as the motion_plan module
// RobotName can be 001, 002, 003, etc.
// Send Cartesian Space Pose
{"SN":"Abb-001","C":"[269.91,3.84,910.26,0.0353839,0.705059,0.0673907]"}
// Send Joint Angles
{"SN":"Abb-001","J":"[2.03,-48.87,50.83,-0.06,85.19,0.91]"}