# Как создавать и запускать launch файлы

### Создание Launch Файла

1. **Создайте директорию для launch файлов**: Перейдите в свой пакет ROS 2 и создайте папку `launch`, если она еще не существует.

```bash
cd ~/ros2_ws/src/your_package mkdir launch
```

2. **Создайте файл launch**: Создайте файл с именем, заканчивающимся на `_launch.py`, например `camera_launch.py`.bash

```bash
touch launch/camera_launch.py
```

3. **Напишите код для запуска**: Откройте созданный файл в текстовом редакторе и добавьте следующий код:

```python
from launch import LaunchDescription 
from launch_ros.actions import Node 

def generate_launch_description():     
	return LaunchDescription([
	    Node(
	        package='capture_camera',
			executable='capture_camera',
	        name='capture_camera'
	    ),
	    Node(
            package='processing_camera',
            executable='processing_camera',
            name='processing_camera'
        ),
        Node(
            package='info_reader',
            executable='info_reader_node',
            name='info_reader_node'
        ),
    ])
```

Этот код запускает три узла из разных пакетов.

4. **Добавьте файл в setup.py**: Убедитесь, что ваш `setup.py` включает путь к вашему launch файлу, чтобы он устанавливался вместе с пакетом. Пример:

```python
data_files=[
	('share/your_package/launch', ['launch/camera_launch.py']),
]
```

### Сборка и Запуск Launch Файла

1. **Соберите ваш рабочий пространство**: Перейдите в корневую директорию вашего рабочего пространства и выполните сборку.

```bash
cd ~/ros2_ws colcon build
```

2. **Активируйте среду**: После сборки активируйте вашу среду ROS 2.bash

```bash
source install/setup.bash
```

3. **Запустите Launch Файл**: Используйте команду `ros2 launch`, чтобы запустить ваш launch файл.bash

```bash
ros2 launch your_package camera_launch.py
```

Эти шаги позволят вам создать и запустить launch файлы в ROS 2, что значительно упростит управление несколькими узлами одновременно.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://alice-and-alex-docs.gitbook.io/alice_and_alex_docs/ros2-development/kak-sozdavat-i-zapuskat-launch-faily.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
