robokudo.annotators.cluster_position

3D position estimation for object hypotheses.

This module provides an annotator for:

  • Calculating 3D positions for object hypotheses

  • Supporting different analysis scopes

  • Computing centroids from point clouds

  • Generating visualization markers

The module uses:

  • Point cloud centroid computation

  • Covariance analysis

  • Open3D visualization tools

  • Flexible annotation types

Note

Can analyze either ObjectHypothesis or CloudAnnotation data.

Classes

ClusterPositionAnnotator

3D position estimation for object hypotheses.

Module Contents

class robokudo.annotators.cluster_position.ClusterPositionAnnotator(name: str = 'ClusterPositionAnnotator', descriptor: ClusterPositionAnnotator = Descriptor())

Bases: robokudo.annotators.core.BaseAnnotator

3D position estimation for object hypotheses.

This annotator:

  • Calculates 3D positions from point clouds

  • Supports multiple analysis scopes

  • Computes centroids and covariance

  • Creates position annotations

  • Generates visualization markers

Note

Can process either ObjectHypothesis or CloudAnnotation data.

class Descriptor

Bases: robokudo.annotators.core.BaseAnnotator.Descriptor

Configuration descriptor for position estimation.

class Parameters

Parameters for configuring position estimation.

analysis_scope: typing_extensions.Type

Type of data to perform position estimation on(e.g. ObjectHypothesis or CloudAnnotation)

visualizer_point_radius: float = 0.04

Radius of centroid sphere markers in meters

update() py_trees.common.Status

Process object hypotheses and estimate positions.

The method:

  • Loads point cloud from CAS

  • For each object hypothesis: * Gets appropriate point cloud data * Computes centroid and covariance * Creates position annotation * Creates visualization marker

Returns:

SUCCESS after processing

position_annotation_from_centroid(centroid: typing_extensions.List[float]) robokudo.types.annotation.PositionAnnotation

Create position annotation from centroid.

Parameters:

centroid – 3D centroid coordinates

Returns:

Position annotation with centroid as translation

add_centroid_to_vis(centroid: typing_extensions.List[float], centroids_to_visualize: typing_extensions.List[typing_extensions.List[float]]) None

Add centroid visualization marker.

Creates a colored sphere at the centroid position.

Parameters:
  • centroid – 3D centroid coordinates

  • centroids_to_visualize – List to append visualization marker to