See what calibrex check can check on your own bag.

Drop a ROS 2 bag and, if you have one, the calibration file your robot runs. Calibrex reads the transforms, classifies the sensor topics, and lists every sensor pair it could check, or why it could not. What the check does.

Runs locally via Pyodide: files are read in place and never leave this page. Plan the check, then run the estimators here on a short slice of the bag, or on the whole bag with the CLI.

New here? Plan a tiny synthetic bag (266 KB, an IMU, two LiDARs, a camera, a GNSS receiver and /tf_static) and see the full result in a few seconds.

Or plan your own bag

Drop a rosbag2 folder here, or its metadata.yaml and .db3 / .mcap file(s). A bare .mcap works too.

    Multi-gigabyte files are fine: Calibrex reads only the pages it needs from your disk (Emscripten WORKERFS) and never copies the bag into memory. With an .mcap, add its metadata.yaml to skip a scan of the whole file.

    Calibration file (optional)

    The extrinsics your robot runs, if they are not already in the bag's /tf_static: a URDF, a slac.check_frames YAML, a Kalibr camchain-imucam, an RTK-SLAM calib.yaml, or a Hilti lidar_calibration.yaml. A file overrides /tf_static for the same child frame (--tf).

      Vehicle frame and frame map (optional)
      Starting Python (about 30 MB the first time)…