rko_lio.lio_pipeline module¶
Equivalent logic to the ros wrapper’s message buffering. A convenience class to buffer IMU and LiDAR messages to ensure the core cpp implementation always gets the data in sync. The difference is this is not multi-threaded, therefore is a bit slower.
- class rko_lio.lio_pipeline.LIOPipeline(config: PipelineConfig)¶
Bases:
objectMinimal sequential pipeline for LIO processing.
- add_imu(time: float, acceleration: numpy.ndarray, angular_velocity: numpy.ndarray)¶
Add IMU measurement to pipeline (will be buffered until processed by lidar).
- Parameters:
time (float) – Measurement timestamp in seconds.
acceleration (array of float, shape (3,)) – Acceleration vector in m/s^2.
angular_velocity (array of float, shape (3,)) – Angular velocity in rad/s.
- dump_results_to_disk()¶
Write LIO results to disk under LIOPipeline.output_dir.
Writes: - Trajectory (timestamps and poses) in TUM format text file. - Configuration as YAML file.
- property output_dir: Path¶
The directory used for file logging if enabled. Folder is {log_dir}/{run_name}_{index}. Automatically bumps the index (from 0) if similar names exist, to avoid overwriting.
- register_scan(**kwargs)¶