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
Оставить комментарий