Проблемы с ROS - PullRequest
       25

Проблемы с ROS

0 голосов
/ 15 декабря 2018

Мои друзья и я строим автономный самолет (БПЛА) и заинтересованы в использовании ROS для нашего программного стека.Тем не менее, у меня было несколько проблем с ROS и поддержкой, и мне интересно, если кто-нибудь знает какие-либо решения?

На нашем самолете в настоящее время установлен Raspberry Pi 3 (я мог бы заменить его на что-то с лучшим процессором, но все жеARM SBC с тем же GPIO).Мы будем работать регулярно Raspbian (Lite).Мы планируем использовать Navio2, который представляет собой HAT с автопилотом, который работает с программным обеспечением / программным обеспечением ArduPilot с открытым исходным кодом.Мы собираемся использовать смесь C ++ и Python.

Мои основные проблемы на данный момент:

  1. Ограниченная поддержка RPi - Kinetic - последняя версия, работающая на RPi.Также очень ограниченная документация для RPi.
  2. На самом деле не используется даже C ++ 11, и я хотел бы использовать новейшие функции C ++.
  3. Недавно вышел OpenCV 4,и я хотел бы использовать это.Поддерживает ли ROS какую-либо версию OpenCV или это всего лишь 3?
  4. Не использует Python 3. Для меня это очень важно, и использование Python 2 не подходит по разным причинам.

Я также посмотрел на ROS2, который призван решить многие из перечисленных выше проблем, но он пока не показался нам достаточно зрелым.

1 Ответ

0 голосов
/ 17 декабря 2018

Несколько ответов за ваши очки:

  1. Мелодика поддерживается на RPi 3 B + теперь с Raspbian Lite.Возможно, вам придется немного поиграть в apt-repo, но моя команда смогла получить его без особых проблем.
  2. Ничто не мешает вам использовать C ++ 17;просто обновите ваши файлы CMakeLists.txt, чтобы добавить -std=c++17 к CXX_FLAGS
  3. Насколько мне известно, ROS Melodic в выпуске поддерживает OpenCV3.Чтобы поддержка OpenCV4 стала доступной, может потребоваться некоторое время - мне все еще нужно проверить проект, чтобы получить последние новости.
  4. На самом деле я еще не смотрел на поддержку Python3.Я думаю, что это откладывается до ROS2.

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

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

Обновление 28 декабря 2018 года

При небольшом поиске похоже, что ROS Melodic имеет поддержку Python3 (см. Этот вопрос ): ROS должен быть собран из источника с установленной переменной окружения ROS_PYTHON_VERSION=3(см. также this )

...