Использование пространства имен в плагинах ROS - PullRequest
0 голосов
/ 26 сентября 2019

Я начинаю работать с ROS и плагинами, и я хотел бы понять одну вещь: что такое использование разных пространств имен для базового класса и класса плагинов в ROS?

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

Чтобы было понятно, почему в руководстве базовый класс использует пространство имен polygon_base, а плагины используют пространство имен polygon_plugin

спасибо за вашу помощь

1 Ответ

0 голосов
/ 27 сентября 2019

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

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

В упомянутом учебнике (с плохо отформатированным URL)(https://wiki.ros.org/pluginlib/Tutorials/Writing и Использование простого плагина), единственное реальное использование пространств имен - это пространства имен C ++.Я думаю, что они использовали два разных пространства имен для устранения неоднозначности двух похожих типов кода.Код polygon_base не предназначен для использования в качестве плагина, он просто является основой.Если бы его можно было использовать как плагин, он был бы включен в пространство имен polygon_plugins.

Короче, выберите то, что является наиболее понятным и коммуникативным, в качестве схем именования.

...