Как запустить несколько roscore/master на нескольких машинах?

Мой проект заключается в том, чтобы заставить "наземную" станцию ​​наземной станции взаимодействовать с несколькими Raspberry-Pi и несколькими Arduino ... Могу ли я запустить более одного roscore для запуска ROS на нескольких компьютерах, чтобы избежать единой точки отказа.

1 ответ

Вы можете взглянуть на ROS Network, так как я думаю, что она делает именно то, что вам нужно.

Например, скажем, у вас есть две машины M1(IP1) & M2(IP2) которые работают под ROS, и вы хотите, чтобы они обменивались данными (ROS msg, srv...) друг с другом. Сначала убедитесь, что they are reachable and are pinging each other successfully, во-вторых, давайте предположим, что вы хотите M1 to be the ROS master, поэтому настройте машины следующим образом:

in M1 : $export ROS_MASTER_URI=http://IP1:11311
in M2 : $export ROS_MASTER_URI=http://IP1:11311

Чтобы убедиться, что сеть хорошо настроена, start ROS master ($roscore) in M1 а также ($rostopic list) in M2 и вы должны увидеть темы, которые публикуются across the network (in M1 & M2),

Иногда возникают проблемы с синхронизацией (пакеты моделирования, большие данные, медленное соединение...), тогда вы можете использовать ntp для синхронизации ваших взаимосвязанных машин.

sudo apt-get install ntp

как обсуждено в этой теме.

Приветствия.

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