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('cps_rmp220_support'),'config','joystick.yaml') joy_node = Node( package='joy', executable='joy_node', parameters=[joy_params, {'use_sim_time': use_sim_time}], ) 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')] ) twist_mux_params = os.path.join(get_package_share_directory('cps_rmp220_support'),'config','twist_mux.yaml') twist_mux = Node( package="twist_mux", executable="twist_mux", parameters=[twist_mux_params, {'use_sim_time': False}], #remappings=[('/cmd_vel_out','/diffbot_base_controller/cmd_vel_unstamped')] ) return LaunchDescription([ DeclareLaunchArgument( 'use_sim_time', default_value='false', description='Use sim time if true'), joy_node, teleop_node, twist_mux ])