Узел РосАрия не получает сообщения - PullRequest
0 голосов
/ 23 октября 2018

Ресурсы

Macbook Air с виртуальной машиной Ubuntu через VMWare
Робот Pioneer3 AT
ROS
RosAria

Контекст

У меня есть как минимум большинствоиз установки для Ros + RosAria уже работает:

  1. Главный узел ROS, работающий на ноутбуке со скоростью 192.168.1.112 через roscore
  2. Узел RosAria, работающий на встроенном роботев компьютере на 192.168.1.108 через rosrun rosaria RosAria порт настроен для доступа к моторам и датчикам робота через rosparam set..., ROS_MASTER_URI=192.168.1.112:11311 и ROS_IP=192.168.1.112.
  3. Еще одно окно терминала на ноутбуке работает rostopic pub /RosAria/cmd_vel geometry_msgs/Twist “linear:... angular:...”

Узел RosAria, работающий на роботе, подтверждает, что он может подключиться к мастеру, и если я запускаю команду rostopic list на ноутбуке, я вижу /RosAria/cmd_vel как один из доступныхthemes.

В окне терминала, где я пытаюсь опубликовать на /RosAria/cmd_vel, мне говорят, что сообщение отправляется, но робот не показывает никаких признаков его получения, ни сообщения консоли, ни движения колес.

Однако, если я уйдуУзел RosAria на роботе и его перезапуск, оставив на моем ноутбуке команду rostopic pub, робот регистрирует сообщение один раз при запуске, немного перемещается и затем ничего не делает.

У меня естьтакже пытался rostopic echo другие темы, такие как состояние батареи, состояние двигателя и положение, но я не получаю никаких сообщений от робота.

Я уже пытался изменить параметры /RosAria/TicksMM и /RosAria/RevCount в соответствии с этот случай .

Вопрос

Почему робот Pioneer с запущенной RosAria не получает команды cmd_vel от моего клиента, если он, по-видимому, может связаться смастер-узел успешно?

Отказ от ответственности

Проект, над которым я работал, где возникла эта проблема, больше не использует одно и то же оборудование, так что теперь этот вопрос не столь актуален длямне.Я также не могу протестировать предложенные решения в ближайшем будущем, так как у меня больше нет доступа к этому роботу Pioneer.Однако я оставлю эту тему без ответа, если кто-то еще столкнется с этой проблемой.

1 Ответ

0 голосов
/ 24 октября 2018

Вам нужно установить ROS_IP на стороне робота, чтобы система ROS знала, какой IP использовать в качестве сетевого интерфейса

Я сам устанавливаю эти среды внутри .bashrc Как это:

export ROS_IP=192.168.1.108

, а затем источник .bashrc.

Я думаю, вы можете использовать rosparam Слишком, но я никогда не проверял.

...