Отправка сообщений на разные интерфейсы на ROS2

У меня есть 2 порта Ethernet и 10 тем. Можно ли публиковать темы 1 3 5 7 9 на 1 порту, а остальные темы 2 2 6 6 10 публиковать на порту 2, чтобы компьютер, подключенный ко второму порту, мог только видеть и читать данные из тем 2 4 6 8 10. Компьютер, подключенный к порту 1, мог видеть и читать данные из тем 1 3 5 7 9. Я использую DDS из OpenSplice.

1 ответ

Вам нужно будет настроить следующий флаг:

 <NetworkInterfaceAddress>AUTO</NetworkInterfaceAddress>

В главе "5.4 Конфигурация", из Документации по началу работы: http://download.prismtech.com/docs/Vortex/pdfs/OpenSplice_GettingStartedGuide.pdf вы можете получить более подробную информацию о конфигурации OpenSlice DDS и какие параметры вы можете указать,

В RMW, специфичном для Openslice, он, похоже, использует конфигурацию QoS по умолчанию: https://github.com/ros2/rmw_opensplice/blob/6a767545270ae56c0894cfb0286509add3ca7c2b/rmw_opensplice_cpp/src/rmw_publisher.cpp#L113

Который должен использовать файл конфигурации по умолчанию: ospl.xml

Вы можете либо обновить RMW, чтобы использовать другое QoS, которое будет соответствовать вашим потребностям, либо использовать OSPL_URI перед запуском вашего издателя, чтобы обновить QoS ваших издателей.

Другие вопросы по тегам