<aside> 💡 Launch 파일 생성 실습은 ROS 2 Humble 공식 Docs의 자료를 사용합니다. 보다 자세한 내용은 아래 링크를 참고해 주세요.
Creating a launch file — ROS 2 Documentation: Humble documentation
</aside>
Launch 파일을 생성하기 위해 실습 - Package 및 Node 생성 에서 사용한 py_pubsub 패키지를 사용합니다. VSCode를 실행한 후 py_pubsub 패키지를 열어줍니다.

py_pubsub 폴더에 launch 폴더를 새로 만들어줍니다. 폴더를 우클릭하고 [New Folder…] 버튼을 누르거나 폴더를 클릭한 상태로 **New Folder 버튼(📁)**을 클릭하면 새로운 폴더를 생성할 수 있습니다.


새로 생성된 launch 폴더 안에 py_pubsub.launch.py 라는 이름의 파일을 새로 생성합니다.


새로 생성한 파일에 아래 코드를 붙여 넣고 저장합니다.

from launch import LaunchDescription
from launch_ros.actions import Node
def generate_launch_description():
return LaunchDescription(
[
Node(
package="py_pubsub",
namespace="",
executable="listener",
name="listener",
),
Node(package="py_pubsub",
namespace="",
executable="talker",
name="talker"
)
]
)
launch 파일 경로를 지정하기 위해 setup.py 파일을 열고 아래와 같이 수정합니다.
import os
from glob import glob
from setuptools import setup
package_name = "py_pubsub"
setup(
name=package_name,
version="0.0.0",
packages=[package_name],
data_files=[
("share/ament_index/resource_index/packages", ["resource/" + package_name]),
("share/" + package_name, ["package.xml"]),
(os.path.join("share", package_name, "launch"), glob("launch/*.launch.py")),
],
install_requires=["setuptools"],
zip_safe=True,
maintainer="ubuntu",
maintainer_email="[email protected]",
description="Examples of minimal publisher/subscriber using rclpy",
license="Apache License 2.0",
tests_require=["pytest"],
entry_points={
"console_scripts": [
"talker = py_pubsub.publisher_member_function:main",
"listener = py_pubsub.subscriber_member_function:main",
],
},
)

터미널 창을 열고 cb 명령어를 입력해 빌드합니다.

빌드가 성공적으로 완료되었다면 터미널 창에 아래 명령어를 입력해 launch 파일을 실행할 수 있습니다.