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='ClusterPositionAnnotator', descriptor=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 parameters:

Variables:

analysis_scope – Type of data to analyze (ObjectHypothesis or CloudAnnotation), defaults to ObjectHypothesis

Visualization:

Variables:

visualizer_point_radius – Radius of centroid sphere markers in meters, defaults to 0.04

analysis_scope
visualizer_point_radius = 0.04
update()

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

Return type:

py_trees.Status

position_annotation_from_centroid(centroid)

Create position annotation from centroid.

Parameters:

centroid (numpy.ndarray) – 3D centroid coordinates

Returns:

Position annotation with centroid as translation

Return type:

robokudo.types.annotation.PositionAnnotation

add_centroid_to_vis(centroid, centroids_to_visualize)

Add centroid visualization marker.

Creates a colored sphere at the centroid position.

Parameters:
  • centroid (numpy.ndarray) – 3D centroid coordinates

  • centroids_to_visualize (list) – List to append visualization marker to