from launch import LaunchDescription from launch_ros.actions import Node from launch.substitutions import LaunchConfiguration, Command, FindExecutable, PathJoinSubstitution from launch.actions import DeclareLaunchArgument from launch_ros.substitutions import FindPackageShare from launch_ros.descriptions import ParameterValue from launch_ros.actions import LifecycleNode import os from ament_index_python.packages import get_package_share_directory def generate_launch_description(): use_sim_time = LaunchConfiguration('use_sim_time') joy_params = os.path.join(get_package_share_directory('rmp220_teleop'),'config','joystick.yaml') namespace = "/rmp" joy_node = Node( package='joy', executable='joy_node', parameters=[joy_params, {'use_sim_time': use_sim_time}], #namespace = namespace ) teleop_node = Node( package='teleop_twist_joy', executable='teleop_node', name='teleop_node', parameters=[joy_params, {'use_sim_time': use_sim_time}], remappings=[('cmd_vel', 'cmd_vel_joy')], #namespace = namespace ) twist_mux_params = os.path.join(get_package_share_directory('rmp220_teleop'),'config','twist_mux.yaml') twist_mux_node = Node( package="twist_mux", executable="twist_mux", parameters=[twist_mux_params, {'use_sim_time': False}], remappings=[('/cmd_vel_out','/cmd_vel_mux')] ) rmp_teleop_node = Node( package='rmp220_teleop', executable='rmp220_teleop', name='rmp220_teleop', remappings=[('cmd_vel', 'cmd_vel_joy')], ) rmp_middleware_node = Node( package='rmp220_middleware', executable='rmp220_middleware', name='rmp220_middleware', #namespace = namespace ) return LaunchDescription([ DeclareLaunchArgument( 'use_sim_time', default_value='false', description='Use sim time if true'), joy_node, teleop_node, #rmp_teleop_node, twist_mux_node, rmp_middleware_node ])