diff --git a/robomaster_pi/pup_position.py b/robomaster_pi/pup_position.py
new file mode 100644
index 0000000000000000000000000000000000000000..cafa49e6e90e70392a74cf690803aa8f5189e44a
--- /dev/null
+++ b/robomaster_pi/pup_position.py
@@ -0,0 +1,53 @@
+import rospy
+import tf2_ros
+from geometry_msgs.msg import PoseStamped
+
+def get_transform(listener, source_frame, target_frame):
+    try:
+        transform = listener.lookup_transform(target_frame, source_frame, rospy.Time())
+        return transform
+    except (tf2_ros.LookupException, tf2_ros.ConnectivityException, tf2_ros.ExtrapolationException):
+        return None
+
+def get_base_link_pose():
+    tf_buffer = tf2_ros.Buffer()
+    tf_listener = tf2_ros.TransformListener(tf_buffer)
+
+    # Warte auf die Transformation
+    tf_listener.wait_for_transform("map", "base_link", rospy.Time(), rospy.Duration(1.0))
+
+    # Transformierung von base_link nach map
+    transform = get_transform(tf_buffer, "base_link", "map")
+
+    if transform is not None:
+        # Pose von base_link in map-Koordinaten
+        pose = transform.transform
+        return pose
+    else:
+        return None
+
+def main():
+    rospy.init_node('robot_pose_publisher')
+    pub = rospy.Publisher('robot_pose', PoseStamped, queue_size=10)
+    rate = rospy.Rate(10)  # 10 Hz
+
+    while not rospy.is_shutdown():
+        pose = get_base_link_pose()
+
+        if pose is not None:
+            # Erstelle ein PoseStamped-Objekt und fülle es mit den Pose-Daten
+            msg = PoseStamped()
+            msg.header.stamp = rospy.Time.now()
+            msg.header.frame_id = "map"
+            msg.pose = pose
+
+            # Veröffentliche die Nachricht
+            pub.publish(msg)
+
+        rate.sleep()
+
+if __name__ == '__main__':
+    try:
+        main()
+    except rospy.ROSInterruptException:
+        pass
diff --git a/setup.py b/setup.py
index 57605e3682f6a4b5c290d41764ef3c88293e65da..c5f7a665a9821aa56e2f5f5a46b7b46e70af0256 100644
--- a/setup.py
+++ b/setup.py
@@ -24,6 +24,7 @@ setup(
             "Odom = robomaster_pi.Odom:main",
             "conn_odom = robomaster_pi.conn_odom:main",
             "conn_vel = robomaster_pi.conn_vel:main",
+            "pup_position = robomaster_pi.pup_position:main",
         ],
     },
 )