urdf-viz

Visualize URDF(Unified Robot Description Format) file.
urdf-viz is written in Rust-lang.
Install
Install with cargo
If you are using rust-lang already and cargo is installed, you can install by cargo install.
(FYI) Install cargo
|
and follow the instruction of the installer.
Pre-requirements for build
On Linux
If you have not installed ROS, you may need cmake, xorg-dev, glu to compile assimp-sys and glfw-sys.
On Windows
You need freetype.lib in your PATH, which is required by freetype-sys.
You can find binaries here
On MacOS
Install freetype by brew.
Download binary
If you don't want to install rust and cargo, you can find
binary releases of urdf-viz for Ubuntu16.04/14.04 64bit, Windows, MacOS here.
How to use
urdf-viz command will be installed.
It needs rosrun and rospack to resolve package:// in <mesh> tag, and
it uses xacro to convert .xacro file into urdf file.
It means you need $ source ~/catkin_ws/devel/setup.bash or something before using urdf-viz.
It is possible to use xacro file directly.
It will be converted by rosrun xacro xacro inside of urdf-viz.
For other options, please read the output of -h option.
If there are no "package://" in mesh tag, and don't use xacro you can skip install of ROS.
GUI Usage
In the GUI, you can do some operations with keyboard and mouse.
ckey to toggle collision model or visual mode- Move a joint
- set the angle of a joint by
Up/Downkey Ctrl+ Drag to move the angle of a joint- change the joint to be moved by
[and]
- set the angle of a joint by
- Inverse kinematics (only positions)
Shift+ Drag to use inverse kinematics(Y and Z axis)Shift+Ctrl+ Drag to use inverse kinematics(X and Z axis)- change the move target for inverse kinematics by
,or.
rkey to set random joints- Move view point
- Mouse Right Drag to translate view camera position
- Mouse Left Drag to look around
- Scroll to zoom in/out
Gallery







Dependencies
- kiss3d:
urdf-vizis strongly depend onkiss3d, which is super easy to use, great 3D graphic engine. - nalgabra: linear algebra library.
- k: kinematics library which is based on nalgabra. It can load URDF files using
urdf-rs. - assimp-rs: assimp rust interface.
kiss3dsupports.objfiles natively, but urdf containsdaeorstlfiles. These files are converted to kiss3d mesh model byassim-rs - urdf-rs: URDF file loader.
- structopt: super easy command line arguments parser.
Build without assimp
You can disable assimp by disable assimp feature which is enabled in default.
It can handle .obj files even if you disable assimp.
assimp works on Linux/Windows/MacOS now, we don't need this now.