Skip to main content

Multi-SLAM

Multi-SLAM is a Project Aria Machine Perception Service (MPS) that can be requested on two or more recordings. It creates SLAM MPS outputs in a shared co-ordinate frame.

Multi-SLAM data can be visualized in the Python version of MPS Viewer.

Open datasets that contain Multi-SLAM outputs where there are recordings with 2 or more Project Aria glasses:

The Multi-SLAM outputs are mostly the same as the standard SLAM MPS outputs. The differences are:

  • Multi-SLAM can only be requested via MPS CLI
  • All the recordings that were aligned together will have the same graph_uid in the output.
  • The output may contain multiple aligned islands and multiple consecutive graph_uids.

Outputs are saved to a user defined directory. Each numbered folder contains the outputs for a specific VRS file:

└── multi_slam_output # user defined directory for outputs
├── 0
│ ├── slam
│ │ ├── closed_loop_trajectory.csv
│ │ ├── online_calibration.jsonl
│ │ ├── open_loop_trajectory.csv
│ │ ├── semidense_observations.csv.gz
│ │ ├── semidense_points.csv.gz
│ │ └── summary.json
│ ├── vrs_health_check.json
│ └── vrs_health_check_slam.json
├── 1
│ ├── slam
│ │ ├── closed_loop_trajectory.csv
│ │ ├── online_calibration.jsonl
│ │ ├── open_loop_trajectory.csv
│ │ ├── semidense_observations.csv.gz
│ │ ├── semidense_points.csv.gz
│ │ └── summary.json
│ ├── vrs_health_check.json
│ └── vrs_health_check_slam.json
└── vrs_to_multi_slam.json

vrs_to_multi_slam.json associates the VRS file name with a numbered folder, for example:

{
"/example/recording1.vrs": "0",
"/example/recording2.vrs": "1",
"/example2/recording1.vrs": "2",
}