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 errorError 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;