Quickstart

Get the first fusion pass running in 15 minutes on your hardware.

Prerequisites

  • Supported platform: Jetson AGX Orin, Orin NX 16GB, or x86_64 Linux (Ubuntu 22.04)
  • CUDA 12.x installed (Jetson: JetPack 6.0+; x86: standard CUDA toolkit)
  • A valid PathVynt evaluation license key (requested from the signup page)
  • At minimum: one LiDAR sensor with a UDP stream and ROS 2 Humble installed

Step 1: Install the SDK

bash Install via apt
# Add the PathVynt APT repository
$ curl -fsSL https://packages.pathvynt.com/gpg | sudo gpg --dearmor \
    -o /usr/share/keyrings/pathvynt-archive-keyring.gpg

$ echo "deb [signed-by=/usr/share/keyrings/pathvynt-archive-keyring.gpg] \
    https://packages.pathvynt.com/apt stable main" \
    | sudo tee /etc/apt/sources.list.d/pathvynt.list

$ sudo apt update && sudo apt install pathvynt-sdk

Step 2: Activate your license

bash
$ pvctl license activate --key YOUR_LICENSE_KEY
License activated. Valid for 90 days.
Device: jetson-orin-nx-16 | UUID: e4a2...8f91

Step 3: Write your first fusion node

The minimal C++ integration requires a FusionConfig, a PathVyntRuntime instance, and a callback to receive the fused output on each sensor cycle.

C++ minimal_fusion.cpp
#include <pathvynt/runtime.hpp>

int main() {
  pv::FusionConfig cfg;
  cfg.lidar_model  = pv::LiDARModel::MID_16;
  cfg.camera_mode  = pv::CameraMode::NONE;
  cfg.drift_model  = pv::DriftModel::WAREHOUSE_INDOOR;

  pv::PathVyntRuntime rt(cfg);

  rt.on_fusion_ready([](const pv::FusionFrame& frame) {
    // frame.occupancy_grid, frame.risk_scores, frame.pose_estimate
    printf("Fusion OK | latency %dms\n", frame.latency_ms);
  });

  rt.start();
  while (true) rt.spin_once();
  return 0;
}

Step 4: Verify output

bash
$ pvctl status
FUSION_OK   lidar:ok camera:offline (no sensor)
PRED_OK     latency_p95: 9ms
LOC_DEGRADED no map loaded (pass --map to rt)
Runtime: v1.4.2 | License: eval 87d remaining
No map loaded? The localization module will report LOC_DEGRADED until you pass a .pvmap keyframe file. See the Localization Config section. Fusion and prediction work without a map.

Next steps