# Основные команды ROS 2

1. **Управление узлами**:
   * `ros2 node list`: выводит список всех узлов в текущей сети ROS 2.
   * `ros2 node info <node_name>`: показывает информацию о конкретном узле, включая его темы и сервисы.
2. **Работа с темами**:
   * `ros2 topic list`: выводит список всех доступных тем в сети ROS 2.
   * `ros2 topic info <topic_name>`: показывает информацию о конкретной теме, включая тип сообщения и подписчиков/издателей.
   * `ros2 topic echo <topic_name>`: выводит данные из указанной темы в реальном времени.
   * `ros2 topic pub <topic_name> <msg_type> <args>`: публикует сообщение в указанную тему.
3. **Управление сервисами**:
   * `ros2 service list`: выводит список всех доступных сервисов в сети ROS 2.
   * `ros2 service info <service_name>`: показывает информацию о конкретном сервисе.
   * `ros2 service call <service_name> <srv_type> <args>`: вызывает указанный сервис с заданными аргументами.
4. **Работа с сообщениями**:
   * `ros2 msg list`: выводит список всех доступных типов сообщений в ROS 2.
   * `ros2 msg show <msg_type>`: показывает определение указанного типа сообщения.
5. **Работа с bag-файлами**:
   * `ros2 bag info <bag_file>`: отображает информацию о содержимом bag-файла.
   * `ros2 bag play <bag_file>`: воспроизводит данные из bag-файла.
6. **Управление параметрами**:
   * `ros2 param list`: выводит список параметров для узлов.
   * `ros2 param get <node_name> <param_name>`: получает значение указанного параметра.
   * `ros2 param set <node_name> <param_name> <value>`: устанавливает новое значение для параметра.
7. **Отображение графа**:
   * `rqt_graph`: запускает графический интерфейс для визуализации узлов и их связей.
8. **Дополнительные команды**:
   * `ros2 lifecycle`: команды для управления жизненным циклом узлов.
   * `ros2 run <package> <executable>`: запускает исполняемый файл из указанного пакета.

Эти команды являются основными инструментами для работы с ROS 2 и позволяют эффективно управлять различными аспектами системы.

## Jetbot'ы

[Ссылка на репозиторий с исходниками jetbot'а с хакатона](https://github.com/firegrock/jetbot_package/blob/main/jetbot_mirea_description/launch/jetbot_mirea_rviz.launch.py)

## Nav2

[Ссылка на репозиторий с примером использования nav2](https://github.com/ros-navigation/navigation2_tutorials/blob/rolling/sam_bot_description/src/description/sam_bot_description.urdf)

## Как писать urdf-файлы

[Примеры из официальной документации](broken://pages/731Fw4FLP9tuqjTRszKY) [О link'ах](https://wiki.ros.org/urdf/XML/link) [О joint'ах](https://wiki.ros.org/urdf/XML/joint)

## Официальная документация к ROS2 galactic

[Документация](https://docs.ros.org/en/galactic/index.html)


---

# 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/osnovnye-komandy-ros-2.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.
