跳到主要内容
版本:V2.0.4.x

8.11 手部关节

8.11.1 全局值说明

  • 消息名称:MotorName

  • 数据定义位置:

  • 说明:手指各关节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

  • 话题名称:/inspire_hand/ctrl/left_hand/inspire_hand/ctrl/right_hand

  • 数据定义位置:sensor_msgs::msg::JointState.msg

    注意:这里的position,指的仍然是手指张开的百分比

    std_msgs/Header header
    string[] name
    float64[] position #百分比

8.11.4 控制接口-service-控制手指各关节角度

  • 说明:手指各个关节的位置控制接口,以百分比的方式,适用于天工行者·无疆。

  • 控制方式:service

  • 话题名称:/inspire_hand/set_angle_flexible/left_hand/inspire_hand/set_angle_flexible/right_hand

  • 数据定义位置:bodyctrl_msgs::srv::set_angle_flexible.srv

    string[]name
    float32[]angle_ratio
    bool angle_accepted

8.11.5 控制手指各关节力矩

  • 说明:手指各个关节的位置力矩,以百分比的方式,适用于天工行者·无疆。

  • 控制方式: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 控制手指各关节速度

  • 说明:手指各个关节的位置力矩,以百分比的方式,适用于天工行者·无疆。

  • 控制方式: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

    boll setclear_error_accepted #是否设置成功