Skip to content

Commit 452ca2a

Browse files
committed
add pose publishing
1 parent 665f6ff commit 452ca2a

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

realsense_capture/realsense_capture/realsense_static_tf_publisher.py

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
import rclpy
66
from rclpy.node import Node
77

8+
from rclpy.time import Time
9+
from rclpy.duration import Duration
10+
811
from tf2_ros.static_transform_broadcaster import StaticTransformBroadcaster
912
from tf2_ros.buffer import Buffer
1013
from tf2_ros.transform_listener import TransformListener
@@ -30,26 +33,29 @@ def __init__(self):
3033

3134
self.tf_static_broadcaster = StaticTransformBroadcaster(self)
3235

36+
37+
38+
# ############################ TF Setup ########################################
39+
self.link_name = 'link_realsense'
3340
# Publish static transforms once at startup
3441
self.make_transforms()
3542

36-
# ############################ TF Setup ########################################
37-
# # buffer to hold the transform in a cache
38-
# self.tf_buffer = Buffer()
43+
# buffer to hold the transform in a cache
44+
self.tf_buffer = Buffer()
3945

40-
# # listener. Important to spin a thread, otherwise the listen will block and no TF can be updated
41-
# self.tf_listener = TransformListener(buffer=self.tf_buffer, node=self, spin_thread=True)
46+
# listener. Important to spin a thread, otherwise the listen will block and no TF can be updated
47+
self.tf_listener = TransformListener(buffer=self.tf_buffer, node=self, spin_thread=True)
4248

43-
# self.pose_publisher = self.create_publisher(
44-
# msg_type=TransformStamped,
45-
# topic='/realsense_capture/realsense_pose',
46-
# qos_profile=10)
49+
self.pose_publisher = self.create_publisher(
50+
msg_type=TransformStamped,
51+
topic='/realsense_capture/realsense_pose',
52+
qos_profile=10)
4753

48-
# self.create_timer(0.5, self.publish_pose)
54+
self.create_timer(0.5, self.publish_pose)
4955

5056
def publish_pose(self):
5157
try:
52-
t = self.tf_buffer.lookup_transform('link_base', 'link_realsense', self.get_clock().now())
58+
t = self.tf_buffer.lookup_transform('link_base', self.link_name, Time(), timeout=Duration(seconds=2))
5359
self.pose_publisher.publish(t)
5460
except Exception as e:
5561
self.get_logger().info(f"Failed to publish pose: {e}")
@@ -59,7 +65,7 @@ def make_transforms(self):
5965

6066
t.header.stamp = self.get_clock().now().to_msg()
6167
t.header.frame_id = 'link_eef'
62-
t.child_frame_id = 'link_realsense'
68+
t.child_frame_id = self.link_name
6369

6470
t.transform.translation.x = float(-self.d405_center2left)*0.001
6571
t.transform.translation.y = float(-self.mount_translation_y)*0.001

0 commit comments

Comments
 (0)