# `rcognita.loggers`

This module contains the logger interface along with concrete realizations for each separate system.

Remarks:

- All vectors are treated as of type [n,]

- All buffers are treated as of type [L, n] where each row is a vector

- Buffers are updated from bottom to top

Classes

`Logger`() | Interface class for data loggers. Concrete loggers, associated with concrete system-controller setups, are should be built upon this class. To design a concrete logger: inherit this class, override: | `print_sim_step()` : | print a row of data of a single simulation step, typically into the console (required). | `log_data_row()` : | same as above, but write to a file (required).
`Logger2Tank`() | Data logger for a 2-tank system.
`Logger3WRobot`() | Data logger for a 3-wheel robot with dynamic actuators.
`Logger3WRobotNI`() | Data logger for a 3-wheel robot with static actuators.