Node

Исполняемый объект в пакете ROS 2.

Аргументы:
  • --prefix: команда-префикс перед запуском
  • --ros-args: аргументы для узла
  • --remap: переназначение топиков
Примеры:
  • $ ros2 run turtlesim turtlesim_node
  • $ ros2 run turtlesim turtlesim_node --ros-args --remap __node:=my_turtle
  • $ ros2 node info /my_turtle

Node list

Выводит список всех работающих узлов.

Примеры:
  • $ ros2 node list

Topic

Шина для обмена сообщениями между узлами.

Аргументы:
  • -r: частота публикации
  • -p: каждое N-е сообщение
  • -1/--once: одно сообщение и выход
  • -t: опубликовать N раз
  • --keep-alive: удерживать N секунд после публикации
Примеры:
  • $ ros2 topic info /turtle1/cmd_vel
  • $ ros2 topic echo /turtle1/cmd_vel
  • $ ros2 topic pub --once /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0}, angular: {z: 1.8}}"
  • $ ros2 topic hz /turtle1/pose

Parameter

Конфигурационные значения, прикреплённые к узлу.

Аргументы:
  • --output-dir: путь для сохранения файла параметров
Примеры:
  • $ ros2 param list
  • $ ros2 param get /turtlesim background_g
  • $ ros2 param set /turtlesim background_r 150
  • $ ros2 param dump /turtlesim > turtlesim.yaml
  • $ ros2 param load /turtlesim turtlesim.yaml

Service

Модель запрос-ответ для вызова сервисов.

Аргументы:
  • -r: повторять вызов с заданной частотой
Примеры:
  • $ ros2 service list
  • $ ros2 service find std_srvs/srv/Empty
  • $ ros2 service call /spawn turtlesim/srv/Spawn "{x:2, y:2, theta:0.2, name:''}"

Service type

Определяет тип сервиса по его имени.

Примеры:
  • $ ros2 service type /spawn

Service call (подробно)

Вызов сервиса с указанием имени, типа и аргументов.

Примеры:
  • $ ros2 service call /spawn turtlesim/srv/Spawn "{x: 2, y: 2, theta: 0.2, name: ''}"

Action

Тип обмена сообщениями, который позволяет клиентскому узлу запросить достижение цели у серверного узла и получить результат.

Аргументы:
  • -f: выводить сообщения обратной связи для цели
Примеры:
  • $ ros2 action list
  • $ ros2 action info /turtle1/rotate_absolute
  • $ ros2 action send_goal /turtle1/rotate_absolute turtlesim/action/RotateAbsolute "{theta: 1.57}"

Bag

Формат файла для записи и воспроизведения топиков ROS 2.

Аргументы:
  • --clock: публиковать в /clock с определённой частотой
  • -l: циклическое воспроизведение
  • -r: скорость воспроизведения
  • -s: хранилище (по умолчанию sqlite3)
  • -a: запись всех топиков
  • -e: запись по регулярному выражению
  • -x: исключение по регулярному выражению
  • -o: путь к создаваемому файлу
Примеры:
  • $ ros2 bag record /turtle1/cmd_vel
  • $ ros2 bag record -o my_bag /turtle1/cmd_vel /turtle1/pose
  • $ ros2 bag info <bag_name.db3>
  • $ ros2 bag play <bag_name.db3>

Component

Модульная единица ПО, содержащая функциональность и данные.

Аргументы:
  • -n: имя узла-компонента
  • --node-namespace: пространство имён
  • --log-level: уровень логов
  • -r: переназначение from:=to
  • -p: параметры name:=value
Примеры:
  • $ ros2 component list
  • $ ros2 component types
  • $ ros2 component load /ComponentManager composition composition::Talker

Control

Фреймворк управления для интеграции оборудования.

Аргументы:
  • -c: имя узла менеджера контроллеров
  • --claimed-interfaces: занятые интерфейсы
  • --required-state-interfaces: необходимые интерфейсы состояния
  • --required-command-interfaces: необходимые командные интерфейсы
Примеры:
  • $ ros2 control list_controllers
  • $ ros2 control list_hardware_components -h
  • $ ros2 control list_hardware_interfaces

Дополнительные команды ros2 control

Расширенные возможности управления контроллерами.

Примеры:
  • $ ros2 control list_controller_types
  • $ ros2 control load_controller <controller_name>
  • $ ros2 control reload_controller_libraries
  • $ ros2 control set_controller_state <controller_name>
  • $ ros2 control switch_controllers
  • $ ros2 control unload_controller <controller_name>
  • $ ros2 control view_controller_chains

Lifecycle

Управление узлом с конечным автоматом и состояниями.

Примеры:
  • $ ros2 lifecycle list
  • $ ros2 lifecycle get
  • $ ros2 lifecycle set

Дополнительные опции Launch File

Расширенные аргументы команды запуска ros2 launch.

Аргументы:
  • -d, --debug: режим отладки
  • -p, --print, --print-description: вывести описание без запуска
  • -s, --show-args, --show-arguments: показать доступные аргументы
  • --show-all-subprocesses-output, -a: показать вывод всех подпроцессов
  • --launch-prefix: префикс для исполняемых файлов
  • --launch-prefix-filter: фильтр (regex), к чему применять префикс
Примеры:
  • $ ros2 launch my_first_launch_file.launch.py --debug
  • $ ros2 launch my_first_launch_file.launch.py --print
  • $ ros2 launch my_first_launch_file.launch.py --launch-prefix 'xterm -e gdb --args'

Multicast

Обмен пакетами через DDS-мультикаст.

Примеры:
  • $ ros2 multicast receive
  • $ ros2 multicast send

Workspace

Каталог с пакетами ROS 2.

Примеры:
  • $ mkdir -p <workspace_name>/src
  • $ cd <workspace_name>
  • $ colcon build
  • $ source install/setup.bash

colcon build

Сборка набора пакетов.

Аргументы:
  • --build-base: путь для сборки
  • --install-base: путь для установки
  • --merge-install: объединённая установка
  • --symlink-install: симлинки вместо копий
  • --continue-on-error: продолжать при ошибках
  • --executor sequential: собирать по одному
  • --executor parallel: собирать параллельно
  • --packages-select: выбор пакетов
  • --packages-skip: пропуск пакетов
  • --parallel-workers: количество потоков
Примеры:
  • $ colcon build
  • $ colcon build --merge-install
  • $ colcon build --symlink-install
  • $ colcon build --packages-select my_pkg
  • $ colcon build --parallel-workers 5

colcon test

Запуск тестов для пакетов.

Аргументы:
  • --build-base: путь сборки
  • --install-base: путь установки
  • --merge-install: объединённая установка
  • --test-result-base: путь для результатов тестов
  • --retest-until-fail: повторять до ошибки
  • --retest-until-pass: повторять до успеха
  • --abort-on-error: остановить при первой ошибке
  • --return-code-on-test-failure: вернуть ненулевой код при ошибке
Примеры:
  • $ colcon test --test-result-base ./build-test
  • $ colcon test --retest-until-fail 5
  • $ colcon test --abort-on-error
  • $ colcon test --return-code-on-test-failure

colcon test-result

Вывод результатов тестов.

Аргументы:
  • --test-result-base: путь к результатам
  • --all: все файлы результатов
  • --verbose: дополнительная информация
  • --result-files-only: только пути к файлам
  • --delete: удалить все файлы результатов
  • --delete-yes: удалить без подтверждения
Примеры:
  • $ colcon test-result --test-result-base ./build-test
  • $ colcon test-result --all
  • $ colcon test-result --result-files-only

Daemon

Фоновый процесс для предоставления сервисов ROS 2.

Примеры:
  • $ ros2 daemon start
  • $ ros2 daemon status
  • $ ros2 daemon stop

Doctor

Проверяет систему ROS 2 и сообщает об ошибках.

Аргументы:
  • --report: вывести все предупреждения
  • -rf: только ошибки
  • -iw: включить предупреждения как ошибки
Примеры:
  • $ ros2 doctor
  • $ ros2 doctor --report
  • $ ros2 doctor --include-warnings

Security

Инструменты sros2 для работы ROS 2 поверх DDS-Security.

Примеры:
  • $ ros2 security create_keystore demo_keystore
  • $ ros2 security create_enclave demo_keystore /talker_listener/talker
  • $ ros2 security create_enclave demo_keystore /talker_listener/listener

Extension Points

Перечисляет точки расширения.

Аргументы:
  • --all, -a: показать точки расширения, которые не удалось импортировать
  • --verbose, -v: подробная информация по каждой точке
Примеры:
  • $ ros2 extension_points
  • $ ros2 extension_points --all

Extensions

Перечисляет расширения пакета.

Аргументы:
  • -a: показать расширения, которые не удалось загрузить или несовместимы
  • -v: подробная информация по каждому расширению
Примеры:
  • $ ros2 extensions
  • $ ros2 extensions --all

CLI Help и автодополнение

Общие советы: для каждой команды ROS 2 можно вызвать справку и использовать автодополнение.

Примеры:
  • $ ros2 [command] --help
  • $ ros2 [command] [verb] -h