33
34 sm_aws_warehouse_navigation_dir = get_package_share_directory("sm_aws_warehouse_navigation")
35 launch_dir = os.path.join(sm_aws_warehouse_navigation_dir, "launch")
36
37
38 namespace = LaunchConfiguration("namespace")
39 use_namespace = LaunchConfiguration("use_namespace")
40
41
42 use_sim_time = LaunchConfiguration("use_sim_time")
43
44
45
46
47 stdout_linebuf_envvar = SetEnvironmentVariable("RCUTILS_LOGGING_BUFFERED_STREAM", "1")
48
49 declare_namespace_cmd = DeclareLaunchArgument(
50 "namespace", default_value="", description="Top-level namespace"
51 )
52
53 declare_use_namespace_cmd = DeclareLaunchArgument(
54 "use_namespace",
55 default_value="false",
56 description="Whether to apply a namespace to the navigation stack",
57 )
58
59
60
61
62
63
64
65
66
67 declare_use_sim_time_cmd = DeclareLaunchArgument(
68 "use_sim_time", default_value="false", description="Use simulation (Gazebo) clock if true"
69 )
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 declare_autostart_cmd = DeclareLaunchArgument(
88 "autostart", default_value="true", description="Automatically startup the nav2 stack"
89 )
90
91
92 bringup_cmd_group = GroupAction(
93 [
94 PushRosNamespace(condition=IfCondition(use_namespace), namespace=namespace),
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117 IncludeLaunchDescription(
118 PythonLaunchDescriptionSource(os.path.join(launch_dir, "navigation_launch.py")),
119 launch_arguments={
120 "namespace": namespace,
121 "use_sim_time": use_sim_time,
122
123
124 "use_lifecycle_mgr": "false",
125 "map_subscribe_transient_local": "false",
126 }.items(),
127 ),
128 ]
129 )
130
131
132 ld = LaunchDescription()
133
134
135 ld.add_action(stdout_linebuf_envvar)
136
137
138 ld.add_action(declare_namespace_cmd)
139 ld.add_action(declare_use_namespace_cmd)
140
141
142 ld.add_action(declare_use_sim_time_cmd)
143
144 ld.add_action(declare_autostart_cmd)
145
146
147
148 ld.add_action(bringup_cmd_group)
149
150 return ld
def generate_launch_description()