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
27This file is can be used to launch the CARMA motion_computation_node.
28 Though in carma-platform it may be launched directly
from the base launch file.
32def generate_launch_description():
34 log_level = LaunchConfiguration(
"log_level")
35 declare_log_level_arg = DeclareLaunchArgument(
36 name=
"log_level", default_value=
"WARN"
40 param_file_path = os.path.join(
41 get_package_share_directory(
"motion_computation"),
"config/parameters.yaml"
45 container = ComposableNodeContainer(
46 package=
"carma_ros2_utils",
47 name=
"motion_computation_container",
48 namespace=GetCurrentNamespace(),
49 executable=
"carma_component_container_mt",
50 composable_node_descriptions=[
53 package=
"motion_computation",
54 plugin=
"motion_computation::MotionComputationNode",
55 name=
"motion_computation_node",
57 {
"use_intra_process_comms":
True},
58 {
"--log-level": log_level},
60 parameters=[param_file_path],
65 return LaunchDescription([declare_log_level_arg, container])