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.actions 
import DeclareLaunchArgument
 
   20from launch.substitutions 
import LaunchConfiguration
 
   21from carma_ros2_utils.launch.get_current_namespace 
import GetCurrentNamespace
 
   26This file is can be used to launch the CARMA Pure Pursuit Wrapper Node. 
   27  Though in carma-platform it may be launched directly 
from the base launch file.
 
   30def generate_launch_description(): 
   33    log_level = LaunchConfiguration(
'log_level')
 
   34    declare_log_level_arg = DeclareLaunchArgument(
 
   35        name =
'log_level', default_value=
'WARN')
 
   37    carma_pure_pursuit_wrapper_container = ComposableNodeContainer(
 
   38        package=
'carma_ros2_utils',
 
   39        name=
'carma_pure_pursuit_wrapper_container',
 
   40        executable=
'carma_component_container_mt',
 
   41        namespace=GetCurrentNamespace(),
 
   42        composable_node_descriptions=[
 
   44                package=
'pure_pursuit_wrapper',
 
   45                plugin=
'pure_pursuit_wrapper::PurePursuitWrapperNode',
 
   46                name=
'pure_pursuit_wrapper',
 
   48                    {
'use_intra_process_comms': 
True},
 
   49                    {
'--log-level' : log_level }
 
   55    return LaunchDescription([
 
   56        declare_log_level_arg,
 
   57        carma_pure_pursuit_wrapper_container