diff --git a/rclpy/rclpy/action/client.py b/rclpy/rclpy/action/client.py index 19f44f92d..ac4392c48 100644 --- a/rclpy/rclpy/action/client.py +++ b/rclpy/rclpy/action/client.py @@ -524,7 +524,7 @@ def send_goal_async( request = self._action_type.Impl.SendGoalService.Request() request.goal_id = self._generate_random_uuid() if goal_uuid is None else goal_uuid request.goal = goal - future = Future() + future: Future[ClientGoalHandle[GoalT, ResultT, FeedbackT]] = Future() with self._lock: sequence_number = self._client_handle.send_goal_request(request) if sequence_number in self._pending_goal_requests: @@ -541,13 +541,6 @@ def send_goal_async( goal_uuid = bytes(request.goal_id.uuid) self._feedback_callbacks[goal_uuid] = feedback_callback - future: Future[ClientGoalHandle[GoalT, ResultT, FeedbackT]] = Future() - self._pending_goal_requests[sequence_number] = future - self._goal_sequence_number_to_goal_id[sequence_number] = request.goal_id - future.add_done_callback(self._remove_pending_goal_request) - # Add future so executor is aware - self.add_future(future) - return future def _cancel_goal(self, goal_handle: ClientGoalHandle[GoalT, ResultT, FeedbackT]