Отправка сообщений на разные интерфейсы на 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 ваших издателей.