robokudo.annotators.collection_reader¶
Sensor data collection and CAS initialization.
This module provides an annotator for:
Reading sensor data from multiple interfaces
Initializing the CAS with sensor data
Managing multiple collection readers
Handling data synchronization
The module uses:
Camera interface abstraction
Pipeline CAS management
Data availability monitoring
Query preservation
Note
This is typically the first annotator in a pipeline.
Classes¶
Sensor data collection and CAS initialization. |
Module Contents¶
- class robokudo.annotators.collection_reader.CollectionReaderAnnotator(descriptor, name='CollectionReader')¶
-
Bases:
robokudo.annotators.core.BaseAnnotatorSensor data collection and CAS initialization.
This annotator:
Reads sensor data from camera interfaces
Initializes new CAS instances
Manages multiple collection readers
Monitors data availability
Preserves existing queries
Note
Uses separate camera interfaces for different sensor types.
- class Descriptor(camera_config, camera_interface)¶
-
Bases:
robokudo.annotators.core.BaseAnnotator.DescriptorConfiguration descriptor for collection reader.
- parameters¶
- collection_readers¶
- start_timer = None¶
- iterations_since_last_data = 0¶
- iterations_since_last_data_warn_threshold = 40¶
- setup(timeout: float = None, node: rclpy.node.Node | None = None, visitor=None)¶
-
Set up the collection reader.
- Parameters:
-
timeout (float) – Setup timeout duration
node (rclpy.node.Node) – A ros node
visitor –
- Returns:
-
True if setup successful
- Return type:
-
bool
- initialise()¶
-
Initialize the collection reader.
Called when:
First tick is received
Status changes from non-running
Clears feedback messages for all children.
- add_collection_reader(descriptor: Descriptor)¶
-
Add another collection reader descriptor.
- Parameters:
-
descriptor (CollectionReaderAnnotator.Descriptor) – Configuration descriptor for additional reader
- update()¶
-
Process sensor data and update CAS.
The method:
Checks for new data from all readers
Creates new CAS when data available
Preserves existing queries
Updates feedback messages
Monitors data availability
- Returns:
-
SUCCESS if data processed, RUNNING if waiting
- Return type:
-
py_trees.Status
- terminate(new_status)¶
-
Handle behavior termination.
- Parameters:
-
new_status (py_trees.Status) – New status (SUCCESS, FAILURE or INVALID)