CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In
Ardupilot

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place. Commercial Alternative to JupyterHub.

GitHub Repository: Ardupilot/ardupilot
Path: blob/master/Tools/ros2/ardupilot_sitl/launch/sitl_dds_serial.launch.py
Views: 1800
1
# Copyright 2023 ArduPilot.org.
2
#
3
# This program is free software: you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation, either version 3 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program. If not, see <https://www.gnu.org/licenses/>.
15
16
"""
17
Launch ArduPilot SITL, MAVProxy and the microROS DDS agent.
18
19
Run with default arguments:
20
21
ros2 launch ardupilot_sitl sitl_dds_serial.launch.py
22
"""
23
from launch import LaunchDescription
24
from launch.actions import IncludeLaunchDescription
25
from launch.launch_description_sources import PythonLaunchDescriptionSource
26
from launch.substitutions import PathJoinSubstitution
27
28
from launch_ros.substitutions import FindPackageShare
29
30
31
def generate_launch_description() -> LaunchDescription:
32
"""Generate a launch description to bring up ArduPilot SITL with DDS."""
33
# Compose launch files.
34
virtual_ports = IncludeLaunchDescription(
35
PythonLaunchDescriptionSource(
36
[
37
PathJoinSubstitution(
38
[
39
FindPackageShare("ardupilot_sitl"),
40
"launch",
41
"virtual_ports.launch.py",
42
]
43
),
44
]
45
)
46
)
47
micro_ros_agent = IncludeLaunchDescription(
48
PythonLaunchDescriptionSource(
49
[
50
PathJoinSubstitution(
51
[
52
FindPackageShare("ardupilot_sitl"),
53
"launch",
54
"micro_ros_agent.launch.py",
55
]
56
),
57
]
58
)
59
)
60
sitl = IncludeLaunchDescription(
61
PythonLaunchDescriptionSource(
62
[
63
PathJoinSubstitution(
64
[
65
FindPackageShare("ardupilot_sitl"),
66
"launch",
67
"sitl.launch.py",
68
]
69
),
70
]
71
)
72
)
73
mavproxy = IncludeLaunchDescription(
74
PythonLaunchDescriptionSource(
75
[
76
PathJoinSubstitution(
77
[
78
FindPackageShare("ardupilot_sitl"),
79
"launch",
80
"mavproxy.launch.py",
81
]
82
),
83
]
84
)
85
)
86
87
return LaunchDescription(
88
[
89
virtual_ports,
90
micro_ros_agent,
91
sitl,
92
mavproxy,
93
]
94
)
95
96