ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

If you just want the joint positions, i.e. the encoder values, and maybe velocities and forces or torques, you can subscribe to the /joint_states topic which is of type sensor_msgs/JointState. It contains for each joint its current position, velocity and effort (i.e. force or torque).

The state topics published by the controllers are controller specific and might differ in their message type.

If you just want the joint positions, i.e. the encoder values, and maybe velocities and forces or torques, you can subscribe to the /joint_states topic which is of type sensor_msgs/JointState. It contains for each joint its current position, velocity and effort (i.e. force or torque).

The state topics published by the controllers are controller specific and might differ in their message type.

Update: There are definitely differences between /joint_states and the joint's state topic. The type of the /[controller_name]/state topic is not defined anywhere at all. Controllers are free to use whatever type they want and don't even need to provide it at all. The values you are referring to are unfortunately undocumented and mainly for debugging purposes. set_point is probably the goal point. According to the source code, processed_value refers to the current input value of the controller, e.g. velocity for a velocity controller and processed_value_dot is probably its derivative. I would not suggest to use /[controller_name]/state since its value are highly controller specify, not joint/encoder. And if you disable a controller and switch to another one, it will publish its data on a different topic.