types.trajectories.OutputSequence

types.trajectories.OutputSequence

Output/measurement sequence over time.

Time series of sensor measurements or system outputs.

Shapes: - Single sequence: (n_steps, ny) Measurements at each time

  • Batched sequences: (n_steps, batch, ny) Multiple measurement streams

Common uses: - Sensor data for state estimation - System identification datasets - Validation data for learned models

Examples

>>> # Simulate and observe
>>> trajectory: StateTrajectory = system.simulate(x0, u_seq, steps=100)
>>> observations: OutputSequence = system.observe(trajectory)
>>> print(observations.shape)  # (101, ny)
>>> 
>>> # Noisy measurements
>>> y_clean: OutputSequence = C @ trajectory.T  # (ny, n_steps)
>>> y_noisy: OutputSequence = y_clean + np.random.randn(*y_clean.shape) * 0.1
>>> y_noisy = y_noisy.T  # (n_steps, ny)
>>> 
>>> # Kalman filter with measurements
>>> x_estimates = []
>>> for k in range(len(observations)):
...     y_k = observations[k]
...     x_hat = kalman_filter.update(y_k, u_seq[k])
...     x_estimates.append(x_hat)
>>> 
>>> # System identification dataset
>>> dataset = {
...     'inputs': u_seq,      # (n_steps, nu)
...     'outputs': y_seq,     # (n_steps, ny)
...     'time': t_points,     # (n_steps,)
... }