Skip to main content
Version: V2.0.4.x

8.5 Head Joint

8.5.1 Status Interface

1. Get Head Joint Information

  • Description: Get head joint status information including current position, velocity, current and temperature. Applicable to Walker Tienkung·Embodied Intelligence.

  • Control method: topic

  • Topic name: /head/status

  • Data definition location: bodyctrl_msgs::msg::MotorStatusMsg.msg

  • Data format:

    std_msgs/Header header 
    MotorStatus[] status

    MotorStatus definition:
    uint16 name # MotorName
    float32 pos # rad
    float32 speed # rad
    float32 current # A
    float32 temperature # MOS temperature
    uint32 error

    Error field definitions:

    error = 33072,Device offline
    error = 33073,Joint position out of range
    error = 1,Joint motor overtemp
    error = 2,Overcurrent
    error = 3,Low voltage
    error = 4,Joint MOS overtemp
    error = 5,Locked rotor
    error = 6,Overvoltage
    error = 7,Phase missing
    error = 8,Encoder error
  • Example command:

    ros2 topic echo /head/status

8.5.2 Control Interface

1. Position Mode

  • Description: Head joint position control interface. Requires desired position, desired velocity, maximum current. Applicable to Walker Tienkung·Embodied Intelligence.
  • Control method: topic
  • Topic name: /head/cmd_pos
  • Data definition location: bodyctrl_msgs::msg::CmdSetMotorPosition.msg
  • Data format:
    std_msgs/Header header 
    SetMotorPosition[] cmds

    # SetMotorPosition.msg
    uint16 name # MotorName
    float32 pos # rad
    float32 spd # rad/s
    float32 cur # A

2. Force/Position Hybrid Mode

  • Description: Head joint force/position hybrid control interface. Requires desired position, velocity, feedforward torque, kp, kd coefficients. Applicable to Walker Tienkung·Embodied Intelligence.
  • Control method: topic
  • Topic name: /head/cmd_ctrl
  • Data definition location: bodyctrl_msgs::msg::CmdMotorCtrl.msg
  • Data format:
    std_msgs/Header header
    MotorCtrl[] cmds

    # MotorCtrl.msg
    uint16 name
    float32 kp
    float32 kd
    float32 pos
    float32 spd
    float32 tor

3. Velocity Mode

  • Description: Joint velocity control interface. Requires desired velocity, maximum current. Applicable to Walker Tienkung·Embodied Intelligence.
  • Control method: topic
  • Topic name: /head/cmd_vel
  • Data definition location: bodyctrl_msgs::msg::CmdSetMotorSpeed.msg
  • Data format:
    std_msgs/Header header
    SetMotorSpeed[] cmds

    # SetMotorSpeed.msg
    uint16 name # MotorName
    float32 spd # rad/s
    float32 cur # A

4. Head Joint Zero Calibration

  • Description: Head joint zero calibration interface. Applicable to Walker Tienkung·Embodied Intelligence.
  • Control method: topic
  • Topic name: /head/cmd_set_zero
  • Data definition location: std_msgs::msg::String
  • Data format:
    Send joint id as string to perform zero calibration;
    Head joint ids: 1, 2, 3;