1212# See the License for the specific language governing permissions and
1313# limitations under the License.
1414
15- from controller_manager_msgs .srv import ConfigureController , \
16- ListControllers , ListControllerTypes , ListHardwareComponents , ListHardwareInterfaces , \
17- LoadController , ReloadControllerLibraries , SwitchController , UnloadController
15+ from controller_manager_msgs .srv import (
16+ ConfigureController ,
17+ ListControllers ,
18+ ListControllerTypes ,
19+ ListHardwareComponents ,
20+ ListHardwareInterfaces ,
21+ LoadController ,
22+ ReloadControllerLibraries ,
23+ SwitchController ,
24+ UnloadController ,
25+ )
1826
1927import rclpy
2028
@@ -24,68 +32,90 @@ def service_caller(node, service_name, service_type, request, service_timeout=10
2432
2533 if not cli .service_is_ready ():
2634 node .get_logger ().debug (
27- f'waiting { service_timeout } seconds for service { service_name } to become available...' )
35+ f"waiting { service_timeout } seconds for service { service_name } to become available..."
36+ )
2837 if not cli .wait_for_service (service_timeout ):
29- raise RuntimeError (f' Could not contact service { service_name } ' )
38+ raise RuntimeError (f" Could not contact service { service_name } " )
3039
31- node .get_logger ().debug (f' requester: making request: { request } \n ' )
40+ node .get_logger ().debug (f" requester: making request: { request } \n " )
3241 future = cli .call_async (request )
3342 rclpy .spin_until_future_complete (node , future )
3443 if future .result () is not None :
3544 return future .result ()
3645 else :
37- raise RuntimeError (f' Exception while calling service: { future .exception ()} ' )
46+ raise RuntimeError (f" Exception while calling service: { future .exception ()} " )
3847
3948
4049def configure_controller (node , controller_manager_name , controller_name ):
4150 request = ConfigureController .Request ()
4251 request .name = controller_name
43- return service_caller (node , f'{ controller_manager_name } /configure_controller' ,
44- ConfigureController , request )
52+ return service_caller (
53+ node , f"{ controller_manager_name } /configure_controller" , ConfigureController , request
54+ )
4555
4656
4757def list_controllers (node , controller_manager_name ):
4858 request = ListControllers .Request ()
49- return service_caller (node , f'{ controller_manager_name } /list_controllers' ,
50- ListControllers , request )
59+ return service_caller (
60+ node , f"{ controller_manager_name } /list_controllers" , ListControllers , request
61+ )
5162
5263
5364def list_controller_types (node , controller_manager_name ):
5465 request = ListControllerTypes .Request ()
55- return service_caller (node ,
56- f' { controller_manager_name } /list_controller_types' ,
57- ListControllerTypes , request )
66+ return service_caller (
67+ node , f" { controller_manager_name } /list_controller_types" , ListControllerTypes , request
68+ )
5869
5970
6071def list_hardware_components (node , controller_manager_name ):
6172 request = ListHardwareComponents .Request ()
62- return service_caller (node , f'{ controller_manager_name } /list_hardware_components' ,
63- ListHardwareComponents , request )
73+ return service_caller (
74+ node ,
75+ f"{ controller_manager_name } /list_hardware_components" ,
76+ ListHardwareComponents ,
77+ request ,
78+ )
6479
6580
6681def list_hardware_interfaces (node , controller_manager_name ):
6782 request = ListHardwareInterfaces .Request ()
68- return service_caller (node , f'{ controller_manager_name } /list_hardware_interfaces' ,
69- ListHardwareInterfaces , request )
83+ return service_caller (
84+ node ,
85+ f"{ controller_manager_name } /list_hardware_interfaces" ,
86+ ListHardwareInterfaces ,
87+ request ,
88+ )
7089
7190
7291def load_controller (node , controller_manager_name , controller_name ):
7392 request = LoadController .Request ()
7493 request .name = controller_name
75- return service_caller (node , f'{ controller_manager_name } /load_controller' ,
76- LoadController , request )
94+ return service_caller (
95+ node , f"{ controller_manager_name } /load_controller" , LoadController , request
96+ )
7797
7898
7999def reload_controller_libraries (node , controller_manager_name , force_kill ):
80100 request = ReloadControllerLibraries .Request ()
81101 request .force_kill = force_kill
82- return service_caller (node ,
83- f'{ controller_manager_name } /reload_controller_libraries' ,
84- ReloadControllerLibraries , request )
85-
86-
87- def switch_controllers (node , controller_manager_name , deactivate_controllers ,
88- activate_controllers , strict , activate_asap , timeout ):
102+ return service_caller (
103+ node ,
104+ f"{ controller_manager_name } /reload_controller_libraries" ,
105+ ReloadControllerLibraries ,
106+ request ,
107+ )
108+
109+
110+ def switch_controllers (
111+ node ,
112+ controller_manager_name ,
113+ deactivate_controllers ,
114+ activate_controllers ,
115+ strict ,
116+ activate_asap ,
117+ timeout ,
118+ ):
89119 request = SwitchController .Request ()
90120 request .activate_controllers = activate_controllers
91121 request .deactivate_controllers = deactivate_controllers
@@ -95,12 +125,14 @@ def switch_controllers(node, controller_manager_name, deactivate_controllers,
95125 request .strictness = SwitchController .Request .BEST_EFFORT
96126 request .activate_asap = activate_asap
97127 request .timeout = rclpy .duration .Duration (seconds = timeout ).to_msg ()
98- return service_caller (node , f'{ controller_manager_name } /switch_controller' ,
99- SwitchController , request )
128+ return service_caller (
129+ node , f"{ controller_manager_name } /switch_controller" , SwitchController , request
130+ )
100131
101132
102133def unload_controller (node , controller_manager_name , controller_name ):
103134 request = UnloadController .Request ()
104135 request .name = controller_name
105- return service_caller (node , f'{ controller_manager_name } /unload_controller' ,
106- UnloadController , request )
136+ return service_caller (
137+ node , f"{ controller_manager_name } /unload_controller" , UnloadController , request
138+ )
0 commit comments