Использование ROS против другого метода (см. Сообщение для более подробной информации об этом «другом методе») - PullRequest
0 голосов
/ 11 июня 2018

, поэтому я работаю с другом в разработке робота (используя Raspberry Pi).Этот робот, над которым мы работаем, будет автономной лодкой.Теперь для Raspberry Pi на образе Raspbian, который мы используем, уже установлена ​​ROS (в частности, ROS Kinetic), и я подтвердил, что ROS работает.

Для нашей роботизированной лодки у нас разныефункции, которые мы хотим включить в него:

  1. Получение местоположения GPS
  2. Получение звука через гидрофон и обработка звука для обнаружения определенного частотного диапазона (т. е. я хочу, чтобы лодка обнаружила, когдачерез гидрофон отчетливо слышен звук 8500–9000 Гц)
  3. Возможность общаться через XBee

Так что в прошлом я использовал ROS и знаком с концепциейпубликации и подписки на темы.Однако мой друг говорит, что ROS вызовет проблемы с производительностью из-за того, что у ROS есть некоторые «издержки», утверждая, что ROS замедлит нашу обработку звука или что-то в этом роде.

Вместо этого он предлагает следующий альтернативный метод:

  1. Включите каждый из 3 аспектов нашего робота (как упомянуто выше) в разные файлы Python.
  2. Когда Raspberry Pi запустится, все файлы Python будут запускаться автоматически.
  3. Чтобы передавать информацию друг другу (по существу, «имитируя» функцию публикации / подписки ROS), файлы Python записывают в разные текстовые файлы (для «публикации» значений) и читают из этих текстовых файлов (для «подписки»)."), и значения, содержащиеся в этих текстовых файлах, будут перезаписываться при каждом обновлении нового значения.

Итак ... какой метод передачи информации является лучшим методом для нашего робота?

  1. Использование ROS
  2. Использование вышеупомянутого метода записи / чтения файлов, предложенного моим другом
  3. Что-то еще

О, и другие вещи, которые я должен упомянуть:

  1. Я знаю, как использовать ROS, мой друг не
  2. Мой друг еще не закончил писать весь код для своей идеи записи / чтения файлов, в то время как ROS уже полностью настроен и хорош для работы с Raspberry Pi

Хотя я мог найтиНа множестве сайтов, где перечислены различные преимущества ROS, я не смог найти ничего, что сравнило бы ROS с методом моего друга, о котором я упоминал выше.

1 Ответ

0 голосов
/ 11 июня 2018

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

http://wiki.ros.org/nodelet

...