Как включить ros msg вне среды ros? - PullRequest
0 голосов
/ 26 мая 2020

Я использую ros вне рабочего пространства ros, используя g ++, и я хочу добавить собственное сообщение, которое я сделал. Обычно я бы просто сделал "#include" msg_filter / my_msg.h "", но это, похоже, не работает вне среды. Что мне делать вместо этого?

1 Ответ

1 голос
/ 27 мая 2020

Давайте перейдем к низкому уровню происходящего. Если у вас есть catkin_ws/src/my_pkg/msg/CustomMessage.msg, и вы скомпилировали его правильно (вы можете использовать его как обычно в ROS), вы найдете для него файл заголовка в catkin_ws/devel/include/my_pkg/CustomMessage.h и файл python msg в catkin_ws/devel/lib/python2.7/dist-packages/my_pkg/msg/_MyMsg.py. Вы все еще можете увидеть их в другом рабочем пространстве, если у вас есть source catkin_ws/devel/setup.bash, либо в строке cmd, либо в вашем .bashr c.

Но пытаться скомпилировать и использовать сообщения ROS вне системы сборки catkin, вероятно, неразумно - в этот момент гораздо проще сделать вашу собственную структуру данных в общем заголовке и использовать ее для взаимодействия между библиотеками или программами (просто угадывая ваш вариант использования). Для записи, хотя вы можете скомпилировать связанные с ROS вещи в строке cmd, используя g ++ (остальные заголовки / библиотеки находятся в /opt/ros/<distro>/), я подозреваю, что это было бы более болезненно, чем изменение ваших зависимостей / интерфейсов или выполнение этого внутри сережка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...