Настройка файла конфигурации RTI DDS в ROS2 - PullRequest
0 голосов
/ 03 сентября 2018

Я взаимодействую с ROS2 с нативным RTI DDS с помощью создания приложения xml, т. Е. Все настройки QoS находятся в этом файле xml.

Теперь для собственного приложения DDS я могу установить этот XML-файл, но как я могу установить аналогичный тип файла конфигурации для функции на основе ROS2?

1 Ответ

0 голосов
/ 05 сентября 2018

Вы просматривали материал в: https://github.com/ros2/ros2/wiki/About-Quality-of-Service-Settings? ROS2 имеет ограниченный набор параметров для настройки QoS.

Возможно, вы добьетесь большего успеха, настроив политики QoS в приложении DDS в соответствии с настройками в ROS2. (Кстати, это место, где RTI Admin Console значительно упрощает работу; оно сразу выявляет любые несоответствия QoS между участниками).

Настройки DDS QoS, которые я использовал для обеспечения взаимодействия DDS / ROS2, включают:

  • При использовании ROS2 'Ardent':
    • использовать раздел DDS с именем "rt" (установлен в файле QoS в <publisher_qos>)
  • При использовании ROS2 'Bouncy':
    • Префикс названия темы с "rt /"
    • Подавить отправку typeCode (задается в файле QoS в <participant_qos><resource_limits> max_serialized_length для type_code и type_object == 0)
  • Для любого выпуска:
    • Может потребоваться включить поддержку неограниченных строк и последовательностей.
    • Может потребоваться включить UDPv6 и отключить транспорты SHMEM

В коде ROS2 RMW не так много настроек QoS; библиотеки Connext будут искать источник пользовательских настроек QoS, используя обычный порядок поиска ( подробно здесь ) - это означает, что вы можете предоставить свои собственные настройки QoS для библиотек Connext в ROS2, используя различные методы. Вот что я сделал:

  • Чтобы отключить многоадресную рассылку в ROS2, создайте файл с именем «NDDS_DISCOVERY_PEERS» в каталоге, из которого будут запускаться ваши приложения ROS2 (каталог, в который вводится и запускается команда ros2). Поместите в этот файл список начальных одноранговых узлов для обнаружения (убедитесь, что исключаете многоадресную передачу и shmem) в формате, детализированном здесь .
    • Мой файл имел: localhost, 192.168.1.44
  • Для других настроек QoS поместите в тот же каталог, что и выше, файл «USER_QOS_PROFILES.xml», содержащий настройки QoS, которые вы хотели бы использовать в ROS2. Эти настройки влияют на приложения ROS2, запускаемые из этого каталога.
...