@@ -116,23 +116,6 @@ def launch_setup(context, *args, **kwargs):
116
116
parameters = [nearest_search_param , lane_departure_checker_param , vehicle_info_param ],
117
117
extra_arguments = [{"use_intra_process_comms" : LaunchConfiguration ("use_intra_process" )}],
118
118
)
119
- # control validator checker
120
- control_validator_component = ComposableNode (
121
- package = "control_validator" ,
122
- plugin = "control_validator::ControlValidator" ,
123
- name = "control_validator" ,
124
- remappings = [
125
- ("~/input/kinematics" , "/localization/kinematic_state" ),
126
- ("~/input/reference_trajectory" , "/planning/scenario_planning/trajectory" ),
127
- (
128
- "~/input/predicted_trajectory" ,
129
- "/control/trajectory_follower/lateral/predicted_trajectory" ,
130
- ),
131
- ("~/output/validation_status" , "~/validation_status" ),
132
- ],
133
- parameters = [control_validator_param ],
134
- extra_arguments = [{"use_intra_process_comms" : LaunchConfiguration ("use_intra_process" )}],
135
- )
136
119
137
120
# shift decider
138
121
shift_decider_component = ComposableNode (
@@ -351,7 +334,6 @@ def launch_setup(context, *args, **kwargs):
351
334
executable = LaunchConfiguration ("container_executable" ),
352
335
composable_node_descriptions = [
353
336
controller_component ,
354
- control_validator_component ,
355
337
lane_departure_component ,
356
338
shift_decider_component ,
357
339
vehicle_cmd_gate_component ,
@@ -360,6 +342,23 @@ def launch_setup(context, *args, **kwargs):
360
342
],
361
343
)
362
344
345
+ # control validator checker
346
+ control_validator_component = ComposableNode (
347
+ package = "control_validator" ,
348
+ plugin = "control_validator::ControlValidator" ,
349
+ name = "control_validator" ,
350
+ remappings = [
351
+ ("~/input/kinematics" , "/localization/kinematic_state" ),
352
+ ("~/input/reference_trajectory" , "/planning/scenario_planning/trajectory" ),
353
+ (
354
+ "~/input/predicted_trajectory" ,
355
+ "/control/trajectory_follower/lateral/predicted_trajectory" ,
356
+ ),
357
+ ("~/output/validation_status" , "~/validation_status" ),
358
+ ],
359
+ parameters = [control_validator_param ],
360
+ )
361
+
363
362
group = GroupAction (
364
363
[
365
364
PushRosNamespace ("control" ),
@@ -372,7 +371,19 @@ def launch_setup(context, *args, **kwargs):
372
371
]
373
372
)
374
373
375
- return [group ]
374
+ control_validator_group = GroupAction (
375
+ [
376
+ PushRosNamespace ("control" ),
377
+ ComposableNodeContainer (
378
+ name = "control_validator_container" ,
379
+ namespace = "" ,
380
+ package = "rclcpp_components" ,
381
+ executable = LaunchConfiguration ("container_executable" ),
382
+ composable_node_descriptions = [control_validator_component , glog_component ],
383
+ ),
384
+ ]
385
+ )
386
+ return [group , control_validator_group ]
376
387
377
388
378
389
def generate_launch_description ():
0 commit comments