Building and installing for distributed systems
We have structured the ROS node into separate subpackages. This allows us to build only a subset of packages from the metapackage ifm3d-ros
.
Building one package independently from your catkin workspace
The command below allows you to selectively build only one of the existing packages in your joined catkin workspace. All the following commands can only be called on a device which already has ROS installed.
$ catkin_make --only-pkg-with-deps <target_package>
To apply this to one of the ifm3d-ros subpackages, please replace <target_package>
with either one item of the following list:
ifm3d_ros_driver
provides the core interface for receiving data for ifm 3d (O3R) cameras.ifm3d_ros_msgs
gathers the ifm-specific messages types and the services for configuring and triggering the camera.ifm3d_ros_examples
provides additional helper scripts and examples.
Building the driver package
Let’s say you want to run the ìfm3d_ros_driver
on an embedded system like the VPU itself. To make it as lightweight as possible we suggest to only build the subpackage ifm3d_ros_driver
and its dependencies on / for the desired architecture. This will look something like the following:
$ catkin_make --only-pkg-with-deps ifm3d_ros_driver
traversing 2 packages in topological order:
-- ~~ - ifm3d_ros_msgs
-- ~~ - ifm3d_ros_driver
Building the messages package
Typically a secondary ROS client would only subscribe to topics of a shared ROS master for receiving data and configure the main driver. Both jobs can be achieved without having the main driver package ifm3d_ros_driver
installed on the client system. Therefor only compile the package ifm3d_ros_msgs
.
$ catkin_make --only-pkg-with-deps ifm3d_ros_msgs
traversing 1 packages in topological order:
-- ~~ - ifm3d_ros_msgs
Building the examples package
Building the examples package by itself (with dependencies) will result in having all packages build as it requires all three.
$ catkin_make --only-pkg-with-deps ifm3d_ros_examples
traversing 3 packages in topological order:
-- ~~ - ifm3d_ros_msgs
-- ~~ - ifm3d_ros_driver
-- ~~ - ifm3d_ros_examples