15from ament_index_python 
import get_package_share_directory
 
   16from launch 
import LaunchDescription
 
   17from launch_ros.actions 
import ComposableNodeContainer
 
   18from launch_ros.descriptions 
import ComposableNode
 
   19from launch.substitutions 
import LaunchConfiguration
 
   20from launch.actions 
import DeclareLaunchArgument
 
   25This file is can be used to launch the CARMA object_detection_tracking_node. 
   26  Though in carma-platform 
is may be loaded 
as a component instead of a separate node
 
   29def generate_launch_description(): 
   32    log_level = LaunchConfiguration(
'log_level')
 
   33    declare_log_level_arg = DeclareLaunchArgument(
 
   34        name =
'log_level', default_value=
'WARN')
 
   36    param_file_path = os.path.join(
 
   37        get_package_share_directory(
'object_detection_tracking'), 
'config/parameters.yaml')
 
   39    container = ComposableNodeContainer(
 
   40        package=
'rclcpp_components',
 
   41        name=
'external_object_container',
 
   43        executable=
'component_container_mt',
 
   44        composable_node_descriptions=[
 
   47                    package=
'object_detection_tracking',
 
   48                    plugin=
'object::ObjectDetectionTrackingNode',
 
   49                    name=
'external_object',
 
   52                        {
'use_intra_process_comms': 
True},
 
   53                        {
'--log-level' : log_level }
 
   55                    parameters=[ param_file_path ]
 
   60    return LaunchDescription([
 
   61        declare_log_level_arg,