From a91341e76c2bb4b54de137517df567ed2be67b96 Mon Sep 17 00:00:00 2001
From: eharlan <eharlan@uni-bremen.de>
Date: Mon, 8 May 2023 11:07:20 +0200
Subject: [PATCH] a

---
 robomaster_pi/robot_ros_odom.py | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/robomaster_pi/robot_ros_odom.py b/robomaster_pi/robot_ros_odom.py
index 7e7dd8f..3fda405 100644
--- a/robomaster_pi/robot_ros_odom.py
+++ b/robomaster_pi/robot_ros_odom.py
@@ -39,7 +39,7 @@ def quaternion_from_euler(ai, aj, ak):
     return q
 
 class Robomaster_odom(Node):
-    
+
     def sub_position_handler(position_info):
         print("handler")
         tf_broadcaster = TransformBroadcaster()
@@ -60,7 +60,24 @@ class Robomaster_odom(Node):
 
     def __init__(self, ep_chassis):
         super().__init__("robomaster_odom")
-        ep_chassis.sub_position(freq=10, callback=self.sub_position_handler)
+        def sub_position_handler(position_info):
+            print("handler")
+            tf_broadcaster = TransformBroadcaster()
+            t = TransformStamped()
+            t.header.stampep_chassis = time.get_clock().now().to_msg()
+            t.header.frame_id = 'odom'
+            t.child_frame_id = "base_footprint"
+            t.transform.translation.x = position_info.x
+            t.transform.translation.y = -position_info.y
+            t.transform.translation.z = 0.0
+            q = quaternion_from_euler(0, 0, -position_info.z* math.pi/180)
+            t.transform.rotation.x = q[0]
+            t.transform.rotation.y = q[1]
+            t.transform.rotation.z = q[2]
+            t.transform.rotation.w = q[3]
+            tf_broadcaster.sendTransform(t)
+            print("ok")
+        ep_chassis.sub_position(freq=10, callback=sub_position_handler)
         print("sub")
     
     
-- 
GitLab