message_filters.input_aligner module

Input aligner for synchronizing messages from multiple sources based on their timestamps.

class message_filters.input_aligner.InputAligner(timeout: rclpy.duration.Duration, filters: Sequence[SimpleFilter] | None = None)

Bases: object

Align N inputs by timestamp and forward each to its own output signal.

Unlike a single-output filter, InputAligner exposes one signal per input, so it does not extend SimpleFilter. Register downstream callbacks via registerCallback() with an explicit index.

add(msg: Any, queue_index: int) None
connectInput(filters: Sequence[SimpleFilter]) None

Connect filters as inputs, replacing any existing inputs.

Note: previously-registered downstream callbacks are also dropped, since the per-input signals are recreated.

disconnectAll() None
dispatchMessages() None
getName() str
getQueueStatus(index: int) QueueStatus
registerCallback(index: int, callback: Callable[[Concatenate[rclpy.type_support.MsgT, ...]], None], *args: Any) int
setInputPeriod(index: int, period: rclpy.duration.Duration) None
setName(name: str) None
setupDispatchTimer(node: rclpy.node.Node, update_rate: rclpy.duration.Duration) None
class message_filters.input_aligner.QueueStatus(active: bool, queue_size: int, msgs_processed: int, msgs_dropped: int)

Bases: object

active: bool
msgs_dropped: int
msgs_processed: int
queue_size: int