Подглава 1.2.2 Уровень графов вычислений
Last updated
Was this helpful?
Last updated
Was this helpful?
Граф вычислений ROS является одноранговой сетью процесса ROS и обрабатывает данные вместе. Концепции графа вычисления ROS - это узлы, темы, сообщения, мастер, сервер параметров, сервисы и пакеты:
На предыдущем рисунке показаны различные концепции вычислительного графа ROS. Вот краткое описание каждой концепции:
Узлы: Узлы ROS - это просто процесс, использующий API ROS для связи друг с другом. Робот может иметь много узлов для выполнения своих вычислений. Например, автономный мобильный робот может иметь узел, отдельно для сопряжения аппаратных средств, считывания лазерных сканирований, а также локализации и отображения. Мы можем создавать узлы ROS, используя клиентские библиотеки ROS, такие как ros cpp и rospy, которые мы обсудим в следующих разделах.
Мастер: Мастер ROS работает как промежуточный узел, который помогает соединениям между различными узлами ROS. Мастер содержит детальную информацию обо всех узлах, работающих в среде ROS. Он будет обмениваться данными одного узла с другим, чтобы установить связь между ними. После обмена информацией начнется связь между двумя узлами ROS.
Сервер параметров: Сервер параметров - довольно полезная вещь в ROS. Узел может хранить переменную на сервере параметров и устанавливать свою конфиденциальность. Если параметр имеет глобальную область, к нему могут обращаться все остальные узлы. Параметр ROS работает вместе с мастером ROS.
Сообщения: узлы ROS могут общаться друг с другом разными способами. Во всех методах узлы отправляют и получают данные в форме сообщений ROS. Сообщение ROS - это структура данных, используемая узлами ROS для обмена данными.
Topics: один из методов обмена сообщениями ROS и обмена ими между двумя узлами ROS называется topics ROS. Topics именуются шинами, в которых данные обмениваются с использованием сообщений ROS. Каждый topic будет иметь определенное имя, и один узел будет публиковать данные в topic, а другой узел может читать из topic, подписавшись на нее.
Сервисы: Сервисы - это еще один способ общения, на подобии, topic. Topics используют взаимодействие публикации или подписки, но в сервисах используется метод запроса или ответа. Один узел будет действовать как поставщик услуг, у которого запущена подпрограмма обслуживания, а клиентский узел запрашивает услугу с сервера. Сервер выполнит процедуру обслуживания и отправит результат клиенту. Клиентский узел должен ждать, пока сервер ответит результатами.
Bag: Bag- полезная утилита в ROS для записи и воспроизведения тем ROS. При работе с роботами могут возникнуть ситуации, когда нам нужно работать без реального оборудования. Используя rosbag, мы можем записывать данные датчика и копировать файл bag-а на другие компьютеры для проверки данных, воспроизводя их.