Синхронизация времени между двумя рабочими столами Ubuntu 16.04 с подключением rnet - PullRequest
1 голос
/ 31 января 2020

У меня есть два рабочих стола Ubuntu 16.04 с ROS, установленными на них обоих. Я публикую данные об использовании одного из компьютеров и подписываюсь на эти данные на другом компьютере. Я написал небольшой скрипт, который рассчитывает время ожидания. Сценарий измеряет текущее время Unix с отметкой времени unix, связанной с данными. Но у меня отрицательная задержка (т.е. я получаю данные до того, как они будут опубликованы), что не имеет смысла.

Очевидно, существует проблема синхронизации по времени c между двумя машинами. Я предположил, что система Ubuntu, подключенная к inte rnet, уже синхронизирована c. Нам не нужно выполнять какую-либо другую синхронизацию. Я ошибаюсь в этом предположении? Нужно ли выполнять какую-то синхронизацию между двумя машинами?

Спасибо!

1 Ответ

1 голос
/ 01 февраля 2020

Да, при запуске ROS на нескольких машинах вы можете столкнуться с проблемами синхронизации. Какую разницу вы обычно видите?

Рекомендуемое решение ROS - использовать пакет под названием chrony . Вы можете использовать его для специальной синхронизации c часов на ваших двух машинах. В той же локальной сети они должны быть синхронизированы по крайней мере до микросекунды. Он может быть просто установлен VIA apt,

sudo apt install chrony

Тогда вы можете просто установить один компьютер на master и синхронизировать его c с NTP-сервером, а другой синхронизировать c его время с master.

...