https://github.com/idiap/tinyurdfparser
A lightweight URDF parser library, based on TinyXML2, that converts an [URDF file] into a KDL object
https://github.com/idiap/tinyurdfparser
Last synced: about 1 year ago
JSON representation
A lightweight URDF parser library, based on TinyXML2, that converts an [URDF file] into a KDL object
- Host: GitHub
- URL: https://github.com/idiap/tinyurdfparser
- Owner: idiap
- License: gpl-3.0
- Created: 2022-06-20T07:35:54.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-02-23T15:27:35.000Z (over 2 years ago)
- Last Synced: 2025-03-23T01:01:45.484Z (about 1 year ago)
- Language: C++
- Size: 52.7 KB
- Stars: 5
- Watchers: 4
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TinyURDFParser
TinyURDFParser is a lightweight URDF parser library, based on [TinyXML2](https://github.com/leethomason/tinyxml2), that converts an [URDF file] into a [KDL](https://www.orocos.org/kdl.html) object.
## Requirements
### Build requirements
* CMake 3.13 or newer.
* A C++ compiler, compatible with C++ 17 (tested with gcc 9.4.0)
### Libraries
* [TinyXML2](https://github.com/leethomason/tinyxml2) (zlib, added as submodule)
* [Catch2](https://github.com/catchorg/Catch2) (BSL-1.0, added as submodule)
* [PyBind11](https://github.com/pybind/pybind11) (custom license, added as submodule)
* [Eigen3](https://eigen.tuxfamily.org/index.php?title=Main_Page) (MPL2)
* [orocos KDL](https://github.com/orocos/orocos_kinematics_dynamics) (LGPL-2.1)
## Installation
1. Clone this repository.
2. Install the dependencies.
* For ``TinyXML2``, ``pybind11`` and ``Catch2`` (inside the project repository): ``git submodule update --init --recursive``
3. Perform a normal CMake based installation: ``mkdir build``, ``cd build``, ``cmake ..``, ``make``, ``make install``. CMakeLists comes with a list of option that you can toggle or not in function of your needs:
* ``-DBUILD_TESTS={ON/OFF}`` to build the tests. To run them, in your build folder: ``make test``.
* ``-DBUILD_EXAMPLES={ON/OFF}`` to build the C++ examples.
* ``-DUSE_KDL={ON/OFF}`` to use KDL (needed for the python bindings).
* ``-DBUILD_PYTHON_BINDINGS={ON/OFF}`` to build the python bindings.
## Usage
See ``examples`` folder for minimal use cases.