/xviz

A protocol for real-time transfer and visualization of autonomy data

Primary LanguageJavaScriptApache License 2.0Apache-2.0

XVIZ

XVIZ is a protocol for real-time transfer and visualization of autonomy data. Learn more in the docs and specification.

High Level Overview

Tools and examples

This repo contains the following submodules:

  • @xviz/builder - Node.js utilities for converting data to the XVIZ protocol.
  • @xviz/cli - CLI utilities for the XVIZ protocol.
  • @xviz/parser - Client-side decoder and synchronizer for consuming XVIZ data.
  • @xviz/schema - Validation and schemas for the XVIZ protocol.

And examples:

  • Sample converters that convert open datasets such as KITTI and Nutonomy to the XVIZ protocol.
  • A minimal Node.js-based XVIZ stream server.

Quick start

You need Node.js and yarn to run the examples.

# Clone XVIZ
$ git clone https://github.com/uber/xviz.git
$ cd xviz

# Install dependencies
$ yarn bootstrap

Convert and serve KITTI example data:

# Download KITTI data
$ ./scripts/download-kitti-data.sh

# Convert KITTI data if necessary and run the XVIZ Server and Client
$ ./scripts/run-kitti-example.sh