A cross-platform URDF/XACRO file viewer and visualizer for robotics, written in Rust.
urdf-viz is a desktop application for visualizing URDF (Unified Robot Description Format) and XACRO files used in robotics. It renders 3D robot models interactively, allowing developers to inspect joint configurations, test kinematics, and toggle between visual and collision representations. It solves the problem of quickly previewing and debugging robot designs without needing a full simulation environment.
Robotics engineers, researchers, and students working with URDF-based robot models, especially those using ROS (Robot Operating System) or developing custom robotic systems.
Developers choose urdf-viz for its lightweight, cross-platform nature and straightforward GUI/API. Unlike heavier simulation suites, it offers fast, focused visualization with built-in inverse kinematics and a web API for programmatic control, all built in Rust for performance and reliability.
visualize URDF/XACRO file, URDF Viewer works on Windows/MacOS/Linux
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers prebuilt binaries for Windows, macOS, and Linux, enabling easy installation without compilation, as highlighted in the release page.
Provides mouse-driven inverse kinematics and keyboard-controlled joint manipulation, allowing real-time pose debugging without coding, as demonstrated in the GUI usage section.
Exposes a REST API on port 7777 to get/set joint angles and robot origin via HTTP/JSON, enabling integration with custom tools, with clear curl examples in the README.
Seamlessly works with ROS tools like rosrun and xacro for resolving package URIs and converting XACRO files, fitting into existing robotics workflows without extra configuration.
Requires ROS installation or manual workarounds for resolving package:// URIs and processing XACRO files, adding setup complexity for non-ROS users, as admitted in the 'How to use' section.
By default, only supports .obj, .stl, and .dae meshes; additional formats require compiling with the assimp feature and installing cmake, which is cumbersome and platform-dependent.
The web API is simplistic, lacking features like streaming updates, event-driven callbacks, or support for complex robot states beyond joint positions, which limits real-time applications.
The interface is fixed with no options for themes, layout changes, or scripting, making it less flexible for specialized visualization needs compared to extensible tools.