4.12.6 Running Nodes on both Machines

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

В то время как многие узлы и файлы запуска могут быть запущены на любом компьютере, файлы запуска робота всегда должны быть запущены на роботе, так как эти узлы предоставляют драйверы для оборудования робота. Это включает в себя драйверы для базы роботов и любые камеры, лазерные сканеры или другие датчики, которые вы хотите использовать. С другой стороны, рабочий стол-это хорошее место для запуска RViz, так как он очень интенсивен для процессора, и, кроме того, вы в любом случае захотите следить за своим роботом с рабочего стола.

Поскольку компьютер робота не всегда может иметь клавиатуру и монитор, вы можете использовать ssh для входа в свой робот и запуска узлов драйверов с рабочего стола. Вот пример того, как вы можете это сделать.

С вашего настольного компьютера используйте ssh для входа в систему вашего робота.

На рабочем столе:

$ ssh my_robot.local

После того, как вы вошли в систему робота, запустите roscore и файл запуска запуска вашего робота.

На роботе (через ssh):

$ export ROS_HOSTNAME=my_robot.local 
$ roscore &
$ roslaunch my_robot startup.launch

(Вы можете опустить первую строку экспорта выше, если вы уже включили ее в ~/робота.файл bashrc.)

Обратите внимание, как мы отправляем процесс roscore в фоновом режиме, используя символ & после команды. Это возвращает командную строку, так что мы можем запустить файл запуска нашего робота без необходимости открытия другого сеанса ssh. Если это возможно, запустите все аппаратные драйверы вашего робота в одном запуске.запустите файл (его можно назвать как угодно). Таким образом, вам не придется открывать дополнительные терминалы для запуска других драйверов.

Вернитесь на рабочий стол, откройте другое окно терминала, установите ROS_MASTER_URI, чтобы он указывал на вашего робота, а затем запустите RViz:

На рабочем столе:

$ export ROS_HOSTNAME=my_desktop.local
$ export ROS_MASTER_URI=http://my_robot.local:11311
$ rosrun rviz rviz -d `rospack find rbx1_nav`/nav.rviz

(Вы можете опустить две строки экспорта, если вы уже включили их в ~ / рабочего стола.файл bashrc.)

Здесь мы запускаем RViz с одним из конфигурационных файлов, включенных в навигационный пакет ros-by - example, но вы также можете просто запустить RViz без какого-либо конфигурационного файла.

Last updated