Skip to content
Alexandros Philotheou edited this page Jun 29, 2014 · 12 revisions

Function

The synchronizer node, upon receiving a new point cloud from the depth sensor, strips the point cloud into two images: the depth image and the RGB image, extracted from the depth measurements and the color measurements contained in the input point cloud, respectively. Because depth registration is enabled, both images refer to the same physical location the depth sensor is pointed at.

Immediately after receiving a new point cloud, the synchronizer is locked: it cannot receive a new point cloud until it is unlocked. The unlock directive comes from the Hole Fusion node, as soon as both the RGB and Depth nodes have published their results to it.

Input and synchronization

  • Under
cfg/synchronizer_node_topics.yaml:subscribed_topics

there are topics where the Synchronizer node is subscribed to. Specifically:

  • input topic is the name of the topic where the Hole Detector is subscribed to for acquiring point clouds from the depth sensor.

  • unlock topic is the name of the topic where the synchronizer is subscribed to for being able to unlock. Unlocking the synchronizer node means that it can process a new input point cloud, which it can then use to send the extracted depth image to the Depth node, the extracted RGB image to the Rgb node and the input point cloud directly to the Hole Fusion node. If locked, it turns a blind eye to the publications of the depth sensor. While locked, the Depth, Rgb or Hole Fusion nodes, but not all of them, are processing their respective inputs from the synchronizer. When all three nodes have finished processing their respective inputs, the Hole Fusion node demands the synchronizer to be unlocked, so a new round of processing can commence.

  • subscribe_to_input If the state of the Hole Detector is OFF, the Synchronizer node is not even subscribed to the topic where the depth sensor is publishing point clouds, in order to minimize processing resources. When a state change happens and the Hole Detector is turned ON, the Hole Fusion node publishes a message to the subscribe_to_input topic, where the Synchronizer node is subscribed to, so it can re-subscribe to the topic where the depth sensor publishes point clouds.

  • leave_subscription_to_input If the state of the Hole Detector is ON and a request to be OFF occurs, the Hole Fusion node publishes a message to the leave_subscription_to_input topic, where the Synchronizer node is subscribed to, so it can unsubscribe from the topic where the depth sensor publishes point clouds, in order to minimize processing resources.

Output

  • Under
cfg/synchronizer_node_topics.yaml:published_topics

there are topics where the Synchronizer node is publishing to. Specifically:

  • rgb_image_topic is the name of the topic where the Synchronizer node publishes the RGB point-cloud-extracted image to.
  • depth_image_topic is the name of the topic where the Synchronizer node publishes the Depth point-cloud-extracted image to.
  • point_cloud_internal_topic is the name of the topic where the Synchronizer node publishes the input point cloud to.