ROS2 utilities for the industrial_calibration
repository. It enables the use of the core functionality through ROS2 services, topics, and parameters. You will also need the core repository to use this code - see the Build section below.
ROS node that collects data for performing hand-eye calibration with an RGB camera. This node:
- subscribes to
- an image topic (
sensor_msgs/Image
) in which a calibration target has been identified (i.e., the republished image topic from the target finder node) - TF, to compute the pose from the camera/target mount frame to the moving camera/target frame
Note: a calibration observation is acquired whenever a new image is received by the subscriber
- an image topic (
- exposes a service for saving collected image/pose observation pairs to a specified directory (/
save
)
ROS node that collects data for performing a hand-eye calibration with a combination RGB + point cloud sensor This node:
- subscribes in a synchronized manner to:
- an image topic (
sensor_msgs/Image
) in which a calibration target has been identified (i.e., the republished image topic from the target finder node) - a point cloud topic (
sensor_msgs/PointCloud2
) of the 3D scene in which the calibration target has been identified - TF, to compute the pose from the camera/target mount frame to the moving camera/target frame
Note: a calibration observation is acquired whenever a new image/point cloud pair is received by the synchronized subscriber
- an image topic (
- exposes a service for saving collected image/cloud/pose observations to a specified directory (
/save
)
ROS node that subscribes to an image topic (sensor_msgs/Image
) and attempts to identify a calibration target in the image.
If the target is identified, it:
- republishes the original image on a new topic
- publishes a new image with the target features overlaid on the original image for visualization
ROS node that subscribes to an image topic (sensor_msgs/Image
) and provides a service (std_srvs/Trigger
) for republishing that image on command.
This node is intended to act as a software trigger for cameras that publish images continuously or at a frequency faster than the desired calibration observation collection.
cd <workspace>
vcs import src < src/industrial_calibration_ros2/dependencies.repos
rosdep install --from-paths src -iry
colcon build
ros2 launch industrial_calibration_ros data_collection.launch.xml