[π€ ROS2?] /joint_torque_states
#
Caution
This documentation page has been auto-generated.
It may be missing some details.
/joint_torque_states
Quick Facts
- Category
- Message type
- Direction
β‘οΈ you normally subscribe to this topic.
The current state of the robotβs joints with effort indicating the measured torque instead of the current (eg angular position of each joint).
Quick snippets#
$ ros2 topic hz /joint_torque_states
$ ros2 topic echo /joint_torque_states
How to use in your code#
1#!/usr/bin/env python
2
3import rclpy
4from rclpy.node import Node
5
6from sensor_msgs.msg import JointState
7
8
9class JointTorqueStatesSubscriber(Node):
10
11 def __init__(self):
12 super().__init__('joint_torque_states_subscriber')
13 self.subscription = self.create_subscription(
14 JointState,
15 '/joint_torque_states',
16 self.listener_callback,
17 10)
18
19 def listener_callback(self, msg):
20 # see https://docs.ros2.org/latest/api/sensor_msgs/msg/JointState.html
21 # for the msg structure
22 self.get_logger().info('I heard: "%s"' % msg.data)
23
24
25if __name__ == '__main__':
26 rclpy.init(args=args)
27
28 subscriber = JointTorqueStatesSubscriber()
29
30 rclpy.spin(subscriber)
31
32 rclpy.shutdown()
1#include <memory>
2
3#include "rclcpp/rclcpp.hpp"
4#include "sensor_msgs/msg/joint_state.hpp"
5
6using std::placeholders::_1;
7using namespace rclcpp;
8
9class JointTorqueStatesSubscriber : public rclcpp::Node
10{
11public:
12 JointTorqueStatesSubscriber()
13 : Node("joint_torque_states_subscriber")
14 {
15 subscription_ = this->create_subscription<sensor_msgs::msg::JointState>(
16 "/joint_torque_states",
17 10,
18 std::bind(&JointTorqueStatesSubscriber::topic_callback, this, _1));
19 }
20
21private:
22 void topic_callback(const sensor_msgs::msg::JointState::SharedPtr msg) const
23 {
24 // see https://docs.ros2.org/latest/api/sensor_msgs/msg/JointState.html
25 // for the msg structure
26 RCLCPP_INFO_STREAM(this->get_logger(), "Got " << msg->data);
27 }
28
29 Subscription<sensor_msgs::msg::JointState>::SharedPtr subscription_;
30};
31
32int main(int argc, char * argv[])
33{
34init(argc, argv);
35spin(std::make_shared<JointTorqueStatesSubscriber>());
36shutdown();
37return 0;
38}