4.12.4 Установка переменных ROS_MASTER_URI и ROS_HOSTNAME

В любой дорожной сети одна машина назначается мастером ROS, и только она управляет процессом roscoreprocess. Затем другие машины должны установить переменную окружения theROS_MASTER_URI так, чтобы она указывала на главный хост. Каждый компьютер также должен установить свое имя хоста ROS соответствующим образом, как мы покажем.

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

Если мы хотим, чтобы робот был мастером ROS, мы устанавливаем его ROS_HOSTNAME на его имя Zeroconf и запускаем процесс roscore:

На роботе:

$ export ROS_HOSTNAME=my_robot.local
$ roscore

Затем перейдите на рабочий стол, установите ROS_HOSTNAME на его имя Zeroconf, а затем установите переменная ROS_MASTER_URI указывает на URI Zeroconf вашего робота.

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

$ export ROS_HOSTNAME=my_desktop.local
$ export ROS_MASTER_URI=http://my_robot.local:11311

Для дополнительной проверки синхронизации времени мы можем запустить команду ntpdate для синхронизации рабочего стола с роботом.

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

$ sudo ntpdate -b my_robot.local

Если все пойдет хорошо, вы должны быть в состоянии увидеть темы /rosin и /rosin_agg на ваш рабочий стол выглядит следующим образом:

$ rostopic list
/rosout
/rosout_agg

Last updated