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', ### [Groot](https://github.com/BehaviorTree/Groot) behavior_tree_visual tool ### [](https://intelligentroboticslab.gsyc.urjc.es/ros2_planning_system.github.io/design/index.html) # need to provide visual information about working behavior tree # '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