Skip to content

fan-ziqi/robot_viewer

Repository files navigation

screenshot


Robot Viewer

Version License Platform JavaScript Three.js Vite Demo

Robot Viewer is a web-based 3D viewer for robot models and scenes. Built on top of Three.js, it provides an intuitive interface for visualizing, editing, and simulating robots directly in the browser without any installation required. This tool helps you visualize and analyze robot structures, joints, and physical properties.

Live Demo (All processing happens in your browser - your models never leave your device):

Try it now

Key Features

  • Format Support: URDF, MJCF (Mujoco XML), USD (partial support)
  • Robot Types: Serial robot structures (parallel robots not currently supported)
  • Visualization Tools: Visual/collision geometry, inertia tensors, center of mass, coordinate frames, joint axes, shadows, coordinate system orientation
  • Interactive Controls: Drag joints in real-time, adjust model poses
  • Measurement Tools: Measure distances between joints and links with 3D visualization, display X/Y/Z axis projections and total distance, support ground height measurement
  • Code Editor: Built-in CodeMirror editor with syntax highlighting and live preview
  • Physics Simulation: Integrated MuJoCo engine for dynamics simulation (MJCF models)
  • Scene Management: File tree and scene graph visualization with hierarchical structure

Getting Started

This project uses pnpm, but you can also use npm or yarn.

Clone the repository and install dependencies:

git clone https://github.com/fan-ziqi/robot_viewer.git
cd robot_viewer
pnpm install

Start the development server:

pnpm run dev

Build for production:

pnpm run build

Output will be in the dist/ directory.

Contributing

We welcome contributions from the community! Whether you're fixing bugs, adding features, or improving documentation, your help is appreciated.

  • Bug Reports: Open an issue with details
  • Feature Requests: Discuss ideas in Discussions
  • Pull Requests: Submit PRs with clear descriptions and tests

License

This project is licensed under the Apache License 2.0.

Acknowledgements

Robot Viewer builds upon the excellent work of the open-source robotics community. This project integrates several powerful open-source projects:

  • urdf-loader - Robust URDF loading for Three.js
  • mujoco_wasm - MuJoCo physics engine compiled to WebAssembly
  • usd-viewer - OpenUSD viewer with rich USDStage support
  • mechaverse - Universal 3D viewer for robot models, providing valuable design inspiration

Special thanks to all the maintainers and contributors of these projects for their foundational work.

Parts of this project were developed with the assistance of Cursor.