Skip to content
  • There are no suggestions because the search field is empty.

AIDIN-hand TCP/IP Communication Manual

Overview

  • AIDIN-hand can be controlled from the high-level controller via TCP/IP communication.

  • AIDIN-hand is a server node, and the provided example code is a client node.

TCP/IP communication information

  • Port number: 8000

  • Buffer size: 2048

  • JSON data types

  • KEY and VALUE information

    • Hand command information (received value based on hand)

      • hand_mode” : v1 (data type: uint16_t)

        > operating mode setting variable

      • “maxtorque” : v1 (data type: uint16_t)

        > maximum output current setting variable

      • “hand_TP_cmd” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15} (data type: int[15])

        > position control setting value based on motor encoder value

        > v1, v2, v3: Thumb 1,2,3 motor encoder values / v4, v5, v6: Index finger 1,2,3 motor encoder values / v7, v8, v9: Middle finger 1,2,3 motor encoder values / v10, v11, v12: Ring finger 1,2,3 motor encoder values / v13, v14, v15: little finger 1,2,3 motor encoder values

      • “hand_joint_cmd” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20} (data type: double[20])

        > position control setting value based on finger joint angle value (radians)

        > v1, v2, v3, v4: Thumb q1, q2, q3, q4 joint angle values / v5, v6, v7, v8: Index finger q1, q2, q3, q4 joint angle values / v9, v10, v11, v12: Middle finger q1, q2, q3, q4 joint angle values / v13, v14, v15, v16: Ring finger q1, q2, q3, q4 joint angle values / v17, v18, v19, v20: little finger q1, q2, q3, q4 joint angle values

        (q3, q4 are coupled, so only q3 value needs to be entered)

      • “hand_taskspace_cmd” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15} (data type: double[15])

        > position control setting value based on fingertip coordinate val.

        > v1, v2, v3: Thumb x, y, z fingertip coordinates / v4, v5, v6: Index finger x, y, z fingertip coordinates / v7, v8, v9: Middle finger x, y, z fingertip coordinates / v10, v11, v12: Ring finger x, y, z fingertip coordinates / v13, v14, v15: little finger x, y, z fingertip coordinates

      • “hand_TT_cmd” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15} (data type: int[15])

        > Current control setting value

        > v1, v2, v3: Thumb 1,2,3 motor current value / v4, v5, v6: Index finger 1,2,3 motor current value / v7, v8, v9: Middle finger 1,2,3 motor current value / v10, v11, v12: Ring finger 1,2,3 motor current value / v13, v14, v15: little finger 1,2,3 motor current value

    • Hand position/current/sensor data information

      (transmission value based on hand)

      • “motor_pos” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15} (data type: int32_t[15])

        > encoder values for each finger motor

        > v1, v2, v3: Thumb 1,2,3 motor encoder values / v4, v5, v6: Index finger 1,2,3 motor encoder values / v7, v8, v9: Middle finger 1,2,3 motor encoder values / v10, v11, v12: Ring finger 1,2,3 motor encoder values / v13, v14, v15: little finger 1,2,3 motor encoder values

      • “joint_pos” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20} (data type: double[20])

        > joint angle value for each finger (radians)

        > v1, v2, v3, v4: Thumb q1, q2, q3, q4 joint angle values / v5, v6, v7, v8: Index finger q1, q2, q3, q4 joint angle values / v9, v10, v11, v12: Middle finger q1, q2, q3, q4 joint angle values / v13, v14, v15, v16: Ring finger q1, q2, q3, q4 joint angle values / v17, v18, v19, v20: little finger q1, q2, q3, q4 joint angle values

      • “task_space_pos” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15} (data type: double[15])

        > coordinates of each fingertip

        > v1, v2, v3: Thumb x, y, z fingertip coordinates / v4, v5, v6: Index finger x, y, z fingertip coordinates / v7, v8, v9: Middle finger x, y, z fingertip coordinates / v10, v11, v12: Ring finger x, y, z fingertip coordinates / v13, v14, v15: little finger x, y, z fingertip coordinates

      • “current_state” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15} (data type: int16_t[15])

        > current value of each finger motor

        > v1, v2, v3: Thumb 1,2,3 motor current value / v4, v5, v6: Index finger 1,2,3 motor current value / v7, v8, v9: Middle finger 1,2,3 motor current value / v10, v11, v12: Ring finger 1,2,3 motor current value / v13, v14, v15: little finger 1,2,3 motor current value

      • “sensor_state” : {v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30} (data type: double[30])

        > force/torque sensor values for each finger

        > v1, v2, v3, v4, v5, v6: Thumb fingertip sensor Fx, Fy, Fz, Tx, Ty, Tz values / v7, v8, v9, v10, v11, v12: Index fingertip sensor Fx, Fy, Fz, Tx, Ty, Tz values / v13, v14, v15, v16, v17, v18: middle fingertip sensor Fx, Fy, Fz, Tx, Ty, Tz values / v19, v20, v21, v22, v23, v24: Ring fingertip sensor Fx, Fy, Fz, Tx, Ty, Tz values / v25, v26, v27, v28, v29, v30: little fingertip sensor Fx, Fy, Fz, Tx, Ty, Tz values

Robot hand operating information (mode selection and input information)

  • To operate the robot hand, you must select the appropriate mode and enter the corresponding data.

  • The description and input information for each mode are as follows.

    • Homing mode

      • “hand_mode” : 1

      • Set the value of the “hand_mode” key to 1 and maintain the input value for 3 seconds

      • Homing mode that opens all the fingers of the robot hand and sets the open position as the origin

        (the task of opening the fingers with current control for 3 seconds and then resetting the incremental encoder value to make the origin point)

    • Initial position mode

      • “hand_mode” : 2

      • Initial position mode that executes position control of the five fingers to the origin position set in the homing mode

    • Stop mode

      • “hand_mode” : 3

      • Stop mode that turns off the motor power and allows the fingers to move freely with external force

        (used to monitor angle/coordinate values when teaching fingers)

    • Sensor bias mode

      • “hand_mode” : 4

      • Sensor bias mode that initializes the sensor value to 0 when the initial sensor value reflects values other than 0 due to environmental changes (temperature/external force, etc.)

    • Maxtorque setup mode

      • “hand_mode” : 5

      • Set the value of the “maxtorque” key to the desired value.

      • Mode for setting the maximum output current. The setting value range of maxtorque is 0 ~ 1000, and 1 means 0.1%.

        (range of 700-1000 is recommended)

    • Encoder position command mode

      • “hand_mode” : 10

      • Set the value of the “hand_TP_cmd” key to the desired finger motor encoder value.

      • Position control mode that controls by giving the encoder position command for each finger

    • Joint angle command mode

      • “hand_mode” : 22

      • Set the value of the “hand_joint_cmd” key to the desired finger joint angle value (radians).

      • Position control mode that controls by giving joint angle commands for each finger

    • Taskspace command mode

      • “hand_mode” : 32

      • Set the value of the “hand_taskspace_cmd” key to the desired fingertip coordinate value.

      • Position control mode that controls by giving task space coordinate commands for each finger

    • Current control mode

      • “hand_mode” : 41

      • Set the value of the “hand_TT_cmd” key to the desired current value for each motor.

      • Current control mode that controls by giving current commands for each finger (Required: Set maxtorque to 1000 when controlling)

    • The range of each variable is as follows

      • maxtorque: 0 – 1000 (1 => 0.1%, 1000 => 100%)

      • m1, m2: 0 – 280000 (thumb), 0 – 440000 (idx./mid./rig./lit.)

      • m3: 0 – 210000 (thumb), 0 – 170000 (idx./mid./rig./lit.)

      • q1: -13° – 45° (thumb), -45° – 45° (idx./mid./rig./lit.)

      • q2: -30° – 30° (all fingers)

      • q3: 82° – 154° (thumb), 115° – 175° (idx./mid./rig./lit.)

      • x: -51mm – 51mm (thumb), -51mm – 51mm (idx./mid./rig./lit.)

      • y: 45.5mm – 115.7mm (thumb), 2.6mm – 100mm (idx./mid./rig./lit.)

      • z: 13mm – 146.7mm (thumb), 0mm – 149.5mm (idx./mid./rig./lit.)

image-png-Sep-15-2025-01-43-31-2541-AM

[Definition of each variable and coordinate system location]

image-png-Sep-15-2025-01-44-56-3272-AM

[Coordinate system of angle q1, q2, q3, q4]

image-png-Sep-15-2025-01-47-40-1899-AM

[Coordinates of each finger origin from the robot hand origin (unit: mm)]

^ Go to First page