import os from ament_index_python.packages import get_package_share_directory from launch import LaunchDescription from launch.actions import DeclareLaunchArgument, IncludeLaunchDescription, SetEnvironmentVariable from launch.launch_description_sources import PythonLaunchDescriptionSource from launch.substitutions import LaunchConfiguration from launch_ros.actions import Node def generate_launch_description(): pkg_dir = get_package_share_directory('rasms_manipulator') namespace = LaunchConfiguration('namespace') declare_namespace_cmd = DeclareLaunchArgument( 'namespace', default_value='', description='Namespace') stdout_linebuf_envvar = SetEnvironmentVariable( 'RCUTILS_CONSOLE_STDOUT_LINE_BUFFERED', '1') plansys2_cmd = IncludeLaunchDescription( PythonLaunchDescriptionSource(os.path.join( get_package_share_directory('plansys2_bringup'), 'launch', 'plansys2_bringup_launch_monolithic.py')), launch_arguments={ 'model_file': pkg_dir + '/pddl/domain.pddl', 'namespace': namespace }.items()) move_1 = Node( package='plansys2_bt_actions', executable='bt_action_node', name='move_1', namespace=namespace, output='screen', parameters=[ pkg_dir + '/config/params.yaml', { 'action_name': 'move', 'publisher_port': 1668, 'server_port': 1669, 'bt_xml_file': pkg_dir + '/behavior_trees_xml/move.xml' } ]) ld = LaunchDescription() ld.add_action(stdout_linebuf_envvar) ld.add_action(declare_namespace_cmd) # Declare the launch options ld.add_action(plansys2_cmd) ld.add_action(move_1) return ld