Комментарии 5
Большое спасибо за интересную статью. Это отлично, что появляются курсы и такие статьи по ROS'у. Крайне интересно узнать про ваш опыт:
- Возникли какие-либо сложности при установке/настройке ROS'a. Если да, то какие?
- Правильно ли я понял, что такой способ работы через
rosbridge
по функционалу полностью аналогичен нодe сPublisher and Subscriber
? - Как вы думайте,
rosbridge
подходит для полноценной работы с ROS? Не будет ли проблем со скоростью из-за отсутствия сериализации в бинарный протокол и использования WS вместо TCP или же область примененияrosbridge
ограничивается использованием в веб-интерфейсах для ручного управления и мониторинга?
Судя по описанию протокола можно так же использовать и создавать сервисы. Но я пока не пробовал.
В документации я не нашел средств получания метаинформации — списков и описаний пакетов, топиков, типов, сервисов. А с ними бы из web-интерфейса было бы интересно поработать. Мне кажется, rosbrige вполне подойдет для мониторинга и управления (типа SCADA или чего-то похожего на виртуальную реальность) даже в промышленном применении. В учебном применении время реакции не столь критично, и на нем можно прототипировать и что-то более низкоуровневое. Я хочу сделать фреймворк для ELM, который бы позволял работать с ROS как из web, так и через nodejs. В последнем случае, вероятно, без UI. Надеюсь, это расширит область применимости ELM.
В документации я не нашел средств получания метаинформации — списков и описаний пакетов, топиков, типов, сервисов.
Посмотрите этот проект: ros-control-center. Судя по скриншоту и описанию (ROS Control Center offers an easy way to show nodes, topics and service names.) им удается получать метаинформацию.
По поводу мониторинга, у них ряд интересных проектов: robotwebtools
В учебном применении время реакции не столь критично, и на нем можно прототипировать и что-то более низкоуровневое.
Как понимаю, при использовании ROS, ноды находят друг друга через Master'a, а в дальнейшем коммуницируют напрямую. В случае использования rosbridge
коммуникация происходит через ноду-посредника на котором запущен WS сервер. Чисто теоретически, при большом количество топиков и подписчиков, такая нода может стать узким местом. Вопрос, правда, на сколько это критично.
Я не очень представляю, как соединять ноды напрямую используя подписку на топики, то есть многие-ко-многим. Только для сервисов, но как я понял, они используются реже.
При обычной (без rosbridge
) работе с нодами, они уже коммуницируют напрямую (даже через PubSub) Once these nodes have located each other they communicate with each other peer-to-peer.. Судя по всему, каждая нода хранит у себя список подписчиков.
ROS, ELM и черепашка