Metadata-Version: 2.4
Name: robot-model-tools
Version: 0.3.0
Summary: Misc utilities to work with robot model formats
Author-email: Marco Frigerio <mfgit.6uvfu@passinbox.com>
License-Expression: BSD-3-Clause
Project-URL: Homepage, https://github.com/mfrigerio17/robot-model-tools
Project-URL: Repository, https://github.com/mfrigerio17/robot-model-tools
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: kgprim
Requires-Dist: networkx
Requires-Dist: numpy
Requires-Dist: pyyaml
Requires-Dist: textX
Requires-Dist: mako
Provides-Extra: dot
Requires-Dist: pygraphviz; extra == "dot"
Dynamic: license-file

This is the "Robot Model Tools" Python package.

The modules in the `robmodel` package represent different aspects of articulated
robot models, 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](https://pdoc.dev/).
For example:

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

# Installation
```
pip install rmt
```

Alternatively, install from the source tree:

```sh
git clone <repo> rmt    # replace <repo> with the right URL
cd rmt/
pip install .
```



## Dependencies
The following libraries are used by this project:

- [kgprim](https://github.com/mfrigerio17/kgprim) kinematics/geometric primitives

- [NetworkX](http://networkx.github.io/), for the connectivity model, which is a
  graph

- [NumPy](http://www.numpy.org)

Optionally:

- [textX](http://textx.github.io/textX/stable/), for the KinDSL format importer

- [PyYAML](http://pyyaml.org), to import YAML models

- [Mako](https://www.makotemplates.org/), for the export of models to other
  formats (which involves text generation)

- [PyGraphviz](https://pygraphviz.github.io/), required only by the DOT file
  generator command of the `rmt` tool


# Testing
To launch some tests to validate your installation, move to the `test/` folder
and run
```
python -m sample_models.ur5
python -m sample_models.hyq
```


# License

© 2019-present, Marco Frigerio

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

