Skip to content

Topics and Services

The Stonedrum Robotics ROS 2 packages expose standard topics, services, and actions to interface with the dexterous hand. These interfaces adhere to standard ROS message types wherever possible, allowing you to use native tools like ros2 topic echo and rqt.

Topic Reference

/hand/joint_states

  • Type: sensor_msgs/msg/JointState
  • Publisher: HandNode
  • Description: Publishes the current state of the hand. The message contains the name, position (in radians), velocity (in rad/s), and effort (in Nm) of all active joints in the hand. This topic is published at the frequency defined by the publish_rate parameter (default 50Hz).

/hand/joint_commands

  • Type: sensor_msgs/msg/JointState
  • Subscriber: HandNode
  • Description: Receives target joint positions. The HandNode parses the name and position arrays and forwards these targets to the underlying hardware. You only need to specify the joints you wish to move; unspecified joints will hold their current position.

/teleop/glove_state

  • Type: std_msgs/msg/String (or a custom TeleoperationFrame message)
  • Publisher: TeleoperationNode
  • Description: Publishes the normalized telemetry generated by the teleoperation input device (e.g., a VR glove or a keyboard). This is primarily used for debugging human-in-the-loop inputs before they are converted to raw joint commands.

Action Reference

/execute_grasp

  • Type: dexterous_hand_interfaces/action/ExecuteGrasp
  • Server: GraspActionServer
  • Description: An action server that accepts a string identifier for a grasp (e.g., "pinch", "cylindrical") and smoothly interpolates the hand's joints to that pose.

Action Goal:

string grasp_name

Action Feedback:

float32 progress_percentage

Action Result:

bool success
string message

By adhering to these standard interfaces, the Stonedrum Robotics SDK seamlessly integrates into complex, multi-node robotic systems. If you have questions about specific message definitions, please contact us at info@stonedrum.co.