NVIDIA White Paper

Industrial cuVSLAM Benchmark & Integration

Benchmarking Visual Odometry & VSLAM for AMRs in Real-World Logistics

Charbel Abi Hana Kameel Amareen Mohamad Mostafa Dmitry Slepichev Hesam Rabeti Zheng Wang Mihir Acharya Anthony Rizk
idealworks GmbH, Munich NVIDIA

Abstract

This work presents a comprehensive benchmark evaluation of visual odometry (VO) and visual SLAM (VSLAM) systems for mobile robot navigation in real-world logistical environments. We compare multiple visual odometry approaches across controlled trajectories covering translational, rotational, and mixed motion patterns, as well as a large-scale production facility dataset spanning approximately 1.7 km. Performance is evaluated using Absolute Pose Error (APE) against ground truth from a Vicon motion capture system and a LiDAR-based SLAM reference. Our results show that a hybrid stack combining the cuVSLAM front-end with a custom SLAM back-end achieves the strongest mapping accuracy, motivating a deeper integration of cuVSLAM as the core VO component in our robotics stack. We further validate this integration by deploying and testing the cuVSLAM-based VO stack on an NVIDIA Jetson platform.

Visual Odometry Visual SLAM cuVSLAM AMRs Benchmarking NVIDIA Jetson

Video

Key Results

VO approaches are evaluated on controlled translational, rotational and mixed-motion trajectories against Vicon ground truth, and on a ~1.7 km production facility run against a LiDAR-SLAM reference.

~1.7 km
Production Dataset
Real logistics facility
XX%
Lower APE
TODO: vs. baseline
XX
TODO metric
TODO
Jetson
On-Edge Deployment
NVIDIA Jetson platform

Trajectory Comparison

Figure placeholder — images/trajectories.png

TODO: caption.

Resources

Citation

@misc{abihana2026cuvslam,
  author={Abi Hana, Charbel and Amareen, Kameel and Mostafa, Mohamad and Slepichev, Dmitry
          and Rabeti, Hesam and Wang, Zheng and Acharya, Mihir and Rizk, Anthony},
  title={Industrial cuVSLAM Benchmark \& Integration},
  year={2026},
  eprint={2603.16240},
  archivePrefix={arXiv},
  primaryClass={cs.RO}
}