#raspberry-pi #ros #gazebo-simu
Вопрос:
Я запустил симулятор UUV на Gazebo 9, ROS melodic и Ubuntu 18.04 на ПК. Поэтому мне нравится подключать raspbery Pi 4 к ПК (с симулятором Gazebo UUV) и разрабатывать узел в Raspbery Pi, который, например, предоставляет мне данные потока камеры на симуляторе Gazebo UUV. Итак, мой вопрос заключается в том, как связать PI с ПК(запуск симулятора UUV Gazebo) и можно ли получить тему камеры или любую другую тему датчика из симулятора UUV Gazebo в Pi?
Любая Помощь, Спасибо
Ответ №1:
Да, вы можете взаимодействовать с ROS на разных устройствах, но есть несколько вещей, которые необходимо сделать в первую очередь.
- Вам нужно убедиться, что вы
ROS_MASTER_URI
настроены правильно. Это переменная среды, которая указывает ROS, где искатьroscore
. По умолчанию он установлен вlocalhost:11311
значение . Итак, на Pi вам нужно будет сделать:export ROS_MASTER_URI=http://<master_ip>:<master_port>
. - Затем вам нужно убедиться, что ROS действительно может разрешать имена и подключаться. Убедитесь, что на компьютере есть информация об IP/имени хоста для pi и наоборот. Для Ubuntu 18.04 сделайте это, установив IP/имя хоста для обеих машин
/etc/hosts
. Также убедитесь, что имена хостов совпадают с/etc/hostname
После этого вы можете просто запустить узел/ядро ROS на хост-машине, и Pi сможет просматривать темы и взаимодействовать с ними, как обычно.
Комментарии:
1. итак, в моем актерском мастерстве ROS работает ли компьютер под управлением Gazebo? а хозяин-это правильный Пи? И узел ROS для этой темы будет в Pi?
2. Мастер ros может работать где угодно, но я рекомендую на ПК. «Хост-машина» — это все, на чем работает roscore(ПК). Роснод для темы также может быть там, где вы захотите. И ПК, и Ип смогут видеть всю информацию по одной и той же теме. т. Е. если ПК опубликует сообщение, Ип увидит его, и наоборот.
3. Итак, в моем случае мастер-это компьютер?
4. Мастер ros находится там, где
roscore
он работает. В приведенном мною примере и в том, что я рекомендую, он работает на ПК.