@@ -567,12 +567,15 @@ def land(self):
567567 self .land_client (req )
568568
569569 def br_base2map (self , event ):
570- my_pose = self .get_position (frame = "map" )
571- my_orientation = self .get_orientation (frame = "map" )
572- my_orientation [2 ] += radians (- 90 )
573- q = tf .transformations .quaternion_from_euler (* my_orientation )
574- self .br .sendTransform (my_pose ,
575- q , rospy .Time .now (), "base_link" , "map" )
570+ now = rospy .Time .now ()
571+ if self .last_pub_tf < now :
572+ my_pose = self .get_position (frame = "map" )
573+ my_orientation = self .get_orientation (frame = "map" )
574+ my_orientation [2 ] += radians (- 90 )
575+ q = tf .transformations .quaternion_from_euler (* my_orientation )
576+ self .br .sendTransform (my_pose ,
577+ q , now , "base_link" , "map" )
578+ self .last_pub_tf = now
576579
577580 def shutdown (self ):
578581 self .br_timer .shutdown ()
@@ -614,7 +617,8 @@ def __init__(self, name='drone', ns='', verbose=False):
614617
615618 self .frames_tf = FRAMES ()
616619 self .br = tf .TransformBroadcaster ()
617- self .br_timer = rospy .Timer (rospy .Duration (nsecs = 1000000 ), self .br_base2map )
620+ self .br_timer = rospy .Timer (rospy .Duration (nsecs = 10000000 ), self .br_base2map )
621+ self .last_pub_tf = rospy .Time (0 )
618622
619623 self .setpoint_raw_timer = rospy .Timer (rospy .Duration (nsecs = 50000000 ), self .repeat_setpoint_raw )
620624 self .setpoint_raw_timer .shutdown ()
0 commit comments