8.11 Hand Joints
8.11.1 Global Value Description
-
Message Name:
MotorName -
Data Definition Location:
-
Description: The following defines the ID for each finger joint, applicable to Tienkung Walker·Embodied Intelligence:
uint16 MOTOR_FINGER_LITTLE = 1, // little finger
uint16 MOTOR_FINGER_RING = 2, // ring finger
uint16 MOTOR_FINGER_MIDDLE = 3, // middle finger
uint16 MOTOR_FINGER_FORE = 4, // fore finger
uint16 MOTOR_FINGER_THUMB_BEND = 5, // thumb bend
uint16 MOTOR_FINGER_THUMB_ROTATION = 6,// thumb rotation
8.11.2 Status Acquisition Interface
-
Description: Get the status information of each finger joint, including the current position, speed, and current of the motor, applicable to Tienkung Walker·Embodied Intelligence.
-
Control Method:
topic -
Topic Names:
/inspire_hand/state/left_handand/inspire_hand/state/right_hand -
Data Definition Location:
sensor_msgs::msg::JointStateNote: The data here (position, velocity, current) is in percentage
std_msgs/Header header
string[] name # Note: id=1 is little finger, id=6 is thumb rotation
float64[] position # percentage
float64[] velocity # percentage
float64[] effort # percentage
8.11.3 Control Interface - topic - Control Each Finger Joint Angle
-
Description: Position control interface for finger motors, requires desired position, desired speed, and maximum current, applicable to Tienkung Walker·Embodied Intelligence.
-
Control Method:
topic -
Topic Names:
/inspire_hand/ctrl/left_handand/inspire_hand/ctrl/right_hand -
Data Definition Location:
sensor_msgs::msg::JointState.msgNote: The position here still refers to the percentage of finger opening
std_msgs/Header header
string[] name
float64[] position # percentage
8.11.4 Control Interface - service - Control Each Finger Joint Angle
-
Description: Position control interface for each finger joint, in percentage, applicable to Tienkung Walker·Embodied Intelligence.
-
Control Method:
service -
Topic Names:
/inspire_hand/set_angle_flexible/left_handand/inspire_hand/set_angle_flexible/right_hand -
Data Definition Location:
bodyctrl_msgs::srv::set_angle_flexible.srvstring[] name
float32[] angle_ratio
bool angle_accepted
8.11.5 Control Each Finger Joint Torque
-
Description: Position torque for each finger joint, in percentage, applicable to Tienkung Walker·Embodied Intelligence.
-
Control Method:
service -
Topic Names:
/inspire_hand/set_force/left_handand/inspire_hand/set_force/right_hand -
Data Definition Location:
bodyctrl_msgs::srv::set_force.srv -
Request:
float32 force0_Ratio # little finger - percentage (0 represents 0g, 1 represents 1000g)
float32 force1_Ratio # ring finger - percentage
float32 force2_Ratio # middle finger - percentage
float32 force3_Ratio # fore finger - percentage
float32 force4_Ratio # thumb bend - percentage
float32 force5_Ratio # thumb rotation - percentage -
Response:
bool force_accepted # whether the setting was successful
8.11.6 Control Each Finger Joint Speed
-
Description: Position torque for each finger joint, in percentage, applicable to Tienkung Walker·Embodied Intelligence.
-
Control Method:
service -
Topic Names:
/inspire_hand/set_speed/left_handand/inspire_hand/set_speed/right_hand -
Data Definition Location:
bodyctrl_msgs::srv::set_speed.srv -
Request:
float32 speed0_Ratio # little finger - percentage (1 represents 800ms from maximum angle to minimum angle, 0.5 represents 1600ms, 0.25 represents 3200ms)
float32 speed1_Ratio # ring finger - percentage
float32 speed2_Ratio # middle finger - percentage
float32 speed3_Ratio # fore finger - percentage
float32 speed4_Ratio # thumb bend - percentage
float32 speed5_Ratio # thumb rotation - percentage -
Response
bool speed_accepted # whether the setting was successful
8.11.7 Clear Finger Joint Errors
-
Description: Interface to clear errors for each finger joint, applicable to Tienkung Walker·Embodied Intelligence.
-
Control Method:
service -
Topic Names:
/inspire_hand/set_clear_error/left_handand/inspire_hand/set_clear_error/right_hand -
Data Definition Location:
bodyctrl_msgs::srv::set_clear_error.srv -
Request
null -
Response
bool setclear_error_accepted # whether the setting was successful