urdf-viz 0.1.2

URDF visualization
Documentation

urdf-viz

Visualize URDF(Unified Robot Description Format) file. urdf-viz is written by rust-lang.

Install

Pre requirements

If you have not installed ROS, you may need cmake, xorg-dev, glu to compile assimp-sys and glfw-sys.

$ sudo apt-get install cmake  xorg-dev libglu1-mesa-dev

Install with cargo

If you are using rust-lang already and cargo is installed, you can install by cargo install.

$ cargo install urdf-viz

(FYI) Install cargo

$ curl https://sh.rustup.rs -sSf | sh

and follow the instruction of the installer.

Download binary from github

If you don't want to install rust and cargo, you can find binary urdf-viz for Ubuntu16.04 64bit here.

For example, if you want to use v0.1.1,

$ wget https://github.com/OTL/urdf-viz/releases/download/v0.1.1/urdf-viz-0.1.1-ubuntu16.04-amd64.tar.gz
$ tar xvf urdf-viz-0.1.1-ubuntu16.04-amd64.tar.gz
$ ./urdf-viz /opt/ros/kinetic/share/pr2_description/robots/pr2.urdf.xacro

Command line

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.

$ urdf-viz URDF_FILE.urdf

It is possible to use xacro file directly. It will be converted by rosrun xacro xacro inside of urdf-viz.

$ urdf-viz XACRO_FILE.urdf.xacro

For other options, please read the output of -h option.

$ urdf-viz -h

GUI

In the GUI, you can do some operations with keyboard and mouse.

  • Move a joint
    • set the angle of a joint by Up/Down key
    • Ctrl + Drag to move the angle of a joint
    • change the joint to be moved by [ and ]
  • 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 , and .
  • r key 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

ubr1_1.png ubr1_2.png pr2_1.png pr2_2.png thormang3_1.png thormang3_2.png nextage_1.png nextage_2.png

pepper_1.png pepper_2.png nao_1.png nao_2.png

Dependencies

  • kiss3d: urdf-viz is strongly depend on kiss3d, 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. kiss3d supports .obj files natively, but urdf contains dae or stl files. These files are converted to kiss3d mesh model by assim-rs
  • urdf-rs: URDF file loader.
  • structopt: super easy command line arguments parser.