/robot-model-tools

A set of python facilities to work with articulated robot models

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

This is the readme file of the "Robot Model Tools" Python package.

The modules in the robmodel package allow to model some aspects of articulated robots, such as connectivity, numbering scheme of the links, attached frames, geometry, etc.

The rmt package implements a command line program that operates on robot models, such as the URDF or the KinDSL formats. See

rmt --help

for a list of the available sub commands.

You can try the program without installing this repository (although you still need to install the dependencies):

cd src/
./runner.py --help

Code documentation

More information about the packages and the modules of this project is available in the source code.

You can generate e.g. html documentation using pdoc. For example:

cd src/
pdoc --no-show-source -o /tmp/docs/rmt rmt/ robmodel/

Installation

pip install rmt

Alternatively, install from the source code:

git clone <repo> rmt    # replace <repo> with the right URL
cd rmt/
pip install .           # should also install the dependencies available in PyPI

Virtual environment

You might want to install the tool and its dependencies in an isolated virtual environment. If so, run the following before the installation procedure:

mkdir myvenv && python3 -m venv myvenv
source myvenv/bin/activate  # may need to pick another script depending on your shell
#pip install wheel           # may also required to set up the env

Dependencies

The following libraries are used by this project:

  • kgprim kinematics/geometric primitives

  • NetworkX, for the connectivity model, which is a graph

  • NumPy

Optionally:

  • textX, for the KinDSL format importer

  • PyYAML, to import YAML models

  • Mako, for the export of models to other formats (which involves text generation)

  • PyGraphviz, required only by the DOT file generator command of the rmt tool

Testing

Verify your installation by moving to the test/ folder and running

python ur5.py

License

Copyright © 2019-2022, Marco Frigerio

Released under the BSD 3-clause license. See the LICENSE file for additional information.