17 from launch
import LaunchDescription
18 from launch.actions
import ExecuteProcess, IncludeLaunchDescription
19 from launch.launch_description_sources
import PythonLaunchDescriptionSource
20 from launch_ros.actions
import Node
21 from ament_index_python.packages
import get_package_share_directory
23 def generate_launch_description():
24 nav2_bringup_dir = get_package_share_directory(
'nav2_bringup')
25 benchmark_dir = os.getcwd()
26 metrics_py = os.path.join(benchmark_dir,
'metrics.py')
27 config = os.path.join(get_package_share_directory(
'nav2_bringup'),
'params',
'nav2_params.yaml')
28 map_file = os.path.join(benchmark_dir,
'maps',
'smoothers_world.yaml')
29 lifecycle_nodes = [
'map_server',
'planner_server',
'smoother_server']
31 static_transform_one = Node(
33 executable =
'static_transform_publisher',
35 arguments = [
"0",
"0",
"0",
"0",
"0",
"0",
"base_link",
"map"])
37 static_transform_two = Node(
39 executable =
'static_transform_publisher',
41 arguments = [
"0",
"0",
"0",
"0",
"0",
"0",
"base_link",
"odom"])
43 start_map_server_cmd = Node(
44 package=
'nav2_map_server',
45 executable=
'map_server',
48 parameters=[{
'use_sim_time':
True},
49 {
'yaml_filename': map_file},
50 {
'topic_name':
"map"}])
52 start_planner_server_cmd = Node(
53 package=
'nav2_planner',
54 executable=
'planner_server',
55 name=
'planner_server',
59 start_smoother_server_cmd = Node(
60 package=
'nav2_smoother',
61 executable=
'smoother_server',
62 name=
'smoother_server',
66 start_lifecycle_manager_cmd = Node(
67 package=
'nav2_lifecycle_manager',
68 executable=
'lifecycle_manager',
69 name=
'lifecycle_manager',
71 parameters=[{
'use_sim_time':
True},
73 {
'node_names': lifecycle_nodes}])
75 rviz_cmd = IncludeLaunchDescription(
76 PythonLaunchDescriptionSource(
77 os.path.join(nav2_bringup_dir,
'launch',
'rviz_launch.py')),
78 launch_arguments={
'namespace':
'',
79 'use_namespace':
'False'}.items())
81 metrics_cmd = ExecuteProcess(
82 cmd=[
'python3',
'-u', metrics_py],
83 cwd=[benchmark_dir], output=
'screen')
85 ld = LaunchDescription()
86 ld.add_action(static_transform_one)
87 ld.add_action(static_transform_two)
88 ld.add_action(start_map_server_cmd)
89 ld.add_action(start_planner_server_cmd)
90 ld.add_action(start_smoother_server_cmd)
91 ld.add_action(start_lifecycle_manager_cmd)
92 ld.add_action(rviz_cmd)
93 ld.add_action(metrics_cmd)