-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
Copy pathloopback_simulation.launch.py
51 lines (44 loc) · 1.81 KB
/
loopback_simulation.launch.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Copyright (c) 2024 Open Navigation LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Node
def generate_launch_description() -> LaunchDescription:
bringup_dir = get_package_share_directory('nav2_bringup')
params_file = LaunchConfiguration('params_file')
declare_params_file_cmd = DeclareLaunchArgument(
'params_file',
default_value=os.path.join(bringup_dir, 'params', 'nav2_params.yaml'),
description='Full path to the ROS2 parameters file to use for all launched nodes',
)
scan_frame_id = LaunchConfiguration('scan_frame_id')
declare_scan_frame_id_cmd = DeclareLaunchArgument(
'scan_frame_id',
default_value='base_scan',
)
loopback_sim_cmd = Node(
package='nav2_loopback_sim',
executable='loopback_simulator',
name='loopback_simulator',
output='screen',
parameters=[params_file, {'scan_frame_id': scan_frame_id}],
)
ld = LaunchDescription()
ld.add_action(declare_scan_frame_id_cmd)
ld.add_action(declare_params_file_cmd)
ld.add_action(loopback_sim_cmd)
return ld