Skip to content

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

License

Notifications You must be signed in to change notification settings

thirdwave-ai/xviz

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XVIZ

Coverage Status

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/io - Library for loading, accessing, and manipulating XVIZ data.
  • @xviz/parser - Client-side decoder and synchronizer for consuming XVIZ data.
  • @xviz/schema - Validation and schemas for the XVIZ protocol.
  • @xviz/server - A complete server module supporting the full XVIZ protocol.

And examples:

  • Sample converters that convert open datasets such as KITTI and Nutonomy to the XVIZ protocol.

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

#To build thirdwave protos do something similiar to protoc -I=/home/trevor/thirdwave --js_out=import_style=commonjs,binary:build /home/trevor/thirdwave/messages/protos/*.proto from xviz/examples/converters/alpha_zero 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

NPM Scripts

  • bootstrap - install dependencies
  • build - rebuild all modules
  • test - run full tests (lint, unit tests in node and headless browser)
  • test bench | bench - run benchmark tests
  • test bench-browser - run benchmark tests in browser
  • test node - run unit tests in Node
  • test browser - run tests in browser
  • test browser-headless - run tests in headless browser
  • lint - run lint
  • lint fix - run prettier
  • publish beta - publish beta release
  • publish prod - publish production release

Requirements for Contribution

The pre-commit hook yarn test-fast requires you to have jq installed:

brew install jq

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 86.9%
  • Python 11.8%
  • Shell 1.2%
  • Other 0.1%