Я работаю с ROS. У меня есть узел обнаружения, выступающий в качестве говорящего (det_talker.py
) на одном компьютере с Ubuntu 16.04, а другой узел действует в качестве слушателя (det_listener.py
). Я намерен запустить прослушиватель на главном компьютере (машине с Ubuntu 14.04), чтобы получать сообщения, отправляемые говорящим. Когда я запускаю говорящее устройство из терминала, за которым следует слушатель на ведущем устройстве, я вижу сообщения, принимаемые на ведущем устройстве.
Однако, когда я запускаю тот же узел говорящего, помещая необходимые команды для получения файла setup.bash, а также настраивая IP-адрес мастера в сценарии bash, и запускаю этот сценарий из запуска (добавив сценарий в Автозагрузка приложений ), я не вижу никаких сообщений на мастере.
Конфигурация на машине с узлом говорящего:
Конфигурация на машине, которая действует как мастер:
Я попытался изменить ROS_IP на master на ubuntu16_ip, но результат остался прежним.
Сценарий, который я использую для запуска узла обнаружения при запуске системы, выглядит следующим образом:
#!/bin/bash
cd /home/rahul
export ROS_MASTER_URI = http://ubuntu14_ip:11311
source ./catkin_ws/devel/setup.bash
cd catkin_ws
rosrun detection_node det_talker.py
Я попытался запустить этот bash-скрипт из терминала; он работает успешно, и я вижу сообщения на master, когда запускаю узел det_listener.py. Только когда я запускаю его из автозагрузки, нет никаких сообщений (однако узел работает).
Более того, я могу видеть на мастере, что узел работает, потому что он показывает узел, когда я запускаю команды rosnode list
и rostopic list
. Я должен также упомянуть, что Ubuntu 16 имеет Kinetic, а Ubuntu 14 работает под управлением версии ROS для Indigo. Причина, по которой я думаю, что разные версии не должны создавать проблемы, потому что я действительно могу получать сообщения при выполнении узла из терминала.
Мой вопрос заключается в том, как получить сообщения, которые будут получены на главном компьютере, при запуске говорящего из автозагрузки.
Спасибо.
Примечание. Это перекрестный пост того же вопроса, который я задавал в ответах ROS, здесь . Я размещаю его на SO, так как я еще не получил никакого ответа.