моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Управление операциями ROS
ROS — это многопроцессная (узловая) распределенная структура, полная реализация системы ROS:
Может включать несколько хостов;
На каждом хосте имеется несколько рабочих областей;
Каждое рабочее пространство содержит несколько пакетов функций;
Каждый пакет функций содержит несколько узлов (Node), и разные узлы имеют свои собственные имена узлов;
Каждый узел также может быть настроен на одну или несколько тем...
В многоуровневой системе ROS при ее внедрении и обслуживании могут возникнуть некоторые проблемы, например:
1. Как связать различные пакеты функций ---- (пакет метафункций)
2. Как запустить различные узлы ROS----(файл запуска)
3. Как бороться с повторяющимися именами пакетов функций, узлов, тем и параметров ---- (Решение проблемы повторяющихся имен)
4. Как взаимодействуют узлы на разных хостах ---- (распределенная связь)
Основное содержание этой главы знакомит с решением вышеуказанных проблем в ROS (см. содержание этой главы). Ожидаемые цели обучения также соответствуют вышеуказанным проблемам:
Сценарий: выполнение систематической функции в ROS может включать в себя несколько функциональных пакетов, например реализацию модуля навигации робота, который имеет различные функциональные пакеты подуровней, такие как карта, позиционирование, планирование пути и т. д. Итак, когда вызывающая сторона устанавливает модуль, нужно ли ей устанавливать каждый пакет функций один за другим?
Очевидно, что установка пакетов функций один за другим неэффективна. В ROS предусмотрена возможность объединить различные пакеты функций в один пакет функций. При установке определенного функционального модуля просто вызовите упакованный пакет функций напрямую. Этот пакет также называется метапакетом. .
MetaPackage — это концепция системы управления файлами в Linux. Это виртуальный пакет в ROS. Он не имеет основного содержимого, но основан на других пакетах программного обеспечения. Таким образом, мы можем рассматривать его как указатель каталога книги, сообщающий нам, что такое Sub. -пакеты находятся в коллекции пакетов и где их скачать.
Например:
Чтобы облегчить пользовательскую установку, нам нужен только этот пакет для организации и совместной установки других связанных пакетов программного обеспечения.
шаг 1: Сначала создайте новый пакет функций.
шаг 2: Затем: измените package.xml, его содержимое будет следующим:
<exec_depend>Интегрированные пакеты функций</exec_depend>
…
<export>
<metapackage />
</export>
Шаг 3: Наконец: измените CMakeLists.txt, его содержимое будет следующим:
cmake_minimum_required(ВЕРСИЯ 3.0.2)
проект(демо)
find_package(catkin ТРЕБУЕТСЯ)
catkin_metapackage()
Просто сохраните четыре вышеуказанные строки и удалите остальные.
Также см.:
http://wiki.ros.org/catkin/package.xml#Метапакеты
Мы больше не знакомы с использованием файлов запуска. В первой главе мы представили:
Программе может потребоваться запустить несколько узлов, например встроенный корпус черепахи ROS. Если вы хотите управлять движением черепахи, вам необходимо запустить несколько окон, запустив roscore, узел интерфейса черепахи и узел управления клавиатурой. соответственно. Если rosrun вызывается каждый раз для запуска по одному, это явно неэффективно. Как оптимизировать?
Принятая стратегия оптимизации заключается в использовании команды roslaunch для сбора файла запуска для запуска узла управления, и в последующих руководствах файл запуска также используется много раз.
Файл запуска представляет собой файл формата XML, который может запускать несколько локальных и удаленных узлов и устанавливать параметры на сервере параметров.。
Упростите настройку и запуск узлов и повысьте эффективность запуска программ ROS.
Возьмите черепаху в качестве примера, чтобы продемонстрировать
Шаг 1. Создайте новый файл запуска.
Добавьте каталог запуска в пакет функций, создайте в нем новый файл xxxx.launch и отредактируйте файл запуска.
<launch>
<node pkg=“turtlesim” type=“turtlesim_node” name=“myTurtle” output=“screen” />
<node pkg=“turtlesim” type=“turtle_teleop_key” name=“myTurtleContro” output=“screen” />
</launch>
Шаг 2. Файл запуска вызова.
имя пакета roslaunch xxx.launch
Примечание. Когда команда roslaunch выполняет файл запуска, она сначала определяет, запущен ли roscore. Если он запущен, он не будет запущен снова. В противном случае roscore будет вызван автоматически.
Может относиться к:
http://wiki.ros.org/roslaunch/XML
https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=150&spm_id_from=pageDriver&vd_source=15dd2e64f0499027ca66125b65dd2de9