1515from launch import LaunchDescription
1616from launch .actions import DeclareLaunchArgument
1717from launch .actions import GroupAction
18+ from launch .actions import IncludeLaunchDescription
1819from launch .actions import OpaqueFunction
20+ from launch .launch_description_sources import PythonLaunchDescriptionSource
1921from launch .substitutions import LaunchConfiguration
20- from launch_ros .actions import LoadComposableNodes
22+ from launch .substitutions import PathJoinSubstitution
23+ from launch_ros .actions import Node
2124from launch_ros .actions import PushRosNamespace
22- from launch_ros .descriptions import ComposableNode
25+ from launch_ros .substitutions import FindPackageShare
2326import yaml
2427
2528
@@ -31,51 +34,45 @@ def launch_setup(context, *args, **kwargs):
3134 with open (LaunchConfiguration ("external_cmd_selector_param_path" ).perform (context ), "r" ) as f :
3235 external_cmd_selector_param = yaml .safe_load (f )["/**" ]["ros__parameters" ]
3336
34- component = ComposableNode (
37+ remappings = [
38+ _create_mapping_tuple ("service/select_external_command" ),
39+ _create_mapping_tuple ("output/current_selector_mode" ),
40+ _create_mapping_tuple ("input/local/pedals_cmd" ),
41+ _create_mapping_tuple ("input/local/steering_cmd" ),
42+ _create_mapping_tuple ("input/local/heartbeat" ),
43+ _create_mapping_tuple ("input/local/gear_cmd" ),
44+ _create_mapping_tuple ("input/local/turn_indicators_cmd" ),
45+ _create_mapping_tuple ("input/local/hazard_lights_cmd" ),
46+ _create_mapping_tuple ("input/remote/pedals_cmd" ),
47+ _create_mapping_tuple ("input/remote/steering_cmd" ),
48+ _create_mapping_tuple ("input/remote/heartbeat" ),
49+ _create_mapping_tuple ("input/remote/gear_cmd" ),
50+ _create_mapping_tuple ("input/remote/turn_indicators_cmd" ),
51+ _create_mapping_tuple ("input/remote/hazard_lights_cmd" ),
52+ _create_mapping_tuple ("output/pedals_cmd" ),
53+ _create_mapping_tuple ("output/steering_cmd" ),
54+ _create_mapping_tuple ("output/heartbeat" ),
55+ _create_mapping_tuple ("output/gear_cmd" ),
56+ _create_mapping_tuple ("output/turn_indicators_cmd" ),
57+ _create_mapping_tuple ("output/hazard_lights_cmd" ),
58+ ]
59+
60+ node = Node (
3561 package = "autoware_external_cmd_selector" ,
36- plugin = "autoware::external_cmd_selector::ExternalCmdSelector " ,
62+ executable = "autoware_external_cmd_selector " ,
3763 name = "external_cmd_selector" ,
38- remappings = [
39- _create_mapping_tuple ("service/select_external_command" ),
40- _create_mapping_tuple ("output/current_selector_mode" ),
41- _create_mapping_tuple ("input/local/pedals_cmd" ),
42- _create_mapping_tuple ("input/local/steering_cmd" ),
43- _create_mapping_tuple ("input/local/heartbeat" ),
44- _create_mapping_tuple ("input/local/gear_cmd" ),
45- _create_mapping_tuple ("input/local/turn_indicators_cmd" ),
46- _create_mapping_tuple ("input/local/hazard_lights_cmd" ),
47- _create_mapping_tuple ("input/remote/pedals_cmd" ),
48- _create_mapping_tuple ("input/remote/steering_cmd" ),
49- _create_mapping_tuple ("input/remote/heartbeat" ),
50- _create_mapping_tuple ("input/remote/gear_cmd" ),
51- _create_mapping_tuple ("input/remote/turn_indicators_cmd" ),
52- _create_mapping_tuple ("input/remote/hazard_lights_cmd" ),
53- _create_mapping_tuple ("output/pedals_cmd" ),
54- _create_mapping_tuple ("output/steering_cmd" ),
55- _create_mapping_tuple ("output/heartbeat" ),
56- _create_mapping_tuple ("output/gear_cmd" ),
57- _create_mapping_tuple ("output/turn_indicators_cmd" ),
58- _create_mapping_tuple ("output/hazard_lights_cmd" ),
59- ],
64+ remappings = remappings ,
6065 parameters = [
6166 external_cmd_selector_param ,
6267 ],
63- extra_arguments = [
64- {
65- "use_intra_process_comms" : LaunchConfiguration ("use_intra_process" ),
66- }
67- ],
68- )
69-
70- loader = LoadComposableNodes (
71- composable_node_descriptions = [component ],
72- target_container = LaunchConfiguration ("target_container" ),
68+ additional_env = {"LD_PRELOAD" : LaunchConfiguration ("ld_preload_value" )},
69+ output = "screen" ,
7370 )
7471
7572 group = GroupAction (
7673 [
7774 PushRosNamespace ("" ),
78- loader ,
75+ node ,
7976 ]
8077 )
8178
@@ -85,9 +82,6 @@ def launch_setup(context, *args, **kwargs):
8582def generate_launch_description ():
8683 # fmt: off
8784 arguments = [
88- # component
89- DeclareLaunchArgument ("use_intra_process" ),
90- DeclareLaunchArgument ("target_container" ),
9185 # mode select
9286 DeclareLaunchArgument ("service/select_external_command" , default_value = "~/select_external_command" ),
9387 DeclareLaunchArgument ("output/current_selector_mode" , default_value = "~/current_selector_mode" ),
@@ -115,4 +109,16 @@ def generate_launch_description():
115109 ]
116110 # fmt: on
117111
118- return LaunchDescription (arguments + [OpaqueFunction (function = launch_setup )])
112+ agnocast_env = IncludeLaunchDescription (
113+ PythonLaunchDescriptionSource (
114+ PathJoinSubstitution (
115+ [
116+ FindPackageShare ("autoware_agnocast_wrapper" ),
117+ "launch" ,
118+ "agnocast_env.launch.py" ,
119+ ]
120+ )
121+ )
122+ )
123+
124+ return LaunchDescription (arguments + [agnocast_env , OpaqueFunction (function = launch_setup )])
0 commit comments