docs/concepts/data pipeline

Data Pipeline

How Artemis ingests, preprocesses, stores, and manages your training datasets.


Supported Data Formats

Artemis accepts robotics data in a wide range of standard formats. Files are automatically detected and parsed on upload:

FormatExtensionUse Case
ROS Bag.bag, .db3Full ROS 2 topic recordings — preferred format.
CSV Telemetry.csvTabular sensor readings, joint states, or IMU data.
Image Archive.zip, .tar.gzLabelled image sets for object detection tasks.
LIDAR Cloud.pcd, .binPoint cloud data from 3D LIDAR sensors.
JSON Telemetry.json, .jsonlArbitrary structured sensor data.
HDF5.h5, .hdf5Large multi-modal datasets with metadata.

Uploading Data

Upload a dataset with the CLI:

bash
kairo data upload ./recording.bag \
  --robot rob_a1b2c3d4 \
  --label "arm-training-run-3" \
  --tags "production,v2"

For large datasets, uploads are chunked and resumable:

bash
# If an upload is interrupted, resume it
kairo data resume --upload-id upl_xyz789
Datasets larger than 500 MB are automatically split into 100 MB chunks and uploaded in parallel. Progress is visible in the dashboard under Data → Uploads.

Automatic Preprocessing

After upload, Artemis runs an automatic preprocessing pipeline before training:

  • ValidationChecks file integrity, detects corrupt frames, and validates message schemas.
  • NormalisationScales sensor values to a consistent range per topic type.
  • ResamplingAligns multi-topic recordings to a unified timestamp grid.
  • AugmentationApplies optional data augmentation (noise injection, frame flipping) to improve model generalisation.
  • Train/Val splitAutomatically splits data into 80% training and 20% validation sets.

Storage Limits

PlanStorageMax File SizeRetention
Starter1 GB500 MB90 days
Builder50 GB10 GB1 year
Pro500 GB100 GBUnlimited
When you reach 80% of your storage quota, Artemis sends an email alert. At 100%, new uploads are paused — existing data and active deployments are unaffected.

Managing Datasets

bash
# List all datasets
kairo data list

# Show details and preprocessing status
kairo data info --dataset ds_xyz123

# Delete a dataset (irreversible)
kairo data delete --dataset ds_xyz123
Deleting a dataset does not delete any models that were trained from it. Model weights are stored separately and are unaffected by dataset deletion.
Was this page helpful?