Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions msg/DynamixelState.msg
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
std_msgs/Header header

# All per-servo arrays below MUST have the same length as `id`. For each index i,
# servo id[i] has its corresponding state stored at index i in every array.
# See the corresponding servo manuals for return values and ranges.
int32 comm_state
int32[] id
bool[] torque_state
int32[] dxl_hw_state
int16[] present_temperature # Unit: Celsius, scaled by 1
int16[] present_input_voltage # Unit: mV, scaled by 10 (123 means 12.3V)
int16[] present_current # Unit: mA, scaled by 1 and +/- indicates rotation direction
int16[] present_load # Unit: 0.1% (209 means 20.9%) and +/- indicates rotation direction

int32 COMM_STATE_OK = 0
int32 COMM_STATE_CANNOT_FIND_CONTROL_ITEM = -1
Expand All @@ -30,3 +37,20 @@ int32 COMM_STATE_DXL_REBOOT_FAIL = -17
# dxl_hw_state = 8: motor encoder
# dxl_hw_state = 16: electrical shork
# dxl_hw_state = 32: Overload
#
# Additional notes on temperature, input_voltage, current, etc:
# 1. To enable the reporting of these add the corresponding GPIO state_interface
# elements in the URDF file. For example:
#
# <!-- Motor 3: XL330-M288 (elbow_flex) -->
# <gpio name="dxl3">
# <param name="type">dxl</param>
# <param name="ID">3</param>
# <command_interface name="Goal Position"/>
# <state_interface name="Present Position"/>
# <state_interface name="Present Velocity"/>
# <state_interface name="Present Current"/>
# <state_interface name="Present Temperature"/>
# <state_interface name="Present Input Voltage"/>
# </gpio>
#