Is it possible to build and run a cpp nodelet without Catkin or rosbuild??
This is similar to link text but with using Nodelets instead of nodes. Thanks.
ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
Yes, it is possible, although I wouldn't recommend it due to the difficulty of reproducing all the functionality offered by Catkin. rosbuild is easier to do without; you can just call CMake manually on your CMakeLists.txt
file.
The main difference of building a nodelet from building a node is that you need to build a shared library rather than an executable.
Other nodes will be using pluginlib
to discover and load the nodelet (ie: shared library), and pluginlib
uses rospkg
. The latter will only consider directories with a manifest in them as "ROS packages", so at the very minimum you'd have to place a package.xml
with the correct contents in a directory. That manifest could then point to wherever the shared library is which hosts the nodelet class.
As "a directory with a manifest" is basically the definition of a package (at least at the file system level), theoretically this could work, but you'd essentially still be creating a package.
Edit: that's assuming the consumers of your nodelet-not-built-using-Catkin are in fact regular ROS nodes.
Edit 2: perhaps also good to mention: Catkin the CMake macros/functions/syntactic sugar != catkin_make
(ie: the tool). Those are often confused/conflated.
Asked: 2022-01-05 14:26:09 -0500
Seen: 223 times
Last updated: Jan 05 '22
Delay when subscribing to usb_cam/image_raw
how to install mongodb for ros noetic
Is it possible to run ros only with binaries
Frames are moving away from global frame
Rosserial Arduino Compilation Error: No <CSTRING>
Invoking "make -j12 -l12" failed [closed]
How do I make gmapping work with CoppeliaSim
Windows choco installation fails: No module named 'importlib.metadata'
How to correctly translate a pose along an axis?
the time delay of message: c++pub-c++sub and python_pub-c++sub [closed]