@@ -154,7 +154,7 @@ def __init__(
154154 self .motion_suceeded = False
155155 self .__execution_goal_handle = None
156156 self .__last_error_code = None
157- self .__wait_until_executed_rate = self ._node .create_rate (1000.0 )
157+ self .__spin_wait_rate = self ._node .create_rate (1000.0 )
158158 self .__execution_mutex = threading .Lock ()
159159
160160 # Event that enables waiting until async future is done
@@ -530,12 +530,11 @@ def plan(
530530 return None
531531
532532 # 10ms sleep - much faster polling to avoid 1-second delays
533- rate = self ._node .create_rate (100 ) # 100Hz = 10ms
534533 while not future .done ():
535534 rclpy .spin_once (
536535 self ._node , timeout_sec = 0.01
537536 ) # 10ms timeout instead of 1 second
538- rate .sleep ()
537+ self . __spin_wait_rate .sleep ()
539538
540539 return self .get_trajectory (
541540 future ,
@@ -773,7 +772,8 @@ def wait_until_executed(self) -> bool:
773772 return False
774773
775774 while self .__is_motion_requested or self .__is_executing :
776- rclpy .spin_once (self ._node , timeout_sec = 1.0 )
775+ rclpy .spin_once (self ._node , timeout_sec = 0.01 )
776+ self .__spin_wait_rate .sleep ()
777777
778778 return self .motion_suceeded
779779
@@ -1216,10 +1216,9 @@ def compute_fk(
12161216 if future is None :
12171217 return None
12181218
1219- # 100ms sleep
1220- rate = self ._node .create_rate (10 )
12211219 while not future .done ():
1222- rclpy .spin_once (self ._node , timeout_sec = 1.0 )
1220+ rclpy .spin_once (self ._node , timeout_sec = 0.01 )
1221+ self .__spin_wait_rate .sleep ()
12231222
12241223 return self .get_compute_fk_result (future , fk_link_names = fk_link_names )
12251224
@@ -1310,10 +1309,9 @@ def compute_ik(
13101309 if future is None :
13111310 return None
13121311
1313- # 10ms sleep
1314- rate = self ._node .create_rate (10 )
13151312 while not future .done ():
1316- rclpy .spin_once (self ._node , timeout_sec = 1.0 )
1313+ rclpy .spin_once (self ._node , timeout_sec = 0.01 )
1314+ self .__spin_wait_rate .sleep ()
13171315
13181316 return self .get_compute_ik_result (future )
13191317
0 commit comments