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