@@ -18,10 +18,12 @@ class RouteNode(Node):
1818 set_route_points_service_name = "/api/routing/set_route_points"
1919 clear_route_service_name = "/api/routing/clear_route"
2020
21- def __init__ (self ) -> None :
21+ def __init__ (self , autoware_state ) -> None :
2222 # Initialize the Node base class with a unique name
2323 super ().__init__ ("route_client_node" )
2424
25+ self .autoware_state = autoware_state
26+
2527 # Create service clients, not publishers
2628 self .set_route_client = self .create_client (
2729 SetRoutePoints , self .set_route_points_service_name
@@ -81,7 +83,7 @@ def request_route(self, goal: Pose, waypoints: list[Pose]) -> None:
8183 request .waypoints = waypoints
8284
8385 # Call the service asynchronously. This returns a Future object.
84- future = self .set_route_client .call (request )
86+ future = self .set_route_client .call_async (request )
8587
8688 # Add a callback to process the response when it arrives.
8789 future .add_done_callback (self .set_route_response_callback )
@@ -93,6 +95,7 @@ def set_route_response_callback(self, future):
9395 response = future .result ()
9496 # Assuming Autoware services return a status field with success/message
9597 if response .status .success :
98+ self .autoware_state .sent_route = True
9699 self .get_logger ().info ("Route set successfully!" )
97100 else :
98101 self .get_logger ().warn (
@@ -109,7 +112,7 @@ def request_clear_route(self):
109112 request = ClearRoute_Request () # Or ClearRoute()
110113
111114 # Call the service asynchronously
112- future = self .clear_route_client .call (request )
115+ future = self .clear_route_client .call_async (request )
113116 future .add_done_callback (self .clear_route_response_callback )
114117
115118 def clear_route_response_callback (self , future ):
0 commit comments