8.11 手部关节
8.11.1 全局值说明
手指各关节ID定义如下,适用于天工行者·无疆:
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 状态获取接口
-
说明:获取手指各关节的状态信息,其中包含电机的当前位置、速度、电流,适用于天工行者·无疆。
-
控制方式:topic
-
话题名称:
/inspire_hand/state/left_hand和/inspire_hand/state/right_hand -
数据定义位置:
sensor_msgs::msg::JointState注意:这里的数据(位置,速度,电流),指的是百分比
std_msgs/Header header
string[] name #说明,id=1为小指,id=6为大拇指旋转
float64[] position #百分比
float64[] velocity #百分比
float64[] effort #百分比
8.11.3 控制接口-topic
以topic形式控制手指各关节角度
-
说明:手部电机的位置控制接口,需要提供期望位置。适用于天工行者·无疆。
-
控制方式:topic
-
话题名称:
/inspire_hand/ctrl/left_hand和/inspire_hand/ctrl/right_hand -
数据定义位置:
sensor_msgs::msg::JointState.msg注意:这里的 position,指的仍然是手指张开的百分比,1表示完全张开,0表示完全握紧,如果要同时控制拇指旋转关节(6号关节)和其他关节,请注意其与其他关节的相对位置关系,避免发生碰撞损坏灵巧手。
std_msgs/Header header
string[] name
float64[] position # 百分比
8.11.4 控制接口-service
以service形式控制手指各关节角度
-
说明:手指各个关节的位置控制接口,以百分比的方式,适用于天工行者·无疆。
-
控制方式:service
-
话题名称:
/inspire_hand/set_angle_flexible/left_hand和/inspire_hand/set_angle_flexible/right_hand -
数据定义位置:
bodyctrl_msgs::srv::set_angle_flexible.srv -
request:
string[] name
float32[] angle_ratio -
response:
bool angle_accepted
8.11.5 设置手指各关节力矩
-
说明:设置手指各个关节转动时会施加的最大力矩,以百分比(取值0.0-1.0即可)的方式,适用于天工行者·无疆。
-
控制方式:service
-
话题名称:
/inspire_hand/set_force/left_hand和/inspire_hand/set_force/right_hand -
数据定义位置:
bodyctrl_msgs::srv::set_force.srv -
request:
float32 force0_ratio #小拇指-百分比(0代表0g,1代表1000g)
float32 force1_ratio #无名指-百分比
float32 force2_ratio #中指-百分比
float32 force3_ratio #食指-百分比
float32 force4_ratio #大拇指弯曲-百分比
float32 force5_ratio #大拇指旋转-百分比 -
response:
bool force_accepted #是否设置成功
8.11.6 设置手指各关节速度
-
说明:设置手指各个关节的转动速度,以百分比(取值0.0-1.0即可)的方式,适用于天工行者·无疆。
-
控制方式:service
-
话题名称:
/inspire_hand/set_speed/left_hand和/inspire_hand/set_speed/right_hand -
数据定义位置:
bodyctrl_msgs::srv::set_speed.srv -
request:
float32 speed0_ratio #小拇指-百分比(1代表800ms从最大角度到最小角度,0.5代表1600ms,0.25代表3200ms)
float32 speed1_ratio #无名指-百分比
float32 speed2_ratio #中指-百分比
float32 speed3_ratio #食指-百分比
float32 speed4_ratio #大拇指弯曲-百分比
float32 speed5_ratio #大拇指旋转-百分比 -
response:
bool speed_accepted #是否设置成功
8.11.7 清除手指各关节错误
-
说明:清除手指各个关节的错误接口,适用于天工行者·无疆。
-
控制方式:service
-
话题名称:
/inspire_hand/set_clear_error/left_hand和/inspire_hand/set_clear_error/right_hand -
数据定义位置:
bodyctrl_msgs::srv::set_clear_error.srv -
Request:
null -
Response:
bool setclear_error_accepted #是否设置成功