Development and Use Based on Communication Protocol Packet

Communication Settings

  • Bus Interface: Built-in ESP32 (Separate left and right arm serial ports)

  • Baud Rate: 115200

  • Data Bits: 8

  • Parity: None

  • Stop Bits: 1

Left arm motion and velocity parameter table

Joint Minimum Joint Value (°) Maximum Joint Value (°) Maximum Joint Velocity (°/s) Maximum Joint Acceleration (°/s²)
J1 -165 165 150 200
J2 -50 120 150 200
J3 -165 165 150 200
J4 -165 1 150 200
J5 -165 165 150 200
J6 -75 255 150 200
J7 -165 165 150 200
Coordinates (BaseCoords) Minimum coordinate value (mm) Maximum coordinate value (mm) Maximum coordinate velocity (mm/s) Maximum coordinate acceleration (mm/s²)
x -351.11 566.92 200 400
y -272.12 645.91 200 400
z -262.91 655.13 200 400
rx/ry/rz -180° 180° 40°/s 66°/s²

Right Arm Motion and Velocity Parameter Table

Joint Minimum Joint Value (°) Maximum Joint Value (°) Maximum Joint Velocity (°/s) Maximum Joint Acceleration (°/s²)
J1 -165 165 150 200
J2 -50 120 150 200
J3 -165 165 150 200
J4 -165 1 150 200
J5 -165 165 150 200
J6 -75 255 150 200
J7 -165 165 150 200
J11 -55 0 - -
J12 -70 245 - -
J13 -160 160 - -
Coordinates (BaseCoords) Minimum coordinate value (mm) Maximum coordinate value (mm) Maximum coordinate velocity (mm/s) Maximum coordinate acceleration (mm/s²)
x -351.11 566.92 200 400
y -645.91 272.12 200 400
z -262.91 655.13 200 400
rx/ry/rz -180° 180° 40°/s 66°/s²

Introduction to Serial Port Commands

Transmit/Receive Format

Both sending and receiving are represented in hexadecimal. Each command contains 5 parts, as shown below:

[Frame Header] [Frame Header] [Length] [Function Code] [Data] [Checksum - High Byte] [Checksum - Low Byte]

  1. Frame Header (2 bytes): 0xFE 0XFE

  2. Valid Length (1 byte): 3-N, length starts from the function code and ends with the checksum.

  3. Function Code (1 byte): 1-255

  4. Data Bits: 0-N, high byte first.

  5. Frame Trailer: CRC16 checksum, high byte first.

  6. All commands have a first-level receive feedback; position mode control has position feedback.

Basic Control

  1. Read Master Control Version Number

    Instruction Length: 3

    Function Code: 02

    Send Data Bits: None

    Feedback Data Bits: Version Number - 1 byte, requires /10.0

    Send Instruction: FE FE 03 02 0D D1

    Feedback Instruction Example: FE FE 04 02 0A 51 7D, where the version number is V1.0

  2. Read Robot Model

    Instruction Length: 3

    Function Code: 03

    Send Data Bits: None

    Feedback Data Bits: Model - 2 bytes

    Send Command: FE FE 03 03 CD 10

  3. Read End-of-Line Version Number

    Instruction Length: 3

    Function Code: 06

    Send Data Bits: None

    Feedback Data Bits: Byte 1: Version Number

  4. Read End-of-Line Version Number

    Instruction Length: 3

    Function Code: 09

    Send Data Bits: None

    Feedback Data Bits: Byte 1: Version Number, requires /10.0

  5. Set Limit Switch

    Instruction Length: 5

    Function Code: 0E

    Send Data Bits: Byte 1: 1/2 1 - Position out of tolerance, 2 - Position feedback; Byte 2: 0/1 0 - Off, 1 - On, default on, saved without power loss

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  6. Read limit switch

    Instruction length: 3

    Function code: 0F

    Send data bits: None

    Feedback data bits: Byte 1: Position out of tolerance switch status, 0/1 1 - On; Byte 2: Position feedback switch status, 0/1 1 - On, default on

  7. Start robot

    Instruction length: 3

    Function code: 0x10

    Send data bits: None

    Feedback data bits: Byte 1: Startup status, 0-2; 0 - Startup failed 1 - Startup successful 2 - Emergency stop triggered

  8. Shut down robot

    Instruction length: 3
    Function Code: 0x11

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

    Feedback Command: FE FE 05 11 FF 01 E8 EC

  9. Read Robot Startup Status

    Command Length: 3

    Function Code: 0x12

    Send Data Bits: None

    Feedback Data Bits: Byte 1: Startup Status, 0-2; 0-Startup Failure 1-Startup Success 2-Emergency Stop Triggered

  10. Read Zero-Position Calibration Status

    Command Length: 3

    Function Code: 0x5A

    Send Data Bits: None

    Feedback Data Bits: Byte 1: 0/1; Overall Zero-Position Calibration Status, 1-Set; Bytes 2-9: 1X7 Joint Zero-Position Calibration Status

  11. The robot is powered on but cannot be controlled.

    Instruction length: 3

    Function code: 0x1D

    Send data bits: None

    Feedback data bits: Bytes 1-2: 0xFF 0x01

  12. Set Position Detection Error Angle

    The misalignment of joints 11 and 12 varies depending on the machine. The default error is 2°. If the joint fails to reach the correct position, first read the error value, then set the angle based on the actual error. The maximum error is 5°.

    Command Length: 6

    Function Code: 0x0B

    Send Data Bits: Byte 1: Joint Range: J11-J12; Bytes 2-3: Angle, range 0-5, needs to be *100 (range 0-500, supports decimal places)

    Feedback Data Bits: Byte 1: 0xFF, Byte 2: 0/1 0 - Incorrect parameter value

  13. Read Position Detection Error Angle

    Command Length: 4

    Function Code: 0x0C

    Send Data Bits: Byte 1: Joint Range: J11-J12

    Feedback Data Bits: Bytes 1-2: Error angle, needs to be /100

  14. Clear point buffer
    Clear the motion point buffers of the other 3 joints outside the arm (joints J11-J13). The robot will stop moving during the clearing process.

    Command length: 3

    Function code: 0x0D

    Send data bits: None

    Feedback data bits: Bytes 1-2: 0xFF 0x01

Motion Control

  • Motion control speed range: 1-100, actual speed percentage can be found in the above table of robotic arm motion and speed parameters.

  • Motion modes: Position interpolation, torque; only position interpolation provides motion positioning feedback.

  • Position positioning feedback data: FE FE 04 5B Status CRC-High CRC-Low; Normal motion command: FE FE 04 5B 00 CD 46; Abnormal motion command - J6 Overlimit: FE FE 04 5B 06 CF C6


  1. Full joint angle control

    Command length: 0x12

    Function code: 0x22

    Send data bits: Bytes 1-14: 2X7 joint angle (angle * 100.0) Byte 15: Speed 1-100

    [90, 10, -90, 45, 80, -100, 10], running speed 50%, sent command: FE FE 10 22 23 28 03 E8 DC D8 11 94 1F 40 27 10 03 E8 32 A3 E1

    First layer feedback fixed data bits: Bytes 1-2: 0xFF 0x01

    Second layer position feedback: only available in interpolation motion mode, FE FE 04 5B 00 CD 46

  2. Single joint angle control

    Command length: 7

    Function code: 0x21

    Sent data bits: Byte 1: Joint1-7, 11-13; Bytes 2-3: Angle (angle * 100.0); Byte 4: Speed
    J1 moves to 50°, running speed 10%, sent command: FE FE 07 21 01 13 88 0A 82 7A`

    First-level feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  3. Read all joint angles

    Instruction length: 3

    Function code: 0x20

    Send data bits: None

    Feedback data bits: Bytes 1-14: 2X7 joint angles (angle/100.0)

    [90, 10, -90, 45, 80, -100, 10] Feedback instruction: FE FE 10 20 23 28 03 E8 DC D8 11 94 1F 40 27 10 03 E8 21 35

  4. Full Coordinate Control

    Instruction Length: 0x10

    Function Code: 0x25

    Send Data Bits: Bytes 1-12: 2x6 coordinates (XYZ10.0, RXRYRZ100.0) Byte 13: Speed

    First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  5. Single Coordinate Control

    Instruction Length: 7

    Function Code: 0x24

    Send Data Bits: Byte 1: Coordinate Axis; Bytes 2-3: Coordinates (XYZ10.0, RXRYRZ100.0) Byte 4: Speed

    First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  6. Read Full Coordinates

    Instruction Length: 3

    Function Code: 0x23
    Send data bits: None

    Feedback data bits: Bytes 1-12: 2x6 coordinates (XYZ/10.0, RXRYRZ/100.0)

  7. Read robot motion status

    Instruction length: 3

    Function code: 0x2B

    Send data bits: None

    Feedback data bits: Byte 1: Motion status 0/1, 0 - not moving; 1 - moving

  8. Detect whether the robot has reached the point

    Instruction length: Angle: 18, Coordinates: 16

    Function code: 0x2A, Error accuracy: Angle within 1°, Coordinates within 2mm

    Send data bits:

    • Bytes 1-12: 2x6 coordinates (Angle 100.0, Coordinates XYZ 10.0, RXRYRZ * 100.0); Byte 13: Mode 1/2 - Coordinates;

    • Bytes 1-14: 2*7 joint angles; Byte 15: Mode 0 - Angle

      Feedback Data Bits: Byte 1: Position Status 0/1 0 - Not in position, 1 - In position

  9. Movement Pause

    Command Length: 3

    Function Code: 0x26

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  10. Movement Resumption

    Command Length: 3

    Function Code: 0x28

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  11. Movement End

    Command Length: 3

    Function Code: 0x29

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  12. Detect if movement is paused

    Command length: 3

    Function code: 0x27

    Send data bits: None

    Feedback data bits: Byte 1: Pause status 0/1, 0 - not manually paused; 1 - paused

  13. Continuous joint movement

    Command length: 6

    Function code: 0x30

    Send data bits: Byte 1: Joints 1-7; Byte 2: Direction 0/1 0 - Reverse rotation 1 - Forward rotation Byte 3: Speed

    First-level feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  14. Continuous Coordinate Movement

    Command Length: 6

    Function Code: 0x32

    Send Data Bits: Byte 1: Coordinate axes 1-6; Byte 2: Direction 0/1 0-Reverse Rotation 1-Forward Rotation Byte 3: Velocity

    First-Level Feedback Fixed Data Bits: Byte 1-2: 0xFF 0x01

  15. Base Coordinate Step Control

    Command Length: 7

    Function Code: 0x37

    Send Data Bits: Byte 1: Axis 1-6; Bytes 2-3: Step Value (XYZ10.0, RXRYRZ100.0); Byte 4: Speed

    First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  16. Joint Stepping Control
    Command Length: 7

    Function Code: 0x33

    Send Data Bits: Byte 1: Joints 1-7; Bytes 2-3: Step value * 100.0; Byte 3: Speed

    First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  17. Coordinate Stepping Control

    Command Length: 7

    Function Code: 0x34

    Send Data Bits: Byte 1: Axis 1-6; Bytes 2-3: Step value (XYZ 10.0, RXRYRZ 100.0); Byte 4: Speed

    First-Level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  18. Coordinate JOG Track Fusion (with 6D mouse)

    Command Length: 10

    Function Code: 0xEC Data transmission bits: Byte 1: Coordinate axes 1-6; Bytes 2-3: Step value (XYZ10.0, RXRYRZ100.0); Byte 4: Velocity

    First layer feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  19. Calculate Inverse Kinematics

    • Used to calculate the inverse kinematics of the robotic arm. Inputs: coords (target coordinates), angles (current joint angles). Output: solve_angles (angles corresponding to the target coordinates).

    Instruction Length: 0x1D

    Function Code: 0x8D

    Send Data Bits: Bytes 1-12: 2x6 target coordinates; Bytes 13-26: 2x7 current joint angle

    Feedback Data Bits: Bytes 1-28: 4x7 joint angle (/100.0)

  20. Start Drag Teaching

    Instruction Length: 3

    Function Code: 0x70

    Send Data Bits: None

    Feedback Data Bits: 0xFF 0x01

  21. Pause Sampling

    Instruction Length: 3

    Function Code: 0x72

    Send Data Bits: None

    Feedback Data Bits: 0xFF 0x01

  22. Execute Teaching Point

    Instruction Length: 3

    Function Code: 0x71 Send data bits: None
    Feedback data bits: 0xFF 0x01

  23. Clear sampling points
    Instruction length: 3
    Function code: 0x73
    Send data bits: None
    Feedback data bits: 0xFF 0x01

  24. Query collision detection mode
    Instruction length: 3
    Function code: 0xFD
    Send data bits: None
    Feedback data bits: Byte 1: 0/1, 1-open 0-close

  25. Set Collision Detection Mode

    Command Length: 4

    Function Code: 0x74

    Send Data Bits: 1-open 0-close

    After enabling collision detection, the robotic arm will automatically stop if a collision lasting longer than 200ms and exceeding the collision threshold occurs during movement.

    Feedback Data Bits: 0xFF 0x01

  26. Set Collision Threshold

    Command Length: 5

    Function Code: 0x75

    Send Data Bits:

    • Byte 1: joint range:(1-7)

    • Byte 2: radio range:(50-250)%

    You can set the collision threshold for the joints. The default value is 100%. The smaller the value, the easier it is to trigger a collision.

    Feedback Data Bits: 0xFF 0x01

  27. Get Collision Threshold

    Command Length: 3
    Function Code: 0x76

    Send Data Bits: None

    Feedback Data Bits:

    • Bytes 1-7: All-Joint Collision Threshold
  28. Set Torque Compensation Coefficient

    Command Length: 5

    Function Code: 0x77

    Send Data Bits:

    • Byte 1: Joint Range: (1-7)

    • Byte 2: Radio Range: (0-250)% Friction compensation coefficient for the torque ring, default is [0, 0, 0, 0, 10, 30, 30]. The larger the coefficient, the easier it is to drag.

    Feedback Data Bits: 0xFF 0x01

  29. Get Torque Compensation Coefficient

    Command Length: 3

    Function Code: 0x78

    Send Data Bits: None Feedback Data Bits:

    • Bytes 1-7: Full Joint Torque Compensation Coefficient
  30. Circular Arc Trajectory

    Command Length: 0x1C

    Function Code: 0x8C

    Send Data Bits:

    Circular Arc Path Point (transpoint) Circular Arc End Point (endpoint)

    Bytes 1-2: transpoint.x (*10) Bytes 3-4: transpoint.y

    Bytes 5-6: transpoint.z Bytes 7-8: transpoint.rx (*100)

    Bytes 9-10: transpoint.ry

    Bytes 11-12: transpoint.rz Bytes 13-14: endpoint.x (*10)

    Bytes 15-16: endpoint.y Bytes 17-18: endpoint.z

    Bytes 19-20: endpoint.rx (*100) Bytes 21-22: endpoint.ry
    Bytes 23-24: endpoint.rz
    Byte 25: speed (1-100)

    Feedback data bits: 0xFF 0x01

    Based on the current position of the robotic arm (starting point), the given arc transit point (transpoint), and the arc ending point (endpoint), an arc is determined by these three points, causing the robotic arm to execute the arc trajectory in the order of starting point, transit point, and ending point.

  31. Set Motion Control Mode

    • This interface takes a relatively long time to execute, approximately 4ms.
    • Position Mode: The standard control mode, generally used.

    • Torque Mode: When activated, it automatically enables zero-force drag function. The robotic arm cannot be controlled in this mode.

    Instruction length: 4

    Function code: 0x1E

    Send data bits: Byte 1: Mode 0/1 0-Position 1-Torque, zero-force drag; Default position mode

    Feedback data bits: Byte 1: 0xFF, Byte 2: 0/1 0-Setting failure, incorrect parameters; 1-Parameter correct

  32. Read Motion Control Mode

    Instruction length: 3

    Function Code: 0x1F

    Send Data Bits: None

    Feedback Data Bits: Byte 1: Mode 0/1 0-Position 1-Torque, Zero-Force Drag

  33. Over-Limit Return to Zero

    • After exceeding the limit, manual movement back to the limit is not required; currently only supported in position mode, not in refresh mode control.
    • It is forbidden to send motion commands other than "stop" before the homing process is complete.

    Command Length: 3

    Function Code: 04

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  34. Get Sampling Point

    • Pop the stored point from the sampling queue.

    Command Length: 3

    Function Code: 0x44

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-28: 4*7 angels

  35. Set Sampling Point

    • Push the sampling point into the sampling queue.

    Instruction length: 11

    Function code: 0x45

    Send data bits: Bytes 1-14: 2*7 angels

  36. Get the sampling queue length

    Instruction length: 3

    Function code: 0x46

    Send data bits: None

    Feedback fixed data bits: Byte 1: Length

  37. Get Zero-Space Deflection Angle Value

    • This interface is not available in the EDU version.

    Instruction Length: 3

    Function Code: 0x35

    Send Data Bits: None

    Feedback Fixed Data Bits: Byte 1: J1_angle_low, requires /100, Byte 2: J1_angle_high, requires /100

  38. Set Zero-Space Deflection Angle Value

    • This interface is not available in the EDU version.

    Instruction Length: 6

    Function Code: 0x36

    Send Data Bits: Bytes 1-2: angle (x100), Byte 3: speed 1-100

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  39. RPY Rotation

    Command Length: 6

    Function Code: 0xF5

    Send Data Bits: Byte 1: Mode 1-3 1-Roll angle (around X-axis) 2-Pitch angle (around Y-axis) 3-Yaw angle (around Z-axis); Byte 2: Direction 0/1 0-Reverse rotation 1-Forward rotation Byte 3: Speed

    First-level Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

Dual-Arm Base Interface

The dual-arm Base coordinate system is located at the waist

  1. Read BASE coordinates

    Command length: 3

    Function code: 0xF0

    Send data bits: None

    Feedback fixed data bits: Bytes 1-12: 2*6 coords

  2. Send BASE single coordinates

    Command length: 7

    Function code: 0xF1

    Send data bits: Byte 1: Axis 1-6; Bytes 2-3: BaseCoord value; Byte 4: Speed 1-100

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  3. Send BASE full coordinates

    Command length: 10

    Function code: 0xF2

    Send data bits: Bytes 1-12: 2*6 BaseCoord value; Byte 13: Speed 1-100

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  4. BASE coordinate jog control

    Instruction length: 6

    Function code: 0xF3

    Send data bits: Byte 1: Coordinate axes 1-6; Byte 2: Movement direction 0/1; Byte 3: Speed 1-100

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  5. Dual arm waist linkage

    Instruction length: 8

    Function code: 0x2E

    Send data bits: Bytes 1-2: currentWaist(angle100) ±180; Bytes 3-4: targetWaist(angle100) ±180; Byte 5: Speed 1-100

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

Auxiliary Functions

  1. Set Zero Position

    Command Length: 3

    Function Code: 0x54

    Send Data Bits: Byte 1: Joints 1-7, 11-13

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  2. Robot Turns Off Torque Output, All Joints Relaxed

    Command Length: 3

    Function Code: 0x13

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  3. Robot Turns On Torque Output, All Joints Locked

    Command Length: 3

    Function Code: 0x18

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  4. Set Individual Motor Power Off

    Instruction Length: 4

    Function Code: 0x56

    Send Data Bits: Byte 1: Joints 1-7, 11-13

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  5. Set Single Motor Power On

    Instruction Length: 4

    Function Code: 0x57

    Send Data Bits: Byte 1: Joints 1-7, 11-13

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  6. Set Joint Brake Switch

    Instruction Length: 5

    Function Code: 0x19

    Send Data Bits: Byte 1: Joints 1-7,13; Byte 2: 0/1 1-On

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  7. Set RGB Color

    Instruction Length: 5

    Function Code: 0x6A Send data bits: Bytes 1-3: R, G, B, range 0-255, all 0s - light off

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  8. Set maximum speed

    Instruction length: 6

    Function code: 0x41

    Send data bits: Byte 1: Mode 0/1, 0-angle, 1-coordinate; Bytes 2-3: speed, can only be set within the maximum range

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  9. Set maximum acceleration

    Instruction length: 6

    Function code: 0x43

    Send data bits: Byte 1: Mode 0/1, 0-angle, 1-coordinate; Bytes 2-3: acceleration, can only be set within the maximum range

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  10. Read Maximum Speed

    Instruction Length: 4

    Function Code: 0x40

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-2: Speed

  11. Read Maximum Acceleration

    Instruction Length: 4

    Function Code: 0x42

    Send Data Bits: Byte 1: Mode 0/1 0-Angle 1-Coordinate

    Feedback Data Bits: Bytes 1-2: Acceleration

  12. Set Joint Minimum Angle

    Command Length: 6

    Function Code: 0x4c

    Send Data Bits: Byte 1: Joints 1-7,11-13, Bytes 2-3: Minimum Angle * 10.0; Can only be set within the default range, no error will occur upon power failure

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  13. Read Joint Minimum Angle

    Command Length: 4

    Function Code: 0x4a

    Send Data Bits: Byte 1: Joints 1-7,11-13

    Feedback Data Bits: Bytes 1-2: Minimum Angle / 10.0

  14. Set Joint Maximum Angle

    Command Length: 6

    Function Code: 0x4d

    Send Data Bits: Byte 1: Joints 1-7,11-13, Bytes 2-3: Maximum angle * 10.0; can only be set within the default range, no error will occur upon power failure.

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  15. Read maximum joint angle

    Instruction length: 4

    Function code: 0x4b

    Send data bits: Byte 1: Joints 1-7,11-13

    Feedback data bits: Bytes 1-2: Maximum angle / 10.0

  16. Read Servo System Parameters

    Command Length: 6

    Function Code: 0x53

    Send Data Bits: Byte 1: id 11/12; Byte 2: addr 5-69; Bytes 3-4: mode 1/2

    Feedback Data Bits: Bytes 1-2: data

  17. Set Servo System Parameters

    Command Length: 8

    Function Code: 0x52

    Send Data Bits: Byte 1: id 11/12; Byte 2: addr 5-69; Bytes 3-4: data; Byte 5: mode 1/2

    Feedback Data Bits: Bytes 1-2: 0xFF 0x01

  18. Set Joint Direction

    • Zeroing is required before setting. Read the current direction first, then set.

    Instruction Length: 5

    Function Code: 0x7D

    Send Data Bits: Byte 1: Joints 1-7, Byte 2: Direction 0/1 1-Same Direction 0-Reverse Direction

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  19. Read Joint Direction

    Instruction Length: 3

    Function Code: 0x7C

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-7: 1X7 Joint Direction, 1-Same Direction 0-Reverse Direction

  20. Read VR Mode

    Instruction Length: 3

    Function Code: 0x79

    Send Data Bits: None
    Feedback Data Bits: Byte: 1-open 0-close

    Enabling VR mode reduces the motion command buffer length from 80 to 2.

    Suitable for development scenarios where motion buffer buildup is undesirable, such as VR control and remote control.

  21. Set VR Mode

    Command Length: 4

    Function Code: 0x7A

    Send Data Bits: Byte: 1-open 0-close

    Feedback Data Bits: 0xFF 0x01

  22. Get Velocity Fusion Planning Parameters

    • Used to modify the velocity and acceleration of the position loop velocity fusion interface.

    Command Length: 4

    Function Code: 0x4E

    Send Data Bits: Byte 1: 1-4, 1-fused joint velocity, 2-fused joint acceleration, 3-fused coordinate velocity, 4-fused coordinate acceleration

    Feedback Data Bits: Bytes 1-2: Velocity fusion planning parameters

  23. Set Velocity Fusion Planning Parameters

    Command Length: 4

    Function Code: 0x4F

    Send Data Bits:

    • Byte 1: 0-4, 0-Restore default parameters (only available with set), 1-Merge joint velocity, 2-Merge joint acceleration, 3-Merge coordinate velocity, 4-Merge coordinate acceleration

    • Bytes 2-3: value, range 0-10000

    Feedback Data Bits: 0xFF 0x01

  24. Get Monitoring Status

    Command Length: 3

    Function Code: 0xFB

    Send Data Bits: None

    Feedback Data Bits: Byte 1: 1-open 0-close

  25. Set Monitoring Status

    • After enabling monitoring mode, the interpolation point will be continuously returned when sending motion commands.

    Command Length: 4

    Function Code: 0xFC

    Send Data Bits: Byte 1: 1-open 0-close

    Feedback data bits: 0xFF 0x01

IO Control

Bottom IO

Note: Bottom I/O is only supported on the left arm; the right arm does not have bottom I/O.

  1. Set Base IO Output

    Instruction Length: 5

    Function Code: 0xA0

    Transmit Data Bits: Byte 1: Pin Number 1-6, Byte 2: Status 0/1 0-Low Level 1-High Level

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  2. Read Base IO Input

    Instruction Length: 4

    Function Code: 0xA1

    Transmit Data Bits: Byte 1: Pin Number 1-6

    Feedback Data Bits: Byte 1: Status 0/1 0-Low Level 1-High Level

End IO

  1. Set End IO Output

    Instruction Length: 5

    Function Code: 0x61

    Transmit Data Bits: Byte 1: Pin Number 1/2 Byte 2: Status 0/1 1. 0 - Low level 1 - High level

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  2. Read end I/O input

    Instruction length: 4

    Function code: 0x62

    Send data bits: Byte 1: Pin number 1-2

    Feedback data bits: Byte 1: Status 0/1 0 - Low level 1 - High level

  3. Read all end pin statuses

    Instruction length: 3

    Function code: 0x5F

    Send data bits: None

    Feedback data bits: Byte 1: Input 1 status 0/1 0 - Low level 1 - High level; Byte 2: Input 2 status; Byte 3: End button status

  4. Whether the end button is pressed

    Instruction length: 3

    Function code: 0x6F

    Send data bits: None
    Feedback data bits: Byte 1: 0/1 1 - Pressed, 0 - Not pressed

End Gripper Control

Note: For Pro force control grippers and three-finger grippers, please refer to the "Setting/Reading End Gripper Values" protocol below.

  1. Set Gripper Opening/Closed State

    Command Length: 6

    Function Code: 0x66

    Send Data Bits: Byte 1: State 0/1 0-open 1-close, Byte 2: Speed ​​1-100, Byte 3: Mode 1-Pro Adaptive Gripper, 2-Parallel Gripper, Default Pro Adaptive Gripper

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  2. Set Gripper Angle

    Command Length: 6

    Function Code: 0x67

    Send Data Bits: Byte 1: Gripper Angle 0-100, Byte 2: Speed ​​1-100, Byte 3: Mode 1-Pro Adaptive Gripper, 2-Parallel Gripper, Default Pro Adaptive Gripper

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  3. Set Gripper Zero Point

    • Set the gripper to zero position when it is fully open.

      Command length: 3

      Function code: 0x68

      Send data bits: None

      Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  4. Enable Pro adaptive gripper

    Command length: 4

    Function code: 0x58

    Send data bits: Byte 1: 0/1 1-Enable

    Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  5. Set gripper mode

    • Mode: Port/Pass-through mode. The default is port mode. The mode is not saved after power failure. The gripper automatically switches to port mode upon power-on after a power failure. Once switched to pass-through mode, it cannot be set back to port mode unless the gripper is powered on and off again.

    • Port: 2 output I/O, one high and one low to control gripper opening and closing.

    • Pass-through: Controls gripper opening and closing via interface.

      Command Length: 4

      Function Code: 0x6D

      Send Data Bits: Byte 1: Mode 0 - Pass-through, 1 - Port

      Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  6. Get Gripper Mode:

    Command Length: 3 bits

    Function Code: 0x6E

    Send Data Bits: None

    Feedback Fixed Data Bits: Byte 1: 0/1 0 - Pass-through, 1 - Port

  7. Set Electric Gripper Opening and Closing:

    • After the gripper is powered on, initial opening and closing requires initialization. The gripper LED will turn red after power-on.

      Command Length: 4 bits

      Function Code: 0x6B

      Send Data Bits: Byte 1: 0/1 1 - Closed, 0 - Open

      Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  8. Set electric gripper initialization

    • After the gripper is powered on, initialization is required for the first opening and closing. The gripper LED will turn red after power is on.

      Command length: 3

      Function code: 0x6C

      Send data bits: None

      Feedback fixed data bits: Bytes 1-2: 0xFF 0x01

  9. Set End-of-Life Accessory Values

    • Only supports Pro force control grippers and three-finger grippers

    • Public interface; other specific function interfaces: Force control gripper: Force Control Gripper Communication Protocol; Three-finger: Three-finger Communication Protocol

    • Force control IO: 1 bottom 2 high: On, 1 high 2 low: Off; After using the IO, the 485 needs to change the IO to the same state, 1 and 2 are both high or both low.

      Command length: 8-N

      Function code: 0xD8

      Send data bits:

      • Byte 1: Gripper ID, default 14

      • Bytes 2-3: Gripper function register address

      • Bytes 4-N: data1, data2...... Maximum byte 60

      Feedback data bits: Bytes 1-2: 0xFF 0x01

  10. Read end-effector value

    • Only supports Pro force control gripper and three-finger gripper

    • Public interface, other specific function interfaces: Force control gripper: Force Control Gripper Communication Protocol; Three-finger gripper: Three-finger Communication Protocol

    • Force control I/O: 1 low, 2 high: On; 1 high, 2 low: Off; After using the I/O, the 485 needs to change the I/O to the same state, 1 and 2 should be either both high or both low.

    Instruction length: 6 or 8

    Function code: 0xD9

    Send data bits:

    - Byte 1: Gripper ID, default 14
    
    - Bytes 2-3: Gripper function register address
    
    - Bytes 4-5: Data (optional)
    

    Feedback data bits: Gripper parameter values

Setting up Endpoint 485 Communication

  1. 485 Factory Reset

    Command Length: 3

    Function Code: 0xB1

    Transmit Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  2. Setting up 485 Communication

    Baud rate needs to be set before setting up

    Command Length: 3

    Function Code: 0xB2

    Transmit Data Bits: None

    Feedback Fixed Data Bits: Byte 1: 0/1 1 - Set

  3. Reading 485 Buffer Length

    Command Length: 3

    Function Code: 0xB3

    Transmit Data Bits: None

    Feedback Fixed Data Bits: Byte 1: len 0-255 readable byte length

  4. Reading Fixed-Length Data Read the buffer length before reading; data will be cleared after reading.

    Instruction Length: 4

    Function Code: 0xB4

    Send Data Bits: Byte 1: Maximum length 45

    Feedback Fixed Data Bits: Bytes 1-N: datas

  5. Send Data

    Instruction Length: 3+N

    Function Code: 0xB5

    Send Data Bits: Bytes 1-N: datas, N: Maximum 45

    Feedback Fixed Data Bits: Byte 1: len 0-45, total length sent in one operation

  6. Clear Buffer

    Instruction Length: 3

    Function Code: 0xB6

    Send Data Bits: None

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  7. Set 485 Baud Rate

    Instruction Length: 7 Function Code: 0xB8

    Send Data Bits: Bytes 1-4: Baud rate, common baud rates are 9600, 115200, 1000000, etc., default is 115200

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  8. Set 485 Timeout

    Command Length: 5

    Function Code: 0xB9

    Send Data Bits: Bytes 1-2: Timeout, in milliseconds, default 30ms

    Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

Status Query

  1. Read Robot Status

    Command Length: 3

    Function Code: 0xA2

    Send Data Bits: None

    Feedback Data Bits: Byte 1: Collision detection status 0/1 1-Collision; Byte 2: Movement status 0/1 1-In motion; Bytes 3-10: 81 Joints J1-J7 J13 exceeding limits 0/1 1-Exceeding limits; Bytes 11-30: 102 Joint motors reporting errors, overcurrent, overtemperature, etc. 0-65535, 0-Normal >0 Abnormal (see right side for specific status, e.g., undervoltage value: 8192) Errors 2/6/7/14/15 cannot be cleared, take emergency stop/power off the whole machine j1-7 j13 j11-12, j11-12 returning 65535 indicates no communication for this joint, see the error information table for details; Bytes 31-46: 8*2 Joint motor software error 0-Normal >0 Abnormal; see error information and position feedback table for details.

  2. Read Motion Error Information

    Command Length: 3

    Function Code: 0x07

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-2: Error Information, see error information and position feedback table for details.

  3. Read Joint Communication Error Count

    Instruction Length: 5

    Function Code: 0xA3

    Send Data Bits: Byte 1: Joints 1-7、13; Byte 2: Type 1-4, 1-Joint Send Error Count, 2-Joint Acquisition Error Count, 3-Endpoint Send Error Count, 4-Endpoint Acquisition Error Count

    Feedback Data Bits: Bytes 1-2: Error Count, Range 0-32700

  4. Read Joint Running Speed

    Instruction Length: 3

    Function Code: 0xE1

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-14: 2X7 Running Speed / 100.0 +30 ~ -30 rpm

  5. Acquire Joint Current

    Instruction Length: 3

    Function Code: 0xE2

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-14: 2X7 Joint Current Unit: MA

  6. Get Joint Status

    Command Length: 3

    Function Code: 0xE4

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-14: 2x7 Range: 0-65535 (Undervoltage value: 8192), Status: 0 - OK

  7. Read Zero-Position Encoder Value

    Command Length: 3

    Function Code: 0x59

    Send Data Bits: None

    Feedback Data Bits: Bytes 4x7: Joints J1-J7

  8. Read Zero-Position Encoder Value

    Command Length: 3

    Function Code: 0xA5

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-2: Angle/100, Default 21°

  9. Read Motor Errors During Movement

    Instruction Length: 3

    Function Code: 0x9C

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-14: 2x7

Setting the Coordinate System

  1. Setting the Tool Coordinate System

    Command Length: 0x0F

    Function Code: 0x81

    Send Data Bits:

    • Bytes 1-2: x (±1000) (10xmm)

    • Bytes 3-4: y (±1000)

    • Bytes 5-6: z (±1000)

    • Bytes 7-8: rx (±180) (100xRd)

    • Bytes 9-10: ry (±180)

    • Bytes 11-12: rz (±180)

      Feedback Data Bits: 0xFF 0x01

  2. Reading the Tool Coordinate System

    Command Length: 3

    Function Code: 0x82

    Send Data Bits: None Feedback Data Bits:

    • Bytes 1-2: x (±1000) (10xmm)

    • Bytes 3-4: y (±1000)

    • Bytes 5-6: z (±1000)

    • Bytes 7-8: rx (±180) (100xRd)

    • Bytes 9-10: ry (±180)

    • Bytes 11-12: rz (±180)

  3. Set World Coordinate System

    Command Length: 0x0F

    Function Code: 0x83

    Send Data Bits:

    • Bytes 1-2: x (-2800~280) (10xmm)

    • Bytes 3-4: y (-2800~280)

    • Bytes 5-6: z (-2800~280)

    • Bytes 7-8: rx (±3140) (100xRd)

    • Bytes 9-10: ry (±3140)

    • Bytes 11-12: rz (±3140)

      Feedback data bits: 0xFF 0x01

  4. Read World Coordinate System

    Command Length: 3

    Function Code: 0x84

    Send Data Bits: None

    Feedback Data Bits: Bytes 1-12: 2x6 coords

  5. Set Base Coordinate System

    Command Length: 4

    Function Code: 0x85

    Send Data Bits: Byte 1: base type (0-base coordinate system 1-world coordinate system)

    Feedback Data Bits: 0xFF 0x01

  6. Read Base Coordinate System

    Command Length: 3

    Function Code: 0x86
    Send Data Bits: None
    Feedback Data Bits: Byte 1: base type (0-base coordinate system 1-world coordinate system)

  7. Set End Coordinate System

    Command Length: 4

    Function Code: 0x89
    Send Data Bits: Byte 1: end type (0-flange 1-tool)
    Feedback Data Bits: 0xFF 0x01

  8. Read End Coordinate System

    Command Length: 3

    Function Code: 0x8A
    Send Data Bits: None
    Feedback Data Bits: Byte 1: end type (0-flange 1-tool)

  9. Set Movement Type

    • Switch Movement Type (0-moveJ 2-moveF) 0 is the default mode, 2 is the joint speed fusion mode (used in VR, joystick control, etc.).

      Instruction Length: 4

      Function Code: 0x87

      Send Data Bits: Byte 1: movement type (0-moveJ, 2-moveF)

      Feedback Data Bits: 0xFF 0x01

  10. Read Movement Type

    Instruction Length: 3

    Function Code: 0x88

    Send Data Bits: None

    Feedback Data Bits: Byte 1: movement type

Error Clearing

  1. Clear Motion Errors

    • Clear motion reading errors, such as exceeding limits, coordinates not reaching, etc.

      Command Length: 3

      Function Code: 08

      Send Data Bits: None

      Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01

  2. Joint Anomaly Recovery

    • Clearing errors from some joint motors (after clearing, read the robot status again to see if clearing was successful). Error bits 2/6/7/14/15 cannot be cleared abnormally; take emergency stop/power off the entire machine.

      Command Length: 4

      Function Code: 0xE7

      Send Data Bits: Byte 1: Joints 1-7, 254-All Joints

      Feedback Fixed Data Bits: Bytes 1-2: 0xFF 0x01


Common Problems

  1. Robotic Arm Cannot Move?

    • To check if the robotic arm is enabled, if there are any errors in the joint motors, and if any joints have exceeded limits, you can call Read Robot Status. 2. No response to command.

    • Check if the command was sent correctly. All commands have a first-level handshake feedback.

  2. Power on only: End LED turns yellow.

  3. Power on successfully: End LED turns green.

  4. Movement exceeds limits, point cannot be reached: End LED turns blue.

  5. MyStudio - Free movement mode: End LED turns purple.


Error Messages and Position Feedback Table

Position Feedback Table

0-20 Joint Overlimit, Collision, Pause, etc.

Hexadecimal (Decimal) Description
0 Movement in Position
1-7 Joint Overlimit
8 End of Setting Movement Mode
10-13 Collision Protection
A (10) End of Slow Stop Flag
B (11) Command Stop Flag

20-23 (32-35) Coordinate Movement Abnormality (Check Joint Limits)

Hexadecimal (Decimal) Description
20 (32) No Coordinate Solution
21 (33) No Adjacent Solution for Linear Movement
22 (34) Velocity Fusion Error
23 (35) Zero-space motion has no adjacent solutions
24 (36) Singular position has no solution
31 (49) Identification accuracy error

41-47 (65-71) Joint abnormality

Hexadecimal (decimal) Description
41-47 (65-71) 1-7 joint position accuracy abnormality
51-57 (81-87) 1-7 joint collision detection abnormality
0x61-67 1-7 joint CAN transmission failure
0x71-77 1-7 joint CAN reception abnormality
0x81-87 1-7 joint disabled
0x91-97 1-7 joint motor error (can be used with 0x9c interface after error)
0xA1-A7 1-7 Joint Motor Encoder Error
0xC1-C7 1-7 Joint Position Out of Tolerance

Motion Error Information Table

Return Data Format: 0xD0 + xx (e.g., 0xD001 indicates 1 joint is out of tolerance)

0-7 Joint Out of Tolerance

Status Code (Decimal) Hexadecimal Description
0 0x00 Normal Motion
1 0x01 1 Joint Out of Tolerance
2 0x02 2 Joints Out of Tolerance
3 0x03 3 Joints Out of Tolerance
4 0x04 4 Joints Out of Tolerance
5 0x05 5 Joints Out of Tolerance
6 0x06 6 Joints Out of Tolerance
7 0x07 7 Joints Exceed Limits

20-24 (32-36) Coordinate Motion Abnormality

Status Code (Decimal) Hexadecimal Description
20 (32) 0x14 No solution for coordinates, please check if the arm span is near the limit
21 (33) 0x15 No adjacent solution for linear motion
22 (34) 0x16 Velocity fusion error
23 (35) 0x17 No adjacent solution for zero-space motion
24 (36) 0x18 No solution for singular position, please use joint control to leave the singular point

Joint Motor Error Message Table

1. Software Error Alarms

Bits (2 bytes) Error Status (1 - Abnormal, 0 - Normal) Description and Handling Suggestions
0 Can Initialization Abnormal Requires checking the main control board. After fixing the control board abnormality, power off and then power on again.
Symptoms: The machine cannot be enabled or controlled, etc.
1 Motor Initialization Abnormal Requires checking the motor communication line, etc. After fixing the abnormality, power off and then power on again.
Symptoms: The machine cannot properly feedback joint information or control, etc.
2 Motor Sending Abnormal Requires checking the motor communication line, etc.
Symptoms: Abnormal machine position feedback, etc.; can be cleared using abnormal recovery.
3 Motor Receiving Abnormal Requires checking the motor communication line, etc.
Symptoms: Abnormal machine position feedback, etc.; can be cleared using abnormal recovery.
This feedback allows normal machine control and does not require user notification; it is mainly used for troubleshooting.
4 Position Out of Tolerance Requires checking the motor encoder, etc.
Symptoms: Machine is disabled and cannot be controlled; can be cleared using exception recovery.
5 Terminal Sending Anomaly Need to check terminal communication lines, etc.
Symptoms: Terminal interface feedback is abnormal; can be cleared using exception recovery.
6 Terminal Receiving Anomaly Need to check terminal communication lines, etc.
Symptoms: Terminal interface feedback is abnormal; can be cleared using exception recovery.
This feedback allows normal machine control and does not require user notification; it is mainly used for troubleshooting.
7 Motor Encoder Error When the encoder reports an error, movement is impossible; the encoder error needs to be cleared.
Older versions of the motor driver board do not report errors - even if an encoder error is reported, the software cannot provide feedback.
How to distinguish between new and old: The new driver board has a battery on it.
8 Enable feedback lost The machine must be enabled before operation.

2 Motor built-in error alarms

Bit (2 bytes) Error status Handling method
0 CAN bus error Can be recovered using an exception. If it cannot be recovered, check the communication line, repair it, and then power on to enable.
1 Short circuit Can be recovered using an exception.
2 Invalid setting data
3 Control error Can be recovered using an exception.
4 CAN communication error Can be recovered using an exception. If it cannot be recovered, check the communication line, repair it, and then power on to enable.
5 Feedback error Can be recovered using an exception.
6 Positive limit switch activated
7 Negative limit switch activated
8 Overcurrent Can be recovered using an exception.
9 I2t protection Can be recovered using an exception.
10 Overtemperature Can be recovered using an exception.
11 Driver board overheating Recovery from an anomaly is available
12 Overvoltage Recovery from an anomaly is available
13 Undervoltage Recovery from an anomaly is available
14 Command error
15 Enabled is inactive

results matching ""

    No results matching ""