4 from launch
import LaunchDescription
5 from launch.substitutions
import LaunchConfiguration
6 from launch_ros.actions
import Node
7 from launch.actions
import DeclareLaunchArgument
8 from launch.conditions
import IfCondition
15 world_file_launch_arg = DeclareLaunchArgument(
16 "world_file", description=
'Path to the *.world.xml file to load')
18 headless_launch_arg = DeclareLaunchArgument(
19 "headless", default_value=
'False')
21 do_fake_localization_arg = DeclareLaunchArgument(
22 "do_fake_localization", default_value=
'True', description=
'publish fake identity tf "map" -> "odom"')
24 publish_tf_odom2baselink_arg = DeclareLaunchArgument(
25 "publish_tf_odom2baselink", default_value=
'True', description=
'publish tf "odom" -> "base_link"')
27 force_publish_vehicle_namespace_arg = DeclareLaunchArgument(
28 "force_publish_vehicle_namespace", default_value=
'False',
29 description=
'Use vehicle name namespace even if there is only one vehicle')
31 use_rviz_arg = DeclareLaunchArgument(
32 'use_rviz', default_value=
'True',
33 description=
'Whether to launch RViz2'
36 rviz_config_file_arg = DeclareLaunchArgument(
37 'rviz_config_file', default_value=
'',
38 description=
'If use_rviz:="True", the configuration file for rviz'
43 executable=
'mvsim_node',
48 "world_file": LaunchConfiguration(
'world_file'),
49 "headless": LaunchConfiguration(
'headless'),
50 "do_fake_localization": LaunchConfiguration(
'do_fake_localization'),
51 "publish_tf_odom2baselink": LaunchConfiguration(
'publish_tf_odom2baselink'),
52 "force_publish_vehicle_namespace": LaunchConfiguration(
'force_publish_vehicle_namespace'),
57 condition=IfCondition(LaunchConfiguration(
'use_rviz')),
61 arguments=[]
if LaunchConfiguration(
'rviz_config_file') ==
'' else [
62 '-d', LaunchConfiguration(
'rviz_config_file')]
65 return LaunchDescription([
66 world_file_launch_arg,
68 do_fake_localization_arg,
69 publish_tf_odom2baselink_arg,
70 force_publish_vehicle_namespace_arg,