From 7a29e17c1f0937bc67d56b43383797c8637a087f Mon Sep 17 00:00:00 2001 From: Steve Macenski Date: Wed, 3 Jul 2024 11:41:50 -0700 Subject: [PATCH] fixing gz sim launch file by using gz directly (#4514) --- .../launch/cloned_multi_tb3_simulation_launch.py | 9 ++++----- nav2_bringup/launch/tb3_simulation_launch.py | 11 +++++------ nav2_bringup/launch/tb4_simulation_launch.py | 11 +++++------ ...unch.py => unique_multi_tb3_simulation_launch.py} | 9 ++++----- .../test_assisted_teleop_behavior_launch.py | 11 +++-------- .../src/behaviors/spin/test_spin_behavior_launch.py | 11 +++-------- .../src/costmap_filters/test_keepout_launch.py | 11 +++-------- .../src/costmap_filters/test_speed_launch.py | 11 +++-------- .../src/localization/test_localization_launch.py | 12 +++--------- nav2_system_tests/src/system/test_system_launch.py | 11 +++-------- .../src/system/test_system_with_obstacle_launch.py | 11 +++-------- .../src/system/test_wrong_init_pose_launch.py | 11 +++-------- .../src/system_failure/test_system_failure_launch.py | 11 +++-------- .../src/waypoint_follower/test_case_py.launch | 11 +++-------- 14 files changed, 48 insertions(+), 103 deletions(-) rename nav2_bringup/launch/{unique_multi_tb4_simulation_launch.py => unique_multi_tb3_simulation_launch.py} (97%) diff --git a/nav2_bringup/launch/cloned_multi_tb3_simulation_launch.py b/nav2_bringup/launch/cloned_multi_tb3_simulation_launch.py index 54f9d60f80..bd001412d5 100644 --- a/nav2_bringup/launch/cloned_multi_tb3_simulation_launch.py +++ b/nav2_bringup/launch/cloned_multi_tb3_simulation_launch.py @@ -111,11 +111,10 @@ def generate_launch_description(): world_sdf = tempfile.mktemp(prefix='nav2_', suffix='.sdf') world_sdf_xacro = ExecuteProcess( cmd=['xacro', '-o', world_sdf, ['headless:=', 'False'], world]) - start_gazebo_cmd = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(get_package_share_directory('ros_gz_sim'), 'launch', - 'gz_sim.launch.py')), - launch_arguments={'gz_args': ['-r -s ', world_sdf]}.items()) + start_gazebo_cmd = ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf], + output='screen', + ) remove_temp_sdf_file = RegisterEventHandler(event_handler=OnShutdown( on_shutdown=[ diff --git a/nav2_bringup/launch/tb3_simulation_launch.py b/nav2_bringup/launch/tb3_simulation_launch.py index cfef103f7b..db1964f955 100644 --- a/nav2_bringup/launch/tb3_simulation_launch.py +++ b/nav2_bringup/launch/tb3_simulation_launch.py @@ -214,12 +214,11 @@ def generate_launch_description(): world_sdf = tempfile.mktemp(prefix='nav2_', suffix='.sdf') world_sdf_xacro = ExecuteProcess( cmd=['xacro', '-o', world_sdf, ['headless:=', headless], world]) - gazebo_server = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(get_package_share_directory('ros_gz_sim'), 'launch', - 'gz_sim.launch.py')), - launch_arguments={'gz_args': ['-r -s ', world_sdf]}.items(), - condition=IfCondition(use_simulator)) + gazebo_server = ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf], + output='screen', + condition=IfCondition(use_simulator) + ) remove_temp_sdf_file = RegisterEventHandler(event_handler=OnShutdown( on_shutdown=[ diff --git a/nav2_bringup/launch/tb4_simulation_launch.py b/nav2_bringup/launch/tb4_simulation_launch.py index df98cd930b..463f0c17f3 100644 --- a/nav2_bringup/launch/tb4_simulation_launch.py +++ b/nav2_bringup/launch/tb4_simulation_launch.py @@ -216,12 +216,11 @@ def generate_launch_description(): world_sdf = tempfile.mktemp(prefix='nav2_', suffix='.sdf') world_sdf_xacro = ExecuteProcess( cmd=['xacro', '-o', world_sdf, ['headless:=', headless], world]) - gazebo_server = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(get_package_share_directory('ros_gz_sim'), 'launch', - 'gz_sim.launch.py')), - launch_arguments={'gz_args': ['-r -s ', world_sdf]}.items(), - condition=IfCondition(use_simulator)) + gazebo_server = ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf], + output='screen', + condition=IfCondition(use_simulator) + ) remove_temp_sdf_file = RegisterEventHandler(event_handler=OnShutdown( on_shutdown=[ diff --git a/nav2_bringup/launch/unique_multi_tb4_simulation_launch.py b/nav2_bringup/launch/unique_multi_tb3_simulation_launch.py similarity index 97% rename from nav2_bringup/launch/unique_multi_tb4_simulation_launch.py rename to nav2_bringup/launch/unique_multi_tb3_simulation_launch.py index 7eaaf1a97d..ae5551d179 100644 --- a/nav2_bringup/launch/unique_multi_tb4_simulation_launch.py +++ b/nav2_bringup/launch/unique_multi_tb3_simulation_launch.py @@ -138,11 +138,10 @@ def generate_launch_description(): world_sdf = tempfile.mktemp(prefix='nav2_', suffix='.sdf') world_sdf_xacro = ExecuteProcess( cmd=['xacro', '-o', world_sdf, ['headless:=', 'False'], world]) - start_gazebo_cmd = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(get_package_share_directory('ros_gz_sim'), 'launch', - 'gz_sim.launch.py')), - launch_arguments={'gz_args': ['-r -s ', world_sdf]}.items()) + start_gazebo_cmd = ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf], + output='screen', + ) remove_temp_sdf_file = RegisterEventHandler(event_handler=OnShutdown( on_shutdown=[ diff --git a/nav2_system_tests/src/behaviors/assisted_teleop/test_assisted_teleop_behavior_launch.py b/nav2_system_tests/src/behaviors/assisted_teleop/test_assisted_teleop_behavior_launch.py index 254dc0aac6..ece57eefed 100755 --- a/nav2_system_tests/src/behaviors/assisted_teleop/test_assisted_teleop_behavior_launch.py +++ b/nav2_system_tests/src/behaviors/assisted_teleop/test_assisted_teleop_behavior_launch.py @@ -32,13 +32,11 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -73,11 +71,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -134,7 +130,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/behaviors/spin/test_spin_behavior_launch.py b/nav2_system_tests/src/behaviors/spin/test_spin_behavior_launch.py index 1a43845ccf..492e2d2f8e 100755 --- a/nav2_system_tests/src/behaviors/spin/test_spin_behavior_launch.py +++ b/nav2_system_tests/src/behaviors/spin/test_spin_behavior_launch.py @@ -32,13 +32,11 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -75,11 +73,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -136,7 +132,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/costmap_filters/test_keepout_launch.py b/nav2_system_tests/src/costmap_filters/test_keepout_launch.py index efb79be2f8..f0d7d924de 100755 --- a/nav2_system_tests/src/costmap_filters/test_keepout_launch.py +++ b/nav2_system_tests/src/costmap_filters/test_keepout_launch.py @@ -35,14 +35,12 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') nav2_sys_test_dir = get_package_share_directory('nav2_system_tests') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -90,11 +88,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -199,7 +195,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/costmap_filters/test_speed_launch.py b/nav2_system_tests/src/costmap_filters/test_speed_launch.py index e25c7b8b61..38492a53bc 100755 --- a/nav2_system_tests/src/costmap_filters/test_speed_launch.py +++ b/nav2_system_tests/src/costmap_filters/test_speed_launch.py @@ -35,14 +35,12 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') nav2_sys_test_dir = get_package_share_directory('nav2_system_tests') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -88,11 +86,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -190,7 +186,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/localization/test_localization_launch.py b/nav2_system_tests/src/localization/test_localization_launch.py index 985be9bf22..619b989510 100755 --- a/nav2_system_tests/src/localization/test_localization_launch.py +++ b/nav2_system_tests/src/localization/test_localization_launch.py @@ -27,14 +27,11 @@ import launch_ros.actions from launch_testing.legacy import LaunchTestService -from nav2_simple_commander.utils import kill_os_processes - def main(argv=sys.argv[1:]): testExecutable = os.getenv('TEST_EXECUTABLE') sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -53,11 +50,9 @@ def main(argv=sys.argv[1:]): str(Path(os.path.join(sim_dir)).parent.resolve()) ) - start_gazebo_server = IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + start_gazebo_server = ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ) spawn_robot = IncludeLaunchDescription( @@ -123,7 +118,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/system/test_system_launch.py b/nav2_system_tests/src/system/test_system_launch.py index 176e366fa8..439a82e896 100755 --- a/nav2_system_tests/src/system/test_system_launch.py +++ b/nav2_system_tests/src/system/test_system_launch.py @@ -35,13 +35,11 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -97,11 +95,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -169,7 +165,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/system/test_system_with_obstacle_launch.py b/nav2_system_tests/src/system/test_system_with_obstacle_launch.py index afe312c4b9..4f6cc09ffb 100755 --- a/nav2_system_tests/src/system/test_system_with_obstacle_launch.py +++ b/nav2_system_tests/src/system/test_system_with_obstacle_launch.py @@ -35,13 +35,11 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') nav2_system_tests_dir = get_package_share_directory('nav2_system_tests') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') @@ -100,11 +98,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -182,7 +178,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/system/test_wrong_init_pose_launch.py b/nav2_system_tests/src/system/test_wrong_init_pose_launch.py index e4c0f8de66..c6fbe3f954 100755 --- a/nav2_system_tests/src/system/test_wrong_init_pose_launch.py +++ b/nav2_system_tests/src/system/test_wrong_init_pose_launch.py @@ -34,13 +34,11 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -96,11 +94,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -168,7 +164,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/system_failure/test_system_failure_launch.py b/nav2_system_tests/src/system_failure/test_system_failure_launch.py index 2eacc7e2b2..8adb361797 100755 --- a/nav2_system_tests/src/system_failure/test_system_failure_launch.py +++ b/nav2_system_tests/src/system_failure/test_system_failure_launch.py @@ -35,13 +35,11 @@ from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -85,11 +83,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -155,7 +151,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code diff --git a/nav2_system_tests/src/waypoint_follower/test_case_py.launch b/nav2_system_tests/src/waypoint_follower/test_case_py.launch index 8c7bed7a46..7a19668050 100755 --- a/nav2_system_tests/src/waypoint_follower/test_case_py.launch +++ b/nav2_system_tests/src/waypoint_follower/test_case_py.launch @@ -33,13 +33,11 @@ from launch_ros.actions import Node from launch_testing.legacy import LaunchTestService from nav2_common.launch import RewrittenYaml -from nav2_simple_commander.utils import kill_os_processes def generate_launch_description(): sim_dir = get_package_share_directory('nav2_minimal_tb3_sim') nav2_bringup_dir = get_package_share_directory('nav2_bringup') - ros_gz_sim_dir = get_package_share_directory('ros_gz_sim') world_sdf_xacro = os.path.join(sim_dir, 'worlds', 'tb3_sandbox.sdf.xacro') robot_sdf = os.path.join(sim_dir, 'urdf', 'gz_waffle.sdf.xacro') @@ -79,11 +77,9 @@ def generate_launch_description(): 'GZ_SIM_RESOURCE_PATH', str(Path(os.path.join(sim_dir)).parent.resolve()) ), - IncludeLaunchDescription( - PythonLaunchDescriptionSource( - os.path.join(ros_gz_sim_dir, 'launch', 'gz_sim.launch.py') - ), - launch_arguments={'gz_args': ['-r -s ', world_sdf_xacro]}.items(), + ExecuteProcess( + cmd=['gz', 'sim', '-r', '-s', world_sdf_xacro], + output='screen', ), IncludeLaunchDescription( PythonLaunchDescriptionSource( @@ -135,7 +131,6 @@ def main(argv=sys.argv[1:]): ls = LaunchService(argv=argv) ls.include_launch_description(ld) return_code = lts.run(ls) - kill_os_processes('gz sim') return return_code